[PATCH] D80434: [AMDGPU] Reject moving PHI to VALU if the only VGPR input originated from move immediate

Alexander via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri May 22 13:57:43 PDT 2020


alex-t added a comment.

In D80434#2051602 <https://reviews.llvm.org/D80434#2051602>, @rampitec wrote:

> You do not even need a loop to get PHI. A PHI might occur after an simple IF.
>  Nevertheless, patch retains an illegal copy which it is supposed to remove. The fact that it works in this testcase does not mean it will always work.
>  I would suggest to fold the immediate copy instead. I.e. you can replace COPY with an S_MOV_B32 (given it fits 32 bit of course).


The following code does it in one of the next iterations

  // If we are just copying an immediate, we can replace the copy with
  // s_mov_b32.
  if (isSafeToFoldImmIntoCopy(&MI, DefMI, TII, SMovOp, Imm)) {
    MI.getOperand(1).ChangeToImmediate(Imm);
    MI.addImplicitDefUseOperands(MF);
    MI.setDesc(TII->get(SMovOp));
    break;
  }


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D80434/new/

https://reviews.llvm.org/D80434





More information about the llvm-commits mailing list