Re: LTO and Code Compaction \ Reverse Inlining \ Procedure Abstraction?

2006-07-17 Thread Rafael Espíndola
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?

Re: LTO and Code Compaction \ Reverse Inlining \ Procedure Abstraction?

2006-07-17 Thread Mark Mitchell
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

Re: LTO and Code Compaction \ Reverse Inlining \ Procedure Abstraction?

2006-07-17 Thread Daniel Berlin
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

Re: LTO and Code Compaction \ Reverse Inlining \ Procedure Abstraction?

2006-07-17 Thread Richard Guenther
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

Re: LTO and Code Compaction \ Reverse Inlining \ Procedure Abstraction?

2006-07-16 Thread Joern RENNECKE
In http://gcc.gnu.org/ml/gcc/2006-07/msg00362.html, you wrote: Are there any ideas on how and where to add a target and language independent code compaction pass into gcc? I think first you should be more specific about what you are trying to do. DO you only want to match essentially identical

Re: LTO and Code Compaction \ Reverse Inlining \ Procedure Abstraction?

2006-07-16 Thread Mark Mitchell
Miguel Angel wrote: Hello! I have a VERY simple example: int f1 (int i) {i = (i-7)/9+3; return i;} int f2 (int i) {i = (i-7)/9+3; return i;} It could be reduced to: int f1 (int i) {i = (i-7)/9+3; return i;} int f2 (int i) {return f1 (i);} Are there any ideas on how and where to add

LTO and Code Compaction \ Reverse Inlining \ Procedure Abstraction?

2006-07-15 Thread Miguel Angel
Hello! I have a VERY simple example: int f1 (int i) {i = (i-7)/9+3; return i;} int f2 (int i) {i = (i-7)/9+3; return i;} It could be reduced to: int f1 (int i) {i = (i-7)/9+3; return i;} int f2 (int i) {return f1 (i);} Are there any ideas on how and where to add a target and language