From 80614ee5ef9129cb3d6a7eefccad0ec31fd2e3a3 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Wed, 5 Feb 2003 21:59:58 +0000 Subject: Implement optimization for direct function call case. This dramatically reduces the number of function nodes created and speeds up analysis by about 10% overall. llvm-svn: 5495 --- llvm/lib/Analysis/IPA/IPModRef.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'llvm/lib/Analysis/IPA/IPModRef.cpp') diff --git a/llvm/lib/Analysis/IPA/IPModRef.cpp b/llvm/lib/Analysis/IPA/IPModRef.cpp index e04e1094500..a8aa6c2ec0f 100644 --- a/llvm/lib/Analysis/IPA/IPModRef.cpp +++ b/llvm/lib/Analysis/IPA/IPModRef.cpp @@ -144,7 +144,7 @@ DSGraph* FunctionModRefInfo::ResolveCallSiteModRefInfo(CallInst &CI, Result->maskNodeTypes(~(DSNode::Modified | DSNode::Read)); // Step #3: clone the bottom up graphs for the callees into the caller graph - if (const Function *F = CI.getCalledFunction()) + if (Function *F = CI.getCalledFunction()) { assert(!F->isExternal()); @@ -162,7 +162,7 @@ DSGraph* FunctionModRefInfo::ResolveCallSiteModRefInfo(CallInst &CI, Args.push_back(Result->getNodeForValue(CI.getOperand(i))); // Build the call site... - DSCallSite CS(CI, RetVal, 0, Args); + DSCallSite CS(CI, RetVal, F, Args); // Perform the merging now of the graph for the callee, which will // come with mod/ref bits set... -- cgit v1.2.3