@@ -54,8 +54,8 @@ fn reachable_non_generics_provider(tcx: TyCtxt<'_>, _: LocalCrate) -> DefIdMap<S
54
54
// export level, however, as they're just implementation details.
55
55
// Down below we'll hardwire all of the symbols to the `Rust` export
56
56
// level instead.
57
- let is_compiler_builtins = tcx . is_compiler_builtins ( LOCAL_CRATE ) ;
58
- let special_runtime_crate = tcx. is_panic_runtime ( LOCAL_CRATE ) || is_compiler_builtins;
57
+ let special_runtime_crate =
58
+ tcx. is_panic_runtime ( LOCAL_CRATE ) || tcx . is_compiler_builtins ( LOCAL_CRATE ) ;
59
59
60
60
let mut reachable_non_generics: DefIdMap < _ > = tcx
61
61
. reachable_set ( ( ) )
@@ -105,21 +105,16 @@ fn reachable_non_generics_provider(tcx: TyCtxt<'_>, _: LocalCrate) -> DefIdMap<S
105
105
}
106
106
} )
107
107
. map ( |def_id| {
108
- let codegen_attrs = tcx. codegen_fn_attrs ( def_id. to_def_id ( ) ) ;
109
108
// We won't link right if this symbol is stripped during LTO.
110
109
let name = tcx. symbol_name ( Instance :: mono ( tcx, def_id. to_def_id ( ) ) ) . name ;
111
- // We have to preserve the symbols of the built-in functions during LTO.
112
- let is_builtin_fn = is_compiler_builtins
113
- && symbol_export_level ( tcx, def_id. to_def_id ( ) )
114
- . is_below_threshold ( SymbolExportLevel :: C )
115
- && codegen_attrs. flags . contains ( CodegenFnAttrFlags :: NO_MANGLE ) ;
116
110
let used = name == "rust_eh_personality" ;
117
111
118
112
let export_level = if special_runtime_crate {
119
113
SymbolExportLevel :: Rust
120
114
} else {
121
115
symbol_export_level ( tcx, def_id. to_def_id ( ) )
122
116
} ;
117
+ let codegen_attrs = tcx. codegen_fn_attrs ( def_id. to_def_id ( ) ) ;
123
118
debug ! (
124
119
"EXPORTED SYMBOL (local): {} ({:?})" ,
125
120
tcx. symbol_name( Instance :: mono( tcx, def_id. to_def_id( ) ) ) ,
@@ -139,7 +134,6 @@ fn reachable_non_generics_provider(tcx: TyCtxt<'_>, _: LocalCrate) -> DefIdMap<S
139
134
used : codegen_attrs. flags . contains ( CodegenFnAttrFlags :: USED )
140
135
|| codegen_attrs. flags . contains ( CodegenFnAttrFlags :: USED_LINKER )
141
136
|| used,
142
- used_compiler : is_builtin_fn,
143
137
} ;
144
138
( def_id. to_def_id ( ) , info)
145
139
} )
@@ -152,7 +146,6 @@ fn reachable_non_generics_provider(tcx: TyCtxt<'_>, _: LocalCrate) -> DefIdMap<S
152
146
level : SymbolExportLevel :: C ,
153
147
kind : SymbolExportKind :: Data ,
154
148
used : false ,
155
- used_compiler : false ,
156
149
} ,
157
150
) ;
158
151
}
@@ -201,7 +194,6 @@ fn exported_symbols_provider_local(
201
194
level : info. level ,
202
195
kind : SymbolExportKind :: Text ,
203
196
used : info. used ,
204
- used_compiler : false ,
205
197
} ,
206
198
)
207
199
} )
@@ -218,7 +210,6 @@ fn exported_symbols_provider_local(
218
210
level : SymbolExportLevel :: C ,
219
211
kind : SymbolExportKind :: Text ,
220
212
used : false ,
221
- used_compiler : false ,
222
213
} ,
223
214
) ) ;
224
215
}
@@ -238,7 +229,6 @@ fn exported_symbols_provider_local(
238
229
level : SymbolExportLevel :: Rust ,
239
230
kind : SymbolExportKind :: Text ,
240
231
used : false ,
241
- used_compiler : false ,
242
232
} ,
243
233
) ) ;
244
234
}
@@ -251,7 +241,6 @@ fn exported_symbols_provider_local(
251
241
level : SymbolExportLevel :: Rust ,
252
242
kind : SymbolExportKind :: Data ,
253
243
used : false ,
254
- used_compiler : false ,
255
244
} ,
256
245
) )
257
246
}
@@ -271,7 +260,6 @@ fn exported_symbols_provider_local(
271
260
level : SymbolExportLevel :: C ,
272
261
kind : SymbolExportKind :: Data ,
273
262
used : false ,
274
- used_compiler : false ,
275
263
} ,
276
264
)
277
265
} ) ) ;
@@ -297,7 +285,6 @@ fn exported_symbols_provider_local(
297
285
level : SymbolExportLevel :: C ,
298
286
kind : SymbolExportKind :: Data ,
299
287
used : false ,
300
- used_compiler : false ,
301
288
} ,
302
289
)
303
290
} ) ) ;
@@ -315,7 +302,6 @@ fn exported_symbols_provider_local(
315
302
level : SymbolExportLevel :: C ,
316
303
kind : SymbolExportKind :: Data ,
317
304
used : true ,
318
- used_compiler : false ,
319
305
} ,
320
306
) ) ;
321
307
}
@@ -356,7 +342,6 @@ fn exported_symbols_provider_local(
356
342
level : SymbolExportLevel :: Rust ,
357
343
kind : SymbolExportKind :: Text ,
358
344
used : false ,
359
- used_compiler : false ,
360
345
} ,
361
346
) ) ;
362
347
}
@@ -373,7 +358,6 @@ fn exported_symbols_provider_local(
373
358
level : SymbolExportLevel :: Rust ,
374
359
kind : SymbolExportKind :: Text ,
375
360
used : false ,
376
- used_compiler : false ,
377
361
} ,
378
362
) ) ;
379
363
}
0 commit comments