[all-commits] [llvm/llvm-project] 461a18: [PGO][AIX] Improve dummy var retention and allow -...

Wael Yehia via All-commits all-commits at lists.llvm.org
Fri Oct 21 09:33:38 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 461a1836d3d77371bb6271fefd645897997a22b8
      https://github.com/llvm/llvm-project/commit/461a1836d3d77371bb6271fefd645897997a22b8
  Author: Wael Yehia <wyehia at ca.ibm.com>
  Date:   2022-10-21 (Fri, 21 Oct 2022)

  Changed paths:
    M clang/lib/Driver/ToolChains/AIX.cpp
    M clang/lib/Driver/ToolChains/AIX.h
    M compiler-rt/lib/profile/InstrProfilingPlatformLinux.c
    M compiler-rt/lib/profile/InstrProfilingRuntime.cpp
    A compiler-rt/test/profile/AIX/lit.local.cfg.py
    A compiler-rt/test/profile/AIX/shared-bexpall-pgo.c
    M llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
    M llvm/test/Instrumentation/InstrProfiling/no-counters.ll
    M llvm/test/Instrumentation/InstrProfiling/profiling.ll

  Log Message:
  -----------
  [PGO][AIX] Improve dummy var retention and allow -bcdtors:csect linking.

1) Use a static array of pointer to retain the dummy vars.
2) Associate liveness of the array with that of the runtime hook variable
   __llvm_profile_runtime.
3) Perform the runtime initialization through the runtime hook variable.
4) Preserve the runtime hook variable using the -u linker flag.

Reviewed By: hubert.reinterpretcast

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




More information about the All-commits mailing list