llvm-6502/lib
Chris Lattner 1add46ddfa Carve out a place in instcombine to put transformations which work knowing that their
result is non-zero.  Implement an example optimization (PR9814), which allows us to
transform:
  A / ((1 << B) >>u 2)
into:
  A >>u (B-2)

which we compile into:

_divu3:                                 ## @divu3
	leal	-2(%rsi), %ecx
	shrl	%cl, %edi
	movl	%edi, %eax
	ret

instead of:

_divu3:                                 ## @divu3
	movb	%sil, %cl
	movl	$1, %esi
	shll	%cl, %esi
	shrl	$2, %esi
	movl	%edi, %eax
	xorl	%edx, %edx
	divl	%esi, %eax
	ret



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131860 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-22 18:18:41 +00:00
..
Analysis Revert commit 131781, to see if it fixes the x86-64 dragonegg buildbot. 2011-05-21 20:54:46 +00:00
Archive
AsmParser Remove unused variables caught by GCC's -Wunused-but-set-variable. 2011-05-03 16:00:27 +00:00
Bitcode It's valid to take the blockaddress of a different function, so remove this 2011-05-06 21:09:44 +00:00
CodeGen eliminate dependence on StandardPasses.h. The code generator's pass pipeline 2011-05-22 00:13:44 +00:00
CompilerDriver
ExecutionEngine Avoid a Twine that referenced a tmp (which proceded to go out of scope before 2011-05-19 00:45:05 +00:00
Linker Set the unnamed_addr only when we're creating a new GV in the dest module. 2011-03-29 23:31:06 +00:00
MC switch to using a smallvector to avoid allocations for most normal size instructions. 2011-05-22 04:53:24 +00:00
Object Remove dead variable pointed out by GCC 4.6 warnings, and reflow this a little 2011-05-02 05:05:29 +00:00
Support fix a bug for hosts without round, PR8893. 2011-05-22 06:03:53 +00:00
Target Fix Bug 9386 - ARM disassembler failed to disassemble conditional bx 2011-05-22 17:51:04 +00:00
Transforms Carve out a place in instcombine to put transformations which work knowing that their 2011-05-22 18:18:41 +00:00
VMCore remove StandardPasses, it has been replaced with PassManagerBuilder 2011-05-22 00:30:45 +00:00
CMakeLists.txt
Makefile