]> granicus.if.org Git - llvm/commitdiff
AMDGPU/GlobalISel: Try generated matcher before add/sub code
authorMatt Arsenault <Matthew.Arsenault@amd.com>
Mon, 9 Sep 2019 15:20:44 +0000 (15:20 +0000)
committerMatt Arsenault <Matthew.Arsenault@amd.com>
Mon, 9 Sep 2019 15:20:44 +0000 (15:20 +0000)
This will allow optimization patterns which fold adds away to work.

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

lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp

index b0f4c2f36c353e8eb4fac89fe6386a46f6aae570..99fa46eb6651f476fb9b6274a8cfad9022cc936d 100644 (file)
@@ -1289,11 +1289,9 @@ bool AMDGPUInstructionSelector::select(MachineInstr &I) {
     return selectImpl(I, *CoverageInfo);
   case TargetOpcode::G_ADD:
   case TargetOpcode::G_SUB:
-    if (selectG_ADD_SUB(I))
+    if (selectImpl(I, *CoverageInfo))
       return true;
-    LLVM_FALLTHROUGH;
-  default:
-    return selectImpl(I, *CoverageInfo);
+    return selectG_ADD_SUB(I);
   case TargetOpcode::G_INTTOPTR:
   case TargetOpcode::G_BITCAST:
     return selectCOPY(I);
@@ -1355,6 +1353,8 @@ bool AMDGPUInstructionSelector::select(MachineInstr &I) {
     // is checking for G_CONSTANT
     I.setDesc(TII.get(AMDGPU::ATOMIC_FENCE));
     return true;
+  default:
+    return selectImpl(I, *CoverageInfo);
   }
   return false;
 }