From d9ff60b955022954101700f867dcf315ba7d818d Mon Sep 17 00:00:00 2001 From: Evan Cheng Date: Tue, 5 Dec 2006 03:58:23 +0000 Subject: [PATCH] Update git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32214 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/X86/README-X86-64.txt | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lib/Target/X86/README-X86-64.txt b/lib/Target/X86/README-X86-64.txt index af3e2732371..a0ed3a3194b 100644 --- a/lib/Target/X86/README-X86-64.txt +++ b/lib/Target/X86/README-X86-64.txt @@ -252,6 +252,16 @@ Note, however, we should continue to use RIP relative addressing mode as much as possible. The above is actually one byte shorter than movq $_dst, _ptr +A better example is the code from PR1018. We are generating: + leaq xcalloc2(%rip), %rax + movq %rax, 8(%rsp) +when we should be generating: + movq $xcalloc2, 8(%rsp) + +The reason the better codegen isn't done now is support for static small +code model in JIT mode. The JIT cannot ensure that all GV's are placed in the +lower 4G so we are not treating GV labels as 32-bit values. + //===---------------------------------------------------------------------===// Right now the asm printer assumes GlobalAddress are accessed via RIP relative -- 2.34.1