[all-commits] [llvm/llvm-project] c413a8: [LoopLoadElim] Filter away candidates that stop be...

max-azul via All-commits all-commits at lists.llvm.org
Wed Sep 9 23:31:15 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: c413a8a8ecd3c0ef7bcb08525fd73eb1392a738c
      https://github.com/llvm/llvm-project/commit/c413a8a8ecd3c0ef7bcb08525fd73eb1392a738c
  Author: Max Kazantsev <mkazantsev at azul.com>
  Date:   2020-09-10 (Thu, 10 Sep 2020)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LoopLoadElimination.cpp
    M llvm/test/Transforms/LoopLoadElim/pr47457.ll

  Log Message:
  -----------
  [LoopLoadElim] Filter away candidates that stop being AddRecs after loop versioning. PR47457

The test in PR47457 demonstrates a situation when candidate load's pointer's SCEV
is no loger a SCEVAddRec after loop versioning. The code there assumes that it is
always a SCEVAddRec and crashes otherwise.

This patch makes sure that we do not consider candidates for which this requirement
is broken after the versioning.

Differential Revision: https://reviews.llvm.org/D87355
Reviewed By: asbirlea




More information about the All-commits mailing list