[all-commits] [llvm/llvm-project] 848920: [flang] Support scoped LICM and OpenACC capture pr...

jeanPerier via All-commits all-commits at lists.llvm.org
Wed Sep 23 08:23:00 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 8489203ec846d08db23532530419748de09c3374
      https://github.com/llvm/llvm-project/commit/8489203ec846d08db23532530419748de09c3374
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M flang/include/flang/Optimizer/Transforms/Passes.td
    M flang/lib/Optimizer/Transforms/LoopInvariantCodeMotion.cpp
    A flang/test/Transforms/licm-acc-captured-ref.fir
    A flang/test/Transforms/licm-acc-compute-only.fir
    A flang/test/Transforms/licm-scope.fir

  Log Message:
  -----------
  [flang] Support scoped LICM and OpenACC capture provenance (#225401)

Follow compute-region capture operands when checking whether scalar and
scalar-descriptor loads are safe to speculate. Preserve the existing
optional, array-element, and loop-modification safety checks.

Add an optional only-inside operation-name selector while retaining
function-scoped alias analysis. Resolve the name once per function and
compare interned operation names during ancestor traversal. The default
continues to select all loops. An explicit name selects loops with a
matching ancestor within the function, including the function itself.

Cover capture safety, host exclusion, non-OpenACC and nested scopes,
loop boundaries, unmatched names, and the function boundary.

The motivation for this is to allow running LICM only on device relevant
loop at O0.



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