aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2009-08-10 23:15:10 +0000
committerDan Gohman <gohman@apple.com>2009-08-10 23:15:10 +0000
commita407ca16c29b4e91ef3cf9e188ac2e3ab6920cd8 (patch)
tree9a1bdadf495f4ae9e697fdebf93295cc39c842e5 /lib/Target
parentc5cfea3c022fa819b96f3f96861aac914da9b02e (diff)
downloadexternal_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.cpp18
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();