bglbv@my-dejanews.com wrote:: trt@cs.duke.edu (Thomas R. Truscott) writes:: > Also, a pointer cast to another type should not be assumed: > to be distinct from the original pointer.

: You are missing the point. If the code you are compiling relies on: pointer type casts, then -OPT:alias=typed is unsafe. Of course there: is C code out there for which this option is unsafe; that is why it: isn't turned on by default!

If type based aliasing works the way restrict does, the compiler is
required to notice that temp aliases with foo in the above
example. (And hence cannot hoist loads from foo above the call to
generate_random_permutation .) The type based aliasing information is
used for initializing the interference information at the function
start.