[all-commits] [llvm/llvm-project] 954bd9: [NewPM] Only verify loop for nonskipped user loop ...

Yuanfang Chen via All-commits all-commits at lists.llvm.org
Fri Aug 7 11:01:09 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 954bd9c861218357977f88b9678c7b1df515e14a
      https://github.com/llvm/llvm-project/commit/954bd9c861218357977f88b9678c7b1df515e14a
  Author: Yuanfang Chen <yuanfang.chen at sony.com>
  Date:   2020-08-07 (Fri, 07 Aug 2020)

  Changed paths:
    M llvm/include/llvm/IR/PassInstrumentation.h
    M llvm/include/llvm/Transforms/Scalar/LoopPassManager.h
    M llvm/lib/Transforms/Scalar/LoopPassManager.cpp
    M llvm/test/Feature/optnone-opt.ll

  Log Message:
  -----------
  [NewPM] Only verify loop for nonskipped user loop pass

No verification for pass mangers since it is not needed.
No verification for skipped loop pass since the asserted condition is not used.

Add a BeforeNonSkippedPass callback for this. The callback needs more
inputs than its parameters to work so the callback is added on-the-fly.

Reviewed By: aeubanks, asbirlea

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


  Commit: 911565d1085d9447363fe8ad041817436c4998fe
      https://github.com/llvm/llvm-project/commit/911565d1085d9447363fe8ad041817436c4998fe
  Author: Yuanfang Chen <yuanfang.chen at sony.com>
  Date:   2020-08-07 (Fri, 07 Aug 2020)

  Changed paths:
    A llvm/include/llvm/CodeGen/MachinePassManager.h
    M llvm/include/llvm/IR/PassManager.h
    M llvm/lib/CodeGen/CMakeLists.txt
    M llvm/lib/CodeGen/LLVMBuild.txt
    A llvm/lib/CodeGen/MachinePassManager.cpp
    M llvm/unittests/CodeGen/CMakeLists.txt
    A llvm/unittests/CodeGen/PassManagerTest.cpp

  Log Message:
  -----------
  [NewPM][CodeGen] Introduce machine pass and machine pass manager

machine pass could define four methods:
- `PreservedAnalyses run(MachineFunction &, MachineFunctionAnalysisManager &)`
- `Error doInitialization(Module &, MachineFunctionAnalysisManager &)`
- `Error doFinalization(Module &, MachineFunctionAnalysisManager &)`
- `Error run(Module &, MachineFunctionAnalysisManager &)`

machine pass manger:
- MachineFunctionAnalysisManager:
  Basically an AnalysisManager<MachineFunction> augmented with the ability to
  register and query IR analyses
- MachineFunctionPassManager: support only two methods, `addPass` and `run`

Reviewed By: arsenm, asbirlea, aeubanks

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


Compare: https://github.com/llvm/llvm-project/compare/382df1c6744d...911565d1085d


More information about the All-commits mailing list