On 18/08/2010 12:37, Steven Bosscher wrote:
On Wed, Aug 18, 2010 at 11:53 AM, Alain Ketterlin
<alain.ketter...@gmail.com>  wrote:

My question is: where do these irreducible loops come from? Which
optimization pass leads to irreducible regions? Thanks in advance for any
pointer.

Questions right back at you: What compiler version are you using? Got
a specific exampe (test case)?

Sure, sorry, forgot that: it's gcc 4.4.3 (the one that comes with Ubuntu Lucid). My test cases are SPEC programs. I haven't been able to extract a simple example, it usually happens on large functions with heavily nested loops.

In older releases of GCC4, jump threading sometimes resulted in
irreducible regions, but more recent GCCs carefully try to avoid them.

Excellent news :-) OK, I'll try the new version and report back what I find. Thanks for the help.

-- Alain.

Reply via email to