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

Auto option ranks #84

Merged
merged 15 commits into from
Apr 22, 2023
Merged

Auto option ranks #84

merged 15 commits into from
Apr 22, 2023

Commits on Feb 24, 2023

  1. auto option rank: initial commit. possible top-down implementation st…

    …artup point.
    
    Signed-off-by: Vivien Oddou <[email protected]>
    siliconvoodoo committed Feb 24, 2023
    Configuration menu
    Copy the full SHA
    f45fa44 View commit details
    Browse the repository at this point in the history

Commits on Mar 10, 2023

  1. WIP: option rank static analysis. half working draft. function follow…

    … still not working.
    
    Signed-off-by: Vivien Oddou <[email protected]>
    siliconvoodoo committed Mar 10, 2023
    Configuration menu
    Copy the full SHA
    d52819a View commit details
    Browse the repository at this point in the history

Commits on Mar 25, 2023

  1. Configuration menu
    Copy the full SHA
    59ca8f1 View commit details
    Browse the repository at this point in the history

Commits on Mar 27, 2023

  1. First working order of binary expression type detection support.

    Still incomplete because of vector/matrix combination cases.
    
    Signed-off-by: Vivien Oddou <[email protected]>
    siliconvoodoo committed Mar 27, 2023
    Configuration menu
    Copy the full SHA
    d3d742f View commit details
    Browse the repository at this point in the history

Commits on Apr 4, 2023

  1. WIP: satisfactory working order for vector and matrix arithmetic type…

    … deduction in binary operations
    
    Signed-off-by: Vivien Oddou <[email protected]>
    siliconvoodoo committed Apr 4, 2023
    Configuration menu
    Copy the full SHA
    31b44ba View commit details
    Browse the repository at this point in the history

Commits on Apr 5, 2023

  1. Cleaner implementation of binary operation type detection.

    Principle: diminish code paths at maximum by reducing the conditions checked to an absolute minimalist level.
    
    Signed-off-by: Vivien Oddou <[email protected]>
    siliconvoodoo committed Apr 5, 2023
    Configuration menu
    Copy the full SHA
    878c89c View commit details
    Browse the repository at this point in the history

Commits on Apr 9, 2023

  1. Refactor the option rank analysis to make it easier to tread with nam…

    …ed function for each action.
    
    + prepare a fix for the <failed> type analysis of the "method call solver".
    This fail is due to the fact that we are past the semantic analysis, so we don't have proper scope tracking.
    The lookup cannot work if we don't provide a starting scope.
    That starting scope is reconstructed artificially using the scopes/token map collection.
    Unfortunately, the fast lookup is now using an intermediate map that filters by function only.
    If we don't include the unnamed blocks, Lookup will systematically fail for any object within curly brace or an if block, for block etc.
    To solve that problem, I prepared a "non disjointed" interval query system.
    It's an unfortunate change from Log(n) by query to O(N) by query though. Also we have a memory fest since these are node containers. We might want to consider Howard Hinnant stack allocator soon after.
    
    Signed-off-by: Vivien Oddou <[email protected]>
    siliconvoodoo committed Apr 9, 2023
    Configuration menu
    Copy the full SHA
    661d01f View commit details
    Browse the repository at this point in the history

Commits on Apr 10, 2023

  1. First working order of code that can track method calls cost.

    Now able to locate the symbols because the starting scope is correctly reconstructed, using the new IntervalCollection class which is able to support query for non-disjointed intervals, which is a more difficult case than what we had up to now. We still keep the previous map to functions because it's faster to query.
    
    Signed-off-by: Vivien Oddou <[email protected]>
    siliconvoodoo committed Apr 10, 2023
    Configuration menu
    Copy the full SHA
    7042ebf View commit details
    Browse the repository at this point in the history
  2. fix a bug that creates an infinite loop if we kick a lookup from an i…

    …ntrinsic type.
    
    For instance "?Texture2D" as scope, and "Load" as method will end up in a "LevelUp" that isn't "/" but is "". The empty path was never never meant to be a possible output of LevelUp function, but it does happen in case of levelup from non rooted symbols.
    
    Signed-off-by: Vivien Oddou <[email protected]>
    siliconvoodoo committed Apr 10, 2023
    Configuration menu
    Copy the full SHA
    d87a18e View commit details
    Browse the repository at this point in the history
  3. Output the cost to JSON

    Signed-off-by: Vivien Oddou <[email protected]>
    siliconvoodoo committed Apr 10, 2023
    Configuration menu
    Copy the full SHA
    8d2ed81 View commit details
    Browse the repository at this point in the history
  4. Integrate a test for option rank cost

    Signed-off-by: Vivien Oddou <[email protected]>
    siliconvoodoo committed Apr 10, 2023
    Configuration menu
    Copy the full SHA
    c274dff View commit details
    Browse the repository at this point in the history
  5. Actually this test now no longer fails since the type resolution has …

    …gained in power. To fallback on an exhibition of the problem again it's enough to just mention the call to floor which is unregistered as long as azslc is concerned.
    
    Signed-off-by: Vivien Oddou <[email protected]>
    siliconvoodoo committed Apr 10, 2023
    Configuration menu
    Copy the full SHA
    a02b399 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    a55cf9c View commit details
    Browse the repository at this point in the history

Commits on Apr 19, 2023

  1. Merge branch 'development' into auto-option-ranks

    Signed-off-by: siliconvoodoo <[email protected]>
    siliconvoodoo authored Apr 19, 2023
    Configuration menu
    Copy the full SHA
    a873834 View commit details
    Browse the repository at this point in the history
  2. fix clang complaint about something that visual studio tolerated. (de…

    …claration of' x’changes meaning of 'x')
    
    Signed-off-by: Vivien Oddou <[email protected]>
    siliconvoodoo committed Apr 19, 2023
    Configuration menu
    Copy the full SHA
    f7d55d4 View commit details
    Browse the repository at this point in the history