diff options
author | Chris Lattner <sabre@nondot.org> | 2010-09-22 00:11:31 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2010-09-22 00:11:31 +0000 |
commit | 0b79cfee1518b67f1da5cb95a44bb01fa4fad6c6 (patch) | |
tree | 56609dbaa9866ddf498f45316aa7ef8db5e610eb | |
parent | 93c4a5bef780e43552d3b9d702756d3acb7801d2 (diff) |
revert r114386 now that address modes work correctly, we get a nice
call through gs-relative memory now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114510 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Target/X86/X86ISelDAGToDAG.cpp | 4 | ||||
-rw-r--r-- | test/CodeGen/X86/movgs.ll | 8 |
2 files changed, 3 insertions, 9 deletions
diff --git a/lib/Target/X86/X86ISelDAGToDAG.cpp b/lib/Target/X86/X86ISelDAGToDAG.cpp index de1f014d83..5c133f12e4 100644 --- a/lib/Target/X86/X86ISelDAGToDAG.cpp +++ b/lib/Target/X86/X86ISelDAGToDAG.cpp @@ -403,10 +403,6 @@ static bool isCalleeLoad(SDValue Callee, SDValue &Chain, bool HasCallSeq) { LD->getExtensionType() != ISD::NON_EXTLOAD) return false; - // FIXME: Calls can't fold loads through segment registers yet. - if (LD->getPointerInfo().getAddrSpace() > 255) - return false; - // Now let's find the callseq_start. while (HasCallSeq && Chain.getOpcode() != ISD::CALLSEQ_START) { if (!Chain.hasOneUse()) diff --git a/test/CodeGen/X86/movgs.ll b/test/CodeGen/X86/movgs.ll index ed201f36e9..3a249470d4 100644 --- a/test/CodeGen/X86/movgs.ll +++ b/test/CodeGen/X86/movgs.ll @@ -26,10 +26,8 @@ entry: ; rdar://8453210 ; X32: test2: -; X32: movl %gs:(%eax), %eax -; X32: movl %eax, (%esp) -; X32: call *%eax +; X32: movl 16(%esp), %eax +; X32: call *%gs:(%eax) ; X64: test2: -; X64: movq %gs:(%rdi), %rax -; X64: callq *%rax +; X64: callq *%gs:(%rdi) |