Files
swift-mirror/include/swift/SIL
Erik Eckstein 24799e1526 SIL: defer instruction deletion to the end of a pass run.
When an instruction is "deleted" from the SIL, it is put into the SILModule::scheduledForDeletion list.
The instructions in this list are eventually deleted for real in SILModule::flushDeletedInsts(), which is called by the pass manager after each pass run.
In other words: instruction deletion is deferred to the end of a pass.

This avoids dangling instruction pointers within the run of a pass and in analysis caches.
Note that the analysis invalidation mechanism ensures that analysis caches are invalidated before flushDeletedInsts().
2021-05-26 21:57:54 +02:00
..
2020-11-08 11:05:09 -05:00
2021-03-29 12:10:37 -07:00
2020-11-10 12:19:18 -08:00
2021-03-12 19:33:23 -08:00
2021-05-11 11:19:36 +09:00