C.11.31.03 HP C/aC++ Developer's Bundle
B.11.31.03 HP Fortran 90 Compiler
last updated Sep-2007
Selecting one of the following will take you directly to that section:
Perform minimal optimizations.
Perform optimizations within basic blocks only.
Enable interprocedural optimizations across files. This option is ignored at optimization levels +O0 and +O1. It is enabled by default when +O4 or +Ofaster are used. NOTE: Object files produced using this option contain intermediate code in the IELF format. At link time, ld automatically invokes the interprocedural optimizer u2comp if any of the input object files is an IELF file. These IELF object files are intended to be temporary files. They are not guaranteed to be compatible from one version of the compiler to the next.
Instrument the application to enable collection of profile based optimization data. Qualifiers are a comma-separated list of profile collection qualifiers. The profile collection qualifiers are:
Examine the profile database file produced by an instrumented program to perform profile based optimizations on the code. Some optimizations are only enabled when a feedback data file is available.
This option selects +Ofast, but with the optimization level increased to +O4.
This option selects a combination of compilation and link options for optimum execution speed and reasonable build times. Currently implies the following:
This option selects a combination of compilation and link options for optimum execution speed and reasonable build times. Currently implies the following:
Specifies whether shared or archive libraries are searched with the -l option. For archive_shared, the archive form is preferred, but the shared form is allowed.
Request a particular virtual memory page size that should be used for instructions. Sizes of 4K, 16K, 64K, 256K, 1M, 4M, 16M, 64M, 256M, 1G, 4G, D, and L are supported. A size of D allows the kernel to choose what page size should be used. A size of L results in using the largest page size available. The actual page size may vary if the requested size cannot be fulfilled.
Request a particular virtual memory page size that should be used for data. Sizes of 4K, 16K, 64K, 256K, 1M, 4M, 16M, 64M, 256M, 1G, 4G, D, and L are supported. A size of D allows the kernel to choose what page size should be used. A size of L results in using the largest page size available. The actual page size may vary if the requested size cannot be fulfilled.
In 32-bit mode only, cause the data to be placed immediately following the text, and make the text writable. Files of this type cannot be shared.
Enable sudden underflow (flush to zero) of denormalized values.
Sets a flag in the executable which causes the dynamic loader to merge all data segments of shared libraries loaded at startup time into one block. Data segments for each dynamically loaded library will also be merged with the data segments of dependent libraries. This increases run-time performance by allowing the kernel to use larger size page table entries.
Use the instruction scheduler tuned to the model specified. The defined values for model are:
The default model is blended.
Controls the integer overflow assumptions made by the compiler to provide the best runtime performance. The defined values for type are:
Enable [disable] aliasing across types.
Controls the level of floating point optimizations that the compiler may perform. The defined values for level are:
The default is +Ofltacc=default.
Use low-call-overhead versions of select library routines. This option can be used at any level. At optimization level 0 or 1, the default is +Onolibcalls; at optimization level 2 or higher, the default is +Olibcalls.
NOTE: This option is deprecated and may not be supported in future releases. On HP-UX HP Integrity Servers, including a system header file will cause the functions declared therein to be eligible for libcalls transformations, regardless of the state of +O[no]libcalls.
Do not suppress optimizations that significantly increase compile-time or consume enormous amounts of memory.
Link with SmartHeap library. Note: the HP-UX C support library must included first on the link line.
+Odataprefetch=kind
Control generation of data prefetch instructions for data structures referenced within innermost loops. The defined values for kind are:
Optimize with the assumption that subprogram arguments do [do not] refer to the same memory. This option can be used at optimization levels 2, 3, and 4.
Do not generate recovery code for control speculation. The default is +Orecovery. NOTE: For code which writes to uncacheable memory which may not be properly identified as volatile, the +Orecovery option reduces the risk of incorrect behavior.
Do not postpend underscores at the end of definitions of and references to externally visible symbols.
Invoke the HP ANSI C compiler in Extended ANSI mode. Same as -Aa -D_HPUX_SOURCE +e. This would define the names (macros and typedefs) provided by the HP-UX Operating System and, in addition, allows extensions such as C99 features in this release (complex and imaginary data types, STDC pragmas), $ characters in identifier names, sized enums, and sized bit-fields, and 64-bit integral types.
Invoke the HP aC++ compiler in ANSI mode. Turns on newly supported ANSI C++ Standard features like Koenig lookup and correct scoping for variables declared in conditional statements like for-loops.
Invoke the HP Fortran90 compiler.
HP-UX Kernel Tunables:
maxdsiz, maxdsiz_64bit - maximum size (in bytes) of the data segment for any user process
maxssiz, maxssiz_64bit - maximum size (in bytes) of the stack for any user process
maxrsessiz, maxrsessiz_64bit - maximum size (in bytes) of the RSE stack for any user process
HP-UX System Utilities
mpsched - binds processes to cpus or nodes
setboot - display and modify boot variables in stable storage
System Configuration Commands:
cpuconfig - EFI command to enable or disable a processor prior to booting
Additional Notes on partitions and local memory:
The HP Integrity rx7640, rx8640, and Superdome systems
may be configured as one large system or as multiple independent smaller systems via hard parititions
(nPars). Each hard partition consists of one or more cells with their associated processors, memory,
and I/O chassis, and is isolated from events in other partitions. The memory within a partition can
either be assigned to local memory pools for each cell, or to an interleaved pool that is
distributed by cache line across the cells. Partitions and their attributes can be created and
modified via the support management station, or via the nPartition (par*) commands running on an
os instance in a system partition.