[llvm] r324864 - [X86] Remove check for X86ISD::AND with no flag users from the TEST instruction immediate shrinking code.

Craig Topper via llvm-commits llvm-commits at lists.llvm.org
Sun Feb 11 19:02:01 PST 2018


Author: ctopper
Date: Sun Feb 11 19:02:01 2018
New Revision: 324864

URL: http://llvm.org/viewvc/llvm-project?rev=324864&view=rev
Log:
[X86] Remove check for X86ISD::AND with no flag users from the TEST instruction immediate shrinking code.

We turn X86ISD::AND with no flag users back to ISD::AND in PreprocessISelDAG.

Modified:
    llvm/trunk/lib/Target/X86/X86ISelDAGToDAG.cpp

Modified: llvm/trunk/lib/Target/X86/X86ISelDAGToDAG.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86ISelDAGToDAG.cpp?rev=324864&r1=324863&r2=324864&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86ISelDAGToDAG.cpp (original)
+++ llvm/trunk/lib/Target/X86/X86ISelDAGToDAG.cpp Sun Feb 11 19:02:01 2018
@@ -3080,8 +3080,7 @@ void X86DAGToDAGISel::Select(SDNode *Nod
     // Look for (X86cmp (and $op, $imm), 0) and see if we can convert it to
     // use a smaller encoding.
     // Look past the truncate if CMP is the only use of it.
-    if ((N0.getOpcode() == ISD::AND ||
-         (N0.getResNo() == 0 && N0.getOpcode() == X86ISD::AND)) &&
+    if (N0.getOpcode() == ISD::AND &&
         N0.getNode()->hasOneUse() &&
         N0.getValueType() != MVT::i8 &&
         X86::isZeroNode(N1)) {




More information about the llvm-commits mailing list