llvm / llvm/llvm-project

[X86] llc crashed at -O0 and triggered assertion Node is not in map!

Open
#162,230 2 comments 0 reactions 0 assignees View on GitHub
backend:X86 crash-on-valid
Dominant language
LLVM
Stars
40.5k
Forks
18.7k
PR merge metrics
PR metrics pending

Description

Reproducer: https://godbolt.org/z/5eYj9dTEK
Testcase:
```llvm
define i32 @f() #0 {
entry:
%0 = load <32 x i64>, ptr null, align 256
%shuffle = shufflevector <32 x i64> zeroinitializer, <32 x i64> %0, <16 x i32>
%conv = trunc <16 x i64> %shuffle to <16 x i32>
%shuffle1 = shufflevector <32 x i64> %0, <32 x i64> zeroinitializer, <16 x i32>
%conv2 = trunc <16 x i64> %shuffle1 to <16 x i32>
%shuffle3 = shufflevector <16 x i32> %conv, <16 x i32> %conv2, <32 x i32>
%conv4 = sext <32 x i32> %shuffle3 to <32 x i64>
store <32 x i64> %conv4, ptr null, align 256
ret i32 0
}

attributes #0 = { "target-features"="+avx" }
```
Reproducible commit: 0dd8f322c1b40bdac469eec248e3b2b4e1043754

cc @RKSimon

Contributor guide

Open the contributing guide

Research direction

Start by running llc with the supplied LLVM IR testcase at reproducible commit 0dd8f322c1b40bdac469eec248e3b2b4e1043754 and inspect the assertion and crash path. Trace the X86 backend handling of these vector operations; done means llc no longer crashes and the testcase has regression coverage.

Written by the indexing model from the issue text.

Assessment

Domain
compilers
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.