summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/BackendUtil.cpp
diff options
context:
space:
mode:
authorNicolai Haehnle <nhaehnle@gmail.com>2018-10-17 15:37:30 +0000
committerNicolai Haehnle <nhaehnle@gmail.com>2018-10-17 15:37:30 +0000
commitc4a2ff095078ae2390ce216bd5b3522921b7f722 (patch)
treecf2b2d6229989b0210ad1c4b41328fea87945a9e /clang/lib/CodeGen/BackendUtil.cpp
parentf973c2df9d21e82b169c88138bf9fafe75fa8e7d (diff)
downloadbcm5719-llvm-c4a2ff095078ae2390ce216bd5b3522921b7f722.tar.gz
bcm5719-llvm-c4a2ff095078ae2390ce216bd5b3522921b7f722.zip
AMDGPU: Divergence-driven selection of scalar buffer load intrinsics
Summary: Moving SMRD to VMEM in SIFixSGPRCopies is rather bad for performance if the load is really uniform. So select the scalar load intrinsics directly to either VMEM or SMRD buffer loads based on divergence analysis. If an offset happens to end up in a VGPR -- either because a floating point calculation was involved, or due to other remaining deficiencies in SIFixSGPRCopies -- we use v_readfirstlane. There is some unrelated churn in tests since we now select MUBUF offsets in a unified way with non-scalar buffer loads. Change-Id: I170e6816323beb1348677b358c9d380865cd1a19 Reviewers: arsenm, alex-t, rampitec, tpr Subscribers: kzhuravl, jvesely, wdng, yaxunl, dstuttard, t-tye, llvm-commits Differential Revision: https://reviews.llvm.org/D53283 llvm-svn: 344696
Diffstat (limited to 'clang/lib/CodeGen/BackendUtil.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud