[llvm] [VPlan] First step towards VPlan cost modeling. (PR #92555)
Arthur Eubanks via llvm-commits
llvm-commits at lists.llvm.org
Thu Jun 13 09:32:33 PDT 2024
aeubanks wrote:
this causes crashes:
```
$ cat /tmp/a.ll
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
define ptr @f() {
entry:
%0 = load i32, ptr null, align 8
%cmp = icmp ult i32 %0, 8
br i1 %cmp, label %if.then10, label %if.end26
if.then10: ; preds = %entry
%1 = zext i32 %0 to i64
br label %for.body
for.body16.preheader: ; preds = %for.body
ret ptr null
for.body: ; preds = %for.body, %if.then10
%indvars.iv = phi i64 [ 0, %if.then10 ], [ %indvars.iv.next, %for.body ]
%2 = trunc i64 %indvars.iv to i32
store i32 %2, ptr null, align 4
%indvars.iv.next = add i64 %indvars.iv, 1
%cmp11.not = icmp eq i64 %indvars.iv, %1
br i1 %cmp11.not, label %for.body16.preheader, label %for.body
if.end26: ; preds = %entry
ret ptr null
}
$ opt -p loop-vectorize -disable-output /tmp/a.ll
opt: ../../llvm/lib/Transforms/Vectorize/LoopVectorize.cpp:10322: bool llvm::LoopVectorizePass::processLoop(Loop *): Assertion `VF.Width == Width && "VPlan cost model and legacy cost model disagreed"' failed.
```
https://github.com/llvm/llvm-project/pull/92555
More information about the llvm-commits
mailing list