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

Rafael Espindola espindola at google.com
Thu Sep 9 20:23:56 PDT 2010


> 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.

I don't see that being used in any part of llvm-arm.cpp, for example,

bool llvm_arm_should_pass_or_return_aggregate_in_regs(tree TreeType,
                                                      CallingConv::ID &CC) {
  // Homogeneous aggregates are an AAPCS-VFP feature.
  if ((CC != CallingConv::ARM_AAPCS_VFP) ||
      !(TARGET_AAPCS_BASED && TARGET_VFP && TARGET_HARD_FLOAT_ABI))
    return false;

So checking  TARGET_HARD_FLOAT_ABI is probably consistent with what
the rest of the file does right now.

I don't see gcc/testsuite/gcc.target/arm/aapcs in llvm-gcc, only in
vanilla gcc...

> deep
>


Cheers,
-- 
Rafael Ávila de Espíndola




More information about the llvm-commits mailing list