I don't think it is. It's the same as removing the conditional here:
int foo = 1; if (foo) { // whatever }
I don't think it is. It's the same as removing the conditional here:
The compiler (incorrectly) deduced that the pointer was non-NULL and removed the check because it saw it as unnecessary.