You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
105 lines
4.1 KiB
105 lines
4.1 KiB
4 months ago
|
# Check that subsequent .loc 0 0 directives are collapsed.
|
||
|
|
||
|
# RUN: llc -start-before=machine-cp -O2 -filetype=asm -mtriple=x86_64-apple-macosx10.9.0 -o - %s | FileCheck %s
|
||
|
|
||
|
# CHECK: Ltmp0:
|
||
|
# CHECK: .loc 1 0 0 prologue_end
|
||
|
# CHECK-NOT: .loc 1 0 0
|
||
|
# CHECK: .loc 1 37 1
|
||
|
|
||
|
--- |
|
||
|
; ModuleID = '<stdin>'
|
||
|
source_filename = "<stdin>"
|
||
|
target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
|
||
|
target triple = "x86_64-apple-macosx10.9.0"
|
||
|
|
||
|
%swift.opaque = type opaque
|
||
|
%swift.metadata_response = type { %swift.type*, i64 }
|
||
|
%swift.type = type { i64 }
|
||
|
|
||
|
define hidden swiftcc void @"$S4main1fyyF"() !dbg !5 {
|
||
|
entry:
|
||
|
%s1.addr = alloca i8*, align 8
|
||
|
%0 = bitcast i8** %s1.addr to %swift.opaque**
|
||
|
store %swift.opaque* null, %swift.opaque** %0, align 8
|
||
|
%1 = call swiftcc %swift.metadata_response @"$S16resilient_struct4SizeVMa"(i64 0) #1, !dbg !10
|
||
|
%2 = extractvalue %swift.metadata_response %1, 0, !dbg !10
|
||
|
%3 = bitcast %swift.type* %2 to i8***, !dbg !10
|
||
|
%4 = getelementptr inbounds i8**, i8*** %3, i64 -1, !dbg !10
|
||
|
ret void, !dbg !12
|
||
|
}
|
||
|
|
||
|
declare swiftcc %swift.metadata_response @"$S16resilient_struct4SizeVMa"(i64)
|
||
|
|
||
|
; Function Attrs: nounwind
|
||
|
declare void @llvm.stackprotector(i8*, i8**) #0
|
||
|
|
||
|
attributes #0 = { nounwind }
|
||
|
attributes #1 = { nounwind readnone }
|
||
|
|
||
|
!llvm.dbg.cu = !{!0}
|
||
|
!llvm.module.flags = !{!3, !4}
|
||
|
|
||
|
!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)
|
||
|
!1 = !DIFile(filename: "struct_resilience.swift", directory: "/Users/jonas/swift")
|
||
|
!2 = !{}
|
||
|
!3 = !{i32 2, !"Dwarf Version", i32 4}
|
||
|
!4 = !{i32 2, !"Debug Info Version", i32 3}
|
||
|
!5 = distinct !DISubprogram(name: "f", linkageName: "$S4main1fyyF", scope: !0, file: !6, line: 23, type: !7, scopeLine: 23, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !2)
|
||
|
!6 = !DIFile(filename: "struct_resilience.swift", directory: "/Users/jonas/swift/swift/test/DebugInfo")
|
||
|
!7 = !DISubroutineType(types: !8)
|
||
|
!8 = !{!9}
|
||
|
!9 = !DICompositeType(tag: DW_TAG_structure_type, name: "$SytD", file: !6, elements: !2, runtimeLang: DW_LANG_Swift, identifier: "$SytD")
|
||
|
!10 = !DILocation(line: 0, scope: !11)
|
||
|
!11 = distinct !DILexicalBlock(scope: !5, file: !6, line: 23, column: 10)
|
||
|
!12 = !DILocation(line: 37, column: 1, scope: !11)
|
||
|
|
||
|
...
|
||
|
---
|
||
|
name: '$S4main1fyyF'
|
||
|
alignment: 16
|
||
|
exposesReturnsTwice: false
|
||
|
legalized: false
|
||
|
regBankSelected: false
|
||
|
selected: false
|
||
|
failedISel: false
|
||
|
tracksRegLiveness: true
|
||
|
hasWinCFI: false
|
||
|
registers: []
|
||
|
liveins: []
|
||
|
frameInfo:
|
||
|
isFrameAddressTaken: false
|
||
|
isReturnAddressTaken: false
|
||
|
hasStackMap: false
|
||
|
hasPatchPoint: false
|
||
|
stackSize: 0
|
||
|
offsetAdjustment: 0
|
||
|
maxAlignment: 8
|
||
|
adjustsStack: false
|
||
|
hasCalls: true
|
||
|
stackProtector: ''
|
||
|
maxCallFrameSize: 4294967295
|
||
|
cvBytesOfCalleeSavedRegisters: 0
|
||
|
hasOpaqueSPAdjustment: false
|
||
|
hasVAStart: false
|
||
|
hasMustTailInVarArgFunc: false
|
||
|
localFrameSize: 0
|
||
|
savePoint: ''
|
||
|
restorePoint: ''
|
||
|
fixedStack: []
|
||
|
stack:
|
||
|
- { id: 0, name: s1.addr, type: default, offset: 0, size: 8, alignment: 8,
|
||
|
stack-id: default, callee-saved-register: '', callee-saved-restored: true,
|
||
|
debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }
|
||
|
constants: []
|
||
|
body: |
|
||
|
bb.0.entry:
|
||
|
MOV64mi32 %stack.0.s1.addr, 1, $noreg, 0, $noreg, 0 :: (store 8 into %ir.0)
|
||
|
ADJCALLSTACKDOWN64 0, 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp, debug-location !10
|
||
|
dead $edi = MOV32r0 implicit-def dead $eflags, implicit-def $rdi, debug-location !10
|
||
|
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
|
||
|
ADJCALLSTACKUP64 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp, debug-location !10
|
||
|
RET 0, debug-location !12
|
||
|
|
||
|
...
|