]> granicus.if.org Git - llvm/commit
[AMDGPU] Promote constant offset to the immediate by finding a new base with 13bit...
authorFarhana Aleen <farhana.aleen@gmail.com>
Fri, 14 Dec 2018 21:13:14 +0000 (21:13 +0000)
committerFarhana Aleen <farhana.aleen@gmail.com>
Fri, 14 Dec 2018 21:13:14 +0000 (21:13 +0000)
commit0bbe50f2fb47207ac8093bb700edcb75616b7dd5
tree0d1b1d57b9ac5179a00fc10076b1fd3cc421f783
parent56ea4893da52c2f5e5da14ab7ea24375bacaa631
[AMDGPU] Promote constant offset to the immediate by finding a new base with 13bit constant offset from the nearby instructions.

Summary: Promote constant offset to immediate by recomputing the relative 13bit offset from nearby instructions.
 E.g.
  s_movk_i32 s0, 0x1800
  v_add_co_u32_e32 v0, vcc, s0, v2
  v_addc_co_u32_e32 v1, vcc, 0, v6, vcc

  s_movk_i32 s0, 0x1000
  v_add_co_u32_e32 v5, vcc, s0, v2
  v_addc_co_u32_e32 v6, vcc, 0, v6, vcc
  global_load_dwordx2 v[5:6], v[5:6], off
  global_load_dwordx2 v[0:1], v[0:1], off
  =>
  s_movk_i32 s0, 0x1000
  v_add_co_u32_e32 v5, vcc, s0, v2
  v_addc_co_u32_e32 v6, vcc, 0, v6, vcc
  global_load_dwordx2 v[5:6], v[5:6], off
  global_load_dwordx2 v[0:1], v[5:6], off offset:2048

Author: FarhanaAleen

Reviewed By: arsenm, rampitec

Subscribers: llvm-commits, AMDGPU

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@349196 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/AMDGPU/SIISelLowering.h
lib/Target/AMDGPU/SILoadStoreOptimizer.cpp
test/CodeGen/AMDGPU/promote-constOffset-to-imm.ll [new file with mode: 0644]
test/CodeGen/AMDGPU/promote-constOffset-to-imm.mir [new file with mode: 0644]