--------------------------------------------------------- Descriptions of options used by HP for SPEC95 Newsletter: --------------------------------------------------------- -Ae Enable ANSI compatibility mode with UNIX extensions. -Ac Compile in a mode compatible with HP-UX releases prior to 7.0. (See "The C Programming Language", First Edition by Kernighan and Ritchie.) -D Set definition for preprocessor. +ESfic Replace millicode calls with in-line code for for indirect calls. +ESlit Put literals in read-only text space. +ESsfc Replace millicode calls with in-line code when performing function pointer comparison. -Wl,-a,archive Link with archive format libraries rather than shared. -Wl,+pi64k Request a particular virtual memory page size that should be used for instructions. Sizes of 4K, 16K, 64K, 256K, 1M, 4M, 16M, 64M, 256M. fastmem.o Replacement for malloc/free that assumes ANSI compliant code. +O1 Perform optimizations within basic blocks only. +O2 Perform +O1 optimizations. In addition perform global optimizations at the procedure level. (Same as -O.) +O3 Perform +O2 optimizations as well as interprocedural global optimizations within a file (including inlining). +O4 Perform +O3 optimizations. Also apply interprocedural optimizations across all files of the program. +Ocachepadcommon Pad common blocks to avoid cache collisions. +Odataprefetch Generate data prefetch instructions for data structures referenced within innermost loops. +Oentrysched Perform instruction scheduling on a subprogram's entry and exit sequences. +O[no]fastaccess Enable [disable] fast access to global data items. +O[no]fltacc Disable [enable] optimizations that cause imprecise floating-point results. +Oinlinebudget=n The +Oinlinebudget option controls the aggressiveness of inlining. n is an integer in the range 1 - 1000000 that specifies the level of aggressiveness as follows: n Meaning = 100 Default level on inlining. > 100 More aggressive inlining. 2 - 99 Less aggressive inlining. = 1 Only inline if it reduces code size. This optimization can occur at optimization levels 3, and 4. The default is +Oinlinebudget=100. +O[no]libcalls Invoke [do not invoke] low call-overhead versions of select library routines. +O[no]limit Suppress [do not suppress] optimizations that significantly increase compile-time or consume enormous amounts of memory. These optimizations can occur at levels 2, 3, and 4. The default is +Olimit. +O[no]loop_unroll Enable [disable] loop unrolling. +O[no]parallel Transform [do not transform] eligible loops for parallel execution on multiprocessor machines. +O[no]parallel_env Compile for a parallel [serial] execution environment. This option does not request parallelization for the target source; rather, it ensures a consistent execution environment for all files in a parallel-executing program. If you want to compile a program for parallel execution, you must compile all of its files with either +Oparallel or +Oparallel_env. Also, any files that are compiled with +Oparallel_env must be linked with +Oparallel. The +Oparallel_env option can be used at optimization level 3 or higher. The default is +Onoparallel_env. +O[no]parmsoverlap Assume that multiple reference parameters do [do not] refer to overlapping memory items. +O[no]ptrs_ansi Supports [does not support] ANSI type pointer aliasing, i.e pointers to char may be aliased to a pointer to any object. [Ref. ANSI Standards Sec 6.3] +Optrs_strongly_typed Assume that all pointers are type safe. +O[no]ptrs_to_globals Optimize with assumption that global variables may [may not] be modified through pointers. +Oregionsched Perform scheduling across branches. +Ostaticprediction Enable static branch prediction. +Ovectorize Replace eligible loops with calls to the vector library. +Owhole_program_mode Hold global variables in registers longer and delete inlined or cloned global procedures. +Oaggressive Apply aggressive optimizations which include scheduling on procedure entry and exit code, replacing standard library calls with inlined code sequences, no auto-initialization of uninitialized local scalar non-static variables, and scheduling beyond basic block boundaries. +Oall Apply all optimizations that would be enabled by specifying +O4, +Oaggressive, and +Onolimit on the same command line. Detailed options countermanding components of +Oall override that component. +DA Generate code for the architecture specified. +P/+I Optimize/Instrument for profile based optimization.