[llvm] 2a43a44 - [NFCI][DAGCombiner] `foldExtendVectorInregToExtendOfSubvector()`: just build new VT
Roman Lebedev via llvm-commits
llvm-commits at lists.llvm.org
Wed Jan 4 14:37:15 PST 2023
Author: Roman Lebedev
Date: 2023-01-05T01:33:24+03:00
New Revision: 2a43a4478cb7e8df4c37714ee956423352abdbac
URL: https://github.com/llvm/llvm-project/commit/2a43a4478cb7e8df4c37714ee956423352abdbac
DIFF: https://github.com/llvm/llvm-project/commit/2a43a4478cb7e8df4c37714ee956423352abdbac.diff
LOG: [NFCI][DAGCombiner] `foldExtendVectorInregToExtendOfSubvector()`: just build new VT
Changing element type seems to not play well with non-simple types,
even though we are operating on EVT's here.
Added:
Modified:
llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Removed:
################################################################################
diff --git a/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp b/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
index 0ace0ed689be..0f4d6fbb0e4f 100644
--- a/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
+++ b/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
@@ -13554,8 +13554,9 @@ foldExtendVectorInregToExtendOfSubvector(SDNode *N, const TargetLowering &TLI,
SDValue Src = N->getOperand(0);
EVT VT = N->getValueType(0);
- EVT SrcVT =
- VT.changeVectorElementType(Src.getValueType().getVectorElementType());
+ EVT SrcVT = EVT::getVectorVT(*DAG.getContext(),
+ Src.getValueType().getVectorElementType(),
+ VT.getVectorElementCount());
assert((InregOpcode == ISD::SIGN_EXTEND_VECTOR_INREG ||
InregOpcode == ISD::ZERO_EXTEND_VECTOR_INREG ||
More information about the llvm-commits
mailing list