LLVM 20.0.0git
|
#include "AArch64PointerAuth.h"
#include "AArch64.h"
#include "AArch64InstrInfo.h"
#include "AArch64MachineFunctionInfo.h"
#include "AArch64Subtarget.h"
#include "llvm/CodeGen/MachineBasicBlock.h"
#include "llvm/CodeGen/MachineInstrBuilder.h"
#include "llvm/CodeGen/MachineModuleInfo.h"
Go to the source code of this file.
Macros | |
#define | AARCH64_POINTER_AUTH_NAME "AArch64 Pointer Authentication" |
Functions | |
INITIALIZE_PASS (AArch64PointerAuth, "aarch64-ptrauth", AARCH64_POINTER_AUTH_NAME, false, false) FunctionPass *llvm | |
static void | emitPACSymOffsetIntoX16 (const TargetInstrInfo &TII, MachineBasicBlock &MBB, MachineBasicBlock::iterator I, DebugLoc DL, MCSymbol *PACSym) |
static void | BuildPACM (const AArch64Subtarget &Subtarget, MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI, DebugLoc DL, MachineInstr::MIFlag Flags, MCSymbol *PACSym=nullptr) |
static void | emitPACCFI (const AArch64Subtarget &Subtarget, MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI, DebugLoc DL, MachineInstr::MIFlag Flags, bool EmitCFI) |
#define AARCH64_POINTER_AUTH_NAME "AArch64 Pointer Authentication" |
Definition at line 22 of file AArch64PointerAuth.cpp.
|
static |
Definition at line 82 of file AArch64PointerAuth.cpp.
References assert(), llvm::BuildMI(), DL, emitPACSymOffsetIntoX16(), llvm::MachineInstr::FrameDestroy, llvm::MachineFunction::getInfo(), llvm::AArch64Subtarget::getInstrInfo(), llvm::MachineBasicBlock::getParent(), MBB, MBBI, llvm::MachineInstrBuilder::setMIFlag(), and TII.
|
static |
Definition at line 100 of file AArch64PointerAuth.cpp.
References llvm::MachineInstrBuilder::addCFIIndex(), llvm::AArch64FunctionInfo::branchProtectionPAuthLR(), llvm::BuildMI(), llvm::MCCFIInstruction::createNegateRAState(), llvm::MCCFIInstruction::createNegateRAStateWithPC(), DL, llvm::MachineFunction::getInfo(), llvm::AArch64Subtarget::getInstrInfo(), llvm::MachineBasicBlock::getParent(), MBB, MBBI, llvm::MachineInstrBuilder::setMIFlags(), and TII.
|
static |
Definition at line 66 of file AArch64PointerAuth.cpp.
References llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addReg(), llvm::MachineInstrBuilder::addSym(), llvm::BuildMI(), DL, I, MBB, llvm::AArch64II::MO_NC, llvm::AArch64II::MO_PAGE, llvm::AArch64II::MO_PAGEOFF, and TII.
Referenced by BuildPACM().
INITIALIZE_PASS | ( | AArch64PointerAuth | , |
"aarch64-ptrauth" | , | ||
AARCH64_POINTER_AUTH_NAME | , | ||
false | , | ||
false | |||
) |
Definition at line 57 of file AArch64PointerAuth.cpp.