Commit graph

10 commits

Author SHA1 Message Date
Scott McMurray
986d9f104b Make checked ops emit *unchecked* LLVM operations where feasible
For things with easily pre-checked overflow conditions -- shifts and unsigned subtraction -- write then checked methods in such a way that we stop emitting wrapping versions of them.

For example, today <https://rust.godbolt.org/z/qM9YK8Txb> neither
```rust
a.checked_sub(b).unwrap()
```
nor
```rust
a.checked_sub(b).unwrap_unchecked()
```
actually optimizes to `sub nuw`.  After this PR they do.
2024-04-18 18:11:21 -07:00
Scott McMurray
6094063c35 Update checked_ops so 32- and 64-bit gets the same checks 2024-04-18 09:35:36 -07:00
Ben Kimock
68f284f337 Remove some only- clauses from mir-opt tests 2024-03-18 10:07:43 -04:00
许杰友 Jieyou Xu (Joe)
6e48b96692
[AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
Camille GILLOT
4ff03cd1a4 Allow to run filecheck in mir-opt tests. 2023-10-19 15:51:52 +00:00
Ralf Jung
e4c4f9b9d9 remove some unnecessary ignore-debug clauses 2023-08-24 14:10:18 +02:00
Camille GILLOT
1ad37804a6 Remove brittle test. 2023-06-01 21:41:58 +00:00
Camille GILLOT
b90e165744 Restrict test to x64. 2023-06-01 21:41:58 +00:00
Camille GILLOT
36cae3a3a2 Annotate needs-unwind. 2023-06-01 21:41:58 +00:00
Camille GILLOT
434fa8c26d Add e2e mir test for checked arithmetic. 2023-06-01 21:41:58 +00:00