Thanks for using Compiler Explorer
Sponsors
Jakt
C++
Ada
Analysis
Android Java
Android Kotlin
Assembly
C
C3
Carbon
C++ (Circle)
CIRCT
Clean
CMake
CMakeScript
COBOL
C++ for OpenCL
MLIR
Cppx
Cppx-Blue
Cppx-Gold
Cpp2-cppfront
Crystal
C#
CUDA C++
D
Dart
Elixir
Erlang
Fortran
F#
GLSL
Go
Haskell
HLSL
Hook
Hylo
IL
ispc
Java
Julia
Kotlin
LLVM IR
LLVM MIR
Modula-2
Nim
Objective-C
Objective-C++
OCaml
Odin
OpenCL C
Pascal
Pony
Python
Racket
Ruby
Rust
Snowball
Scala
Slang
Solidity
Spice
SPIR-V
Swift
LLVM TableGen
Toit
TypeScript Native
V
Vala
Visual Basic
Vyper
WASM
Zig
Javascript
GIMPLE
Ygen
llvm source #1
Output
Compile to binary object
Link to binary
Execute the code
Intel asm syntax
Demangle identifiers
Verbose demangling
Filters
Unused labels
Library functions
Directives
Comments
Horizontal whitespace
Debug intrinsics
Compiler
clang (assertions trunk)
clang (trunk)
clang 10.0.0
clang 10.0.1
clang 11.0.0
clang 11.0.1
clang 12.0.0
clang 12.0.1
clang 13.0.0
clang 14.0.0
clang 15.0.0
clang 16.0.0
clang 17.0.1
clang 18.1.0
clang 19.1.0
clang 4.0.1
clang 5.0.0
clang 6.0.0
clang 7.0.0
clang 8.0.0
clang 9.0.0
llc (assertions trunk)
llc (trunk)
llc 10.0.0
llc 10.0.1
llc 11.0.0
llc 11.0.1
llc 12.0.0
llc 12.0.1
llc 13.0.0
llc 14.0.0
llc 15.0.0
llc 16.0.0
llc 17.0.1
llc 18.1.0
llc 19.1.0
llc 3.2
llc 3.3
llc 3.9.1
llc 4.0.0
llc 4.0.1
llc 5.0.0
llc 6.0.0
llc 7.0.0
llc 8.0.0
llc 9.0.0
opt (assertions trunk)
opt (trunk)
opt 10.0.0
opt 10.0.1
opt 11.0.0
opt 11.0.1
opt 12.0.0
opt 12.0.1
opt 13.0.0
opt 14.0.0
opt 15.0.0
opt 16.0.0
opt 17.0.1
opt 18.1.0
opt 19.1.0
opt 3.2
opt 3.3
opt 3.9.1
opt 4.0.0
opt 4.0.1
opt 5.0.0
opt 6.0.0
opt 7.0.0
opt 8.0.0
opt 9.0.0
Options
Source code
; ModuleID = '41288.bc' source_filename = "small.c" target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" target triple = "x86_64-unknown-linux-gnu" %struct.a = type { i32 } ; Function Attrs: nounwind uwtable define dso_local i32 @c() #0 { %1 = alloca %struct.a, align 4 %2 = alloca [1 x %struct.a], align 4 %3 = alloca i16, align 2 %4 = alloca [145 x %struct.a], align 16 %5 = bitcast [1 x %struct.a]* %2 to i8* call void @llvm.lifetime.start.p0i8(i64 4, i8* %5) #2 %6 = bitcast i16* %3 to i8* call void @llvm.lifetime.start.p0i8(i64 2, i8* %6) #2 br label %7 7: ; preds = %525, %0 %8 = load i16, i16* %3, align 2, !tbaa !2 %9 = icmp ne i16 %8, 0 br i1 %9, label %10, label %528 10: ; preds = %7 %11 = bitcast [145 x %struct.a]* %4 to i8* call void @llvm.lifetime.start.p0i8(i64 580, i8* %11) #2 %12 = getelementptr inbounds [145 x %struct.a], [145 x %struct.a]* %4, i64 0, i64 0 %13 = getelementptr inbounds %struct.a, %struct.a* %12, i32 0, i32 0 %14 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %15 = ptrtoint %struct.a* %14 to i32 store i32 %15, i32* %13, align 4, !tbaa !6 %16 = getelementptr inbounds %struct.a, %struct.a* %12, i64 1 %17 = getelementptr inbounds %struct.a, %struct.a* %16, i32 0, i32 0 %18 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %19 = ptrtoint %struct.a* %18 to i32 store i32 %19, i32* %17, align 4, !tbaa !6 %20 = getelementptr inbounds %struct.a, %struct.a* %16, i64 1 %21 = getelementptr inbounds %struct.a, %struct.a* %20, i32 0, i32 0 store i32 0, i32* %21, align 4, !tbaa !6 %22 = getelementptr inbounds %struct.a, %struct.a* %20, i64 1 %23 = getelementptr inbounds %struct.a, %struct.a* %22, i32 0, i32 0 %24 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %25 = ptrtoint %struct.a* %24 to i32 store i32 %25, i32* %23, align 4, !tbaa !6 %26 = getelementptr inbounds %struct.a, %struct.a* %22, i64 1 %27 = getelementptr inbounds %struct.a, %struct.a* %26, i32 0, i32 0 %28 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %29 = ptrtoint %struct.a* %28 to i32 store i32 %29, i32* %27, align 4, !tbaa !6 %30 = getelementptr inbounds %struct.a, %struct.a* %26, i64 1 %31 = getelementptr inbounds %struct.a, %struct.a* %30, i32 0, i32 0 %32 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %33 = ptrtoint %struct.a* %32 to i32 store i32 %33, i32* %31, align 4, !tbaa !6 %34 = getelementptr inbounds %struct.a, %struct.a* %30, i64 1 %35 = getelementptr inbounds %struct.a, %struct.a* %34, i32 0, i32 0 %36 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %37 = ptrtoint %struct.a* %36 to i32 store i32 %37, i32* %35, align 4, !tbaa !6 %38 = getelementptr inbounds %struct.a, %struct.a* %34, i64 1 %39 = getelementptr inbounds %struct.a, %struct.a* %38, i32 0, i32 0 %40 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %41 = ptrtoint %struct.a* %40 to i32 store i32 %41, i32* %39, align 4, !tbaa !6 %42 = getelementptr inbounds %struct.a, %struct.a* %38, i64 1 %43 = getelementptr inbounds %struct.a, %struct.a* %42, i32 0, i32 0 %44 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %45 = ptrtoint %struct.a* %44 to i32 store i32 %45, i32* %43, align 4, !tbaa !6 %46 = getelementptr inbounds %struct.a, %struct.a* %42, i64 1 %47 = getelementptr inbounds %struct.a, %struct.a* %46, i32 0, i32 0 %48 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %49 = ptrtoint %struct.a* %48 to i32 store i32 %49, i32* %47, align 4, !tbaa !6 %50 = getelementptr inbounds %struct.a, %struct.a* %46, i64 1 %51 = getelementptr inbounds %struct.a, %struct.a* %50, i32 0, i32 0 %52 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %53 = ptrtoint %struct.a* %52 to i32 store i32 %53, i32* %51, align 4, !tbaa !6 %54 = getelementptr inbounds %struct.a, %struct.a* %50, i64 1 %55 = getelementptr inbounds %struct.a, %struct.a* %54, i32 0, i32 0 %56 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %57 = ptrtoint %struct.a* %56 to i32 store i32 %57, i32* %55, align 4, !tbaa !6 %58 = getelementptr inbounds %struct.a, %struct.a* %54, i64 1 %59 = getelementptr inbounds %struct.a, %struct.a* %58, i32 0, i32 0 store i32 0, i32* %59, align 4, !tbaa !6 %60 = getelementptr inbounds %struct.a, %struct.a* %58, i64 1 %61 = getelementptr inbounds %struct.a, %struct.a* %60, i32 0, i32 0 store i32 0, i32* %61, align 4, !tbaa !6 %62 = getelementptr inbounds %struct.a, %struct.a* %60, i64 1 %63 = getelementptr inbounds %struct.a, %struct.a* %62, i32 0, i32 0 store i32 0, i32* %63, align 4, !tbaa !6 %64 = getelementptr inbounds %struct.a, %struct.a* %62, i64 1 %65 = getelementptr inbounds %struct.a, %struct.a* %64, i32 0, i32 0 %66 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %67 = ptrtoint %struct.a* %66 to i32 store i32 %67, i32* %65, align 4, !tbaa !6 %68 = getelementptr inbounds %struct.a, %struct.a* %64, i64 1 %69 = getelementptr inbounds %struct.a, %struct.a* %68, i32 0, i32 0 %70 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %71 = ptrtoint %struct.a* %70 to i32 store i32 %71, i32* %69, align 4, !tbaa !6 %72 = getelementptr inbounds %struct.a, %struct.a* %68, i64 1 %73 = getelementptr inbounds %struct.a, %struct.a* %72, i32 0, i32 0 %74 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %75 = ptrtoint %struct.a* %74 to i32 store i32 %75, i32* %73, align 4, !tbaa !6 %76 = getelementptr inbounds %struct.a, %struct.a* %72, i64 1 %77 = getelementptr inbounds %struct.a, %struct.a* %76, i32 0, i32 0 %78 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %79 = ptrtoint %struct.a* %78 to i32 store i32 %79, i32* %77, align 4, !tbaa !6 %80 = getelementptr inbounds %struct.a, %struct.a* %76, i64 1 %81 = getelementptr inbounds %struct.a, %struct.a* %80, i32 0, i32 0 %82 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %83 = ptrtoint %struct.a* %82 to i32 store i32 %83, i32* %81, align 4, !tbaa !6 %84 = getelementptr inbounds %struct.a, %struct.a* %80, i64 1 %85 = getelementptr inbounds %struct.a, %struct.a* %84, i32 0, i32 0 %86 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %87 = ptrtoint %struct.a* %86 to i32 store i32 %87, i32* %85, align 4, !tbaa !6 %88 = getelementptr inbounds %struct.a, %struct.a* %84, i64 1 %89 = getelementptr inbounds %struct.a, %struct.a* %88, i32 0, i32 0 %90 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %91 = ptrtoint %struct.a* %90 to i32 store i32 %91, i32* %89, align 4, !tbaa !6 %92 = getelementptr inbounds %struct.a, %struct.a* %88, i64 1 %93 = getelementptr inbounds %struct.a, %struct.a* %92, i32 0, i32 0 store i32 0, i32* %93, align 4, !tbaa !6 %94 = getelementptr inbounds %struct.a, %struct.a* %92, i64 1 %95 = getelementptr inbounds %struct.a, %struct.a* %94, i32 0, i32 0 %96 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %97 = ptrtoint %struct.a* %96 to i32 store i32 %97, i32* %95, align 4, !tbaa !6 %98 = getelementptr inbounds %struct.a, %struct.a* %94, i64 1 %99 = getelementptr inbounds %struct.a, %struct.a* %98, i32 0, i32 0 %100 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %101 = ptrtoint %struct.a* %100 to i32 store i32 %101, i32* %99, align 4, !tbaa !6 %102 = getelementptr inbounds %struct.a, %struct.a* %98, i64 1 %103 = getelementptr inbounds %struct.a, %struct.a* %102, i32 0, i32 0 store i32 0, i32* %103, align 4, !tbaa !6 %104 = getelementptr inbounds %struct.a, %struct.a* %102, i64 1 %105 = getelementptr inbounds %struct.a, %struct.a* %104, i32 0, i32 0 %106 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %107 = ptrtoint %struct.a* %106 to i32 store i32 %107, i32* %105, align 4, !tbaa !6 %108 = getelementptr inbounds %struct.a, %struct.a* %104, i64 1 %109 = getelementptr inbounds %struct.a, %struct.a* %108, i32 0, i32 0 %110 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %111 = ptrtoint %struct.a* %110 to i32 store i32 %111, i32* %109, align 4, !tbaa !6 %112 = getelementptr inbounds %struct.a, %struct.a* %108, i64 1 %113 = getelementptr inbounds %struct.a, %struct.a* %112, i32 0, i32 0 store i32 0, i32* %113, align 4, !tbaa !6 %114 = getelementptr inbounds %struct.a, %struct.a* %112, i64 1 %115 = getelementptr inbounds %struct.a, %struct.a* %114, i32 0, i32 0 %116 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %117 = ptrtoint %struct.a* %116 to i32 store i32 %117, i32* %115, align 4, !tbaa !6 %118 = getelementptr inbounds %struct.a, %struct.a* %114, i64 1 %119 = getelementptr inbounds %struct.a, %struct.a* %118, i32 0, i32 0 %120 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %121 = ptrtoint %struct.a* %120 to i32 store i32 %121, i32* %119, align 4, !tbaa !6 %122 = getelementptr inbounds %struct.a, %struct.a* %118, i64 1 %123 = getelementptr inbounds %struct.a, %struct.a* %122, i32 0, i32 0 %124 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %125 = ptrtoint %struct.a* %124 to i32 store i32 %125, i32* %123, align 4, !tbaa !6 %126 = getelementptr inbounds %struct.a, %struct.a* %122, i64 1 %127 = getelementptr inbounds %struct.a, %struct.a* %126, i32 0, i32 0 %128 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %129 = ptrtoint %struct.a* %128 to i32 store i32 %129, i32* %127, align 4, !tbaa !6 %130 = getelementptr inbounds %struct.a, %struct.a* %126, i64 1 %131 = getelementptr inbounds %struct.a, %struct.a* %130, i32 0, i32 0 %132 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %133 = ptrtoint %struct.a* %132 to i32 store i32 %133, i32* %131, align 4, !tbaa !6 %134 = getelementptr inbounds %struct.a, %struct.a* %130, i64 1 %135 = getelementptr inbounds %struct.a, %struct.a* %134, i32 0, i32 0 %136 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %137 = ptrtoint %struct.a* %136 to i32 store i32 %137, i32* %135, align 4, !tbaa !6 %138 = getelementptr inbounds %struct.a, %struct.a* %134, i64 1 %139 = getelementptr inbounds %struct.a, %struct.a* %138, i32 0, i32 0 %140 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %141 = ptrtoint %struct.a* %140 to i32 store i32 %141, i32* %139, align 4, !tbaa !6 %142 = getelementptr inbounds %struct.a, %struct.a* %138, i64 1 %143 = getelementptr inbounds %struct.a, %struct.a* %142, i32 0, i32 0 %144 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %145 = ptrtoint %struct.a* %144 to i32 store i32 %145, i32* %143, align 4, !tbaa !6 %146 = getelementptr inbounds %struct.a, %struct.a* %142, i64 1 %147 = getelementptr inbounds %struct.a, %struct.a* %146, i32 0, i32 0 %148 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %149 = ptrtoint %struct.a* %148 to i32 store i32 %149, i32* %147, align 4, !tbaa !6 %150 = getelementptr inbounds %struct.a, %struct.a* %146, i64 1 %151 = getelementptr inbounds %struct.a, %struct.a* %150, i32 0, i32 0 store i32 0, i32* %151, align 4, !tbaa !6 %152 = getelementptr inbounds %struct.a, %struct.a* %150, i64 1 %153 = getelementptr inbounds %struct.a, %struct.a* %152, i32 0, i32 0 store i32 0, i32* %153, align 4, !tbaa !6 %154 = getelementptr inbounds %struct.a, %struct.a* %152, i64 1 %155 = getelementptr inbounds %struct.a, %struct.a* %154, i32 0, i32 0 store i32 0, i32* %155, align 4, !tbaa !6 %156 = getelementptr inbounds %struct.a, %struct.a* %154, i64 1 %157 = getelementptr inbounds %struct.a, %struct.a* %156, i32 0, i32 0 %158 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %159 = ptrtoint %struct.a* %158 to i32 store i32 %159, i32* %157, align 4, !tbaa !6 %160 = getelementptr inbounds %struct.a, %struct.a* %156, i64 1 %161 = getelementptr inbounds %struct.a, %struct.a* %160, i32 0, i32 0 %162 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %163 = ptrtoint %struct.a* %162 to i32 store i32 %163, i32* %161, align 4, !tbaa !6 %164 = getelementptr inbounds %struct.a, %struct.a* %160, i64 1 %165 = getelementptr inbounds %struct.a, %struct.a* %164, i32 0, i32 0 %166 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %167 = ptrtoint %struct.a* %166 to i32 store i32 %167, i32* %165, align 4, !tbaa !6 %168 = getelementptr inbounds %struct.a, %struct.a* %164, i64 1 %169 = getelementptr inbounds %struct.a, %struct.a* %168, i32 0, i32 0 %170 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %171 = ptrtoint %struct.a* %170 to i32 store i32 %171, i32* %169, align 4, !tbaa !6 %172 = getelementptr inbounds %struct.a, %struct.a* %168, i64 1 %173 = getelementptr inbounds %struct.a, %struct.a* %172, i32 0, i32 0 %174 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %175 = ptrtoint %struct.a* %174 to i32 store i32 %175, i32* %173, align 4, !tbaa !6 %176 = getelementptr inbounds %struct.a, %struct.a* %172, i64 1 %177 = getelementptr inbounds %struct.a, %struct.a* %176, i32 0, i32 0 %178 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %179 = ptrtoint %struct.a* %178 to i32 store i32 %179, i32* %177, align 4, !tbaa !6 %180 = getelementptr inbounds %struct.a, %struct.a* %176, i64 1 %181 = getelementptr inbounds %struct.a, %struct.a* %180, i32 0, i32 0 %182 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %183 = ptrtoint %struct.a* %182 to i32 store i32 %183, i32* %181, align 4, !tbaa !6 %184 = getelementptr inbounds %struct.a, %struct.a* %180, i64 1 %185 = getelementptr inbounds %struct.a, %struct.a* %184, i32 0, i32 0 store i32 0, i32* %185, align 4, !tbaa !6 %186 = getelementptr inbounds %struct.a, %struct.a* %184, i64 1 %187 = getelementptr inbounds %struct.a, %struct.a* %186, i32 0, i32 0 %188 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %189 = ptrtoint %struct.a* %188 to i32 store i32 %189, i32* %187, align 4, !tbaa !6 %190 = getelementptr inbounds %struct.a, %struct.a* %186, i64 1 %191 = getelementptr inbounds %struct.a, %struct.a* %190, i32 0, i32 0 %192 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %193 = ptrtoint %struct.a* %192 to i32 store i32 %193, i32* %191, align 4, !tbaa !6 %194 = getelementptr inbounds %struct.a, %struct.a* %190, i64 1 %195 = getelementptr inbounds %struct.a, %struct.a* %194, i32 0, i32 0 store i32 0, i32* %195, align 4, !tbaa !6 %196 = getelementptr inbounds %struct.a, %struct.a* %194, i64 1 %197 = getelementptr inbounds %struct.a, %struct.a* %196, i32 0, i32 0 %198 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %199 = ptrtoint %struct.a* %198 to i32 store i32 %199, i32* %197, align 4, !tbaa !6 %200 = getelementptr inbounds %struct.a, %struct.a* %196, i64 1 %201 = getelementptr inbounds %struct.a, %struct.a* %200, i32 0, i32 0 %202 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %203 = ptrtoint %struct.a* %202 to i32 store i32 %203, i32* %201, align 4, !tbaa !6 %204 = getelementptr inbounds %struct.a, %struct.a* %200, i64 1 %205 = getelementptr inbounds %struct.a, %struct.a* %204, i32 0, i32 0 store i32 0, i32* %205, align 4, !tbaa !6 %206 = getelementptr inbounds %struct.a, %struct.a* %204, i64 1 %207 = getelementptr inbounds %struct.a, %struct.a* %206, i32 0, i32 0 %208 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %209 = ptrtoint %struct.a* %208 to i32 store i32 %209, i32* %207, align 4, !tbaa !6 %210 = getelementptr inbounds %struct.a, %struct.a* %206, i64 1 %211 = getelementptr inbounds %struct.a, %struct.a* %210, i32 0, i32 0 %212 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %213 = ptrtoint %struct.a* %212 to i32 store i32 %213, i32* %211, align 4, !tbaa !6 %214 = getelementptr inbounds %struct.a, %struct.a* %210, i64 1 %215 = getelementptr inbounds %struct.a, %struct.a* %214, i32 0, i32 0 %216 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %217 = ptrtoint %struct.a* %216 to i32 store i32 %217, i32* %215, align 4, !tbaa !6 %218 = getelementptr inbounds %struct.a, %struct.a* %214, i64 1 %219 = getelementptr inbounds %struct.a, %struct.a* %218, i32 0, i32 0 %220 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %221 = ptrtoint %struct.a* %220 to i32 store i32 %221, i32* %219, align 4, !tbaa !6 %222 = getelementptr inbounds %struct.a, %struct.a* %218, i64 1 %223 = getelementptr inbounds %struct.a, %struct.a* %222, i32 0, i32 0 %224 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %225 = ptrtoint %struct.a* %224 to i32 store i32 %225, i32* %223, align 4, !tbaa !6 %226 = getelementptr inbounds %struct.a, %struct.a* %222, i64 1 %227 = getelementptr inbounds %struct.a, %struct.a* %226, i32 0, i32 0 %228 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %229 = ptrtoint %struct.a* %228 to i32 store i32 %229, i32* %227, align 4, !tbaa !6 %230 = getelementptr inbounds %struct.a, %struct.a* %226, i64 1 %231 = getelementptr inbounds %struct.a, %struct.a* %230, i32 0, i32 0 %232 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %233 = ptrtoint %struct.a* %232 to i32 store i32 %233, i32* %231, align 4, !tbaa !6 %234 = getelementptr inbounds %struct.a, %struct.a* %230, i64 1 %235 = getelementptr inbounds %struct.a, %struct.a* %234, i32 0, i32 0 %236 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %237 = ptrtoint %struct.a* %236 to i32 store i32 %237, i32* %235, align 4, !tbaa !6 %238 = getelementptr inbounds %struct.a, %struct.a* %234, i64 1 %239 = getelementptr inbounds %struct.a, %struct.a* %238, i32 0, i32 0 %240 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %241 = ptrtoint %struct.a* %240 to i32 store i32 %241, i32* %239, align 4, !tbaa !6 %242 = getelementptr inbounds %struct.a, %struct.a* %238, i64 1 %243 = getelementptr inbounds %struct.a, %struct.a* %242, i32 0, i32 0 store i32 0, i32* %243, align 4, !tbaa !6 %244 = getelementptr inbounds %struct.a, %struct.a* %242, i64 1 %245 = getelementptr inbounds %struct.a, %struct.a* %244, i32 0, i32 0 store i32 0, i32* %245, align 4, !tbaa !6 %246 = getelementptr inbounds %struct.a, %struct.a* %244, i64 1 %247 = getelementptr inbounds %struct.a, %struct.a* %246, i32 0, i32 0 store i32 0, i32* %247, align 4, !tbaa !6 %248 = getelementptr inbounds %struct.a, %struct.a* %246, i64 1 %249 = getelementptr inbounds %struct.a, %struct.a* %248, i32 0, i32 0 %250 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %251 = ptrtoint %struct.a* %250 to i32 store i32 %251, i32* %249, align 4, !tbaa !6 %252 = getelementptr inbounds %struct.a, %struct.a* %248, i64 1 %253 = getelementptr inbounds %struct.a, %struct.a* %252, i32 0, i32 0 %254 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %255 = ptrtoint %struct.a* %254 to i32 store i32 %255, i32* %253, align 4, !tbaa !6 %256 = getelementptr inbounds %struct.a, %struct.a* %252, i64 1 %257 = getelementptr inbounds %struct.a, %struct.a* %256, i32 0, i32 0 %258 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %259 = ptrtoint %struct.a* %258 to i32 store i32 %259, i32* %257, align 4, !tbaa !6 %260 = getelementptr inbounds %struct.a, %struct.a* %256, i64 1 %261 = getelementptr inbounds %struct.a, %struct.a* %260, i32 0, i32 0 %262 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %263 = ptrtoint %struct.a* %262 to i32 store i32 %263, i32* %261, align 4, !tbaa !6 %264 = getelementptr inbounds %struct.a, %struct.a* %260, i64 1 %265 = getelementptr inbounds %struct.a, %struct.a* %264, i32 0, i32 0 %266 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %267 = ptrtoint %struct.a* %266 to i32 store i32 %267, i32* %265, align 4, !tbaa !6 %268 = getelementptr inbounds %struct.a, %struct.a* %264, i64 1 %269 = getelementptr inbounds %struct.a, %struct.a* %268, i32 0, i32 0 %270 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %271 = ptrtoint %struct.a* %270 to i32 store i32 %271, i32* %269, align 4, !tbaa !6 %272 = getelementptr inbounds %struct.a, %struct.a* %268, i64 1 %273 = getelementptr inbounds %struct.a, %struct.a* %272, i32 0, i32 0 %274 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %275 = ptrtoint %struct.a* %274 to i32 store i32 %275, i32* %273, align 4, !tbaa !6 %276 = getelementptr inbounds %struct.a, %struct.a* %272, i64 1 %277 = getelementptr inbounds %struct.a, %struct.a* %276, i32 0, i32 0 store i32 0, i32* %277, align 4, !tbaa !6 %278 = getelementptr inbounds %struct.a, %struct.a* %276, i64 1 %279 = getelementptr inbounds %struct.a, %struct.a* %278, i32 0, i32 0 %280 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %281 = ptrtoint %struct.a* %280 to i32 store i32 %281, i32* %279, align 4, !tbaa !6 %282 = getelementptr inbounds %struct.a, %struct.a* %278, i64 1 %283 = getelementptr inbounds %struct.a, %struct.a* %282, i32 0, i32 0 %284 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %285 = ptrtoint %struct.a* %284 to i32 store i32 %285, i32* %283, align 4, !tbaa !6 %286 = getelementptr inbounds %struct.a, %struct.a* %282, i64 1 %287 = getelementptr inbounds %struct.a, %struct.a* %286, i32 0, i32 0 store i32 0, i32* %287, align 4, !tbaa !6 %288 = getelementptr inbounds %struct.a, %struct.a* %286, i64 1 %289 = getelementptr inbounds %struct.a, %struct.a* %288, i32 0, i32 0 %290 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %291 = ptrtoint %struct.a* %290 to i32 store i32 %291, i32* %289, align 4, !tbaa !6 %292 = getelementptr inbounds %struct.a, %struct.a* %288, i64 1 %293 = getelementptr inbounds %struct.a, %struct.a* %292, i32 0, i32 0 %294 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %295 = ptrtoint %struct.a* %294 to i32 store i32 %295, i32* %293, align 4, !tbaa !6 %296 = getelementptr inbounds %struct.a, %struct.a* %292, i64 1 %297 = getelementptr inbounds %struct.a, %struct.a* %296, i32 0, i32 0 store i32 0, i32* %297, align 4, !tbaa !6 %298 = getelementptr inbounds %struct.a, %struct.a* %296, i64 1 %299 = getelementptr inbounds %struct.a, %struct.a* %298, i32 0, i32 0 %300 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %301 = ptrtoint %struct.a* %300 to i32 store i32 %301, i32* %299, align 4, !tbaa !6 %302 = getelementptr inbounds %struct.a, %struct.a* %298, i64 1 %303 = getelementptr inbounds %struct.a, %struct.a* %302, i32 0, i32 0 %304 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %305 = ptrtoint %struct.a* %304 to i32 store i32 %305, i32* %303, align 4, !tbaa !6 %306 = getelementptr inbounds %struct.a, %struct.a* %302, i64 1 %307 = getelementptr inbounds %struct.a, %struct.a* %306, i32 0, i32 0 %308 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %309 = ptrtoint %struct.a* %308 to i32 store i32 %309, i32* %307, align 4, !tbaa !6 %310 = getelementptr inbounds %struct.a, %struct.a* %306, i64 1 %311 = getelementptr inbounds %struct.a, %struct.a* %310, i32 0, i32 0 %312 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %313 = ptrtoint %struct.a* %312 to i32 store i32 %313, i32* %311, align 4, !tbaa !6 %314 = getelementptr inbounds %struct.a, %struct.a* %310, i64 1 %315 = getelementptr inbounds %struct.a, %struct.a* %314, i32 0, i32 0 %316 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %317 = ptrtoint %struct.a* %316 to i32 store i32 %317, i32* %315, align 4, !tbaa !6 %318 = getelementptr inbounds %struct.a, %struct.a* %314, i64 1 %319 = getelementptr inbounds %struct.a, %struct.a* %318, i32 0, i32 0 %320 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %321 = ptrtoint %struct.a* %320 to i32 store i32 %321, i32* %319, align 4, !tbaa !6 %322 = getelementptr inbounds %struct.a, %struct.a* %318, i64 1 %323 = getelementptr inbounds %struct.a, %struct.a* %322, i32 0, i32 0 %324 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %325 = ptrtoint %struct.a* %324 to i32 store i32 %325, i32* %323, align 4, !tbaa !6 %326 = getelementptr inbounds %struct.a, %struct.a* %322, i64 1 %327 = getelementptr inbounds %struct.a, %struct.a* %326, i32 0, i32 0 %328 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %329 = ptrtoint %struct.a* %328 to i32 store i32 %329, i32* %327, align 4, !tbaa !6 %330 = getelementptr inbounds %struct.a, %struct.a* %326, i64 1 %331 = getelementptr inbounds %struct.a, %struct.a* %330, i32 0, i32 0 %332 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %333 = ptrtoint %struct.a* %332 to i32 store i32 %333, i32* %331, align 4, !tbaa !6 %334 = getelementptr inbounds %struct.a, %struct.a* %330, i64 1 %335 = getelementptr inbounds %struct.a, %struct.a* %334, i32 0, i32 0 store i32 0, i32* %335, align 4, !tbaa !6 %336 = getelementptr inbounds %struct.a, %struct.a* %334, i64 1 %337 = getelementptr inbounds %struct.a, %struct.a* %336, i32 0, i32 0 store i32 0, i32* %337, align 4, !tbaa !6 %338 = getelementptr inbounds %struct.a, %struct.a* %336, i64 1 %339 = getelementptr inbounds %struct.a, %struct.a* %338, i32 0, i32 0 store i32 0, i32* %339, align 4, !tbaa !6 %340 = getelementptr inbounds %struct.a, %struct.a* %338, i64 1 %341 = getelementptr inbounds %struct.a, %struct.a* %340, i32 0, i32 0 %342 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %343 = ptrtoint %struct.a* %342 to i32 store i32 %343, i32* %341, align 4, !tbaa !6 %344 = getelementptr inbounds %struct.a, %struct.a* %340, i64 1 %345 = getelementptr inbounds %struct.a, %struct.a* %344, i32 0, i32 0 %346 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %347 = ptrtoint %struct.a* %346 to i32 store i32 %347, i32* %345, align 4, !tbaa !6 %348 = getelementptr inbounds %struct.a, %struct.a* %344, i64 1 %349 = getelementptr inbounds %struct.a, %struct.a* %348, i32 0, i32 0 %350 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %351 = ptrtoint %struct.a* %350 to i32 store i32 %351, i32* %349, align 4, !tbaa !6 %352 = getelementptr inbounds %struct.a, %struct.a* %348, i64 1 %353 = getelementptr inbounds %struct.a, %struct.a* %352, i32 0, i32 0 %354 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %355 = ptrtoint %struct.a* %354 to i32 store i32 %355, i32* %353, align 4, !tbaa !6 %356 = getelementptr inbounds %struct.a, %struct.a* %352, i64 1 %357 = getelementptr inbounds %struct.a, %struct.a* %356, i32 0, i32 0 %358 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %359 = ptrtoint %struct.a* %358 to i32 store i32 %359, i32* %357, align 4, !tbaa !6 %360 = getelementptr inbounds %struct.a, %struct.a* %356, i64 1 %361 = getelementptr inbounds %struct.a, %struct.a* %360, i32 0, i32 0 %362 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %363 = ptrtoint %struct.a* %362 to i32 store i32 %363, i32* %361, align 4, !tbaa !6 %364 = getelementptr inbounds %struct.a, %struct.a* %360, i64 1 %365 = getelementptr inbounds %struct.a, %struct.a* %364, i32 0, i32 0 %366 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %367 = ptrtoint %struct.a* %366 to i32 store i32 %367, i32* %365, align 4, !tbaa !6 %368 = getelementptr inbounds %struct.a, %struct.a* %364, i64 1 %369 = getelementptr inbounds %struct.a, %struct.a* %368, i32 0, i32 0 store i32 0, i32* %369, align 4, !tbaa !6 %370 = getelementptr inbounds %struct.a, %struct.a* %368, i64 1 %371 = getelementptr inbounds %struct.a, %struct.a* %370, i32 0, i32 0 %372 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %373 = ptrtoint %struct.a* %372 to i32 store i32 %373, i32* %371, align 4, !tbaa !6 %374 = getelementptr inbounds %struct.a, %struct.a* %370, i64 1 %375 = getelementptr inbounds %struct.a, %struct.a* %374, i32 0, i32 0 %376 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %377 = ptrtoint %struct.a* %376 to i32 store i32 %377, i32* %375, align 4, !tbaa !6 %378 = getelementptr inbounds %struct.a, %struct.a* %374, i64 1 %379 = getelementptr inbounds %struct.a, %struct.a* %378, i32 0, i32 0 store i32 0, i32* %379, align 4, !tbaa !6 %380 = getelementptr inbounds %struct.a, %struct.a* %378, i64 1 %381 = getelementptr inbounds %struct.a, %struct.a* %380, i32 0, i32 0 %382 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %383 = ptrtoint %struct.a* %382 to i32 store i32 %383, i32* %381, align 4, !tbaa !6 %384 = getelementptr inbounds %struct.a, %struct.a* %380, i64 1 %385 = getelementptr inbounds %struct.a, %struct.a* %384, i32 0, i32 0 %386 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %387 = ptrtoint %struct.a* %386 to i32 store i32 %387, i32* %385, align 4, !tbaa !6 %388 = getelementptr inbounds %struct.a, %struct.a* %384, i64 1 %389 = getelementptr inbounds %struct.a, %struct.a* %388, i32 0, i32 0 store i32 0, i32* %389, align 4, !tbaa !6 %390 = getelementptr inbounds %struct.a, %struct.a* %388, i64 1 %391 = getelementptr inbounds %struct.a, %struct.a* %390, i32 0, i32 0 %392 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %393 = ptrtoint %struct.a* %392 to i32 store i32 %393, i32* %391, align 4, !tbaa !6 %394 = getelementptr inbounds %struct.a, %struct.a* %390, i64 1 %395 = getelementptr inbounds %struct.a, %struct.a* %394, i32 0, i32 0 %396 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %397 = ptrtoint %struct.a* %396 to i32 store i32 %397, i32* %395, align 4, !tbaa !6 %398 = getelementptr inbounds %struct.a, %struct.a* %394, i64 1 %399 = getelementptr inbounds %struct.a, %struct.a* %398, i32 0, i32 0 %400 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %401 = ptrtoint %struct.a* %400 to i32 store i32 %401, i32* %399, align 4, !tbaa !6 %402 = getelementptr inbounds %struct.a, %struct.a* %398, i64 1 %403 = getelementptr inbounds %struct.a, %struct.a* %402, i32 0, i32 0 %404 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %405 = ptrtoint %struct.a* %404 to i32 store i32 %405, i32* %403, align 4, !tbaa !6 %406 = getelementptr inbounds %struct.a, %struct.a* %402, i64 1 %407 = getelementptr inbounds %struct.a, %struct.a* %406, i32 0, i32 0 %408 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %409 = ptrtoint %struct.a* %408 to i32 store i32 %409, i32* %407, align 4, !tbaa !6 %410 = getelementptr inbounds %struct.a, %struct.a* %406, i64 1 %411 = getelementptr inbounds %struct.a, %struct.a* %410, i32 0, i32 0 %412 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %413 = ptrtoint %struct.a* %412 to i32 store i32 %413, i32* %411, align 4, !tbaa !6 %414 = getelementptr inbounds %struct.a, %struct.a* %410, i64 1 %415 = getelementptr inbounds %struct.a, %struct.a* %414, i32 0, i32 0 %416 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %417 = ptrtoint %struct.a* %416 to i32 store i32 %417, i32* %415, align 4, !tbaa !6 %418 = getelementptr inbounds %struct.a, %struct.a* %414, i64 1 %419 = getelementptr inbounds %struct.a, %struct.a* %418, i32 0, i32 0 %420 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %421 = ptrtoint %struct.a* %420 to i32 store i32 %421, i32* %419, align 4, !tbaa !6 %422 = getelementptr inbounds %struct.a, %struct.a* %418, i64 1 %423 = getelementptr inbounds %struct.a, %struct.a* %422, i32 0, i32 0 %424 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %425 = ptrtoint %struct.a* %424 to i32 store i32 %425, i32* %423, align 4, !tbaa !6 %426 = getelementptr inbounds %struct.a, %struct.a* %422, i64 1 %427 = getelementptr inbounds %struct.a, %struct.a* %426, i32 0, i32 0 store i32 0, i32* %427, align 4, !tbaa !6 %428 = getelementptr inbounds %struct.a, %struct.a* %426, i64 1 %429 = getelementptr inbounds %struct.a, %struct.a* %428, i32 0, i32 0 store i32 0, i32* %429, align 4, !tbaa !6 %430 = getelementptr inbounds %struct.a, %struct.a* %428, i64 1 %431 = getelementptr inbounds %struct.a, %struct.a* %430, i32 0, i32 0 store i32 0, i32* %431, align 4, !tbaa !6 %432 = getelementptr inbounds %struct.a, %struct.a* %430, i64 1 %433 = getelementptr inbounds %struct.a, %struct.a* %432, i32 0, i32 0 %434 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %435 = ptrtoint %struct.a* %434 to i32 store i32 %435, i32* %433, align 4, !tbaa !6 %436 = getelementptr inbounds %struct.a, %struct.a* %432, i64 1 %437 = getelementptr inbounds %struct.a, %struct.a* %436, i32 0, i32 0 %438 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %439 = ptrtoint %struct.a* %438 to i32 store i32 %439, i32* %437, align 4, !tbaa !6 %440 = getelementptr inbounds %struct.a, %struct.a* %436, i64 1 %441 = getelementptr inbounds %struct.a, %struct.a* %440, i32 0, i32 0 %442 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %443 = ptrtoint %struct.a* %442 to i32 store i32 %443, i32* %441, align 4, !tbaa !6 %444 = getelementptr inbounds %struct.a, %struct.a* %440, i64 1 %445 = getelementptr inbounds %struct.a, %struct.a* %444, i32 0, i32 0 %446 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %447 = ptrtoint %struct.a* %446 to i32 store i32 %447, i32* %445, align 4, !tbaa !6 %448 = getelementptr inbounds %struct.a, %struct.a* %444, i64 1 %449 = getelementptr inbounds %struct.a, %struct.a* %448, i32 0, i32 0 %450 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %451 = ptrtoint %struct.a* %450 to i32 store i32 %451, i32* %449, align 4, !tbaa !6 %452 = getelementptr inbounds %struct.a, %struct.a* %448, i64 1 %453 = getelementptr inbounds %struct.a, %struct.a* %452, i32 0, i32 0 %454 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %455 = ptrtoint %struct.a* %454 to i32 store i32 %455, i32* %453, align 4, !tbaa !6 %456 = getelementptr inbounds %struct.a, %struct.a* %452, i64 1 %457 = getelementptr inbounds %struct.a, %struct.a* %456, i32 0, i32 0 %458 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %459 = ptrtoint %struct.a* %458 to i32 store i32 %459, i32* %457, align 4, !tbaa !6 %460 = getelementptr inbounds %struct.a, %struct.a* %456, i64 1 %461 = getelementptr inbounds %struct.a, %struct.a* %460, i32 0, i32 0 store i32 0, i32* %461, align 4, !tbaa !6 %462 = getelementptr inbounds %struct.a, %struct.a* %460, i64 1 %463 = getelementptr inbounds %struct.a, %struct.a* %462, i32 0, i32 0 %464 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %465 = ptrtoint %struct.a* %464 to i32 store i32 %465, i32* %463, align 4, !tbaa !6 %466 = getelementptr inbounds %struct.a, %struct.a* %462, i64 1 %467 = getelementptr inbounds %struct.a, %struct.a* %466, i32 0, i32 0 %468 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %469 = ptrtoint %struct.a* %468 to i32 store i32 %469, i32* %467, align 4, !tbaa !6 %470 = getelementptr inbounds %struct.a, %struct.a* %466, i64 1 %471 = getelementptr inbounds %struct.a, %struct.a* %470, i32 0, i32 0 store i32 0, i32* %471, align 4, !tbaa !6 %472 = getelementptr inbounds %struct.a, %struct.a* %470, i64 1 %473 = getelementptr inbounds %struct.a, %struct.a* %472, i32 0, i32 0 %474 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %475 = ptrtoint %struct.a* %474 to i32 store i32 %475, i32* %473, align 4, !tbaa !6 %476 = getelementptr inbounds %struct.a, %struct.a* %472, i64 1 %477 = getelementptr inbounds %struct.a, %struct.a* %476, i32 0, i32 0 %478 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %479 = ptrtoint %struct.a* %478 to i32 store i32 %479, i32* %477, align 4, !tbaa !6 %480 = getelementptr inbounds %struct.a, %struct.a* %476, i64 1 %481 = getelementptr inbounds %struct.a, %struct.a* %480, i32 0, i32 0 store i32 0, i32* %481, align 4, !tbaa !6 %482 = getelementptr inbounds %struct.a, %struct.a* %480, i64 1 %483 = getelementptr inbounds %struct.a, %struct.a* %482, i32 0, i32 0 %484 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %485 = ptrtoint %struct.a* %484 to i32 store i32 %485, i32* %483, align 4, !tbaa !6 %486 = getelementptr inbounds %struct.a, %struct.a* %482, i64 1 %487 = getelementptr inbounds %struct.a, %struct.a* %486, i32 0, i32 0 %488 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %489 = ptrtoint %struct.a* %488 to i32 store i32 %489, i32* %487, align 4, !tbaa !6 %490 = getelementptr inbounds %struct.a, %struct.a* %486, i64 1 %491 = getelementptr inbounds %struct.a, %struct.a* %490, i32 0, i32 0 %492 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %493 = ptrtoint %struct.a* %492 to i32 store i32 %493, i32* %491, align 4, !tbaa !6 %494 = getelementptr inbounds %struct.a, %struct.a* %490, i64 1 %495 = getelementptr inbounds %struct.a, %struct.a* %494, i32 0, i32 0 %496 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %497 = ptrtoint %struct.a* %496 to i32 store i32 %497, i32* %495, align 4, !tbaa !6 %498 = getelementptr inbounds %struct.a, %struct.a* %494, i64 1 %499 = getelementptr inbounds %struct.a, %struct.a* %498, i32 0, i32 0 %500 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %501 = ptrtoint %struct.a* %500 to i32 store i32 %501, i32* %499, align 4, !tbaa !6 %502 = getelementptr inbounds %struct.a, %struct.a* %498, i64 1 %503 = getelementptr inbounds %struct.a, %struct.a* %502, i32 0, i32 0 %504 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %505 = ptrtoint %struct.a* %504 to i32 store i32 %505, i32* %503, align 4, !tbaa !6 %506 = getelementptr inbounds %struct.a, %struct.a* %502, i64 1 %507 = getelementptr inbounds %struct.a, %struct.a* %506, i32 0, i32 0 %508 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %509 = ptrtoint %struct.a* %508 to i32 store i32 %509, i32* %507, align 4, !tbaa !6 %510 = getelementptr inbounds %struct.a, %struct.a* %506, i64 1 %511 = getelementptr inbounds %struct.a, %struct.a* %510, i32 0, i32 0 %512 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %513 = ptrtoint %struct.a* %512 to i32 store i32 %513, i32* %511, align 4, !tbaa !6 %514 = getelementptr inbounds %struct.a, %struct.a* %510, i64 1 %515 = getelementptr inbounds %struct.a, %struct.a* %514, i32 0, i32 0 %516 = getelementptr inbounds [1 x %struct.a], [1 x %struct.a]* %2, i64 0, i64 0 %517 = ptrtoint %struct.a* %516 to i32 store i32 %517, i32* %515, align 4, !tbaa !6 %518 = getelementptr inbounds %struct.a, %struct.a* %514, i64 1 %519 = getelementptr inbounds %struct.a, %struct.a* %518, i32 0, i32 0 store i32 0, i32* %519, align 4, !tbaa !6 %520 = getelementptr inbounds %struct.a, %struct.a* %518, i64 1 %521 = getelementptr inbounds %struct.a, %struct.a* %520, i32 0, i32 0 store i32 0, i32* %521, align 4, !tbaa !6 %522 = getelementptr inbounds %struct.a, %struct.a* %520, i64 1 %523 = getelementptr inbounds %struct.a, %struct.a* %522, i32 0, i32 0 store i32 0, i32* %523, align 4, !tbaa !6 %524 = bitcast [145 x %struct.a]* %4 to i8* call void @llvm.lifetime.end.p0i8(i64 580, i8* %524) #2 br label %525 525: ; preds = %10 %526 = load i16, i16* %3, align 2, !tbaa !2 %527 = add i16 %526, 1 store i16 %527, i16* %3, align 2, !tbaa !2 br label %7 528: ; preds = %7 %529 = bitcast i16* %3 to i8* call void @llvm.lifetime.end.p0i8(i64 2, i8* %529) #2 %530 = bitcast [1 x %struct.a]* %2 to i8* call void @llvm.lifetime.end.p0i8(i64 4, i8* %530) #2 %531 = getelementptr inbounds %struct.a, %struct.a* %1, i32 0, i32 0 %532 = load i32, i32* %531, align 4 ret i32 %532 } ; Function Attrs: argmemonly nofree nosync nounwind willreturn declare void @llvm.lifetime.start.p0i8(i64 immarg, i8* nocapture) #1 ; Function Attrs: argmemonly nofree nosync nounwind willreturn declare void @llvm.lifetime.end.p0i8(i64 immarg, i8* nocapture) #1 attributes #0 = { nounwind uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="none" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "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-cpu"="x86-64" "target-features"="+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } attributes #1 = { argmemonly nofree nosync nounwind willreturn } attributes #2 = { nounwind } !llvm.module.flags = !{!0} !llvm.ident = !{!1} !0 = !{i32 1, !"wchar_size", i32 4} !1 = !{!"clang version 9.0.0 (trunk 355281)"} !2 = !{!3, !3, i64 0} !3 = !{!"short", !4, i64 0} !4 = !{!"omnipotent char", !5, i64 0} !5 = !{!"Simple C/C++ TBAA"} !6 = !{!7, !8, i64 0} !7 = !{!"a", !8, i64 0} !8 = !{!"int", !4, i64 0}
Become a Patron
Sponsor on GitHub
Donate via PayPal
Source on GitHub
Mailing list
Installed libraries
Wiki
Report an issue
How it works
Contact the author
CE on Mastodon
CE on Bluesky
About the author
Statistics
Changelog
Version tree