- ✔: Fixed.
- ⏳: Compiler timed out, possibly infinite recursion
- ❌: Compiler crashed due to a bug or assertion
- 🚧: Compiler crashed due to missing features
- ⚠: Compiler didn't crash, but misbehaved
Issue # | Description | Fixing commit | Upstream | LLVM 15 | LLVM 14 |
---|---|---|---|---|---|
LLVM | |||||
57251 | DAGTypeLegalizer::RemapId infinite recursion on AArch64, X86, and AIE. |
- | ⏳ | ⏳ | ⏳ |
57452 | Codegen SExt index value of extractelement , translating i1 true into i32 -1 . |
c2e7c9cb33ac | ✔ | ❌ | ❌ |
57658 | Infinite recursion in VectorLegalizer::LegalizeOp . |
545affbf79bf | ✔ | ⏳ | ⏳ |
58511 | Infinite recursion in foldBinOpIntoSelect . |
00816714f965 | ✔ | ⏳ | ⏳ |
58538 | CodeGenPrepare infinitely sinking cmp . |
670c92a415d0 | ✔ | ⏳ | ⏳ |
58580 | SimplifyCFG infinite recursion assertion failed | - | ❌ | ❌ | ❌ |
58583 | IR Verifier didn't check if switch case is constant | 348189880b7b | ✔ | ⚠ | ⚠ |
59055 | [AsmPrinter] Global Constant with Big Endian crashes backend with assertion ShiftAmt <= BitWidth && "Invalid shift amount" failed |
fc1ffb4c0ea8 | ✔ | ❌ | ❌ |
59316 | [Transforms] LowerSwitch tries to get sext on i128, causing an assertion error. | 1db51d8eb2d2 | ✔ | ❌ | ❌ |
59515 | [ADT] APSInt::getExtValue() - assumes signed bounds | 7859d6e79ca9 | ✔ | ❌ | ❌ |
61749 | Operand Index out of Range during Interleaved Access Pass (affecting X86 & ARM) | 7b6fae42f704 | ✔ | ❌ | ❌ |
AArch64 | |||||
57282 | Double free given invalid index in insertelement |
3dd861818a68 | ✔ | ❌ | ❌ |
57326 | SelectionDAG uses uninitialized array and have OOB Write given long shuffelvector mask. |
2343ad755d60 | ✔ | ❌ | ❌ |
58050 | fcmp true / false used in and / or branching condition causes crash Unknown FP condition! |
- | ❌ | ❌ | ❌ |
58156 | GlobalIsel unable to legalize vectorized binaryop(G_ADD , G_SUB , ...) |
2343ad755d60 | ✔ | 🚧 | 🚧 |
58211 | GlobalIsel unable to translate ret with v1i8 / v1i16 |
10b1f58cba4f | ✔ | 🚧 | 🚧 |
58274 | GlobalIsel cannot select G_ZEXT / G_SEXT / G_ANYEXT with v2i16 |
0aaeb885326a | ✔ | 🚧 | 🚧 |
58350 | Storing a v1f32 along with a f32 causes assertion error "Extract subvector index must be a constant" |
c1909d73372e | ✔ | ❌ | ❌ |
58615 | Passing a v1f32 arg through memory crashes backend with "Invalid TRUNCATE!" assertion error | ef0d689e8be2 | ✔ | ❌ | ❌ |
59647 | [AArch64] srem with vector of -1's crashes backend when targeting Cortex A710 |
c9602e02fc16 | ✔ | ❌ | ❌ |
63813 | Cannot select AArch64ISD::SRAD_MERGE_OP1 for srem with vector of -1's |
- | ❌ | ❌ | ❌ |
64179 | Cannot select: i32 = setcc [...], ConstantFP:bf16<APFloat(0)>, setune:ch | After LLVM17 | ❌ | ❌ | ❌ |
64181 | Cannot select insertelement with bfloat constant | 778fa4edaf20 | ✔ | ✔ | ✔ |
65049 | GlobalIsel cannot select G_EXTRACT_VECTOR_ELT with non-constant index | a15144f2baed | ✔ | ❌ | ❌ |
AMDGPU | |||||
57406 | GlobalIsel AMDGPUPreLegalizerCombiner double frees on negative index. |
8901f7cebc73 | ✔ | ❌ | ❌ |
57408 | GlobalIsel legalizeExtractVectorElt crashes on negative index. |
8901f7cebc73 | ✔ | ❌ | ❌ |
58171 | Allocating large mumber of bool s on stack causes "Register number out of range" |
- | ❌ | ❌ | ❌ |
58210 | No registers from class available to allocate for R600 / Cannot select for AMDGCN | - | 🚧 | 🚧 | 🚧 |
58331 | mul v1i8 / v1i16 causes crash during IR optimizations due to type mismatch |
838fd611b79e | ✔ | ❌ | ❌ |
58861 | [AMDGPU] SI annotate control flow pass failed with error failed to annotate CFG |
4bbcbdaee5c9 | ✔ | ❌ | ❌ |
59313 | [AMDGCN] can't select fpow when the second arg is non-constant | - | 🚧 | 🚧 | 🚧 |
85717 | [AMDGPU] Uses SExt on indices in isInterestingPHIIncomingValue | 4a026b5092d7 | ✔ | ❌ | ❌ |
ARM | |||||
59317 | [ARM] IselLowering unsigned overflow to crash using APInt in PerformSHLSimplify | ee31a4a7029f | ✔ | ❌ | ❌ |
BPF | |||||
58884 | Vector used across basic block causes assertion LHS.getValueType().isVector() == VT.isVector() && "Cannot compare scalars to vectors" to fail |
fe05a0a3ddbf | ✔ | ❌ | ❌ |
Hexagon | |||||
59009 | Cannot handle call operand v8i1 | - | 🚧 | 🚧 | 🚧 |
59042 | i1 vector crashes backend with error Not a vector MVT! |
534b26aa0767 | ✔ | ❌ | ❌ |
59044 | Cannot select mulhu for v4i8 and v2i16 |
ea6693d4c840 | ✔ | ❌ | ❌ |
59077 | Cannot select select for v2i32 |
4bb6e220a002 | ✔ | ❌ | ❌ |
59663 | Cannot select vselect for v8i1 |
5ad9adb9b0ac | ✔ | ❌ | ❌ |
59685 | Cannot select truncate for i1 vectors |
d1c3ec61d654 | ✔ | ❌ | ❌ |
64970 | cannot select v8i1 = PTRUE or PFALSE as fcmp result | - | ❌ | ❌ | ❌ |
NVPTX | |||||
57398 | SelectionDAG Cannot select dynamic_stackalloc |
- | 🚧 | 🚧 | 🚧 |
57404 | SelectionDAG Cannot select mul i1 |
5e3ae4c4afc9 | ✔ | 🚧 | 🚧 |
57405 | SelectionDAG Cannot select setcc |
- | 🚧 | 🚧 | 🚧 |
58305 | Assertion CastInst::castIsValid(opc, C, Ty) && "Invalid constantexpr cast!" failed |
2be0abb7fe72 | ✔ | ❌ | ❌ |
58428 | icmp i1 used as branching condition crashes backend |
- | ❌ | ❌ | ❌ |
59179 | Global of non-standard type causes assertion error in debug build and memory corruption in release build | - | ❌ | ❌ | ❌ |
59742 | [NVPTX] Assembly printer didn't implement MCBinaryExpr::And |
- | ❌ | ❌ | ❌ |
64056 | v32i1 global causes "double free or corruption (out)" | - | ❌ | ❌ | ✔ |
PowerPC | |||||
59074 | Backend crash due to index out of bound when lshr / shl i128 vector after sub |
292d9e869fcf | ✔ | ❌ | ❌ |
RISCV | |||||
58025 | Copying a v1f32 vector between blocks causes assertion error "Invalid ANY_EXTEND " |
12357e88af66 | ✔ | ❌ | ❌ |
58027 | Cannot scavenge register without an emergency spill slot | 4554663bc0da | ✔ | ❌ | ❌ |
63816 | fpext crashes on half type |
45b172c838cb | ✔ | ❌ | ❌ |
VE | |||||
58994 | udiv / urem crashes backend with assertion LHS.getValueType().isVector() == VT.isVector() && "Cannot compare scalars to vectors" failed |
fe05a0a3ddbf | ✔ | ❌ | ❌ |
WASM | |||||
58904 | Assertion isReg() && "This is not a register operand!" failed during pass Machine Common Subexpression Elimination (Regression) |
629f17c51637 | ✔ | ✔ | ✔ |
59625 | v1i8 / v1i16 crashes backend with invalid Bitcast when targeting bleeding-edge |
00eef4f7c384 | ✔ | ❌ | ❌ |
59626 | Backend crash with "Unexpected all-undef build_vector" when targeting bleeding-edge |
f841ad30d77e | ✔ | ❌ | ❌ |
61780 | [WASM] Vector Multiplication Crash for SIMD128 | 51a93828d782 | ✔ | ❌ | ❌ |
61828 | [WASM] LowerAccessVectorElement tries to cast undef to ConstantSDNode and crashes during casting | 3b2476910ba3 | ✔ | ❌ | ❌ |
63817 | [WASM] Cannot select BUILD_VECTOR when enabling SIMD128 | 767e0c8bcef9 | ✔ | ❌ | ❌ |
85697 | [WebAssembly] Cannot select BUILD_VECTOR on bleeding-edge since LLVM 17 | 767e0c8bcef9 | ✔ | ❌ | ❌ |
X86 | |||||
57283 | SelectionDAG assertion failure on shift | 5377abcde240 | ✔ | ✔ | ❌ |
57474 | SelectionDAG assertion failure on shift | eaede4b5b7cf | ✔ | ✔ | ❌ |
59318 | [CodeGen] Backend crash with machine code errors | - | ❌ | ❌ | ❌ |
58455 | Assertion "Can't handle this yet!" failed when scheduling | - | 🚧 | 🚧 | 🚧 |
58924 | Backend crash during pass X86 FP Stackifier |
After LLVM17 | ❌ | ❌ | ❌ |
58628 | Cannot select X86ISD::VZEXT_MOVL when targeting Intel Sapphire Rapids |
1cbcd8ad2071 | ✔ | ❌ | ❌ |
63790 | [x86_64] Backend Crash due to Scheduling Failure | - | ❌ | ❌ | ❌ |
64111 | [x86_64] Backend Hangs due to Infinite Looping during Scheduling | - | ❌ | ❌ | ❌ |
64322 | extractelement v1i1 crashes on icelake-server | 4d6f4c9c93c1 | ✔ | ❌ | ❌ |
64323 | Passing v1i1 as function argument crashes on icelake-server | f58fbfc74673 | ✔ | ❌ | ✔ |
64452 | [x86_64/GlobalISel] Crash on lshr due to error "Register class not set, wrong accessor" when targeting some CPUs |
cfd91199caed | ✔ | ❌ | ❌ |
64440 | [x86_64] Cannot select sint_to_fp for v8bf16 when targeting sapphirerapids / znver4 CPU |
6688701497ea | ✔ | ✔ | ✔ |
64439 | [x86_64] insertelement after extractelement for vxi1 crashes when targeting sapphirerapids / znver4 CPU |
ce2ec065165b | ✔ | ❌ | ❌ |
64435 | [x86_64/GlobalISel] Returning half type causes error "Cannot emit physreg copy instruction" |
- | ❌ | ❌ | ❌ |
85681 | [CodeGen] x86_64 unable to select X86ISD::VSHLV / X86ISD::VSRLV on v32i1 |
2377b9773d40 | ✔ | ❌ | ❌ |
86203 | [X86] GlobalIsel removed type info when legalizing ICMP, causing out of bound access on debug build | - | ❌ | ❌ | ❌ |
XCore | |||||
D137124 | Register null MCTargetStreamer to fix null dereference when printing globals | 3bb12d3005ff | ✔ | ✔ | ✔ |