diff options
| author | Chris Lattner <sabre@nondot.org> | 2005-01-07 21:45:56 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2005-01-07 21:45:56 +0000 |
| commit | 32f20bfa93628de3732dd8814e59216caa5c4c54 (patch) | |
| tree | 9e1acca3b53cc5c247fc5df9e4ad6ca65935f8b9 /llvm/lib/CodeGen | |
| parent | e3f06e9945727b84bf4ca8e43622df967cbdc06c (diff) | |
| download | bcm5719-llvm-32f20bfa93628de3732dd8814e59216caa5c4c54.tar.gz bcm5719-llvm-32f20bfa93628de3732dd8814e59216caa5c4c54.zip | |
implement legalization of a bunch more operators.
llvm-svn: 19352
Diffstat (limited to 'llvm/lib/CodeGen')
| -rw-r--r-- | llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp b/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp index eaf15a32d47..cbc2aabc478 100644 --- a/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp @@ -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)); |

