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
..
2011-01-16 08:09:24 +00:00
2011-03-11 21:52:04 +00:00
2011-01-16 17:05:09 +00:00
2011-04-15 05:18:47 +00:00
2011-01-16 21:57:20 +00:00
2011-05-22 01:16:00 +00:00
2011-03-30 21:37:19 +00:00
2011-01-03 23:38:13 +00:00
2010-11-10 01:02:18 +00:00
2011-05-22 07:15:13 +00:00
2011-05-22 07:03:34 +00:00
2011-04-27 23:00:03 +00:00
2011-05-22 05:31:47 +00:00
2011-05-22 18:18:41 +00:00
2011-05-07 16:56:49 +00:00
2011-03-07 21:28:14 +00:00
2011-04-14 21:35:50 +00:00
2011-03-15 07:41:25 +00:00
2011-04-09 06:55:46 +00:00
2011-02-22 22:25:39 +00:00
2011-05-22 17:39:56 +00:00
2011-04-09 07:25:58 +00:00
2011-03-18 16:50:32 +00:00
2011-05-18 21:02:18 +00:00
2011-02-18 05:05:01 +00:00
2010-11-18 19:59:41 +00:00
2011-01-21 22:07:57 +00:00
2011-02-09 06:32:02 +00:00
2011-04-28 18:15:47 +00:00
2011-04-12 00:11:56 +00:00
2011-05-06 10:30:37 +00:00
2011-04-15 05:18:47 +00:00
2011-05-22 16:24:18 +00:00
2011-03-09 21:27:52 +00:00
2010-10-18 18:04:47 +00:00
2011-05-16 03:05:33 +00:00
2011-05-06 18:24:46 +00:00