|
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/MCInstBuilder.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 71 of file AArch64MCLFIRewriter.cpp.
| #define GET_LFIVariantTable_IMPL |
Definition at line 75 of file AArch64MCLFIRewriter.cpp.
| #define GET_MemInfoTable_DECL |
Definition at line 74 of file AArch64MCLFIRewriter.cpp.
| #define GET_MemInfoTable_IMPL |
Definition at line 78 of file AArch64MCLFIRewriter.cpp.
| #define GET_PairVariantTable_DECL |
Definition at line 72 of file AArch64MCLFIRewriter.cpp.
| #define GET_PairVariantTable_IMPL |
Definition at line 76 of file AArch64MCLFIRewriter.cpp.
| #define GET_SIMDPostTable_DECL |
Definition at line 73 of file AArch64MCLFIRewriter.cpp.
| #define GET_SIMDPostTable_IMPL |
Definition at line 77 of file AArch64MCLFIRewriter.cpp.
Definition at line 274 of file AArch64MCLFIRewriter.cpp.
References E().
Referenced by llvm::isLFIPrePostMemAccess().
Definition at line 251 of file AArch64MCLFIRewriter.cpp.
References E(), and llvm::AArch64::LFI_AM_RoX.
Definition at line 244 of file AArch64MCLFIRewriter.cpp.
References E().
Referenced by llvm::isLFIPrePostMemAccess().
Definition at line 260 of file AArch64MCLFIRewriter.cpp.
References E(), and llvm::AArch64::LFI_AM_RoW.
Definition at line 160 of file AArch64MCLFIRewriter.cpp.
Definition at line 172 of file AArch64MCLFIRewriter.cpp.
Definition at line 184 of file AArch64MCLFIRewriter.cpp.
Definition at line 188 of file AArch64MCLFIRewriter.cpp.
Definition at line 132 of file AArch64MCLFIRewriter.cpp.
References llvm::MCInst::getOpcode().
|
static |
Definition at line 103 of file AArch64MCLFIRewriter.cpp.
References Reg.
Referenced by isPrivilegedTPAccess().
Definition at line 118 of file AArch64MCLFIRewriter.cpp.
References llvm::MCOperand::getImm(), llvm::MCInst::getOpcode(), llvm::MCInst::getOperand(), and isPrivilegedTP().
Definition at line 99 of file AArch64MCLFIRewriter.cpp.
References llvm::MCInst::getOpcode().
Definition at line 108 of file AArch64MCLFIRewriter.cpp.
References llvm::MCOperand::getImm(), llvm::MCInst::getOpcode(), and llvm::MCInst::getOperand().
Definition at line 113 of file AArch64MCLFIRewriter.cpp.
References llvm::MCOperand::getImm(), llvm::MCInst::getOpcode(), and llvm::MCInst::getOperand().
Definition at line 208 of file AArch64MCLFIRewriter.cpp.
References llvm::MCOperand::getImm(), llvm::MCInst::getOpcode(), and llvm::MCInst::getOperand().
Definition at line 147 of file AArch64MCLFIRewriter.cpp.
References llvm::MCInst::getOpcode().
Definition at line 193 of file AArch64MCLFIRewriter.cpp.
References llvm::MCInst::getOpcode().
|
static |
Definition at line 228 of file AArch64MCLFIRewriter.cpp.
References assert().
|
staticconstexpr |
Definition at line 86 of file AArch64MCLFIRewriter.cpp.
|
staticconstexpr |
Definition at line 85 of file AArch64MCLFIRewriter.cpp.
|
staticconstexpr |
Definition at line 88 of file AArch64MCLFIRewriter.cpp.
|
static |
|
staticconstexpr |
Definition at line 87 of file AArch64MCLFIRewriter.cpp.
|
staticconstexpr |
Definition at line 97 of file AArch64MCLFIRewriter.cpp.
|
staticconstexpr |
Definition at line 93 of file AArch64MCLFIRewriter.cpp.