diff --git a/include/llvm/CodeGen/SelectionDAG.h b/include/llvm/CodeGen/SelectionDAG.h index 8c2020d8d2c..8c65742213d 100644 --- a/include/llvm/CodeGen/SelectionDAG.h +++ b/include/llvm/CodeGen/SelectionDAG.h @@ -36,7 +36,7 @@ namespace llvm { /// linear form. /// class SelectionDAG { - const TargetMachine &TM; + TargetLowering &TLI; MachineFunction &MF; // Root - The root of the entire DAG. EntryNode - The starting token. @@ -45,13 +45,14 @@ class SelectionDAG { // AllNodes - All of the nodes in the DAG std::vector<SDNode*> AllNodes; public: - SelectionDAG(const TargetMachine &tm, MachineFunction &mf) : TM(tm), MF(mf) { + SelectionDAG(TargetLowering &tli, MachineFunction &mf) : TLI(tli), MF(mf) { EntryNode = Root = getNode(ISD::EntryToken, MVT::Other); } ~SelectionDAG(); MachineFunction &getMachineFunction() const { return MF; } - const TargetMachine &getTarget() { return TM; } + const TargetMachine &getTarget() const; + TargetLowering &getTargetLoweringInfo() const { return TLI; } /// viewGraph - Pop up a ghostview window with the DAG rendered using 'dot'. /// @@ -80,7 +81,7 @@ public: /// /// Note that this is an involved process that may invalidate pointers into /// the graph. - void Legalize(TargetLowering &TLI); + void Legalize(); /// RemoveDeadNodes - This method deletes all unreachable nodes in the /// SelectionDAG, including nodes (like loads) that have uses of their token