Chris Lattner fdb19e5887 Fix PR2506 by being a bit more careful about reverse fact propagation when
disproving a condition.  This actually compiles the existing testcase
(udiv_select_to_select_shift) to:

define i64 @test(i64 %X, i1 %Cond) {
entry:
	%divisor1.t = lshr i64 %X, 3		; <i64> [#uses=1]
	%quotient2 = lshr i64 %X, 3		; <i64> [#uses=1]
	%sum = add i64 %divisor1.t, %quotient2		; <i64> [#uses=1]
	ret i64 %sum
}

instead of:

define i64 @test(i64 %X, i1 %Cond) {
entry:
	%quotient1.v = select i1 %Cond, i64 3, i64 4		; <i64> [#uses=1]
	%quotient1 = lshr i64 %X, %quotient1.v		; <i64> [#uses=1]
	%quotient2 = lshr i64 %X, 3		; <i64> [#uses=1]
	%sum = add i64 %quotient1, %quotient2		; <i64> [#uses=1]
	ret i64 %sum
}



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53534 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-14 00:15:52 +00:00
..
2007-04-14 20:13:02 +00:00
2007-04-14 20:13:02 +00:00
2007-04-14 20:13:02 +00:00
2007-04-14 20:13:02 +00:00
2007-04-14 20:13:02 +00:00
2007-04-14 20:13:02 +00:00
2007-04-15 07:38:21 +00:00
2007-04-14 20:13:02 +00:00
2007-04-14 20:13:02 +00:00
2007-05-05 01:59:05 +00:00
2007-05-19 06:50:37 +00:00
2007-11-08 18:45:15 +00:00
2007-11-22 23:47:13 +00:00
2007-12-12 15:21:32 +00:00
2008-03-06 06:50:03 +00:00
2008-05-18 04:11:26 +00:00
2008-05-31 17:10:28 +00:00
2008-07-12 05:04:38 +00:00
2008-05-20 05:46:13 +00:00
2007-08-12 16:55:14 +00:00
2008-03-09 08:16:40 +00:00
2007-04-14 20:13:02 +00:00
2007-04-15 07:38:21 +00:00
2007-04-15 07:38:21 +00:00
2007-04-15 07:38:21 +00:00
2007-04-15 07:38:21 +00:00
2007-04-14 20:13:02 +00:00
2007-04-14 20:13:02 +00:00
2007-04-14 20:13:02 +00:00
2007-04-14 20:13:02 +00:00
2007-04-14 20:13:02 +00:00
2007-04-14 20:13:02 +00:00
2007-04-14 20:13:02 +00:00
2007-04-14 20:13:02 +00:00
2007-04-15 07:38:21 +00:00
2007-04-14 20:13:02 +00:00
2007-04-15 07:38:21 +00:00
2007-04-14 20:13:02 +00:00
2007-04-14 20:13:02 +00:00
2007-04-28 00:54:45 +00:00
2008-03-09 08:16:40 +00:00
2007-04-14 20:13:02 +00:00
2008-03-25 04:26:08 +00:00
2008-05-16 02:59:42 +00:00
2008-03-25 04:26:08 +00:00
2007-04-14 20:13:02 +00:00
2008-03-25 04:26:08 +00:00
2007-04-14 20:13:02 +00:00
2007-10-12 05:29:53 +00:00
2007-04-14 20:13:02 +00:00
2008-03-18 03:45:45 +00:00
2007-08-06 20:04:16 +00:00
2008-05-09 05:19:28 +00:00
2008-03-09 08:16:40 +00:00
2008-03-09 08:16:40 +00:00
2008-05-20 05:46:13 +00:00
2008-05-09 05:19:28 +00:00
2007-04-14 23:00:51 +00:00
2007-04-14 20:13:02 +00:00
2007-04-15 07:38:21 +00:00
2007-04-14 20:13:02 +00:00
2008-03-09 08:16:40 +00:00

This directory contains test cases for the instcombine transformation.  The
dated tests are actual bug tests, whereas the named tests are used to test
for features that the this pass should be capable of performing.