LLVM API Documentation

Classes | Namespaces | Functions
MCContext.h File Reference
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/SetVector.h"
#include "llvm/ADT/SmallString.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringMap.h"
#include "llvm/MC/MCDwarf.h"
#include "llvm/MC/MCStreamer.h"
#include "llvm/MC/SectionKind.h"
#include "llvm/Support/Allocator.h"
#include "llvm/Support/Compiler.h"
#include "llvm/Support/raw_ostream.h"
#include <map>
#include <tuple>
#include <vector>
Include dependency graph for MCContext.h:

Go to the source code of this file.

Classes

class  llvm::MCContext

Namespaces

namespace  llvm
 

List of target independent CodeGen pass IDs.


Functions

void * operator new (size_t Bytes, llvm::MCContext &C, size_t Alignment=16) throw ()
 Placement new for using the MCContext's allocator.
void operator delete (void *Ptr, llvm::MCContext &C, size_t) throw ()
 Placement delete companion to the new above.
void * operator new[] (size_t Bytes, llvm::MCContext &C, size_t Alignment=16) throw ()
void operator delete[] (void *Ptr, llvm::MCContext &C) throw ()
 Placement delete[] companion to the new[] above.

Function Documentation

void operator delete ( void *  Ptr,
llvm::MCContext C,
size_t   
) throw () [inline]

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 475 of file MCContext.h.

References llvm::MCContext::Deallocate().

Referenced by llvm::DenseMap< void *, std::unique_ptr< PassConceptT > >::copyFrom(), llvm::DenseMap< void *, std::unique_ptr< PassConceptT > >::grow(), llvm::SmallDenseMap< SDValue, SDValue, 8 >::grow(), llvm::DenseMap< void *, std::unique_ptr< PassConceptT > >::operator=(), llvm::DenseMap< void *, std::unique_ptr< PassConceptT > >::shrink_and_clear(), and llvm::DenseMap< void *, std::unique_ptr< PassConceptT > >::~DenseMap().

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

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 510 of file MCContext.h.

References llvm::CallingConv::C.

void* operator new ( size_t  Bytes,
llvm::MCContext C,
size_t  Alignment = 16 
) throw () [inline]

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 (16)
 IntegerLiteral *Ex = new (Context) IntegerLiteral(arguments);
 // Specific alignment
 IntegerLiteral *Ex2 = new (Context, 8) 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 465 of file MCContext.h.

References llvm::MCContext::Allocate().

Referenced by llvm::MemoryBuffer::getNewUninitMemBuffer(), llvm::GlobalVariable::operator new(), operator new(), llvm::ConstantFP::operator new(), llvm::ConstantDataSequential::operator new(), llvm::ConstantDataArray::operator new(), and llvm::ConstantDataVector::operator new().

void* operator new[] ( size_t  Bytes,
llvm::MCContext C,
size_t  Alignment = 16 
) throw () [inline]

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 (16)
 char *data = new (Context) char[10];
 // Specific alignment
 char *data = new (Context, 8) 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 499 of file MCContext.h.

References llvm::MCContext::Allocate().