OSDN Git Service

Fix incorrect fall-throughs in addr mode code. This fixes CodeGen/ARM/arm-negative...
authorChris Lattner <sabre@nondot.org>
Wed, 11 Apr 2007 16:17:12 +0000 (16:17 +0000)
committerChris Lattner <sabre@nondot.org>
Wed, 11 Apr 2007 16:17:12 +0000 (16:17 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35909 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/ARM/ARMISelLowering.cpp

index 6cefec9..219e4e1 100644 (file)
@@ -1386,13 +1386,13 @@ bool ARMTargetLowering::isLegalAddressingMode(const AddrMode &AM,
       if (Scale == 1)
         return true;
       // r + r << imm
-      if (!isPowerOf2_32(Scale & ~1))
-        return false;
+      return isPowerOf2_32(Scale & ~1);
     case MVT::i16:
       // r + r
       if (((unsigned)AM.HasBaseReg + Scale) <= 2)
         return true;
-
+      return false;
+      
     case MVT::isVoid:
       // Note, we allow "void" uses (basically, uses that aren't loads or
       // stores), because arm allows folding a scale into many arithmetic