We saw users intend to use const int* restrict to indicate the memory pointed to by the pointer is invariant.
This makes sense since restrict means the memory is not aliased by any other pointers whereas const
means the memory does not change.
Mark such pointer or reference as invariant allows more optimization opportunities.
This gives users a way to mark something as invariant.