[llvm-branch-commits] [llvm] AMDGPU/GlobalISel: Improve readanylane combines in regbanklegalize (PR #142789)

Pierre van Houtryve via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Thu Jun 5 01:14:54 PDT 2025


================
@@ -137,7 +138,123 @@ class AMDGPURegBankLegalizeCombiner {
     return {MatchMI, MatchMI->getOperand(1).getReg()};
   }
 
+  std::tuple<GUnmerge *, int> tryMatchRALFromUnmerge(Register Src) {
+    auto *ReadAnyLane = MRI.getVRegDef(Src);
+    if (ReadAnyLane->getOpcode() == AMDGPU::G_AMDGPU_READANYLANE) {
+      Register RALSrc = ReadAnyLane->getOperand(1).getReg();
+      auto *UnMerge = getOpcodeDef<GUnmerge>(RALSrc, MRI);
+      if (UnMerge)
----------------
Pierre-vh wrote:

```suggestion
      if (auto *UnMerge = getOpcodeDef<GUnmerge>(RALSrc, MRI))
```

https://github.com/llvm/llvm-project/pull/142789


More information about the llvm-branch-commits mailing list