; RUN: llc < %s -filetype=obj | llvm-readobj - --codeview | FileCheck %s
;
; -- lexicablock.cxx begin ----------------------------------------------------
; int main(int argc, char *argv[]) {
;   int localA = 1;
;
;   { // S_BLOCK32 not emitted because it has multiple address ranges.
;     int localB = 2;
;
;     if (__builtin_expect(argc != 1, 0)) { // S_BLOCK32 containing 'localC'
;       int localC = 3;
;     }
;   }
;
;   { // S_BLOCK32 containing 'localD'
;     int localD = 4;
;     localA = localD;
;   }
;
;   { // S_BLOCK32 not emitted
;     { // S_BLOCK32 containing 'localE'
;       int localE = 5;
;       localA = localE;
;     }
;   }
;
;   { // S_BLOCK32 containing 'localF'
;     int localF = 6;
;     localA = localF;
;
;     { // S_BLOCK32 containing 'localG'
;       int localG = 7;
;       localA = localG;
;     }
;   }
;
;   if (localA == 7) { // S_BLOCK32 containing 'localH'
;     int localH = 8;
;     localA = localH;
;   }
;
;   return localA != 8 ? -1 : 0;
; }
; -- lexicalblock.cxx end -----------------------------------------------------
;
; To regenerate the IR below:
;   $ clang -cc1 -triple i686-pc-windows -emit-llvm -o lexicalblock.tmp -debug-info-kind=limited -gcodeview lexicablock.cxx -O1 -disable-llvm-passes
;   $ opt -lower-expect -S -o lexicalblock.ll < lexicalblock.tmp
;
; The commands above split the lexical block containing localB and localC into
; two parts, thus creating multiple ranges for the containing lexical block
; without optimizing out the whole thing.
;
; CHECK: {{.*}}Proc{{.*}}Sym {
; CHECK:   DisplayName: main
; CHECK: }
; CHECK: LocalSym {
; CHECK:   VarName: argc
; CHECK: }
; CHECK: LocalSym {
; CHECK:   VarName: argv
; CHECK: }
; CHECK: LocalSym {
; CHECK:   VarName: localA
; CHECK: }
; CHECK: LocalSym {
; CHECK:   VarName: localB
; CHECK: }
; CHECK: BlockSym {
; CHECK:   Kind: S_BLOCK32 {{.*}}
; CHECK:   BlockName: 
; CHECK: }
; CHECK: ScopeEndSym {
; CHECK:   Kind: S_END {{.*}}
; CHECK: }
; CHECK: BlockSym {
; CHECK:   Kind: S_BLOCK32 {{.*}}
; CHECK:   BlockName: 
; CHECK: }
; CHECK: ScopeEndSym {
; CHECK:   Kind: S_END {{.*}}
; CHECK: }
; CHECK: BlockSym {
; CHECK:   Kind: S_BLOCK32 {{.*}}
; CHECK:   BlockName: 
; CHECK: }
; CHECK: ScopeEndSym {
; CHECK: }
; CHECK: BlockSym {
; CHECK:   Kind: S_BLOCK32 {{.*}}
; CHECK:   BlockName: 
; CHECK: }
; CHECK: ScopeEndSym {
; CHECK:   Kind: S_END {{.*}}
; CHECK: }
; CHECK: ProcEnd {
; CHECK: }
;
; ModuleID = 'lexicalblock.cxx'
source_filename = "lexicalblock.cxx"
target datalayout = "e-m:x-p:32:32-i64:64-f80:32-n8:16:32-a:0:32-S32"
target triple = "i686-pc-windows-msvc"

; Function Attrs: norecurse nounwind
define i32 @main(i32 %argc, ptr %argv) #0 !dbg !8 {
entry:
  %retval = alloca i32, align 4
  %argv.addr = alloca ptr, align 4
  %argc.addr = alloca i32, align 4
  %localA = alloca i32, align 4
  %localB = alloca i32, align 4
  %localC = alloca i32, align 4
  %localD = alloca i32, align 4
  %localE = alloca i32, align 4
  %localF = alloca i32, align 4
  %localG = alloca i32, align 4
  %localH = alloca i32, align 4
  store i32 0, ptr %retval, align 4
  store ptr %argv, ptr %argv.addr, align 4, !tbaa !37
  call void @llvm.dbg.declare(metadata ptr %argv.addr, metadata !17, metadata !DIExpression()), !dbg !41
  store i32 %argc, ptr %argc.addr, align 4, !tbaa !42
  call void @llvm.dbg.declare(metadata ptr %argc.addr, metadata !18, metadata !DIExpression()), !dbg !41
  call void @llvm.lifetime.start.p0(i64 4, ptr %localA) #4, !dbg !44
  call void @llvm.dbg.declare(metadata ptr %localA, metadata !19, metadata !DIExpression()), !dbg !44
  store i32 1, ptr %localA, align 4, !dbg !44, !tbaa !42
  call void @llvm.lifetime.start.p0(i64 4, ptr %localB) #4, !dbg !45
  call void @llvm.dbg.declare(metadata ptr %localB, metadata !20, metadata !DIExpression()), !dbg !45
  store i32 2, ptr %localB, align 4, !dbg !45, !tbaa !42
  %0 = load i32, ptr %argc.addr, align 4, !dbg !46, !tbaa !42
  %cmp = icmp ne i32 %0, 1, !dbg !46
  %conv = zext i1 %cmp to i32, !dbg !46
  %tobool = icmp ne i32 %conv, 0, !dbg !46
  br i1 %tobool, label %if.then, label %if.end, !dbg !46, !prof !47

if.then:                                          ; preds = %entry
  call void @llvm.lifetime.start.p0(i64 4, ptr %localC) #4, !dbg !48
  call void @llvm.dbg.declare(metadata ptr %localC, metadata !22, metadata !DIExpression()), !dbg !48
  store i32 3, ptr %localC, align 4, !dbg !48, !tbaa !42
  call void @llvm.lifetime.end.p0(i64 4, ptr %localC) #4, !dbg !49
  br label %if.end, !dbg !49

if.end:                                           ; preds = %if.then, %entry
  call void @llvm.lifetime.end.p0(i64 4, ptr %localB) #4, !dbg !50
  call void @llvm.lifetime.start.p0(i64 4, ptr %localD) #4, !dbg !51
  call void @llvm.dbg.declare(metadata ptr %localD, metadata !25, metadata !DIExpression()), !dbg !51
  store i32 4, ptr %localD, align 4, !dbg !51, !tbaa !42
  %1 = load i32, ptr %localD, align 4, !dbg !52, !tbaa !42
  store i32 %1, ptr %localA, align 4, !dbg !52, !tbaa !42
  call void @llvm.lifetime.end.p0(i64 4, ptr %localD) #4, !dbg !53
  call void @llvm.lifetime.start.p0(i64 4, ptr %localE) #4, !dbg !54
  call void @llvm.dbg.declare(metadata ptr %localE, metadata !27, metadata !DIExpression()), !dbg !54
  store i32 5, ptr %localE, align 4, !dbg !54, !tbaa !42
  %2 = load i32, ptr %localE, align 4, !dbg !55, !tbaa !42
  store i32 %2, ptr %localA, align 4, !dbg !55, !tbaa !42
  call void @llvm.lifetime.end.p0(i64 4, ptr %localE) #4, !dbg !56
  call void @llvm.lifetime.start.p0(i64 4, ptr %localF) #4, !dbg !57
  call void @llvm.dbg.declare(metadata ptr %localF, metadata !30, metadata !DIExpression()), !dbg !57
  store i32 6, ptr %localF, align 4, !dbg !57, !tbaa !42
  %3 = load i32, ptr %localF, align 4, !dbg !58, !tbaa !42
  store i32 %3, ptr %localA, align 4, !dbg !58, !tbaa !42
  call void @llvm.lifetime.start.p0(i64 4, ptr %localG) #4, !dbg !59
  call void @llvm.dbg.declare(metadata ptr %localG, metadata !32, metadata !DIExpression()), !dbg !59
  store i32 7, ptr %localG, align 4, !dbg !59, !tbaa !42
  %4 = load i32, ptr %localG, align 4, !dbg !60, !tbaa !42
  store i32 %4, ptr %localA, align 4, !dbg !60, !tbaa !42
  call void @llvm.lifetime.end.p0(i64 4, ptr %localG) #4, !dbg !61
  call void @llvm.lifetime.end.p0(i64 4, ptr %localF) #4, !dbg !62
  %5 = load i32, ptr %localA, align 4, !dbg !63, !tbaa !42
  %cmp1 = icmp eq i32 %5, 7, !dbg !63
  br i1 %cmp1, label %if.then2, label %if.end3, !dbg !63

if.then2:                                         ; preds = %if.end
  call void @llvm.lifetime.start.p0(i64 4, ptr %localH) #4, !dbg !64
  call void @llvm.dbg.declare(metadata ptr %localH, metadata !34, metadata !DIExpression()), !dbg !64
  store i32 8, ptr %localH, align 4, !dbg !64, !tbaa !42
  %6 = load i32, ptr %localH, align 4, !dbg !65, !tbaa !42
  store i32 %6, ptr %localA, align 4, !dbg !65, !tbaa !42
  call void @llvm.lifetime.end.p0(i64 4, ptr %localH) #4, !dbg !66
  br label %if.end3, !dbg !66

if.end3:                                          ; preds = %if.then2, %if.end
  %7 = load i32, ptr %localA, align 4, !dbg !67, !tbaa !42
  %cmp4 = icmp ne i32 %7, 8, !dbg !67
  %8 = zext i1 %cmp4 to i64, !dbg !67
  %cond = select i1 %cmp4, i32 -1, i32 0, !dbg !67
  call void @llvm.lifetime.end.p0(i64 4, ptr %localA) #4, !dbg !68
  ret i32 %cond, !dbg !67
}

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

; Function Attrs: argmemonly nounwind
declare void @llvm.lifetime.start.p0(i64, ptr nocapture) #2

; Function Attrs: nounwind readnone
declare i32 @llvm.expect.i32(i32, i32) #3

; Function Attrs: argmemonly nounwind
declare void @llvm.lifetime.end.p0(i64, ptr nocapture) #2

attributes #0 = { norecurse nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "less-precise-fpmad"="false" "frame-pointer"="none" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "target-features"="+x87" "unsafe-fp-math"="false" "use-soft-float"="false" }
attributes #1 = { nounwind readnone speculatable }
attributes #2 = { argmemonly nounwind }
attributes #3 = { nounwind readnone }
attributes #4 = { nounwind }

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

!0 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, file: !1, producer: "clang version 7.0.0 (trunk)", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, enums: !2)
!1 = !DIFile(filename: "<stdin>", directory: "C:/path/to/directory", checksumkind: CSK_MD5, checksum: "169b810b4f895de9a9e19d8d0634af5d")
!2 = !{}
!3 = !{i32 1, !"NumRegisterParameters", i32 0}
!4 = !{i32 2, !"CodeView", i32 1}
!5 = !{i32 2, !"Debug Info Version", i32 3}
!6 = !{i32 1, !"wchar_size", i32 2}
!7 = !{!"clang version 7.0.0 (trunk)"}
!8 = distinct !DISubprogram(name: "main", scope: !9, file: !9, line: 1, type: !10, isLocal: false, isDefinition: true, scopeLine: 1, flags: DIFlagPrototyped, isOptimized: true, unit: !0, retainedNodes: !16)
!9 = !DIFile(filename: "lexicalblock.cxx", directory: "C:/path/to/directory", checksumkind: CSK_MD5, checksum: "169b810b4f895de9a9e19d8d0634af5d")
!10 = !DISubroutineType(types: !11)
!11 = !{!12, !12, !13}
!12 = !DIBasicType(name: "int", size: 32, encoding: DW_ATE_signed)
!13 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !14, size: 32)
!14 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !15, size: 32)
!15 = !DIBasicType(name: "char", size: 8, encoding: DW_ATE_signed_char)
!16 = !{!17, !18, !19, !20, !22, !25, !27, !30, !32, !34}
!17 = !DILocalVariable(name: "argv", arg: 2, scope: !8, file: !9, line: 1, type: !13)
!18 = !DILocalVariable(name: "argc", arg: 1, scope: !8, file: !9, line: 1, type: !12)
!19 = !DILocalVariable(name: "localA", scope: !8, file: !9, line: 2, type: !12)
!20 = !DILocalVariable(name: "localB", scope: !21, file: !9, line: 5, type: !12)
!21 = distinct !DILexicalBlock(scope: !8, file: !9, line: 4)
!22 = !DILocalVariable(name: "localC", scope: !23, file: !9, line: 8, type: !12)
!23 = distinct !DILexicalBlock(scope: !24, file: !9, line: 7)
!24 = distinct !DILexicalBlock(scope: !21, file: !9, line: 7)
!25 = !DILocalVariable(name: "localD", scope: !26, file: !9, line: 13, type: !12)
!26 = distinct !DILexicalBlock(scope: !8, file: !9, line: 12)
!27 = !DILocalVariable(name: "localE", scope: !28, file: !9, line: 19, type: !12)
!28 = distinct !DILexicalBlock(scope: !29, file: !9, line: 18)
!29 = distinct !DILexicalBlock(scope: !8, file: !9, line: 17)
!30 = !DILocalVariable(name: "localF", scope: !31, file: !9, line: 25, type: !12)
!31 = distinct !DILexicalBlock(scope: !8, file: !9, line: 24)
!32 = !DILocalVariable(name: "localG", scope: !33, file: !9, line: 29, type: !12)
!33 = distinct !DILexicalBlock(scope: !31, file: !9, line: 28)
!34 = !DILocalVariable(name: "localH", scope: !35, file: !9, line: 35, type: !12)
!35 = distinct !DILexicalBlock(scope: !36, file: !9, line: 34)
!36 = distinct !DILexicalBlock(scope: !8, file: !9, line: 34)
!37 = !{!38, !38, i64 0}
!38 = !{!"any pointer", !39, i64 0}
!39 = !{!"omnipotent char", !40, i64 0}
!40 = !{!"Simple C++ TBAA"}
!41 = !DILocation(line: 1, scope: !8)
!42 = !{!43, !43, i64 0}
!43 = !{!"int", !39, i64 0}
!44 = !DILocation(line: 2, scope: !8)
!45 = !DILocation(line: 5, scope: !21)
!46 = !DILocation(line: 7, scope: !21)
!47 = !{!"branch_weights", i32 1, i32 2000}
!48 = !DILocation(line: 8, scope: !23)
!49 = !DILocation(line: 9, scope: !23)
!50 = !DILocation(line: 10, scope: !21)
!51 = !DILocation(line: 13, scope: !26)
!52 = !DILocation(line: 14, scope: !26)
!53 = !DILocation(line: 15, scope: !26)
!54 = !DILocation(line: 19, scope: !28)
!55 = !DILocation(line: 20, scope: !28)
!56 = !DILocation(line: 21, scope: !28)
!57 = !DILocation(line: 25, scope: !31)
!58 = !DILocation(line: 26, scope: !31)
!59 = !DILocation(line: 29, scope: !33)
!60 = !DILocation(line: 30, scope: !33)
!61 = !DILocation(line: 31, scope: !33)
!62 = !DILocation(line: 32, scope: !31)
!63 = !DILocation(line: 34, scope: !8)
!64 = !DILocation(line: 35, scope: !35)
!65 = !DILocation(line: 36, scope: !35)
!66 = !DILocation(line: 37, scope: !35)
!67 = !DILocation(line: 39, scope: !8)
!68 = !DILocation(line: 40, scope: !8)
