X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=include%2Fllvm%2FCodeGen%2FPasses.h;h=f45f0ed57d6b6d0234defe193f070304fb9473a6;hb=c75c50f45b3d6d1d61ce6b411d12cedaadd71d5b;hp=8301dbe06648456555076deb102e1087f91b272b;hpb=87433fc81a9f156bf94625ee7a9237983db7a38a;p=oota-llvm.git diff --git a/include/llvm/CodeGen/Passes.h b/include/llvm/CodeGen/Passes.h index 8301dbe0664..f45f0ed57d6 100644 --- a/include/llvm/CodeGen/Passes.h +++ b/include/llvm/CodeGen/Passes.h @@ -170,7 +170,8 @@ public: void substitutePass(AnalysisID StandardID, IdentifyingPassPtr TargetID); /// Insert InsertedPassID pass after TargetPassID pass. - void insertPass(AnalysisID TargetPassID, IdentifyingPassPtr InsertedPassID); + void insertPass(AnalysisID TargetPassID, IdentifyingPassPtr InsertedPassID, + bool VerifyAfter = true, bool PrintAfter = true); /// Allow the target to enable a specific standard pass by default. void enablePass(AnalysisID PassID) { substitutePass(PassID, PassID); } @@ -187,6 +188,9 @@ public: /// Return true if the optimized regalloc pipeline is enabled. bool getOptimizeRegAlloc() const; + /// Return true if shrink wrapping is enabled. + bool getEnableShrinkWrap() const; + /// Return true if the default global register allocator is in use and /// has not be overriden on the command line with '-regalloc=...' bool usingDefaultRegAlloc() const; @@ -222,7 +226,7 @@ public: /// /// This can also be used to plug a new MachineSchedStrategy into an instance /// of the standard ScheduleDAGMI: - /// return new ScheduleDAGMI(C, make_unique(C), /* IsPostRA= */false) + /// return new ScheduleDAGMI(C, make_unique(C), /*RemoveKillFlags=*/false) /// /// Return NULL to select the default (generic) machine scheduler. virtual ScheduleDAGInstrs * @@ -355,14 +359,6 @@ protected: /// Add a pass to perform basic verification of the machine function if /// verification is enabled. void addVerifyPass(const std::string &Banner); - - /// Create an instance of ShrinkWrap using the runShrinkWrap predicate - /// function. - FunctionPass *createShrinkWrapPass(); - - /// Predicate function passed to a ShrinkWrap object to determine if shrink - /// wrapping should be run on a MachineFunction. - virtual bool runShrinkWrap(const MachineFunction &Fn) const; }; } // namespace llvm @@ -587,6 +583,9 @@ namespace llvm { /// StackSlotColoring - This pass performs stack slot coloring. extern char &StackSlotColoringID; + /// \brief This pass lays out funclets contiguously. + extern char &FuncletLayoutID; + /// createStackProtectorPass - This pass adds stack protectors to functions. /// FunctionPass *createStackProtectorPass(const TargetMachine *TM); @@ -641,6 +640,9 @@ namespace llvm { /// the intrinsic for later emission to the StackMap. extern char &StackMapLivenessID; + /// LiveDebugValues pass + extern char &LiveDebugValuesID; + /// createJumpInstrTables - This pass creates jump-instruction tables. ModulePass *createJumpInstrTablesPass();