https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66755

            Bug ID: 66755
           Summary: [ARM] TARGET_ASM_OUTPUT_MI_THUNK should be rewritten
                    to an RTL implementation
           Product: gcc
           Version: 6.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: jgreenhalgh at gcc dot gnu.org
                CC: ramana at gcc dot gnu.org
  Target Milestone: ---
              Host: *-*-*
            Target: arm*-*-*

The ARM target has some technical debt, in that it has not updated
TARGET_ASM_OUTPUT_MI_THUNK to an RTL implementation, it continues to write
directly to the assembler file.

For ARM this can mean going through the heavyweight generic thunks
implementation, rather than potentially putting out something much lighter. The
generic implementation is very rarely tested now, as most (heavily tested)
targets define TARGET_ASM_CAN_OUTPUT_MI_THUNK to
hook_bool_const_tree_hwi_hwi_const_tree_true .

See pr66666 for an example where this caused an issue for the ARM target with
copy constructors wrapped through a virtual function call.

Reply via email to