llvm-project/llvm/test
Piotr Sobczak 265e94e657 [AMDGPU] Extend buffer intrinsics with swizzling
Summary:
Extend cachepolicy operand in the new VMEM buffer intrinsics
to supply information whether the buffer data is swizzled.
Also, propagate this information to MIR.

Intrinsics updated:
int_amdgcn_raw_buffer_load
int_amdgcn_raw_buffer_load_format
int_amdgcn_raw_buffer_store
int_amdgcn_raw_buffer_store_format
int_amdgcn_raw_tbuffer_load
int_amdgcn_raw_tbuffer_store
int_amdgcn_struct_buffer_load
int_amdgcn_struct_buffer_load_format
int_amdgcn_struct_buffer_store
int_amdgcn_struct_buffer_store_format
int_amdgcn_struct_tbuffer_load
int_amdgcn_struct_tbuffer_store

Furthermore, disable merging of VMEM buffer instructions
in SI Load/Store optimizer, if the "swizzled" bit on the instruction
is on.

The default value of the bit is 0, meaning that data in buffer
is linear and buffer instructions can be merged.

There is no difference in the generated code with this commit.
However, in the future it will be expected that front-ends
use buffer intrinsics with correct "swizzled" bit set.

Reviewers: arsenm, nhaehnle, tpr

Reviewed By: nhaehnle

Subscribers: arsenm, kzhuravl, jvesely, wdng, nhaehnle, yaxunl, dstuttard, tpr, t-tye, arphaman, jfb, Petar.Avramovic, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D68200

llvm-svn: 373491
2019-10-02 17:22:36 +00:00
..
Analysis [DDG] Data Dependence Graph - Root Node 2019-10-01 19:32:42 +00:00
Assembler
Bindings Improve C API support for atomicrmw and cmpxchg. 2019-09-26 00:58:55 +00:00
Bitcode [IR] allow fast-math-flags on phi of FP values (2nd try) 2019-09-25 14:35:02 +00:00
BugPoint
CodeGen [AMDGPU] Extend buffer intrinsics with swizzling 2019-10-02 17:22:36 +00:00
DebugInfo DebugInfo: Update support for detecting C++ language variants in debug info emission 2019-10-02 01:39:48 +00:00
Demangle llvm-undname: Add support for demangling typeinfo names 2019-09-23 13:13:37 +00:00
Examples
ExecutionEngine
Feature
FileCheck [FileCheck] Forbid using var defined on same line 2019-09-02 14:04:00 +00:00
Instrumentation [PGO] Don't group COMDAT variables for compiler generated profile variables in ELF 2019-09-30 18:11:22 +00:00
Integer
JitListener
LTO [IRMover] Don't map globals if their types are the same 2019-09-11 18:35:49 +00:00
Linker Remove some unnecessary REQUIRES: shell lines 2019-09-10 00:06:52 +00:00
MC Revert "[MC] Emit unused undefined symbol even if its binding is not set" 2019-09-30 18:13:48 +00:00
MachineVerifier Add an operand to memory intrinsics to denote the "tail" marker. 2019-09-28 05:33:21 +00:00
Object [llvm-ar][test] Move MRI tests from "llvm/test/Object/" 2019-09-26 12:32:11 +00:00
ObjectYAML [yaml2obj/ObjectYAML] - Cleanup the error reporting API, add custom errors handlers. 2019-09-13 16:00:16 +00:00
Other [Float2Int] avoid crashing on unreachable code (PR38502) 2019-09-19 16:31:17 +00:00
Reduce [Testing] Python 3 requires `print` to use parens 2019-09-20 13:52:47 +00:00
SafepointIRVerifier
Support
SymbolRewriter
TableGen [TableGen] Emit OperandType enums for RegisterOperands/RegisterClasses 2019-09-23 18:51:00 +00:00
ThinLTO/X86 [ThinLTO/WPD] Ensure devirtualized targets use promoted symbol when necessary 2019-10-02 16:36:59 +00:00
Transforms [SLP] add test for vectorization of different widths (PR28457); NFC 2019-10-02 16:12:42 +00:00
Unit
Verifier [Verifier] add invariant check for callbr 2019-09-25 22:28:27 +00:00
YAMLParser
tools [llvm-readelf] - Report a warning when .hash section contains a chain with a cycle. 2019-10-02 14:11:35 +00:00
.clang-format
CMakeLists.txt
TestRunner.sh
lit.cfg.py Reland "[utils] Implement the llvm-locstats tool" 2019-10-02 07:00:01 +00:00
lit.site.cfg.py.in Follow-up to r372209: Use single quotes for host_ldflags in the lit config 2019-09-18 14:12:59 +00:00