Back in open64 forum this year, there was a common complain: open64 is hard
for new developers to add new optimizations. To reduce this ramp-up cost, we
propose the above changes. We want to 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. We believe this will really benefit
the new developers to add new optimization phases. As a result, we expect to
see more new optimizations coming (more easily).
As the first step, we are not changing every existing optimization
phase to use the proposed method - the original method should work (that's
why we are not changing moving the driver functionality into the component).
While, the new optimizations can use the new mechanism to implement.
Gradually, we will change existing optimizations. With careful
encapsulation, I don't think changing C style phase into C++ code is a
problem.
Thanks,
Min
2010/10/11 "C. Bergström" <cbergst...@pathscale.com>
> Min Zhao wrote:
>
>>
>> Hi,
>>
>> We propose to make changes for componentizing optimization phases in
>> open64 at HP.
>>
>> The primary motivation for componentizing optimization phases is to allow
>> easy and consistent handling of traces, dumps, options and statistics.
>> Adding new optimization phases will be much simplified, which is especially
>> desirable for the newcomers in open64. The ramp-up cost for them will be
>> reduced. In short, to achieve this goal, a base component class is defined.
>> Each optimization phase is derived from base component class.
>>
>> Please find the attached proposal. It describes the motivation and the
>> proposed design details. We really appreciate, if you could send your
>> comments by EOB on Friday, October 15.
>>
>> This deadline is short and the proposal is missing details if you're
> planning to improve the trace data output. I have an experimental patch
> which does this and it's a todo item on our list so do something very
> similar. As part of the planning I think it would be beneficial to make a
> master document which includes a list of every optimization the compiler
> does and if/how it's enabled/disabled. Part of the goal is to reduce the
> threshold for new developers, but a key part of that will be mapping
> optimizations to source code.
>
------------------------------------------------------------------------------
Beautiful is writing same markup. Internet Explorer 9 supports
standards for HTML5, CSS3, SVG 1.1, ECMAScript5, and DOM L2 & L3.
Spend less time writing and rewriting code and more time creating great
experiences on the web. Be a part of the beta today.
http://p.sf.net/sfu/beautyoftheweb
_______________________________________________
Open64-devel mailing list
Open64-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/open64-devel