[LLVMdev] multiple return value assembler regression?

Eli Friedman eli.friedman at gmail.com
Fri Jun 24 09:48:09 PDT 2011


On Fri, Jun 24, 2011 at 9:29 AM, Bagel <bagel99 at gmail.com> wrote:
> It appears the syntax for returning multiple values has changed since 2.9.
> Previous to that:
>        ret  i32 %a, i32 %b
> worked.  The new syntax is something like:
>        ret  { i32, i32 }{i32 %a, i32 %b}
> but this yields an error:
> mrv-bug.ll:5:24: error: invalid use of function-local name
>        ret  { i32, i32 }{i32 %a, i32 %b}
>                              ^
> If %a and %b are replaced by constants, things work.
>
> Am I doing something wrong, or should I file a bug report?

You need to use insertvalue to build a struct with non-constant values..

-Eli




More information about the llvm-dev mailing list