re PR middle-end/69547 (no-op array initializer emits an empty loop)
2016-01-29 Richard Biener <rguenther@suse.de> PR tree-optimization/69547 * tree-ssa-dce.c (mark_aliased_reaching_defs_necessary_1): Do not mark clobbers necessary. (mark_all_reaching_defs_necessary_1): Likewise. * g++.dg/tree-ssa/pr69547.C: New testcase. From-SVN: r232976
This commit is contained in:
parent
16b77b321e
commit
d4abfcc561
|
@ -1,3 +1,10 @@
|
|||
2016-01-29 Richard Biener <rguenther@suse.de>
|
||||
|
||||
PR tree-optimization/69547
|
||||
* tree-ssa-dce.c (mark_aliased_reaching_defs_necessary_1):
|
||||
Do not mark clobbers necessary.
|
||||
(mark_all_reaching_defs_necessary_1): Likewise.
|
||||
|
||||
2016-01-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
|
||||
|
||||
* config/s390/s390-c.c (s390_resolve_overloaded_builtin): Format
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2016-01-29 Richard Biener <rguenther@suse.de>
|
||||
|
||||
PR tree-optimization/69547
|
||||
* g++.dg/tree-ssa/pr69547.C: New testcase.
|
||||
|
||||
2016-01-29 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR debug/66869
|
||||
|
|
|
@ -0,0 +1,15 @@
|
|||
// { dg-do compile }
|
||||
// { dg-options "-O2 -fdump-tree-cddce1" }
|
||||
|
||||
struct A { A () { } };
|
||||
|
||||
void foo (void*, int);
|
||||
|
||||
void bar ()
|
||||
{
|
||||
enum { N = 64 };
|
||||
A a [N];
|
||||
foo (&a, N);
|
||||
}
|
||||
|
||||
// { dg-final { scan-tree-dump-not "if" "cddce1" } }
|
|
@ -462,7 +462,8 @@ mark_aliased_reaching_defs_necessary_1 (ao_ref *ref, tree vdef, void *data)
|
|||
gimple *def_stmt = SSA_NAME_DEF_STMT (vdef);
|
||||
|
||||
/* All stmts we visit are necessary. */
|
||||
mark_operand_necessary (vdef);
|
||||
if (! gimple_clobber_p (def_stmt))
|
||||
mark_operand_necessary (vdef);
|
||||
|
||||
/* If the stmt lhs kills ref, then we can stop walking. */
|
||||
if (gimple_has_lhs (def_stmt)
|
||||
|
@ -584,7 +585,8 @@ mark_all_reaching_defs_necessary_1 (ao_ref *ref ATTRIBUTE_UNUSED,
|
|||
}
|
||||
}
|
||||
|
||||
mark_operand_necessary (vdef);
|
||||
if (! gimple_clobber_p (def_stmt))
|
||||
mark_operand_necessary (vdef);
|
||||
|
||||
return false;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue