mirror of
https://github.com/odin-lang/Odin.git
synced 2026-07-22 15:32:35 +00:00
Rewrite the builder generator to cover every opcode -- each operand maps to a typed param by kind + quantifier, emitted with a running operand index so all shapes compose: optional '?' -> Maybe(T) variadic '*' -> []T composite Pair* -> []Pair_Id_Id / []Pair_Lit_Id / []Pair_Id_Lit LiteralString -> string (packed into word operands) Id/Lit/enum -> Id / i64 / the typed enum (ValueEnum) or bit_set (BitEnum) A verb that would clash with an Odin keyword, builtin, builtin type name, or a re-exported ir.type_* constructor gets a trailing '_' (return_, switch_, string_, size_of_, type_void_, ...). builder.odin gains the Pair_* types + a string packer. 873 inst_<OpName> + 873 Builder methods. Package compiles; suite 10 passed.