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

--- Comment #12 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by LuluCheng <[email protected]>:

https://gcc.gnu.org/g:8657d76d583f0f87000e9003ba75922f2bbe4455

commit r14-9866-g8657d76d583f0f87000e9003ba75922f2bbe4455
Author: Yang Yujie <[email protected]>
Date:   Mon Apr 8 16:45:13 2024 +0800

    LoongArch: Enable switchable target

    This patch fixes the back-end context switching in cases where functions
    should be built with their own target contexts instead of the
    global one, such as LTO linking and functions with target attributes (TBD).

            PR target/113233

    gcc/ChangeLog:

            * config/loongarch/loongarch.cc (loongarch_reg_init):
            Reinitialize the loongarch_regno_mode_ok cache.
            (loongarch_option_override): Same.
            (loongarch_save_restore_target_globals): Restore target globals.
            (loongarch_set_current_function): Restore the target contexts
            for functions.
            (TARGET_SET_CURRENT_FUNCTION): Define.
            * config/loongarch/loongarch.h (SWITCHABLE_TARGET): Enable
            switchable target context.
            * config/loongarch/loongarch-builtins.cc (loongarch_init_builtins):
            Initialize all builtin functions at startup.
            (loongarch_expand_builtin): Turn assertion of builtin availability
            into a test.

    gcc/testsuite/ChangeLog:

            * lib/target-supports.exp: Define condition loongarch_sx_as.
            * gcc.dg/lto/pr113233_0.c: New test.

Reply via email to