Balaji V. Iyer wrote: > Pass this "live/not-live" flag to the register allocation process so that > it can output instruction in such a way (please see example below) (I want > this information to be passed into .md stage) You can't get cycle-accurate life time info in the register allocator unless you have a combined register allocator and instruction scheduler. We don't have that. They are separate passes. Combining them is difficult. We do have life time info at the RTL instruction level, but this info tends to be either internal to each register allocation pass, or not specific enough for your needs. You may or may not be able to do anything with this info. The register allocator does not emit instructions (other than reloads emitted by reload), so you can't do this in the register allocator. You probably have to do this in final, when RTL is emitted as assembly language. You might be able to do something useful with REG_DEAD notes, but they are probably not guaranteed to be accurate when we get to final. You could try scanning following instructions for REG_DEAD notes, to see where registers die. Worst case, you might have to create your own life time info by scanning all of the RTL instructions in a function. You could do this in a MACHINE_DEPENDENT_REORG pass. You will probably need to spend some time studying the gcc sources in order to do anything useful here. -- Jim Wilson, GNU Tools Support, http://www.specifix.com