Re: Fix a dbr_schedule vs. delete_related_insns liveness bug

2014-01-21 Thread Jeff Law
On 01/18/14 03:12, Richard Sandiford wrote: Jeff Law writes: gcc/ * jump.c (delete_related_insns): Keep (use (insn))s. * reorg.c (redundant_insn): Check for barriers too. OK. Any chance you've got a testcase you can add to the suite? ISTM it's potentially valuable given the p

Re: Fix a dbr_schedule vs. delete_related_insns liveness bug

2014-01-18 Thread Richard Sandiford
Jeff Law writes: >> gcc/ >> * jump.c (delete_related_insns): Keep (use (insn))s. >> * reorg.c (redundant_insn): Check for barriers too. > OK. Any chance you've got a testcase you can add to the suite? ISTM > it's potentially valuable given the plan to remove barriers and the > implic

Re: Fix a dbr_schedule vs. delete_related_insns liveness bug

2014-01-15 Thread Jeff Law
On 01/15/14 12:27, Richard Sandiford wrote: [ snip ] barrier L1: C'': (use ($r1 = ...)) L2: D: $r2 = ... L3: ... A: if ... goto L2 C': $r1 = ... B: if ... goto L3 D': $r2 = ... So far so good. The problem is that redirecting B to L3 makes

Fix a dbr_schedule vs. delete_related_insns liveness bug

2014-01-15 Thread Richard Sandiford
Two patches in a week about dbr_schedule and redundant insns. This one fixes a miscompilation of libgcov-driver.c for n32 and n64 MIPS. It's independent of (and predates) the 59137 patch. We had: barrier L1: C: $r1 = ... D: $r2 = ... ... A: if ... goto L1 B: if