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

GH-111485: Generate instruction and uop metadata #113287

Merged
merged 55 commits into from
Dec 20, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
39ff3bd
Port metadata generation to new architecture. Work in progress
markshannon Dec 13, 2023
bc46f0d
Merge branch 'main' into generate-uop-metadata
markshannon Dec 13, 2023
33357d0
Reduce diff
markshannon Dec 13, 2023
45218aa
Add expansion table
markshannon Dec 14, 2023
d81585d
Reorganise a bit to reduce output diff
markshannon Dec 14, 2023
b371413
Reorganise a bit to reduce output diff
markshannon Dec 14, 2023
2072a60
Reorganise a bit to reduce output diff
markshannon Dec 14, 2023
2831b75
Reorganise a bit to reduce output diff
markshannon Dec 14, 2023
e8014d2
Reorganise a bit to reduce output diff
markshannon Dec 14, 2023
04ffe4e
Reorganise a bit to reduce output diff
markshannon Dec 14, 2023
1c51db3
Reorganise a bit to reduce output diff
markshannon Dec 14, 2023
f38d34b
Reorganise a bit to reduce output diff
markshannon Dec 14, 2023
ff553ae
Fixup expansion table generation
markshannon Dec 14, 2023
e35ff9b
Fixup expansion table generation
markshannon Dec 14, 2023
15d5f7e
Add EXTRA_CASES
markshannon Dec 14, 2023
6ac49df
Sort deopts
markshannon Dec 14, 2023
78a009d
fix whitespace
markshannon Dec 14, 2023
7a71863
Add INSTRUMENTED_LINE
markshannon Dec 14, 2023
22acca3
Add pop/push stack effect functions
markshannon Dec 14, 2023
2bbae3f
Add OPARG macros
markshannon Dec 14, 2023
f0b96a8
Fixes
markshannon Dec 14, 2023
31d1333
Tidy up stack_effect function
markshannon Dec 14, 2023
68ed8f3
Merge branch 'main' into generate-uop-metadata
markshannon Dec 14, 2023
d8c973a
Exclude tier1-only from uop expansions
markshannon Dec 14, 2023
e353181
More fixes
markshannon Dec 14, 2023
7c3bda1
Merge branch 'main' into generate-uop-metadata
markshannon Dec 14, 2023
2546bb2
Generate Python file
markshannon Dec 14, 2023
0413a49
Compute opmap during analysis phase
markshannon Dec 14, 2023
f06245f
Add Python metadata generator
markshannon Dec 14, 2023
3c80ec0
Generate metadata for psuedo-instructions as well
markshannon Dec 14, 2023
48d129c
Add HAS_EVAL_BREAK_FLAG
markshannon Dec 14, 2023
e4b7294
Merge branch 'main' into generate-uop-metadata
markshannon Dec 14, 2023
7c476ce
Make pseudo flags union of targets and explicit flags
markshannon Dec 14, 2023
cecddf8
Fix handling of jumps in uops and skip specializing uops in expansions
markshannon Dec 14, 2023
05a48ec
Reject unused cache entries in ops
markshannon Dec 14, 2023
9c10d7c
Only emit caches sizes for non-specialized instructions
markshannon Dec 14, 2023
062c7c1
Keep flag order the same
markshannon Dec 14, 2023
436ad9b
Revert counter to unused
markshannon Dec 14, 2023
495915e
Mark replaced uops in expansion table
markshannon Dec 14, 2023
39f070d
Keep the tools happy
markshannon Dec 14, 2023
8b5ae91
Auto-format files
markshannon Dec 14, 2023
3baa0bb
Move calculation of HAVE_ARG and MIN_INSTRUMENTED to analyzer
markshannon Dec 14, 2023
4c15c01
Fix test
markshannon Dec 14, 2023
54ce18b
Fix stats
markshannon Dec 15, 2023
8bcf26e
Merge code to create opmap and calculate HAVE_ARG and MIN_INSTRUMENTED
markshannon Dec 15, 2023
897d9b3
Reformat makefile a bit
markshannon Dec 15, 2023
0c131a1
use better names
markshannon Dec 15, 2023
d8d7d26
Move #include
markshannon Dec 15, 2023
8f32aa0
Better comment
markshannon Dec 15, 2023
e04ce0c
Remove unused imports and fix typo
markshannon Dec 15, 2023
7e47f75
DRY
markshannon Dec 15, 2023
8a36200
Convert class to dataclass
markshannon Dec 15, 2023
1b03407
Remove more unused imports
markshannon Dec 15, 2023
d0b7a39
Remove trailing whitespace
markshannon Dec 15, 2023
227f5f2
Rename OPARG_SIZES to OPARG_KINDS
markshannon Dec 15, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1,166 changes: 286 additions & 880 deletions Include/internal/pycore_opcode_metadata.h

Large diffs are not rendered by default.

193 changes: 82 additions & 111 deletions Include/internal/pycore_uop_ids.h

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading