summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Analysis/DataStructure/DataStructure.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2003-02-01 06:54:31 +0000
committerChris Lattner <sabre@nondot.org>2003-02-01 06:54:31 +0000
commit9e75f38bb9b83561b70ec741717cf7d3329ba959 (patch)
treed7e4e0d5454db6e13eed93f336fc4d3f00f24665 /llvm/lib/Analysis/DataStructure/DataStructure.cpp
parent5965bbb02f060b02f086b54006bd442944df96cd (diff)
downloadbcm5719-llvm-9e75f38bb9b83561b70ec741717cf7d3329ba959.tar.gz
bcm5719-llvm-9e75f38bb9b83561b70ec741717cf7d3329ba959.zip
Fix a bug where we would delete neccesary calls in bu pass
llvm-svn: 5465
Diffstat (limited to 'llvm/lib/Analysis/DataStructure/DataStructure.cpp')
-rw-r--r--llvm/lib/Analysis/DataStructure/DataStructure.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/llvm/lib/Analysis/DataStructure/DataStructure.cpp b/llvm/lib/Analysis/DataStructure/DataStructure.cpp
index 2c9a75c9a85..bf7ec77f0ff 100644
--- a/llvm/lib/Analysis/DataStructure/DataStructure.cpp
+++ b/llvm/lib/Analysis/DataStructure/DataStructure.cpp
@@ -1058,7 +1058,8 @@ void DSGraph::removeDeadNodes(unsigned Flags) {
std::vector<bool> AuxFCallsAlive(AuxFunctionCalls.size());
for (unsigned i = 0, e = AuxFunctionCalls.size(); i != e; ++i)
- if (CallSiteUsesAliveArgs(AuxFunctionCalls[i], Alive, Visited)) {
+ if (!(Flags & DSGraph::RemoveUnreachableGlobals) ||
+ CallSiteUsesAliveArgs(AuxFunctionCalls[i], Alive, Visited)) {
AuxFunctionCalls[i].markReachableNodes(Alive);
AuxFCallsAlive[i] = true;
}
OpenPOWER on IntegriCloud