[llvm] [ARM][X86][NFC] Use lambda to avoid duplicate switches in areLoadsFromSameBasePtr (PR #72376)

Alex Bradbury via llvm-commits llvm-commits at lists.llvm.org
Wed Nov 15 04:34:48 PST 2023


================
@@ -1953,46 +1953,32 @@ bool ARMBaseInstrInfo::areLoadsFromSameBasePtr(SDNode *Load1, SDNode *Load2,
   if (!Load1->isMachineOpcode() || !Load2->isMachineOpcode())
     return false;
 
-  switch (Load1->getMachineOpcode()) {
-  default:
-    return false;
-  case ARM::LDRi12:
-  case ARM::LDRBi12:
-  case ARM::LDRD:
-  case ARM::LDRH:
-  case ARM::LDRSB:
-  case ARM::LDRSH:
-  case ARM::VLDRD:
-  case ARM::VLDRS:
-  case ARM::t2LDRi8:
-  case ARM::t2LDRBi8:
-  case ARM::t2LDRDi8:
-  case ARM::t2LDRSHi8:
-  case ARM::t2LDRi12:
-  case ARM::t2LDRBi12:
-  case ARM::t2LDRSHi12:
-    break;
-  }
+  auto IsLoadOpcode = [&](unsigned Opcode) {
+    switch (Load1->getMachineOpcode()) {
----------------
asb wrote:

Thanks - was just pushing a fix. I'd ran test/CodeGen/ARM but not test/CodeGen/Thumb2. Pleasantly surprised to see the pre-commit tests finding a real error rather than a transient builder issue.

https://github.com/llvm/llvm-project/pull/72376


More information about the llvm-commits mailing list