Aliases: the Optimizer Options
These options work over all of the compilation unit.
-OPT:alias=[any,typed,unnamed,restrict,disjoint]
- any is the default. Any pair of memory references may be aliased.
From the other memory access models, the most important are:
- restrict
- assume that any pair of memory references that are named differently do not point to the same regions in memory
-
-
-
- disjoint
- assume same restrictions as “restrict”, in addition any pointer de-referencing will point to an overlapping region in memory
*p does not alias with *q, q, p or any global variable
*p does not alias with *q, q, p or any global variable
*p does not alias with **q, **p, ***q, etc.