public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* Dropping of old loop optimizer
@ 2003-02-27  1:04 Zdenek Dvorak
  2003-02-27  1:12 ` tm_gccmail
  0 siblings, 1 reply; 33+ messages in thread
From: Zdenek Dvorak @ 2003-02-27  1:04 UTC (permalink / raw)
  To: gcc; +Cc: m.hayes, rth, law, dan, jh

Hello,

I would like to know your opinion on this subject. Why I believe old
loop optimizer should be dropped as soon as possible:
1) It destroys CFG, and thus profile feedback/estimation must be run
   after it. It would be cool to have it available at least in gcse,
   and perhaps other earlier passes too.  This could probably be solved
   by just dropping the part that manipulates CFG (the unroller) and
   relatively simple modification of the rest.
2) It requires the loop notes. The need to preserve them limits and
   complicates some pre-loop passes (cfg_cleanups, copy_loop_headers,
   ...) and enables the loop optimizer to work only for a limited class
   of loops. This does not seem to be fixable without radical rewrite
   of the optimizer.

What the loop optimizer consists of:
-- unroller -- already replaced by new one.
-- doloop optimalization -- can be trivially converted to use the new loop
   infrastructure
-- loop invariant motion -- should be unnecessary with gcse; I am
   currently working on improving gcse so that it indeed is
-- prefetching, strength reduction, induction variable elimination --
   this is a problem. They are way too magic for me to be able to
   just modify them somehow; I would basically have to rewrite them from
   scratch (of course some parts could be used, but anyway it would be
   quite a lot of work)

Any ideas?

Zdenek

^ permalink raw reply	[flat|nested] 33+ messages in thread

end of thread, other threads:[~2003-02-28 20:58 UTC | newest]

Thread overview: 33+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-02-27  1:04 Dropping of old loop optimizer Zdenek Dvorak
2003-02-27  1:12 ` tm_gccmail
2003-02-27  2:27   ` Zdenek Dvorak
2003-02-27  4:07     ` tm_gccmail
2003-02-27  4:24       ` tm_gccmail
2003-02-27 11:47       ` Zdenek Dvorak
2003-02-27 15:48     ` Pop Sébastian
2003-02-27 16:06       ` Daniel Berlin
2003-02-27 16:32         ` Pop Sébastian
2003-02-27 19:43           ` Daniel Berlin
2003-02-28 13:06             ` Pop Sébastian
2003-02-27 17:13         ` Pop Sébastian
2003-02-27 16:59       ` Zdenek Dvorak
2003-02-27 18:30         ` Pop Sébastian
2003-02-27 19:15           ` tree-ssa status (was: Re: Dropping of old loop optimizer) Steven Bosscher
2003-02-27 20:06             ` Diego Novillo
2003-02-27 20:36               ` Steven Bosscher
2003-02-27 21:17                 ` tree-ssa status Zack Weinberg
2003-02-27 21:23                   ` Paul Brook
2003-02-28 21:15                     ` Toon Moene
2003-02-27 22:47                   ` Steven Bosscher
2003-02-27 21:23                 ` tree-ssa status (was: Re: Dropping of old loop optimizer) Diego Novillo
2003-02-27 23:09                   ` law
2003-02-27 23:36                     ` tree-ssa status Zack Weinberg
2003-02-27 23:46                       ` law
2003-02-27 20:45               ` tree-ssa status (was: Re: Dropping of old loop optimizer) Daniel Berlin
2003-02-27 20:57                 ` Diego Novillo
2003-02-27 19:59           ` Dropping of old loop optimizer Daniel Berlin
2003-02-27 20:49             ` Michael Matz
2003-02-28 10:46             ` Jan Hubicka
2003-02-28 13:15               ` Pop Sébastian
2003-02-28 15:29               ` law
2003-02-28 21:56                 ` Daniel Berlin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).