Fix off-by-one error in traversing an array; this fixes a test.
authorMisha Brukman <brukman+llvm@gmail.com>
Wed, 7 Jan 2009 23:07:29 +0000 (23:07 +0000)
committerMisha Brukman <brukman+llvm@gmail.com>
Wed, 7 Jan 2009 23:07:29 +0000 (23:07 +0000)
The error was reported by gcc-4.3.0 during compilation.

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

lib/Target/CellSPU/SPUInstrInfo.cpp
test/CodeGen/CellSPU/shift_ops.ll

index 06ad50762f7afa7c638dd9b6914d59dc4d4e86f0..fa6e33b075e8d3d49bff2b86934cd3088315da66 100644 (file)
@@ -678,7 +678,7 @@ SPUInstrInfo::ReverseBranchCondition(SmallVectorImpl<MachineOperand> &Cond)
 
   unsigned Opc = unsigned(Cond[0].getImm());
   // Pretty dull mapping between the two conditions that SPU can generate:
-  for (int i = sizeof(revconds)/sizeof(revconds[0]); i >= 0; --i) {
+  for (int i = sizeof(revconds)/sizeof(revconds[0]) - 1; i >= 0; --i) {
     if (revconds[i].Opc == Opc) {
       Cond[0].setImm(revconds[i].RevCondOpc);
       return false;
index 928e4904b403462585f5218db75d582b0dc6a58a..5b60dc178fa860e2a09fc117ee65c72632818f08 100644 (file)
@@ -16,8 +16,6 @@
 ; RUN: grep -w rotqbybi  %t1.s | count 1
 ; RUN: grep -w sfi       %t1.s | count 3
 
-; XFAIL: alpha|linux|sparc|ia64|arm
-
 target datalayout = "E-p:32:32:128-f64:64:128-f32:32:128-i64:32:128-i32:32:128-i16:16:128-i8:8:128-i1:8:128-a0:0:128-v128:128:128-s0:128:128"
 target triple = "spu"