[llvm] r357045 - [X86] Simplify some code in matchBitExtract by using ANY_EXTEND.
Craig Topper via llvm-commits
llvm-commits at lists.llvm.org
Tue Mar 26 19:08:03 PDT 2019
Author: ctopper
Date: Tue Mar 26 19:08:03 2019
New Revision: 357045
URL: http://llvm.org/viewvc/llvm-project?rev=357045&view=rev
Log:
[X86] Simplify some code in matchBitExtract by using ANY_EXTEND.
We were manually outputting the code we would get from selecting ANY_EXTEND. We
can save some code by just letting an ANY_EXTEND go through isel on its own.
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=357045&r1=357044&r2=357045&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86ISelDAGToDAG.cpp (original)
+++ llvm/trunk/lib/Target/X86/X86ISelDAGToDAG.cpp Tue Mar 26 19:08:03 2019
@@ -3025,11 +3025,7 @@ bool X86DAGToDAGISel::matchBitExtract(SD
// Great, just emit the the BZHI..
if (XVT != MVT::i32) {
// But have to place the bit count into the wide-enough register first.
- SDValue ImplDef = SDValue(
- CurDAG->getMachineNode(TargetOpcode::IMPLICIT_DEF, DL, XVT), 0);
- insertDAGNode(*CurDAG, SDValue(Node, 0), ImplDef);
- NBits = CurDAG->getTargetInsertSubreg(X86::sub_32bit, DL, XVT, ImplDef,
- NBits);
+ NBits = CurDAG->getNode(ISD::ANY_EXTEND, DL, XVT, NBits);
insertDAGNode(*CurDAG, SDValue(Node, 0), NBits);
}
@@ -3072,11 +3068,7 @@ bool X86DAGToDAGISel::matchBitExtract(SD
// But have to place the 'control' into the wide-enough register first.
if (XVT != MVT::i32) {
- SDValue ImplDef =
- SDValue(CurDAG->getMachineNode(TargetOpcode::IMPLICIT_DEF, DL, XVT), 0);
- insertDAGNode(*CurDAG, SDValue(Node, 0), ImplDef);
- Control = CurDAG->getTargetInsertSubreg(X86::sub_32bit, DL, XVT, ImplDef,
- Control);
+ Control = CurDAG->getNode(ISD::ANY_EXTEND, DL, XVT, Control);
insertDAGNode(*CurDAG, SDValue(Node, 0), Control);
}
More information about the llvm-commits
mailing list