When we compare a range against a constant for equality or inequality, there is currently no attempt made to utilize the known bits. This patch adds a method to the irange_bitmask class to ask if a specific value satisfies the known bit pattern.  Operators equal and not_equal then utilize it when comparing to a constant eliiminating a class of cases we don;t currently get. ie. if (x & 1) return; if (x == 97657) foo() will eliminate the call to foo, even though we do not remove all the odd numbers from the range.  THe bit pattern comparison for   [irange] unsigned int [0, 0] [2, +INF] MASK 0xfffffffe VALUE 0x1  will indicate that any even constants will be false. Bootstraps on x86_64-pc-linux-gnu with no regressions.  Pushed. Andrew