|
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/MC/MCSymbol.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 72 of file AArch64MCLFIRewriter.cpp.
| #define GET_LFIVariantTable_IMPL |
Definition at line 76 of file AArch64MCLFIRewriter.cpp.
| #define GET_MemInfoTable_DECL |
Definition at line 75 of file AArch64MCLFIRewriter.cpp.
| #define GET_MemInfoTable_IMPL |
Definition at line 79 of file AArch64MCLFIRewriter.cpp.
| #define GET_PairVariantTable_DECL |
Definition at line 73 of file AArch64MCLFIRewriter.cpp.
| #define GET_PairVariantTable_IMPL |
Definition at line 77 of file AArch64MCLFIRewriter.cpp.
| #define GET_SIMDPostTable_DECL |
Definition at line 74 of file AArch64MCLFIRewriter.cpp.
| #define GET_SIMDPostTable_IMPL |
Definition at line 78 of file AArch64MCLFIRewriter.cpp.
Definition at line 275 of file AArch64MCLFIRewriter.cpp.
References E().
Referenced by llvm::isLFIPrePostMemAccess().
Definition at line 252 of file AArch64MCLFIRewriter.cpp.
References E(), and llvm::AArch64::LFI_AM_RoX.
Definition at line 245 of file AArch64MCLFIRewriter.cpp.
References E().
Referenced by llvm::isLFIPrePostMemAccess().
Definition at line 261 of file AArch64MCLFIRewriter.cpp.
References E(), and llvm::AArch64::LFI_AM_RoW.
Definition at line 161 of file AArch64MCLFIRewriter.cpp.
Definition at line 173 of file AArch64MCLFIRewriter.cpp.
Definition at line 185 of file AArch64MCLFIRewriter.cpp.
Definition at line 189 of file AArch64MCLFIRewriter.cpp.
Definition at line 133 of file AArch64MCLFIRewriter.cpp.
References llvm::MCInst::getOpcode().
|
static |
Definition at line 104 of file AArch64MCLFIRewriter.cpp.
References Reg.
Referenced by isPrivilegedTPAccess().
Definition at line 119 of file AArch64MCLFIRewriter.cpp.
References llvm::MCOperand::getImm(), llvm::MCInst::getOpcode(), llvm::MCInst::getOperand(), and isPrivilegedTP().
Definition at line 100 of file AArch64MCLFIRewriter.cpp.
References llvm::MCInst::getOpcode().
Definition at line 109 of file AArch64MCLFIRewriter.cpp.
References llvm::MCOperand::getImm(), llvm::MCInst::getOpcode(), and llvm::MCInst::getOperand().
Definition at line 114 of file AArch64MCLFIRewriter.cpp.
References llvm::MCOperand::getImm(), llvm::MCInst::getOpcode(), and llvm::MCInst::getOperand().
Definition at line 209 of file AArch64MCLFIRewriter.cpp.
References llvm::MCOperand::getImm(), llvm::MCInst::getOpcode(), and llvm::MCInst::getOperand().
Definition at line 148 of file AArch64MCLFIRewriter.cpp.
References llvm::MCInst::getOpcode().
Definition at line 194 of file AArch64MCLFIRewriter.cpp.
References llvm::MCInst::getOpcode().
|
static |
Definition at line 229 of file AArch64MCLFIRewriter.cpp.
References assert().
|
staticconstexpr |
Definition at line 87 of file AArch64MCLFIRewriter.cpp.
|
staticconstexpr |
Definition at line 86 of file AArch64MCLFIRewriter.cpp.
|
staticconstexpr |
Definition at line 89 of file AArch64MCLFIRewriter.cpp.
|
static |
|
staticconstexpr |
Definition at line 88 of file AArch64MCLFIRewriter.cpp.
|
staticconstexpr |
Definition at line 98 of file AArch64MCLFIRewriter.cpp.
|
staticconstexpr |
Definition at line 94 of file AArch64MCLFIRewriter.cpp.