1 // Generated by llvm2cpp - DO NOT MODIFY!
4 Module* makeLLVMModuleContents(Module *mod)
7 mod->setModuleIdentifier("src/cpp/llvm-wrapper.bc");
10 StructType *StructTy_class_std__ios_base__Init = mod->getTypeByName("class.std::ios_base::Init");
11 if (!StructTy_class_std__ios_base__Init)
13 StructTy_class_std__ios_base__Init = StructType::create(mod->getContext(), "class.std::ios_base::Init");
15 std::vector<Type*>StructTy_class_std__ios_base__Init_fields;
16 StructTy_class_std__ios_base__Init_fields.push_back(IntegerType::get(mod->getContext(), 8));
17 if (StructTy_class_std__ios_base__Init->isOpaque())
19 StructTy_class_std__ios_base__Init->setBody(StructTy_class_std__ios_base__Init_fields, /*isPacked=*/false);
22 PointerType* PointerTy_0 = PointerType::get(StructTy_class_std__ios_base__Init, 0);
24 PointerType* PointerTy_1 = PointerType::get(IntegerType::get(mod->getContext(), 8), 0);
26 std::vector<Type*>StructTy_3_fields;
27 StructTy_3_fields.push_back(IntegerType::get(mod->getContext(), 32));
28 std::vector<Type*>FuncTy_5_args;
29 FunctionType* FuncTy_5 = FunctionType::get(
30 /*Result=*/Type::getVoidTy(mod->getContext()),
31 /*Params=*/FuncTy_5_args,
34 PointerType* PointerTy_4 = PointerType::get(FuncTy_5, 0);
36 StructTy_3_fields.push_back(PointerTy_4);
37 StructType *StructTy_3 = StructType::get(mod->getContext(), StructTy_3_fields, /*isPacked=*/false);
39 ArrayType* ArrayTy_2 = ArrayType::get(StructTy_3, 1);
41 PointerType* PointerTy_6 = PointerType::get(ArrayTy_2, 0);
43 std::vector<Type*>FuncTy_8_args;
44 FuncTy_8_args.push_back(PointerTy_0);
45 FunctionType* FuncTy_8 = FunctionType::get(
46 /*Result=*/Type::getVoidTy(mod->getContext()),
47 /*Params=*/FuncTy_8_args,
50 PointerType* PointerTy_7 = PointerType::get(FuncTy_8, 0);
52 std::vector<Type*>FuncTy_10_args;
53 FuncTy_10_args.push_back(PointerTy_1);
54 FunctionType* FuncTy_10 = FunctionType::get(
55 /*Result=*/Type::getVoidTy(mod->getContext()),
56 /*Params=*/FuncTy_10_args,
59 PointerType* PointerTy_9 = PointerType::get(FuncTy_10, 0);
61 std::vector<Type*>FuncTy_12_args;
62 FuncTy_12_args.push_back(PointerTy_9);
63 FuncTy_12_args.push_back(PointerTy_1);
64 FuncTy_12_args.push_back(PointerTy_1);
65 FunctionType* FuncTy_12 = FunctionType::get(
66 /*Result=*/IntegerType::get(mod->getContext(), 32),
67 /*Params=*/FuncTy_12_args,
70 PointerType* PointerTy_11 = PointerType::get(FuncTy_12, 0);
72 std::vector<Type*>FuncTy_13_args;
73 FunctionType* FuncTy_13 = FunctionType::get(
74 /*Result=*/IntegerType::get(mod->getContext(), 32),
75 /*Params=*/FuncTy_13_args,
78 StructType *StructTy_class_types__Double = mod->getTypeByName("class.types::Double");
79 if (!StructTy_class_types__Double)
81 StructTy_class_types__Double = StructType::create(mod->getContext(), "class.types::Double");
83 std::vector<Type*>StructTy_class_types__Double_fields;
84 StructType *StructTy_class_types__ArrayOf = mod->getTypeByName("class.types::ArrayOf");
85 if (!StructTy_class_types__ArrayOf)
87 StructTy_class_types__ArrayOf = StructType::create(mod->getContext(), "class.types::ArrayOf");
89 std::vector<Type*>StructTy_class_types__ArrayOf_fields;
90 StructType *StructTy_class_types__GenericType = mod->getTypeByName("class.types::GenericType");
91 if (!StructTy_class_types__GenericType)
93 StructTy_class_types__GenericType = StructType::create(mod->getContext(), "class.types::GenericType");
95 std::vector<Type*>StructTy_class_types__GenericType_fields;
96 ArrayType* ArrayTy_16 = ArrayType::get(IntegerType::get(mod->getContext(), 8), 36);
98 StructTy_class_types__GenericType_fields.push_back(ArrayTy_16);
99 StructTy_class_types__GenericType_fields.push_back(IntegerType::get(mod->getContext(), 32));
100 StructTy_class_types__GenericType_fields.push_back(IntegerType::get(mod->getContext(), 32));
101 StructTy_class_types__GenericType_fields.push_back(IntegerType::get(mod->getContext(), 32));
102 StructTy_class_types__GenericType_fields.push_back(IntegerType::get(mod->getContext(), 32));
103 ArrayType* ArrayTy_17 = ArrayType::get(IntegerType::get(mod->getContext(), 32), 50);
105 StructTy_class_types__GenericType_fields.push_back(ArrayTy_17);
106 StructTy_class_types__GenericType_fields.push_back(IntegerType::get(mod->getContext(), 32));
107 if (StructTy_class_types__GenericType->isOpaque())
109 StructTy_class_types__GenericType->setBody(StructTy_class_types__GenericType_fields, /*isPacked=*/false);
112 StructTy_class_types__ArrayOf_fields.push_back(StructTy_class_types__GenericType);
113 StructTy_class_types__ArrayOf_fields.push_back(IntegerType::get(mod->getContext(), 8));
114 PointerType* PointerTy_18 = PointerType::get(Type::getDoubleTy(mod->getContext()), 0);
116 StructTy_class_types__ArrayOf_fields.push_back(PointerTy_18);
117 StructTy_class_types__ArrayOf_fields.push_back(PointerTy_18);
118 if (StructTy_class_types__ArrayOf->isOpaque())
120 StructTy_class_types__ArrayOf->setBody(StructTy_class_types__ArrayOf_fields, /*isPacked=*/false);
123 StructTy_class_types__Double_fields.push_back(StructTy_class_types__ArrayOf);
124 StructTy_class_types__Double_fields.push_back(IntegerType::get(mod->getContext(), 8));
125 StructTy_class_types__Double_fields.push_back(IntegerType::get(mod->getContext(), 8));
126 if (StructTy_class_types__Double->isOpaque())
128 StructTy_class_types__Double->setBody(StructTy_class_types__Double_fields, /*isPacked=*/false);
131 PointerType* PointerTy_15 = PointerType::get(StructTy_class_types__Double, 0);
133 PointerType* PointerTy_14 = PointerType::get(PointerTy_15, 0);
135 StructType *StructTy_class_types__Bool = mod->getTypeByName("class.types::Bool");
136 if (!StructTy_class_types__Bool)
138 StructTy_class_types__Bool = StructType::create(mod->getContext(), "class.types::Bool");
140 std::vector<Type*>StructTy_class_types__Bool_fields;
141 StructType *StructTy_class_types__ArrayOf_0 = mod->getTypeByName("class.types::ArrayOf.0");
142 if (!StructTy_class_types__ArrayOf_0)
144 StructTy_class_types__ArrayOf_0 = StructType::create(mod->getContext(), "class.types::ArrayOf.0");
146 std::vector<Type*>StructTy_class_types__ArrayOf_0_fields;
147 StructTy_class_types__ArrayOf_0_fields.push_back(StructTy_class_types__GenericType);
148 StructTy_class_types__ArrayOf_0_fields.push_back(IntegerType::get(mod->getContext(), 8));
149 PointerType* PointerTy_21 = PointerType::get(IntegerType::get(mod->getContext(), 32), 0);
151 StructTy_class_types__ArrayOf_0_fields.push_back(PointerTy_21);
152 StructTy_class_types__ArrayOf_0_fields.push_back(PointerTy_21);
153 if (StructTy_class_types__ArrayOf_0->isOpaque())
155 StructTy_class_types__ArrayOf_0->setBody(StructTy_class_types__ArrayOf_0_fields, /*isPacked=*/false);
158 StructTy_class_types__Bool_fields.push_back(StructTy_class_types__ArrayOf_0);
159 if (StructTy_class_types__Bool->isOpaque())
161 StructTy_class_types__Bool->setBody(StructTy_class_types__Bool_fields, /*isPacked=*/false);
164 PointerType* PointerTy_20 = PointerType::get(StructTy_class_types__Bool, 0);
166 PointerType* PointerTy_19 = PointerType::get(PointerTy_20, 0);
168 StructType *StructTy_class_symbol__Symbol = mod->getTypeByName("class.symbol::Symbol");
169 if (!StructTy_class_symbol__Symbol)
171 StructTy_class_symbol__Symbol = StructType::create(mod->getContext(), "class.symbol::Symbol");
173 std::vector<Type*>StructTy_class_symbol__Symbol_fields;
174 StructType *StructTy_struct_std___Rb_tree_const_iterator = mod->getTypeByName("struct.std::_Rb_tree_const_iterator");
175 if (!StructTy_struct_std___Rb_tree_const_iterator)
177 StructTy_struct_std___Rb_tree_const_iterator = StructType::create(mod->getContext(), "struct.std::_Rb_tree_const_iterator");
179 std::vector<Type*>StructTy_struct_std___Rb_tree_const_iterator_fields;
180 StructType *StructTy_struct_std___Rb_tree_node_base = mod->getTypeByName("struct.std::_Rb_tree_node_base");
181 if (!StructTy_struct_std___Rb_tree_node_base)
183 StructTy_struct_std___Rb_tree_node_base = StructType::create(mod->getContext(), "struct.std::_Rb_tree_node_base");
185 std::vector<Type*>StructTy_struct_std___Rb_tree_node_base_fields;
186 StructTy_struct_std___Rb_tree_node_base_fields.push_back(IntegerType::get(mod->getContext(), 32));
187 PointerType* PointerTy_24 = PointerType::get(StructTy_struct_std___Rb_tree_node_base, 0);
189 StructTy_struct_std___Rb_tree_node_base_fields.push_back(PointerTy_24);
190 StructTy_struct_std___Rb_tree_node_base_fields.push_back(PointerTy_24);
191 StructTy_struct_std___Rb_tree_node_base_fields.push_back(PointerTy_24);
192 if (StructTy_struct_std___Rb_tree_node_base->isOpaque())
194 StructTy_struct_std___Rb_tree_node_base->setBody(StructTy_struct_std___Rb_tree_node_base_fields, /*isPacked=*/false);
198 StructTy_struct_std___Rb_tree_const_iterator_fields.push_back(PointerTy_24);
199 if (StructTy_struct_std___Rb_tree_const_iterator->isOpaque())
201 StructTy_struct_std___Rb_tree_const_iterator->setBody(StructTy_struct_std___Rb_tree_const_iterator_fields, /*isPacked=*/false);
204 StructTy_class_symbol__Symbol_fields.push_back(StructTy_struct_std___Rb_tree_const_iterator);
205 if (StructTy_class_symbol__Symbol->isOpaque())
207 StructTy_class_symbol__Symbol->setBody(StructTy_class_symbol__Symbol_fields, /*isPacked=*/false);
210 PointerType* PointerTy_23 = PointerType::get(StructTy_class_symbol__Symbol, 0);
212 PointerType* PointerTy_22 = PointerType::get(PointerTy_23, 0);
214 std::vector<Type*>FuncTy_26_args;
215 FunctionType* FuncTy_26 = FunctionType::get(
216 /*Result=*/PointerTy_15,
217 /*Params=*/FuncTy_26_args,
220 PointerType* PointerTy_25 = PointerType::get(FuncTy_26, 0);
222 std::vector<Type*>FuncTy_28_args;
223 FuncTy_28_args.push_back(PointerTy_15);
224 FuncTy_28_args.push_back(PointerTy_15);
225 FuncTy_28_args.push_back(PointerTy_14);
226 FunctionType* FuncTy_28 = FunctionType::get(
227 /*Result=*/IntegerType::get(mod->getContext(), 32),
228 /*Params=*/FuncTy_28_args,
231 PointerType* PointerTy_27 = PointerType::get(FuncTy_28, 0);
233 std::vector<Type*>FuncTy_30_args;
234 FuncTy_30_args.push_back(PointerTy_15);
235 FuncTy_30_args.push_back(PointerTy_15);
236 FuncTy_30_args.push_back(PointerTy_19);
237 FunctionType* FuncTy_30 = FunctionType::get(
238 /*Result=*/IntegerType::get(mod->getContext(), 32),
239 /*Params=*/FuncTy_30_args,
242 PointerType* PointerTy_29 = PointerType::get(FuncTy_30, 0);
244 StructType *StructTy_class_symbol__Context = mod->getTypeByName("class.symbol::Context");
245 if (!StructTy_class_symbol__Context)
247 StructTy_class_symbol__Context = StructType::create(mod->getContext(), "class.symbol::Context");
249 std::vector<Type*>StructTy_class_symbol__Context_fields;
250 StructType *StructTy_class_symbol__Stack = mod->getTypeByName("class.symbol::Stack");
251 if (!StructTy_class_symbol__Stack)
253 StructTy_class_symbol__Stack = StructType::create(mod->getContext(), "class.symbol::Stack");
255 std::vector<Type*>StructTy_class_symbol__Stack_fields;
256 StructType *StructTy_class_symbol__Table = mod->getTypeByName("class.symbol::Table");
257 if (!StructTy_class_symbol__Table)
259 StructTy_class_symbol__Table = StructType::create(mod->getContext(), "class.symbol::Table");
261 std::vector<Type*>StructTy_class_symbol__Table_fields;
262 std::vector<Type*>FuncTy_34_args;
263 FunctionType* FuncTy_34 = FunctionType::get(
264 /*Result=*/IntegerType::get(mod->getContext(), 32),
265 /*Params=*/FuncTy_34_args,
268 PointerType* PointerTy_33 = PointerType::get(FuncTy_34, 0);
270 PointerType* PointerTy_32 = PointerType::get(PointerTy_33, 0);
272 StructTy_class_symbol__Table_fields.push_back(PointerTy_32);
273 StructType *StructTy_class_std__list = mod->getTypeByName("class.std::list");
274 if (!StructTy_class_std__list)
276 StructTy_class_std__list = StructType::create(mod->getContext(), "class.std::list");
278 std::vector<Type*>StructTy_class_std__list_fields;
279 StructType *StructTy_class_std___List_base = mod->getTypeByName("class.std::_List_base");
280 if (!StructTy_class_std___List_base)
282 StructTy_class_std___List_base = StructType::create(mod->getContext(), "class.std::_List_base");
284 std::vector<Type*>StructTy_class_std___List_base_fields;
285 StructType *StructTy_struct_std___List_base_symbol__Scope____std__allocator_symbol__Scope________List_impl = mod->getTypeByName("struct.std::_List_base<symbol::Scope *, std::allocator<symbol::Scope *> >::_List_impl");
286 if (!StructTy_struct_std___List_base_symbol__Scope____std__allocator_symbol__Scope________List_impl)
288 StructTy_struct_std___List_base_symbol__Scope____std__allocator_symbol__Scope________List_impl = StructType::create(mod->getContext(), "struct.std::_List_base<symbol::Scope *, std::allocator<symbol::Scope *> >::_List_impl");
290 std::vector<Type*>StructTy_struct_std___List_base_symbol__Scope____std__allocator_symbol__Scope________List_impl_fields;
291 StructType *StructTy_struct_std____detail___List_node_base = mod->getTypeByName("struct.std::__detail::_List_node_base");
292 if (!StructTy_struct_std____detail___List_node_base)
294 StructTy_struct_std____detail___List_node_base = StructType::create(mod->getContext(), "struct.std::__detail::_List_node_base");
296 std::vector<Type*>StructTy_struct_std____detail___List_node_base_fields;
297 PointerType* PointerTy_35 = PointerType::get(StructTy_struct_std____detail___List_node_base, 0);
299 StructTy_struct_std____detail___List_node_base_fields.push_back(PointerTy_35);
300 StructTy_struct_std____detail___List_node_base_fields.push_back(PointerTy_35);
301 if (StructTy_struct_std____detail___List_node_base->isOpaque())
303 StructTy_struct_std____detail___List_node_base->setBody(StructTy_struct_std____detail___List_node_base_fields, /*isPacked=*/false);
306 StructTy_struct_std___List_base_symbol__Scope____std__allocator_symbol__Scope________List_impl_fields.push_back(StructTy_struct_std____detail___List_node_base);
307 if (StructTy_struct_std___List_base_symbol__Scope____std__allocator_symbol__Scope________List_impl->isOpaque())
309 StructTy_struct_std___List_base_symbol__Scope____std__allocator_symbol__Scope________List_impl->setBody(StructTy_struct_std___List_base_symbol__Scope____std__allocator_symbol__Scope________List_impl_fields, /*isPacked=*/false);
312 StructTy_class_std___List_base_fields.push_back(StructTy_struct_std___List_base_symbol__Scope____std__allocator_symbol__Scope________List_impl);
313 if (StructTy_class_std___List_base->isOpaque())
315 StructTy_class_std___List_base->setBody(StructTy_class_std___List_base_fields, /*isPacked=*/false);
318 StructTy_class_std__list_fields.push_back(StructTy_class_std___List_base);
319 if (StructTy_class_std__list->isOpaque())
321 StructTy_class_std__list->setBody(StructTy_class_std__list_fields, /*isPacked=*/false);
324 StructTy_class_symbol__Table_fields.push_back(StructTy_class_std__list);
325 if (StructTy_class_symbol__Table->isOpaque())
327 StructTy_class_symbol__Table->setBody(StructTy_class_symbol__Table_fields, /*isPacked=*/false);
330 StructTy_class_symbol__Stack_fields.push_back(StructTy_class_symbol__Table);
331 if (StructTy_class_symbol__Stack->isOpaque())
333 StructTy_class_symbol__Stack->setBody(StructTy_class_symbol__Stack_fields, /*isPacked=*/false);
336 StructTy_class_symbol__Context_fields.push_back(StructTy_class_symbol__Stack);
337 StructType *StructTy_class_symbol__Heap = mod->getTypeByName("class.symbol::Heap");
338 if (!StructTy_class_symbol__Heap)
340 StructTy_class_symbol__Heap = StructType::create(mod->getContext(), "class.symbol::Heap");
342 std::vector<Type*>StructTy_class_symbol__Heap_fields;
343 StructTy_class_symbol__Heap_fields.push_back(PointerTy_20);
344 StructType *StructTy_class_std__map = mod->getTypeByName("class.std::map");
345 if (!StructTy_class_std__map)
347 StructTy_class_std__map = StructType::create(mod->getContext(), "class.std::map");
349 std::vector<Type*>StructTy_class_std__map_fields;
350 StructType *StructTy_class_std___Rb_tree = mod->getTypeByName("class.std::_Rb_tree");
351 if (!StructTy_class_std___Rb_tree)
353 StructTy_class_std___Rb_tree = StructType::create(mod->getContext(), "class.std::_Rb_tree");
355 std::vector<Type*>StructTy_class_std___Rb_tree_fields;
356 StructType *StructTy_struct_std___Rb_tree_symbol__Symbol__std__pair_const_symbol__Symbol__std__list_symbol__Scope____std__allocator_symbol__Scope__________std___Select1st_std__pair_const_symbol__Symbol__std__list_symbol__Scope____std__allocator_symbol__Scope____________std__less_symbol__Symbol___std__allocator_std__pair_const_symbol__Symbol__std__list_symbol__Scope____std__allocator_symbol__Scope_______________Rb_tree_impl = mod->getTypeByName("struct.std::_Rb_tree<symbol::Symbol, std::pair<const symbol::Symbol, std::list<symbol::Scope *, std::allocator<symbol::Scope *> > *>, std::_Select1st<std::pair<const symbol::Symbol, std::list<symbol::Scope *, std::allocator<symbol::Scope *> > *> >, std::less<symbol::Symbol>, std::allocator<std::pair<const symbol::Symbol, std::list<symbol::Scope *, std::allocator<symbol::Scope *> > *> > >::_Rb_tree_impl");
357 if (!StructTy_struct_std___Rb_tree_symbol__Symbol__std__pair_const_symbol__Symbol__std__list_symbol__Scope____std__allocator_symbol__Scope__________std___Select1st_std__pair_const_symbol__Symbol__std__list_symbol__Scope____std__allocator_symbol__Scope____________std__less_symbol__Symbol___std__allocator_std__pair_const_symbol__Symbol__std__list_symbol__Scope____std__allocator_symbol__Scope_______________Rb_tree_impl)
359 StructTy_struct_std___Rb_tree_symbol__Symbol__std__pair_const_symbol__Symbol__std__list_symbol__Scope____std__allocator_symbol__Scope__________std___Select1st_std__pair_const_symbol__Symbol__std__list_symbol__Scope____std__allocator_symbol__Scope____________std__less_symbol__Symbol___std__allocator_std__pair_const_symbol__Symbol__std__list_symbol__Scope____std__allocator_symbol__Scope_______________Rb_tree_impl = StructType::create(mod->getContext(), "struct.std::_Rb_tree<symbol::Symbol, std::pair<const symbol::Symbol, std::list<symbol::Scope *, std::allocator<symbol::Scope *> > *>, std::_Select1st<std::pair<const symbol::Symbol, std::list<symbol::Scope *, std::allocator<symbol::Scope *> > *> >, std::less<symbol::Symbol>, std::allocator<std::pair<const symbol::Symbol, std::list<symbol::Scope *, std::allocator<symbol::Scope *> > *> > >::_Rb_tree_impl");
361 std::vector<Type*>StructTy_struct_std___Rb_tree_symbol__Symbol__std__pair_const_symbol__Symbol__std__list_symbol__Scope____std__allocator_symbol__Scope__________std___Select1st_std__pair_const_symbol__Symbol__std__list_symbol__Scope____std__allocator_symbol__Scope____________std__less_symbol__Symbol___std__allocator_std__pair_const_symbol__Symbol__std__list_symbol__Scope____std__allocator_symbol__Scope_______________Rb_tree_impl_fields;
362 StructType *StructTy_struct_std__less = mod->getTypeByName("struct.std::less");
363 if (!StructTy_struct_std__less)
365 StructTy_struct_std__less = StructType::create(mod->getContext(), "struct.std::less");
367 std::vector<Type*>StructTy_struct_std__less_fields;
368 StructTy_struct_std__less_fields.push_back(IntegerType::get(mod->getContext(), 8));
369 if (StructTy_struct_std__less->isOpaque())
371 StructTy_struct_std__less->setBody(StructTy_struct_std__less_fields, /*isPacked=*/false);
374 StructTy_struct_std___Rb_tree_symbol__Symbol__std__pair_const_symbol__Symbol__std__list_symbol__Scope____std__allocator_symbol__Scope__________std___Select1st_std__pair_const_symbol__Symbol__std__list_symbol__Scope____std__allocator_symbol__Scope____________std__less_symbol__Symbol___std__allocator_std__pair_const_symbol__Symbol__std__list_symbol__Scope____std__allocator_symbol__Scope_______________Rb_tree_impl_fields.push_back(StructTy_struct_std__less);
375 StructTy_struct_std___Rb_tree_symbol__Symbol__std__pair_const_symbol__Symbol__std__list_symbol__Scope____std__allocator_symbol__Scope__________std___Select1st_std__pair_const_symbol__Symbol__std__list_symbol__Scope____std__allocator_symbol__Scope____________std__less_symbol__Symbol___std__allocator_std__pair_const_symbol__Symbol__std__list_symbol__Scope____std__allocator_symbol__Scope_______________Rb_tree_impl_fields.push_back(StructTy_struct_std___Rb_tree_node_base);
376 StructTy_struct_std___Rb_tree_symbol__Symbol__std__pair_const_symbol__Symbol__std__list_symbol__Scope____std__allocator_symbol__Scope__________std___Select1st_std__pair_const_symbol__Symbol__std__list_symbol__Scope____std__allocator_symbol__Scope____________std__less_symbol__Symbol___std__allocator_std__pair_const_symbol__Symbol__std__list_symbol__Scope____std__allocator_symbol__Scope_______________Rb_tree_impl_fields.push_back(IntegerType::get(mod->getContext(), 64));
377 if (StructTy_struct_std___Rb_tree_symbol__Symbol__std__pair_const_symbol__Symbol__std__list_symbol__Scope____std__allocator_symbol__Scope__________std___Select1st_std__pair_const_symbol__Symbol__std__list_symbol__Scope____std__allocator_symbol__Scope____________std__less_symbol__Symbol___std__allocator_std__pair_const_symbol__Symbol__std__list_symbol__Scope____std__allocator_symbol__Scope_______________Rb_tree_impl->isOpaque())
379 StructTy_struct_std___Rb_tree_symbol__Symbol__std__pair_const_symbol__Symbol__std__list_symbol__Scope____std__allocator_symbol__Scope__________std___Select1st_std__pair_const_symbol__Symbol__std__list_symbol__Scope____std__allocator_symbol__Scope____________std__less_symbol__Symbol___std__allocator_std__pair_const_symbol__Symbol__std__list_symbol__Scope____std__allocator_symbol__Scope_______________Rb_tree_impl->setBody(StructTy_struct_std___Rb_tree_symbol__Symbol__std__pair_const_symbol__Symbol__std__list_symbol__Scope____std__allocator_symbol__Scope__________std___Select1st_std__pair_const_symbol__Symbol__std__list_symbol__Scope____std__allocator_symbol__Scope____________std__less_symbol__Symbol___std__allocator_std__pair_const_symbol__Symbol__std__list_symbol__Scope____std__allocator_symbol__Scope_______________Rb_tree_impl_fields, /*isPacked=*/false);
382 StructTy_class_std___Rb_tree_fields.push_back(StructTy_struct_std___Rb_tree_symbol__Symbol__std__pair_const_symbol__Symbol__std__list_symbol__Scope____std__allocator_symbol__Scope__________std___Select1st_std__pair_const_symbol__Symbol__std__list_symbol__Scope____std__allocator_symbol__Scope____________std__less_symbol__Symbol___std__allocator_std__pair_const_symbol__Symbol__std__list_symbol__Scope____std__allocator_symbol__Scope_______________Rb_tree_impl);
383 if (StructTy_class_std___Rb_tree->isOpaque())
385 StructTy_class_std___Rb_tree->setBody(StructTy_class_std___Rb_tree_fields, /*isPacked=*/false);
388 StructTy_class_std__map_fields.push_back(StructTy_class_std___Rb_tree);
389 if (StructTy_class_std__map->isOpaque())
391 StructTy_class_std__map->setBody(StructTy_class_std__map_fields, /*isPacked=*/false);
394 StructTy_class_symbol__Heap_fields.push_back(StructTy_class_std__map);
395 StructTy_class_symbol__Heap_fields.push_back(StructTy_class_std__list);
396 if (StructTy_class_symbol__Heap->isOpaque())
398 StructTy_class_symbol__Heap->setBody(StructTy_class_symbol__Heap_fields, /*isPacked=*/false);
401 StructTy_class_symbol__Context_fields.push_back(StructTy_class_symbol__Heap);
402 StructTy_class_symbol__Context_fields.push_back(StructTy_class_symbol__Stack);
403 if (StructTy_class_symbol__Context->isOpaque())
405 StructTy_class_symbol__Context->setBody(StructTy_class_symbol__Context_fields, /*isPacked=*/false);
408 PointerType* PointerTy_31 = PointerType::get(StructTy_class_symbol__Context, 0);
410 std::vector<Type*>FuncTy_37_args;
411 FunctionType* FuncTy_37 = FunctionType::get(
412 /*Result=*/PointerTy_31,
413 /*Params=*/FuncTy_37_args,
416 PointerType* PointerTy_36 = PointerType::get(FuncTy_37, 0);
418 StructType *StructTy_class_types__InternalType = mod->getTypeByName("class.types::InternalType");
419 if (!StructTy_class_types__InternalType)
421 StructTy_class_types__InternalType = StructType::create(mod->getContext(), "class.types::InternalType");
423 std::vector<Type*>StructTy_class_types__InternalType_fields;
424 StructTy_class_types__InternalType_fields.push_back(PointerTy_32);
425 StructTy_class_types__InternalType_fields.push_back(IntegerType::get(mod->getContext(), 32));
426 StructTy_class_types__InternalType_fields.push_back(IntegerType::get(mod->getContext(), 8));
427 StructTy_class_types__InternalType_fields.push_back(IntegerType::get(mod->getContext(), 8));
428 StructTy_class_types__InternalType_fields.push_back(IntegerType::get(mod->getContext(), 32));
429 StructTy_class_types__InternalType_fields.push_back(IntegerType::get(mod->getContext(), 32));
430 StructTy_class_types__InternalType_fields.push_back(IntegerType::get(mod->getContext(), 32));
431 StructTy_class_types__InternalType_fields.push_back(IntegerType::get(mod->getContext(), 32));
432 StructTy_class_types__InternalType_fields.push_back(IntegerType::get(mod->getContext(), 32));
433 if (StructTy_class_types__InternalType->isOpaque())
435 StructTy_class_types__InternalType->setBody(StructTy_class_types__InternalType_fields, /*isPacked=*/false);
438 PointerType* PointerTy_38 = PointerType::get(StructTy_class_types__InternalType, 0);
440 std::vector<Type*>FuncTy_40_args;
441 FuncTy_40_args.push_back(PointerTy_31);
442 FuncTy_40_args.push_back(PointerTy_23);
443 FuncTy_40_args.push_back(PointerTy_38);
444 FunctionType* FuncTy_40 = FunctionType::get(
445 /*Result=*/IntegerType::get(mod->getContext(), 1),
446 /*Params=*/FuncTy_40_args,
449 PointerType* PointerTy_39 = PointerType::get(FuncTy_40, 0);
451 std::vector<Type*>FuncTy_42_args;
452 FuncTy_42_args.push_back(PointerTy_31);
453 FuncTy_42_args.push_back(PointerTy_23);
454 FunctionType* FuncTy_42 = FunctionType::get(
455 /*Result=*/PointerTy_38,
456 /*Params=*/FuncTy_42_args,
459 PointerType* PointerTy_41 = PointerType::get(FuncTy_42, 0);
461 PointerType* PointerTy_43 = PointerType::get(StructTy_class_types__ArrayOf_0, 0);
463 std::vector<Type*>FuncTy_45_args;
464 FuncTy_45_args.push_back(PointerTy_43);
465 FuncTy_45_args.push_back(IntegerType::get(mod->getContext(), 32));
466 FunctionType* FuncTy_45 = FunctionType::get(
467 /*Result=*/IntegerType::get(mod->getContext(), 32),
468 /*Params=*/FuncTy_45_args,
471 PointerType* PointerTy_44 = PointerType::get(FuncTy_45, 0);
473 PointerType* PointerTy_46 = PointerType::get(PointerTy_43, 0);
475 PointerType* PointerTy_47 = PointerType::get(PointerTy_21, 0);
478 // Function Declarations
480 Function* func___cxx_global_var_init = mod->getFunction("__cxx_global_var_init");
481 if (!func___cxx_global_var_init)
483 func___cxx_global_var_init = Function::Create(
485 /*Linkage=*/GlobalValue::InternalLinkage,
486 /*Name=*/"__cxx_global_var_init", mod);
487 func___cxx_global_var_init->setCallingConv(CallingConv::C);
488 func___cxx_global_var_init->setSection(".text.startup");
490 AttributeSet func___cxx_global_var_init_PAL;
491 func___cxx_global_var_init->setAttributes(func___cxx_global_var_init_PAL);
493 Function* func__ZNSt8ios_base4InitC1Ev = mod->getFunction("_ZNSt8ios_base4InitC1Ev");
494 if (!func__ZNSt8ios_base4InitC1Ev)
496 func__ZNSt8ios_base4InitC1Ev = Function::Create(
498 /*Linkage=*/GlobalValue::ExternalLinkage,
499 /*Name=*/"_ZNSt8ios_base4InitC1Ev", mod); // (external, no body)
500 func__ZNSt8ios_base4InitC1Ev->setCallingConv(CallingConv::C);
502 AttributeSet func__ZNSt8ios_base4InitC1Ev_PAL;
504 SmallVector<AttributeSet, 4> Attrs;
508 PAS = AttributeSet::get(mod->getContext(), ~0U, B);
511 Attrs.push_back(PAS);
512 func__ZNSt8ios_base4InitC1Ev_PAL = AttributeSet::get(mod->getContext(), Attrs);
515 func__ZNSt8ios_base4InitC1Ev->setAttributes(func__ZNSt8ios_base4InitC1Ev_PAL);
517 Function* func__ZNSt8ios_base4InitD1Ev = mod->getFunction("_ZNSt8ios_base4InitD1Ev");
518 if (!func__ZNSt8ios_base4InitD1Ev)
520 func__ZNSt8ios_base4InitD1Ev = Function::Create(
522 /*Linkage=*/GlobalValue::ExternalLinkage,
523 /*Name=*/"_ZNSt8ios_base4InitD1Ev", mod); // (external, no body)
524 func__ZNSt8ios_base4InitD1Ev->setCallingConv(CallingConv::C);
526 AttributeSet func__ZNSt8ios_base4InitD1Ev_PAL;
528 SmallVector<AttributeSet, 4> Attrs;
532 PAS = AttributeSet::get(mod->getContext(), ~0U, B);
535 Attrs.push_back(PAS);
536 func__ZNSt8ios_base4InitD1Ev_PAL = AttributeSet::get(mod->getContext(), Attrs);
539 func__ZNSt8ios_base4InitD1Ev->setAttributes(func__ZNSt8ios_base4InitD1Ev_PAL);
541 Function* func___cxa_atexit = mod->getFunction("__cxa_atexit");
542 if (!func___cxa_atexit)
544 func___cxa_atexit = Function::Create(
546 /*Linkage=*/GlobalValue::ExternalLinkage,
547 /*Name=*/"__cxa_atexit", mod); // (external, no body)
548 func___cxa_atexit->setCallingConv(CallingConv::C);
550 AttributeSet func___cxa_atexit_PAL;
552 SmallVector<AttributeSet, 4> Attrs;
556 B.addAttribute(Attribute::NoUnwind);
557 PAS = AttributeSet::get(mod->getContext(), ~0U, B);
560 Attrs.push_back(PAS);
561 func___cxa_atexit_PAL = AttributeSet::get(mod->getContext(), Attrs);
564 func___cxa_atexit->setAttributes(func___cxa_atexit_PAL);
566 Function* func__Z3foov = mod->getFunction("_Z3foov");
569 func__Z3foov = Function::Create(
571 /*Linkage=*/GlobalValue::ExternalLinkage,
572 /*Name=*/"_Z3foov", mod);
573 func__Z3foov->setCallingConv(CallingConv::C);
575 AttributeSet func__Z3foov_PAL;
577 SmallVector<AttributeSet, 4> Attrs;
581 B.addAttribute(Attribute::UWTable);
582 PAS = AttributeSet::get(mod->getContext(), ~0U, B);
585 Attrs.push_back(PAS);
586 func__Z3foov_PAL = AttributeSet::get(mod->getContext(), Attrs);
589 func__Z3foov->setAttributes(func__Z3foov_PAL);
591 Function* func__ZN5types6Double5EmptyEv = mod->getFunction("_ZN5types6Double5EmptyEv");
592 if (!func__ZN5types6Double5EmptyEv)
594 func__ZN5types6Double5EmptyEv = Function::Create(
596 /*Linkage=*/GlobalValue::ExternalLinkage,
597 /*Name=*/"_ZN5types6Double5EmptyEv", mod); // (external, no body)
598 func__ZN5types6Double5EmptyEv->setCallingConv(CallingConv::C);
600 AttributeSet func__ZN5types6Double5EmptyEv_PAL;
602 SmallVector<AttributeSet, 4> Attrs;
606 PAS = AttributeSet::get(mod->getContext(), ~0U, B);
609 Attrs.push_back(PAS);
610 func__ZN5types6Double5EmptyEv_PAL = AttributeSet::get(mod->getContext(), Attrs);
613 func__ZN5types6Double5EmptyEv->setAttributes(func__ZN5types6Double5EmptyEv_PAL);
615 Function* func__Z17AddDoubleToDoublePN5types6DoubleES1_PS1_ = mod->getFunction("_Z17AddDoubleToDoublePN5types6DoubleES1_PS1_");
616 if (!func__Z17AddDoubleToDoublePN5types6DoubleES1_PS1_)
618 func__Z17AddDoubleToDoublePN5types6DoubleES1_PS1_ = Function::Create(
620 /*Linkage=*/GlobalValue::ExternalLinkage,
621 /*Name=*/"_Z17AddDoubleToDoublePN5types6DoubleES1_PS1_", mod); // (external, no body)
622 func__Z17AddDoubleToDoublePN5types6DoubleES1_PS1_->setCallingConv(CallingConv::C);
624 AttributeSet func__Z17AddDoubleToDoublePN5types6DoubleES1_PS1__PAL;
626 SmallVector<AttributeSet, 4> Attrs;
630 PAS = AttributeSet::get(mod->getContext(), ~0U, B);
633 Attrs.push_back(PAS);
634 func__Z17AddDoubleToDoublePN5types6DoubleES1_PS1__PAL = AttributeSet::get(mod->getContext(), Attrs);
637 func__Z17AddDoubleToDoublePN5types6DoubleES1_PS1_->setAttributes(func__Z17AddDoubleToDoublePN5types6DoubleES1_PS1__PAL);
639 Function* func__Z22MultiplyDoubleByDoublePN5types6DoubleES1_PS1_ = mod->getFunction("_Z22MultiplyDoubleByDoublePN5types6DoubleES1_PS1_");
640 if (!func__Z22MultiplyDoubleByDoublePN5types6DoubleES1_PS1_)
642 func__Z22MultiplyDoubleByDoublePN5types6DoubleES1_PS1_ = Function::Create(
644 /*Linkage=*/GlobalValue::ExternalLinkage,
645 /*Name=*/"_Z22MultiplyDoubleByDoublePN5types6DoubleES1_PS1_", mod); // (external, no body)
646 func__Z22MultiplyDoubleByDoublePN5types6DoubleES1_PS1_->setCallingConv(CallingConv::C);
648 AttributeSet func__Z22MultiplyDoubleByDoublePN5types6DoubleES1_PS1__PAL;
650 SmallVector<AttributeSet, 4> Attrs;
654 PAS = AttributeSet::get(mod->getContext(), ~0U, B);
657 Attrs.push_back(PAS);
658 func__Z22MultiplyDoubleByDoublePN5types6DoubleES1_PS1__PAL = AttributeSet::get(mod->getContext(), Attrs);
661 func__Z22MultiplyDoubleByDoublePN5types6DoubleES1_PS1_->setAttributes(func__Z22MultiplyDoubleByDoublePN5types6DoubleES1_PS1__PAL);
663 Function* func__Z23SubstractDoubleToDoublePN5types6DoubleES1_PS1_ = mod->getFunction("_Z23SubstractDoubleToDoublePN5types6DoubleES1_PS1_");
664 if (!func__Z23SubstractDoubleToDoublePN5types6DoubleES1_PS1_)
666 func__Z23SubstractDoubleToDoublePN5types6DoubleES1_PS1_ = Function::Create(
668 /*Linkage=*/GlobalValue::ExternalLinkage,
669 /*Name=*/"_Z23SubstractDoubleToDoublePN5types6DoubleES1_PS1_", mod); // (external, no body)
670 func__Z23SubstractDoubleToDoublePN5types6DoubleES1_PS1_->setCallingConv(CallingConv::C);
672 AttributeSet func__Z23SubstractDoubleToDoublePN5types6DoubleES1_PS1__PAL;
674 SmallVector<AttributeSet, 4> Attrs;
678 PAS = AttributeSet::get(mod->getContext(), ~0U, B);
681 Attrs.push_back(PAS);
682 func__Z23SubstractDoubleToDoublePN5types6DoubleES1_PS1__PAL = AttributeSet::get(mod->getContext(), Attrs);
685 func__Z23SubstractDoubleToDoublePN5types6DoubleES1_PS1_->setAttributes(func__Z23SubstractDoubleToDoublePN5types6DoubleES1_PS1__PAL);
687 Function* func__Z16DoubleLessDoublePN5types6DoubleES1_PPNS_4BoolE = mod->getFunction("_Z16DoubleLessDoublePN5types6DoubleES1_PPNS_4BoolE");
688 if (!func__Z16DoubleLessDoublePN5types6DoubleES1_PPNS_4BoolE)
690 func__Z16DoubleLessDoublePN5types6DoubleES1_PPNS_4BoolE = Function::Create(
692 /*Linkage=*/GlobalValue::ExternalLinkage,
693 /*Name=*/"_Z16DoubleLessDoublePN5types6DoubleES1_PPNS_4BoolE", mod); // (external, no body)
694 func__Z16DoubleLessDoublePN5types6DoubleES1_PPNS_4BoolE->setCallingConv(CallingConv::C);
696 AttributeSet func__Z16DoubleLessDoublePN5types6DoubleES1_PPNS_4BoolE_PAL;
698 SmallVector<AttributeSet, 4> Attrs;
702 PAS = AttributeSet::get(mod->getContext(), ~0U, B);
705 Attrs.push_back(PAS);
706 func__Z16DoubleLessDoublePN5types6DoubleES1_PPNS_4BoolE_PAL = AttributeSet::get(mod->getContext(), Attrs);
709 func__Z16DoubleLessDoublePN5types6DoubleES1_PPNS_4BoolE->setAttributes(func__Z16DoubleLessDoublePN5types6DoubleES1_PPNS_4BoolE_PAL);
711 Function* func__ZN6symbol7Context11getInstanceEv = mod->getFunction("_ZN6symbol7Context11getInstanceEv");
712 if (!func__ZN6symbol7Context11getInstanceEv)
714 func__ZN6symbol7Context11getInstanceEv = Function::Create(
716 /*Linkage=*/GlobalValue::ExternalLinkage,
717 /*Name=*/"_ZN6symbol7Context11getInstanceEv", mod); // (external, no body)
718 func__ZN6symbol7Context11getInstanceEv->setCallingConv(CallingConv::C);
720 AttributeSet func__ZN6symbol7Context11getInstanceEv_PAL;
722 SmallVector<AttributeSet, 4> Attrs;
726 PAS = AttributeSet::get(mod->getContext(), ~0U, B);
729 Attrs.push_back(PAS);
730 func__ZN6symbol7Context11getInstanceEv_PAL = AttributeSet::get(mod->getContext(), Attrs);
733 func__ZN6symbol7Context11getInstanceEv->setAttributes(func__ZN6symbol7Context11getInstanceEv_PAL);
735 Function* func__ZN6symbol7Context3putERKNS_6SymbolERN5types12InternalTypeE = mod->getFunction("_ZN6symbol7Context3putERKNS_6SymbolERN5types12InternalTypeE");
736 if (!func__ZN6symbol7Context3putERKNS_6SymbolERN5types12InternalTypeE)
738 func__ZN6symbol7Context3putERKNS_6SymbolERN5types12InternalTypeE = Function::Create(
740 /*Linkage=*/GlobalValue::ExternalLinkage,
741 /*Name=*/"_ZN6symbol7Context3putERKNS_6SymbolERN5types12InternalTypeE", mod); // (external, no body)
742 func__ZN6symbol7Context3putERKNS_6SymbolERN5types12InternalTypeE->setCallingConv(CallingConv::C);
744 AttributeSet func__ZN6symbol7Context3putERKNS_6SymbolERN5types12InternalTypeE_PAL;
746 SmallVector<AttributeSet, 4> Attrs;
750 B.addAttribute(Attribute::ZExt);
751 PAS = AttributeSet::get(mod->getContext(), 0U, B);
754 Attrs.push_back(PAS);
757 PAS = AttributeSet::get(mod->getContext(), ~0U, B);
760 Attrs.push_back(PAS);
761 func__ZN6symbol7Context3putERKNS_6SymbolERN5types12InternalTypeE_PAL = AttributeSet::get(mod->getContext(), Attrs);
764 func__ZN6symbol7Context3putERKNS_6SymbolERN5types12InternalTypeE->setAttributes(func__ZN6symbol7Context3putERKNS_6SymbolERN5types12InternalTypeE_PAL);
766 Function* func__ZNK6symbol7Context3getERKNS_6SymbolE = mod->getFunction("_ZNK6symbol7Context3getERKNS_6SymbolE");
767 if (!func__ZNK6symbol7Context3getERKNS_6SymbolE)
769 func__ZNK6symbol7Context3getERKNS_6SymbolE = Function::Create(
771 /*Linkage=*/GlobalValue::ExternalLinkage,
772 /*Name=*/"_ZNK6symbol7Context3getERKNS_6SymbolE", mod); // (external, no body)
773 func__ZNK6symbol7Context3getERKNS_6SymbolE->setCallingConv(CallingConv::C);
775 AttributeSet func__ZNK6symbol7Context3getERKNS_6SymbolE_PAL;
777 SmallVector<AttributeSet, 4> Attrs;
781 PAS = AttributeSet::get(mod->getContext(), ~0U, B);
784 Attrs.push_back(PAS);
785 func__ZNK6symbol7Context3getERKNS_6SymbolE_PAL = AttributeSet::get(mod->getContext(), Attrs);
788 func__ZNK6symbol7Context3getERKNS_6SymbolE->setAttributes(func__ZNK6symbol7Context3getERKNS_6SymbolE_PAL);
790 Function* func__ZN5types7ArrayOfIiE3getEi = mod->getFunction("_ZN5types7ArrayOfIiE3getEi");
791 if (!func__ZN5types7ArrayOfIiE3getEi)
793 func__ZN5types7ArrayOfIiE3getEi = Function::Create(
795 /*Linkage=*/GlobalValue::LinkOnceODRLinkage ,
796 /*Name=*/"_ZN5types7ArrayOfIiE3getEi", mod);
797 func__ZN5types7ArrayOfIiE3getEi->setCallingConv(CallingConv::C);
798 func__ZN5types7ArrayOfIiE3getEi->setAlignment(2);
800 AttributeSet func__ZN5types7ArrayOfIiE3getEi_PAL;
802 SmallVector<AttributeSet, 4> Attrs;
806 B.addAttribute(Attribute::NoUnwind);
807 B.addAttribute(Attribute::UWTable);
808 PAS = AttributeSet::get(mod->getContext(), ~0U, B);
811 Attrs.push_back(PAS);
812 func__ZN5types7ArrayOfIiE3getEi_PAL = AttributeSet::get(mod->getContext(), Attrs);
815 func__ZN5types7ArrayOfIiE3getEi->setAttributes(func__ZN5types7ArrayOfIiE3getEi_PAL);
817 Function* func__GLOBAL__I_a = mod->getFunction("_GLOBAL__I_a");
818 if (!func__GLOBAL__I_a)
820 func__GLOBAL__I_a = Function::Create(
822 /*Linkage=*/GlobalValue::InternalLinkage,
823 /*Name=*/"_GLOBAL__I_a", mod);
824 func__GLOBAL__I_a->setCallingConv(CallingConv::C);
825 func__GLOBAL__I_a->setSection(".text.startup");
827 AttributeSet func__GLOBAL__I_a_PAL;
828 func__GLOBAL__I_a->setAttributes(func__GLOBAL__I_a_PAL);
830 // Global Variable Declarations
833 GlobalVariable* gvar_struct__ZStL8__ioinit = new GlobalVariable(/*Module=*/*mod,
834 /*Type=*/StructTy_class_std__ios_base__Init,
835 /*isConstant=*/false,
836 /*Linkage=*/GlobalValue::InternalLinkage,
837 /*Initializer=*/0, // has initializer, specified below
838 /*Name=*/"_ZStL8__ioinit");
839 gvar_struct__ZStL8__ioinit->setAlignment(1);
841 GlobalVariable* gvar_int8___dso_handle = new GlobalVariable(/*Module=*/*mod,
842 /*Type=*/IntegerType::get(mod->getContext(), 8),
843 /*isConstant=*/false,
844 /*Linkage=*/GlobalValue::ExternalLinkage,
846 /*Name=*/"__dso_handle");
848 GlobalVariable* gvar_array_llvm_global_ctors = new GlobalVariable(/*Module=*/*mod,
850 /*isConstant=*/false,
851 /*Linkage=*/GlobalValue::AppendingLinkage,
852 /*Initializer=*/0, // has initializer, specified below
853 /*Name=*/"llvm.global_ctors");
855 // Constant Definitions
856 ConstantAggregateZero* const_struct_48 = ConstantAggregateZero::get(StructTy_class_std__ios_base__Init);
857 std::vector<Constant*> const_array_49_elems;
858 std::vector<Constant*> const_struct_50_fields;
859 ConstantInt* const_int32_51 = ConstantInt::get(mod->getContext(), APInt(32, StringRef("65535"), 10));
860 const_struct_50_fields.push_back(const_int32_51);
861 const_struct_50_fields.push_back(func__GLOBAL__I_a);
862 Constant* const_struct_50 = ConstantStruct::get(StructTy_3, const_struct_50_fields);
863 const_array_49_elems.push_back(const_struct_50);
864 Constant* const_array_49 = ConstantArray::get(ArrayTy_2, const_array_49_elems);
865 Constant* const_ptr_52 = ConstantExpr::getCast(Instruction::BitCast, func__ZNSt8ios_base4InitD1Ev, PointerTy_9);
866 std::vector<Constant*> const_ptr_53_indices;
867 ConstantInt* const_int32_54 = ConstantInt::get(mod->getContext(), APInt(32, StringRef("0"), 10));
868 const_ptr_53_indices.push_back(const_int32_54);
869 const_ptr_53_indices.push_back(const_int32_54);
870 Constant* const_ptr_53 = ConstantExpr::getGetElementPtr(gvar_struct__ZStL8__ioinit, const_ptr_53_indices);
871 ConstantInt* const_int32_55 = ConstantInt::get(mod->getContext(), APInt(32, StringRef("1"), 10));
872 ConstantPointerNull* const_ptr_56 = ConstantPointerNull::get(PointerTy_20);
873 ConstantPointerNull* const_ptr_57 = ConstantPointerNull::get(PointerTy_19);
874 ConstantPointerNull* const_ptr_58 = ConstantPointerNull::get(PointerTy_23);
875 ConstantInt* const_int32_59 = ConstantInt::get(mod->getContext(), APInt(32, StringRef("2"), 10));
876 ConstantPointerNull* const_ptr_60 = ConstantPointerNull::get(PointerTy_21);
878 // Global Variable Definitions
879 gvar_struct__ZStL8__ioinit->setInitializer(const_struct_48);
880 gvar_array_llvm_global_ctors->setInitializer(const_array_49);
882 // Function Definitions
884 // Function: __cxx_global_var_init (func___cxx_global_var_init)
887 BasicBlock* label_61 = BasicBlock::Create(mod->getContext(), "", func___cxx_global_var_init, 0);
890 CallInst* void_62 = CallInst::Create(func__ZNSt8ios_base4InitC1Ev, gvar_struct__ZStL8__ioinit, "", label_61);
891 void_62->setCallingConv(CallingConv::C);
892 void_62->setTailCall(false);
893 AttributeSet void_62_PAL;
894 void_62->setAttributes(void_62_PAL);
896 std::vector<Value*> int32_63_params;
897 int32_63_params.push_back(const_ptr_52);
898 int32_63_params.push_back(const_ptr_53);
899 int32_63_params.push_back(gvar_int8___dso_handle);
900 CallInst* int32_63 = CallInst::Create(func___cxa_atexit, int32_63_params, "", label_61);
901 int32_63->setCallingConv(CallingConv::C);
902 int32_63->setTailCall(false);
903 AttributeSet int32_63_PAL;
905 SmallVector<AttributeSet, 4> Attrs;
909 B.addAttribute(Attribute::NoUnwind);
910 PAS = AttributeSet::get(mod->getContext(), ~0U, B);
913 Attrs.push_back(PAS);
914 int32_63_PAL = AttributeSet::get(mod->getContext(), Attrs);
917 int32_63->setAttributes(int32_63_PAL);
919 ReturnInst::Create(mod->getContext(), label_61);
923 // Function: _Z3foov (func__Z3foov)
926 BasicBlock* label_65 = BasicBlock::Create(mod->getContext(), "", func__Z3foov, 0);
929 AllocaInst* ptr_pdbl = new AllocaInst(PointerTy_15, "pdbl", label_65);
930 ptr_pdbl->setAlignment(8);
931 AllocaInst* ptr_pb = new AllocaInst(PointerTy_20, "pb", label_65);
932 ptr_pb->setAlignment(8);
933 AllocaInst* ptr_res = new AllocaInst(IntegerType::get(mod->getContext(), 32), "res", label_65);
934 ptr_res->setAlignment(4);
935 AllocaInst* ptr_pdbl1 = new AllocaInst(PointerTy_15, "pdbl1", label_65);
936 ptr_pdbl1->setAlignment(8);
937 AllocaInst* ptr_sym = new AllocaInst(PointerTy_23, "sym", label_65);
938 ptr_sym->setAlignment(8);
939 CallInst* ptr_66 = CallInst::Create(func__ZN5types6Double5EmptyEv, "", label_65);
940 ptr_66->setCallingConv(CallingConv::C);
941 ptr_66->setTailCall(false);
942 AttributeSet ptr_66_PAL;
943 ptr_66->setAttributes(ptr_66_PAL);
945 StoreInst* void_67 = new StoreInst(ptr_66, ptr_pdbl, false, label_65);
946 void_67->setAlignment(8);
947 StoreInst* void_68 = new StoreInst(const_ptr_56, ptr_pb, false, label_65);
948 void_68->setAlignment(8);
949 LoadInst* ptr_69 = new LoadInst(ptr_pdbl, "", false, label_65);
950 ptr_69->setAlignment(8);
951 LoadInst* ptr_70 = new LoadInst(ptr_pdbl, "", false, label_65);
952 ptr_70->setAlignment(8);
953 std::vector<Value*> int32_71_params;
954 int32_71_params.push_back(ptr_69);
955 int32_71_params.push_back(ptr_70);
956 int32_71_params.push_back(ptr_pdbl);
957 CallInst* int32_71 = CallInst::Create(func__Z17AddDoubleToDoublePN5types6DoubleES1_PS1_, int32_71_params, "", label_65);
958 int32_71->setCallingConv(CallingConv::C);
959 int32_71->setTailCall(false);
960 AttributeSet int32_71_PAL;
961 int32_71->setAttributes(int32_71_PAL);
963 StoreInst* void_72 = new StoreInst(int32_71, ptr_res, false, label_65);
964 void_72->setAlignment(4);
965 CallInst* ptr_73 = CallInst::Create(func__ZN5types6Double5EmptyEv, "", label_65);
966 ptr_73->setCallingConv(CallingConv::C);
967 ptr_73->setTailCall(false);
968 AttributeSet ptr_73_PAL;
969 ptr_73->setAttributes(ptr_73_PAL);
971 StoreInst* void_74 = new StoreInst(ptr_73, ptr_pdbl1, false, label_65);
972 void_74->setAlignment(8);
973 LoadInst* ptr_75 = new LoadInst(ptr_pdbl1, "", false, label_65);
974 ptr_75->setAlignment(8);
975 LoadInst* ptr_76 = new LoadInst(ptr_pdbl1, "", false, label_65);
976 ptr_76->setAlignment(8);
977 std::vector<Value*> int32_77_params;
978 int32_77_params.push_back(ptr_75);
979 int32_77_params.push_back(ptr_76);
980 int32_77_params.push_back(ptr_pdbl1);
981 CallInst* int32_77 = CallInst::Create(func__Z22MultiplyDoubleByDoublePN5types6DoubleES1_PS1_, int32_77_params, "", label_65);
982 int32_77->setCallingConv(CallingConv::C);
983 int32_77->setTailCall(false);
984 AttributeSet int32_77_PAL;
985 int32_77->setAttributes(int32_77_PAL);
987 StoreInst* void_78 = new StoreInst(int32_77, ptr_res, false, label_65);
988 void_78->setAlignment(4);
989 LoadInst* ptr_79 = new LoadInst(ptr_pdbl1, "", false, label_65);
990 ptr_79->setAlignment(8);
991 LoadInst* ptr_80 = new LoadInst(ptr_pdbl1, "", false, label_65);
992 ptr_80->setAlignment(8);
993 std::vector<Value*> int32_81_params;
994 int32_81_params.push_back(ptr_79);
995 int32_81_params.push_back(ptr_80);
996 int32_81_params.push_back(ptr_pdbl1);
997 CallInst* int32_81 = CallInst::Create(func__Z23SubstractDoubleToDoublePN5types6DoubleES1_PS1_, int32_81_params, "", label_65);
998 int32_81->setCallingConv(CallingConv::C);
999 int32_81->setTailCall(false);
1000 AttributeSet int32_81_PAL;
1001 int32_81->setAttributes(int32_81_PAL);
1003 StoreInst* void_82 = new StoreInst(int32_81, ptr_res, false, label_65);
1004 void_82->setAlignment(4);
1005 LoadInst* ptr_83 = new LoadInst(ptr_pdbl, "", false, label_65);
1006 ptr_83->setAlignment(8);
1007 LoadInst* ptr_84 = new LoadInst(ptr_pdbl, "", false, label_65);
1008 ptr_84->setAlignment(8);
1009 std::vector<Value*> int32_85_params;
1010 int32_85_params.push_back(ptr_83);
1011 int32_85_params.push_back(ptr_84);
1012 int32_85_params.push_back(const_ptr_57);
1013 CallInst* int32_85 = CallInst::Create(func__Z16DoubleLessDoublePN5types6DoubleES1_PPNS_4BoolE, int32_85_params, "", label_65);
1014 int32_85->setCallingConv(CallingConv::C);
1015 int32_85->setTailCall(false);
1016 AttributeSet int32_85_PAL;
1017 int32_85->setAttributes(int32_85_PAL);
1019 StoreInst* void_86 = new StoreInst(int32_85, ptr_res, false, label_65);
1020 void_86->setAlignment(4);
1021 StoreInst* void_87 = new StoreInst(const_ptr_58, ptr_sym, false, label_65);
1022 void_87->setAlignment(8);
1023 CallInst* ptr_88 = CallInst::Create(func__ZN6symbol7Context11getInstanceEv, "", label_65);
1024 ptr_88->setCallingConv(CallingConv::C);
1025 ptr_88->setTailCall(false);
1026 AttributeSet ptr_88_PAL;
1027 ptr_88->setAttributes(ptr_88_PAL);
1029 LoadInst* ptr_89 = new LoadInst(ptr_sym, "", false, label_65);
1030 ptr_89->setAlignment(8);
1031 LoadInst* ptr_90 = new LoadInst(ptr_pdbl, "", false, label_65);
1032 ptr_90->setAlignment(8);
1033 CastInst* ptr_91 = new BitCastInst(ptr_90, PointerTy_38, "", label_65);
1034 std::vector<Value*> int1_92_params;
1035 int1_92_params.push_back(ptr_88);
1036 int1_92_params.push_back(ptr_89);
1037 int1_92_params.push_back(ptr_91);
1038 CallInst* int1_92 = CallInst::Create(func__ZN6symbol7Context3putERKNS_6SymbolERN5types12InternalTypeE, int1_92_params, "", label_65);
1039 int1_92->setCallingConv(CallingConv::C);
1040 int1_92->setTailCall(false);
1041 AttributeSet int1_92_PAL;
1043 SmallVector<AttributeSet, 4> Attrs;
1047 B.addAttribute(Attribute::ZExt);
1048 PAS = AttributeSet::get(mod->getContext(), 0U, B);
1051 Attrs.push_back(PAS);
1052 int1_92_PAL = AttributeSet::get(mod->getContext(), Attrs);
1055 int1_92->setAttributes(int1_92_PAL);
1057 CallInst* ptr_93 = CallInst::Create(func__ZN6symbol7Context11getInstanceEv, "", label_65);
1058 ptr_93->setCallingConv(CallingConv::C);
1059 ptr_93->setTailCall(false);
1060 AttributeSet ptr_93_PAL;
1061 ptr_93->setAttributes(ptr_93_PAL);
1063 LoadInst* ptr_94 = new LoadInst(ptr_sym, "", false, label_65);
1064 ptr_94->setAlignment(8);
1065 std::vector<Value*> ptr_95_params;
1066 ptr_95_params.push_back(ptr_93);
1067 ptr_95_params.push_back(ptr_94);
1068 CallInst* ptr_95 = CallInst::Create(func__ZNK6symbol7Context3getERKNS_6SymbolE, ptr_95_params, "", label_65);
1069 ptr_95->setCallingConv(CallingConv::C);
1070 ptr_95->setTailCall(false);
1071 AttributeSet ptr_95_PAL;
1072 ptr_95->setAttributes(ptr_95_PAL);
1074 LoadInst* ptr_96 = new LoadInst(ptr_pb, "", false, label_65);
1075 ptr_96->setAlignment(8);
1076 CastInst* ptr_97 = new BitCastInst(ptr_96, PointerTy_43, "", label_65);
1077 std::vector<Value*> int32_98_params;
1078 int32_98_params.push_back(ptr_97);
1079 int32_98_params.push_back(const_int32_54);
1080 CallInst* int32_98 = CallInst::Create(func__ZN5types7ArrayOfIiE3getEi, int32_98_params, "", label_65);
1081 int32_98->setCallingConv(CallingConv::C);
1082 int32_98->setTailCall(false);
1083 AttributeSet int32_98_PAL;
1084 int32_98->setAttributes(int32_98_PAL);
1086 LoadInst* int32_99 = new LoadInst(ptr_res, "", false, label_65);
1087 int32_99->setAlignment(4);
1088 ReturnInst::Create(mod->getContext(), int32_99, label_65);
1092 // Function: _ZN5types7ArrayOfIiE3getEi (func__ZN5types7ArrayOfIiE3getEi)
1094 Function::arg_iterator args = func__ZN5types7ArrayOfIiE3getEi->arg_begin();
1095 Value* ptr_this = args++;
1096 ptr_this->setName("this");
1097 Value* int32__iPos = args++;
1098 int32__iPos->setName("_iPos");
1100 BasicBlock* label_101 = BasicBlock::Create(mod->getContext(), "", func__ZN5types7ArrayOfIiE3getEi, 0);
1101 BasicBlock* label_102 = BasicBlock::Create(mod->getContext(), "", func__ZN5types7ArrayOfIiE3getEi, 0);
1102 BasicBlock* label_103 = BasicBlock::Create(mod->getContext(), "", func__ZN5types7ArrayOfIiE3getEi, 0);
1103 BasicBlock* label_104 = BasicBlock::Create(mod->getContext(), "", func__ZN5types7ArrayOfIiE3getEi, 0);
1105 // Block (label_101)
1106 AllocaInst* ptr_105 = new AllocaInst(IntegerType::get(mod->getContext(), 32), "", label_101);
1107 ptr_105->setAlignment(4);
1108 AllocaInst* ptr_106 = new AllocaInst(PointerTy_43, "", label_101);
1109 ptr_106->setAlignment(8);
1110 AllocaInst* ptr_107 = new AllocaInst(IntegerType::get(mod->getContext(), 32), "", label_101);
1111 ptr_107->setAlignment(4);
1112 StoreInst* void_108 = new StoreInst(ptr_this, ptr_106, false, label_101);
1113 void_108->setAlignment(8);
1114 StoreInst* void_109 = new StoreInst(int32__iPos, ptr_107, false, label_101);
1115 void_109->setAlignment(4);
1116 LoadInst* ptr_110 = new LoadInst(ptr_106, "", false, label_101);
1117 std::vector<Value*> ptr_111_indices;
1118 ptr_111_indices.push_back(const_int32_54);
1119 ptr_111_indices.push_back(const_int32_59);
1120 Instruction* ptr_111 = GetElementPtrInst::Create(ptr_110, ptr_111_indices, "", label_101);
1121 LoadInst* ptr_112 = new LoadInst(ptr_111, "", false, label_101);
1122 ptr_112->setAlignment(8);
1123 ICmpInst* int1_113 = new ICmpInst(*label_101, ICmpInst::ICMP_NE, ptr_112, const_ptr_60, "");
1124 BranchInst::Create(label_102, label_103, int1_113, label_101);
1126 // Block (label_102)
1127 LoadInst* int32_115 = new LoadInst(ptr_107, "", false, label_102);
1128 int32_115->setAlignment(4);
1129 CastInst* int64_116 = new SExtInst(int32_115, IntegerType::get(mod->getContext(), 64), "", label_102);
1130 std::vector<Value*> ptr_117_indices;
1131 ptr_117_indices.push_back(const_int32_54);
1132 ptr_117_indices.push_back(const_int32_59);
1133 Instruction* ptr_117 = GetElementPtrInst::Create(ptr_110, ptr_117_indices, "", label_102);
1134 LoadInst* ptr_118 = new LoadInst(ptr_117, "", false, label_102);
1135 ptr_118->setAlignment(8);
1136 GetElementPtrInst* ptr_119 = GetElementPtrInst::Create(ptr_118, int64_116, "", label_102);
1137 LoadInst* int32_120 = new LoadInst(ptr_119, "", false, label_102);
1138 int32_120->setAlignment(4);
1139 StoreInst* void_121 = new StoreInst(int32_120, ptr_105, false, label_102);
1140 BranchInst::Create(label_104, label_102);
1142 // Block (label_103)
1143 StoreInst* void_123 = new StoreInst(const_int32_54, ptr_105, false, label_103);
1144 BranchInst::Create(label_104, label_103);
1146 // Block (label_104)
1147 LoadInst* int32_125 = new LoadInst(ptr_105, "", false, label_104);
1148 ReturnInst::Create(mod->getContext(), int32_125, label_104);
1152 // Function: _GLOBAL__I_a (func__GLOBAL__I_a)
1155 BasicBlock* label_127 = BasicBlock::Create(mod->getContext(), "", func__GLOBAL__I_a, 0);
1157 // Block (label_127)
1158 CallInst* void_128 = CallInst::Create(func___cxx_global_var_init, "", label_127);
1159 void_128->setCallingConv(CallingConv::C);
1160 void_128->setTailCall(false);
1161 AttributeSet void_128_PAL;
1162 void_128->setAttributes(void_128_PAL);
1164 ReturnInst::Create(mod->getContext(), label_127);