Skip to content

Commit dbeda96

Browse files
committed
TempRValueElimination: handle debug_value instructions
1 parent 62c3850 commit dbeda96

File tree

2 files changed

+5
-0
lines changed

2 files changed

+5
-0
lines changed

SwiftCompilerSources/Sources/Optimizer/FunctionPasses/TempRValueElimination.swift

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -547,6 +547,9 @@ private struct UseCollector : AddressDefUseWalker {
547547
uses.insert(copyFromStack)
548548
return .continueWalk
549549

550+
case is DebugValueInst:
551+
return .continueWalk
552+
550553
default:
551554
return .abortWalk
552555
}

test/SILOptimizer/temp_rvalue_opt_ossa.sil

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,7 @@ sil_global @globalString : $String
9696
// CHECK: [[V1:%.*]] = load [trivial] [[A1]] : $*Builtin.Int64
9797
// CHECK-NOT: alloc_stack
9898
// CHECK-NOT: copy_addr
99+
// CHECK: debug_value %1
99100
// CHECK: [[A2:%.*]] = struct_element_addr %1 : $*GS<B>, #GS._value
100101
// CHECK: [[V2:%.*]] = load [trivial] [[A2]] : $*Builtin.Int64
101102
// CHECK: %{{.*}} = builtin "cmp_slt_Int64"([[V1]] : $Builtin.Int64, [[V2]] : $Builtin.Int64) : $Builtin.Int1
@@ -109,6 +110,7 @@ bb0(%0 : $*GS<B>, %1 : $*GS<B>):
109110
%3 = load [trivial] %2 : $*Builtin.Int64
110111
%4 = alloc_stack $GS<B>
111112
copy_addr %1 to [init] %4 : $*GS<B>
113+
debug_value %4, let, name "x"
112114
%6 = struct_element_addr %4 : $*GS<B>, #GS._value
113115
%7 = load [trivial] %6 : $*Builtin.Int64
114116
%8 = builtin "cmp_slt_Int64"(%3 : $Builtin.Int64, %7 : $Builtin.Int64) : $Builtin.Int1

0 commit comments

Comments
 (0)