CanLowerReturn doesn't need a SelectionDAG; it just needs an LLVMContext.
[oota-llvm.git] / include / llvm / CodeGen / SelectionDAGISel.h
index 8fddb54452d80af05daf183dd57f2e09908e98ab..161599474100cfd124cf0742a1394ad7bf80b607 100644 (file)
@@ -51,7 +51,7 @@ public:
   CodeGenOpt::Level OptLevel;
   static char ID;
 
-  explicit SelectionDAGISel(TargetMachine &tm,
+  explicit SelectionDAGISel(const TargetMachine &tm,
                             CodeGenOpt::Level OL = CodeGenOpt::Default);
   virtual ~SelectionDAGISel();
   
@@ -284,22 +284,15 @@ private:
   void SelectAllBasicBlocks(const Function &Fn);
   void FinishBasicBlock(MachineBasicBlock *BB);
 
-  void SelectBasicBlock(MachineBasicBlock *BB,
-                        const BasicBlock *LLVMBB,
-                        BasicBlock::const_iterator Begin,
-                        BasicBlock::const_iterator End,
-                        bool &HadTailCall);
-  void CodeGenAndEmitDAG(MachineBasicBlock *BB);
+  MachineBasicBlock *SelectBasicBlock(MachineBasicBlock *BB,
+                                      BasicBlock::const_iterator Begin,
+                                      BasicBlock::const_iterator End,
+                                      bool &HadTailCall);
+  MachineBasicBlock *CodeGenAndEmitDAG(MachineBasicBlock *BB);
   void LowerArguments(const BasicBlock *BB);
   
-  void ShrinkDemandedOps();
   void ComputeLiveOutVRegInfo();
 
-  void HandlePHINodesInSuccessorBlocks(const BasicBlock *LLVMBB);
-
-  bool HandlePHINodesInSuccessorBlocksFast(const BasicBlock *LLVMBB,
-                                           FastISel *F);
-
   /// Create the scheduler. If a specific scheduler was specified
   /// via the SchedulerRegistry, use it, otherwise select the
   /// one preferred by the target.