SPRUIG8J January 2018 – March 2024
Automatic use of the SE and SA occurs only if the compiler believes that transforming within a loop or loop nest is profitable, which is primarily related to loop iteration counts. As such, using the PROB_ITERATE and MUST_ITERATE pragmas helps to guide this transformation. For further information about these pragmas, see Section 5.8.23 and Section 5.8.30.
Additionally, the compiler does not use an SE or SA if an SE or SA is already used in a function.
To control the behavior of automatic SE and SA on a function-by-function basis, use the FUNCTION_OPTIONS pragma. The following C++ example controls automatic SE and SA behavior for the function that follows the pragma on C7100 devices. For C code, add the function name as the first argument to the pragma. For further information about the FUNCTION_OPTIONS pragma, see Section 5.8.20.
#pragma FUNCTION_OPTIONS("--auto_stream=no_saving --assume_addresses_ok_for_stream")