mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2026-04-24 13:18:17 +00:00
Move pass configuration out of pass constructors: MachineLICM.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150099 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -60,8 +60,6 @@ STATISTIC(NumPostRAHoisted,
|
||||
|
||||
namespace {
|
||||
class MachineLICM : public MachineFunctionPass {
|
||||
bool PreRegAlloc;
|
||||
|
||||
const TargetMachine *TM;
|
||||
const TargetInstrInfo *TII;
|
||||
const TargetLowering *TLI;
|
||||
@@ -69,6 +67,7 @@ namespace {
|
||||
const MachineFrameInfo *MFI;
|
||||
MachineRegisterInfo *MRI;
|
||||
const InstrItineraryData *InstrItins;
|
||||
bool PreRegAlloc;
|
||||
|
||||
// Various analyses that we use...
|
||||
AliasAnalysis *AA; // Alias analysis info.
|
||||
@@ -298,8 +297,8 @@ INITIALIZE_AG_DEPENDENCY(AliasAnalysis)
|
||||
INITIALIZE_PASS_END(MachineLICM, "machinelicm",
|
||||
"Machine Loop Invariant Code Motion", false, false)
|
||||
|
||||
FunctionPass *llvm::createMachineLICMPass(bool PreRegAlloc) {
|
||||
return new MachineLICM(PreRegAlloc);
|
||||
FunctionPass *llvm::createMachineLICMPass() {
|
||||
return new MachineLICM();
|
||||
}
|
||||
|
||||
/// LoopIsOuterMostWithPredecessor - Test if the given loop is the outer-most
|
||||
@@ -332,6 +331,8 @@ bool MachineLICM::runOnMachineFunction(MachineFunction &MF) {
|
||||
MRI = &MF.getRegInfo();
|
||||
InstrItins = TM->getInstrItineraryData();
|
||||
|
||||
PreRegAlloc = MRI->isSSA();
|
||||
|
||||
if (PreRegAlloc) {
|
||||
// Estimate register pressure during pre-regalloc pass.
|
||||
unsigned NumRC = TRI->getNumRegClasses();
|
||||
|
||||
Reference in New Issue
Block a user