This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Help w/ CFG/loop optimization problem?
- From: Dale Johannesen <dalej at apple dot com>
- To: Roger Sayle <roger at eyesopen dot com>
- Cc: Dale Johannesen <dalej at apple dot com>, gcc-patches at gcc dot gnu dot org
- Date: Tue, 10 Sep 2002 16:04:58 -0700
- Subject: Re: Help w/ CFG/loop optimization problem?
On Tuesday, September 10, 2002, at 03:39 PM, Roger Sayle wrote:
Hi Dale,
Advice?
Spooky! I posted to patch to gcc-patches to fix a similar problem
(CFG vs LOOP) less than an hour after your question.
I saw. Unfortunately your fix didn't fix my case, but I was looking
forward to hearing from you:)
I think I know a possible fix. I believe that the "conditional branch
over an unconditional branch" idiom that GCC's initial RTL generation
uses is a historical artifact. I suspect that GCC now handles long
conditional branches perfectly well, so creating jumps over jumps
does nothing but confuse CFG, which in turn confuses LOOP.
Thanks, I'll look at that. I think it would be more general to have
this
done in the optimization phases if possible, though; users can write
recognizable doloop-able loops in other ways than the usual C idioms.
Of course, some would argue they should be penalized for this.:)