call through gs-relative memory now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114510
91177308-0d34-0410-b5e6-
96231b3b80d8
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())
; 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)