commit | 43f06ca42ab35c4528568720710b32f5d592eaf4 | [log] [tgz] |
---|---|---|
author | Eric Lunderberg <Lunderberg@users.noreply.github.com> | Sun May 28 15:44:32 2023 -0500 |
committer | GitHub <noreply@github.com> | Mon May 29 05:44:32 2023 +0900 |
tree | 07a3434a4fcb4a9ac82295370e710e8f6baa2ded | |
parent | 94c1b89abc1f561627ab5e2a152e5ee4c949c580 [diff] |
[TIR] Avoid re-defining `var = arg_var` in ArgBinder (#14952) Prior to this commit, `ArgBinder` would always introduce a new variable to represent the input argument, even if the argument already a primitive type. This introduces trivial let bindings that are expected to be simplified out, but which can produce dangling `tir::Var` usage in some cases (see https://github.com/apache/tvm/pull/14951). This commit updates `ArgBinder` to prefer using the original `tir::Var` when possible. That is, when a function takes `n: T.int32` as input, the packed function should produce a binding `n: T.int32 = T.tvm_struct_get(...)`, rather than producing a binding `arg_n = T.tvm_struct_get(...)` followed by `n = arg_n`.
Documentation | Contributors | Community | Release Notes
Apache TVM is a compiler stack for deep learning systems. It is designed to close the gap between the productivity-focused deep learning frameworks, and the performance- and efficiency-focused hardware backends. TVM works with deep learning frameworks to provide end to end compilation to different backends.
TVM is licensed under the Apache-2.0 license.
Check out the TVM Documentation site for installation instructions, tutorials, examples, and more. The Getting Started with TVM tutorial is a great place to start.
TVM adopts apache committer model, we aim to create an open source project that is maintained and owned by the community. Check out the Contributor Guide.
We learned a lot from the following projects when building TVM.