Earlier quoted context omitted.
AFAIK GCC doesn't add "restrict" to pointers by itself. Fortran semantics mean that pointers are "restrict" by default.
How does this matter when the compiler can see all the source code? It can see what the pointers are pointing to and determine if there is aliasing. Feel free to point out the source code in the shootout where this would somehow not be the case. Shouldn't be hard to find if you focus on the benchmarks where Fortran beats C heavily. Additionally, the argument about restrict is flawed because it can be added to the C c…
p2 = function(p1);
Do p1 and p2 alias? Note: function() is in a *.so file, no source available.
How many times do you have all of the source code available for analysis?