[all-commits] [llvm/llvm-project] 9f732a: [llvm-profgen] Filter out oversized LBR ranges.
Hongtao Yu via All-commits
all-commits at lists.llvm.org
Thu May 12 10:59:33 PDT 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 9f732af583c0dba58847b753a87cc5432ec33f09
https://github.com/llvm/llvm-project/commit/9f732af583c0dba58847b753a87cc5432ec33f09
Author: Hongtao Yu <hoy at fb.com>
Date: 2022-05-12 (Thu, 12 May 2022)
Changed paths:
M llvm/test/tools/llvm-profgen/Inputs/invalid-range.perfscript
M llvm/test/tools/llvm-profgen/invalid-range.test
M llvm/tools/llvm-profgen/PerfReader.cpp
M llvm/tools/llvm-profgen/PerfReader.h
M llvm/tools/llvm-profgen/ProfiledBinary.cpp
M llvm/tools/llvm-profgen/ProfiledBinary.h
Log Message:
-----------
[llvm-profgen] Filter out oversized LBR ranges.
As a follow up to {D123271}, LBR ranges that are too big should also be considered as invalid.
For example, the last two pairs in the following trace form a range [0x0d7b02b0, 0x368ba706] that covers a ton of functions in the binary. Such oversized range should also be ignored.
0x0c74505f/0x368b99a0 **0x368ba706**/0x0c745040 0x0d7b1c3f/**0x0d7b02b0**
Add a defensive check to filter out those ranges based that the valid range should not cross the unconditional branch(Call, return, unconditional jmp).
Reviewed By: hoy, wenlei
Differential Revision: https://reviews.llvm.org/D125448
More information about the All-commits
mailing list