[LLVMdev] multiple return value assembler regression?

Bagel bagel99 at gmail.com
Fri Jun 24 14:21:00 PDT 2011


On 06/24/2011 03:45 PM, Chris Lattner wrote:
>
> On Jun 24, 2011, at 9:29 AM, Bagel 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.
>
> This is obsolete and deprecated syntax that is dropped in "llvm 3.0" (and thus on mainline right now).  If you run that through llvm-as|llvm-dis from llvm 2.9, you'll see the preferred syntax.
>
> -Chris

OK, I guess I missed the announcement that it was obsolete.  The new mechanism 
is quite wordy when compared with the old.  Sigh.

Are there any other languages other than mine (http://code.google.com/p/esl/) 
which return multiple scalars that have LLVM frontends?

bagel



More information about the llvm-dev mailing list