OSDN Git Service

AMDGPU/SI: Canonicalize offset order for merged DS instructions
authorTom Stellard <thomas.stellard@amd.com>
Fri, 26 Aug 2016 21:36:47 +0000 (21:36 +0000)
committerTom Stellard <thomas.stellard@amd.com>
Fri, 26 Aug 2016 21:36:47 +0000 (21:36 +0000)
commitc6ee33f19c9a0f267d55ecfd36f6e2d2580fdf7b
tree1523594597503d011fe22cafe5e173a1ef119c39
parent96359c15f7ad1c6708b43d091dc950dcf423616a
AMDGPU/SI: Canonicalize offset order for merged DS instructions

Summary:
If the scheduler clusters the loads, then the offsets will be sorted,
but it is possible for the scheduler to scheduler loads together
without out explicitly clustering them, which would give us non-sorted
offsets.

Also, we will want to do this if we move the load/store optimizer before
the scheduler.

Reviewers: arsenm

Subscribers: arsenm, llvm-commits, kzhuravl

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@279870 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/AMDGPU/SILoadStoreOptimizer.cpp
test/CodeGen/AMDGPU/ds_read2_offset_order.ll
test/CodeGen/AMDGPU/ds_read2st64.ll
test/CodeGen/AMDGPU/load-local-i16.ll
test/CodeGen/AMDGPU/load-local-i32.ll
test/CodeGen/AMDGPU/load-local-i8.ll
test/CodeGen/AMDGPU/local-64.ll