Roman Lebedev
ee2422df6a
[InstSimplify] Drop leftover "division-by-zero guard" around @llvm.umul.with.overflow overflow bit
...
Summary:
Now that with D65143/D65144 we've produce `@llvm.umul.with.overflow`,
and with D65147 we've flattened the CFG, we now can see that
the guard may have been there to prevent division by zero is redundant.
We can simply drop it:
```
----------------------------------------
Name: no overflow and not zero
%iszero = icmp ne i4 %y, 0
%umul = umul_overflow i4 %x, %y
%umul.ov = extractvalue {i4, i1} %umul, 1
%retval.0 = and i1 %iszero, %umul.ov
ret i1 %retval.0
=>
%iszero = icmp ne i4 %y, 0
%umul = umul_overflow i4 %x, %y
%umul.ov = extractvalue {i4, i1} %umul, 1
%retval.0 = and i1 %iszero, %umul.ov
ret %umul.ov
Done: 1
Optimization is correct!
```
Reviewers: nikic, spatel, xbolva00
Reviewed By: spatel
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D65150
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@370350 91177308-0d34-0410-b5e6-96231b3b80d8
2019-08-29 12:47:50 +00:00
..
2019-07-16 15:28:29 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-08-23 02:17:04 +00:00
2019-08-03 14:28:34 +00:00
2019-06-17 09:51:07 +00:00
2019-04-17 04:52:47 +00:00
2019-08-20 14:46:02 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-05-29 16:59:48 +00:00
2019-04-17 04:52:47 +00:00
2019-07-10 16:32:20 +00:00
2019-08-16 23:10:34 +00:00
2019-07-09 10:56:18 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-08-15 00:48:51 +00:00
2019-06-24 20:13:13 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-07-28 06:09:56 +00:00
2019-07-28 06:09:56 +00:00
2019-07-31 12:06:51 +00:00
2019-08-07 14:34:41 +00:00
2019-04-17 04:52:47 +00:00
2019-08-16 23:30:16 +00:00
2019-06-26 12:13:13 +00:00
2019-07-08 14:46:07 +00:00
2019-04-17 04:52:47 +00:00
2019-08-29 05:52:00 +00:00
2019-08-28 01:08:54 +00:00
2019-04-17 04:52:47 +00:00
2019-05-15 02:35:32 +00:00
2019-04-17 04:52:47 +00:00
2019-08-09 12:43:25 +00:00
2019-04-17 04:52:47 +00:00
2019-04-18 19:17:14 +00:00
2019-08-21 20:06:50 +00:00
2019-04-17 04:52:47 +00:00
2019-06-28 19:57:31 +00:00
2019-07-30 08:14:28 +00:00
2019-07-10 16:32:20 +00:00
2019-04-17 04:52:47 +00:00
2019-08-23 04:03:23 +00:00
2019-06-17 14:13:29 +00:00
2019-08-14 16:50:06 +00:00
2019-07-28 06:09:56 +00:00
2019-08-29 12:47:20 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-08-29 12:47:50 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-06-14 09:19:41 +00:00
2019-08-03 14:28:34 +00:00
2019-04-17 04:52:47 +00:00
2019-08-21 17:00:57 +00:00
2019-08-02 04:03:37 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-07-07 22:12:01 +00:00
2019-07-30 15:58:43 +00:00
2019-07-08 15:57:56 +00:00
2019-08-21 17:00:57 +00:00
2019-05-26 23:38:25 +00:00
2019-06-12 13:50:47 +00:00
2019-07-09 01:27:45 +00:00
2019-06-17 10:05:18 +00:00
2019-08-21 17:00:57 +00:00
2019-06-19 10:50:47 +00:00
2019-04-17 04:52:47 +00:00
2019-06-19 16:02:54 +00:00
2019-04-17 04:52:47 +00:00
2019-08-26 09:29:53 +00:00
2019-04-17 04:52:47 +00:00
2019-07-15 21:16:29 +00:00
2019-08-28 09:02:23 +00:00
2019-06-12 14:05:58 +00:00
2019-05-29 20:47:59 +00:00
2019-05-23 17:03:43 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-06-03 17:54:15 +00:00
2019-08-09 22:31:59 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-08-14 16:50:06 +00:00
2019-08-03 14:28:34 +00:00
2019-05-23 12:35:26 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-06-28 21:39:08 +00:00
2019-07-28 06:09:56 +00:00
2019-04-17 04:52:47 +00:00
2019-08-28 01:08:54 +00:00
2019-08-29 12:47:50 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-08-23 15:49:38 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-07-24 00:16:23 +00:00
2019-08-23 19:05:30 +00:00
2019-08-07 23:16:29 +00:00
2019-06-24 12:07:11 +00:00
2019-07-31 18:22:22 +00:00
2019-06-17 09:51:07 +00:00
2019-08-21 17:00:57 +00:00
2019-08-29 12:47:34 +00:00
2019-04-17 04:52:47 +00:00
2019-08-19 12:41:09 +00:00
2019-08-14 16:44:07 +00:00
2019-05-14 16:51:18 +00:00
2019-08-27 19:34:43 +00:00
2019-06-17 09:51:07 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-05-24 08:59:17 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-08-09 22:31:59 +00:00
2019-07-25 15:35:10 +00:00
2019-08-03 14:28:34 +00:00