This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PING] Interprocedural Constant Propagation for mainline


Hello,

This patch implements Interprocedural constant propagation (IPCP).
The aim of interprocedural constant propagation (IPCP) is to find which
formal parameters have the same constant value in each invocation 
throughout the program.
The flag fipa-cp enables the IPCP optimization.

This is the first of two patches.
This first patch of IPCP analyzes only local methods (which are not 
externally visible
and whose address is not taken), as annotating the method with 
the formal-is-a-constant info (in the insert/transformation stage of IPCP) 
is 
not safe for non local methods.
The second patch will include method versioning, and IPCP use of it, and 
therefore 
will include analysis of all methods in the program, without any 
restrictions.

I added three files relevant to IPCP:

ipcp.c contains IPCP specific functionality.
ipa-prop.c and ipa-prop.h contain functions/structures that can be also 
used by other 
IPA data flow optimizations. 









Bootstrap and regression tests successfully passed on Linux PowerPC.

Comments are welcome.

Thanks,
Razya

Attachment: changelog.razya
Description: Binary data

Attachment: diff_
Description: Binary data

Attachment: ipcp.c
Description: Binary data

Attachment: ipa-prop.h
Description: Binary data

Attachment: ipa-prop.c
Description: Binary data


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]