Sanjay Patel
4b96935bd7
[InstCombine] use nsw negation for abs libcalls
...
Also, produce the canonical IR abs (s<0) to be more efficient.
This is the libcall equivalent of the clang builtin change from:
rL333038
Pasting from that commit message:
The stdlib functions are defined in section 7.20.6.1 of the C standard with:
"If the result cannot be represented, the behavior is undefined."
That lets us mark the negation with 'nsw' because "sub i32 0, INT_MIN" would
be UB/poison.
llvm-svn: 333042
2018-05-22 23:29:40 +00:00
..
2018-05-14 12:53:11 +00:00
2017-11-18 01:13:18 +00:00
2018-05-08 23:28:15 +00:00
2018-03-28 17:44:36 +00:00
2018-05-16 21:45:39 +00:00
2018-05-01 15:54:18 +00:00
2018-04-25 17:19:21 +00:00
2018-05-14 08:24:29 +00:00
2018-04-13 21:22:24 +00:00
2018-04-09 23:37:20 +00:00
2018-05-14 12:53:11 +00:00
2018-05-14 12:53:11 +00:00
2018-03-21 22:34:23 +00:00
2018-04-06 10:14:09 +00:00
2018-05-17 20:52:03 +00:00
2018-05-19 02:58:16 +00:00
2018-05-14 12:53:11 +00:00
2018-05-14 12:53:11 +00:00
2018-03-13 15:24:51 +00:00
2018-01-31 20:42:25 +00:00
2018-04-13 19:47:57 +00:00
2018-05-17 20:52:03 +00:00
2018-03-28 17:44:36 +00:00
2018-05-01 16:10:38 +00:00
2018-05-08 06:59:47 +00:00
2018-05-14 12:53:11 +00:00
2015-08-18 17:51:53 +00:00
2018-05-18 23:52:57 +00:00
2018-05-14 12:53:11 +00:00
2018-05-14 12:53:11 +00:00
2018-05-16 10:41:58 +00:00
2018-05-14 12:53:11 +00:00
2018-05-14 12:53:11 +00:00
2018-05-14 12:53:11 +00:00
2018-05-22 08:33:02 +00:00
2018-05-09 00:53:50 +00:00
2018-02-05 22:23:58 +00:00
2018-05-22 08:46:48 +00:00
2018-03-28 17:44:36 +00:00
2018-03-28 17:44:36 +00:00
2017-10-05 21:54:53 +00:00
2016-10-01 02:56:57 +00:00
2017-06-29 17:01:03 +00:00
2018-05-14 12:53:11 +00:00
2018-05-10 23:01:54 +00:00
2017-06-06 11:49:48 +00:00
2018-05-18 08:52:15 +00:00
2018-05-14 12:53:11 +00:00
2018-03-28 17:44:36 +00:00
2018-05-22 23:29:40 +00:00
2018-05-14 12:53:11 +00:00
2018-05-14 12:53:11 +00:00
2018-05-14 12:53:11 +00:00
2018-03-21 22:34:23 +00:00
2018-03-29 22:42:08 +00:00
2017-12-01 00:53:10 +00:00
2018-03-28 17:44:36 +00:00
2018-03-29 22:31:38 +00:00
2018-01-30 20:16:32 +00:00
2018-05-14 12:53:11 +00:00