diff options
author | Chris Lattner <sabre@nondot.org> | 2005-09-29 23:33:31 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2005-09-29 23:33:31 +0000 |
commit | 237733e9335f4d2bb16a818ab184929e12fae407 (patch) | |
tree | d939ac75fec4f83ef11af8f2a4dfa3023ed7e68e | |
parent | 120ab480ab87e449f152e4b36823c13a80c9022a (diff) | |
download | external_llvm-237733e9335f4d2bb16a818ab184929e12fae407.zip external_llvm-237733e9335f4d2bb16a818ab184929e12fae407.tar.gz external_llvm-237733e9335f4d2bb16a818ab184929e12fae407.tar.bz2 |
Remove code for patterns that are autogenerated
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23532 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Target/PowerPC/PPCISelDAGToDAG.cpp | 39 |
1 files changed, 9 insertions, 30 deletions
diff --git a/lib/Target/PowerPC/PPCISelDAGToDAG.cpp b/lib/Target/PowerPC/PPCISelDAGToDAG.cpp index 45da295..190412a 100644 --- a/lib/Target/PowerPC/PPCISelDAGToDAG.cpp +++ b/lib/Target/PowerPC/PPCISelDAGToDAG.cpp @@ -847,9 +847,8 @@ SDOperand PPC32DAGToDAGISel::Select(SDOperand Op) { } } - CurDAG->SelectNodeTo(N, PPC::DIVW, MVT::i32, Select(N->getOperand(0)), - Select(N->getOperand(1))); - return SDOperand(N, 0); + // Other cases are autogenerated. + break; } case ISD::UDIV: { // If this is a divide by constant, we can emit code using some magic @@ -861,9 +860,8 @@ SDOperand PPC32DAGToDAGISel::Select(SDOperand Op) { return Result; } - CurDAG->SelectNodeTo(N, PPC::DIVWU, MVT::i32, Select(N->getOperand(0)), - Select(N->getOperand(1))); - return SDOperand(N, 0); + // Other cases are autogenerated. + break; } case ISD::AND: { unsigned Imm; @@ -884,18 +882,9 @@ SDOperand PPC32DAGToDAGISel::Select(SDOperand Op) { getI32Imm(MB), getI32Imm(ME)); return SDOperand(N, 0); } - // Finally, check for the case where we are being asked to select - // and (not(a), b) or and (a, not(b)) which can be selected as andc. - if (isOprNot(N->getOperand(0).Val)) - CurDAG->SelectNodeTo(N, PPC::ANDC, MVT::i32, Select(N->getOperand(1)), - Select(N->getOperand(0).getOperand(0))); - else if (isOprNot(N->getOperand(1).Val)) - CurDAG->SelectNodeTo(N, PPC::ANDC, MVT::i32, Select(N->getOperand(0)), - Select(N->getOperand(1).getOperand(0))); - else - CurDAG->SelectNodeTo(N, PPC::AND, MVT::i32, Select(N->getOperand(0)), - Select(N->getOperand(1))); - return SDOperand(N, 0); + + // Other cases are autogenerated. + break; } case ISD::OR: if (SDNode *I = SelectBitfieldInsert(N)) @@ -906,18 +895,8 @@ SDOperand PPC32DAGToDAGISel::Select(SDOperand Op) { PPC::ORIS, PPC::ORI)) return CodeGenMap[Op] = SDOperand(I, 0); - // Finally, check for the case where we are being asked to select - // 'or (not(a), b)' or 'or (a, not(b))' which can be selected as orc. - if (isOprNot(N->getOperand(0).Val)) - CurDAG->SelectNodeTo(N, PPC::ORC, MVT::i32, Select(N->getOperand(1)), - Select(N->getOperand(0).getOperand(0))); - else if (isOprNot(N->getOperand(1).Val)) - CurDAG->SelectNodeTo(N, PPC::ORC, MVT::i32, Select(N->getOperand(0)), - Select(N->getOperand(1).getOperand(0))); - else - CurDAG->SelectNodeTo(N, PPC::OR, MVT::i32, Select(N->getOperand(0)), - Select(N->getOperand(1))); - return SDOperand(N, 0); + // Other cases are autogenerated. + break; case ISD::SHL: { unsigned Imm, SH, MB, ME; if (isOpcWithIntImmediate(N->getOperand(0).Val, ISD::AND, Imm) && |