diff --git a/src/llvm b/src/llvm index fd7dd99edf371..1abfd0e562cc8 160000 --- a/src/llvm +++ b/src/llvm @@ -1 +1 @@ -Subproject commit fd7dd99edf371ac502ae4e70288c027f6692ace0 +Subproject commit 1abfd0e562cc8f7a9577d97ee92246699093b954 diff --git a/src/rustllvm/PassWrapper.cpp b/src/rustllvm/PassWrapper.cpp index 8593f543619a5..3b400b879ebec 100644 --- a/src/rustllvm/PassWrapper.cpp +++ b/src/rustllvm/PassWrapper.cpp @@ -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;