编译器代码生成的理论基础涉及IR设计、数据流分析、支配和循环等与体系结构无关的知识,同时还涉及与具体体系结构相关的知识。第一部分主要介绍与体系结构无关的知识,与体系结构相关的知识将在附录B中介绍。此外,本书以LLVM为例介绍代码生成,在LLVM代码生成的实现中使用了辅助描述语言(TableGen)和辅助工具集(如llvm-tblgen等),这些工具可帮助开发者快速实现一款新的编译器后端,所以本部分也会介绍TableGen的相关知识。 JdsveS8hrVEomRES7gQIYVpTxSnwH0eAw9Dl3nf/my22dCoe22BoP3bc5vwvncGE