[LLVMdev] LegalizeFloatType:ExpandFloatRes_FADD
Villmow, Micah
Micah.Villmow at amd.com
Wed Apr 8 11:25:42 PDT 2009
I'm looking at the Legalize code and in 2.5 the above function is:
void DAGTypeLegalizer::ExpandFloatRes_FADD(SDNode *N, SDValue &Lo,
SDValue &Hi) {
SDValue Call = LibCallify(GetFPLibCall(N->getValueType(0),
RTLIB::ADD_F32, RTLIB::ADD_F64,
RTLIB::ADD_F80,
RTLIB::ADD_PPCF128),
N, false);
assert(Call.getNode()->getOpcode() == ISD::BUILD_PAIR &&
"Call lowered wrongly!");
Lo = Call.getOperand(0); Hi = Call.getOperand(1);
}
But in 2.4 the function was:
void DAGTypeLegalizer::ExpandFloatRes_FADD(SDNode *N, SDValue &Lo,
SDValue &Hi) {
SDValue Ops[2] = { N->getOperand(0), N->getOperand(1) };
SDValue Call = MakeLibCall(GetFPLibCall(N->getValueType(0),
RTLIB::ADD_F32,
RTLIB::ADD_F64,
RTLIB::ADD_F80,
RTLIB::ADD_PPCF128),
N->getValueType(0), Ops, 2,
false);
assert(Call.getNode()->getOpcode() == ISD::BUILD_PAIR && "Call lowered
wrongly!");
Lo = Call.getOperand(0); Hi = Call.getOperand(1);
}
It seems to me that it was switched from a binary function expansion to
a unary function expansion.
Is my understanding of this correct? If not what is this section of code
support to do?
Thanks,
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20090408/954db375/attachment.html>
More information about the llvm-dev
mailing list