[llvm-dev] union return type
Flamedoge via llvm-dev
llvm-dev at lists.llvm.org
Wed Apr 19 04:39:37 PDT 2017
This seems like the case of returning struct in registers. This is usually
dictated by the ABI, not by a compiler optimization, for compatibility
On Wed, Apr 19, 2017 at 1:38 AM, Julien Schmitt via llvm-dev <
llvm-dev at lists.llvm.org> wrote:
> 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 ?
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the llvm-dev