1# RUN: llc -run-pass opt-phis -mtriple=x86_64-- -o - %s | FileCheck %s 2--- | 3 define void @test() { 4 ret void 5 } 6 7 !llvm.dbg.cu = !{!1} 8 !llvm.module.flags = !{!2, !3} 9 !llvm.ident = !{!4} 10 11 !0 = !DIFile(filename: "foo.c", directory: "/bar") 12 !1 = distinct !DICompileUnit(language: DW_LANG_C, file: !0, producer: "My Compiler") 13 !2 = !{i32 2, !"Dwarf Version", i32 4} 14 !3 = !{i32 2, !"Debug Info Version", i32 3} 15 !4 = !{!"My Compiler"} 16 !5 = distinct !DISubprogram(name: "test") 17 !6 = !DILocation(line: 7, column: 11, scope: !5) 18 !7 = !DILocalVariable(name: "l", scope: !5) 19 20... 21--- 22name: test 23tracksRegLiveness: true 24body: | 25 bb.0: 26 %0:gr32 = IMPLICIT_DEF 27 28 bb.1: 29 %1:gr32 = PHI %0, %bb.0, %2, %bb.1 30 DBG_VALUE %1, _, !7, !DIExpression(), debug-location !6 31 %2:gr32 = IMPLICIT_DEF 32 JMP_1 %bb.1 33... 34 35# The PHI should be removed since it's only used in a DBG_VALUE 36# CHECK-LABEL: bb.1: 37# CHECK-NOT: PHI 38