[PATCH] D150390: [AMDGPU] Introduce and use the new PRED_COPY opcode

Christudasan Devadasan via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed May 17 06:34:07 PDT 2023

cdevadas added inline comments.

Comment at: llvm/lib/Target/AMDGPU/SIInstructions.td:3372-3374
+  // PRED_COPY is anyway lowered to COPY so this flag is not necessary
+  // but it messes up with MI.getNumOperands() not returning 2
+  // let Uses = [EXEC];
Pierre-vh wrote:
> Do you have more detail on the failure that's happening when this is used?
> Out of correctness it might be nice to have the `implicit $exec`
> (note: no strong opinion either so if other reviewers think it's fine as-is, then it's good for me too)
The `SIFixVGPRCopies` pass inserted post regalloc pipeline will add the implicit exec for all vector copies. The Pred_COPY opcode is only short-lived. It will only get introduced by the liverange-split during regalloc and later `SISimplifyPredicatedCopies` inserted before `virtregrewriter` changes the Pred_COPY back to COPY opcode after manipulating the wwm-copy as needed.
It's ok even if we don't add the implicit use here.

  rG LLVM Github Monorepo



More information about the llvm-commits mailing list