1. 19 Dec, 2025 1 commit
    • Lei Wang's avatar
      [ArgBinder] Enhance shape variable handling and assertions (#1467) · f6db2014
      Lei Wang authored
      * feat(arg_binder): enhance shape variable handling and assertions
      
      - Implemented special handling for comparing if_then_else expressions to simplify conditions involving NULL checks.
      - Added methods to set shared shape variables and finalize deferred bindings, generating cascading if_then_else expressions and runtime assertions for non-NULL buffers.
      - Updated the binding logic to defer shape variable bindings for shared variables, ensuring proper handling across multiple nullable buffers.
      
      * refactor(arg_binder): clean up shape variable handling and remove unused code
      
      - Removed deprecated methods for setting shared shape variables and finalizing deferred bindings, streamlining the argument binding process.
      - Simplified the logic for handling shape values in the `BindDLTensor` function, ensuring immediate binding for normal shape variables.
      - Enhanced clarity by eliminating unnecessary comments and code related to cascading if_then_else expressions for shared variables.
      
      * refactor(arg_binder): enhance DLTensor binding with improved shape handling
      
      - Replaced the single `BindDLTensor` method with `BindDLTensors` to support multiple buffers, improving flexibility in handling DLTensor bindings.
      - Introduced a two-pass approach for shape variable handling, allowing for better management of symbolic dimensions and null checks.
      - Updated the logic to assert non-null conditions at runtime and utilize cascaded if_then_else expressions for shape retrieval, enhancing robustness.
      - Removed deprecated code and streamlined the binding process for clarity and maintainability.
      
      * fix(test_nullable_buffer_params): improve formatting and consistency in test output
      
      - Updated string formatting for better readability in the `test_nullable_shared_shape` function.
      - Ensured consistent use of double quotes for string literals.
      - Added a missing newline at the end of the file for proper formatting.
      
      * refactor(arg_binder): simplify allocation size calculation in BindDLTensors
      
      - Streamlined the calculation of allocation size by replacing a lambda function with a direct loop, enhancing readability and maintainability.
      - Improved clarity in the null check message for data pointers, ensuring better understanding of the binding process.
      
      * Remove debug prints from phase.py
      
      Removed debug print statements after MakePackedAPI transformation.
      f6db2014