PR target/89093
* config/arm/arm.c (aapcs_vfp_is_call_or_return_candidate): Diagnose
if used with general-regs-only.
(arm_conditional_register_usage): Don't add non-general regs if
general-regs-only.
(arm_valid_target_attribute_rec): Handle general-regs-only.
* config/arm/arm.h (TARGET_HARD_FLOAT): Return false if
general-regs-only.
(TARGET_HARD_FLOAT_SUB): Define.
(TARGET_SOFT_FLOAT): Define as negation of TARGET_HARD_FLOAT_SUB.
(TARGET_REALLY_IWMMXT): Add && !TARGET_GENERAL_REGS_ONLY.
(TARGET_REALLY_IWMMXT2): Likewise.
* config/arm/arm.opt: Add -mgeneral-regs-only.
* doc/extend.texi: Document ARM general-regs-only target.
* doc/invoke.texi: Document ARM -mgeneral-regs-only.
libgcc/
* config/arm/pr-support.c: Add #pragma GCC target("general-regs-only").
* config/arm/unwind-arm.c: Likewise.
* unwind-c.c (PERSONALITY_FUNCTION): Add general-regs-only target
attribute for ARM.
libobjc/
* exception.c (PERSONALITY_FUNCTION): Add general-regs-only target
attribute for ARM.
libphobos/
* libdruntime/gcc/deh.d: Import gcc.attribute.
(personality_fn_attributes): New enum.
(scanLSDA, CONTINUE_UNWINDING, gdc_personality, __gdc_personality):
Add @personality_fn_attributes.
libstdc++-v3/
* libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): Add
general-regs-only target attribute for ARM.
Co-Authored-By: Bernd Edlinger <bernd.edlinger@hotmail.de>
Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r270504
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| Makefile.am | Loading commit data... | |
| Makefile.in | Loading commit data... | |
| array_type_info.cc | Loading commit data... | |
| atexit_arm.cc | Loading commit data... | |
| atexit_thread.cc | Loading commit data... | |
| atomic_lockfree_defines.h | Loading commit data... | |
| bad_alloc.cc | Loading commit data... | |
| bad_array_length.cc | Loading commit data... | |
| bad_array_new.cc | Loading commit data... | |
| bad_cast.cc | Loading commit data... | |
| bad_typeid.cc | Loading commit data... | |
| class_type_info.cc | Loading commit data... | |
| cxxabi.h | Loading commit data... | |
| cxxabi_forced.h | Loading commit data... | |
| cxxabi_init_exception.h | Loading commit data... | |
| del_op.cc | Loading commit data... | |
| del_opa.cc | Loading commit data... | |
| del_opant.cc | Loading commit data... | |
| del_opnt.cc | Loading commit data... | |
| del_ops.cc | Loading commit data... | |
| del_opsa.cc | Loading commit data... | |
| del_opv.cc | Loading commit data... | |
| del_opva.cc | Loading commit data... | |
| del_opvant.cc | Loading commit data... | |
| del_opvnt.cc | Loading commit data... | |
| del_opvs.cc | Loading commit data... | |
| del_opvsa.cc | Loading commit data... | |
| dyncast.cc | Loading commit data... | |
| eh_alloc.cc | Loading commit data... | |
| eh_arm.cc | Loading commit data... | |
| eh_atomics.h | Loading commit data... | |
| eh_aux_runtime.cc | Loading commit data... | |
| eh_call.cc | Loading commit data... | |
| eh_catch.cc | Loading commit data... | |
| eh_exception.cc | Loading commit data... | |
| eh_globals.cc | Loading commit data... | |
| eh_personality.cc | Loading commit data... | |
| eh_ptr.cc | Loading commit data... | |
| eh_term_handler.cc | Loading commit data... | |
| eh_terminate.cc | Loading commit data... | |
| eh_throw.cc | Loading commit data... | |
| eh_tm.cc | Loading commit data... | |
| eh_type.cc | Loading commit data... | |
| eh_unex_handler.cc | Loading commit data... | |
| enum_type_info.cc | Loading commit data... | |
| exception | Loading commit data... | |
| exception.h | Loading commit data... | |
| exception_defines.h | Loading commit data... | |
| exception_ptr.h | Loading commit data... | |
| function_type_info.cc | Loading commit data... | |
| fundamental_type_info.cc | Loading commit data... | |
| guard.cc | Loading commit data... | |
| guard_error.cc | Loading commit data... | |
| hash_bytes.cc | Loading commit data... | |
| hash_bytes.h | Loading commit data... | |
| initializer_list | Loading commit data... | |
| nested_exception.cc | Loading commit data... | |
| nested_exception.h | Loading commit data... | |
| new | Loading commit data... | |
| new_handler.cc | Loading commit data... | |
| new_op.cc | Loading commit data... | |
| new_opa.cc | Loading commit data... | |
| new_opant.cc | Loading commit data... | |
| new_opnt.cc | Loading commit data... | |
| new_opv.cc | Loading commit data... | |
| new_opva.cc | Loading commit data... | |
| new_opvant.cc | Loading commit data... | |
| new_opvnt.cc | Loading commit data... | |
| pbase_type_info.cc | Loading commit data... | |
| pmem_type_info.cc | Loading commit data... | |
| pointer_type_info.cc | Loading commit data... | |
| pure.cc | Loading commit data... | |
| si_class_type_info.cc | Loading commit data... | |
| tinfo.cc | Loading commit data... | |
| tinfo.h | Loading commit data... | |
| tinfo2.cc | Loading commit data... | |
| typeinfo | Loading commit data... | |
| unwind-cxx.h | Loading commit data... | |
| vec.cc | Loading commit data... | |
| vmi_class_type_info.cc | Loading commit data... | |
| vterminate.cc | Loading commit data... | |
| vtv_stubs.cc | Loading commit data... |