Introduce MonoItemData.

It replaces `(Linkage, Visibility)`, making the code nicer. Plus the
next commit will add another field.
This commit is contained in:
Nicholas Nethercote 2023-07-14 16:32:10 +10:00
parent c4083faade
commit b52f9eb6ca
6 changed files with 39 additions and 27 deletions

View file

@ -86,8 +86,8 @@ pub fn compile_codegen_unit(tcx: TyCtxt<'_>, cgu_name: Symbol) -> (ModuleCodegen
{
let cx = CodegenCx::new(tcx, cgu, &llvm_module);
let mono_items = cx.codegen_unit.items_in_deterministic_order(cx.tcx);
for &(mono_item, (linkage, visibility)) in &mono_items {
mono_item.predefine::<Builder<'_, '_, '_>>(&cx, linkage, visibility);
for &(mono_item, data) in &mono_items {
mono_item.predefine::<Builder<'_, '_, '_>>(&cx, data.linkage, data.visibility);
}
// ... and now that we have everything pre-defined, fill out those definitions.