LLVM 22.0.0git
AArch64A53Fix835769.cpp File Reference

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "aarch64-fix-cortex-a53-835769"

Functions

 STATISTIC (NumNopsAdded, "Number of Nops added to work around erratum 835769")
static bool isFirstInstructionInSequence (MachineInstr *MI)
static bool isSecondInstructionInSequence (MachineInstr *MI)
 INITIALIZE_PASS (AArch64A53Fix835769, "aarch64-fix-cortex-a53-835769-pass", "AArch64 fix for A53 erratum 835769", false, false) bool AArch64A53Fix835769
static MachineBasicBlockgetBBFallenThrough (MachineBasicBlock *MBB, const TargetInstrInfo *TII)
static MachineInstrgetLastNonPseudo (MachineBasicBlock &MBB, const TargetInstrInfo *TII)
static void insertNopBeforeInstruction (MachineBasicBlock &MBB, MachineInstr *MI, const TargetInstrInfo *TII)

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "aarch64-fix-cortex-a53-835769"

Definition at line 30 of file AArch64A53Fix835769.cpp.

Function Documentation

◆ getBBFallenThrough()

MachineBasicBlock * getBBFallenThrough ( MachineBasicBlock * MBB,
const TargetInstrInfo * TII )
static

Definition at line 132 of file AArch64A53Fix835769.cpp.

References Cond, MBB, MBBI, TBB, and TII.

Referenced by getLastNonPseudo().

◆ getLastNonPseudo()

MachineInstr * getLastNonPseudo ( MachineBasicBlock & MBB,
const TargetInstrInfo * TII )
static

Definition at line 157 of file AArch64A53Fix835769.cpp.

References getBBFallenThrough(), I, MBB, llvm::reverse(), and TII.

Referenced by insertNopBeforeInstruction().

◆ INITIALIZE_PASS()

INITIALIZE_PASS ( AArch64A53Fix835769 ,
"aarch64-fix-cortex-a53-835769-pass" ,
"AArch64 fix for A53 erratum 835769" ,
false ,
false  )

Definition at line 108 of file AArch64A53Fix835769.cpp.

References Changed, llvm::dbgs(), F, LLVM_DEBUG, MBB, runOnBasicBlock(), and TII.

◆ insertNopBeforeInstruction()

void insertNopBeforeInstruction ( MachineBasicBlock & MBB,
MachineInstr * MI,
const TargetInstrInfo * TII )
static

◆ isFirstInstructionInSequence()

bool isFirstInstructionInSequence ( MachineInstr * MI)
static

Definition at line 39 of file AArch64A53Fix835769.cpp.

References MI.

◆ isSecondInstructionInSequence()

bool isSecondInstructionInSequence ( MachineInstr * MI)
static

Definition at line 55 of file AArch64A53Fix835769.cpp.

References MI.

◆ STATISTIC()

STATISTIC ( NumNopsAdded ,
"Number of Nops added to work around erratum 835769"  )