llvm-project/llvm/test/Transforms/CodeGenPrepare
Justin Lebar 3e50a5be8f [CodeGenPrepare] Don't sink non-cheap addrspacecasts.
Summary:
Previously, CGP would unconditionally sink addrspacecast instructions,
even going so far as to sink them into a loop.

Now we check that the cast is "cheap", as defined by TLI.

We introduce a new "is-cheap" function to TLI rather than using
isNopAddrSpaceCast because some GPU platforms want the ability to ask
for non-nop casts to be sunk.

Reviewers: arsenm, tra

Subscribers: jholewinski, wdng, llvm-commits

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

llvm-svn: 287591
2016-11-21 22:49:15 +00:00
..
AArch64 [CodeGenPrep] Skip merging empty case blocks 2016-11-21 16:47:28 +00:00
AMDGPU AMDGPU: Remove some old intrinsic uses from tests 2016-02-11 06:02:01 +00:00
ARM [InstCombine] Rewrite bswap/bitreverse handling completely. 2016-01-15 09:20:19 +00:00
NVPTX [CodeGenPrepare] Don't sink non-cheap addrspacecasts. 2016-11-21 22:49:15 +00:00
X86 [CodeGenPrep] Skip merging empty case blocks 2016-11-21 16:47:28 +00:00
2008-11-24-RAUW-Self.ll
basic.ll
bitreverse-hang.ll [InstCombine] Rewrite bswap/bitreverse handling completely. 2016-01-15 09:20:19 +00:00
builtin-condition.ll Calculate __builtin_object_size when pointer depends on a condition 2016-04-13 12:25:25 +00:00
dom-tree.ll Keep CodeGenPrepare from preserving the domtree. 2016-03-22 21:25:08 +00:00
invariant.group.ll Introducing llvm.invariant.group.barrier intrinsic 2015-09-15 18:32:14 +00:00
overflow-intrinsics.ll
section.ll Update the section.ll to fix non-x86 failure. 2016-10-19 03:53:41 +00:00
skip-merging-case-block.ll [CodeGenPrep] Skip merging empty case blocks 2016-11-21 16:47:28 +00:00
statepoint-relocate.ll [gc.statepoint] Change gc.statepoint intrinsic's return type to token type instead of i32 type 2015-12-26 07:54:32 +00:00