# RUN: llc -filetype=obj -O0 %s -o - | llvm-readobj -codeview | FileCheck %s
#
# (DW_OP_plus_uconst 12)
# CHECK: LocalSym {
# CHECK-NEXT:   Kind: S_LOCAL (0x113E)
# CHECK-NEXT:   Type: string* (0x
# CHECK-NEXT:   Flags [ (0x0)
# CHECK-NEXT:   ]
# CHECK-NEXT:   VarName: Str
# CHECK-NEXT: }
# CHECK-NEXT: DefRangeRegisterRelSym {
# CHECK-NEXT:   Kind: S_DEFRANGE_REGISTER_REL (0x1145)
# CHECK-NEXT:   BaseRegister:
# CHECK-NEXT:   HasSpilledUDTMember: No
# CHECK-NEXT:   OffsetInParent: 0
# CHECK-NEXT:   BasePointerOffset: 12
# CHECK-NEXT:   LocalVariableAddrRange {
# CHECK-NEXT:     OffsetStart:
# CHECK-NEXT:     ISectStart:
# CHECK-NEXT:     Range:
# CHECK-NEXT:   }
# CHECK-NEXT: }
# (DW_OP_plus_uconst, 8, DW_OP_deref)
# CHECK: LocalSym {
# CHECK-NEXT:   Kind: S_LOCAL (0x113E)
# CHECK-NEXT:   Type: string& (0x
# CHECK-NEXT:   Flags [ (0x0)
# CHECK-NEXT:   ]
# CHECK-NEXT:   VarName: Result
# CHECK-NEXT: }
# CHECK-NEXT: DefRangeRegisterRelSym {
# CHECK-NEXT:   Kind: S_DEFRANGE_REGISTER_REL (0x1145)
# CHECK-NEXT:   BaseRegister:
# CHECK-NEXT:   HasSpilledUDTMember: No
# CHECK-NEXT:   OffsetInParent: 0
# CHECK-NEXT:   BasePointerOffset: 8
# CHECK-NEXT:   LocalVariableAddrRange {
# CHECK-NEXT:     OffsetStart:
# CHECK-NEXT:     ISectStart:
# CHECK-NEXT:     Range:
# CHECK-NEXT:   }
# CHECK-NEXT: }
# (DW_OP_constu, 4, DW_OP_minus)
# CHECK: LocalSym {
# CHECK-NEXT:   Kind: S_LOCAL (0x113E)
# CHECK-NEXT:   Type: long (0x12)
# CHECK-NEXT:   Flags [ (0x0)
# CHECK-NEXT:   ]
# CHECK-NEXT:   VarName: Bytes
# CHECK-NEXT: }
# CHECK-NEXT: DefRangeRegisterRelSym {
# CHECK-NEXT:   Kind: S_DEFRANGE_REGISTER_REL (0x1145)
# CHECK-NEXT:   BaseRegister:
# CHECK-NEXT:   HasSpilledUDTMember: No
# CHECK-NEXT:   OffsetInParent: 0
# CHECK-NEXT:   BasePointerOffset: -4
# CHECK-NEXT:   LocalVariableAddrRange {
# CHECK-NEXT:     OffsetStart:
# CHECK-NEXT:     ISectStart:
# CHECK-NEXT:     Range:
# CHECK-NEXT:   }
# CHECK-NEXT: }
--- |
  ; ModuleID = '<stdin>'
  source_filename = "<stdin>"
  target datalayout = "e-m:x-p:32:32-i64:64-f80:32-n8:16:32-a:0:32-S32"
  target triple = "i386-pc-windows-msvc19.0.24215"

  %struct.string = type { i32, i32, i8* }

  define void @fun(%struct.string* noalias sret %agg.result, %struct.string* noalias %str) !dbg !12 {
  entry:
    call void @llvm.dbg.value(metadata %struct.string* %agg.result, metadata !23, metadata !24), !dbg !25
    call void @llvm.dbg.value(metadata %struct.string* %str, metadata !26, metadata !28), !dbg !25
    %call = call dereferenceable(12) %struct.string* @getString(), !dbg !29
    %0 = bitcast %struct.string* %agg.result to i8*, !dbg !29
    %1 = bitcast %struct.string* %call to i8*, !dbg !29
    call void @llvm.memcpy.p0i8.p0i8.i32(i8* %0, i8* %1, i32 12, i32 4, i1 false), !dbg !29
    ret void, !dbg !30
  }

  define i32 @len(%struct.string* %s, i32 %acc) !dbg !31 {
  entry:
    %0 = bitcast %struct.string* %s to i32*
    %bytes = load i32, i32* %0, !dbg !34
    call void @llvm.dbg.declare(metadata i32 %bytes, metadata !35, metadata !28), !dbg !34
    %1 = add i32 %bytes, %acc, !dbg !36
    ret i32 %1, !dbg !36
  }

  ; Function Attrs: nounwind readnone speculatable
  declare void @llvm.dbg.declare(metadata, metadata, metadata) #0

  ; Function Attrs: nounwind readnone speculatable
  declare void @llvm.dbg.value(metadata, metadata, metadata) #0

  declare dereferenceable(12) %struct.string* @getString()

  ; Function Attrs: argmemonly nounwind
  declare void @llvm.memcpy.p0i8.p0i8.i32(i8* nocapture writeonly, i8* nocapture readonly, i32, i32, i1) #1

  ; Function Attrs: nounwind
  declare void @llvm.stackprotector(i8*, i8**) #2

  attributes #0 = { nounwind readnone speculatable }
  attributes #1 = { argmemonly nounwind }
  attributes #2 = { nounwind }

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

  !0 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, file: !1, producer: "clang version 6.0.0 ", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !2)
  !1 = !DIFile(filename: "diexpr.ll", directory: "C:\5Csrc", checksumkind: CSK_MD5, checksum: "c547c362c610fa79e7abaddc76e1efe7")
  !2 = !{}
  !3 = !{!"/DEFAULTLIB:libcmt.lib"}
  !4 = !{!"/DEFAULTLIB:oldnames.lib"}
  !5 = !{i32 1, !"NumRegisterParameters", i32 0}
  !6 = !{i32 2, !"CodeView", i32 1}
  !7 = !{i32 2, !"Debug Info Version", i32 3}
  !8 = !{i32 1, !"wchar_size", i32 2}
  !9 = !{!"clang version 6.0.0 "}
  !10 = !DIExpression(DW_OP_plus_uconst, 12)
  !11 = !DIExpression(DW_OP_plus_uconst, 8, DW_OP_deref)
  !12 = distinct !DISubprogram(name: "fun", linkageName: "fun", scope: !1, file: !1, line: 9, type: !13, isLocal: false, isDefinition: true, scopeLine: 9, flags: DIFlagPrototyped, isOptimized: false, unit: !0, variables: !2)
  !13 = !DISubroutineType(types: !14)
  !14 = !{!15}
  !15 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "string", file: !1, line: 1, size: 96, elements: !16, identifier: ".?AUstring@@")
  !16 = !{!17, !19, !20}
  !17 = !DIDerivedType(tag: DW_TAG_member, name: "length", scope: !15, file: !1, line: 2, baseType: !18, size: 32)
  !18 = !DIBasicType(name: "long int", size: 32, encoding: DW_ATE_signed)
  !19 = !DIDerivedType(tag: DW_TAG_member, name: "size", scope: !15, file: !1, line: 3, baseType: !18, size: 32, offset: 32)
  !20 = !DIDerivedType(tag: DW_TAG_member, name: "data", scope: !15, file: !1, line: 4, baseType: !21, size: 32, offset: 64)
  !21 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !22, size: 32)
  !22 = !DIBasicType(name: "char", size: 8, encoding: DW_ATE_signed_char)
  !23 = !DILocalVariable(name: "Result", scope: !12, file: !1, line: 10, type: !15)
  !24 = !DIExpression(DW_OP_deref)
  !25 = !DILocation(line: 10, scope: !12)
  !26 = !DILocalVariable(name: "Str", scope: !12, file: !1, line: 10, type: !27)
  !27 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !15, size: 32)
  !28 = !DIExpression(DW_OP_constu, 4, DW_OP_minus)
  !29 = !DILocation(line: 11, scope: !12)
  !30 = !DILocation(line: 12, scope: !12)
  !31 = distinct !DISubprogram(name: "len", linkageName: "len", scope: !1, file: !1, line: 14, type: !32, isLocal: false, isDefinition: true, scopeLine: 14, flags: DIFlagPrototyped, isOptimized: false, unit: !0, variables: !2)
  !32 = !DISubroutineType(types: !33)
  !33 = !{!18}
  !34 = !DILocation(line: 15, scope: !31)
  !35 = !DILocalVariable(name: "Bytes", scope: !31, file: !1, line: 15, type: !18)
  !36 = !DILocation(line: 16, scope: !31)

...
---
name:            fun
alignment:       4
exposesReturnsTwice: false
legalized:       false
regBankSelected: false
selected:        false
tracksRegLiveness: true
registers:
liveins:
frameInfo:
  isFrameAddressTaken: false
  isReturnAddressTaken: false
  hasStackMap:     false
  hasPatchPoint:   false
  stackSize:       4
  offsetAdjustment: 0
  maxAlignment:    4
  adjustsStack:    true
  hasCalls:        true
  stackProtector:  ''
  maxCallFrameSize: 0
  hasOpaqueSPAdjustment: false
  hasVAStart:      false
  hasMustTailInVarArgFunc: false
  savePoint:       ''
  restorePoint:    ''
fixedStack:
  - { id: 0, type: spill-slot, offset: -8, size: 4, alignment: 4, stack-id: 0,
      callee-saved-register: '%esi' }
  - { id: 1, type: default, offset: 4, size: 4, alignment: 4, stack-id: 0,
      isImmutable: true, isAliased: false, callee-saved-register: '' }
  - { id: 2, type: default, offset: 0, size: 4, alignment: 4, stack-id: 0,
      isImmutable: true, isAliased: false, callee-saved-register: '' }
stack:
constants:
body:             |
  bb.0.entry:
    liveins: %esi

    frame-setup PUSH32r killed %esi, implicit-def %esp, implicit %esp
    CFI_INSTRUCTION def_cfa_offset 8
    CFI_INSTRUCTION offset %esi, -8
    %esi = MOV32rm %esp, 1, _, 8, _ :: (load 4 from %fixed-stack.2)
    DBG_VALUE %esp, 0, !26, !10, debug-location !25
    DBG_VALUE %esp, 0, !23, !DIExpression(DW_OP_plus_uconst, 8, DW_OP_deref), debug-location !25
    CALLpcrel32 @getString, csr_32, implicit %esp, implicit-def %esp, implicit-def %eax, debug-location !29
    %ecx = MOV32rm %eax, 1, _, 0, _, debug-location !29 :: (dereferenceable load 4 from %ir.1)
    %edx = MOV32rm %eax, 1, _, 4, _, debug-location !29 :: (dereferenceable load 4 from %ir.1 + 4)
    MOV32mr %esi, 1, _, 0, _, killed %ecx, debug-location !29 :: (store 4 into %ir.0)
    MOV32mr %esi, 1, _, 4, _, killed %edx, debug-location !29 :: (store 4 into %ir.0 + 4)
    %eax = MOV32rm killed %eax, 1, _, 8, _, debug-location !29 :: (dereferenceable load 4 from %ir.1 + 8)
    MOV32mr %esi, 1, _, 8, _, killed %eax, debug-location !29 :: (store 4 into %ir.0 + 8)
    %eax = COPY killed %esi, debug-location !30
    %esi = POP32r implicit-def %esp, implicit %esp, debug-location !30
    RET 0, %eax, debug-location !30

...
---
name:            len
alignment:       4
exposesReturnsTwice: false
legalized:       false
regBankSelected: false
selected:        false
tracksRegLiveness: true
registers:
liveins:
frameInfo:
  isFrameAddressTaken: false
  isReturnAddressTaken: false
  hasStackMap:     false
  hasPatchPoint:   false
  stackSize:       0
  offsetAdjustment: 0
  maxAlignment:    4
  adjustsStack:    false
  hasCalls:        false
  stackProtector:  ''
  maxCallFrameSize: 0
  hasOpaqueSPAdjustment: false
  hasVAStart:      false
  hasMustTailInVarArgFunc: false
  savePoint:       ''
  restorePoint:    ''
fixedStack:
  - { id: 0, type: default, offset: 4, size: 4, alignment: 4, stack-id: 0,
      isImmutable: true, isAliased: false, callee-saved-register: '' }
  - { id: 1, type: default, offset: 0, size: 4, alignment: 4, stack-id: 0,
      isImmutable: true, isAliased: false, callee-saved-register: '' }
stack:
constants:
body:             |
  bb.0.entry:
    %eax = MOV32rm %esp, 1, _, 4, _ :: (load 4 from %fixed-stack.1)
    %eax = MOV32rm killed %eax, 1, _, 0, _, debug-location !34 :: (load 4 from %ir.0)
    DBG_VALUE debug-use %eax, 0, !35, !DIExpression(DW_OP_constu, 4, DW_OP_minus), debug-location !34
    %eax = ADD32rm killed %eax, %esp, 1, _, 8, _, implicit-def dead %eflags, debug-location !36 :: (load 4 from %fixed-stack.0)
    RET 0, %eax, debug-location !36

...
