[all-commits] [llvm/llvm-project] 66573c: [SCEV] Directly form add recurrences for simple po...

Florian Hahn via All-commits all-commits at lists.llvm.org
Sat Sep 12 09:00:05 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 66573c1ecdc0ce1dc5f1cbd7d22974a7eb4ccf5d
      https://github.com/llvm/llvm-project/commit/66573c1ecdc0ce1dc5f1cbd7d22974a7eb4ccf5d
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-09-12 (Sat, 12 Sep 2026)

  Changed paths:
    M llvm/lib/Analysis/ScalarEvolution.cpp
    A llvm/test/Analysis/ScalarEvolution/pointer-iv-addrec.ll

  Log Message:
  -----------
  [SCEV] Directly form add recurrences for simple pointer IVs. (#222915)

Add support for PN = PHI(Start, gep Self, LoopInvariant) to
createSimpleAffineAddRec.

This allows to handle simple pointer IVs without going through the more
expensive createAddRecFromPHI machinery in many cases.

This is not completely NFC: previously we created SCEVUnknown for a
trivial AddRec with step 0, now we return the start value.

This gives a modest geomean compile-time decrease
 * stage1-O3: -0.05%
 * stage1-ReleaseThinLTO: -0.06%
 * stage1-ReleaseLTO-g: -0.06%
 * stage1-aarch64-O3: -0.07%
 * stage2-O3: -0.05%
 * clang build: -0.08%

With larger decreases for more SCEV-heavy workloads.

https://llvm-compile-time-tracker.com/compare.php?from=c1b661fde124399f0484c4b39501b37613cc4757&to=5cd19e23596c86eae9607286efe86b7a3e885a86&stat=instructions:u

PR: https://github.com/llvm/llvm-project/pull/222915



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