91 failures (66 ignoring undef)
LLVM git: ec0b66c318e
Alive2 git: d3ddabd
Failed tests:
Test Name | Ok if undef ignored? | Failure reason | Comments |
---|---|---|---|
Transforms/BlockExtractor/invalid-block.ll | ? | test crashes with fatal_error() and shows backtrace. Fix LLVM? | |
Transforms/BlockExtractor/invalid-function.ll | ? | test crashes with fatal_error() and shows backtrace. Fix LLVM? | |
Transforms/BlockExtractor/invalid-line.ll | ? | test crashes with fatal_error() and shows backtrace. Fix LLVM? | |
Transforms/CodeGenPrepare/X86/cttz-ctlz.ll | Source is more defined than target | LLVM bug: introduction of branch on poison/undef | |
Transforms/CodeGenPrepare/X86/memset_chk-simplify-nobuiltin.ll | Source is more defined than target | __memset_chk() not recognized as a builtin on purpose. Need to detect this case. | |
Transforms/ConstProp/overflow-ops.ll | Value mismatch | LLVM PR43188 | |
Transforms/EarlyCSE/commute.ll | ✓ | Value mismatch | |
Transforms/ExpandMemCmp/X86/memcmp.ll | Target is more poisonous than source | LLVM bug: load widening of i8 -> i16 | |
Transforms/GCOVProfiling/version.ll | Crash | seems to crash even without Alive2 plugin | |
Transforms/GVN/PRE/rle.ll | ✓ | Value mismatch | |
Transforms/IndVarSimplify/loop-predication.ll | Source is more defined than target | LLVM bug: introduces branch on poison | |
Transforms/IndVarSimplify/post-inc-range.ll | Source is more defined than target | LLVM bug: introduces branch on poison | |
Transforms/InstCombine/2008-03-13-IntToPtr.ll | Target is more poisonous than source | LLVM bug: load type punning (ptr->int) | |
Transforms/InstCombine/and-or-icmp-nullptr.ll | Value mismatch | pointer comparison semantics | |
Transforms/InstCombine/assume.ll | Source is more defined than target | LLVM bug: int->ptr comparison | |
Transforms/InstCombine/bswap.ll | Target is more poisonous than source | LLVM bug: load type punning (vector->wide int) | |
Transforms/InstCombine/canonicalize-clamp-like-pattern-between-zero-and-positive-threshold.ll | Target is more poisonous than source | LLVM PR45954 | |
Transforms/InstCombine/cast_ptr.ll | Value mismatch | LLVM bug: int->ptr comparison | |
Transforms/InstCombine/exact.ll | ✓ | Value mismatch | |
Transforms/InstCombine/getelementptr.ll | Source is more defined than target | LLVM PR45444 | |
Transforms/InstCombine/icmp-vec.ll | Target is more poisonous than source | LLVM PR44185 | |
Transforms/InstCombine/icmp.ll | Value mismatch | ptrtoint -> null ptr comparison | |
Transforms/InstCombine/insert-extract-shuffle.ll | Target is more poisonous than source | LLVM PR44185 | |
Transforms/InstCombine/invert-variable-mask-in-masked-merge-scalar.ll | ✓ | Value mismatch | |
Transforms/InstCombine/invert-variable-mask-in-masked-merge-vector.ll | ✓ | Value mismatch | |
Transforms/InstCombine/limit-max-iterations.ll | ? | test crashes with fatal_error() and shows backtrace. Fix LLVM? | |
Transforms/InstCombine/load-bitcast32.ll | Target is more poisonous than source | LLVM bug: load type punning (int->ptr) | |
Transforms/InstCombine/load-bitcast64.ll | Target is more poisonous than source | LLVM bug: load type punning (int->ptr) | |
Transforms/InstCombine/load-cmp.ll | Value mismatch | LLVM PR45210 | |
Transforms/InstCombine/load.ll | Mismatch in memory | LLVM bug: load type punning (vector->wide int) | |
Transforms/InstCombine/max-of-nots.ll | ✓ | Value mismatch | |
Transforms/InstCombine/max_known_bits.ll | ✓ | Target is more poisonous than source | |
Transforms/InstCombine/memcpy-from-global.ll | Source is more defined than target | Alive2 bug in input ptr refinement | |
Transforms/InstCombine/memcpy-to-load.ll | Mismatch in memory | LLVM bug: memcpy -> i8 load/store | |
Transforms/InstCombine/minmax-fold.ll | Value mismatch | LLVM PR45152 | |
Transforms/InstCombine/minmax-fp.ll | Target is more poisonous than source | Missing support for fast-math flags in select in Alive2 | |
Transforms/InstCombine/or.ll | Value mismatch | LLVM bug: int->ptr comparison | |
Transforms/InstCombine/pr24354.ll | Mismatch in memory | LLVM bug: select -> and | |
Transforms/InstCombine/rem.ll | ✓ | Value mismatch | |
Transforms/InstCombine/saturating-add-sub.ll | ✓ | Target is more poisonous than source | |
Transforms/InstCombine/select-bitext.ll | Target is more poisonous than source | LLVM bug: select -> arithmetic | |
Transforms/InstCombine/select-cmp-br.ll | Source is more defined than target | LLVM bug: select -> or | |
Transforms/InstCombine/select-cmp-cttz-ctlz.ll | ✓ | Target is more poisonous than source | |
Transforms/InstCombine/select-of-bittest.ll | Target is more poisonous than source | LLVM PR47668 | |
Transforms/InstCombine/select-pr39595.ll | ✓ | Value mismatch | |
Transforms/InstCombine/select.ll | Target is more poisonous than source | LLVM bug: select -> or | |
Transforms/InstCombine/select_meta.ll | ✓ | Value mismatch | |
Transforms/InstCombine/sext.ll | ✓ | Value mismatch | |
Transforms/InstCombine/shuffle-select-narrow.ll | Target is more poisonous than source | LLVM PR44185 | |
Transforms/InstCombine/shuffle_select.ll | Target is more poisonous than source | LLVM PR44185 | |
Transforms/InstCombine/shufflevec-bitcast.ll | Value mismatch | LLVM PR44185 | |
Transforms/InstCombine/struct-assign-tbaa-new.ll | Mismatch in memory | LLVM bug: memcpy -> i32 load/store | |
Transforms/InstCombine/sub.ll | ✓ | Target is more poisonous than source | |
Transforms/InstCombine/vec_demanded_elts.ll | Value mismatch | LLVM PR45445 | |
Transforms/InstCombine/vec_gep_scalar_arg.ll | Target is more poisonous than source | LLVM PR44185 | |
Transforms/InstCombine/vec_shuffle.ll | Target is more poisonous than source | LLVM PR44185 | |
Transforms/InstCombine/vector-urem.ll | ✓ | Value mismatch | |
Transforms/InstCombine/with_overflow.ll | ✓ | Target is more poisonous than source | |
Transforms/InstSimplify/and-or-icmp-nullptr.ll | Value mismatch | pointer comparison semantics | |
Transforms/InstSimplify/call.ll | Value mismatch | LLVM PR43188 | |
Transforms/InstSimplify/fcmp-select.ll | Value mismatch | Missing support for fast-math flags in select in Alive2 | |
Transforms/InstSimplify/gep.ll | Value mismatch | LLVM PR44403 | |
Transforms/JumpThreading/select.ll | Source is more defined than target | LLVM PR45956 | |
Transforms/LoadStoreVectorizer/X86/vectorize-i8-nested-add.ll | Source is more defined than target | LLVM PR46591 | |
Transforms/LoopUnroll/runtime-loop-multiexit-dom-verify.ll | Source is more defined than target | LLVM bug: loop unroll introduces branch on undef/poison | |
Transforms/LoopUnroll/runtime-loop-multiple-exits.ll | Source is more defined than target | LLVM bug: loop unroll introduces branch on undef/poison | |
Transforms/LoopUnswitch/2007-08-01-LCSSA.ll | Source is more defined than target | LLVM bug: introduces branch on poison | |
Transforms/LoopUnswitch/basictest.ll | ✓ | Source is more defined than target | |
Transforms/LoopVectorize/X86/unroll_selection.ll | ✓ | ? | Z3 bug: timeout not respected (https://github.com/Z3Prover/z3/issues/4192) |
Transforms/MemCpyOpt/fca2memcpy.ll | Mismatch in memory | Alive#345 | |
Transforms/MemCpyOpt/memset-memcpy-redundant-memset.ll | ✓ | Source is more defined than target | LLVM PR47697 |
Transforms/MergeICmps/X86/entry-block-shuffled.ll | Source is more defined than target | LLVM bug: reorders comparisons; introduces branch on poison | |
Transforms/PGOProfile/chr.ll | Source is more defined than target | LLVM bug: introduces branch on poison | |
Transforms/PhaseOrdering/unsigned-multiply-overflow-check.ll | Target is more poisonous than source | LLVM PR45952 | |
Transforms/SROA/alignment.ll | Mismatch in memory | LLVM bug: memcpy-> load/store; needs 'byte' type | |
Transforms/SROA/basictest.ll | Mismatch in memory | LLVM bug: memcpy -> load/store | |
Transforms/SROA/vector-promotion.ll | Mismatch in memory | ||
Transforms/Scalarizer/order-bug.ll | ✓ | Value mismatch | |
Transforms/Scalarizer/scatter-order.ll | ✓ | Value mismatch | |
Transforms/SimpleLoopUnswitch/LIV-loop-condtion.ll | ✓ | Source is more defined than target | |
Transforms/SimpleLoopUnswitch/nontrivial-unswitch.ll | Source is more defined than target | LLVM bug: introduces branch on poison | |
Transforms/SimplifyCFG/basictest.ll | Target is more poisonous than source | LLVM bug: speculates execution of poison code & merges value (needs freeze to block propagation of poison) | |
Transforms/SimplifyCFG/branch-fold-threshold.ll | Source is more defined than target | LLVM bug: speculates execution of poison code & merges value (needs freeze to block propagation of poison) | |
Transforms/SimplifyCFG/branch-fold.ll | Source is more defined than target | LLVM bug: speculates execution of poison code & merges value (needs freeze to block propagation of poison) | |
Transforms/SimplifyCFG/common-dest-folding.ll | Source is more defined than target | LLVM bug: speculates execution of poison code & merges value (needs freeze to block propagation of poison) | |
Transforms/SimplifyCFG/preserve-branchweights.ll | Source is more defined than target | LLVM bug: speculates execution of poison code & merges value (needs freeze to block propagation of poison) | |
Transforms/SimplifyCFG/speculate-call.ll | Source is more defined than target | Alive2 missing support for speculatable attribute | |
Transforms/SimplifyCFG/switch_create-custom-dl.ll | ✓ | Source is more defined than target | |
Transforms/SimplifyCFG/switch_create.ll | ✓ | Source is more defined than target | |
Transforms/Sink/call.ll | Source is more defined than target | Alive2 missing support for readonly parameter attribute | |
Transforms/StraightLineStrengthReduce/slsr-add.ll | ✓ | Source is more defined than target |