llvm/lib/Transforms
Chris Lattner 8e76764de8 add one more bitfield optimization, allowing clang to generate
good code on PR4216:

_test_bitfield:                                             ## @test_bitfield
	orl	$32962, %edi
	movl	$4294941946, %eax
	andq	%rdi, %rax
	ret

instead of:

_test_bitfield:
        movl    $4294941696, %ecx
        movl    %edi, %eax
        orl     $194, %edi
        orl     $32768, %eax
        andq    $250, %rdi
        andq    %rax, %rcx
        movq    %rdi, %rax
        orq     %rcx, %rax
        ret

Evan is looking into the remaining andq+imm -> andl optimization.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93147 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-11 06:55:24 +00:00
..
Hello Fix a bunch of little errors that Clang complains about when its being pedantic 2009-12-19 07:05:23 +00:00
InstCombine add one more bitfield optimization, allowing clang to generate 2010-01-11 06:55:24 +00:00
Instrumentation Move remaining stuff to the isInteger predicate. 2010-01-05 21:05:54 +00:00
IPO Be less stingy as to how many selects and phi nodes we 2010-01-07 05:48:42 +00:00
Scalar only factor from expressions whose uses are empty and whose 2010-01-09 06:01:36 +00:00
Utils Fix nondeterministic behavior. 2010-01-10 01:07:22 +00:00
Makefile move instcombine to its own library, it's past time. 2010-01-04 06:23:24 +00:00