Compile Phase Options Sample Clauses
Compile Phase Options. The default options are:
1. perform all machine dependent and independent optimizations
2. do not run the assembly language optimizer (alo563)
3. do not generate debugging information
4. locate data only in the Y data memory space. Run the assembly language optimizer on the assembly language output of -fno-opt Disable all optimizations. -fno-peephole Disable the peephole portion of optimization. -fno-strength-reduce Disable the optimizations of loop strength reduction and elimination of iteration ▇▇▇▇- ▇▇▇▇▇ as well as DSP56300 specific looping optimizations (DO instruction usage, etc.). -fno-defer-pop By default, the compiler will try to defer (delay) restoring the stack pointer upon the return of a function call. The purpose of deferring restoration of the stack pointer is to reduce code size and decrease execution time; however, the stack penetration may increase (see the DSP56300 Family Manual for information on stack overflow). Examples of function calls that will not incur deferred pops whether or not the -fno-- defer-pop option is specified are: • calls as function arguments • calls in conditional expressions • calls inside a statement expression -fforce-addr Force memory address constants to be copied into registers before doing arithmetic on them. The code generated with this option may be better or it may be worse de- pending on the source code. This option forces memory addresses into registers which, in turn, may be handled as common sub-expressions. -finline-functions Attempt to insert all simple functions in-line into their callers. The compiler heuristi- cally decides which functions are simple enough to merit this form of integration. If all calls to a given function are inserted, and the function is declared static, then the function is no longer needed as a separate function and normally is not output as a separate function in assembly code. -fcaller-saves Enable values to be allocated in registers that will be overwritten by function calls by emitting extra instructions to save and restore the registers around such calls. Such allocation is done only when it seems to result in better code than would otherwise be produced. -fkeep-inline-functions Output a separate run-time callable version of the function even if all calls to a given function are integrated and the function is declared static. -fwritable-strings Store string constants in the writable data segment without making them unique. This is for compatibility with old programs whic...
