"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

Reply via email to