[llvm-commits] [poolalloc] r124978 - /poolalloc/trunk/lib/DSA/StdLibPass.cpp

Arushi Aggarwal aggarwa4 at illinois.edu
Sat Feb 5 21:07:23 PST 2011


Author: aggarwa4
Date: Sat Feb  5 23:07:23 2011
New Revision: 124978

URL: http://llvm.org/viewvc/llvm-project?rev=124978&view=rev
Log:
Minor refactoring.
Check type of return value, before trying to 
add flags.

Modified:
    poolalloc/trunk/lib/DSA/StdLibPass.cpp

Modified: poolalloc/trunk/lib/DSA/StdLibPass.cpp
URL: http://llvm.org/viewvc/llvm-project/poolalloc/trunk/lib/DSA/StdLibPass.cpp?rev=124978&r1=124977&r2=124978&view=diff
==============================================================================
--- poolalloc/trunk/lib/DSA/StdLibPass.cpp (original)
+++ poolalloc/trunk/lib/DSA/StdLibPass.cpp Sat Feb  5 23:07:23 2011
@@ -360,32 +360,33 @@
               // Set the read, write, and heap markers on the return value
               // as appropriate.
               //
-              if (recFuncs[x].action.read[0])
-                Graph->getNodeForValue(CI).getNode()->setReadMarker();
-              if (recFuncs[x].action.write[0])
-                Graph->getNodeForValue(CI).getNode()->setModifiedMarker();
-              if (recFuncs[x].action.heap[0])
-                Graph->getNodeForValue(CI).getNode()->setHeapMarker();
+              if(isa<PointerType>((CI)->getType())){
+                if(Graph->hasNodeForValue(CI)){
+                  if (recFuncs[x].action.read[0])
+                    Graph->getNodeForValue(CI).getNode()->setReadMarker();
+                  if (recFuncs[x].action.write[0])
+                    Graph->getNodeForValue(CI).getNode()->setModifiedMarker();
+                  if (recFuncs[x].action.heap[0])
+                    Graph->getNodeForValue(CI).getNode()->setHeapMarker();
+                }
+              }
 
               //
               // Set the read, write, and heap markers on the actual arguments
               // as appropriate.
               //
               for (unsigned y = 1; y < CI->getNumOperands(); ++y)
-                if (recFuncs[x].action.read[y])
-                  if (isa<PointerType>(CI->getOperand(y)->getType()))
-                    if (Graph->hasNodeForValue(CI->getOperand(y)))
-                    Graph->getNodeForValue(CI->getOperand(y)).getNode()->setReadMarker();
-              for (unsigned y = 1; y < CI->getNumOperands(); ++y)
-                if (recFuncs[x].action.write[y])
-                  if (isa<PointerType>(CI->getOperand(y)->getType()))
-                    if (Graph->hasNodeForValue(CI->getOperand(y)))
-                    Graph->getNodeForValue(CI->getOperand(y)).getNode()->setModifiedMarker();
-              for (unsigned y = 1; y < CI->getNumOperands(); ++y)
-                if (recFuncs[x].action.heap[y])
-                  if (isa<PointerType>(CI->getOperand(y)->getType()))
-                    if (Graph->hasNodeForValue(CI->getOperand(y)))
-                    Graph->getNodeForValue(CI->getOperand(y)).getNode()->setHeapMarker();
+                if (isa<PointerType>(CI->getOperand(y)->getType())){
+                  if (Graph->hasNodeForValue(CI->getOperand(y))){
+                    if (recFuncs[x].action.read[y])
+                      Graph->getNodeForValue(CI->getOperand(y)).getNode()->setReadMarker();
+                    if (recFuncs[x].action.write[y])
+                      Graph->getNodeForValue(CI->getOperand(y)).getNode()->setModifiedMarker();
+                    if (recFuncs[x].action.heap[y])
+                      Graph->getNodeForValue(CI->getOperand(y)).getNode()->setHeapMarker();
+                  }
+                }
+
 
               //
               // Merge the DSNoes for return values and parameters as
@@ -433,32 +434,32 @@
                       // Set the read, write, and heap markers on the return value
                       // as appropriate.
                       //
-                     if (recFuncs[x].action.read[0])
-                        Graph->getNodeForValue(CI).getNode()->setReadMarker();
-                     if (recFuncs[x].action.write[0])
-                       Graph->getNodeForValue(CI).getNode()->setModifiedMarker();
-                     if (recFuncs[x].action.heap[0])
-                       Graph->getNodeForValue(CI).getNode()->setHeapMarker();
+                     if(isa<PointerType>((CI)->getType())){
+                       if(Graph->hasNodeForValue(CI)){
+                         if (recFuncs[x].action.read[0])
+                           Graph->getNodeForValue(CI).getNode()->setReadMarker();
+                         if (recFuncs[x].action.write[0])
+                           Graph->getNodeForValue(CI).getNode()->setModifiedMarker();
+                         if (recFuncs[x].action.heap[0])
+                           Graph->getNodeForValue(CI).getNode()->setHeapMarker();
+                       }
+                     }
 
                       //
                       // Set the read, write, and heap markers on the actual arguments
                       // as appropriate.
                       //
                       for (unsigned y = 1; y < CI->getNumOperands(); ++y)
-                        if (recFuncs[x].action.read[y])
-                          if (isa<PointerType>(CI->getOperand(y)->getType()))
+                        if (recFuncs[x].action.read[y]){
+                          if (isa<PointerType>(CI->getOperand(y)->getType())){
                             if (Graph->hasNodeForValue(CI->getOperand(y)))
                               Graph->getNodeForValue(CI->getOperand(y)).getNode()->setReadMarker();
-                      for (unsigned y = 1; y < CI->getNumOperands(); ++y)
-                        if (recFuncs[x].action.write[y])
-                          if (isa<PointerType>(CI->getOperand(y)->getType()))
                             if (Graph->hasNodeForValue(CI->getOperand(y)))
                               Graph->getNodeForValue(CI->getOperand(y)).getNode()->setModifiedMarker();
-                      for (unsigned y = 1; y < CI->getNumOperands(); ++y)
-                        if (recFuncs[x].action.heap[y])
-                          if (isa<PointerType>(CI->getOperand(y)->getType()))
                             if (Graph->hasNodeForValue(CI->getOperand(y)))
                               Graph->getNodeForValue(CI->getOperand(y)).getNode()->setHeapMarker();
+                          }
+                        }
 
                       //
                       // Merge the DSNoes for return values and parameters as





More information about the llvm-commits mailing list