|
LLVM 23.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 | 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 227 of file AArch64MCLFIRewriter.cpp.
References E().
Referenced by llvm::isLFIPrePostMemAccess().
Definition at line 204 of file AArch64MCLFIRewriter.cpp.
References E(), and llvm::AArch64::LFI_AM_RoX.
Definition at line 197 of file AArch64MCLFIRewriter.cpp.
References E().
Referenced by llvm::isLFIPrePostMemAccess().
Definition at line 213 of file AArch64MCLFIRewriter.cpp.
References E(), and llvm::AArch64::LFI_AM_RoW.
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 161 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().
|
static |
Definition at line 181 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.