hi, Following is a c code . int a; main() { a=a+1; }
This RTL generated for this programe for mips processor is /*******************************************************/ ; Function main (note 2 0 3 NOTE_INSN_DELETED) (note 3 2 4 NOTE_INSN_FUNCTION_BEG) (note 4 3 5 NOTE_INSN_DELETED) (note 5 4 6 NOTE_INSN_DELETED) (note 6 5 8 NOTE_INSN_DELETED) (insn 8 6 9 (nil) (set (reg:SI 182) (mem/f:SI (symbol_ref:SI ("a")) [0 a+0 S4 A32])) -1 (nil) (nil)) (insn 9 8 10 (nil) (set (reg:SI 183) (plus:SI (reg:SI 182) (const_int 1 [0x1]))) -1 (nil) (nil)) (insn 10 9 11 (nil) (set (mem/f:SI (symbol_ref:SI ("a")) [0 a+0 S4 A32]) (reg:SI 183)) -1 (nil) (nil)) (note 11 10 15 NOTE_INSN_FUNCTION_END) (insn 15 11 16 (nil) (clobber (reg/i:SI 2 v0)) -1 (nil) (nil)) (insn 16 15 13 (nil) (clobber (reg:SI 181)) -1 (nil) (nil)) (code_label 13 16 14 1 "" [0 uses]) (insn 14 13 17 (nil) (set (reg/i:SI 2 v0) (reg:SI 181)) -1 (nil) (nil)) (insn 17 14 0 (nil) (use (reg/i:SI 2 v0)) -1 (nil) (nil)) /*****************************************************/ I'm a newbie in RTL,so please explain what is happening in lines after (note 11 10 15 NOTE_INSN_FUNCTION_END) /******************************************************/ (insn 15 11 16 (nil) (clobber (reg/i:SI 2 v0)) -1 (nil) (nil)) (insn 16 15 13 (nil) (clobber (reg:SI 181)) -1 (nil) (nil)) (code_label 13 16 14 1 "" [0 uses]) (insn 14 13 17 (nil) (set (reg/i:SI 2 v0) (reg:SI 181)) -1 (nil) (nil)) (insn 17 14 0 (nil) (use (reg/i:SI 2 v0)) -1 (nil) (nil)) /***********************************/ thanks, shahzad