[llvm-commits] [poolalloc] r122299 - /poolalloc/trunk/lib/PoolAllocate/Heuristic.cpp
Arushi Aggarwal
aggarwa4 at illinois.edu
Mon Dec 20 17:03:37 PST 2010
Author: aggarwa4
Date: Mon Dec 20 19:03:37 2010
New Revision: 122299
URL: http://llvm.org/viewvc/llvm-project?rev=122299&view=rev
Log:
We must not attempt to poolallocate External or
Unknown nodes. The runtime cannot handle this.
Modified:
poolalloc/trunk/lib/PoolAllocate/Heuristic.cpp
Modified: poolalloc/trunk/lib/PoolAllocate/Heuristic.cpp
URL: http://llvm.org/viewvc/llvm-project/poolalloc/trunk/lib/PoolAllocate/Heuristic.cpp?rev=122299&r1=122298&r2=122299&view=diff
==============================================================================
--- poolalloc/trunk/lib/PoolAllocate/Heuristic.cpp (original)
+++ poolalloc/trunk/lib/PoolAllocate/Heuristic.cpp Mon Dec 20 19:03:37 2010
@@ -258,10 +258,7 @@
// Unknown nodes could be anything.
//
const DSNode *tmp = *Last;
- if (!(tmp->isHeapNode() ||
- tmp->isExternalNode() ||
- tmp->isIncompleteNode() ||
- tmp->isUnknownNode()))
+ if (!(tmp->isHeapNode()))
toRemove.push_back (tmp);
}
@@ -340,25 +337,6 @@
}
//
- // Scan through all the local graphs looking for DSNodes which may be
- // reachable by a global. These nodes may not end up in the globals graph
- // because of the fact that DSA doesn't actually know what is happening to
- // them.
- //
- for (Module::iterator F = M->begin(); F != M->end(); ++F) {
- if (F->isDeclaration()) continue;
- DSGraph* G = Graphs->getDSGraph(*F);
- for (DSGraph::node_iterator I = G->node_begin(), E = G->node_end();
- I != E;
- ++I) {
- DSNode * Node = I;
- if (Node->isExternalNode() || Node->isUnknownNode()) {
- GlobalHeapNodes.insert (Node);
- }
- }
- }
-
- //
// Copy the values into the output container. Note that DenseSet has no
// iterator traits (or whatever allows us to treat DenseSet has a generic
// container), so we have to use a loop to copy values from the DenseSet into
More information about the llvm-commits
mailing list