[PATCH] D59514: [PGO] Profile guided code size optimization.

Hiroshi Yamauchi via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Mar 18 14:23:07 PDT 2019


yamauchi created this revision.
yamauchi added a reviewer: davidxl.
Herald added subscribers: dexonsmith, steven_wu, zzheng, eraman, mehdi_amini.
Herald added a project: LLVM.

Enable some of the existing size optimizations for cold code under PGO.

A ~5% code size saving in big internal app under PGO.

The way it gets BFI/PSI is discussed in the RFC thread

http://lists.llvm.org/pipermail/llvm-dev/2019-March/130894.html

Note it doesn't currently touch loop passes.


Repository:
  rL LLVM

https://reviews.llvm.org/D59514

Files:
  include/llvm/Analysis/ProfileSummaryInfo.h
  include/llvm/Transforms/Scalar/ConstantHoisting.h
  include/llvm/Transforms/Utils/SimplifyLibCalls.h
  include/llvm/Transforms/Utils/UnrollLoop.h
  include/llvm/Transforms/Vectorize/LoopVectorize.h
  lib/Analysis/ProfileSummaryInfo.cpp
  lib/Passes/PassBuilder.cpp
  lib/Transforms/InstCombine/InstCombineCalls.cpp
  lib/Transforms/InstCombine/InstCombineInternal.h
  lib/Transforms/InstCombine/InstructionCombining.cpp
  lib/Transforms/Scalar/ConstantHoisting.cpp
  lib/Transforms/Scalar/LoopLoadElimination.cpp
  lib/Transforms/Scalar/LoopUnrollAndJamPass.cpp
  lib/Transforms/Scalar/LoopUnrollPass.cpp
  lib/Transforms/Utils/SimplifyLibCalls.cpp
  lib/Transforms/Vectorize/LoopVectorize.cpp
  test/Other/new-pm-defaults.ll
  test/Other/new-pm-lto-defaults.ll
  test/Other/new-pm-thinlto-defaults.ll
  test/Other/opt-O2-pipeline.ll
  test/Other/opt-O3-pipeline.ll
  test/Other/opt-Os-pipeline.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D59514.191176.patch
Type: text/x-patch
Size: 39397 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190318/a1e5ae1b/attachment.bin>


More information about the llvm-commits mailing list