R600/SI: Implement areLoadsFromSameBasePtr
authorMatt Arsenault <Matthew.Arsenault@amd.com>
Wed, 6 Aug 2014 00:29:43 +0000 (00:29 +0000)
committerMatt Arsenault <Matthew.Arsenault@amd.com>
Wed, 6 Aug 2014 00:29:43 +0000 (00:29 +0000)
commitc9c70b1651ddeab278429889c7b625650eb3342e
tree0026981df7b4c2210e8aa0f0d4c0a78febeb3e13
parent5200d84bdc1d2962e47b12c0d758fcf8107922db
R600/SI: Implement areLoadsFromSameBasePtr

This currently has a noticable effect on the kernel argument loads.
LDS and global loads are more problematic, I think because of how copies
are currently inserted to ensure that the address is a VGPR.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@214942 91177308-0d34-0410-b5e6-96231b3b80d8
16 files changed:
lib/Target/R600/SIInstrInfo.cpp
lib/Target/R600/SIInstrInfo.h
test/CodeGen/R600/address-space.ll
test/CodeGen/R600/atomic_cmp_swap_local.ll
test/CodeGen/R600/ctpop64.ll
test/CodeGen/R600/cvt_f32_ubyte.ll
test/CodeGen/R600/extract_vector_elt_i16.ll
test/CodeGen/R600/fcopysign.f32.ll
test/CodeGen/R600/fcopysign.f64.ll
test/CodeGen/R600/llvm.memcpy.ll
test/CodeGen/R600/mubuf.ll
test/CodeGen/R600/rotl.i64.ll
test/CodeGen/R600/schedule-global-loads.ll [new file with mode: 0644]
test/CodeGen/R600/schedule-kernel-arg-loads.ll [new file with mode: 0644]
test/CodeGen/R600/trunc.ll
test/CodeGen/R600/wait.ll