[all-commits] [llvm/llvm-project] 3787fd: [Flang][OpenMP][Sema] Support propagation of REQUI...

Sergio Afonso via All-commits all-commits at lists.llvm.org
Mon Sep 11 03:48:34 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 3787fd942f3927345320cc97a479f13e44355805
      https://github.com/llvm/llvm-project/commit/3787fd942f3927345320cc97a479f13e44355805
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2023-09-11 (Mon, 11 Sep 2023)

  Changed paths:
    M flang/examples/FeatureList/FeatureList.cpp
    M flang/include/flang/Common/Fortran.h
    M flang/include/flang/Parser/dump-parse-tree.h
    M flang/include/flang/Parser/parse-tree.h
    M flang/include/flang/Semantics/symbol.h
    M flang/lib/Parser/openmp-parsers.cpp
    M flang/lib/Parser/unparse.cpp
    M flang/lib/Semantics/resolve-directives.cpp
    M flang/lib/Semantics/resolve-directives.h
    M flang/lib/Semantics/resolve-names.cpp
    A flang/test/Semantics/OpenMP/requires09.f90

  Log Message:
  -----------
  [Flang][OpenMP][Sema] Support propagation of REQUIRES information across program units

This patch adds support for storing OpenMP REQUIRES information in the
semantics symbols for programs/subprograms and modules/submodules, and
populates them during directive resolution. A pass is added to name resolution
that makes sure this information is also propagated across top-level programs,
functions and subprograms.

Storing REQUIRES information inside of semantics symbols will also allow
supporting the propagation of this information across Fortran modules. This
will come as a separate patch.

The `bool DirectiveAttributeVisitor::Pre(const parser::SpecificationPart &x)`
method is removed since it resulted in specification parts being visited twice.

This is patch 3/5 of a series splitting D149337 to simplify review.

Differential Revision: https://reviews.llvm.org/D157983




More information about the All-commits mailing list