[llvm-commits] New FastCC breaks struct return
Duncan Sands
baldrick at free.fr
Wed Sep 10 07:41:49 PDT 2008
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