Subversion Repositories Open64

[/] [branches/] [open64-booster/] [osprey/] [be/] [opt/] [opt_main.cxx] - Rev 3950

Rev

Details | Compare with Previous | Blame

Filtering Options

Clear current filter

Rev Log message Author Age Path
3950 Merged trunk changes r3821:3844 -r3848:3850 in to open64-booster branch ravid 332d 03h /branches/open64-booster/osprey/be/opt/opt_main.cxx
3841 Merge trunk changes -r3735:3737 ravid 532d 22h /branches/open64-booster/osprey/be/opt/opt_main.cxx
3832 Merge trunk changes r3681-r3701. ravid 533d 06h /branches/open64-booster/osprey/be/opt/opt_main.cxx
3827 Merge trunk changes r3681-r3701. ravid 537d 03h /branches/open64-booster/osprey/be/opt/opt_main.cxx
3646 Merge trunk changes r3529-3573,3575-3589,3591-3645 into open64-booster branch. dcoakley 704d 15h /branches/open64-booster/osprey/be/opt/opt_main.cxx
3447 Merge trunk changes r3430-3438 into open64-booster branch. dcoakley 877d 12h /branches/open64-booster/osprey/be/opt/opt_main.cxx
3424 Merge trunk changes r3420-3423 into open64-booster branch. dcoakley 893d 13h /branches/open64-booster/osprey/be/opt/opt_main.cxx
3220 Update copyright notices. dcoakley 1074d 13h /branches/open64-booster/osprey/be/opt/opt_main.cxx
3192 dcoakley 1074d 14h /branches/open64-booster/osprey/be/opt/opt_main.cxx
3172 "optimization" about 473.astar (multiversioning + fully-unroll).

Performance impact:
base, 1-copy : astar 3%
peak, 1-copy : astar 4% odd
dcoakley 1074d 14h /branches/open64-booster/osprey/be/opt/opt_main.cxx
3153 This revision is to strip "try" region if the calls in it won't throw exception.

Enabling flag : -WOPT:nothrow_opt={true|false}
Performance impact: dealII gain 1%-2.8%, not sure if it is noise, likely not.

Implementation details:
-----------------------
A call will not throw exception if it falls in one of the following criterias:

1) it is declared so, e.g. "void* malloc(size_t) nothrow()".
2) leave func
3) all callees won't throw exception.
4) TODO: all potential exceptions are caughted by the function, and
won't pass to caller

Following steps are involved in propagating "no-throw" info:
a) In FE, mark a PU "no-throw" if the function's decl tree say so.
it seems g++ FE is quite smart, not only can it take care criteira 1)
and 2), it is able to handle 3) to some extend.

b) In IPA phase, merge no-throw flags.
c) TODO: in IPA phase, prapogate "no-throw" bottom up along call-graph.
c) In preopt/wopt, analyze if current funtion won't throw exception
based on the criteira above.
dcoakley 1074d 14h /branches/open64-booster/osprey/be/opt/opt_main.cxx
3137 Back out a change that separate proactive loop transformation from Pre_Optimizer to recover a perf regression in hmmer dcoakley 1074d 14h /branches/open64-booster/osprey/be/opt/opt_main.cxx
3135 Fix an assertion in debug build dcoakley 1074d 14h /branches/open64-booster/osprey/be/opt/opt_main.cxx
3133 Move proactive loop transformation file to two new files. Also move it out of Pre_Optimizer dcoakley 1074d 14h /branches/open64-booster/osprey/be/opt/opt_main.cxx
3122 Add two optimizations that simplify if-conditions, observed 6~7% performance gain for libquantum. dcoakley 1074d 15h /branches/open64-booster/osprey/be/opt/opt_main.cxx
3107 dcoakley 1074d 16h /branches/open64-booster/osprey/be/opt/opt_main.cxx
2811 Merge changes through r2788 from trunk. dcoakley 1199d 15h /branches/open64-booster/osprey/be/opt/opt_main.cxx
2766 Merge change r2752 from trunk. dcoakley 1221d 14h /branches/open64-booster/osprey/be/opt/opt_main.cxx
2723 Synchronize open64-booster with trunk r2722. dcoakley 1247d 10h /branches/open64-booster/osprey/be/opt/opt_main.cxx
2658 Updates to reassociation pass to use arguments
more effieiciently,handle memory leaks on WHIRL
allocation and then port to use SSA versions instead
of WN_Aux ids enabling the pass to work on SSA form.
dcoakley 1283d 15h /branches/open64-booster/osprey/be/opt/opt_main.cxx

1 2 Next >

Show All