c51优化等级 keil_Keil C51中的优化级别及优化作用

Keil C51

中的优化级别及优化作用

级别说明

0

常数合并:编译器预先计算结果,尽可能用常数代替表达式。

包括运行地址计算。优化简单访问:编译器优化访问

8051

系统的内部数据和

位地址。跳转优化:编译器总是扩展跳转到最终目标,多级跳转指令被删除。

1

死代码删除:没用的代码段被删除。拒绝跳转:严密的检查条件跳转,以

确定是否可以倒置测试逻辑来改进或删除。

2

数据覆盖:适合静态覆盖的数据和位段被确定,并内部标识。

BL51

连接

/

定位器可以通

过全局数据流分,选择可被覆盖的段。

3

窥孔优化:清除多余的

MOV

指令。这包括不必要的从存储区加载和常数

加载操作。当存

储空间或执行时间可节省时,用简单操作代替复杂操作。

4

寄存器变量:如有可能,自动变量和函数参数分配到寄存器上。为这些变

量保留的存储区就省略了。优化扩展访问:

IDATA

XDATA

PDATA

CODE

的变量直接包含在操作中。在多数时间没

必要使用中间寄存器。局部公共子表达式删除:如果用一个表达式重复进行

相同的计算,则保存第一次计算

结果,后面有可能就用这结果。多余的计算就被删除。

Case/Switch

优化:包

SWITCH

CASE

的代码优化为跳转表或跳转队列。

5

全局公共子表达式删除:一个函数内相同的子表达式有可能就只计算一次。

中间结果

保存在寄存器中,在一个新的计算中使用。简单循环优化:用一个常数填充

存储区的循环程序被修改和优化。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值