diff options
author | Dan Gohman <gohman@apple.com> | 2009-08-10 23:15:10 +0000 |
---|---|---|
committer | Dan Gohman <gohman@apple.com> | 2009-08-10 23:15:10 +0000 |
commit | a407ca16c29b4e91ef3cf9e188ac2e3ab6920cd8 (patch) | |
tree | 9a1bdadf495f4ae9e697fdebf93295cc39c842e5 /lib/Target | |
parent | c5cfea3c022fa819b96f3f96861aac914da9b02e (diff) | |
download | external_llvm-a407ca16c29b4e91ef3cf9e188ac2e3ab6920cd8.zip external_llvm-a407ca16c29b4e91ef3cf9e188ac2e3ab6920cd8.tar.gz external_llvm-a407ca16c29b4e91ef3cf9e188ac2e3ab6920cd8.tar.bz2 |
Fix a bug where DAGCombine was producing an illegal ConstantFP
node after legalize, and remove the workaround code from the
ARM backend.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78615 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target')
-rw-r--r-- | lib/Target/ARM/ARMISelDAGToDAG.cpp | 18 |
1 files changed, 0 insertions, 18 deletions
diff --git a/lib/Target/ARM/ARMISelDAGToDAG.cpp b/lib/Target/ARM/ARMISelDAGToDAG.cpp index 0757529..1096e8e 100644 --- a/lib/Target/ARM/ARMISelDAGToDAG.cpp +++ b/lib/Target/ARM/ARMISelDAGToDAG.cpp @@ -988,24 +988,6 @@ SDNode *ARMDAGToDAGISel::Select(SDValue Op) { // Other cases are autogenerated. break; } - case ISD::ConstantFP: { - ConstantFPSDNode *CFP = cast<ConstantFPSDNode>(N); - EVT VT = CFP->getValueType(0); - ConstantFP *LLVMC = const_cast<ConstantFP*>(CFP->getConstantFPValue()); - SDValue CPIdx = CurDAG->getTargetConstantPool(LLVMC, TLI.getPointerTy()); - SDNode *ResNode; - SDValue Ops[] = { - CPIdx, - CurDAG->getTargetConstant(0, EVT::i32), - getAL(CurDAG), - CurDAG->getRegister(0, EVT::i32), - CurDAG->getEntryNode() - }; - unsigned Opc = (VT == EVT::f32) ? ARM::FLDS : ARM::FLDD; - ResNode=CurDAG->getTargetNode(Opc, dl, VT, EVT::Other, Ops, 5); - ReplaceUses(Op, SDValue(ResNode, 0)); - return NULL; - } case ISD::FrameIndex: { // Selects to ADDri FI, 0 which in turn will become ADDri SP, imm. int FI = cast<FrameIndexSDNode>(N)->getIndex(); |