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]

Inquiry about RTL


Sir,
      In the RTL representation for a C program, I am finding so many
numbers in each instruction.For eg, in the Hello World Program ,RTL
code is given below ...what do those numbers 2 0 3  3 2 6 etc ..in
note insns represent?

;; Function main

(note 2 0 3 NOTE_INSN_DELETED 0)

(note 3 2 6 NOTE_INSN_FUNCTION_BEG 0)

(note 6 3 9 0x400312a0 NOTE_INSN_BLOCK_BEG 0)

(insn 9 6 11 (parallel[
            (set (reg:SI 7 esp)
                (plus:SI (reg:SI 7 esp)
                    (const_int -12 [0xfffffff4])))
            (clobber (reg:CC 17 flags))
        ] ) -1 (nil)
    (nil))

(insn 11 9 12 (set (mem/f:SI (pre_dec:SI (reg:SI 7 esp)) 0)
        (symbol_ref:SI ("*.LC0"))) -1 (nil)
    (nil))

(call_insn 12 11 14 (set (reg:SI 0 eax)
        (call (mem:QI (symbol_ref:SI ("printf")) 0)
            (const_int 16 [0x10]))) -1 (nil)
    (nil)
    (nil))

(insn 14 12 16 (parallel[
            (set (reg:SI 7 esp)
                (plus:SI (reg:SI 7 esp)
                    (const_int 16 [0x10])))
            (clobber (reg:CC 17 flags))
        ] ) -1 (nil)
    (nil))

(note 16 14 17 0x400312a0 NOTE_INSN_BLOCK_END 0)

(note 17 16 19 NOTE_INSN_FUNCTION_END 0)

(insn 19 17 20 (clobber (reg/i:SI 0 eax)) -1 (nil)
    (nil))

(code_label 20 19 21 2 "" "" [0 uses])

(insn 21 20 0 (use (reg/i:SI 0 eax)) -1 (nil)
    (nil))


 I didn't understatnd what it is? Can anybody suggest any other documents
other than Richard Stallman's "Using and Porting GNU CC" ,to understand
RTL code for a program.
                                 Thanking you,
                                                 SRUTHY C.N.





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