[llvm-testresults] buildbot failure in smooshlab on llvm-gcc-powerpc-darwin9

daniel_dunbar at apple.com daniel_dunbar at apple.com
Sat Jan 8 15:11:51 PST 2011


The Buildbot has detected a new failure of llvm-gcc-powerpc-darwin9 on smooshlab.
Full details are available at:
 http://smooshlab.apple.com:8010/builders/llvm-gcc-powerpc-darwin9/builds/4889

Buildbot URL: http://smooshlab.apple.com:8010/

Buildslave for this Build: spang.apple.com

Build Reason: 
Build Source Stamp: 123084
Blamelist: coppro,lattner

BUILD FAILED: failed compile.llvm-gcc.stage2

sincerely,
 -The Buildbot


================================================================================

CHANGES:
File: lib/Transforms/Utils/BasicBlockUtils.cpp
At: Sat 08 Jan 2011 10:50:51
Changed By: lattner
Comments: reduce nesting.
Properties: 




Files:
 lib/Transforms/Scalar/LoopRotation.cpp
 test/Transforms/LoopRotate/phi-duplicate.ll
At: Sat 08 Jan 2011 10:55:51
Changed By: lattner
Comments: Three major changes:
1. Rip out LoopRotate's domfrontier updating code.  It isn't
   needed now that LICM doesn't use DF and it is super complex
   and gross.
2. Make DomTree updating code a lot simpler and faster.  The 
   old loop over all the blocks was just to find a block??
3. Change the code that inserts the new preheader to just use
   SplitCriticalEdge instead of doing an overcomplex 
   reimplementation of it.

No behavior change, except for the name of the inserted preheader.
Properties: 




File: lib/Transforms/Scalar/LoopRotation.cpp
At: Sat 08 Jan 2011 11:00:51
Changed By: lattner
Comments: inline preserveCanonicalLoopForm now that it is simple.
Properties: 




File: lib/Transforms/Utils/BasicBlockUtils.cpp
At: Sat 08 Jan 2011 11:15:51
Changed By: lattner
Comments: various code cleanups, enhance MergeBlockIntoPredecessor to preserve
loop info.
Properties: 




File: lib/Transforms/Scalar/LoopRotation.cpp
At: Sat 08 Jan 2011 11:15:51
Changed By: lattner
Comments: Implement a TODO: Enhance loopinfo to merge away the unconditional branch
that it was leaving in loops after rotation (between the original latch
block and the original header.

With this change, it is possible for rotated loops to have just a single
basic block, which is useful.
Properties: 




Files:
 include/clang/Basic/DiagnosticSemaKinds.td
 include/clang/Sema/Sema.h
 lib/Sema/SemaDeclCXX.cpp
At: Sat 08 Jan 2011 11:25:51
Changed By: coppro
Comments: Check for delegating constructors and (currently) return an error about them.Properties: 




File: lib/Transforms/Scalar/LoopRotation.cpp
At: Sat 08 Jan 2011 11:30:52
Changed By: lattner
Comments: split ssa updating code out to its own helper function.  Don't bother
moving the OrigHeader block anymore: we just merge it away anyway so
its code layout doesn't matter.
Properties: 




File: lib/VMCore/Dominators.cpp
At: Sat 08 Jan 2011 12:00:52
Changed By: lattner
Comments: make domtree verification print something useful on failure.
Properties: 




Files:
 lib/Transforms/Scalar/LoopRotation.cpp
 test/Transforms/LoopRotate/phi-duplicate.ll
At: Sat 08 Jan 2011 12:06:01
Changed By: lattner
Comments: When loop rotation happens, it is *very* common for the duplicated condbr
to be foldable into an uncond branch.  When this happens, we can make a
much simpler CFG for the loop, which is important for nested loop cases
where we want the outer loop to be aggressively optimized.

Handle this case more aggressively.  For example, previously on
phi-duplicate.ll we would get this:


define void @test(i32 %N, double* %G) nounwind ssp {
entry:
  %cmp1 = icmp slt i64 1, 1000
  br i1 %cmp1, label %bb.nph, label %for.end

bb.nph:                                           ; preds = %entry
  br label %for.body

for.body:                                         ; preds = %bb.nph, %for.cond
  %j.02 = phi i64 [ 1, %bb.nph ], [ %inc, %for.cond ]
  %arrayidx = getelementptr inbounds double* %G, i64 %j.02
  %tmp3 = load double* %arrayidx
  %sub = sub i64 %j.02, 1
  %arrayidx6 = getelementptr inbounds double* %G, i64 %sub
  %tmp7 = load double* %arrayidx6
  %add = fadd double %tmp3, %tmp7
  %arrayidx10 = getelementptr inbounds double* %G, i64 %j.02
  store double %add, double* %arrayidx10
  %inc = add nsw i64 %j.02, 1
  br label %for.cond

for.cond:                                         ; preds = %for.body
  %cmp = icmp slt i64 %inc, 1000
  br i1 %cmp, label %for.body, label %for.cond.for.end_crit_edge

for.cond.for.end_crit_edge:                       ; preds = %for.cond
  br label %for.end

for.end:                                          ; preds = %for.cond.for.end_crit_edge, %entry
  ret void
}

Now we get the much nicer:

define void @test(i32 %N, double* %G) nounwind ssp {
entry:
  br label %for.body

for.body:                                         ; preds = %entry, %for.body
  %j.01 = phi i64 [ 1, %entry ], [ %inc, %for.body ]
  %arrayidx = getelementptr inbounds double* %G, i64 %j.01
  %tmp3 = load double* %arrayidx
  %sub = sub i64 %j.01, 1
  %arrayidx6 = getelementptr inbounds double* %G, i64 %sub
  %tmp7 = load double* %arrayidx6
  %add = fadd double %tmp3, %tmp7
  %arrayidx10 = getelementptr inbounds double* %G, i64 %j.01
  store double %add, double* %arrayidx10
  %inc = add nsw i64 %j.01, 1
  %cmp = icmp slt i64 %inc, 1000
  br i1 %cmp, label %for.body, label %for.end

for.end:                                          ; preds = %for.body
  ret void
}

With all of these recent changes, we are now able to compile:

void foo(char *X) {
 for (int i = 0; i != 100; ++i) 
   for (int j = 0; j != 100; ++j)
     X[j+i*100] = 0;
}

into a single memset of 10000 bytes.  This series of changes
should also be helpful for other nested loop scenarios as well.

Properties: 




File: lib/Transforms/Scalar/MemCpyOptimizer.cpp
At: Sat 08 Jan 2011 12:30:51
Changed By: lattner
Comments: constify TargetData references.
Split memset formation logic out into its own
"tryMergingIntoMemset" helper function.
Properties: 




Files:
 test/Transforms/MemCpyOpt/form-memset.ll
 test/Transforms/MemCpyOpt/form-memset2.ll
At: Sat 08 Jan 2011 12:30:51
Changed By: lattner
Comments: merge two tests and filecheckify
Properties: 




Files:
 include/clang/AST/DeclCXX.h
 include/clang/AST/DeclObjC.h
 include/clang/AST/RecursiveASTVisitor.h
 include/clang/Analysis/CFG.h
 include/clang/Analysis/ProgramPoint.h
 include/clang/Parse/Parser.h
 include/clang/Sema/Ownership.h
 include/clang/Sema/Sema.h
 include/clang/Serialization/ASTReader.h
 include/clang/Serialization/ASTWriter.h
 lib/AST/DeclCXX.cpp
 lib/AST/DeclPrinter.cpp
 lib/AST/DumpXML.cpp
 lib/Analysis/CFG.cpp
 lib/CodeGen/CGClass.cpp
 lib/CodeGen/CGObjC.cpp
 lib/Parse/ParseDeclCXX.cpp
 lib/Sema/SemaCodeComplete.cpp
 lib/Sema/SemaDeclCXX.cpp
 lib/Sema/SemaDeclObjC.cpp
 lib/Sema/SemaTemplateInstantiateDecl.cpp
 lib/Serialization/ASTReader.cpp
 lib/Serialization/ASTReaderDecl.cpp
 lib/Serialization/ASTWriter.cpp
 lib/Serialization/ASTWriterDecl.cpp
 lib/StaticAnalyzer/Checkers/ExprEngine.cpp
 tools/libclang/CIndex.cpp
At: Sat 08 Jan 2011 12:36:06
Changed By: coppro
Comments: Renamed CXXBaseOrMemberInitializer to CXXCtorInitializer. This is both shorter,
more accurate, and makes it make sense for it to hold a delegating constructor
call.Properties: 




LOGS:
Last 10 lines of 'stdio':
	make "DESTDIR=" "RPATH_ENVVAR=DYLD_LIBRARY_PATH" "TARGET_SUBDIR=powerpc-apple-darwin9" "bindir=/Volumes/SandBox/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-powerpc-darwin9/llvm-gcc.install.2/bin" "datadir=/Volumes/SandBox/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-powerpc-darwin9/llvm-gcc.install.2/share" "exec_prefix=/Volumes/SandBox/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-powerpc-darwin9/llvm-gcc.install.2" "includedir=/Volumes/SandBox/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-powerpc-darwin9/llvm-gcc.install.2/include" "datarootdir=/Volumes/SandBox/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-powerpc-darwin9/llvm-gcc.install.2/share" "docdir=/Volumes/SandBox/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-powerpc-darwin9/llvm-gcc.install.2/share/doc" "infodir=/Volumes/SandBox/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-powerpc-darwin9/llvm-gcc.install.2/info" "htmldir=/Volumes/SandBox/bu
 ildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-powerpc-darwin9/llvm-gcc.install.2/share/doc" "libdir=/Volumes/SandBox/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-powerpc-darwin9/llvm-gcc.install.2/lib" "libexecdir=/Volumes/SandBox/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-powerpc-darwin9/llvm-gcc.install.2/libexec" "lispdir=" "localstatedir=/Volumes/SandBox/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-powerpc-darwin9/llvm-gcc.install.2/var" "mandir=/Volumes/SandBox/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-powerpc-darwin9/llvm-gcc.install.2/man" "oldincludedir=/usr/include" "prefix=/Volumes/SandBox/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-powerpc-darwin9/llvm-gcc.install.2" "sbindir=/Volumes/SandBox/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-powerpc-darwin9/llvm-gcc.install.2/sbin" "sharedstatedir=/Volumes/SandBox/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-powerpc-darwin9/llvm-
 gcc.install.2/com" "sysconfdir=/Volumes/SandBox/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-powerpc-darwin9/llvm-gcc.install.2/etc" "tooldir=/Volumes/SandBox/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-powerpc-darwin9/llvm-gcc.install.2/powerpc-apple-darwin9" "build_tooldir=/Volumes/SandBox/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-powerpc-darwin9/llvm-gcc.install.2/powerpc-apple-darwin9" "target_alias=powerpc-apple-darwin9" "BISON=bison" "CC_FOR_BUILD=/Volumes/SandBox/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-powerpc-darwin9/llvm-gcc.install/bin/llvm-gcc" "CFLAGS_FOR_BUILD=-g -O2" "CXX_FOR_BUILD=/Volumes/SandBox/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-powerpc-darwin9/llvm-gcc.install/bin/llvm-g++" "EXPECT=expect" "FLEX=flex" "INSTALL=/usr/bin/install -c" "INSTALL_DATA=/usr/bin/install -c -m 644" "INSTALL_PROGRAM=/usr/bin/install -c" "INSTALL_SCRIPT=/usr/bin/install -c" "LEX=flex" "M4=gm4" "MAKE=make" "RUNTE
 ST=runtest" "RUNTESTFLAGS=" "SHELL=/bin/sh" "YACC=bison -y" "`echo 'ADAFLAGS=' | sed -e s'/[^=][^=]*=$/XFOO=/'`" "AR_FLAGS=rc" "`echo 'BOOT_ADAFLAGS=' | sed -e s'/[^=][^=]*=$/XFOO=/'`" "BOOT_CFLAGS=-g -O2 -mdynamic-no-pic" "BOOT_LDFLAGS=" "CFLAGS=-g -O2" "CXXFLAGS=-g -O2" "LDFLAGS=" "LIBCFLAGS=-g -O2" "LIBCXXFLAGS=-g -O2 -fno-implicit-templates" "STAGE1_CFLAGS=-g -no-cpp-precomp -DHAVE_DESIGNATED_INITIALIZERS=0" "STAGE1_CHECKING=--enable-checking" "STAGE1_LANGUAGES=c" "AR_FOR_TARGET=ar" "AS_FOR_TARGET=as" "CC_FOR_TARGET=/Volumes/SandBox/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-powerpc-darwin9/llvm-gcc.obj.2/./gcc/xgcc -B/Volumes/SandBox/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-powerpc-darwin9/llvm-gcc.obj.2/./gcc/ -B/Volumes/SandBox/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-powerpc-darwin9/llvm-gcc.install.2/powerpc-apple-darwin9/bin/ -B/Volumes/SandBox/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-powerpc-darwin9/llvm-gc
 c.install.2/powerpc-apple-darwin9/lib/ -isystem /Volumes/SandBox/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-powerpc-darwin9/llvm-gcc.install.2/powerpc-apple-darwin9/include -isystem /Volumes/SandBox/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-powerpc-darwin9/llvm-gcc.install.2/powerpc-apple-darwin9/sys-include " "CFLAGS_FOR_TARGET=-O2 -g -O2 " "CPPFLAGS_FOR_TARGET=" "CXX_FOR_TARGET=/Volumes/SandBox/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-powerpc-darwin9/llvm-gcc.obj.2/./gcc/g++ -B/Volumes/SandBox/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-powerpc-darwin9/llvm-gcc.obj.2/./gcc/ -nostdinc++  -L/Volumes/SandBox/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-powerpc-darwin9/llvm-gcc.obj.2/powerpc-apple-darwin9/libstdc++-v3/src -L/Volumes/SandBox/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-powerpc-darwin9/llvm-gcc.obj.2/powerpc-apple-darwin9/libstdc++-v3/src/.libs -B/Volumes/SandBox/buildslave/zorg/buildbot
 /smooshlab/slave/build.llvm-gcc-powerpc-darwin9/llvm-gcc.install.2/powerpc-apple-darwin9/bin/ -B/Volumes/SandBox/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-powerpc-darwin9/llvm-gcc.install.2/powerpc-apple-darwin9/lib/ -isystem /Volumes/SandBox/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-powerpc-darwin9/llvm-gcc.install.2/powerpc-apple-darwin9/include -isystem /Volumes/SandBox/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-powerpc-darwin9/llvm-gcc.install.2/powerpc-apple-darwin9/sys-include " "CXXFLAGS_FOR_TARGET=-g -O2 " "DLLTOOL_FOR_TARGET=dlltool" "GCJ_FOR_TARGET=-B/Volumes/SandBox/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-powerpc-darwin9/llvm-gcc.install.2/powerpc-apple-darwin9/bin/ -B/Volumes/SandBox/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-powerpc-darwin9/llvm-gcc.install.2/powerpc-apple-darwin9/lib/ -isystem /Volumes/SandBox/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-powerpc-darwin9/llvm-gcc.in
 stall.2/powerpc-apple-darwin9/include -isystem /Volumes/SandBox/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-powerpc-darwin9/llvm-gcc.install.2/powerpc-apple-darwin9/sys-include " "GFORTRAN_FOR_TARGET=-B/Volumes/SandBox/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-powerpc-darwin9/llvm-gcc.install.2/powerpc-apple-darwin9/bin/ -B/Volumes/SandBox/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-powerpc-darwin9/llvm-gcc.install.2/powerpc-apple-darwin9/lib/ -isystem /Volumes/SandBox/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-powerpc-darwin9/llvm-gcc.install.2/powerpc-apple-darwin9/include -isystem /Volumes/SandBox/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-powerpc-darwin9/llvm-gcc.install.2/powerpc-apple-darwin9/sys-include " "LD_FOR_TARGET=/usr/libexec/gcc/powerpc-apple-darwin9/4.2.1/ld" "LIPO_FOR_TARGET=lipo" "LDFLAGS_FOR_TARGET=" "LIBCFLAGS_FOR_TARGET=-O2 -g -O2 " "LIBCXXFLAGS_FOR_TARGET=-g -O2  -fno-implicit-templates" "N
 M_FOR_TARGET=nm" "OBJDUMP_FOR_TARGET=objdump" "RANLIB_FOR_TARGET=ranlib -c" "STRIP_FOR_TARGET=strip" "WINDRES_FOR_TARGET=windres" "`echo 'LANGUAGES=' | sed -e s'/[^=][^=]*=$/XFOO=/'`" "LEAN=false" "CONFIG_SHELL=/bin/sh" "MAKEINFO=makeinfo --split-size=5000000 --split-size=5000000"  compare
	rm -f stage_current
	Comparing stages 2 and 3
	warning: ./cc1-checksum.o differs
	warning: ./cc1plus-checksum.o differs
	Bootstrap comparison failure!
	./sched-vis.o differs
	make[2]: *** [compare] Error 1
	make[1]: *** [stage3-bubble] Error 2
	make: *** [all] Error 2

Last 10 lines of 'warnings':
	../../llvm-gcc.src/gcc/config/rs6000/altivec.md:1807: warning: operand 3 missing mode?
	../../llvm-gcc.src/gcc/config/rs6000/altivec.md:1882: warning: operand 1 missing mode?
	../../llvm-gcc.src/gcc/config/rs6000/altivec.md:1889: warning: operand 1 missing mode?
	../../llvm-gcc.src/gcc/config/rs6000/altivec.md:2195: warning: destination missing a mode?
	../../llvm-gcc.src/gcc/config/rs6000/altivec.md:2195: warning: operand 0 missing mode?
	../../llvm-gcc.src/gcc/sched-vis.c:628: warning: no previous prototype for 'print_insn'
	../../llvm-gcc.src/gcc/libgcc2.c:412: warning: control reaches end of non-void function
	../../llvm-gcc.src/gcc/libgcc2.c:2045: warning: 'noreturn' function does return
	warning: ./cc1-checksum.o differs
	warning: ./cc1plus-checksum.o differs




More information about the llvm-testresults mailing list