[all-commits] [llvm/llvm-project] ba0265: [OpenMPIRBuilder] Various changes required for til...

Michael Kruse via All-commits all-commits at lists.llvm.org
Fri Dec 11 09:38:05 PST 2020


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: ba0265a8d86575f4f0d893555c87bdfd944742ce
      https://github.com/llvm/llvm-project/commit/ba0265a8d86575f4f0d893555c87bdfd944742ce
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2020-12-11 (Fri, 11 Dec 2020)

  Changed paths:
    M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp

  Log Message:
  -----------
  [OpenMPIRBuilder] Various changes required for tileLoops.

Extract some changes not directly related to tileLoops out of D92974:
 * Refactor `createLoopSkeleton` out of `createCanonicalLoop`.
 * Introduce `ComputeIP` parameter to the `createCanonicalLoop` overload inserts instructions to compute the trip count. Specifying the location is necessary to make these instructions appear before the outermost loop of a loop nest that is tiled.
 * Introduce `Name` parameter to `createCanonicalLoop`. This can help better understanding the origin of values of basic blocks with many loops. The default value is "loop" instead of "for" which could be confused with the "for directive" (aka worksharing-loop) and does not apply to Fortran.
 * Remove `CanonicalLoopInfo::eraseFromParent` which is currently unused and untested and was added in anticipation to be used by `tileLoops`. `eraseFromParent` has shown to be insufficient when more than a single loop is involved and is replaced by `removeUnusedBlocksFromParent` in D92974.

Reviewed By: SouraVX

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




More information about the All-commits mailing list