summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorMatt Arsenault <Matthew.Arsenault@amd.com>2019-09-09 15:20:44 +0000
committerMatt Arsenault <Matthew.Arsenault@amd.com>2019-09-09 15:20:44 +0000
commitd50f937378c3cd0d763198c404687dea97e2734d (patch)
tree4d1392eb9656fed258a88149ad54a2df4b98610f /llvm/lib
parent0e48bd24e2120e0a9fbf2bc4896266b43496df3d (diff)
downloadbcm5719-llvm-d50f937378c3cd0d763198c404687dea97e2734d.tar.gz
bcm5719-llvm-d50f937378c3cd0d763198c404687dea97e2734d.zip
AMDGPU/GlobalISel: Try generated matcher before add/sub code
This will allow optimization patterns which fold adds away to work. llvm-svn: 371406
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp b/llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
index b0f4c2f36c3..99fa46eb665 100644
--- a/llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
+++ b/llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
@@ -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;
}
OpenPOWER on IntegriCloud