diff options
author | Eduard Zingerman <eddyz87@gmail.com> | 2023-06-13 18:38:21 +0300 |
---|---|---|
committer | Andrii Nakryiko <andrii@kernel.org> | 2023-06-13 15:14:27 -0700 |
commit | 904e6ddf4133c52fdb9654c2cd2ad90f320d48b9 (patch) | |
tree | f058b54d3abf0198d69d18f11943f17db132e9d3 /tools/perf/scripts/python/exported-sql-viewer.py | |
parent | 25085b4e9251c77758964a8e8651338972353642 (diff) |
bpf: Use scalar ids in mark_chain_precision()
Change mark_chain_precision() to track precision in situations
like below:
r2 = unknown value
...
--- state #0 ---
...
r1 = r2 // r1 and r2 now share the same ID
...
--- state #1 {r1.id = A, r2.id = A} ---
...
if (r2 > 10) goto exit; // find_equal_scalars() assigns range to r1
...
--- state #2 {r1.id = A, r2.id = A} ---
r3 = r10
r3 += r1 // need to mark both r1 and r2
At the beginning of the processing of each state, ensure that if a
register with a scalar ID is marked as precise, all registers sharing
this ID are also marked as precise.
This property would be used by a follow-up change in regsafe().
Signed-off-by: Eduard Zingerman <eddyz87@gmail.com>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Acked-by: Andrii Nakryiko <andrii@kernel.org>
Link: https://lore.kernel.org/bpf/20230613153824.3324830-2-eddyz87@gmail.com
Diffstat (limited to 'tools/perf/scripts/python/exported-sql-viewer.py')
0 files changed, 0 insertions, 0 deletions