Re: [CFG] what are class 3 edges ?

2007-08-11 Thread Emmanuel Fleury
Hi,

Sunzir Deepur wrote:
> 
> so why are those class 3 edges created at all ?

I didn't see any 3-edges blocks at all in your example.

These extra edges might come from a non-taken path that have been
removed after some further static-analysis of the code. Sorry, but I
didn't take a deeper look at your example.

Regards
-- 
Emmanuel Fleury

Talk is cheap. Show me the code.
  -- Linus Torvalds


Re: RFC: Simplify rules for ctz/clz patterns and RTL

2007-08-11 Thread Richard Kenner
> * Since no one uses it, we rip out all support for the ffs pattern and
> expression.

There's an ffs builtin!  How do we know who uses it?

Moreover, expmed uses it as an option in expanding some comparisons.


Re: reload question

2007-08-11 Thread Paolo Bonzini

Pat Haugen wrote:

Is this being done on purpose (going on assumption that operands are
commutative), such as to allow more opportunities for a successful
allocation with reduced spill?


I think so, but reordering the "else if"s should improve the results.


I've also seen the same situation come up during register renaming
(regrename.c), but not too surprising since the code there says it's based
off find_reloads_address_1() and is coded similarly.


... and likewise here.

Paolo


Re: RFC: Simplify rules for ctz/clz patterns and RTL

2007-08-11 Thread Zack Weinberg

Richard Kenner wrote:

* Since no one uses it, we rip out all support for the ffs pattern and
expression.


There's an ffs builtin!  How do we know who uses it?


I am not proposing to remove the built-in (i.e. the language visible 
__builtin_ffs() function); only the RTL expression (ffs:MODE ...) and 
the named machine description pattern "ffs".



Moreover, expmed uses it as an option in expanding some comparisons.


I see no code in expmed.c that uses either the RTL expression or the 
named pattern.  It does use the optab, but (to reiterate) use of the 
ffs_optab never generates RTL that uses (ffs:MODE).


zw