如何使用编译器优化此功能?
|
我一直在学习有关编译器和工具的课程(本学期)。我阅读了直到生成中间代码,并且还看到了DAG表示的最优性。编译器很明显的一点是,无论生成了什么中间代码,都必须将其映射到系统的指令集,以便我们可以运行程序。
假设我有一个针对特定体系结构(例如A)的编译器,其中两个数字之间的加法是ADD R1,R2,R3(来自A \'s指令集),其中R1-是目标R2 ,R3是来源。而且我已经映射了这些指令,也就是说,当我想添加两个用中间代码表示的数字(不管类型如何,为了简单起见)时,我将运行ADD操作码!
假设新架构已经进入市场,其中两个数字的加法具有不同的指令集,例如AD R1,R2,R3。现在显然我的编译器不会添加数字!
现在我的问题是,当我为我的编程语言编写编译器时,我必须添加所有体系结构及其指令集,以便我的编译器正确执行所需的工作?如果是这样,那么有什么方法可以优化这种效果?因为添加所有指令集几乎会降低我的性能。
正确如果我错了!
没有找到相关结果
已邀请:
2 个回复
苛肠倒俱
膏焦凑