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

Do not reuse post LTO products when exports change #71131

Commits on Apr 14, 2020

  1. If an LLVM module's exports change, cannot reuse its post-LTO object …

    …file in
    
    incremental compilation.
    
    This is symmetric to PR rust-lang#67020, which handled the case where the LLVM module's
    *imports* changed. This commit builds upon the infrastructure added there; the
    export map is just the inverse of the import map, so we can build the export map
    at the same time that we load the serialized import map.
    
    Fix rust-lang#69798
    pnkfelix committed Apr 14, 2020
    Configuration menu
    Copy the full SHA
    e542f4f View commit details
    Browse the repository at this point in the history
  2. Tests.

    Namely, a regression test for issue rust-lang#69798 (export added), and the inverse of
    that test (export removd).
    pnkfelix committed Apr 14, 2020
    Configuration menu
    Copy the full SHA
    12207f6 View commit details
    Browse the repository at this point in the history

Commits on Apr 15, 2020

  1. Incorporated review feedback:

    Renamed the struct to make it a little clearer that it doesn't just hold one
    imports map. (I couldn't bring myself to write it as `ThinLTOImportsExports`
    though, mainly since the exports map is literally derived from the imports map
    data.) Added some doc to the struct too.
    
    Revised comments to add link to the newer issue that discusses why the exports
    are relevant.
    
    Renamed a few of the methods so that the two character difference is more
    apparent (because 1. the method name is shorter and, perhaps more importantly,
    the changed characters now lie at the beginning of the method name.)
    pnkfelix committed Apr 15, 2020
    Configuration menu
    Copy the full SHA
    d05ae3a View commit details
    Browse the repository at this point in the history