Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

i#6662 public traces, part 2: encoding_filter #6663

Merged
merged 61 commits into from
May 6, 2024

Conversation

edeiana
Copy link
Contributor

@edeiana edeiana commented Feb 21, 2024

New record_filter_t::record_filter_func_t filter, which we call "encodings2regdeps", that modifies the encoding of
trace_entry_t records from a real ISA to the synthetic regdeps ISA.

"encodings2regdeps" can add or remove trace_entry_t records that contain encodings depending on the regdeps
encoding size. Note that "encodings2regdeps" only changes the encoding of instructions, but it does not adjust
their length (or changes the instruction PC), hence the output trace will have encoding sizes that do not match the
instruction length. For this reason we disable the encoding size vs instruction length check in reader_t when the
trace has DR_ISA_REGDEPS encodings.

This filter is part of the "record_filter" tool and can be invoked with:

drrun -t drcachesim -simulator_type record_filter -filter_encodings2regdeps -indir path/to/input/trace -outdir path/to/output/trace

Issue: #6662

Simple record_filter_t::record_filter_func_t filter
that modifies a field of every trace_entry_t record
in a trace and leverages record_filter to output such
modified records onto a "filtered" output trace.

Issue: #6662
@edeiana edeiana changed the title i#6662 public traces, part 1: encoding_filter i#6662 public traces, part 2: encoding_filter Mar 6, 2024
@edeiana edeiana marked this pull request as draft April 15, 2024 20:08
@edeiana edeiana marked this pull request as ready for review April 25, 2024 10:35
clients/drcachesim/tools/filter/encoding_filter.h Outdated Show resolved Hide resolved
clients/drcachesim/tools/filter/encoding_filter.h Outdated Show resolved Hide resolved
clients/drcachesim/tools/filter/encoding_filter.h Outdated Show resolved Hide resolved
clients/drcachesim/tools/filter/record_filter.cpp Outdated Show resolved Hide resolved
clients/drcachesim/tools/filter/encoding_filter.h Outdated Show resolved Hide resolved
clients/drcachesim/common/options.cpp Outdated Show resolved Hide resolved
clients/drcachesim/reader/reader.cpp Outdated Show resolved Hide resolved
clients/drcachesim/tests/record_filter_unit_tests.cpp Outdated Show resolved Hide resolved
clients/drcachesim/tools/filter/record_filter.cpp Outdated Show resolved Hide resolved
clients/drcachesim/tools/filter/record_filter.h Outdated Show resolved Hide resolved
@edeiana edeiana requested a review from derekbruening May 1, 2024 13:42
clients/drcachesim/common/options.cpp Outdated Show resolved Hide resolved
clients/drcachesim/common/trace_entry.h Outdated Show resolved Hide resolved
clients/drcachesim/common/trace_entry.h Show resolved Hide resolved
clients/drcachesim/reader/reader.cpp Outdated Show resolved Hide resolved
clients/drcachesim/tools/filter/record_filter.cpp Outdated Show resolved Hide resolved
clients/drcachesim/tools/filter/record_filter.cpp Outdated Show resolved Hide resolved
core/ir/x86/decode_table.c Outdated Show resolved Hide resolved
core/ir/x86/decode_table.c Outdated Show resolved Hide resolved
clients/drcachesim/tests/record_filter_unit_tests.cpp Outdated Show resolved Hide resolved
@edeiana edeiana requested a review from derekbruening May 2, 2024 10:40
api/docs/release.dox Show resolved Hide resolved
clients/drcachesim/CMakeLists.txt Outdated Show resolved Hide resolved
clients/drcachesim/tests/record_filter_unit_tests.cpp Outdated Show resolved Hide resolved
@edeiana edeiana requested a review from derekbruening May 3, 2024 22:16
clients/drcachesim/common/trace_entry.h Outdated Show resolved Hide resolved
clients/drcachesim/tests/record_filter_unit_tests.cpp Outdated Show resolved Hide resolved
@edeiana edeiana merged commit 35c15c9 into master May 6, 2024
16 checks passed
@edeiana edeiana deleted the i6662-public-record-filter branch May 6, 2024 12:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants