Skip to content

change internalize_symbols to work per-CGU #41707

Closed
@nikomatsakis

Description

@nikomatsakis

Right now internalize_symbols() walks over all of the generated LLVM IR to decide what is internal. This only happens in non-incremental mode. However, it is a blocker to moving to a pipelined setup, because it requires all of the modules to be in a big array. Ideally, we would refactor things so that we figure out during trans item collection what may be marked internal or not (though in incremental mode we may prefer to mark everything public so as to have more reuse). However, another alternative would be to hack something up so that we disable pipelining when not in incremental mode.

cc @michaelwoerister

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-incr-compArea: Incremental compilationT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions