1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 04:02:41 +01:00
llvm-mirror/test
Chris Lattner c467b49c96 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

llvm-svn: 44656
2007-12-06 07:33:36 +00:00
..
Analysis Fix bug in regression tests that ignored stderr output in RUN lines. Updated tests and fixed broken run lines. 2007-11-28 04:57:00 +00:00
Archive
Assembler Fix bug in regression tests that ignored stderr output in RUN lines. Updated tests and fixed broken run lines. 2007-11-28 04:57:00 +00:00
Bindings/Ocaml Fix a typo noticed by Alain Frisch. 2007-12-01 20:59:23 +00:00
Bitcode
BugPoint
C++Frontend
CFrontend New testcase for PR1744 2007-11-28 22:43:34 +00:00
CodeGen implement a readme entry, compiling the code into: 2007-12-06 07:33:36 +00:00
DebugInfo
ExecutionEngine make this test have a deterministic result. 2007-11-28 18:20:49 +00:00
Feature Fix PR1146: parameter attributes are longer part of 2007-11-27 13:23:08 +00:00
FrontendAda
FrontendObjC
Integer Fix PR1146: parameter attributes are longer part of 2007-11-27 13:23:08 +00:00
lib Fix bug in regression tests that ignored stderr output in RUN lines. Updated tests and fixed broken run lines. 2007-11-28 04:57:00 +00:00
Linker
Other
Scripts
TableGen
Transforms If ExitValue operand is also defined in Loop header then 2007-12-03 19:17:21 +00:00
Verifier Change &| to |&. 2007-11-27 00:50:57 +00:00
Makefile
Makefile.tests
TestRunner.sh