summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Analysis/DataStructure/Steensgaard.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2002-10-21 02:08:03 +0000
committerChris Lattner <sabre@nondot.org>2002-10-21 02:08:03 +0000
commit5c3ce31e1f5bbcd904ebca86593d18e094971853 (patch)
tree8dae99dcdf88da2ad500c77ee0395c7ad4902c80 /llvm/lib/Analysis/DataStructure/Steensgaard.cpp
parentfaa756ecee9eb76aca8551aefd068c64e7e0c544 (diff)
downloadbcm5719-llvm-5c3ce31e1f5bbcd904ebca86593d18e094971853.tar.gz
bcm5719-llvm-5c3ce31e1f5bbcd904ebca86593d18e094971853.zip
- Make DSCallSite not inherit from std::vector. Renamed methods slightly.
Make copy ctor have two versions to avoid dealing with conditional template argument. DSCallSite ctor now takes all arguments instead of taking one and being populated later. llvm-svn: 4240
Diffstat (limited to 'llvm/lib/Analysis/DataStructure/Steensgaard.cpp')
-rw-r--r--llvm/lib/Analysis/DataStructure/Steensgaard.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/llvm/lib/Analysis/DataStructure/Steensgaard.cpp b/llvm/lib/Analysis/DataStructure/Steensgaard.cpp
index f0072a02abb..74f61c61266 100644
--- a/llvm/lib/Analysis/DataStructure/Steensgaard.cpp
+++ b/llvm/lib/Analysis/DataStructure/Steensgaard.cpp
@@ -87,15 +87,15 @@ void Steens::ResolveFunctionCall(Function *F,
std::map<Value*, DSNodeHandle> &ValMap = ResultGraph->getValueMap();
// Handle the return value of the function...
- if (Call.getReturnValueNode().getNode() && RetVal.getNode())
- RetVal.mergeWith(Call.getReturnValueNode());
+ if (Call.getRetVal().getNode() && RetVal.getNode())
+ RetVal.mergeWith(Call.getRetVal());
// Loop over all pointer arguments, resolving them to their provided pointers
unsigned PtrArgIdx = 0;
for (Function::aiterator AI = F->abegin(), AE = F->aend(); AI != AE; ++AI) {
std::map<Value*, DSNodeHandle>::iterator I = ValMap.find(AI);
if (I != ValMap.end()) // If its a pointer argument...
- I->second.addEdgeTo(Call.getPtrArgNode(PtrArgIdx++));
+ I->second.addEdgeTo(Call.getPtrArg(PtrArgIdx++));
}
assert(PtrArgIdx == Call.getNumPtrArgs() && "Argument resolution mismatch!");
@@ -160,7 +160,8 @@ bool Steens::run(Module &M) {
DSCallSite &CurCall = Calls[i];
// Loop over the called functions, eliminating as many as possible...
- std::vector<GlobalValue*> CallTargets = CurCall.getCalleeNode().getNode()->getGlobals();
+ std::vector<GlobalValue*> CallTargets =
+ CurCall.getCallee().getNode()->getGlobals();
for (unsigned c = 0; c != CallTargets.size(); ) {
// If we can eliminate this function call, do so!
bool Eliminated = false;
OpenPOWER on IntegriCloud