Andrew Kelley
1fc24e8d80
Sema: enhance div instruction analysis
...
Concrete improvements:
* Added safety for integer overflow (-MAX_INT/-1)
* Omit division by zero safety check when RHS is comptime known to
be non-zero.
* Avoid emitting `_optimized` variants of AIR instructions for integers
(this suffix is intended to be used for floats only).
Subjective changes: I extracted the div logic out from analyzeArithmetic
in order to reduce the amount of branches - not for performance reasons
but for code clarity. It is more lines of code however, and some logic
is duplicated.
2022-07-29 02:35:06 -07:00
..
2022-07-28 20:44:32 +00:00
2022-07-27 17:56:15 -07:00
2022-07-27 10:27:12 -07:00
2022-07-26 11:41:00 -07:00
2022-07-27 14:03:08 +03:00
2022-07-23 15:40:12 +03:00
2022-07-29 10:12:36 +03:00
2022-07-28 15:08:58 +02:00
2022-04-27 16:45:23 -07:00
2022-07-26 11:25:49 -07:00
2022-07-11 14:18:56 -07:00
2021-11-26 19:59:33 -07:00
2022-07-01 15:52:54 -07:00
2022-06-11 23:49:33 +03:00
2022-07-28 15:19:17 -07:00
2022-07-03 18:41:43 -07:00
2022-04-26 16:48:56 -05:00
2021-11-30 23:32:47 +00:00
2020-12-07 17:27:09 -07:00
2022-05-13 16:43:59 -04:00
2022-04-06 11:50:23 -07:00
2022-04-18 23:06:49 -07:00
2022-07-25 22:04:30 +03:00
2022-07-02 20:41:47 -07:00
2022-01-02 13:16:17 -07:00
2022-01-02 13:16:17 -07:00
2022-07-22 16:58:20 +02:00
2022-07-23 15:40:12 +03:00
2022-07-28 15:20:01 -07:00
2022-04-29 22:50:34 -04:00
2022-07-29 10:12:36 +03:00
2022-06-17 16:38:59 -07:00
2022-05-06 22:41:00 -07:00
2022-07-23 15:40:12 +03:00
2022-04-18 23:06:49 -07:00
2022-04-26 17:52:21 -04:00
2022-07-29 10:12:36 +03:00
2022-06-29 22:06:27 -04:00
2022-07-26 11:25:49 -07:00
2022-07-29 02:35:06 -07:00
2022-07-23 15:04:02 +03:00
2022-07-21 13:55:29 -07:00
2022-07-27 02:13:01 -07:00
2022-06-17 16:38:59 -07:00
2022-01-07 00:06:06 -05:00
2022-07-27 18:07:53 +03:00
2022-07-23 15:40:12 +03:00
2022-07-08 10:19:17 +03:00
2022-07-14 16:48:44 -07:00
2022-06-17 16:38:59 -07:00
2021-11-30 23:32:47 +00:00
2022-07-09 14:04:38 -07:00
2021-09-07 21:49:08 -06:00
2020-09-21 21:14:01 -07:00
2021-09-01 17:54:07 -07:00
2022-02-03 13:43:51 -07:00
2022-02-03 13:43:51 -07:00
2022-02-03 14:01:32 -07:00
2022-07-01 15:52:54 -07:00
2022-07-01 15:52:54 -07:00
2022-02-03 14:01:32 -07:00
2022-07-12 18:38:11 -07:00
2022-07-01 22:13:30 -07:00
2022-07-29 10:12:36 +03:00