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

[TIR] Improve Let/LetStmt support. #5949

Merged
merged 1 commit into from
Jun 28, 2020
Merged

[TIR] Improve Let/LetStmt support. #5949

merged 1 commit into from
Jun 28, 2020

Commits on Jun 28, 2020

  1. [TIR] Improve Let/LetStmt support.

    Let/LetStmt are useful primitives to create variable bindings.
    While let binding are harmful for simplification and integer analysis,
    they are useful for other cases:
    
    - C0: LetStmt is useful to represent a step that has side effect(e.g. call a PRNG)
    - C1: Let expression can be used to create deep nested expression for complicated functions.
    
    This PR improves the let support in the following ways:
    - Enable vectorization support for let
    - Change let simplification strategy to simplify the most trivial case
      while ignore more complicated cases(to avoid deep nest explosion)
    - Enhance arith module to handle const bound and modular set for let.
    
    The overall recommendation is to only use Let in the cases when necessary(C0, C1).
    tqchen committed Jun 28, 2020
    Configuration menu
    Copy the full SHA
    823f5de View commit details
    Browse the repository at this point in the history