LLVM  8.0.1
Classes | Namespaces | Functions
MCContext.h File Reference
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/Optional.h"
#include "llvm/ADT/SetVector.h"
#include "llvm/ADT/SmallString.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringMap.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/Twine.h"
#include "llvm/BinaryFormat/Dwarf.h"
#include "llvm/MC/MCAsmMacro.h"
#include "llvm/MC/MCDwarf.h"
#include "llvm/MC/MCSubtargetInfo.h"
#include "llvm/MC/SectionKind.h"
#include "llvm/Support/Allocator.h"
#include "llvm/Support/Compiler.h"
#include "llvm/Support/Error.h"
#include "llvm/Support/MD5.h"
#include "llvm/Support/raw_ostream.h"
#include <algorithm>
#include <cassert>
#include <cstddef>
#include <cstdint>
#include <map>
#include <memory>
#include <string>
#include <utility>
#include <vector>
Include dependency graph for MCContext.h:

Go to the source code of this file.

Classes

class  llvm::MCContext
 Context object for machine code objects. More...
 

Namespaces

 llvm
 This class represents lattice values for constants.
 

Functions

void * operator new (size_t Bytes, llvm::MCContext &C, size_t Alignment=8) noexcept
 Placement new for using the MCContext's allocator. More...
 
void operator delete (void *Ptr, llvm::MCContext &C, size_t) noexcept
 Placement delete companion to the new above. More...
 
void * operator new[] (size_t Bytes, llvm::MCContext &C, size_t Alignment=8) noexcept
 This placement form of operator new[] uses the MCContext's allocator for obtaining memory. More...
 
void operator delete[] (void *Ptr, llvm::MCContext &C) noexcept
 Placement delete[] companion to the new[] above. More...
 

Function Documentation

◆ operator delete()

void operator delete ( void *  Ptr,
llvm::MCContext C,
size_t   
)
inlinenoexcept

Placement delete companion to the new above.

This operator is just a companion to the new above. There is no way of invoking it directly; see the new operator for more details. This operator is called implicitly by the compiler if a placement new expression using the MCContext throws in the object constructor.

Definition at line 704 of file MCContext.h.

◆ operator delete[]()

void operator delete[] ( void *  Ptr,
llvm::MCContext C 
)
inlinenoexcept

Placement delete[] companion to the new[] above.

This operator is just a companion to the new[] above. There is no way of invoking it directly; see the new[] operator for more details. This operator is called implicitly by the compiler if a placement new[] expression using the MCContext throws in the object constructor.

Definition at line 738 of file MCContext.h.

◆ operator new()

void* operator new ( size_t  Bytes,
llvm::MCContext C,
size_t  Alignment = 8 
)
inlinenoexcept

Placement new for using the MCContext's allocator.

This placement form of operator new uses the MCContext's allocator for obtaining memory. It is a non-throwing new, which means that it returns null on error. (If that is what the allocator does. The current does, so if this ever changes, this operator will have to be changed, too.) Usage looks like this (assuming there's an MCContext 'Context' in scope):

// Default alignment (8)
IntegerLiteral *Ex = new (Context) IntegerLiteral(arguments);
// Specific alignment
IntegerLiteral *Ex2 = new (Context, 4) IntegerLiteral(arguments);

Please note that you cannot use delete on the pointer; it must be deallocated using an explicit destructor call followed by Context.Deallocate(Ptr).

Parameters
BytesThe number of bytes to allocate. Calculated by the compiler.
CThe MCContext that provides the allocator.
AlignmentThe alignment of the allocated memory (if the underlying allocator supports it).
Returns
The allocated memory. Could be NULL.

Definition at line 694 of file MCContext.h.

◆ operator new[]()

void* operator new[] ( size_t  Bytes,
llvm::MCContext C,
size_t  Alignment = 8 
)
inlinenoexcept

This placement form of operator new[] uses the MCContext's allocator for obtaining memory.

It is a non-throwing new[], which means that it returns null on error. Usage looks like this (assuming there's an MCContext 'Context' in scope):

// Default alignment (8)
char *data = new (Context) char[10];
// Specific alignment
char *data = new (Context, 4) char[10];

Please note that you cannot use delete on the pointer; it must be deallocated using an explicit destructor call followed by Context.Deallocate(Ptr).

Parameters
BytesThe number of bytes to allocate. Calculated by the compiler.
CThe MCContext that provides the allocator.
AlignmentThe alignment of the allocated memory (if the underlying allocator supports it).
Returns
The allocated memory. Could be NULL.

Definition at line 727 of file MCContext.h.