Thanks for reverting this, our internal buildbots have gone green again. > Can you add a non-regression test case? > (It seems the test-suite didn’t catch this bug right?)
Do we have any upstream buildbots using -O0? I haven't investigated very far* but -O0 seems to be the common factor between our internal builders that failed. Also, adding -O1 to the failing command causes the compilation failure to disappear on MultiSource/Applications/JM/ldecod/loopFilter.c. I haven't tested the other failing tests yet but they were: MultiSource/Applications/SPASS/SPASS MultiSource/Benchmarks/Olden/bh/bh MultiSource/Applications/viterbi/viterbi MultiSource/Applications/sqlite3/sqlite3 MultiSource/Applications/JM/lencod/lencod MultiSource/Applications/hbd/hbd MultiSource/Benchmarks/MallocBench/gs/gs MultiSource/Benchmarks/ASC_Sequoia/AMGmk/AMGmk MultiSource/Benchmarks/MiBench/consumer-typeset/consumer-typeset * We've had higher priority buildbot issues over the last couple weeks and I'm still tracking down a particularly unpleasant one where failing 'ninja check-all' somehow manages to kill all _future_ python processes as they're being created. I'm having to reboot the machine after each attempt at bisecting it. > -----Original Message----- > From: cfe-commits [mailto:cfe-commits-boun...@lists.llvm.org] On Behalf > Of Mehdi Amini via cfe-commits > Sent: 22 July 2016 01:31 > To: Wolfgang Pieb > Cc: cfe-commits@lists.llvm.org > Subject: Re: r276361 - Reverting r275115 which caused PR28634. > > > > On Jul 21, 2016, at 4:28 PM, Wolfgang Pieb via cfe-commits <cfe- > comm...@lists.llvm.org> wrote: > > > > Author: wolfgangp > > Date: Thu Jul 21 18:28:18 2016 > > New Revision: 276361 > > > > URL: http://llvm.org/viewvc/llvm-project?rev=276361&view=rev > > Log: > > Reverting r275115 which caused PR28634. > > When empty (forwarding) basic blocks that are referenced by user labels > > are removed, incorrect code may be generated. > > Can you add a non-regression test case? > (It seems the test-suite didn’t catch this bug right?) > > Thanks, > > — > Mehdi > > > > > > > > Removed: > > cfe/trunk/test/CodeGen/forwarding-blocks-if.c > > Modified: > > cfe/trunk/lib/CodeGen/CGStmt.cpp > > > > Modified: cfe/trunk/lib/CodeGen/CGStmt.cpp > > URL: http://llvm.org/viewvc/llvm- > project/cfe/trunk/lib/CodeGen/CGStmt.cpp?rev=276361&r1=276360&r2=27 > 6361&view=diff > > > ========================================================== > ==================== > > --- cfe/trunk/lib/CodeGen/CGStmt.cpp (original) > > +++ cfe/trunk/lib/CodeGen/CGStmt.cpp Thu Jul 21 18:28:18 2016 > > @@ -623,14 +623,7 @@ void CodeGenFunction::EmitIfStmt(const I > > RunCleanupsScope ThenScope(*this); > > EmitStmt(S.getThen()); > > } > > - { > > - auto CurBlock = Builder.GetInsertBlock(); > > - EmitBranch(ContBlock); > > - // Eliminate any empty blocks that may have been created by nested > > - // control flow statements in the 'then' clause. > > - if (CurBlock) > > - SimplifyForwardingBlocks(CurBlock); > > - } > > + EmitBranch(ContBlock); > > > > // Emit the 'else' code if present. > > if (const Stmt *Else = S.getElse()) { > > @@ -646,12 +639,7 @@ void CodeGenFunction::EmitIfStmt(const I > > { > > // There is no need to emit line number for an unconditional branch. > > auto NL = ApplyDebugLocation::CreateEmpty(*this); > > - auto CurBlock = Builder.GetInsertBlock(); > > EmitBranch(ContBlock); > > - // Eliminate any empty blocks that may have been created by nested > > - // control flow statements emitted in the 'else' clause. > > - if (CurBlock) > > - SimplifyForwardingBlocks(CurBlock); > > } > > } > > > > > > Removed: cfe/trunk/test/CodeGen/forwarding-blocks-if.c > > URL: http://llvm.org/viewvc/llvm- > project/cfe/trunk/test/CodeGen/forwarding-blocks- > if.c?rev=276360&view=auto > > > ========================================================== > ==================== > > --- cfe/trunk/test/CodeGen/forwarding-blocks-if.c (original) > > +++ cfe/trunk/test/CodeGen/forwarding-blocks-if.c (removed) > > @@ -1,36 +0,0 @@ > > -// RUN: %clang_cc1 %s -emit-llvm -o - | FileCheck %s > > -// Check that no empty blocks are generated for nested ifs. > > - > > -extern void func(); > > - > > -int f0(int val) { > > - if (val == 0) { > > - func(); > > - } else if (val == 1) { > > - func(); > > - } > > - return 0; > > -} > > - > > -// CHECK-LABEL: define {{.*}}i32 @f0 > > -// CHECK: call void {{.*}} @func > > -// CHECK: call void {{.*}} @func > > -// CHECK: br label %[[RETBLOCK1:[^ ]*]] > > -// CHECK: [[RETBLOCK1]]: > > -// CHECK-NOT: br label > > -// CHECK: ret i32 > > - > > -int f1(int val, int g) { > > - if (val == 0) > > - if (g == 1) { > > - func(); > > - } > > - return 0; > > -} > > - > > -// CHECK-LABEL: define {{.*}}i32 @f1 > > -// CHECK: call void {{.*}} @func > > -// CHECK: br label %[[RETBLOCK2:[^ ]*]] > > -// CHECK: [[RETBLOCK2]]: > > -// CHECK-NOT: br label > > -// CHECK: ret i32 > > > > > > _______________________________________________ > > cfe-commits mailing list > > cfe-commits@lists.llvm.org > > http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits > > _______________________________________________ > cfe-commits mailing list > cfe-commits@lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits