[PM] Change LowerExpectIntrinsic to actually return true when it has
authorChandler Carruth <chandlerc@gmail.com>
Sat, 24 Jan 2015 11:12:57 +0000 (11:12 +0000)
committerChandler Carruth <chandlerc@gmail.com>
Sat, 24 Jan 2015 11:12:57 +0000 (11:12 +0000)
changed the IR. This is particularly easy as we can just look for the
existence of any expect intrinsic at all to know whether we've changed
the IR.

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

lib/Transforms/Scalar/LowerExpectIntrinsic.cpp

index 5d3bbbc6047cfedc50a2fbcd806622d8a34db68f..0cea5c5bc59088cb978063f5fb3d75fff4ad7f23 100644 (file)
@@ -144,6 +144,8 @@ static bool handleBranchExpect(BranchInst &BI) {
 }
 
 bool LowerExpectIntrinsic::runOnFunction(Function &F) {
+  bool Changed = false;
+
   for (BasicBlock &BB : F) {
     // Create "block_weights" metadata.
     if (BranchInst *BI = dyn_cast<BranchInst>(BB.getTerminator())) {
@@ -165,11 +167,12 @@ bool LowerExpectIntrinsic::runOnFunction(Function &F) {
         Value *Exp = CI->getArgOperand(0);
         CI->replaceAllUsesWith(Exp);
         CI->eraseFromParent();
+        Changed = true;
       }
     }
   }
 
-  return false;
+  return Changed;
 }
 
 char LowerExpectIntrinsic::ID = 0;