From 0ef882679f00d331467b23ffe89906505f5774bf Mon Sep 17 00:00:00 2001 From: Jarrett Revels Date: Tue, 31 Jul 2018 20:52:05 -0400 Subject: [PATCH] Revert "Revert "enable the SLP Vectorizer optimization pass by default"" (#28344) --- NEWS.md | 3 +++ src/jitlayers.cpp | 9 ++------- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/NEWS.md b/NEWS.md index ae8aae50a88d9..e0765654daaa7 100644 --- a/NEWS.md +++ b/NEWS.md @@ -776,6 +776,9 @@ Compiler/Runtime improvements * Inference now propagates constants inter-procedurally, and can compute various constants expressions at compile-time ([#24362]). + * The LLVM SLP Vectorizer optimization pass is now enabled at the default + optimization level. + Deprecated or removed --------------------- diff --git a/src/jitlayers.cpp b/src/jitlayers.cpp index 7be87aeadad32..4be2ef0c71d65 100644 --- a/src/jitlayers.cpp +++ b/src/jitlayers.cpp @@ -257,14 +257,9 @@ void addOptimizationPasses(legacy::PassManagerBase *PM, int opt_level, bool dump PM->add(createLoopIdiomPass()); PM->add(createLoopDeletionPass()); // Delete dead loops PM->add(createJumpThreadingPass()); // Thread jumps - - if (opt_level >= 3) { - PM->add(createSLPVectorizerPass()); // Vectorize straight-line code - } - + PM->add(createSLPVectorizerPass()); // Vectorize straight-line code PM->add(createAggressiveDCEPass()); // Delete dead instructions - if (opt_level >= 3) - PM->add(createInstructionCombiningPass()); // Clean up after SLP loop vectorizer + PM->add(createInstructionCombiningPass()); // Clean up after SLP loop vectorizer PM->add(createLoopVectorizePass()); // Vectorize loops PM->add(createInstructionCombiningPass()); // Clean up after loop vectorizer // LowerPTLS removes an indirect call. As a result, it is likely to trigger