[all-commits] [llvm/llvm-project] baffd0: [StructurizeCFG][NewPM] Port -structurizecfg to NPM

aeubanks via All-commits all-commits at lists.llvm.org
Fri Oct 23 15:56:52 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: baffd052b0f7c6ce52cf958e39726545d8edddf2
      https://github.com/llvm/llvm-project/commit/baffd052b0f7c6ce52cf958e39726545d8edddf2
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2020-10-23 (Fri, 23 Oct 2020)

  Changed paths:
    M llvm/include/llvm/InitializePasses.h
    A llvm/include/llvm/Transforms/Scalar/StructurizeCFG.h
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/lib/Transforms/Scalar/Scalar.cpp
    M llvm/lib/Transforms/Scalar/StructurizeCFG.cpp
    M llvm/test/Transforms/StructurizeCFG/AMDGPU/uniform-regions.ll
    M llvm/test/Transforms/StructurizeCFG/interleaved-loop-order.ll
    M llvm/test/Transforms/StructurizeCFG/nested-loop-order.ll
    M llvm/test/Transforms/StructurizeCFG/switch.ll

  Log Message:
  -----------
  [StructurizeCFG][NewPM] Port -structurizecfg to NPM

This doesn't support -structurizecfg-skip-uniform-regions since that
would require porting LegacyDivergenceAnalysis.

The NPM doesn't support adding a non-analysis pass as a dependency of
another, so I had to add -lowerswitch to some tests or pin them to the
legacy PM.

This is the only RegionPass in tree, so I simply copied the logic for
finding all Regions from the legacy PM's RGManager into
StructurizeCFG::run().

Reviewed By: arsenm

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




More information about the All-commits mailing list