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

Upgrade to LLVM 13 #87570

Merged
merged 12 commits into from
Aug 21, 2021
Merged

Upgrade to LLVM 13 #87570

merged 12 commits into from
Aug 21, 2021

Commits on Aug 16, 2021

  1. Configuration menu
    Copy the full SHA
    2967036 View commit details
    Browse the repository at this point in the history
  2. Handle SrcMgr diagnostics

    This is how InlineAsm diagnostics with source information are
    reported now. Previously a separate InlineAsm diagnostic handler
    was used.
    nikic committed Aug 16, 2021
    Configuration menu
    Copy the full SHA
    621f514 View commit details
    Browse the repository at this point in the history
  3. Remove codegen/issue-83623-SIMD-PartialEq.rs

    This has regressed due to https://bugs.llvm.org/show_bug.cgi?id=51211.
    It's pretty likely that we'll have to eat this regression for this
    release.
    nikic committed Aug 16, 2021
    Configuration menu
    Copy the full SHA
    335f003 View commit details
    Browse the repository at this point in the history
  4. Update wasm data layout

    nikic committed Aug 16, 2021
    Configuration menu
    Copy the full SHA
    6eaf227 View commit details
    Browse the repository at this point in the history
  5. Update powerpc64 data layout

    nikic committed Aug 16, 2021
    Configuration menu
    Copy the full SHA
    b5cc03b View commit details
    Browse the repository at this point in the history
  6. Update coverage LLVM IR test

    This uses comdats since LLVM 13, causing various minor changes to the
    output.
    nikic committed Aug 16, 2021
    Configuration menu
    Copy the full SHA
    154c840 View commit details
    Browse the repository at this point in the history
  7. Use llvm.compiler.used insetad of llvm.used

    The #[used] attribute explicitly only requires symbols to be
    retained in object files, but allows the linker to drop them
    if dead. This corresponds to llvm.compiler.used semantics.
    
    The motivation to change this *now* is that https://reviews.llvm.org/D97448
    starts emitting #[used] symbols into unique sections with
    SHF_GNU_RETAIN flag. This triggers a bug in some version of gold,
    resulting in the ARGV_INIT_ARRAY symbol part of the .init_array
    section to be incorrectly placed.
    nikic committed Aug 16, 2021
    Configuration menu
    Copy the full SHA
    7c01564 View commit details
    Browse the repository at this point in the history
  8. Set LLVM_INCLUDE_TESTS=OFF when building LLVM

    When LLVM_INCLUDE_TESTS is enabled (by default), LLVM requires
    Python 3.6 for the lit test runner, otherwise only Python 3.0 is
    required.
    
    As we have many docker images using Ubuntu 16.04, which only has
    Python 3.5, this avoids the need to install a newer Python version
    for them.
    nikic committed Aug 16, 2021
    Configuration menu
    Copy the full SHA
    d20e798 View commit details
    Browse the repository at this point in the history
  9. Dispose LLVM context after TargetMachine

    The TargetMachine may be referencing data in the context. In
    particular, at least the GlobalISel instruction selector stored
    in the TM may reference a TrackedMDNode DebugLoc that destruction
    of the TargetMachine will try to untrack.
    nikic committed Aug 16, 2021
    Configuration menu
    Copy the full SHA
    6a454ed View commit details
    Browse the repository at this point in the history
  10. Relax internal/private checks in coverage IR test

    Since https://reviews.llvm.org/D103355 this will usually also use
    internal rather than private on Windows as well. We don't
    particularly care about this implementation detail, just accept
    either.
    nikic committed Aug 16, 2021
    Configuration menu
    Copy the full SHA
    3cfb730 View commit details
    Browse the repository at this point in the history
  11. Update to LLVM 13

    nikic committed Aug 16, 2021
    Configuration menu
    Copy the full SHA
    f3ae726 View commit details
    Browse the repository at this point in the history

Commits on Aug 21, 2021

  1. Always use llvm.used for coverage symbols

    This follows what clang does in CoverageMappingGen. Using just
    llvm.compiler.used is insufficient at least for MSVC targets.
    nikic committed Aug 21, 2021
    Configuration menu
    Copy the full SHA
    306259c View commit details
    Browse the repository at this point in the history