[all-commits] [llvm/llvm-project] ba1349: [SCEV] Fix "quick and dirty" difference that could...

Danila Malyutin via All-commits all-commits at lists.llvm.org
Mon Oct 30 14:51:11 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: ba1349fc31295a3670b34c189838a133e18c0bed
      https://github.com/llvm/llvm-project/commit/ba1349fc31295a3670b34c189838a133e18c0bed
  Author: Danila Malyutin <danilaml at users.noreply.github.com>
  Date:   2023-10-31 (Tue, 31 Oct 2023)

  Changed paths:
    M llvm/lib/Analysis/ScalarEvolution.cpp
    A llvm/test/Transforms/LoopStrengthReduce/pr70348.ll

  Log Message:
  -----------
  [SCEV] Fix "quick and dirty" difference that could lead to assert (#70688)

The old algorithm would remove all operands matching %step SCEV when it
intended to only remove a single one. This lead to assert when
SCEVAddExpr was of the form %step + %step and potential miscompiles in
similar cases. Such SCEVs could be created when construction reached
depth thresholds.

Fixes #70348




More information about the All-commits mailing list