[all-commits] [llvm/llvm-project] d4ba28: Expand existing loopsink testing to also test loop...

jamieschmeiser via All-commits all-commits at lists.llvm.org
Wed Nov 18 11:09:52 PST 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: d4ba28bddc89a14885218b9eaa4fbf6654c2a5bd
      https://github.com/llvm/llvm-project/commit/d4ba28bddc89a14885218b9eaa4fbf6654c2a5bd
  Author: Jamie Schmeiser <schmeise at ca.ibm.com>
  Date:   2020-11-18 (Wed, 18 Nov 2020)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LICM.cpp
    M llvm/lib/Transforms/Scalar/LoopSink.cpp
    M llvm/test/Transforms/LICM/loopsink-pr38462.ll
    M llvm/test/Transforms/LICM/loopsink-pr39570.ll
    M llvm/test/Transforms/LICM/loopsink-pr39695.ll
    M llvm/test/Transforms/LICM/loopsink.ll

  Log Message:
  -----------
  Expand existing loopsink testing to also test loopsinking using new pass manager and fix LICM bug.
Summary:
Expand existing loopsink testing to also test loopsinking using new pass
manager.  Enable memoryssa for loopsink with new pass manager.  This
combination exposed a bug that was previously fixed for loopsink
without memoryssa.  When sinking an instruction into a loop, the source
block may not be part of the loop but still needs to be checked for
pointer invalidation.  This is the fix for bugzilla #39695 (PR 54659)
expanded to also work with memoryssa.

Respond to review comments.  Enable Memory SSA in legacy Loop Sink pass
under EnableMSSALoopDependency option control.  Update tests accordingly.

Respond to review comments.  Add options controlling whether memoryssa is
used for loop sink, defaulting to off.  Expand testing based on these
options.

Respond to review comments.  Properly indicated preserved analyses.

Author: Jamie Schmeiser <schmeise at ca.ibm.com>
Reviewed By: asbirlea (Alina Sbirlea)
Differential Revision: https://reviews.llvm.org/D90249




More information about the All-commits mailing list