[all-commits] [llvm/llvm-project] bb68b2: [SCEV] Verify contents of loop disposition cache

Max Kazantsev via All-commits all-commits at lists.llvm.org
Mon Sep 19 03:50:06 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: bb68b2402daa980ff41406a7ecf5e9f4e131b420
      https://github.com/llvm/llvm-project/commit/bb68b2402daa980ff41406a7ecf5e9f4e131b420
  Author: Max Kazantsev <mkazantsev at azul.com>
  Date:   2022-09-19 (Mon, 19 Sep 2022)

  Changed paths:
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/test/Transforms/LoopFusion/double_loop_nest_inner_guard.ll
    M llvm/test/Transforms/LoopFusion/loop_nest.ll
    M llvm/test/Transforms/LoopFusion/triple_loop_nest_inner_guard.ll

  Log Message:
  -----------
  [SCEV] Verify contents of loop disposition cache

It seems that it is sometimes broken. Initial motivation for this was
investigation of https://github.com/llvm/llvm-project/issues/56260, but
it also seems that we have found an unrelated bug in LoopFusion that leaves
broken caches.

Differential Revision: https://reviews.llvm.org/D134158
Reviewed By: nikic


  Commit: 21a9abc1cebfd5022eb4eec754c257342d032d30
      https://github.com/llvm/llvm-project/commit/21a9abc1cebfd5022eb4eec754c257342d032d30
  Author: Max Kazantsev <mkazantsev at azul.com>
  Date:   2022-09-19 (Mon, 19 Sep 2022)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LoopFuse.cpp
    M llvm/test/Transforms/LoopFusion/double_loop_nest_inner_guard.ll
    M llvm/test/Transforms/LoopFusion/loop_nest.ll
    M llvm/test/Transforms/LoopFusion/triple_loop_nest_inner_guard.ll

  Log Message:
  -----------
  [LoopFuse] Drop loop dispositions before reassigning blocks to other loop

This bug was found by recent improvement in SCEV verifier. The code in LoopFuse
directly reassigns blocks to be a part of a different loop, which should automatically
invalidate all related cached loop dispositions.

Differential Revision: https://reviews.llvm.org/D134173
Reviewed By: nikic


Compare: https://github.com/llvm/llvm-project/compare/908b3b6ccb48...21a9abc1cebf


More information about the All-commits mailing list