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

daniel_dunbar at apple.com daniel_dunbar at apple.com
Sun Dec 12 19:34:52 PST 2010


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

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

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

Build Reason: 
Build Source Stamp: 121671
Blamelist: lattner

BUILD FAILED: failed compile.llvm-gcc.stage1

sincerely,
 -The Buildbot


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

CHANGES:
Files:
 lib/Transforms/Utils/SimplifyCFG.cpp
 test/Transforms/SimplifyCFG/switch_create.ll
At: Sun 12 Dec 2010 19:21:42
Changed By: lattner
Comments: fix a fairly serious oversight with switch formation from
or'd conditions.  Previously we'd compile something like this:

int crud (unsigned char c) {
   return c == 62 || c == 34 || c == 92;
}

into:

  switch i8 %c, label %lor.rhs [
    i8 62, label %lor.end
    i8 34, label %lor.end
  ]

lor.rhs:                                          ; preds = %entry
  %cmp8 = icmp eq i8 %c, 92
  br label %lor.end

lor.end:                                          ; preds = %entry, %entry, %lor.rhs
  %0 = phi i1 [ true, %entry ], [ %cmp8, %lor.rhs ], [ true, %entry ]
  %lor.ext = zext i1 %0 to i32
  ret i32 %lor.ext

which failed to merge the compare-with-92 into the switch.  With this patch
we simplify this all the way to:

  switch i8 %c, label %lor.rhs [
    i8 62, label %lor.end
    i8 34, label %lor.end
    i8 92, label %lor.end
  ]

lor.rhs:                                          ; preds = %entry
  br label %lor.end

lor.end:                                          ; preds = %entry, %entry, %entry, %lor.rhs
  %0 = phi i1 [ true, %entry ], [ false, %lor.rhs ], [ true, %entry ], [ true, %entry ]
  %lor.ext = zext i1 %0 to i32
  ret i32 %lor.ext

which is much better for codegen's switch lowering stuff.  This kicks in 33 times
on 176.gcc (for example) cutting 103 instructions off the generated code.



Properties: 




LOGS:
Last 10 lines of 'stdio':
	../../llvm-gcc.src/gcc/optabs.c:6313: internal compiler error: Abort trap
	Please submit a full bug report,
	with preprocessed source if appropriate.
	See <URL:http://llvm.org/bugs/> for instructions.
	make[3]: *** [optabs.o] Error 1
	make[3]: *** Waiting for unfinished jobs....
	rm fsf-funding.pod gcov.pod gfdl.pod cpp.pod gpl.pod gcc.pod
	make[2]: *** [all-stage2-gcc] Error 2
	make[1]: *** [stage2-bubble] Error 2
	make: *** [all] Error 2

Last 10 lines of 'warnings':
	warning: structure `ZipDirectory' used but not defined
	warning: structure `VEC_cp_token_position_heap' used but not defined
	warning: structure `pointer_set_t' used but not defined
	warning: structure `c_arg_info' used but not defined
	warning: structure `c_switch' used but not defined
	warning: structure `et_node' used but not defined
	warning: structure `loop' used but not defined
	warning: structure `ipa_reference_vars_info_d' used but not defined
	warning: structure `reg_info_def' used but not defined
	warning: structure `value_set' used but not defined




More information about the llvm-testresults mailing list