Balaram Makam
decf72be2d
[InstCombine] Canonicalize icmp instructions based on dominating conditions.
Summary:
This patch canonicalizes conditions based on the constant range information
of the dominating branch condition.
For example:
%cmp = icmp slt i64 %a, 0
br i1 %cmp, label %land.lhs.true, label %lor.rhs
lor.rhs:
%cmp2 = icmp sgt i64 %a, 0
Would now be canonicalized into:
%cmp = icmp slt i64 %a, 0
br i1 %cmp, label %land.lhs.true, label %lor.rhs
lor.rhs:
%cmp2 = icmp ne i64 %a, 0
Reviewers: mcrosier, gberry, t.p.northover, llvm-commits, reames, hfinkel, sanjoy, majnemer
Subscribers: MatzeB, majnemer, mcrosier
Differential Revision: http://reviews.llvm.org/D18841
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@268521 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-04 17:34:20 +00:00
..
2016-04-20 19:05:59 +00:00
2016-04-12 01:05:35 +00:00
2016-04-12 01:44:13 +00:00
2015-12-22 23:57:37 +00:00
2016-04-19 20:51:05 +00:00
2016-05-02 19:43:22 +00:00
2016-04-22 22:06:11 +00:00
2014-06-27 18:19:56 +00:00
2016-04-18 09:17:29 +00:00
2016-04-18 09:17:29 +00:00
2016-05-04 17:34:20 +00:00
2016-04-29 22:03:27 +00:00
2016-04-19 00:17:55 +00:00
2016-05-01 02:23:14 +00:00
2016-01-22 03:30:27 +00:00
2016-04-23 21:08:00 +00:00
2016-05-02 16:45:02 +00:00
2016-04-18 09:17:29 +00:00
2016-02-02 13:52:43 +00:00
2015-06-15 20:30:22 +00:00
2016-04-23 22:29:09 +00:00
2016-04-29 15:22:48 +00:00
2016-04-18 09:17:29 +00:00
2016-02-08 22:49:40 +00:00
2016-04-07 12:32:19 +00:00
2014-03-06 03:50:29 +00:00
2015-09-03 15:41:37 +00:00
2016-04-22 06:37:51 +00:00
2016-04-29 08:07:22 +00:00
2016-03-29 18:56:03 +00:00
2016-04-14 08:47:17 +00:00
2016-01-06 22:55:03 +00:00
2016-04-28 19:21:30 +00:00
2016-04-28 18:04:41 +00:00
2016-04-22 22:06:11 +00:00
2016-04-23 21:08:00 +00:00
2016-01-14 21:06:47 +00:00
2015-11-22 18:03:17 +00:00
2016-04-26 17:11:17 +00:00
2015-08-03 17:26:41 +00:00
2016-04-28 18:15:44 +00:00
2016-04-25 21:09:51 +00:00
2016-01-19 17:28:00 +00:00
2016-04-22 22:24:20 +00:00
2016-04-22 22:06:11 +00:00
2016-03-11 10:22:49 +00:00
2016-04-18 09:17:29 +00:00
2016-04-12 18:05:10 +00:00
2015-10-08 23:49:46 +00:00
2015-12-25 04:06:20 +00:00
2015-12-19 08:52:49 +00:00
2015-06-23 09:49:53 +00:00
2015-09-24 01:00:49 +00:00
2016-04-27 12:51:01 +00:00
2016-01-29 20:50:44 +00:00
2016-03-01 18:01:28 +00:00
2016-04-24 22:23:13 +00:00