[llvm] r186634 - Debug Info: enable verifying by default and disable testing cases that fail.

Duncan Sands baldrick at free.fr
Thu Jul 18 23:03:47 PDT 2013


Hi Manman, here's the problematic IR from one of the testcases.

Ciao, Duncan.
-------------- next part --------------
target datalayout = "e-p:64:64:64-S128-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f16:16:16-f32:32:32-f64:64:64-f128:128:128-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"
target triple = "x86_64-unknown-linux-gnu"

module asm "\09.ident\09\22GCC: (GNU) 4.6.4 LLVM: 3.4svn\22"

%"struct.array1_integer(kind=4)" = type { i8*, i64, i64, [1 x %struct.descriptor_dimension] }
%struct.descriptor_dimension = type { i64, i64, i64 }
%"struct.array1_integer(kind=4).0" = type { i8*, i64, i64, [1 x %struct.descriptor_dimension] }
%struct.array_descriptor1 = type { i8*, i64, i64, [1 x %struct.descriptor_dimension] }
%struct.array_descriptor1.1 = type { i8*, i64, i64, [1 x %struct.descriptor_dimension] }
%"struct.array1_integer(kind=4).2" = type { i8*, i64, i64, [1 x %struct.descriptor_dimension] }
%"struct.array1_integer(kind=4).3" = type { i8*, i64, i64, [1 x %struct.descriptor_dimension] }
%"struct.array1_integer(kind=4).4" = type { i8*, i64, i64, [1 x %struct.descriptor_dimension] }
%"struct.array1_integer(kind=4).5" = type { i8*, i64, i64, [1 x %struct.descriptor_dimension] }
%"struct.array1_integer(kind=4).6" = type { i8*, i64, i64, [1 x %struct.descriptor_dimension] }
%"struct.array1_integer(kind=4).7" = type { i8*, i64, i64, [1 x %struct.descriptor_dimension] }
%"struct.array1_integer(kind=4).8" = type { i8*, i64, i64, [1 x %struct.descriptor_dimension] }
%"struct.array1_integer(kind=4).9" = type { i8*, i64, i64, [1 x %struct.descriptor_dimension] }

@0 = internal constant i32 77
@.cst = linker_private constant [37 x i8] c"Allocation would exceed memory limit\00", align 64
@1 = internal constant i32 1
@2 = internal constant i32 3
@3 = internal constant i32 1
@4 = internal constant i32 -3
@5 = internal constant i32 5
@6 = internal constant i32 -5
@options.26.1694 = internal constant [8 x i32] [i32 68, i32 511, i32 0, i32 0, i32 0, i32 1, i32 0, i32 1], align 32

; Function Attrs: nounwind uwtable
define internal void @test.1548(i32* noalias %from, i32* noalias %to, i32* noalias %step, %"struct.array1_integer(kind=4)"* noalias %values) #0 {
entry:
  %from_addr = alloca i32*, align 8
  %to_addr = alloca i32*, align 8
  %step_addr = alloca i32*, align 8
  %values_addr = alloca %"struct.array1_integer(kind=4)"*, align 8
  %i = alloca i32
  %last = alloca i32
  %ubound.0 = alloca i64
  %stride.1 = alloca i64
  %offset.2 = alloca i64
  %size.3 = alloca i64
  %values.0 = alloca [0 x i32]*
  %D.1582 = alloca i64
  %D.1583 = alloca i64
  %D.1584 = alloca i64
  %D.1581 = alloca i64
  %countm1.4 = alloca i32
  %D.1567 = alloca i32
  %D.1566 = alloca i32
  %i.34 = alloca i32
  %D.1580 = alloca %"struct.array1_integer(kind=4).0"*
  %D.1579 = alloca i64
  %D.1578 = alloca i64
  %parm.5 = alloca %"struct.array1_integer(kind=4).0"
  %D.1574 = alloca i64
  %"alloca point" = bitcast i32 0 to i32
  call void @llvm.dbg.declare(metadata !{i32** %from_addr}, metadata !48), !dbg !49
  store i32* %from, i32** %from_addr, align 1
  call void @llvm.dbg.declare(metadata !{i32** %to_addr}, metadata !50), !dbg !49
  store i32* %to, i32** %to_addr, align 1
  call void @llvm.dbg.declare(metadata !{i32** %step_addr}, metadata !51), !dbg !49
  store i32* %step, i32** %step_addr, align 1
  call void @llvm.dbg.declare(metadata !{%"struct.array1_integer(kind=4)"** %values_addr}, metadata !52), !dbg !49
  store %"struct.array1_integer(kind=4)"* %values, %"struct.array1_integer(kind=4)"** %values_addr, align 1
  %0 = load %"struct.array1_integer(kind=4)"** %values_addr, align 8
  %1 = load i32** %from_addr, align 8
  %2 = load i32** %to_addr, align 8
  %3 = load i32** %step_addr, align 8
  %"ssa point" = bitcast i32 0 to i32
  call void @llvm.dbg.declare(metadata !{i32* %i}, metadata !54), !dbg !55
  call void @llvm.dbg.declare(metadata !{i32* %last}, metadata !56), !dbg !55
  call void @llvm.dbg.declare(metadata !{i64* %ubound.0}, metadata !57), !dbg !59
  call void @llvm.dbg.declare(metadata !{[0 x i32]** %values.0}, metadata !60), !dbg !59
  br label %"2", !dbg !49

"2":                                              ; preds = %entry
  %4 = bitcast %"struct.array1_integer(kind=4)"* %0 to %struct.array_descriptor1*, !dbg !49
  %5 = getelementptr inbounds %struct.array_descriptor1* %4, i32 0, i32 3, !dbg !49
  %6 = bitcast [1 x %struct.descriptor_dimension]* %5 to %struct.descriptor_dimension*, !dbg !49
  %7 = getelementptr %struct.descriptor_dimension* %6, i64 0, !dbg !49
  %8 = getelementptr inbounds %struct.descriptor_dimension* %7, i32 0, i32 0, !dbg !49
  %9 = load i64* %8, align 8, !dbg !49
  %10 = icmp ne i64 %9, 0, !dbg !49
  br i1 %10, label %"3", label %"4", !dbg !49

"3":                                              ; preds = %"2"
  br label %"5", !dbg !49

"4":                                              ; preds = %"2"
  br label %"5", !dbg !49

"5":                                              ; preds = %"4", %"3"
  %11 = phi i64 [ 1, %"4" ], [ %9, %"3" ], !dbg !49
  %12 = bitcast %"struct.array1_integer(kind=4)"* %0 to %struct.array_descriptor1*, !dbg !49
  %13 = getelementptr inbounds %struct.array_descriptor1* %12, i32 0, i32 0, !dbg !49
  %14 = load i8** %13, align 8, !dbg !49
  %15 = bitcast i8* %14 to [0 x i32]*, !dbg !49
  %16 = bitcast %"struct.array1_integer(kind=4)"* %0 to %struct.array_descriptor1*, !dbg !49
  %17 = getelementptr inbounds %struct.array_descriptor1* %16, i32 0, i32 3, !dbg !49
  %18 = bitcast [1 x %struct.descriptor_dimension]* %17 to %struct.descriptor_dimension*, !dbg !49
  %19 = getelementptr %struct.descriptor_dimension* %18, i64 0, !dbg !49
  %20 = getelementptr inbounds %struct.descriptor_dimension* %19, i32 0, i32 2, !dbg !49
  %21 = load i64* %20, align 8, !dbg !49
  %22 = bitcast %"struct.array1_integer(kind=4)"* %0 to %struct.array_descriptor1*, !dbg !49
  %23 = getelementptr inbounds %struct.array_descriptor1* %22, i32 0, i32 3, !dbg !49
  %24 = bitcast [1 x %struct.descriptor_dimension]* %23 to %struct.descriptor_dimension*, !dbg !49
  %25 = getelementptr %struct.descriptor_dimension* %24, i64 0, !dbg !49
  %26 = getelementptr inbounds %struct.descriptor_dimension* %25, i32 0, i32 1, !dbg !49
  %27 = load i64* %26, align 8, !dbg !49
  %28 = sub i64 %21, %27, !dbg !49
  %29 = add i64 %28, 1, !dbg !49
  %30 = mul i64 %11, %29, !dbg !49
  %31 = sub i64 0, %11, !dbg !49
  %32 = add i64 %30, -1, !dbg !49
  %33 = mul i64 %30, 32, !dbg !49
  %34 = mul i64 %30, 4, !dbg !49
  %35 = load i32* %1, align 4, !dbg !63
  %36 = load i32* %2, align 4, !dbg !63
  %37 = load i32* %3, align 4, !dbg !63
  %38 = icmp sgt i32 %37, 0, !dbg !63
  br i1 %38, label %"6", label %"7", !dbg !63

"6":                                              ; preds = %"5"
  %39 = icmp slt i32 %36, %35, !dbg !63
  br i1 %39, label %"19", label %"8", !dbg !63

"7":                                              ; preds = %"5"
  %40 = icmp sgt i32 %36, %35, !dbg !63
  br i1 %40, label %"19", label %"8", !dbg !63

"8":                                              ; preds = %"7", %"6"
  %41 = sub i32 %36, %35, !dbg !63
  %42 = icmp slt i32 %37, 0, !dbg !63
  br i1 %42, label %"9", label %"10", !dbg !63

"9":                                              ; preds = %"8"
  br label %"11", !dbg !63

"10":                                             ; preds = %"8"
  br label %"11", !dbg !63

"11":                                             ; preds = %"10", %"9"
  %43 = phi i32 [ 1, %"10" ], [ -1, %"9" ], !dbg !63
  %44 = mul i32 %41, %43, !dbg !63
  %45 = icmp slt i32 %37, 0, !dbg !63
  br i1 %45, label %"12", label %"13", !dbg !63

"12":                                             ; preds = %"11"
  br label %"14", !dbg !63

"13":                                             ; preds = %"11"
  br label %"14", !dbg !63

"14":                                             ; preds = %"13", %"12"
  %46 = phi i32 [ 1, %"13" ], [ -1, %"12" ], !dbg !63
  %47 = mul i32 %46, %37, !dbg !63
  %48 = udiv i32 %44, %47, !dbg !63
  br label %"15", !dbg !63

"15":                                             ; preds = %"18", %"14"
  %49 = phi i32 [ %60, %"18" ], [ %35, %"14" ], !dbg !63
  %50 = phi i32 [ %52, %"18" ], [ 0, %"14" ], !dbg !63
  %51 = phi i32 [ %62, %"18" ], [ %48, %"14" ], !dbg !63
  %52 = add i32 %50, 1, !dbg !64
  %53 = sext i32 %52 to i64, !dbg !65
  %54 = mul i64 %53, %11, !dbg !65
  %55 = add i64 %54, %31, !dbg !65
  %56 = bitcast [0 x i32]* %15 to i32*, !dbg !65
  %57 = getelementptr i32* %56, i64 %55, !dbg !65
  %58 = load i32* %57, align 4, !dbg !65
  %59 = icmp ne i32 %58, %49, !dbg !65
  br i1 %59, label %"16", label %"17", !dbg !65

"16":                                             ; preds = %"15"
  call void bitcast (void (...)* @_gfortran_abort to void ()*)() #3, !dbg !65
  unreachable, !dbg !65

"17":                                             ; preds = %"15"
  %60 = add i32 %49, %37, !dbg !63
  %61 = icmp eq i32 %51, 0, !dbg !63
  br i1 %61, label %"19", label %"18", !dbg !63

"18":                                             ; preds = %"17"
  %62 = add i32 %51, -1, !dbg !63
  br label %"15", !dbg !63

"19":                                             ; preds = %"17", %"7", %"6"
  %63 = phi i32 [ %52, %"17" ], [ 0, %"7" ], [ 0, %"6" ], !dbg !63
  %64 = bitcast %"struct.array1_integer(kind=4).0"* %parm.5 to %struct.array_descriptor1.1*, !dbg !66
  %65 = getelementptr inbounds %struct.array_descriptor1.1* %64, i32 0, i32 2, !dbg !66
  store i64 265, i64* %65, align 8, !dbg !66
  %66 = bitcast %"struct.array1_integer(kind=4).0"* %parm.5 to %struct.array_descriptor1.1*, !dbg !66
  %67 = getelementptr inbounds %struct.array_descriptor1.1* %66, i32 0, i32 3, !dbg !66
  %68 = bitcast [1 x %struct.descriptor_dimension]* %67 to %struct.descriptor_dimension*, !dbg !66
  %69 = getelementptr %struct.descriptor_dimension* %68, i64 0, !dbg !66
  %70 = getelementptr inbounds %struct.descriptor_dimension* %69, i32 0, i32 1, !dbg !66
  store i64 1, i64* %70, align 8, !dbg !66
  %71 = bitcast %"struct.array1_integer(kind=4).0"* %parm.5 to %struct.array_descriptor1.1*, !dbg !66
  %72 = getelementptr inbounds %struct.array_descriptor1.1* %71, i32 0, i32 3, !dbg !66
  %73 = bitcast [1 x %struct.descriptor_dimension]* %72 to %struct.descriptor_dimension*, !dbg !66
  %74 = getelementptr %struct.descriptor_dimension* %73, i64 0, !dbg !66
  %75 = getelementptr inbounds %struct.descriptor_dimension* %74, i32 0, i32 2, !dbg !66
  store i64 %29, i64* %75, align 8, !dbg !66
  %76 = bitcast %"struct.array1_integer(kind=4).0"* %parm.5 to %struct.array_descriptor1.1*, !dbg !66
  %77 = getelementptr inbounds %struct.array_descriptor1.1* %76, i32 0, i32 3, !dbg !66
  %78 = bitcast [1 x %struct.descriptor_dimension]* %77 to %struct.descriptor_dimension*, !dbg !66
  %79 = getelementptr %struct.descriptor_dimension* %78, i64 0, !dbg !66
  %80 = getelementptr inbounds %struct.descriptor_dimension* %79, i32 0, i32 0, !dbg !66
  store i64 %11, i64* %80, align 8, !dbg !66
  %81 = bitcast %"struct.array1_integer(kind=4).0"* %parm.5 to %struct.array_descriptor1.1*, !dbg !66
  %82 = getelementptr inbounds %struct.array_descriptor1.1* %81, i32 0, i32 0, !dbg !66
  store i8* null, i8** %82, align 8, !dbg !66
  %83 = bitcast %"struct.array1_integer(kind=4).0"* %parm.5 to %struct.array_descriptor1.1*, !dbg !66
  %84 = getelementptr inbounds %struct.array_descriptor1.1* %83, i32 0, i32 1, !dbg !66
  store i64 0, i64* %84, align 8, !dbg !66
  %85 = bitcast %"struct.array1_integer(kind=4).0"* %parm.5 to %struct.array_descriptor1.1*, !dbg !66
  %86 = getelementptr inbounds %struct.array_descriptor1.1* %85, i32 0, i32 3, !dbg !66
  %87 = bitcast [1 x %struct.descriptor_dimension]* %86 to %struct.descriptor_dimension*, !dbg !66
  %88 = getelementptr %struct.descriptor_dimension* %87, i64 0, !dbg !66
  %89 = getelementptr inbounds %struct.descriptor_dimension* %88, i32 0, i32 2, !dbg !66
  %90 = load i64* %89, align 8, !dbg !66
  %91 = bitcast %"struct.array1_integer(kind=4).0"* %parm.5 to %struct.array_descriptor1.1*, !dbg !66
  %92 = getelementptr inbounds %struct.array_descriptor1.1* %91, i32 0, i32 3, !dbg !66
  %93 = bitcast [1 x %struct.descriptor_dimension]* %92 to %struct.descriptor_dimension*, !dbg !66
  %94 = getelementptr %struct.descriptor_dimension* %93, i64 0, !dbg !66
  %95 = getelementptr inbounds %struct.descriptor_dimension* %94, i32 0, i32 1, !dbg !66
  %96 = load i64* %95, align 8, !dbg !66
  %97 = sub i64 %90, %96, !dbg !66
  %98 = add i64 %97, 1, !dbg !66
  %99 = icmp sge i64 %98, 0, !dbg !66
  %100 = select i1 %99, i64 %98, i64 0, !dbg !66
  %101 = trunc i64 %100 to i32, !dbg !66
  %102 = icmp ne i32 %101, %63, !dbg !66
  br i1 %102, label %"20", label %"21", !dbg !66

"20":                                             ; preds = %"19"
  call void bitcast (void (...)* @_gfortran_abort to void ()*)() #3, !dbg !66
  unreachable, !dbg !66

"21":                                             ; preds = %"19"
  br label %return, !dbg !67

return:                                           ; preds = %"21"
  ret void, !dbg !67
}

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

; Function Attrs: noreturn
declare void @_gfortran_abort(...) #2

; Function Attrs: nounwind uwtable
define internal void @MAIN__() #0 {
entry:
  %"ssa point" = bitcast i32 0 to i32
  br label %"2", !dbg !68

"2":                                              ; preds = %entry
  call void @build.1554(i32* noalias @0) #3, !dbg !69
  br label %return, !dbg !69

return:                                           ; preds = %"2"
  ret void, !dbg !69
}

; Function Attrs: nounwind uwtable
define internal void @build.1554(i32* noalias %order) #0 {
entry:
  %order_addr = alloca i32*, align 8
  %i = alloca i32
  %j = alloca i32
  %D.1608 = alloca i8*
  %D.1607 = alloca i8*
  %D.1606 = alloca i64
  %D.1605 = alloca i64
  %D.1604 = alloca i32
  %atmp.9 = alloca %"struct.array1_integer(kind=4).2"
  %D.1600 = alloca i64
  %offset.7 = alloca i64
  %D.1599 = alloca i64
  %shadow_loopvar.8 = alloca i32
  %atmp.6 = alloca %"struct.array1_integer(kind=4).3"
  %D.1597 = alloca [0 x i32]*
  %D.1596 = alloca i64
  %D.1595 = alloca i32
  %S.10 = alloca i64
  %D.1592 = alloca i8*
  %D.1609 = alloca i8*
  %D.1632 = alloca i8*
  %D.1631 = alloca i8*
  %D.1630 = alloca i64
  %D.1629 = alloca i64
  %D.1628 = alloca i32
  %atmp.14 = alloca %"struct.array1_integer(kind=4).4"
  %D.1624 = alloca i64
  %offset.12 = alloca i64
  %D.1623 = alloca i64
  %shadow_loopvar.13 = alloca i32
  %atmp.11 = alloca %"struct.array1_integer(kind=4).5"
  %D.1621 = alloca [0 x i32]*
  %D.1620 = alloca i64
  %S.15 = alloca i64
  %D.1617 = alloca i8*
  %D.1633 = alloca i8*
  %D.1688 = alloca i32
  %D.1659 = alloca i8*
  %D.1658 = alloca i8*
  %D.1657 = alloca i64
  %D.1656 = alloca i64
  %D.1655 = alloca i32
  %atmp.19 = alloca %"struct.array1_integer(kind=4).6"
  %D.1651 = alloca i64
  %offset.17 = alloca i64
  %D.1650 = alloca i64
  %shadow_loopvar.18 = alloca i32
  %atmp.16 = alloca %"struct.array1_integer(kind=4).7"
  %D.1638 = alloca i32
  %D.1648 = alloca [0 x i32]*
  %D.1647 = alloca i64
  %D.1646 = alloca i32
  %S.20 = alloca i64
  %D.1643 = alloca i8*
  %D.1660 = alloca i8*
  %D.1684 = alloca i8*
  %D.1683 = alloca i8*
  %D.1682 = alloca i64
  %D.1681 = alloca i64
  %D.1680 = alloca i32
  %atmp.24 = alloca %"struct.array1_integer(kind=4).8"
  %D.1676 = alloca i64
  %offset.22 = alloca i64
  %D.1675 = alloca i64
  %shadow_loopvar.23 = alloca i32
  %atmp.21 = alloca %"struct.array1_integer(kind=4).9"
  %D.1663 = alloca i32
  %D.1673 = alloca [0 x i32]*
  %D.1672 = alloca i64
  %D.1671 = alloca i32
  %S.25 = alloca i64
  %D.1668 = alloca i8*
  %D.1685 = alloca i8*
  %"alloca point" = bitcast i32 0 to i32
  call void @llvm.dbg.declare(metadata !{i32** %order_addr}, metadata !70), !dbg !71
  store i32* %order, i32** %order_addr, align 1
  %0 = load i32** %order_addr, align 8
  %"ssa point" = bitcast i32 0 to i32
  call void @llvm.dbg.declare(metadata !{i32* %i}, metadata !72), !dbg !73
  call void @llvm.dbg.declare(metadata !{i32* %j}, metadata !74), !dbg !73
  br label %"2", !dbg !71

"2":                                              ; preds = %entry
  %1 = bitcast %"struct.array1_integer(kind=4).3"* %atmp.6 to %struct.array_descriptor1*, !dbg !75
  %2 = getelementptr inbounds %struct.array_descriptor1* %1, i32 0, i32 2, !dbg !75
  store i64 265, i64* %2, align 8, !dbg !75
  %3 = bitcast %"struct.array1_integer(kind=4).3"* %atmp.6 to %struct.array_descriptor1*, !dbg !75
  %4 = getelementptr inbounds %struct.array_descriptor1* %3, i32 0, i32 3, !dbg !75
  %5 = bitcast [1 x %struct.descriptor_dimension]* %4 to %struct.descriptor_dimension*, !dbg !75
  %6 = getelementptr %struct.descriptor_dimension* %5, i64 0, !dbg !75
  %7 = getelementptr inbounds %struct.descriptor_dimension* %6, i32 0, i32 0, !dbg !75
  store i64 1, i64* %7, align 8, !dbg !75
  %8 = bitcast %"struct.array1_integer(kind=4).3"* %atmp.6 to %struct.array_descriptor1*, !dbg !75
  %9 = getelementptr inbounds %struct.array_descriptor1* %8, i32 0, i32 3, !dbg !75
  %10 = bitcast [1 x %struct.descriptor_dimension]* %9 to %struct.descriptor_dimension*, !dbg !75
  %11 = getelementptr %struct.descriptor_dimension* %10, i64 0, !dbg !75
  %12 = getelementptr inbounds %struct.descriptor_dimension* %11, i32 0, i32 1, !dbg !75
  store i64 0, i64* %12, align 8, !dbg !75
  %13 = bitcast %"struct.array1_integer(kind=4).3"* %atmp.6 to %struct.array_descriptor1*, !dbg !75
  %14 = getelementptr inbounds %struct.array_descriptor1* %13, i32 0, i32 3, !dbg !75
  %15 = bitcast [1 x %struct.descriptor_dimension]* %14 to %struct.descriptor_dimension*, !dbg !75
  %16 = getelementptr %struct.descriptor_dimension* %15, i64 0, !dbg !75
  %17 = getelementptr inbounds %struct.descriptor_dimension* %16, i32 0, i32 2, !dbg !75
  store i64 -1, i64* %17, align 8, !dbg !75
  %18 = bitcast %"struct.array1_integer(kind=4).3"* %atmp.6 to %struct.array_descriptor1*, !dbg !75
  %19 = getelementptr inbounds %struct.array_descriptor1* %18, i32 0, i32 0, !dbg !75
  store i8* null, i8** %19, align 8, !dbg !75
  %20 = bitcast %"struct.array1_integer(kind=4).3"* %atmp.6 to %struct.array_descriptor1*, !dbg !75
  %21 = getelementptr inbounds %struct.array_descriptor1* %20, i32 0, i32 1, !dbg !75
  store i64 0, i64* %21, align 8, !dbg !75
  %22 = load i32* %0, align 4, !dbg !75
  %23 = bitcast %"struct.array1_integer(kind=4).3"* %atmp.6 to %struct.array_descriptor1*, !dbg !75
  %24 = getelementptr inbounds %struct.array_descriptor1* %23, i32 0, i32 3, !dbg !75
  %25 = bitcast [1 x %struct.descriptor_dimension]* %24 to %struct.descriptor_dimension*, !dbg !75
  %26 = getelementptr %struct.descriptor_dimension* %25, i64 0, !dbg !75
  %27 = getelementptr inbounds %struct.descriptor_dimension* %26, i32 0, i32 2, !dbg !75
  %28 = load i64* %27, align 8, !dbg !75
  %29 = sub i32 %22, 1, !dbg !75
  %30 = icmp sge i32 %29, 0, !dbg !75
  %31 = icmp ne i1 %30, true, !dbg !75
  %32 = icmp ne i32 %29, 0, !dbg !75
  %33 = and i1 %31, %32, !dbg !75
  %34 = select i1 %33, i32 1, i32 0, !dbg !75
  %35 = sext i1 %33 to i32, !dbg !75
  %36 = and i32 1, %35, !dbg !75
  %37 = add i32 %29, %36, !dbg !75
  %38 = sdiv i32 %37, 3, !dbg !75
  %fdiv = sub i32 %38, %34, !dbg !75
  %39 = add i32 %fdiv, 1, !dbg !75
  %40 = icmp sge i32 %39, 0, !dbg !75
  %41 = select i1 %40, i32 %39, i32 0, !dbg !75
  %42 = sext i32 %41 to i64, !dbg !75
  %43 = add i64 %28, %42, !dbg !75
  %44 = bitcast %"struct.array1_integer(kind=4).3"* %atmp.6 to %struct.array_descriptor1*, !dbg !75
  %45 = getelementptr inbounds %struct.array_descriptor1* %44, i32 0, i32 3, !dbg !75
  %46 = bitcast [1 x %struct.descriptor_dimension]* %45 to %struct.descriptor_dimension*, !dbg !75
  %47 = getelementptr %struct.descriptor_dimension* %46, i64 0, !dbg !75
  %48 = getelementptr inbounds %struct.descriptor_dimension* %47, i32 0, i32 2, !dbg !75
  store i64 %43, i64* %48, align 8, !dbg !75
  %49 = bitcast %"struct.array1_integer(kind=4).3"* %atmp.6 to %struct.array_descriptor1*, !dbg !75
  %50 = getelementptr inbounds %struct.array_descriptor1* %49, i32 0, i32 3, !dbg !75
  %51 = bitcast [1 x %struct.descriptor_dimension]* %50 to %struct.descriptor_dimension*, !dbg !75
  %52 = getelementptr %struct.descriptor_dimension* %51, i64 0, !dbg !75
  %53 = getelementptr inbounds %struct.descriptor_dimension* %52, i32 0, i32 2, !dbg !75
  %54 = load i64* %53, align 8, !dbg !75
  %55 = add i64 %54, 1, !dbg !75
  %56 = mul i64 %55, 4, !dbg !75
  %57 = bitcast %"struct.array1_integer(kind=4).3"* %atmp.6 to %struct.array_descriptor1*, !dbg !75
  %58 = getelementptr inbounds %struct.array_descriptor1* %57, i32 0, i32 0, !dbg !75
  %59 = load i8** %58, align 8, !dbg !75
  %60 = call i8* bitcast (i8* (i64, i8*)* @realloc to i8* (i8*, i64)*)(i8* noalias %59, i64 %56) #3, !dbg !75
  %61 = bitcast i8* %60 to [0 x i32]*, !dbg !75
  %62 = icmp eq [0 x i32]* %61, null, !dbg !75
  %63 = icmp ne i64 %56, 0, !dbg !75
  %toBool = icmp ne i1 %62, false, !dbg !75
  %toBool1 = icmp ne i1 %63, false, !dbg !75
  %64 = and i1 %toBool, %toBool1, !dbg !75
  %65 = icmp ne i1 %64, false, !dbg !75
  br i1 %65, label %"3", label %"4", !dbg !75

"3":                                              ; preds = %"2"
  call void @_gfortran_os_error(i8* getelementptr inbounds ([37 x i8]* @.cst, i64 0, i64 0)) #4, !dbg !75
  unreachable, !dbg !75

"4":                                              ; preds = %"2"
  %66 = bitcast [0 x i32]* %61 to i8*, !dbg !75
  %67 = bitcast %"struct.array1_integer(kind=4).3"* %atmp.6 to %struct.array_descriptor1*, !dbg !75
  %68 = getelementptr inbounds %struct.array_descriptor1* %67, i32 0, i32 0, !dbg !75
  store i8* %66, i8** %68, align 8, !dbg !75
  br label %"5", !dbg !75

"5":                                              ; preds = %"6", %"4"
  %69 = phi i64 [ %78, %"6" ], [ 0, %"4" ], !dbg !75
  %70 = phi i32 [ %79, %"6" ], [ 1, %"4" ], !dbg !75
  %71 = icmp sgt i32 %70, %22, !dbg !75
  br i1 %71, label %"7", label %"6", !dbg !75

"6":                                              ; preds = %"5"
  %72 = bitcast %"struct.array1_integer(kind=4).3"* %atmp.6 to %struct.array_descriptor1*, !dbg !75
  %73 = getelementptr inbounds %struct.array_descriptor1* %72, i32 0, i32 0, !dbg !75
  %74 = load i8** %73, align 8, !dbg !75
  %75 = bitcast i8* %74 to [0 x i32]*, !dbg !75
  %76 = bitcast [0 x i32]* %75 to i32*, !dbg !75
  %77 = getelementptr i32* %76, i64 %69, !dbg !75
  store i32 %70, i32* %77, align 4, !dbg !75
  %78 = add i64 %69, 1, !dbg !75
  %79 = add i32 %70, 3, !dbg !75
  br label %"5", !dbg !75

"7":                                              ; preds = %"5"
  %80 = add i64 %69, -1, !dbg !75
  %81 = bitcast %"struct.array1_integer(kind=4).3"* %atmp.6 to %struct.array_descriptor1*, !dbg !75
  %82 = getelementptr inbounds %struct.array_descriptor1* %81, i32 0, i32 3, !dbg !75
  %83 = bitcast [1 x %struct.descriptor_dimension]* %82 to %struct.descriptor_dimension*, !dbg !75
  %84 = getelementptr %struct.descriptor_dimension* %83, i64 0, !dbg !75
  %85 = getelementptr inbounds %struct.descriptor_dimension* %84, i32 0, i32 2, !dbg !75
  store i64 %80, i64* %85, align 8, !dbg !75
  %86 = bitcast %"struct.array1_integer(kind=4).2"* %atmp.9 to %struct.array_descriptor1*, !dbg !75
  %87 = getelementptr inbounds %struct.array_descriptor1* %86, i32 0, i32 2, !dbg !75
  store i64 265, i64* %87, align 8, !dbg !75
  %88 = bitcast %"struct.array1_integer(kind=4).2"* %atmp.9 to %struct.array_descriptor1*, !dbg !75
  %89 = getelementptr inbounds %struct.array_descriptor1* %88, i32 0, i32 3, !dbg !75
  %90 = bitcast [1 x %struct.descriptor_dimension]* %89 to %struct.descriptor_dimension*, !dbg !75
  %91 = getelementptr %struct.descriptor_dimension* %90, i64 0, !dbg !75
  %92 = getelementptr inbounds %struct.descriptor_dimension* %91, i32 0, i32 0, !dbg !75
  store i64 1, i64* %92, align 8, !dbg !75
  %93 = bitcast %"struct.array1_integer(kind=4).2"* %atmp.9 to %struct.array_descriptor1*, !dbg !75
  %94 = getelementptr inbounds %struct.array_descriptor1* %93, i32 0, i32 3, !dbg !75
  %95 = bitcast [1 x %struct.descriptor_dimension]* %94 to %struct.descriptor_dimension*, !dbg !75
  %96 = getelementptr %struct.descriptor_dimension* %95, i64 0, !dbg !75
  %97 = getelementptr inbounds %struct.descriptor_dimension* %96, i32 0, i32 1, !dbg !75
  store i64 0, i64* %97, align 8, !dbg !75
  %98 = bitcast %"struct.array1_integer(kind=4).2"* %atmp.9 to %struct.array_descriptor1*, !dbg !75
  %99 = getelementptr inbounds %struct.array_descriptor1* %98, i32 0, i32 3, !dbg !75
  %100 = bitcast [1 x %struct.descriptor_dimension]* %99 to %struct.descriptor_dimension*, !dbg !75
  %101 = getelementptr %struct.descriptor_dimension* %100, i64 0, !dbg !75
  %102 = getelementptr inbounds %struct.descriptor_dimension* %101, i32 0, i32 2, !dbg !75
  store i64 %80, i64* %102, align 8, !dbg !75
  %103 = add i64 %80, 1, !dbg !75
  %104 = icmp sle i64 %103, 0, !dbg !75
  %105 = add i64 %80, 1, !dbg !75
  %106 = icmp ne i1 %104, false, !dbg !75
  br i1 %106, label %"8", label %"9", !dbg !75

"8":                                              ; preds = %"7"
  br label %"10", !dbg !75

"9":                                              ; preds = %"7"
  %107 = mul i64 %105, 4, !dbg !75
  br label %"10", !dbg !75

"10":                                             ; preds = %"9", %"8"
  %108 = phi i64 [ %107, %"9" ], [ 0, %"8" ], !dbg !75
  %109 = icmp uge i64 %108, 1, !dbg !75
  %110 = select i1 %109, i64 %108, i64 1, !dbg !75
  %111 = call noalias i8* @malloc(i64 %110) #3, !dbg !75
  %112 = bitcast %"struct.array1_integer(kind=4).2"* %atmp.9 to %struct.array_descriptor1*, !dbg !75
  %113 = getelementptr inbounds %struct.array_descriptor1* %112, i32 0, i32 0, !dbg !75
  store i8* %111, i8** %113, align 8, !dbg !75
  %114 = bitcast %"struct.array1_integer(kind=4).2"* %atmp.9 to %struct.array_descriptor1*, !dbg !75
  %115 = getelementptr inbounds %struct.array_descriptor1* %114, i32 0, i32 1, !dbg !75
  store i64 0, i64* %115, align 8, !dbg !75
  br label %"11", !dbg !75

"11":                                             ; preds = %"12", %"10"
  %116 = phi i64 [ %131, %"12" ], [ 0, %"10" ], !dbg !75
  %117 = icmp sgt i64 %116, %80, !dbg !75
  br i1 %117, label %"13", label %"12", !dbg !75

"12":                                             ; preds = %"11"
  %118 = bitcast %"struct.array1_integer(kind=4).2"* %atmp.9 to %struct.array_descriptor1*, !dbg !75
  %119 = getelementptr inbounds %struct.array_descriptor1* %118, i32 0, i32 0, !dbg !75
  %120 = load i8** %119, align 8, !dbg !75
  %121 = bitcast %"struct.array1_integer(kind=4).3"* %atmp.6 to %struct.array_descriptor1*, !dbg !75
  %122 = getelementptr inbounds %struct.array_descriptor1* %121, i32 0, i32 0, !dbg !75
  %123 = load i8** %122, align 8, !dbg !75
  %124 = bitcast i8* %123 to [0 x i32]*, !dbg !75
  %125 = bitcast [0 x i32]* %124 to i32*, !dbg !75
  %126 = getelementptr i32* %125, i64 %116, !dbg !75
  %127 = load i32* %126, align 4, !dbg !75
  %128 = bitcast i8* %120 to [0 x i32]*, !dbg !75
  %129 = bitcast [0 x i32]* %128 to i32*, !dbg !75
  %130 = getelementptr i32* %129, i64 %116, !dbg !75
  store i32 %127, i32* %130, align 4, !dbg !75
  %131 = add i64 %116, 1, !dbg !75
  br label %"11", !dbg !75

"13":                                             ; preds = %"11"
  call void bitcast (void (i32*, i32*, i32*, %"struct.array1_integer(kind=4)"*)* @test.1548 to void (i32*, i32*, i32*, %"struct.array1_integer(kind=4).2"*)*)(i32* @1, i32* noalias %0, i32* @2, %"struct.array1_integer(kind=4).2"* %atmp.9) #3, !dbg !75
  %132 = bitcast %"struct.array1_integer(kind=4).3"* %atmp.6 to %struct.array_descriptor1*, !dbg !75
  %133 = getelementptr inbounds %struct.array_descriptor1* %132, i32 0, i32 0, !dbg !75
  %134 = load i8** %133, align 8, !dbg !75
  %135 = icmp ne i8* %134, null, !dbg !75
  br i1 %135, label %"14", label %"15", !dbg !75

"14":                                             ; preds = %"13"
  call void @free(i8* %134) #3, !dbg !75
  br label %"15", !dbg !75

"15":                                             ; preds = %"14", %"13"
  %136 = bitcast %"struct.array1_integer(kind=4).2"* %atmp.9 to %struct.array_descriptor1*, !dbg !75
  %137 = getelementptr inbounds %struct.array_descriptor1* %136, i32 0, i32 0, !dbg !75
  %138 = load i8** %137, align 8, !dbg !75
  %139 = icmp ne i8* %138, null, !dbg !75
  br i1 %139, label %"16", label %"17", !dbg !75

"16":                                             ; preds = %"15"
  call void @free(i8* %138) #3, !dbg !75
  br label %"17", !dbg !75

"17":                                             ; preds = %"16", %"15"
  %140 = bitcast %"struct.array1_integer(kind=4).5"* %atmp.11 to %struct.array_descriptor1*, !dbg !76
  %141 = getelementptr inbounds %struct.array_descriptor1* %140, i32 0, i32 2, !dbg !76
  store i64 265, i64* %141, align 8, !dbg !76
  %142 = bitcast %"struct.array1_integer(kind=4).5"* %atmp.11 to %struct.array_descriptor1*, !dbg !76
  %143 = getelementptr inbounds %struct.array_descriptor1* %142, i32 0, i32 3, !dbg !76
  %144 = bitcast [1 x %struct.descriptor_dimension]* %143 to %struct.descriptor_dimension*, !dbg !76
  %145 = getelementptr %struct.descriptor_dimension* %144, i64 0, !dbg !76
  %146 = getelementptr inbounds %struct.descriptor_dimension* %145, i32 0, i32 0, !dbg !76
  store i64 1, i64* %146, align 8, !dbg !76
  %147 = bitcast %"struct.array1_integer(kind=4).5"* %atmp.11 to %struct.array_descriptor1*, !dbg !76
  %148 = getelementptr inbounds %struct.array_descriptor1* %147, i32 0, i32 3, !dbg !76
  %149 = bitcast [1 x %struct.descriptor_dimension]* %148 to %struct.descriptor_dimension*, !dbg !76
  %150 = getelementptr %struct.descriptor_dimension* %149, i64 0, !dbg !76
  %151 = getelementptr inbounds %struct.descriptor_dimension* %150, i32 0, i32 1, !dbg !76
  store i64 0, i64* %151, align 8, !dbg !76
  %152 = bitcast %"struct.array1_integer(kind=4).5"* %atmp.11 to %struct.array_descriptor1*, !dbg !76
  %153 = getelementptr inbounds %struct.array_descriptor1* %152, i32 0, i32 3, !dbg !76
  %154 = bitcast [1 x %struct.descriptor_dimension]* %153 to %struct.descriptor_dimension*, !dbg !76
  %155 = getelementptr %struct.descriptor_dimension* %154, i64 0, !dbg !76
  %156 = getelementptr inbounds %struct.descriptor_dimension* %155, i32 0, i32 2, !dbg !76
  store i64 -1, i64* %156, align 8, !dbg !76
  %157 = bitcast %"struct.array1_integer(kind=4).5"* %atmp.11 to %struct.array_descriptor1*, !dbg !76
  %158 = getelementptr inbounds %struct.array_descriptor1* %157, i32 0, i32 0, !dbg !76
  store i8* null, i8** %158, align 8, !dbg !76
  %159 = bitcast %"struct.array1_integer(kind=4).5"* %atmp.11 to %struct.array_descriptor1*, !dbg !76
  %160 = getelementptr inbounds %struct.array_descriptor1* %159, i32 0, i32 1, !dbg !76
  store i64 0, i64* %160, align 8, !dbg !76
  %161 = load i32* %0, align 4, !dbg !76
  %162 = bitcast %"struct.array1_integer(kind=4).5"* %atmp.11 to %struct.array_descriptor1*, !dbg !76
  %163 = getelementptr inbounds %struct.array_descriptor1* %162, i32 0, i32 3, !dbg !76
  %164 = bitcast [1 x %struct.descriptor_dimension]* %163 to %struct.descriptor_dimension*, !dbg !76
  %165 = getelementptr %struct.descriptor_dimension* %164, i64 0, !dbg !76
  %166 = getelementptr inbounds %struct.descriptor_dimension* %165, i32 0, i32 2, !dbg !76
  %167 = load i64* %166, align 8, !dbg !76
  %168 = sub i32 1, %161, !dbg !76
  %169 = icmp sge i32 %168, 0, !dbg !76
  %170 = icmp ne i1 %169, false, !dbg !76
  %171 = icmp ne i32 %168, 0, !dbg !76
  %172 = and i1 %170, %171, !dbg !76
  %173 = select i1 %172, i32 1, i32 0, !dbg !76
  %174 = sext i1 %172 to i32, !dbg !76
  %175 = and i32 -1, %174, !dbg !76
  %176 = add i32 %168, %175, !dbg !76
  %177 = sdiv i32 %176, -3, !dbg !76
  %fdiv2 = sub i32 %177, %173, !dbg !76
  %178 = add i32 %fdiv2, 1, !dbg !76
  %179 = icmp sge i32 %178, 0, !dbg !76
  %180 = select i1 %179, i32 %178, i32 0, !dbg !76
  %181 = sext i32 %180 to i64, !dbg !76
  %182 = add i64 %167, %181, !dbg !76
  %183 = bitcast %"struct.array1_integer(kind=4).5"* %atmp.11 to %struct.array_descriptor1*, !dbg !76
  %184 = getelementptr inbounds %struct.array_descriptor1* %183, i32 0, i32 3, !dbg !76
  %185 = bitcast [1 x %struct.descriptor_dimension]* %184 to %struct.descriptor_dimension*, !dbg !76
  %186 = getelementptr %struct.descriptor_dimension* %185, i64 0, !dbg !76
  %187 = getelementptr inbounds %struct.descriptor_dimension* %186, i32 0, i32 2, !dbg !76
  store i64 %182, i64* %187, align 8, !dbg !76
  %188 = bitcast %"struct.array1_integer(kind=4).5"* %atmp.11 to %struct.array_descriptor1*, !dbg !76
  %189 = getelementptr inbounds %struct.array_descriptor1* %188, i32 0, i32 3, !dbg !76
  %190 = bitcast [1 x %struct.descriptor_dimension]* %189 to %struct.descriptor_dimension*, !dbg !76
  %191 = getelementptr %struct.descriptor_dimension* %190, i64 0, !dbg !76
  %192 = getelementptr inbounds %struct.descriptor_dimension* %191, i32 0, i32 2, !dbg !76
  %193 = load i64* %192, align 8, !dbg !76
  %194 = add i64 %193, 1, !dbg !76
  %195 = mul i64 %194, 4, !dbg !76
  %196 = bitcast %"struct.array1_integer(kind=4).5"* %atmp.11 to %struct.array_descriptor1*, !dbg !76
  %197 = getelementptr inbounds %struct.array_descriptor1* %196, i32 0, i32 0, !dbg !76
  %198 = load i8** %197, align 8, !dbg !76
  %199 = call i8* bitcast (i8* (i64, i8*)* @realloc to i8* (i8*, i64)*)(i8* noalias %198, i64 %195) #3, !dbg !76
  %200 = bitcast i8* %199 to [0 x i32]*, !dbg !76
  %201 = icmp eq [0 x i32]* %200, null, !dbg !76
  %202 = icmp ne i64 %195, 0, !dbg !76
  %toBool3 = icmp ne i1 %201, false, !dbg !76
  %toBool4 = icmp ne i1 %202, false, !dbg !76
  %203 = and i1 %toBool3, %toBool4, !dbg !76
  %204 = icmp ne i1 %203, false, !dbg !76
  br i1 %204, label %"18", label %"19", !dbg !76

"18":                                             ; preds = %"17"
  call void @_gfortran_os_error(i8* getelementptr inbounds ([37 x i8]* @.cst, i64 0, i64 0)) #4, !dbg !76
  unreachable, !dbg !76

"19":                                             ; preds = %"17"
  %205 = bitcast [0 x i32]* %200 to i8*, !dbg !76
  %206 = bitcast %"struct.array1_integer(kind=4).5"* %atmp.11 to %struct.array_descriptor1*, !dbg !76
  %207 = getelementptr inbounds %struct.array_descriptor1* %206, i32 0, i32 0, !dbg !76
  store i8* %205, i8** %207, align 8, !dbg !76
  br label %"20", !dbg !76

"20":                                             ; preds = %"21", %"19"
  %208 = phi i64 [ %217, %"21" ], [ 0, %"19" ], !dbg !76
  %209 = phi i32 [ %218, %"21" ], [ %161, %"19" ], !dbg !76
  %210 = icmp sle i32 %209, 0, !dbg !76
  br i1 %210, label %"22", label %"21", !dbg !76

"21":                                             ; preds = %"20"
  %211 = bitcast %"struct.array1_integer(kind=4).5"* %atmp.11 to %struct.array_descriptor1*, !dbg !76
  %212 = getelementptr inbounds %struct.array_descriptor1* %211, i32 0, i32 0, !dbg !76
  %213 = load i8** %212, align 8, !dbg !76
  %214 = bitcast i8* %213 to [0 x i32]*, !dbg !76
  %215 = bitcast [0 x i32]* %214 to i32*, !dbg !76
  %216 = getelementptr i32* %215, i64 %208, !dbg !76
  store i32 %209, i32* %216, align 4, !dbg !76
  %217 = add i64 %208, 1, !dbg !76
  %218 = add i32 %209, -3, !dbg !76
  br label %"20", !dbg !76

"22":                                             ; preds = %"20"
  %219 = add i64 %208, -1, !dbg !76
  %220 = bitcast %"struct.array1_integer(kind=4).5"* %atmp.11 to %struct.array_descriptor1*, !dbg !76
  %221 = getelementptr inbounds %struct.array_descriptor1* %220, i32 0, i32 3, !dbg !76
  %222 = bitcast [1 x %struct.descriptor_dimension]* %221 to %struct.descriptor_dimension*, !dbg !76
  %223 = getelementptr %struct.descriptor_dimension* %222, i64 0, !dbg !76
  %224 = getelementptr inbounds %struct.descriptor_dimension* %223, i32 0, i32 2, !dbg !76
  store i64 %219, i64* %224, align 8, !dbg !76
  %225 = bitcast %"struct.array1_integer(kind=4).4"* %atmp.14 to %struct.array_descriptor1*, !dbg !76
  %226 = getelementptr inbounds %struct.array_descriptor1* %225, i32 0, i32 2, !dbg !76
  store i64 265, i64* %226, align 8, !dbg !76
  %227 = bitcast %"struct.array1_integer(kind=4).4"* %atmp.14 to %struct.array_descriptor1*, !dbg !76
  %228 = getelementptr inbounds %struct.array_descriptor1* %227, i32 0, i32 3, !dbg !76
  %229 = bitcast [1 x %struct.descriptor_dimension]* %228 to %struct.descriptor_dimension*, !dbg !76
  %230 = getelementptr %struct.descriptor_dimension* %229, i64 0, !dbg !76
  %231 = getelementptr inbounds %struct.descriptor_dimension* %230, i32 0, i32 0, !dbg !76
  store i64 1, i64* %231, align 8, !dbg !76
  %232 = bitcast %"struct.array1_integer(kind=4).4"* %atmp.14 to %struct.array_descriptor1*, !dbg !76
  %233 = getelementptr inbounds %struct.array_descriptor1* %232, i32 0, i32 3, !dbg !76
  %234 = bitcast [1 x %struct.descriptor_dimension]* %233 to %struct.descriptor_dimension*, !dbg !76
  %235 = getelementptr %struct.descriptor_dimension* %234, i64 0, !dbg !76
  %236 = getelementptr inbounds %struct.descriptor_dimension* %235, i32 0, i32 1, !dbg !76
  store i64 0, i64* %236, align 8, !dbg !76
  %237 = bitcast %"struct.array1_integer(kind=4).4"* %atmp.14 to %struct.array_descriptor1*, !dbg !76
  %238 = getelementptr inbounds %struct.array_descriptor1* %237, i32 0, i32 3, !dbg !76
  %239 = bitcast [1 x %struct.descriptor_dimension]* %238 to %struct.descriptor_dimension*, !dbg !76
  %240 = getelementptr %struct.descriptor_dimension* %239, i64 0, !dbg !76
  %241 = getelementptr inbounds %struct.descriptor_dimension* %240, i32 0, i32 2, !dbg !76
  store i64 %219, i64* %241, align 8, !dbg !76
  %242 = add i64 %219, 1, !dbg !76
  %243 = icmp sle i64 %242, 0, !dbg !76
  %244 = add i64 %219, 1, !dbg !76
  %245 = icmp ne i1 %243, false, !dbg !76
  br i1 %245, label %"23", label %"24", !dbg !76

"23":                                             ; preds = %"22"
  br label %"25", !dbg !76

"24":                                             ; preds = %"22"
  %246 = mul i64 %244, 4, !dbg !76
  br label %"25", !dbg !76

"25":                                             ; preds = %"24", %"23"
  %247 = phi i64 [ %246, %"24" ], [ 0, %"23" ], !dbg !76
  %248 = icmp uge i64 %247, 1, !dbg !76
  %249 = select i1 %248, i64 %247, i64 1, !dbg !76
  %250 = call noalias i8* @malloc(i64 %249) #3, !dbg !76
  %251 = bitcast %"struct.array1_integer(kind=4).4"* %atmp.14 to %struct.array_descriptor1*, !dbg !76
  %252 = getelementptr inbounds %struct.array_descriptor1* %251, i32 0, i32 0, !dbg !76
  store i8* %250, i8** %252, align 8, !dbg !76
  %253 = bitcast %"struct.array1_integer(kind=4).4"* %atmp.14 to %struct.array_descriptor1*, !dbg !76
  %254 = getelementptr inbounds %struct.array_descriptor1* %253, i32 0, i32 1, !dbg !76
  store i64 0, i64* %254, align 8, !dbg !76
  br label %"26", !dbg !76

"26":                                             ; preds = %"27", %"25"
  %255 = phi i64 [ %270, %"27" ], [ 0, %"25" ], !dbg !76
  %256 = icmp sgt i64 %255, %219, !dbg !76
  br i1 %256, label %"28", label %"27", !dbg !76

"27":                                             ; preds = %"26"
  %257 = bitcast %"struct.array1_integer(kind=4).4"* %atmp.14 to %struct.array_descriptor1*, !dbg !76
  %258 = getelementptr inbounds %struct.array_descriptor1* %257, i32 0, i32 0, !dbg !76
  %259 = load i8** %258, align 8, !dbg !76
  %260 = bitcast %"struct.array1_integer(kind=4).5"* %atmp.11 to %struct.array_descriptor1*, !dbg !76
  %261 = getelementptr inbounds %struct.array_descriptor1* %260, i32 0, i32 0, !dbg !76
  %262 = load i8** %261, align 8, !dbg !76
  %263 = bitcast i8* %262 to [0 x i32]*, !dbg !76
  %264 = bitcast [0 x i32]* %263 to i32*, !dbg !76
  %265 = getelementptr i32* %264, i64 %255, !dbg !76
  %266 = load i32* %265, align 4, !dbg !76
  %267 = bitcast i8* %259 to [0 x i32]*, !dbg !76
  %268 = bitcast [0 x i32]* %267 to i32*, !dbg !76
  %269 = getelementptr i32* %268, i64 %255, !dbg !76
  store i32 %266, i32* %269, align 4, !dbg !76
  %270 = add i64 %255, 1, !dbg !76
  br label %"26", !dbg !76

"28":                                             ; preds = %"26"
  call void bitcast (void (i32*, i32*, i32*, %"struct.array1_integer(kind=4)"*)* @test.1548 to void (i32*, i32*, i32*, %"struct.array1_integer(kind=4).4"*)*)(i32* noalias %0, i32* @3, i32* @4, %"struct.array1_integer(kind=4).4"* %atmp.14) #3, !dbg !76
  %271 = bitcast %"struct.array1_integer(kind=4).5"* %atmp.11 to %struct.array_descriptor1*, !dbg !76
  %272 = getelementptr inbounds %struct.array_descriptor1* %271, i32 0, i32 0, !dbg !76
  %273 = load i8** %272, align 8, !dbg !76
  %274 = icmp ne i8* %273, null, !dbg !76
  br i1 %274, label %"29", label %"30", !dbg !76

"29":                                             ; preds = %"28"
  call void @free(i8* %273) #3, !dbg !76
  br label %"30", !dbg !76

"30":                                             ; preds = %"29", %"28"
  %275 = bitcast %"struct.array1_integer(kind=4).4"* %atmp.14 to %struct.array_descriptor1*, !dbg !76
  %276 = getelementptr inbounds %struct.array_descriptor1* %275, i32 0, i32 0, !dbg !76
  %277 = load i8** %276, align 8, !dbg !76
  %278 = icmp ne i8* %277, null, !dbg !76
  br i1 %278, label %"31", label %"32", !dbg !76

"31":                                             ; preds = %"30"
  call void @free(i8* %277) #3, !dbg !76
  br label %"32", !dbg !76

"32":                                             ; preds = %"31", %"30"
  br i1 true, label %"33", label %"65", !dbg !77

"33":                                             ; preds = %"64", %"32"
  %279 = phi i32 [ %567, %"64" ], [ -10, %"32" ], !dbg !77
  %280 = load i32* %0, align 4, !dbg !78
  %281 = add i32 %280, %279, !dbg !78
  store i32 %281, i32* %D.1638, align 4, !dbg !78
  %282 = bitcast %"struct.array1_integer(kind=4).7"* %atmp.16 to %struct.array_descriptor1*, !dbg !78
  %283 = getelementptr inbounds %struct.array_descriptor1* %282, i32 0, i32 2, !dbg !78
  store i64 265, i64* %283, align 8, !dbg !78
  %284 = bitcast %"struct.array1_integer(kind=4).7"* %atmp.16 to %struct.array_descriptor1*, !dbg !78
  %285 = getelementptr inbounds %struct.array_descriptor1* %284, i32 0, i32 3, !dbg !78
  %286 = bitcast [1 x %struct.descriptor_dimension]* %285 to %struct.descriptor_dimension*, !dbg !78
  %287 = getelementptr %struct.descriptor_dimension* %286, i64 0, !dbg !78
  %288 = getelementptr inbounds %struct.descriptor_dimension* %287, i32 0, i32 0, !dbg !78
  store i64 1, i64* %288, align 8, !dbg !78
  %289 = bitcast %"struct.array1_integer(kind=4).7"* %atmp.16 to %struct.array_descriptor1*, !dbg !78
  %290 = getelementptr inbounds %struct.array_descriptor1* %289, i32 0, i32 3, !dbg !78
  %291 = bitcast [1 x %struct.descriptor_dimension]* %290 to %struct.descriptor_dimension*, !dbg !78
  %292 = getelementptr %struct.descriptor_dimension* %291, i64 0, !dbg !78
  %293 = getelementptr inbounds %struct.descriptor_dimension* %292, i32 0, i32 1, !dbg !78
  store i64 0, i64* %293, align 8, !dbg !78
  %294 = bitcast %"struct.array1_integer(kind=4).7"* %atmp.16 to %struct.array_descriptor1*, !dbg !78
  %295 = getelementptr inbounds %struct.array_descriptor1* %294, i32 0, i32 3, !dbg !78
  %296 = bitcast [1 x %struct.descriptor_dimension]* %295 to %struct.descriptor_dimension*, !dbg !78
  %297 = getelementptr %struct.descriptor_dimension* %296, i64 0, !dbg !78
  %298 = getelementptr inbounds %struct.descriptor_dimension* %297, i32 0, i32 2, !dbg !78
  store i64 -1, i64* %298, align 8, !dbg !78
  %299 = bitcast %"struct.array1_integer(kind=4).7"* %atmp.16 to %struct.array_descriptor1*, !dbg !78
  %300 = getelementptr inbounds %struct.array_descriptor1* %299, i32 0, i32 0, !dbg !78
  store i8* null, i8** %300, align 8, !dbg !78
  %301 = bitcast %"struct.array1_integer(kind=4).7"* %atmp.16 to %struct.array_descriptor1*, !dbg !78
  %302 = getelementptr inbounds %struct.array_descriptor1* %301, i32 0, i32 1, !dbg !78
  store i64 0, i64* %302, align 8, !dbg !78
  %303 = load i32* %0, align 4, !dbg !78
  %304 = add i32 %303, %279, !dbg !78
  %305 = load i32* %0, align 4, !dbg !78
  %306 = bitcast %"struct.array1_integer(kind=4).7"* %atmp.16 to %struct.array_descriptor1*, !dbg !78
  %307 = getelementptr inbounds %struct.array_descriptor1* %306, i32 0, i32 3, !dbg !78
  %308 = bitcast [1 x %struct.descriptor_dimension]* %307 to %struct.descriptor_dimension*, !dbg !78
  %309 = getelementptr %struct.descriptor_dimension* %308, i64 0, !dbg !78
  %310 = getelementptr inbounds %struct.descriptor_dimension* %309, i32 0, i32 2, !dbg !78
  %311 = load i64* %310, align 8, !dbg !78
  %312 = sub i32 %305, %304, !dbg !78
  %313 = icmp sge i32 %312, 0, !dbg !78
  %314 = icmp ne i1 %313, true, !dbg !78
  %315 = icmp ne i32 %312, 0, !dbg !78
  %316 = and i1 %314, %315, !dbg !78
  %317 = select i1 %316, i32 1, i32 0, !dbg !78
  %318 = sext i1 %316 to i32, !dbg !78
  %319 = and i32 1, %318, !dbg !78
  %320 = add i32 %312, %319, !dbg !78
  %321 = sdiv i32 %320, 5, !dbg !78
  %fdiv5 = sub i32 %321, %317, !dbg !78
  %322 = add i32 %fdiv5, 1, !dbg !78
  %323 = icmp sge i32 %322, 0, !dbg !78
  %324 = select i1 %323, i32 %322, i32 0, !dbg !78
  %325 = sext i32 %324 to i64, !dbg !78
  %326 = add i64 %311, %325, !dbg !78
  %327 = bitcast %"struct.array1_integer(kind=4).7"* %atmp.16 to %struct.array_descriptor1*, !dbg !78
  %328 = getelementptr inbounds %struct.array_descriptor1* %327, i32 0, i32 3, !dbg !78
  %329 = bitcast [1 x %struct.descriptor_dimension]* %328 to %struct.descriptor_dimension*, !dbg !78
  %330 = getelementptr %struct.descriptor_dimension* %329, i64 0, !dbg !78
  %331 = getelementptr inbounds %struct.descriptor_dimension* %330, i32 0, i32 2, !dbg !78
  store i64 %326, i64* %331, align 8, !dbg !78
  %332 = bitcast %"struct.array1_integer(kind=4).7"* %atmp.16 to %struct.array_descriptor1*, !dbg !78
  %333 = getelementptr inbounds %struct.array_descriptor1* %332, i32 0, i32 3, !dbg !78
  %334 = bitcast [1 x %struct.descriptor_dimension]* %333 to %struct.descriptor_dimension*, !dbg !78
  %335 = getelementptr %struct.descriptor_dimension* %334, i64 0, !dbg !78
  %336 = getelementptr inbounds %struct.descriptor_dimension* %335, i32 0, i32 2, !dbg !78
  %337 = load i64* %336, align 8, !dbg !78
  %338 = add i64 %337, 1, !dbg !78
  %339 = mul i64 %338, 4, !dbg !78
  %340 = bitcast %"struct.array1_integer(kind=4).7"* %atmp.16 to %struct.array_descriptor1*, !dbg !78
  %341 = getelementptr inbounds %struct.array_descriptor1* %340, i32 0, i32 0, !dbg !78
  %342 = load i8** %341, align 8, !dbg !78
  %343 = call i8* bitcast (i8* (i64, i8*)* @realloc to i8* (i8*, i64)*)(i8* noalias %342, i64 %339) #3, !dbg !78
  %344 = bitcast i8* %343 to [0 x i32]*, !dbg !78
  %345 = icmp eq [0 x i32]* %344, null, !dbg !78
  %346 = icmp ne i64 %339, 0, !dbg !78
  %toBool6 = icmp ne i1 %345, false, !dbg !78
  %toBool7 = icmp ne i1 %346, false, !dbg !78
  %347 = and i1 %toBool6, %toBool7, !dbg !78
  %348 = icmp ne i1 %347, false, !dbg !78
  br i1 %348, label %"34", label %"35", !dbg !78

"34":                                             ; preds = %"33"
  call void @_gfortran_os_error(i8* getelementptr inbounds ([37 x i8]* @.cst, i64 0, i64 0)) #4, !dbg !78
  unreachable, !dbg !78

"35":                                             ; preds = %"33"
  %349 = bitcast [0 x i32]* %344 to i8*, !dbg !78
  %350 = bitcast %"struct.array1_integer(kind=4).7"* %atmp.16 to %struct.array_descriptor1*, !dbg !78
  %351 = getelementptr inbounds %struct.array_descriptor1* %350, i32 0, i32 0, !dbg !78
  store i8* %349, i8** %351, align 8, !dbg !78
  br label %"36", !dbg !78

"36":                                             ; preds = %"37", %"35"
  %352 = phi i64 [ %361, %"37" ], [ 0, %"35" ], !dbg !78
  %353 = phi i32 [ %362, %"37" ], [ %304, %"35" ], !dbg !78
  %354 = icmp sgt i32 %353, %305, !dbg !78
  br i1 %354, label %"38", label %"37", !dbg !78

"37":                                             ; preds = %"36"
  %355 = bitcast %"struct.array1_integer(kind=4).7"* %atmp.16 to %struct.array_descriptor1*, !dbg !78
  %356 = getelementptr inbounds %struct.array_descriptor1* %355, i32 0, i32 0, !dbg !78
  %357 = load i8** %356, align 8, !dbg !78
  %358 = bitcast i8* %357 to [0 x i32]*, !dbg !78
  %359 = bitcast [0 x i32]* %358 to i32*, !dbg !78
  %360 = getelementptr i32* %359, i64 %352, !dbg !78
  store i32 %353, i32* %360, align 4, !dbg !78
  %361 = add i64 %352, 1, !dbg !78
  %362 = add i32 %353, 5, !dbg !78
  br label %"36", !dbg !78

"38":                                             ; preds = %"36"
  %363 = add i64 %352, -1, !dbg !78
  %364 = bitcast %"struct.array1_integer(kind=4).7"* %atmp.16 to %struct.array_descriptor1*, !dbg !78
  %365 = getelementptr inbounds %struct.array_descriptor1* %364, i32 0, i32 3, !dbg !78
  %366 = bitcast [1 x %struct.descriptor_dimension]* %365 to %struct.descriptor_dimension*, !dbg !78
  %367 = getelementptr %struct.descriptor_dimension* %366, i64 0, !dbg !78
  %368 = getelementptr inbounds %struct.descriptor_dimension* %367, i32 0, i32 2, !dbg !78
  store i64 %363, i64* %368, align 8, !dbg !78
  %369 = bitcast %"struct.array1_integer(kind=4).6"* %atmp.19 to %struct.array_descriptor1*, !dbg !78
  %370 = getelementptr inbounds %struct.array_descriptor1* %369, i32 0, i32 2, !dbg !78
  store i64 265, i64* %370, align 8, !dbg !78
  %371 = bitcast %"struct.array1_integer(kind=4).6"* %atmp.19 to %struct.array_descriptor1*, !dbg !78
  %372 = getelementptr inbounds %struct.array_descriptor1* %371, i32 0, i32 3, !dbg !78
  %373 = bitcast [1 x %struct.descriptor_dimension]* %372 to %struct.descriptor_dimension*, !dbg !78
  %374 = getelementptr %struct.descriptor_dimension* %373, i64 0, !dbg !78
  %375 = getelementptr inbounds %struct.descriptor_dimension* %374, i32 0, i32 0, !dbg !78
  store i64 1, i64* %375, align 8, !dbg !78
  %376 = bitcast %"struct.array1_integer(kind=4).6"* %atmp.19 to %struct.array_descriptor1*, !dbg !78
  %377 = getelementptr inbounds %struct.array_descriptor1* %376, i32 0, i32 3, !dbg !78
  %378 = bitcast [1 x %struct.descriptor_dimension]* %377 to %struct.descriptor_dimension*, !dbg !78
  %379 = getelementptr %struct.descriptor_dimension* %378, i64 0, !dbg !78
  %380 = getelementptr inbounds %struct.descriptor_dimension* %379, i32 0, i32 1, !dbg !78
  store i64 0, i64* %380, align 8, !dbg !78
  %381 = bitcast %"struct.array1_integer(kind=4).6"* %atmp.19 to %struct.array_descriptor1*, !dbg !78
  %382 = getelementptr inbounds %struct.array_descriptor1* %381, i32 0, i32 3, !dbg !78
  %383 = bitcast [1 x %struct.descriptor_dimension]* %382 to %struct.descriptor_dimension*, !dbg !78
  %384 = getelementptr %struct.descriptor_dimension* %383, i64 0, !dbg !78
  %385 = getelementptr inbounds %struct.descriptor_dimension* %384, i32 0, i32 2, !dbg !78
  store i64 %363, i64* %385, align 8, !dbg !78
  %386 = add i64 %363, 1, !dbg !78
  %387 = icmp sle i64 %386, 0, !dbg !78
  %388 = add i64 %363, 1, !dbg !78
  %389 = icmp ne i1 %387, false, !dbg !78
  br i1 %389, label %"39", label %"40", !dbg !78

"39":                                             ; preds = %"38"
  br label %"41", !dbg !78

"40":                                             ; preds = %"38"
  %390 = mul i64 %388, 4, !dbg !78
  br label %"41", !dbg !78

"41":                                             ; preds = %"40", %"39"
  %391 = phi i64 [ %390, %"40" ], [ 0, %"39" ], !dbg !78
  %392 = icmp uge i64 %391, 1, !dbg !78
  %393 = select i1 %392, i64 %391, i64 1, !dbg !78
  %394 = call noalias i8* @malloc(i64 %393) #3, !dbg !78
  %395 = bitcast %"struct.array1_integer(kind=4).6"* %atmp.19 to %struct.array_descriptor1*, !dbg !78
  %396 = getelementptr inbounds %struct.array_descriptor1* %395, i32 0, i32 0, !dbg !78
  store i8* %394, i8** %396, align 8, !dbg !78
  %397 = bitcast %"struct.array1_integer(kind=4).6"* %atmp.19 to %struct.array_descriptor1*, !dbg !78
  %398 = getelementptr inbounds %struct.array_descriptor1* %397, i32 0, i32 1, !dbg !78
  store i64 0, i64* %398, align 8, !dbg !78
  br label %"42", !dbg !78

"42":                                             ; preds = %"43", %"41"
  %399 = phi i64 [ %414, %"43" ], [ 0, %"41" ], !dbg !78
  %400 = icmp sgt i64 %399, %363, !dbg !78
  br i1 %400, label %"44", label %"43", !dbg !78

"43":                                             ; preds = %"42"
  %401 = bitcast %"struct.array1_integer(kind=4).6"* %atmp.19 to %struct.array_descriptor1*, !dbg !78
  %402 = getelementptr inbounds %struct.array_descriptor1* %401, i32 0, i32 0, !dbg !78
  %403 = load i8** %402, align 8, !dbg !78
  %404 = bitcast %"struct.array1_integer(kind=4).7"* %atmp.16 to %struct.array_descriptor1*, !dbg !78
  %405 = getelementptr inbounds %struct.array_descriptor1* %404, i32 0, i32 0, !dbg !78
  %406 = load i8** %405, align 8, !dbg !78
  %407 = bitcast i8* %406 to [0 x i32]*, !dbg !78
  %408 = bitcast [0 x i32]* %407 to i32*, !dbg !78
  %409 = getelementptr i32* %408, i64 %399, !dbg !78
  %410 = load i32* %409, align 4, !dbg !78
  %411 = bitcast i8* %403 to [0 x i32]*, !dbg !78
  %412 = bitcast [0 x i32]* %411 to i32*, !dbg !78
  %413 = getelementptr i32* %412, i64 %399, !dbg !78
  store i32 %410, i32* %413, align 4, !dbg !78
  %414 = add i64 %399, 1, !dbg !78
  br label %"42", !dbg !78

"44":                                             ; preds = %"42"
  call void bitcast (void (i32*, i32*, i32*, %"struct.array1_integer(kind=4)"*)* @test.1548 to void (i32*, i32*, i32*, %"struct.array1_integer(kind=4).6"*)*)(i32* %D.1638, i32* noalias %0, i32* @5, %"struct.array1_integer(kind=4).6"* %atmp.19) #3, !dbg !78
  %415 = bitcast %"struct.array1_integer(kind=4).7"* %atmp.16 to %struct.array_descriptor1*, !dbg !78
  %416 = getelementptr inbounds %struct.array_descriptor1* %415, i32 0, i32 0, !dbg !78
  %417 = load i8** %416, align 8, !dbg !78
  %418 = icmp ne i8* %417, null, !dbg !78
  br i1 %418, label %"45", label %"46", !dbg !78

"45":                                             ; preds = %"44"
  call void @free(i8* %417) #3, !dbg !78
  br label %"46", !dbg !78

"46":                                             ; preds = %"45", %"44"
  %419 = bitcast %"struct.array1_integer(kind=4).6"* %atmp.19 to %struct.array_descriptor1*, !dbg !78
  %420 = getelementptr inbounds %struct.array_descriptor1* %419, i32 0, i32 0, !dbg !78
  %421 = load i8** %420, align 8, !dbg !78
  %422 = icmp ne i8* %421, null, !dbg !78
  br i1 %422, label %"47", label %"48", !dbg !78

"47":                                             ; preds = %"46"
  call void @free(i8* %421) #3, !dbg !78
  br label %"48", !dbg !78

"48":                                             ; preds = %"47", %"46"
  %423 = load i32* %0, align 4, !dbg !79
  %424 = add i32 %423, %279, !dbg !79
  store i32 %424, i32* %D.1663, align 4, !dbg !79
  %425 = bitcast %"struct.array1_integer(kind=4).9"* %atmp.21 to %struct.array_descriptor1*, !dbg !79
  %426 = getelementptr inbounds %struct.array_descriptor1* %425, i32 0, i32 2, !dbg !79
  store i64 265, i64* %426, align 8, !dbg !79
  %427 = bitcast %"struct.array1_integer(kind=4).9"* %atmp.21 to %struct.array_descriptor1*, !dbg !79
  %428 = getelementptr inbounds %struct.array_descriptor1* %427, i32 0, i32 3, !dbg !79
  %429 = bitcast [1 x %struct.descriptor_dimension]* %428 to %struct.descriptor_dimension*, !dbg !79
  %430 = getelementptr %struct.descriptor_dimension* %429, i64 0, !dbg !79
  %431 = getelementptr inbounds %struct.descriptor_dimension* %430, i32 0, i32 0, !dbg !79
  store i64 1, i64* %431, align 8, !dbg !79
  %432 = bitcast %"struct.array1_integer(kind=4).9"* %atmp.21 to %struct.array_descriptor1*, !dbg !79
  %433 = getelementptr inbounds %struct.array_descriptor1* %432, i32 0, i32 3, !dbg !79
  %434 = bitcast [1 x %struct.descriptor_dimension]* %433 to %struct.descriptor_dimension*, !dbg !79
  %435 = getelementptr %struct.descriptor_dimension* %434, i64 0, !dbg !79
  %436 = getelementptr inbounds %struct.descriptor_dimension* %435, i32 0, i32 1, !dbg !79
  store i64 0, i64* %436, align 8, !dbg !79
  %437 = bitcast %"struct.array1_integer(kind=4).9"* %atmp.21 to %struct.array_descriptor1*, !dbg !79
  %438 = getelementptr inbounds %struct.array_descriptor1* %437, i32 0, i32 3, !dbg !79
  %439 = bitcast [1 x %struct.descriptor_dimension]* %438 to %struct.descriptor_dimension*, !dbg !79
  %440 = getelementptr %struct.descriptor_dimension* %439, i64 0, !dbg !79
  %441 = getelementptr inbounds %struct.descriptor_dimension* %440, i32 0, i32 2, !dbg !79
  store i64 -1, i64* %441, align 8, !dbg !79
  %442 = bitcast %"struct.array1_integer(kind=4).9"* %atmp.21 to %struct.array_descriptor1*, !dbg !79
  %443 = getelementptr inbounds %struct.array_descriptor1* %442, i32 0, i32 0, !dbg !79
  store i8* null, i8** %443, align 8, !dbg !79
  %444 = bitcast %"struct.array1_integer(kind=4).9"* %atmp.21 to %struct.array_descriptor1*, !dbg !79
  %445 = getelementptr inbounds %struct.array_descriptor1* %444, i32 0, i32 1, !dbg !79
  store i64 0, i64* %445, align 8, !dbg !79
  %446 = load i32* %0, align 4, !dbg !79
  %447 = add i32 %446, %279, !dbg !79
  %448 = load i32* %0, align 4, !dbg !79
  %449 = bitcast %"struct.array1_integer(kind=4).9"* %atmp.21 to %struct.array_descriptor1*, !dbg !79
  %450 = getelementptr inbounds %struct.array_descriptor1* %449, i32 0, i32 3, !dbg !79
  %451 = bitcast [1 x %struct.descriptor_dimension]* %450 to %struct.descriptor_dimension*, !dbg !79
  %452 = getelementptr %struct.descriptor_dimension* %451, i64 0, !dbg !79
  %453 = getelementptr inbounds %struct.descriptor_dimension* %452, i32 0, i32 2, !dbg !79
  %454 = load i64* %453, align 8, !dbg !79
  %455 = sub i32 %448, %447, !dbg !79
  %456 = icmp sge i32 %455, 0, !dbg !79
  %457 = icmp ne i1 %456, false, !dbg !79
  %458 = icmp ne i32 %455, 0, !dbg !79
  %459 = and i1 %457, %458, !dbg !79
  %460 = select i1 %459, i32 1, i32 0, !dbg !79
  %461 = sext i1 %459 to i32, !dbg !79
  %462 = and i32 -1, %461, !dbg !79
  %463 = add i32 %455, %462, !dbg !79
  %464 = sdiv i32 %463, -5, !dbg !79
  %fdiv8 = sub i32 %464, %460, !dbg !79
  %465 = add i32 %fdiv8, 1, !dbg !79
  %466 = icmp sge i32 %465, 0, !dbg !79
  %467 = select i1 %466, i32 %465, i32 0, !dbg !79
  %468 = sext i32 %467 to i64, !dbg !79
  %469 = add i64 %454, %468, !dbg !79
  %470 = bitcast %"struct.array1_integer(kind=4).9"* %atmp.21 to %struct.array_descriptor1*, !dbg !79
  %471 = getelementptr inbounds %struct.array_descriptor1* %470, i32 0, i32 3, !dbg !79
  %472 = bitcast [1 x %struct.descriptor_dimension]* %471 to %struct.descriptor_dimension*, !dbg !79
  %473 = getelementptr %struct.descriptor_dimension* %472, i64 0, !dbg !79
  %474 = getelementptr inbounds %struct.descriptor_dimension* %473, i32 0, i32 2, !dbg !79
  store i64 %469, i64* %474, align 8, !dbg !79
  %475 = bitcast %"struct.array1_integer(kind=4).9"* %atmp.21 to %struct.array_descriptor1*, !dbg !79
  %476 = getelementptr inbounds %struct.array_descriptor1* %475, i32 0, i32 3, !dbg !79
  %477 = bitcast [1 x %struct.descriptor_dimension]* %476 to %struct.descriptor_dimension*, !dbg !79
  %478 = getelementptr %struct.descriptor_dimension* %477, i64 0, !dbg !79
  %479 = getelementptr inbounds %struct.descriptor_dimension* %478, i32 0, i32 2, !dbg !79
  %480 = load i64* %479, align 8, !dbg !79
  %481 = add i64 %480, 1, !dbg !79
  %482 = mul i64 %481, 4, !dbg !79
  %483 = bitcast %"struct.array1_integer(kind=4).9"* %atmp.21 to %struct.array_descriptor1*, !dbg !79
  %484 = getelementptr inbounds %struct.array_descriptor1* %483, i32 0, i32 0, !dbg !79
  %485 = load i8** %484, align 8, !dbg !79
  %486 = call i8* bitcast (i8* (i64, i8*)* @realloc to i8* (i8*, i64)*)(i8* noalias %485, i64 %482) #3, !dbg !79
  %487 = bitcast i8* %486 to [0 x i32]*, !dbg !79
  %488 = icmp eq [0 x i32]* %487, null, !dbg !79
  %489 = icmp ne i64 %482, 0, !dbg !79
  %toBool9 = icmp ne i1 %488, false, !dbg !79
  %toBool10 = icmp ne i1 %489, false, !dbg !79
  %490 = and i1 %toBool9, %toBool10, !dbg !79
  %491 = icmp ne i1 %490, false, !dbg !79
  br i1 %491, label %"49", label %"50", !dbg !79

"49":                                             ; preds = %"48"
  call void @_gfortran_os_error(i8* getelementptr inbounds ([37 x i8]* @.cst, i64 0, i64 0)) #4, !dbg !79
  unreachable, !dbg !79

"50":                                             ; preds = %"48"
  %492 = bitcast [0 x i32]* %487 to i8*, !dbg !79
  %493 = bitcast %"struct.array1_integer(kind=4).9"* %atmp.21 to %struct.array_descriptor1*, !dbg !79
  %494 = getelementptr inbounds %struct.array_descriptor1* %493, i32 0, i32 0, !dbg !79
  store i8* %492, i8** %494, align 8, !dbg !79
  br label %"51", !dbg !79

"51":                                             ; preds = %"52", %"50"
  %495 = phi i64 [ %504, %"52" ], [ 0, %"50" ], !dbg !79
  %496 = phi i32 [ %505, %"52" ], [ %447, %"50" ], !dbg !79
  %497 = icmp slt i32 %496, %448, !dbg !79
  br i1 %497, label %"53", label %"52", !dbg !79

"52":                                             ; preds = %"51"
  %498 = bitcast %"struct.array1_integer(kind=4).9"* %atmp.21 to %struct.array_descriptor1*, !dbg !79
  %499 = getelementptr inbounds %struct.array_descriptor1* %498, i32 0, i32 0, !dbg !79
  %500 = load i8** %499, align 8, !dbg !79
  %501 = bitcast i8* %500 to [0 x i32]*, !dbg !79
  %502 = bitcast [0 x i32]* %501 to i32*, !dbg !79
  %503 = getelementptr i32* %502, i64 %495, !dbg !79
  store i32 %496, i32* %503, align 4, !dbg !79
  %504 = add i64 %495, 1, !dbg !79
  %505 = add i32 %496, -5, !dbg !79
  br label %"51", !dbg !79

"53":                                             ; preds = %"51"
  %506 = add i64 %495, -1, !dbg !79
  %507 = bitcast %"struct.array1_integer(kind=4).9"* %atmp.21 to %struct.array_descriptor1*, !dbg !79
  %508 = getelementptr inbounds %struct.array_descriptor1* %507, i32 0, i32 3, !dbg !79
  %509 = bitcast [1 x %struct.descriptor_dimension]* %508 to %struct.descriptor_dimension*, !dbg !79
  %510 = getelementptr %struct.descriptor_dimension* %509, i64 0, !dbg !79
  %511 = getelementptr inbounds %struct.descriptor_dimension* %510, i32 0, i32 2, !dbg !79
  store i64 %506, i64* %511, align 8, !dbg !79
  %512 = bitcast %"struct.array1_integer(kind=4).8"* %atmp.24 to %struct.array_descriptor1*, !dbg !79
  %513 = getelementptr inbounds %struct.array_descriptor1* %512, i32 0, i32 2, !dbg !79
  store i64 265, i64* %513, align 8, !dbg !79
  %514 = bitcast %"struct.array1_integer(kind=4).8"* %atmp.24 to %struct.array_descriptor1*, !dbg !79
  %515 = getelementptr inbounds %struct.array_descriptor1* %514, i32 0, i32 3, !dbg !79
  %516 = bitcast [1 x %struct.descriptor_dimension]* %515 to %struct.descriptor_dimension*, !dbg !79
  %517 = getelementptr %struct.descriptor_dimension* %516, i64 0, !dbg !79
  %518 = getelementptr inbounds %struct.descriptor_dimension* %517, i32 0, i32 0, !dbg !79
  store i64 1, i64* %518, align 8, !dbg !79
  %519 = bitcast %"struct.array1_integer(kind=4).8"* %atmp.24 to %struct.array_descriptor1*, !dbg !79
  %520 = getelementptr inbounds %struct.array_descriptor1* %519, i32 0, i32 3, !dbg !79
  %521 = bitcast [1 x %struct.descriptor_dimension]* %520 to %struct.descriptor_dimension*, !dbg !79
  %522 = getelementptr %struct.descriptor_dimension* %521, i64 0, !dbg !79
  %523 = getelementptr inbounds %struct.descriptor_dimension* %522, i32 0, i32 1, !dbg !79
  store i64 0, i64* %523, align 8, !dbg !79
  %524 = bitcast %"struct.array1_integer(kind=4).8"* %atmp.24 to %struct.array_descriptor1*, !dbg !79
  %525 = getelementptr inbounds %struct.array_descriptor1* %524, i32 0, i32 3, !dbg !79
  %526 = bitcast [1 x %struct.descriptor_dimension]* %525 to %struct.descriptor_dimension*, !dbg !79
  %527 = getelementptr %struct.descriptor_dimension* %526, i64 0, !dbg !79
  %528 = getelementptr inbounds %struct.descriptor_dimension* %527, i32 0, i32 2, !dbg !79
  store i64 %506, i64* %528, align 8, !dbg !79
  %529 = add i64 %506, 1, !dbg !79
  %530 = icmp sle i64 %529, 0, !dbg !79
  %531 = add i64 %506, 1, !dbg !79
  %532 = icmp ne i1 %530, false, !dbg !79
  br i1 %532, label %"54", label %"55", !dbg !79

"54":                                             ; preds = %"53"
  br label %"56", !dbg !79

"55":                                             ; preds = %"53"
  %533 = mul i64 %531, 4, !dbg !79
  br label %"56", !dbg !79

"56":                                             ; preds = %"55", %"54"
  %534 = phi i64 [ %533, %"55" ], [ 0, %"54" ], !dbg !79
  %535 = icmp uge i64 %534, 1, !dbg !79
  %536 = select i1 %535, i64 %534, i64 1, !dbg !79
  %537 = call noalias i8* @malloc(i64 %536) #3, !dbg !79
  %538 = bitcast %"struct.array1_integer(kind=4).8"* %atmp.24 to %struct.array_descriptor1*, !dbg !79
  %539 = getelementptr inbounds %struct.array_descriptor1* %538, i32 0, i32 0, !dbg !79
  store i8* %537, i8** %539, align 8, !dbg !79
  %540 = bitcast %"struct.array1_integer(kind=4).8"* %atmp.24 to %struct.array_descriptor1*, !dbg !79
  %541 = getelementptr inbounds %struct.array_descriptor1* %540, i32 0, i32 1, !dbg !79
  store i64 0, i64* %541, align 8, !dbg !79
  br label %"57", !dbg !79

"57":                                             ; preds = %"58", %"56"
  %542 = phi i64 [ %557, %"58" ], [ 0, %"56" ], !dbg !79
  %543 = icmp sgt i64 %542, %506, !dbg !79
  br i1 %543, label %"59", label %"58", !dbg !79

"58":                                             ; preds = %"57"
  %544 = bitcast %"struct.array1_integer(kind=4).8"* %atmp.24 to %struct.array_descriptor1*, !dbg !79
  %545 = getelementptr inbounds %struct.array_descriptor1* %544, i32 0, i32 0, !dbg !79
  %546 = load i8** %545, align 8, !dbg !79
  %547 = bitcast %"struct.array1_integer(kind=4).9"* %atmp.21 to %struct.array_descriptor1*, !dbg !79
  %548 = getelementptr inbounds %struct.array_descriptor1* %547, i32 0, i32 0, !dbg !79
  %549 = load i8** %548, align 8, !dbg !79
  %550 = bitcast i8* %549 to [0 x i32]*, !dbg !79
  %551 = bitcast [0 x i32]* %550 to i32*, !dbg !79
  %552 = getelementptr i32* %551, i64 %542, !dbg !79
  %553 = load i32* %552, align 4, !dbg !79
  %554 = bitcast i8* %546 to [0 x i32]*, !dbg !79
  %555 = bitcast [0 x i32]* %554 to i32*, !dbg !79
  %556 = getelementptr i32* %555, i64 %542, !dbg !79
  store i32 %553, i32* %556, align 4, !dbg !79
  %557 = add i64 %542, 1, !dbg !79
  br label %"57", !dbg !79

"59":                                             ; preds = %"57"
  call void bitcast (void (i32*, i32*, i32*, %"struct.array1_integer(kind=4)"*)* @test.1548 to void (i32*, i32*, i32*, %"struct.array1_integer(kind=4).8"*)*)(i32* %D.1663, i32* noalias %0, i32* @6, %"struct.array1_integer(kind=4).8"* %atmp.24) #3, !dbg !79
  %558 = bitcast %"struct.array1_integer(kind=4).9"* %atmp.21 to %struct.array_descriptor1*, !dbg !79
  %559 = getelementptr inbounds %struct.array_descriptor1* %558, i32 0, i32 0, !dbg !79
  %560 = load i8** %559, align 8, !dbg !79
  %561 = icmp ne i8* %560, null, !dbg !79
  br i1 %561, label %"60", label %"61", !dbg !79

"60":                                             ; preds = %"59"
  call void @free(i8* %560) #3, !dbg !79
  br label %"61", !dbg !79

"61":                                             ; preds = %"60", %"59"
  %562 = bitcast %"struct.array1_integer(kind=4).8"* %atmp.24 to %struct.array_descriptor1*, !dbg !79
  %563 = getelementptr inbounds %struct.array_descriptor1* %562, i32 0, i32 0, !dbg !79
  %564 = load i8** %563, align 8, !dbg !79
  %565 = icmp ne i8* %564, null, !dbg !79
  br i1 %565, label %"62", label %"63", !dbg !79

"62":                                             ; preds = %"61"
  call void @free(i8* %564) #3, !dbg !79
  br label %"63", !dbg !79

"63":                                             ; preds = %"62", %"61"
  %566 = icmp eq i32 %279, 10, !dbg !77
  %567 = add i32 %279, 1, !dbg !77
  %568 = icmp ne i1 %566, false, !dbg !77
  br i1 %568, label %"65", label %"64", !dbg !77

"64":                                             ; preds = %"63"
  br label %"33", !dbg !77

"65":                                             ; preds = %"63", %"32"
  br label %return, !dbg !80

return:                                           ; preds = %"65"
  ret void, !dbg !80
}

; Function Attrs: nounwind
declare i8* @realloc(i64, i8*) #3

; Function Attrs: noreturn
declare void @_gfortran_os_error(i8*) #2

; Function Attrs: nounwind
declare noalias i8* @malloc(i64) #3

; Function Attrs: nounwind
declare void @free(i8*) #3

; Function Attrs: nounwind uwtable
define i32 @main(i32 %argc, i8** %argv) unnamed_addr #0 {
entry:
  %argc_addr = alloca i32, align 4
  %argv_addr = alloca i8**, align 8
  %"<retval>" = alloca i32
  %"alloca point" = bitcast i32 0 to i32
  call void @llvm.dbg.declare(metadata !{i32* %argc_addr}, metadata !81), !dbg !82
  store i32 %argc, i32* %argc_addr, align 1
  call void @llvm.dbg.declare(metadata !{i8*** %argv_addr}, metadata !83), !dbg !82
  store i8** %argv, i8*** %argv_addr, align 1
  %0 = load i32* %argc_addr, align 4
  %1 = load i8*** %argv_addr, align 8
  %"ssa point" = bitcast i32 0 to i32
  br label %"2", !dbg !82

"2":                                              ; preds = %entry
  call void @_gfortran_set_args(i32 %0, i8** %1) #3, !dbg !82
  call void @_gfortran_set_options(i32 8, i32* getelementptr inbounds ([8 x i32]* @options.26.1694, i64 0, i64 0)) #3, !dbg !82
  call void @MAIN__() #0, !dbg !82
  store i32 0, i32* %"<retval>", align 1, !dbg !82
  br label %return, !dbg !82

return:                                           ; preds = %"2"
  %2 = load i32* %"<retval>", align 4, !dbg !82
  ret i32 %2, !dbg !82
}

declare void @_gfortran_set_args(i32, i8**)

declare void @_gfortran_set_options(i32, i32*)

attributes #0 = { nounwind uwtable }
attributes #1 = { nounwind readnone }
attributes #2 = { noreturn }
attributes #3 = { nounwind }
attributes #4 = { noreturn nounwind }

!llvm.dbg.cu = !{!0}

!0 = metadata !{i32 786449, metadata !1, i32 1, metadata !"4.6.4", i1 false, metadata !"", i32 0, metadata !2, metadata !2, metadata !3, metadata !40, metadata !2, metadata !""} ; [ DW_TAG_compile_unit ] [/home/duncan/LLVM/dragonegg//2009-02-09-FloorDivExpr.f90] [DW_LANG_C89]
!1 = metadata !{metadata !"2009-02-09-FloorDivExpr.f90", metadata !"/home/duncan/LLVM/dragonegg/"}
!2 = metadata !{i32 0}
!3 = metadata !{metadata !4, metadata !28, metadata !31, metadata !34}
!4 = metadata !{i32 786478, metadata !1, metadata !5, metadata !"test.1548", metadata !"test.1548", metadata !"test.1548", i32 20, metadata !6, i1 true, i1 true, i32 0, i32 0, null, i32 0, i1 false, void (i32*, i32*, i32*, %"struct.array1_integer(kind=4)"*)* @test.1548, null, null, metadata !2, i32 20} ; [ DW_TAG_subprogram ] [line 20] [local] [def] [test.1548]
!5 = metadata !{i32 786473, metadata !1}          ; [ DW_TAG_file_type ] [/home/duncan/LLVM/dragonegg//2009-02-09-FloorDivExpr.f90]
!6 = metadata !{i32 786453, i32 0, i32 0, metadata !"", i32 0, i64 0, i64 0, i64 0, i32 0, null, metadata !7, i32 0, i32 0} ; [ DW_TAG_subroutine_type ] [line 0, size 0, align 0, offset 0] [from ]
!7 = metadata !{null, metadata !8, metadata !8, metadata !8, metadata !10}
!8 = metadata !{i32 786448, null, null, null, i32 0, i64 0, i64 0, i64 0, i32 0, metadata !9} ; [ DW_TAG_reference_type ] [line 0, size 0, align 0, offset 0] [from integer(kind=4)]
!9 = metadata !{i32 786468, null, null, metadata !"integer(kind=4)", i32 0, i64 32, i64 32, i64 0, i32 0, i32 5} ; [ DW_TAG_base_type ] [integer(kind=4)] [line 0, size 32, align 32, offset 0, enc DW_ATE_signed]
!10 = metadata !{i32 786448, null, null, null, i32 0, i64 0, i64 0, i64 0, i32 0, metadata !11} ; [ DW_TAG_reference_type ] [line 0, size 0, align 0, offset 0] [from array1_integer(kind=4)]
!11 = metadata !{i32 786451, metadata !1, metadata !5, metadata !"array1_integer(kind=4)", i32 20, i64 384, i64 64, i32 0, i32 0, null, metadata !12, i32 0, null, null} ; [ DW_TAG_structure_type ] [array1_integer(kind=4)] [line 20, size 384, align 64, offset 0] [def] [from ]
!12 = metadata !{metadata !13, metadata !16, metadata !18, metadata !19}
!13 = metadata !{i32 786445, metadata !1, metadata !14, metadata !"data", i32 20, i64 64, i64 64, i64 0, i32 0, metadata !15} ; [ DW_TAG_member ] [data] [line 20, size 64, align 64, offset 0] [from ]
!14 = metadata !{i32 786451, metadata !1, metadata !5, metadata !"array_descriptor1", i32 20, i64 384, i64 64, i32 0, i32 0, null, metadata !12, i32 0, null, null} ; [ DW_TAG_structure_type ] [array_descriptor1] [line 20, size 384, align 64, offset 0] [def] [from ]
!15 = metadata !{i32 786447, null, null, metadata !"", i32 0, i64 64, i64 64, i64 0, i32 0, null} ; [ DW_TAG_pointer_type ] [line 0, size 64, align 64, offset 0] [from ]
!16 = metadata !{i32 786445, metadata !1, metadata !14, metadata !"offset", i32 20, i64 64, i64 64, i64 64, i32 0, metadata !17} ; [ DW_TAG_member ] [offset] [line 20, size 64, align 64, offset 64] [from integer(kind=8)]
!17 = metadata !{i32 786468, null, null, metadata !"integer(kind=8)", i32 0, i64 64, i64 64, i64 0, i32 0, i32 5} ; [ DW_TAG_base_type ] [integer(kind=8)] [line 0, size 64, align 64, offset 0, enc DW_ATE_signed]
!18 = metadata !{i32 786445, metadata !1, metadata !14, metadata !"dtype", i32 20, i64 64, i64 64, i64 128, i32 0, metadata !17} ; [ DW_TAG_member ] [dtype] [line 20, size 64, align 64, offset 128] [from integer(kind=8)]
!19 = metadata !{i32 786445, metadata !1, metadata !14, metadata !"dim", i32 20, i64 192, i64 64, i64 192, i32 0, metadata !20} ; [ DW_TAG_member ] [dim] [line 20, size 192, align 64, offset 192] [from ]
!20 = metadata !{i32 786433, null, null, metadata !"", i32 0, i64 192, i64 64, i32 0, i32 0, metadata !21, metadata !26, i32 0, i32 0} ; [ DW_TAG_array_type ] [line 0, size 192, align 64, offset 0] [from descriptor_dimension]
!21 = metadata !{i32 786451, metadata !1, metadata !5, metadata !"descriptor_dimension", i32 20, i64 192, i64 64, i32 0, i32 0, null, metadata !22, i32 0, null, null} ; [ DW_TAG_structure_type ] [descriptor_dimension] [line 20, size 192, align 64, offset 0] [def] [from ]
!22 = metadata !{metadata !23, metadata !24, metadata !25}
!23 = metadata !{i32 786445, metadata !1, metadata !21, metadata !"stride", i32 20, i64 64, i64 64, i64 0, i32 0, metadata !17} ; [ DW_TAG_member ] [stride] [line 20, size 64, align 64, offset 0] [from integer(kind=8)]
!24 = metadata !{i32 786445, metadata !1, metadata !21, metadata !"lbound", i32 20, i64 64, i64 64, i64 64, i32 0, metadata !17} ; [ DW_TAG_member ] [lbound] [line 20, size 64, align 64, offset 64] [from integer(kind=8)]
!25 = metadata !{i32 786445, metadata !1, metadata !21, metadata !"ubound", i32 20, i64 64, i64 64, i64 128, i32 0, metadata !17} ; [ DW_TAG_member ] [ubound] [line 20, size 64, align 64, offset 128] [from integer(kind=8)]
!26 = metadata !{metadata !27}
!27 = metadata !{i32 786465, i64 0, i64 0}        ; [ DW_TAG_subrange_type ] [0, -1]
!28 = metadata !{i32 786478, metadata !1, metadata !5, metadata !"MAIN__", metadata !"MAIN__", metadata !"MAIN__", i32 2, metadata !29, i1 true, i1 true, i32 0, i32 0, null, i32 0, i1 false, void ()* @MAIN__, null, null, metadata !2, i32 2} ; [ DW_TAG_subprogram ] [line 2] [local] [def] [MAIN__]
!29 = metadata !{i32 786453, i32 0, i32 0, metadata !"", i32 0, i64 0, i64 0, i64 0, i32 0, null, metadata !30, i32 0, i32 0} ; [ DW_TAG_subroutine_type ] [line 0, size 0, align 0, offset 0] [from ]
!30 = metadata !{null}
!31 = metadata !{i32 786478, metadata !1, metadata !28, metadata !"build.1554", metadata !"build.1554", metadata !"build.1554", i32 6, metadata !32, i1 true, i1 true, i32 0, i32 0, null, i32 0, i1 false, void (i32*)* @build.1554, null, null, metadata !2, i32 6} ; [ DW_TAG_subprogram ] [line 6] [local] [def] [build.1554]
!32 = metadata !{i32 786453, i32 0, i32 0, metadata !"", i32 0, i64 0, i64 0, i64 0, i32 0, null, metadata !33, i32 0, i32 0} ; [ DW_TAG_subroutine_type ] [line 0, size 0, align 0, offset 0] [from ]
!33 = metadata !{null, metadata !8}
!34 = metadata !{i32 786478, metadata !1, metadata !5, metadata !"main", metadata !"main", metadata !"main", i32 4, metadata !35, i1 false, i1 true, i32 0, i32 0, null, i32 0, i1 false, i32 (i32, i8**)* @main, null, null, metadata !2, i32 4} ; [ DW_TAG_subprogram ] [line 4] [def] [main]
!35 = metadata !{i32 786453, i32 0, i32 0, metadata !"", i32 0, i64 0, i64 0, i64 0, i32 0, null, metadata !36, i32 0, i32 0} ; [ DW_TAG_subroutine_type ] [line 0, size 0, align 0, offset 0] [from ]
!36 = metadata !{metadata !9, metadata !9, metadata !37}
!37 = metadata !{i32 786447, null, null, metadata !"", i32 0, i64 64, i64 64, i64 0, i32 0, metadata !38} ; [ DW_TAG_pointer_type ] [line 0, size 64, align 64, offset 0] [from ]
!38 = metadata !{i32 786447, null, null, metadata !"", i32 0, i64 64, i64 64, i64 0, i32 0, metadata !39} ; [ DW_TAG_pointer_type ] [line 0, size 64, align 64, offset 0] [from character(kind=1)]
!39 = metadata !{i32 786468, null, null, metadata !"character(kind=1)", i32 0, i64 8, i64 8, i64 0, i32 0, i32 8} ; [ DW_TAG_base_type ] [character(kind=1)] [line 0, size 8, align 8, offset 0, enc DW_ATE_unsigned_char]
!40 = metadata !{metadata !41, metadata !42, metadata !43, metadata !44, metadata !45, metadata !46, metadata !47}
!41 = metadata !{i32 786484, i32 0, metadata !28, metadata !"", metadata !"", metadata !"", metadata !5, i32 4, metadata !9, i32 1, i32 1, i32* @0, null}
!42 = metadata !{i32 786484, i32 0, metadata !31, metadata !"", metadata !"", metadata !"", metadata !5, i32 10, metadata !9, i32 1, i32 1, i32* @1, null}
!43 = metadata !{i32 786484, i32 0, metadata !31, metadata !"", metadata !"", metadata !"", metadata !5, i32 10, metadata !9, i32 1, i32 1, i32* @2, null}
!44 = metadata !{i32 786484, i32 0, metadata !31, metadata !"", metadata !"", metadata !"", metadata !5, i32 11, metadata !9, i32 1, i32 1, i32* @3, null}
!45 = metadata !{i32 786484, i32 0, metadata !31, metadata !"", metadata !"", metadata !"", metadata !5, i32 11, metadata !9, i32 1, i32 1, i32* @4, null}
!46 = metadata !{i32 786484, i32 0, metadata !31, metadata !"", metadata !"", metadata !"", metadata !5, i32 14, metadata !9, i32 1, i32 1, i32* @5, null}
!47 = metadata !{i32 786484, i32 0, metadata !31, metadata !"", metadata !"", metadata !"", metadata !5, i32 15, metadata !9, i32 1, i32 1, i32* @6, null}
!48 = metadata !{i32 786689, metadata !4, metadata !"from", metadata !5, i32 20, metadata !8, i32 0, i32 0} ; [ DW_TAG_arg_variable ] [from] [line 20]
!49 = metadata !{i32 20, i32 0, metadata !4, null}
!50 = metadata !{i32 786689, metadata !4, metadata !"to", metadata !5, i32 20, metadata !8, i32 0, i32 0} ; [ DW_TAG_arg_variable ] [to] [line 20]
!51 = metadata !{i32 786689, metadata !4, metadata !"step", metadata !5, i32 20, metadata !8, i32 0, i32 0} ; [ DW_TAG_arg_variable ] [step] [line 20]
!52 = metadata !{i32 786689, metadata !4, metadata !"values", metadata !5, i32 20, metadata !53, i32 0, i32 0} ; [ DW_TAG_arg_variable ] [values] [line 20]
!53 = metadata !{i32 786448, i32 0, i32 0, i32 0, i32 0, i64 0, i64 0, i64 0, i32 64, metadata !11} ; [ DW_TAG_reference_type ] [line 0, size 0, align 0, offset 0] [artificial] [from array1_integer(kind=4)]
!54 = metadata !{i32 786688, metadata !4, metadata !"i", metadata !5, i32 22, metadata !9, i32 0, i32 0} ; [ DW_TAG_auto_variable ] [i] [line 22]
!55 = metadata !{i32 22, i32 0, metadata !4, null}
!56 = metadata !{i32 786688, metadata !4, metadata !"last", metadata !5, i32 22, metadata !9, i32 0, i32 0} ; [ DW_TAG_auto_variable ] [last] [line 22]
!57 = metadata !{i32 786688, metadata !4, metadata !"ubound.0", metadata !5, i32 6, metadata !58, i32 0, i32 0} ; [ DW_TAG_auto_variable ] [ubound.0] [line 6]
!58 = metadata !{i32 786468, i32 0, i32 0, metadata !"integer(kind=8)", i32 0, i64 64, i64 64, i64 0, i32 64, i32 5} ; [ DW_TAG_base_type ] [integer(kind=8)] [line 0, size 64, align 64, offset 0, enc DW_ATE_signed] [artificial]
!59 = metadata !{i32 6, i32 0, metadata !4, null}
!60 = metadata !{i32 786688, metadata !4, metadata !"values.0", metadata !5, i32 6, metadata !61, i32 0, i32 0} ; [ DW_TAG_auto_variable ] [values.0] [line 6]
!61 = metadata !{i32 786447, i32 0, i32 0, metadata !"", i32 0, i64 64, i64 64, i64 0, i32 64, metadata !62} ; [ DW_TAG_pointer_type ] [line 0, size 64, align 64, offset 0] [artificial] [from ]
!62 = metadata !{i32 786433, null, null, metadata !"", i32 0, i64 32, i64 32, i32 0, i32 0, metadata !9, metadata !26, i32 0, i32 0} ; [ DW_TAG_array_type ] [line 0, size 32, align 32, offset 0] [from integer(kind=4)]
!63 = metadata !{i32 25, i32 0, metadata !4, null}
!64 = metadata !{i32 26, i32 0, metadata !4, null}
!65 = metadata !{i32 27, i32 0, metadata !4, null}
!66 = metadata !{i32 29, i32 0, metadata !4, null}
!67 = metadata !{i32 30, i32 0, metadata !4, null}
!68 = metadata !{i32 2, i32 0, metadata !28, null}
!69 = metadata !{i32 4, i32 0, metadata !28, null}
!70 = metadata !{i32 786689, metadata !31, metadata !"order", metadata !5, i32 6, metadata !8, i32 0, i32 0} ; [ DW_TAG_arg_variable ] [order] [line 6]
!71 = metadata !{i32 6, i32 0, metadata !31, null}
!72 = metadata !{i32 786688, metadata !31, metadata !"i", metadata !5, i32 7, metadata !9, i32 0, i32 0} ; [ DW_TAG_auto_variable ] [i] [line 7]
!73 = metadata !{i32 7, i32 0, metadata !31, null}
!74 = metadata !{i32 786688, metadata !31, metadata !"j", metadata !5, i32 7, metadata !9, i32 0, i32 0} ; [ DW_TAG_auto_variable ] [j] [line 7]
!75 = metadata !{i32 10, i32 0, metadata !31, null}
!76 = metadata !{i32 11, i32 0, metadata !31, null}
!77 = metadata !{i32 13, i32 0, metadata !31, null}
!78 = metadata !{i32 14, i32 0, metadata !31, null}
!79 = metadata !{i32 15, i32 0, metadata !31, null}
!80 = metadata !{i32 18, i32 0, metadata !31, null}
!81 = metadata !{i32 786689, metadata !34, metadata !"argc", metadata !5, i32 4, metadata !9, i32 0, i32 0} ; [ DW_TAG_arg_variable ] [argc] [line 4]
!82 = metadata !{i32 4, i32 0, metadata !34, null}
!83 = metadata !{i32 786689, metadata !34, metadata !"argv", metadata !5, i32 4, metadata !37, i32 0, i32 0} ; [ DW_TAG_arg_variable ] [argv] [line 4]


More information about the llvm-commits mailing list