diff options
Diffstat (limited to 'lib/Target/X86/X86ISelDAGToDAG.cpp')
-rw-r--r-- | lib/Target/X86/X86ISelDAGToDAG.cpp | 29 |
1 files changed, 0 insertions, 29 deletions
diff --git a/lib/Target/X86/X86ISelDAGToDAG.cpp b/lib/Target/X86/X86ISelDAGToDAG.cpp index 576661df2e..bb8c58ac14 100644 --- a/lib/Target/X86/X86ISelDAGToDAG.cpp +++ b/lib/Target/X86/X86ISelDAGToDAG.cpp @@ -1175,35 +1175,6 @@ SDNode *X86DAGToDAGISel::Select(SDOperand N) { case X86ISD::GlobalBaseReg: return getGlobalBaseReg(); - // FIXME: This is a workaround for a tblgen problem: rdar://5791600 - case X86ISD::RET_FLAG: - if (ConstantSDNode *Amt = dyn_cast<ConstantSDNode>(N.getOperand(1))) { - if (Amt->getSignExtended() != 0) break; - - // Match (X86retflag 0). - SDOperand Chain = N.getOperand(0); - bool HasInFlag = N.getOperand(N.getNumOperands()-1).getValueType() - == MVT::Flag; - SmallVector<SDOperand, 8> Ops0; - AddToISelQueue(Chain); - SDOperand InFlag(0, 0); - if (HasInFlag) { - InFlag = N.getOperand(N.getNumOperands()-1); - AddToISelQueue(InFlag); - } - for (unsigned i = 2, e = N.getNumOperands()-(HasInFlag?1:0); i != e; - ++i) { - AddToISelQueue(N.getOperand(i)); - Ops0.push_back(N.getOperand(i)); - } - Ops0.push_back(Chain); - if (HasInFlag) - Ops0.push_back(InFlag); - return CurDAG->getTargetNode(X86::RET, MVT::Other, - &Ops0[0], Ops0.size()); - } - break; - case ISD::ADD: { // Turn ADD X, c to MOV32ri X+c. This cannot be done with tblgen'd // code and is matched first so to prevent it from being turned into |