------- Comment #27 from rguenth at gcc dot gnu dot org  2007-11-16 14:40 
-------
Subject: Bug 33870

Author: rguenth
Date: Fri Nov 16 14:40:04 2007
New Revision: 130231

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=130231
Log:
2007-11-16  Richard Guenther  <[EMAIL PROTECTED]>

        PR tree-optimization/33870
        * tree.h (struct tree_memory_tag): Add base_for_components flag.
        (struct tree_struct_field_tag): Remove nesting_level field.
        (SFT_NESTING_LEVEL): Remove.
        (SFT_BASE_FOR_COMPONENTS_P): Add.
        * tree-flow.h (struct fieldoff): Remove nesting_level field.  Add
        base_for_components flag.
        (push_fields_onto_fieldstack): Remove nesting_level parameter.
        * tree-ssa-alias.c (create_sft): Likewise.  Add base_for_components
        parameter.
        (create_overlap_variables_for): Deal with it.
        * tree-dfa.c (dump_subvars_for): Likewise.
        (dump_variable): Likewise.
        * tree-ssa-structalias.c (push_fields_onto_fieldstack): Likewise.
        Set base_for_components for first elements of sub-structures.
        (create_variable_info_for): Handle base_for_components.
        (set_uids_in_ptset): Always set SFT_UNPARTITIONABLE_P for
        pointed-to SFTs if SFT_BASE_FOR_COMPONENTS_P is set.
        * tree-ssa-operands.c (ref_nesting_level): Remove.
        (add_vars_for_offset): Remove full_ref parameter, always add
        the offset of the pointed-to SFT.
        (add_virtual_operand): Adjust for changed signature of
        add_vars_for_offset.

        * gcc.dg/torture/pr33870.c: New testcase.

Added:
    trunk/gcc/testsuite/gcc.dg/torture/pr33870.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/tree-dfa.c
    trunk/gcc/tree-flow.h
    trunk/gcc/tree-ssa-alias.c
    trunk/gcc/tree-ssa-operands.c
    trunk/gcc/tree-ssa-structalias.c
    trunk/gcc/tree.h


-- 


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

Reply via email to