You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tvm.apache.org by tq...@apache.org on 2020/01/19 06:45:00 UTC
[incubator-tvm] branch master updated (7e39201 -> cf59b20)
This is an automated email from the ASF dual-hosted git repository.
tqchen pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-tvm.git.
from 7e39201 Fix dense (#4728)
add cf59b20 [REFACTOR] Establish tir (#4740)
No new revisions were added by this update.
Summary of changes:
CMakeLists.txt | 5 +-
apps/extension/src/tvm_ext.cc | 3 +-
apps/lldb/tvm.py | 4 +-
include/tvm/arith/analyzer.h | 2 +
include/tvm/arith/bound.h | 8 +-
include/tvm/arith/int_set.h | 8 +-
include/tvm/arith/pattern.h | 6 +-
include/tvm/build_module.h | 32 +-
include/tvm/codegen.h | 9 +-
include/tvm/expr.h | 489 ---------
include/tvm/ir/expr.h | 228 +++--
include/tvm/node/printer.h | 7 +
include/tvm/relay/base.h | 2 +-
include/tvm/relay/op_attr_types.h | 5 +
include/tvm/relay/type.h | 4 +-
include/tvm/{ => tir}/buffer.h | 18 +-
include/tvm/{ => tir}/data_layout.h | 25 +-
include/tvm/{ir.h => tir/expr.h} | 1058 ++++++--------------
.../tvm/{ir_functor_ext.h => tir/expr_functor.h} | 322 +-----
include/tvm/{ => tir}/ir_pass.h | 21 +-
include/tvm/{ => tir}/lowered_func.h | 25 +-
include/tvm/{expr_operator.h => tir/op.h} | 307 +++---
include/tvm/tir/stmt.h | 775 ++++++++++++++
.../tvm/{ir_functor_ext.h => tir/stmt_functor.h} | 276 +----
include/tvm/top/operation.h | 33 +-
include/tvm/top/schedule.h | 2 +-
include/tvm/top/tensor.h | 21 +-
include/tvm/top/tensor_intrin.h | 2 +-
python/tvm/ir_pass.py | 2 +-
src/README.md | 6 +-
src/api/api_arith.cc | 4 +-
src/api/api_base.cc | 2 +-
src/api/api_codegen.cc | 8 +-
src/api/api_ir.cc | 10 +-
src/api/api_lang.cc | 21 +-
src/api/api_pass.cc | 15 +-
src/api/api_schedule.cc | 2 +-
src/api/api_test.cc | 2 +-
src/arith/analyzer.cc | 12 +-
src/arith/bound_deducer.cc | 8 +-
src/arith/canonical_simplify.cc | 6 +-
src/arith/compute_expr.h | 18 +-
src/arith/const_fold.h | 48 +-
src/arith/const_int_bound.cc | 6 +-
src/arith/detect_linear_equation.cc | 15 +-
src/arith/domain_touched.cc | 8 +-
src/arith/int_operator.h | 8 +-
src/arith/int_set.cc | 55 +-
src/arith/interval_set.h | 2 +-
src/arith/ir_mutator_with_analyzer.cc | 12 +-
src/arith/ir_mutator_with_analyzer.h | 22 +-
src/arith/ir_visitor_with_analyzer.h | 8 +-
src/arith/modular_set.cc | 6 +-
src/arith/pattern_match.h | 88 +-
src/arith/rewrite_simplify.cc | 6 +-
src/arith/rewrite_simplify.h | 4 +-
src/arith/stmt_simplify.cc | 14 +-
src/autotvm/feature_visitor.cc | 2 +-
src/autotvm/feature_visitor.h | 11 +-
src/autotvm/touch_extractor.h | 4 +-
src/codegen/build_common.h | 3 +-
src/codegen/build_module.cc | 113 +--
src/codegen/codegen.cc | 12 +-
src/codegen/codegen_c.cc | 10 +-
src/codegen/codegen_c.h | 9 +-
src/codegen/codegen_c_host.h | 2 +-
src/codegen/codegen_cuda.cc | 5 +-
src/codegen/codegen_cuda.h | 4 +-
src/codegen/codegen_source_base.cc | 4 +-
src/codegen/codegen_source_base.h | 9 +-
src/codegen/codegen_vhls.h | 2 +-
src/codegen/intrin_rule.cc | 2 +-
src/codegen/intrin_rule.h | 6 +-
src/codegen/llvm/codegen_amdgpu.cc | 1 -
src/codegen/llvm/codegen_arm.cc | 12 +-
src/codegen/llvm/codegen_cpu.cc | 17 +-
src/codegen/llvm/codegen_llvm.cc | 9 +-
src/codegen/llvm/codegen_llvm.h | 10 +-
src/codegen/llvm/codegen_nvptx.cc | 1 -
src/codegen/llvm/codegen_x86_64.cc | 14 +-
src/codegen/llvm/intrin_rule_llvm.cc | 15 +-
src/codegen/llvm/intrin_rule_llvm.h | 14 +-
src/codegen/llvm/intrin_rule_nvptx.cc | 6 +-
src/codegen/llvm/intrin_rule_rocm.cc | 6 +-
src/codegen/spirv/build_vulkan.cc | 2 +-
src/codegen/spirv/codegen_spirv.cc | 12 +-
src/codegen/spirv/codegen_spirv.h | 8 +-
src/codegen/spirv/intrin_rule_spirv.cc | 8 +-
src/codegen/spirv/ir_builder.h | 2 +-
src/codegen/stackvm/codegen_stackvm.cc | 3 +-
src/codegen/stackvm/codegen_stackvm.h | 8 +-
src/contrib/hybrid/codegen_hybrid.cc | 6 +-
src/contrib/hybrid/codegen_hybrid.h | 8 +-
src/ir/attr_functor.h | 154 +--
src/ir/attrs.cc | 2 +-
src/ir/env_func.cc | 2 +-
src/ir/expr.cc | 112 ++-
src/ir/transform.cc | 8 +-
src/lang/expr.cc | 133 ---
src/node/printer.cc | 4 +
src/relay/backend/build_module.cc | 6 +-
src/relay/backend/compile_engine.cc | 26 +-
src/relay/backend/compile_engine.h | 4 +-
src/relay/backend/contrib/codegen_c/codegen_c.h | 2 +-
src/relay/backend/graph_plan_memory.cc | 4 +-
src/relay/backend/graph_runtime_codegen.cc | 14 +-
src/relay/backend/interpreter.cc | 2 +-
src/relay/backend/param_dict.h | 2 +-
src/relay/backend/utils.h | 2 +-
src/relay/backend/vm/compiler.cc | 2 +
src/relay/backend/vm/compiler.h | 2 +-
src/relay/backend/vm/lambda_lift.cc | 2 +-
src/relay/backend/vm/removed_unused_funcs.cc | 2 +-
src/relay/ir/alpha_equal.cc | 4 +-
src/relay/ir/expr.cc | 4 +-
src/relay/ir/hash.cc | 6 +-
src/relay/ir/pretty_printer.cc | 8 +-
src/relay/ir/transform.cc | 2 +-
src/relay/ir/type.cc | 4 +-
src/relay/op/annotation/annotation.cc | 2 +-
src/relay/op/debug.cc | 2 +-
src/relay/op/device_copy.cc | 2 +-
src/relay/op/image/resize.cc | 2 +-
src/relay/op/nn/bitserial.cc | 2 +-
src/relay/op/nn/convolution.cc | 8 +-
src/relay/op/nn/convolution.h | 18 +-
src/relay/op/nn/nn.cc | 6 +-
src/relay/op/nn/pad.cc | 20 +-
src/relay/op/nn/pooling.cc | 10 +-
src/relay/op/nn/sparse.cc | 2 +-
src/relay/op/nn/upsampling.cc | 12 +-
src/relay/op/tensor/reduce.cc | 8 +-
src/relay/op/tensor/transform.cc | 32 +-
src/relay/op/type_relations.cc | 10 +-
src/relay/op/vision/multibox_op.cc | 2 +-
src/relay/pass/alter_op_layout.cc | 2 +-
src/relay/pass/canonicalize_cast.cc | 2 +-
src/relay/pass/canonicalize_ops.cc | 2 +-
src/relay/pass/combine_parallel_conv2d.cc | 4 +-
src/relay/pass/combine_parallel_dense.cc | 2 +-
src/relay/pass/combine_parallel_op_batch.cc | 2 +-
src/relay/pass/convert_layout.cc | 4 +-
src/relay/pass/device_annotation.cc | 4 +-
src/relay/pass/eliminate_common_subexpr.cc | 2 +-
src/relay/pass/fold_constant.cc | 2 +-
src/relay/pass/fold_scale_axis.cc | 6 +-
src/relay/pass/fuse_ops.cc | 4 +-
src/relay/pass/gradient.cc | 2 +-
src/relay/pass/infer_layout_util.h | 3 +-
src/relay/pass/legalize.cc | 2 +-
src/relay/pass/mac_count.cc | 2 +-
src/relay/pass/partition_graph.cc | 4 +-
src/relay/pass/pattern_util.h | 12 +-
src/relay/pass/simplify_inference.cc | 2 +-
src/relay/pass/transform_layout.h | 2 +-
src/relay/pass/type_solver.cc | 10 +-
src/relay/qnn/op/concatenate.cc | 2 +-
src/relay/qnn/op/convolution.cc | 4 +-
src/relay/qnn/util.h | 10 +-
src/target/target.cc | 42 +-
src/{lang => tir/ir}/buffer.cc | 56 +-
src/{lang => tir/ir}/data_layout.cc | 30 +-
src/{lang/ir.cc => tir/ir/expr.cc} | 642 ++----------
src/tir/ir/expr_functor.cc | 290 ++++++
src/tir/ir/functor_common.h | 56 ++
src/{lang => tir/ir}/lowered_func.cc | 6 +-
src/{lang/expr_operator.cc => tir/ir/op.cc} | 244 ++---
src/tir/ir/stmt.cc | 532 ++++++++++
src/{pass/ir_functor.cc => tir/ir/stmt_functor.cc} | 293 +-----
src/{ => tir}/pass/arg_binder.cc | 18 +-
src/{ => tir}/pass/arg_binder.h | 14 +-
src/{ => tir}/pass/bound_checker.cc | 16 +-
src/{ => tir}/pass/combine_context_call.cc | 11 +-
src/{ => tir}/pass/coproc_sync.cc | 10 +-
src/{ => tir}/pass/detect_device.cc | 10 +-
src/{ => tir}/pass/hoist_if_then_else.cc | 12 +-
src/{ => tir}/pass/infer_fragment.cc | 12 +-
src/{ => tir}/pass/inject_copy_intrin.cc | 12 +-
src/{ => tir}/pass/inject_double_buffer.cc | 12 +-
src/{ => tir}/pass/inject_prefetch.cc | 10 +-
src/{ => tir}/pass/inject_virtual_thread.cc | 12 +-
src/{ => tir}/pass/inline.cc | 11 +-
src/{ => tir}/pass/ir_deep_compare.cc | 9 +-
src/{ => tir}/pass/ir_util.cc | 4 +-
src/{ => tir}/pass/ir_util.h | 14 +-
src/{ => tir}/pass/lift_attr_scope.cc | 8 +-
src/{ => tir}/pass/loop_partition.cc | 18 +-
src/{ => tir}/pass/lower_custom_datatypes.cc | 10 +-
src/{ => tir}/pass/lower_intrin.cc | 22 +-
src/{ => tir}/pass/lower_thread_allreduce.cc | 16 +-
src/{ => tir}/pass/lower_tvm_builtin.cc | 12 +-
src/{ => tir}/pass/lower_warp_memory.cc | 14 +-
src/{ => tir}/pass/make_api.cc | 14 +-
src/{ => tir}/pass/remap_thread_axis.cc | 10 +-
src/{ => tir}/pass/remove_no_op.cc | 10 +-
src/{ => tir}/pass/rewrite_unsafe_select.cc | 10 +-
src/{ => tir}/pass/simple_passes.cc | 10 +-
src/{ => tir}/pass/skip_assert.cc | 10 +-
src/{ => tir}/pass/split_host_device.cc | 12 +-
src/{ => tir}/pass/ssa.cc | 10 +-
src/{ => tir}/pass/storage_access.cc | 12 +-
src/{ => tir}/pass/storage_access.h | 18 +-
src/{ => tir}/pass/storage_flatten.cc | 28 +-
src/{ => tir}/pass/storage_rewrite.cc | 18 +-
src/{ => tir}/pass/storage_sync.cc | 12 +-
src/{ => tir}/pass/tensor_core.cc | 26 +-
src/{ => tir}/pass/unroll_loop.cc | 14 +-
src/{ => tir}/pass/vectorize_loop.cc | 12 +-
src/{ => tir}/pass/verify_compact_buffer.cc | 12 +-
src/{ => tir}/pass/verify_gpu_code.cc | 21 +-
src/{ => tir}/pass/verify_memory.cc | 10 +-
src/top/operation/compute_op.cc | 50 +-
src/top/operation/compute_op.h | 4 +-
src/top/operation/cross_thread_reduction.cc | 6 +-
src/top/operation/extern_op.cc | 6 +-
src/top/operation/hybrid_op.cc | 32 +-
src/top/operation/hybrid_op.h | 6 +-
src/top/operation/op_util.cc | 32 +-
src/top/operation/op_util.h | 12 +-
src/top/operation/scan_op.cc | 16 +-
src/top/operation/tensor_compute_op.cc | 22 +-
src/top/operation/tensorize.cc | 28 +-
src/top/schedule/auto_inline_elem_wise.cc | 6 +-
src/top/schedule/bound.cc | 2 +-
src/top/schedule/graph.cc | 18 +-
src/top/schedule/graph.h | 2 +-
src/top/schedule/message_passing.cc | 6 +-
src/top/schedule/message_passing.h | 2 +-
src/top/schedule/schedule_dataflow_rewrite.cc | 68 +-
src/top/schedule/schedule_lang.cc | 2 +-
src/top/schedule/schedule_ops.cc | 26 +-
src/top/tensor.cc | 17 +-
tests/cpp/attrs_test.cc | 8 +-
tests/cpp/container_test.cc | 3 +-
tests/cpp/expr_test.cc | 4 +-
tests/cpp/ir_functor_test.cc | 32 +-
tests/cpp/ir_simplify_test.cc | 24 +-
tests/cpp/ir_ssa_test.cc | 14 +-
tests/cpp/packed_func_test.cc | 7 +-
tests/cpp/pattern_match_test.cc | 43 +-
tests/cpp/simple_passes_test.cc | 6 +-
topi/include/topi/broadcast.h | 6 +-
topi/include/topi/cuda/dense.h | 8 +-
topi/include/topi/cuda/normalization.h | 8 +-
topi/include/topi/cuda/pooling.h | 12 +-
topi/include/topi/cuda/reduction.h | 8 +-
topi/include/topi/cuda/softmax.h | 4 +-
topi/include/topi/detail/broadcast.h | 24 +-
topi/include/topi/detail/constant_utils.h | 14 +-
topi/include/topi/detail/extern.h | 20 +-
topi/include/topi/detail/pad_utils.h | 4 +-
topi/include/topi/detail/ravel_unravel.h | 2 +-
topi/include/topi/elemwise.h | 17 +-
topi/include/topi/image/resize.h | 10 +-
topi/include/topi/nn.h | 82 +-
topi/include/topi/nn/batch_matmul.h | 2 +-
topi/include/topi/nn/bias_add.h | 2 +-
topi/include/topi/nn/bnn.h | 6 +-
topi/include/topi/nn/dense.h | 2 +-
topi/include/topi/nn/dilate.h | 4 +-
topi/include/topi/nn/flatten.h | 2 +-
topi/include/topi/nn/local_response_norm.h | 2 +-
topi/include/topi/nn/pooling.h | 107 +-
topi/include/topi/nn/softmax.h | 10 +-
topi/include/topi/reduction.h | 22 +-
topi/include/topi/transform.h | 18 +-
topi/include/topi/vision/reorg.h | 2 +-
267 files changed, 4230 insertions(+), 4636 deletions(-)
delete mode 100644 include/tvm/expr.h
rename include/tvm/{ => tir}/buffer.h (96%)
rename include/tvm/{ => tir}/data_layout.h (96%)
rename include/tvm/{ir.h => tir/expr.h} (57%)
copy include/tvm/{ir_functor_ext.h => tir/expr_functor.h} (50%)
rename include/tvm/{ => tir}/ir_pass.h (98%)
rename include/tvm/{ => tir}/lowered_func.h (91%)
rename include/tvm/{expr_operator.h => tir/op.h} (88%)
create mode 100644 include/tvm/tir/stmt.h
rename include/tvm/{ir_functor_ext.h => tir/stmt_functor.h} (52%)
delete mode 100644 src/lang/expr.cc
rename src/{lang => tir/ir}/buffer.cc (92%)
rename src/{lang => tir/ir}/data_layout.cc (94%)
rename src/{lang/ir.cc => tir/ir/expr.cc} (52%)
create mode 100644 src/tir/ir/expr_functor.cc
create mode 100644 src/tir/ir/functor_common.h
rename src/{lang => tir/ir}/lowered_func.cc (94%)
rename src/{lang/expr_operator.cc => tir/ir/op.cc} (71%)
create mode 100644 src/tir/ir/stmt.cc
rename src/{pass/ir_functor.cc => tir/ir/stmt_functor.cc} (60%)
rename src/{ => tir}/pass/arg_binder.cc (96%)
rename src/{ => tir}/pass/arg_binder.h (96%)
rename src/{ => tir}/pass/bound_checker.cc (96%)
rename src/{ => tir}/pass/combine_context_call.cc (95%)
rename src/{ => tir}/pass/coproc_sync.cc (99%)
rename src/{ => tir}/pass/detect_device.cc (88%)
rename src/{ => tir}/pass/hoist_if_then_else.cc (98%)
rename src/{ => tir}/pass/infer_fragment.cc (97%)
rename src/{ => tir}/pass/inject_copy_intrin.cc (97%)
rename src/{ => tir}/pass/inject_double_buffer.cc (98%)
rename src/{ => tir}/pass/inject_prefetch.cc (95%)
rename src/{ => tir}/pass/inject_virtual_thread.cc (98%)
rename src/{ => tir}/pass/inline.cc (94%)
rename src/{ => tir}/pass/ir_deep_compare.cc (99%)
rename src/{ => tir}/pass/ir_util.cc (98%)
rename src/{ => tir}/pass/ir_util.h (96%)
rename src/{ => tir}/pass/lift_attr_scope.cc (98%)
rename src/{ => tir}/pass/loop_partition.cc (98%)
rename src/{ => tir}/pass/lower_custom_datatypes.cc (97%)
rename src/{ => tir}/pass/lower_intrin.cc (95%)
rename src/{ => tir}/pass/lower_thread_allreduce.cc (97%)
rename src/{ => tir}/pass/lower_tvm_builtin.cc (98%)
rename src/{ => tir}/pass/lower_warp_memory.cc (98%)
rename src/{ => tir}/pass/make_api.cc (98%)
rename src/{ => tir}/pass/remap_thread_axis.cc (95%)
rename src/{ => tir}/pass/remove_no_op.cc (97%)
rename src/{ => tir}/pass/rewrite_unsafe_select.cc (97%)
rename src/{ => tir}/pass/simple_passes.cc (96%)
rename src/{ => tir}/pass/skip_assert.cc (91%)
rename src/{ => tir}/pass/split_host_device.cc (97%)
rename src/{ => tir}/pass/ssa.cc (98%)
rename src/{ => tir}/pass/storage_access.cc (98%)
rename src/{ => tir}/pass/storage_access.h (94%)
rename src/{ => tir}/pass/storage_flatten.cc (97%)
rename src/{ => tir}/pass/storage_rewrite.cc (99%)
rename src/{ => tir}/pass/storage_sync.cc (98%)
rename src/{ => tir}/pass/tensor_core.cc (98%)
rename src/{ => tir}/pass/unroll_loop.cc (96%)
rename src/{ => tir}/pass/vectorize_loop.cc (99%)
rename src/{ => tir}/pass/verify_compact_buffer.cc (90%)
rename src/{ => tir}/pass/verify_gpu_code.cc (93%)
rename src/{ => tir}/pass/verify_memory.cc (98%)