https://github.com/mrkajetanp updated 
https://github.com/llvm/llvm-project/pull/132801

>From d9b2a86d01688b69b8f116f6b52caeec8cd6e756 Mon Sep 17 00:00:00 2001
From: Kajetan Puchalski <kajetan.puchal...@arm.com>
Date: Mon, 24 Mar 2025 17:28:03 +0000
Subject: [PATCH 1/5] [flang] Add -f[no-]slp-vectorize flags

Add -f[no-]slp-vectorize to the flang driver.
Add corresponding -fvectorize-slp to the flang frontend.

Signed-off-by: Kajetan Puchalski <kajetan.puchal...@arm.com>
---
 clang/include/clang/Driver/Options.td           |  9 ++++++---
 clang/lib/Driver/ToolChains/Flang.cpp           |  8 ++++++++
 flang/include/flang/Frontend/CodeGenOptions.def |  1 +
 flang/lib/Frontend/CompilerInvocation.cpp       |  3 +++
 flang/lib/Frontend/FrontendActions.cpp          |  1 +
 flang/test/Driver/slp-vectorize.f90             | 10 ++++++++++
 6 files changed, 29 insertions(+), 3 deletions(-)
 create mode 100644 flang/test/Driver/slp-vectorize.f90

diff --git a/clang/include/clang/Driver/Options.td 
b/clang/include/clang/Driver/Options.td
index 59a57c83c6b89..a2cdf9f26fcdf 100644
--- a/clang/include/clang/Driver/Options.td
+++ b/clang/include/clang/Driver/Options.td
@@ -4032,11 +4032,14 @@ def : Flag<["-"], "ftree-vectorize">, Alias<fvectorize>;
 def : Flag<["-"], "fno-tree-vectorize">, Alias<fno_vectorize>;
 }
 
+let Visibility = [ClangOption, FlangOption] in {
 def fslp_vectorize : Flag<["-"], "fslp-vectorize">, Group<f_Group>,
   HelpText<"Enable the superword-level parallelism vectorization passes">;
 def fno_slp_vectorize : Flag<["-"], "fno-slp-vectorize">, Group<f_Group>;
 def : Flag<["-"], "ftree-slp-vectorize">, Alias<fslp_vectorize>;
 def : Flag<["-"], "fno-tree-slp-vectorize">, Alias<fno_slp_vectorize>;
+}
+
 def Wlarge_by_value_copy_def : Flag<["-"], "Wlarge-by-value-copy">,
   HelpText<"Warn if a function definition returns or accepts an object larger "
            "in bytes than a given value">, Flags<[HelpHidden]>;
@@ -7384,6 +7387,9 @@ def mlink_bitcode_file
 def vectorize_loops : Flag<["-"], "vectorize-loops">,
   HelpText<"Run the Loop vectorization passes">,
   MarshallingInfoFlag<CodeGenOpts<"VectorizeLoop">>;
+def vectorize_slp : Flag<["-"], "vectorize-slp">,
+  HelpText<"Run the SLP vectorization passes">,
+  MarshallingInfoFlag<CodeGenOpts<"VectorizeSLP">>;
 } // let Visibility = [CC1Option, FC1Option]
 
 let Visibility = [CC1Option] in {
@@ -7499,9 +7505,6 @@ defm link_builtin_bitcode_postopt: 
BoolMOption<"link-builtin-bitcode-postopt",
   PosFlag<SetTrue, [], [ClangOption], "Link builtin bitcodes after the "
   "optimization pipeline">,
   NegFlag<SetFalse, [], [ClangOption]>>;
-def vectorize_slp : Flag<["-"], "vectorize-slp">,
-  HelpText<"Run the SLP vectorization passes">,
-  MarshallingInfoFlag<CodeGenOpts<"VectorizeSLP">>;
 def linker_option : Joined<["--"], "linker-option=">,
   HelpText<"Add linker option">,
   MarshallingInfoStringVector<CodeGenOpts<"LinkerOptions">>;
diff --git a/clang/lib/Driver/ToolChains/Flang.cpp 
b/clang/lib/Driver/ToolChains/Flang.cpp
index 5dbc5cbe77d0a..bb89432d3e58c 100644
--- a/clang/lib/Driver/ToolChains/Flang.cpp
+++ b/clang/lib/Driver/ToolChains/Flang.cpp
@@ -161,6 +161,14 @@ void Flang::addCodegenOptions(const ArgList &Args,
                    options::OPT_fno_vectorize, enableVec))
     CmdArgs.push_back("-vectorize-loops");
 
+  // -fslp-vectorize is enabled based on the optimization level selected.
+  bool EnableSLPVec = shouldEnableVectorizerAtOLevel(Args, true);
+  OptSpecifier SLPVectAliasOption =
+      EnableSLPVec ? options::OPT_O_Group : options::OPT_fslp_vectorize;
+  if (Args.hasFlag(options::OPT_fslp_vectorize, SLPVectAliasOption,
+                   options::OPT_fno_slp_vectorize, EnableSLPVec))
+    CmdArgs.push_back("-vectorize-slp");
+
   if (shouldLoopVersion(Args))
     CmdArgs.push_back("-fversion-loops-for-stride");
 
diff --git a/flang/include/flang/Frontend/CodeGenOptions.def 
b/flang/include/flang/Frontend/CodeGenOptions.def
index 44cb5a2cdd497..5d6af4271d4f6 100644
--- a/flang/include/flang/Frontend/CodeGenOptions.def
+++ b/flang/include/flang/Frontend/CodeGenOptions.def
@@ -32,6 +32,7 @@ CODEGENOPT(PrepareForThinLTO , 1, 0) ///< Set when -flto=thin 
is enabled on the
                                      ///< compile step.
 CODEGENOPT(StackArrays, 1, 0) ///< -fstack-arrays (enable the stack-arrays 
pass)
 CODEGENOPT(VectorizeLoop, 1, 0) ///< Enable loop vectorization.
+CODEGENOPT(VectorizeSLP, 1, 0) ///< Enable SLP vectorization.
 CODEGENOPT(LoopVersioning, 1, 0) ///< Enable loop versioning.
 CODEGENOPT(UnrollLoops, 1, 0) ///< Enable loop unrolling
 CODEGENOPT(AliasAnalysis, 1, 0) ///< Enable alias analysis pass
diff --git a/flang/lib/Frontend/CompilerInvocation.cpp 
b/flang/lib/Frontend/CompilerInvocation.cpp
index f433ec9966922..652b3d8795ab7 100644
--- a/flang/lib/Frontend/CompilerInvocation.cpp
+++ b/flang/lib/Frontend/CompilerInvocation.cpp
@@ -246,6 +246,9 @@ static void 
parseCodeGenArgs(Fortran::frontend::CodeGenOptions &opts,
   if (args.getLastArg(clang::driver::options::OPT_vectorize_loops))
     opts.VectorizeLoop = 1;
 
+  if (args.getLastArg(clang::driver::options::OPT_vectorize_slp))
+    opts.VectorizeSLP = 1;
+
   if (args.hasFlag(clang::driver::options::OPT_floop_versioning,
                    clang::driver::options::OPT_fno_loop_versioning, false))
     opts.LoopVersioning = 1;
diff --git a/flang/lib/Frontend/FrontendActions.cpp 
b/flang/lib/Frontend/FrontendActions.cpp
index 46ec7550e4140..3e6e98855fe7a 100644
--- a/flang/lib/Frontend/FrontendActions.cpp
+++ b/flang/lib/Frontend/FrontendActions.cpp
@@ -933,6 +933,7 @@ void 
CodeGenAction::runOptimizationPipeline(llvm::raw_pwrite_stream &os) {
   pto.LoopUnrolling = opts.UnrollLoops;
   pto.LoopInterleaving = opts.UnrollLoops;
   pto.LoopVectorization = opts.VectorizeLoop;
+  pto.SLPVectorization = opts.VectorizeSLP;
 
   llvm::PassBuilder pb(targetMachine, pto, pgoOpt, &pic);
 
diff --git a/flang/test/Driver/slp-vectorize.f90 
b/flang/test/Driver/slp-vectorize.f90
new file mode 100644
index 0000000000000..55d4be1a13c71
--- /dev/null
+++ b/flang/test/Driver/slp-vectorize.f90
@@ -0,0 +1,10 @@
+! RUN: %flang -### -S -fslp-vectorize %s 2>&1 | FileCheck 
-check-prefix=CHECK-SLP-VECTORIZE %s
+! RUN: %flang -### -S -fno-slp-vectorize %s 2>&1 | FileCheck 
-check-prefix=CHECK-NO-SLP-VECTORIZE %s
+! RUN: %flang -### -S -O1 %s 2>&1 | FileCheck 
-check-prefix=CHECK-NO-SLP-VECTORIZE %s
+! RUN: %flang -### -S -O2 %s 2>&1 | FileCheck 
-check-prefix=CHECK-SLP-VECTORIZE %s
+! RUN: %flang -### -S -O3 %s 2>&1 | FileCheck 
-check-prefix=CHECK-SLP-VECTORIZE %s
+! CHECK-SLP-VECTORIZE: "-vectorize-slp"
+! CHECK-NO-SLP-VECTORIZE-NOT: "-no-vectorize-slp"
+
+program test
+end program

>From e78240d8c30122efdc6d85a771ff62c438d52159 Mon Sep 17 00:00:00 2001
From: Kajetan Puchalski <kajetan.puchal...@arm.com>
Date: Tue, 25 Mar 2025 12:02:45 +0000
Subject: [PATCH 2/5] [flang] [clang] Move -fvectorize and -fslp-vectorize into
 CommonArgs

flang - Expand tests for -fslp-vectorize

Signed-off-by: Kajetan Puchalski <kajetan.puchal...@arm.com>
---
 clang/include/clang/Driver/Options.td      |  2 --
 clang/lib/Driver/ToolChains/Clang.cpp      | 20 ++------------------
 clang/lib/Driver/ToolChains/CommonArgs.cpp | 22 ++++++++++++++++++++++
 clang/lib/Driver/ToolChains/CommonArgs.h   |  6 ++++++
 clang/lib/Driver/ToolChains/Flang.cpp      | 19 ++-----------------
 flang/test/Driver/slp-vectorize.f90        |  5 +++++
 6 files changed, 37 insertions(+), 37 deletions(-)

diff --git a/clang/include/clang/Driver/Options.td 
b/clang/include/clang/Driver/Options.td
index a2cdf9f26fcdf..ca56ed264e1d6 100644
--- a/clang/include/clang/Driver/Options.td
+++ b/clang/include/clang/Driver/Options.td
@@ -4030,9 +4030,7 @@ def fvectorize : Flag<["-"], "fvectorize">, 
Group<f_Group>,
 def fno_vectorize : Flag<["-"], "fno-vectorize">, Group<f_Group>;
 def : Flag<["-"], "ftree-vectorize">, Alias<fvectorize>;
 def : Flag<["-"], "fno-tree-vectorize">, Alias<fno_vectorize>;
-}
 
-let Visibility = [ClangOption, FlangOption] in {
 def fslp_vectorize : Flag<["-"], "fslp-vectorize">, Group<f_Group>,
   HelpText<"Enable the superword-level parallelism vectorization passes">;
 def fno_slp_vectorize : Flag<["-"], "fno-slp-vectorize">, Group<f_Group>;
diff --git a/clang/lib/Driver/ToolChains/Clang.cpp 
b/clang/lib/Driver/ToolChains/Clang.cpp
index 7aa2b32acc235..e1e8f57dd6455 100644
--- a/clang/lib/Driver/ToolChains/Clang.cpp
+++ b/clang/lib/Driver/ToolChains/Clang.cpp
@@ -7597,24 +7597,8 @@ void Clang::ConstructJob(Compilation &C, const JobAction 
&JA,
   Args.addOptOutFlag(CmdArgs, options::OPT_fgnu_inline_asm,
                      options::OPT_fno_gnu_inline_asm);
 
-  // Enable vectorization per default according to the optimization level
-  // selected. For optimization levels that want vectorization we use the alias
-  // option to simplify the hasFlag logic.
-  bool EnableVec = shouldEnableVectorizerAtOLevel(Args, false);
-  OptSpecifier VectorizeAliasOption =
-      EnableVec ? options::OPT_O_Group : options::OPT_fvectorize;
-  if (Args.hasFlag(options::OPT_fvectorize, VectorizeAliasOption,
-                   options::OPT_fno_vectorize, EnableVec))
-    CmdArgs.push_back("-vectorize-loops");
-
-  // -fslp-vectorize is enabled based on the optimization level selected.
-  bool EnableSLPVec = shouldEnableVectorizerAtOLevel(Args, true);
-  OptSpecifier SLPVectAliasOption =
-      EnableSLPVec ? options::OPT_O_Group : options::OPT_fslp_vectorize;
-  if (Args.hasFlag(options::OPT_fslp_vectorize, SLPVectAliasOption,
-                   options::OPT_fno_slp_vectorize, EnableSLPVec))
-    CmdArgs.push_back("-vectorize-slp");
-
+  handleVectorizeLoopsArgs(Args, CmdArgs);
+  handleVectorizeSLPArgs(Args, CmdArgs);
   ParseMPreferVectorWidth(D, Args, CmdArgs);
 
   Args.AddLastArg(CmdArgs, options::OPT_fshow_overloads_EQ);
diff --git a/clang/lib/Driver/ToolChains/CommonArgs.cpp 
b/clang/lib/Driver/ToolChains/CommonArgs.cpp
index 157b9ff971add..29c78f874d206 100644
--- a/clang/lib/Driver/ToolChains/CommonArgs.cpp
+++ b/clang/lib/Driver/ToolChains/CommonArgs.cpp
@@ -3177,3 +3177,25 @@ bool tools::shouldEnableVectorizerAtOLevel(const ArgList 
&Args, bool isSlpVec) {
 
   return false;
 }
+
+/// Enable -fvectorize based on the optimization level selected.
+void tools::handleVectorizeLoopsArgs(const ArgList &Args,
+                                     ArgStringList &CmdArgs) {
+  bool enableVec = shouldEnableVectorizerAtOLevel(Args, false);
+  OptSpecifier vectorizeAliasOption =
+      enableVec ? options::OPT_O_Group : options::OPT_fvectorize;
+  if (Args.hasFlag(options::OPT_fvectorize, vectorizeAliasOption,
+                   options::OPT_fno_vectorize, enableVec))
+    CmdArgs.push_back("-vectorize-loops");
+}
+
+/// Enable -fslp-vectorize based on the optimization level selected.
+void tools::handleVectorizeSLPArgs(const ArgList &Args,
+                                   ArgStringList &CmdArgs) {
+  bool EnableSLPVec = shouldEnableVectorizerAtOLevel(Args, true);
+  OptSpecifier SLPVectAliasOption =
+      EnableSLPVec ? options::OPT_O_Group : options::OPT_fslp_vectorize;
+  if (Args.hasFlag(options::OPT_fslp_vectorize, SLPVectAliasOption,
+                   options::OPT_fno_slp_vectorize, EnableSLPVec))
+    CmdArgs.push_back("-vectorize-slp");
+}
diff --git a/clang/lib/Driver/ToolChains/CommonArgs.h 
b/clang/lib/Driver/ToolChains/CommonArgs.h
index 783a1f834b33d..cdf770e0564f7 100644
--- a/clang/lib/Driver/ToolChains/CommonArgs.h
+++ b/clang/lib/Driver/ToolChains/CommonArgs.h
@@ -267,6 +267,12 @@ void renderCommonIntegerOverflowOptions(const 
llvm::opt::ArgList &Args,
 
 bool shouldEnableVectorizerAtOLevel(const llvm::opt::ArgList &Args,
                                     bool isSlpVec);
+
+void handleVectorizeLoopsArgs(const llvm::opt::ArgList &Args,
+                              llvm::opt::ArgStringList &CmdArgs);
+
+void handleVectorizeSLPArgs(const llvm::opt::ArgList &Args,
+                            llvm::opt::ArgStringList &CmdArgs);
 } // end namespace tools
 } // end namespace driver
 } // end namespace clang
diff --git a/clang/lib/Driver/ToolChains/Flang.cpp 
b/clang/lib/Driver/ToolChains/Flang.cpp
index bb89432d3e58c..a44513a83a2d7 100644
--- a/clang/lib/Driver/ToolChains/Flang.cpp
+++ b/clang/lib/Driver/ToolChains/Flang.cpp
@@ -151,23 +151,8 @@ void Flang::addCodegenOptions(const ArgList &Args,
       !stackArrays->getOption().matches(options::OPT_fno_stack_arrays))
     CmdArgs.push_back("-fstack-arrays");
 
-  // Enable vectorization per default according to the optimization level
-  // selected. For optimization levels that want vectorization we use the alias
-  // option to simplify the hasFlag logic.
-  bool enableVec = shouldEnableVectorizerAtOLevel(Args, false);
-  OptSpecifier vectorizeAliasOption =
-      enableVec ? options::OPT_O_Group : options::OPT_fvectorize;
-  if (Args.hasFlag(options::OPT_fvectorize, vectorizeAliasOption,
-                   options::OPT_fno_vectorize, enableVec))
-    CmdArgs.push_back("-vectorize-loops");
-
-  // -fslp-vectorize is enabled based on the optimization level selected.
-  bool EnableSLPVec = shouldEnableVectorizerAtOLevel(Args, true);
-  OptSpecifier SLPVectAliasOption =
-      EnableSLPVec ? options::OPT_O_Group : options::OPT_fslp_vectorize;
-  if (Args.hasFlag(options::OPT_fslp_vectorize, SLPVectAliasOption,
-                   options::OPT_fno_slp_vectorize, EnableSLPVec))
-    CmdArgs.push_back("-vectorize-slp");
+  handleVectorizeLoopsArgs(Args, CmdArgs);
+  handleVectorizeSLPArgs(Args, CmdArgs);
 
   if (shouldLoopVersion(Args))
     CmdArgs.push_back("-fversion-loops-for-stride");
diff --git a/flang/test/Driver/slp-vectorize.f90 
b/flang/test/Driver/slp-vectorize.f90
index 55d4be1a13c71..65a6d6e443742 100644
--- a/flang/test/Driver/slp-vectorize.f90
+++ b/flang/test/Driver/slp-vectorize.f90
@@ -1,10 +1,15 @@
 ! RUN: %flang -### -S -fslp-vectorize %s 2>&1 | FileCheck 
-check-prefix=CHECK-SLP-VECTORIZE %s
 ! RUN: %flang -### -S -fno-slp-vectorize %s 2>&1 | FileCheck 
-check-prefix=CHECK-NO-SLP-VECTORIZE %s
+! RUN: %flang -### -S -O0 %s 2>&1 | FileCheck 
-check-prefix=CHECK-NO-SLP-VECTORIZE %s
 ! RUN: %flang -### -S -O1 %s 2>&1 | FileCheck 
-check-prefix=CHECK-NO-SLP-VECTORIZE %s
 ! RUN: %flang -### -S -O2 %s 2>&1 | FileCheck 
-check-prefix=CHECK-SLP-VECTORIZE %s
 ! RUN: %flang -### -S -O3 %s 2>&1 | FileCheck 
-check-prefix=CHECK-SLP-VECTORIZE %s
+! RUN: %flang -### -S -Os %s 2>&1 | FileCheck 
-check-prefix=CHECK-SLP-VECTORIZE %s
+! RUN: %flang -### -S -Oz %s 2>&1 | FileCheck 
-check-prefix=CHECK-SLP-VECTORIZE %s
+! RUN: %flang_fc1 -emit-llvm -O2 -vectorize-slp -mllvm -print-pipeline-passes 
%s 2>&1 | FileCheck -check-prefix=CHECK-SLP-VECTORIZER %s
 ! CHECK-SLP-VECTORIZE: "-vectorize-slp"
 ! CHECK-NO-SLP-VECTORIZE-NOT: "-no-vectorize-slp"
+! CHECK-SLP-VECTORIZER: slp-vectorizer
 
 program test
 end program

>From 3258e8e76d7255d9ce1539f129cc88c77210db34 Mon Sep 17 00:00:00 2001
From: Kajetan Puchalski <kajetan.puchal...@tuta.io>
Date: Tue, 25 Mar 2025 14:09:19 +0000
Subject: [PATCH 3/5] [clang] CommonArgs - Fix local variable name case

Co-authored-by: Tarun Prabhu <tarunpra...@gmail.com>
Signed-off-by: Kajetan Puchalski <kajetan.puchal...@arm.com>
---
 clang/lib/Driver/ToolChains/CommonArgs.cpp | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/clang/lib/Driver/ToolChains/CommonArgs.cpp 
b/clang/lib/Driver/ToolChains/CommonArgs.cpp
index 29c78f874d206..3f327f09020f0 100644
--- a/clang/lib/Driver/ToolChains/CommonArgs.cpp
+++ b/clang/lib/Driver/ToolChains/CommonArgs.cpp
@@ -3181,11 +3181,11 @@ bool tools::shouldEnableVectorizerAtOLevel(const 
ArgList &Args, bool isSlpVec) {
 /// Enable -fvectorize based on the optimization level selected.
 void tools::handleVectorizeLoopsArgs(const ArgList &Args,
                                      ArgStringList &CmdArgs) {
-  bool enableVec = shouldEnableVectorizerAtOLevel(Args, false);
+  bool EnableVec = shouldEnableVectorizerAtOLevel(Args, false);
   OptSpecifier vectorizeAliasOption =
-      enableVec ? options::OPT_O_Group : options::OPT_fvectorize;
+      EnableVec ? options::OPT_O_Group : options::OPT_fvectorize;
   if (Args.hasFlag(options::OPT_fvectorize, vectorizeAliasOption,
-                   options::OPT_fno_vectorize, enableVec))
+                   options::OPT_fno_vectorize, EnableVec))
     CmdArgs.push_back("-vectorize-loops");
 }
 

>From c8cc32ad220edd549700b3260b25d4d891f9ca3d Mon Sep 17 00:00:00 2001
From: Kajetan Puchalski <kajetan.puchal...@arm.com>
Date: Tue, 25 Mar 2025 14:54:11 +0000
Subject: [PATCH 4/5] [flang] test: Add test for absence of slp-vectorizer pass

Signed-off-by: Kajetan Puchalski <kajetan.puchal...@arm.com>
---
 flang/test/Driver/slp-vectorize.f90 | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/flang/test/Driver/slp-vectorize.f90 
b/flang/test/Driver/slp-vectorize.f90
index 65a6d6e443742..28004f5c91f5f 100644
--- a/flang/test/Driver/slp-vectorize.f90
+++ b/flang/test/Driver/slp-vectorize.f90
@@ -7,9 +7,11 @@
 ! RUN: %flang -### -S -Os %s 2>&1 | FileCheck 
-check-prefix=CHECK-SLP-VECTORIZE %s
 ! RUN: %flang -### -S -Oz %s 2>&1 | FileCheck 
-check-prefix=CHECK-SLP-VECTORIZE %s
 ! RUN: %flang_fc1 -emit-llvm -O2 -vectorize-slp -mllvm -print-pipeline-passes 
%s 2>&1 | FileCheck -check-prefix=CHECK-SLP-VECTORIZER %s
+! RUN: %flang_fc1 -emit-llvm -O2 -mllvm -print-pipeline-passes %s 2>&1 | 
FileCheck -check-prefix=CHECK-NO-SLP-VECTORIZER %s
 ! CHECK-SLP-VECTORIZE: "-vectorize-slp"
 ! CHECK-NO-SLP-VECTORIZE-NOT: "-no-vectorize-slp"
 ! CHECK-SLP-VECTORIZER: slp-vectorizer
+! CHECK-NO-SLP-VECTORIZER-NOT: slp-vectorizer
 
 program test
 end program

>From e387474d4162e2a3bf30e42407def7c0b7ed1d3b Mon Sep 17 00:00:00 2001
From: Kajetan Puchalski <kajetan.puchal...@arm.com>
Date: Wed, 26 Mar 2025 14:16:08 +0000
Subject: [PATCH 5/5] [clang] CommonArgs - Move handleVectorize* doc comments
 to .h

Signed-off-by: Kajetan Puchalski <kajetan.puchal...@arm.com>
---
 clang/lib/Driver/ToolChains/CommonArgs.cpp | 2 --
 clang/lib/Driver/ToolChains/CommonArgs.h   | 2 ++
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/clang/lib/Driver/ToolChains/CommonArgs.cpp 
b/clang/lib/Driver/ToolChains/CommonArgs.cpp
index 3f327f09020f0..d741c00b78f1a 100644
--- a/clang/lib/Driver/ToolChains/CommonArgs.cpp
+++ b/clang/lib/Driver/ToolChains/CommonArgs.cpp
@@ -3178,7 +3178,6 @@ bool tools::shouldEnableVectorizerAtOLevel(const ArgList 
&Args, bool isSlpVec) {
   return false;
 }
 
-/// Enable -fvectorize based on the optimization level selected.
 void tools::handleVectorizeLoopsArgs(const ArgList &Args,
                                      ArgStringList &CmdArgs) {
   bool EnableVec = shouldEnableVectorizerAtOLevel(Args, false);
@@ -3189,7 +3188,6 @@ void tools::handleVectorizeLoopsArgs(const ArgList &Args,
     CmdArgs.push_back("-vectorize-loops");
 }
 
-/// Enable -fslp-vectorize based on the optimization level selected.
 void tools::handleVectorizeSLPArgs(const ArgList &Args,
                                    ArgStringList &CmdArgs) {
   bool EnableSLPVec = shouldEnableVectorizerAtOLevel(Args, true);
diff --git a/clang/lib/Driver/ToolChains/CommonArgs.h 
b/clang/lib/Driver/ToolChains/CommonArgs.h
index cdf770e0564f7..9b280e5d871c7 100644
--- a/clang/lib/Driver/ToolChains/CommonArgs.h
+++ b/clang/lib/Driver/ToolChains/CommonArgs.h
@@ -268,9 +268,11 @@ void renderCommonIntegerOverflowOptions(const 
llvm::opt::ArgList &Args,
 bool shouldEnableVectorizerAtOLevel(const llvm::opt::ArgList &Args,
                                     bool isSlpVec);
 
+/// Enable -fvectorize based on the optimization level selected.
 void handleVectorizeLoopsArgs(const llvm::opt::ArgList &Args,
                               llvm::opt::ArgStringList &CmdArgs);
 
+/// Enable -fslp-vectorize based on the optimization level selected.
 void handleVectorizeSLPArgs(const llvm::opt::ArgList &Args,
                             llvm::opt::ArgStringList &CmdArgs);
 } // end namespace tools

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to