mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-25 20:23:11 +01:00
[AMDGPU] Only unbundle memory accesses in SIMemoryLegalizer
This restores previous behaviour and is a step toward removing unbundling entirely. Reviewed By: foad, rampitec Differential Revision: https://reviews.llvm.org/D99061
This commit is contained in:
parent
0612d33cf4
commit
235428ba54
@ -1841,7 +1841,7 @@ bool SIMemoryLegalizer::runOnMachineFunction(MachineFunction &MF) {
|
||||
for (auto MI = MBB.begin(); MI != MBB.end(); ++MI) {
|
||||
|
||||
// Unbundle instructions after the post-RA scheduler.
|
||||
if (MI->isBundle()) {
|
||||
if (MI->isBundle() && MI->mayLoadOrStore()) {
|
||||
MachineBasicBlock::instr_iterator II(MI->getIterator());
|
||||
for (MachineBasicBlock::instr_iterator I = ++II, E = MBB.instr_end();
|
||||
I != E && I->isBundledWithPred(); ++I) {
|
||||
|
@ -26,8 +26,8 @@ define amdgpu_ps i128 @extractelement_vgpr_v4i128_sgpr_idx(<4 x i128> addrspace(
|
||||
; GFX9-NEXT: global_load_dwordx4 v[14:17], v[0:1], off offset:48
|
||||
; GFX9-NEXT: s_lshl_b32 s0, s2, 1
|
||||
; GFX9-NEXT: s_lshl_b32 s2, s0, 1
|
||||
; GFX9-NEXT: s_set_gpr_idx_on s2, gpr_idx(SRC0)
|
||||
; GFX9-NEXT: s_waitcnt vmcnt(0)
|
||||
; GFX9-NEXT: s_set_gpr_idx_on s2, gpr_idx(SRC0)
|
||||
; GFX9-NEXT: v_mov_b32_e32 v0, v2
|
||||
; GFX9-NEXT: v_mov_b32_e32 v1, v3
|
||||
; GFX9-NEXT: v_mov_b32_e32 v18, v2
|
||||
|
Loading…
Reference in New Issue
Block a user