[llvm] [SDAG] Fix incorrect usage of VECREDUCE_ADD (PR #171459)

Benjamin Maxwell via llvm-commits llvm-commits at lists.llvm.org
Tue Dec 9 12:36:33 PST 2025


================
@@ -2664,7 +2664,8 @@ void DAGTypeLegalizer::SplitVecRes_VECTOR_COMPRESS(SDNode *N, SDValue &Lo,
 
   // We store LoVec and then insert HiVec starting at offset=|1s| in LoMask.
   SDValue WideMask =
-      DAG.getNode(ISD::ZERO_EXTEND, DL, LoMask.getValueType(), LoMask);
+      DAG.getNode(ISD::ZERO_EXTEND, DL,
----------------
MacDue wrote:

Are you sure? `changeVectorElementType` calls `changeExtendedVectorElementType` when the type is not simple, which takes the LLVM context from the previous type:
https://github.com/llvm/llvm-project/blob/06f0758282bfa5457ea779e66c79fdff34e58320/llvm/lib/CodeGen/ValueTypes.cpp#L33-L37

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


More information about the llvm-commits mailing list