Hi, there~ I encounter a problem when using TVMScript about literal True value. Take an small example:
@T.prim_func
def func(x: T.int32):
if True and x > 2:
T.evaluate(T.broadcast(True, 16))
T.evaluate(T.shift_left(True, x))
T.evaluate(T.call_extern("", "extern_func", True, 16))
Surprisingly, the behaviour diverges:
- In condition, the “True” evaluates to
IntImm("uint1", 1)
- In broadcast and call, the “True” evaluates to
IntImm("int32", 1)
- In call extern, the “True” again evaluates to
IntImm("uint1", 1)
cc @junrushao @yelite for help:)