Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable -mergefunc-use-aliases #56358

Merged
merged 2 commits into from
Dec 3, 2018
Merged

Commits on Nov 29, 2018

  1. Enable -mergefunc-use-aliases

    If the Rust LLVM fork is used, enable the -mergefunc-use-aliases
    flag, which will create aliases for merged functions, rather than
    inserting a call from one to the other.
    
    A number of codegen tests needed to be adjusted, because functions
    that previously fell below the thunk limit are now being merged.
    Merging is prevented either using -C no-prepopulate-passes, or by
    making the functions non-identical.
    
    I expect that this is going to break something, somewhere, because
    it isn't able to deal with aliases properly, but we won't find out
    until we try :)
    
    This fixes rust-lang#52651.
    nikic committed Nov 29, 2018
    Configuration menu
    Copy the full SHA
    cbf7489 View commit details
    Browse the repository at this point in the history

Commits on Dec 2, 2018

  1. Run name-anon-globals after all other passes

    name-anon-globals should always be run at the very end of the pass
    pipeline, as optimization passes (in particular mergefunc) may
    introduce new anonymous globals.
    
    I believe we did not run into this earlier because it requires the
    rather specific combination of a) mergefunc merging two weak functions
    b) compilation not using thinlto.
    nikic committed Dec 2, 2018
    Configuration menu
    Copy the full SHA
    850d2f1 View commit details
    Browse the repository at this point in the history