|
LLVM 24.0.0git
|
#include "LeonPasses.h"#include "Sparc.h"#include "SparcSubtarget.h"#include "llvm/CodeGen/MachineBasicBlock.h"#include "llvm/CodeGen/MachineFunction.h"#include "llvm/CodeGen/MachineFunctionAnalysisManager.h"#include "llvm/CodeGen/MachineInstr.h"#include "llvm/CodeGen/MachineInstrBuilder.h"#include "llvm/CodeGen/MachinePassManager.h"#include "llvm/CodeGen/TargetInstrInfo.h"#include "llvm/CodeGen/TargetRegisterInfo.h"#include "llvm/IR/Analysis.h"#include "llvm/Support/raw_ostream.h"Go to the source code of this file.
|
static |
Definition at line 107 of file LeonPasses.cpp.
References I, insertNop(), MI, and TII.
Referenced by runErrataWorkaroundOnMachineFunction().
|
static |
Definition at line 146 of file LeonPasses.cpp.
References I, insertNop(), MI, and TII.
Referenced by runErrataWorkaroundOnMachineFunction().
|
static |
Definition at line 174 of file LeonPasses.cpp.
References llvm::MachineBasicBlock::begin(), llvm::MachineBasicBlock::end(), I, insertNop(), isAtomic(), MI, and TII.
Referenced by runErrataWorkaroundOnMachineFunction().
|
static |
Definition at line 208 of file LeonPasses.cpp.
References I, insertNop(), isAtomic(), MBB, and TII.
Referenced by runErrataWorkaroundOnMachineFunction().
|
static |
Definition at line 223 of file LeonPasses.cpp.
References llvm::MachineBasicBlock::begin(), llvm::MachineBasicBlock::end(), I, insertNop(), isFloat(), MI, and TII.
Referenced by runErrataWorkaroundOnMachineFunction().
|
static |
Definition at line 254 of file LeonPasses.cpp.
References I, insertNop(), isDivSqrt(), isFloat(), MI, TII, and TRI.
Referenced by runErrataWorkaroundOnMachineFunction().
|
static |
Definition at line 416 of file LeonPasses.cpp.
References llvm::StringRef::compare_insensitive(), llvm::errs(), llvm::MachineOperand::getGlobal(), llvm::Value::getName(), llvm::MachineFunction::getSubtarget(), llvm::MachineOperand::isGlobal(), MBB, MI, and Modified.
Referenced by llvm::SparcDetectRoundChangePass::run(), and llvm::SparcDetectRoundChangeLegacy::runOnMachineFunction().
|
static |
Definition at line 478 of file LeonPasses.cpp.
References llvm::BuildMI(), llvm::dwarf_linker::DebugLoc, DL, E(), llvm::SparcSubtarget::getInstrInfo(), llvm::MachineFunction::getSubtarget(), MBB, MBBI, MI, Modified, and TII.
Referenced by llvm::SparcFixAllFDIVSQRTPass::run(), and llvm::SparcFixAllFDIVSQRTLegacy::runOnMachineFunction().
| INITIALIZE_PASS | ( | SparcErrataWorkaroundLegacy | , |
| "errata-workaround" | , | ||
| "Errata workaround pass" | , | ||
| false | , | ||
| false | ) |
Definition at line 35 of file LeonPasses.cpp.
|
static |
Definition at line 59 of file LeonPasses.cpp.
References llvm::BuildMI(), I, and TII.
Referenced by checkSeqTN0009A(), checkSeqTN0009B(), checkSeqTN0010(), checkSeqTN0010First(), checkSeqTN0012(), and checkSeqTN0013().
|
static |
Definition at line 365 of file LeonPasses.cpp.
References llvm::BuildMI(), llvm::dwarf_linker::DebugLoc, DL, E(), llvm::SparcSubtarget::getInstrInfo(), llvm::MachineFunction::getSubtarget(), MBB, MBBI, MI, Modified, and TII.
Referenced by llvm::SparcInsertNOPLoadPass::run(), and llvm::SparcInsertNOPLoadLegacy::runOnMachineFunction().
|
static |
Definition at line 90 of file LeonPasses.cpp.
References I.
Referenced by checkSeqTN0010(), checkSeqTN0010First(), llvm::AArch64RegisterBankInfo::getInstrMapping(), llvm::RISCVRegisterBankInfo::getInstrMapping(), and llvm::RewriteStatepointsForGC::runOnFunction().
|
static |
|
static |
Definition at line 64 of file LeonPasses.cpp.
References contains(), and I.
Referenced by checkSeqTN0012(), checkSeqTN0013(), and llvm::TargetLoweringBase::getBooleanContents().
|
static |
Definition at line 306 of file LeonPasses.cpp.
References Changed, checkSeqTN0009A(), checkSeqTN0009B(), checkSeqTN0010(), checkSeqTN0010First(), checkSeqTN0012(), checkSeqTN0013(), llvm::MachineFunction::front(), llvm::MachineFunction::getSubtarget(), I, MBB, TII, and TRI.
Referenced by llvm::SparcErrataWorkaroundPass::run(), and llvm::SparcErrataWorkaroundLegacy::runOnMachineFunction().