On 7/17/06, Daniel Berlin <[EMAIL PROTECTED]> wrote:
Mark Mitchell wrote:
> Rafael EspĂ­ndola wrote:
>>> Some people call this "uninlining".  I've also heard the term
>>> "procedural abstraction".  The generalization is to identify common code
>>> fragments that can be turned into functions.  Then, replace the users of
>>> the common code with function calls.
>> Is this the same as Code Factoring?
>> http://gcc.gnu.org/projects/cfo.html
>
> Yes, that's another name.
>

Although i would hope that a IPA implementation would use a smarter
algorithm than what the RTL code factoring is doing (IE we should just
value number both functions, and we can then factor up to whatever point
the lhs value numbers are the same).

It could even value-number decls based on their mode rather than type, so we
could unify

int foo(int i) { return i; }
long foo(long i) { return i; }

on archs where int == long == SImode.

Richard.

Reply via email to