This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
RTL help needed
- From: EMPEROR <kalyan_ch at students dot iiit dot net>
- To: gcc mailing list <gcc at gcc dot gnu dot org>
- Date: Sun, 11 Jul 2004 17:49:35 +0530 (IST)
- Subject: RTL help needed
hi all
I need to learn RTL .but the documentation given in the gcc site
is not clear and vivid.Can some one explain me the following RTL
code so that I can extend them to other programs and learn them myself
the c code
=======================
#include<stdio.h>
main()
{
int a=10;
}
=======================
the corresponding RTL code
********************************************************
;; Function main
(note 2 0 6 NOTE_INSN_DELETED)
(insn 6 2 8 (parallel[ (set (reg/f:SI 7 esp) (and:SI (reg/f:SI 7
esp) (const_int -16 [0xfffffff0])))
(clobber (reg:CC 17 flags))
] ) -1 (nil)
(nil))
(insn 8 6 10 (set (reg:SI 59) (const_int 0 [0x0])) -1 (nil)
(expr_list:REG_EQUAL (const_int 0 [0x0])
(nil)))
(insn 10 8 12 (parallel[ (set (reg/f:SI 7 esp) (minus:SI (reg/f:SI
7 esp) (reg:SI 59)))
(clobber (reg:CC 17 flags))
] ) -1 (nil)
(nil))
(insn 12 10 3 (set (reg/f:SI 60) (reg/f:SI 55
virtual-stack-dynamic)) -1 (nil)
(nil))
(note 3 12 4 NOTE_INSN_FUNCTION_BEG)
(note 4 3 13 NOTE_INSN_DELETED)
(note 13 4 14 0x401bc680 NOTE_INSN_BLOCK_BEG)
(note 14 13 17 NOTE_INSN_DELETED)
(insn 17 14 18 (set (mem/f:SI (plus:SI (reg/f:SI 54
virtual-stack-vars) (const_int -4 [0xfffffffc])) [0 a+0 S4 A32])
(const_int 10 [0xa])) -1 (nil)
(nil))
(note 18 17 19 0x401bc680 NOTE_INSN_BLOCK_END)
(note 19 18 24 NOTE_INSN_FUNCTION_END)
(insn 24 19 25 (clobber (reg/i:SI 0 eax)) -1 (nil)
(nil))
(insn 25 24 21 (clobber (reg:SI 58)) -1 (nil)
(nil))
(code_label 21 25 23 1 "" "" [0 uses])
(insn 23 21 26 (set (reg/i:SI 0 eax) (reg:SI 58)) -1 (nil)
(nil))
(insn 26 23 0 (use (reg/i:SI 0 eax)) -1 (nil)
(nil))
************************************************************
thnks in advance
--