On Fri, Nov 27, 2015 at 10:44 AM, Kyrill Tkachov <kyrylo.tkac...@arm.com> wrote: > > On 26/11/15 16:54, Kyrill Tkachov wrote: >> >> >> On 26/11/15 16:49, Bernd Schmidt wrote: >>> >>> On 11/26/2015 05:45 PM, Kyrill Tkachov wrote: >>>> >>>> that doesn't help, punt. */ >>>> >>>> - modified_in_a = emit_a != NULL_RTX && modified_in_p (orig_b, emit_a); >>>> if (tmp_b && then_bb) >>>> { >>> >>> These bits I thought would be part of a followup patch (which would also >>> guard against single_set problems), and as I mentioned I'd rather have a >>> checking assert. >> >> Yes, you're right. I have the checking_assert statement in the followup >> that I've been testing. >> I'll move the deletion of these two statements there as well to minimise >> the changes to this patch. >> >> I'll move these bits to that patch, re-build cc1 and commit. >> > > Here it is. > I'm committing this to trunk.
I think this causes FAIL: gcc.c-torture/execute/20050124-1.c -O2 (internal compiler error) FAIL: gcc.c-torture/execute/20050124-1.c -O2 (test for excess errors) WARNING: gcc.c-torture/execute/20050124-1.c -O2 compilation failed to produce executable FAIL: gcc.c-torture/execute/20050124-1.c -O2 -flto -fno-use-linker-plugin -flt o-partition=none (internal compiler error) FAIL: gcc.c-torture/execute/20050124-1.c -O2 -flto -fno-use-linker-plugin -flt o-partition=none (test for excess errors) .... /space/rguenther/src/svn/trunk2/gcc/testsuite/gcc.c-torture/execute/20050124-1.c:19:1: internal compiler error: in noce_try_cmove_arith, at ifcvt.c:2180^M 0x11f919d noce_try_cmove_arith^M /space/rguenther/src/svn/trunk2/gcc/ifcvt.c:2180^M 0x11fb93f noce_process_if_block^M /space/rguenther/src/svn/trunk2/gcc/ifcvt.c:3525^M 0x11fdd0e noce_find_if_block^M /space/rguenther/src/svn/trunk2/gcc/ifcvt.c:3974^M 0x11fdd0e find_if_header^M /space/rguenther/src/svn/trunk2/gcc/ifcvt.c:4179^M 0x11fdd0e if_convert^M /space/rguenther/src/svn/trunk2/gcc/ifcvt.c:5326^M 0x11ff32d execute^M on x86_64 with -m64 and -m32. Richard. > Thanks, > Kyrill > > 2015-11-26 Kyrylo Tkachov <kyrylo.tkac...@arm.com> > > PR rtl-optimization/68506 > * ifcvt.c (noce_try_cmove_arith): Try emitting the else basic block > first if emit_a exists or then_bb modifies 'b'. Reindent if-else > blocks. > > 2015-11-26 Kyrylo Tkachov <kyrylo.tkac...@arm.com> > > PR rtl-optimization/68506 > * gcc.c-torture/execute/pr68506.c: New test. > >> Thanks for your guidance, >> Kyrill >> >>> So take these deletions out and leave them for the followup, and the >>> patch is ok everywhere. No need for a full retest given that practically the >>> same patch has been tested already, just make sure you can build cc1. >>> >>> >>> Bernd >>> >> >