LLVM
8.0.1
|
#include "AArch64.h"
#include "AArch64RegisterInfo.h"
#include "llvm/CodeGen/MachineCombinerPattern.h"
#include "llvm/CodeGen/TargetInstrInfo.h"
#include "AArch64GenInstrInfo.inc"
Go to the source code of this file.
Classes | |
class | llvm::AArch64InstrInfo |
Namespaces | |
llvm | |
This class represents lattice values for constants. | |
llvm::AArch64 | |
Macros | |
#define | GET_INSTRINFO_HEADER |
#define | FALKOR_STRIDED_ACCESS_MD "falkor.strided.access" |
#define | GET_INSTRINFO_HELPER_DECLS |
#define | TSFLAG_ELEMENT_SIZE_TYPE(X) (X) |
#define | TSFLAG_DESTRUCTIVE_INST_TYPE(X) ((X) << 3) |
Enumerations | |
enum | llvm::AArch64FrameOffsetStatus { llvm::AArch64FrameOffsetCannotUpdate = 0x0, llvm::AArch64FrameOffsetIsLegal = 0x1, llvm::AArch64FrameOffsetCanUpdate = 0x2 } |
Use to report the frame offset status in isAArch64FrameOffsetLegal. More... | |
enum | llvm::AArch64::ElementSizeType { llvm::AArch64::ElementSizeMask = TSFLAG_ELEMENT_SIZE_TYPE(0x7), llvm::AArch64::ElementSizeNone = TSFLAG_ELEMENT_SIZE_TYPE(0x0), llvm::AArch64::ElementSizeB = TSFLAG_ELEMENT_SIZE_TYPE(0x1), llvm::AArch64::ElementSizeH = TSFLAG_ELEMENT_SIZE_TYPE(0x2), llvm::AArch64::ElementSizeS = TSFLAG_ELEMENT_SIZE_TYPE(0x3), llvm::AArch64::ElementSizeD = TSFLAG_ELEMENT_SIZE_TYPE(0x4) } |
enum | llvm::AArch64::DestructiveInstType { llvm::AArch64::DestructiveInstTypeMask = TSFLAG_DESTRUCTIVE_INST_TYPE(0x1), llvm::AArch64::NotDestructive = TSFLAG_DESTRUCTIVE_INST_TYPE(0x0), llvm::AArch64::Destructive = TSFLAG_DESTRUCTIVE_INST_TYPE(0x1) } |
Functions | |
void | llvm::emitFrameOffset (MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI, const DebugLoc &DL, unsigned DestReg, unsigned SrcReg, int Offset, const TargetInstrInfo *TII, MachineInstr::MIFlag=MachineInstr::NoFlags, bool SetNZCV=false, bool NeedsWinCFI=false) |
emitFrameOffset - Emit instructions as needed to set DestReg to SrcReg plus Offset. More... | |
bool | llvm::rewriteAArch64FrameIndex (MachineInstr &MI, unsigned FrameRegIdx, unsigned FrameReg, int &Offset, const AArch64InstrInfo *TII) |
rewriteAArch64FrameIndex - Rewrite MI to access 'Offset' bytes from the FP. More... | |
int | llvm::isAArch64FrameOffsetLegal (const MachineInstr &MI, int &Offset, bool *OutUseUnscaledOp=nullptr, unsigned *OutUnscaledOp=nullptr, int *EmittableOffset=nullptr) |
Check if the Offset is a valid frame offset for MI . More... | |
static bool | llvm::isUncondBranchOpcode (int Opc) |
static bool | llvm::isCondBranchOpcode (int Opc) |
static bool | llvm::isIndirectBranchOpcode (int Opc) |
Variables | |
static const MachineMemOperand::Flags | llvm::MOSuppressPair |
static const MachineMemOperand::Flags | llvm::MOStridedAccess |
#define FALKOR_STRIDED_ACCESS_MD "falkor.strided.access" |
Definition at line 35 of file AArch64InstrInfo.h.
Referenced by llvm::createFalkorMarkStridedAccessesPass(), and llvm::AArch64TargetLowering::getMMOFlags().
#define GET_INSTRINFO_HEADER |
Definition at line 22 of file AArch64InstrInfo.h.
#define GET_INSTRINFO_HELPER_DECLS |
Definition at line 255 of file AArch64InstrInfo.h.
Definition at line 344 of file AArch64InstrInfo.h.
Definition at line 343 of file AArch64InstrInfo.h.