This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [tree-ssa] Fix typo in last toplev.c change
- From: law at redhat dot com
- To: Diego Novillo <dnovillo at redhat dot com>
- Cc: "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>
- Date: Tue, 10 Jun 2003 22:36:27 -0600
- Subject: Re: [tree-ssa] Fix typo in last toplev.c change
- Reply-to: law at redhat dot com
In message <1055303956.11031.258.camel@frodo.toronto.redhat.com>, Diego Novillo
writes:
>On Tue, 2003-06-10 at 23:46, law@redhat.com wrote:
>
>> [ Ignore the sillyness required to specify the output file for now. The
>> point is we can hook into a specific SSA pass and with relative
>> ease determine if it did its job. ]
>>
>Very good stuff. This is great!
I'm not sure if I'd call it great, but it does allow us to do certain
kinds of testing a lot more easily than before.
>Now we can add a boatload of tests to make sure we don't disable
>optimizations by mistake.
To a point. This kind of infrastructure can find things like failure
to eliminate redundant or dead code. It's lousy for anything related
to code motion since we're just counting occurences of an expression.
>Hmm, I wonder what
>form would false positives take. Say, we are expecting an expression to
>disappear, but it turns out that it's code-motioned somewhere else where
>it makes better sense... anyway, I'm rambling. We'll figure it out when
>we get there.
Well, if we expected an expression to "disappear", then well, it should
go away, code motion isn't the issue. ie, if code is dead, then it
should go away. If it's redundant, then we need to know how
many evaluations are really needed and look for them.
Now for expressions which we expect to motion around via PRE/LCM or
similar techniques we have to do counting *and* expression placement.
The former is easy, the latter is more complex. I don't have a good
scheme in mind for that.
>For the time being, we could start adding lots of simple tests. Dan
>Nicolaescu had a few tests for DCE and CCP that we could now add.
Yes. That was the point. To have a way to test that the existing
optimizers are doing their job.
Jeff