Conversation
FileCheck is used only by parser unit tests. Declare it as a dev dependency so ordinary compiler builds do not pull in its parser and diagnostics dependency graph.
Define the example selection once using the current end_to_end namespace and derive complementary integration shards from it. Let nextest reject empty selections so future module renames cannot silently pass an empty shard.
Align each returned address and reserve the complete allocation including padding using checked integer arithmetic. Preserve heap pointer provenance and reject exhausted or uninitialized ranges. Mixed alignments no longer overlap live allocations.
Represent ownership of the lazily allocated value and require Send plus Sync before sharing the lock. Compile the fallback implementation in host unit tests and reject non-thread-safe value types through negative trait-bound checks.
Remove the internal book build, serve, and mdbook plugin installation tasks until the internal documentation has a maintained publication workflow. Keep the Markdown source and the independent Docusaurus tasks.
Release the taken stdin pipe so the parser receives EOF, and reap failed children. Use the active Rust toolchain for fallback input detection. A bounded subprocess regression prevents an open pipe from hanging the test suite.
Replace removed midenc run/debug and objtool decorators commands with the separate miden-debug workflow and dump debug-info. Explain matching debugger versions, command scripts, and the current test entry point.
Share coercion evaluation between folding entry points and allocate a new immediate attribute for each result. Original constants keep their value and type when used elsewhere, and result attributes consistently reflect the target type.
Store passes and nested pipelines in a single ordered sequence so parsing, printing and execution preserve the order specified by the caller.
Forward test arguments from the original token stream so Cargo options and the test harness delimiter retain their meaning. Keep wrapper help handling local to cargo miden.
Separate logical page counts from lazily materialized memory. Growth adds pages and reports failure without changing state, while reset restores the initial empty heap.
Check every input in the bounded Fibonacci and primality domains once. This gives deterministic coverage without repeatedly executing duplicate random inputs or printing per-case debug output.
Resolve operation anchors before constructing pass managers and return diagnostics for unknown dialects or operations at every nesting level instead of panicking.
Map local definitions and block destinations when comparing regions, preserving captures, successor keys and operand partitions. Match commutative operands as multisets under the chosen value strategy. Erase nested operations in reverse order so replacing equivalent region operations removes users before definitions.
Dispatch sparse meet updates to the lattice meet operation so intersections retain the correct state and notify dependents only when that state changes.
Replace obsolete stage and pipeline narratives with current ownership and caller contracts. Remove commented dependency patches and abandoned build code that no longer explain the implementation.
Document byte and element addressing, field carriers, heap limits and component layout, along with frontend routes, HIR ownership and the shared lowering and assembly stages.
Branch on the normalized high limb of the candidate heap address rather than its low limb. Preserve the fixed heap model, return the previous page count on success, and keep metadata unchanged on every failed growth path.
Represent Wasm i64.rem_s explicitly and lower it using unsigned magnitudes with the dividend sign restored. This preserves the Wasm zero result for MIN remainder -1 while trapping on a zero divisor, and supports the same semantics in HIR evaluation.
Remove the unreferenced single-word and double-word memset procedures. Memory fill lowering uses the maintained memory operations, so these unused public assembly helpers add implementation and stack-contract maintenance without a consumer.
Intern lattice anchors in hash buckets and compare canonical anchor values before sharing state. Preserve the same anchor identity across typed and erased IR references while keeping unequal colliding anchors independent.
Combine repeated global and field annotations into one implementation per effect kind. Validate all declarations before emitting code, preserve value-targeted effects, and report empty declarations as effect-free.
Package-only compilations no longer render unused HIR and MASM or retain the HIR arena. Intermediate accessors request their checkpoint before the single compilation and reuse the resulting package, with an explicit diagnostic for a late capture request.
Use Heck consistently for generated names and request full syntax support only in consumers that need it. Keep extra-traits explicit for HIR macros, where darling also requires it, while allowing field-repr derives to build with syn defaults. Record the dependency experiments and Unicode naming behavior.
Add opt-in checkpoint and nested Cargo timing without retaining artifacts, preserve per-test JUnit durations in CI, and provide a command timing recorder. Record representative warm and isolated fixture-cache measurements with their scope and limitations.
Enable the pinned and randomized switch and signed-widening cases and preserve the older wide-product Wasm shape against an independent Wasmi oracle. Record evidence that the older Rust producer already omitted part of the native computation, while the switch fix is present in the compiler baseline.
Compile and serialize the wallet and note once per nextest invocation under an exclusive process lock. Publish the complete pair atomically, preserve debug sections when loading it, and retain independent behavioral tests and the in-process fallback.
Compare explicit workspace codegen-unit settings with dependency profiles held fixed, preserving raw measurements and the configuration caveats. Retain the conservative development default because the measurements do not establish a repeatable benefit from increasing it or justify a platform-wide policy change.
The debug dump includes compiler intrinsics. Adding signed remainder while removing the two unused wide memset intrinsics reduces the function total by one; update the exact total and source-less count to match.
The baseline compiler was driven over candidate sources, so SDK changes such as allocator fixes were included on both sides and their size differences disappeared. Use the baseline checkout for its examples, SDK, and inputs while retaining a common benchmark runner and VM executor. Read result revisions from their source checkouts and fail on either side’s build errors instead of publishing a partial baseline.
review/audit of the compiler code w/ fixes for various issues/defects identified
Add `shr_unsigned_checked` to `NumericStrategy` and use it for `i32.shr_u`, which was exercised with signed inputs before. Out-of-range shift counts are covered by the bit width and `T::MAX`, since unsigned types have no negative counts. Also replace the `as` casts in the harness with explicit `I32Operand` conversions.
mooori
approved these changes
Sep 8, 2026
Contributor
Miden examples benchmarkCandidate
SVG flamegraphs and compiled packages are attached to the workflow run. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.