This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Inquiry about RTL
- From: "SRUTHY C.N." <csy2p100 at nitc dot ac dot in>
- To: <gcc at gnu dot org>, <gcc at gcc dot gnu dot org>
- Date: Tue, 22 Jul 2003 09:46:52 +0530 (IST)
- Subject: 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.