LLVM  14.0.0git
Namespaces | Macros | Functions | Variables
XCOFFObjectFile.cpp File Reference
#include "llvm/Object/XCOFFObjectFile.h"
#include "llvm/ADT/StringSwitch.h"
#include "llvm/MC/SubtargetFeature.h"
#include "llvm/Support/DataExtractor.h"
#include <cstddef>
#include <cstring>
Include dependency graph for XCOFFObjectFile.cpp:

Go to the source code of this file.

Namespaces

 llvm
 ---------------------— PointerInfo ------------------------------------—
 
 llvm::object
 

Macros

#define GETVALUEWITHMASK(X)   (Data & (TracebackTable::X))
 
#define GETVALUEWITHMASKSHIFT(X, S)   ((Data & (TracebackTable::X)) >> (TracebackTable::S))
 
#define GETBITWITHMASK(P, X)   (support::endian::read32be(TBPtr + (P)) & (TracebackTable::X))
 
#define GETBITWITHMASKSHIFT(P, X, S)
 

Functions

template<typename T >
static Expected< const T * > llvm::object::getObject (MemoryBufferRef M, const void *Ptr, const uint64_t Size=sizeof(T))
 
static uintptr_t llvm::object::getWithOffset (uintptr_t Base, ptrdiff_t Offset)
 
template<typename T >
static const Tllvm::object::viewAs (uintptr_t in)
 
static StringRef llvm::object::generateXCOFFFixedNameStringRef (const char *Name)
 
bool llvm::object::doesXCOFFTracebackTableBegin (ArrayRef< uint8_t > Bytes)
 

Variables

static const uint8_t llvm::object::FunctionSym = 0x20
 
static const uint16_t llvm::object::NoRelMask = 0x0001
 
static const size_t llvm::object::SymbolAuxTypeOffset = 17
 

Macro Definition Documentation

◆ GETBITWITHMASK

#define GETBITWITHMASK (   P,
  X 
)    (support::endian::read32be(TBPtr + (P)) & (TracebackTable::X))

Definition at line 1056 of file XCOFFObjectFile.cpp.

◆ GETBITWITHMASKSHIFT

#define GETBITWITHMASKSHIFT (   P,
  X,
  S 
)
Value:

Definition at line 1058 of file XCOFFObjectFile.cpp.

◆ GETVALUEWITHMASK

#define GETVALUEWITHMASK (   X)    (Data & (TracebackTable::X))

Definition at line 910 of file XCOFFObjectFile.cpp.

◆ GETVALUEWITHMASKSHIFT

#define GETVALUEWITHMASKSHIFT (   X,
  S 
)    ((Data & (TracebackTable::X)) >> (TracebackTable::S))

Definition at line 911 of file XCOFFObjectFile.cpp.

P
This currently compiles esp xmm0 movsd esp eax eax esp ret We should use not the dag combiner This is because dagcombine2 needs to be able to see through the X86ISD::Wrapper which DAGCombine can t really do The code for turning x load into a single vector load is target independent and should be moved to the dag combiner The code for turning x load into a vector load can only handle a direct load from a global or a direct load from the stack It should be generalized to handle any load from P
Definition: README-SSE.txt:411
llvm::support::endian::read32be
uint32_t read32be(const void *P)
Definition: Endian.h:384
X
static GCMetadataPrinterRegistry::Add< ErlangGCPrinter > X("erlang", "erlang-compatible garbage collector")
S
add sub stmia L5 ldr r0 bl L_printf $stub Instead of a and a wouldn t it be better to do three moves *Return an aggregate type is even return S
Definition: README.txt:210