[SimpleLoopUnswitch] Run LICM for nested unswitching tests.
When enabling freeze-loop-unswitch-cond the inserted freeze instruction may block unswitching of parent loops if they get inserted in a block in the parent loop (as the llvm::Loop-based invariance check only checks whether an instruction is in a loop block or not). In the optimization pipeline, LICM is responsible to hoist out loop invariant instructions to enable further unswitching. Also run LICM for nested unswitching tests in preparation for flipping the default of freeze-loop-unswitch-cond. Reviewed By: nikic Differential Revision: https://reviews.llvm.org/D124251
Loading
Please sign in to comment