[llvm-commits] [poolalloc] r116204 - /poolalloc/trunk/lib/PoolAllocate/PoolAllocate.cpp

John Criswell criswell at uiuc.edu
Mon Oct 11 08:44:10 PDT 2010


Author: criswell
Date: Mon Oct 11 10:44:10 2010
New Revision: 116204

URL: http://llvm.org/viewvc/llvm-project?rev=116204&view=rev
Log:
Record global pool descriptors for all DSNodes and not just for heap DSNodes.
This fixes a problem in SAFECode where stack objects weren't being registered
in their global pools properly.

Modified:
    poolalloc/trunk/lib/PoolAllocate/PoolAllocate.cpp

Modified: poolalloc/trunk/lib/PoolAllocate/PoolAllocate.cpp
URL: http://llvm.org/viewvc/llvm-project/poolalloc/trunk/lib/PoolAllocate/PoolAllocate.cpp?rev=116204&r1=116203&r2=116204&view=diff
==============================================================================
--- poolalloc/trunk/lib/PoolAllocate/PoolAllocate.cpp (original)
+++ poolalloc/trunk/lib/PoolAllocate/PoolAllocate.cpp Mon Oct 11 10:44:10 2010
@@ -1070,14 +1070,14 @@
 
     // If the local DSNode was assigned a global pool, update the pool
     // descriptors for the function
-    if (N->isHeapNode() && GlobalNodes[N]) {
+    if (GlobalNodes[N]) {
       FI.PoolDescriptors[N] = GlobalNodes[N];
     }
 
     // If a corresponding global DSNode was assigned a global pool, update the
     // pool descriptors for the function
     DSNode * GGN = GlobalsGraphNodeMapping[N].getNode();
-    if (GGN && GGN->isHeapNode() && GlobalNodes[GGN]) {
+    if (GGN && GlobalNodes[GGN]) {
       FI.PoolDescriptors[N] = GlobalNodes[GGN];
     }
   }





More information about the llvm-commits mailing list