21.1 Optimization Feature Summary

Licensing your compiler entitles you to optimizations that are not available with the Free product. Those optimizations available with the Free and Licensed XC32 compiler are tabulated below. The optimization names are derived from the option that can typically be used to enable or disable them, for example the "Defer pop" optimization can be manually enabled using the -fdefer-pop option if it is not already enabled at the selected optimization level, or disabled using -fno-defer-pop. For details on compiler options used to set optimizations, see 5.7.7 Options for Controlling Optimization.

Table 21-1. License Optimization Features

Free

PRO License

  • Align functions
  • Align labels
  • Align loops
  • Caller saves
  • Cse follow jumps
  • Cse skip blocks
  • Data sections
  • Defer pop
  • Expensive optimizations
  • Function cse
  • Function sections
  • Gcse
  • Gsce lm
  • Gsce sm
  • Inline functions
  • Inline limit
  • Keep inline functions
  • Keep static consts
  • Omit frame pointer
  • Optimize register move
  • Optimize sibling calls
  • Peephole/2
  • Rename registers
  • Rerun cse after loop
  • Rerun loop opt
  • Schedule insns/2
  • Strength reduce
  • Strict aliasing
  • Thread jumps
  • Toplevel reorder
  • Unroll/all loops
All Free optimizations, plus:
  • Lto
  • Whole program