[llvm-testresults] buildbot failure in smooshlab on clang-x86_64-darwin10

daniel_dunbar at apple.com daniel_dunbar at apple.com
Wed Jul 28 23:50:40 PDT 2010


The Buildbot has detected a new failure of clang-x86_64-darwin10 on smooshlab.
Full details are available at:
 http://smooshlab.apple.com:8010/builders/clang-x86_64-darwin10/builds/8963

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

Buildslave for this Build: smoosh-04

Build Reason: 
Build Source Stamp: 109733
Blamelist: lattner

BUILD FAILED: failed compile

sincerely,
 -The Buildbot


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

CHANGES:
Files:
 lib/CodeGen/ABIInfo.h
 lib/CodeGen/CGCall.cpp
 lib/CodeGen/CodeGenTypes.h
 lib/CodeGen/TargetInfo.cpp
 test/CodeGen/x86_64-arguments.c
 test/CodeGenCXX/x86_64-arguments.cpp
At: Wed 28 Jul 2010 23:29:33
Changed By: lattner
Comments: Kill off the 'coerce' ABI passing form.  Now 'direct' and 'extend' always
have a "coerce to" type which often matches the default lowering of Clang
type to LLVM IR type, but the coerce case can be handled by making them
not be the same.

This simplifies things and fixes issues where X86-64 abi lowering would 
return coerce after making preferred types exactly match up.  This caused
us to compile:

typedef float v4f32 __attribute__((__vector_size__(16)));
v4f32 foo(v4f32 X) {
  return X+X;
}

into this code at -O0:

define <4 x float> @foo(<4 x float> %X.coerce) nounwind {
entry:
  %retval = alloca <4 x float>, align 16          ; <<4 x float>*> [#uses=2]
  %coerce = alloca <4 x float>, align 16          ; <<4 x float>*> [#uses=2]
  %X.addr = alloca <4 x float>, align 16          ; <<4 x float>*> [#uses=3]
  store <4 x float> %X.coerce, <4 x float>* %coerce
  %X = load <4 x float>* %coerce                  ; <<4 x float>> [#uses=1]
  store <4 x float> %X, <4 x float>* %X.addr
  %tmp = load <4 x float>* %X.addr                ; <<4 x float>> [#uses=1]
  %tmp1 = load <4 x float>* %X.addr               ; <<4 x float>> [#uses=1]
  %add = fadd <4 x float> %tmp, %tmp1             ; <<4 x float>> [#uses=1]
  store <4 x float> %add, <4 x float>* %retval
  %0 = load <4 x float>* %retval                  ; <<4 x float>> [#uses=1]
  ret <4 x float> %0
}

Now we get:

define <4 x float> @foo(<4 x float> %X) nounwind {
entry:
  %X.addr = alloca <4 x float>, align 16          ; <<4 x float>*> [#uses=3]
  store <4 x float> %X, <4 x float>* %X.addr
  %tmp = load <4 x float>* %X.addr                ; <<4 x float>> [#uses=1]
  %tmp1 = load <4 x float>* %X.addr               ; <<4 x float>> [#uses=1]
  %add = fadd <4 x float> %tmp, %tmp1             ; <<4 x float>> [#uses=1]
  ret <4 x float> %add
}

This implements rdar://8248065

Properties: 




LOGS:
Last 10 lines of 'stdio':
	llvm[4]: Compiling TypePrinter.cpp for Debug+Asserts build
	llvm[4]: Compiling SemaTemplateInstantiate.cpp for Debug+Asserts build
	llvm[4]: Compiling SemaTemplateInstantiateDecl.cpp for Debug+Asserts build
	llvm[4]: Building Debug+Asserts Archive Library libclangAST.a
	llvm[4]: Compiling SemaType.cpp for Debug+Asserts build
	llvm[4]: Compiling TargetAttributesSema.cpp for Debug+Asserts build
	llvm[4]: Building Debug+Asserts Archive Library libclangSema.a
	make[2]: *** [all] Error 1
	make[1]: *** [clang/.makeall] Error 2
	make: *** [all] Error 1

Last 10 lines of 'warnings':
	CrashRecoveryContext.cpp:100: warning: missing initializer for member 'sigaction::sa_flags'
	CrashRecoveryContext.cpp:100: warning: missing initializer for member 'sigaction::__sigaction_u'
	CrashRecoveryContext.cpp:100: warning: missing initializer for member 'sigaction::sa_mask'
	CrashRecoveryContext.cpp:100: warning: missing initializer for member 'sigaction::sa_flags'
	CrashRecoveryContext.cpp:100: warning: missing initializer for member 'sigaction::__sigaction_u'
	CrashRecoveryContext.cpp:100: warning: missing initializer for member 'sigaction::sa_mask'
	CrashRecoveryContext.cpp:100: warning: missing initializer for member 'sigaction::sa_flags'
	CrashRecoveryContext.cpp:100: warning: missing initializer for member 'sigaction::__sigaction_u'
	CrashRecoveryContext.cpp:100: warning: missing initializer for member 'sigaction::sa_mask'
	CrashRecoveryContext.cpp:100: warning: missing initializer for member 'sigaction::sa_flags'




More information about the llvm-testresults mailing list