llvm.org GIT mirror llvm / f835629
AMDGPU: Use an ABS32_LO relocation for SCRATCH_RSRC_DWORD1 Summary: Using HI here makes no logical sense, since the dword is only 32 bits to begin with. Current Mesa master does not look at the relocation type at all, so this change is fine. Future Mesa will rely on this, however. Change-Id: I91085707834c4ac0370926602b93c94b90e44cb1 Reviewers: arsenm, rampitec, mareko Subscribers: kzhuravl, jvesely, wdng, yaxunl, dstuttard, tpr, t-tye, llvm-commits Differential Revision: https://reviews.llvm.org/D55369 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@349620 91177308-0d34-0410-b5e6-96231b3b80d8 Nicolai Haehnle 1 year, 9 months ago
2 changed file(s) with 6 addition(s) and 4 deletion(s). Raw diff Collapse all Expand all
4545 if (const auto *SymA = Target.getSymA()) {
4646 // SCRATCH_RSRC_DWORD[01] is a special global variable that represents
4747 // the scratch buffer.
48 if (SymA->getSymbol().getName() == "SCRATCH_RSRC_DWORD0")
48 if (SymA->getSymbol().getName() == "SCRATCH_RSRC_DWORD0" ||
49 SymA->getSymbol().getName() == "SCRATCH_RSRC_DWORD1")
4950 return ELF::R_AMDGPU_ABS32_LO;
50
51 if (SymA->getSymbol().getName() == "SCRATCH_RSRC_DWORD1")
52 return ELF::R_AMDGPU_ABS32_HI;
5351 }
5452
5553 switch (Target.getAccessVariant()) {
0 ; RUN: llc -march=amdgcn -mtriple=amdgcn-- -mcpu=verde -verify-machineinstrs < %s | FileCheck --check-prefix=GCN --check-prefix=SI %s
11 ; RUN: llc -march=amdgcn -mtriple=amdgcn-- -mcpu=gfx803 -mattr=-flat-for-global -verify-machineinstrs < %s | FileCheck --check-prefix=GCN --check-prefix=SI %s
22 ; RUN: llc -march=amdgcn -mtriple=amdgcn-- -mcpu=gfx900 -mattr=-flat-for-global -verify-machineinstrs < %s | FileCheck --check-prefix=GCN --check-prefix=GFX9 %s
3 ; RUN: llc -march=amdgcn -mtriple=amdgcn-- -mcpu=gfx900 -filetype=obj < %s | llvm-readobj -relocations | FileCheck --check-prefix=RELS %s
4
5 ; RELS: R_AMDGPU_ABS32_LO SCRATCH_RSRC_DWORD0 0x0
6 ; RELS: R_AMDGPU_ABS32_LO SCRATCH_RSRC_DWORD1 0x0
37
48 ; This used to fail due to a v_add_i32 instruction with an illegal immediate
59 ; operand that was created during Local Stack Slot Allocation. Test case derived