Enhance the type system to support arbitrary precision integers, which are
important for low-bitwidth inference cases and hardware synthesis targets.
Rename 'int' to 'affineint' to avoid confusion between "the integers" and "the int
type".
PiperOrigin-RevId: 202751508
diff --git a/lib/Parser/TokenKinds.def b/lib/Parser/TokenKinds.def
index 72d769a..73a30df 100644
--- a/lib/Parser/TokenKinds.def
+++ b/lib/Parser/TokenKinds.def
@@ -58,6 +58,7 @@
// Literals
TOK_LITERAL(integer) // 42
TOK_LITERAL(string) // "foo"
+TOK_LITERAL(inttype) // i421
// Punctuation.
TOK_PUNCTUATION(arrow, "->")
@@ -84,6 +85,7 @@
// TODO: More operator tokens
// Keywords. These turn "foo" into Token::kw_foo enums.
+TOK_KEYWORD(affineint)
TOK_KEYWORD(bf16)
TOK_KEYWORD(br)
TOK_KEYWORD(cfgfunc)
@@ -91,12 +93,6 @@
TOK_KEYWORD(f16)
TOK_KEYWORD(f32)
TOK_KEYWORD(f64)
-TOK_KEYWORD(i1)
-TOK_KEYWORD(i16)
-TOK_KEYWORD(i32)
-TOK_KEYWORD(i64)
-TOK_KEYWORD(i8)
-TOK_KEYWORD(int)
TOK_KEYWORD(memref)
TOK_KEYWORD(mlfunc)
TOK_KEYWORD(return)