[all-commits] [llvm/llvm-project] 4d5d72: [SCEV] Add some asserts on availability of argumen...

Max Kazantsev via All-commits all-commits at lists.llvm.org
Tue Sep 21 03:09:42 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 4d5d72542839b11455a0c261b66a0426c1530d52
      https://github.com/llvm/llvm-project/commit/4d5d72542839b11455a0c261b66a0426c1530d52
  Author: Max Kazantsev <mkazantsev at azul.com>
  Date:   2021-09-21 (Tue, 21 Sep 2021)

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

  Log Message:
  -----------
  [SCEV] Add some asserts on availability of arguments of isLoopEntryGuardedByCond

The logic in howManyLessThans is fishy. It first checks invariance of
RHS, and then uses OrigRHS as argument for isLoopEntryGuardedByCond, which
is, strictly saying, a different thing. We are seeing a very rare intermittent
failure of availability checks, and it looks like this precondition is
sometimes broken. Before we can figure out what's going on, adding asserts
that all involved values that may possibly to to isLoopEntryGuardedByCond
are available at loop entry.

If either of these asserts fails (OrigRHS is the most likely suspect), it
means that the logic here is flawed.




More information about the All-commits mailing list