I believe you have been using a definition of Friendly C, as seen here: http://blog.regehr.org/archives/1180.
I wasn't aware of that and my idea of it is different.
Aliasing rules help the compiler decide what values have to be reloaded. The stricter those rules less chance there is for pointers to alias the same memory.