12#ifndef LLVM_LIB_TARGET_SPARC_LEON_PASSES_H
13#define LLVM_LIB_TARGET_SPARC_LEON_PASSES_H
24 const int LAST_OPERAND = -1;
36 UsedRegisters.push_back(registerIndex);
75 return "InsertNOPLoad: Erratum Fix LBR35: insert a NOP instruction after "
76 "every single-cycle load instruction when the next instruction is "
77 "another load/store instruction";
90 return "DetectRoundChange: Leon erratum detection: detect any rounding "
91 "mode change request: use only the round-to-nearest rounding mode";
103 return "FixAllFDIVSQRT: Erratum Fix LBR34: fix FDIVS/FDIVD/FSQRTS/FSQRTD "
104 "instructions with NOPs and floating-point store";
#define LLVM_LIBRARY_VISIBILITY
StringRef getPassName() const override
getPassName - Return a nice clean name for a pass.
bool moveNext(MachineBasicBlock::iterator &I)
const SparcSubtarget * ST
const TargetInstrInfo * TII
const TargetRegisterInfo * TRI
StringRef getPassName() const override
getPassName - Return a nice clean name for a pass.
StringRef getPassName() const override
getPassName - Return a nice clean name for a pass.
StringRef getPassName() const override
getPassName - Return a nice clean name for a pass.
void markRegisterUsed(int registerIndex)
void clearUsedRegisterList()
std::vector< int > UsedRegisters
MachineFunctionPass - This class adapts the FunctionPass interface to allow convenient creation of pa...
StringRef - Represent a constant reference to a string, i.e.
TargetInstrInfo - Interface to description of machine instruction set.
TargetRegisterInfo base class - We assume that the target defines a static array of TargetRegisterDes...
This is an optimization pass for GlobalISel generic memory operations.