forked from OSchip/llvm-project
[LegalizeDAG] When expanding vector SRA/SRL/SHL add the new BUILD_VECTOR to the Results vector instead of just calling ReplaceNode
The code that processes the Results vector also calls ReplaceNode and makes ExpandNode return true. If we don't add it to the Results node, we end up returning false from ExpandNode. This causes ConvertNodeToLibcall to be called next. But ConvertNodeToLibcall doesn't do anything for shifts so they just pass through unmodified. Except for printing a debug message. Ultimately, I'd like to add more checks to ExpandNode and ConvertNodeToLibcall to make sure we don't have nodes marked as Expand that don't have any Expand or libcall handling.
This commit is contained in:
parent
4cde2d6b8d
commit
f92000187e
|
@ -3692,7 +3692,7 @@ bool SelectionDAGLegalize::ExpandNode(SDNode *Node) {
|
|||
}
|
||||
|
||||
SDValue Result = DAG.getBuildVector(Node->getValueType(0), dl, Scalars);
|
||||
ReplaceNode(SDValue(Node, 0), Result);
|
||||
Results.push_back(Result);
|
||||
break;
|
||||
}
|
||||
case ISD::VECREDUCE_FADD:
|
||||
|
|
Loading…
Reference in New Issue