[all-commits] [llvm/llvm-project] 8961c3: [Flang][OpenMP] Prevent re-composition of composit...

Sergio Afonso via All-commits all-commits at lists.llvm.org
Fri Aug 16 05:45:25 PDT 2024


  Branch: refs/heads/users/skatrak/recomposition-02-removal
  Home:   https://github.com/llvm/llvm-project
  Commit: 8961c376fde5f777e7c6966d47a959dff3017337
      https://github.com/llvm/llvm-project/commit/8961c376fde5f777e7c6966d47a959dff3017337
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2024-08-16 (Fri, 16 Aug 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP/Decomposer.cpp
    M flang/lib/Lower/OpenMP/Decomposer.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/test/Lower/OpenMP/Todo/omp-do-simd-linear.f90
    M flang/test/Lower/OpenMP/default-clause-byref.f90
    M flang/test/Lower/OpenMP/default-clause.f90
    R llvm/include/llvm/Frontend/OpenMP/ConstructCompositionT.h

  Log Message:
  -----------
  [Flang][OpenMP] Prevent re-composition of composite constructs

After decomposition of OpenMP compound constructs and assignment of applicable
clauses to each leaf construct, composite constructs are then combined again
into a single element in the construct queue. This helped later lowering stages
easily identify composite constructs.

However, as a result of the re-composition stage, the same list of clauses is
used to produce all MLIR operations corresponding to each leaf of the original
composite construct. This undoes existing logic introducing implicit clauses
and deciding to which leaf construct(s) each clause applies.

This patch removes construct re-composition logic and updates Flang lowering to
be able to identify composite constructs from a list of leaf constructs. As a
result, the right set of clauses is produced for each operation representing a
leaf of a composite construct.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list