1 // Generated by llvm2cpp - DO NOT MODIFY!
4 Module* makeLLVMModuleContents(Module *mod)
7 mod->setModuleIdentifier("<stdin>");
9 StructType *StructTy_class_std__ios_base__Init = mod->getTypeByName("class.std::ios_base::Init");
10 if (!StructTy_class_std__ios_base__Init)
12 StructTy_class_std__ios_base__Init = StructType::create(mod->getContext(), "class.std::ios_base::Init");
14 std::vector<Type*>StructTy_class_std__ios_base__Init_fields;
15 StructTy_class_std__ios_base__Init_fields.push_back(IntegerType::get(mod->getContext(), 8));
16 if (StructTy_class_std__ios_base__Init->isOpaque())
18 StructTy_class_std__ios_base__Init->setBody(StructTy_class_std__ios_base__Init_fields, /*isPacked=*/false);
21 PointerType* PointerTy_0 = PointerType::get(StructTy_class_std__ios_base__Init, 0);
23 PointerType* PointerTy_1 = PointerType::get(IntegerType::get(mod->getContext(), 8), 0);
25 std::vector<Type*>StructTy_3_fields;
26 StructTy_3_fields.push_back(IntegerType::get(mod->getContext(), 32));
27 std::vector<Type*>FuncTy_5_args;
28 FunctionType* FuncTy_5 = FunctionType::get(
29 /*Result=*/Type::getVoidTy(mod->getContext()),
30 /*Params=*/FuncTy_5_args,
33 PointerType* PointerTy_4 = PointerType::get(FuncTy_5, 0);
35 StructTy_3_fields.push_back(PointerTy_4);
36 StructType *StructTy_3 = StructType::get(mod->getContext(), StructTy_3_fields, /*isPacked=*/false);
38 ArrayType* ArrayTy_2 = ArrayType::get(StructTy_3, 1);
40 PointerType* PointerTy_6 = PointerType::get(ArrayTy_2, 0);
42 std::vector<Type*>FuncTy_8_args;
43 FuncTy_8_args.push_back(PointerTy_0);
44 FunctionType* FuncTy_8 = FunctionType::get(
45 /*Result=*/Type::getVoidTy(mod->getContext()),
46 /*Params=*/FuncTy_8_args,
49 PointerType* PointerTy_7 = PointerType::get(FuncTy_8, 0);
51 std::vector<Type*>FuncTy_10_args;
52 FuncTy_10_args.push_back(PointerTy_1);
53 FunctionType* FuncTy_10 = FunctionType::get(
54 /*Result=*/Type::getVoidTy(mod->getContext()),
55 /*Params=*/FuncTy_10_args,
58 PointerType* PointerTy_9 = PointerType::get(FuncTy_10, 0);
60 std::vector<Type*>FuncTy_12_args;
61 FuncTy_12_args.push_back(PointerTy_9);
62 FuncTy_12_args.push_back(PointerTy_1);
63 FuncTy_12_args.push_back(PointerTy_1);
64 FunctionType* FuncTy_12 = FunctionType::get(
65 /*Result=*/IntegerType::get(mod->getContext(), 32),
66 /*Params=*/FuncTy_12_args,
69 PointerType* PointerTy_11 = PointerType::get(FuncTy_12, 0);
71 std::vector<Type*>FuncTy_13_args;
72 FunctionType* FuncTy_13 = FunctionType::get(
73 /*Result=*/IntegerType::get(mod->getContext(), 32),
74 /*Params=*/FuncTy_13_args,
77 StructType *StructTy_class_types__Double = mod->getTypeByName("class.types::Double");
78 if (!StructTy_class_types__Double)
80 StructTy_class_types__Double = StructType::create(mod->getContext(), "class.types::Double");
82 std::vector<Type*>StructTy_class_types__Double_fields;
83 StructType *StructTy_class_types__ArrayOf = mod->getTypeByName("class.types::ArrayOf");
84 if (!StructTy_class_types__ArrayOf)
86 StructTy_class_types__ArrayOf = StructType::create(mod->getContext(), "class.types::ArrayOf");
88 std::vector<Type*>StructTy_class_types__ArrayOf_fields;
89 StructType *StructTy_class_types__GenericType = mod->getTypeByName("class.types::GenericType");
90 if (!StructTy_class_types__GenericType)
92 StructTy_class_types__GenericType = StructType::create(mod->getContext(), "class.types::GenericType");
94 std::vector<Type*>StructTy_class_types__GenericType_fields;
95 ArrayType* ArrayTy_16 = ArrayType::get(IntegerType::get(mod->getContext(), 8), 36);
97 StructTy_class_types__GenericType_fields.push_back(ArrayTy_16);
98 StructTy_class_types__GenericType_fields.push_back(IntegerType::get(mod->getContext(), 32));
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 ArrayType* ArrayTy_17 = ArrayType::get(IntegerType::get(mod->getContext(), 32), 50);
104 StructTy_class_types__GenericType_fields.push_back(ArrayTy_17);
105 StructTy_class_types__GenericType_fields.push_back(IntegerType::get(mod->getContext(), 32));
106 if (StructTy_class_types__GenericType->isOpaque())
108 StructTy_class_types__GenericType->setBody(StructTy_class_types__GenericType_fields, /*isPacked=*/false);
111 StructTy_class_types__ArrayOf_fields.push_back(StructTy_class_types__GenericType);
112 StructTy_class_types__ArrayOf_fields.push_back(IntegerType::get(mod->getContext(), 8));
113 PointerType* PointerTy_18 = PointerType::get(Type::getDoubleTy(mod->getContext()), 0);
115 StructTy_class_types__ArrayOf_fields.push_back(PointerTy_18);
116 StructTy_class_types__ArrayOf_fields.push_back(PointerTy_18);
117 if (StructTy_class_types__ArrayOf->isOpaque())
119 StructTy_class_types__ArrayOf->setBody(StructTy_class_types__ArrayOf_fields, /*isPacked=*/false);
122 StructTy_class_types__Double_fields.push_back(StructTy_class_types__ArrayOf);
123 StructTy_class_types__Double_fields.push_back(IntegerType::get(mod->getContext(), 8));
124 StructTy_class_types__Double_fields.push_back(IntegerType::get(mod->getContext(), 8));
125 if (StructTy_class_types__Double->isOpaque())
127 StructTy_class_types__Double->setBody(StructTy_class_types__Double_fields, /*isPacked=*/false);
130 PointerType* PointerTy_15 = PointerType::get(StructTy_class_types__Double, 0);
132 PointerType* PointerTy_14 = PointerType::get(PointerTy_15, 0);
134 StructType *StructTy_class_types__Bool = mod->getTypeByName("class.types::Bool");
135 if (!StructTy_class_types__Bool)
137 StructTy_class_types__Bool = StructType::create(mod->getContext(), "class.types::Bool");
139 std::vector<Type*>StructTy_class_types__Bool_fields;
140 StructType *StructTy_class_types__ArrayOf_0 = mod->getTypeByName("class.types::ArrayOf.0");
141 if (!StructTy_class_types__ArrayOf_0)
143 StructTy_class_types__ArrayOf_0 = StructType::create(mod->getContext(), "class.types::ArrayOf.0");
145 std::vector<Type*>StructTy_class_types__ArrayOf_0_fields;
146 StructTy_class_types__ArrayOf_0_fields.push_back(StructTy_class_types__GenericType);
147 StructTy_class_types__ArrayOf_0_fields.push_back(IntegerType::get(mod->getContext(), 8));
148 PointerType* PointerTy_21 = PointerType::get(IntegerType::get(mod->getContext(), 32), 0);
150 StructTy_class_types__ArrayOf_0_fields.push_back(PointerTy_21);
151 StructTy_class_types__ArrayOf_0_fields.push_back(PointerTy_21);
152 if (StructTy_class_types__ArrayOf_0->isOpaque())
154 StructTy_class_types__ArrayOf_0->setBody(StructTy_class_types__ArrayOf_0_fields, /*isPacked=*/false);
157 StructTy_class_types__Bool_fields.push_back(StructTy_class_types__ArrayOf_0);
158 if (StructTy_class_types__Bool->isOpaque())
160 StructTy_class_types__Bool->setBody(StructTy_class_types__Bool_fields, /*isPacked=*/false);
163 PointerType* PointerTy_20 = PointerType::get(StructTy_class_types__Bool, 0);
165 PointerType* PointerTy_19 = PointerType::get(PointerTy_20, 0);
167 StructType *StructTy_class_symbol__Symbol = mod->getTypeByName("class.symbol::Symbol");
168 if (!StructTy_class_symbol__Symbol)
170 StructTy_class_symbol__Symbol = StructType::create(mod->getContext(), "class.symbol::Symbol");
172 std::vector<Type*>StructTy_class_symbol__Symbol_fields;
173 StructType *StructTy_struct_std___Rb_tree_const_iterator = mod->getTypeByName("struct.std::_Rb_tree_const_iterator");
174 if (!StructTy_struct_std___Rb_tree_const_iterator)
176 StructTy_struct_std___Rb_tree_const_iterator = StructType::create(mod->getContext(), "struct.std::_Rb_tree_const_iterator");
178 std::vector<Type*>StructTy_struct_std___Rb_tree_const_iterator_fields;
179 StructType *StructTy_struct_std___Rb_tree_node_base = mod->getTypeByName("struct.std::_Rb_tree_node_base");
180 if (!StructTy_struct_std___Rb_tree_node_base)
182 StructTy_struct_std___Rb_tree_node_base = StructType::create(mod->getContext(), "struct.std::_Rb_tree_node_base");
184 std::vector<Type*>StructTy_struct_std___Rb_tree_node_base_fields;
185 StructTy_struct_std___Rb_tree_node_base_fields.push_back(IntegerType::get(mod->getContext(), 32));
186 PointerType* PointerTy_24 = PointerType::get(StructTy_struct_std___Rb_tree_node_base, 0);
188 StructTy_struct_std___Rb_tree_node_base_fields.push_back(PointerTy_24);
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 if (StructTy_struct_std___Rb_tree_node_base->isOpaque())
193 StructTy_struct_std___Rb_tree_node_base->setBody(StructTy_struct_std___Rb_tree_node_base_fields, /*isPacked=*/false);
197 StructTy_struct_std___Rb_tree_const_iterator_fields.push_back(PointerTy_24);
198 if (StructTy_struct_std___Rb_tree_const_iterator->isOpaque())
200 StructTy_struct_std___Rb_tree_const_iterator->setBody(StructTy_struct_std___Rb_tree_const_iterator_fields, /*isPacked=*/false);
203 StructTy_class_symbol__Symbol_fields.push_back(StructTy_struct_std___Rb_tree_const_iterator);
204 if (StructTy_class_symbol__Symbol->isOpaque())
206 StructTy_class_symbol__Symbol->setBody(StructTy_class_symbol__Symbol_fields, /*isPacked=*/false);
209 PointerType* PointerTy_23 = PointerType::get(StructTy_class_symbol__Symbol, 0);
211 PointerType* PointerTy_22 = PointerType::get(PointerTy_23, 0);
213 std::vector<Type*>FuncTy_26_args;
214 FunctionType* FuncTy_26 = FunctionType::get(
215 /*Result=*/PointerTy_15,
216 /*Params=*/FuncTy_26_args,
219 PointerType* PointerTy_25 = PointerType::get(FuncTy_26, 0);
221 std::vector<Type*>FuncTy_28_args;
222 FuncTy_28_args.push_back(PointerTy_15);
223 FuncTy_28_args.push_back(PointerTy_15);
224 FuncTy_28_args.push_back(PointerTy_14);
225 FunctionType* FuncTy_28 = FunctionType::get(
226 /*Result=*/IntegerType::get(mod->getContext(), 32),
227 /*Params=*/FuncTy_28_args,
230 PointerType* PointerTy_27 = PointerType::get(FuncTy_28, 0);
232 std::vector<Type*>FuncTy_30_args;
233 FuncTy_30_args.push_back(PointerTy_15);
234 FuncTy_30_args.push_back(PointerTy_15);
235 FuncTy_30_args.push_back(PointerTy_19);
236 FunctionType* FuncTy_30 = FunctionType::get(
237 /*Result=*/IntegerType::get(mod->getContext(), 32),
238 /*Params=*/FuncTy_30_args,
241 PointerType* PointerTy_29 = PointerType::get(FuncTy_30, 0);
243 StructType *StructTy_class_symbol__Context = mod->getTypeByName("class.symbol::Context");
244 if (!StructTy_class_symbol__Context)
246 StructTy_class_symbol__Context = StructType::create(mod->getContext(), "class.symbol::Context");
248 std::vector<Type*>StructTy_class_symbol__Context_fields;
249 StructType *StructTy_class_symbol__Scopes = mod->getTypeByName("class.symbol::Scopes");
250 if (!StructTy_class_symbol__Scopes)
252 StructTy_class_symbol__Scopes = StructType::create(mod->getContext(), "class.symbol::Scopes");
254 std::vector<Type*>StructTy_class_symbol__Scopes_fields;
255 StructType *StructTy_class_std__list = mod->getTypeByName("class.std::list");
256 if (!StructTy_class_std__list)
258 StructTy_class_std__list = StructType::create(mod->getContext(), "class.std::list");
260 std::vector<Type*>StructTy_class_std__list_fields;
261 StructType *StructTy_class_std___List_base = mod->getTypeByName("class.std::_List_base");
262 if (!StructTy_class_std___List_base)
264 StructTy_class_std___List_base = StructType::create(mod->getContext(), "class.std::_List_base");
266 std::vector<Type*>StructTy_class_std___List_base_fields;
267 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");
268 if (!StructTy_struct_std___List_base_symbol__Scope____std__allocator_symbol__Scope________List_impl)
270 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");
272 std::vector<Type*>StructTy_struct_std___List_base_symbol__Scope____std__allocator_symbol__Scope________List_impl_fields;
273 StructType *StructTy_struct_std____detail___List_node_base = mod->getTypeByName("struct.std::__detail::_List_node_base");
274 if (!StructTy_struct_std____detail___List_node_base)
276 StructTy_struct_std____detail___List_node_base = StructType::create(mod->getContext(), "struct.std::__detail::_List_node_base");
278 std::vector<Type*>StructTy_struct_std____detail___List_node_base_fields;
279 PointerType* PointerTy_33 = PointerType::get(StructTy_struct_std____detail___List_node_base, 0);
281 StructTy_struct_std____detail___List_node_base_fields.push_back(PointerTy_33);
282 StructTy_struct_std____detail___List_node_base_fields.push_back(PointerTy_33);
283 if (StructTy_struct_std____detail___List_node_base->isOpaque())
285 StructTy_struct_std____detail___List_node_base->setBody(StructTy_struct_std____detail___List_node_base_fields, /*isPacked=*/false);
288 StructTy_struct_std___List_base_symbol__Scope____std__allocator_symbol__Scope________List_impl_fields.push_back(StructTy_struct_std____detail___List_node_base);
289 if (StructTy_struct_std___List_base_symbol__Scope____std__allocator_symbol__Scope________List_impl->isOpaque())
291 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);
294 StructTy_class_std___List_base_fields.push_back(StructTy_struct_std___List_base_symbol__Scope____std__allocator_symbol__Scope________List_impl);
295 if (StructTy_class_std___List_base->isOpaque())
297 StructTy_class_std___List_base->setBody(StructTy_class_std___List_base_fields, /*isPacked=*/false);
300 StructTy_class_std__list_fields.push_back(StructTy_class_std___List_base);
301 if (StructTy_class_std__list->isOpaque())
303 StructTy_class_std__list->setBody(StructTy_class_std__list_fields, /*isPacked=*/false);
306 StructTy_class_symbol__Scopes_fields.push_back(StructTy_class_std__list);
307 StructTy_class_symbol__Scopes_fields.push_back(IntegerType::get(mod->getContext(), 32));
308 StructType *StructTy_class_symbol__Variables = mod->getTypeByName("class.symbol::Variables");
309 if (!StructTy_class_symbol__Variables)
311 StructTy_class_symbol__Variables = StructType::create(mod->getContext(), "class.symbol::Variables");
313 std::vector<Type*>StructTy_class_symbol__Variables_fields;
314 std::vector<Type*>FuncTy_36_args;
315 FunctionType* FuncTy_36 = FunctionType::get(
316 /*Result=*/IntegerType::get(mod->getContext(), 32),
317 /*Params=*/FuncTy_36_args,
320 PointerType* PointerTy_35 = PointerType::get(FuncTy_36, 0);
322 PointerType* PointerTy_34 = PointerType::get(PointerTy_35, 0);
324 StructTy_class_symbol__Variables_fields.push_back(PointerTy_34);
325 StructTy_class_symbol__Variables_fields.push_back(IntegerType::get(mod->getContext(), 32));
326 StructType *StructTy_class_std__map = mod->getTypeByName("class.std::map");
327 if (!StructTy_class_std__map)
329 StructTy_class_std__map = StructType::create(mod->getContext(), "class.std::map");
331 std::vector<Type*>StructTy_class_std__map_fields;
332 StructType *StructTy_class_std___Rb_tree = mod->getTypeByName("class.std::_Rb_tree");
333 if (!StructTy_class_std___Rb_tree)
335 StructTy_class_std___Rb_tree = StructType::create(mod->getContext(), "class.std::_Rb_tree");
337 std::vector<Type*>StructTy_class_std___Rb_tree_fields;
338 StructType *StructTy_struct_std___Rb_tree_symbol__Symbol__std__pair_const_symbol__Symbol__std__list_symbol__VarBox____std__allocator_symbol__VarBox__________std___Select1st_std__pair_const_symbol__Symbol__std__list_symbol__VarBox____std__allocator_symbol__VarBox____________std__less_symbol__Symbol___std__allocator_std__pair_const_symbol__Symbol__std__list_symbol__VarBox____std__allocator_symbol__VarBox_______________Rb_tree_impl = mod->getTypeByName("struct.std::_Rb_tree<symbol::Symbol, std::pair<const symbol::Symbol, std::list<symbol::VarBox *, std::allocator<symbol::VarBox *> > *>, std::_Select1st<std::pair<const symbol::Symbol, std::list<symbol::VarBox *, std::allocator<symbol::VarBox *> > *> >, std::less<symbol::Symbol>, std::allocator<std::pair<const symbol::Symbol, std::list<symbol::VarBox *, std::allocator<symbol::VarBox *> > *> > >::_Rb_tree_impl");
339 if (!StructTy_struct_std___Rb_tree_symbol__Symbol__std__pair_const_symbol__Symbol__std__list_symbol__VarBox____std__allocator_symbol__VarBox__________std___Select1st_std__pair_const_symbol__Symbol__std__list_symbol__VarBox____std__allocator_symbol__VarBox____________std__less_symbol__Symbol___std__allocator_std__pair_const_symbol__Symbol__std__list_symbol__VarBox____std__allocator_symbol__VarBox_______________Rb_tree_impl)
341 StructTy_struct_std___Rb_tree_symbol__Symbol__std__pair_const_symbol__Symbol__std__list_symbol__VarBox____std__allocator_symbol__VarBox__________std___Select1st_std__pair_const_symbol__Symbol__std__list_symbol__VarBox____std__allocator_symbol__VarBox____________std__less_symbol__Symbol___std__allocator_std__pair_const_symbol__Symbol__std__list_symbol__VarBox____std__allocator_symbol__VarBox_______________Rb_tree_impl = StructType::create(mod->getContext(), "struct.std::_Rb_tree<symbol::Symbol, std::pair<const symbol::Symbol, std::list<symbol::VarBox *, std::allocator<symbol::VarBox *> > *>, std::_Select1st<std::pair<const symbol::Symbol, std::list<symbol::VarBox *, std::allocator<symbol::VarBox *> > *> >, std::less<symbol::Symbol>, std::allocator<std::pair<const symbol::Symbol, std::list<symbol::VarBox *, std::allocator<symbol::VarBox *> > *> > >::_Rb_tree_impl");
343 std::vector<Type*>StructTy_struct_std___Rb_tree_symbol__Symbol__std__pair_const_symbol__Symbol__std__list_symbol__VarBox____std__allocator_symbol__VarBox__________std___Select1st_std__pair_const_symbol__Symbol__std__list_symbol__VarBox____std__allocator_symbol__VarBox____________std__less_symbol__Symbol___std__allocator_std__pair_const_symbol__Symbol__std__list_symbol__VarBox____std__allocator_symbol__VarBox_______________Rb_tree_impl_fields;
344 StructType *StructTy_struct_std__less = mod->getTypeByName("struct.std::less");
345 if (!StructTy_struct_std__less)
347 StructTy_struct_std__less = StructType::create(mod->getContext(), "struct.std::less");
349 std::vector<Type*>StructTy_struct_std__less_fields;
350 StructTy_struct_std__less_fields.push_back(IntegerType::get(mod->getContext(), 8));
351 if (StructTy_struct_std__less->isOpaque())
353 StructTy_struct_std__less->setBody(StructTy_struct_std__less_fields, /*isPacked=*/false);
356 StructTy_struct_std___Rb_tree_symbol__Symbol__std__pair_const_symbol__Symbol__std__list_symbol__VarBox____std__allocator_symbol__VarBox__________std___Select1st_std__pair_const_symbol__Symbol__std__list_symbol__VarBox____std__allocator_symbol__VarBox____________std__less_symbol__Symbol___std__allocator_std__pair_const_symbol__Symbol__std__list_symbol__VarBox____std__allocator_symbol__VarBox_______________Rb_tree_impl_fields.push_back(StructTy_struct_std__less);
357 StructTy_struct_std___Rb_tree_symbol__Symbol__std__pair_const_symbol__Symbol__std__list_symbol__VarBox____std__allocator_symbol__VarBox__________std___Select1st_std__pair_const_symbol__Symbol__std__list_symbol__VarBox____std__allocator_symbol__VarBox____________std__less_symbol__Symbol___std__allocator_std__pair_const_symbol__Symbol__std__list_symbol__VarBox____std__allocator_symbol__VarBox_______________Rb_tree_impl_fields.push_back(StructTy_struct_std___Rb_tree_node_base);
358 StructTy_struct_std___Rb_tree_symbol__Symbol__std__pair_const_symbol__Symbol__std__list_symbol__VarBox____std__allocator_symbol__VarBox__________std___Select1st_std__pair_const_symbol__Symbol__std__list_symbol__VarBox____std__allocator_symbol__VarBox____________std__less_symbol__Symbol___std__allocator_std__pair_const_symbol__Symbol__std__list_symbol__VarBox____std__allocator_symbol__VarBox_______________Rb_tree_impl_fields.push_back(IntegerType::get(mod->getContext(), 64));
359 if (StructTy_struct_std___Rb_tree_symbol__Symbol__std__pair_const_symbol__Symbol__std__list_symbol__VarBox____std__allocator_symbol__VarBox__________std___Select1st_std__pair_const_symbol__Symbol__std__list_symbol__VarBox____std__allocator_symbol__VarBox____________std__less_symbol__Symbol___std__allocator_std__pair_const_symbol__Symbol__std__list_symbol__VarBox____std__allocator_symbol__VarBox_______________Rb_tree_impl->isOpaque())
361 StructTy_struct_std___Rb_tree_symbol__Symbol__std__pair_const_symbol__Symbol__std__list_symbol__VarBox____std__allocator_symbol__VarBox__________std___Select1st_std__pair_const_symbol__Symbol__std__list_symbol__VarBox____std__allocator_symbol__VarBox____________std__less_symbol__Symbol___std__allocator_std__pair_const_symbol__Symbol__std__list_symbol__VarBox____std__allocator_symbol__VarBox_______________Rb_tree_impl->setBody(StructTy_struct_std___Rb_tree_symbol__Symbol__std__pair_const_symbol__Symbol__std__list_symbol__VarBox____std__allocator_symbol__VarBox__________std___Select1st_std__pair_const_symbol__Symbol__std__list_symbol__VarBox____std__allocator_symbol__VarBox____________std__less_symbol__Symbol___std__allocator_std__pair_const_symbol__Symbol__std__list_symbol__VarBox____std__allocator_symbol__VarBox_______________Rb_tree_impl_fields, /*isPacked=*/false);
364 StructTy_class_std___Rb_tree_fields.push_back(StructTy_struct_std___Rb_tree_symbol__Symbol__std__pair_const_symbol__Symbol__std__list_symbol__VarBox____std__allocator_symbol__VarBox__________std___Select1st_std__pair_const_symbol__Symbol__std__list_symbol__VarBox____std__allocator_symbol__VarBox____________std__less_symbol__Symbol___std__allocator_std__pair_const_symbol__Symbol__std__list_symbol__VarBox____std__allocator_symbol__VarBox_______________Rb_tree_impl);
365 if (StructTy_class_std___Rb_tree->isOpaque())
367 StructTy_class_std___Rb_tree->setBody(StructTy_class_std___Rb_tree_fields, /*isPacked=*/false);
370 StructTy_class_std__map_fields.push_back(StructTy_class_std___Rb_tree);
371 if (StructTy_class_std__map->isOpaque())
373 StructTy_class_std__map->setBody(StructTy_class_std__map_fields, /*isPacked=*/false);
376 StructTy_class_symbol__Variables_fields.push_back(StructTy_class_std__map);
377 StructType *StructTy_class_std__map_4 = mod->getTypeByName("class.std::map.4");
378 if (!StructTy_class_std__map_4)
380 StructTy_class_std__map_4 = StructType::create(mod->getContext(), "class.std::map.4");
382 std::vector<Type*>StructTy_class_std__map_4_fields;
383 StructType *StructTy_class_std___Rb_tree_5 = mod->getTypeByName("class.std::_Rb_tree.5");
384 if (!StructTy_class_std___Rb_tree_5)
386 StructTy_class_std___Rb_tree_5 = StructType::create(mod->getContext(), "class.std::_Rb_tree.5");
388 std::vector<Type*>StructTy_class_std___Rb_tree_5_fields;
389 StructType *StructTy_struct_std___Rb_tree_symbol__Symbol__std__pair_const_symbol__Symbol__types__InternalType_____std___Select1st_std__pair_const_symbol__Symbol__types__InternalType_______std__less_symbol__Symbol___std__allocator_std__pair_const_symbol__Symbol__types__InternalType__________Rb_tree_impl = mod->getTypeByName("struct.std::_Rb_tree<symbol::Symbol, std::pair<const symbol::Symbol, types::InternalType *>, std::_Select1st<std::pair<const symbol::Symbol, types::InternalType *> >, std::less<symbol::Symbol>, std::allocator<std::pair<const symbol::Symbol, types::InternalType *> > >::_Rb_tree_impl");
390 if (!StructTy_struct_std___Rb_tree_symbol__Symbol__std__pair_const_symbol__Symbol__types__InternalType_____std___Select1st_std__pair_const_symbol__Symbol__types__InternalType_______std__less_symbol__Symbol___std__allocator_std__pair_const_symbol__Symbol__types__InternalType__________Rb_tree_impl)
392 StructTy_struct_std___Rb_tree_symbol__Symbol__std__pair_const_symbol__Symbol__types__InternalType_____std___Select1st_std__pair_const_symbol__Symbol__types__InternalType_______std__less_symbol__Symbol___std__allocator_std__pair_const_symbol__Symbol__types__InternalType__________Rb_tree_impl = StructType::create(mod->getContext(), "struct.std::_Rb_tree<symbol::Symbol, std::pair<const symbol::Symbol, types::InternalType *>, std::_Select1st<std::pair<const symbol::Symbol, types::InternalType *> >, std::less<symbol::Symbol>, std::allocator<std::pair<const symbol::Symbol, types::InternalType *> > >::_Rb_tree_impl");
394 std::vector<Type*>StructTy_struct_std___Rb_tree_symbol__Symbol__std__pair_const_symbol__Symbol__types__InternalType_____std___Select1st_std__pair_const_symbol__Symbol__types__InternalType_______std__less_symbol__Symbol___std__allocator_std__pair_const_symbol__Symbol__types__InternalType__________Rb_tree_impl_fields;
395 StructTy_struct_std___Rb_tree_symbol__Symbol__std__pair_const_symbol__Symbol__types__InternalType_____std___Select1st_std__pair_const_symbol__Symbol__types__InternalType_______std__less_symbol__Symbol___std__allocator_std__pair_const_symbol__Symbol__types__InternalType__________Rb_tree_impl_fields.push_back(StructTy_struct_std__less);
396 StructTy_struct_std___Rb_tree_symbol__Symbol__std__pair_const_symbol__Symbol__types__InternalType_____std___Select1st_std__pair_const_symbol__Symbol__types__InternalType_______std__less_symbol__Symbol___std__allocator_std__pair_const_symbol__Symbol__types__InternalType__________Rb_tree_impl_fields.push_back(StructTy_struct_std___Rb_tree_node_base);
397 StructTy_struct_std___Rb_tree_symbol__Symbol__std__pair_const_symbol__Symbol__types__InternalType_____std___Select1st_std__pair_const_symbol__Symbol__types__InternalType_______std__less_symbol__Symbol___std__allocator_std__pair_const_symbol__Symbol__types__InternalType__________Rb_tree_impl_fields.push_back(IntegerType::get(mod->getContext(), 64));
398 if (StructTy_struct_std___Rb_tree_symbol__Symbol__std__pair_const_symbol__Symbol__types__InternalType_____std___Select1st_std__pair_const_symbol__Symbol__types__InternalType_______std__less_symbol__Symbol___std__allocator_std__pair_const_symbol__Symbol__types__InternalType__________Rb_tree_impl->isOpaque())
400 StructTy_struct_std___Rb_tree_symbol__Symbol__std__pair_const_symbol__Symbol__types__InternalType_____std___Select1st_std__pair_const_symbol__Symbol__types__InternalType_______std__less_symbol__Symbol___std__allocator_std__pair_const_symbol__Symbol__types__InternalType__________Rb_tree_impl->setBody(StructTy_struct_std___Rb_tree_symbol__Symbol__std__pair_const_symbol__Symbol__types__InternalType_____std___Select1st_std__pair_const_symbol__Symbol__types__InternalType_______std__less_symbol__Symbol___std__allocator_std__pair_const_symbol__Symbol__types__InternalType__________Rb_tree_impl_fields, /*isPacked=*/false);
403 StructTy_class_std___Rb_tree_5_fields.push_back(StructTy_struct_std___Rb_tree_symbol__Symbol__std__pair_const_symbol__Symbol__types__InternalType_____std___Select1st_std__pair_const_symbol__Symbol__types__InternalType_______std__less_symbol__Symbol___std__allocator_std__pair_const_symbol__Symbol__types__InternalType__________Rb_tree_impl);
404 if (StructTy_class_std___Rb_tree_5->isOpaque())
406 StructTy_class_std___Rb_tree_5->setBody(StructTy_class_std___Rb_tree_5_fields, /*isPacked=*/false);
409 StructTy_class_std__map_4_fields.push_back(StructTy_class_std___Rb_tree_5);
410 if (StructTy_class_std__map_4->isOpaque())
412 StructTy_class_std__map_4->setBody(StructTy_class_std__map_4_fields, /*isPacked=*/false);
415 StructTy_class_symbol__Variables_fields.push_back(StructTy_class_std__map_4);
416 if (StructTy_class_symbol__Variables->isOpaque())
418 StructTy_class_symbol__Variables->setBody(StructTy_class_symbol__Variables_fields, /*isPacked=*/false);
421 StructTy_class_symbol__Scopes_fields.push_back(StructTy_class_symbol__Variables);
422 if (StructTy_class_symbol__Scopes->isOpaque())
424 StructTy_class_symbol__Scopes->setBody(StructTy_class_symbol__Scopes_fields, /*isPacked=*/false);
427 PointerType* PointerTy_32 = PointerType::get(StructTy_class_symbol__Scopes, 0);
429 StructTy_class_symbol__Context_fields.push_back(PointerTy_32);
430 if (StructTy_class_symbol__Context->isOpaque())
432 StructTy_class_symbol__Context->setBody(StructTy_class_symbol__Context_fields, /*isPacked=*/false);
435 PointerType* PointerTy_31 = PointerType::get(StructTy_class_symbol__Context, 0);
437 std::vector<Type*>FuncTy_38_args;
438 FunctionType* FuncTy_38 = FunctionType::get(
439 /*Result=*/PointerTy_31,
440 /*Params=*/FuncTy_38_args,
443 PointerType* PointerTy_37 = PointerType::get(FuncTy_38, 0);
445 StructType *StructTy_class_types__InternalType = mod->getTypeByName("class.types::InternalType");
446 if (!StructTy_class_types__InternalType)
448 StructTy_class_types__InternalType = StructType::create(mod->getContext(), "class.types::InternalType");
450 std::vector<Type*>StructTy_class_types__InternalType_fields;
451 StructTy_class_types__InternalType_fields.push_back(PointerTy_34);
452 StructTy_class_types__InternalType_fields.push_back(IntegerType::get(mod->getContext(), 32));
453 StructTy_class_types__InternalType_fields.push_back(IntegerType::get(mod->getContext(), 8));
454 StructTy_class_types__InternalType_fields.push_back(IntegerType::get(mod->getContext(), 8));
455 StructTy_class_types__InternalType_fields.push_back(IntegerType::get(mod->getContext(), 32));
456 StructTy_class_types__InternalType_fields.push_back(IntegerType::get(mod->getContext(), 32));
457 StructTy_class_types__InternalType_fields.push_back(IntegerType::get(mod->getContext(), 32));
458 StructTy_class_types__InternalType_fields.push_back(IntegerType::get(mod->getContext(), 32));
459 StructTy_class_types__InternalType_fields.push_back(IntegerType::get(mod->getContext(), 32));
460 if (StructTy_class_types__InternalType->isOpaque())
462 StructTy_class_types__InternalType->setBody(StructTy_class_types__InternalType_fields, /*isPacked=*/false);
465 PointerType* PointerTy_39 = PointerType::get(StructTy_class_types__InternalType, 0);
467 std::vector<Type*>FuncTy_41_args;
468 FuncTy_41_args.push_back(PointerTy_31);
469 FuncTy_41_args.push_back(PointerTy_23);
470 FuncTy_41_args.push_back(PointerTy_39);
471 FunctionType* FuncTy_41 = FunctionType::get(
472 /*Result=*/IntegerType::get(mod->getContext(), 1),
473 /*Params=*/FuncTy_41_args,
476 PointerType* PointerTy_40 = PointerType::get(FuncTy_41, 0);
478 std::vector<Type*>FuncTy_43_args;
479 FuncTy_43_args.push_back(PointerTy_31);
480 FuncTy_43_args.push_back(PointerTy_23);
481 FunctionType* FuncTy_43 = FunctionType::get(
482 /*Result=*/PointerTy_39,
483 /*Params=*/FuncTy_43_args,
486 PointerType* PointerTy_42 = PointerType::get(FuncTy_43, 0);
488 PointerType* PointerTy_44 = PointerType::get(StructTy_class_types__ArrayOf_0, 0);
490 std::vector<Type*>FuncTy_46_args;
491 FuncTy_46_args.push_back(PointerTy_44);
492 FuncTy_46_args.push_back(IntegerType::get(mod->getContext(), 32));
493 FunctionType* FuncTy_46 = FunctionType::get(
494 /*Result=*/IntegerType::get(mod->getContext(), 32),
495 /*Params=*/FuncTy_46_args,
498 PointerType* PointerTy_45 = PointerType::get(FuncTy_46, 0);
500 PointerType* PointerTy_47 = PointerType::get(PointerTy_44, 0);
502 PointerType* PointerTy_48 = PointerType::get(PointerTy_21, 0);
505 // Function Declarations
507 Function* func___cxx_global_var_init = mod->getFunction("__cxx_global_var_init");
508 if (!func___cxx_global_var_init)
510 func___cxx_global_var_init = Function::Create(
512 /*Linkage=*/GlobalValue::InternalLinkage,
513 /*Name=*/"__cxx_global_var_init", mod);
514 func___cxx_global_var_init->setCallingConv(CallingConv::C);
515 func___cxx_global_var_init->setSection(".text.startup");
517 AttributeSet func___cxx_global_var_init_PAL;
518 func___cxx_global_var_init->setAttributes(func___cxx_global_var_init_PAL);
520 Function* func__ZNSt8ios_base4InitC1Ev = mod->getFunction("std::ios_base::Init::Init()");
521 if (!func__ZNSt8ios_base4InitC1Ev)
523 func__ZNSt8ios_base4InitC1Ev = Function::Create(
525 /*Linkage=*/GlobalValue::ExternalLinkage,
526 /*Name=*/"std::ios_base::Init::Init()", mod); // (external, no body)func__ZNSt8ios_base4InitC1Ev->setCallingConv(CallingConv::C);
528 AttributeSet func__ZNSt8ios_base4InitC1Ev_PAL;
530 SmallVector<AttributeSet, 4> Attrs;
534 PAS = AttributeSet::get(mod->getContext(), ~0U, B);
537 Attrs.push_back(PAS);
538 func__ZNSt8ios_base4InitC1Ev_PAL = AttributeSet::get(mod->getContext(), Attrs);
541 func__ZNSt8ios_base4InitC1Ev->setAttributes(func__ZNSt8ios_base4InitC1Ev_PAL);
543 Function* func__ZNSt8ios_base4InitD1Ev = mod->getFunction("std::ios_base::Init::~Init()");
544 if (!func__ZNSt8ios_base4InitD1Ev)
546 func__ZNSt8ios_base4InitD1Ev = Function::Create(
548 /*Linkage=*/GlobalValue::ExternalLinkage,
549 /*Name=*/"std::ios_base::Init::~Init()", mod); // (external, no body)func__ZNSt8ios_base4InitD1Ev->setCallingConv(CallingConv::C);
551 AttributeSet func__ZNSt8ios_base4InitD1Ev_PAL;
553 SmallVector<AttributeSet, 4> Attrs;
557 PAS = AttributeSet::get(mod->getContext(), ~0U, B);
560 Attrs.push_back(PAS);
561 func__ZNSt8ios_base4InitD1Ev_PAL = AttributeSet::get(mod->getContext(), Attrs);
564 func__ZNSt8ios_base4InitD1Ev->setAttributes(func__ZNSt8ios_base4InitD1Ev_PAL);
566 Function* func___cxa_atexit = mod->getFunction("__cxa_atexit");
567 if (!func___cxa_atexit)
569 func___cxa_atexit = Function::Create(
571 /*Linkage=*/GlobalValue::ExternalLinkage,
572 /*Name=*/"__cxa_atexit", mod); // (external, no body)func___cxa_atexit->setCallingConv(CallingConv::C);
574 AttributeSet func___cxa_atexit_PAL;
576 SmallVector<AttributeSet, 4> Attrs;
580 B.addAttribute(Attribute::NoUnwind);
581 PAS = AttributeSet::get(mod->getContext(), ~0U, B);
584 Attrs.push_back(PAS);
585 func___cxa_atexit_PAL = AttributeSet::get(mod->getContext(), Attrs);
588 func___cxa_atexit->setAttributes(func___cxa_atexit_PAL);
590 Function* func__Z3foov = mod->getFunction("foo()");
593 func__Z3foov = Function::Create(
595 /*Linkage=*/GlobalValue::ExternalLinkage,
596 /*Name=*/"foo()", mod);
597 func__Z3foov->setCallingConv(CallingConv::C);
599 AttributeSet func__Z3foov_PAL;
601 SmallVector<AttributeSet, 4> Attrs;
605 B.addAttribute(Attribute::UWTable);
606 PAS = AttributeSet::get(mod->getContext(), ~0U, B);
609 Attrs.push_back(PAS);
610 func__Z3foov_PAL = AttributeSet::get(mod->getContext(), Attrs);
613 func__Z3foov->setAttributes(func__Z3foov_PAL);
615 Function* func__ZN5types6Double5EmptyEv = mod->getFunction("types::Double::Empty()");
616 if (!func__ZN5types6Double5EmptyEv)
618 func__ZN5types6Double5EmptyEv = Function::Create(
620 /*Linkage=*/GlobalValue::ExternalLinkage,
621 /*Name=*/"types::Double::Empty()", mod); // (external, no body)func__ZN5types6Double5EmptyEv->setCallingConv(CallingConv::C);
623 AttributeSet func__ZN5types6Double5EmptyEv_PAL;
625 SmallVector<AttributeSet, 4> Attrs;
629 PAS = AttributeSet::get(mod->getContext(), ~0U, B);
632 Attrs.push_back(PAS);
633 func__ZN5types6Double5EmptyEv_PAL = AttributeSet::get(mod->getContext(), Attrs);
636 func__ZN5types6Double5EmptyEv->setAttributes(func__ZN5types6Double5EmptyEv_PAL);
638 Function* func__Z17AddDoubleToDoublePN5types6DoubleES1_PS1_ = mod->getFunction("AddDoubleToDouble(types::Double*, types::Double*, types::Double**)");
639 if (!func__Z17AddDoubleToDoublePN5types6DoubleES1_PS1_)
641 func__Z17AddDoubleToDoublePN5types6DoubleES1_PS1_ = Function::Create(
643 /*Linkage=*/GlobalValue::ExternalLinkage,
644 /*Name=*/"AddDoubleToDouble(types::Double*, types::Double*, types::Double**)", mod); // (external, no body)func__Z17AddDoubleToDoublePN5types6DoubleES1_PS1_->setCallingConv(CallingConv::C);
646 AttributeSet func__Z17AddDoubleToDoublePN5types6DoubleES1_PS1__PAL;
648 SmallVector<AttributeSet, 4> Attrs;
652 PAS = AttributeSet::get(mod->getContext(), ~0U, B);
655 Attrs.push_back(PAS);
656 func__Z17AddDoubleToDoublePN5types6DoubleES1_PS1__PAL = AttributeSet::get(mod->getContext(), Attrs);
659 func__Z17AddDoubleToDoublePN5types6DoubleES1_PS1_->setAttributes(func__Z17AddDoubleToDoublePN5types6DoubleES1_PS1__PAL);
661 Function* func__Z22MultiplyDoubleByDoublePN5types6DoubleES1_PS1_ = mod->getFunction("MultiplyDoubleByDouble(types::Double*, types::Double*, types::Double**)");
662 if (!func__Z22MultiplyDoubleByDoublePN5types6DoubleES1_PS1_)
664 func__Z22MultiplyDoubleByDoublePN5types6DoubleES1_PS1_ = Function::Create(
666 /*Linkage=*/GlobalValue::ExternalLinkage,
667 /*Name=*/"MultiplyDoubleByDouble(types::Double*, types::Double*, types::Double**)", mod); // (external, no body)func__Z22MultiplyDoubleByDoublePN5types6DoubleES1_PS1_->setCallingConv(CallingConv::C);
669 AttributeSet func__Z22MultiplyDoubleByDoublePN5types6DoubleES1_PS1__PAL;
671 SmallVector<AttributeSet, 4> Attrs;
675 PAS = AttributeSet::get(mod->getContext(), ~0U, B);
678 Attrs.push_back(PAS);
679 func__Z22MultiplyDoubleByDoublePN5types6DoubleES1_PS1__PAL = AttributeSet::get(mod->getContext(), Attrs);
682 func__Z22MultiplyDoubleByDoublePN5types6DoubleES1_PS1_->setAttributes(func__Z22MultiplyDoubleByDoublePN5types6DoubleES1_PS1__PAL);
684 Function* func__Z16DoubleLessDoublePN5types6DoubleES1_PPNS_4BoolE = mod->getFunction("DoubleLessDouble(types::Double*, types::Double*, types::Bool**)");
685 if (!func__Z16DoubleLessDoublePN5types6DoubleES1_PPNS_4BoolE)
687 func__Z16DoubleLessDoublePN5types6DoubleES1_PPNS_4BoolE = Function::Create(
689 /*Linkage=*/GlobalValue::ExternalLinkage,
690 /*Name=*/"DoubleLessDouble(types::Double*, types::Double*, types::Bool**)", mod); // (external, no body)func__Z16DoubleLessDoublePN5types6DoubleES1_PPNS_4BoolE->setCallingConv(CallingConv::C);
692 AttributeSet func__Z16DoubleLessDoublePN5types6DoubleES1_PPNS_4BoolE_PAL;
694 SmallVector<AttributeSet, 4> Attrs;
698 PAS = AttributeSet::get(mod->getContext(), ~0U, B);
701 Attrs.push_back(PAS);
702 func__Z16DoubleLessDoublePN5types6DoubleES1_PPNS_4BoolE_PAL = AttributeSet::get(mod->getContext(), Attrs);
705 func__Z16DoubleLessDoublePN5types6DoubleES1_PPNS_4BoolE->setAttributes(func__Z16DoubleLessDoublePN5types6DoubleES1_PPNS_4BoolE_PAL);
707 Function* func__ZN6symbol7Context11getInstanceEv = mod->getFunction("symbol::Context::getInstance()");
708 if (!func__ZN6symbol7Context11getInstanceEv)
710 func__ZN6symbol7Context11getInstanceEv = Function::Create(
712 /*Linkage=*/GlobalValue::ExternalLinkage,
713 /*Name=*/"symbol::Context::getInstance()", mod); // (external, no body)func__ZN6symbol7Context11getInstanceEv->setCallingConv(CallingConv::C);
715 AttributeSet func__ZN6symbol7Context11getInstanceEv_PAL;
717 SmallVector<AttributeSet, 4> Attrs;
721 PAS = AttributeSet::get(mod->getContext(), ~0U, B);
724 Attrs.push_back(PAS);
725 func__ZN6symbol7Context11getInstanceEv_PAL = AttributeSet::get(mod->getContext(), Attrs);
728 func__ZN6symbol7Context11getInstanceEv->setAttributes(func__ZN6symbol7Context11getInstanceEv_PAL);
730 Function* func__ZN6symbol7Context3putERKNS_6SymbolERN5types12InternalTypeE = mod->getFunction("symbol::Context::put(symbol::Symbol const&, types::InternalType&)");
731 if (!func__ZN6symbol7Context3putERKNS_6SymbolERN5types12InternalTypeE)
733 func__ZN6symbol7Context3putERKNS_6SymbolERN5types12InternalTypeE = Function::Create(
735 /*Linkage=*/GlobalValue::ExternalLinkage,
736 /*Name=*/"symbol::Context::put(symbol::Symbol const&, types::InternalType&)", mod); // (external, no body)func__ZN6symbol7Context3putERKNS_6SymbolERN5types12InternalTypeE->setCallingConv(CallingConv::C);
738 AttributeSet func__ZN6symbol7Context3putERKNS_6SymbolERN5types12InternalTypeE_PAL;
740 SmallVector<AttributeSet, 4> Attrs;
744 B.addAttribute(Attribute::ZExt);
745 PAS = AttributeSet::get(mod->getContext(), 0U, B);
748 Attrs.push_back(PAS);
751 PAS = AttributeSet::get(mod->getContext(), ~0U, B);
754 Attrs.push_back(PAS);
755 func__ZN6symbol7Context3putERKNS_6SymbolERN5types12InternalTypeE_PAL = AttributeSet::get(mod->getContext(), Attrs);
758 func__ZN6symbol7Context3putERKNS_6SymbolERN5types12InternalTypeE->setAttributes(func__ZN6symbol7Context3putERKNS_6SymbolERN5types12InternalTypeE_PAL);
760 Function* func__ZNK6symbol7Context3getERKNS_6SymbolE = mod->getFunction("symbol::Context::get(symbol::Symbol const&) const");
761 if (!func__ZNK6symbol7Context3getERKNS_6SymbolE)
763 func__ZNK6symbol7Context3getERKNS_6SymbolE = Function::Create(
765 /*Linkage=*/GlobalValue::ExternalLinkage,
766 /*Name=*/"symbol::Context::get(symbol::Symbol const&) const", mod); // (external, no body)func__ZNK6symbol7Context3getERKNS_6SymbolE->setCallingConv(CallingConv::C);
768 AttributeSet func__ZNK6symbol7Context3getERKNS_6SymbolE_PAL;
770 SmallVector<AttributeSet, 4> Attrs;
774 PAS = AttributeSet::get(mod->getContext(), ~0U, B);
777 Attrs.push_back(PAS);
778 func__ZNK6symbol7Context3getERKNS_6SymbolE_PAL = AttributeSet::get(mod->getContext(), Attrs);
781 func__ZNK6symbol7Context3getERKNS_6SymbolE->setAttributes(func__ZNK6symbol7Context3getERKNS_6SymbolE_PAL);
783 Function* func__ZN5types7ArrayOfIiE3getEi = mod->getFunction("types::ArrayOf<int>::get(int)");
784 if (!func__ZN5types7ArrayOfIiE3getEi)
786 func__ZN5types7ArrayOfIiE3getEi = Function::Create(
788 /*Linkage=*/GlobalValue::LinkOnceODRLinkage ,
789 /*Name=*/"types::ArrayOf<int>::get(int)", mod);
790 func__ZN5types7ArrayOfIiE3getEi->setCallingConv(CallingConv::C);
791 func__ZN5types7ArrayOfIiE3getEi->setAlignment(2);
793 AttributeSet func__ZN5types7ArrayOfIiE3getEi_PAL;
795 SmallVector<AttributeSet, 4> Attrs;
799 B.addAttribute(Attribute::NoUnwind);
800 B.addAttribute(Attribute::UWTable);
801 PAS = AttributeSet::get(mod->getContext(), ~0U, B);
804 Attrs.push_back(PAS);
805 func__ZN5types7ArrayOfIiE3getEi_PAL = AttributeSet::get(mod->getContext(), Attrs);
808 func__ZN5types7ArrayOfIiE3getEi->setAttributes(func__ZN5types7ArrayOfIiE3getEi_PAL);
810 Function* func__GLOBAL__I_a = mod->getFunction("global constructors keyed to a");
811 if (!func__GLOBAL__I_a)
813 func__GLOBAL__I_a = Function::Create(
815 /*Linkage=*/GlobalValue::InternalLinkage,
816 /*Name=*/"global constructors keyed to a", mod);
817 func__GLOBAL__I_a->setCallingConv(CallingConv::C);
818 func__GLOBAL__I_a->setSection(".text.startup");
820 AttributeSet func__GLOBAL__I_a_PAL;
821 func__GLOBAL__I_a->setAttributes(func__GLOBAL__I_a_PAL);
823 // Global Variable Declarations
826 GlobalVariable* gvar_struct__ZStL8__ioinit = new GlobalVariable(/*Module=*/*mod,
827 /*Type=*/StructTy_class_std__ios_base__Init,
828 /*isConstant=*/false,
829 /*Linkage=*/GlobalValue::InternalLinkage,
830 /*Initializer=*/0, // has initializer, specified below
831 /*Name=*/"std::__ioinit");
832 gvar_struct__ZStL8__ioinit->setAlignment(1);
834 GlobalVariable* gvar_int8___dso_handle = new GlobalVariable(/*Module=*/*mod,
835 /*Type=*/IntegerType::get(mod->getContext(), 8),
836 /*isConstant=*/false,
837 /*Linkage=*/GlobalValue::ExternalLinkage,
839 /*Name=*/"__dso_handle");
840 GlobalVariable* gvar_array_llvm_global_ctors = new GlobalVariable(/*Module=*/*mod,
842 /*isConstant=*/false,
843 /*Linkage=*/GlobalValue::AppendingLinkage,
844 /*Initializer=*/0, // has initializer, specified below
845 /*Name=*/"llvm.global_ctors");
846 // Constant Definitions
847 ConstantAggregateZero* const_struct_49 = ConstantAggregateZero::get(StructTy_class_std__ios_base__Init);
848 std::vector<Constant*> const_array_50_elems;
849 std::vector<Constant*> const_struct_51_fields;
850 ConstantInt* const_int32_52 = ConstantInt::get(mod->getContext(), APInt(32, StringRef("65535"), 10));
851 const_struct_51_fields.push_back(const_int32_52);
852 const_struct_51_fields.push_back(func__GLOBAL__I_a);
853 Constant* const_struct_51 = ConstantStruct::get(StructTy_3, const_struct_51_fields);
854 const_array_50_elems.push_back(const_struct_51);
855 Constant* const_array_50 = ConstantArray::get(ArrayTy_2, const_array_50_elems);
856 Constant* const_ptr_53 = ConstantExpr::getCast(Instruction::BitCast, func__ZNSt8ios_base4InitD1Ev, PointerTy_9);
857 std::vector<Constant*> const_ptr_54_indices;
858 ConstantInt* const_int32_55 = ConstantInt::get(mod->getContext(), APInt(32, StringRef("0"), 10));
859 const_ptr_54_indices.push_back(const_int32_55);
860 const_ptr_54_indices.push_back(const_int32_55);
861 Constant* const_ptr_54 = ConstantExpr::getGetElementPtr(gvar_struct__ZStL8__ioinit, const_ptr_54_indices);
862 ConstantInt* const_int32_56 = ConstantInt::get(mod->getContext(), APInt(32, StringRef("1"), 10));
863 ConstantPointerNull* const_ptr_57 = ConstantPointerNull::get(PointerTy_20);
864 ConstantPointerNull* const_ptr_58 = ConstantPointerNull::get(PointerTy_19);
865 ConstantPointerNull* const_ptr_59 = ConstantPointerNull::get(PointerTy_23);
866 ConstantInt* const_int32_60 = ConstantInt::get(mod->getContext(), APInt(32, StringRef("2"), 10));
867 ConstantPointerNull* const_ptr_61 = ConstantPointerNull::get(PointerTy_21);
869 // Global Variable Definitions
870 gvar_struct__ZStL8__ioinit->setInitializer(const_struct_49);
871 gvar_array_llvm_global_ctors->setInitializer(const_array_50);
873 // Function Definitions
875 // Function: __cxx_global_var_init (func___cxx_global_var_init)
878 BasicBlock* label_62 = BasicBlock::Create(mod->getContext(), "", func___cxx_global_var_init, 0);
880 CallInst* void_63 = CallInst::Create(func__ZNSt8ios_base4InitC1Ev, gvar_struct__ZStL8__ioinit, "", label_62);
881 void_63->setCallingConv(CallingConv::C);
882 void_63->setTailCall(false);
883 AttributeSet void_63_PAL;
884 void_63->setAttributes(void_63_PAL);
886 std::vector<Value*> int32_64_params;
887 int32_64_params.push_back(const_ptr_53);
888 int32_64_params.push_back(const_ptr_54);
889 int32_64_params.push_back(gvar_int8___dso_handle);
890 CallInst* int32_64 = CallInst::Create(func___cxa_atexit, int32_64_params, "", label_62);
891 int32_64->setCallingConv(CallingConv::C);
892 int32_64->setTailCall(false);
893 AttributeSet int32_64_PAL;
895 SmallVector<AttributeSet, 4> Attrs;
899 B.addAttribute(Attribute::NoUnwind);
900 PAS = AttributeSet::get(mod->getContext(), ~0U, B);
903 Attrs.push_back(PAS);
904 int32_64_PAL = AttributeSet::get(mod->getContext(), Attrs);
907 int32_64->setAttributes(int32_64_PAL);
909 ReturnInst::Create(mod->getContext(), label_62);
913 // Function: _Z3foov (func__Z3foov)
916 BasicBlock* label_66 = BasicBlock::Create(mod->getContext(), "", func__Z3foov, 0);
918 AllocaInst* ptr_pdbl = new AllocaInst(PointerTy_15, "pdbl", label_66);
919 ptr_pdbl->setAlignment(8);
920 AllocaInst* ptr_pb = new AllocaInst(PointerTy_20, "pb", label_66);
921 ptr_pb->setAlignment(8);
922 AllocaInst* ptr_res = new AllocaInst(IntegerType::get(mod->getContext(), 32), "res", label_66);
923 ptr_res->setAlignment(4);
924 AllocaInst* ptr_pdbl1 = new AllocaInst(PointerTy_15, "pdbl1", label_66);
925 ptr_pdbl1->setAlignment(8);
926 AllocaInst* ptr_sym = new AllocaInst(PointerTy_23, "sym", label_66);
927 ptr_sym->setAlignment(8);
928 CallInst* ptr_67 = CallInst::Create(func__ZN5types6Double5EmptyEv, "", label_66);
929 ptr_67->setCallingConv(CallingConv::C);
930 ptr_67->setTailCall(false);
931 AttributeSet ptr_67_PAL;
932 ptr_67->setAttributes(ptr_67_PAL);
934 StoreInst* void_68 = new StoreInst(ptr_67, ptr_pdbl, false, label_66);
935 void_68->setAlignment(8);
936 StoreInst* void_69 = new StoreInst(const_ptr_57, ptr_pb, false, label_66);
937 void_69->setAlignment(8);
938 LoadInst* ptr_70 = new LoadInst(ptr_pdbl, "", false, label_66);
939 ptr_70->setAlignment(8);
940 LoadInst* ptr_71 = new LoadInst(ptr_pdbl, "", false, label_66);
941 ptr_71->setAlignment(8);
942 std::vector<Value*> int32_72_params;
943 int32_72_params.push_back(ptr_70);
944 int32_72_params.push_back(ptr_71);
945 int32_72_params.push_back(ptr_pdbl);
946 CallInst* int32_72 = CallInst::Create(func__Z17AddDoubleToDoublePN5types6DoubleES1_PS1_, int32_72_params, "", label_66);
947 int32_72->setCallingConv(CallingConv::C);
948 int32_72->setTailCall(false);
949 AttributeSet int32_72_PAL;
950 int32_72->setAttributes(int32_72_PAL);
952 StoreInst* void_73 = new StoreInst(int32_72, ptr_res, false, label_66);
953 void_73->setAlignment(4);
954 CallInst* ptr_74 = CallInst::Create(func__ZN5types6Double5EmptyEv, "", label_66);
955 ptr_74->setCallingConv(CallingConv::C);
956 ptr_74->setTailCall(false);
957 AttributeSet ptr_74_PAL;
958 ptr_74->setAttributes(ptr_74_PAL);
960 StoreInst* void_75 = new StoreInst(ptr_74, ptr_pdbl1, false, label_66);
961 void_75->setAlignment(8);
962 LoadInst* ptr_76 = new LoadInst(ptr_pdbl1, "", false, label_66);
963 ptr_76->setAlignment(8);
964 LoadInst* ptr_77 = new LoadInst(ptr_pdbl1, "", false, label_66);
965 ptr_77->setAlignment(8);
966 std::vector<Value*> int32_78_params;
967 int32_78_params.push_back(ptr_76);
968 int32_78_params.push_back(ptr_77);
969 int32_78_params.push_back(ptr_pdbl1);
970 CallInst* int32_78 = CallInst::Create(func__Z22MultiplyDoubleByDoublePN5types6DoubleES1_PS1_, int32_78_params, "", label_66);
971 int32_78->setCallingConv(CallingConv::C);
972 int32_78->setTailCall(false);
973 AttributeSet int32_78_PAL;
974 int32_78->setAttributes(int32_78_PAL);
976 StoreInst* void_79 = new StoreInst(int32_78, ptr_res, false, label_66);
977 void_79->setAlignment(4);
978 LoadInst* ptr_80 = new LoadInst(ptr_pdbl, "", false, label_66);
979 ptr_80->setAlignment(8);
980 LoadInst* ptr_81 = new LoadInst(ptr_pdbl, "", false, label_66);
981 ptr_81->setAlignment(8);
982 std::vector<Value*> int32_82_params;
983 int32_82_params.push_back(ptr_80);
984 int32_82_params.push_back(ptr_81);
985 int32_82_params.push_back(const_ptr_58);
986 CallInst* int32_82 = CallInst::Create(func__Z16DoubleLessDoublePN5types6DoubleES1_PPNS_4BoolE, int32_82_params, "", label_66);
987 int32_82->setCallingConv(CallingConv::C);
988 int32_82->setTailCall(false);
989 AttributeSet int32_82_PAL;
990 int32_82->setAttributes(int32_82_PAL);
992 StoreInst* void_83 = new StoreInst(int32_82, ptr_res, false, label_66);
993 void_83->setAlignment(4);
994 StoreInst* void_84 = new StoreInst(const_ptr_59, ptr_sym, false, label_66);
995 void_84->setAlignment(8);
996 CallInst* ptr_85 = CallInst::Create(func__ZN6symbol7Context11getInstanceEv, "", label_66);
997 ptr_85->setCallingConv(CallingConv::C);
998 ptr_85->setTailCall(false);
999 AttributeSet ptr_85_PAL;
1000 ptr_85->setAttributes(ptr_85_PAL);
1002 LoadInst* ptr_86 = new LoadInst(ptr_sym, "", false, label_66);
1003 ptr_86->setAlignment(8);
1004 LoadInst* ptr_87 = new LoadInst(ptr_pdbl, "", false, label_66);
1005 ptr_87->setAlignment(8);
1006 CastInst* ptr_88 = new BitCastInst(ptr_87, PointerTy_39, "", label_66);
1007 std::vector<Value*> int1_89_params;
1008 int1_89_params.push_back(ptr_85);
1009 int1_89_params.push_back(ptr_86);
1010 int1_89_params.push_back(ptr_88);
1011 CallInst* int1_89 = CallInst::Create(func__ZN6symbol7Context3putERKNS_6SymbolERN5types12InternalTypeE, int1_89_params, "", label_66);
1012 int1_89->setCallingConv(CallingConv::C);
1013 int1_89->setTailCall(false);
1014 AttributeSet int1_89_PAL;
1016 SmallVector<AttributeSet, 4> Attrs;
1020 B.addAttribute(Attribute::ZExt);
1021 PAS = AttributeSet::get(mod->getContext(), 0U, B);
1024 Attrs.push_back(PAS);
1025 int1_89_PAL = AttributeSet::get(mod->getContext(), Attrs);
1028 int1_89->setAttributes(int1_89_PAL);
1030 CallInst* ptr_90 = CallInst::Create(func__ZN6symbol7Context11getInstanceEv, "", label_66);
1031 ptr_90->setCallingConv(CallingConv::C);
1032 ptr_90->setTailCall(false);
1033 AttributeSet ptr_90_PAL;
1034 ptr_90->setAttributes(ptr_90_PAL);
1036 LoadInst* ptr_91 = new LoadInst(ptr_sym, "", false, label_66);
1037 ptr_91->setAlignment(8);
1038 std::vector<Value*> ptr_92_params;
1039 ptr_92_params.push_back(ptr_90);
1040 ptr_92_params.push_back(ptr_91);
1041 CallInst* ptr_92 = CallInst::Create(func__ZNK6symbol7Context3getERKNS_6SymbolE, ptr_92_params, "", label_66);
1042 ptr_92->setCallingConv(CallingConv::C);
1043 ptr_92->setTailCall(false);
1044 AttributeSet ptr_92_PAL;
1045 ptr_92->setAttributes(ptr_92_PAL);
1047 LoadInst* ptr_93 = new LoadInst(ptr_pb, "", false, label_66);
1048 ptr_93->setAlignment(8);
1049 CastInst* ptr_94 = new BitCastInst(ptr_93, PointerTy_44, "", label_66);
1050 std::vector<Value*> int32_95_params;
1051 int32_95_params.push_back(ptr_94);
1052 int32_95_params.push_back(const_int32_55);
1053 CallInst* int32_95 = CallInst::Create(func__ZN5types7ArrayOfIiE3getEi, int32_95_params, "", label_66);
1054 int32_95->setCallingConv(CallingConv::C);
1055 int32_95->setTailCall(false);
1056 AttributeSet int32_95_PAL;
1057 int32_95->setAttributes(int32_95_PAL);
1059 LoadInst* int32_96 = new LoadInst(ptr_res, "", false, label_66);
1060 int32_96->setAlignment(4);
1061 ReturnInst::Create(mod->getContext(), int32_96, label_66);
1065 // Function: _ZN5types7ArrayOfIiE3getEi (func__ZN5types7ArrayOfIiE3getEi)
1067 Function::arg_iterator args = func__ZN5types7ArrayOfIiE3getEi->arg_begin();
1068 Value* ptr_this = args++;
1069 ptr_this->setName("this");
1070 Value* int32__iPos = args++;
1071 int32__iPos->setName("_iPos");
1072 BasicBlock* label_98 = BasicBlock::Create(mod->getContext(), "", func__ZN5types7ArrayOfIiE3getEi, 0);
1073 BasicBlock* label_99 = BasicBlock::Create(mod->getContext(), "", func__ZN5types7ArrayOfIiE3getEi, 0);
1074 BasicBlock* label_100 = BasicBlock::Create(mod->getContext(), "", func__ZN5types7ArrayOfIiE3getEi, 0);
1075 BasicBlock* label_101 = BasicBlock::Create(mod->getContext(), "", func__ZN5types7ArrayOfIiE3getEi, 0);
1077 AllocaInst* ptr_102 = new AllocaInst(IntegerType::get(mod->getContext(), 32), "", label_98);
1078 ptr_102->setAlignment(4);
1079 AllocaInst* ptr_103 = new AllocaInst(PointerTy_44, "", label_98);
1080 ptr_103->setAlignment(8);
1081 AllocaInst* ptr_104 = new AllocaInst(IntegerType::get(mod->getContext(), 32), "", label_98);
1082 ptr_104->setAlignment(4);
1083 StoreInst* void_105 = new StoreInst(ptr_this, ptr_103, false, label_98);
1084 void_105->setAlignment(8);
1085 StoreInst* void_106 = new StoreInst(int32__iPos, ptr_104, false, label_98);
1086 void_106->setAlignment(4);
1087 LoadInst* ptr_107 = new LoadInst(ptr_103, "", false, label_98);
1088 std::vector<Value*> ptr_108_indices;
1089 ptr_108_indices.push_back(const_int32_55);
1090 ptr_108_indices.push_back(const_int32_60);
1091 Instruction* ptr_108 = GetElementPtrInst::Create(ptr_107, ptr_108_indices, "", label_98);
1092 LoadInst* ptr_109 = new LoadInst(ptr_108, "", false, label_98);
1093 ptr_109->setAlignment(8);
1094 ICmpInst* int1_110 = new ICmpInst(*label_98, ICmpInst::ICMP_NE, ptr_109, const_ptr_61, "");
1095 BranchInst::Create(label_99, label_100, int1_110, label_98);
1098 LoadInst* int32_112 = new LoadInst(ptr_104, "", false, label_99);
1099 int32_112->setAlignment(4);
1100 CastInst* int64_113 = new SExtInst(int32_112, IntegerType::get(mod->getContext(), 64), "", label_99);
1101 std::vector<Value*> ptr_114_indices;
1102 ptr_114_indices.push_back(const_int32_55);
1103 ptr_114_indices.push_back(const_int32_60);
1104 Instruction* ptr_114 = GetElementPtrInst::Create(ptr_107, ptr_114_indices, "", label_99);
1105 LoadInst* ptr_115 = new LoadInst(ptr_114, "", false, label_99);
1106 ptr_115->setAlignment(8);
1107 GetElementPtrInst* ptr_116 = GetElementPtrInst::Create(ptr_115, int64_113, "", label_99);
1108 LoadInst* int32_117 = new LoadInst(ptr_116, "", false, label_99);
1109 int32_117->setAlignment(4);
1110 StoreInst* void_118 = new StoreInst(int32_117, ptr_102, false, label_99);
1111 BranchInst::Create(label_101, label_99);
1113 // Block (label_100)
1114 StoreInst* void_120 = new StoreInst(const_int32_55, ptr_102, false, label_100);
1115 BranchInst::Create(label_101, label_100);
1117 // Block (label_101)
1118 LoadInst* int32_122 = new LoadInst(ptr_102, "", false, label_101);
1119 ReturnInst::Create(mod->getContext(), int32_122, label_101);
1123 // Function: _GLOBAL__I_a (func__GLOBAL__I_a)
1126 BasicBlock* label_124 = BasicBlock::Create(mod->getContext(), "", func__GLOBAL__I_a, 0);
1127 // Block (label_124)
1128 CallInst* void_125 = CallInst::Create(func___cxx_global_var_init, "", label_124);
1129 void_125->setCallingConv(CallingConv::C);
1130 void_125->setTailCall(false);
1131 AttributeSet void_125_PAL;
1132 void_125->setAttributes(void_125_PAL);
1134 ReturnInst::Create(mod->getContext(), label_124);