René's URL Explorer Experiment


Title: GH-135379: Support limited scalar replacement for replicated uops in the JIT code generator. by markshannon · Pull Request #135563 · python/cpython · GitHub

Open Graph Title: GH-135379: Support limited scalar replacement for replicated uops in the JIT code generator. by markshannon · Pull Request #135563 · python/cpython

X Title: GH-135379: Support limited scalar replacement for replicated uops in the JIT code generator. by markshannon · Pull Request #135563 · python/cpython

Description: This PR does three things: Performs limited replacement of array stack items with scalars for uops. Modify replicate to support ranges starting from values other than zero Replicates COPY and SWAP to take advantage of that. With TOS caching this should allow COPY and SWAP to be implemented as register-to-register moves. Issue: gh-135379

Open Graph Description: This PR does three things: Performs limited replacement of array stack items with scalars for uops. Modify replicate to support ranges starting from values other than zero Replicates COPY and SWAP...

X Description: This PR does three things: Performs limited replacement of array stack items with scalars for uops. Modify replicate to support ranges starting from values other than zero Replicates COPY and SWAP...

Opengraph URL: https://github.com/python/cpython/pull/135563

X: @github

direct link

Domain: github.com

react-profiling0
react-import-mapreact,react-dom,react-dom/client,react-dom/profiling,react-is,react-reconciler,react/compiler-runtime,react/jsx-dev-runtime,react/jsx-runtime,scheduler@d5750093facf
route-pattern/:user_id/:repository/pull/:id/files(.:format)
route-controllerpull_requests
route-actionfiles
fetch-noncev2:61a7baeb-79d9-f2f3-531f-070310355f5a
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-id9E80:549E6:AE46D1:F194AE:6AECAAC9
html-safe-nonceb4f95b83d6a788ca1310aab960fd32bbcf1b85e3da1c322579b16cb3509aabbf
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI5RTgwOjU0OUU2OkFFNDZEMTpGMTk0QUU6NkFFQ0FBQzkiLCJ2aXNpdG9yX2lkIjoiNTk2NDE0OTQ2MzQyNzM2MTQ4MSIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9
visitor-hmacf95e1253df901100960bb50706fe3972b78108cff752be8596f3ad96c8eadafd
hovercard-subject-tagpull_request:2595821530
github-keyboard-shortcutsrepository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///pull_requests/show/files
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/python/cpython/pull/135563/files
twitter:imagehttps://avatars.githubusercontent.com/u/9448417?s=400&v=4
twitter:cardsummary_large_image
og:imagehttps://avatars.githubusercontent.com/u/9448417?s=400&v=4
og:image:altThis PR does three things: Performs limited replacement of array stack items with scalars for uops. Modify replicate to support ranges starting from values other than zero Replicates COPY and SWAP...
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
None12ae3fe4115aefbcf0540107cc6e7e5771be614143d37177f54a10279eb0981f
turbo-cache-controlno-preview
diff-viewunified
go-importgithub.com/python/cpython git https://github.com/python/cpython.git
octolytics-dimension-user_id1525981
octolytics-dimension-user_loginpython
octolytics-dimension-repository_id81598961
octolytics-dimension-repository_nwopython/cpython
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id81598961
octolytics-dimension-repository_network_root_nwopython/cpython
turbo-body-classeslogged-out env-production page-responsive full-width
disable-turbotrue
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
release357f5fce9de7eb41b33b7393beee61fde611e769
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/python/cpython/pull/135563/files#start-of-content
https://github.com/
Sign inhttps://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fpython%2Fcpython%2Fpull%2F135563%2Ffiles
GitHubRepository hosting, code review, and collaborationhttps://github.com/platform
CopilotAI coding agent for tasks, projects, and automated workhttps://github.com/features/copilot
ActionsCI/CD and automationhttps://github.com/features/actions
Code QualityQuality analysis, fixes, and enforcementhttps://github.com/features/code-quality
CodespacesCloud development environmentshttps://github.com/features/codespaces
Code SecurityVulnerability detection and remediationhttps://github.com/security/advanced-security/code-security
Secret ProtectionSecret scanning and leak preventionhttps://github.com/security/advanced-security/secret-protection
All Featureshttps://github.com/features
Documentationhttps://docs.github.com/en
Traininghttps://learn.github.com/skills
Certificationshttps://learn.github.com/credentials
Build with Copilothttps://github.com/features/ai
Customize Copilothttps://docs.github.com/en/copilot/how-tos/copilot-on-github/customize-copilot/customize-copilot-overview
Integrationshttps://github.com/marketplace
Trending reposhttps://github.com/trending
GitHub Sponsorshttps://github.com/open-source/sponsors
Developer articleshttps://github.com/resources/articles
ChangelogYour source for the latest features, improvements, and fixes across GitHub products, all in one place.https://github.blog/changelog/
Enterpriseshttps://github.com/enterprise
Teamhttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
See all industrieshttps://github.com/solutions/industry
Why GitHubhttps://github.com/why-github
Customer Storieshttps://github.com/customer-stories
Business insightshttps://github.com/solutions/executive-insights
Trust Centerhttps://github.com/trust-center
GitHub Advanced SecurityEnterprise-grade code securityhttps://github.com/security/advanced-security
Copilot for businessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/enterprise/premium-support
Documentationhttps://docs.github.com/en
Resource centerhttps://github.com/resources
Bloghttps://github.blog/
Events & webinarshttps://github.com/resources/events
Community Forumhttps://github.com/orgs/community/discussions
Customer Storieshttps://github.com/customer-stories
Integrationshttps://github.com/marketplace
Customer supporthttps://help.github.com/
Traininghttps://learn.github.com/skills
GitHub Statushttps://www.githubstatus.com/
Abouthttps://github.com/about
Partnershttps://github.com/partners
Changeloghttps://github.blog/changelog/
GitHub UniverseThe event for developers, by developers — talks, workshops, and what’s next for GitHub.https://githubuniverse.com/
Pricinghttps://github.com/pricing
Sign inhttps://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fpython%2Fcpython%2Fpull%2F135563%2Ffiles
Sign uphttps://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fpull_requests%2Fshow%2Ffiles&source=header-repo&source_repo=python%2Fcpython
Reloadhttps://github.com/python/cpython/pull/135563/files
Reloadhttps://github.com/python/cpython/pull/135563/files
Reloadhttps://github.com/python/cpython/pull/135563/files
pythonhttps://github.com/python
cpythonhttps://github.com/python/cpython
Codehttps://github.com/python/cpython
Issues5k+ (5k+)https://github.com/python/cpython/issues
Pull requests2.3k (2.3k)https://github.com/python/cpython/pulls
Actionshttps://github.com/python/cpython/actions
Projectshttps://github.com/python/cpython/projects
Security and qualityhttps://github.com/python/cpython/security
Insightshttps://github.com/python/cpython/pulse
Sign up for GitHub https://github.com/signup?return_to=%2Fpython%2Fcpython%2Fissues%2Fnew%2Fchoose
terms of servicehttps://docs.github.com/terms
privacy statementhttps://docs.github.com/privacy
Sign inhttps://github.com/login?return_to=%2Fpython%2Fcpython%2Fissues%2Fnew%2Fchoose
markshannonhttps://github.com/markshannon
python:mainhttps://github.com/python/cpython/tree/main
faster-cpython:tier-swap-copy-specializationshttps://github.com/faster-cpython/cpython/tree/tier-swap-copy-specializations
Conversation 8 https://github.com/python/cpython/pull/135563
Commits 3 https://github.com/python/cpython/pull/135563/commits
Checks 0 https://github.com/python/cpython/pull/135563/checks
Files changed https://github.com/python/cpython/pull/135563/files
Please reload this pagehttps://github.com/python/cpython/pull/135563/files
GH-135379: Support limited scalar replacement for replicated uops in the JIT code generator. https://github.com/python/cpython/pull/135563/files#top
Show all changes 3 commits https://github.com/python/cpython/pull/135563/files
18c78b1 Support limited scalar replacement for replicated uops in the code ge… markshannon Jun 16, 2025 https://github.com/python/cpython/pull/135563/commits/18c78b1e7dbd8b2bc3987b0a6886c064ecc16d02
ce421ad Update comment markshannon Jun 16, 2025 https://github.com/python/cpython/pull/135563/commits/ce421adcb637b6d41448f02f76a422d9584cc074
72aa4a6 Update Tools/cases_generator/analyzer.py markshannon Jun 16, 2025 https://github.com/python/cpython/pull/135563/commits/72aa4a6f510876a3fc7dcdc0610ac58777c81e9c
Clear filters https://github.com/python/cpython/pull/135563/files
Please reload this pagehttps://github.com/python/cpython/pull/135563/files
Please reload this pagehttps://github.com/python/cpython/pull/135563/files
pycore_uop_ids.h https://github.com/python/cpython/pull/135563/files#diff-2a420e4d0d58009249c0f73f7c822167b053bd51cb213b20179bd2aebfc66ff9
pycore_uop_metadata.h https://github.com/python/cpython/pull/135563/files#diff-55e65a72fa31e9b746e03076d2c74b716c0c1171663f36960b2339fcbfae9bab
bytecodes.c https://github.com/python/cpython/pull/135563/files#diff-729a985b0cb8b431cb291f1edb561bbbfea22e3f8c262451cd83328a0936a342
executor_cases.c.h https://github.com/python/cpython/pull/135563/files#diff-a1c3430c42a66c16e6d2e154491a6da993b187b27c628545a12a02c7b2a06b81
generated_cases.c.h https://github.com/python/cpython/pull/135563/files#diff-4ef46fa654f95502e49a24f7dc8ee31a4cac9b3433fe9cd2b2d4dd78cfbad448
optimizer.c https://github.com/python/cpython/pull/135563/files#diff-de09f74c4306be5ef0284d665091976873569094d645a35b48467ea2a11d67f7
analyzer.py https://github.com/python/cpython/pull/135563/files#diff-bf1d5618934b787df486d8077f48217f17bf4321b9a151528f67b6e6f383976b
parsing.py https://github.com/python/cpython/pull/135563/files#diff-7a9f9b83d196f419177f6294b4648cc6fdc928bd191edfaf4d96d4fc12030aca
uop_metadata_generator.py https://github.com/python/cpython/pull/135563/files#diff-9eacbf3293626c9ef261a669cb85b1c3b738391ed219db98ab7c374f5a28cdb4
Include/internal/pycore_uop_ids.hhttps://github.com/python/cpython/pull/135563/files#diff-2a420e4d0d58009249c0f73f7c822167b053bd51cb213b20179bd2aebfc66ff9
View file https://github.com/faster-cpython/cpython/blob/72aa4a6f510876a3fc7dcdc0610ac58777c81e9c/Include/internal/pycore_uop_ids.h
Open in desktop https://desktop.github.com
Please reload this pagehttps://github.com/python/cpython/pull/135563/files
Include/internal/pycore_uop_metadata.hhttps://github.com/python/cpython/pull/135563/files#diff-55e65a72fa31e9b746e03076d2c74b716c0c1171663f36960b2339fcbfae9bab
View file https://github.com/faster-cpython/cpython/blob/72aa4a6f510876a3fc7dcdc0610ac58777c81e9c/Include/internal/pycore_uop_metadata.h
Open in desktop https://desktop.github.com
how customized files appear on GitHubhttps://docs.github.com/github/administering-a-repository/customizing-how-changed-files-appear-on-github
Please reload this pagehttps://github.com/python/cpython/pull/135563/files
https://github.com/python/cpython/blob/main/.github/CODEOWNERS#L218
Python/bytecodes.chttps://github.com/python/cpython/pull/135563/files#diff-729a985b0cb8b431cb291f1edb561bbbfea22e3f8c262451cd83328a0936a342
View file https://github.com/faster-cpython/cpython/blob/72aa4a6f510876a3fc7dcdc0610ac58777c81e9c/Python/bytecodes.c
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/135563/{{ revealButtonHref }}
https://github.com/python/cpython/pull/135563/files#diff-729a985b0cb8b431cb291f1edb561bbbfea22e3f8c262451cd83328a0936a342
https://github.com/python/cpython/pull/135563/files#diff-729a985b0cb8b431cb291f1edb561bbbfea22e3f8c262451cd83328a0936a342
https://github.com/python/cpython/pull/135563/files#diff-729a985b0cb8b431cb291f1edb561bbbfea22e3f8c262451cd83328a0936a342
https://github.com/python/cpython/pull/135563/files#diff-729a985b0cb8b431cb291f1edb561bbbfea22e3f8c262451cd83328a0936a342
Python/executor_cases.c.hhttps://github.com/python/cpython/pull/135563/files#diff-a1c3430c42a66c16e6d2e154491a6da993b187b27c628545a12a02c7b2a06b81
View file https://github.com/faster-cpython/cpython/blob/72aa4a6f510876a3fc7dcdc0610ac58777c81e9c/Python/executor_cases.c.h
Open in desktop https://desktop.github.com
how customized files appear on GitHubhttps://docs.github.com/github/administering-a-repository/customizing-how-changed-files-appear-on-github
Please reload this pagehttps://github.com/python/cpython/pull/135563/files
Python/generated_cases.c.hhttps://github.com/python/cpython/pull/135563/files#diff-4ef46fa654f95502e49a24f7dc8ee31a4cac9b3433fe9cd2b2d4dd78cfbad448
View file https://github.com/faster-cpython/cpython/blob/72aa4a6f510876a3fc7dcdc0610ac58777c81e9c/Python/generated_cases.c.h
Open in desktop https://desktop.github.com
how customized files appear on GitHubhttps://docs.github.com/github/administering-a-repository/customizing-how-changed-files-appear-on-github
Please reload this pagehttps://github.com/python/cpython/pull/135563/files
https://github.com/python/cpython/blob/main/.github/CODEOWNERS#L298
Python/optimizer.chttps://github.com/python/cpython/pull/135563/files#diff-de09f74c4306be5ef0284d665091976873569094d645a35b48467ea2a11d67f7
View file https://github.com/faster-cpython/cpython/blob/72aa4a6f510876a3fc7dcdc0610ac58777c81e9c/Python/optimizer.c
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/135563/{{ revealButtonHref }}
https://github.com/python/cpython/pull/135563/files#diff-de09f74c4306be5ef0284d665091976873569094d645a35b48467ea2a11d67f7
https://github.com/python/cpython/pull/135563/files#diff-de09f74c4306be5ef0284d665091976873569094d645a35b48467ea2a11d67f7
https://github.com/python/cpython/blob/main/.github/CODEOWNERS#L220
Tools/cases_generator/analyzer.pyhttps://github.com/python/cpython/pull/135563/files#diff-bf1d5618934b787df486d8077f48217f17bf4321b9a151528f67b6e6f383976b
View file https://github.com/faster-cpython/cpython/blob/72aa4a6f510876a3fc7dcdc0610ac58777c81e9c/Tools/cases_generator/analyzer.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/135563/{{ revealButtonHref }}
https://github.com/python/cpython/pull/135563/files#diff-bf1d5618934b787df486d8077f48217f17bf4321b9a151528f67b6e6f383976b
https://github.com/python/cpython/pull/135563/files#diff-bf1d5618934b787df486d8077f48217f17bf4321b9a151528f67b6e6f383976b
https://github.com/python/cpython/pull/135563/files#diff-bf1d5618934b787df486d8077f48217f17bf4321b9a151528f67b6e6f383976b
Fidget-Spinnerhttps://github.com/Fidget-Spinner
Jun 16, 2025https://github.com/python/cpython/pull/135563/files#r2150152029
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
Please reload this pagehttps://github.com/python/cpython/pull/135563/files
https://github.com/python/cpython/pull/135563/files#diff-bf1d5618934b787df486d8077f48217f17bf4321b9a151528f67b6e6f383976b
https://github.com/python/cpython/pull/135563/files#diff-bf1d5618934b787df486d8077f48217f17bf4321b9a151528f67b6e6f383976b
https://github.com/python/cpython/blob/main/.github/CODEOWNERS#L220
Tools/cases_generator/parsing.pyhttps://github.com/python/cpython/pull/135563/files#diff-7a9f9b83d196f419177f6294b4648cc6fdc928bd191edfaf4d96d4fc12030aca
View file https://github.com/faster-cpython/cpython/blob/72aa4a6f510876a3fc7dcdc0610ac58777c81e9c/Tools/cases_generator/parsing.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/135563/{{ revealButtonHref }}
https://github.com/python/cpython/pull/135563/files#diff-7a9f9b83d196f419177f6294b4648cc6fdc928bd191edfaf4d96d4fc12030aca
https://github.com/python/cpython/pull/135563/files#diff-7a9f9b83d196f419177f6294b4648cc6fdc928bd191edfaf4d96d4fc12030aca
https://github.com/python/cpython/blob/main/.github/CODEOWNERS#L220
Tools/cases_generator/uop_metadata_generator.pyhttps://github.com/python/cpython/pull/135563/files#diff-9eacbf3293626c9ef261a669cb85b1c3b738391ed219db98ab7c374f5a28cdb4
View file https://github.com/faster-cpython/cpython/blob/72aa4a6f510876a3fc7dcdc0610ac58777c81e9c/Tools/cases_generator/uop_metadata_generator.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/135563/{{ revealButtonHref }}
https://github.com/python/cpython/pull/135563/files#diff-9eacbf3293626c9ef261a669cb85b1c3b738391ed219db98ab7c374f5a28cdb4
https://github.com/python/cpython/pull/135563/files#diff-9eacbf3293626c9ef261a669cb85b1c3b738391ed219db98ab7c374f5a28cdb4
https://github.com/python/cpython/pull/135563/files#diff-9eacbf3293626c9ef261a669cb85b1c3b738391ed219db98ab7c374f5a28cdb4
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.