5.1 Introduction to Type-Based Analysis

You can use the -xalias_level option to specify one of seven alias levels. Each
level specifies a certain set of properties about the way you use pointers
in your C program.

As you compile with higher levels of the -xalias_level option, the compiler makes
increasingly extensive assumptions about the pointers in your code. You have greater programming
freedom when the compiler makes fewer assumptions. However, the optimizations that result from
these narrow assumptions may not result in significant runtime performance improvement. If you
code in accordance with the compiler assumptions of the more advanced levels of the
-xalias_level option, there is a greater chance that the resulting optimizations will enhance
runtime performance.

The -xalias_level option specifies which alias level applies to each translation unit. For cases
where more detail is beneficial, you can use new pragmas to override whatever
alias levels are in effect so that you can explicitly specify the aliasing
relationships between individual types or pointer variables in the translation unit. These pragmas
are most useful when the pointer usage in a translation unit is covered
by one of the available alias levels, but a few specific pointer variables
are used in an irregular way that is not allowed by one of
the available levels.