llvm-project/llvm/test
Nicolai Haehnle c4a2ff0950 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
2018-10-17 15:37:30 +00:00
..
Analysis [LV] Teach vectorizer about variant value store into uniform address 2018-10-16 15:46:26 +00:00
Assembler Emit template type and value parameter DIEs for template variables. 2018-10-03 18:44:53 +00:00
Bindings [LLVM-C] Add more debug information accessors to GlobalObject and Instruction 2018-09-28 15:35:18 +00:00
Bitcode Fix some missing opcodes in bcanalyzer 2018-09-24 12:47:17 +00:00
BugPoint
CodeGen AMDGPU: Divergence-driven selection of scalar buffer load intrinsics 2018-10-17 15:37:30 +00:00
DebugInfo [mips][micromips] Fix overlaping FDEs error 2018-10-15 14:39:12 +00:00
Demangle [MS Demangler] Add support for $$Z parameter pack separator. 2018-08-30 20:53:29 +00:00
Examples
ExecutionEngine [ORC] Add partitioning support to CompileOnDemandLayer2. 2018-09-29 23:49:57 +00:00
Feature
FileCheck
Instrumentation [PassManager/Sanitizer] Port of AddresSanitizer pass from legacy to new PassManager 2018-10-11 18:31:51 +00:00
Integer
JitListener
LTO Update test of r344198 to work with release builds. 2018-10-11 20:19:25 +00:00
Linker llvm-link: Improve diagnostic for module-level metadata mismatch 2018-10-09 01:17:27 +00:00
MC [WebAssembly] SIMD min and max 2018-10-13 07:26:10 +00:00
Object llvm-ar: Darwin archive format fixes. 2018-10-10 21:07:02 +00:00
ObjectYAML Make YAML quote forward slashes. 2018-10-12 16:31:20 +00:00
Other [NewPM] Fixing test failure on Windows - removed opt binary name from pattern 2018-10-17 11:01:15 +00:00
SafepointIRVerifier
SymbolRewriter
TableGen [TableGen] fix assert in !cast when used out of definition in a multiclass 2018-10-10 10:52:57 +00:00
ThinLTO/X86 [LTO] Call InitLLVM from llvm-lto2 2018-10-16 17:37:45 +00:00
Transforms New test requires x86-registered-target 2018-10-17 00:59:14 +00:00
Unit
Verifier [machineverifier] Detect PHI's that are preceeded by non-PHI's 2018-10-03 22:05:31 +00:00
YAMLParser
tools [NewPM] teach -passes= to emit meaningful error messages 2018-10-17 10:36:23 +00:00
.clang-format
CMakeLists.txt Reapply r343058 with a fix for -DLLVM_ENABLE_THREADS=OFF. 2018-09-26 16:26:59 +00:00
TestRunner.sh
lit.cfg.py Reapply r343058 with a fix for -DLLVM_ENABLE_THREADS=OFF. 2018-09-26 16:26:59 +00:00
lit.site.cfg.py.in Reapply r343058 with a fix for -DLLVM_ENABLE_THREADS=OFF. 2018-09-26 16:26:59 +00:00