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