[InstCombine] Signed saturation patterns
[llvm-core.git] / test / DebugInfo / MIR / X86 / debug-loc-0.mir
blobc6630047c7e9e4e2ff93fe2958e5a86ec0f35616
1 # Check that subsequent .loc 0 0 directives are collapsed.
3 # RUN: llc -start-before=machine-cp -O2 -filetype=asm -mtriple=x86_64-apple-macosx10.9.0 -o - %s | FileCheck %s
5 # CHECK: Ltmp0:
6 # CHECK: .loc 1 0 0 prologue_end
7 # CHECK-NOT: .loc 1 0 0
8 # CHECK: .loc 1 37 1
10 --- |
11   ; ModuleID = '<stdin>'
12   source_filename = "<stdin>"
13   target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
14   target triple = "x86_64-apple-macosx10.9.0"
16   %swift.opaque = type opaque
17   %swift.metadata_response = type { %swift.type*, i64 }
18   %swift.type = type { i64 }
20   define hidden swiftcc void @"$S4main1fyyF"() !dbg !5 {
21   entry:
22     %s1.addr = alloca i8*, align 8
23     %0 = bitcast i8** %s1.addr to %swift.opaque**
24     store %swift.opaque* null, %swift.opaque** %0, align 8
25     %1 = call swiftcc %swift.metadata_response @"$S16resilient_struct4SizeVMa"(i64 0) #1, !dbg !10
26     %2 = extractvalue %swift.metadata_response %1, 0, !dbg !10
27     %3 = bitcast %swift.type* %2 to i8***, !dbg !10
28     %4 = getelementptr inbounds i8**, i8*** %3, i64 -1, !dbg !10
29     ret void, !dbg !12
30   }
32   declare swiftcc %swift.metadata_response @"$S16resilient_struct4SizeVMa"(i64)
34   ; Function Attrs: nounwind
35   declare void @llvm.stackprotector(i8*, i8**) #0
37   attributes #0 = { nounwind }
38   attributes #1 = { nounwind readnone }
40   !llvm.dbg.cu = !{!0}
41   !llvm.module.flags = !{!3, !4}
43   !0 = distinct !DICompileUnit(language: DW_LANG_Swift, file: !1, producer: "Swift version 4.2.1-dev effective-3.4.1 (LLVM 4ba03d9389, Clang 78aa734eee, Swift f4134ebef6)", isOptimized: false, runtimeVersion: 4, emissionKind: FullDebug, enums: !2, imports: !2)
44   !1 = !DIFile(filename: "struct_resilience.swift", directory: "/Users/jonas/swift")
45   !2 = !{}
46   !3 = !{i32 2, !"Dwarf Version", i32 4}
47   !4 = !{i32 2, !"Debug Info Version", i32 3}
48   !5 = distinct !DISubprogram(name: "f", linkageName: "$S4main1fyyF", scope: !0, file: !6, line: 23, type: !7, scopeLine: 23, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !2)
49   !6 = !DIFile(filename: "struct_resilience.swift", directory: "/Users/jonas/swift/swift/test/DebugInfo")
50   !7 = !DISubroutineType(types: !8)
51   !8 = !{!9}
52   !9 = !DICompositeType(tag: DW_TAG_structure_type, name: "$SytD", file: !6, elements: !2, runtimeLang: DW_LANG_Swift, identifier: "$SytD")
53   !10 = !DILocation(line: 0, scope: !11)
54   !11 = distinct !DILexicalBlock(scope: !5, file: !6, line: 23, column: 10)
55   !12 = !DILocation(line: 37, column: 1, scope: !11)
57 ...
58 ---
59 name:            '$S4main1fyyF'
60 alignment:       16
61 exposesReturnsTwice: false
62 legalized:       false
63 regBankSelected: false
64 selected:        false
65 failedISel:      false
66 tracksRegLiveness: true
67 hasWinCFI:       false
68 registers:       []
69 liveins:         []
70 frameInfo:
71   isFrameAddressTaken: false
72   isReturnAddressTaken: false
73   hasStackMap:     false
74   hasPatchPoint:   false
75   stackSize:       0
76   offsetAdjustment: 0
77   maxAlignment:    8
78   adjustsStack:    false
79   hasCalls:        true
80   stackProtector:  ''
81   maxCallFrameSize: 4294967295
82   cvBytesOfCalleeSavedRegisters: 0
83   hasOpaqueSPAdjustment: false
84   hasVAStart:      false
85   hasMustTailInVarArgFunc: false
86   localFrameSize:  0
87   savePoint:       ''
88   restorePoint:    ''
89 fixedStack:      []
90 stack:
91   - { id: 0, name: s1.addr, type: default, offset: 0, size: 8, alignment: 8,
92       stack-id: default, callee-saved-register: '', callee-saved-restored: true,
93       debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }
94 constants:       []
95 body:             |
96   bb.0.entry:
97     MOV64mi32 %stack.0.s1.addr, 1, $noreg, 0, $noreg, 0 :: (store 8 into %ir.0)
98     ADJCALLSTACKDOWN64 0, 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp, debug-location !10
99     dead $edi = MOV32r0 implicit-def dead $eflags, implicit-def $rdi, debug-location !10
100     CALL64pcrel32 @"$S16resilient_struct4SizeVMa", csr_64, implicit $rsp, implicit $ssp, implicit killed $rdi, implicit-def $rsp, implicit-def $ssp, implicit-def dead $rax, implicit-def dead $rdx, debug-location !10
101     ADJCALLSTACKUP64 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp, debug-location !10
102     RET 0, debug-location !12