Take: ``` void foo(void); int il=1000; int main(void) { short t = il; unsigned t1 = t; if (t1 == 0) { #if 1 char b = t1; #else char b = il; #endif if (b != 1) __builtin_unreachable(); foo(); } } ``` The call to foo should be optimized away since `b` is never 1. as il&0xffff and therefor b is always 0.