llvm-6502/test/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
..
ABCD
ADCE
ArgumentPromotion
BlockPlacement
BranchFolding
CodeExtractor
CodeGenPrepare
ConstantMerge
ConstProp fix PR5978 by peeling the loop so that we avoid shifting the 2010-01-08 19:02:23 +00:00
DeadArgElim Delete useless trailing semicolons. 2010-01-05 17:55:26 +00:00
DeadStoreElimination Delete useless trailing semicolons. 2010-01-05 17:55:26 +00:00
FunctionAttrs Fix a README item: have functionattrs look through selects and 2010-01-06 15:37:47 +00:00
GlobalDCE
GlobalOpt fix a globalopt crash on 'bullet' (handling evaluation of a store 2010-01-07 01:16:21 +00:00
GVN Delete useless trailing semicolons. 2010-01-05 17:55:26 +00:00
IndVarSimplify Use WriteAsOperand instead of getName() to print loop header names, 2010-01-09 18:17:45 +00:00
Inline Delete useless trailing semicolons. 2010-01-05 17:55:26 +00:00
InstCombine add one more bitfield optimization, allowing clang to generate 2010-01-11 06:55:24 +00:00
Internalize
IPConstantProp Delete useless trailing semicolons. 2010-01-05 17:55:26 +00:00
JumpThreading
LCSSA
LICM Remove dead debug info intrinsics. 2010-01-05 01:10:40 +00:00
LoopDeletion
LoopIndexSplit Delete useless trailing semicolons. 2010-01-05 17:55:26 +00:00
LoopRotate Delete useless trailing semicolons. 2010-01-05 17:55:26 +00:00
LoopSimplify
LoopStrengthReduce Use WriteAsOperand instead of getName() to print loop header names, 2010-01-09 18:17:45 +00:00
LoopUnroll
LoopUnswitch
LowerInvoke
LowerSetJmp
LowerSwitch
Mem2Reg
MemCpyOpt
MergeFunc
PruneEH Delete useless trailing semicolons. 2010-01-05 17:55:26 +00:00
Reassociate only factor from expressions whose uses are empty and whose 2010-01-09 06:01:36 +00:00
ScalarRepl Delete useless trailing semicolons. 2010-01-05 17:55:26 +00:00
SCCP
SimplifyCFG Delete useless trailing semicolons. 2010-01-05 17:55:26 +00:00
SimplifyLibCalls
SRETPromotion
SSI
StripSymbols
TailCallElim Delete useless trailing semicolons. 2010-01-05 17:55:26 +00:00
TailDup