| Issue |
184317
|
| Summary |
[LV] Crash on `llvm-test-suite` with `-force-vector-interleave=(n>=2)`
|
| Labels |
vectorizers,
crash-on-valid
|
| Assignees |
|
| Reporter |
MacDue
|
This change seems to break building the llvm-test-suite with `force-vector-interleave`:
```llvm
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128-Fn32"
target triple = "aarch64-unknown-linux-gnu"
%struct.GOP_DATA = type { i32, i32, i32, i32, i32, i32 }
define void @create_hierarchy(ptr %0, ptr %1, i64 %wide.trip.count225) {
entry:
br label %for.body
for.body: ; preds = %for.inc, %entry
%indvars.iv218 = phi i64 [ 0, %entry ], [ %indvars.iv.next219, %for.inc ]
%arrayidx = getelementptr %struct.GOP_DATA, ptr %1, i64 %indvars.iv218
%reference_idc = getelementptr i8, ptr %arrayidx, i64 8
br i1 false, label %if.then4, label %if.else
if.then4: ; preds = %for.body
store i32 0, ptr %reference_idc, align 4
%2 = load i32, ptr %0, align 8
br label %for.inc
if.else: ; preds = %for.body
store i32 0, ptr %reference_idc, align 4
br label %for.inc
for.inc: ; preds = %if.else, %if.then4
%indvars.iv.next219 = add i64 %indvars.iv218, 1
%exitcond226.not = icmp eq i64 %indvars.iv218, %wide.trip.count225
br i1 %exitcond226.not, label %for.end, label %for.body
for.end: ; preds = %for.inc
ret void
}
```
Opt: `opt reduced.ll -force-vector-interleave=2 -passes=loop-vectorize -S`
Hits assert:
```
llvm::VPReplicateRecipe::execute(VPTransformState &): Assertion `IsSingleScalar && "VPReplicateRecipes outside replicate regions must have already been unrolled"' failed.
```
Compiler Explorer: https://godbolt.org/z/K7T7Ebb1n
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs