----------------------------------------------- Descriptions of options used by HP for CPU2000: ----------------------------------------------- +A Cause the linker ld(1) to use only archive libraries for all occurrences of the -l option. Also inform the C++ run-time environment that no shared libraries will be used by the program. -Ae Enable ANSI compatibility mode with UNIX extensions. -D Set definition for preprocessor. +DA Generate code for the architecture specified. +DS Schedule code for the architecture specified. +ESfic Replace millicode calls with in-line code for for indirect calls. +ESlit Put literals in read-only text space. fastmem.o Replacement for malloc/free that assumes ANSI compliant code. +I/+P Optimize/Instrument for profile based optimization. -K Use static storage for locals instead of stack storage. Same functionality as the +save option. The default is +nosave. Kernel Tunables (Listed separately) +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. +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. +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_block Enable [disable] loopblocking for data cache optimizations. Available at optimization level 3 and above. +O[no]loop_unroll Enable [disable] loop unrolling. +Omultiprocessor Prevent instruction cache prefetching following subroutine returns. This can benefit some multithreaded applications. +noeh Disable exception handling. Note that mixing objects compiled both with and without +noeh can have undesired results. Object destruction, for example, will not be done for objects local to functions compiled with the +noeh option. +O[no]promote_indirect_calls Enable [disable] the promotion of indirect calls to direct calls. (Indirect calls occur with pointers to functions (and virtual calls for C++).) This option can be used at optimization levels 3 and 4. The default is +Onopromote_indirect_calls. +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. +O[no]vectorize 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. -Wl,+FPD Enable sudden underflow (flush to zero) of denormalized values. -Wl,-a,archive Link with archive format libraries rather than shared. ------------------------------- Descriptions of Kernel Tunables ------------------------------- dbc_max_pct Maximum dynamic buffer cache size as a percent of system memory dbc_min_pct Minimum dynamic buffer cache size as a percent of system memory vps_ceiling Maximum System-Selected Page Size (in Kbytes) vps_pagesize Default user page size (in Kbytes)