[all-commits] [llvm/llvm-project] 3098b4: [flang] Added LICM hoisting for nested regions. (#...

Slava Zakharin via All-commits all-commits at lists.llvm.org
Tue Apr 7 11:41:22 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 3098b4da81c254b40f6bc931bbb1933df12dc0a9
      https://github.com/llvm/llvm-project/commit/3098b4da81c254b40f6bc931bbb1933df12dc0a9
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2026-04-07 (Tue, 07 Apr 2026)

  Changed paths:
    M flang/include/flang/Optimizer/Transforms/Passes.h
    M flang/include/flang/Optimizer/Transforms/Passes.td
    M flang/lib/Optimizer/Transforms/LoopInvariantCodeMotion.cpp
    M flang/test/Transforms/licm.fir

  Log Message:
  -----------
  [flang] Added LICM hoisting for nested regions. (#190696)

This patch adds a couple of experimental LICM modes
that allow hoisting operations from regions nested
inside a loop, e.g. when there is `fir.if` inside
`fir.do_loop`. The aggressive mode hoists all operations
that are safe to hoist. The cheap mode hoists only
"cheap" operations (currently, only `fir.convert`),
though the definition of "cheap" needs to be worked out.



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