LLVM 20.0.0git
|
#include "AArch64.h"
#include "AArch64RegisterInfo.h"
#include "llvm/CodeGen/TargetInstrInfo.h"
#include "llvm/Support/TypeSize.h"
#include <optional>
#include "AArch64GenInstrInfo.inc"
Go to the source code of this file.
Classes | |
class | llvm::AArch64InstrInfo |
struct | llvm::UsedNZCV |
Namespaces | |
namespace | llvm |
This is an optimization pass for GlobalISel generic memory operations. | |
namespace | 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) |
#define | TSFLAG_FALSE_LANE_TYPE(X) ((X) << 7) |
#define | TSFLAG_INSTR_FLAGS(X) ((X) << 9) |
#define | TSFLAG_SME_MATRIX_TYPE(X) ((X) << 11) |
Functions | |
std::optional< UsedNZCV > | llvm::examineCFlagsUse (MachineInstr &MI, MachineInstr &CmpInstr, const TargetRegisterInfo &TRI, SmallVectorImpl< MachineInstr * > *CCUseInstrs=nullptr) |
bool | llvm::isNZCVTouchedInInstructionRange (const MachineInstr &DefMI, const MachineInstr &UseMI, const TargetRegisterInfo *TRI) |
Return true if there is an instruction /after/ DefMI and before UseMI which either reads or clobbers NZCV. | |
MCCFIInstruction | llvm::createDefCFA (const TargetRegisterInfo &TRI, unsigned FrameReg, unsigned Reg, const StackOffset &Offset, bool LastAdjustmentWasScalable=true) |
MCCFIInstruction | llvm::createCFAOffset (const TargetRegisterInfo &MRI, unsigned Reg, const StackOffset &OffsetFromDefCFA) |
void | llvm::emitFrameOffset (MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI, const DebugLoc &DL, unsigned DestReg, unsigned SrcReg, StackOffset Offset, const TargetInstrInfo *TII, MachineInstr::MIFlag=MachineInstr::NoFlags, bool SetNZCV=false, bool NeedsWinCFI=false, bool *HasWinCFI=nullptr, bool EmitCFAOffset=false, StackOffset InitialOffset={}, unsigned FrameReg=AArch64::SP) |
emitFrameOffset - Emit instructions as needed to set DestReg to SrcReg plus Offset. | |
bool | llvm::rewriteAArch64FrameIndex (MachineInstr &MI, unsigned FrameRegIdx, unsigned FrameReg, StackOffset &Offset, const AArch64InstrInfo *TII) |
rewriteAArch64FrameIndex - Rewrite MI to access 'Offset' bytes from the FP. | |
int | llvm::isAArch64FrameOffsetLegal (const MachineInstr &MI, StackOffset &Offset, bool *OutUseUnscaledOp=nullptr, unsigned *OutUnscaledOp=nullptr, int64_t *EmittableOffset=nullptr) |
Check if the Offset is a valid frame offset for MI . | |
static bool | llvm::isUncondBranchOpcode (int Opc) |
static bool | llvm::isCondBranchOpcode (int Opc) |
static bool | llvm::isIndirectBranchOpcode (int Opc) |
static bool | llvm::isPTrueOpcode (unsigned Opc) |
unsigned | llvm::getBLRCallOpcode (const MachineFunction &MF) |
Return opcode to be used for indirect calls. | |
static unsigned | llvm::getXPACOpcodeForKey (AArch64PACKey::ID K) |
Return XPAC opcode to be used for a ptrauth strip using the given key. | |
static unsigned | llvm::getAUTOpcodeForKey (AArch64PACKey::ID K, bool Zero) |
Return AUT opcode to be used for a ptrauth auth using the given key, or its AUT*Z variant that doesn't take a discriminator operand, using zero instead. | |
static unsigned | llvm::getPACOpcodeForKey (AArch64PACKey::ID K, bool Zero) |
Return PAC opcode to be used for a ptrauth sign using the given key, or its PAC*Z variant that doesn't take a discriminator operand, using zero instead. | |
int | llvm::AArch64::getSVEPseudoMap (uint16_t Opcode) |
int | llvm::AArch64::getSVERevInstr (uint16_t Opcode) |
int | llvm::AArch64::getSVENonRevInstr (uint16_t Opcode) |
int | llvm::AArch64::getSMEPseudoMap (uint16_t Opcode) |
Variables | |
static const MachineMemOperand::Flags | llvm::MOSuppressPair |
static const MachineMemOperand::Flags | llvm::MOStridedAccess |
static const uint64_t | llvm::AArch64::InstrFlagIsWhile = TSFLAG_INSTR_FLAGS(0x1) |
static const uint64_t | llvm::AArch64::InstrFlagIsPTestLike = TSFLAG_INSTR_FLAGS(0x2) |
#define FALKOR_STRIDED_ACCESS_MD "falkor.strided.access" |
Definition at line 34 of file AArch64InstrInfo.h.
#define GET_INSTRINFO_HEADER |
Definition at line 22 of file AArch64InstrInfo.h.
#define GET_INSTRINFO_HELPER_DECLS |
Definition at line 548 of file AArch64InstrInfo.h.
Definition at line 764 of file AArch64InstrInfo.h.
Definition at line 763 of file AArch64InstrInfo.h.
Definition at line 765 of file AArch64InstrInfo.h.
Definition at line 766 of file AArch64InstrInfo.h.
Definition at line 767 of file AArch64InstrInfo.h.