[all-commits] [llvm/llvm-project] da1d1a: [SCEV] Introduce SCEVUse wrapper type (NFC)

Florian Hahn via All-commits all-commits at lists.llvm.org
Thu Feb 19 13:36:37 PST 2026


  Branch: refs/heads/users/fhahn/scevuse
  Home:   https://github.com/llvm/llvm-project
  Commit: da1d1a7157802b0f9e810123f76e3675b8a4e888
      https://github.com/llvm/llvm-project/commit/da1d1a7157802b0f9e810123f76e3675b8a4e888
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-02-19 (Thu, 19 Feb 2026)

  Changed paths:
    M llvm/include/llvm/Analysis/ScalarEvolution.h
    M llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
    M llvm/include/llvm/Analysis/ScalarEvolutionPatternMatch.h
    M llvm/include/llvm/Transforms/Scalar/NaryReassociate.h
    M llvm/lib/Analysis/Delinearization.cpp
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/lib/Analysis/ScalarEvolutionDivision.cpp
    M llvm/lib/Analysis/ScalarEvolutionNormalization.cpp
    M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
    M llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
    M llvm/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp
    M llvm/lib/Transforms/Scalar/LoopDataPrefetch.cpp
    M llvm/lib/Transforms/Scalar/LoopFuse.cpp
    M llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
    M llvm/lib/Transforms/Scalar/LoopPredication.cpp
    M llvm/lib/Transforms/Scalar/NaryReassociate.cpp
    M llvm/lib/Transforms/Scalar/StraightLineStrengthReduce.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
    M llvm/test/Transforms/IndVarSimplify/turn-to-invariant.ll
    M polly/include/polly/Support/ScopHelper.h
    M polly/lib/Support/ScopHelper.cpp

  Log Message:
  -----------
  [SCEV] Introduce SCEVUse wrapper type (NFC)

Add SCEVUse as a PointerIntPair wrapper around const SCEV * to prepare
for storing additional per-use information.

This commit contains the mechanical changes of adding an intial SCEVUse
wrapper and updating all relevant interfaces to take SCEVUse. Note that
currently the integer part is never set, and all SCEVUses are
considered canonical.


  Commit: 4c405dde8a6698e1a588575a1b70dda6aa178645
      https://github.com/llvm/llvm-project/commit/4c405dde8a6698e1a588575a1b70dda6aa178645
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-02-19 (Thu, 19 Feb 2026)

  Changed paths:
    M llvm/include/llvm/Analysis/ScalarEvolution.h

  Log Message:
  -----------
  [SCEV] Add canonical SCEV pointer


  Commit: f9d243eb260d034c48da128ef337ffaf5a2cedf1
      https://github.com/llvm/llvm-project/commit/f9d243eb260d034c48da128ef337ffaf5a2cedf1
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-02-19 (Thu, 19 Feb 2026)

  Changed paths:
    M llvm/include/llvm/Analysis/ScalarEvolution.h
    M llvm/lib/Analysis/ScalarEvolution.cpp

  Log Message:
  -----------
  [SCEV] Rewrite to always create canonical SCEV.


Compare: https://github.com/llvm/llvm-project/compare/6eeb7f7c05af...f9d243eb260d

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