@@ -54,8 +54,8 @@ fn reachable_non_generics_provider(tcx: TyCtxt<'_>, _: LocalCrate) -> DefIdMap<S
5454    // export level, however, as they're just implementation details. 
5555    // Down below we'll hardwire all of the symbols to the `Rust` export 
5656    // 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 ) ; 
5959
6060    let  mut  reachable_non_generics:  DefIdMap < _ >  = tcx
6161        . reachable_set ( ( ) ) 
@@ -105,21 +105,16 @@ fn reachable_non_generics_provider(tcx: TyCtxt<'_>, _: LocalCrate) -> DefIdMap<S
105105            } 
106106        } ) 
107107        . map ( |def_id| { 
108-             let  codegen_attrs = tcx. codegen_fn_attrs ( def_id. to_def_id ( ) ) ; 
109108            // We won't link right if this symbol is stripped during LTO. 
110109            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 ) ; 
116110            let  used = name == "rust_eh_personality" ; 
117111
118112            let  export_level = if  special_runtime_crate { 
119113                SymbolExportLevel :: Rust 
120114            }  else  { 
121115                symbol_export_level ( tcx,  def_id. to_def_id ( ) ) 
122116            } ; 
117+             let  codegen_attrs = tcx. codegen_fn_attrs ( def_id. to_def_id ( ) ) ; 
123118            debug ! ( 
124119                "EXPORTED SYMBOL (local): {} ({:?})" , 
125120                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
139134                used :  codegen_attrs. flags . contains ( CodegenFnAttrFlags :: USED ) 
140135                    || codegen_attrs. flags . contains ( CodegenFnAttrFlags :: USED_LINKER ) 
141136                    || used, 
142-                 used_compiler :  is_builtin_fn, 
143137            } ; 
144138            ( def_id. to_def_id ( ) ,  info) 
145139        } ) 
@@ -152,7 +146,6 @@ fn reachable_non_generics_provider(tcx: TyCtxt<'_>, _: LocalCrate) -> DefIdMap<S
152146                level :  SymbolExportLevel :: C , 
153147                kind :  SymbolExportKind :: Data , 
154148                used :  false , 
155-                 used_compiler :  false , 
156149            } , 
157150        ) ; 
158151    } 
@@ -201,7 +194,6 @@ fn exported_symbols_provider_local(
201194                        level :  info. level , 
202195                        kind :  SymbolExportKind :: Text , 
203196                        used :  info. used , 
204-                         used_compiler :  false , 
205197                    } , 
206198                ) 
207199            } ) 
@@ -218,7 +210,6 @@ fn exported_symbols_provider_local(
218210                level :  SymbolExportLevel :: C , 
219211                kind :  SymbolExportKind :: Text , 
220212                used :  false , 
221-                 used_compiler :  false , 
222213            } , 
223214        ) ) ; 
224215    } 
@@ -238,7 +229,6 @@ fn exported_symbols_provider_local(
238229                    level :  SymbolExportLevel :: Rust , 
239230                    kind :  SymbolExportKind :: Text , 
240231                    used :  false , 
241-                     used_compiler :  false , 
242232                } , 
243233            ) ) ; 
244234        } 
@@ -251,7 +241,6 @@ fn exported_symbols_provider_local(
251241                level :  SymbolExportLevel :: Rust , 
252242                kind :  SymbolExportKind :: Data , 
253243                used :  false , 
254-                 used_compiler :  false , 
255244            } , 
256245        ) ) 
257246    } 
@@ -271,7 +260,6 @@ fn exported_symbols_provider_local(
271260                    level :  SymbolExportLevel :: C , 
272261                    kind :  SymbolExportKind :: Data , 
273262                    used :  false , 
274-                     used_compiler :  false , 
275263                } , 
276264            ) 
277265        } ) ) ; 
@@ -297,7 +285,6 @@ fn exported_symbols_provider_local(
297285                    level :  SymbolExportLevel :: C , 
298286                    kind :  SymbolExportKind :: Data , 
299287                    used :  false , 
300-                     used_compiler :  false , 
301288                } , 
302289            ) 
303290        } ) ) ; 
@@ -315,7 +302,6 @@ fn exported_symbols_provider_local(
315302                level :  SymbolExportLevel :: C , 
316303                kind :  SymbolExportKind :: Data , 
317304                used :  true , 
318-                 used_compiler :  false , 
319305            } , 
320306        ) ) ; 
321307    } 
@@ -356,7 +342,6 @@ fn exported_symbols_provider_local(
356342                                level :  SymbolExportLevel :: Rust , 
357343                                kind :  SymbolExportKind :: Text , 
358344                                used :  false , 
359-                                 used_compiler :  false , 
360345                            } , 
361346                        ) ) ; 
362347                    } 
@@ -373,7 +358,6 @@ fn exported_symbols_provider_local(
373358                            level :  SymbolExportLevel :: Rust , 
374359                            kind :  SymbolExportKind :: Text , 
375360                            used :  false , 
376-                             used_compiler :  false , 
377361                        } , 
378362                    ) ) ; 
379363                } 
0 commit comments