Hi,

>  By the way, RTL is not really machine-independent.  The data
>  structures are machine independent.  But the contents are not.  You
>  can not, even in principle, take the RTL generated for one processor
>  and compile it on another processor.

I thought that RTL represented something close to the target machine,
but not machine-dependent. I firstly thought that the output of the
middle-end was an RTL machine-independent representation, to which is
applied a few low-optimization machine-independent passes, and after
that is translated to a RTL machine-dependent to be applied other
optimization passes.

I read the rtl.def and rtl.h files, are very interesting, and i better
understand the whole process. But reading the output files by debuggin
options (-fdump-rtl-all) i have seen instructions like this:

(insn 8 6 10 1 (set (mem/c/i:SI (plus:DI (reg/f:DI 54 virtual-stack-vars)
                (const_int -8 [0xfffffffffffffff8])) [0 a+0 S4 A64])
        (const_int 1 [0x1])) -1 (nil)
    (nil))

Among the multiple questions that appears i have a particular one,
what does "8 6 10 1" represents? Is it the "print format" defined in
rtl.def?

Thanks,

Fran

Reply via email to