[all-commits] [llvm/llvm-project] 50da55: [PGO] Supporting code for always instrumenting ent...

xur-llvm via All-commits all-commits at lists.llvm.org
Wed Jul 22 15:03:50 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 50da55a58534e9207d8d5e31c8b4b5cf0c624175
      https://github.com/llvm/llvm-project/commit/50da55a58534e9207d8d5e31c8b4b5cf0c624175
  Author: Rong Xu <xur at google.com>
  Date:   2020-07-22 (Wed, 22 Jul 2020)

  Changed paths:
    A clang/test/CodeGenCXX/Inputs/profile-remap_entry.proftext
    M clang/test/CodeGenCXX/profile-remap.cpp
    A clang/test/Profile/Inputs/gcc-flag-compatibility_IR_entry.proftext
    M clang/test/Profile/gcc-flag-compatibility.c
    M llvm/include/llvm/ProfileData/InstrProf.h
    M llvm/include/llvm/ProfileData/InstrProfData.inc
    M llvm/include/llvm/ProfileData/InstrProfReader.h
    M llvm/include/llvm/ProfileData/InstrProfWriter.h
    M llvm/lib/ProfileData/InstrProf.cpp
    M llvm/lib/ProfileData/InstrProfReader.cpp
    M llvm/lib/ProfileData/InstrProfWriter.cpp
    M llvm/lib/Transforms/Instrumentation/CFGMST.h
    M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
    A llvm/test/Transforms/PGOProfile/Inputs/branch2_entry.proftext
    A llvm/test/Transforms/PGOProfile/Inputs/criticaledge_entry.proftext
    M llvm/test/Transforms/PGOProfile/Inputs/func_entry.proftext
    A llvm/test/Transforms/PGOProfile/Inputs/indirectbr_entry.proftext
    A llvm/test/Transforms/PGOProfile/Inputs/irreducible_entry.proftext
    A llvm/test/Transforms/PGOProfile/Inputs/landingpad_entry.proftext
    A llvm/test/Transforms/PGOProfile/Inputs/loop1_entry.proftext
    A llvm/test/Transforms/PGOProfile/Inputs/loop2_entry.proftext
    A llvm/test/Transforms/PGOProfile/Inputs/misexpect-branch_entry.proftext
    A llvm/test/Transforms/PGOProfile/Inputs/misexpect-switch-correct_entry.proftext
    A llvm/test/Transforms/PGOProfile/Inputs/misexpect-switch_entry.proftext
    M llvm/test/Transforms/PGOProfile/Inputs/select1.proftext
    M llvm/test/Transforms/PGOProfile/Inputs/select2.proftext
    A llvm/test/Transforms/PGOProfile/Inputs/switch_entry.proftext
    M llvm/test/Transforms/PGOProfile/branch2.ll
    M llvm/test/Transforms/PGOProfile/counter_promo_exit_catchswitch.ll
    M llvm/test/Transforms/PGOProfile/criticaledge.ll
    M llvm/test/Transforms/PGOProfile/cspgo_profile_summary.ll
    M llvm/test/Transforms/PGOProfile/indirectbr.ll
    M llvm/test/Transforms/PGOProfile/irreducible.ll
    M llvm/test/Transforms/PGOProfile/landingpad.ll
    M llvm/test/Transforms/PGOProfile/loop1.ll
    M llvm/test/Transforms/PGOProfile/loop2.ll
    M llvm/test/Transforms/PGOProfile/misexpect-branch-stripped.ll
    M llvm/test/Transforms/PGOProfile/misexpect-branch.ll
    M llvm/test/Transforms/PGOProfile/misexpect-switch-default.ll
    M llvm/test/Transforms/PGOProfile/misexpect-switch.ll
    M llvm/test/Transforms/PGOProfile/switch.ll
    M llvm/test/Transforms/PGOProfile/thinlto_cspgo_use.ll
    A llvm/test/tools/llvm-profdata/Inputs/header-directives-1.proftext
    A llvm/test/tools/llvm-profdata/Inputs/header-directives-2.proftext
    A llvm/test/tools/llvm-profdata/Inputs/header-directives-3.proftext
    A llvm/test/tools/llvm-profdata/header-directives.test
    M llvm/tools/llvm-profdata/llvm-profdata.cpp

  Log Message:
  -----------
  [PGO] Supporting code for always instrumenting entry block

This patch includes the supporting code that enables always
instrumenting the function entry block by default.

This patch will NOT the default behavior.

It adds a variant bit in the profile version, adds new directives in
text profile format, and changes llvm-profdata tool accordingly.

This patch is a split of D83024 (https://reviews.llvm.org/D83024)
Many test changes from D83024 are also included.

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




More information about the All-commits mailing list