[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