Added LLVM copyright notice.
[oota-llvm.git] / lib / Target / SparcV9 / RegAlloc / InterferenceGraph.h
index 5af8149a329d94f4ef5da49ae9191773c5357f89..6b8cf3cd053b7ece3b91e10a4d5f45de58785ef6 100644 (file)
@@ -1,3 +1,12 @@
+//===-- InterferenceGraph.h - Interference graph for register coloring -*- C++ -*-===//
+// 
+//                     The LLVM Compiler Infrastructure
+//
+// This file was developed by the LLVM research group and is distributed under
+// the University of Illinois Open Source License. See LICENSE.TXT for details.
+// 
+//===----------------------------------------------------------------------===//
+
 /* Title:   InterferenceGraph.h   -*- C++ -*-
    Author:  Ruchira Sasanka
    Date:    July 20, 01
      setCurDegreeOfIGNodes() before pushing IGNodes on to stack for coloring.
 */
 
+#ifndef INTERFERENCEGRAPH_H
+#define INTERFERENCEGRAPH_H
 
-#ifndef  INTERFERENCE_GRAPH_H
-#define  INTERFERENCE_GRAPH_H
-
-
-#include "llvm/CodeGen/IGNode.h"
-
-typedef std::vector <IGNode *> IGNodeListType;
-
+#include <vector>
+class LiveRange;
+class RegClass;
+class IGNode;
 
 class InterferenceGraph {
   char **IG;                            // a poiner to the interference graph
   unsigned int Size;                    // size of a side of the IG
   RegClass *const RegCl;                // RegCl contains this IG
-  IGNodeListType IGNodeList;            // a list of all IGNodes in a reg class
+  std::vector<IGNode *> IGNodeList;     // a list of all IGNodes in a reg class
                             
  public:
   // the matrix is not yet created by the constructor. Call createGraph() 
@@ -51,8 +58,8 @@ class InterferenceGraph {
 
   void mergeIGNodesOfLRs(const LiveRange *LR1, LiveRange *LR2);
 
-  IGNodeListType &getIGNodeList() { return IGNodeList; } 
-  const IGNodeListType &getIGNodeList() const { return IGNodeList; } 
+  std::vector<IGNode *> &getIGNodeList() { return IGNodeList; } 
+  const std::vector<IGNode *> &getIGNodeList() const { return IGNodeList; } 
 
   void setCurDegreeOfIGNodes();