File tree Expand file tree Collapse file tree 1 file changed +9
-3
lines changed
lib/SILOptimizer/Mandatory Expand file tree Collapse file tree 1 file changed +9
-3
lines changed Original file line number Diff line number Diff line change @@ -1142,9 +1142,6 @@ void LifetimeChecker::doIt() {
1142
1142
// If we emitted an error, there is no reason to proceed with load promotion.
1143
1143
if (!EmittedErrorLocs.empty ()) return ;
1144
1144
1145
- // Insert hop_to_executor instructions for actor initializers, if needed.
1146
- injectActorHops ();
1147
-
1148
1145
// If the memory object has nontrivial type, then any destroy/release of the
1149
1146
// memory object will destruct the memory. If the memory (or some element
1150
1147
// thereof) is not initialized on some path, the bad things happen. Process
@@ -1155,6 +1152,15 @@ void LifetimeChecker::doIt() {
1155
1152
processNonTrivialRelease (i);
1156
1153
}
1157
1154
1155
+ // / At this point, we should have computed enough liveness information to
1156
+ // / provide accurate information about initialization points, even for
1157
+ // / local variables within a function, because we've now processed the
1158
+ // / destroy/releases.
1159
+
1160
+ // Insert hop_to_executor instructions for actor initializers, if needed.
1161
+ injectActorHops ();
1162
+
1163
+
1158
1164
// If the memory object had any non-trivial stores that are init or assign
1159
1165
// based on the control flow path reaching them, then insert dynamic control
1160
1166
// logic and CFG diamonds to handle this.
You can’t perform that action at this time.
0 commit comments