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

daniel_dunbar at apple.com daniel_dunbar at apple.com
Thu Dec 16 23:06:27 PST 2010


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

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

Buildslave for this Build: smoosh-02

Build Reason: 
Build Source Stamp: 122045
Blamelist: lattner

BUILD FAILED: failed compile.llvm.stage2

sincerely,
 -The Buildbot


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

CHANGES:
Files:
 include/llvm/Support/ConstantRange.h
 lib/Transforms/Utils/SimplifyCFG.cpp
 test/Transforms/SimplifyCFG/switch_create.ll
At: Thu 16 Dec 2010 22:27:07
Changed By: lattner
Comments: improve switch formation to handle small range 
comparisons formed by comparisons.  For example,
this:

void foo(unsigned x) {
  if (x == 0 || x == 1 || x == 3 || x == 4 || x == 6) 
    bar();
}

compiles into:

_foo:                                   ## @foo
## BB#0:                                ## %entry
	cmpl	$6, %edi
	ja	LBB0_2
## BB#1:                                ## %entry
	movl	%edi, %eax
	movl	$91, %ecx
	btq	%rax, %rcx
	jb	LBB0_3

instead of:

_foo:                                   ## @foo
## BB#0:                                ## %entry
	cmpl	$2, %edi
	jb	LBB0_4
## BB#1:                                ## %switch.early.test
	cmpl	$6, %edi
	ja	LBB0_3
## BB#2:                                ## %switch.early.test
	movl	%edi, %eax
	movl	$88, %ecx
	btq	%rax, %rcx
	jb	LBB0_4

This catches a bunch of cases in GCC, which look like this:

 %804 = load i32* @which_alternative, align 4, !tbaa !0
 %805 = icmp ult i32 %804, 2
 %806 = icmp eq i32 %804, 3
 %or.cond121 = or i1 %805, %806
 %807 = icmp eq i32 %804, 4
 %or.cond124 = or i1 %or.cond121, %807
 br i1 %or.cond124, label %.thread, label %808

turning this into a range comparison.

Properties: 




LOGS:
Last 10 lines of 'stdio':
	llvm[4]: Compiling ARMAsmLexer.cpp for Release+Asserts build
	llvm[4]: Compiling ARMAsmParser.cpp for Release+Asserts build
	llvm[4]: Building Release+Asserts Archive Library libLLVMARMAsmParser.a
	llvm[4]: Compiling ARMDisassembler.cpp for Release+Asserts build
	llvm[4]: Compiling ARMDisassemblerCore.cpp for Release+Asserts build
	llvm[4]: Building Release+Asserts Archive Library libLLVMARMDisassembler.a
	llvm[4]: Compiling ARMTargetInfo.cpp for Release+Asserts build
	llvm[4]: Building Release+Asserts Archive Library libLLVMARMInfo.a
	make[1]: *** [Target/.makeall] Error 2
	make: *** [all] Error 1




More information about the llvm-testresults mailing list