[llvm] [AArch64][SME] Introduce CHECK_MATCHING_VL pseudo for streaming transitions (PR #157510)

Gaƫtan Bossu via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 9 03:17:44 PDT 2025


================
@@ -9147,7 +9197,40 @@ SDValue AArch64TargetLowering::changeStreamingMode(SelectionDAG &DAG, SDLoc DL,
   if (InGlue)
     Ops.push_back(InGlue);
 
-  return DAG.getNode(Opcode, DL, DAG.getVTList(MVT::Other, MVT::Glue), Ops);
+  if (!HasSVECC)
+    return DAG.getNode(Opcode, DL, DAG.getVTList(MVT::Other, MVT::Glue), Ops);
+
+  auto GetCheckVL = [&](SDValue Chain, SDValue InGlue = SDValue()) -> SDValue {
----------------
gbossu wrote:

Supert-nit: I would "inilne" that lambda, I feel something like below is easier to read, and does not duplicate too much code.

```
SDValue CheckVL = SDValue(DAG.getMachineNode(AArch64::CHECK_MATCHING_VL, DL,
                                      DAG.getVTList(MVT::Other, MVT::Glue),
                                      {Chaine, InGlue}), 0);
```

But really, feel free to keep as is if you prefer.

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


More information about the llvm-commits mailing list