Compiler projects using llvm
; RUN: llc -debugger-tune=gdb -mtriple powerpc-ibm-aix-xcoff < %s | \
; RUN:   FileCheck %s --check-prefix=ASM32
; RUN: llc -debugger-tune=gdb -mtriple powerpc64-ibm-aix-xcoff < %s | \
; RUN:   FileCheck %s --check-prefix=ASM64
; RUN: llc -mtriple powerpc-ibm-aix-xcoff -filetype=obj < %s | \
; RUN:   llvm-dwarfdump --all - | FileCheck %s --check-prefix=DWARF32

source_filename = "1.c"
target datalayout = "E-m:a-p:32:32-i64:64-n32"

; Function Attrs: noinline nounwind optnone
define i32 @main() #0 !dbg !8 {
entry:
  %retval = alloca i32, align 4
  store i32 0, i32* %retval, align 4
  ret i32 0, !dbg !12
}

!llvm.dbg.cu = !{!0}
!llvm.module.flags = !{!3, !4, !5, !6}
!llvm.ident = !{!7}

!0 = distinct !DICompileUnit(language: DW_LANG_C99, file: !1, producer: "clang version 12.0.0", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !2, nameTableKind: None)
!1 = !DIFile(filename: "1.c", directory: "debug")
!2 = !{}
!3 = !{i32 7, !"Dwarf Version", i32 4}
!4 = !{i32 2, !"Debug Info Version", i32 3}
!5 = !{i32 1, !"wchar_size", i32 2}
!6 = !{i32 7, !"PIC Level", i32 2}
!7 = !{!"clang version 12.0.0"}
!8 = distinct !DISubprogram(name: "main", scope: !1, file: !1, line: 1, type: !9, scopeLine: 2, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !2)
!9 = !DISubroutineType(types: !10)
!10 = !{!11}
!11 = !DIBasicType(name: "int", size: 32, encoding: DW_ATE_signed)
!12 = !DILocation(line: 3, column: 3, scope: !8)

; ASM32:               .csect .text[PR],5
; ASM32-NEXT:          .file   "1.c"
; ASM32-NEXT:          .globl  main[DS]                        # -- Begin function main
; ASM32-NEXT:          .globl  .main
; ASM32-NEXT:          .align  2
; ASM32-NEXT:          .csect main[DS],2
; ASM32-NEXT:          .vbyte  4, .main                        # @main
; ASM32-NEXT:          .vbyte  4, TOC[TC0]
; ASM32-NEXT:          .vbyte  4, 0
; ASM32-NEXT:          .csect .text[PR],5
; ASM32-NEXT:  .main:
; ASM32-NEXT:  L..func_begin0:
; ASM32-NEXT:  # %bb.0:                                # %entry
; ASM32-NEXT:  L..tmp0:
; ASM32-NEXT:          li 4, 0
; ASM32-NEXT:  L..tmp1:
; ASM32-NEXT:  L..tmp2:
; ASM32-NEXT:          li 3, 0
; ASM32-NEXT:          stw 4, -4(1)
; ASM32-NEXT:          blr
; ASM32-NEXT:  L..tmp3:
; ASM32-NEXT:  L..main0:
; ASM32-NEXT:          .vbyte  4, 0x00000000                   # Traceback table begin
; ASM32-NEXT:          .byte   0x00                            # Version = 0
; ASM32-NEXT:          .byte   0x09                            # Language = CPlusPlus
; ASM32-NEXT:          .byte   0x20                            # -IsGlobaLinkage, -IsOutOfLineEpilogOrPrologue
; ASM32-NEXT:                                          # +HasTraceBackTableOffset, -IsInternalProcedure
; ASM32-NEXT:                                          # -HasControlledStorage, -IsTOCless
; ASM32-NEXT:                                          # -IsFloatingPointPresent
; ASM32-NEXT:                                          # -IsFloatingPointOperationLogOrAbortEnabled
; ASM32-NEXT:          .byte   0x40                            # -IsInterruptHandler, +IsFunctionNamePresent, -IsAllocaUsed
; ASM32-NEXT:                                          # OnConditionDirective = 0, -IsCRSaved, -IsLRSaved
; ASM32-NEXT:          .byte   0x80                            # +IsBackChainStored, -IsFixup, NumOfFPRsSaved = 0
; ASM32-NEXT:          .byte   0x00                            # -HasExtensionTable, -HasVectorInfo, NumOfGPRsSaved = 0
; ASM32-NEXT:          .byte   0x00                            # NumberOfFixedParms = 0
; ASM32-NEXT:          .byte   0x01                            # NumberOfFPParms = 0, +HasParmsOnStack
; ASM32-NEXT:          .vbyte  4, L..main0-.main               # Function size
; ASM32-NEXT:          .vbyte  2, 0x0004                       # Function name len = 4
; ASM32-NEXT:          .byte   "main"                          # Function Name
; ASM32-NEXT:  L..func_end0:
; ASM32-NEXT:                                          # -- End function
; ASM32-NEXT:  L..sec_end0:
; ASM32:               .dwsect 0x60000
; ASM32-NEXT:  L...dwabrev:
; ASM32-NEXT:          .byte   1                               # Abbreviation Code
; ASM32-NEXT:          .byte   17                              # DW_TAG_compile_unit
; ASM32-NEXT:          .byte   1                               # DW_CHILDREN_yes
; ASM32-NEXT:          .byte   37                              # DW_AT_producer
; ASM32-NEXT:          .byte   14                              # DW_FORM_strp
; ASM32-NEXT:          .byte   19                              # DW_AT_language
; ASM32-NEXT:          .byte   5                               # DW_FORM_data2
; ASM32-NEXT:          .byte   3                               # DW_AT_name
; ASM32-NEXT:          .byte   14                              # DW_FORM_strp
; ASM32-NEXT:          .byte   16                              # DW_AT_stmt_list
; ASM32-NEXT:          .byte   23                              # DW_FORM_sec_offset
; ASM32-NEXT:          .byte   27                              # DW_AT_comp_dir
; ASM32-NEXT:          .byte   14                              # DW_FORM_strp
; ASM32-NEXT:          .byte   17                              # DW_AT_low_pc
; ASM32-NEXT:          .byte   1                               # DW_FORM_addr
; ASM32-NEXT:          .byte   18                              # DW_AT_high_pc
; ASM32-NEXT:          .byte   6                               # DW_FORM_data4
; ASM32-NEXT:          .byte   0                               # EOM(1)
; ASM32-NEXT:          .byte   0                               # EOM(2)
; ASM32-NEXT:          .byte   2                               # Abbreviation Code
; ASM32-NEXT:          .byte   46                              # DW_TAG_subprogram
; ASM32-NEXT:          .byte   0                               # DW_CHILDREN_no
; ASM32-NEXT:          .byte   17                              # DW_AT_low_pc
; ASM32-NEXT:          .byte   1                               # DW_FORM_addr
; ASM32-NEXT:          .byte   18                              # DW_AT_high_pc
; ASM32-NEXT:          .byte   6                               # DW_FORM_data4
; ASM32-NEXT:          .byte   64                              # DW_AT_frame_base
; ASM32-NEXT:          .byte   24                              # DW_FORM_exprloc
; ASM32-NEXT:          .byte   3                               # DW_AT_name
; ASM32-NEXT:          .byte   14                              # DW_FORM_strp
; ASM32-NEXT:          .byte   58                              # DW_AT_decl_file
; ASM32-NEXT:          .byte   11                              # DW_FORM_data1
; ASM32-NEXT:          .byte   59                              # DW_AT_decl_line
; ASM32-NEXT:          .byte   11                              # DW_FORM_data1
; ASM32-NEXT:          .byte   39                              # DW_AT_prototyped
; ASM32-NEXT:          .byte   25                              # DW_FORM_flag_present
; ASM32-NEXT:          .byte   73                              # DW_AT_type
; ASM32-NEXT:          .byte   19                              # DW_FORM_ref4
; ASM32-NEXT:          .byte   63                              # DW_AT_external
; ASM32-NEXT:          .byte   25                              # DW_FORM_flag_present
; ASM32-NEXT:          .byte   0                               # EOM(1)
; ASM32-NEXT:          .byte   0                               # EOM(2)
; ASM32-NEXT:          .byte   3                               # Abbreviation Code
; ASM32-NEXT:          .byte   36                              # DW_TAG_base_type
; ASM32-NEXT:          .byte   0                               # DW_CHILDREN_no
; ASM32-NEXT:          .byte   3                               # DW_AT_name
; ASM32-NEXT:          .byte   14                              # DW_FORM_strp
; ASM32-NEXT:          .byte   62                              # DW_AT_encoding
; ASM32-NEXT:          .byte   11                              # DW_FORM_data1
; ASM32-NEXT:          .byte   11                              # DW_AT_byte_size
; ASM32-NEXT:          .byte   11                              # DW_FORM_data1
; ASM32-NEXT:          .byte   0                               # EOM(1)
; ASM32-NEXT:          .byte   0                               # EOM(2)
; ASM32-NEXT:          .byte   0                               # EOM(3)
; ASM32:               .dwsect 0x10000
; ASM32-NEXT:  L...dwinfo:
; ASM32-NEXT:  L..cu_begin0:
; ASM32-NEXT:          .vbyte  2, 4                            # DWARF version number
; ASM32-NEXT:          .vbyte  4, L...dwabrev                  # Offset Into Abbrev. Section
; ASM32-NEXT:          .byte   4                               # Address Size (in bytes)
; ASM32-NEXT:          .byte   1                               # Abbrev [1] 0xb:0x38 DW_TAG_compile_unit
; ASM32-NEXT:          .vbyte  4, L..info_string0              # DW_AT_producer
; ASM32-NEXT:          .vbyte  2, 12                           # DW_AT_language
; ASM32-NEXT:          .vbyte  4, L..info_string1              # DW_AT_name
; ASM32-NEXT:          .vbyte  4, L..line_table_start0         # DW_AT_stmt_list
; ASM32-NEXT:          .vbyte  4, L..info_string2              # DW_AT_comp_dir
; ASM32-NEXT:          .vbyte  4, L..func_begin0               # DW_AT_low_pc
; ASM32-NEXT:          .vbyte  4, L..func_end0-L..func_begin0  # DW_AT_high_pc
; ASM32-NEXT:          .byte   2                               # Abbrev [2] 0x26:0x15 DW_TAG_subprogram
; ASM32-NEXT:          .vbyte  4, L..func_begin0               # DW_AT_low_pc
; ASM32-NEXT:          .vbyte  4, L..func_end0-L..func_begin0  # DW_AT_high_pc
; ASM32-NEXT:          .byte   1                               # DW_AT_frame_base
; ASM32-NEXT:          .byte   81
; ASM32-NEXT:          .vbyte  4, L..info_string3              # DW_AT_name
; ASM32-NEXT:          .byte   1                               # DW_AT_decl_file
; ASM32-NEXT:          .byte   1                               # DW_AT_decl_line
; ASM32-NEXT:                                          # DW_AT_prototyped
; ASM32-NEXT:          .vbyte  4, 59                           # DW_AT_type
; ASM32-NEXT:                                          # DW_AT_external
; ASM32-NEXT:          .byte   3                               # Abbrev [3] 0x3b:0x7 DW_TAG_base_type
; ASM32-NEXT:          .vbyte  4, L..info_string4              # DW_AT_name
; ASM32-NEXT:          .byte   5                               # DW_AT_encoding
; ASM32-NEXT:          .byte   4                               # DW_AT_byte_size
; ASM32-NEXT:          .byte   0                               # End Of Children Mark
; ASM32-NEXT:  L..debug_info_end0:
; ASM32:               .dwsect 0x70000
; ASM32-NEXT:  L...dwstr:
; ASM32-NEXT:  L..info_string0:
; ASM32-NEXT:          .string "clang version 12.0.0"          # string offset=0
; ASM32-NEXT:  L..info_string1:
; ASM32-NEXT:          .string "1.c"                           # string offset=21
; ASM32-NEXT:  L..info_string2:
; ASM32-NEXT:          .string "debug"                         # string offset=25
; ASM32-NEXT:  L..info_string3:
; ASM32-NEXT:          .string "main"                          # string offset=31
; ASM32-NEXT:  L..info_string4:
; ASM32-NEXT:          .string "int"                           # string offset=36
; ASM32-NEXT:          .toc
; ASM32:               .dwsect 0x20000
; ASM32-NEXT:  L...dwline:
; ASM32-NEXT:  L..debug_line_0:
; ASM32-NEXT:  .set L..line_table_start0, L..debug_line_0-4
; ASM32-NEXT:          .vbyte  2, 4
; ASM32-NEXT:          .vbyte	4, L..prologue_end0-L..prologue_start0
; ASM32-NEXT:  L..prologue_start0:
; ASM32-NEXT:          .byte   4
; ASM32-NEXT:          .byte   1
; ASM32-NEXT:          .byte   1
; ASM32-NEXT:          .byte   -5
; ASM32-NEXT:          .byte   14
; ASM32-NEXT:          .byte   13
; ASM32-NEXT:          .byte   0
; ASM32-NEXT:          .byte   1
; ASM32-NEXT:          .byte   1
; ASM32-NEXT:          .byte   1
; ASM32-NEXT:          .byte   1
; ASM32-NEXT:          .byte   0
; ASM32-NEXT:          .byte   0
; ASM32-NEXT:          .byte   0
; ASM32-NEXT:          .byte   1
; ASM32-NEXT:          .byte   0
; ASM32-NEXT:          .byte   0
; ASM32-NEXT:          .byte   1
; ASM32-NEXT:          .byte   "debug"
; ASM32-NEXT:          .byte   0
; ASM32-NEXT:          .byte   0
; ASM32-NEXT:          .byte   "1.c"
; ASM32-NEXT:          .byte   0
; ASM32-NEXT:          .byte   1
; ASM32-NEXT:          .byte   0
; ASM32-NEXT:          .byte   0
; ASM32-NEXT:          .byte   0
; ASM32-NEXT:  L..prologue_end0:
; ASM32-NEXT:          .byte   0                               # Set address to L..tmp0
; ASM32-NEXT:          .byte   5
; ASM32-NEXT:          .byte   2
; ASM32-NEXT:          .vbyte  4, L..tmp0
; ASM32-NEXT:          .byte   19                              # Start sequence
; ASM32-NEXT:          .byte   5
; ASM32-NEXT:          .byte   3
; ASM32-NEXT:          .byte   10
; ASM32-NEXT:          .byte   0                               # Set address to L..tmp2
; ASM32-NEXT:          .byte   5
; ASM32-NEXT:          .byte   2
; ASM32-NEXT:          .vbyte  4, L..tmp2
; ASM32-NEXT:          .byte   3                               # Advance line 1
; ASM32-NEXT:          .byte   1
; ASM32-NEXT:          .byte   1
; ASM32-NEXT:          .byte   0                               # Set address to L..func_end0
; ASM32-NEXT:          .byte   5
; ASM32-NEXT:          .byte   2
; ASM32-NEXT:          .vbyte  4, L..func_end0
; ASM32-NEXT:          .byte   0                               # End sequence
; ASM32-NEXT:          .byte   1
; ASM32-NEXT:          .byte   1
; ASM32-NEXT:  L..debug_line_end0:

; ASM64:               .csect .text[PR],5
; ASM64-NEXT:          .file   "1.c"
; ASM64-NEXT:          .globl  main[DS]                        # -- Begin function main
; ASM64-NEXT:          .globl  .main
; ASM64-NEXT:          .align  2
; ASM64-NEXT:          .csect main[DS],3
; ASM64-NEXT:          .vbyte  8, .main                        # @main
; ASM64-NEXT:          .vbyte  8, TOC[TC0]
; ASM64-NEXT:          .vbyte  8, 0
; ASM64-NEXT:          .csect .text[PR],5
; ASM64-NEXT:  .main:
; ASM64-NEXT:  L..func_begin0:
; ASM64-NEXT:  # %bb.0:                                # %entry
; ASM64-NEXT:  L..tmp0:
; ASM64-NEXT:          li 4, 0
; ASM64-NEXT:  L..tmp1:
; ASM64-NEXT:  L..tmp2:
; ASM64-NEXT:          li 3, 0
; ASM64-NEXT:          stw 4, -4(1)
; ASM64-NEXT:          blr
; ASM64-NEXT:  L..tmp3:
; ASM64-NEXT:  L..main0:
; ASM64-NEXT:          .vbyte  4, 0x00000000                   # Traceback table begin
; ASM64-NEXT:          .byte   0x00                            # Version = 0
; ASM64-NEXT:          .byte   0x09                            # Language = CPlusPlus
; ASM64-NEXT:          .byte   0x20                            # -IsGlobaLinkage, -IsOutOfLineEpilogOrPrologue
; ASM64-NEXT:                                          # +HasTraceBackTableOffset, -IsInternalProcedure
; ASM64-NEXT:                                          # -HasControlledStorage, -IsTOCless
; ASM64-NEXT:                                          # -IsFloatingPointPresent
; ASM64-NEXT:                                          # -IsFloatingPointOperationLogOrAbortEnabled
; ASM64-NEXT:          .byte   0x40                            # -IsInterruptHandler, +IsFunctionNamePresent, -IsAllocaUsed
; ASM64-NEXT:                                          # OnConditionDirective = 0, -IsCRSaved, -IsLRSaved
; ASM64-NEXT:          .byte   0x80                            # +IsBackChainStored, -IsFixup, NumOfFPRsSaved = 0
; ASM64-NEXT:          .byte   0x00                            # -HasExtensionTable, -HasVectorInfo, NumOfGPRsSaved = 0
; ASM64-NEXT:          .byte   0x00                            # NumberOfFixedParms = 0
; ASM64-NEXT:          .byte   0x01                            # NumberOfFPParms = 0, +HasParmsOnStack
; ASM64-NEXT:          .vbyte  4, L..main0-.main               # Function size
; ASM64-NEXT:          .vbyte  2, 0x0004                       # Function name len = 4
; ASM64-NEXT:          .byte   "main"                          # Function Name
; ASM64-NEXT:  L..func_end0:
; ASM64-NEXT:                                          # -- End function
; ASM64-NEXT:  L..sec_end0:
; ASM64:               .dwsect 0x60000
; ASM64-NEXT:  L...dwabrev:
; ASM64-NEXT:          .byte   1                               # Abbreviation Code
; ASM64-NEXT:          .byte   17                              # DW_TAG_compile_unit
; ASM64-NEXT:          .byte   1                               # DW_CHILDREN_yes
; ASM64-NEXT:          .byte   37                              # DW_AT_producer
; ASM64-NEXT:          .byte   14                              # DW_FORM_strp
; ASM64-NEXT:          .byte   19                              # DW_AT_language
; ASM64-NEXT:          .byte   5                               # DW_FORM_data2
; ASM64-NEXT:          .byte   3                               # DW_AT_name
; ASM64-NEXT:          .byte   14                              # DW_FORM_strp
; ASM64-NEXT:          .byte   16                              # DW_AT_stmt_list
; ASM64-NEXT:          .byte   23                              # DW_FORM_sec_offset
; ASM64-NEXT:          .byte   27                              # DW_AT_comp_dir
; ASM64-NEXT:          .byte   14                              # DW_FORM_strp
; ASM64-NEXT:          .byte   17                              # DW_AT_low_pc
; ASM64-NEXT:          .byte   1                               # DW_FORM_addr
; ASM64-NEXT:          .byte   18                              # DW_AT_high_pc
; ASM64-NEXT:          .byte   6                               # DW_FORM_data4
; ASM64-NEXT:          .byte   0                               # EOM(1)
; ASM64-NEXT:          .byte   0                               # EOM(2)
; ASM64-NEXT:          .byte   2                               # Abbreviation Code
; ASM64-NEXT:          .byte   46                              # DW_TAG_subprogram
; ASM64-NEXT:          .byte   0                               # DW_CHILDREN_no
; ASM64-NEXT:          .byte   17                              # DW_AT_low_pc
; ASM64-NEXT:          .byte   1                               # DW_FORM_addr
; ASM64-NEXT:          .byte   18                              # DW_AT_high_pc
; ASM64-NEXT:          .byte   6                               # DW_FORM_data4
; ASM64-NEXT:          .byte   64                              # DW_AT_frame_base
; ASM64-NEXT:          .byte   24                              # DW_FORM_exprloc
; ASM64-NEXT:          .byte   3                               # DW_AT_name
; ASM64-NEXT:          .byte   14                              # DW_FORM_strp
; ASM64-NEXT:          .byte   58                              # DW_AT_decl_file
; ASM64-NEXT:          .byte   11                              # DW_FORM_data1
; ASM64-NEXT:          .byte   59                              # DW_AT_decl_line
; ASM64-NEXT:          .byte   11                              # DW_FORM_data1
; ASM64-NEXT:          .byte   39                              # DW_AT_prototyped
; ASM64-NEXT:          .byte   25                              # DW_FORM_flag_present
; ASM64-NEXT:          .byte   73                              # DW_AT_type
; ASM64-NEXT:          .byte   19                              # DW_FORM_ref4
; ASM64-NEXT:          .byte   63                              # DW_AT_external
; ASM64-NEXT:          .byte   25                              # DW_FORM_flag_present
; ASM64-NEXT:          .byte   0                               # EOM(1)
; ASM64-NEXT:          .byte   0                               # EOM(2)
; ASM64-NEXT:          .byte   3                               # Abbreviation Code
; ASM64-NEXT:          .byte   36                              # DW_TAG_base_type
; ASM64-NEXT:          .byte   0                               # DW_CHILDREN_no
; ASM64-NEXT:          .byte   3                               # DW_AT_name
; ASM64-NEXT:          .byte   14                              # DW_FORM_strp
; ASM64-NEXT:          .byte   62                              # DW_AT_encoding
; ASM64-NEXT:          .byte   11                              # DW_FORM_data1
; ASM64-NEXT:          .byte   11                              # DW_AT_byte_size
; ASM64-NEXT:          .byte   11                              # DW_FORM_data1
; ASM64-NEXT:          .byte   0                               # EOM(1)
; ASM64-NEXT:          .byte   0                               # EOM(2)
; ASM64-NEXT:          .byte   0                               # EOM(3)
; ASM64:               .dwsect 0x10000
; ASM64-NEXT:  L...dwinfo:
; ASM64-NEXT:  L..cu_begin0:
; ASM64-NEXT:          .vbyte  2, 4                            # DWARF version number
; ASM64-NEXT:          .vbyte  8, L...dwabrev                  # Offset Into Abbrev. Section
; ASM64-NEXT:          .byte   8                               # Address Size (in bytes)
; ASM64-NEXT:          .byte   1                               # Abbrev [1] 0x17:0x58 DW_TAG_compile_unit
; ASM64-NEXT:          .vbyte  8, L..info_string0              # DW_AT_producer
; ASM64-NEXT:          .vbyte  2, 12                           # DW_AT_language
; ASM64-NEXT:          .vbyte  8, L..info_string1              # DW_AT_name
; ASM64-NEXT:          .vbyte  8, L..line_table_start0         # DW_AT_stmt_list
; ASM64-NEXT:          .vbyte  8, L..info_string2              # DW_AT_comp_dir
; ASM64-NEXT:          .vbyte  8, L..func_begin0               # DW_AT_low_pc
; ASM64-NEXT:          .vbyte  4, L..func_end0-L..func_begin0  # DW_AT_high_pc
; ASM64-NEXT:          .byte   2                               # Abbrev [2] 0x46:0x1d DW_TAG_subprogram
; ASM64-NEXT:          .vbyte  8, L..func_begin0               # DW_AT_low_pc
; ASM64-NEXT:          .vbyte  4, L..func_end0-L..func_begin0  # DW_AT_high_pc
; ASM64-NEXT:          .byte   1                               # DW_AT_frame_base
; ASM64-NEXT:          .byte   81
; ASM64-NEXT:          .vbyte  8, L..info_string3              # DW_AT_name
; ASM64-NEXT:          .byte   1                               # DW_AT_decl_file
; ASM64-NEXT:          .byte   1                               # DW_AT_decl_line
; ASM64-NEXT:                                          # DW_AT_prototyped
; ASM64-NEXT:          .vbyte  4, 99                           # DW_AT_type
; ASM64-NEXT:                                          # DW_AT_external
; ASM64-NEXT:          .byte   3                               # Abbrev [3] 0x63:0xb DW_TAG_base_type
; ASM64-NEXT:          .vbyte  8, L..info_string4              # DW_AT_name
; ASM64-NEXT:          .byte   5                               # DW_AT_encoding
; ASM64-NEXT:          .byte   4                               # DW_AT_byte_size
; ASM64-NEXT:          .byte   0                               # End Of Children Mark
; ASM64-NEXT:  L..debug_info_end0:
; ASM64:               .dwsect 0x70000
; ASM64-NEXT:  L...dwstr:
; ASM64-NEXT:  L..info_string0:
; ASM64-NEXT:          .string "clang version 12.0.0"          # string offset=0
; ASM64-NEXT:  L..info_string1:
; ASM64-NEXT:          .string "1.c"                           # string offset=21
; ASM64-NEXT:  L..info_string2:
; ASM64-NEXT:          .string "debug"                         # string offset=25
; ASM64-NEXT:  L..info_string3:
; ASM64-NEXT:          .string "main"                          # string offset=31
; ASM64-NEXT:  L..info_string4:
; ASM64-NEXT:          .string "int"                           # string offset=36
; ASM64-NEXT:         .toc
; ASM64:               .dwsect 0x20000
; ASM64-NEXT:  L...dwline:
; ASM64-NEXT:  L..debug_line_0:
; ASM64-NEXT:  .set L..line_table_start0, L..debug_line_0-12
; ASM64-NEXT:          .vbyte  2, 4
; ASM64-NEXT:          .vbyte  8, L..prologue_end0-L..prologue_start0
; ASM64-NEXT:  L..prologue_start0:
; ASM64-NEXT:          .byte   4
; ASM64-NEXT:          .byte   1
; ASM64-NEXT:          .byte   1
; ASM64-NEXT:          .byte   -5
; ASM64-NEXT:          .byte   14
; ASM64-NEXT:          .byte   13
; ASM64-NEXT:          .byte   0
; ASM64-NEXT:          .byte   1
; ASM64-NEXT:          .byte   1
; ASM64-NEXT:          .byte   1
; ASM64-NEXT:          .byte   1
; ASM64-NEXT:          .byte   0
; ASM64-NEXT:          .byte   0
; ASM64-NEXT:          .byte   0
; ASM64-NEXT:          .byte   1
; ASM64-NEXT:          .byte   0
; ASM64-NEXT:          .byte   0
; ASM64-NEXT:          .byte   1
; ASM64-NEXT:          .byte   "debug"
; ASM64-NEXT:          .byte   0
; ASM64-NEXT:          .byte   0
; ASM64-NEXT:          .byte   "1.c"
; ASM64-NEXT:          .byte   0
; ASM64-NEXT:          .byte   1
; ASM64-NEXT:          .byte   0
; ASM64-NEXT:          .byte   0
; ASM64-NEXT:          .byte   0
; ASM64-NEXT:  L..prologue_end0:
; ASM64-NEXT:          .byte   0                               # Set address to L..tmp0
; ASM64-NEXT:          .byte   9
; ASM64-NEXT:          .byte   2
; ASM64-NEXT:          .vbyte  8, L..tmp0
; ASM64-NEXT:          .byte   19                              # Start sequence
; ASM64-NEXT:          .byte   5
; ASM64-NEXT:          .byte   3
; ASM64-NEXT:          .byte   10
; ASM64-NEXT:          .byte   0                               # Set address to L..tmp2
; ASM64-NEXT:          .byte   9
; ASM64-NEXT:          .byte   2
; ASM64-NEXT:          .vbyte  8, L..tmp2
; ASM64-NEXT:          .byte   3                               # Advance line 1
; ASM64-NEXT:          .byte   1
; ASM64-NEXT:          .byte   1
; ASM64-NEXT:          .byte   0                               # Set address to L..func_end0
; ASM64-NEXT:          .byte   9
; ASM64-NEXT:          .byte   2
; ASM64-NEXT:          .vbyte  8, L..func_end0
; ASM64-NEXT:          .byte   0                               # End sequence
; ASM64-NEXT:          .byte   1
; ASM64-NEXT:          .byte   1
; ASM64-NEXT:  L..debug_line_end0:

; DWARF32:       :        file format aixcoff-rs6000
; DWARF32:       .debug_abbrev contents:
; DWARF32-NEXT:  Abbrev table for offset: 0x00000000
; DWARF32-NEXT:  [1] DW_TAG_compile_unit DW_CHILDREN_yes
; DWARF32-NEXT:          DW_AT_producer  DW_FORM_string
; DWARF32-NEXT:          DW_AT_language  DW_FORM_data2
; DWARF32-NEXT:          DW_AT_name      DW_FORM_string
; DWARF32-NEXT:          DW_AT_stmt_list DW_FORM_sec_offset
; DWARF32-NEXT:          DW_AT_comp_dir  DW_FORM_string
; DWARF32-NEXT:          DW_AT_low_pc    DW_FORM_addr
; DWARF32-NEXT:          DW_AT_high_pc   DW_FORM_data4
; DWARF32:       [2] DW_TAG_subprogram   DW_CHILDREN_no
; DWARF32-NEXT:          DW_AT_low_pc    DW_FORM_addr
; DWARF32-NEXT:          DW_AT_high_pc   DW_FORM_data4
; DWARF32-NEXT:          DW_AT_frame_base        DW_FORM_exprloc
; DWARF32-NEXT:          DW_AT_name      DW_FORM_string
; DWARF32-NEXT:          DW_AT_decl_file DW_FORM_data1
; DWARF32-NEXT:          DW_AT_decl_line DW_FORM_data1
; DWARF32-NEXT:          DW_AT_prototyped        DW_FORM_flag_present
; DWARF32-NEXT:          DW_AT_type      DW_FORM_ref4
; DWARF32-NEXT:          DW_AT_external  DW_FORM_flag_present
; DWARF32:       [3] DW_TAG_base_type    DW_CHILDREN_no
; DWARF32-NEXT:          DW_AT_name      DW_FORM_string
; DWARF32-NEXT:          DW_AT_encoding  DW_FORM_data1
; DWARF32-NEXT:          DW_AT_byte_size DW_FORM_data1
; DWARF32:       .debug_info contents:
; DWARF32-NEXT:  0x00000000: Compile Unit: length = 0x00000053, format = DWARF32, version = 0x0004, abbr_offset = 0x0000, addr_size = 0x04 (next unit at 0x00000057)
; DWARF32:       0x0000000b: DW_TAG_compile_unit
; DWARF32-NEXT:                DW_AT_producer    ("clang version 12.0.0")
; DWARF32-NEXT:                DW_AT_language    (DW_LANG_C99)
; DWARF32-NEXT:                DW_AT_name        ("1.c")
; DWARF32-NEXT:                DW_AT_stmt_list   (0x00000000)
; DWARF32-NEXT:                DW_AT_comp_dir    ("debug")
; DWARF32-NEXT:                DW_AT_low_pc      (0x00000000)
; DWARF32-NEXT:                DW_AT_high_pc     (0x00000026)
; DWARF32:       0x00000039:   DW_TAG_subprogram
; DWARF32-NEXT:                  DW_AT_low_pc    (0x00000000)
; DWARF32-NEXT:                  DW_AT_high_pc   (0x00000026)
; DWARF32-NEXT:                  DW_AT_frame_base        (DW_OP_reg1 R1)
; DWARF32-NEXT:                  DW_AT_name      ("main")
; DWARF32-NEXT:                  DW_AT_decl_file ("debug{{[/\\]}}1.c")
; DWARF32-NEXT:                  DW_AT_decl_line (1)
; DWARF32-NEXT:                  DW_AT_prototyped        (true)
; DWARF32-NEXT:                  DW_AT_type      (0x0000004f "int")
; DWARF32-NEXT:                  DW_AT_external  (true)
; DWARF32:       0x0000004f:   DW_TAG_base_type
; DWARF32-NEXT:                  DW_AT_name      ("int")
; DWARF32-NEXT:                  DW_AT_encoding  (DW_ATE_signed)
; DWARF32-NEXT:                  DW_AT_byte_size (0x04)
; DWARF32:       0x00000056:   NULL
; DWARF32:       .debug_line contents:
; DWARF32-NEXT:  debug_line[0x00000000]
; DWARF32-NEXT:  Line table prologue:
; DWARF32-NEXT:      total_length: 0x00000032
; DWARF32-NEXT:            format: DWARF32
; DWARF32-NEXT:           version: 4
; DWARF32-NEXT:   prologue_length: 0x0000001b
; DWARF32-NEXT:   min_inst_length: 4
; DWARF32-NEXT:  max_ops_per_inst: 1
; DWARF32-NEXT:   default_is_stmt: 1
; DWARF32-NEXT:         line_base: -5
; DWARF32-NEXT:        line_range: 14
; DWARF32-NEXT:       opcode_base: 13
; DWARF32-NEXT:  standard_opcode_lengths[DW_LNS_copy] = 0
; DWARF32-NEXT:  standard_opcode_lengths[DW_LNS_advance_pc] = 1
; DWARF32-NEXT:  standard_opcode_lengths[DW_LNS_advance_line] = 1
; DWARF32-NEXT:  standard_opcode_lengths[DW_LNS_set_file] = 1
; DWARF32-NEXT:  standard_opcode_lengths[DW_LNS_set_column] = 1
; DWARF32-NEXT:  standard_opcode_lengths[DW_LNS_negate_stmt] = 0
; DWARF32-NEXT:  standard_opcode_lengths[DW_LNS_set_basic_block] = 0
; DWARF32-NEXT:  standard_opcode_lengths[DW_LNS_const_add_pc] = 0
; DWARF32-NEXT:  standard_opcode_lengths[DW_LNS_fixed_advance_pc] = 1
; DWARF32-NEXT:  standard_opcode_lengths[DW_LNS_set_prologue_end] = 0
; DWARF32-NEXT:  standard_opcode_lengths[DW_LNS_set_epilogue_begin] = 0
; DWARF32-NEXT:  standard_opcode_lengths[DW_LNS_set_isa] = 1
; DWARF32-NEXT:  file_names[  1]:
; DWARF32-NEXT:             name: "1.c"
; DWARF32-NEXT:        dir_index: 0
; DWARF32-NEXT:         mod_time: 0x00000000
; DWARF32-NEXT:           length: 0x00000000
; DWARF32:       Address            Line   Column File   ISA Discriminator Flags
; DWARF32-NEXT:  ------------------ ------ ------ ------ --- ------------- -------------
; DWARF32-NEXT:  0x0000000000000000      2      0      1   0             0  is_stmt
; DWARF32-NEXT:  0x0000000000000004      3      3      1   0             0  is_stmt prologue_end
; DWARF32-NEXT:  0x0000000000000024      3      3      1   0             0  is_stmt end_sequence