rustc: Remove a workaroudn in ThinLTO fixed upstream
This commit removes a hack in our ThinLTO passes which removes available externally functions manually. The [upstream bug][1] has long since been fixed, so we should be able to rely on LLVM natively for this now! [1]: https://bugs.llvm.org/show_bug.cgi?id=35736
This commit is contained in:
parent
12ed235adc
commit
829bc268a9
3 changed files with 0 additions and 29 deletions
|
|
@ -759,20 +759,6 @@ impl ThinModule {
|
|||
cgcx.save_temp_bitcode(&module, "thin-lto-after-pm");
|
||||
timeline.record("thin-done");
|
||||
|
||||
// FIXME: this is a hack around a bug in LLVM right now. Discovered in
|
||||
// #46910 it was found out that on 32-bit MSVC LLVM will hit a codegen
|
||||
// error if there's an available_externally function in the LLVM module.
|
||||
// Typically we don't actually use these functions but ThinLTO makes
|
||||
// heavy use of them when inlining across modules.
|
||||
//
|
||||
// Tracked upstream at https://bugs.llvm.org/show_bug.cgi?id=35736 this
|
||||
// function call (and its definition on the C++ side of things)
|
||||
// shouldn't be necessary eventually and we can safetly delete these few
|
||||
// lines.
|
||||
llvm::LLVMRustThinLTORemoveAvailableExternally(llmod);
|
||||
cgcx.save_temp_bitcode(&module, "thin-lto-after-rm-ae");
|
||||
timeline.record("no-ae");
|
||||
|
||||
Ok(module)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue