On Fri, Dec 12, 2014 at 03:27:17PM +0800, Zhenqiang Chen wrote: > > Presumably you're thinking about a PARALLEL that satisfies single_set_p? > > No. It has nothing to do with single_set_p. I just want to reuse the code to > match the instruction pattern. > > In common, the new PARALLEL is like > > Parallel > newpat from I3 > newpat from I2 // if have > newpat from I1 // if have > newpat from I0 // if have > > For to_combined_insn, i0 is NULL and there should have no > > newpat from I1 > > When handling I1->I2->I3, with normal order, it will get > Parallel > newpat from I3 > > After I2-> to_combined_insn, the parallel will be > Parallel > newpat from I3 > newpat from to_combined_insn. > > But this can not match the insn pattern. So I swap the order to. > Parallel > newpat from to_combined_insn. > newpat from I3
Maybe I wasn't clear, sorry. My concern is you only handle a SET as newpat, not a PARALLEL. It can be a PARALLEL just fine, even if it satisfies single_set (it can have a clobber, it can have multiple sets, all but one dead). Thanks for the other changes, much appreciated. Segher