Update
authorEvan Cheng <evan.cheng@apple.com>
Tue, 5 Dec 2006 03:58:23 +0000 (03:58 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Tue, 5 Dec 2006 03:58:23 +0000 (03:58 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32214 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/README-X86-64.txt

index af3e2732371a286847305c9675dd624f457c60d1..a0ed3a3194bc8299cd8f9bae5a546a6c34db7cad 100644 (file)
@@ -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