This repository documents the journey of building a backend for the Cpu0 architecture using LLVM. Each chapter covers a specific topic:
- CH1-Cpu0 Architecture and LLVM Structure: Overview of the Cpu0 architecture and how LLVM fits into the design.
- CH2-Backend structure: The overall structure of the backend implementation.
- CH3-Arithmetic and Logic Instructions: Implementing arithmetic and logical operations.
- CH4-Generating object files: Steps to produce object files from the compiler.
- CH5-Global Variables: Handling global variables in the compilation process.
- CH6-Other data type: Support for additional data types.
- CH7-Control flow statements: Implementing control flow like loops and branches.
- CH8-Function call: How function calls are managed.
Use this README as a guide to navigate the chapters and understand where to find specific information about each stage of the Cpu0 backend development.