Skip to content
This repository has been archived by the owner on Mar 20, 2024. It is now read-only.

Fix generic function dep defect; rework function discovery approach. #199

Merged
merged 2 commits into from
Jun 14, 2023

Commits on Jun 14, 2023

  1. Fix generic funcion dep defect; rework function discovery approach.

    We have previously discovered through experience that some of the model-provided
    information we once depended on to discover all module functions, called functions,
    and concrete instantiations are not always consistent or reliable.
    
    For this reason, we now take a different approach and seed our discovery with just the
    list of functions provided by `ModuleEnv::get_functions`. For any other called functions
    (this module or foreign) and for any generic instantiations, we will expand the seed
    frontier incrementally by gleaning the remaining information from a visitation of every
    function call instruction (recursively) in every seed function.
    
    This also fixes a dependence problem in the previous discovery approach where some
    transitively expanded generics were never seen or declared.
    
    No new tests were added as the previous generics work covers this. We now, however,
    can eliminate the dependence defect work around that was originally in the moption01
    test case. It now runs without the work around successfully.
    nvjle committed Jun 14, 2023
    Configuration menu
    Copy the full SHA
    30e2464 View commit details
    Browse the repository at this point in the history
  2. NFC: Remaster move-ir-tests.

    The differences are due to a different function output order.
    nvjle committed Jun 14, 2023
    Configuration menu
    Copy the full SHA
    0fde817 View commit details
    Browse the repository at this point in the history