llvm-6502/lib
Chris Lattner 0a1c997c27 fix an x86 fast isel issue where we'd completely give up on folding an address
when we have a global variable base an an index.  Instead, just give up on
folding the global variable.

Before we'd geenrate:

_test:                                  ## @test
## BB#0:
	movq	_rtx_length@GOTPCREL(%rip), %rax
	leaq	(%rax), %rax
	addq	%rdi, %rax
	movzbl	(%rax), %eax
	ret

now we generate:

_test:                                  ## @test
## BB#0:
	movq	_rtx_length@GOTPCREL(%rip), %rax
	movzbl	(%rax,%rdi), %eax
	ret

The difference is even more significant when there is a scale
involved.

This fixes rdar://9289558 - total fail with addr mode formation at -O0/x86-64


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129664 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-17 17:47:38 +00:00
..
Analysis Introduce support to encode Objective-C property information in debugging information generated for an interface. 2011-04-16 00:11:51 +00:00
Archive
AsmParser
Bitcode
CodeGen fix an oversight which caused us to compile the testcase (and other 2011-04-17 17:12:08 +00:00
CompilerDriver
ExecutionEngine
Linker
MC
Object
Support Introduce support to encode Objective-C property information in debugging information generated for an interface. 2011-04-16 00:11:51 +00:00
Target fix an x86 fast isel issue where we'd completely give up on folding an address 2011-04-17 17:47:38 +00:00
Transforms Rename a misleadingly-named variable. 2011-04-16 14:32:34 +00:00
VMCore
CMakeLists.txt
Makefile