aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
diff options
context:
space:
mode:
authorHongtao Yu <hoy@fb.com>2023-01-25 22:26:47 -0800
committerHongtao Yu <hoy@fb.com>2023-01-30 13:26:56 -0800
commit950487bddf1922c87559339a24cf5a77ad59c363 (patch)
tree32157f5c65d4c5f3bbced5f44b9590eb0267146d /llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
parentbab1a14cccd4a7d7f04b28ab8e545fcdf408a18e (diff)
downloadllvm-950487bddf1922c87559339a24cf5a77ad59c363.zip
llvm-950487bddf1922c87559339a24cf5a77ad59c363.tar.gz
llvm-950487bddf1922c87559339a24cf5a77ad59c363.tar.bz2
[Pseudo Probe] Do not instrument EH blocks.
This change avoids inserting probes to EH blocks. Pseudo probe can prevent block merging when probes in the blocks look different. This has a chained effect to passes incurring exponential IR growth (such as jump threading) and as a consequence the compilation may time out. Not inserting probes to EH blocks could mitigate the issue. Another benefit is that both IR size and binary size are smaller. Since EH blocks are usually cold, the change should have minimal impact to profile quality. Testing: Out of two internal large benchmarks, no perf impact seen. 1% size savings to both the `text` and the `pseudo_probe` section. Reviewed By: wenlei Differential Revision: https://reviews.llvm.org/D142747
Diffstat (limited to 'llvm/lib/ProfileData/Coverage/CoverageMapping.cpp')
0 files changed, 0 insertions, 0 deletions