"Rohit Arul Raj" <[EMAIL PROTECTED]> writes: > > If you can't afford to lose a register, then I think your only option > > is to pick some callee-saved register and have each branch instruction > > explicitly clobber it. Then it will be available for use in a long > > branch, and it will be available for use within a basic block. This > > is far from ideal, but I don't know a better way to handle it within > > gcc's current framework. > > Can i get more clarity on this part. Is it implemented in any other backends?
Not to my knowledge. > When you say "pick some callee-saved register ", is it to pick them > randomly from an available set in CALL_USED_REGISTERS or a specific > register. Well, it would be a lot easier if you use a specific register. Then you can just add a CLOBBER to the branch pattern in the MD file. Assuming your callee-saved registers are more or less equivalent, there wouldn't be any advantage to letting the compiler choose one. Ian