Skip to content

Commit b3d17ad

Browse files
committed
[move-function-dbginfo] Modify a test slightly to fix the arm64 bots and re-enable that test.
The pattern started to fail here since the variable "m" is not a variable that we moved so as a result we use heuristics to determine if it should become an entry value. Noting that we only pattern match "m" to ensure that we can easily check the variable "k" afterwards (the thing that was actually moved), I just loosened the pattern so that we validate that we found "m" but do not check "m"'s location. This guarantees that on all platforms this will pattern match appropriately. rdar://91467528
1 parent 4399670 commit b3d17ad

File tree

1 file changed

+9
-5
lines changed

1 file changed

+9
-5
lines changed

test/DebugInfo/move_function_dbginfo_async.swift

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,6 @@
33
// RUN: %target-swift-frontend -parse-as-library -disable-availability-checking -g -c %s -o %t/out.o
44
// RUN: %llvm-dwarfdump --show-children %t/out.o | %FileCheck -check-prefix=DWARF %s
55

6-
// REQUIRES: rdar91467528
7-
86
// This test checks that:
97
//
108
// 1. At the IR level, we insert the appropriate llvm.dbg.addr, llvm.dbg.value.
@@ -235,7 +233,9 @@ public func varSimpleTest<T>(_ msg: inout T, _ msg2: T) async {
235233
// DWARF-NEXT: DW_AT_name ("k")
236234
//
237235
// DWARF: DW_TAG_variable
238-
// DWARF-NEXT: DW_AT_location (DW_OP_entry_value([[ASYNC_REG]]), DW_OP_deref, DW_OP_plus_uconst 0x10, DW_OP_plus_uconst 0x10)
236+
// We don't pattern match the actual entry value of "m" since we don't guarantee
237+
// it is an entry value since it isn't moved.
238+
// DWARF-NEXT: DW_AT_location
239239
// DWARF-NEXT: DW_AT_name ("m")
240240
//
241241
// DWARF: DW_AT_linkage_name ("$s3out16varSimpleTestVaryyYaFTY2_")
@@ -249,7 +249,9 @@ public func varSimpleTest<T>(_ msg: inout T, _ msg2: T) async {
249249
//
250250
// DWARF: DW_AT_linkage_name ("$s3out16varSimpleTestVaryyYaFTQ3_")
251251
// DWARF: DW_TAG_variable
252-
// DWARF-NEXT: DW_AT_location (DW_OP_entry_value([[ASYNC_REG]]), DW_OP_deref, DW_OP_plus_uconst 0x10, DW_OP_plus_uconst 0x10)
252+
// We don't pattern match the actual entry value of "m" since we don't guarantee
253+
// it is an entry value since it isn't moved.
254+
// DWARF-NEXT: DW_AT_location
253255
// DWARF-NEXT: DW_AT_name ("m")
254256
// K is dead here.
255257
// DWARF: DW_TAG_variable
@@ -258,7 +260,9 @@ public func varSimpleTest<T>(_ msg: inout T, _ msg2: T) async {
258260
// We reinitialize k in 4.
259261
// DWARF: DW_AT_linkage_name ("$s3out16varSimpleTestVaryyYaFTY4_")
260262
// DWARF: DW_TAG_variable
261-
// DWARF-NEXT: DW_AT_location (DW_OP_entry_value([[ASYNC_REG]]), DW_OP_plus_uconst 0x10, DW_OP_plus_uconst 0x10)
263+
// We don't pattern match the actual entry value of "m" since we don't guarantee
264+
// it is an entry value since it isn't moved.
265+
// DWARF-NEXT: DW_AT_location
262266
// DWARF-NEXT: DW_AT_name ("m")
263267
// DWARF: DW_TAG_variable
264268
// DWARF-NEXT: DW_AT_location (0x{{[0-9a-f]+}}:

0 commit comments

Comments
 (0)