Skip to content
  • Jared Roesch's avatar
    98c2096f
    [Diagnostics][Relay][InferType] Refactor InferType to work on whole module,... · 98c2096f
    Jared Roesch authored
    
    [Diagnostics][Relay][InferType] Refactor InferType to work on whole module, and use new diagnostics. (#6274)
    
    * Refactor the type checker to use diagnostics
    
    Although this patch is very large and seemingly disjoint the
    fixes are required to get it working for the entire stack.
    I started with first changing InferType to use the diagnostics,
    these weren't yet in the pass manager so this required changes
    to module and module pass. InferType wasn't actually written
    correctly as a pass requring refactoring there, then in order
    to add spans to AST it required turning on AnnotateSpans which
    in term required changes to the parser, and module to make
    it possible to use the errors. These changes to parse and module
    required changes to diagnostics and InferType. Althought seemingly
    disconnected there are hidden cycles between the components which
    require simultaneous change in order to remove the old error
    reporting.
    
    A huge change due to this patch is that the module no longer
    implicitly type checks functions which are added.
    
    * Apply suggestions from code review
    
    Co-authored-by: default avatarRobert Kimball <bobkimball@gmail.com>
    Co-authored-by: default avatarJunru Shao <junrushao1994@gmail.com>
    
    * Apply suggestions from code review
    
    Co-authored-by: default avatarTristan Konolige <tristan.konolige@gmail.com>
    
    * Clean up parser
    
    * CR feedback
    
    * Apply Bobs suggestions
    
    * Fix up Python interface for diagnostics
    
    * Fix test_ir_parser and formatting
    
    * Fix cpplint
    
    * Fix lint
    
    * Fix format
    
    * More lint
    
    * Fix format
    
    * Kill dead doc comment
    
    * Fix documentation comment
    
    * Rebase fixups
    
    * Add docs for type.h
    
    * Fix parser.cc
    
    * Fix unittests
    
    * Fix black
    
    * Skip previously typechecked functions
    
    * fix ACL
    
    * Fix numerous issues
    
    * Add repr method
    
    * Fix issue with Pytest, I am ready to cry
    
    * Fix the rest of tests
    
    * Kill dead code
    
    * Fix dignostic tests
    
    * Fix more tests
    
    * fix more tests (#11)
    
    * Fix diagnostic.py deinit bug
    
    * Fix deinit issue
    
    * Format
    
    * Tweak disabling of override
    
    * Format
    
    * Fix BYOC
    
    * Fix TensorArray stuff
    
    * Fix PyTorch
    
    * Format
    
    * Format
    
    Co-authored-by: default avatarRobert Kimball <bobkimball@gmail.com>
    Co-authored-by: default avatarJunru Shao <junrushao1994@gmail.com>
    Co-authored-by: default avatarTristan Konolige <tristan.konolige@gmail.com>
    Co-authored-by: default avatarCody Yu <comaniac0422@gmail.com>
    Co-authored-by: default avatarZhi <5145158+zhiics@users.noreply.github.com>
    98c2096f
    [Diagnostics][Relay][InferType] Refactor InferType to work on whole module,...
    Jared Roesch authored
    
    [Diagnostics][Relay][InferType] Refactor InferType to work on whole module, and use new diagnostics. (#6274)
    
    * Refactor the type checker to use diagnostics
    
    Although this patch is very large and seemingly disjoint the
    fixes are required to get it working for the entire stack.
    I started with first changing InferType to use the diagnostics,
    these weren't yet in the pass manager so this required changes
    to module and module pass. InferType wasn't actually written
    correctly as a pass requring refactoring there, then in order
    to add spans to AST it required turning on AnnotateSpans which
    in term required changes to the parser, and module to make
    it possible to use the errors. These changes to parse and module
    required changes to diagnostics and InferType. Althought seemingly
    disconnected there are hidden cycles between the components which
    require simultaneous change in order to remove the old error
    reporting.
    
    A huge change due to this patch is that the module no longer
    implicitly type checks functions which are added.
    
    * Apply suggestions from code review
    
    Co-authored-by: default avatarRobert Kimball <bobkimball@gmail.com>
    Co-authored-by: default avatarJunru Shao <junrushao1994@gmail.com>
    
    * Apply suggestions from code review
    
    Co-authored-by: default avatarTristan Konolige <tristan.konolige@gmail.com>
    
    * Clean up parser
    
    * CR feedback
    
    * Apply Bobs suggestions
    
    * Fix up Python interface for diagnostics
    
    * Fix test_ir_parser and formatting
    
    * Fix cpplint
    
    * Fix lint
    
    * Fix format
    
    * More lint
    
    * Fix format
    
    * Kill dead doc comment
    
    * Fix documentation comment
    
    * Rebase fixups
    
    * Add docs for type.h
    
    * Fix parser.cc
    
    * Fix unittests
    
    * Fix black
    
    * Skip previously typechecked functions
    
    * fix ACL
    
    * Fix numerous issues
    
    * Add repr method
    
    * Fix issue with Pytest, I am ready to cry
    
    * Fix the rest of tests
    
    * Kill dead code
    
    * Fix dignostic tests
    
    * Fix more tests
    
    * fix more tests (#11)
    
    * Fix diagnostic.py deinit bug
    
    * Fix deinit issue
    
    * Format
    
    * Tweak disabling of override
    
    * Format
    
    * Fix BYOC
    
    * Fix TensorArray stuff
    
    * Fix PyTorch
    
    * Format
    
    * Format
    
    Co-authored-by: default avatarRobert Kimball <bobkimball@gmail.com>
    Co-authored-by: default avatarJunru Shao <junrushao1994@gmail.com>
    Co-authored-by: default avatarTristan Konolige <tristan.konolige@gmail.com>
    Co-authored-by: default avatarCody Yu <comaniac0422@gmail.com>
    Co-authored-by: default avatarZhi <5145158+zhiics@users.noreply.github.com>
Loading