[all-commits] [llvm/llvm-project] 21abe2: [TableGen][PGO] Disable profile instrumentation fo...

xur-llvm via All-commits all-commits at lists.llvm.org
Thu Oct 14 13:43:09 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 21abe21280585401ce13d3217d051aa4bcfcc584
      https://github.com/llvm/llvm-project/commit/21abe21280585401ce13d3217d051aa4bcfcc584
  Author: Rong Xu <xur at google.com>
  Date:   2021-10-14 (Thu, 14 Oct 2021)

  Changed paths:
    M llvm/include/llvm/Support/Compiler.h
    M llvm/utils/TableGen/AsmWriterEmitter.cpp

  Log Message:
  -----------
  [TableGen][PGO] Disable profile instrumentation for printInstruction function

We are seeing extremely long time in building AMDGPUInstPrinter.cpp
when profile instrumentation is enabled: It takes more than 5 minutes
(compared to ~8 seconds in non-instrument build).

This caused by the huge statements in printInstruction functions. In
profile instrumentation build, we need have extra control flow to
differentiate each case statement. This in turn adds significant
compile time in block placement and branch folding.

Function printInstruction is not likely to benefit from PGO build
as it's rarely executed in a typical compilation. So here I disable
the profile instrumentation for this function.

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




More information about the All-commits mailing list