|
LLVM 24.0.0git
|
#include "AArch64MCLFIRewriter.h"#include "AArch64AddressingModes.h"#include "MCTargetDesc/AArch64MCTargetDesc.h"#include "Utils/AArch64BaseInfo.h"#include "llvm/ADT/Twine.h"#include "llvm/MC/MCInst.h"#include "llvm/MC/MCInstrDesc.h"#include "llvm/MC/MCInstrInfo.h"#include "llvm/MC/MCStreamer.h"#include "llvm/MC/MCSubtargetInfo.h"#include "llvm/Support/CommandLine.h"#include "AArch64GenSystemOperands.inc"Go to the source code of this file.
Classes | |
| struct | llvm::AArch64::LFIVariantEntry |
| struct | llvm::AArch64::PairVariantEntry |
| struct | llvm::AArch64::SIMDPostEntry |
| struct | llvm::AArch64::MemInfoEntry |
Namespaces | |
| namespace | llvm |
| This is an optimization pass for GlobalISel generic memory operations. | |
| namespace | llvm::AArch64 |
Macros | |
| #define | GET_LFIVariantTable_DECL |
| #define | GET_PairVariantTable_DECL |
| #define | GET_SIMDPostTable_DECL |
| #define | GET_MemInfoTable_DECL |
| #define | GET_LFIVariantTable_IMPL |
| #define | GET_PairVariantTable_IMPL |
| #define | GET_SIMDPostTable_IMPL |
| #define | GET_MemInfoTable_IMPL |
Enumerations | |
| enum | llvm::AArch64::LFIAddrMode : uint8_t { llvm::AArch64::LFI_AM_Ui = 0 , llvm::AArch64::LFI_AM_RoW = 1 , llvm::AArch64::LFI_AM_RoX = 2 , llvm::AArch64::LFI_AM_Pre = 3 , llvm::AArch64::LFI_AM_Post = 4 } |
Functions | |
| static bool | isSyscall (const MCInst &Inst) |
| static bool | isPrivilegedTP (int64_t Reg) |
| static bool | isTPRead (const MCInst &Inst) |
| static bool | isTPWrite (const MCInst &Inst) |
| static bool | isPrivilegedTPAccess (const MCInst &Inst) |
| static bool | isFakeMemAccess (const MCInst &Inst) |
| static bool | mayPrefetch (const MCInst &Inst) |
| static bool | isAuthenticatedBranch (unsigned Opcode) |
| static bool | isAuthenticatedCall (unsigned Opcode) |
| static bool | isAuthenticatedReturn (unsigned Opcode) |
| static bool | isExceptionReturn (unsigned Opcode) |
| static bool | pacWritesLR (const MCInst &Inst) |
| static bool | isVASysOp (const MCInst &Inst) |
| static MCInst | replaceRegAt (const MCInst &Inst, unsigned Idx, MCRegister NewReg) |
| static unsigned | convertVariantToRoW (unsigned Op, unsigned ExpectedMode) |
| static unsigned | convertRoXToRoW (unsigned Op, unsigned &Shift) |
| static bool | getRoWShift (unsigned Op, unsigned &Shift) |
| static unsigned | convertPrePostToBase (unsigned Op, bool &IsPre, bool &IsNoOffset) |
Variables | |
| static cl::opt< bool > | LFIGuardElim ("aarch64-lfi-guard-elim", cl::Hidden, cl::desc("Enable the LFI guard elimination optimization"), cl::init(true)) |
| static constexpr MCRegister | LFIBaseReg = AArch64::X27 |
| static constexpr MCRegister | LFIAddrReg = AArch64::X28 |
| static constexpr MCRegister | LFIScratchReg = AArch64::X26 |
| static constexpr MCRegister | LFICtxReg = AArch64::X25 |
| static constexpr unsigned | LFITPOffset = 2 |
| static constexpr int | LFISyscallOffset = -8 |
| #define GET_LFIVariantTable_DECL |
Definition at line 70 of file AArch64MCLFIRewriter.cpp.
| #define GET_LFIVariantTable_IMPL |
Definition at line 74 of file AArch64MCLFIRewriter.cpp.
| #define GET_MemInfoTable_DECL |
Definition at line 73 of file AArch64MCLFIRewriter.cpp.
| #define GET_MemInfoTable_IMPL |
Definition at line 77 of file AArch64MCLFIRewriter.cpp.
| #define GET_PairVariantTable_DECL |
Definition at line 71 of file AArch64MCLFIRewriter.cpp.
| #define GET_PairVariantTable_IMPL |
Definition at line 75 of file AArch64MCLFIRewriter.cpp.
| #define GET_SIMDPostTable_DECL |
Definition at line 72 of file AArch64MCLFIRewriter.cpp.
| #define GET_SIMDPostTable_IMPL |
Definition at line 76 of file AArch64MCLFIRewriter.cpp.
Definition at line 273 of file AArch64MCLFIRewriter.cpp.
References E().
Referenced by llvm::isLFIPrePostMemAccess().
Definition at line 250 of file AArch64MCLFIRewriter.cpp.
References E(), and llvm::AArch64::LFI_AM_RoX.
Definition at line 243 of file AArch64MCLFIRewriter.cpp.
References E().
Referenced by llvm::isLFIPrePostMemAccess().
Definition at line 259 of file AArch64MCLFIRewriter.cpp.
References E(), and llvm::AArch64::LFI_AM_RoW.
Definition at line 159 of file AArch64MCLFIRewriter.cpp.
Definition at line 171 of file AArch64MCLFIRewriter.cpp.
Definition at line 183 of file AArch64MCLFIRewriter.cpp.
Definition at line 187 of file AArch64MCLFIRewriter.cpp.
Definition at line 131 of file AArch64MCLFIRewriter.cpp.
References llvm::MCInst::getOpcode().
|
static |
Definition at line 102 of file AArch64MCLFIRewriter.cpp.
References Reg.
Referenced by isPrivilegedTPAccess().
Definition at line 117 of file AArch64MCLFIRewriter.cpp.
References llvm::MCOperand::getImm(), llvm::MCInst::getOpcode(), llvm::MCInst::getOperand(), and isPrivilegedTP().
Definition at line 98 of file AArch64MCLFIRewriter.cpp.
References llvm::MCInst::getOpcode().
Definition at line 107 of file AArch64MCLFIRewriter.cpp.
References llvm::MCOperand::getImm(), llvm::MCInst::getOpcode(), and llvm::MCInst::getOperand().
Definition at line 112 of file AArch64MCLFIRewriter.cpp.
References llvm::MCOperand::getImm(), llvm::MCInst::getOpcode(), and llvm::MCInst::getOperand().
Definition at line 207 of file AArch64MCLFIRewriter.cpp.
References llvm::MCOperand::getImm(), llvm::MCInst::getOpcode(), and llvm::MCInst::getOperand().
Definition at line 146 of file AArch64MCLFIRewriter.cpp.
References llvm::MCInst::getOpcode().
Definition at line 192 of file AArch64MCLFIRewriter.cpp.
References llvm::MCInst::getOpcode().
|
static |
Definition at line 227 of file AArch64MCLFIRewriter.cpp.
References assert().
|
staticconstexpr |
Definition at line 85 of file AArch64MCLFIRewriter.cpp.
|
staticconstexpr |
Definition at line 84 of file AArch64MCLFIRewriter.cpp.
|
staticconstexpr |
Definition at line 87 of file AArch64MCLFIRewriter.cpp.
|
static |
|
staticconstexpr |
Definition at line 86 of file AArch64MCLFIRewriter.cpp.
|
staticconstexpr |
Definition at line 96 of file AArch64MCLFIRewriter.cpp.
|
staticconstexpr |
Definition at line 92 of file AArch64MCLFIRewriter.cpp.