The following are the switches/options used by SGI for the recent SPEC95 submission: general description: -LNO option specific to the Loop Nest Optimizer -IPA option specific to the InterProcedural Analyzer -TENV option group for compilation target environment -TARG option group for compilation target machine -OPT option group which control optimization choices -W{l,K} option group to pass specific option to individual pass directly l for linker K for KAP (-WK is equivalent to -sopt option) specific description: alias=typed Apply ANSI C Standard section 6.3 to specify those circumstances in which an object may or may not be aliased. depth=[n] inline nodes at depth <= n in the call graph. div_split=[true/false] allow changing x/y into x*(recip(y)) fold_arith_limit=[n] Maximum # of instructions in a basic block for aggressive symbolic expression simplification to be enabled fusion=2 apply loop fusion aggressively. IEEE_arith=[n] specify level of conformance to IEEE 754 floating pointing roundoff/overflow behavior. At level 3, all mathematically valid transformation is allowed. inlining do inlining (KAP) min_freq=[n] When profiling information is available, a procedure must be invoked more than n/100 % of the total cycle time before it will be inlined. pr=[processor] compile using ISA specific to the processor specified. prefetch=0 disable generation of prefetches pad_common/ ivpad reorganize common block to improve cache access to members of common block. This may involve adding padding between members and/or breaking a common block into a collection of common blocks. o=[n] global optimize level n (KAP) Ofast[=ipxx] Use optimizations selected to maximize performance for the given SGI target platform IPxx. The optimizations may differ for the various platforms, and will always enable the full instruction set of the target platform (e.g. -mips4 for an R10000). Although the optimizations are generally safe, they may affect floating point accuracy due to rearrangement of computations Olimit=[n] disable optimization when size of program unit is > n. When n is 0, program unit size is ignored and optimization process will not be disabled due to compile time limit. plimit=[n] inline calls to a procedure until the procedure has grown to size of n r=[n] roundoff level n (KAP) rela_freq=[n] When profiling information is available, for each caller/callee pair, the callee is inlined only if it is invoked more than n% of the time when the caller is invoked. roundoff=[n] Specify the level of acceptable deviation from source order floating point roundoff and overflow behavior. At level 3, any mathematically valid transformation is enabled. small_pu=[n] procedure with size smaller than n is not subjected to the plimit so=[n] scalar optimize level n (KAP) space=[n] inline until a program expansion of n% is reached unroll_times_max=[n] unroll inner loops by a maximum of n unroll_size=[n] sets the ceiling of maximum number of instructions for an unrolled inner loop. If n = 0, the ceiling is disregarded. unroll_analysis=[on/off] perform unrolling of inner loops by analysing resource and processor specifics. v6 use v6.0 version of compiler (rag).