Displaying 3 results from an estimated 3 matches for "extendkind".
Did you mean:
extending
2011 Mar 16
3
[LLVMdev] Calls to functions with signext/zeroext return values
...FIXME: C calling convention requires the return type to be promoted
// to at least 32-bit. But this is not necessary for non-C calling
// conventions. The frontend should mark functions whose return values
// require promoting with signext or zeroext attributes.
if (ExtendKind != ISD::ANY_EXTEND && VT.isInteger()) {
EVT MinVT = TLI.getRegisterType(*DAG.getContext(), MVT::i32);
if (VT.bitsLT(MinVT))
VT = MinVT;
}
There have been a few discussions about this snippet on llvmdev in the
past[1][2][3], and there seems to be a ge...
2009 Feb 11
0
[LLVMdev] Bug in SelectionDAGBuild.cpp?
...LT(MinVT))
VT = MinVT;
}
This is occurring when VT is a 16bit vector type,<2x i8>. LLVM is then
changing it to be a 32bit type and
it asserts in :
getCopyToParts(DAG, SDValue(RetOp.getNode(), RetOp.getResNo() + j),
&Parts[0], NumParts, PartVT, ExtendKind);
Here:
assert(ValueVT.getVectorElementType() == PartVT &&
ValueVT.getVectorNumElements() == 1 &&
"Only trivial vector-to-scalar conversions should get
here!");
Because it switched PartVT from a vector type<2xi8> into a scalar...
2011 Mar 16
0
[LLVMdev] Calls to functions with signext/zeroext return values
...g convention requires the return type to be promoted
> // to at least 32-bit. But this is not necessary for non-C calling
> // conventions. The frontend should mark functions whose return values
> // require promoting with signext or zeroext attributes.
> if (ExtendKind != ISD::ANY_EXTEND && VT.isInteger()) {
> EVT MinVT = TLI.getRegisterType(*DAG.getContext(), MVT::i32);
> if (VT.bitsLT(MinVT))
> VT = MinVT;
> }
>
> There have been a few discussions about this snippet on llvmdev in the
> past[1][2]...