This document lists the bugs found so far by Alive2 in LLVM & Z3. Please contact us or submit a PR if something is missing or inaccurate.
-
Incorrect fold of 'x & (-1 >> y) s>= x' (https://bugs.llvm.org/show_bug.cgi?id=39861)
-
Incorrect instcombine fold for icmp sgt (https://bugs.llvm.org/show_bug.cgi?id=42198)
-
Instsimplify: uadd_overflow(X, undef) is not undef (https://bugs.llvm.org/show_bug.cgi?id=42209)
-
SimplifyCFG's -switch-to-lookup is incorrect w.r.t undef (https://bugs.llvm.org/show_bug.cgi?id=42617)
-
CVP: adding nuw flags not correct in the presence of undef (https://bugs.llvm.org/show_bug.cgi?id=42618)
-
DivRemPairs is incorrect in the presence of undef (https://bugs.llvm.org/show_bug.cgi?id=42619)
-
EmitGEPOffset() incorrectly adds NUW to multiplications (https://bugs.llvm.org/show_bug.cgi?id=42699)
-
Incorrect fold of uadd.with.overflow with undef (https://bugs.llvm.org/show_bug.cgi?id=43188)
-
Incorrect fold of ashr+xor -> lshr w/ vectors (https://bugs.llvm.org/show_bug.cgi?id=43665)
-
Incorrect 'icmp sle' -> 'icmp slt' w/ vectors (https://bugs.llvm.org/show_bug.cgi?id=43730)
-
shuffle undef mask on vectors with poison elements (https://bugs.llvm.org/show_bug.cgi?id=43958)
-
Can't remove shufflevector if input might be poison (https://bugs.llvm.org/show_bug.cgi?id=44185)
-
Incorrect instcombine transform urem -> icmp+zext with vectors (https://bugs.llvm.org/show_bug.cgi?id=44186)
-
Instcombine: incorrect transformation 'x > (x & undef)' -> 'x > undef' (https://bugs.llvm.org/show_bug.cgi?id=44383)
-
Incorrect transformation: (undef u>> a) ^ -1 -> undef >> a, when a != 0 (https://bugs.llvm.org/show_bug.cgi?id=45447)
-
Invalid undef splat in instcombine (https://bugs.llvm.org/show_bug.cgi?id=45455)
-
Incorrect transformation of minnum with nnan (https://bugs.llvm.org/show_bug.cgi?id=45478)
-
Can't remove insertelement undef (https://bugs.llvm.org/show_bug.cgi?id=45481)
-
InstSimplify: fadd (nsz op), +0 incorrectly removed (https://bugs.llvm.org/show_bug.cgi?id=45778)
-
Incorrect instcombine fold of control-flow to umul.with.overflow (https://bugs.llvm.org/show_bug.cgi?id=45952)
-
Incorrect instcombine fold of vector ult -> sgt (https://bugs.llvm.org/show_bug.cgi?id=45954)
-
Jumpthreading introduces jump on poison (https://bugs.llvm.org/show_bug.cgi?id=45956)
-
EmitGEPOffset() incorrectly adds NUW to multiplications (https://bugs.llvm.org/show_bug.cgi?id=42699)
-
invalid bitcast->gep inbounds (https://bugs.llvm.org/show_bug.cgi?id=43501)
-
InstCombine incorrectly shrinks the size of store (https://bugs.llvm.org/show_bug.cgi?id=44306)
-
InstCombine incorrectly folds 'gep(bitcast ptr), idx' into 'gep ptr, idx' (https://bugs.llvm.org/show_bug.cgi?id=44321)
-
memcpyopt adds incorrect align to memset (https://bugs.llvm.org/show_bug.cgi?id=44388)
-
Folding 'gep p, (q - p)' to q should check it is never used for loads & stores (https://bugs.llvm.org/show_bug.cgi?id=44403)
-
StraightLineStrengthReduce can introduce UB when optimizing 2-dim array gep (https://bugs.llvm.org/show_bug.cgi?id=44533)
-
SLPVectorizer should drop nsw flags from add (https://bugs.llvm.org/show_bug.cgi?id=44536)
-
InstCombine should correctly propagate alignment (https://bugs.llvm.org/show_bug.cgi?id=44543)
-
DSE not checking decl of libcalls (https://github.com/llvm/llvm-project/commit/87407fc03c82d880cc42330a8e230e7a48174e3c)
-
[globalopt] optimization leaves store to a constant global (https://bugs.llvm.org/show_bug.cgi?id=43616) NOTE: Alive2 can't find this bug anymore due to changes to reduce false-positives
-
-expandmemcmp generates loads with incorrect alignment (https://bugs.llvm.org/show_bug.cgi?id=43880)
-
InstCombine incorrectly rewrites indices of gep inbounds (https://bugs.llvm.org/show_bug.cgi?id=44861)
-
Instcombine incorrectly transforms store i64 -> store double (https://bugs.llvm.org/show_bug.cgi?id=45152)
-
Incorrect optimization of gep without inbounds + load -> icmp eq (https://bugs.llvm.org/show_bug.cgi?id=45210)
-
gep(ptr, undef) isn't undef (https://bugs.llvm.org/show_bug.cgi?id=45445)
-
X86InterleavedAccess introduces misaligned loads (https://bugs.llvm.org/show_bug.cgi?id=45957)
- Z3Prover/z3#2369 - bug in bitblast for FPA
- Z3Prover/z3#2596 - bug in FPA w/ quantifiers
- Z3Prover/z3#2631 - bug in FPA w/ quantifiers
- Z3Prover/z3#2792 - Lambdas don't like quantified variables in body
- Z3Prover/z3#2822 - bug in MBQI
- https://github.com/Z3Prover/z3/commit/0b14f1b6f6bb33b555bace93d644163987b0c54f - equality of arrays w/ lambdas
- Z3Prover/z3#2865 - crash in FPA model construction
- Z3Prover/z3#2878 - crash in BV theory assertion
- Z3Prover/z3#2879 - crash in SMT eq propagation assertion
- https://github.com/Z3Prover/z3/commit/bb5edb7c653f9351fe674630d63cdd2b10338277 - assertion violation in qe_lite
- Z3Prover/z3#4192 - SMT internalize doesn't respect timeout
- Z3Prover/z3#2761 - crash in printing multi precision integer
- Z3Prover/z3#2652 - crash in partial model mode