Chapter 11 - Long Types & Extended Type System
Finished Chapter 11 of the compiler series.
What's new
- Long type support: Added
longas a first-class type throughout the compiler, including lexing of theL/lsuffix on integer literals. - Type system: Extended the type system to represent
longalongsideint, with proper size and signedness semantics. - SimpleIR backend: Propagated
longtypes into the intermediate representation and the x64 code generation backend, with correct sizing and instruction selection. - LLVM IR code generation: Added full
longtype support to the LLVM IR codegen, local and global variables, function parameters and return types, static locals, and implicit casts betweenintandlong(sext/trunc).