mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
Previously, `isScopeAffectingInstructionDead` determined that an otherwise satisfactory `load` was not dead if it was a `load [take]`. The immediate effect was that dead `load [take]`s were not deleted. The downstream effect was that otherwise dead graphs of instructions would not be deleted. This was especially a problem for OSLogOptimization which deletes a great deal of code. Here, the InstructionDeleter is taught to compensate for the deletion of such `load [take]` by inserting `destroy_addr`s in their stead. rdar://117011668
561 B
561 B