[all-commits] [llvm/llvm-project] 848d63: [LV] Fix unintended SCEV cache population when que...

Igor Kirillov via All-commits all-commits at lists.llvm.org
Wed Aug 5 05:43:35 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 848d63cb3b9a67aa401f44e08930a16784d88418
      https://github.com/llvm/llvm-project/commit/848d63cb3b9a67aa401f44e08930a16784d88418
  Author: Igor Kirillov <igor.kirillov at arm.com>
  Date:   2026-08-05 (Wed, 05 Aug 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.cpp

  Log Message:
  -----------
  [LV] Fix unintended SCEV cache population when querying UnrollVectorizedLoop (#208500)

LoopVectorize queried getUnrollingPreferences after VPlan execution,
when the vector loop had already been created. If the target hook
queries ScalarEvolution, this populates the SCEV caches with expressions
for the new loop and changes which existing values SCEVExpander reuses
later.

This is exposed by #205102, where the new AArch64 unrolling preferences
cause unrelated LoopVectorize tests to produce different IR.

UnrollVectorizedLoop is a target-wide preference. Query it on the
original loop before VPlan execution and before its SCEV information is
forgotten. This prevents the preference query from polluting subsequent
SCEV expansion.



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