[all-commits] [llvm/llvm-project] e698d0: [SCEVDivision] Prevent propagating nowrap flags wh...

Ryotaro Kasuga via All-commits all-commits at lists.llvm.org
Mon Feb 16 01:15:19 PST 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: e698d03ee24d93f4c316daf218f04fdbae72f0bd
      https://github.com/llvm/llvm-project/commit/e698d03ee24d93f4c316daf218f04fdbae72f0bd
  Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
  Date:   2026-02-16 (Mon, 16 Feb 2026)

  Changed paths:
    M llvm/lib/Analysis/ScalarEvolutionDivision.cpp
    M llvm/test/Analysis/Delinearization/a.ll
    M llvm/test/Analysis/Delinearization/divide_by_one.ll
    M llvm/test/Analysis/Delinearization/fixed_size_array.ll
    M llvm/test/Analysis/Delinearization/multidim_ivs_and_integer_offsets_nts_3d.ll
    A llvm/test/Analysis/Delinearization/wraps.ll
    M llvm/test/Analysis/DependenceAnalysis/DADelin.ll
    M llvm/test/Analysis/ScalarEvolutionDivision/sdiv.ll

  Log Message:
  -----------
  [SCEVDivision] Prevent propagating nowrap flags when numerator is an addrec (#154745)

In ScalarEvolutionDivision, when the numerator is an addrec, its nowrap
flags are unconditionally propagated to the quotient and remainder.
However, this is not always correct.
This pass is only used by Delinearization, and just dropping these flags
doesn't affect Delinearization's accuracy in almost all cases.
Therefore, this patch conservatively stop propagating the nowrap flags
from the numerator to the quotient and remainder.

Fix #152566



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