llvm-project
cb9ee31a - Reland [flang] Support scoped LICM and OpenACC capture provenance (#225401) (#226909)

Commit
6 days ago
Reland [flang] Support scoped LICM and OpenACC capture provenance (#225401) (#226909) 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. Reland #225401 with CMakeFiles.txt change to fix shared library builds.
Author
Parents
Loading