This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: integrated immediate uses - alpha patch
- From: Richard Guenther <richard dot guenther at gmail dot com>
- To: Andrew MacLeod <amacleod at redhat dot com>
- Cc: Giovanni Bajo <giovannibajo at libero dot it>, gcc-patches <gcc-patches at gcc dot gnu dot org>
- Date: Fri, 15 Oct 2004 14:31:08 +0200
- Subject: Re: integrated immediate uses - alpha patch
- Domainkey-signature: a=rsa-sha1; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:reply-to:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:references; b=JT7Wjp/Mz3q65q5SnIf3qhDtY8d27B2IaYEts7cvCoyBvQww3tMe+8Kciz7RW+2TTiVVGggGJW3ndtIXUPafe53H1+gkkpjAQnvrKI/EP2NjyBf4l9tpBwu5AQMZtV2ik5p3oCDsVuEa1CTzmkQFCzlMjKJJnZzbEL9oiDB9DxM
- References: <1097784216.2833.68.camel@pain> <00c301c4b263$a5f4d950$18422597@bagio> <1097842818.2833.82.camel@pain>
- Reply-to: Richard Guenther <richard dot guenther at gmail dot com>
On Fri, 15 Oct 2004 08:20:18 -0400, Andrew MacLeod <amacleod@redhat.com> wrote:
> On Thu, 2004-10-14 at 23:04, Giovanni Bajo wrote:
>
>
> > Andrew MacLeod wrote:
> >
> > > The only difference is that the SAFE loop allows you to delete and
> > > modify stmts, its just a bit slower because it links a guard into the
> > > list and moves the guard along as you iterate thorugh the list. The
> > > presence of the guard requires you to use
> > >
> > > BREAK_FROM_SAFE_IMM_USE(iter);
> > >
> > > instead of
> > >
> > > break;
> >
> > Did you think about ways to catch about mistakes in this regard in checking
> > builds?
>
> Yes, but it hasn't been implemented yet. In the verify_ssa or
> verify_imm_links (which will be changed an integrated into verify_ssa)
> phase a guard can be identified in the list.
>
> I havent figure out how to avoid the BREAK macro tho. unless we find
> another way to implement the safety aspect. Perhaps something will
> occur to me to someone else eventually.
The only way would be to use iterators and removal of the guard at
iterator destruction. Though this can't be automatic either in C. So use
C++ :)
Richard.