归纳变量分析结果

1 view
Skip to first unread message

Jianzhang Peng

unread,
Dec 18, 2009, 4:04:02 AM12/18/09
to hell...@googlegroups.com
Internal里面对归纳变量的分析结果描述

The description of the induction variable is provided in struct
rtx_iv. In order to handle subregs, the representation is a bit
complicated; if the value of the extend field is not UNKNOWN, the
value of the induction variable in the i-th iteration is

delta + mult * extend_{extend_mode} (subreg_{mode} (base + i * step)),

with the following exception: if first_special is true, then the value
in the first iteration (when i is zero) is delta + mult * base.
However, if extend is equal to UNKNOWN, then first_special must be
false, delta 0, mult 1 and the value in the i-th iteration is

subreg_{mode} (base + i * step)

The function get_iv_value can be used to perform these calculations.

==============
其中公式
delta + mult * extend_{extend_mode} (subreg_{mode} (base + i * step)),
中 extend extend_mode, subreg, subreg_mode是什么意思?

谢谢
--
Jianzhang Peng

Eric Fisher

unread,
Dec 20, 2009, 8:04:32 PM12/20/09
to hell...@googlegroups.com
> 其中公式
> delta + mult * extend_{extend_mode} (subreg_{mode} (base + i * step)),
> 中 extend extend_mode, subreg, subreg_mode是什么意思?

比如32位的寄存器reg,可能会作为16位子寄存器来使用,即subreg,它的机器模式就是subreg_mode。

反过来,如果将16位的整数,算术(或逻辑)扩展为32位,成为extend,扩展后的机器模式为extend_mode。

2009/12/18 Jianzhang Peng <pengji...@gmail.com>:

> --
>
> 您收到此邮件是因为您订阅了 Google 网上论坛的"HelloGcc Workshop"论坛。
> 要向此网上论坛发帖,请发送电子邮件至 hell...@googlegroups.com
> 要取消订阅此网上论坛,请发送电子邮件至 hellogcc+u...@googlegroups.com
> 若有更多问题,请通过 http://groups.google.com/group/hellogcc?hl=zh-CN 访问此网上论坛。
>
>
>

Jianzhang Peng

unread,
Dec 20, 2009, 8:25:18 PM12/20/09
to hell...@googlegroups.com
谢谢

2009/12/21 Eric Fisher <joefo...@gmail.com>:

--
Jianzhang Peng

Reply all
Reply to author
Forward
0 new messages