![Intel IXP2400 User Manual Download Page 195](http://html1.mh-extra.com/html/intel/ixp2400/ixp2400_user-manual_2071795195.webp)
Development Tools User’s Guide
195
Intel
®
IXP2400/IXP2800 Network Processors
Microengine C Compiler
-link[linker options]
Calls the microengine image linker (ucld) after successful compilation,
passing any specified linker options. The default linker options are:
“-u 0
-sc 0x00000004:0x00003ff4
-dr 0x00000010:0x07fffffe8
-sr0 0x00000004:0x03fffffc
-sr1 0x00000004:0x03fffffc
-sr2 0x00000004:0x03fffffc
-sr3 0x00000004:0x03fffffc”
-Obn
Inlining control: n=0, none; n=1, explicit (inline functions declared with
__inline or __forceinline (default)); n=2, any (inline functions based on
compiler heuristics, and those declared with __inline or __forceinline)
-On
Optimize for: n=1, size (default); n=2, speed; n=d, debug (turns off
optimizations and inlining, overriding -Obn below).
-Qbigendian
Compile big-endian byte order (default). Compiler adds -DBIGENDIAN,
-ULITTELENDIAN. All other command line BIGENDIAN/
LITTLEENDIAN symbol definitions and undefinitions are ignored.
-Qdefault_sr_channel=<0...3>
Specify the SRAM channel that should be used when allocating
compiler-generated SRAM variables and variables that are specified as
__declspec(sram). The default is channel 0.
-Qerrata
Report when the compiler-generated code triggers a known processor
erratum.
-Qip_no_inlining
Turns off all inter-procedural inlining. Inter-procedural inlining is on by
default.
-Qlittleendian
Compiles little endian byte order. Compiler adds -DLITTLEENDIAN -
UGIBIGENDIAN. All other command line LITTLEENDIAN/BIGENDIAN
symbol definitions and undefinitions are ignored.
-Qliveinfo
Same as "-Qliveinfo=all".
-Qliveinfo=gr,sr,...
Print detailed liveness information for a given set of register classes:
gr: general purpose registers
sr: SRAM read registers
sw: SRAM write registers
srw: SRAM read/write registers
dr: DRAM read registers
dw: DRAM write registers
drw: DRAM read/write registers
nn: neighbor registers (only when -Qnn_mode=1)
sig: signals all: all of the above
-Qlm_start=<n>
Provides a means for user to reserve local memory address [0, n-1] (in
longwords) for direct use in inline assembly. Compiler does not allocate
any variables to this address range.
-Qlm_unsafe_addr
Disables the compiler's use of local memory autoincrement addressing.
Used when user code writes local memory pointers with invalid values.
-Qlmpt_reserve
Reserve local memory base pointer l$index1 for user inline assembly
code.
-Qmapvr
In the assembly dump of list file or uc file, this flag prints out the virtual
register number for register operands. Should not be used with -uc.
Table 8. Supported uccl CLI Option Switches (Continued) (Sheet 2 of 4)
Switch
Definition