GlobalISel: Don't check for verifier enforced constraint
authorMatt Arsenault <Matthew.Arsenault@amd.com>
Wed, 19 Aug 2020 18:06:17 +0000 (14:06 -0400)
committerMatt Arsenault <Matthew.Arsenault@amd.com>
Wed, 19 Aug 2020 18:15:38 +0000 (14:15 -0400)
Loads are always required to have a single memory operand.

llvm/lib/CodeGen/GlobalISel/GISelKnownBits.cpp

index e5d77b0..9af8e11 100644 (file)
@@ -320,18 +320,16 @@ void GISelKnownBits::computeKnownBitsImpl(Register R, KnownBits &Known,
     break;
   }
   case TargetOpcode::G_LOAD: {
-    if (MI.hasOneMemOperand()) {
-      const MachineMemOperand *MMO = *MI.memoperands_begin();
-      if (const MDNode *Ranges = MMO->getRanges()) {
-        computeKnownBitsFromRangeMetadata(*Ranges, Known);
-      }
+    const MachineMemOperand *MMO = *MI.memoperands_begin();
+    if (const MDNode *Ranges = MMO->getRanges()) {
+      computeKnownBitsFromRangeMetadata(*Ranges, Known);
     }
+
     break;
   }
   case TargetOpcode::G_ZEXTLOAD: {
     // Everything above the retrieved bits is zero
-    if (MI.hasOneMemOperand())
-      Known.Zero.setBitsFrom((*MI.memoperands_begin())->getSizeInBits());
+    Known.Zero.setBitsFrom((*MI.memoperands_begin())->getSizeInBits());
     break;
   }
   case TargetOpcode::G_ASHR: