• Lei Wang's avatar
    [Index] Relocate Int64 Auto Promoter to ConfigBitWidth Pass, removing it from FlattenBuffer (#714) · a9611738
    Lei Wang authored
    * Update submodule 'tvm' to commit e11521e6936a827efa334588d29571fbb4620107
    
    * Refactor inject_pipeline.cc to enhance pipeline body rewriting and condition handling
    
    - Introduced a new function to replace IfThenElse nodes with their then_case while preserving attributes.
    - Streamlined the PipelineBodyRewriter to improve buffer access rewriting and async state management.
    - Enhanced the handling of pipeline loop conditions and added support for predicate conditions in the pipeline body.
    - Removed obsolete code and improved overall code clarity and maintainability.
    
    * lint fix
    
    * Refactor return statements in inject_pipeline.cc to remove unnecessary std::move calls
    
    - Updated return statements in multiple methods to return objects directly instead of using std::move, improving code clarity and potentially avoiding unnecessary moves.
    - Ensured consistent handling of BufferStore and BufferLoad nodes during pipeline transformations.
    
    * test fix
    
    * Enhance global read detection in pipeline planning
    
    - Updated the handling of global reads to account for condition expressions within IfThenElse nodes, ensuring accurate identification of global memory accesses.
    - Introduced a new flag to track whether the visitor is within a condition expression, improving the correctness of buffer access analysis.
    - Refactored the VisitStmt_ method to properly handle the structure of IfThenElse nodes, enhancing the clarity and maintainability of the code.
    
    * Add IndexLegalizer to enforce int64 for out-of-bound indices
    
    - Introduced the IndexLegalizer class to ensure that indices in BufferStore and BufferLoad nodes are promoted to int64 when they exceed their type bounds.
    - Refactored the Int64Promoter logic from flatten_buffer.cc into IndexLegalizer, improving code organization and reusability.
    - Updated the ConfigIndexBitwidth pass to apply IndexLegalizer after rewriting the body, enhancing the handling of index bitwidths in transformations.
    a9611738
flatten_buffer.cc 10.3 KB