[llvm-branch-commits] [llvm-branch] r128223 - in /llvm/branches/release_29: ./ lib/Transforms/Scalar/CodeGenPrepare.cpp

Bill Wendling isanbard at gmail.com
Thu Mar 24 11:07:14 PDT 2011


Author: void
Date: Thu Mar 24 13:07:13 2011
New Revision: 128223

URL: http://llvm.org/viewvc/llvm-project?rev=128223&view=rev
Log:
--- Merging r128212 into '.':
U    lib/Transforms/Scalar/CodeGenPrepare.cpp
--- Merging r128217 into '.':
G    lib/Transforms/Scalar/CodeGenPrepare.cpp

Modified:
    llvm/branches/release_29/   (props changed)
    llvm/branches/release_29/lib/Transforms/Scalar/CodeGenPrepare.cpp

Propchange: llvm/branches/release_29/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Mar 24 13:07:13 2011
@@ -1,2 +1,2 @@
 /llvm/branches/Apple/Pertwee:110850,110961
-/llvm/trunk:127241,127263-127264,127298,127325,127328,127350-127351,127441,127464,127723,127780,127858,127871,127981,128041,128100,128194-128197,128203
+/llvm/trunk:127241,127263-127264,127298,127325,127328,127350-127351,127441,127464,127723,127780,127858,127871,127981,128041,128100,128194-128197,128203,128212,128217

Modified: llvm/branches/release_29/lib/Transforms/Scalar/CodeGenPrepare.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_29/lib/Transforms/Scalar/CodeGenPrepare.cpp?rev=128223&r1=128222&r2=128223&view=diff
==============================================================================
--- llvm/branches/release_29/lib/Transforms/Scalar/CodeGenPrepare.cpp (original)
+++ llvm/branches/release_29/lib/Transforms/Scalar/CodeGenPrepare.cpp Thu Mar 24 13:07:13 2011
@@ -602,7 +602,9 @@
     if (&*BI != RI)
       return false;
   } else {
-    if (&*BB->begin() != RI)
+    BasicBlock::iterator BI = BB->begin();
+    while (isa<DbgInfoIntrinsic>(BI)) ++BI;
+    if (&*BI != RI)
       return false;
   }
 
@@ -626,10 +628,12 @@
       BasicBlock::InstListType &InstList = (*PI)->getInstList();
       BasicBlock::InstListType::reverse_iterator RI = InstList.rbegin();
       BasicBlock::InstListType::reverse_iterator RE = InstList.rend();
-      if (++RI == RE)
+      do { ++RI; } while (RI != RE && isa<DbgInfoIntrinsic>(&*RI));
+      if (RI == RE)
         continue;
+
       CallInst *CI = dyn_cast<CallInst>(&*RI);
-      if (CI && CI->getType()->isVoidTy() && TLI->mayBeEmittedAsTailCall(CI))
+      if (CI && CI->use_empty() && TLI->mayBeEmittedAsTailCall(CI))
         TailCalls.push_back(CI);
     }
   }





More information about the llvm-branch-commits mailing list