LLVM 20.0.0git
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/StringMap.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/Twine.h"
#include "llvm/BinaryFormat/Dwarf.h"
#include "llvm/BinaryFormat/XCOFF.h"
#include "llvm/MC/MCAsmMacro.h"
#include "llvm/MC/MCDwarf.h"
#include "llvm/MC/MCPseudoProbe.h"
#include "llvm/MC/MCSection.h"
#include "llvm/MC/MCSymbolTableEntry.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/StringSaver.h"
#include "llvm/Support/raw_ostream.h"
#include <algorithm>
#include <cassert>
#include <cstddef>
#include <cstdint>
#include <functional>
#include <map>
#include <memory>
#include <optional>
#include <string>
#include <utility>
#include <vector>

Go to the source code of this file.

Classes

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

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
 
namespace  llvm::wasm
 

Functions

void * operator new (size_t Bytes, llvm::MCContext &C, size_t Alignment=8) noexcept
 Placement new for using the MCContext's allocator.
 
void operator delete (void *Ptr, llvm::MCContext &C, size_t) noexcept
 Placement delete companion to the new above.
 
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.
 
void operator delete[] (void *Ptr, llvm::MCContext &C) noexcept
 Placement delete[] companion to the new[] above.
 

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

References C, and Ptr.

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

References C, and Ptr.

◆ 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)
// Specific alignment
IntegerLiteral *Ex2 = new (Context, 4) IntegerLiteral(arguments);
nvptx lower Lower arguments(NVPTX)"

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

References C.

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

References C.