[all-commits] [llvm/llvm-project] 1dc5b0: [DSE] Use CycleInfo instead of LoopInfo (#188253)

Nikita Popov via All-commits all-commits at lists.llvm.org
Wed Mar 25 07:56:14 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 1dc5b0c8f30e96d8c2a265575cc2271ea3430269
      https://github.com/llvm/llvm-project/commit/1dc5b0c8f30e96d8c2a265575cc2271ea3430269
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-03-25 (Wed, 25 Mar 2026)

  Changed paths:
    M llvm/include/llvm/Analysis/AliasAnalysis.h
    M llvm/lib/Analysis/BasicAliasAnalysis.cpp
    M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
    M llvm/test/Other/new-pm-defaults.ll
    M llvm/test/Other/new-pm-lto-defaults.ll
    M llvm/test/Other/new-pm-thinlto-postlink-defaults.ll
    M llvm/test/Other/new-pm-thinlto-postlink-pgo-defaults.ll
    M llvm/test/Other/new-pm-thinlto-postlink-samplepgo-defaults.ll
    M llvm/test/Other/new-pm-thinlto-prelink-defaults.ll
    M llvm/test/Other/new-pm-thinlto-prelink-pgo-defaults.ll
    M llvm/test/Other/new-pm-thinlto-prelink-samplepgo-defaults.ll

  Log Message:
  -----------
  [DSE] Use CycleInfo instead of LoopInfo (#188253)

DSE needs to reason about cycles in order to correctly handle
loop-carried dependencies. It currently does this by using LoopInfo and
performing a separate check for irreducible control flow.

Instead, we can use CycleInfo, which is like LoopInfo but also handles
irreducible cycles.

This requires computing CycleInfo (which, unlike LoopInfo won't be
reused by surrouding passes), but ends up being neutral in terms of
compile-time overall.



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