re PR tree-optimization/62112 (Optimize out malloc when block is unused or write...
commit8cb65b3725f0c31a3ea5d5b8de37eacba55462f3
authorMarc Glisse <marc.glisse@inria.fr>
Thu, 21 Aug 2014 09:32:21 +0000 (21 11:32 +0200)
committerMarc Glisse <glisse@gcc.gnu.org>
Thu, 21 Aug 2014 09:32:21 +0000 (21 09:32 +0000)
tree773cf046c0dfd55437a213c2c0d6c24b378ad71e
parent31879c2cc7b5d8f302b5020de41b9439ef764b65
re PR tree-optimization/62112 (Optimize out malloc when block is unused or write-only)

2014-08-21  Marc Glisse  <marc.glisse@inria.fr>

PR tree-optimization/62112
gcc/
* gimple-iterator.c (gsi_replace): Return whether EH cleanup is needed.
* gimple-iterator.h (gsi_replace): Return bool.
* tree-ssa-alias.c (ref_may_alias_global_p_1): New helper, code
moved from ref_may_alias_global_p.
(ref_may_alias_global_p, refs_may_alias_p, ref_maybe_used_by_stmt_p):
New overloads.
(ref_maybe_used_by_call_p): Take ao_ref* instead of tree.
(stmt_kills_ref_p_1): Rename...
(stmt_kills_ref_p): ... to this.
* tree-ssa-alias.h (ref_may_alias_global_p, ref_maybe_used_by_stmt_p,
stmt_kills_ref_p): Declare.
* tree-ssa-dse.c (dse_possible_dead_store_p): New argument, use it.
Move the self-assignment case...
(dse_optimize_stmt): ... here. Handle builtin calls. Remove dead code.
gcc/testsuite/
* gcc.dg/tree-ssa/pr62112-1.c: New file.
* gcc.dg/tree-ssa/pr62112-2.c: Likewise.
* gcc.c-torture/execute/pr35472.c: Add noclone attribute.
* gcc.c-torture/execute/20071219-1.c: Likewise.

From-SVN: r214262
gcc/ChangeLog
gcc/gimple-iterator.c
gcc/gimple-iterator.h
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.c-torture/execute/20071219-1.c
gcc/testsuite/gcc.c-torture/execute/pr35472.c
gcc/testsuite/gcc.dg/tree-ssa/pr62112-1.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/tree-ssa/pr62112-2.c [new file with mode: 0644]
gcc/tree-ssa-alias.c
gcc/tree-ssa-alias.h
gcc/tree-ssa-dse.c