Skip to content

Commit e028239

Browse files
committed
Swift Optimizer: add AllocRefInstBase.setIsStackAllocatable
1 parent e152b2c commit e028239

File tree

3 files changed

+13
-0
lines changed

3 files changed

+13
-0
lines changed

SwiftCompilerSources/Sources/Optimizer/PassManager/PassUtils.swift

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -165,3 +165,10 @@ extension Builder {
165165
passContext: context._bridged)
166166
}
167167
}
168+
169+
extension AllocRefInstBase {
170+
func setIsStackAllocatable(_ context: PassContext) {
171+
AllocRefInstBase_setIsStackAllocatable(bridged)
172+
context.notifyInstructionsChanged()
173+
}
174+
}

include/swift/SILOptimizer/OptimizerBridging.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,8 @@ void BasicBlockSet_insert(BridgedBasicBlockSet set, BridgedBasicBlock block);
130130
void BasicBlockSet_erase(BridgedBasicBlockSet set, BridgedBasicBlock block);
131131
BridgedFunction BasicBlockSet_getFunction(BridgedBasicBlockSet set);
132132

133+
void AllocRefInstBase_setIsStackAllocatable(BridgedInstruction arb);
134+
133135
#ifdef __cplusplus
134136
} // extern "C"
135137
#endif

lib/SILOptimizer/PassManager/PassManager.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1315,3 +1315,7 @@ void BasicBlockSet_erase(BridgedBasicBlockSet set, BridgedBasicBlock block) {
13151315
BridgedFunction BasicBlockSet_getFunction(BridgedBasicBlockSet set) {
13161316
return {castToBlockSet(set)->getFunction()};
13171317
}
1318+
1319+
void AllocRefInstBase_setIsStackAllocatable(BridgedInstruction arb) {
1320+
castToInst<AllocRefInstBase>(arb)->setStackAllocatable();
1321+
}

0 commit comments

Comments
 (0)