From: Alina Sbirlea Date: Tue, 30 Apr 2019 21:29:23 +0000 (+0000) Subject: Set LoopInterleaved in the PassManagerBuilder. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=bccbbe90172a6a2f7405fdc1ee7db60f52752a26;p=clang Set LoopInterleaved in the PassManagerBuilder. Summary: Corresponds to D61030. Subscribers: jlebar, cfe-commits, llvm-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D61142 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@359616 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/CodeGen/BackendUtil.cpp b/lib/CodeGen/BackendUtil.cpp index 67a6bb0904..a43ebe9a2e 100644 --- a/lib/CodeGen/BackendUtil.cpp +++ b/lib/CodeGen/BackendUtil.cpp @@ -560,6 +560,9 @@ void EmitAssemblyHelper::CreatePasses(legacy::PassManager &MPM, PMBuilder.LoopVectorize = CodeGenOpts.VectorizeLoop; PMBuilder.DisableUnrollLoops = !CodeGenOpts.UnrollLoops; + // Loop interleaving in the loop vectorizer has historically been set to be + // enabled when loop unrolling is enabled. + PMBuilder.LoopsInterleaved = CodeGenOpts.UnrollLoops; PMBuilder.MergeFunctions = CodeGenOpts.MergeFunctions; PMBuilder.PrepareForThinLTO = CodeGenOpts.PrepareForThinLTO; PMBuilder.PrepareForLTO = CodeGenOpts.PrepareForLTO;