Give SelectionDAG a TargetLowering instance instead of TM instance.
authorChris Lattner <sabre@nondot.org>
Sun, 23 Jan 2005 04:36:06 +0000 (04:36 +0000)
committerChris Lattner <sabre@nondot.org>
Sun, 23 Jan 2005 04:36:06 +0000 (04:36 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19778 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/CodeGen/SelectionDAG.h

index 8c2020d8d2c92ae46603262b97fb6858ac891bb8..8c65742213dd132f5e268680b2ec67d1867e7865 100644 (file)
@@ -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