diff --git a/hpvm/include/SupportVISC/DFGraph.h b/hpvm/include/SupportVISC/DFGraph.h
index dd6a2f0bbb6c8ddc4ae2bb8b7a6df883b1e25a35..677b5f860d6f1b91cff4b12b9be83c15950c83db 100644
--- a/hpvm/include/SupportVISC/DFGraph.h
+++ b/hpvm/include/SupportVISC/DFGraph.h
@@ -95,19 +95,19 @@ public:
     DFEdgeList.push_back(E);
   }
 
-  DFNode* getEntry() {
+  DFNode* getEntry() const {
     return Entry;
   }
 
-  DFNode* getExit() {
+  DFNode* getExit() const {
     return Exit;
   }
 
-  bool isEntry(DFNode* N) {
+  bool isEntry(DFNode* N) const {
     return N == Entry;
   }
 
-  bool isExit(DFNode* N) {
+  bool isExit(DFNode* N) const {
     return N == Exit;
   }
 
@@ -155,7 +155,7 @@ public:
 
   //===--------------------------------------------------------------------===//
 
-  DFInternalNode* getParent() {
+  DFInternalNode* getParent() const {
     return Parent;
   }
 
@@ -318,7 +318,7 @@ public:
     return II->getCalledFunction()->getName().equals("llvm.visc.launch");
   }
 
-  StructType* getOutputType() {
+  StructType* getOutputType() const {
     return OutputType;
   }
 
@@ -336,7 +336,7 @@ public:
     OutDFEdges.push_back(E);
   }
 
-  Function* getFuncPointer() {
+  Function* getFuncPointer() const {
     return FuncPointer;
   }
 
@@ -344,27 +344,27 @@ public:
     FuncPointer = _FuncPointer;
   }
 
-  IntrinsicInst* getInstruction() {
+  IntrinsicInst* getInstruction() const {
     return II;
   }
 
-  DFInternalNode* getParent() {
+  DFInternalNode* getParent() const {
     return Parent;
   }
 
-  unsigned getNumOfDim() {
+  unsigned getNumOfDim() const {
     return NumOfDim;
   }
 
-  std::vector<Value*> getDimLimits() {
+  std::vector<Value*> getDimLimits() const {
     return DimLimits;
   }
 
-  int getLevel() {
+  int getLevel() const {
     return Level;
   }
 
-  int getRank() {
+  int getRank() const {
     return Rank;
   }
 
@@ -393,7 +393,7 @@ public:
     Tag = T;
   }
 
-  Function* getGenFunc() {
+  Function* getGenFunc() const {
     return GenFunc;
   }
 
@@ -425,7 +425,7 @@ public:
     return; 
   }
 
-  bool hasX86GenFuncForTarget(visc::Target T) {
+  bool hasX86GenFuncForTarget(visc::Target T) const {
     switch (T) {
       case visc::CPU_TARGET:
         return GenFuncInfo.cpu_hasX86Func;
@@ -505,7 +505,7 @@ public:
     Tag = viscUtils::getUpdatedTag(Tag,T);
   }
 
-  Function* getGenFuncForTarget(visc::Target T) {
+  Function* getGenFuncForTarget(visc::Target T)  const {
     switch (T) {
       case visc::CPU_TARGET:
         return GenFuncs.CPUGenFunc;
@@ -644,7 +644,7 @@ public:
 
   void addEdgeToDFGraph(DFEdge* E);
  
-  DFGraph* getChildGraph() {
+  DFGraph* getChildGraph() const {
     return childGraph;
   }
 
@@ -733,7 +733,7 @@ public:
 
   }
 
-  DFNode* getSourceDF() {
+  DFNode* getSourceDF() const {
     return SrcDF;
   }
 
@@ -741,7 +741,7 @@ public:
     SrcDF = N;
   }
 
-  DFNode* getDestDF() {
+  DFNode* getDestDF() const {
     return DestDF;
   }
 
@@ -749,11 +749,11 @@ public:
     DestDF = N;
   }
 
-  bool getEdgeType() {
+  bool getEdgeType() const {
     return EdgeType;
   }
 
-  unsigned getSourcePosition() {
+  unsigned getSourcePosition() const {
     return SourcePosition;
   }
 
@@ -761,7 +761,7 @@ public:
     SourcePosition = i;
   }
 
-  unsigned getDestPosition() {
+  unsigned getDestPosition() const {
     return DestPosition;
   }
 
@@ -769,11 +769,11 @@ public:
     DestPosition = i;
   }
 
-  Type* getType() {
+  Type* getType() const {
     return ArgType;
   }
 
-  bool isStreamingEdge() {
+  bool isStreamingEdge() const {
     return isStreaming;
   }