This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] RFC: Fix GCSE bug optimization/11440 (3.3 regression)


On Monday 14 July 2003 17:29, Andrew Pinski wrote:
> > Committed.
> >
> > I switched myself into RTL->C converter mode and managed to create a
> > small
> > ugly looking C testcase that shows the bug on powerpc-linux-gnu when
> > executed.
> >
> > OK to commit to mainline and branch?
> >
> > Franz.
> >
> > 	PR optimization/11440
> > 	* gcc.c-torture/execute/20030714-1.c: New testcase.
> >
> > <20030714-1.c>
>
> The test contains invalid code (jumps inside a statement expression to
> the
> outside should be invalid code, there is a PR for documentation on what
> is
> invalid, this code might fail on the tree-ssa branch because of those
> gotos).
>
>    ({
>      ({
>        tmp = this->m_positioned;
>        goto l0;
>        0;
>      });
>
>      l0:
>      0;
>    });
>
> I would change this to be just:
> tmp = this->m_positioned;

Yes, I just read your other post about that and leaving out the goto's and 
statement expressions still produces a working/failing testcase.

Note that the original code resembles the code generated by the C++ frontend 
more closely, it jumps out from the inner block to the outer block. I guess 
for tree-ssa the C++ frontend is already changed. Avoiding all the jump insns 
probably is also a slight compile speed win for C++.

I'll commit the changed testcase.

Franz.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]