[flang-commits] [flang] ae0dc31 - [flang][OpenMP] Make `iv` const-reference to original parser::Name (#199727)

via flang-commits flang-commits at lists.llvm.org
Tue May 26 10:51:08 PDT 2026


Author: Krzysztof Parzyszek
Date: 2026-05-26T12:51:02-05:00
New Revision: ae0dc3104bf5a53a69c4ab5bce6e3a5365fa7740

URL: https://github.com/llvm/llvm-project/commit/ae0dc3104bf5a53a69c4ab5bce6e3a5365fa7740
DIFF: https://github.com/llvm/llvm-project/commit/ae0dc3104bf5a53a69c4ab5bce6e3a5365fa7740.diff

LOG: [flang][OpenMP] Make `iv` const-reference to original parser::Name (#199727)

Merging since this is a trivial change.

Added: 
    

Modified: 
    flang/include/flang/Semantics/openmp-utils.h
    flang/lib/Semantics/openmp-utils.cpp

Removed: 
    


################################################################################
diff  --git a/flang/include/flang/Semantics/openmp-utils.h b/flang/include/flang/Semantics/openmp-utils.h
index ab7a09e4ca721..06cb71845f60a 100644
--- a/flang/include/flang/Semantics/openmp-utils.h
+++ b/flang/include/flang/Semantics/openmp-utils.h
@@ -154,7 +154,7 @@ struct LoopControl {
   LoopControl(const parser::LoopControl::Bounds &x);
   LoopControl(const parser::ConcurrentControl &x);
 
-  parser::Name iv;
+  const parser::Name &iv;
   WithSource<MaybeExpr> lbound, ubound, step;
 
 private:

diff  --git a/flang/lib/Semantics/openmp-utils.cpp b/flang/lib/Semantics/openmp-utils.cpp
index b615900672042..d07a7c4183734 100644
--- a/flang/lib/Semantics/openmp-utils.cpp
+++ b/flang/lib/Semantics/openmp-utils.cpp
@@ -613,8 +613,8 @@ static bool IsTransformableLoop(const parser::ExecutionPartConstruct &epc) {
   return false;
 }
 
-LoopControl::LoopControl(const parser::LoopControl::Bounds &x) {
-  iv = x.Name().thing;
+LoopControl::LoopControl(const parser::LoopControl::Bounds &x)
+    : iv(x.Name().thing) {
   lbound = fromParserExpr(parser::UnwrapRef<parser::Expr>(x.Lower()));
   ubound = fromParserExpr(parser::UnwrapRef<parser::Expr>(x.Upper()));
   if (auto &inc{x.Step()}) {
@@ -622,9 +622,9 @@ LoopControl::LoopControl(const parser::LoopControl::Bounds &x) {
   }
 }
 
-LoopControl::LoopControl(const parser::ConcurrentControl &x) {
-  auto &[name, lower, upper, inc]{x.t};
-  iv = name;
+LoopControl::LoopControl(const parser::ConcurrentControl &x)
+    : iv(std::get<parser::Name>(x.t)) {
+  auto &[_, lower, upper, inc]{x.t};
   lbound = fromParserExpr(parser::UnwrapRef<parser::Expr>(lower));
   ubound = fromParserExpr(parser::UnwrapRef<parser::Expr>(upper));
   if (inc) {


        


More information about the flang-commits mailing list