summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
diff options
context:
space:
mode:
authorMatt Arsenault <Matthew.Arsenault@amd.com>2019-07-16 18:05:29 +0000
committerMatt Arsenault <Matthew.Arsenault@amd.com>2019-07-16 18:05:29 +0000
commit35c96598b1246ea038677d7c4580f3c758ff1d93 (patch)
tree108f7d459a432c0983131c222905e8669b25b21b /llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
parentd100b5dd0197df615ac0ffc1619aec796cbdc0be (diff)
downloadbcm5719-llvm-35c96598b1246ea038677d7c4580f3c758ff1d93.tar.gz
bcm5719-llvm-35c96598b1246ea038677d7c4580f3c758ff1d93.zip
AMDGPU/GlobalISel: Select flat loads
Now that the patterns use the new PatFrag address space support, the only blocker to importing most load patterns is the addressing mode complex patterns. llvm-svn: 366237
Diffstat (limited to 'llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp')
-rw-r--r--llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp17
1 files changed, 5 insertions, 12 deletions
diff --git a/llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp b/llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
index 14ae62968c6..39016ed3719 100644
--- a/llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
+++ b/llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
@@ -2937,18 +2937,11 @@ bool AMDGPUTargetLowering::SelectFlatOffset(bool IsSigned,
SDValue N1 = Addr.getOperand(1);
int64_t COffsetVal = cast<ConstantSDNode>(N1)->getSExtValue();
- if (ST.getGeneration() >= AMDGPUSubtarget::GFX10) {
- if ((IsSigned && isInt<12>(COffsetVal)) ||
- (!IsSigned && isUInt<11>(COffsetVal))) {
- Addr = N0;
- OffsetVal = COffsetVal;
- }
- } else {
- if ((IsSigned && isInt<13>(COffsetVal)) ||
- (!IsSigned && isUInt<12>(COffsetVal))) {
- Addr = N0;
- OffsetVal = COffsetVal;
- }
+ const SIInstrInfo *TII = ST.getInstrInfo();
+ if (TII->isLegalFLATOffset(COffsetVal, findMemSDNode(N)->getAddressSpace(),
+ IsSigned)) {
+ Addr = N0;
+ OffsetVal = COffsetVal;
}
}
OpenPOWER on IntegriCloud