LLVM 20.0.0git
|
#include "AArch64.h"
#include "AArch64Subtarget.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/CodeGen/MachineFunctionPass.h"
#include "llvm/CodeGen/MachineInstr.h"
#include "llvm/CodeGen/MachineInstrBuilder.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/CodeGen/TargetInstrInfo.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/raw_ostream.h"
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 MachineBasicBlock * | getBBFallenThrough (MachineBasicBlock *MBB, const TargetInstrInfo *TII) |
static MachineInstr * | getLastNonPseudo (MachineBasicBlock &MBB, const TargetInstrInfo *TII) |
static void | insertNopBeforeInstruction (MachineBasicBlock &MBB, MachineInstr *MI, const TargetInstrInfo *TII) |
#define DEBUG_TYPE "aarch64-fix-cortex-a53-835769" |
Definition at line 31 of file AArch64A53Fix835769.cpp.
|
static |
Definition at line 136 of file AArch64A53Fix835769.cpp.
References llvm::HexagonInstrInfo::analyzeBranch(), llvm::MachineFunction::begin(), Cond, llvm::MachineBasicBlock::getParent(), MBB, MBBI, llvm::MachineBasicBlock::predecessors(), TBB, and TII.
Referenced by getLastNonPseudo().
|
static |
Definition at line 161 of file AArch64A53Fix835769.cpp.
References getBBFallenThrough(), I, MBB, llvm::reverse(), and TII.
Referenced by insertNopBeforeInstruction().
INITIALIZE_PASS | ( | AArch64A53Fix835769 | , |
"aarch64-fix-cortex-a53-835769-pass" | , | ||
"AArch64 fix for A53 erratum 835769" | , | ||
false | , | ||
false | |||
) |
Definition at line 112 of file AArch64A53Fix835769.cpp.
References llvm::dbgs(), F, LLVM_DEBUG, MBB, runOnBasicBlock(), and TII.
|
static |
Definition at line 177 of file AArch64A53Fix835769.cpp.
References llvm::MachineInstrBuilder::addImm(), assert(), llvm::BuildMI(), DL, llvm::MachineBasicBlock::front(), getLastNonPseudo(), I, MBB, MI, and TII.
|
static |
Definition at line 40 of file AArch64A53Fix835769.cpp.
References MI.
|
static |
Definition at line 56 of file AArch64A53Fix835769.cpp.
References MI.
STATISTIC | ( | NumNopsAdded | , |
"Number of Nops added to work around erratum 835769" | |||
) |