OSDN Git Service

2007-09-26 Richard Guenther <rguenther@suse.de>
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 26 Sep 2007 11:55:17 +0000 (11:55 +0000)
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 26 Sep 2007 11:55:17 +0000 (11:55 +0000)
commit789aa951bbc6a49f791bf5109136335fc33222c5
treef14afdbb50855b11471a4e6e7fc81ee87d8849f1
parent87e673dd513df45b75f6a3b85a65f027a50d5441
2007-09-26  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/30375
PR tree-optimization/33560
* tree-ssa-dse.c (get_use_of_stmt_lhs): Give up on uses
with calls.

Revert
2006-05-22  Aldy Hernandez  <aldyh@redhat.com>

        * tree-ssa-dse.c (aggregate_vardecl_d): New.
        (dse_global_data): Add aggregate_vardecl field.
        (dse_possible_dead_store_p): New.
        Add prev_defvar variable.
        Allow immediate uses and previous immediate uses to differ
        if they are setting different parts of the whole.
        (get_aggregate_vardecl): New.
        (dse_record_partial_aggregate_store): New.
        (dse_whole_aggregate_clobbered_p): New.
        (dse_partial_kill_p): New.
        Call dse_maybe_record_aggregate_store().
        When checking whether a STMT and its USE_STMT refer to the
        same memory address, check also for partial kills that clobber
        the whole.
        Move some variable definitions to the block where they are used.
        (aggregate_vardecl_hash): New.
        (aggregate_vardecl_eq): New.
        (aggregate_vardecl_free): New.
        (aggregate_whole_store_p): New.
        (tree_ssa_dse): Initialize and free aggregate_vardecl.
        Mark which aggregate stores we care about.

* gcc.dg/tree-ssa/complex-4.c: XFAIL.
* gcc.dg/tree-ssa/complex-5.c: Likewise.
* gcc.dg/tree-ssa/ssa-dse-9.c: Likewise.
* gcc.dg/torture/pr30375.c: New testcase.
* gcc.dg/torture/pr33560.c: New testcase.
* gcc.dg/tree-ssa/pr30375.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128810 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/torture/pr30375.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/torture/pr33560.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/tree-ssa/complex-4.c
gcc/testsuite/gcc.dg/tree-ssa/complex-5.c
gcc/testsuite/gcc.dg/tree-ssa/pr30375.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/tree-ssa/ssa-dse-9.c
gcc/tree-ssa-dse.c