LLVM: lib/Target/AArch64/AArch64AsmPrinter.cpp File Reference (original) (raw)

Go to the source code of this file.

Macros
#define DEBUG_TYPE "asm-printer"
#define GET_CB_OPC(IsImm, Width, ImmCond, RegCond)
Enumerations
enum PtrauthCheckMode { Default, Unchecked, Poison, Trap }
Functions
static void emitAuthenticatedPointer (MCStreamer &OutStreamer, MCSymbol *StubLabel, const MCExpr *StubAuthPtrRef)
static void emitAddress (MCStreamer &Streamer, MCRegister Reg, const MCExpr *Expr, bool DSOLocal, const MCSubtargetInfo &STI)
static bool targetSupportsPAuthRelocation (const Triple &TT, const MCExpr *Target, const MCExpr *DSExpr)
static bool targetSupportsIRelativeRelocation (const Triple &TT)
INITIALIZE_PASS (AArch64AsmPrinter, "aarch64-asm-printer", "AArch64 Assembly Printer", false, false) extern "C" LLVM_ABI LLVM_EXTERNAL_VISIBILITY void LLVMInitializeAArch64AsmPrinter()
Variables
static cl::opt< PtrauthCheckMode > PtrauthAuthChecks ("aarch64-ptrauth-auth-checks", cl::Hidden, cl::values(clEnumValN(Unchecked, "none", "don't test for failure"), clEnumValN(Poison, "poison", "poison on failure"), clEnumValN(Trap, "trap", "trap on failure")), cl::desc("Check pointer authentication auth/resign failures"), cl::init(Default))

DEBUG_TYPE

#define DEBUG_TYPE "asm-printer"

GET_CB_OPC

#define GET_CB_OPC ( IsImm,
Width,
ImmCond,
RegCond )

Value:

(IsImm \

? (Width == 32 ? AArch64::CB##ImmCond##Wri : AArch64::CB##ImmCond##Xri) \

: (Width == 8 \

? AArch64::CBB##RegCond##Wrr \

: (Width == 16 ? AArch64::CBH##RegCond##Wrr \

: (Width == 32 ? AArch64::CB##RegCond##Wrr \

: AArch64::CB##RegCond##Xrr))))

PtrauthCheckMode

emitAddress()

Definition at line 2339 of file AArch64AsmPrinter.cpp.

References llvm::MCInstBuilder::addImm(), llvm::MCSpecifierExpr::create(), llvm::MCSymbolRefExpr::create(), llvm::MCStreamer::emitInstruction(), llvm::MCExpr::evaluateAsRelocatable(), llvm::MCValue::getAddSym(), llvm::MCValue::getConstant(), llvm::MCStreamer::getContext(), Reg, llvm::report_fatal_error(), llvm::AArch64::S_ABS_PAGE, llvm::AArch64::S_GOT_LO12, llvm::AArch64::S_GOT_PAGE, and llvm::AArch64::S_LO12.

emitAuthenticatedPointer()

INITIALIZE_PASS()

INITIALIZE_PASS ( AArch64AsmPrinter ,
"aarch64-asm-printer" ,
"AArch64 Assembly Printer" ,
false ,
false )

targetSupportsIRelativeRelocation()

targetSupportsPAuthRelocation()

PtrauthAuthChecks

cl::opt< PtrauthCheckMode > PtrauthAuthChecks("aarch64-ptrauth-auth-checks", cl::Hidden, cl::values(clEnumValN(Unchecked, "none", "don't test for failure"), clEnumValN(Poison, "poison", "poison on failure"), clEnumValN(Trap, "trap", "trap on failure")), cl::desc("Check pointer authentication auth/resign failures"), cl::init(Default)) ( "aarch64-ptrauth-auth-checks" , cl::Hidden , cl::values(clEnumValN(Unchecked, "none", "don't test for failure"), clEnumValN(Poison, "poison", "poison on failure"), clEnumValN(Trap, "trap", "trap on failure")) , cl::desc("Check pointer authentication auth/resign failures") , cl::init(Default) ) static