llvm-project/llvm/test/CodeGen
Tom Stellard a6f24c6565 AMDGPU/SI: Select constant loads with non-uniform addresses to MUBUF instructions
Summary:
We were previously selecting all constant loads to SMRD instructions and legalizing
the SMRDs with non-uniform addresses during the SIFixSGPRCopesPass.

This new solution is more simple and also generates much better code, because
the instruction selector is able to take advantage of all the MUBUF addressing
modes that are legalization pass wasn't able to.

We also no longer need to generate v_add_* instructions when we
have a uniform pointer and a non-uniform offset, as this is now folded into the
MUBUF instruction during instruction selection.

Reviewers: arsenm

Subscribers: arsenm, llvm-commits

Differential Revision: http://reviews.llvm.org/D15425

llvm-svn: 255672
2015-12-15 20:55:55 +00:00
..
AArch64 [DAGCombiner] Fix PR25763 - vector comparison constant folding + sign-extension 2015-12-10 19:47:06 +00:00
AMDGPU AMDGPU/SI: Select constant loads with non-uniform addresses to MUBUF instructions 2015-12-15 20:55:55 +00:00
ARM Improve the successor list update in TailDuplication.cpp. 2015-12-15 10:10:40 +00:00
BPF Revert "Change memcpy/memset/memmove to have dest and source alignments." 2015-11-19 05:56:52 +00:00
CPP Fix CPP Backend for GEP API changes for opaque pointer types 2015-09-08 18:42:29 +00:00
Generic Move llvm/test/CodeGen/Generic/function-alias.ll to X86. It is incompatible to PECOFF. 2015-12-04 02:00:12 +00:00
Hexagon [Hexagon] Preprocess mapped instructions before lowering to MC 2015-12-15 17:05:45 +00:00
Inputs DI: Reverse direction of subprogram -> function edge. 2015-11-05 22:03:56 +00:00
MIR Replace all weight-based interfaces in MBB with probability-based interfaces, and update all uses of old interfaces. 2015-12-01 05:29:22 +00:00
MSP430 Revert "Change memcpy/memset/memmove to have dest and source alignments." 2015-11-19 05:56:52 +00:00
Mips AsmPrinter: Use emitGlobalConstantFP to emit elements of constant data 2015-12-08 02:37:48 +00:00
NVPTX Have a single way for creating unique value names. 2015-11-22 00:16:24 +00:00
PowerPC Bitcasts between FP and INT values using direct moves 2015-12-15 14:50:34 +00:00
SPARC [Sparc] Fix handling of double incoming arguments on sparc little-endian. 2015-12-15 19:23:12 +00:00
SystemZ llvm/test/CodeGen/SystemZ/alloca-04.ll REQUIRES asserts due to -debug-pass. 2015-11-28 13:05:49 +00:00
Thumb Fix ARMv4T (Thumb1) epilogue generation 2015-12-08 19:59:01 +00:00
Thumb2 Fix test case label check 2015-11-20 20:24:49 +00:00
WebAssembly [WebAssembly] Remove .import printing. 2015-12-15 02:20:44 +00:00
WinEH [IR] Remove terminatepad 2015-12-14 18:34:23 +00:00
X86 [X86] MOVPC32r should only emit CFI adjustments when needed 2015-12-15 18:50:32 +00:00
XCore Revert "Change memcpy/memset/memmove to have dest and source alignments." 2015-11-19 05:56:52 +00:00