[llvm] r234903 - Revert "The code that originally made me discover this is:"

Rafael Espindola rafael.espindola at gmail.com
Tue Apr 14 08:56:34 PDT 2015


Author: rafael
Date: Tue Apr 14 10:56:33 2015
New Revision: 234903

URL: http://llvm.org/viewvc/llvm-project?rev=234903&view=rev
Log:
Revert "The code that originally made me discover this is:"

This reverts commit r234898.
CodeGen/ARM/2013-10-11-select-stalls.ll was faling.

Modified:
    llvm/trunk/lib/Analysis/BranchProbabilityInfo.cpp
    llvm/trunk/test/Analysis/BranchProbabilityInfo/basic.ll
    llvm/trunk/test/CodeGen/AArch64/arm64-call-tailcalls.ll
    llvm/trunk/test/CodeGen/Mips/octeon.ll

Modified: llvm/trunk/lib/Analysis/BranchProbabilityInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Analysis/BranchProbabilityInfo.cpp?rev=234903&r1=234902&r2=234903&view=diff
==============================================================================
--- llvm/trunk/lib/Analysis/BranchProbabilityInfo.cpp (original)
+++ llvm/trunk/lib/Analysis/BranchProbabilityInfo.cpp Tue Apr 14 10:56:33 2015
@@ -379,14 +379,6 @@ bool BranchProbabilityInfo::calcZeroHeur
   if (!CV)
     return false;
 
-  // If the LHS is the result of AND'ing a value with a single bit bitmask,
-  // we don't have information about probabilities.
-  if (Instruction *LHS = dyn_cast<Instruction>(CI->getOperand(0)))
-    if (LHS->getOpcode() == Instruction::And)
-      if (ConstantInt *AndRHS = dyn_cast<ConstantInt>(LHS->getOperand(1)))
-        if (AndRHS->getUniqueInteger().isPowerOf2())
-          return false;
-
   bool isProb;
   if (CV->isZero()) {
     switch (CI->getPredicate()) {

Modified: llvm/trunk/test/Analysis/BranchProbabilityInfo/basic.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Analysis/BranchProbabilityInfo/basic.ll?rev=234903&r1=234902&r2=234903&view=diff
==============================================================================
--- llvm/trunk/test/Analysis/BranchProbabilityInfo/basic.ll (original)
+++ llvm/trunk/test/Analysis/BranchProbabilityInfo/basic.ll Tue Apr 14 10:56:33 2015
@@ -212,31 +212,3 @@ exit:
   ret i32 %result
 }
 
-define i32 @zero3(i32 %i, i32 %a, i32 %b) {
-; CHECK: Printing analysis {{.*}} for function 'zero3'
-entry:
-; AND'ing with a single bit bitmask essentially leads to a bool comparison,
-; meaning we don't have probability information.
-  %and = and i32 %i, 2
-  %tobool = icmp eq i32 %and, 0
-  br i1 %tobool, label %then, label %else
-; CHECK: edge entry -> then probability is 16 / 32
-; CHECK: edge entry -> else probability is 16 / 32
-
-then:
-; AND'ing with other bitmask might be something else, so we still assume the
-; usual probabilities.
-  %and2 = and i32 %i, 5
-  %tobool2 = icmp eq i32 %and2, 0
-  br i1 %tobool2, label %else, label %exit
-; CHECK: edge then -> else probability is 12 / 32
-; CHECK: edge then -> exit probability is 20 / 32
-
-else:
-  br label %exit
-
-exit:
-  %result = phi i32 [ %a, %then ], [ %b, %else ]
-  ret i32 %result
-}
-

Modified: llvm/trunk/test/CodeGen/AArch64/arm64-call-tailcalls.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/arm64-call-tailcalls.ll?rev=234903&r1=234902&r2=234903&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/AArch64/arm64-call-tailcalls.ll (original)
+++ llvm/trunk/test/CodeGen/AArch64/arm64-call-tailcalls.ll Tue Apr 14 10:56:33 2015
@@ -53,9 +53,9 @@ bb:
 
 define i32 @t8(i32 %x) nounwind ssp {
 ; CHECK-LABEL: t8:
-; CHECK: b	_c
 ; CHECK: b	_a
 ; CHECK: b	_b
+; CHECK: b	_c
   %and = and i32 %x, 1
   %tobool = icmp eq i32 %and, 0
   br i1 %tobool, label %if.end, label %if.then

Modified: llvm/trunk/test/CodeGen/Mips/octeon.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/Mips/octeon.ll?rev=234903&r1=234902&r2=234903&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/Mips/octeon.ll (original)
+++ llvm/trunk/test/CodeGen/Mips/octeon.ll Tue Apr 14 10:56:33 2015
@@ -93,7 +93,7 @@ entry:
 ; ALL-LABEL: bbit0:
 ; OCTEON: bbit0   $4, 3, $[[BB0:BB[0-9_]+]]
 ; MIPS64: andi  $[[T0:[0-9]+]], $4, 8
-; MIPS64: bnez  $[[T0]], $[[BB0:BB[0-9_]+]]
+; MIPS64: beqz  $[[T0]], $[[BB0:BB[0-9_]+]]
   %bit = and i64 %a, 8
   %res = icmp eq i64 %bit, 0
   br i1 %res, label %endif, label %if
@@ -111,7 +111,7 @@ entry:
 ; MIPS64: daddiu  $[[T0:[0-9]+]], $zero, 1
 ; MIPS64: dsll    $[[T1:[0-9]+]], $[[T0]], 35
 ; MIPS64: and     $[[T2:[0-9]+]], $4, $[[T1]]
-; MIPS64: bnez    $[[T2]], $[[BB0:BB[0-9_]+]]
+; MIPS64: beqz    $[[T2]], $[[BB0:BB[0-9_]+]]
   %bit = and i64 %a, 34359738368
   %res = icmp eq i64 %bit, 0
   br i1 %res, label %endif, label %if





More information about the llvm-commits mailing list