[REFACTOR][IR] Unify IntImm and UIntImm (#4706)
authorTianqi Chen <tqchen@users.noreply.github.com>
Wed, 15 Jan 2020 03:03:26 +0000 (19:03 -0800)
committerGitHub <noreply@github.com>
Wed, 15 Jan 2020 03:03:26 +0000 (19:03 -0800)
commitce807fe83825bce666ed1834ab24b5d6ddfa6bca
tree6924bd7025250874b4ae3287caf96683910a52ae
parentf4c4fde4a07d2346c159f1d5c6ccd00fb8fb7c7d
[REFACTOR][IR] Unify IntImm and UIntImm (#4706)

* [REFACTOR][IR] Unify IntImm and UIntImm

This PR unifies UIntImm and IntImm to simplify the codebase.
Unsigned integer constants will also be stored as IntImm.

For uint constant that does not fit into int64(rare case), we introduced
an intrinsic tvm_big_uint_imm to construct such intgers by its
lower and higher 32bits.

* [REFACTOR][IR] Remove UIntImm to use IntImm

* rename big->large
74 files changed:
include/tvm/attrs.h
include/tvm/expr.h
include/tvm/expr_operator.h
include/tvm/ir.h
include/tvm/ir/expr.h
include/tvm/ir_functor_ext.h
python/tvm/api.py
python/tvm/autotvm/task/task.py
python/tvm/autotvm/util.py
python/tvm/expr.py
python/tvm/hybrid/calls.py
python/tvm/hybrid/parser.py
python/tvm/hybrid/util.py
python/tvm/relay/frontend/tensorflow.py
src/api/api_ir.cc
src/api/api_lang.cc
src/arithmetic/analyzer.cc
src/arithmetic/canonical_simplify.cc
src/arithmetic/const_fold.h
src/arithmetic/const_int_bound.cc
src/arithmetic/int_set.cc
src/arithmetic/modular_set.cc
src/arithmetic/pattern_match.h
src/arithmetic/rewrite_simplify.cc
src/autotvm/touch_extractor.cc
src/codegen/codegen_c.cc
src/codegen/codegen_c.h
src/codegen/codegen_opengl.cc
src/codegen/codegen_opengl.h
src/codegen/llvm/codegen_arm.cc
src/codegen/llvm/codegen_llvm.cc
src/codegen/llvm/codegen_llvm.h
src/codegen/llvm/codegen_x86_64.cc
src/codegen/llvm/intrin_rule_llvm.h
src/codegen/spirv/codegen_spirv.cc
src/codegen/spirv/codegen_spirv.h
src/codegen/spirv/intrin_rule_spirv.cc
src/codegen/spirv/ir_builder.cc
src/codegen/spirv/ir_builder.h
src/codegen/stackvm/codegen_stackvm.cc
src/codegen/stackvm/codegen_stackvm.h
src/contrib/hybrid/codegen_hybrid.cc
src/contrib/hybrid/codegen_hybrid.h
src/ir/expr.cc
src/lang/attr_functor.h
src/lang/attrs.cc
src/lang/expr.cc
src/lang/expr_operator.cc
src/lang/ir.cc
src/pass/arg_binder.cc
src/pass/ir_deep_compare.cc
src/pass/ir_functor.cc
src/pass/lift_attr_scope.cc
src/pass/lower_intrin.cc
src/pass/lower_thread_allreduce.cc
src/pass/lower_tvm_builtin.cc
src/pass/make_api.cc
src/pass/rewrite_unsafe_select.cc
src/pass/tensor_core.cc
src/pass/unroll_loop.cc
src/relay/backend/compile_engine.cc
src/relay/ir/expr.cc
src/relay/ir/pretty_printer.cc
src/relay/op/tensor/transform.cc
src/relay/pass/type_solver.cc
src/relay/qnn/util.h
tests/cpp/pattern_match_test.cc
tests/python/unittest/test_codegen_device.py
tests/python/unittest/test_codegen_llvm.py
tests/python/unittest/test_hybrid_script.py
tests/python/unittest/test_lang_constructor.py
tests/python/unittest/test_lang_operator.py
topi/include/topi/detail/constant_utils.h
topi/python/topi/util.py