[all-commits] [llvm/llvm-project] 6fd0ee: [SCEV] Return a SCEVUse from getAddExpr and propag...

Florian Hahn via All-commits all-commits at lists.llvm.org
Mon Sep 14 06:57:27 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 6fd0ee2150ab3297ae89cbc64e98f588886906c9
      https://github.com/llvm/llvm-project/commit/6fd0ee2150ab3297ae89cbc64e98f588886906c9
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-09-14 (Mon, 14 Sep 2026)

  Changed paths:
    M llvm/include/llvm/Analysis/ScalarEvolution.h
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/lib/Target/PowerPC/PPCLoopInstrFormPrep.cpp
    M llvm/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp
    M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
    M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
    M llvm/unittests/Analysis/ScalarEvolutionTest.cpp

  Log Message:
  -----------
  [SCEV] Return a SCEVUse from getAddExpr and propagate use flags. (#220007)

Add option to pass SCEVUse-specific flags to getAddExpr and propagate
them through, if valid conservatively. That is, the final expression
adds the same operands (potentially in different order). For example, it
is not valid to propagate the use flags if other (sub-)expressions have
been inlined.

It also includes a few mechanical changes, to update users that still
expected const SCEV *.

This slightly simplifies
https://github.com/llvm/llvm-project/pull/217378, which introduces the
first end-to-end user of SCEVUse.

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



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