Ashwin wrote:
The problem in front of me is something like this..

op0 = 1
op1 = op0 leftshift op2

This will be optimized to
op1 = 1 leftshift op2 (by the peephole2 pass to the rtl pattern corresponding to this and hence the requirement that op0 should be dead after insn2)

However if the pattern happens to be something like this :

op0 = 1
op0 = op0 leftshift op2
...
use of op0 here
...

The pattern matches in any case.

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

Reply via email to