[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