diff options
author | Amaury Sechet <deadalnix@gmail.com> | 2018-06-03 12:56:24 +0000 |
---|---|---|
committer | Amaury Sechet <deadalnix@gmail.com> | 2018-06-03 12:56:24 +0000 |
commit | eca21fd4827e55313921c72c67086ca3b2d7220f (patch) | |
tree | 8246a26b1099353ee2bf12ecc26a2365e0cbaf35 /llvm/lib/Target/Lanai | |
parent | 2e678d9a156cf66d2d10932fd7acd08a988dd3db (diff) |
Remove SETCCE use from Lanai's backend
Summary: This creates a small perf regression, but after talking with Jacques Pienaar, he was good with it to get things moving toward removng SETCCE.
Reviewers: jpienaar, bryant
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D47626
Diffstat (limited to 'llvm/lib/Target/Lanai')
-rw-r--r-- | llvm/lib/Target/Lanai/LanaiISelLowering.cpp | 16 | ||||
-rw-r--r-- | llvm/lib/Target/Lanai/LanaiISelLowering.h | 1 |
2 files changed, 0 insertions, 17 deletions
diff --git a/llvm/lib/Target/Lanai/LanaiISelLowering.cpp b/llvm/lib/Target/Lanai/LanaiISelLowering.cpp index 22fcf473d0c..045a897c412 100644 --- a/llvm/lib/Target/Lanai/LanaiISelLowering.cpp +++ b/llvm/lib/Target/Lanai/LanaiISelLowering.cpp @@ -87,7 +87,6 @@ LanaiTargetLowering::LanaiTargetLowering(const TargetMachine &TM, setOperationAction(ISD::BR_JT, MVT::Other, Expand); setOperationAction(ISD::BRCOND, MVT::Other, Expand); setOperationAction(ISD::SETCC, MVT::i32, Custom); - setOperationAction(ISD::SETCCE, MVT::i32, Custom); setOperationAction(ISD::SELECT, MVT::i32, Expand); setOperationAction(ISD::SELECT_CC, MVT::i32, Custom); @@ -193,8 +192,6 @@ SDValue LanaiTargetLowering::LowerOperation(SDValue Op, return LowerSELECT_CC(Op, DAG); case ISD::SETCC: return LowerSETCC(Op, DAG); - case ISD::SETCCE: - return LowerSETCCE(Op, DAG); case ISD::SHL_PARTS: return LowerSHL_PARTS(Op, DAG); case ISD::SRL_PARTS: @@ -969,19 +966,6 @@ SDValue LanaiTargetLowering::LowerMUL(SDValue Op, SelectionDAG &DAG) const { return Res; } -SDValue LanaiTargetLowering::LowerSETCCE(SDValue Op, SelectionDAG &DAG) const { - SDValue LHS = Op.getOperand(0); - SDValue RHS = Op.getOperand(1); - SDValue Carry = Op.getOperand(2); - SDValue Cond = Op.getOperand(3); - SDLoc DL(Op); - - LPCC::CondCode CC = IntCondCCodeToICC(Cond, DL, RHS, DAG); - SDValue TargetCC = DAG.getConstant(CC, DL, MVT::i32); - SDValue Flag = DAG.getNode(LanaiISD::SUBBF, DL, MVT::Glue, LHS, RHS, Carry); - return DAG.getNode(LanaiISD::SETCC, DL, Op.getValueType(), TargetCC, Flag); -} - SDValue LanaiTargetLowering::LowerSETCC(SDValue Op, SelectionDAG &DAG) const { SDValue LHS = Op.getOperand(0); SDValue RHS = Op.getOperand(1); diff --git a/llvm/lib/Target/Lanai/LanaiISelLowering.h b/llvm/lib/Target/Lanai/LanaiISelLowering.h index 46024e6fd50..0cde633cb41 100644 --- a/llvm/lib/Target/Lanai/LanaiISelLowering.h +++ b/llvm/lib/Target/Lanai/LanaiISelLowering.h @@ -87,7 +87,6 @@ public: SDValue LowerRETURNADDR(SDValue Op, SelectionDAG &DAG) const; SDValue LowerSELECT_CC(SDValue Op, SelectionDAG &DAG) const; SDValue LowerSETCC(SDValue Op, SelectionDAG &DAG) const; - SDValue LowerSETCCE(SDValue Op, SelectionDAG &DAG) const; SDValue LowerSHL_PARTS(SDValue Op, SelectionDAG &DAG) const; SDValue LowerSRL_PARTS(SDValue Op, SelectionDAG &DAG) const; SDValue LowerVASTART(SDValue Op, SelectionDAG &DAG) const; |