It looks good. Several comments:

 1.  The requirement of names in comp_driver.cxx to be in sync with enum in 
comp_flags.h seems a bit troublesome.
 2.  It may be desirable for each instance of O64_Component to have its own 
CurrentOptions so that each instance can have the freedom to use non-default 
option values.
 3.  It seems that the design does not give consideration of inheritance among 
optimizations.  For example, if an optimization class can be derived from DCE, 
PRE and etc., we might not want every sub-class has a pointer to driver and 
datastore.

-Mei

________________________________
From: Min Zhao [mailto:[email protected]]
Sent: Wednesday, November 03, 2010 12:06 PM
To: [email protected]
Subject: [Open64-devel] Code Review for phase componentization change

Hi,

As described in our previous proposal, we have made the change for phase 
componentization. Would a gatekeeper please review our change?

The main purpose of our work is to reduce the ramp-up cost for new developers 
to add new optimizations.  We provide a "template" for adding new 
optimizations. This "template" consistently takes care of enabling/disabling 
opt phase, dumping WN (or CFG, ..) before and after each phase, controlling the 
trace, and driver level statistics.

In the following patch, we implement the base component class and driver 
related class. As the first step, we are not changing existing optimization 
phases nor adding new optimizations to use the proposed method.

Also, a document is attached to explain the steps to add a new optimization 
component.

Thanks,

Min Zhao

------------------------------------------------------------------------------
The Next 800 Companies to Lead America's Growth: New Video Whitepaper
David G. Thomson, author of the best-selling book "Blueprint to a 
Billion" shares his insights and actions to help propel your 
business during the next growth cycle. Listen Now!
http://p.sf.net/sfu/SAP-dev2dev
_______________________________________________
Open64-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/open64-devel

Reply via email to