[all-commits] [llvm/llvm-project] 1c3fdb: Revert "[SCEV] Don't invalidate past dependency-br...

Nikita Popov via All-commits all-commits at lists.llvm.org
Mon Oct 9 07:44:36 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 1c3fdb3d1e187e646f97a305771c48378c5df756
      https://github.com/llvm/llvm-project/commit/1c3fdb3d1e187e646f97a305771c48378c5df756
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-10-09 (Mon, 09 Oct 2023)

  Changed paths:
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/test/Transforms/IndVarSimplify/pr68260.ll

  Log Message:
  -----------
  Revert "[SCEV] Don't invalidate past dependency-breaking instructions"

Unforuntately, the assumption underlying this optimization is
incorrect for getSCEVAtScope(): A SCEVUnknown instruction with
operands that have constant loop exit values can evaluate to
a constant, thus creating a dependency from an "always unknown"
instruction.

Losing this optimization is quite unfortunate, but it doesn't
seem like there is any simple workaround for this.

Fixes #68260.

This reverts commit 3ddd1ffb721dd0ac3faa4a53c76b6904e862b7ab.




More information about the All-commits mailing list