rust/compiler/rustc_codegen_llvm/src
bors db002a06ae Auto merge of #87570 - nikic:llvm-13, r=nagisa
Upgrade to LLVM 13

Work in progress update to LLVM 13. Main changes:

 * InlineAsm diagnostics reported using SrcMgr diagnostic kind are now handled. Previously these used a separate diag handler.
 * Codegen tests are updated for additional attributes.
 * Some data layouts have changed.
 * Switch `#[used]` attribute from `llvm.used` to `llvm.compiler.used` to avoid SHF_GNU_RETAIN flag introduced in https://reviews.llvm.org/D97448, which appears to trigger a bug in older versions of gold.
 * Set `LLVM_INCLUDE_TESTS=OFF` to avoid Python 3.6 requirement.

Upstream issues:

 * ~~https://bugs.llvm.org/show_bug.cgi?id=51210 (InlineAsm diagnostic reporting for module asm)~~ Fixed by 1558bb80c0.
 * ~~https://bugs.llvm.org/show_bug.cgi?id=51476 (Miscompile on AArch64 due to incorrect comparison elimination)~~ Fixed by 81b106584f.
 * https://bugs.llvm.org/show_bug.cgi?id=51207 (Can't set custom section flags anymore). Problematic change reverted in our fork, https://reviews.llvm.org/D107216 posted for upstream revert.
 * https://bugs.llvm.org/show_bug.cgi?id=51211 (Regression in codegen for #83623). This is an optimization regression that we may likely have to eat for this release. The fix for #83623 was based on an incorrect premise, and this needs to be properly addressed in the MergeICmps pass.

The [compile-time impact](https://perf.rust-lang.org/compare.html?start=ef9549b6c0efb7525c9b012148689c8d070f9bc0&end=0983094463497eec22d550dad25576a894687002) is mixed, but quite positive as LLVM upgrades go.

The LLVM 13 final release is scheduled for Sep 21st. The current nightly is scheduled for stable release on Oct 21st.

r? `@ghost`
2021-08-21 09:25:28 +00:00
..
back Handle SrcMgr diagnostics 2021-08-16 18:28:17 +02:00
coverageinfo Auto merge of #85178 - cjgillot:local-crate, r=oli-obk 2021-05-17 01:42:03 +00:00
debuginfo Include (potentially remapped) working dir in crate hash 2021-08-15 15:17:37 -05:00
llvm Handle SrcMgr diagnostics 2021-08-16 18:28:17 +02:00
abi.rs Remove the decl arg from FnAbi::llvm_type 2021-08-05 10:58:55 -07:00
allocator.rs Prepare call/invoke for opaque pointers 2021-08-05 10:58:55 -07:00
asm.rs Auto merge of #87581 - Amanieu:asm_clobber_abi, r=nagisa 2021-08-14 22:29:27 +00:00
attributes.rs Add support for leaf fn frame pointer elimination 2021-06-30 19:45:17 +03:00
base.rs Always use llvm.used for coverage symbols 2021-08-21 10:08:05 +02:00
builder.rs Prepare call/invoke for opaque pointers 2021-08-05 10:58:55 -07:00
callee.rs Fix static relocation model for PowerPC64 2021-05-28 03:48:39 +02:00
common.rs Replace LLVMConstInBoundsGEP with LLVMConstInBoundsGEP2* 2021-08-04 15:51:30 +02:00
consts.rs Always use llvm.used for coverage symbols 2021-08-21 10:08:05 +02:00
context.rs Always use llvm.used for coverage symbols 2021-08-21 10:08:05 +02:00
declare.rs Remove the decl arg from FnAbi::llvm_type 2021-08-05 10:58:55 -07:00
intrinsic.rs Implement black_box using intrinsic 2021-08-12 16:16:57 +01:00
lib.rs Dispose LLVM context after TargetMachine 2021-08-16 18:28:18 +02:00
llvm_util.rs clippy::single_char_pattern 2021-07-25 12:25:26 +02:00
mono_item.rs Fix static relocation model for PowerPC64 2021-05-28 03:48:39 +02:00
type_.rs Auto merge of #87254 - rusticstuff:rustc_codegen_llvm_dont_emit_zero_sized_padding, r=eddyb 2021-08-11 01:36:23 +00:00
type_of.rs Test: Use smallvec directly instead of boxed. 2021-08-09 15:42:37 +00:00
va_arg.rs Replace hard-coded field indexes with lookup on aarch64 non-macos. 2021-08-05 22:40:32 +00:00
value.rs mv compiler to compiler/ 2020-08-30 18:45:07 +03:00