Re: Problem with peephole to peephole2 conversion

2005-08-25 Thread Ashwin Kolhe
> You'll have something like this in your test > > operands[0] == operands[1] || peep2_regno_dead_p (2, operands[0]) > > i.e. you only need to test for op0's death if it is different from op1. > > Paolo > Exactly.. this is the same thing as calling dead_or_set_p(insn, operands[0]). If it can

Re: Problem with peephole to peephole2 conversion

2005-08-25 Thread Ashwin Kolhe
On 8/25/05, Ashwin Kolhe <[EMAIL PROTECTED]> wrote: > > You'll have something like this in your test > > > > operands[0] == operands[1] || peep2_regno_dead_p (2, operands[0]) > > > > i.e. you only need to test for op0's death if it is different from

Re: Problem with peephole to peephole2 conversion

2005-08-25 Thread Ashwin Kolhe
On 8/25/05, Paolo Bonzini <[EMAIL PROTECTED]> wrote: > I consider this to be less readable than the peep2 way to do it, > especially if your peephole2 had three or four instructions. And > peep2_regno_dead_p uses an array (a circular buffer) so it's more > efficient. Indeed dead_or_set_p even has

Re: Problem with peephole to peephole2 conversion

2005-08-25 Thread Ashwin Kolhe
> Do you mean the source code? A hint: grep ^func_name *.c will get to it > for every function in gcc. > > In this case it is in recog.c, look at peep2_reg_dead_p but also > peep2_regno_dead_p. There are other peep2_* functions you may use. > > Paolo I am sorry.. I think u got me wrong. I have