[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.

http://reviews.llvm.org/D7634

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/






More information about the llvm-commits mailing list