-
Notifications
You must be signed in to change notification settings - Fork 15k
[LegalizeTypes] Use GetSplitVector in SplitVec(Res/Op)_PARTIAL_REDUCE_MLA #162513
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Using DAG.getSplitVector creates new nodes that need to be legalized. We should use GetSplitVector to get the already legalized copy of the inputs.
|
@llvm/pr-subscribers-llvm-selectiondag Author: Craig Topper (topperc) ChangesUsing DAG.getSplitVector creates new nodes that need to be legalized. We should use GetSplitVector to get the already legalized copy of the inputs. Full diff: https://github.com/llvm/llvm-project/pull/162513.diff 1 Files Affected:
diff --git a/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp b/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
index 87d5453cd98cf..3b5f83f7c089a 100644
--- a/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
+++ b/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
@@ -3416,7 +3416,7 @@ void DAGTypeLegalizer::SplitVecRes_PARTIAL_REDUCE_MLA(SDNode *N, SDValue &Lo,
SDValue Input2 = N->getOperand(2);
SDValue AccLo, AccHi;
- std::tie(AccLo, AccHi) = DAG.SplitVector(Acc, DL);
+ GetSplitVector(Acc, AccLo, AccHi);
unsigned Opcode = N->getOpcode();
// If the input types don't need splitting, just accumulate into the
@@ -3429,8 +3429,8 @@ void DAGTypeLegalizer::SplitVecRes_PARTIAL_REDUCE_MLA(SDNode *N, SDValue &Lo,
SDValue Input1Lo, Input1Hi;
SDValue Input2Lo, Input2Hi;
- std::tie(Input1Lo, Input1Hi) = DAG.SplitVector(Input1, DL);
- std::tie(Input2Lo, Input2Hi) = DAG.SplitVector(Input2, DL);
+ GetSplitVector(Input1, Input1Lo, Input1Hi);
+ GetSplitVector(Input2, Input2Lo, Input2Hi);
EVT ResultVT = AccLo.getValueType();
Lo = DAG.getNode(Opcode, DL, ResultVT, AccLo, Input1Lo, Input2Lo);
@@ -4761,8 +4761,8 @@ SDValue DAGTypeLegalizer::SplitVecOp_PARTIAL_REDUCE_MLA(SDNode *N) {
SDLoc DL(N);
SDValue Input1Lo, Input1Hi, Input2Lo, Input2Hi;
- std::tie(Input1Lo, Input1Hi) = DAG.SplitVector(N->getOperand(1), DL);
- std::tie(Input2Lo, Input2Hi) = DAG.SplitVector(N->getOperand(2), DL);
+ GetSplitVector(N->getOperand(1), Input1Lo, Input1Hi);
+ GetSplitVector(N->getOperand(2), Input2Lo, Input2Hi);
unsigned Opcode = N->getOpcode();
EVT ResultVT = Acc.getValueType();
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
…_MLA (#162513) Using DAG.getSplitVector creates new nodes that need to be legalized. We should use GetSplitVector to get the already legalized copy of the inputs.
…_MLA (llvm#162513) Using DAG.getSplitVector creates new nodes that need to be legalized. We should use GetSplitVector to get the already legalized copy of the inputs.
…_MLA (llvm#162513) Using DAG.getSplitVector creates new nodes that need to be legalized. We should use GetSplitVector to get the already legalized copy of the inputs.
…_MLA (llvm#162513) Using DAG.getSplitVector creates new nodes that need to be legalized. We should use GetSplitVector to get the already legalized copy of the inputs.
Using DAG.getSplitVector creates new nodes that need to be legalized. We should use GetSplitVector to get the already legalized copy of the inputs.