rename InlineInfo.DevirtualizedCalls -> InlinedCalls to
authorChris Lattner <sabre@nondot.org>
Sat, 1 May 2010 01:26:13 +0000 (01:26 +0000)
committerChris Lattner <sabre@nondot.org>
Sat, 1 May 2010 01:26:13 +0000 (01:26 +0000)
reflect that it includes all inlined calls now, not just
devirtualized ones.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102824 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Transforms/Utils/Cloning.h
lib/Transforms/IPO/Inliner.cpp
lib/Transforms/Utils/InlineFunction.cpp

index 463c5d48e9eebf0cc2d190179094b33ff7ba1ad4..22bdc99ac18dc9507e366dabec129b64d1bd79c7 100644 (file)
@@ -176,14 +176,13 @@ public:
   /// get copied into the caller.
   SmallVector<AllocaInst*, 4> StaticAllocas;
 
-  /// DevirtualizedCalls - InlineFunction fills this in with callsites that were
-  /// inlined from the callee that went from being indirect calls to direct
-  /// calls due to inlining.  This is only filled in if CG is non-null.
-  SmallVector<WeakVH, 2> DevirtualizedCalls;
+  /// InlinedCalls - InlineFunction fills this in with callsites that were
+  /// inlined from the callee.  This is only filled in if CG is non-null.
+  SmallVector<WeakVH, 8> InlinedCalls;
   
   void reset() {
     StaticAllocas.clear();
-    DevirtualizedCalls.clear();
+    InlinedCalls.clear();
   }
 };
   
index 4d4af727576fe5bbdbbd8c7bd8f772c11077dca2..b785bb0a9390e58e1e11d027b7fb1bc44faa3eeb 100644 (file)
@@ -420,17 +420,17 @@ bool Inliner::runOnSCC(CallGraphSCC &SCC) {
           continue;
         ++NumInlined;
         
-        // If inlining this function devirtualized any call sites, throw them
+        // If inlining this function gave us any new call sites, throw them
         // onto our worklist to process.  They are useful inline candidates.
-        if (!InlineInfo.DevirtualizedCalls.empty()) {
+        if (!InlineInfo.InlinedCalls.empty()) {
           // Create a new inline history entry for this, so that we remember
           // that these new callsites came about due to inlining Callee.
           int NewHistoryID = InlineHistory.size();
           InlineHistory.push_back(std::make_pair(Callee, InlineHistoryID));
 
-          for (unsigned i = 0, e = InlineInfo.DevirtualizedCalls.size();
+          for (unsigned i = 0, e = InlineInfo.InlinedCalls.size();
                i != e; ++i) {
-            Value *Ptr = InlineInfo.DevirtualizedCalls[i];
+            Value *Ptr = InlineInfo.InlinedCalls[i];
             CallSites.push_back(std::make_pair(CallSite(Ptr), NewHistoryID));
           }
         }
index c30f51444b43035080efcbbd0aaee407ce7f0c6a..91390bc7beca48edafe3281006842210cb1275f4 100644 (file)
@@ -201,7 +201,11 @@ static void UpdateCallGraphAfterInlining(CallSite CS,
     // add.  Check for this case.
     Instruction *NewCall = dyn_cast<Instruction>(VMI->second);
     if (NewCall == 0) continue;
-    
+
+    // Remember that this call site got inlined for the client of
+    // InlineFunction.
+    IFI.InlinedCalls.push_back(NewCall);
+
     // It's possible that inlining the callsite will cause it to go from an
     // indirect to a direct call by resolving a function pointer.  If this
     // happens, set the callee of the new call site to a more precise
@@ -212,14 +216,10 @@ static void UpdateCallGraphAfterInlining(CallSite CS,
         // Indirect call site resolved to direct call.
         CallerNode->addCalledFunction(CallSite::get(NewCall), CG[F]);
         
-        // Remember that this callsite got devirtualized for the client of
-        // InlineFunction.
-        IFI.DevirtualizedCalls.push_back(NewCall);
         continue;
       }
     
     CallerNode->addCalledFunction(CallSite::get(NewCall), I->second);
-    IFI.DevirtualizedCalls.push_back(NewCall);
   }
   
   // Update the call graph by deleting the edge from Callee to Caller.  We must