about summary refs log tree commit diff
path: root/tests/codegen/unchecked_shifts.rs
AgeCommit message (Collapse)AuthorLines
2025-07-22Rename `tests/codegen` into `tests/codegen-llvm`Guillaume Gomez-100/+0
2025-04-05Update the minimum external LLVM to 19Josh Stone-11/+4
2025-02-19PR feedbackScott McMurray-3/+3
2025-02-19Emit `trunc nuw` for unchecked shifts and `to_immediate_scalar`Scott McMurray-32/+26
- For shifts this shrinks the IR by no longer needing an `assume` while still providing the UB information - Having this on the `i8`→`i1` truncations will hopefully help with some places that have to load `i8`s or pass those in LLVM structs without range information
2025-02-11tests/codegen: use -Copt-level=3 instead of -OJubilee Young-1/+1
2024-04-11codegen tests: Tolerate `nuw` `nsw` on `trunc`Matthew Maurer-4/+4
llvm/llvm-project#87910 infers `nuw` and `nsw` on some `trunc` instructions we're doing `FileCheck` on. Tolerate but don't require them to support both release and head LLVM.
2024-03-30De-LLVM the unchecked shifts [MCP#693]Scott McMurray-2/+47
This is just one part of the MCP, but it's the one that IMHO removes the most noise from the standard library code. Seems net simpler this way, since MIR already supported heterogeneous shifts anyway, and thus it's not more work for backends than before.
2024-02-23Ignore less tests in debug buildsBen Kimock-1/+0
2024-02-22[AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives许杰友 Jieyou Xu (Joe)-2/+2
2023-11-13tests: update check for inferred nneg on zextAugie Fackler-2/+2
This was broken by upstream llvm/llvm-project@dc6d0773960c664eee12a1ed871fad5c81a20a12. It's easy enough to use a regex match to support both, so we do that. r? @nikic @rustbot label: +llvm-main
2023-10-13Clean up unchecked_math, separate out unchecked_shiftsltdk-1/+1
2023-07-27Update the minimum external LLVM to 15Josh Stone-1/+0
2023-06-16[libs] Simplify `unchecked_{shl,shr}`Scott McMurray-0/+4
There's no need for the `const_eval_select` dance here. And while I originally wrote the `.try_into().unwrap_unchecked()` implementation here, it's kinda a mess in MIR -- this new one is substantially simpler, as shown by the old one being above the inlining threshold but the new one being below it.
2023-01-11Move /src/test to /testsAlbert Larsan-0/+66