mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 11:13:28 +01:00
769f3ebc15
In general ValueHandleBase::ValueIsRAUWd shouldn't be called when not all uses of the value were actually replaced, though, currently formLCSSAForInstructions calls it when it inserts LCSSA-phis. Calls of ValueHandleBase::ValueIsRAUWd were added to LCSSA specifically to update/invalidate SCEV. In the best case these calls duplicate some of the work already done by SE->forgetValue, though in case when SCEV of the value is SCEVUnknown, SCEV replaces the underlying value of SCEVUnknown with the new value (i.e. acts like LCSSA-phi actually fully replaces the value it is created for), which leads to SCEV being corrupted because LCSSA-phi rarely dominates all uses of its inputs. Fixes bug https://bugs.llvm.org/show_bug.cgi?id=44058. Reviewers: fhahn, efriedma, reames, sanjoy.google Reviewed By: fhahn Subscribers: hiraditya, javed.absar, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D70593 |
||
---|---|---|
.. | ||
2006-06-03-IncorrectIDFPhis.ll | ||
2006-06-12-MultipleExitsSameBlock.ll | ||
2006-07-09-NoDominator.ll | ||
2006-10-31-UnreachableBlock-2.ll | ||
2006-10-31-UnreachableBlock.ll | ||
2007-07-12-LICM-2.ll | ||
2007-07-12-LICM-3.ll | ||
2007-07-12-LICM.ll | ||
avoid-intrinsics-in-catchswitch.ll | ||
basictest.ll | ||
indirectbr.ll | ||
invoke-dest.ll | ||
mixed-catch.ll | ||
pr28424.ll | ||
pr28608.ll | ||
pr44058.ll | ||
remove-phis.ll | ||
rewrite-existing-dbg-values.ll | ||
unreachable-use.ll | ||
unused-phis.ll |