From dba382b16ae43bf0bfac3e67cf6ffe2f20520ca5 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Wed, 8 Feb 2006 17:47:22 +0000 Subject: [PATCH] add a simple optimization git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26062 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/X86/README.txt | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/lib/Target/X86/README.txt b/lib/Target/X86/README.txt index 8481fa6f2cf..6ff181771be 100644 --- a/lib/Target/X86/README.txt +++ b/lib/Target/X86/README.txt @@ -411,3 +411,19 @@ void clearbit(int *target, int bit) { *target &= ~(1 << bit); } +//===---------------------------------------------------------------------===// + +Easy: Global addresses are not always allowed as immediates. For this: + +int dst = 0; int *ptr = 0; +void foo() { ptr = &dst; } + +we get this: + +_foo: + movl $_dst, %eax + movl %eax, _ptr + ret + +When: "movl $_dst, _ptr" is sufficient. +