From 161a4bf6ff3d0b10cd7e5b0984e908e4927d0890 Mon Sep 17 00:00:00 2001 From: Manuel Drehwald Date: Fri, 21 Feb 2025 21:49:46 -0500 Subject: update enzyme submodule and users --- compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'compiler/rustc_llvm/llvm-wrapper') diff --git a/compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp b/compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp index 7eb11f9e608..9ce4abdb432 100644 --- a/compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp +++ b/compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp @@ -692,9 +692,12 @@ struct LLVMRustSanitizerOptions { bool SanitizeKernelAddressRecover; }; -// This symbol won't be available or used when Enzyme is not enabled +// This symbol won't be available or used when Enzyme is not enabled. +// Always set AugmentPassBuilder to true, since it registers optimizations which +// will improve the performance for Enzyme. #ifdef ENZYME -extern "C" void registerEnzyme(llvm::PassBuilder &PB); +extern "C" void registerEnzymeAndPassPipeline(llvm::PassBuilder &PB, + /* augmentPassBuilder */ bool); #endif extern "C" LLVMRustResult LLVMRustOptimize( @@ -1023,7 +1026,7 @@ extern "C" LLVMRustResult LLVMRustOptimize( // now load "-enzyme" pass: #ifdef ENZYME if (RunEnzyme) { - registerEnzyme(PB); + registerEnzymeAndPassPipeline(PB, true); if (auto Err = PB.parsePassPipeline(MPM, "enzyme")) { std::string ErrMsg = toString(std::move(Err)); LLVMRustSetLastError(ErrMsg.c_str()); -- cgit 1.4.1-3-g733a5