This PR introduces PrimValue, StringImm and DataTypeImm.
These constructs are only used in low-level builtin functions for now. They will enable us to effectively represent POD, string and dtype arguments to builtin functions.
Followup PRs can be introduced to move some of the BuiltinAttrs to directly using these values. We can also simplify the handling of unique and print.
This PR introduces PrimValue, StringImm and DataTypeImm.
These constructs are only used in low-level builtin functions for now. They will enable us to effectively represent POD, string and dtype arguments to builtin functions.
Followup PRs can be introduced to move some of the BuiltinAttrs to directly using these values. We can also simplify the handling of unique and print.
Co-Authored-by: Siyuan Feng Hzfengsy@sjtu.edu.cn