Changes in directory llvm/lib/CodeGen/SelectionDAG:
LegalizeDAG.cpp updated: 1.281 -> 1.282 --- Log message: Instead of making callers of ExpandLibCall legalize the result, make ExpandLibCall do it itself. --- Diffs of the changes: (+7 -6) LegalizeDAG.cpp | 13 +++++++------ 1 files changed, 7 insertions(+), 6 deletions(-) Index: llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp diff -u llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:1.281 llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:1.282 --- llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:1.281 Fri Jan 27 22:23:12 2006 +++ llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp Fri Jan 27 22:28:26 2006 @@ -2208,7 +2208,7 @@ // Floating point mod -> fmod libcall. const char *FnName = Node->getValueType(0) == MVT::f32 ? "fmodf":"fmod"; SDOperand Dummy; - Result = LegalizeOp(ExpandLibCall(FnName, Node, Dummy)); + Result = ExpandLibCall(FnName, Node, Dummy); } break; } @@ -2624,7 +2624,7 @@ default: assert(0 && "Unreachable!"); } SDOperand Dummy; - Result = LegalizeOp(ExpandLibCall(FnName, Node, Dummy)); + Result = ExpandLibCall(FnName, Node, Dummy); break; } default: @@ -3700,16 +3700,17 @@ switch (getTypeAction(CallInfo.first.getValueType())) { default: assert(0 && "Unknown thing"); case Legal: - Result = CallInfo.first; + // If the result is legal, make sure that we relegalize the inserted result. + Result = LegalizeOp(CallInfo.first); break; case Promote: assert(0 && "Cannot promote this yet!"); case Expand: ExpandOp(CallInfo.first, Result, Hi); - CallInfo.second = LegalizeOp(CallInfo.second); break; } - + + CallInfo.second = LegalizeOp(CallInfo.second); SpliceCallInto(CallInfo.second, OutChain); return Result; } @@ -4415,7 +4416,7 @@ } Lo = DAG.getNode(ISD::MUL, NVT, LL, RL); } else { - Lo = ExpandLibCall("__muldi3" , Node, Hi); break; + Lo = ExpandLibCall("__muldi3" , Node, Hi); } break; } _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits