search for: getreturnvalueregistersizeinbits

Displaying 4 results from an estimated 4 matches for "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 in...
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-boun...
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. > > Th...