Hello Erich,
We actually discussed this at EEMBC and decided that putting in
restrict opens up questions like - ok, why not add pragmas for OpenMP?
And while at it, why not other keywords?
In fact, as you say it should be pretty easy for the compiler to know
that the output matrix is not aliased with any of the input matrixes
since they are of different types, and many compilers have an option
that allows you to consider elements of different types as unaliased.
Also, since we specifically allow compilation of all files together,
if you use static memory allocation, the compiler has full information
to be able to do complete alias analysis even without the type
information. The program is small enough that you can run Anderson
points-to analysis easily enough.
Does that help?
Thanks,
- Shay