llvm-6502/lib
Chris Lattner e70da20f9a implement a readme entry, compiling the code into:
_foo:
	movl	$12, %eax
	andl	4(%esp), %eax
	movl	_array(%eax), %eax
	ret

instead of:

_foo:
	movl	4(%esp), %eax
	shrl	$2, %eax
	andl	$3, %eax
	movl	_array(,%eax,4), %eax
	ret

As it turns out, this triggers all the time, in a wide variety of
situations, for example, I see diffs like this in various programs:

-       movl    8(%eax), %eax
-       shll    $2, %eax
-       andl    $1020, %eax
-       movl    (%esi,%eax), %eax
+       movzbl  8(%eax), %eax
+       movl    (%esi,%eax,4), %eax


-       shll    $2, %edx
-       andl    $1020, %edx
-       movl    (%edi,%edx), %edx
+       andl    $255, %edx
+       movl    (%edi,%edx,4), %edx

Unfortunately, I also see stuff like this, which can be fixed in the
X86 backend:

-       andl    $85, %ebx
-       addl    _bit_count(,%ebx,4), %ebp
+       shll    $2, %ebx
+       andl    $340, %ebx
+       addl    _bit_count(%ebx), %ebp



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44656 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-06 07:33:36 +00:00
..
Analysis Commit 44487 broke bootstrap of llvm-gcc-4.2. It is 2007-12-05 21:03:28 +00:00
Archive finishing touches of bytecode -> bitcode changes. also unbreak Windows 2007-07-06 20:28:40 +00:00
AsmParser Regenerate 2007-12-03 21:01:29 +00:00
Bitcode Applying Anton's binmode fix to the other ofstream too. 2007-12-03 14:50:37 +00:00
CodeGen implement a readme entry, compiling the code into: 2007-12-06 07:33:36 +00:00
Debugger
ExecutionEngine Adjust VStudio files to add JITMemoryManager files + include <cassert> from same. 2007-12-06 02:03:01 +00:00
Linker Fix PR1146: parameter attributes are longer part of 2007-11-27 13:23:08 +00:00
Support Prior commit updated wrong if, apologies. 2007-12-05 13:06:04 +00:00
System Provide hook for _alloca to make JITing on Cygwin slightly happier :) 2007-12-03 05:30:41 +00:00
Target implement a readme entry, compiling the code into: 2007-12-06 07:33:36 +00:00
Transforms simplify some code. 2007-12-06 06:25:04 +00:00
VMCore Commit 44487 broke bootstrap of llvm-gcc-4.2. It is 2007-12-05 21:03:28 +00:00
Makefile