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

Sergio Afonso via All-commits all-commits at lists.llvm.org
Mon Aug 19 02:33:55 PDT 2024


  Branch: refs/heads/users/skatrak/recomposition-02-removal
  Home:   https://github.com/llvm/llvm-project
  Commit: 32b2169da3bb80f3df79bf8060ab07b5a177019f
      https://github.com/llvm/llvm-project/commit/32b2169da3bb80f3df79bf8060ab07b5a177019f
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2024-08-19 (Mon, 19 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