swift
b2791f1b - LoopInvariantCodeMotion: don't hoist `load [take]`

Commit
144 days ago
LoopInvariantCodeMotion: don't hoist `load [take]` Usually `load [take]` is not hoisted anyway, because there must be another instruction in the loop which re-initializes the loaded memory location. However, this is not necessarily true for alloc_stack locations with dynamic lifetime, e.g. a pack-loop which is specialized for a single pack element (at runtime the loop is only executed once). Fixes a SIL ownership verifier crash rdar://167504916
Author
Parents
Loading