I am facing some problem in understanding rtl representation. Please help Ques: What should i do to know which insn has plus or minus or... in it, and how to address the operands of operator like plus/minus/left shift/....... This is my program: int foo(int x, int y) { return x+y; } main() { int a=10; int b=1; int c=10; int e[4]; a=a+10; e[0] = 5; int d=foo(a,b)+c; e[1] = 6; ********************************** On analyzing its rtl representation and following its insn chain i.e. for (insn = get_insns (); insn; insn = NEXT_INSN (insn)) { print insn id print defs(the web ids(DEFID)) and some related things print use (webid for corresponding use and see its register reference structure) } i printed following output: ******* insn id=48 code=48 class=5 ******* insn id=5 code=43 class=7 ******* insn id=6 code=43 class=7 DEFID=2 refid=2 regno==60 insnid=6code=72 class=8 ******* insn id=7 code=43 class=7 DEFID=3 refid=4 regno==61 insnid=7code=72 class=8 USE**=2 refid=1 regno==60 insnid=7code=72 class=8 ******* insn id=8 code=43 class=7 DEFID=4 refid=6 regno==62 insnid=8code=72 class=8 USE**=3 refid=2 regno==61 insnid=8code=72 class=8 ******* insn id=9 code=43 class=7 DEFID=5 refid=8 regno==63 insnid=9code=72 class=8 USE**=4 refid=3 regno==62 insnid=9code=72 class=8 ******* insn id=10 code=43 class=7 DEFID=6 refid=9 regno==64 insnid=10code=72 class=8 USE**=5 refid=4 regno==63 insnid=10code=72 class=8 <blah blah blah> ******* insn id=34 code=43 class=7 USE**=10 refid=19 regno==72 insnid=34code=72 class=8 ******* insn id=35 code=45 class=7 DEFID=21 refid=30 regno==15 insnid=35code=72 class=8 DEFID=20 refid=29 regno==14 insnid=35code=72 class=8 DEFID=19 refid=28 regno==13 insnid=35code=72 class=8 DEFID=18 refid=27 regno==12 insnid=35code=72 class=8 DEFID=17 refid=26 regno==11 insnid=35code=72 class=8 DEFID=16 refid=25 regno==10 insnid=35code=72 class=8 DEFID=15 refid=24 regno==9 insnid=35code=72 class=8 DEFID=14 refid=23 regno==8 insnid=35code=72 class=8 DEFID=13 refid=22 regno==2 insnid=35code=72 class=8 DEFID=12 refid=21 regno==1 insnid=35code=72 class=8 DEFID=11 refid=20 regno==0 insnid=35code=72 class=8 DEFID=11 refid=19 regno==0 insnid=35code=72 class=8 ******* insn id=36 code=43 class=7 DEFID=56 refid=66 regno==58 insnid=36code=72 class=8 USE**=11 refid=22 regno==0 insnid=36code=72 class=8 <blah blah blah> ************************************************** ************************************************** ************************************************** ************************************************** ************************************************** What should i do to know which insn has plus or minus or... in it, and how to address the operands of operator like plus/minus/left shift/ I am in need of this If you can please help please help. Please reply asap Dr. Puneet IIT DELHI INDIA __________________________________ Do you Yahoo!? Yahoo! Mail is new and improved - Check it out! http://promotions.yahoo.com/new_mail