tvm
tvm copied to clipboard
[Tracking Issue] TVMScript Unified Printer
This issue is to track progress for TVMScript Unified Printer
Part 1: Doc
In each step we will introduce several Doc subclasses and implement the corresponding part in PythonDocPrinter.
- [x] LiteralDoc (together with Doc, DocPrinter base class and PythonDocPrinter) (#11971)
- [x] ExprDoc (#12048, #12518)
- [x] StmtDoc (#12111, #12112)
- [x] Operator Associativity (#12148)
Part 2: Core infra
The following items can be worked on in parallel with items from part 1.
- [x] ObjectPath (#11977)
- [x] TracedObject (#12299)
- [x] StructuralEqual with ObjectPath tracing (#12101)
The following items depend on items from part 1.
- [x] Diagnostic Marker in DocPrinter (#12344)
- [x] Registry (#12237)
- [x] Frame (#12366)
- [x] VarTable (#12336)
- [x] IRDocisifer (#12396)
Part 3: IR & TIR
- [ ] IR: MetadataFrame, DefaultFrame, IRModuleFrame
- [x] IR: entry point function:
tvm::script::Script(#12462) - [ ] TIR: base.h (together in #12492)
- TIRFrame
- TIRGenericFrame
- [ ] TIR: type.cc, var.cc, buffer.cc (#12829, #12492, #12506)
- [ ] TIR: expr.cc (#12552)
- [ ] TIR: op.cc (#12576)
- [ ] TIR: stmt.cc (#12582, #12603)
- AssertStmt
- Evaluate
- Store
- BufferStore
- [ ] TIR: stmt.cc (#12635)
- IfThenElse
- While
- Prefetch
- LetStmt
- [ ] TIR: stmt.cc (#12665)
- Allocate
- AttrStmt
- [ ] TIR: stmt.cc (https://github.com/yelite/tvm/tree/tunip-tir-for)
- For
- [ ] TIR: stmt.cc (https://github.com/yelite/tvm/tree/tunip-tir-block)
- Block
- BlockRealize
- [ ] TIR: function.cc (https://github.com/yelite/tvm/tree/tunip-tir-function)
- [ ] Iron out all details to make it pass existing unit tests
- [ ] Roundtrippable float number printing