# RUN: llc -start-after=prologepilog -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, retainedNodes: !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, retainedNodes: !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 debug-use $esp, 0, !26, !10, debug-location !25
    DBG_VALUE debug-use $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

...
