| Issue |
185281
|
| Summary |
[SLPVectorizer] Crash on trunk
|
| Labels |
llvm:SLPVectorizer,
crash-on-valid
|
| Assignees |
|
| Reporter |
antoniofrighetto
|
LLVM baseline: da8d1b52d0d344068a8bd3e46a8af3a692d2efc2
Reduced IR:
```llvm
; ./bin/opt -p slp-vectorizer reduced.ll
define i16 @main() {
entry:
%.promoted300.i.i.i = load i16, ptr null, align 2
%.promoted304.i.i.i = load i16, ptr null, align 2
%.promoted308.i.i.i = load i16, ptr null, align 2
%.promoted312.i.i.i = load i16, ptr null, align 2
br i1 false, label %for.cond144.preheader.i.i.i, label %cleanup383.split.4.i.i.i
for.cond144.preheader.i.i.i: ; preds = %entry
br i1 false, label %for.cond144.preheader.5.i.i.i, label %cleanup383.split.4.i.i.i
for.cond144.preheader.5.i.i.i: ; preds = %for.cond144.preheader.i.i.i
%.us-phi.2.i.i.i = and i16 0, 0
%.us-phi.3.i.i.i = and i16 0, 0
%.us-phi.4.i.i.i = and i16 0, 0
%.us-phi.5.i.i.i = and i16 0, 0
br label %cleanup383.split.4.i.i.i
cleanup383.split.4.i.i.i: ; preds = %for.cond144.preheader.5.i.i.i, %for.cond144.preheader.i.i.i, %entry
%0 = phi i16 [ %.us-phi.5.i.i.i, %for.cond144.preheader.5.i.i.i ], [ %.promoted312.i.i.i, %for.cond144.preheader.i.i.i ], [ %.promoted312.i.i.i, %entry ]
%1 = phi i16 [ %.us-phi.5.i.i.i, %for.cond144.preheader.5.i.i.i ], [ %.promoted312.i.i.i, %for.cond144.preheader.i.i.i ], [ %.promoted312.i.i.i, %entry ]
%2 = phi i16 [ %.us-phi.5.i.i.i, %for.cond144.preheader.5.i.i.i ], [ %.promoted312.i.i.i, %for.cond144.preheader.i.i.i ], [ %.promoted312.i.i.i, %entry ]
%3 = phi i16 [ %.us-phi.5.i.i.i, %for.cond144.preheader.5.i.i.i ], [ %.promoted312.i.i.i, %for.cond144.preheader.i.i.i ], [ %.promoted312.i.i.i, %entry ]
%4 = phi i16 [ %.us-phi.5.i.i.i, %for.cond144.preheader.5.i.i.i ], [ %.promoted312.i.i.i, %for.cond144.preheader.i.i.i ], [ %.promoted312.i.i.i, %entry ]
%5 = phi i16 [ %.us-phi.5.i.i.i, %for.cond144.preheader.5.i.i.i ], [ %.promoted312.i.i.i, %for.cond144.preheader.i.i.i ], [ %.promoted312.i.i.i, %entry ]
%6 = phi i16 [ %.us-phi.4.i.i.i, %for.cond144.preheader.5.i.i.i ], [ %.promoted308.i.i.i, %for.cond144.preheader.i.i.i ], [ %.promoted308.i.i.i, %entry ]
%7 = phi i16 [ %.us-phi.4.i.i.i, %for.cond144.preheader.5.i.i.i ], [ %.promoted308.i.i.i, %for.cond144.preheader.i.i.i ], [ %.promoted308.i.i.i, %entry ]
%8 = phi i16 [ %.us-phi.4.i.i.i, %for.cond144.preheader.5.i.i.i ], [ %.promoted308.i.i.i, %for.cond144.preheader.i.i.i ], [ %.promoted308.i.i.i, %entry ]
%9 = phi i16 [ %.us-phi.4.i.i.i, %for.cond144.preheader.5.i.i.i ], [ %.promoted308.i.i.i, %for.cond144.preheader.i.i.i ], [ %.promoted308.i.i.i, %entry ]
%10 = phi i16 [ %.us-phi.4.i.i.i, %for.cond144.preheader.5.i.i.i ], [ %.promoted308.i.i.i, %for.cond144.preheader.i.i.i ], [ %.promoted308.i.i.i, %entry ]
%11 = phi i16 [ %.us-phi.3.i.i.i, %for.cond144.preheader.5.i.i.i ], [ %.promoted304.i.i.i, %for.cond144.preheader.i.i.i ], [ %.promoted304.i.i.i, %entry ]
%12 = phi i16 [ %.us-phi.3.i.i.i, %for.cond144.preheader.5.i.i.i ], [ %.promoted304.i.i.i, %for.cond144.preheader.i.i.i ], [ %.promoted304.i.i.i, %entry ]
%13 = phi i16 [ %.us-phi.3.i.i.i, %for.cond144.preheader.5.i.i.i ], [ %.promoted304.i.i.i, %for.cond144.preheader.i.i.i ], [ %.promoted304.i.i.i, %entry ]
%14 = phi i16 [ %.us-phi.3.i.i.i, %for.cond144.preheader.5.i.i.i ], [ %.promoted304.i.i.i, %for.cond144.preheader.i.i.i ], [ %.promoted304.i.i.i, %entry ]
%15 = phi i16 [ %.us-phi.2.i.i.i, %for.cond144.preheader.5.i.i.i ], [ %.promoted300.i.i.i, %for.cond144.preheader.i.i.i ], [ %.promoted300.i.i.i, %entry ]
ret i16 %15
}
```
I suspect a use-after-free / use-after-move. Reduced from @dtcxzyw CI fuzz-service.
Maybe cc/ @alexey-bataev.
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs