implement legalization of a bunch more operators.
authorChris Lattner <sabre@nondot.org>
Fri, 7 Jan 2005 21:45:56 +0000 (21:45 +0000)
committerChris Lattner <sabre@nondot.org>
Fri, 7 Jan 2005 21:45:56 +0000 (21:45 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19352 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/SelectionDAG/LegalizeDAG.cpp

index eaf15a32d47fa56b15445b74b8d83153b4296023..cbc2aabc478419e673015e3a947740fecd95a8e0 100644 (file)
@@ -224,6 +224,7 @@ SDOperand SelectionDAGLegalize::LegalizeOp(SDOperand Op) {
   case ISD::EntryToken:
   case ISD::FrameIndex:
   case ISD::GlobalAddress:
+  case ISD::ExternalSymbol:
   case ISD::ConstantPool:
   case ISD::CopyFromReg:            // Nothing to do.
     assert(getTypeAction(Node->getValueType(0)) == Legal &&
@@ -517,6 +518,9 @@ SDOperand SelectionDAGLegalize::LegalizeOp(SDOperand Op) {
   case ISD::AND:
   case ISD::OR:
   case ISD::XOR:
+  case ISD::SHL:
+  case ISD::SRL:
+  case ISD::SRA:
     Tmp1 = LegalizeOp(Node->getOperand(0));   // LHS
     Tmp2 = LegalizeOp(Node->getOperand(1));   // RHS
     if (Tmp1 != Node->getOperand(0) ||
@@ -525,6 +529,8 @@ SDOperand SelectionDAGLegalize::LegalizeOp(SDOperand Op) {
     break;
   case ISD::ZERO_EXTEND:
   case ISD::SIGN_EXTEND:
+  case ISD::FP_EXTEND:
+  case ISD::FP_ROUND:
     switch (getTypeAction(Node->getOperand(0).getValueType())) {
     case Legal:
       Tmp1 = LegalizeOp(Node->getOperand(0));