[SimpleLoopUnswitch] Forget block & loop dispos during trivial unswitch.
authorFlorian Hahn <flo@fhahn.com>
Sat, 5 Nov 2022 16:55:09 +0000 (16:55 +0000)
committerFlorian Hahn <flo@fhahn.com>
Sat, 5 Nov 2022 16:56:06 +0000 (16:56 +0000)
commita41cb8bf58aec8d8bdc2134267d68267886ef9f4
tree1b1e4cedcf499bb833b697e15ede6ad4873ab8bb
parent7c05f092c96f0db0956a59b2beac482f9bf03ec6
[SimpleLoopUnswitch] Forget block & loop dispos during trivial unswitch.

Unswitching adjusts the CFG in ways that may invalidate cached loop
dispositions. Clear all cached block and loop dispositions during
trivial unswitching. The same is already done for non-trivial
unswitching.

Fixes #58751.
llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
llvm/test/Transforms/SimpleLoopUnswitch/invalidate-block-and-loop-dispositions.ll