Instructs the compiler to analyze the lifetimes of variables on the stack and use the same storage location for variables with non-overlapping lifetimes.
#pragma overlap_locals on | off | reset
The compiler can analyze the lifetime of variables on the stack, either those too large for register storage or those forced on the stack by register spilling, or being marked as volatile, and use the same storage location for variables with non-overlapping lifetimes.
This can dramatically reduce the stack size.
The default setting is on for optimization levels 2 and above.