Displaying 4 results from an estimated 4 matches for "getreturnvalueregistersizeinbit".
Did you mean:
getreturnvalueregistersizeinbits
2008 May 28
2
[LLVMdev] Troubling promotion of return value to Integer ...
...:
define i8 @foo() signext nounwind {
entry:
%tmp1 = tail call i8 (...)* @g( ) signext nounwind ; <i8> [#uses=1]
ret i8 %tmp1
}
declare i8 @g(...) signext
Note that the 'signext' attribute is on all of foo, the call to G, and
the G declaration itself.
> In both cases DAG.getReturnValueRegisterSizeInBits(...) returns 32
> (on a
> 32 bit architecture)
>
> The caveat here is when we don't have a prototype for callee in which
> case "int ()" is considered, hence known values are returned and no
> optimization will take effect.
The IR is already capturing this much i...
2008 May 27
0
[LLVMdev] Troubling promotion of return value to Integer ...
...i16, ...) which are
signed values.
Then the front-end can define
unsigned char ug(...);
as: declare u8 @ug(...)
where DAG.isReturnValueSignExtended(...) returns false
and
signed char sg(...);
as: declare i8 @sg(...)
where DAG.isReturnValueSignExtended(...) returns true
In both cases DAG.getReturnValueRegisterSizeInBits(...) returns 32 (on a
32 bit architecture)
The caveat here is when we don't have a prototype for callee in which
case "int ()" is considered, hence known values are returned and no
optimization will take effect.
Regards.
Ali.
> -----Original Message-----
> From: llvmdev-bou...
2008 May 23
3
[LLVMdev] Troubling promotion of return value to Integer ...
On May 20, 2008, at 2:16 PM, <Alireza.Moshtaghi at microchip.com> <Alireza.Moshtaghi at microchip.com
> wrote:
>
>> Ok, I'm not sure what issue you mean. Can you restate?
>
> I'm referring to your statement (below) where you say "there needs
> to be
> some attribute (or something) on foo".
Ok.
> What I don't understand is I
>
2008 May 28
0
[LLVMdev] Troubling promotion of return value to Integer ...
....
(BTW I think it's a typo that you didn't promote the return value of foo
:)
I take it from your reply that, by using signext and implementing the
two helper methods, which I mentioned before, there would be no need to
add any new function attributes; right?
> > In both cases DAG.getReturnValueRegisterSizeInBits(...) returns 32
> > (on a
> > 32 bit architecture)
> >
> > The caveat here is when we don't have a prototype for callee in
which
> > case "int ()" is considered, hence known values are returned and no
> > optimization will take effect.
>
> T...