This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug tree-optimization/22555] array in struct disables salias subvars for other fields



------- Comment #7 from rguenth at gcc dot gnu dot org  2006-01-14 14:30 -------
Subject: Bug 22555

Author: rguenth
Date: Sat Jan 14 14:30:33 2006
New Revision: 109703

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=109703
Log:
2006-01-14  Richard Guenther  <rguenther@suse.de>

        PR tree-optimization/22548
        PR tree-optimization/22555
        PR tree-optimization/22501
        * Makefile.in (tree-ssa-structalias.o): Depend on $(PARAMS_H).
        * params.def (salias-max-array-elements): New parameter.
        * params.h (SALIAS_MAX_ARRAY_ELEMENTS): Define.
        * doc/invoke.texi (salias-max-array-elements): Document.
        * tree-flow-inline.h (var_can_have_subvars): We also handle
        arrays now.
        * tree-ssa-alias.c (find_used_portions): Handle ARRAY_REF like
        COMPONENT_REF.
        * tree-ssa-structalias.c (params.h): Include.
        (push_fields_onto_fieldstack): Handle ARRAY_TYPE.
        (find_func_aliases): Handle multiple constraints from ARRAY_REF.
        (get_constraint_for): For ADDR_EXPR operating on something
        containing an ARRAY_REF, add all subvars to the solution.
        (handle_ptr_arith): Handle ARRAY_TYPE like RECORD_TYPE types.
        * tree-ssa-operands.c (parse_ssa_operands): Handle ARRAY_REF
        for creating MUST_DEFs.
        (get_expr_operands): Treat ARRAY_REF like COMPONENT_REF wrt subvars.

        * gcc.dg/tree-ssa/alias-4.c: New testcase.
        * gcc.dg/tree-ssa/alias-5.c: Likewise.
        * gcc.dg/tree-ssa/alias-6.c: Likewise.
        * gcc.dg/tree-ssa/alias-7.c: Likewise.
        * gcc.dg/tree-ssa/alias-8.c: Likewise.
        * gcc.dg/tree-ssa/alias-9.c: Likewise.
        * gcc.dg/tree-ssa/alias-10.c: Likewise.
        * gcc.dg/tree-ssa/alias-11.c: Likewise.
        * gcc.dg/tree-ssa/alias-12.c: Likewise.

Added:
    trunk/gcc/testsuite/gcc.dg/tree-ssa/alias-10.c
    trunk/gcc/testsuite/gcc.dg/tree-ssa/alias-11.c
    trunk/gcc/testsuite/gcc.dg/tree-ssa/alias-12.c
    trunk/gcc/testsuite/gcc.dg/tree-ssa/alias-4.c
    trunk/gcc/testsuite/gcc.dg/tree-ssa/alias-5.c
    trunk/gcc/testsuite/gcc.dg/tree-ssa/alias-6.c
    trunk/gcc/testsuite/gcc.dg/tree-ssa/alias-7.c
    trunk/gcc/testsuite/gcc.dg/tree-ssa/alias-8.c
    trunk/gcc/testsuite/gcc.dg/tree-ssa/alias-9.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/Makefile.in
    trunk/gcc/doc/invoke.texi
    trunk/gcc/params.def
    trunk/gcc/params.h
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/tree-flow-inline.h
    trunk/gcc/tree-ssa-alias.c
    trunk/gcc/tree-ssa-operands.c
    trunk/gcc/tree-ssa-structalias.c


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22555


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]