This is an archive of the discontinued LLVM Phabricator instance.

Temporarily revert D83903 "[PGO] Enable the extended value profile buckets for mem op sizes."
ClosedPublic

Authored by MaskRay on Jul 22 2020, 1:03 PM.

Details

Summary

__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.

Diff Detail

Event Timeline

MaskRay created this revision.Jul 22 2020, 1:03 PM
Herald added a project: Restricted Project. · View Herald TranscriptJul 22 2020, 1:03 PM
MaskRay edited the summary of this revision. (Show Details)Jul 22 2020, 1:03 PM
hjyamauchi accepted this revision.Jul 22 2020, 1:06 PM
This revision is now accepted and ready to land.Jul 22 2020, 1:06 PM
This revision was automatically updated to reflect the committed changes.