[llvm-commits] [llvm] r114510 - in /llvm/trunk: lib/Target/X86/X86ISelDAGToDAG.cpp test/CodeGen/X86/movgs.ll
Chris Lattner
sabre at nondot.org
Tue Sep 21 17:11:32 PDT 2010
Author: lattner
Date: Tue Sep 21 19:11:31 2010
New Revision: 114510
URL: http://llvm.org/viewvc/llvm-project?rev=114510&view=rev
Log:
revert r114386 now that address modes work correctly, we get a nice
call through gs-relative memory now.
Modified:
llvm/trunk/lib/Target/X86/X86ISelDAGToDAG.cpp
llvm/trunk/test/CodeGen/X86/movgs.ll
Modified: llvm/trunk/lib/Target/X86/X86ISelDAGToDAG.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86ISelDAGToDAG.cpp?rev=114510&r1=114509&r2=114510&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86ISelDAGToDAG.cpp (original)
+++ llvm/trunk/lib/Target/X86/X86ISelDAGToDAG.cpp Tue Sep 21 19:11:31 2010
@@ -403,10 +403,6 @@
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())
Modified: llvm/trunk/test/CodeGen/X86/movgs.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/movgs.ll?rev=114510&r1=114509&r2=114510&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/movgs.ll (original)
+++ llvm/trunk/test/CodeGen/X86/movgs.ll Tue Sep 21 19:11:31 2010
@@ -26,10 +26,8 @@
; 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)
More information about the llvm-commits
mailing list