Alexandre Isoard
aa29afc756
ScalarEvolution: Add URem support
...
In LLVM IR the following code:
%r = urem <ty> %t, %b
is equivalent to:
%q = udiv <ty> %t, %b
%s = mul <ty> nuw %q, %b
%r = sub <ty> nuw %t, %q ; (t / b) * b + (t % b) = t
As UDiv, Mul and Sub are already supported by SCEV, URem can be
implemented with minimal effort this way.
Note: While SRem and SDiv are also related this way, SCEV does not
provides SDiv yet.
llvm-svn: 306695
2017-06-29 16:29:04 +00:00
..
2017-01-15 09:29:27 +00:00
2017-01-15 09:29:27 +00:00
2017-01-15 09:29:27 +00:00
2017-05-26 06:47:04 +00:00
2016-06-30 02:47:28 +00:00
2016-05-11 17:41:41 +00:00
2017-04-24 00:09:46 +00:00
2016-06-08 17:48:36 +00:00
2017-04-30 19:41:19 +00:00
2017-06-29 16:29:04 +00:00
2017-03-31 12:05:30 +00:00
2017-03-31 12:05:30 +00:00
2016-05-29 00:32:17 +00:00
2017-01-15 00:26:18 +00:00
2017-06-15 11:48:21 +00:00
2017-01-26 13:33:17 +00:00
2016-10-20 21:38:39 +00:00
2017-01-11 21:07:15 +00:00
2016-12-19 08:22:17 +00:00
2016-05-29 00:32:17 +00:00
2016-12-19 08:22:17 +00:00
2016-05-25 13:01:33 +00:00
2017-05-22 06:46:04 +00:00
2016-05-29 00:34:42 +00:00
2017-02-14 15:53:12 +00:00
2016-10-21 20:05:21 +00:00
2017-01-18 23:56:42 +00:00
2016-05-29 00:32:17 +00:00
2016-08-09 20:40:03 +00:00
2016-07-11 02:48:23 +00:00
2016-08-09 20:37:50 +00:00
2016-09-14 04:39:50 +00:00
2016-08-25 16:17:18 +00:00
2016-08-25 16:17:18 +00:00
2017-01-31 00:42:42 +00:00
2017-03-23 18:06:09 +00:00
2017-03-23 18:06:09 +00:00
2016-08-05 18:34:14 +00:00
2016-08-05 20:33:49 +00:00
2016-10-21 11:08:48 +00:00
2016-10-21 11:08:48 +00:00
2017-05-22 06:46:04 +00:00
2016-09-16 14:38:13 +00:00
2016-06-09 01:13:59 +00:00
2017-03-20 20:25:46 +00:00
2017-06-29 16:29:04 +00:00
2017-05-03 23:53:38 +00:00
2017-03-16 21:07:38 +00:00