[Bug tree-optimization/66010] [6 Regression] Missed optimization after inlining va_list parameter

vries at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue May 12 09:47:00 GMT 2015


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

--- Comment #8 from vries at gcc dot gnu.org ---
Author: vries
Date: Tue May 12 09:46:47 2015
New Revision: 223054

URL: https://gcc.gnu.org/viewcvs?rev=223054&root=gcc&view=rev
Log:
Don't take address of ap unless necessary

2015-05-12  Tom de Vries  <tom@codesourcery.com>

        PR tree-optimization/66010
        * gimplify.c (gimplify_modify_expr): Handle new do_deref argument of
        ifn_va_arg.
        * gimplify.h (gimplify_va_arg_internal): Remove loc parameter.
        (gimplify_va_arg_internal): Remove loc parameter.  Assert no
array-typed
        va_lists are passed, and remove corresponding handling.
        (gimplify_va_arg_expr): Only take address of ap if necessary.  Add
        do_deref argument to ifn_va_arg.
        * tree-stdarg.c (expand_ifn_va_arg_1): Handle new do_deref argument of
        ifn_va_arg.

        * c-common.c (build_va_arg): Don't mark ap addressable unless
necessary.

        * gcc.dg/tree-ssa/stdarg-2.c: Undo scan xfails for f15.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/c-family/ChangeLog
    trunk/gcc/c-family/c-common.c
    trunk/gcc/gimplify.c
    trunk/gcc/gimplify.h
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/gcc.dg/tree-ssa/stdarg-2.c
    trunk/gcc/tree-stdarg.c



More information about the Gcc-bugs mailing list