Developer Guide and Reference

Contents

auto-ilp32, Qauto-ilp32

Instructs the compiler to analyze the program to determine if there are 64-bit pointers that can be safely shrunk into 32-bit pointers and if there are 64-bit longs (on Linux* systems) that can be safely shrunk into 32-bit longs.
Architecture Restrictions
Only available on Intel® 64 architecture

Syntax

Linux and macOS:
-auto-ilp32
Windows:
/Qauto-ilp32
Arguments
None
Default
OFF
The optimization is not attempted.
Description
This option instructs the compiler to analyze the program to determine if there are 64-bit pointers that can be safely shrunk into 32-bit pointers and if there are 64-bit longs (on Linux* systems) that can be safely shrunk into 32-bit longs.
On
macOS*
systems, you must also specify option
-no-pie
for the optimization to occur.
For this option to be effective, the compiler must be able to optimize using the
[Q]ipo
option and must be able to analyze all library calls or external calls the program makes. This option has no effect on Linux* systems unless you specify setting SSE3 or higher for option
-x
.
This option requires that the size of the program executable never exceeds 2
32
bytes and all data values can be represented within 32 bits. If the program can run correctly in a 32-bit system, these requirements are implicitly satisfied. If the program violates these size restrictions, unpredictable behavior may occur.
Alternate Options
None