13.07.2015 Views

TASKING VX-toolset for ARM User Guide

TASKING VX-toolset for ARM User Guide

TASKING VX-toolset for ARM User Guide

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>TASKING</strong> <strong>VX</strong>-<strong>toolset</strong> <strong>for</strong> <strong>ARM</strong> <strong>User</strong> <strong>Guide</strong>C compiler option: --max-call-depthMenu entry1. Select C/C++ Compiler » Optimization.2. In the Maximum call depth <strong>for</strong> code compaction field, enter a value.Command line syntax--max-call-depth=valueDefault: -1DescriptionThis option is related to the compiler optimization --optimize=+compact (Code compaction or reverseinlining). Code compaction is the opposite of inlining functions: large sequences of code that occur morethan once, are trans<strong>for</strong>med into a function. This reduces code size (possibly at the cost of executionspeed).During code compaction it is possible that the compiler generates nested calls. This may cause theprogram to run out of its stack. To prevent stack overflow caused by too deeply nested function calls, youcan use this option to limit the call depth. This option can have the following values:-10> 0Poses no limit to the call depth (default)The compiler will not generate any function calls. (Effectively the same as if you turned ofcode compaction with option --optimize=-compact)Code sequences are only reversed if this will not lead to code at a call depth larger thanspecified with value. Function calls will be placed at a call depth no larger than value-1.(Note that if you specified a value of 1, the option --optimize=+compact may remainwithout effect when code sequences <strong>for</strong> reversing contain function calls.)This option does not influence the call depth of user written functions.If you use this option with various C modules, the call depth is valid <strong>for</strong> each individual module.The call depth after linking may differ, depending on the nature of the modules.Related in<strong>for</strong>mationC compiler option --optimize=+compact (Optimization: code compaction)C compiler option --compact-max-size (Maximum size of a match <strong>for</strong> code compaction)332

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!