@@ -296,13 +296,15 @@ private func collectMovableInstructions(
296296 continue
297297 }
298298
299- if !analyzedInstructions. sideEffectsMayRelease || !analyzedInstructions. loopSideEffectsMayWriteTo ( address: fixLifetimeInst. operand. value, context. aliasAnalysis) {
299+ if !analyzedInstructions. sideEffectsMayRelease ||
300+ !analyzedInstructions. sideEffectsMayWrite ( to: fixLifetimeInst. operand. value, context. aliasAnalysis)
301+ {
300302 movableInstructions. sinkDown. append ( fixLifetimeInst)
301303 }
302304 case let loadInst as LoadInst :
303305 // Avoid quadratic complexity in corner cases. Usually, this limit will not be exceeded.
304306 if loadInstCounter * analyzedInstructions. loopSideEffects. count < 8000 ,
305- !analyzedInstructions. loopSideEffectsMayWriteTo ( address : loadInst. operand . value , context. aliasAnalysis) {
307+ !analyzedInstructions. sideEffectsMayWrite ( to : loadInst. address , context. aliasAnalysis) {
306308 movableInstructions. hoistUp. append ( loadInst)
307309 }
308310
@@ -532,7 +534,7 @@ private extension AnalyzedInstructions {
532534
533535 /// Returns true if `loopSideEffects` contains any memory writes which
534536 /// may alias with the memory `address`.
535- func loopSideEffectsMayWriteTo ( address: Value , _ aliasAnalysis: AliasAnalysis ) -> Bool {
537+ func sideEffectsMayWrite ( to address: Value , _ aliasAnalysis: AliasAnalysis ) -> Bool {
536538 return loopSideEffects
537539 . contains { sideEffect in
538540 sideEffect. mayWrite ( toAddress: address, aliasAnalysis)
0 commit comments