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:
Hiroki Noda 2021-03-12 06:30:49 +09:00
parent 4a8b6f708c
commit 65ed23c282

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;