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

--- Comment #7 from Sebastian Huber <sebastian.hu...@embedded-brains.de> ---
A git bisect indicates this as the bad commit:

commit 14fdd09f470dea253089d6a5b27d7a2c3ab7d67a
Author: segher <segher@138bc75d-0d04-0410-961f-82ee72b054a4>
Date:   Wed Oct 12 15:34:39 2016 +0000

    rs6000: Separate shrink-wrapping

    This implements the hooks for separate shrink-wrapping for rs6000.
    It handles GPRs and LR.  The GPRs get a component number corresponding
    to their register number; LR gets component number 0.


        * config/rs6000/rs6000.c (machine_function): Add new fields
        gpr_is_wrapped_separately and lr_is_wrapped_separately.
        (TARGET_SHRINK_WRAP_GET_SEPARATE_COMPONENTS,
        TARGET_SHRINK_WRAP_COMPONENTS_FOR_BB,
        TARGET_SHRINK_WRAP_DISQUALIFY_COMPONENTS,
        TARGET_SHRINK_WRAP_EMIT_PROLOGUE_COMPONENTS,
        TARGET_SHRINK_WRAP_EMIT_EPILOGUE_COMPONENTS,
        TARGET_SHRINK_WRAP_SET_HANDLED_COMPONENTS): Define.
        (rs6000_get_separate_components): New function.
        (rs6000_components_for_bb): New function.
        (rs6000_disqualify_components): New function.
        (rs6000_emit_prologue_components): New function.
        (rs6000_emit_epilogue_components): New function.
        (rs6000_set_handled_components): New function.
        (rs6000_emit_prologue): Don't emit LR save if lr_is_wrapped_separately.
        Don't emit GPR saves if gpr_is_wrapped_separately for that register.
        (restore_saved_lr): Don't restore LR if lr_is_wrapped_separately.
        (rs6000_emit_epilogue): Don't emit GPR restores if
        gpr_is_wrapped_separately for that register.  Don't make a
        REG_CFA_RESTORE note for registers we did not restore, either.


    git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@241065
138bc75d-0d04-0410-961f-82ee72b054a4

:040000 040000 93015f5b1887799cdee7723b46455953bf087911
61a2a5a9e1f078a49af4930e0f62f5269f18ad86 M      gcc

Reply via email to