[PATCH] D99123: [SampleFDO] Flow Sensitive Sample FDO (FSAFDO)

Rong Xu via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Mar 22 15:36:08 PDT 2021


xur created this revision.
xur added reviewers: davidxl, wmi, hoy, snehasish.
Herald added subscribers: dexonsmith, wenlei, pengfei, steven_wu, zzheng, hiraditya, mgorny.
xur requested review of this revision.
Herald added a project: LLVM.

This patch implements Flow Sensitive Sample FDO (FSAFDO). It has the following
changes:
(1) disable current discriminator coding scheme.
(2) new hierarchical discriminator for FSAFDO
(3) FSAFDO profile loader.

For this patch, "-enable-fs-discriminator=true" turns on the new functionality.
"-enable-fs-discriminator=false" (the default) keeps current Sample FDO behavior.

This patch is not intended for check-in. I post it  mainly to get the advises on to break
into smaller patches. Also because of this, I did not include the test cases.


https://reviews.llvm.org/D99123

Files:
  llvm/include/llvm/CodeGen/FlowSensitiveSampleProfile.h
  llvm/include/llvm/CodeGen/MachineDominators.h
  llvm/include/llvm/CodeGen/MachineOptimizationRemarkEmitter.h
  llvm/include/llvm/CodeGen/Passes.h
  llvm/include/llvm/IR/DebugInfoMetadata.h
  llvm/include/llvm/InitializePasses.h
  llvm/include/llvm/LTO/Config.h
  llvm/include/llvm/ProfileData/SampleProfReader.h
  llvm/include/llvm/Support/FSAFDODiscriminator.h
  llvm/include/llvm/Transforms/Utils/SampleProfileLoaderBaseImpl.h
  llvm/lib/CodeGen/CMakeLists.txt
  llvm/lib/CodeGen/FlowSensitiveSampleProfile.cpp
  llvm/lib/CodeGen/TargetPassConfig.cpp
  llvm/lib/LTO/LTOBackend.cpp
  llvm/lib/Passes/PassBuilder.cpp
  llvm/lib/ProfileData/SampleProf.cpp
  llvm/lib/ProfileData/SampleProfReader.cpp
  llvm/lib/Target/X86/X86InsertPrefetch.cpp
  llvm/lib/Transforms/IPO/SampleProfile.cpp
  llvm/lib/Transforms/Utils/LoopUnroll.cpp
  llvm/lib/Transforms/Utils/LoopUnrollAndJam.cpp
  llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
  llvm/tools/llvm-profdata/llvm-profdata.cpp
  llvm/unittests/ProfileData/SampleProfTest.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D99123.332450.patch
Type: text/x-patch
Size: 60627 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210322/8fa82cd1/attachment-0001.bin>


More information about the llvm-commits mailing list