[llvm-commits] New FastCC breaks struct return
Evan Cheng
evan.cheng at apple.com
Wed Sep 10 08:51:10 PDT 2008
I'll take a look. Can you send me a bc file?
Thanks,
Evan
On Sep 10, 2008, at 7:41 AM, Duncan Sands wrote:
> Hi Evan, it looks like the reason the new FastCC
> calling convention broke several Ada tests is that
> it doesn't interact properly with struct return.
> Here are the differences between working (no FastCC)
> and not working (FastCC):
>
> subl $8, %esp
> | leal -32(%ebp), %ecx
> leal -32(%ebp), %eax <
> movl %eax, (%esp) <
> call c34005c__pkg__create.
> 234 call c34005c__pkg__create.234
> addl $4, %esp <
>
> where c34005c__pkg__create.234 is:
>
> define internal fastcc void @c34005c__pkg__create.
> 234(%struct.c34005c__TsB___XUP* noalias sret %agg.result) {
>
> The call was in fact an invoke.
>
> Best wishes,
>
> Duncan.
More information about the llvm-commits
mailing list