[llvm-dev] union return type

Julien Schmitt via llvm-dev llvm-dev at lists.llvm.org
Wed Apr 19 01:38:18 PDT 2017

Dear LLVMers,

I need your help to understand my problem:

I'm compiling a code for 2 different targets (x86_64 and sparc). In this 
code, I define a union which is basically a int32 and a function which 
returns this union. The compilation of this code produces 2 different IRs :

* for x86, the return type is int32,

* for sparc, the return type is a struct (first argument of the function 
with attribute sret).

I guess an optimization pass is called to simplify the return type in 
first case but i have no idea which one ?

Does anybody have an explanation ?



More information about the llvm-dev mailing list