diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp | 41 | ||||
-rw-r--r-- | lib/Target/TargetMachine.cpp | 5 |
2 files changed, 1 insertions, 45 deletions
diff --git a/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp b/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp index 1372169250..8bf875642b 100644 --- a/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp +++ b/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp @@ -223,39 +223,6 @@ defaultListDAGScheduler("default", "Best scheduler for the target", namespace llvm { //===--------------------------------------------------------------------===// - /// \brief This struct is used by SelectionDAGISel to temporarily override - /// the optimization level on a per-function basis. - class OptLevelChanger { - SelectionDAGISel &IS; - CodeGenOpt::Level SavedOptLevel; - - public: - OptLevelChanger(SelectionDAGISel &ISel, - CodeGenOpt::Level NewOptLevel) : IS(ISel) { - SavedOptLevel = IS.OptLevel; - if (NewOptLevel == SavedOptLevel) - return; - IS.OptLevel = NewOptLevel; - IS.TM.setOptLevel(NewOptLevel); - DEBUG(dbgs() << "\nChanging optimization level for Function " - << IS.MF->getFunction()->getName() << "\n"); - DEBUG(dbgs() << "\tBefore: -O" << SavedOptLevel - << " ; After: -O" << NewOptLevel << "\n"); - } - - ~OptLevelChanger() { - if (IS.OptLevel == SavedOptLevel) - return; - DEBUG(dbgs() << "\nRestoring optimization level for Function " - << IS.MF->getFunction()->getName() << "\n"); - DEBUG(dbgs() << "\tBefore: -O" << IS.OptLevel - << " ; After: -O" << SavedOptLevel << "\n"); - IS.OptLevel = SavedOptLevel; - IS.TM.setOptLevel(SavedOptLevel); - } - }; - - //===--------------------------------------------------------------------===// /// createDefaultScheduler - This creates an instruction scheduler appropriate /// for the target. ScheduleDAGSDNodes* createDefaultScheduler(SelectionDAGISel *IS, @@ -402,12 +369,6 @@ bool SelectionDAGISel::runOnMachineFunction(MachineFunction &mf) { ST.resetSubtargetFeatures(MF); TM.resetTargetOptions(MF); - // Reset OptLevel to None for optnone functions. - CodeGenOpt::Level NewOptLevel = OptLevel; - if (Fn.hasFnAttribute(Attribute::OptimizeNone)) - NewOptLevel = CodeGenOpt::None; - OptLevelChanger OLC(*this, NewOptLevel); - DEBUG(dbgs() << "\n\n\n=== " << Fn.getName() << "\n"); SplitCriticalSideEffectEdges(const_cast<Function&>(Fn), this); @@ -985,7 +946,7 @@ static void collectFailStats(const Instruction *I) { void SelectionDAGISel::SelectAllBasicBlocks(const Function &Fn) { // Initialize the Fast-ISel state, if needed. FastISel *FastIS = 0; - if (TM.Options.EnableFastISel || Fn.hasFnAttribute(Attribute::OptimizeNone)) + if (TM.Options.EnableFastISel) FastIS = getTargetLowering()->createFastISel(*FuncInfo, LibInfo); // Iterate over all basic blocks in the function. diff --git a/lib/Target/TargetMachine.cpp b/lib/Target/TargetMachine.cpp index cb42e8311b..df4a03c9e8 100644 --- a/lib/Target/TargetMachine.cpp +++ b/lib/Target/TargetMachine.cpp @@ -164,11 +164,6 @@ CodeGenOpt::Level TargetMachine::getOptLevel() const { return CodeGenInfo->getOptLevel(); } -void TargetMachine::setOptLevel(CodeGenOpt::Level Level) const { - if (CodeGenInfo) - CodeGenInfo->setOptLevel(Level); -} - bool TargetMachine::getAsmVerbosityDefault() { return AsmVerbosityDefault; } |