From cd78ce48886ada99bfa5d34a7bf46f2d6ab4c346 Mon Sep 17 00:00:00 2001 From: Phil Tillet Date: Fri, 29 Apr 2022 09:17:54 -0700 Subject: [PATCH] [FRONTEND] Improved error message when assigning None to non-constexpr --- python/triton/code_gen.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/python/triton/code_gen.py b/python/triton/code_gen.py index 711cc87ac..52f9a5a60 100644 --- a/python/triton/code_gen.py +++ b/python/triton/code_gen.py @@ -358,6 +358,8 @@ class CodeGenerator(ast.NodeVisitor): # by default, constexpr are assigned into python variable if isinstance(value, triton.language.constexpr): value = value.value + if value is None: + raise ValueError(f'Cannot assign None to non-constexpr `{name}`. Please annotate as `: tl.constexpr`') if not isinstance(value, triton.language.tensor): value = triton.language.core._to_tensor(value, self.builder) self.value_constructor.set_value(name, value) @@ -719,7 +721,7 @@ class CodeGenerator(ast.NodeVisitor): ast.NodeVisitor.generic_visit(self, node) def visit_NoneType(self, node): - return None + return triton.language.constexpr(None) def visit(self, node): if node is not None: