Hey Thanks for the reply.. The compiler version is 2.95. I have added the dump file name ".greg2" after the "jump2" optimization and ".stack" optimization in the toplev.c file which is shown below. if (greg2_dump) open_dump_file(".greg2", decl_printable_name (decl,2)); r1_greg2(config_info); dump_rtl(".greg2", decl, print_rtl_with_bb, insns); Also how can i update the lifeness of the register ???. I think thts the problem..the function call r1_greg2(config_info); calls my file "greg2mod.c" in which iam retrieving the head [first instruction] of the basic block 2 and then inserting the two instructions which i have mentioned earlier using the macros at the end.. after the pass , these are the codes that gets executed /* Now turn the rtl into assembler code. */ TIMEVAR (final_time, { rtx x; char *fnname; /* Get the function's name, as described by its RTL. This may be different from the DECL_NAME name used in the source file. */ x = DECL_RTL (decl); br> if (GET_CODE (x) != MEM) abort (); x = XEXP (x, 0); if (GET_CODE (x) != SYMBOL_REF) abort (); fnname = XSTR (x, 0); //This is where the call to the final.c file is done assemble_start_function (decl, fnname); final_start_function (insns, asm_out_file, optimize); final (insns, asm_out_file, optimize, 0); final_end_function (insns, asm_out_file, optimize); assemble_end_function (decl, fnname); if (! quiet_flag) fflush (asm_out_file); ...... So how can i make the registers live??? pls help me kripa __________________________________ Do you Yahoo!? Yahoo! Mail SpamGuard - Read only the mail you want. http://antispam.yahoo.com/tools