Fixx off-by-one bug, which prevents llvm-gcc bootstrap on ppc32

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36490 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Anton Korobeynikov 2007-04-26 20:44:04 +00:00
parent 01929c0482
commit ab8fd40403
2 changed files with 19 additions and 1 deletions

View File

@ -1722,7 +1722,7 @@ bool SelectionDAGLowering::handleBitTestsSwitchCase(CaseRec& CR,
<< "Low bound: " << cast<ConstantInt>(minValue)->getSExtValue() << "\n"
<< "High bound: " << cast<ConstantInt>(maxValue)->getSExtValue() << "\n";
if (range>IntPtrBits ||
if (range>=IntPtrBits ||
(!(Dests.size() == 1 && numCmps >= 3) &&
!(Dests.size() == 2 && numCmps >= 5) &&
!(Dests.size() >= 3 && numCmps >= 6)))

View File

@ -0,0 +1,18 @@
; RUN: llvm-as < %s | llc -march=x86 | grep -c je | grep 3
; RUN: llvm-as < %s | llc -march=x86-64 | grep 4297064449
; PR 1325+
define i32 @foo(i8 %bar) {
entry:
switch i8 %bar, label %bb1203 [
i8 117, label %bb1204
i8 85, label %bb1204
i8 106, label %bb1204
]
bb1203: ; preds = %entry
ret i32 1
bb1204: ; preds = %entry, %entry, %entry
ret i32 2
}