mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-25 16:24:23 +00:00
Reapply r198478 "Fix PR18361: Invalidate LoopDispositions after LoopSimplify hoists things."
Now with a fix for PR18384: ValueHandleBase::ValueIsDeleted. We need to invalidate SCEV's loop info when we delete a block, even if no values are hoisted. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@198631 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -784,6 +784,13 @@ namespace llvm {
|
||||
/// disconnect it from a def-use chain linking it to a loop.
|
||||
void forgetValue(Value *V);
|
||||
|
||||
/// \brief Called when the client has changed the disposition of values in
|
||||
/// this loop.
|
||||
///
|
||||
/// We don't have a way to invalidate per-loop dispositions. Clear and
|
||||
/// recompute is simpler.
|
||||
void forgetLoopDispositions(const Loop *L) { LoopDispositions.clear(); }
|
||||
|
||||
/// GetMinTrailingZeros - Determine the minimum number of zero bits that S
|
||||
/// is guaranteed to end in (at every loop iteration). It is, at the same
|
||||
/// time, the minimum number of times S is divisible by 2. For example,
|
||||
|
Reference in New Issue
Block a user