[PATCH] [X86] Combine (cmov (and/or (setcc) (setcc))) into (cmov (cmov))

Matthias Braun matze at braunis.de
Mon Mar 2 11:58:10 PST 2015

I've got some small nitpicks, but LGTM.

Comment at: lib/Target/X86/X86ISelLowering.cpp:21016
@@ +21015,3 @@
+                                           bool &isAnd) {
+  SDValue SetCC0, SetCC1;
I would move this before the switch statement to be closer to the def.

Comment at: lib/Target/X86/X86ISelLowering.cpp:21240
@@ +21239,3 @@
+    X86::CondCode CC0, CC1;
+    bool isAndSetCC = false;
+    if (checkBoolTestAndOrSetCCCombine(Cond, CC0, CC1, Flags, isAndSetCC)) {
I would not initialize this var here and rather make sure that checkBoolTestAndOrSetCCCombine() always sets isAndSetCC if it returns true.



More information about the llvm-commits mailing list