summaryrefslogtreecommitdiff
path: root/lib/Target/X86/README-X86-64.txt
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2006-12-05 19:50:18 +0000
committerEvan Cheng <evan.cheng@apple.com>2006-12-05 19:50:18 +0000
commit28b51439f3b99bac332f32778ef26d000dc85301 (patch)
treec82d851ab39889984f951fdeb012fbaa079bb033 /lib/Target/X86/README-X86-64.txt
parentf2d9ceb5b9dfbd5e50607bab4a87c1244bda0a71 (diff)
downloadllvm-28b51439f3b99bac332f32778ef26d000dc85301.tar.gz
llvm-28b51439f3b99bac332f32778ef26d000dc85301.tar.bz2
llvm-28b51439f3b99bac332f32778ef26d000dc85301.tar.xz
- Switch X86-64 JIT to large code size model.
- Re-enable some codegen niceties for X86-64 static relocation model codegen. - Clean ups, etc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32238 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/X86/README-X86-64.txt')
-rw-r--r--lib/Target/X86/README-X86-64.txt35
1 files changed, 0 insertions, 35 deletions
diff --git a/lib/Target/X86/README-X86-64.txt b/lib/Target/X86/README-X86-64.txt
index a0ed3a3194..44c2e2894d 100644
--- a/lib/Target/X86/README-X86-64.txt
+++ b/lib/Target/X86/README-X86-64.txt
@@ -229,41 +229,6 @@ list so it will be passed in register:
//===---------------------------------------------------------------------===//
-For this:
-
-extern int dst[];
-extern int* ptr;
-
-void test(void) {
- ptr = dst;
-}
-
-We generate this code for static relocation model:
-
-_test:
- leaq _dst(%rip), %rax
- movq %rax, _ptr(%rip)
- ret
-
-If we are in small code model, they we can treat _dst as a 32-bit constant.
- movq $_dst, _ptr(%rip)
-
-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
addressing. Therefore, it is not possible to generate this:
movabsq $__ZTV10polynomialIdE+16, %rax