This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Abt RTL expression


>  a) To which register is the value of n copied? if a5 is the register
> what is 13 and [28]
All of those numbers refer to the same register -
13 is the number of the register; a5 is the name of the register
(if it is an hard register);
[28] is the number of the old pseudo register.
(please look at ORIGINAL_REGNO in rtl.h for more info)

>  b) what is  [flags 0x2] <var_decl 0x40227160 n>
[flags 0x2] are symbol_ref flags and var_decl is the tree decl associated
with this symbol.
(see SYMBOL_REF_FLAGS in rtl.h)

>
> 2.(insn 12 11 13 0 gcc/testsuite/gcc.c-torture/execute/20020611-1.c:13
> (set (reg:SI 0 d0 [orig:29 n ] [29])
>         (mem/c/i:SI (reg/f:SI 13 a5 [28]) [2 n+0 S4 A32])) 15
> {movsi_load} (insn_list:REG_DEP_TRUE 11 (nil))
>     (expr_list:REG_DEAD (reg/f:SI 13 a5 [28])
>         (expr_list:REG_EQUAL (mem/c/i:SI (symbol_ref:SI ("n") [flags
> 0x2] <var_decl 0x40227160 n>) [2 n+0 S4 A32])
>             (nil))))
>
> a) what does this mean  [orig:29 n ] [29] in the above expression?
As above; [orig:29 n ] [29] are the numbers of the old
pseudo register.

> b) what does this mean [2 n+0 S4 A32] in the above expression?

[2 n+0 S4 A32] contains information on the memory expression -
2 is the alias set (MEM_ALIAS_SET);n is the base memory expression and 0 is
it's offset
;S4 is the size in bytes of the memory expression (MEM_SIZE) and A32 is the
alignment in bits (MEM_ALIGN).

Hope it helps,
Revital


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]