-
-
Notifications
You must be signed in to change notification settings - Fork 32.1k
gh-107557: Setup abstract interpretation #107847
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
Merged
Merged
Changes from all commits
Commits
Show all changes
54 commits
Select commit
Hold shift + click to select a range
d20fbb8
gh-107557: Tier 2 abstract interpreter barebones
Fidget-Spinner 2aeea51
📜🤖 Added by blurb_it.
blurb-it[bot] 1a728ab
Copy Guido's input and output code, and fix build
Fidget-Spinner 17fccbc
fix separator
Fidget-Spinner a1da69d
credit Jules
Fidget-Spinner b458e17
add jules to co-authors
Fidget-Spinner f81f888
add pycore_optimizer.h to headers in makefile
Fidget-Spinner 0020320
fix: remove whitespace
Fidget-Spinner 1f93072
fix make smelly
Fidget-Spinner dac63e3
fix: build
Fidget-Spinner e62e015
fix wrong symbol
Fidget-Spinner a7f654c
ignore static globals check for abstract interpreter
Fidget-Spinner f4040b8
Merge remote-tracking branch 'upstream/main' into abstract_interpreter
Fidget-Spinner ec58145
merge Guido's changes
Fidget-Spinner 4292767
remove unused stuff
Fidget-Spinner fdcca90
Turn on the abstract interpreter
Fidget-Spinner 5110fb9
Merge remote-tracking branch 'upstream/main' into abstract_interpreter
Fidget-Spinner 9f443a2
Merge remote-tracking branch 'origin/abstract_interpreter' into parti…
Fidget-Spinner 7632ed1
(leaky) data structures for constant propagation
Fidget-Spinner 0d0c4c4
(with cycles) try to fix the type prop
Fidget-Spinner 4c8953e
fix: cycles
Fidget-Spinner 3bd36fa
cleanup
Fidget-Spinner 229097f
Fix+Refactor: Handling of root nodes in special-cased type prop (#40)
JuliaPoo ca0fab7
partially partially evaluate
Fidget-Spinner 68c684f
rename vars
Fidget-Spinner 46c5777
fixx off by one
Fidget-Spinner b839ee4
partial eval working for real this time
Fidget-Spinner 6ecf3d2
Fix: Inconsistent `AbstractInterpContext` used in `PARTITIONNODE_OVER…
JuliaPoo b6eeb25
fix test, refactor, bugfix
Fidget-Spinner d5cceb9
re-compute jump offsets and targets
Fidget-Spinner 8c0d65f
Fix+Refactor: Extra EXIT_TRACE emitted (#42)
JuliaPoo 95db909
fix: overallocate buffer and virtual/real stack offset calculation
Fidget-Spinner 1e05ef8
more bugfix
Fidget-Spinner d7d8b52
Merge remote-tracking branch 'upstream/main' into partition_algo
Fidget-Spinner 4d7abc7
Perf+Cleanup: Removed temporary allocation in `remove_duplicate_save_…
JuliaPoo 3d76f9a
clean up code
Fidget-Spinner e81def2
Merge branch 'partition_algo' of https://github.com/Fidget-Spinner/cp…
Fidget-Spinner 9a5a3f7
make static
Fidget-Spinner df490d0
make types static
Fidget-Spinner 1e4fc94
make const and ignore in c analyzer
Fidget-Spinner 6de77a7
fix c-analyzer ignored list
Fidget-Spinner a11fc80
more cleanup
Fidget-Spinner c61015b
Merge remote-tracking branch 'upstream/main' into partition_algo
Fidget-Spinner 56c62eb
regen files
Fidget-Spinner 3c08ebe
address review
Fidget-Spinner d5f16be
regen
Fidget-Spinner 1e61c49
and env var to block tests
Fidget-Spinner 6c24b49
regen again
Fidget-Spinner 2be404d
fix generated files
Fidget-Spinner 29e255d
Address review
Fidget-Spinner 3c44117
fix up INSERT
Fidget-Spinner b758b47
remove experimental parts
Fidget-Spinner 80c7f18
revert more changes
Fidget-Spinner 6a2b204
use memmove
Fidget-Spinner File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
#ifndef Py_INTERNAL_OPTIMIZER_H | ||
#define Py_INTERNAL_OPTIMIZER_H | ||
#ifdef __cplusplus | ||
extern "C" { | ||
#endif | ||
|
||
#ifndef Py_BUILD_CORE | ||
# error "this header requires Py_BUILD_CORE define" | ||
#endif | ||
|
||
#include "pycore_uops.h" | ||
|
||
int _Py_uop_analyze_and_optimize(PyCodeObject *code, | ||
_PyUOpInstruction *trace, int trace_len, int curr_stackentries); | ||
|
||
|
||
#ifdef __cplusplus | ||
} | ||
#endif | ||
#endif /* !Py_INTERNAL_OPTIMIZER_H */ |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
1 change: 1 addition & 0 deletions
1
Misc/NEWS.d/next/Core and Builtins/2023-08-02-09-55-21.gh-issue-107557.P1z-in.rst
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
Generate the cases needed for the barebones tier 2 abstract interpreter for optimization passes in CPython. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.