[llvm-commits] [llvm] r127766 - in /llvm/trunk: docs/LangRef.html include/llvm/Target/TargetLowering.h lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp lib/Target/X86/X86ISelLowering.cpp lib/Target/X86/X86ISelLowering.h test/CodeGen/X86/bool-zext
Frits van Bommel
fvbommel at gmail.com
Thu Mar 17 02:22:49 PDT 2011
On Wed, Mar 16, 2011 at 11:20 PM, Cameron Zwarich <zwarich at apple.com> wrote:
> + /// getTypeForExtendedInteger - Return the type that should be used to zero or
> + /// sign extend a zeroext/signext integer argument or return value.
> + /// FIXME: Most C calling convention requires the return type to be promoted,
> + /// but this is not true all the time, e.g. i1 on x86-64. It is also not
> + /// necessary for non-C calling conventions. The frontend should handle this
> + /// and include all of the necessary information.
> + virtual MVT
> + getTypeForExtendedInteger(EVT VT, ISD::NodeType ExtendKind) const {
> + return MVT::i32;
> + }
Can this only ever get called for integers with <= 32 bits?
If so, it'd be nice to assert() that to make sure it doesn't ever try
to e.g. "extend" an i64 to i32 in the future. If not, it should
probably return VT if it's > 32 bits.
P.S. In the future, please try to spell my name right (you misspelled
it in the commit message for r127684).
More information about the llvm-commits
mailing list