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

daniel_dunbar at apple.com daniel_dunbar at apple.com
Thu Apr 22 17:46:46 PDT 2010


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/2270

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

Buildslave for this Build: smoosh-14.apple.com

Build Reason: 
Build Source Stamp: 102148
Blamelist: bwilson,dgregor,djg,grosbach,lattner,void

BUILD FAILED: failed compile.llvm.stage2

sincerely,
 -The Buildbot


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

CHANGES:
File: build_gcc
At: Thu 22 Apr 2010 16:15:00
Changed By: bwilson
Comments: Merge build changes from Apple's gcc, svn r155934:
Use xcrun to locate tools for ARM builds, replacing use of
ARM_TOOLROOT variable.  Fix a harmless bug that prevented "sort -u" from
making unique lists of hosts and targets when creating wrapper scripts for
cross-tools.  Also remove old test for RC_TARGET_CONFIG=iPhone. 
Radar 7889784
Properties: 




Files:
 lib/Sema/SemaStmt.cpp
 lib/Sema/TreeTransform.h
 test/SemaObjCXX/instantiate-stmt.mm
At: Thu 22 Apr 2010 16:15:00
Changed By: dgregor
Comments: Template instantiation for the Objective-C "fast enumeration"
statement, i.e., 

  for (element in collection) {
    // do something
  }

Properties: 




File: docs/LangRef.html
At: Thu 22 Apr 2010 16:20:00
Changed By: djg
Comments: Add an initial description of a new concept: trap values, and change
the definition of the nsw and nuw flags to make use of it.

nsw was introduced to help optimizers answer yes to the following:

  // Can we change i from i32 to i64 to eliminate the cast inside the loop?
  for (int i = 0; i < n; ++i) A[i] *= 0.1;

  // Can we assume that this loop will eventually terminate?
  for (int i = 0; i <= n; ++i) A[i] *= 0.1;

In its current form, it isn't truly sufficient for either.

In the first case, if the increment overflows, it'll still have some
valid i32 value; sign-extending it will produce a value which is 33
homogeneous sign bits trailed by 31 independent undef bits. If i is
promoted to i64, it won't have those same values when it reaches that
point. (The compiler could recover here by reasoning about how i is
used by the load, but that's a lot more complicated and isn't always
possible.)

In the second case, there is no value for i which will be greater than
n, so having the increment return undef on overflow doesn't help.

Trap values are a formalization of some existing concepts that we have
about LLVM IR, and give the optimizers a better basis for answering yes
to both questions above.
Properties: 




Files:
 include/clang/AST/DeclBase.h
 lib/AST/DeclBase.cpp
 lib/Sema/Sema.h
 lib/Sema/SemaLookup.cpp
At: Thu 22 Apr 2010 16:25:00
Changed By: dgregor
Comments: Kill off IDNS_ObjCImplementation and IDNS_ObjCCategoryName; they
aren't and never were used. There's a gap in the bit pattern for IDNS
now, but I'm sure *someone* will fill it.

Properties: 




Files:
 lib/Target/ARM/ARMISelDAGToDAG.cpp
 test/CodeGen/ARM/bfx.ll
 test/CodeGen/Thumb2/bfx.ll
At: Thu 22 Apr 2010 16:30:00
Changed By: grosbach
Comments: Update ARM DAGtoDAG for matching UBFX instruction for unsigned bitfield
extraction. This fixes PR5998.

Properties: 




Files:
 include/llvm/Transforms/Utils/Cloning.h
 lib/Transforms/IPO/Inliner.cpp
 lib/Transforms/Utils/InlineFunction.cpp
 test/Transforms/Inline/indirect_resolve.ll
At: Thu 22 Apr 2010 16:40:00
Changed By: lattner
Comments: The inliner was choosing to not consider call sites
that appear in the SCC as a result of inlining as candidates
for inlining.  Change this so that it *does* consider call 
sites that change from being indirect to being direct as a
result of inlining.  This allows it to completely 
"devirtualize" the testcase.
Properties: 




Files:
 include/clang/AST/DeclNodes.def
 lib/AST/Decl.cpp
 lib/AST/DeclBase.cpp
 tools/CIndex/CIndex.cpp
At: Thu 22 Apr 2010 16:40:00
Changed By: dgregor
Comments: Make TemplateDecl and ObjCContainerDecl abstractProperties: 




Files:
 lib/Sema/TreeTransform.h
 test/SemaObjCXX/instantiate-stmt.mm
At: Thu 22 Apr 2010 17:05:00
Changed By: dgregor
Comments: Template instantiation for @try and @finally (but not @catch, yet).
Properties: 




File: gcc/llvm-convert.cpp
At: Thu 22 Apr 2010 17:05:00
Changed By: void
Comments: A fix for a nasty bug (<rdar://problem/7885482>). Here's what's happening:

Consider this pseudo-ObjC code:

      // locking using some "lock" variable
      @try {
        // ...
      } @catch (...) {
        // ...
        @throw;
      } @finally {
        // unlocking using the "lock" variable
      }

The "lock" variable has live intervals from the top of the function through the
@try block and in the @finally block. On 32-bit x86, it doesn't have a live
interval in the @catch block. This is because in 32-bit mode Objective-C uses
setjmp/longjmp for exception handling and not the invoke/DWARF method.  The
@throw is implemented as an "objc_exception_throw" call marked with
NORETURN. The upshot is that if the "lock" variable is placed into a stack slot,
there won't be an indication that the "lock" can be used after the
"objc_exception_throw" executes. With the invoke/DWARF method, the unwind edge
of the invoke points to the @finally block, so the "lock" variable will have a
live interval leading to there.

The solution is to have the "objc_exception_throw" behave in a similar manner to
the invoke/DWARF method. That is remove the "NORETURN" attribute, allowing it to
have an edge from the call to the @finally block.
Properties: 




LOGS:
Last 10 lines of 'stdio':
	llvm[2]: Compiling TargetMachine.cpp for Release build
	llvm[3]: Building Release Archive Library libLLVMMBlazeCodeGen.a
	llvm[2]: Compiling TargetRegisterInfo.cpp for Release build
	llvm[4]: Compiling MBlazeAsmPrinter.cpp for Release build
	llvm[2]: Compiling TargetSubtarget.cpp for Release build
	llvm[2]: Building Release Archive Library libLLVMTarget.a
	llvm[4]: Building Release Archive Library libLLVMMBlazeAsmPrinter.a
	llvm[4]: Compiling MBlazeTargetInfo.cpp for Release build
	llvm[4]: Building Release Archive Library libLLVMMBlazeInfo.a
	make: *** [all] Error 1

Last 10 lines of 'warnings':
	ld warning: duplicate dylib /Users/buildslave/zorg/buildbot/smooshlab/slave/build.llvm-gcc-powerpc-darwin9/llvm-gcc.install/lib/libgcc_s.1.dylib




More information about the llvm-testresults mailing list