[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[csmith-dev] csmith 2.0 vs. 2.1



I let two identical quad-core x64 machines spend 24 hours compiling Csmith output using Clang 2.[6-9] and GCC 3.[2-4].0 and GCC 4.[0-6].0. One machine used Csmith 2.0.0 and the other used yesterday's pre-2.1.0 from Github.

Throughput:

2.0: 13613 programs
2.1: 10064 programs

The Clang results were striking, with 2.0 finding 2 ways to crash the compilers and 2.1 finding 11.

The GCC results less so, with 2.0 finding 30 ways to crash the compilers and 2.1 finding 31.

"Ways to crash the compiler" are counted as distinct by testing for string equality on the lines of text that the compilers use to report death.

Bit more detail in the attached files.

John
[regehr@node1 test]$ cat work*/output.txt | grep Assertion | sort|  uniq
  clang-cc: /usr/local/google/home/nlewycky/2.6/llvm-2.6/include/llvm/CodeGen/LiveInterval.h:207: llvm::LiveRange::LiveRange(unsigned int, unsigned int, llvm::VNInfo*): Assertion `S < E && "Cannot create empty or backwards range"' failed.
  clang: SelectionDAG.cpp:4964: void llvm::SelectionDAG::ReplaceAllUsesWith(llvm::SDNode*, llvm::SDNode*, llvm::SelectionDAG::DAGUpdateListener*): Assertion `(!From->hasAnyUseOfValue(i) || From->getValueType(i) == To->getValueType(i)) && "Cannot use this version of ReplaceAllUsesWith!"' failed.
[regehr@node1 test]$ 
[regehr@node1 test]$ 
[regehr@node1 test]$ 
[regehr@node1 test]$ 
[regehr@node1 test]$ 
[regehr@node1 test]$ 
[regehr@node1 test]$ 
[regehr@node1 test]$ cat work*/output.txt | grep -i 'internal compiler' | cut -d ' ' -f 4- | sort | uniq
internal compiler error: in c_common_type, at c-typeck.c:529
internal compiler error: in c_common_type, at c-typeck.c:531
internal compiler error: in compare_name_with_value, at tree-vrp.c:3175
Internal compiler error in do_SUBST, at combine.c:439
internal compiler error: in expand_expr_real_1, at expr.c:6545
Internal compiler error in extract_insn, at recog.c:2148
Internal compiler error in find_free_reg, at local-alloc.c:2198
Internal compiler error in fixup_var_refs_1, at function.c:1964
internal compiler error: in get_addr_dereference_operands, at tree-ssa-operands.c:1698
internal compiler error: in get_indirect_ref_operands, at tree-ssa-operands.c:1449
internal compiler error: in get_indirect_ref_operands, at tree-ssa-operands.c:1477
internal compiler error: in get_indirect_ref_operands, at tree-ssa-operands.c:1515
internal compiler error: in get_loop_body, at cfgloop.c:988
Internal compiler error in instantiate_virtual_regs_1, at function.c:3972
Internal compiler error in instantiate_virtual_regs_1, at function.c:4126
internal compiler error: in make_decl_rtl, at varasm.c:868
internal compiler error: in merge_alias_info, at tree-ssa-copy.c:235
internal compiler error: in output_211, at insn-output.c:1995
Internal compiler error in print_reg, at config/i386/i386.c:5640
internal compiler error: in print_reg, at config/i386/i386.c:6558
internal compiler error: in print_reg, at config/i386/i386.c:7052
internal compiler error: in reg_or_subregno, at jump.c:1728
internal compiler error: in reg_or_subregno, at jump.c:2010
internal compiler error: in reg_or_subregno, at jump.c:2011
internal compiler error: in set_lattice_value, at tree-ssa-ccp.c:486
internal compiler error: in trunc_int_for_mode, at explow.c:56
internal compiler error: in var_ann, at tree-flow-inline.h:34
internal compiler error: in vect_update_ivs_after_vectorizer, at tree-vect-transform.c:6496
internal compiler error: in vn_lookup, at tree-vn.c:274
internal compiler error: Segmentation fault
[regehr@node1 test]$ 
[regehr@node2 test]$ cat work*/output.txt | grep Assertion | sort|  uniq
  clang-cc: APInt.cpp:1064: llvm::APInt& llvm::APInt::zext(unsigned int): Assertion `width > BitWidth && "Invalid APInt ZeroExtend request"' failed.
  clang-cc: CGExprConstant.cpp:308: bool<unnamed>::ConstStructBuilder::Build(clang::InitListExpr*): Assertion `RD->hasFlexibleArrayMember() && "Must have flexible array member if struct is bigger than type!"' failed.
  clang-cc: CGExprConstant.cpp:50: bool<unnamed>::ConstStructBuilder::AppendField(const clang::FieldDecl*, uint64_t, const clang::Expr*): Assertion `NextFieldOffsetInBytes <= FieldOffsetInBytes && "Field offset mismatch!"' failed.
  clang-cc: GlobalOpt.cpp:779: bool OptimizeAwayTrappingUsesOfLoads(llvm::GlobalVariable*, llvm::Constant*, llvm::LLVMContext&): Assertion `(isa<PHINode>(GlobalUser) || isa<SelectInst>(GlobalUser) || isa<ConstantExpr>(GlobalUser)) && "Only expect load and stores!"' failed.
  clang-cc: /usr/local/google/home/nlewycky/2.6/llvm-2.6/include/llvm/ADT/APInt.h:683: llvm::APInt llvm::APInt::shl(unsigned int) const: Assertion `shiftAmt <= BitWidth && "Invalid shift amount"' failed.
  clang-cc: /usr/local/google/home/nlewycky/2.6/llvm-2.6/include/llvm/Support/Casting.h:199: typename llvm::cast_retty<To, From>::ret_type llvm::cast(const Y&) [with X = llvm::AllocaInst, Y = llvm::Value*]: Assertion `isa<X>(Val) && "cast<Ty>() argument of incompatible type!"' failed.
  clang-cc: /usr/local/google/home/nlewycky/2.6/llvm-2.6/include/llvm/Support/Casting.h:199: typename llvm::cast_retty<To, From>::ret_type llvm::cast(const Y&) [with X = llvm::ConstantInt, Y = llvm::Constant*]: Assertion `isa<X>(Val) && "cast<Ty>() argument of incompatible type!"' failed.
  clang: CGExprConstant.cpp:339: bool<unnamed>::ConstStructBuilder::Build(clang::InitListExpr*): Assertion `NextFieldOffsetInBytes == LayoutSizeInBytes && "Converting to packed did not help!"' failed.
  clang: GlobalOpt.cpp:769: bool OptimizeAwayTrappingUsesOfLoads(llvm::GlobalVariable*, llvm::Constant*): Assertion `(isa<PHINode>(GlobalUser) || isa<SelectInst>(GlobalUser) || isa<ConstantExpr>(GlobalUser)) && "Only expect load and stores!"' failed.
  clang: ScalarEvolutionExpander.cpp:1256: llvm::Value* llvm::SCEVExpander::expandCodeFor(const llvm::SCEV*, const llvm::Type*): Assertion `SE.getTypeSizeInBits(Ty) == SE.getTypeSizeInBits(SH->getType()) && "non-trivial casts should be done with the SCEVs directly!"' failed.
  clang: SemaChecking.cpp:2074: void clang::Sema::CheckSignCompare(clang::Expr*, clang::Expr*, clang::SourceLocation, const clang::PartialDiagnostic&, bool): Assertion `unsignedRange.NonNegative && "unsigned range includes negative?"' failed.
[regehr@node2 test]$ 
[regehr@node2 test]$ 
[regehr@node2 test]$ 
[regehr@node2 test]$ 
[regehr@node2 test]$ 
[regehr@node2 test]$  cat work*/output.txt | grep -i 'internal compiler' | cut -d ' ' -f 4- | sort | uniq
internal compiler error: in c_common_type, at c-typeck.c:529
internal compiler error: in c_common_type, at c-typeck.c:531
internal compiler error: in compare_name_with_value, at tree-vrp.c:3175
Internal compiler error in do_SUBST, at combine.c:439
internal compiler error: in do_SUBST, at combine.c:446
internal compiler error: in do_SUBST, at combine.c:462
internal compiler error: in do_SUBST, at combine.c:470
internal compiler error: in do_SUBST, at combine.c:502
internal compiler error: in expand_expr_real_1, at expr.c:6545
internal compiler error: in expand_shift, at expmed.c:2282
internal compiler error: in expand_shift, at expmed.c:2297
Internal compiler error in extract_insn, at recog.c:2148
Internal compiler error in fixup_var_refs_1, at function.c:1964
internal compiler error: in get_indirect_ref_operands, at tree-ssa-operands.c:1449
internal compiler error: in get_indirect_ref_operands, at tree-ssa-operands.c:1477
internal compiler error: in get_indirect_ref_operands, at tree-ssa-operands.c:1515
internal compiler error: in gimple_rhs_has_side_effects, at gimple.c:2343
Internal compiler error in instantiate_virtual_regs_1, at function.c:3972
Internal compiler error in instantiate_virtual_regs_1, at function.c:4126
internal compiler error: in int_mode_for_mode, at stor-layout.c:258
internal compiler error: in make_decl_rtl, at varasm.c:868
internal compiler error: in output_211, at insn-output.c:1995
internal compiler error: in print_reg, at config/i386/i386.c:6238
internal compiler error: in reg_or_subregno, at jump.c:1728
internal compiler error: in reg_or_subregno, at jump.c:2010
internal compiler error: in reg_or_subregno, at jump.c:2011
internal compiler error: in set_lattice_value, at tree-ssa-ccp.c:486
internal compiler error: in set_uids_in_ptset, at tree-ssa-structalias.c:4773
internal compiler error: in var_ann, at tree-flow-inline.h:34
internal compiler error: in vect_update_ivs_after_vectorizer, at tree-vect-transform.c:6496
internal compiler error: Segmentation fault