From 64c938e8e31d311829c525b77e05dfd798c8d88f Mon Sep 17 00:00:00 2001 From: Jay Foad Date: Mon, 15 May 2023 14:42:14 +0100 Subject: [PATCH] [AMDGPU] Avoid RegScavenger::forward in copyPhysReg/indirectCopyToAGPR RegScavenger::backward is preferred because it does not rely on accurate kill flags. Differential Revision: https://reviews.llvm.org/D150571 --- llvm/lib/Target/AMDGPU/SIInstrInfo.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/llvm/lib/Target/AMDGPU/SIInstrInfo.cpp b/llvm/lib/Target/AMDGPU/SIInstrInfo.cpp index 4f695a8..a38a835 100644 --- a/llvm/lib/Target/AMDGPU/SIInstrInfo.cpp +++ b/llvm/lib/Target/AMDGPU/SIInstrInfo.cpp @@ -618,8 +618,8 @@ static void indirectCopyToAGPR(const SIInstrInfo &TII, } } - RS.enterBasicBlock(MBB); - RS.forward(MI); + RS.enterBasicBlockEnd(MBB); + RS.backward(MI); // Ideally we want to have three registers for a long reg_sequence copy // to hide 2 waitstates between v_mov_b32 and accvgpr_write. -- 2.7.4