[llvm-commits] [llvm] r47122 - in /llvm/trunk: include/llvm/Target/TargetLowering.h lib/CodeGen/SelectionDAG/LegalizeDAG.cpp lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp lib/CodeGen/SelectionDAG/TargetLowering.cpp lib/Target/ARM/ARMISelLowering.cpp lib/Target/Alpha/AlphaISelLowering.cpp lib/Target/Alpha/AlphaISelLowering.h lib/Target/IA64/IA64ISelLowering.cpp lib/Target/IA64/IA64ISelLowering.h lib/Target/Sparc/SparcISelDAGToDAG.cpp lib/Target/X86/X86ISelLowering.cpp
Evan Cheng
evan.cheng at apple.com
Thu Feb 14 15:37:24 PST 2008
On Feb 14, 2008, at 9:28 AM, Duncan Sands wrote:
> Author: baldrick
> Date: Thu Feb 14 11:28:50 2008
> New Revision: 47122
>
> URL: http://llvm.org/viewvc/llvm-project?rev=47122&view=rev
> Log:
> In TargetLowering::LowerCallTo, don't assert that
> the return value is zero-extended if it isn't
> sign-extended. It may also be any-extended.
> Also, if a floating point value was returned
> in a larger floating point type, pass 1 as the
> second operand to FP_ROUND, which tells it
> that all the precision is in the original type.
> I think this is right but I could be wrong.
Yep.
>
> Finally, when doing libcalls, set isZExt on
> a parameter if it is "unsigned". Currently
> isSExt is set when signed, and nothing is
> set otherwise. This should be right for all
> calls to standard library routines.
I am not sure I totally understand the reason for this. Is it because
these libcalls are implicitly defined?
Evan
More information about the llvm-commits
mailing list