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