diff options
| -rw-r--r-- | src/librustc/back/link.rs | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/librustc/back/link.rs b/src/librustc/back/link.rs index 7c2b0ba6168..9ce0e3a3357 100644 --- a/src/librustc/back/link.rs +++ b/src/librustc/back/link.rs @@ -536,6 +536,13 @@ pub mod write { llvm::LLVMPassManagerBuilderPopulateFunctionPassManager(builder, fpm); llvm::LLVMPassManagerBuilderPopulateModulePassManager(builder, mpm); llvm::LLVMPassManagerBuilderDispose(builder); + + match opt { + llvm::CodeGenLevelDefault | llvm::CodeGenLevelAggressive => { + "mergefunc".with_c_str(|s| llvm::LLVMRustAddPass(mpm, s)); + } + _ => {} + }; } } |
