[all-commits] [llvm/llvm-project] 5724c8: Temporarily revert D83903 "[PGO] Enable the extend...

Fangrui Song via All-commits all-commits at lists.llvm.org
Wed Jul 22 13:12:43 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 5724c8ba29baef986a4a9ee77df98f638ee9e641
      https://github.com/llvm/llvm-project/commit/5724c8ba29baef986a4a9ee77df98f638ee9e641
  Author: Fangrui Song <maskray at google.com>
  Date:   2020-07-22 (Wed, 22 Jul 2020)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp

  Log Message:
  -----------
  Temporarily revert D83903 "[PGO] Enable the extended value profile buckets for mem op sizes."

`__llvm_profile_instrument_memop` transitively calls calloc, thus calloc
should not be instrumented.

I saw a
`calloc -> __llvm_profile_instrument_memop -> calloc -> __llvm_profile_instrument_memop -> ...`
infinite loop leading to stack overflow
when the malloc implementation (e.g. tcmalloc) is built and instrumented along with the application.

We should figure out the library calls which may be instrumented and disable
their instrumentation before rolling out this change.

Reviewed By: yamauchi

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




More information about the All-commits mailing list