[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