On 10/23/13 02:16, Richard Biener wrote:
On Tue, 22 Oct 2013, Jeff Law wrote:
On 10/22/13 03:58, Tom de Vries wrote:
Richard,
This patch adds a missing check for gimple_vdef in stmt_local_def for the
tail-merge pass.
Bootstrapped and reg-tested on x86_64.
OK for trunk, gcc-4_8-branch?
Thanks,
- Tom
2013-10-22 Tom de Vries <t...@codesourcery.com>
PR tree-optimization/58805
* tree-ssa-tail-merge.c (stmt_local_def): Add gimple_vdef check.
* gcc.dg/pr58805.c: New test.
Doesn't this test belong in an architecture specific directory?
Under what conditions can a statement have a VDEF but not be considered as
having a side effect by gimple_has_side_effects?
It almost seems to me that gimple_has_side_effects may need updating.
You seem to misunderstand "side-effect", for example
*p = 1;
has !gimple_has_side_effects but it has a VDEF. Likewise
*p = const_call_returing_aggregate ();
has !gimple_has_side_effects but it has a VDEF. side-effect is
an effect that is not explicitely represented in the gimple stmt
you look at.
So side effects as in implicit... That makes sense. Thanks for the
clarification.
jeff