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

LLVM upgrade #34743

Merged
merged 33 commits into from
Aug 1, 2016
Merged

LLVM upgrade #34743

merged 33 commits into from
Aug 1, 2016

Commits on Jul 29, 2016

  1. Configuration menu
    Copy the full SHA
    d22a9a2 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    7420874 View commit details
    Browse the repository at this point in the history
  3. [LLVM-3.9] Setup the compile unit information immediately

    Since LLVM reversed the order of the debug info graphs, we need to have
    a compile unit that exists *before* any functions (`DISubprogram`s) are
    created. This allows the LLVM debug info builder to automatically link
    the functions to the compile unit.
    badboy committed Jul 29, 2016
    Configuration menu
    Copy the full SHA
    fba1f8f View commit details
    Browse the repository at this point in the history
  4. [LLVM-3.9] Specify that we are using the legacy interface

    LLVM pass manager infrastructure is currently getting rewritten to be
    more flexible, but the rewrite isn't complete yet.
    badboy committed Jul 29, 2016
    Configuration menu
    Copy the full SHA
    6ed5db8 View commit details
    Browse the repository at this point in the history
  5. [LLVM-3.9] Preserve certain functions when internalizing

    This makes sure to still use the old way for older LLVM versions.
    badboy committed Jul 29, 2016
    Configuration menu
    Copy the full SHA
    5b44e10 View commit details
    Browse the repository at this point in the history
  6. [LLVM-3.9] Replace NewArchiveIterator with NewArchiveMember

    The new NewArchiveMember is simpler and requires less context,
    according to upstream.
    
    This was changed in http://reviews.llvm.org/D21721
    badboy committed Jul 29, 2016
    Configuration menu
    Copy the full SHA
    8433f9b View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    dbb4178 View commit details
    Browse the repository at this point in the history
  8. [LLVM-3.9] Configure PIE at the module level instead of compilation u…

    …nit level
    
    This was deleted here[1] which appears to be replaced by this[2]
    which is a new setPIELevel function on the LLVM module itself.
    
    [1]: http://reviews.llvm.org/D19753
    [2]: http://reviews.llvm.org/D19671
    badboy committed Jul 29, 2016
    Configuration menu
    Copy the full SHA
    9e706f9 View commit details
    Browse the repository at this point in the history
  9. Use relative path to type

    badboy committed Jul 29, 2016
    Configuration menu
    Copy the full SHA
    12ccff9 View commit details
    Browse the repository at this point in the history
  10. [LLVM-3.9] Increase PIELevel

    Previously, we had a PositionIndependentExecutable, now we simply
    choose the highest level. This should be equivalent.
    
    :cake:
    badboy committed Jul 29, 2016
    Configuration menu
    Copy the full SHA
    deafab1 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    1bc0447 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    1798c1a View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    2bcb2b8 View commit details
    Browse the repository at this point in the history
  14. Upgrade compiler-rt

    badboy committed Jul 29, 2016
    Configuration menu
    Copy the full SHA
    d0e5aa4 View commit details
    Browse the repository at this point in the history
  15. [LLVM-3.9] Use old way of getting next child

    This was changed back in
    rust-lang/llvm@aacf2fbf
    badboy committed Jul 29, 2016
    Configuration menu
    Copy the full SHA
    f439aee View commit details
    Browse the repository at this point in the history
  16. Flip LLVM verion check clause

    badboy committed Jul 29, 2016
    Configuration menu
    Copy the full SHA
    09c3f33 View commit details
    Browse the repository at this point in the history
  17. Update compiler-rt

    badboy committed Jul 29, 2016
    Configuration menu
    Copy the full SHA
    ad262d5 View commit details
    Browse the repository at this point in the history
  18. Upgrade llvm

    badboy committed Jul 29, 2016
    Configuration menu
    Copy the full SHA
    2c92756 View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    dc7076b View commit details
    Browse the repository at this point in the history
  20. Configuration menu
    Copy the full SHA
    079db4f View commit details
    Browse the repository at this point in the history
  21. Use C type when passing value to LLVM pass

    Previously the C type LLVMRelocMode (available as RelocMode in Rust)
    was passed as is to the function.
    However createTargetMachine expects a Reloc::Model, which is an enum
    just one value short.
    Additionally, the function was marked as requiring Reloc::Model in the
    C code, but RelocMode on the Rust-side.
    
    We now use the correct C type LLVMRelocMode and convert it to an
    Optional<Reloc::Model> as expected by the createTargetMachine call the
    same the original LLVMCreateTargetMachine function does.
    See
    https://github.com/llvm-mirror/llvm/blob/c9b262bfbd5b9fb6f10749dba1465569f39bd625/lib/Target/TargetMachineC.cpp#L104-L121
    
    This was found by @eddyb.
    badboy committed Jul 29, 2016
    Configuration menu
    Copy the full SHA
    2c16e24 View commit details
    Browse the repository at this point in the history
  22. Force check of error

    The passed error needs to be checked.
    Otherwise it will force an abort when it is deconstructed, but a
    success value.
    badboy committed Jul 29, 2016
    Configuration menu
    Copy the full SHA
    a36595e View commit details
    Browse the repository at this point in the history
  23. Configuration menu
    Copy the full SHA
    d851428 View commit details
    Browse the repository at this point in the history
  24. rustc: Fix data-layout for AArch64 targets

    Also relax the assertion whenever we have a custom LLVM root as LLVM may
    disagree about exact specifics.
    alexcrichton authored and badboy committed Jul 29, 2016
    Configuration menu
    Copy the full SHA
    e8f7666 View commit details
    Browse the repository at this point in the history
  25. test: Remove the execution-engine test

    We don't actually officially support this at all, and the execution engine
    support in LLVM we've had to gut as it's not compiling on MinGW, so just delete
    this test for now.
    alexcrichton authored and badboy committed Jul 29, 2016
    Configuration menu
    Copy the full SHA
    5fa5578 View commit details
    Browse the repository at this point in the history
  26. rustc: Update LLVM to the LLVM 3.9 release branch

    The 3.9 release of LLVM isn't out yet, but this moves us onto that branch to
    start tracking it.
    alexcrichton authored and badboy committed Jul 29, 2016
    Configuration menu
    Copy the full SHA
    75bcda4 View commit details
    Browse the repository at this point in the history
  27. Update parsing llvm-config output

    Now it prints full paths on MSVC, but we're only interested in path names
    alexcrichton authored and badboy committed Jul 29, 2016
    Configuration menu
    Copy the full SHA
    0509be1 View commit details
    Browse the repository at this point in the history
  28. Configuration menu
    Copy the full SHA
    2492d24 View commit details
    Browse the repository at this point in the history
  29. Configuration menu
    Copy the full SHA
    330dd39 View commit details
    Browse the repository at this point in the history
  30. [LLVM-3.9] Use llvm-3.9 branch

    badboy committed Jul 29, 2016
    Configuration menu
    Copy the full SHA
    f38762a View commit details
    Browse the repository at this point in the history
  31. test: Fix a test on MSVC

    Apparently MSVC now has namespaces in backtraces!
    alexcrichton authored and badboy committed Jul 29, 2016
    Configuration menu
    Copy the full SHA
    5243072 View commit details
    Browse the repository at this point in the history
  32. Update LLVM again

    badboy committed Jul 29, 2016
    Configuration menu
    Copy the full SHA
    7c0cd30 View commit details
    Browse the repository at this point in the history

Commits on Aug 1, 2016

  1. Upgrade LLVM once more to get a bugfix

    @tmiasko did some digging and discovered that
    https://reviews.llvm.org/D22858 may be relevant.
    badboy committed Aug 1, 2016
    Configuration menu
    Copy the full SHA
    5d1d247 View commit details
    Browse the repository at this point in the history