Auto merge of #55835 - alexcrichton:llvm-upgrade, r=nikomatsakis
Upgrade LLVM to trunk, still version 8 This commit upgrades the LLVM/LLD/compiler-rt submodules used to the current trunk versions in upstream. Some activity has happened on the wasm SIMD side of things as well as LLD which we'd like to pick up!
This commit is contained in:
commit
6bfb46e4ac
@ -30,7 +30,7 @@ matrix:
|
||||
|
||||
- env: >
|
||||
RUST_CHECK_TARGET=dist
|
||||
RUST_CONFIGURE_ARGS="--enable-extended --enable-profiler --enable-lldb --set rust.jemalloc"
|
||||
RUST_CONFIGURE_ARGS="--enable-extended --enable-profiler --set rust.jemalloc"
|
||||
SRC=.
|
||||
DEPLOY_ALT=1
|
||||
RUSTC_RETRY_LINKER_ON_SEGFAULT=1
|
||||
@ -87,7 +87,7 @@ matrix:
|
||||
# OSX 10.7 and `xcode7` is the latest Xcode able to compile LLVM for 10.7.
|
||||
- env: >
|
||||
RUST_CHECK_TARGET=dist
|
||||
RUST_CONFIGURE_ARGS="--build=i686-apple-darwin --enable-full-tools --enable-profiler --enable-lldb --set rust.jemalloc"
|
||||
RUST_CONFIGURE_ARGS="--build=i686-apple-darwin --enable-full-tools --enable-profiler --set rust.jemalloc"
|
||||
SRC=.
|
||||
DEPLOY=1
|
||||
RUSTC_RETRY_LINKER_ON_SEGFAULT=1
|
||||
@ -102,7 +102,7 @@ matrix:
|
||||
|
||||
- env: >
|
||||
RUST_CHECK_TARGET=dist
|
||||
RUST_CONFIGURE_ARGS="--target=aarch64-apple-ios,armv7-apple-ios,armv7s-apple-ios,i386-apple-ios,x86_64-apple-ios --enable-full-tools --enable-sanitizers --enable-profiler --enable-lldb --set rust.jemalloc"
|
||||
RUST_CONFIGURE_ARGS="--target=aarch64-apple-ios,armv7-apple-ios,armv7s-apple-ios,i386-apple-ios,x86_64-apple-ios --enable-full-tools --enable-sanitizers --enable-profiler --set rust.jemalloc"
|
||||
SRC=.
|
||||
DEPLOY=1
|
||||
RUSTC_RETRY_LINKER_ON_SEGFAULT=1
|
||||
|
@ -1 +1 @@
|
||||
Subproject commit 939cbca6e9d829265d6cf006d3532142a4061cd3
|
||||
Subproject commit fe74674f6e4be76d47b66f67d529ebf4186f4eb1
|
@ -1037,6 +1037,17 @@ fn finalize(&mut self) -> Command {
|
||||
// indicative of bugs, let's prevent them.
|
||||
self.cmd.arg("--fatal-warnings");
|
||||
|
||||
// The symbol visibility story is a bit in flux right now with LLD.
|
||||
// It's... not entirely clear to me what's going on, but this looks to
|
||||
// make everything work when `export_symbols` isn't otherwise called for
|
||||
// things like executables.
|
||||
self.cmd.arg("--export-dynamic");
|
||||
|
||||
// LLD only implements C++-like demangling, which doesn't match our own
|
||||
// mangling scheme. Tell LLD to not demangle anything and leave it up to
|
||||
// us to demangle these symbols later.
|
||||
self.cmd.arg("--no-demangle");
|
||||
|
||||
::std::mem::replace(&mut self.cmd, Command::new(""))
|
||||
}
|
||||
|
||||
|
2
src/llvm
2
src/llvm
@ -1 +1 @@
|
||||
Subproject commit 7051ead40a5f825878b59bf08d4e768be9e99a4a
|
||||
Subproject commit 21a0c9ebc285d794a298e97717abad8d6135fa87
|
@ -922,7 +922,11 @@ LLVMRustCreateThinLTOData(LLVMRustThinLTOModule *modules,
|
||||
GlobalValue::LinkageTypes NewLinkage) {
|
||||
ResolvedODR[ModuleIdentifier][GUID] = NewLinkage;
|
||||
};
|
||||
#if LLVM_VERSION_GE(8, 0)
|
||||
thinLTOResolvePrevailingInIndex(Ret->Index, isPrevailing, recordNewLinkage);
|
||||
#else
|
||||
thinLTOResolveWeakForLinkerInIndex(Ret->Index, isPrevailing, recordNewLinkage);
|
||||
#endif
|
||||
|
||||
// Here we calculate an `ExportedGUIDs` set for use in the `isExported`
|
||||
// callback below. This callback below will dictate the linkage for all
|
||||
@ -977,7 +981,11 @@ extern "C" bool
|
||||
LLVMRustPrepareThinLTOResolveWeak(const LLVMRustThinLTOData *Data, LLVMModuleRef M) {
|
||||
Module &Mod = *unwrap(M);
|
||||
const auto &DefinedGlobals = Data->ModuleToDefinedGVSummaries.lookup(Mod.getModuleIdentifier());
|
||||
#if LLVM_VERSION_GE(8, 0)
|
||||
thinLTOResolvePrevailingInModule(Mod, DefinedGlobals);
|
||||
#else
|
||||
thinLTOResolveWeakForLinkerModule(Mod, DefinedGlobals);
|
||||
#endif
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -708,7 +708,11 @@ extern "C" LLVMMetadataRef LLVMRustDIBuilderCreateStaticVariable(
|
||||
llvm::DIGlobalVariableExpression *VarExpr = Builder->createGlobalVariableExpression(
|
||||
unwrapDI<DIDescriptor>(Context), Name, LinkageName,
|
||||
unwrapDI<DIFile>(File), LineNo, unwrapDI<DIType>(Ty), IsLocalToUnit,
|
||||
InitExpr, unwrapDIPtr<MDNode>(Decl), AlignInBits);
|
||||
InitExpr, unwrapDIPtr<MDNode>(Decl),
|
||||
#if LLVM_VERSION_GE(8, 0)
|
||||
/* templateParams */ nullptr,
|
||||
#endif
|
||||
AlignInBits);
|
||||
|
||||
InitVal->setMetadata("dbg", VarExpr);
|
||||
|
||||
|
@ -1 +1 @@
|
||||
Subproject commit 2a9b88b8b419d094fb2185c0ca31c28d31bdca00
|
||||
Subproject commit 1928c5eeb613a4c6d232fc47ae91914bbfd92a79
|
Loading…
Reference in New Issue
Block a user