Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Always create the destination branch argument for the sentinel value when looking for the value definition in the predecessors #58

Closed

Commits on Nov 6, 2023

  1. Configuration menu
    Copy the full SHA
    d4e067f View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    51cc897 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    e7b2e2e View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    20311af View commit details
    Browse the repository at this point in the history

Commits on Nov 16, 2023

  1. Configuration menu
    Copy the full SHA
    f8d89de View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    5a8a177 View commit details
    Browse the repository at this point in the history
  3. refactor(emulator): prepare emulator for use in interactive debugger

    This commit refactors the structure of the emulator so that it can be
    used more easily as the engine for an interactive debugger for MASM
    code.
    
    * Emulator is now structured such that it can be run step by step, each
      step producing an event of some kind depending on what occurred during
      that step and what, if any, breakpoints are present.
    * Added support for more emulator events
    * Breakpoints previously implemented to handle stepping through code
      have been removed in favor of APIs on the emulator itself for that
      purpose.
    * Support for multiple breakpoints at once was implemented
    * Support for watchpoints (i.e. monitoring changes to memory) was
      implemented
    * Additional debug information is now provided upon request
    bitwalker committed Nov 16, 2023
    Configuration menu
    Copy the full SHA
    9586b41 View commit details
    Browse the repository at this point in the history
  4. test: draft whole pipeline compilation and semantic tests

    The idea for `CompTest` is to mix and match sources (Rust, Wasm, IR)
    and expected compiler output (IR, MASM) to test the whole
    pipeline(Rust->Wasm->IR->MASM) or any part of it (Rust->IR, Wasm->IR, IR->MASM, etc).
    
    The compiled MASM code is executed on the emulator and VM and the results
    are compared with the native Rust code. The inputs are generated via `proptest`.
    The Rust source code consists of the target function under test and an
    app binary that calls the target function. The app binary is compiled
    to Wasm and then to IR. The target function is called directly in the
    test from the linked crate.
    Denys Zadorozhnyi authored and greenhat committed Nov 16, 2023
    Configuration menu
    Copy the full SHA
    9f5f8e5 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    4f02482 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    1ee123b View commit details
    Browse the repository at this point in the history
  7. test: compile rust app (cargo project) to masm, run both and compare …

    …results;
    
    Wasm frontend tests are converted to use integration tests infrastructure.
    greenhat committed Nov 16, 2023
    Configuration menu
    Copy the full SHA
    dce38cf View commit details
    Browse the repository at this point in the history
  8. test: implement gt_u instruction semantic test, add `translate_prog…

    …ram` to Wasm frontend
    greenhat committed Nov 16, 2023
    Configuration menu
    Copy the full SHA
    7bee69a View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    5dcda35 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    57075b7 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    5c071c2 View commit details
    Browse the repository at this point in the history
  12. test: add integration tests for comparison instructions

    Fixes `i64.extend_u32` by adding casts to u32 and back to i64.
    greenhat committed Nov 16, 2023
    Configuration menu
    Copy the full SHA
    d3ef5ec View commit details
    Browse the repository at this point in the history
  13. test: re-structure Rust app code for integration tests to be in two c…

    …rates, one for Wasm and one for calls in tests
    greenhat committed Nov 16, 2023
    Configuration menu
    Copy the full SHA
    dcd1fa5 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    0b9bed4 View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    8cc56fc View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    810a88d View commit details
    Browse the repository at this point in the history
  17. test: run IR transformation passes (SplitCriticalEdges, Treeify, Inli…

    …neBlocks)
    
    when producing IR for the integration tests.
    greenhat committed Nov 16, 2023
    Configuration menu
    Copy the full SHA
    d23b995 View commit details
    Browse the repository at this point in the history
  18. fix: fix build after rebase

    greenhat committed Nov 16, 2023
    Configuration menu
    Copy the full SHA
    5933a03 View commit details
    Browse the repository at this point in the history
  19. fix: always create the destination branch argument for the sentinel v…

    …alue
    
    when looking for the value definition in the predecessors. #51
    
    This removes the remnants of the previously removed `ValueData::Alias` variant.
    It does not matter if we find the definition in the predecessors since we cannot
    swap all sentinel value uses with it. So this fix always makes the sentinel value into a
    block argument.
    greenhat committed Nov 16, 2023
    Configuration menu
    Copy the full SHA
    0727932 View commit details
    Browse the repository at this point in the history