LTO and Code Compaction \ Reverse Inlining \ Procedure Abstraction?
Richard Guenther
richard.guenther@gmail.com
Mon Jul 17 16:11:00 GMT 2006
On 7/17/06, Daniel Berlin <dberlin@dberlin.org> 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.
More information about the Gcc
mailing list