Skip to content

Commit efa0908

Browse files
committed
Revert "[DebugInfo][SIL] Introduce the 'implicit' attribute for debug variable"
This reverts commit e63632f. rdar://125939953
1 parent eb0cdda commit efa0908

38 files changed

+86
-121
lines changed

Diff for: docs/SIL.rst

-1
Original file line numberDiff line numberDiff line change
@@ -4297,7 +4297,6 @@ less verbose.
42974297
debug-var-attr ::= 'let'
42984298
debug-var-attr ::= 'name' string-literal
42994299
debug-var-attr ::= 'argno' integer-literal
4300-
debug-var-attr ::= 'implicit'
43014300

43024301
There are a number of attributes that provide details about the source
43034302
variable that is being described, including the name of the

Diff for: include/swift/SIL/SILDebugVariable.h

+7-9
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@ struct SILDebugVariable {
3838
StringRef Name;
3939
unsigned ArgNo : 16;
4040
unsigned Constant : 1;
41-
unsigned Implicit : 1;
4241
unsigned isDenseMapSingleton : 2;
4342
std::optional<SILType> Type;
4443
std::optional<SILLocation> Loc;
@@ -58,17 +57,17 @@ struct SILDebugVariable {
5857
}
5958

6059
SILDebugVariable()
61-
: ArgNo(0), Constant(false), Implicit(false), isDenseMapSingleton(0),
60+
: ArgNo(0), Constant(false), isDenseMapSingleton(0),
6261
Scope(nullptr) {}
6362
SILDebugVariable(bool Constant, uint16_t ArgNo)
64-
: ArgNo(ArgNo), Constant(Constant), Implicit(false),
63+
: ArgNo(ArgNo), Constant(Constant),
6564
isDenseMapSingleton(0), Scope(nullptr) {}
6665
SILDebugVariable(StringRef Name, bool Constant, unsigned ArgNo,
67-
bool IsImplicit = false, std::optional<SILType> AuxType = {},
66+
std::optional<SILType> AuxType = {},
6867
std::optional<SILLocation> DeclLoc = {},
6968
const SILDebugScope *DeclScope = nullptr,
7069
llvm::ArrayRef<SILDIExprElement> ExprElements = {})
71-
: Name(Name), ArgNo(ArgNo), Constant(Constant), Implicit(IsImplicit),
70+
: Name(Name), ArgNo(ArgNo), Constant(Constant),
7271
isDenseMapSingleton(0), Type(AuxType), Loc(DeclLoc), Scope(DeclScope),
7372
DIExpr(ExprElements) {}
7473

@@ -85,9 +84,8 @@ struct SILDebugVariable {
8584
// it in this class so that's it's easier to carry DIExpr around.
8685
bool operator==(const SILDebugVariable &V) const {
8786
return ArgNo == V.ArgNo && Constant == V.Constant && Name == V.Name &&
88-
Implicit == V.Implicit && Type == V.Type && Loc == V.Loc &&
89-
Scope == V.Scope && isDenseMapSingleton == V.isDenseMapSingleton &&
90-
DIExpr == V.DIExpr;
87+
Type == V.Type && Loc == V.Loc && Scope == V.Scope &&
88+
isDenseMapSingleton == V.isDenseMapSingleton && DIExpr == V.DIExpr;
9189
}
9290

9391
SILDebugVariable withoutDIExpr() const {
@@ -103,7 +101,7 @@ struct SILDebugVariable {
103101

104102
/// Returns the hashcode for the new projection path.
105103
inline llvm::hash_code hash_value(const SILDebugVariable &P) {
106-
return llvm::hash_combine(P.ArgNo, P.Constant, P.Name, P.Implicit,
104+
return llvm::hash_combine(P.ArgNo, P.Constant, P.Name,
107105
P.isDenseMapSingleton, P.Type, P.Loc, P.Scope,
108106
P.DIExpr);
109107
}

Diff for: include/swift/SIL/SILInstruction.h

+3-8
Original file line numberDiff line numberDiff line change
@@ -1849,12 +1849,10 @@ class TailAllocatedDebugVariable {
18491849
int_type HasValue : 1;
18501850
/// True if this is a let-binding.
18511851
int_type Constant : 1;
1852-
/// True if this variable is created by compiler
1853-
int_type Implicit : 1;
18541852
/// When this is nonzero there is a tail-allocated string storing
18551853
/// variable name present. This typically only happens for
18561854
/// instructions that were created from parsing SIL assembler.
1857-
int_type NameLength : 13;
1855+
int_type NameLength : 14;
18581856
/// The source function argument position from left to right
18591857
/// starting with 1 or 0 if this is a local variable.
18601858
int_type ArgNo : 16;
@@ -1876,9 +1874,6 @@ class TailAllocatedDebugVariable {
18761874
StringRef getName(const char *buf) const;
18771875
bool isLet() const { return Bits.Data.Constant; }
18781876

1879-
bool isImplicit() const { return Bits.Data.Implicit; }
1880-
void setImplicit(bool V = true) { Bits.Data.Implicit = V; }
1881-
18821877
std::optional<SILDebugVariable>
18831878
get(VarDecl *VD, const char *buf, std::optional<SILType> AuxVarType = {},
18841879
std::optional<SILLocation> DeclLoc = {},
@@ -1890,8 +1885,8 @@ class TailAllocatedDebugVariable {
18901885
StringRef name = getName(buf);
18911886
if (VD && name.empty())
18921887
name = VD->getName().str();
1893-
return SILDebugVariable(name, isLet(), getArgNo(), isImplicit(), AuxVarType,
1894-
DeclLoc, DeclScope, DIExprElements);
1888+
return SILDebugVariable(name, isLet(), getArgNo(), AuxVarType, DeclLoc,
1889+
DeclScope, DIExprElements);
18951890
}
18961891
};
18971892
static_assert(sizeof(TailAllocatedDebugVariable) == 4,

Diff for: lib/SIL/IR/SILInstructions.cpp

-7
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,6 @@ TailAllocatedDebugVariable::TailAllocatedDebugVariable(
175175
Bits.Data.HasValue = true;
176176
Bits.Data.Constant = Var->Constant;
177177
Bits.Data.ArgNo = Var->ArgNo;
178-
Bits.Data.Implicit = Var->Implicit;
179178
Bits.Data.NameLength = Var->Name.size();
180179
assert(Bits.Data.ArgNo == Var->ArgNo && "Truncation");
181180
assert(Bits.Data.NameLength == Var->Name.size() && "Truncation");
@@ -256,10 +255,6 @@ AllocStackInst::AllocStackInst(
256255
assert(sharedUInt32().AllocStackInst.numOperands ==
257256
TypeDependentOperands.size() &&
258257
"Truncation");
259-
auto *VD = Loc.getLocation().getAsASTNode<VarDecl>();
260-
if (Var && VD) {
261-
VarInfo.setImplicit(VD->isImplicit() || VarInfo.isImplicit());
262-
}
263258
TrailingOperandsList::InitOperandsList(getAllOperands().begin(), this,
264259
TypeDependentOperands);
265260
}
@@ -454,8 +449,6 @@ DebugValueInst::DebugValueInst(
454449
getTrailingObjects<SILLocation>(),
455450
getTrailingObjects<const SILDebugScope *>(),
456451
getTrailingObjects<SILDIExprElement>()) {
457-
if (auto *VD = DebugLoc.getLocation().getAsASTNode<VarDecl>())
458-
VarInfo.setImplicit(VD->isImplicit() || VarInfo.isImplicit());
459452
setPoisonRefs(poisonRefs);
460453
if (usesMoveableValueDebugInfo || Operand->getType().isMoveOnly())
461454
setUsesMoveableValueDebugInfo();

Diff for: lib/SIL/IR/SILPrinter.cpp

-2
Original file line numberDiff line numberDiff line change
@@ -1424,8 +1424,6 @@ class SILPrinter : public SILInstructionVisitor<SILPrinter> {
14241424

14251425
if (Var->ArgNo)
14261426
*this << ", argno " << Var->ArgNo;
1427-
if (Var->Implicit)
1428-
*this << ", implicit";
14291427
if (Var->Type) {
14301428
*this << ", type ";
14311429
Var->Type->print(PrintState.OS, PrintState.ASTOptions);

Diff for: lib/SIL/Parser/ParseSIL.cpp

-2
Original file line numberDiff line numberDiff line change
@@ -1677,8 +1677,6 @@ bool SILParser::parseSILDebugVar(SILDebugVariable &Var) {
16771677
Var.Constant = false;
16781678
} else if (Key == "loc") {
16791679
Var.Constant = false;
1680-
} else if (Key == "implicit") {
1681-
Var.Implicit = true;
16821680
} else {
16831681
P.diagnose(P.Tok, diag::sil_dbg_unknown_key, Key);
16841682
return true;

Diff for: lib/SILOptimizer/Utils/InstOptUtils.cpp

+1-5
Original file line numberDiff line numberDiff line change
@@ -238,11 +238,7 @@ bool swift::hasOnlyEndOfScopeOrEndOfLifetimeUses(SILInstruction *inst) {
238238
// Include debug uses only in Onone mode.
239239
if (isDebugUser && inst->getFunction()->getEffectiveOptimizationMode() <=
240240
OptimizationMode::NoOptimization)
241-
if (auto DbgVarInst = DebugVarCarryingInst(user)) {
242-
auto VarInfo = DbgVarInst.getVarInfo();
243-
if (VarInfo && !VarInfo->Implicit)
244-
return false;
245-
}
241+
return false;
246242
}
247243
}
248244
return true;

Diff for: test/AutoDiff/compiler_crashers_fixed/58660-conflicting-debug-info-inlining.swift

+2-2
Original file line numberDiff line numberDiff line change
@@ -45,9 +45,9 @@ struct MyModel: Differentiable {
4545
@differentiable(reverse)
4646
mutating func member4() {
4747
// CHECK-LABEL: // pullback of MyModel.member4()
48-
// CHECK-NOT: debug_value %{{.*}} : $MyModel.TangentVector, var, name %{{.*}}, argno 1, implicit, scope
48+
// CHECK-NOT: debug_value %{{.*}} : $MyModel.TangentVector, var, name %{{.*}}, argno 1, scope
4949
// CHECK: bb0(%{{.*}} : $_AD__$s4main7MyModelV7member4yyF_bb3__Pred__src_0_wrt_0):
50-
// CHECK: debug_value %{{.*}} : $MyModel.TangentVector, var, name "derivative of 'self' in scope at {{.*}} (scope #1)", implicit, scope
50+
// CHECK: debug_value %{{.*}} : $MyModel.TangentVector, var, name "derivative of 'self' in scope at {{.*}} (scope #1)", scope
5151
// Must be a differentiable type.
5252
var localVar: Float = 0
5353

Diff for: test/Concurrency/transfernonsendable.sil

+2-2
Original file line numberDiff line numberDiff line change
@@ -287,7 +287,7 @@ bb3(%4 : @owned $FakeOptional<NonSendableKlass>):
287287

288288
sil [ossa] @warningIfCallingGetter : $@convention(method) @async (@sil_isolated @guaranteed MyActor) -> () {
289289
bb0(%0 : @guaranteed $MyActor):
290-
debug_value %0 : $MyActor, let, name "self", argno 1, implicit
290+
debug_value %0 : $MyActor, let, name "self", argno 1
291291
hop_to_executor %0 : $MyActor
292292
%3 = class_method %0 : $MyActor, #MyActor.klass!getter : (isolated MyActor) -> () -> NonSendableKlass, $@convention(method) (@sil_isolated @guaranteed MyActor) -> @owned NonSendableKlass
293293
%4 = apply %3(%0) : $@convention(method) (@sil_isolated @guaranteed MyActor) -> @owned NonSendableKlass
@@ -301,7 +301,7 @@ bb0(%0 : @guaranteed $MyActor):
301301

302302
sil [ossa] @assignIntoSetter : $@convention(method) @async (@sil_isolated @guaranteed MyActor) -> () {
303303
bb0(%0 : @guaranteed $MyActor):
304-
debug_value %0 : $MyActor, let, name "self", argno 1, implicit
304+
debug_value %0 : $MyActor, let, name "self", argno 1
305305
hop_to_executor %0 : $MyActor
306306
%4 = function_ref @constructNonSendableKlass : $@convention(thin) () -> @owned NonSendableKlass
307307
%5 = apply %4() : $@convention(thin) () -> @owned NonSendableKlass

Diff for: test/Concurrency/transfernonsendable_instruction_matching.sil

+2-2
Original file line numberDiff line numberDiff line change
@@ -1680,7 +1680,7 @@ bb0(%arg : $Builtin.Word):
16801680

16811681
sil hidden [ossa] @test_unconditional_checked_cast : $@convention(method) (@guaranteed ChildClass) -> @owned ChildClass {
16821682
bb0(%0 : @guaranteed $ChildClass):
1683-
debug_value %0 : $ChildClass, let, name "self", argno 1, implicit
1683+
debug_value %0 : $ChildClass, let, name "self", argno 1
16841684
%2 = copy_value %0 : $ChildClass
16851685
%3 = upcast %2 : $ChildClass to $ParentClass
16861686
%4 = function_ref @copyParentClass : $@convention(thin) (@guaranteed ParentClass) -> @owned ParentClass
@@ -1693,4 +1693,4 @@ bb0(%0 : @guaranteed $ChildClass):
16931693
%11 = copy_value %8 : $ChildClass
16941694
destroy_value %8 : $ChildClass
16951695
return %11 : $ChildClass
1696-
}
1696+
}

Diff for: test/DebugInfo/catch_error.swift

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ open class Cache<T> {
1010
let value = try creationBlock()
1111
return value
1212
} catch {
13-
// CHECK: debug_value {{.*}} : $any Error, let, name "error", implicit, loc "{{.*}}":[[@LINE-1]]:13, scope [[SCOPE:[0-9]+]]
13+
// CHECK: debug_value {{.*}} : $any Error, let, name "error", loc "{{.*}}":[[@LINE-1]]:13, scope [[SCOPE:[0-9]+]]
1414
// CHECK: alloc_stack $@opened({{.*}}, any Error) Self, loc{{.*}}, scope [[SCOPE]]
1515

1616
_negativeCache.setObject(error, forKey: NSNumber(1))

Diff for: test/DebugInfo/debug_value_addr.swift

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ func use<T>(_ t : T) {}
2828
// CHECK-SIL: sil hidden @$s16debug_value_addr11GenericSelfV1xACyxGx_tcfC : $@convention(method) <T> (@in T, @thin GenericSelf<T>.Type) -> GenericSelf<T> {
2929
// CHECK-SIL: bb0(%0 : $*T, %1 : $@thin GenericSelf<T>.Type):
3030
//
31-
// CHECK-SIL-NEXT: alloc_stack [var_decl] $GenericSelf<T>, var, name "self", implicit, loc {{.*}}
31+
// CHECK-SIL-NEXT: alloc_stack [var_decl] $GenericSelf<T>, var, name "self", loc {{.*}}
3232
// CHECK-SIL-NEXT: debug_value %0 : $*T, let, name "x", argno 1, expr op_deref, loc {{.*}}
3333
struct GenericSelf<T> {
3434
init(x: T) {

Diff for: test/DebugInfo/implicit_variable.swift

-12
This file was deleted.

Diff for: test/DebugInfo/nested_salvage_struct.sil

+5-5
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ sil private @pop : $@convention(method) (UInt64, Wrapper) -> Wrapper {
1919
[global: ]
2020
bb0(%0 : $UInt64, %1 : $Wrapper):
2121
debug_value %0 : $UInt64, let, name "numBits", argno 1, scope 3
22-
debug_value %1 : $Wrapper, let, name "self", argno 2, implicit, scope 3
22+
debug_value %1 : $Wrapper, let, name "self", argno 2, scope 3
2323
%4 = struct_extract %1 : $Wrapper, #Wrapper.bytes, scope 3
2424
%5 = struct_extract %4 : $UInt64, #UInt64._value, scope 3
2525
%6 = struct_extract %0 : $UInt64, #UInt64._value, scope 3
@@ -46,15 +46,15 @@ sil hidden @maker : $@convention(method) (UInt64, @thin Wrapper.Type) -> Wrapper
4646
bb0(%0 : $UInt64, %1 : $@thin Wrapper.Type):
4747
// CHECK: debug_value %0 : $UInt64, let, name "bits", argno 1
4848
debug_value %0 : $UInt64, let, name "bits", argno 1, scope 7
49-
// CHECK: debug_value %1 : $@thin Wrapper.Type, let, name "self", argno 2, implicit
50-
debug_value %1 : $@thin Wrapper.Type, let, name "self", argno 2, implicit, scope 7
49+
// CHECK: debug_value %1 : $@thin Wrapper.Type, let, name "self", argno 2
50+
debug_value %1 : $@thin Wrapper.Type, let, name "self", argno 2, scope 7
5151
%4 = integer_literal $Builtin.Int64, 3735928559, scope 7
5252
%5 = struct $UInt64 (%4 : $Builtin.Int64), scope 7
5353
%6 = struct $Wrapper (%5 : $UInt64), loc * "e.swift":3:8
5454
// CHECK-DAG: debug_value %0 : $UInt64, let, name "numBits", argno 1
5555
debug_value %0 : $UInt64, let, name "numBits", argno 1, scope 11
56-
// CHECK-DAG: debug_value %{{.*}} : $Builtin.Int64, let, name "self", {{.*}}, implicit, type $Wrapper, expr op_fragment:#Wrapper.bytes:op_fragment:#UInt64._value
57-
debug_value %6 : $Wrapper, let, name "self", argno 2, implicit, scope 11
56+
// CHECK-DAG: debug_value %{{.*}} : $Builtin.Int64, let, name "self", {{.*}}, type $Wrapper, expr op_fragment:#Wrapper.bytes:op_fragment:#UInt64._value
57+
debug_value %6 : $Wrapper, let, name "self", argno 2, scope 11
5858
%9 = struct_extract %6 : $Wrapper, #Wrapper.bytes, scope 11
5959
%10 = struct_extract %9 : $UInt64, #UInt64._value, scope 11
6060
%11 = struct_extract %0 : $UInt64, #UInt64._value, scope 11

Diff for: test/DebugInfo/resilient_debug_value.sil

+2-2
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ import resilient_struct
1515

1616
sil @test_debug_value_resilient : $@convention(thin) () -> () {
1717
bb0:
18-
%0 = alloc_stack $Size, var, name "assertions", implicit
19-
debug_value %0 : $*Size, var, name "assertions", implicit
18+
%0 = alloc_stack $Size, var, name "assertions"
19+
debug_value %0 : $*Size, var, name "assertions"
2020
dealloc_stack %0: $*Size
2121
%1 = tuple ()
2222
return %1 : $()

Diff for: test/SIL/Parser/lifetime_dependence.sil

+2-2
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ func consumeAndCreate(_ x: consuming BufferView) -> _inherit(x) BufferView
1919

2020
sil hidden [unsafe_nonescapable_result] @bufferviewinit1 : $@convention(method) (UnsafeRawBufferPointer, @thin BufferView.Type) -> @owned BufferView {
2121
bb0(%0 : $UnsafeRawBufferPointer, %1 : $@thin BufferView.Type):
22-
%2 = alloc_stack [var_decl] $BufferView, var, name "self", implicit
22+
%2 = alloc_stack [var_decl] $BufferView, var, name "self"
2323
debug_value %0 : $UnsafeRawBufferPointer, let, name "ptr", argno 1
2424
%4 = begin_access [modify] [static] %2 : $*BufferView
2525
%5 = struct_element_addr %4 : $*BufferView, #BufferView.ptr
@@ -34,7 +34,7 @@ bb0(%0 : $UnsafeRawBufferPointer, %1 : $@thin BufferView.Type):
3434
// CHECK-LABEL: sil hidden @bufferviewtest2 : $@convention(method) (UnsafeRawBufferPointer, @guaranteed Array<Int>, @thin BufferView.Type) -> _scope(2) @owned BufferView {
3535
sil hidden @bufferviewtest2 : $@convention(method) (UnsafeRawBufferPointer, @guaranteed Array<Int>, @thin BufferView.Type) -> _scope(2) @owned BufferView {
3636
bb0(%0 : $UnsafeRawBufferPointer, %1 : @noImplicitCopy $Array<Int>, %2 : $@thin BufferView.Type):
37-
%3 = alloc_stack [var_decl] $BufferView, var, name "self", implicit
37+
%3 = alloc_stack [var_decl] $BufferView, var, name "self"
3838
%6 = begin_access [modify] [static] %3 : $*BufferView
3939
%7 = struct_element_addr %6 : $*BufferView, #BufferView.ptr
4040
store %0 to %7 : $*UnsafeRawBufferPointer

Diff for: test/SILGen/deinit_recursive_linear_generic.swift

+2-2
Original file line numberDiff line numberDiff line change
@@ -60,12 +60,12 @@ class Node2<A, B> {
6060
// CHECK: sil hidden [ossa] @$s31deinit_recursive_linear_generic5Node2Cfd : $@convention(method) <A, B> (@guaranteed Node2<A, B>) -> @owned Builtin.NativeObject {
6161
// CHECK: [[SELF:%.*]] "self"
6262
// CHECK: bb0([[SELF]] : @guaranteed $Node2<A, B>):
63-
// CHECK: debug_value [[SELF]] : $Node2<A, B>, let, name "self", argno 1, implicit
63+
// CHECK: debug_value [[SELF]] : $Node2<A, B>, let, name "self", argno 1
6464
// CHECK: [[NEXT_ADDR:%.*]] = ref_element_addr [[SELF]] : $Node2<A, B>, #Node2.next
6565
// CHECK: [[NEXT_ACCESS:%.*]] = begin_access [deinit] [static] [[NEXT_ADDR]] : $*Optional<Node2<Int, (A, B)>>
6666
// CHECK: destroy_addr [[NEXT_ACCESS]] : $*Optional<Node2<Int, (A, B)>>
6767
// CHECK: end_access [[NEXT_ACCESS]] : $*Optional<Node2<Int, (A, B)>>
6868
// CHECK: [[SELF_NATIVE:%.*]] = unchecked_ref_cast [[SELF]] : $Node2<A, B> to $Builtin.NativeObject
6969
// CHECK: [[SELF_OWNED:%.*]] = unchecked_ownership_conversion [[SELF_NATIVE]] : $Builtin.NativeObject, @guaranteed to @owned
7070
// CHECK: return [[SELF_OWNED]] : $Builtin.NativeObject
71-
// CHECK: } // end sil function '$s31deinit_recursive_linear_generic5Node2Cfd'
71+
// CHECK: } // end sil function '$s31deinit_recursive_linear_generic5Node2Cfd'

Diff for: test/SILGen/didset_oldvalue_not_accessed_silgen.swift

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ let foo = Foo(value: "Hello")
2020
// Foo.value.setter //
2121

2222
// CHECK-LABEL: sil hidden [ossa] @$s35didset_oldvalue_not_accessed_silgen3FooC5valuexvs : $@convention(method) <T> (@in T, @guaranteed Foo<T>) -> ()
23-
// CHECK: debug_value [[VALUE:%.*]] : $*T, let, name "value", argno {{[0-9+]}}, {{.*}} expr op_deref
23+
// CHECK: debug_value [[VALUE:%.*]] : $*T, let, name "value", argno {{[0-9+]}}, expr op_deref
2424
// CHECK-NEXT: debug_value [[SELF:%.*]] : $Foo<T>, let, name "self", argno {{[0-9+]}}
2525
// CHECK-NEXT: [[ALLOC_STACK:%.*]] = alloc_stack $T
2626
// CHECK-NEXT: copy_addr [[VALUE]] to [init] [[ALLOC_STACK]] : $*T

Diff for: test/SILGen/discard.swift

+1-1
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@ final class Wallet {
172172
// CHECK: destroy_value [[DD]] : $Ticket
173173

174174
// CHECK-SIL-LABEL: sil hidden @$s4test6TicketO06changeB08inWalletyAA0E0CSg_tF : $@convention(method) (@guaranteed Optional<Wallet>, @owned Ticket) -> () {
175-
// CHECK-SIL: [[SELF_REF:%.*]] = alloc_stack [lexical] [var_decl] $Ticket, var, name "self", implicit
175+
// CHECK-SIL: [[SELF_REF:%.*]] = alloc_stack [lexical] [var_decl] $Ticket, var, name "self"
176176
// CHECK-SIL: switch_enum {{.*}} : $Optional<Wallet>, case #Optional.some!enumelt: {{.*}}, case #Optional.none!enumelt: [[NO_WALLET_BB:bb[0-9]+]]
177177
//
178178
// >> now we begin the destruction sequence, which involves pattern matching on self to destroy its innards

Diff for: test/SILGen/lazy_property_with_observers.swift

+1-1
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ foo1.bar = 2
3838
// CHECK-LABEL: sil hidden [ossa] @$s28lazy_property_with_observers4Foo1V3barSivs : $@convention(method) (Int, @inout Foo1) -> () {
3939
// CHECK: bb0([[VALUE:%.*]] : $Int, [[FOO1:%.*]] : $*Foo1):
4040
// CHECK-NEXT: debug_value [[VALUE]] : $Int, let, name "value", argno 1
41-
// CHECK-NEXT: debug_value [[FOO1]] : $*Foo1, var, name "self", argno 2, {{.*}} expr op_deref
41+
// CHECK-NEXT: debug_value [[FOO1]] : $*Foo1, var, name "self", argno 2, expr op_deref
4242
// CHECK-NEXT: [[BEGIN_ACCESS:%.*]] = begin_access [modify] [unknown] %1 : $*Foo1
4343
// CHECK-NEXT: // function_ref Foo1.bar.getter
4444
// CHECK-NEXT: [[GETTER:%.*]] = function_ref @$s28lazy_property_with_observers4Foo1V3barSivg : $@convention(method) (@inout Foo1) -> Int

Diff for: test/SILGen/property_wrapper_coroutine.swift

+1-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ _ = state1.someValues
3636

3737
// CHECK-LABEL: sil hidden [ossa] @$s26property_wrapper_coroutine5StateV6valuesSaySSGvM : $@yield_once @convention(method) (@inout State) -> @yields @inout Array<String> {
3838
// CHECK: bb0([[STATE:%.*]] : $*State):
39-
// CHECK: debug_value [[STATE]] : $*State, var, name "self", argno {{.*}}, {{.*}} expr op_deref
39+
// CHECK: debug_value [[STATE]] : $*State, var, name "self", argno {{.*}}, expr op_deref
4040
// CHECK: [[BEGIN_ACCESS:%.*]] = begin_access [modify] [unknown] [[STATE]] : $*State
4141
// CHECK: [[BACKING_ADDR:%.*]] = struct_element_addr [[BEGIN_ACCESS]] : $*State, #State._values
4242
// CHECK: [[VALUE_ADDR:%.*]] = struct_element_addr [[BACKING_ADDR]] : $*TestWrapper<Array<String>>, #TestWrapper.wrappedValue

Diff for: test/SILGen/property_wrappers.swift

+1-1
Original file line numberDiff line numberDiff line change
@@ -978,7 +978,7 @@ struct S_58201 {
978978

979979
// CHECK-LABEL: sil hidden [ossa] @$s17property_wrappers7S_58201V1ayyF : $@convention(method) (S_58201) -> () {
980980
// CHECK: bb0(%0 : $S_58201):
981-
// CHECK-NEXT: debug_value %0 : $S_58201, let, name "self", argno 1, implicit
981+
// CHECK-NEXT: debug_value %0 : $S_58201, let, name "self", argno 1
982982
// CHECK-NEXT: [[BOX:%.*]] = alloc_box ${ var BasicComputedIntWrapper }, var, name "_b"
983983
// CHECK-NEXT: [[BOX_LIFETIME:%[^,]+]] = begin_borrow [var_decl] [[BOX]]
984984
// CHECK-NEXT: [[BOXADDR:%.*]] = project_box [[BOX_LIFETIME]] : ${ var BasicComputedIntWrapper }, 0

Diff for: test/SILOptimizer/accessed_storage_unavailable.sil

+1-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ bb0:
3434

3535
sil [transparent] @$s28accessed_storage_unavailable11UnavailableV1iAA1SVvg : $@convention(method) (Unavailable) -> S {
3636
bb0(%0 : $Unavailable):
37-
debug_value %0 : $Unavailable, let, name "self", argno 1, implicit
37+
debug_value %0 : $Unavailable, let, name "self", argno 1
3838
%2 = function_ref @$ss31_diagnoseUnavailableCodeReacheds5NeverOyF : $@convention(thin) () -> Never
3939
%3 = apply %2() : $@convention(thin) () -> Never
4040
unreachable

0 commit comments

Comments
 (0)