Displaying 3 results from an estimated 3 matches for "_z4test10test3floatps_".
2010 Jan 25
3
[LLVMdev] 64bit MRV problem: { float, float, float} -> { double, float }
Hey everybody,
I am struggling to get rid of a problem which seems to be related to a
multi-return value optimization:
I generate bitcode for a c++-function with llvm-g++ which is then
linked, transformed and optimized at runtime using LLVM. The function
has quite a few parameters, including structs and struct-pointers with 3
float fields.
The problem is, that I require the function to preserve
2010 Jan 25
2
[LLVMdev] 64bit MRV problem: { float, float, float} -> { double, float }
...ng a function receive a single struct-parameter with three floats
compared to two scalar parameters?
source-code (C++):
struct Test3Float { float a, b, c; };
void test(Test3Float param, Test3Float* result) { ... }
bitcode:
%"struct.Test3Float" = type { float, float, float }
define void @_Z4test10Test3FloatPS_(double %param.0, float %param.1,
%"struct.Test3Float"* %result) { ... }
Best,
Ralf
Duncan Sands wrote:
> Hi Ralf, please don't only reply to me personally: please reply to the
> mailing
> list as well. That way others can respond with their own comments,
> and the
&g...
2010 Jan 25
0
[LLVMdev] 64bit MRV problem: { float, float, float} -> { double, float }
...be represented in LLVM bitcode, just for this. Instead the decision was taken
to require front-ends to deal with this kind of issue. Yes, this sucks - but
no-one came up with a better solution yet.
> bitcode:
> %"struct.Test3Float" = type { float, float, float }
> define void @_Z4test10Test3FloatPS_(double %param.0, float %param.1,
> %"struct.Test3Float"* %result) { ... }
Ciao,
Duncan.