[llvm-bugs] [Bug 49141] New: opt -indvars -loop-load-elim fails with old PM
via llvm-bugs
llvm-bugs at lists.llvm.org
Thu Feb 11 01:15:57 PST 2021
https://bugs.llvm.org/show_bug.cgi?id=49141
Bug ID: 49141
Summary: opt -indvars -loop-load-elim fails with old PM
Product: libraries
Version: trunk
Hardware: PC
OS: Linux
Status: NEW
Severity: enhancement
Priority: P
Component: Scalar Optimizations
Assignee: unassignedbugs at nondot.org
Reporter: mikael.holmen at ericsson.com
CC: llvm-bugs at lists.llvm.org
Created attachment 24513
--> https://bugs.llvm.org/attachment.cgi?id=24513&action=edit
bbi-52668.ll reproducer
Reproduce with
opt -enable-new-pm=0 -S -o /dev/null bbi-52668.ll -indvars -loop-load-elim
Result
opt: ../include/llvm/IR/ValueHandle.h:490: ValueTy
*llvm::PoisoningVH<llvm::BasicBlock>::getValPtr() const [ValueTy =
llvm::BasicBlock]: Assertion `!Poisoned && "Accessed a poisoned value handle!"'
failed.
PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash
backtrace.
This starts happening with commit 664e1da485d2:
[LoopLoadElim] Make sure all loops are in simplify form. PR48150
LoopLoadElim may end up expanding an AddRec from a loop
which is not the current loop. This loop may not be in simplify
form. We figure it out after the no-return point, so cannot bail
in this case.
AddRec requires simplify form to expand. The only way to ensure
this does not crash is to simplify all loops beforehand.
The issue only exists in new PM. Old PM requests LoopSimplify
required pass and it simplifies all loops before the opt begins.
Differential Revision: https://reviews.llvm.org/D91525
Reviewed By: asbirlea, aeubanks
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20210211/57d5dcdf/attachment.html>
More information about the llvm-bugs
mailing list