summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
diff options
context:
space:
mode:
authorMatt Arsenault <Matthew.Arsenault@amd.com>2017-01-27 17:42:26 +0000
committerMatt Arsenault <Matthew.Arsenault@amd.com>2017-01-27 17:42:26 +0000
commitd8f7ea381f8958b94d3eb82103be427e8a283347 (patch)
treeaf4046f997f9d7608f7fa923e4b59f88c25ea963 /llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
parent3650df13bea0566c6cdaa16812b548d3d6aa61cf (diff)
downloadbcm5719-llvm-d8f7ea381f8958b94d3eb82103be427e8a283347.tar.gz
bcm5719-llvm-d8f7ea381f8958b94d3eb82103be427e8a283347.zip
AMDGPU: Enable FeatureFlatForGlobal on Volcanic Islands
Accomplishes what r292982 was supposed to, which ended up only really making the necessary test changes. This should be applied to the 4.0 branch. Patch by Vedran Miletić <vedran@miletic.net> llvm-svn: 293310
Diffstat (limited to 'llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp')
-rw-r--r--llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp b/llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
index f19382ea0a9..c85d2159bdb 100644
--- a/llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
+++ b/llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
@@ -49,6 +49,13 @@ AMDGPUSubtarget::initializeSubtargetDependencies(const Triple &TT,
ParseSubtargetFeatures(GPU, FullFS);
+ // Unless +-flat-for-global is specified, turn on FlatForGlobal for all OS-es
+ // on VI and newer hardware to avoid assertion failures due to missing ADDR64
+ // variants of MUBUF instructions.
+ if (!hasAddr64() && !FS.contains("flat-for-global")) {
+ FlatForGlobal = true;
+ }
+
// FIXME: I don't think think Evergreen has any useful support for
// denormals, but should be checked. Should we issue a warning somewhere
// if someone tries to enable these?
@@ -82,7 +89,6 @@ AMDGPUSubtarget::AMDGPUSubtarget(const Triple &TT, StringRef GPU, StringRef FS,
FP64FP16Denormals(false),
FPExceptions(false),
FlatForGlobal(false),
- NoAddr64(false),
UnalignedScratchAccess(false),
UnalignedBufferAccess(false),
OpenPOWER on IntegriCloud