Skip to content

Commit 78cdf5e

Browse files
committed
[cxx-interop][SwiftCompilerSources] Use swift::BuiltinValueKind instead of BridgedBuiltinID
rdar://83361087
1 parent 7054460 commit 78cdf5e

File tree

6 files changed

+12
-22
lines changed

6 files changed

+12
-22
lines changed

SwiftCompilerSources/Sources/Optimizer/ModulePasses/StackProtection.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ private struct StackProtectionOptimization {
124124
mustFixStackNesting: inout Bool, _ context: PassContext) {
125125

126126
// `withUnsafeTemporaryAllocation(of:capacity:_:)` is compiled to a `builtin "stackAlloc"`.
127-
if let bi = instruction as? BuiltinInst, bi.id == .stackAlloc {
127+
if let bi = instruction as? BuiltinInst, bi.id == .StackAlloc {
128128
function.setNeedsStackProtection(context)
129129
return
130130
}

SwiftCompilerSources/Sources/Optimizer/Utilities/EscapeUtils.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -422,7 +422,7 @@ fileprivate struct EscapeWalker<V: EscapeVisitor> : ValueDefUseWalker,
422422
return walkDownUses(ofAddress: pta, path: path.with(knownType: nil))
423423
case let bi as BuiltinInst:
424424
switch bi.id {
425-
case .destroyArray:
425+
case .DestroyArray:
426426
// If it's not the array base pointer operand -> bail. Though, that shouldn't happen
427427
// because the other operands (metatype, count) shouldn't be visited anyway.
428428
if operand.index != 1 { return isEscaping }

SwiftCompilerSources/Sources/SIL/Instruction.swift

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -319,19 +319,10 @@ final public class LoadUnownedInst : SingleValueInstruction, UnaryInstruction {}
319319
final public class LoadBorrowInst : SingleValueInstruction, UnaryInstruction {}
320320

321321
final public class BuiltinInst : SingleValueInstruction {
322-
// TODO: find a way to directly reuse the BuiltinValueKind enum
323-
public enum ID {
324-
case none
325-
case destroyArray
326-
case stackAlloc
327-
}
322+
public typealias ID = swift.BuiltinValueKind
328323

329324
public var id: ID {
330-
switch BuiltinInst_getID(bridged) {
331-
case DestroyArrayBuiltin: return .destroyArray
332-
case StackAllocBuiltin: return .stackAlloc
333-
default: return .none
334-
}
325+
return BuiltinInst_getID(bridged)
335326
}
336327
}
337328

include/swift/SIL/SILBridging.h

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515

1616
#include "swift/Basic/BasicBridging.h"
1717
#include "swift/Basic/BridgedSwiftObject.h"
18+
#include "swift/AST/Builtins.h"
1819
#include "swift/AST/SubstitutionMap.h"
1920
#include "swift/SIL/SILLocation.h"
2021
#include <stdbool.h>
@@ -203,12 +204,6 @@ typedef enum {
203204

204205
// AST bridging
205206

206-
typedef enum {
207-
UnknownBuiltin = 0,
208-
#define BUILTIN(Id, Name, Attrs) Id##Builtin,
209-
#include "swift/AST/Builtins.def"
210-
} BridgedBuiltinID;
211-
212207
struct BridgedEffectInfo {
213208
SwiftInt argumentIndex;
214209
bool isDerived;
@@ -352,7 +347,7 @@ BridgedMultiValueResult
352347
BridgedArrayRef TermInst_getSuccessors(BridgedInstruction term);
353348

354349
llvm::StringRef CondFailInst_getMessage(BridgedInstruction cfi);
355-
BridgedBuiltinID BuiltinInst_getID(BridgedInstruction bi);
350+
swift::BuiltinValueKind BuiltinInst_getID(BridgedInstruction bi);
356351
SwiftInt AddressToPointerInst_needsStackProtection(BridgedInstruction atp);
357352
SwiftInt IndexAddrInst_needsStackProtection(BridgedInstruction ia);
358353
BridgedGlobalVar GlobalAccessInst_getGlobal(BridgedInstruction globalInst);

include/swift/module.modulemap

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,13 @@ module BasicBridging {
88

99
module ASTBridging {
1010
header "AST/ASTBridging.h"
11+
header "AST/Builtins.h"
1112
header "AST/DiagnosticEngine.h"
1213
header "AST/DiagnosticConsumer.h"
1314
header "AST/SubstitutionMap.h"
15+
16+
textual header "AST/Builtins.def"
17+
1418
requires cplusplus
1519
export *
1620
}

lib/SIL/Utils/SILBridging.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -751,8 +751,8 @@ llvm::StringRef CondFailInst_getMessage(BridgedInstruction cfi) {
751751
return castToInst<CondFailInst>(cfi)->getMessage();
752752
}
753753

754-
BridgedBuiltinID BuiltinInst_getID(BridgedInstruction bi) {
755-
return (BridgedBuiltinID)castToInst<BuiltinInst>(bi)->getBuiltinInfo().ID;
754+
BuiltinValueKind BuiltinInst_getID(BridgedInstruction bi) {
755+
return castToInst<BuiltinInst>(bi)->getBuiltinInfo().ID;
756756
}
757757

758758
SwiftInt AddressToPointerInst_needsStackProtection(BridgedInstruction atp) {

0 commit comments

Comments
 (0)