This patch adds transforms for

- Single bit tests [http://nondot.org/sabre/LLVMNotes/InstCombine.txt]:

if ((x & C) == 0) x |= C becomes x |= C

if ((x & C) != 0) x ^= C becomes x &= ~C

if ((x & C) == 0) x ^= C becomes x |= C

if ((x & C) != 0) x &= ~C becomes x &= ~C

if ((x & C) == 0) x &= ~C becomes nothing

Z3 Verifications code for above transform

http://rise4fun.com/Z3/Pmsh