[PATCH] [ARM] Use function attribute "arm-long-calls"

Renato Golin renato.golin at linaro.org
Thu Apr 30 06:43:09 PDT 2015


Hi Akira,

I think this change makes sense, but let me understand the reason for it first...

Inlining interworking into non-interworking would require emission of BLX in a non-interworking function, which can't happen.

Inlining non-interworking into interworking would possibly convert all BLs into BLXs in the non-interworking part, which could be branching to non-interworking functions, thus not necessarily working as expected. There are cases here that would work, but you're trying yo be conservative.

The other two cases are trivial.

Is that your reasoning? If that's so, the patch looks good to me. Is there anything else?

cheers,
--renato


http://reviews.llvm.org/D9364

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/






More information about the llvm-commits mailing list