[llvm-commits] [llvm-gcc][arm][patch] Lower function signatures a bit more

Sandeep Patel deeppatel1987 at gmail.com
Thu Sep 9 19:33:15 PDT 2010


On Fri, Sep 10, 2010 at 1:15 AM, Rafael Espindola <espindola at google.com> wrote:
>> Great, I was worried that the "long" IR wouldn't be pattern matched back into good machine code.  I think this is a great idea, doing it in clang would really be appreciated!
>
> Sure. Will give it a try when we start using clang. Maybe a bit earlier :-)
>
> So, how do I test this for hard float? If I understand the config
> macros correctly, the check
>
>  if (TARGET_HARD_FLOAT_ABI)
>   return false;
>
> should keep the results unchanged for hard float.

FSF GCC (DragonEgg) has an__attribute__((pcs("aapcs-vfp"))) that could
give you a hard float function without TARGET_HARD_FLOAT_ABI being
set. I haven't yet added this attribute to llvm-gcc or clang yet until
there's a clear need.

Sorry, but I don't have a hard float system to offer for testing at this time.

I did the ABI work partly using a Beagleboard and booting it directly
into each program with a customized newlib. GCC also has test cases
for various parts of the ABI that can be compiled and manually
inspected, which is what I did for many cases. They're in
gcc/testsuite/gcc.target/arm/aapcs and they're far from complete.

deep




More information about the llvm-commits mailing list