Rollup merge of #83037 - kubo39:merge-functions-in-llvm-new-pass-manager, r=nikic

Support merge_functions option in NewPM since LLVM >= 12

now we can pass this flag since https://reviews.llvm.org/D93002 has been merged.
This commit is contained in:
Yuki Okushi 2021-03-13 09:44:45 +09:00 committed by GitHub
commit fafbc91e0e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -772,14 +772,18 @@ LLVMRustOptimizeWithNewPassManager(
TargetMachine *TM = unwrap(TMRef);
PassBuilder::OptimizationLevel OptLevel = fromRust(OptLevelRust);
// FIXME: MergeFunctions is not supported by NewPM yet.
(void) MergeFunctions;
PipelineTuningOptions PTO;
PTO.LoopUnrolling = UnrollLoops;
PTO.LoopInterleaving = UnrollLoops;
PTO.LoopVectorization = LoopVectorize;
PTO.SLPVectorization = SLPVectorize;
#if LLVM_VERSION_GE(12, 0)
PTO.MergeFunctions = MergeFunctions;
#else
// MergeFunctions is not supported by NewPM in older LLVM versions.
(void) MergeFunctions;
#endif
// FIXME: We may want to expose this as an option.
bool DebugPassManager = false;