[X86] llc crashed at -O0 and triggered assertion Node is not in map!
- 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
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