[Bug rtl-optimization/49169] ARM: optimisations strip the Thumb/ARM mode bit off function pointers

rsandifo at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue Jun 7 07:33:00 GMT 2011


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49169

rsandifo@gcc.gnu.org <rsandifo at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |rsandifo at gcc dot gnu.org

--- Comment #4 from rsandifo at gcc dot gnu.org <rsandifo at gcc dot gnu.org> 2011-06-07 07:32:37 UTC ---
(In reply to comment #3)
> Btw, we finally should introduce a target hook for this I think.

Thanks for the patch in comment #2.  How strongly do you feel
about the hook though?  In PR35705, it sounded like a lot of
targets actually need an opt-out for functions, either because
of ISA encoding (ARM, MIPS, SH) or because of function
descriptors (IA-64, PA, PPC).

I notice that ARM and mcore also have optimisation-dependent
FUNCTION_BOUNDARYs.  Arguably (very arguably) that's a bug,
and they should be using align_functions instead.  But if we
make a deliberate decision to honour DECL_ALIGN on functions,
then FUNCTION_BOUNDARY really will be an ABI property.
I'm just worried that the combination of that and the need
to identify exactly which targets should define the hook
might be more hassle than the optimisation is worth.

You said in that bug that masking function addresses isn't
likely to be a common operation, and TBH, I still agree.

Richard



More information about the Gcc-bugs mailing list