mirror of
https://github.com/RPCS3/llvm.git
synced 2025-03-05 00:59:19 +00:00
Revert changes that broke oggenc on ppc
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32440 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
2060a822fe
commit
70a24b3141
@ -1547,10 +1547,7 @@ SDOperand SelectionDAGLegalize::LegalizeOp(SDOperand Op) {
|
||||
if (Tmp2.getValueType() != MVT::Vector) {
|
||||
SDOperand Lo, Hi;
|
||||
ExpandOp(Tmp2, Lo, Hi);
|
||||
if (Hi.Val)
|
||||
Result = DAG.getNode(ISD::RET, MVT::Other, Tmp1, Lo, Tmp3, Hi,Tmp3);
|
||||
else
|
||||
Result = DAG.getNode(ISD::RET, MVT::Other, Tmp1, Lo, Tmp3);
|
||||
Result = DAG.getNode(ISD::RET, MVT::Other, Tmp1, Lo, Tmp3, Hi, Tmp3);
|
||||
Result = LegalizeOp(Result);
|
||||
} else {
|
||||
SDNode *InVal = Tmp2.Val;
|
||||
@ -1612,10 +1609,8 @@ SDOperand SelectionDAGLegalize::LegalizeOp(SDOperand Op) {
|
||||
ExpandOp(Node->getOperand(i), Lo, Hi);
|
||||
NewValues.push_back(Lo);
|
||||
NewValues.push_back(Node->getOperand(i+1));
|
||||
if (Hi.Val) {
|
||||
NewValues.push_back(Hi);
|
||||
NewValues.push_back(Node->getOperand(i+1));
|
||||
}
|
||||
NewValues.push_back(Hi);
|
||||
NewValues.push_back(Node->getOperand(i+1));
|
||||
break;
|
||||
}
|
||||
case Promote:
|
||||
@ -4572,10 +4567,12 @@ void SelectionDAGLegalize::ExpandOp(SDOperand Op, SDOperand &Lo, SDOperand &Hi){
|
||||
Tmp = TLI.LowerOperation(DAG.getNode(ISD::BIT_CONVERT, VT, Tmp), DAG);
|
||||
}
|
||||
|
||||
MVT::ValueType NVT = Node->getValueType(0);
|
||||
// f32 / f64 must be expanded to i32 / i64.
|
||||
if (VT == MVT::f32 || VT == MVT::f64) {
|
||||
Lo = DAG.getNode(ISD::BIT_CONVERT, NVT, Node->getOperand(0));
|
||||
Hi = SDOperand();
|
||||
if (NVT == MVT::f32 || NVT == MVT::f64) {
|
||||
Lo = DAG.getNode(ISD::BIT_CONVERT, TLI.getTypeToTransformTo(NVT),
|
||||
Node->getOperand(0));
|
||||
Hi = DAG.getConstant(0, TLI.getTypeToTransformTo(NVT));
|
||||
break;
|
||||
}
|
||||
|
||||
@ -4878,9 +4875,7 @@ void SelectionDAGLegalize::ExpandOp(SDOperand Op, SDOperand &Lo, SDOperand &Hi){
|
||||
// is a type that requires multi-step expansion.
|
||||
if (getTypeAction(NVT) != Expand && NVT != MVT::isVoid) {
|
||||
Lo = LegalizeOp(Lo);
|
||||
if (Hi.Val)
|
||||
// Don't legalize the high part if it is expanded to a single node.
|
||||
Hi = LegalizeOp(Hi);
|
||||
Hi = LegalizeOp(Hi);
|
||||
}
|
||||
|
||||
// Remember in a map if the values will be reused later.
|
||||
|
Loading…
x
Reference in New Issue
Block a user