[llvm] [DAG] visitFREEZE - always allow freezing multiple operands (PR #145939)

Nikita Popov via llvm-commits llvm-commits at lists.llvm.org
Tue Jul 1 06:59:03 PDT 2025


================
@@ -11336,6 +11336,9 @@ SDValue RISCVTargetLowering::lowerINSERT_SUBVECTOR(SDValue Op,
 
   if (OrigIdx == 0 && Vec.isUndef())
     return Op;
+  if (OrigIdx == 0 && Vec.getOpcode() == ISD::FREEZE &&
+      Vec.getOperand(0).isUndef())
+    return DAG.getInsertSubvector(DL, DAG.getUNDEF(VecVT), SubVec, OrigIdx);
----------------
nikic wrote:

This isn't really correct, as it loses the freeze...

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


More information about the llvm-commits mailing list