diff options
author | Hongtao Yu <hoy@fb.com> | 2022-04-07 17:56:45 -0700 |
---|---|---|
committer | Hongtao Yu <hoy@fb.com> | 2022-04-07 21:42:01 -0700 |
commit | 8a0406dcc8ec601e5612638a9d5ca049637c9366 (patch) | |
tree | a5d37f764c943e29aaa4a210612cc9ef026c89a6 /clang/lib/Frontend/TestModuleFileExtension.cpp | |
parent | 208f93c1fd88371acbed8a69747b8f83d6e922ad (diff) | |
download | llvm-8a0406dcc8ec601e5612638a9d5ca049637c9366.zip llvm-8a0406dcc8ec601e5612638a9d5ca049637c9366.tar.gz llvm-8a0406dcc8ec601e5612638a9d5ca049637c9366.tar.bz2 |
[llvm-profgen] Filter out invalid LBR ranges.
The profiler can sometimes give us a LBR trace that implicates bogus code ranges. For example,
0xc5acb56/0xc66c6c0 0xc628195/0xf31fbb0 0xc611261/0xc628130 0xc5c1a21/0xc6111c0 0x1f7edfd3/0xc5c3a50 0xc5c154f/0x1f7edec0 0xe8eed07/0xc5c11e0
, note that the first two pairs are supposed to form a linear execution range, in this case, it is [0xf31fbb0, 0xc5acb56] , which doesn't make sense.
Such bogus ranges should be ruled out to avoid generating a bad profile. I'm fixing this for both CS and non-CS cases.
Reviewed By: wenlei
Differential Revision: https://reviews.llvm.org/D123271
Diffstat (limited to 'clang/lib/Frontend/TestModuleFileExtension.cpp')
0 files changed, 0 insertions, 0 deletions