about summary refs log tree commit diff
path: root/src/tools/miri/tests
AgeCommit message (Collapse)AuthorLines
2023-11-28Remove Stacked Borrows GC heuristicsBen Kimock-1/+4
2023-11-28add test checking that aggregate assignments reset memory to uninit firstRalf Jung-0/+42
2023-11-26Update std::simd usage and test outputsCaleb Zulawski-9/+7
2023-11-25blessRalf Jung-16/+16
2023-11-25make tests/utils work with edition 2015Ralf Jung-2/+2
2023-11-25blessRalf Jung-2/+2
2023-11-25Merge from rustcRalf Jung-480/+480
2023-11-24Manual find replace updatesNilstrieb-8/+8
2023-11-24Bless Miri testsNilstrieb-472/+472
Co-authored-by: Adrian <adrian.iosdev@gmail.com>
2023-11-24Refactor `float_to_int_checked` to remove its generic parameter and reduce ↵Eduardo Sánchez Muñoz-48/+48
code duplication a bit
2023-11-23Auto merge of #3184 - RalfJung:getenv, r=RalfJungbors-3/+39
detect and test for data races between setenv and getenv But only on Unix; Windows doesn't have such a data race. Also make target_os_is_unix properly check for unix, which then makes our completely empty android files useless.
2023-11-23detect and test for data races between setenv and getenvRalf Jung-3/+39
2023-11-23Merge from rustcThe Miri Conjob Bot-8/+1
2023-11-22Auto merge of #3180 - eduardosm:check-intrinsics-target-feature, r=RalfJungbors-0/+57
Check that target features required by LLVM intrinsics are enabled Fixes https://github.com/rust-lang/miri/issues/3178
2023-11-22Check that target features required by LLVM intrinsics are enabledEduardo Sánchez Muñoz-0/+57
2023-11-22Stabilize RFC3324 dyn upcasting coercionUrgau-8/+1
Aka trait_upcasting feature. And also adjust the `deref_into_dyn_supertrait` lint.
2023-11-21fmtRalf Jung-3/+1
2023-11-21Merge from rustcRalf Jung-11/+70
2023-11-21Rollup merge of #118029 - saethlin:allocid-gc, r=RalfJungNilstrieb-11/+46
Expand Miri's BorTag GC to a Provenance GC As suggested in https://github.com/rust-lang/miri/issues/3080#issuecomment-1732505573 We previously solved memory growth issues associated with the Stacked Borrows and Tree Borrows runtimes with a GC. But of course we also have state accumulation associated with whole allocations elsewhere in the interpreter, and this PR starts tackling those. To do this, we expand the visitor for the GC so that it can visit a BorTag or an AllocId. Instead of collecting all live AllocIds into a single HashSet, we just collect from the Machine itself then go through an accessor `InterpCx::is_alloc_live` which checks a number of allocation data structures in the core interpreter. This avoids the overhead of all the inserts that collecting their keys would require. r? ``@RalfJung``
2023-11-20Auto merge of #3176 - eduardosm:cmp, r=RalfJungbors-4/+166
Implement all 16 AVX compare operators for 128-bit SIMD vectors `_mm_cmp_{ss,ps,sd,pd}` functions are AVX functions that use `llvm.x86.sse{,2}.` prefixed intrinsics, so they were "accidentally" partially implemented when SSE and SSE2 intrinsics were implemented. The 16 AVX compare operators are now implemented and tested.
2023-11-20Implement all 16 AVX compare operatorsEduardo Sánchez Muñoz-0/+162
`_mm_cmp_{ss,ps,sd,pd}` functions are AVX functions that use `llvm.x86.sse{,2}` prefixed intrinsics, so they were "accidentally" partially implemented when SSE and SSE2 intrinsics were implemented. The 16 AVX compare operators are now implemented and tested.
2023-11-20Test with -Zmiri-provenance-gc=1 on LinuxBen Kimock-1/+3
2023-11-20Test that the GC consults the extra_fn_ptr mapBen Kimock-0/+33
2023-11-20libc-misc test freebsd fixes attemptDavid Carlier-51/+45
2023-11-19Rollup merge of #117832 - RalfJung:interpret-shift, r=cjgillotMichael Goulet-0/+24
interpret: simplify handling of shifts by no longer trying to handle signed and unsigned shift amounts in the same branch While we're at it, also update comments in codegen and MIR building related to shifts, and fix the overflow error printed by Miri on negative shift amounts.
2023-11-19tag-gc -> provenance-gcBen Kimock-10/+10
2023-11-19Improve wording of `intrinsics-x86-*.rs` headerEduardo Sánchez Muñoz-4/+4
2023-11-18guarantee that char and u32 are ABI-compatibleRalf Jung-1/+5
2023-11-16move reallocarray test into libc-miscRalf Jung-16/+17
2023-11-16make libc-misc pass under FreeBSDRalf Jung-0/+7
2023-11-16split thread test into synchronization primitives and threadnameRalf Jung-60/+51
2023-11-16Auto merge of #3166 - devnexen:reallocarray, r=RalfJungbors-0/+16
reallocarray shim linux/freebsd support proposal.
2023-11-16reallocarray shim linux/freebsd support proposal.David Carlier-0/+16
2023-11-16get rid of our last uses of set_varRalf Jung-5/+5
2023-11-15Auto merge of #3164 - devnexen:fbsd_upd3, r=RalfJungbors-1/+4
freebsd adding getrandom interception. note that os support was added in same time as getentropy.
2023-11-15freebsd adding getrandom interception.David Carlier-1/+4
note that os support was added in same time as getentropy.
2023-11-15Merge from rustcThe Miri Conjob Bot-31/+31
2023-11-14Auto merge of #117330 - tmiasko:custom-mir-cleanup-blocks, r=cjgillotbors-31/+31
Custom MIR: Support cleanup blocks Cleanup blocks are declared with `bb (cleanup) = { ... }`. `Call` and `Drop` terminators take an additional argument describing the unwind action, which is one of the following: * `UnwindContinue()` * `UnwindUnreachable()` * `UnwindTerminate(reason)`, where reason is `ReasonAbi` or `ReasonInCleanup` * `UnwindCleanup(block)` Also support unwind resume and unwind terminate terminators: * `UnwindResume()` * `UnwindTerminate(reason)`
2023-11-14Custom MIR: Support cleanup blocksTomasz Miąsko-31/+31
Cleanup blocks are declared with `bb (cleanup) = { ... }`. `Call` and `Drop` terminators take an additional argument describing the unwind action, which is one of the following: * `UnwindContinue()` * `UnwindUnreachable()` * `UnwindTerminate(reason)`, where reason is `ReasonAbi` or `ReasonInCleanup` * `UnwindCleanup(block)` Also support unwind resume and unwind terminate terminators: * `UnwindResume()` * `UnwindTerminate(reason)`
2023-11-13share getentropy shim across various unixesRalf Jung-4/+14
2023-11-13organize pass-dep tests more by the crate they testRalf Jung-12/+16
2023-11-13freebsd adding getentropy interception supportDavid Carlier-0/+11
2023-11-12Auto merge of #3159 - eduardosm:sse41-round, r=RalfJungbors-80/+308
Implement round.ps and round.pd SSE4.1 intrinsics I had forgotten them. I also increased the coverage of rounding tests to make sure the rounding direction is working as expected (e.g. test `1.25`, `1.5`, `1.75`...).
2023-11-12Improve SSE4.1 rounding tests coverageEduardo Sánchez Muñoz-137/+305
To make sure the rounding direction is working as expected
2023-11-12more consistent naming for TLS testsRalf Jung-10/+13
2023-11-12Auto merge of #2931 - max-heller:issue-2881, r=RalfJungbors-0/+119
Treat thread-local statics on main thread as static roots for leakage analysis Miri currently treats allocations as leaked if they're only referenced in thread-local statics. For threads other than the main thread, this is correct, since the thread can terminate before the program does, but references in the main thread's locals should be treated as living for the duration of the program since the thread lives for the duration of the program. This PR adds thread-local statics and TLS keys as "static roots" for leakage analysis, but does not yet bless the example program from #2881. See https://github.com/rust-lang/miri/issues/2881#issuecomment-1585666652 Closes #2881
2023-11-12allow allocations referenced by main thread TLS to leakmax-heller-0/+119
2023-11-12Implement roundps and roundpd SSE4.1 intrinsicsEduardo Sánchez Muñoz-0/+60
2023-11-12tweak commentsRalf Jung-9/+5
2023-11-12interpret: simplify handling of shifts by no longer trying to handle signed ↵Ralf Jung-0/+24
and unsigned shift amounts in the same branch