+* `-Zmiri-permissive-provenance` disables the warning for integer-to-pointer casts and
+ [`ptr::from_exposed_addr`](https://doc.rust-lang.org/nightly/std/ptr/fn.from_exposed_addr.html).
+ This will necessarily miss some bugs as those operations are not efficiently and accurately
+ implementable in a sanitizer, but it will only miss bugs that concern memory/pointers which is
+ subject to these operations.
+* `-Zmiri-preemption-rate` configures the probability that at the end of a basic block, the active
+ thread will be preempted. The default is `0.01` (i.e., 1%). Setting this to `0` disables
+ preemption.
+* `-Zmiri-report-progress` makes Miri print the current stacktrace every now and then, so you can
+ tell what it is doing when a program just keeps running. You can customize how frequently the
+ report is printed via `-Zmiri-report-progress=<blocks>`, which prints the report every N basic
+ blocks.
+* `-Zmiri-seed=<hex>` configures the seed of the RNG that Miri uses to resolve non-determinism. This
+ RNG is used to pick base addresses for allocations, to determine preemption and failure of
+ `compare_exchange_weak`, and to control store buffering for weak memory emulation. When isolation
+ is enabled (the default), this is also used to emulate system entropy. The default seed is 0. You
+ can increase test coverage by running Miri multiple times with different seeds. **NOTE**: This
+ entropy is not good enough for cryptographic use! Do not generate secret keys in Miri or perform
+ other kinds of cryptographic operations that rely on proper random numbers.
+* `-Zmiri-strict-provenance` enables [strict
+ provenance](https://github.com/rust-lang/rust/issues/95228) checking in Miri. This means that
+ casting an integer to a pointer yields a result with 'invalid' provenance, i.e., with provenance
+ that cannot be used for any memory access.
+* `-Zmiri-symbolic-alignment-check` makes the alignment check more strict. By default, alignment is
+ checked by casting the pointer to an integer, and making sure that is a multiple of the alignment.
+ This can lead to cases where a program passes the alignment check by pure chance, because things
+ "happened to be" sufficiently aligned -- there is no UB in this execution but there would be UB in
+ others. To avoid such cases, the symbolic alignment check only takes into account the requested
+ alignment of the relevant allocation, and the offset into that allocation. This avoids missing
+ such bugs, but it also incurs some false positives when the code does manual integer arithmetic to
+ ensure alignment. (The standard library `align_to` method works fine in both modes; under
+ symbolic alignment it only fills the middle slice when the allocation guarantees sufficient
+ alignment.)
+
+The remaining flags are for advanced use only, and more likely to change or be removed.
+Some of these are **unsound**, which means they can lead
+to Miri failing to detect cases of undefined behavior in a program.
+
+* `-Zmiri-allow-uninit-numbers` disables the check to ensure that number types (integer and float
+ types) always hold initialized data. (They must still be initialized when any actual operation,
+ such as arithmetic, is performed.) Using this flag is **unsound** and
+ [deprecated](https://github.com/rust-lang/miri/issues/2187). This has no effect when
+ `-Zmiri-disable-validation` is present.
+* `-Zmiri-allow-ptr-int-transmute` makes Miri more accepting of transmutation between pointers and
+ integers via `mem::transmute` or union/pointer type punning. This has two effects: it disables the
+ check against integers storing a pointer (i.e., data with provenance), thus allowing
+ pointer-to-integer transmutation, and it treats integer-to-pointer transmutation as equivalent to
+ a cast. Implies `-Zmiri-permissive-provenance`. Using this flag is **unsound** and
+ [deprecated](https://github.com/rust-lang/miri/issues/2188).
+* `-Zmiri-disable-abi-check` disables checking [function ABI]. Using this flag
+ is **unsound**.
+* `-Zmiri-disable-alignment-check` disables checking pointer alignment, so you
+ can focus on other failures, but it means Miri can miss bugs in your program.
+ Using this flag is **unsound**.
+* `-Zmiri-disable-data-race-detector` disables checking for data races. Using
+ this flag is **unsound**. This implies `-Zmiri-disable-weak-memory-emulation`.
+* `-Zmiri-disable-stacked-borrows` disables checking the experimental
+ [Stacked Borrows] aliasing rules. This can make Miri run faster, but it also
+ means no aliasing violations will be detected. Using this flag is **unsound**
+ (but the affected soundness rules are experimental).
+* `-Zmiri-disable-validation` disables enforcing validity invariants, which are
+ enforced by default. This is mostly useful to focus on other failures (such
+ as out-of-bounds accesses) first. Setting this flag means Miri can miss bugs
+ in your program. However, this can also help to make Miri run faster. Using
+ this flag is **unsound**.
+* `-Zmiri-disable-weak-memory-emulation` disables the emulation of some C++11 weak
+ memory effects.