summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Analysis/DataStructure/TopDownClosure.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2003-09-20 16:34:13 +0000
committerChris Lattner <sabre@nondot.org>2003-09-20 16:34:13 +0000
commit04d9cb67703ad036ebe3015f57f5a31d7ce658dc (patch)
tree885d1b6987581fceafbcefa4ab102e43e42ef0b0 /llvm/lib/Analysis/DataStructure/TopDownClosure.cpp
parent36b877ae7fc1569585f929e49e6baf7f3ddbf57d (diff)
downloadbcm5719-llvm-04d9cb67703ad036ebe3015f57f5a31d7ce658dc.tar.gz
bcm5719-llvm-04d9cb67703ad036ebe3015f57f5a31d7ce658dc.zip
Switch from using CallInst's to represent call sites to using the LLVM
CallSite class. Now we can represent function calls by invoke instructions too! llvm-svn: 8629
Diffstat (limited to 'llvm/lib/Analysis/DataStructure/TopDownClosure.cpp')
-rw-r--r--llvm/lib/Analysis/DataStructure/TopDownClosure.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/llvm/lib/Analysis/DataStructure/TopDownClosure.cpp b/llvm/lib/Analysis/DataStructure/TopDownClosure.cpp
index 92a03ee2f40..13535e3f801 100644
--- a/llvm/lib/Analysis/DataStructure/TopDownClosure.cpp
+++ b/llvm/lib/Analysis/DataStructure/TopDownClosure.cpp
@@ -96,9 +96,10 @@ void TDDataStructures::ComputePostOrder(Function &F,hash_set<DSGraph*> &Visited,
const std::vector<DSCallSite> &FunctionCalls = G.getFunctionCalls();
for (unsigned i = 0, e = FunctionCalls.size(); i != e; ++i) {
+ Instruction *CallI = FunctionCalls[i].getCallSite().getInstruction();
std::pair<BUDataStructures::ActualCalleesTy::const_iterator,
BUDataStructures::ActualCalleesTy::const_iterator>
- IP = ActualCallees.equal_range(&FunctionCalls[i].getCallInst());
+ IP = ActualCallees.equal_range(CallI);
for (BUDataStructures::ActualCalleesTy::const_iterator I = IP.first;
I != IP.second; ++I)
@@ -191,10 +192,11 @@ void TDDataStructures::inlineGraphIntoCallees(DSGraph &Graph) {
// Clone and merge the reachable subgraph from the call into callee's graph.
//
for (unsigned i = 0, e = FunctionCalls.size(); i != e; ++i) {
+ Instruction *CallI = FunctionCalls[i].getCallSite().getInstruction();
// For each function in the invoked function list at this call site...
std::pair<BUDataStructures::ActualCalleesTy::const_iterator,
BUDataStructures::ActualCalleesTy::const_iterator>
- IP = ActualCallees.equal_range(&FunctionCalls[i].getCallInst());
+ IP = ActualCallees.equal_range(CallI);
// Multiple callees may have the same graph, so try to inline and merge
// only once for each <callSite,calleeGraph> pair, not once for each
OpenPOWER on IntegriCloud