I was wondering about the type of information I could tell the compiler with _nassert that will likely improve the optimizations available.
The one I have seen most often is to use it to describe alignment behavior that you know to be true, using either the & or % syntax, e.g.:
_nassert(((int)(x) & 0x3) == 0)
_nassert((int) x % 8 == 0)
In the restrict white paper, it was briefly mentioned that other pieces of information might be useful, e.g.
_nassert(m>0)
Is there a guide to using _nassert (beyond alignment)?
C6000, C6655, C6435, CGT 7.4.12, CCS 5.5.0.00077