forked from OSchip/llvm-project
fix a bug I introduced that broke recursive expansion of nodes (e.g. scalarizing vectors)
llvm-svn: 24905
This commit is contained in:
parent
a054d129ea
commit
ac12f68424
|
@ -3827,9 +3827,12 @@ void SelectionDAGLegalize::ExpandOp(SDOperand Op, SDOperand &Lo, SDOperand &Hi){
|
|||
std::make_pair(Lo, Hi))).second;
|
||||
assert(isNew && "Value already expanded?!?");
|
||||
|
||||
// Make sure the resultant values have been legalized themselves.
|
||||
Lo = LegalizeOp(Lo);
|
||||
Hi = LegalizeOp(Hi);
|
||||
// Make sure the resultant values have been legalized themselves, unless this
|
||||
// is a type that requires multi-step expansion.
|
||||
if (getTypeAction(NVT) != Expand && NVT != MVT::isVoid) {
|
||||
Lo = LegalizeOp(Lo);
|
||||
Hi = LegalizeOp(Hi);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue