[all-commits] [llvm/llvm-project] 098a0d: [CSSPGO] Unblock optimizations with pseudo probe i...

Hongtao Yu via All-commits all-commits at lists.llvm.org
Tue Oct 12 09:44:32 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 098a0d8fbc4ea1c687dd68e445bd0f95e7d9d4ae
      https://github.com/llvm/llvm-project/commit/098a0d8fbc4ea1c687dd68e445bd0f95e7d9d4ae
  Author: Hongtao Yu <hoy at fb.com>
  Date:   2021-10-12 (Tue, 12 Oct 2021)

  Changed paths:
    M llvm/include/llvm/IR/BasicBlock.h
    M llvm/lib/Analysis/InlineCost.cpp
    M llvm/lib/Analysis/MemorySSA.cpp
    M llvm/lib/CodeGen/Analysis.cpp
    M llvm/lib/IR/User.cpp
    M llvm/lib/Transforms/IPO/GlobalDCE.cpp
    M llvm/lib/Transforms/IPO/GlobalOpt.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/lib/Transforms/Scalar/EarlyCSE.cpp
    M llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
    M llvm/lib/Transforms/Utils/CloneFunction.cpp
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    A llvm/test/Transforms/SampleProfile/pseudo-probe-cse.ll
    A llvm/test/Transforms/SampleProfile/pseudo-probe-loop-deletion.ll

  Log Message:
  -----------
  [CSSPGO] Unblock optimizations with pseudo probe instrumentation part 3.

This patch continues unblocking optimizations that are blocked by pseudo probe instrumentation.

Not exactly like DbgIntrinsics, PseudoProbe intrinsic has other attributes (such as mayread, maywrite, mayhaveSideEffect) that can block optimizations. The issues fixed are:
- Flipped default param of getFirstNonPHIOrDbg API to skip pseudo probes
- Unblocked CSE by avoiding pseudo probe from clobbering memory SSA
- Unblocked induction variable simpliciation
- Allow empty loop deletion by treating probe intrinsic isDroppable
- Some refactoring.

Reviewed By: wenlei

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




More information about the All-commits mailing list