[PATCH] D35182: [InstCombine] remove one-use restriction for not (cmp P, A, B) --> cmp P', A, B

Craig Topper via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 10 08:56:38 PDT 2017


craig.topper added a comment.

Are any of the improved tests, cases that wouldn't be improved by my earlier proposal to demorgan logical ops on compare when one side is free to invert and the other side isn't. Which I think avoids the CSE issues.



================
Comment at: test/Transforms/SimplifyCFG/merge-cond-stores.ll:45
 ; CHECK-NEXT:    br i1 [[TMP0]], label [[TMP1:%.*]], label [[TMP2:%.*]]
-; CHECK:         [[DOT:%.*]] = zext i1 [[X2]] to i32
+; CHECK:         [[X3:%.*]] = icmp eq i32 [[B:%.*]], 0
+; CHECK-NEXT:    [[DOT:%.*]] = zext i1 [[X3]] to i32
----------------
This test also got worse, but I guess it will CSE too?


https://reviews.llvm.org/D35182





More information about the llvm-commits mailing list