[Bug target/81736] Unnecessary save and restore frame pointer with -fno-omit-frame-pointer

aldyh at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Sep 13 16:35:00 GMT 2017


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

--- Comment #10 from Aldy Hernandez <aldyh at gcc dot gnu.org> ---
Author: aldyh
Date: Wed Sep 13 16:35:16 2017
New Revision: 252320

URL: https://gcc.gnu.org/viewcvs?rev=252320&root=gcc&view=rev
Log:
i386: Don't use frame pointer without stack access

When there is no stack access, there is no need to use frame pointer
even if -fno-omit-frame-pointer is used.

gcc/

        PR target/81736
        * config/i386/i386.c (ix86_finalize_stack_realign_flags): Renamed
        to ...
        (ix86_finalize_stack_frame_flags): This.  Also clear
        frame_pointer_needed if -fno-omit-frame-pointer is used without
        stack access.
        (ix86_expand_prologue): Replace ix86_finalize_stack_realign_flags
        with ix86_finalize_stack_frame_flags.
        (ix86_expand_epilogue): Likewise.
        (ix86_expand_split_stack_prologue): Likewise.

gcc/testsuite/

        PR target/81736
        * gcc.target/i386/pr81736-1.c: New test.
        * gcc.target/i386/pr81736-2.c: Likewise.
        * gcc.target/i386/pr81736-3.c: Likewise.
        * gcc.target/i386/pr81736-4.c: Likewise.

Added:
    branches/range-gen2/gcc/testsuite/gcc.target/i386/pr81736-1.c
    branches/range-gen2/gcc/testsuite/gcc.target/i386/pr81736-2.c
    branches/range-gen2/gcc/testsuite/gcc.target/i386/pr81736-3.c
    branches/range-gen2/gcc/testsuite/gcc.target/i386/pr81736-4.c
Modified:
    branches/range-gen2/gcc/ChangeLog
    branches/range-gen2/gcc/config/i386/i386.c
    branches/range-gen2/gcc/testsuite/ChangeLog


More information about the Gcc-bugs mailing list