Auto merge of #49479 - nox:merge-funcs, r=nagisa
Reenable the MergeFunctions pass The crash that happened in #23566 doesn't happen anymore with the LLVM mergefunc pass enabled and it hugely reduces code size (for example it shaves off 10% of the final Servo executable). This patch reenables it. For those wondering, [here are the docs from LLVM about this pass](http://llvm.org/docs/MergeFunctions.html).
This commit is contained in:
commit
e1151c9819
2
src/llvm
2
src/llvm
@ -1 +1 @@
|
||||
Subproject commit fd7dd99edf371ac502ae4e70288c027f6692ace0
|
||||
Subproject commit 1abfd0e562cc8f7a9577d97ee92246699093b954
|
@ -430,8 +430,9 @@ extern "C" void LLVMRustConfigurePassManagerBuilder(
|
||||
LLVMPassManagerBuilderRef PMBR, LLVMRustCodeGenOptLevel OptLevel,
|
||||
bool MergeFunctions, bool SLPVectorize, bool LoopVectorize, bool PrepareForThinLTO,
|
||||
const char* PGOGenPath, const char* PGOUsePath) {
|
||||
// Ignore mergefunc for now as enabling it causes crashes.
|
||||
// unwrap(PMBR)->MergeFunctions = MergeFunctions;
|
||||
#if LLVM_RUSTLLVM
|
||||
unwrap(PMBR)->MergeFunctions = MergeFunctions;
|
||||
#endif
|
||||
unwrap(PMBR)->SLPVectorize = SLPVectorize;
|
||||
unwrap(PMBR)->OptLevel = fromRust(OptLevel);
|
||||
unwrap(PMBR)->LoopVectorize = LoopVectorize;
|
||||
|
Loading…
x
Reference in New Issue
Block a user