[all-commits] [llvm/llvm-project] bd5249: [CSSPGO] Undoing the concept of dangling pseudo probe

Hongtao Yu via All-commits all-commits at lists.llvm.org
Fri Jun 18 15:14:49 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: bd52495518808bdbf24f4d8e9e20774d6d2e3333
      https://github.com/llvm/llvm-project/commit/bd52495518808bdbf24f4d8e9e20774d6d2e3333
  Author: Hongtao Yu <hoy at fb.com>
  Date:   2021-06-18 (Fri, 18 Jun 2021)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachineBasicBlock.h
    M llvm/include/llvm/IR/PseudoProbe.h
    M llvm/include/llvm/MC/MCPseudoProbe.h
    M llvm/include/llvm/Transforms/Utils/BasicBlockUtils.h
    M llvm/lib/CodeGen/BranchFolding.cpp
    M llvm/lib/CodeGen/MachineBasicBlock.cpp
    M llvm/lib/CodeGen/PseudoProbeInserter.cpp
    M llvm/lib/CodeGen/TailDuplicator.cpp
    M llvm/lib/IR/PseudoProbe.cpp
    M llvm/lib/Transforms/IPO/SampleProfile.cpp
    M llvm/lib/Transforms/IPO/SampleProfileProbe.cpp
    M llvm/lib/Transforms/Scalar/JumpThreading.cpp
    M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
    M llvm/lib/Transforms/Utils/Local.cpp
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/test/Transforms/SampleProfile/pseudo-probe-dangle.ll
    M llvm/test/Transforms/SampleProfile/pseudo-probe-dangle2.ll
    M llvm/test/Transforms/SampleProfile/pseudo-probe-dangle3.ll
    R llvm/test/Transforms/SampleProfile/pseudo-probe-dangling.mir
    R llvm/test/Transforms/SampleProfile/pseudo-probe-dedup.ll
    R llvm/test/tools/llvm-profgen/Inputs/inline-cs-dangling-pseudoprobe.perfscript
    M llvm/test/tools/llvm-profgen/Inputs/inline-cs-pseudoprobe.perfbin
    M llvm/test/tools/llvm-profgen/Inputs/noinline-cs-pseudoprobe.perfbin
    M llvm/test/tools/llvm-profgen/Inputs/recursion-compression-pseudoprobe.perfbin
    M llvm/test/tools/llvm-profgen/Inputs/truncated-pseudoprobe.ll
    M llvm/test/tools/llvm-profgen/Inputs/truncated-pseudoprobe.perfbin
    M llvm/test/tools/llvm-profgen/Inputs/truncated-pseudoprobe.perfscript
    M llvm/test/tools/llvm-profgen/Inputs/unique-linkage-name-probe.perfbin
    M llvm/test/tools/llvm-profgen/fname-canonicalization.test
    R llvm/test/tools/llvm-profgen/inline-cs-dangling-pseudoprobe.test
    M llvm/test/tools/llvm-profgen/inline-cs-pseudoprobe.test
    M llvm/test/tools/llvm-profgen/merge-cold-profile.test
    M llvm/test/tools/llvm-profgen/noinline-cs-pseudoprobe.test
    M llvm/test/tools/llvm-profgen/pseudoprobe-decoding.test
    M llvm/test/tools/llvm-profgen/recursion-compression-pseudoprobe.test
    M llvm/tools/llvm-profgen/ProfileGenerator.cpp
    M llvm/tools/llvm-profgen/PseudoProbe.cpp
    M llvm/tools/llvm-profgen/PseudoProbe.h

  Log Message:
  -----------
  [CSSPGO] Undoing the concept of dangling pseudo probe

As a follow-up to https://reviews.llvm.org/D104129, I'm cleaning up the danling probe related code in both the compiler and llvm-profgen.

I'm seeing a 5% size win for the pseudo_probe section for SPEC2017 and 10% for Ciner. Certain benchmark such as 602.gcc has a 20% size win. No obvious difference seen on build time for SPEC2017 and Cinder.

Reviewed By: wenlei

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




More information about the All-commits mailing list