summaryrefslogtreecommitdiff
path: root/lib/Target/X86/X86ISelDAGToDAG.cpp
diff options
context:
space:
mode:
authorEric Christopher <echristo@gmail.com>2013-05-31 23:30:45 +0000
committerEric Christopher <echristo@gmail.com>2013-05-31 23:30:45 +0000
commit34431085def8f67db07ccb7485138176bba5a90a (patch)
treeb357981c1612f5cc7071c355a7bc55eb53928fac /lib/Target/X86/X86ISelDAGToDAG.cpp
parent813419ed5a1712ec5b75f157c103e875400f5cc6 (diff)
downloadllvm-34431085def8f67db07ccb7485138176bba5a90a.tar.gz
llvm-34431085def8f67db07ccb7485138176bba5a90a.tar.bz2
llvm-34431085def8f67db07ccb7485138176bba5a90a.tar.xz
Temporarily Revert "X86: change MOV64ri64i32 into MOV32ri64" as it
seems to have caused PR16192 and other JIT related failures. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183059 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/X86/X86ISelDAGToDAG.cpp')
-rw-r--r--lib/Target/X86/X86ISelDAGToDAG.cpp28
1 files changed, 0 insertions, 28 deletions
diff --git a/lib/Target/X86/X86ISelDAGToDAG.cpp b/lib/Target/X86/X86ISelDAGToDAG.cpp
index 02f5fe4952..0b6940ec71 100644
--- a/lib/Target/X86/X86ISelDAGToDAG.cpp
+++ b/lib/Target/X86/X86ISelDAGToDAG.cpp
@@ -200,7 +200,6 @@ namespace {
bool SelectAddr(SDNode *Parent, SDValue N, SDValue &Base,
SDValue &Scale, SDValue &Index, SDValue &Disp,
SDValue &Segment);
- bool SelectMOV64Imm32(SDValue N, SDValue &Imm);
bool SelectLEAAddr(SDValue N, SDValue &Base,
SDValue &Scale, SDValue &Index, SDValue &Disp,
SDValue &Segment);
@@ -1381,33 +1380,6 @@ bool X86DAGToDAGISel::SelectScalarSSELoad(SDNode *Root,
}
-bool X86DAGToDAGISel::SelectMOV64Imm32(SDValue N, SDValue &Imm) {
- if (const ConstantSDNode *CN = dyn_cast<ConstantSDNode>(N)) {
- uint64_t ImmVal = CN->getZExtValue();
- if ((uint32_t)ImmVal != (uint64_t)ImmVal)
- return false;
-
- Imm = CurDAG->getTargetConstant(ImmVal, MVT::i64);
- return true;
- }
-
- // In static codegen with small code model, we can get the address of a label
- // into a register with 'movl'. TableGen has already made sure we're looking
- // at a label of some kind.
- assert(N->getOpcode() == X86ISD::Wrapper && "Unexpected node type for MOV32ri64");
- N = N.getOperand(0);
-
- if (N->getOpcode() != ISD::TargetConstantPool &&
- N->getOpcode() != ISD::TargetJumpTable &&
- N->getOpcode() != ISD::TargetGlobalAddress &&
- N->getOpcode() != ISD::TargetExternalSymbol &&
- N->getOpcode() != ISD::TargetBlockAddress)
- return false;
-
- Imm = N;
- return TM.getCodeModel() == CodeModel::Small;
-}
-
/// SelectLEAAddr - it calls SelectAddr and determines if the maximal addressing
/// mode it matches can be cost effectively emitted as an LEA instruction.
bool X86DAGToDAGISel::SelectLEAAddr(SDValue N,