Philip Reames
89c4b29e8d
[GuardWidening] Fix a nasty cast bug in c2eccc6
...
c2eccc6 introduced a call to etHasNoUnsignedWrap which implicitly assumes that Inst is a OverflowingBinaryOperator. This is frequently untrue, but was not caught because cast<Ty>(X) has been broken, see https://discourse.llvm.org/t/cast-x-is-broken-implications-and-proposal-to-address/63033 for context.
I considered reverting this, but since doing so re-introduces a nasty miscompile of its own, I decided to fix forward instead.
I'll note that this is a particularly nasty form of the cast<Ty>(X) issue. Because the cast was succeeding unexpected, we were writing data to instructions which weren't OBOs. This could result in near arbitrary data or memory corruption. I'm a bit shocked that the sanitizers didn't find this TBH.
2022-06-07 13:27:13 -07:00
..
2022-03-03 07:56:34 +01:00
2022-03-03 07:56:34 +01:00
2022-03-03 07:56:34 +01:00
2021-10-04 08:57:44 +01:00
2022-05-06 23:03:49 +00:00
2022-04-29 10:30:49 +01:00
2022-03-01 21:00:07 +01:00
2022-06-05 08:45:11 -07:00
2022-05-19 11:23:13 +01:00
2022-04-08 10:07:26 -07:00
2022-06-04 20:48:26 -07:00
2021-07-28 11:09:12 -04:00
2022-04-06 16:06:14 -07:00
2022-03-03 07:56:34 +01:00
2022-04-05 15:02:03 +02:00
2022-06-07 13:27:13 -07:00
2022-06-03 21:59:05 -07:00
2022-03-30 20:17:53 -07:00
2022-06-04 22:48:32 -07:00
2022-04-27 09:22:10 -04:00
2022-03-03 07:56:34 +01:00
2022-04-28 11:10:55 +08:00
2022-03-03 07:56:34 +01:00
2022-03-03 07:56:34 +01:00
2022-06-04 22:48:32 -07:00
2022-05-29 21:57:14 +01:00
2022-03-03 07:56:34 +01:00
2022-03-12 17:26:40 +01:00
2022-03-03 07:56:34 +01:00
2022-03-03 07:56:34 +01:00
2022-03-03 07:56:34 +01:00
2022-06-07 08:21:21 -07:00
2022-06-05 01:07:51 -07:00
2022-05-31 17:24:23 -07:00
2022-04-25 17:35:28 +07:00
2022-06-03 00:52:08 +00:00
2022-04-29 10:00:06 -04:00
2022-03-09 18:46:32 +00:00
2022-03-03 07:56:34 +01:00
2022-03-03 07:56:34 +01:00
2022-03-03 07:56:34 +01:00
2022-03-18 08:54:44 +00:00
2022-04-08 10:08:57 +02:00
2022-06-01 21:02:40 -07:00
2022-03-03 07:56:34 +01:00
2022-06-03 21:59:05 -07:00
2022-03-03 07:56:34 +01:00
2022-04-06 20:54:45 -04:00
2022-03-18 14:59:18 +01:00
2022-04-19 21:23:48 +00:00
2022-04-13 12:28:51 -04:00
2022-06-05 23:53:18 -07:00
2022-04-13 12:28:51 -04:00
2022-03-03 07:56:34 +01:00
2022-06-05 00:31:44 -07:00
2022-03-03 07:56:34 +01:00
2022-03-04 11:39:11 +01:00
2021-10-21 15:45:53 +07:00
2022-03-03 07:56:34 +01:00
2022-04-05 22:30:50 +03:00
2022-03-01 21:00:07 +01:00
2022-03-21 10:01:40 -07:00
2022-03-03 07:56:34 +01:00
2022-05-14 10:47:50 -07:00
2022-04-29 10:30:49 +01:00
2022-04-25 18:13:23 +01:00
2022-05-03 09:32:34 +01:00
2022-06-06 09:24:11 -04:00
2022-02-25 21:40:00 -08:00
2022-06-05 00:31:44 -07:00
2022-03-03 07:56:34 +01:00
2022-04-07 16:35:05 +02:00
2022-04-25 18:13:23 +01:00
2022-05-17 11:25:59 +02:00
2022-05-13 14:30:55 +02:00
2022-03-03 07:56:34 +01:00
2022-03-03 07:56:34 +01:00
2022-04-04 08:27:54 +08:00