Skip to content

Commit 0bbe50f

Browse files
author
Farhana Aleen
committed
[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
1 parent 56ea489 commit 0bbe50f

File tree

4 files changed

+1001
-1
lines changed

4 files changed

+1001
-1
lines changed

lib/Target/AMDGPU/SIISelLowering.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,6 @@ class SITargetLowering final : public AMDGPUTargetLowering {
170170
SDValue performRcpCombine(SDNode *N, DAGCombinerInfo &DCI) const;
171171

172172
bool isLegalFlatAddressingMode(const AddrMode &AM) const;
173-
bool isLegalGlobalAddressingMode(const AddrMode &AM) const;
174173
bool isLegalMUBUFAddressingMode(const AddrMode &AM) const;
175174

176175
unsigned isCFIntrinsic(const SDNode *Intr) const;
@@ -212,6 +211,7 @@ class SITargetLowering final : public AMDGPUTargetLowering {
212211
SmallVectorImpl<Value*> &/*Ops*/,
213212
Type *&/*AccessTy*/) const override;
214213

214+
bool isLegalGlobalAddressingMode(const AddrMode &AM) const;
215215
bool isLegalAddressingMode(const DataLayout &DL, const AddrMode &AM, Type *Ty,
216216
unsigned AS,
217217
Instruction *I = nullptr) const override;

0 commit comments

Comments
 (0)