r276361 - Reverting r275115 which caused PR28634.
Daniel Sanders via cfe-commits
cfe-commits at lists.llvm.org
Wed Jul 27 08:09:23 PDT 2016
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-bounces at lists.llvm.org] On Behalf
> Of Mehdi Amini via cfe-commits
> Sent: 22 July 2016 01:31
> To: Wolfgang Pieb
> Cc: cfe-commits at 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-
> commits at 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 at lists.llvm.org
> > http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
More information about the cfe-commits
mailing list