[AMDGPU] Extend the SI Load/Store optimizer to combine more things.
authorNeil Henning <neil.henning@amd.com>
Wed, 12 Dec 2018 16:15:21 +0000 (16:15 +0000)
committerNeil Henning <neil.henning@amd.com>
Wed, 12 Dec 2018 16:15:21 +0000 (16:15 +0000)
commit76504a4c5e196aac50afe65f1db55345b9a01b7e
treebacefc350bd264ec596c3b27c90fe518e97d8d38
parentef8683abec6b4f36cef4bba2fd6a4b69f0e59f22
[AMDGPU] Extend the SI Load/Store optimizer to combine more things.

I've extended the load/store optimizer to be able to produce dwordx3
loads and stores, This change allows many more load/stores to be combined,
and results in much more optimal code for our hardware.

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

llvm-svn: 348937
13 files changed:
llvm/lib/Target/AMDGPU/BUFInstructions.td
llvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp
llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
llvm/test/CodeGen/AMDGPU/cvt_f32_ubyte.ll
llvm/test/CodeGen/AMDGPU/early-if-convert-cost.ll
llvm/test/CodeGen/AMDGPU/insert_vector_elt.ll
llvm/test/CodeGen/AMDGPU/llvm.amdgcn.buffer.load.ll
llvm/test/CodeGen/AMDGPU/llvm.amdgcn.buffer.store.ll
llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.buffer.load.ll [new file with mode: 0644]
llvm/test/CodeGen/AMDGPU/merge-stores.ll
llvm/test/CodeGen/AMDGPU/store-global.ll
llvm/test/CodeGen/AMDGPU/store-v3i64.ll