[tree-ssa] Out of SSA status and issues
Michael S. Zick
mszick@goquest.com
Sat May 17 17:19:00 GMT 2003
On Tuesday 13 May 2003 10:28 am, Richard Kenner wrote:
> Consider instead that '*p' is just the name given a register's
> contents. Neither 'i' nor '9' are processor internal. Both are
> external to the cpu. The memory reference for 'i' is source code
> implicit, the memory reference for '*p' is source code explicit.
>
> True, but given caching effects, it's hard to see how *p could be less
> expensive than 'i'.
Six of one and half a dozen of the other. Its a Union.
I am using "Union" in the general sense of either the union of two or
more data structures OR two or more code structures.
In this usage of "Union", an assignment statement is a "Union" -
including the assignment of a function result.
Our terminology and viewpoint differ, but we are talking about the
same thing.
As to the subject of this thread, a link you may find interesting:
<http://www.sac-home.org/>
Not for the specialization of "C" that the compiler processes, but for the
compiler options that allow it to be stopped and dump its internals.
Clipped from the help menu:
OPTIMIZATION OPTIONS:
-ssa use optimizations based on ssa-form.
-no <opt> disable optimization technique <opt>
-do <opt> enable optimization technique <opt>
The following optimization techniques are currently supported:
CF constant folding
INL function inlining
LUR loop unrolling
WLUR with-loop unrolling
LUS loop unswitching
DCR dead code removal
DFR dead function removal
LIR loop invariant removal
CSE common subexpression elimination
WLT with-loop transformation
WLF with-loop folding
DLAW application of the distributive law
IVE index vector elimination
AE array elimination
RCO refcount optimization
UIP update-in-place
AP array padding
APL array placement
TSI tile size inference (blocking)
TSP tile size pragmas (blocking)
MTO multi-thread optimization
SBE syncronisation barrier elimination
PHM private heap management
APS arena preselection (in conjunction with PHM)
RCAO refcount allocation optimiz. (in conjunction with PHM)
MSCA memory size cache adjustment (in conjunction with PHM)
OPT enables/disables all optimizations at once.
Lower case letters may be used to indicate optimization techniques.
Command line arguments are evaluated from left to right, i.e.,
"-no OPT -do INL" disables all optimizations except for
function inlining.
Mike
More information about the Gcc
mailing list