[llvm-commits] [poolalloc] r122372 - /poolalloc/trunk/lib/DSA/Local.cpp
Arushi Aggarwal
aggarwa4 at illinois.edu
Tue Dec 21 15:22:34 PST 2010
Author: aggarwa4
Date: Tue Dec 21 17:22:34 2010
New Revision: 122372
URL: http://llvm.org/viewvc/llvm-project?rev=122372&view=rev
Log:
Make handling of address taken values a separate pass.
Leave for later.
Modified:
poolalloc/trunk/lib/DSA/Local.cpp
Modified: poolalloc/trunk/lib/DSA/Local.cpp
URL: http://llvm.org/viewvc/llvm-project/poolalloc/trunk/lib/DSA/Local.cpp?rev=122372&r1=122371&r2=122372&view=diff
==============================================================================
--- poolalloc/trunk/lib/DSA/Local.cpp (original)
+++ poolalloc/trunk/lib/DSA/Local.cpp Tue Dec 21 17:22:34 2010
@@ -1195,19 +1195,10 @@
GGB.mergeInGlobalInitializer(I);
}
// Add Functions to the globals graph.
+ // FIXME: Write a separate pass to handle address taken property better.
for (Module::iterator FI = M.begin(), FE = M.end(); FI != FE; ++FI){
- for (Value::use_iterator I = (*FI).use_begin(), E = (*FI).use_end(); I != E; ++I) {
- User *U = *I;
- if (!isa<CallInst>(U) && !isa<InvokeInst>(U)){
- if(U->getNumUses() == 0)
- continue;
+ if(FI->hasAddressTaken()) {
GGB.mergeFunction(FI);
- continue;
- }
- CallSite CS(cast<Instruction>(U));
- if (!CS.isCallee(I)){
- GGB.mergeFunction(FI);
- }
}
}
}
More information about the llvm-commits
mailing list