LLVM  10.0.0svn
Classes | Namespaces | Macros | Enumerations | Functions | Variables
AArch64InstrInfo.h File Reference
#include "AArch64.h"
#include "AArch64RegisterInfo.h"
#include "llvm/ADT/Optional.h"
#include "llvm/CodeGen/MachineCombinerPattern.h"
#include "llvm/CodeGen/TargetInstrInfo.h"
#include "AArch64GenInstrInfo.inc"
Include dependency graph for AArch64InstrInfo.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.


class  llvm::AArch64InstrInfo


 This class represents lattice values for constants.


#define FALKOR_STRIDED_ACCESS_MD   "falkor.strided.access"


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) }


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, bool *HasWinCFI=nullptr)
 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)


static const MachineMemOperand::Flags llvm::MOSuppressPair
static const MachineMemOperand::Flags llvm::MOStridedAccess

Macro Definition Documentation


#define FALKOR_STRIDED_ACCESS_MD   "falkor.strided.access"



Definition at line 22 of file AArch64InstrInfo.h.



Definition at line 268 of file AArch64InstrInfo.h.


#define TSFLAG_DESTRUCTIVE_INST_TYPE (   X)    ((X) << 3)

Definition at line 365 of file AArch64InstrInfo.h.


#define TSFLAG_ELEMENT_SIZE_TYPE (   X)    (X)

Definition at line 364 of file AArch64InstrInfo.h.