This is the mail archive of the
mailing list for the GCC project.
Re: [PATCH, PR58805] Add missing check in stmt_local_def for tail-merge
- From: Jeff Law <law at redhat dot com>
- To: Richard Biener <rguenther at suse dot de>
- Cc: Tom de Vries <Tom_deVries at mentor dot com>, "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>
- Date: Wed, 23 Oct 2013 13:57:26 -0600
- Subject: Re: [PATCH, PR58805] Add missing check in stmt_local_def for tail-merge
- Authentication-results: sourceware.org; auth=none
- References: <52664C2B dot 60400 at mentor dot com> <5266C8F2 dot 9020701 at redhat dot com> <alpine dot LNX dot 2 dot 00 dot 1310231014510 dot 11149 at zhemvz dot fhfr dot qr>
On 10/23/13 02:16, Richard Biener wrote:
So side effects as in implicit... That makes sense. Thanks for the
On Tue, 22 Oct 2013, Jeff Law wrote:
On 10/22/13 03:58, Tom de Vries wrote:
This patch adds a missing check for gimple_vdef in stmt_local_def for the
Bootstrapped and reg-tested on x86_64.
OK for trunk, gcc-4_8-branch?
2013-10-22 Tom de Vries <email@example.com>
* 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.