Issue |
153013
|
Summary |
ipsccp -> llvm.lifetime.start/end can only be used on alloca or poison
|
Labels |
new issue
|
Assignees |
|
Reporter |
bjope
|
Running ipsccp pass on IR like this
```
define void @foo() {
%g = alloca [4 x i16], align 1
%.not1 = icmp eq ptr %g, inttoptr (i16 -1 to ptr)
br i1 %.not1, label %for.end35.us.lr.ph, label %for.cond5
for.end35.us.lr.ph: ; preds = %entry
br label %for.end35.us
for.end35.us: ; preds = %for.end35.us, %for.end35.us.lr.ph
call void @llvm.lifetime.start.p0(ptr %g)
br label %for.end35.us
for.cond5: ; preds = %entry
ret void
}
```
results in
```
lvm.lifetime.start/end can only be used on alloca or poison
call void @llvm.lifetime.start.p0(ptr inttoptr (i16 -1 to ptr))
LLVM ERROR: Broken module found, compilation aborted!
```
See https://godbolt.org/z/jo9zqrP1x
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs