@@ -43,7 +43,7 @@ define %ValueStruct* addrspace(4)* @new_value_struct_wrapper(float, float) {
43
43
body :
44
44
% new_value_struct = call % ValueStruct @new_value_struct (float % 0 , float % 1 )
45
45
% new_ptr = load i8 * addrspace (4 )* (i8 addrspace (4 )* , i8 * )* , i8 * addrspace (4 )* (i8 addrspace (4 )* , i8 * )** getelementptr inbounds (% DispatchTable , % DispatchTable * @dispatchTable , i32 0 , i32 0 )
46
- % ValueStruct_ptr = load % struct .MunTypeInfo addrspace (4 )* , % struct .MunTypeInfo addrspace (4 )** getelementptr inbounds ([8 x % struct .MunTypeInfo addrspace (4 )* ], [8 x % struct .MunTypeInfo addrspace (4 )* ]* @global_type_table , i32 0 , i32 2 )
46
+ % ValueStruct_ptr = load % struct .MunTypeInfo addrspace (4 )* , % struct .MunTypeInfo addrspace (4 )** getelementptr inbounds ([8 x % struct .MunTypeInfo addrspace (4 )* ], [8 x % struct .MunTypeInfo addrspace (4 )* ]* @global_type_table , i32 0 , i32 4 )
47
47
% type_info_ptr_to_i8_ptr = bitcast % struct .MunTypeInfo addrspace (4 )* % ValueStruct_ptr to i8 addrspace (4 )*
48
48
% allocator_handle = load i8 * , i8 ** @allocatorHandle
49
49
% new = call i8 * addrspace (4 )* % new_ptr (i8 addrspace (4 )* % type_info_ptr_to_i8_ptr , i8 * % allocator_handle )
60
60
% init = insertvalue % GcWrapper undef , % GcStruct * addrspace (4 )* % 0 , 0
61
61
% init3 = insertvalue % GcWrapper % init , % ValueStruct % 1 , 1
62
62
% new_ptr = load i8 * addrspace (4 )* (i8 addrspace (4 )* , i8 * )* , i8 * addrspace (4 )* (i8 addrspace (4 )* , i8 * )** getelementptr inbounds (% DispatchTable , % DispatchTable * @dispatchTable , i32 0 , i32 0 )
63
- % GcWrapper_ptr = load % struct .MunTypeInfo addrspace (4 )* , % struct .MunTypeInfo addrspace (4 )** getelementptr inbounds ([8 x % struct .MunTypeInfo addrspace (4 )* ], [8 x % struct .MunTypeInfo addrspace (4 )* ]* @global_type_table , i32 0 , i32 3 )
63
+ % GcWrapper_ptr = load % struct .MunTypeInfo addrspace (4 )* , % struct .MunTypeInfo addrspace (4 )** getelementptr inbounds ([8 x % struct .MunTypeInfo addrspace (4 )* ], [8 x % struct .MunTypeInfo addrspace (4 )* ]* @global_type_table , i32 0 , i32 0 )
64
64
% type_info_ptr_to_i8_ptr = bitcast % struct .MunTypeInfo addrspace (4 )* % GcWrapper_ptr to i8 addrspace (4 )*
65
65
% allocator_handle = load i8 * , i8 ** @allocatorHandle
66
66
% new = call i8 * addrspace (4 )* % new_ptr (i8 addrspace (4 )* % type_info_ptr_to_i8_ptr , i8 * % allocator_handle )
93
93
% deref = load % ValueStruct , % ValueStruct * % mem_ptr
94
94
% new_value_wrapper = call % ValueWrapper @new_value_wrapper (% GcStruct * addrspace (4 )* % 0 , % ValueStruct % deref )
95
95
% new_ptr = load i8 * addrspace (4 )* (i8 addrspace (4 )* , i8 * )* , i8 * addrspace (4 )* (i8 addrspace (4 )* , i8 * )** getelementptr inbounds (% DispatchTable , % DispatchTable * @dispatchTable , i32 0 , i32 0 )
96
- % ValueWrapper_ptr = load % struct .MunTypeInfo addrspace (4 )* , % struct .MunTypeInfo addrspace (4 )** getelementptr inbounds ([8 x % struct .MunTypeInfo addrspace (4 )* ], [8 x % struct .MunTypeInfo addrspace (4 )* ]* @global_type_table , i32 0 , i32 4 )
96
+ % ValueWrapper_ptr = load % struct .MunTypeInfo addrspace (4 )* , % struct .MunTypeInfo addrspace (4 )** getelementptr inbounds ([8 x % struct .MunTypeInfo addrspace (4 )* ], [8 x % struct .MunTypeInfo addrspace (4 )* ]* @global_type_table , i32 0 , i32 2 )
97
97
% type_info_ptr_to_i8_ptr = bitcast % struct .MunTypeInfo addrspace (4 )* % ValueWrapper_ptr to i8 addrspace (4 )*
98
98
% allocator_handle = load i8 * , i8 ** @allocatorHandle
99
99
% new = call i8 * addrspace (4 )* % new_ptr (i8 addrspace (4 )* % type_info_ptr_to_i8_ptr , i8 * % allocator_handle )
@@ -113,42 +113,42 @@ source_filename = "group_name"
113
113
% struct .MunStructInfo = type { i8 addrspace (4 )* addrspace (4 )* , % struct .MunTypeInfo addrspace (4 )* addrspace (4 )* , i16 addrspace (4 )* , i16 , i8 }
114
114
115
115
@dispatchTable = global % DispatchTable zeroinitializer
116
- @" type_info::<*const TypeInfo>::name" = private unnamed_addr constant [16 x i8 ] c " *const TypeInfo\00 "
117
- @" type_info::<*const TypeInfo>" = private unnamed_addr constant % struct .MunTypeInfo { [16 x i8 ] c " =\A 1-\1 F\C 2\A 7\8 8`d\9 0\F 4\B 5\B EE}x" , [16 x i8 ]* @" type_info::<*const TypeInfo>::name" , i32 64 , i8 8 , i8 0 }
118
- @" type_info::<core::f32>::name" = private unnamed_addr constant [10 x i8 ] c " core::f32\00 "
119
- @" type_info::<core::f32>" = private unnamed_addr constant % struct .MunTypeInfo { [16 x i8 ] c " P\1 9b7\A 8k\F 2\8 1P\F B\8 3\F 5P\B 0\8 2!" , [10 x i8 ]* @" type_info::<core::f32>::name" , i32 32 , i8 4 , i8 0 }
120
- @" type_info::<ValueStruct>::name" = private unnamed_addr constant [12 x i8 ] c " ValueStruct\00 "
121
- @" struct_info::<ValueStruct>::field_names" = private unnamed_addr constant [2 x i8 ] c " 0\00 "
122
- @" struct_info::<ValueStruct>::field_names.1" = private unnamed_addr constant [2 x i8 ] c " 1\00 "
123
- @0 = private unnamed_addr constant [2 x i8 addrspace (4 )* ] [i8 addrspace (4 )* @" struct_info::<ValueStruct>::field_names" , i8 addrspace (4 )* @" struct_info::<ValueStruct>::field_names.1" ]
124
- @" struct_info::<ValueStruct>::field_types" = private unnamed_addr constant [2 x % struct .MunTypeInfo addrspace (4 )* ] [% struct .MunTypeInfo addrspace (4 )* @" type_info::<core::f32>" , % struct .MunTypeInfo addrspace (4 )* @" type_info::<core::f32>" ]
125
- @" struct_info::<ValueStruct>::field_offsets" = private unnamed_addr constant [2 x i16 ] [i16 0 , i16 4 ]
126
- @" type_info::<ValueStruct>" = private unnamed_addr constant { % struct .MunTypeInfo , % struct .MunStructInfo } { % struct .MunTypeInfo { [16 x i8 ] c " U0{\8 7\5 C\04 Q/\9 5!$\A 2\F 1\A 9\F 9W" , [12 x i8 ]* @" type_info::<ValueStruct>::name" , i32 64 , i8 4 , i8 1 }, % struct .MunStructInfo { [2 x i8 addrspace (4 )* ]* @0 , [2 x % struct .MunTypeInfo addrspace (4 )* ]* @" struct_info::<ValueStruct>::field_types" , [2 x i16 ]* @" struct_info::<ValueStruct>::field_offsets" , i16 2 , i8 1 } }
127
116
@" type_info::<GcWrapper>::name" = private unnamed_addr constant [10 x i8 ] c " GcWrapper\00 "
128
117
@" struct_info::<GcWrapper>::field_names" = private unnamed_addr constant [2 x i8 ] c " 0\00 "
129
- @" struct_info::<GcWrapper>::field_names.2 " = private unnamed_addr constant [2 x i8 ] c " 1\00 "
130
- @1 = private unnamed_addr constant [2 x i8 addrspace (4 )* ] [i8 addrspace (4 )* @" struct_info::<GcWrapper>::field_names" , i8 addrspace (4 )* @" struct_info::<GcWrapper>::field_names.2 " ]
118
+ @" struct_info::<GcWrapper>::field_names.1 " = private unnamed_addr constant [2 x i8 ] c " 1\00 "
119
+ @0 = private unnamed_addr constant [2 x i8 addrspace (4 )* ] [i8 addrspace (4 )* @" struct_info::<GcWrapper>::field_names" , i8 addrspace (4 )* @" struct_info::<GcWrapper>::field_names.1 " ]
131
120
@" type_info::<GcStruct>::name" = private unnamed_addr constant [9 x i8 ] c " GcStruct\00 "
132
121
@" struct_info::<GcStruct>::field_names" = private unnamed_addr constant [2 x i8 ] c " 0\00 "
133
- @" struct_info::<GcStruct>::field_names.3" = private unnamed_addr constant [2 x i8 ] c " 1\00 "
134
- @2 = private unnamed_addr constant [2 x i8 addrspace (4 )* ] [i8 addrspace (4 )* @" struct_info::<GcStruct>::field_names" , i8 addrspace (4 )* @" struct_info::<GcStruct>::field_names.3" ]
122
+ @" struct_info::<GcStruct>::field_names.2" = private unnamed_addr constant [2 x i8 ] c " 1\00 "
123
+ @1 = private unnamed_addr constant [2 x i8 addrspace (4 )* ] [i8 addrspace (4 )* @" struct_info::<GcStruct>::field_names" , i8 addrspace (4 )* @" struct_info::<GcStruct>::field_names.2" ]
124
+ @" type_info::<core::f32>::name" = private unnamed_addr constant [10 x i8 ] c " core::f32\00 "
125
+ @" type_info::<core::f32>" = private unnamed_addr constant % struct .MunTypeInfo { [16 x i8 ] c " P\1 9b7\A 8k\F 2\8 1P\F B\8 3\F 5P\B 0\8 2!" , [10 x i8 ]* @" type_info::<core::f32>::name" , i32 32 , i8 4 , i8 0 }
135
126
@" struct_info::<GcStruct>::field_types" = private unnamed_addr constant [2 x % struct .MunTypeInfo addrspace (4 )* ] [% struct .MunTypeInfo addrspace (4 )* @" type_info::<core::f32>" , % struct .MunTypeInfo addrspace (4 )* @" type_info::<core::f32>" ]
136
127
@" struct_info::<GcStruct>::field_offsets" = private unnamed_addr constant [2 x i16 ] [i16 0 , i16 4 ]
137
- @" type_info::<GcStruct>" = private unnamed_addr constant { % struct .MunTypeInfo , % struct .MunStructInfo } { % struct .MunTypeInfo { [16 x i8 ] c " \B 9)lg\01\9 5k@E\B 4(\C B\C AGX\E 1" , [9 x i8 ]* @" type_info::<GcStruct>::name" , i32 64 , i8 4 , i8 1 }, % struct .MunStructInfo { [2 x i8 addrspace (4 )* ]* @2 , [2 x % struct .MunTypeInfo addrspace (4 )* ]* @" struct_info::<GcStruct>::field_types" , [2 x i16 ]* @" struct_info::<GcStruct>::field_offsets" , i16 2 , i8 0 } }
128
+ @" type_info::<GcStruct>" = private unnamed_addr constant { % struct .MunTypeInfo , % struct .MunStructInfo } { % struct .MunTypeInfo { [16 x i8 ] c " \B 9)lg\01\9 5k@E\B 4(\C B\C AGX\E 1" , [9 x i8 ]* @" type_info::<GcStruct>::name" , i32 64 , i8 4 , i8 1 }, % struct .MunStructInfo { [2 x i8 addrspace (4 )* ]* @1 , [2 x % struct .MunTypeInfo addrspace (4 )* ]* @" struct_info::<GcStruct>::field_types" , [2 x i16 ]* @" struct_info::<GcStruct>::field_offsets" , i16 2 , i8 0 } }
129
+ @" type_info::<ValueStruct>::name" = private unnamed_addr constant [12 x i8 ] c " ValueStruct\00 "
130
+ @" struct_info::<ValueStruct>::field_names" = private unnamed_addr constant [2 x i8 ] c " 0\00 "
131
+ @" struct_info::<ValueStruct>::field_names.3" = private unnamed_addr constant [2 x i8 ] c " 1\00 "
132
+ @2 = private unnamed_addr constant [2 x i8 addrspace (4 )* ] [i8 addrspace (4 )* @" struct_info::<ValueStruct>::field_names" , i8 addrspace (4 )* @" struct_info::<ValueStruct>::field_names.3" ]
133
+ @" struct_info::<ValueStruct>::field_types" = private unnamed_addr constant [2 x % struct .MunTypeInfo addrspace (4 )* ] [% struct .MunTypeInfo addrspace (4 )* @" type_info::<core::f32>" , % struct .MunTypeInfo addrspace (4 )* @" type_info::<core::f32>" ]
134
+ @" struct_info::<ValueStruct>::field_offsets" = private unnamed_addr constant [2 x i16 ] [i16 0 , i16 4 ]
135
+ @" type_info::<ValueStruct>" = private unnamed_addr constant { % struct .MunTypeInfo , % struct .MunStructInfo } { % struct .MunTypeInfo { [16 x i8 ] c " U0{\8 7\5 C\04 Q/\9 5!$\A 2\F 1\A 9\F 9W" , [12 x i8 ]* @" type_info::<ValueStruct>::name" , i32 64 , i8 4 , i8 1 }, % struct .MunStructInfo { [2 x i8 addrspace (4 )* ]* @2 , [2 x % struct .MunTypeInfo addrspace (4 )* ]* @" struct_info::<ValueStruct>::field_types" , [2 x i16 ]* @" struct_info::<ValueStruct>::field_offsets" , i16 2 , i8 1 } }
138
136
@" struct_info::<GcWrapper>::field_types" = private unnamed_addr constant [2 x % struct .MunTypeInfo addrspace (4 )* ] [% struct .MunTypeInfo addrspace (4 )* @" type_info::<GcStruct>" , % struct .MunTypeInfo addrspace (4 )* @" type_info::<ValueStruct>" ]
139
137
@" struct_info::<GcWrapper>::field_offsets" = private unnamed_addr constant [2 x i16 ] [i16 0 , i16 8 ]
140
- @" type_info::<GcWrapper>" = private unnamed_addr constant { % struct .MunTypeInfo , % struct .MunStructInfo } { % struct .MunTypeInfo { [16 x i8 ] c " cR\F 04\B 9\E 3&)\14 |\B 77\C 4jQ\D 5" , [10 x i8 ]* @" type_info::<GcWrapper>::name" , i32 128 , i8 8 , i8 1 }, % struct .MunStructInfo { [2 x i8 addrspace (4 )* ]* @1 , [2 x % struct .MunTypeInfo addrspace (4 )* ]* @" struct_info::<GcWrapper>::field_types" , [2 x i16 ]* @" struct_info::<GcWrapper>::field_offsets" , i16 2 , i8 0 } }
138
+ @" type_info::<GcWrapper>" = private unnamed_addr constant { % struct .MunTypeInfo , % struct .MunStructInfo } { % struct .MunTypeInfo { [16 x i8 ] c " !\14\9 3\A 7H1?90\B 7\E A\D B0\8 2\A 0\C 7" , [10 x i8 ]* @" type_info::<GcWrapper>::name" , i32 128 , i8 8 , i8 1 }, % struct .MunStructInfo { [2 x i8 addrspace (4 )* ]* @0 , [2 x % struct .MunTypeInfo addrspace (4 )* ]* @" struct_info::<GcWrapper>::field_types" , [2 x i16 ]* @" struct_info::<GcWrapper>::field_offsets" , i16 2 , i8 0 } }
139
+ @" type_info::<*const TypeInfo>::name" = private unnamed_addr constant [16 x i8 ] c " *const TypeInfo\00 "
140
+ @" type_info::<*const TypeInfo>" = private unnamed_addr constant % struct .MunTypeInfo { [16 x i8 ] c " =\A 1-\1 F\C 2\A 7\8 8`d\9 0\F 4\B 5\B EE}x" , [16 x i8 ]* @" type_info::<*const TypeInfo>::name" , i32 64 , i8 8 , i8 0 }
141
141
@" type_info::<ValueWrapper>::name" = private unnamed_addr constant [13 x i8 ] c " ValueWrapper\00 "
142
142
@" struct_info::<ValueWrapper>::field_names" = private unnamed_addr constant [2 x i8 ] c " 0\00 "
143
143
@" struct_info::<ValueWrapper>::field_names.4" = private unnamed_addr constant [2 x i8 ] c " 1\00 "
144
144
@3 = private unnamed_addr constant [2 x i8 addrspace (4 )* ] [i8 addrspace (4 )* @" struct_info::<ValueWrapper>::field_names" , i8 addrspace (4 )* @" struct_info::<ValueWrapper>::field_names.4" ]
145
145
@" struct_info::<ValueWrapper>::field_types" = private unnamed_addr constant [2 x % struct .MunTypeInfo addrspace (4 )* ] [% struct .MunTypeInfo addrspace (4 )* @" type_info::<GcStruct>" , % struct .MunTypeInfo addrspace (4 )* @" type_info::<ValueStruct>" ]
146
146
@" struct_info::<ValueWrapper>::field_offsets" = private unnamed_addr constant [2 x i16 ] [i16 0 , i16 8 ]
147
- @" type_info::<ValueWrapper>" = private unnamed_addr constant { % struct .MunTypeInfo , % struct .MunStructInfo } { % struct .MunTypeInfo { [16 x i8 ] c " \9 9 \1 A \7 F \C B \B 36 \A 4 \8 Br \07\F B \7 F \F 0 \8 6S \9 F " , [13 x i8 ]* @" type_info::<ValueWrapper>::name" , i32 128 , i8 8 , i8 1 }, % struct .MunStructInfo { [2 x i8 addrspace (4 )* ]* @3 , [2 x % struct .MunTypeInfo addrspace (4 )* ]* @" struct_info::<ValueWrapper>::field_types" , [2 x i16 ]* @" struct_info::<ValueWrapper>::field_offsets" , i16 2 , i8 1 } }
147
+ @" type_info::<ValueWrapper>" = private unnamed_addr constant { % struct .MunTypeInfo , % struct .MunStructInfo } { % struct .MunTypeInfo { [16 x i8 ] c " @j \D 8 \C D~- \12\8 7|A \E 8 \D Bp \E C} \A A " , [13 x i8 ]* @" type_info::<ValueWrapper>::name" , i32 128 , i8 8 , i8 1 }, % struct .MunStructInfo { [2 x i8 addrspace (4 )* ]* @3 , [2 x % struct .MunTypeInfo addrspace (4 )* ]* @" struct_info::<ValueWrapper>::field_types" , [2 x i16 ]* @" struct_info::<ValueWrapper>::field_offsets" , i16 2 , i8 1 } }
148
148
@" type_info::<*const *mut core::void>::name" = private unnamed_addr constant [23 x i8 ] c " *const *mut core::void\00 "
149
149
@" type_info::<*const *mut core::void>" = private unnamed_addr constant % struct .MunTypeInfo { [16 x i8 ] c " \C 5fO\B D\8 4\D F\06\B Fd+\B 1\9 Abv\C E\00 " , [23 x i8 ]* @" type_info::<*const *mut core::void>::name" , i32 64 , i8 8 , i8 0 }
150
150
@" type_info::<*mut core::void>::name" = private unnamed_addr constant [16 x i8 ] c " *mut core::void\00 "
151
151
@" type_info::<*mut core::void>" = private unnamed_addr constant % struct .MunTypeInfo { [16 x i8 ] c " \F 0Y\22\F C\9 5\9 E\7 F\C E\0 8T\B 1\A 2\C D\A 7\F Az" , [16 x i8 ]* @" type_info::<*mut core::void>::name" , i32 64 , i8 8 , i8 0 }
152
- @global_type_table = global [8 x % struct .MunTypeInfo addrspace (4 )* ] [% struct .MunTypeInfo addrspace (4 )* @" type_info::<*const TypeInfo >" , % struct .MunTypeInfo addrspace (4 )* @" type_info::<core::f32 >" , % struct .MunTypeInfo addrspace (4 )* @" type_info::<ValueStruct >" , % struct .MunTypeInfo addrspace (4 )* @" type_info::<GcWrapper >" , % struct .MunTypeInfo addrspace (4 )* @" type_info::<ValueWrapper >" , % struct .MunTypeInfo addrspace (4 )* @" type_info::<GcStruct>" , % struct .MunTypeInfo addrspace (4 )* @" type_info::<*const *mut core::void>" , % struct .MunTypeInfo addrspace (4 )* @" type_info::<*mut core::void>" ]
152
+ @global_type_table = global [8 x % struct .MunTypeInfo addrspace (4 )* ] [% struct .MunTypeInfo addrspace (4 )* @" type_info::<GcWrapper >" , % struct .MunTypeInfo addrspace (4 )* @" type_info::<*const TypeInfo >" , % struct .MunTypeInfo addrspace (4 )* @" type_info::<ValueWrapper >" , % struct .MunTypeInfo addrspace (4 )* @" type_info::<core::f32 >" , % struct .MunTypeInfo addrspace (4 )* @" type_info::<ValueStruct >" , % struct .MunTypeInfo addrspace (4 )* @" type_info::<GcStruct>" , % struct .MunTypeInfo addrspace (4 )* @" type_info::<*const *mut core::void>" , % struct .MunTypeInfo addrspace (4 )* @" type_info::<*mut core::void>" ]
153
153
@allocatorHandle = unnamed_addr global i8 * null
154
154
0 commit comments