1. 19 Jan, 2020 1 commit
    • [REFACTOR] Establish tir (#4740) · cf59b206
      TIR is the new namespace for low-level IR
      for tensor-level optimizations and loop transformations.
      
      This PR establishes the namespace and files.
      
      - lowered_func.h,buffer.h,data_layout.h -> tir/buffer.h,tir/data_layout.h,tir/lowered_func.h
      - ir.h -> tir/expr.h, tir/stmt.h
      - ir_functor_ext.h -> tir/expr_functor.h, tir/stmt_functor.h
      Tianqi Chen committed
  2. 16 Jan, 2020 1 commit
  3. 09 Jan, 2020 1 commit
    • [REFACTOR][IR] tvm::Expr -> PrimExpr(Primitive Expr) (#4669) · d6a23cf5
      * [REFACTOR][IR] tvm::Expr -> PrimExpr(Primitive Expr)
      
      As part of unified IR, we will need to unify relay::Expr
      and the current tvm::Expr under the same base type.
      
      From the techinical point of view. tvm::Expr is a "primitive"
      expression that only contains POD types and handles and does
      not do life-cycle management.
      
      This PR renames Expr->PrimExpr to clarify that.
      We will send a subsequent PR to introduce the base expr class.
      
      * Remove legacy VarExpr and ExprHash/Equal
      Tianqi Chen committed
  4. 31 Dec, 2019 1 commit
    • [REFACTOR][OBJECT] Consoldiate NodePtr/Ref/Hash/Equal to Object (#4603) · a8c36921
      * [REFACTOR][OBJECT] Consoldiate NodePtr/Ref/Hash/Equal and macros to Object.
      
      Historically, we have classes like NodePtr/Ref/HashEqual.
      After unified object protocol, these names are just alias of the object counterpart.
      Moreover, there are helper macros defined over the places for defining these object.
      
      This PR consoldiate the terminologies into the corresponding ones
      in the Object system so we have a clean and consistent API moving forward.
      
      * Update include/tvm/attrs.h
      
      Co-Authored-By: Wei Chen <ipondering.weic@gmail.com>
      
      * fix compilation
      
      Co-authored-by: Wei Chen <ipondering.weic@gmail.com>
      Tianqi Chen committed
  5. 24 Oct, 2019 1 commit
    • [NODE][REFACTOR] Refactor reflection system in node. (#4189) · 78ca6fc8
      * [NODE][REFACTOR] Refactor reflection system in node.
      
      - Removed the old Node, Node is now just an alias of runtime::Object
      - Introduce ReflectionVTable, a new columnar dispatcher to support reflection
        - This allows us to remove vtable from most node objects
        - The VisitAttrs are registered via TVM_RESGITER_NODE_TYPE,
          they are no longer virtual.
      - Consolidated serialization and reflection features into node.
      
      * Explicit type qualification when calling destructor.
      
      * Fix SPIRV, more comments
      Tianqi Chen committed
  6. 23 Aug, 2019 1 commit
  7. 13 Jun, 2019 1 commit
  8. 05 Mar, 2017 1 commit
  9. 04 Mar, 2017 1 commit
    • [PASS]LoopPartition (#56) · c8ebfbe3
      * loop_partition draft
      
      * divide loop variable into constant domain and variable domain & consider multiple partitions
      
      * process doubt interval
      
      * fix and refactor, add relax_map arg in BoundDeduce
      
      * fix testcase and comment
      
      * rebase to zero, convert to SSA
      
      * change the logic of generating loop code & fix issues
      
      * add a testcase for relax map in deducebound && fix issues
      
      * clean code
      
      * const auto&
      
      * add test_multi_if
      Ziheng Jiang committed
  10. 22 Feb, 2017 1 commit
  11. 17 Feb, 2017 1 commit
    • [ARITH] DeduceBound (#40) · 5198c100
      * [PYTHON/API] Add compare and logic build-in op for Expr
      
      * remove 'and', 'or'
      
      * add deducer
      
      * [WIP] bound_deducer.cc
      
      * move IntervalSet and StrideSet into int_set_internal.h
      
      * add multiple failure for VariablePathFinder, add EvalSign
      
      * consider round in deduce, add success flag
      
      * remove Visit_(Div)
      
      * add comment, update HalideIR
      
      * expose intset to python
      
      * check the sign of every expr
      
      * set return type as ExprSignType
      
      * fine tune
      
      * add min & max python api for interval set
      
      * support for conditional expr
      
      * refactor test
      
      * add checker for BoundDeducer
      
      * add python check test
      
      * fix
      
      * fix
      
      * change range to interval; remove converter
      
      * remove converter declaration
      
      * remove int_set_internal.h
      Ziheng Jiang committed
  12. 12 Feb, 2017 1 commit
  13. 07 Feb, 2017 1 commit
  14. 05 Feb, 2017 1 commit
  15. 02 Feb, 2017 1 commit
  16. 06 Jan, 2017 1 commit
  17. 04 Jan, 2017 1 commit
  18. 31 Dec, 2016 1 commit
  19. 30 Dec, 2016 1 commit