[all-commits] [llvm/llvm-project] 2071ea: [LVI] Skip self loops in `solveBlockValueNonLocal`...

Yingwei Zheng via All-commits all-commits at lists.llvm.org
Sun Feb 23 01:53:00 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 2071ea24a27c7009feac699e3e70ee50f185134f
      https://github.com/llvm/llvm-project/commit/2071ea24a27c7009feac699e3e70ee50f185134f
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2025-02-23 (Sun, 23 Feb 2025)

  Changed paths:
    M llvm/lib/Analysis/LazyValueInfo.cpp
    A llvm/test/Transforms/CorrelatedValuePropagation/loop.ll
    M llvm/test/Transforms/JumpThreading/ddt-crash.ll

  Log Message:
  -----------
  [LVI] Skip self loops in `solveBlockValueNonLocal` (#127763)

We cannot infer more information from backedges in
`solveBlockValueNonLocal`. However, since DT is unavailable in LVI,
there is not a precise way to check whether a BB edge is a backedge.
This patch only skips self loops to unblock the range analysis.

The motivating case is extracted from
https://github.com/llvm/llvm-project/pull/127663.

Compile-time impact is high:
https://llvm-compile-time-tracker.com/compare.php?from=84ddda58c870681dd12ed765e9d59d5e00567f94&to=af032f1351358f2f5b5d9f4e87c5601c23b9bd37&stat=instructions:u



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