[all-commits] [llvm/llvm-project] 384996: [IndVarSimplify] Fix Modified status when handling...

David via All-commits all-commits at lists.llvm.org
Thu Nov 26 05:29:05 PST 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 384996f9e18ff3b7fa35b2083bf352c64b05c7bc
      https://github.com/llvm/llvm-project/commit/384996f9e18ff3b7fa35b2083bf352c64b05c7bc
  Author: David Stenberg <david.stenberg at ericsson.com>
  Date:   2020-11-26 (Thu, 26 Nov 2020)

  Changed paths:
    M llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
    A llvm/test/Transforms/IndVarSimplify/rewrite-loop-exit-values-phi.ll

  Log Message:
  -----------
  [IndVarSimplify] Fix Modified status when handling dead PHI nodes

When bailing out in rewriteLoopExitValues() you could be left with PHI
nodes in the DeadInsts vector. Those would be not handled by the use of
RecursivelyDeleteTriviallyDeadInstructions() in IndVarSimplify. This
resulted in the IndVarSimplify pass returning an incorrect modified
status. This was caught by the expensive check introduced in D86589.

This patches changes IndVarSimplify so that it deletes those PHI nodes,
using RecursivelyDeleteDeadPHINode().

This fixes PR47486.

Reviewed By: mkazantsev

Differential Revision: https://reviews.llvm.org/D91153




More information about the All-commits mailing list