dcoughlin added a comment. I have some concerns about soundness when the rearrangement may overflow.
Here is an example: void clang_analyzer_eval(int); void foo(signed char A, signed char B) { if (A + 0 >= B + 0) { clang_analyzer_eval(A - 126 == B + 3); // This yields FALSE with this patch } } But for A = 126 and B = -3 the `clang_analyzer_eval` is reachable and should evaluate to true. https://reviews.llvm.org/D35109 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits