Compiler flags used for CINT95 on Tandem S5101: * O or -O2 Invoke the global ucode optimizer. * O3 Do all optimizations, including global register allocation. This option must precede all source file arguments. With this option, a ucode object file is created for each C source file and left in a .u file. The newly created ucode object files, the ucode object files specified on the command line, the runtime startup routine, and all of the runtime libraries are ucode linked. Optimization is done on the resulting ucode-linked file and then it is linked as normal, producing an a.out file. No resulting .o file is left from the ucode-linked result as in previous releases. -c cannot be speci-fied with -O3. This flag must be used with the -non_shared flag. * j Compile the specified source programs, and leave the ucode object file output in corresponding files suf-fixed with .u. This switch is non-standard and may not be supported across product lines. * Olimit num Specify the maximum size, in basic blocks, of a rou-tine that will be optimized by the global optimizer. If a routine has more that this number of basic blocks, it will not be optimized and a message will be printed. An option specifying that the global optimizer is to be run (-O, -O2, or -O3) must also be specified. num is assumed to be a decimal number. The default value for num is 1000 basic blocks. * non_shared (-dn is also supported) Specifies that the compiler should build a non-shared object. This is the opposite of -KPIC. Using the -non_shared option causes the linker to search the nonshared subdirectory of each default library search directory, see ld(1). The linker will cause the archive extensions to default to .a instead of to .so. The user must have installed the appropriate non-shared library images. * Wm,arg1[,arg2...] Pass the argument[s] argi to the compiler pass m (umerge). Arguments to the umerge ucode inliner are: * inline_all Inlines all calls in the program. This option should only be used with discretion, since it can create tremendous optimization overhead in the later optimization phases. * inline_to value The default value of this parameter is 0. A positive value of this parameter asks umerge to perform addi-tional inlining of calls to leaf routines up to the specified level, in addition to its automatic deci-sion mechanism. A value of 1 will cause all calls to leaf procedures to be inlined. A value of 2 will additionally cause all calls to procedures that became leaves due to level 1 inlining to be inlined, etc. Under this option, a procedure will become a leaf in the inlined output code if and only if the procedure's maximum distance from a leaf in the call graph is less than or equal to the value of this parameter. This option is not affected by the -noinline option.