forked from llvm/llvm-project
-
Notifications
You must be signed in to change notification settings - Fork 0
transform/promote tensor #1
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
Open
Jimmy2027
wants to merge
3,232
commits into
main
Choose a base branch
from
hendrik/transform/promote_tensor
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
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
c21e876 to
8329b34
Compare
…m COFF to GNU64 (llvm#160606) COFF format has no 64-bit version, so we use GNU64 instead. Since this changes the headers, we need to recalculate everything. Fixes llvm#160112.
Extend replaceSymbolicStrides to also replace SCEVUnknowns in VPExpandSCEVExprs using the information from StridesMaps. This results in simpler SCEV expansions in some cases.
…cation (llvm#161020) Fixes llvm#160066 Whenever we have a vector with all the same elemnts, created with `insertelement` and `shufflevector` and we sum the vector, we have a multiplication.
…lvm#152289) --Test for signed arithmetic overflow intrinsics, which is for now expectedly failing --Test checking that no duplicate image types are emitted. --------- Co-authored-by: Michal Paszkowski <[email protected]>
- Make use of the OpenCL extended instruction frexp. - Creates a variable and passes it to OpExtInst instruction
Add `loongarch-enable-merge-offset` option to allow disabling the `MergeBaseOffset` pass when using optimization. Reviewers: SixWeining, heiher Reviewed By: SixWeining, heiher Pull Request: llvm#161063
) Inspired by llvm#160920#issuecomment-3341816198
Flagged with `-Wprivate-header`.
This PR contains the following updates: | Package | Type | Update | Change | Pending | |---|---|---|---|---| | [EnricoMi/publish-unit-test-result-action](https://redirect.github.com/EnricoMi/publish-unit-test-result-action) | action | digest | `170bf24` -> `3a74b29` | | | [actions/attest-build-provenance](https://redirect.github.com/actions/attest-build-provenance) | action | minor | `v1.0.0` -> `v1.4.4` | | | [actions/checkout](https://redirect.github.com/actions/checkout) | action | minor | `v4.1.1` -> `v4.3.0` | | | [actions/github-script](https://redirect.github.com/actions/github-script) | action | minor | `v7.0.1` -> `v7.1.0` | | | [actions/setup-node](https://redirect.github.com/actions/setup-node) | action | minor | `v4.2.0` -> `v4.4.0` | | | [actions/setup-python](https://redirect.github.com/actions/setup-python) | action | minor | `v5.4.0` -> `v5.6.0` | | | actions/setup-python | action | digest | `39cd149` -> `2e3e4b1` | | | [actions/upload-artifact](https://redirect.github.com/actions/upload-artifact) | action | patch | `v4.6.0` -> `v4.6.2` | | | [actions/upload-artifact](https://redirect.github.com/actions/upload-artifact) | action | minor | `v4.3.3` -> `v4.6.2` | | | [actions/upload-artifact](https://redirect.github.com/actions/upload-artifact) | action | patch | `4.6.0` -> `4.6.2` | | | [actions/upload-artifact](https://redirect.github.com/actions/upload-artifact) | action | minor | `v4.3.0` -> `v4.6.2` | | | [aminya/setup-cpp](https://redirect.github.com/aminya/setup-cpp) | action | minor | `v1.1.1` -> `v1.7.1` | | | [docker/login-action](https://redirect.github.com/docker/login-action) | action | minor | `v3.3.0` -> `v3.5.0` | | | [github/codeql-action](https://redirect.github.com/github/codeql-action) | action | minor | `v2.20.6` -> `v2.28.1` | | | [github/codeql-action](https://redirect.github.com/github/codeql-action) | action | patch | `v3.30.3` -> `v3.30.4` | `v3.30.5` | | [hendrikmuhs/ccache-action](https://redirect.github.com/hendrikmuhs/ccache-action) | action | patch | `v1.2.17` -> `v1.2.19` | | | llvm/actions | action | digest | `22e9f90` -> `a1ea791` | | | [ossf/scorecard-action](https://redirect.github.com/ossf/scorecard-action) | action | patch | `v2.4.1` -> `v2.4.2` | | | [pypa/gh-action-pypi-publish](https://redirect.github.com/pypa/gh-action-pypi-publish) | action | minor | `v1.12.4` -> `v1.13.0` | | | [python](https://redirect.github.com/actions/python-versions) | uses-with | minor | `3.12` -> `3.13` | | | [python](https://redirect.github.com/actions/python-versions) | uses-with | minor | `3.11` -> `3.13` | | | [python](https://redirect.github.com/actions/python-versions) | uses-with | minor | `3.10` -> `3.13` | | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Release Notes <details> <summary>actions/attest-build-provenance (actions/attest-build-provenance)</summary> ### [`v1.4.4`](https://redirect.github.com/actions/attest-build-provenance/releases/tag/v1.4.4) [Compare Source](https://redirect.github.com/actions/attest-build-provenance/compare/v1.4.3...v1.4.4) ##### What's Changed - Bump predicate action from 1.1.3 to 1.1.4 by [@​bdehamer](https://redirect.github.com/bdehamer) in [#​310](https://redirect.github.com/actions/attest-build-provenance/pull/310) - Bump [@​actions/core](https://redirect.github.com/actions/core) from 1.10.1 to 1.11.1 by [@​dependabot](https://redirect.github.com/dependabot) in [#​275](https://redirect.github.com/actions/attest-build-provenance/pull/275) - Bump [@​actions/attest](https://redirect.github.com/actions/attest) from 1.4.2 to 1.5.0 by [@​bdehamer](https://redirect.github.com/bdehamer) in [#​309](https://redirect.github.com/actions/attest-build-provenance/pull/309) - Fix SLSA provenance bug related to `workflow_ref` OIDC token claims containing the "@​" symbol in the tag name ([actions/toolkit#1863](https://redirect.github.com/actions/toolkit/pull/1863)) **Full Changelog**: <https://github.com/actions/attest-build-provenance/compare/v1.4.3...v1.4.4> ### [`v1.4.3`](https://redirect.github.com/actions/attest-build-provenance/releases/tag/v1.4.3) [Compare Source](https://redirect.github.com/actions/attest-build-provenance/compare/v1.4.2...v1.4.3) ##### What's Changed - Bump predicate from 1.1.2 to 1.1.3 by [@​bdehamer](https://redirect.github.com/bdehamer) in [#​226](https://redirect.github.com/actions/attest-build-provenance/pull/226) - Bump [@​actions/attest](https://redirect.github.com/actions/attest) from 1.3.1 to 1.4.1 by [@​dependabot](https://redirect.github.com/dependabot) in [#​212](https://redirect.github.com/actions/attest-build-provenance/pull/212) - Bump [@​actions/attest](https://redirect.github.com/actions/attest) from 1.4.1 to 1.4.2 by [@​bdehamer](https://redirect.github.com/bdehamer) in [#​225](https://redirect.github.com/actions/attest-build-provenance/pull/225) - Fix bug w/ customized OIDC issuer URL for enterprise accounts ([#​222](https://redirect.github.com/actions/attest-build-provenance/issues/222)) **Full Changelog**: <https://github.com/actions/attest-build-provenance/compare/v1.4.2...v1.4.3> ### [`v1.4.2`](https://redirect.github.com/actions/attest-build-provenance/releases/tag/v1.4.2) [Compare Source](https://redirect.github.com/actions/attest-build-provenance/compare/v1.4.1...v1.4.2) ##### What's Changed - Bump actions/attest from 1.4.0 to 1.4.1 by [@​bdehamer](https://redirect.github.com/bdehamer) in [#​209](https://redirect.github.com/actions/attest-build-provenance/pull/209) - Includes bug fix for issue with authenticated proxies ([actions/toolkit#1798](https://redirect.github.com/actions/toolkit/issues/1798)) **Full Changelog**: <https://github.com/actions/attest-build-provenance/compare/v1.4.1...v1.4.2> ### [`v1.4.1`](https://redirect.github.com/actions/attest-build-provenance/releases/tag/v1.4.1) [Compare Source](https://redirect.github.com/actions/attest-build-provenance/compare/v1.4.0...v1.4.1) ##### What's Changed - Update predicate action to 1.1.2 by [@​bdehamer](https://redirect.github.com/bdehamer) in [#​197](https://redirect.github.com/actions/attest-build-provenance/pull/197) - Dynamic construction of oidc issuer by [@​bdehamer](https://redirect.github.com/bdehamer) in [#​195](https://redirect.github.com/actions/attest-build-provenance/pull/195) **Full Changelog**: <https://github.com/actions/attest-build-provenance/compare/v1.4.0...v1.4.1> ### [`v1.4.0`](https://redirect.github.com/actions/attest-build-provenance/releases/tag/v1.4.0) [Compare Source](https://redirect.github.com/actions/attest-build-provenance/compare/v1.3.3...v1.4.0) ##### What's Changed - Bump predicate action from 1.1.0 to 1.1.1 by [@​bdehamer](https://redirect.github.com/bdehamer) in [#​182](https://redirect.github.com/actions/attest-build-provenance/pull/182) - Fix for JWKS proxy bug - Bump actions/attest from 1.3.3 to 1.4.0 by [@​bdehamer](https://redirect.github.com/bdehamer) in [#​183](https://redirect.github.com/actions/attest-build-provenance/pull/183) - Add `show-summary` input - Format summary output as list **Full Changelog**: <https://github.com/actions/attest-build-provenance/compare/v1.3.3...v1.4.0> ### [`v1.3.3`](https://redirect.github.com/actions/attest-build-provenance/releases/tag/v1.3.3) [Compare Source](https://redirect.github.com/actions/attest-build-provenance/compare/v1.3.2...v1.3.3) ##### What's Changed - Bump actions/attest from 1.3.2 to 1.3.3 by [@​bdehamer](https://redirect.github.com/bdehamer) in [#​152](https://redirect.github.com/actions/attest-build-provenance/pull/152) - Bugfix for properly handling glob exclusion patterns in `subject-path` input **Full Changelog**: <https://github.com/actions/attest-build-provenance/compare/v1.3.2...v1.3.3> ### [`v1.3.2`](https://redirect.github.com/actions/attest-build-provenance/releases/tag/v1.3.2) [Compare Source](https://redirect.github.com/actions/attest-build-provenance/compare/v1.3.1...v1.3.2) ##### What's Changed - Bump actions/attest from 1.3.1 to 1.3.2 by [@​bdehamer](https://redirect.github.com/bdehamer) in [#​123](https://redirect.github.com/actions/attest-build-provenance/pull/123) - Increase timeout for OCI operations **Full Changelog**: <https://github.com/actions/attest-build-provenance/compare/v1.3.1...v1.3.2> ### [`v1.3.1`](https://redirect.github.com/actions/attest-build-provenance/releases/tag/v1.3.1) [Compare Source](https://redirect.github.com/actions/attest-build-provenance/compare/v1.3.0...v1.3.1) ##### What's Changed - Bump actions/attest from 1.3.0 to 1.3.1 by [@​bdehamer](https://redirect.github.com/bdehamer) in [#​117](https://redirect.github.com/actions/attest-build-provenance/pull/117) - Bugfix when detecting support for the referrers API with OCI registries **Full Changelog**: <https://github.com/actions/attest-build-provenance/compare/v1.3.0...v1.3.1> ### [`v1.3.0`](https://redirect.github.com/actions/attest-build-provenance/releases/tag/v1.3.0) [Compare Source](https://redirect.github.com/actions/attest-build-provenance/compare/v1.2.0...v1.3.0) ##### What's Changed - Bump actions/attest-build-provenance/predicate from 1.0.0 to 1.1.0 by [@​bdehamer](https://redirect.github.com/bdehamer) in [#​116](https://redirect.github.com/actions/attest-build-provenance/pull/116) - Switch to new GH provenance [build type](https://actions.github.io/buildtypes/workflow/v1) - Bump actions/attest from 1.2.0 to 1.3.0 by [@​bdehamer](https://redirect.github.com/bdehamer) in [#​116](https://redirect.github.com/actions/attest-build-provenance/pull/116) - Dynamic construction of GitHub API URLs based on GITHUB\_SERVER\_URL - Improved handling of Rekor 409 responses - Bugfix - detection of registries with support for the OCI referrers API **Full Changelog**: <https://github.com/actions/attest-build-provenance/compare/v1.2.0...v1.3.0> ### [`v1.2.0`](https://redirect.github.com/actions/attest-build-provenance/releases/tag/v1.2.0) [Compare Source](https://redirect.github.com/actions/attest-build-provenance/compare/v1.1.2...v1.2.0) ##### What's Changed - Bump actions/attest from 1.1.2 to 1.2.0 by [@​bdehamer](https://redirect.github.com/bdehamer) in [#​101](https://redirect.github.com/actions/attest-build-provenance/pull/101) - Batch processing w/ exponential backoff - Bugfix when pushing attestation to OCI registry **Full Changelog**: <https://github.com/actions/attest-build-provenance/compare/v1.1.2...v1.2.0> ### [`v1.1.2`](https://redirect.github.com/actions/attest-build-provenance/releases/tag/v1.1.2) [Compare Source](https://redirect.github.com/actions/attest-build-provenance/compare/v1.1.1...v1.1.2) ##### What's Changed - Bump actions/attest from 1.1.1 to 1.1.2 by [@​bdehamer](https://redirect.github.com/bdehamer) in [#​79](https://redirect.github.com/actions/attest-build-provenance/pull/79) - Downcase subject name for OCI images - Fix accept header when retrieving image manifest - Support variants of the Docker Hub registry name **Full Changelog**: <https://github.com/actions/attest-build-provenance/compare/v1.1.1...v1.1.2> ### [`v1.1.1`](https://redirect.github.com/actions/attest-build-provenance/releases/tag/v1.1.1) [Compare Source](https://redirect.github.com/actions/attest-build-provenance/compare/v1.1.0...v1.1.1) ##### What's Changed - Bump actions/attest from v1.1.0 to v1.1.1 by [@​bdehamer](https://redirect.github.com/bdehamer) in [#​67](https://redirect.github.com/actions/attest-build-provenance/pull/67) - Bump [@​sigstore/sign](https://redirect.github.com/sigstore/sign) from 2.3.0 to 2.3.1 - Bump [@​sigstore/oci](https://redirect.github.com/sigstore/oci) from 0.3.0 to 0.3.2 - Include more detail in error logging - Send API errors to GHA debug log - Fix bug preventing failed API requests from being retried **Full Changelog**: <https://github.com/actions/attest-build-provenance/compare/v1.1.0...v1.1.1> ### [`v1.1.0`](https://redirect.github.com/actions/attest-build-provenance/releases/tag/v1.1.0) [Compare Source](https://redirect.github.com/actions/attest-build-provenance/compare/v1.0.0...v1.1.0) ##### What's Changed - Bump actions/attest to v1.1.0 by [@​bdehamer](https://redirect.github.com/bdehamer) in [#​65](https://redirect.github.com/actions/attest-build-provenance/pull/65) - adds list support for `subjectPath` input - limit attestation subject count - ensure subject globs match only files **Full Changelog**: <https://github.com/actions/attest-build-provenance/compare/v1.0.0...v1.1.0> </details> <details> <summary>actions/checkout (actions/checkout)</summary> ### [`v4.3.0`](https://redirect.github.com/actions/checkout/releases/tag/v4.3.0) [Compare Source](https://redirect.github.com/actions/checkout/compare/v4.2.2...v4.3.0) ##### What's Changed - docs: update README.md by [@​motss](https://redirect.github.com/motss) in [https://github.com/actions/checkout/pull/1971](https://redirect.github.com/actions/checkout/pull/1971) - Add internal repos for checking out multiple repositories by [@​mouismail](https://redirect.github.com/mouismail) in [https://github.com/actions/checkout/pull/1977](https://redirect.github.com/actions/checkout/pull/1977) - Documentation update - add recommended permissions to Readme by [@​benwells](https://redirect.github.com/benwells) in [https://github.com/actions/checkout/pull/2043](https://redirect.github.com/actions/checkout/pull/2043) - Adjust positioning of user email note and permissions heading by [@​joshmgross](https://redirect.github.com/joshmgross) in [https://github.com/actions/checkout/pull/2044](https://redirect.github.com/actions/checkout/pull/2044) - Update README.md by [@​nebuk89](https://redirect.github.com/nebuk89) in [https://github.com/actions/checkout/pull/2194](https://redirect.github.com/actions/checkout/pull/2194) - Update CODEOWNERS for actions by [@​TingluoHuang](https://redirect.github.com/TingluoHuang) in [https://github.com/actions/checkout/pull/2224](https://redirect.github.com/actions/checkout/pull/2224) - Update package dependencies by [@​salmanmkc](https://redirect.github.com/salmanmkc) in [https://github.com/actions/checkout/pull/2236](https://redirect.github.com/actions/checkout/pull/2236) - Prepare release v4.3.0 by [@​salmanmkc](https://redirect.github.com/salmanmkc) in [https://github.com/actions/checkout/pull/2237](https://redirect.github.com/actions/checkout/pull/2237) ##### New Contributors - [@​motss](https://redirect.github.com/motss) made their first contribution in [https://github.com/actions/checkout/pull/1971](https://redirect.github.com/actions/checkout/pull/1971) - [@​mouismail](https://redirect.github.com/mouismail) made their first contribution in [https://github.com/actions/checkout/pull/1977](https://redirect.github.com/actions/checkout/pull/1977) - [@​benwells](https://redirect.github.com/benwells) made their first contribution in [https://github.com/actions/checkout/pull/2043](https://redirect.github.com/actions/checkout/pull/2043) - [@​nebuk89](https://redirect.github.com/nebuk89) made their first contribution in [https://github.com/actions/checkout/pull/2194](https://redirect.github.com/actions/checkout/pull/2194) - [@​salmanmkc](https://redirect.github.com/salmanmkc) made their first contribution in [https://github.com/actions/checkout/pull/2236](https://redirect.github.com/actions/checkout/pull/2236) **Full Changelog**: https://github.com/actions/checkout/compare/v4...v4.3.0 ### [`v4.2.2`](https://redirect.github.com/actions/checkout/blob/HEAD/CHANGELOG.md#v422) [Compare Source](https://redirect.github.com/actions/checkout/compare/v4.2.1...v4.2.2) - `url-helper.ts` now leverages well-known environment variables by [@​jww3](https://redirect.github.com/jww3) in [#​1941](https://redirect.github.com/actions/checkout/pull/1941) - Expand unit test coverage for `isGhes` by [@​jww3](https://redirect.github.com/jww3) in [#​1946](https://redirect.github.com/actions/checkout/pull/1946) ### [`v4.2.1`](https://redirect.github.com/actions/checkout/blob/HEAD/CHANGELOG.md#v421) [Compare Source](https://redirect.github.com/actions/checkout/compare/v4.2.0...v4.2.1) - Check out other refs/\* by commit if provided, fall back to ref by [@​orhantoy](https://redirect.github.com/orhantoy) in [#​1924](https://redirect.github.com/actions/checkout/pull/1924) ### [`v4.2.0`](https://redirect.github.com/actions/checkout/blob/HEAD/CHANGELOG.md#v420) [Compare Source](https://redirect.github.com/actions/checkout/compare/v4.1.7...v4.2.0) - Add Ref and Commit outputs by [@​lucacome](https://redirect.github.com/lucacome) in [#​1180](https://redirect.github.com/actions/checkout/pull/1180) - Dependency updates by [@​dependabot-](https://redirect.github.com/dependabot-) [#​1777](https://redirect.github.com/actions/checkout/pull/1777), [#​1872](https://redirect.github.com/actions/checkout/pull/1872) ### [`v4.1.7`](https://redirect.github.com/actions/checkout/blob/HEAD/CHANGELOG.md#v417) [Compare Source](https://redirect.github.com/actions/checkout/compare/v4.1.6...v4.1.7) - Bump the minor-npm-dependencies group across 1 directory with 4 updates by [@​dependabot](https://redirect.github.com/dependabot) in [#​1739](https://redirect.github.com/actions/checkout/pull/1739) - Bump actions/checkout from 3 to 4 by [@​dependabot](https://redirect.github.com/dependabot) in [#​1697](https://redirect.github.com/actions/checkout/pull/1697) - Check out other refs/\* by commit by [@​orhantoy](https://redirect.github.com/orhantoy) in [#​1774](https://redirect.github.com/actions/checkout/pull/1774) - Pin actions/checkout's own workflows to a known, good, stable version. by [@​jww3](https://redirect.github.com/jww3) in [#​1776](https://redirect.github.com/actions/checkout/pull/1776) ### [`v4.1.6`](https://redirect.github.com/actions/checkout/blob/HEAD/CHANGELOG.md#v416) [Compare Source](https://redirect.github.com/actions/checkout/compare/v4.1.5...v4.1.6) - Check platform to set archive extension appropriately by [@​cory-miller](https://redirect.github.com/cory-miller) in [#​1732](https://redirect.github.com/actions/checkout/pull/1732) ### [`v4.1.5`](https://redirect.github.com/actions/checkout/blob/HEAD/CHANGELOG.md#v415) [Compare Source](https://redirect.github.com/actions/checkout/compare/v4.1.4...v4.1.5) - Update NPM dependencies by [@​cory-miller](https://redirect.github.com/cory-miller) in [#​1703](https://redirect.github.com/actions/checkout/pull/1703) - Bump github/codeql-action from 2 to 3 by [@​dependabot](https://redirect.github.com/dependabot) in [#​1694](https://redirect.github.com/actions/checkout/pull/1694) - Bump actions/setup-node from 1 to 4 by [@​dependabot](https://redirect.github.com/dependabot) in [#​1696](https://redirect.github.com/actions/checkout/pull/1696) - Bump actions/upload-artifact from 2 to 4 by [@​dependabot](https://redirect.github.com/dependabot) in [#​1695](https://redirect.github.com/actions/checkout/pull/1695) - README: Suggest `user.email` to be `41898282+github-actions[bot]@​users.noreply.github.com` by [@​cory-miller](https://redirect.github.com/cory-miller) in [#​1707](https://redirect.github.com/actions/checkout/pull/1707) ### [`v4.1.4`](https://redirect.github.com/actions/checkout/blob/HEAD/CHANGELOG.md#v414) [Compare Source](https://redirect.github.com/actions/checkout/compare/v4.1.3...v4.1.4) - Disable `extensions.worktreeConfig` when disabling `sparse-checkout` by [@​jww3](https://redirect.github.com/jww3) in [#​1692](https://redirect.github.com/actions/checkout/pull/1692) - Add dependabot config by [@​cory-miller](https://redirect.github.com/cory-miller) in [#​1688](https://redirect.github.com/actions/checkout/pull/1688) - Bump the minor-actions-dependencies group with 2 updates by [@​dependabot](https://redirect.github.com/dependabot) in [#​1693](https://redirect.github.com/actions/checkout/pull/1693) - Bump word-wrap from 1.2.3 to 1.2.5 by [@​dependabot](https://redirect.github.com/dependabot) in [#​1643](https://redirect.github.com/actions/checkout/pull/1643) ### [`v4.1.3`](https://redirect.github.com/actions/checkout/blob/HEAD/CHANGELOG.md#v413) [Compare Source](https://redirect.github.com/actions/checkout/compare/v4.1.2...v4.1.3) - Check git version before attempting to disable `sparse-checkout` by [@​jww3](https://redirect.github.com/jww3) in [#​1656](https://redirect.github.com/actions/checkout/pull/1656) - Add SSH user parameter by [@​cory-miller](https://redirect.github.com/cory-miller) in [#​1685](https://redirect.github.com/actions/checkout/pull/1685) - Update `actions/checkout` version in `update-main-version.yml` by [@​jww3](https://redirect.github.com/jww3) in [#​1650](https://redirect.github.com/actions/checkout/pull/1650) ### [`v4.1.2`](https://redirect.github.com/actions/checkout/blob/HEAD/CHANGELOG.md#v412) [Compare Source](https://redirect.github.com/actions/checkout/compare/v4.1.1...v4.1.2) - Fix: Disable sparse checkout whenever `sparse-checkout` option is not present [@​dscho](https://redirect.github.com/dscho) in [#​1598](https://redirect.github.com/actions/checkout/pull/1598) </details> <details> <summary>actions/github-script (actions/github-script)</summary> ### [`v7.1.0`](https://redirect.github.com/actions/github-script/releases/tag/v7.1.0) [Compare Source](https://redirect.github.com/actions/github-script/compare/v7.0.1...v7.1.0) #### What's Changed - Upgrade husky to v9 by [@​benelan](https://redirect.github.com/benelan) in [#​482](https://redirect.github.com/actions/github-script/pull/482) - Add workflow file for publishing releases to immutable action package by [@​Jcambass](https://redirect.github.com/Jcambass) in [#​485](https://redirect.github.com/actions/github-script/pull/485) - Upgrade IA Publish by [@​Jcambass](https://redirect.github.com/Jcambass) in [#​486](https://redirect.github.com/actions/github-script/pull/486) - Fix workflow status badges by [@​joshmgross](https://redirect.github.com/joshmgross) in [#​497](https://redirect.github.com/actions/github-script/pull/497) - Update usage of `actions/upload-artifact` by [@​joshmgross](https://redirect.github.com/joshmgross) in [#​512](https://redirect.github.com/actions/github-script/pull/512) - Clear up package name confusion by [@​joshmgross](https://redirect.github.com/joshmgross) in [#​514](https://redirect.github.com/actions/github-script/pull/514) - Update dependencies with `npm audit fix` by [@​joshmgross](https://redirect.github.com/joshmgross) in [#​515](https://redirect.github.com/actions/github-script/pull/515) - Specify that the used script is JavaScript by [@​timotk](https://redirect.github.com/timotk) in [#​478](https://redirect.github.com/actions/github-script/pull/478) - chore: Add Dependabot for NPM and Actions by [@​nschonni](https://redirect.github.com/nschonni) in [#​472](https://redirect.github.com/actions/github-script/pull/472) - Define `permissions` in workflows and update actions by [@​joshmgross](https://redirect.github.com/joshmgross) in [#​531](https://redirect.github.com/actions/github-script/pull/531) - chore: Add Dependabot for .github/actions/install-dependencies by [@​nschonni](https://redirect.github.com/nschonni) in [#​532](https://redirect.github.com/actions/github-script/pull/532) - chore: Remove .vscode settings by [@​nschonni](https://redirect.github.com/nschonni) in [#​533](https://redirect.github.com/actions/github-script/pull/533) - ci: Use github/setup-licensed by [@​nschonni](https://redirect.github.com/nschonni) in [#​473](https://redirect.github.com/actions/github-script/pull/473) - make octokit instance available as octokit on top of github, to make it easier to seamlessly copy examples from GitHub rest api or octokit documentations by [@​iamstarkov](https://redirect.github.com/iamstarkov) in [#​508](https://redirect.github.com/actions/github-script/pull/508) - Remove `octokit` README updates for v7 by [@​joshmgross](https://redirect.github.com/joshmgross) in [#​557](https://redirect.github.com/actions/github-script/pull/557) - docs: add "exec" usage examples by [@​neilime](https://redirect.github.com/neilime) in [#​546](https://redirect.github.com/actions/github-script/pull/546) - Bump ruby/setup-ruby from 1.213.0 to 1.222.0 by [@​dependabot](https://redirect.github.com/dependabot)\[bot] in [#​563](https://redirect.github.com/actions/github-script/pull/563) - Bump ruby/setup-ruby from 1.222.0 to 1.229.0 by [@​dependabot](https://redirect.github.com/dependabot)\[bot] in [#​575](https://redirect.github.com/actions/github-script/pull/575) - Clearly document passing inputs to the `script` by [@​joshmgross](https://redirect.github.com/joshmgross) in [#​603](https://redirect.github.com/actions/github-script/pull/603) - Update README.md by [@​nebuk89](https://redirect.github.com/nebuk89) in [#​610](https://redirect.github.com/actions/github-script/pull/610) #### New Contributors - [@​benelan](https://redirect.github.com/benelan) made their first contribution in [#​482](https://redirect.github.com/actions/github-script/pull/482) - [@​Jcambass](https://redirect.github.com/Jcambass) made their first contribution in [#​485](https://redirect.github.com/actions/github-script/pull/485) - [@​timotk](https://redirect.github.com/timotk) made their first contribution in [#​478](https://redirect.github.com/actions/github-script/pull/478) - [@​iamstarkov](https://redirect.github.com/iamstarkov) made their first contribution in [#​508](https://redirect.github.com/actions/github-script/pull/508) - [@​neilime](https://redirect.github.com/neilime) made their first contribution in [#​546](https://redirect.github.com/actions/github-script/pull/546) - [@​nebuk89](https://redirect.github.com/nebuk89) made their first contribution in [#​610](https://redirect.github.com/actions/github-script/pull/610) **Full Changelog**: <https://github.com/actions/github-script/compare/v7...v7.1.0> </details> <details> <summary>actions/setup-node (actions/setup-node)</summary> ### [`v4.4.0`](https://redirect.github.com/actions/setup-node/releases/tag/v4.4.0) [Compare Source](https://redirect.github.com/actions/setup-node/compare/v4.3.0...v4.4.0) ##### What's Changed ##### Bug fixes: - Make eslint-compact matcher compatible with Stylelint by [@​FloEdelmann](https://redirect.github.com/FloEdelmann) in [#​98](https://redirect.github.com/actions/setup-node/pull/98) - Add support for indented eslint output by [@​fregante](https://redirect.github.com/fregante) in [#​1245](https://redirect.github.com/actions/setup-node/pull/1245) ##### Enhancement: - Support private mirrors by [@​marco-ippolito](https://redirect.github.com/marco-ippolito) in [#​1240](https://redirect.github.com/actions/setup-node/pull/1240) ##### Dependency update: - Upgrade [@​action/cache](https://redirect.github.com/action/cache) from 4.0.2 to 4.0.3 by [@​aparnajyothi-y](https://redirect.github.com/aparnajyothi-y) in [#​1262](https://redirect.github.com/actions/setup-node/pull/1262) ##### New Contributors - [@​FloEdelmann](https://redirect.github.com/FloEdelmann) made their first contribution in [#​98](https://redirect.github.com/actions/setup-node/pull/98) - [@​fregante](https://redirect.github.com/fregante) made their first contribution in [#​1245](https://redirect.github.com/actions/setup-node/pull/1245) - [@​marco-ippolito](https://redirect.github.com/marco-ippolito) made their first contribution in [#​1240](https://redirect.github.com/actions/setup-node/pull/1240) **Full Changelog**: <https://github.com/actions/setup-node/compare/v4...v4.4.0> ### [`v4.3.0`](https://redirect.github.com/actions/setup-node/releases/tag/v4.3.0) [Compare Source](https://redirect.github.com/actions/setup-node/compare/v4.2.0...v4.3.0) #### What's Changed ##### Dependency updates - Upgrade [@​actions/glob](https://redirect.github.com/actions/glob) from 0.4.0 to 0.5.0 by [@​dependabot](https://redirect.github.com/dependabot) in [#​1200](https://redirect.github.com/actions/setup-node/pull/1200) - Upgrade [@​action/cache](https://redirect.github.com/action/cache) from 4.0.0 to 4.0.2 by [@​gowridurgad](https://redirect.github.com/gowridurgad) in [#​1251](https://redirect.github.com/actions/setup-node/pull/1251) - Upgrade [@​vercel/ncc](https://redirect.github.com/vercel/ncc) from 0.38.1 to 0.38.3 by [@​dependabot](https://redirect.github.com/dependabot) in [#​1203](https://redirect.github.com/actions/setup-node/pull/1203) - Upgrade [@​actions/tool-cache](https://redirect.github.com/actions/tool-cache) from 2.0.1 to 2.0.2 by [@​dependabot](https://redirect.github.com/dependabot) in [#​1220](https://redirect.github.com/actions/setup-node/pull/1220) #### New Contributors - [@​gowridurgad](https://redirect.github.com/gowridurgad) made their first contribution in [#​1251](https://redirect.github.com/actions/setup-node/pull/1251) **Full Changelog**: <https://github.com/actions/setup-node/compare/v4...v4.3.0> </details> <details> <summary>actions/setup-python (actions/setup-python)</summary> ### [`v5.6.0`](https://redirect.github.com/actions/setup-python/releases/tag/v5.6.0) [Compare Source](https://redirect.github.com/actions/setup-python/compare/v5.5.0...v5.6.0) ##### What's Changed - Workflow updates related to Ubuntu 20.04 by [@​aparnajyothi-y](https://redirect.github.com/aparnajyothi-y) in [#​1065](https://redirect.github.com/actions/setup-python/pull/1065) - Fix for Candidate Not Iterable Error by [@​aparnajyothi-y](https://redirect.github.com/aparnajyothi-y) in [#​1082](https://redirect.github.com/actions/setup-python/pull/1082) - Upgrade semver and [@​types/semver](https://redirect.github.com/types/semver) by [@​dependabot](https://redirect.github.com/dependabot) in [#​1091](https://redirect.github.com/actions/setup-python/pull/1091) - Upgrade prettier from 2.8.8 to 3.5.3 by [@​dependabot](https://redirect.github.com/dependabot) in [#​1046](https://redirect.github.com/actions/setup-python/pull/1046) - Upgrade ts-jest from 29.1.2 to 29.3.2 by [@​dependabot](https://redirect.github.com/dependabot) in [#​1081](https://redirect.github.com/actions/setup-python/pull/1081) **Full Changelog**: <https://github.com/actions/setup-python/compare/v5...v5.6.0> ### [`v5.5.0`](https://redirect.github.com/actions/setup-python/releases/tag/v5.5.0) [Compare Source](https://redirect.github.com/actions/setup-python/compare/v5.4.0...v5.5.0) #### What's Changed ##### Enhancements: - Support free threaded Python versions like '3.13t' by [@​colesbury](https://redirect.github.com/colesbury) in [#​973](https://redirect.github.com/actions/setup-python/pull/973) - Enhance Workflows: Include ubuntu-arm runners, Add e2e Testing for free threaded and Upgrade [@​action/cache](https://redirect.github.com/action/cache) from 4.0.0 to 4.0.3 by [@​priya-kinthali](https://redirect.github.com/priya-kinthali) in [#​1056](https://redirect.github.com/actions/setup-python/pull/1056) - Add support for .tool-versions file in setup-python by [@​mahabaleshwars](https://redirect.github.com/mahabaleshwars) in [#​1043](https://redirect.github.com/actions/setup-python/pull/1043) ##### Bug fixes: - Fix architecture for pypy on Linux ARM64 by [@​mayeut](https://redirect.github.com/mayeut) in [#​1011](https://redirect.github.com/actions/setup-python/pull/1011) This update maps arm64 to aarch64 for Linux ARM64 PyPy installations. ##### Dependency updates: - Upgrade [@​vercel/ncc](https://redirect.github.com/vercel/ncc) from 0.38.1 to 0.38.3 by [@​dependabot](https://redirect.github.com/dependabot) in [#​1016](https://redirect.github.com/actions/setup-python/pull/1016) - Upgrade [@​actions/glob](https://redirect.github.com/actions/glob) from 0.4.0 to 0.5.0 by [@​dependabot](https://redirect.github.com/dependabot) in [#​1015](https://redirect.github.com/actions/setup-python/pull/1015) #### New Contributors - [@​colesbury](https://redirect.github.com/colesbury) made their first contribution in [#​973](https://redirect.github.com/actions/setup-python/pull/973) - [@​mahabaleshwars](https://redirect.github.com/mahabaleshwars) made their first contribution in [#​1043](https://redirect.github.com/actions/setup-python/pull/1043) **Full Changelog**: <https://github.com/actions/setup-python/compare/v5...v5.5.0> </details> <details> <summary>actions/upload-artifact (actions/upload-artifact)</summary> ### [`v4.6.2`](https://redirect.github.com/actions/upload-artifact/releases/tag/v4.6.2) [Compare Source](https://redirect.github.com/actions/upload-artifact/compare/v4.6.1...v4.6.2) #### What's Changed - Update to use artifact 2.3.2 package & prepare for new upload-artifact release by [@​salmanmkc](https://redirect.github.com/salmanmkc) in [#​685](https://redirect.github.com/actions/upload-artifact/pull/685) #### New Contributors - [@​salmanmkc](https://redirect.github.com/salmanmkc) made their first contribution in [#​685](https://redirect.github.com/actions/upload-artifact/pull/685) **Full Changelog**: <https://github.com/actions/upload-artifact/compare/v4...v4.6.2> ### [`v4.6.1`](https://redirect.github.com/actions/upload-artifact/releases/tag/v4.6.1) [Compare Source](https://redirect.github.com/actions/upload-artifact/compare/v4.6.0...v4.6.1) #### What's Changed - Update to use artifact 2.2.2 package by [@​yacaovsnc](https://redirect.github.com/yacaovsnc) in [#​673](https://redirect.github.com/actions/upload-artifact/pull/673) **Full Changelog**: <https://github.com/actions/upload-artifact/compare/v4...v4.6.1> </details> <details> <summary>aminya/setup-cpp (aminya/setup-cpp)</summary> ### [`v1.7.1`](https://redirect.github.com/aminya/setup-cpp/releases/tag/v1.7.1) [Compare Source](https://redirect.github.com/aminya/setup-cpp/compare/v1.7.0...v1.7.1) ##### What's Changed - fix: prefer complete Window LLVM package [@​aminya](https://redirect.github.com/aminya) in [#​425](https://redirect.github.com/aminya/setup-cpp/pull/425) - fix: add LLVM 20.1.7 by [@​aminya](https://redirect.github.com/aminya) in [#​424](https://redirect.github.com/aminya/setup-cpp/pull/424) - fix: add mingw 15.1-r2 by [@​aminya](https://redirect.github.com/aminya) in [#​424](https://redirect.github.com/aminya/setup-cpp/pull/424) - fix: install gcovr via apt on Ubuntu by default by [@​aminya](https://redirect.github.com/aminya) in [#​424](https://redirect.github.com/aminya/setup-cpp/pull/424) - feat: add tar tool by [@​aminya](https://redirect.github.com/aminya) in [#​425](https://redirect.github.com/aminya/setup-cpp/pull/425) **Full Changelog**: <https://github.com/aminya/setup-cpp/compare/v1.7.0...v1.7.1> ### [`v1.7.0`](https://redirect.github.com/aminya/setup-cpp/releases/tag/v1.7.0) [Compare Source](https://redirect.github.com/aminya/setup-cpp/compare/v1.6.2...v1.7.0) ##### What's Changed - feat: update default LLVM to v20 by [@​aminya](https://redirect.github.com/aminya) in [#​387](https://redirect.github.com/aminya/setup-cpp/pull/387) - feat: default to GCC 15 on Windows and MacOS by [@​aminya](https://redirect.github.com/aminya) in [#​387](https://redirect.github.com/aminya/setup-cpp/pull/387) - fix: update cmake, task, powershell, meson, doxygen by [@​aminya](https://redirect.github.com/aminya) in [#​414](https://redirect.github.com/aminya/setup-cpp/pull/414) **Full Changelog**: <https://github.com/aminya/setup-cpp/compare/v1.6.2...v1.7.0> ### [`v1.6.2`](https://redirect.github.com/aminya/setup-cpp/releases/tag/v1.6.2) [Compare Source](https://redirect.github.com/aminya/setup-cpp/compare/v1.6.1...v1.6.2) **Full Changelog**: <https://github.com/aminya/setup-cpp/compare/v1.6.1...v1.6.2> ### [`v1.6.1`](https://redirect.github.com/aminya/setup-cpp/compare/v1.6.0...v1.6.1) [Compare Source](https://redirect.github.com/aminya/setup-cpp/compare/v1.6.0...v1.6.1) ### [`v1.6.0`](https://redirect.github.com/aminya/setup-cpp/releases/tag/v1.6.0) [Compare Source](https://redirect.github.com/aminya/setup-cpp/compare/v1.5.4...v1.6.0) ##### What's Changed - feat: add apt-fast as an installable tool by [@​aminya](https://redirect.github.com/aminya) in [#​401](https://redirect.github.com/aminya/setup-cpp/pull/401) - fix: add apt-fast optimizations by [@​aminya](https://redirect.github.com/aminya) in [#​402](https://redirect.github.com/aminya/setup-cpp/pull/402) **Full Changelog**: <https://github.com/aminya/setup-cpp/compare/v1.5.4...v1.6.0> ### [`v1.5.4`](https://redirect.github.com/aminya/setup-cpp/releases/tag/v1.5.4) [Compare Source](https://redirect.github.com/aminya/setup-cpp/compare/v1.5.3...v1.5.4) ##### What's Changed - fix: avoid rc sourcing loops + fix: always add guards for sourcing rc files by [@​aminya](https://redirect.github.com/aminya) in [#​397](https://redirect.github.com/aminya/setup-cpp/pull/397) - [fix: add missing git option for actions](https://redirect.github.com/aminya/setup-cpp/commit/d0235b0adb97722c83c6f48ccfad4c98c083c0e4) by [@​aminya](https://redirect.github.com/aminya) - [fix: ignore setup-cpp cli installation errors](https://redirect.github.com/aminya/setup-cpp/commit/d10f4b6db061e4bd794e409852bc38e33cc5e4a6) by [@​aminya](https://redirect.github.com/aminya) - [fix: fix addition of git to PATH on Windows](https://redirect.github.com/aminya/setup-cpp/commit/75890615f7a4d1f3833f0f9008be852b0a1b256a) by [@​aminya](https://redirect.github.com/aminya) - [fix: fix add-apt-repository in Debian](https://redirect.github.com/aminya/setup-cpp/commit/55f022dea4b4667ba75821264c21fc8121bd3f06) by [@​aminya](https://redirect.github.com/aminya) - [fix: fix llvm add-apt-repository for debian](https://redirect.github.com/aminya/setup-cpp/commit/05bd2b5297d0c94ccbd895c9e7f35a5b88dbdee8) by [@​aminya](https://redirect.github.com/aminya) **Full Changelog**: <https://github.com/aminya/setup-cpp/compare/v1.5.3...v1.5.4> ### [`v1.5.3`](https://redirect.github.com/aminya/setup-cpp/releases/tag/v1.5.3) [Compare Source](https://redirect.github.com/aminya/setup-cpp/compare/v1.5.2...v1.5.3) - fix: remove exports map from package by [@​aminya](https://redirect.github.com/aminya) in [7f46810eeda56](https://redirect.github.com/aminya/setup-cpp/commit/6370aaa0252a93c71dcc4cf49397f46810eeda56) **Full Changelog**: <https://github.com/aminya/setup-cpp/compare/v1.5.2...v1.5.3> ### [`v1.5.2`](https://redirect.github.com/aminya/setup-cpp/releases/tag/v1.5.2) [Compare Source](https://redirect.github.com/aminya/setup-cpp/compare/v1.5.1...v1.5.2) - fix: fix CLI shabang not working - independent lib by [@​aminya](https://redirect.github.com/aminya) in [c88b4364ef50](https://redirect.github.com/aminya/setup-cpp/commit/95a7de4f2eceb0baf03a70a1edb7c88b4364ef50) **Full Changelog**: <https://github.com/aminya/setup-cpp/compare/v1.5.1...v1.5.2> ### [`v1.5.1`](https://redirect.github.com/aminya/setup-cpp/compare/v1.5.0...v1.5.1) [Compare Source](https://redirect.github.com/aminya/setup-cpp/compare/v1.5.0...v1.5.1) ### [`v1.5.0`](https://redirect.github.com/aminya/setup-cpp/releases/tag/v1.5.0) [Compare Source](https://redirect.github.com/aminya/setup-cpp/compare/v1.4.0...v1.5.0) ##### What's Changed - feat: allow using setup-cpp as a library by [@​aminya](https://redirect.github.com/aminya) in [#​386](https://redirect.github.com/aminya/setup-cpp/pull/386) - fix: pin vcpkg on Alpine Arm64 by [@​aminya](https://redirect.github.com/aminya) in [#​389](https://redirect.github.com/aminya/setup-cpp/pull/389) - fix: do not add LLVM libraries to dyld by default by [@​aminya](https://redirect.github.com/aminya) in [#​388](https://redirect.github.com/aminya/setup-cpp/pull/388) **Full Changelog**: <https://github.com/aminya/setup-cpp/compare/v1.4.0...v1.5.0> ### [`v1.4.0`](https://redirect.github.com/aminya/setup-cpp/releases/tag/v1.4.0) [Compare Source](https://redirect.github.com/aminya/setup-cpp/compare/v1.3.0...v1.4.0) ##### What's Changed - 🎉 feat: support Alpine + add setup-alpine package by [@​aminya](https://redirect.github.com/aminya) in [#​379](https://redirect.github.com/aminya/setup-cpp/pull/379) - ci: add docker tags with the base platform versions by [@​aminya](https://redirect.github.com/aminya) in [#​381](https://redirect.github.com/aminya/setup-cpp/pull/381) (e.g. `setup-cpp-ubuntu:20.04`) - fix: detect externally managed Python to avoid warnings by [@​aminya](https://redirect.github.com/aminya) in [#​379](https://redirect.github.com/aminya/setup-cpp/pull/379) ##### Alpine Images (amd64 and arm64) Setup-cpp now provides prebuilt images for Alpine with support for base tools, and compilers `llvm`, `gcc`, and `mingw` available for `amd64` and `arm64` architectures. Base image with `cmake, ninja, task, vcpkg, python, make, cppcheck, gcovr, doxygen, ccache, conan, meson, cmakelang` for Alpine: ```dockerfile FROM aminya/setup-cpp-alpine:3.21 AS builder ``` Image with `llvm` and the base tools: ```dockerfile FROM aminya/setup-cpp-alpine-llvm:3.21 AS builder ``` Image with `gcc` and the base tools: ```dockerfile FROM aminya/setup-cpp-alpine-gcc:3.21 AS builder ``` Image with `mingw` and the base tools: ```dockerfile FROM aminya/setup-cpp-alpine-mingw:3.21 AS builder ``` **Full Changelog**: <https://github.com/aminya/setup-cpp/compare/v1.3.0...v1.4.0> ### [`v1.3.0`](https://redirect.github.com/aminya/setup-cpp/releases/tag/v1.3.0) [Compare Source](https://redirect.github.com/aminya/setup-cpp/compare/v1.2.2...v1.3.0) ##### What's Changed - feat: add Ubuntu 20 and 24 docker builds by [@​aminya](https://redirect.github.com/aminya) in [#​375](https://redirect.github.com/aminya/setup-cpp/pull/375) - fix: fix python installation on Ubuntu 20 by [@​aminya](https://redirect.github.com/aminya) in [#​375](https://redirect.github.com/aminya/setup-cpp/pull/375) - chore(deps): update devdependencies by [@​renovate](https://redirect.github.com/renovate) in [#​376](https://redirect.github.com/aminya/setup-cpp/pull/376) ##### Breaking changes for Ubuntu Docker images The `latest` tag for `setup-cpp` on Docker now points to Ubuntu `24.04`. Please pin the specific version if needed: Base image with `cmake, ninja, task, vcpkg, python, make, cppcheck, gcovr, doxygen, ccache, conan, meson, cmakelang` for Ubuntu 24.04: ```dockerfile FROM aminya/setup-cpp-ubuntu:24.04-1.3.0 AS builder ``` Image with `llvm` and the base tools: ```dockerfile FROM aminya/setup-cpp-ubuntu-llvm:24.04-1.3.0 AS builder ``` Image with `gcc` and the base tools: ```dockerfile FROM aminya/setup-cpp-ubuntu-gcc:24.04-1.3.0 AS builder ``` Image with `mingw` and the base tools: ```dockerfile FROM aminya/setup-cpp-ubuntu-mingw:24.04-1.3.0 AS builder ``` There are also the variants for Ubuntu `22.04` ```dockerfile FROM aminya/setup-cpp-ubuntu:22.04-1.3.0 AS builder FROM aminya/setup-cpp-ubuntu-llvm:22.04-1.3.0 AS builder FROM aminya/setup-cpp-ubuntu-gcc:22.04-1.3.0 AS builder FROM aminya/setup-cpp-ubuntu-mingw:22.04-1.3.0 AS builder ``` And for Ubuntu `20.04`: ```dockerfile FROM aminya/setup-cpp-ubuntu:20.04-1.3.0 AS builder FROM aminya/setup-cpp-ubuntu-llvm:20.04-1.3.0 AS builder FROM aminya/setup-cpp-ubuntu-gcc:20.04-1.3.0 AS builder FROM aminya/setup-cpp-ubuntu-mingw:20.04-1.3.0 AS builder ``` Note that `nala` is no longer included in the setup-cpp images by default. You can install it manually via `setup-cpp --nala true` in your Docker image if you rely on it. **Full Changelog**: <https://github.com/aminya/setup-cpp/compare/v1.2.2...v1.3.0> ### [`v1.2.2`](https://redirect.github.com/aminya/setup-cpp/releases/tag/v1.2.2) [Compare Source](https://redirect.github.com/aminya/setup-cpp/compare/v1.2.1...v1.2.2) ##### What's Changed - 🎉 ci: tests and executables for Linux arm by [@​aminya](https://redirect.github.com/aminya) in [#​363](https://redirect.github.com/aminya/setup-cpp/pull/363) - fix apt installation fallbacks to latest by [@​aminya](https://redirect.github.com/aminya) in [#​363](https://redirect.github.com/aminya/setup-cpp/pull/363) - fix old LLVM on latest Ubuntu arm by [@​aminya](https://redirect.github.com/aminya) in [#​363](https://redirect.github.com/aminya/setup-cpp/pull/363) - feat: install sccache on latest ubuntu arm by [@​aminya](https://redirect.github.com/aminya) in [#​373](https://redirect.github.com/aminya/setup-cpp/pull/373) - fix Doxygen on Linux Arm by [@​aminya](https://redirect.github.com/aminya) in [#​363](https://redirect.github.com/aminya/setup-cpp/pull/363) **Full Changelog**: <https://github.com/aminya/setup-cpp/compare/v1.2.1...v1.2.2> ### [`v1.2.1`](https://redirect.github.com/aminya/setup-cpp/releases/tag/v1.2.1) [Compare Source](https://redirect.github.com/aminya/setup-cpp/compare/v1.2.0...v1.2.1) ##### What's Changed - 🎉 feat: add multi-architecture Docker images for setup-cpp by [@​aminya](https://redirect.github.com/aminya) in [#​361](https://redirect.github.com/aminya/setup-cpp/pull/361) - 🎉 feat: install LLVM via brew on Mac if possible by [@​aminya](https://redirect.github.com/aminya) in [#​367](https://redirect.github.com/aminya/setup-cpp/pull/367) and [#​364](https://redirect.github.com/aminya/setup-cpp/pull/364) - 🎉 fix: avoid already installed warnings for brew by [@​aminya](https://redirect.github.com/aminya) in [#​369](https://redirect.github.com/aminya/setup-cpp/pull/369) - feat: add git as an installable tool by [@​aminya](https://redirect.github.com/aminya) in [#​362](https://redirect.github.com/aminya/setup-cpp/pull/362) - fix: add polyfill for crypto.randomuuid for Node 12 by [@​aminya](https://redirect.github.com/aminya) in [#​368](https://redirect.github.com/aminya/setup-cpp/pull/368) and [#​370](https://redirect.github.com/aminya/setup-cpp/pull/370) **Full Changelog**: <https://github.com/aminya/setup-cpp/compare/v1.1.1...v1.2.0> ### [`v1.2.0`](https://redirect.github.com/aminya/setup-cpp/releases/tag/v1.2.0) [Compare Source](https://redirect.github.com/aminya/setup-cpp/compare/v1.1.1...v1.2.0) ##### What's Changed Note: superseded by v1.2.1 - feat: add multi-architecture Docker images for setup-cpp by [@​aminya](https://redirect.github.com/aminya) in [#​361](https://redirect.github.com/aminya/setup-cpp/pull/361) - feat: install LLVM via brew on Mac if possible by [@​aminya](https://redirect.github.com/aminya) in [#​367](https://redirect.github.com/aminya/setup-cpp/pull/367) and [#​364](https://redirect.github.com/aminya/setup-cpp/pull/364) - feat: add git as an installable tool by [@​aminya](https://redirect.github.com/aminya) in [#​362](https://redirect.github.com/aminya/setup-cpp/pull/362) - fix: avoid already installed warnings for brew by [@​aminya](https://redirect.github.com/aminya) in [#​369](https://redirect.github.com/aminya/setup-cpp/pull/369) - fix: add polyfill for crypto.randomuuid for Node 12 by [@​aminya](https://redirect.github.com/aminya) in [#​368](https://redirect.github.com/aminya/setup-cpp/pull/368) and [#​370](https://redirect.github.com/aminya/setup-cpp/pull/370) **Full Changelog**: <https://github.com/aminya/setup-cpp/compare/v1.1.1...v1.2.0> </details> <details> <summary>docker/login-action (docker/login-action)</summary> ### [`v3.5.0`](https://redirect.github.com/docker/login-action/releases/tag/v3.5.0) [Compare Source](https://redirect.github.com/docker/login-action/compare/v3.4.0...v3.5.0) - Support dual-stack endpoints for AWS ECR by [@​Spacefish](https://redirect.github.com/Spacefish) [@​crazy-max](https://redirect.github.com/crazy-max) in [#​874](https://redirect.github.com/docker/login-action/pull/874) [#​876](https://redirect.github.com/docker/login-action/pull/876) - Bump [@​aws-sdk/client-ecr](https://redirect.github.com/aws-sdk/client-ecr) to 3.859.0 in [#​860](https://redirect.github.com/docker/login-action/pull/860) [#​878](https://redirect.github.com/docker/login-action/pull/878) - Bump [@​aws-sdk/client-ecr-public](https://redirect.github.com/aws-sdk/client-ecr-public) to 3.859.0 in [#​860](https://redirect.github.com/docker/login-action/pull/860) [#​878](https://redirect.github.com/docker/login-action/pull/878) - Bump [@​docker/actions-toolkit](https://redirect.github.com/docker/actions-toolkit) from 0.57.0 to 0.62.1 in [#​870](https://redirect.github.com/docker/login-action/pull/870) - Bump form-data from 2.5.1 to 2.5.5 in [#​875](https://redirect.github.com/docker/login-action/pull/875) **Full Changelog**: <https://github.com/docker/login-action/compare/v3.4.0...v3.5.0> ### [`v3.4.0`](https://redirect.github.com/docker/login-action/releases/tag/v3.4.0) [Compare Source](https://redirect.github.com/docker/login-action/compare/v3.3.0...v3.4.0) - Bump [@​actions/core](https://redirect.github.com/actions/core) from 1.10.1 to 1.11.1 in [#​791](https://redirect.github.com/docker/login-action/pull/791) - Bump [@​aws-sdk/client-ecr](https://redirect.github.com/aws-sdk/client-ecr) to 3.766.0 in [#​789](https://redirect.github.com/docker/login-action/pull/789) [#​856](https://redirect.github.com/docker/login-action/pull/856) - Bump [@​aws-sdk/client-ecr-public](https://redirect.github.com/aws-sdk/client-ecr-public) to 3.758.0 in [#​789](https://redirect.github.com/docker/login-action/pull/789) [#​856](https://redirect.github.com/docker/login-action/pull/856) - Bump [@​docker/actions-toolkit](https://redirect.github.com/docker/actions-toolkit) from 0.35.0 to 0.57.0 in [#​801](https://redirect.github.com/docker/login-action/pull/801) [#​806](https://redirect.github.com/docker/login-action/pull/806) [#​858](https://redirect.github.com/docker/login-action/pull/858) - Bump cross-spawn from 7.0.3 to 7.0.6 in [#​814](https://redirect.github.com/docker/login-action/pull/814) - Bump https-proxy-agent from 7.0.5 to 7.0.6 in [#​823](https://redirect.github.com/docker/login-action/pull/823) - Bump path-to-regexp from 6.2.2 to 6.3.0 in [#​777](https://redirect.github.com/docker/login-action/pull/777) **Full Changelog**: <https://github.com/docker/login-action/compare/v3.3.0...v3.4.0> </details> <details> <summary>github/codeql-action (github/codeql-action)</summary> ### [`v2.28.1`](https://redirect.github.com/github/codeql-action/releases/tag/v2.28.1) [Compare Source](https://redirect.github.com/github/codeql-action/compare/v2.28.0...v2.28.1) ### CodeQL Action Changelog See the [releases page](https://redirect.github.com/github/codeql-action/releases) for the relevant changes to the CodeQL CLI and language packs. **This is the last planned release of the `v2`. To continue getting updates for the CodeQL Action, please switch to `v3`.** #### 2.28.1 - 10 Jan 2025 - CodeQL Action v2 is now deprecated, and is no longer updated or supported. For better performance, improved security, and new features, upgrade to v3. For more information, see [this changelog post](https://github.blog/changelog/2025-01-10-code-scanning-codeql-action-v2-is-now-deprecated/). [#​2677](https://redirect.github.com/github/codeql-action/pull/2677) - Update default CodeQL bundle version to 2.20.1. [#​2678](https://redirect.github.com/github/codeql-action/pull/2678) See the full [CHANGELOG.md](https://redirect.github.com/github/codeql-action/blob/v2.28.1/CHANGELOG.md) for more information. ### [`v2.28.0`](https://redirect.github.com/github/codeql-action/releases/tag/v2.28.0) [Compare Source](https://redirect.github.com/github/codeql-action/compare/v2.27.9...v2.28.0) ### CodeQL Action Changelog See the [releases page](https://redirect.github.com/github/codeql-action/releases) for the relevant changes to the CodeQL CLI and language packs. Note that the only difference between `v2` and `v3` of the CodeQL Action is the node version they support, with `v3` running on node 20 while we continue to release `v2` to support running on node 16. For example `3.22.11` was the first `v3` release and is functionally identical to `2.22.11`. This approach ensures an easy way to track exactly which features are included in different versions, indicated by the minor and patch version numbers. **This is the last planned release of the `v2`. To continue getting updates for the CodeQL Action, please switch to `v3`.** #### 2.28.0 - 20 Dec 2024 - Bump the minimum CodeQL bundle version to 2.15.5. [#​2655](https://redirect.github.com/github/codeql-action/pull/2655) - Don't fail in the unusual case that a file is on the search path. [#​2660](https://redirect.github.com/github/codeql-action/pull/2660). See the full [CHANGELOG.md](https://redirect.github.com/github/codeql-action/blob/v2.28.0/CHANGELOG.md) for more information. ### [`v2.27.9`](https://redirect.github.com/github/codeql-action/releases/tag/v2.27.9) [Compare Source](https://redirect.github.com/github/codeql-action/compare/v2.27.8...v2.27.9) ### CodeQL Action Changelog See the [releases page](https://redirect.github.com/github/codeql-action/releases) for the relevant changes to the CodeQL CLI and language packs. Note that the only difference between `v2` and `v3` of the CodeQL Action is the node version they support, with `v3` running on node 20 while we continue to release `v2` to support running on node 16. For example `3.22.11` was the first `v3` release and is functionally identical to `2.22.11`. This approach ensures an easy way to track exactly which features are included in different versions, indicated by the minor and patch version numbers. #### 2.27.9 - 12 Dec 2024 No user facing changes. See the full [CHANGELOG.md](https://redirect.github.com/github/codeql-action/blob/v2.27.9/CHANGELOG.md) for more information. ### [`v2.27.8`](https://redirect.github.com/github/codeql-action/compare/v2.27.7...v2.27.8) [Compare Source](https://redirect.github.com/github/codeql-action/compare/v2.27.7...v2.27.8) ### [`v2.27.7`](https://redirect.github.com/github/codeql-action/releases/tag/v2.27.7) [Compare Source](https://redirect.github.com/github/codeql-action/compare/v2.27.6...v2.27.7) ### CodeQL Action Changelog See the [releases page](https://redirect.github.com/github/codeql-action/releases) for the relevant changes to the CodeQL CLI and language packs. Note that the only difference between `v2` and `v3` of the CodeQL Action is the node version they support, with `v3` running on node 20 while we continue to release `v2` to support running on node 16. For example `3.22.11` was the first `v3` release and is functionally identical to `2.22.11`. This approach ensures an easy way to track exactly which features are included in different versions, indicated by the minor and patch version numbers. #### 2.27.7 - 10 Dec 2024 - We are rolling out a change in December 2024 that will extract the CodeQL bundle directly to the toolcache to improve performance. [#​2631](https://redirect.github.com/github/codeql-action/pull/2631) - Update default CodeQL bundle version to 2.20.0. [#​2636](https://redirect.github.com/github/codeql-action/pull/2636) See the full [CHANGELOG.md](https://redirect.github.com/github/codeql-action/blob/v2.27.7/CHANGELOG.md) for more information. ### [`v2.27.6`](https://redirect.github.com/github/codeql-action/releases/tag/v2 </details> --- ### Configuration 📅 **Schedule**: Branch creation - Between 12:00 AM and 12:59 AM, only on Monday ( * 0 * * 1 ) (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://redirect.github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/llvm/llvm-project). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xMzEuOSIsInVwZGF0ZWRJblZlciI6IjQxLjEzMS45IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
These two actions were missing version annotations. This confuses renovate (slightly) and is also non-standard compared to all the other workflows.
…p transformation directive and "looprange" clause (llvm#139293) This change implements the fuse directive, `#pragma omp fuse`, as specified in the OpenMP 6.0, along with the `looprange` clause in clang. This change also adds minimal stubs so flang keeps compiling (a full implementation in flang of this directive is still pending). --------- Co-authored-by: Roger Ferrer Ibanez <[email protected]>
…#159816) This fills in the missing patterns for bicasting v4f16 to/from v4bf16, and v8f16 to/from v8f16. Clean up some formatting whilst here. Fixes llvm#159772
Remove NoSignedZerosFPMath in TargetLowering part, users should always use instruction level fast math flags.
… parameters (llvm#161099) The AutoType's deduced-as-dependent mechanism is not really used for constant template parameters, but this is currently harmless to ignore because when dealing which such types, they will have been transformed, turning them back to plain undeduced AutoTypes. This should be NFC for current main users, but llvm#141776 will depend on this.
This makes the instantation depth limit be checked whenever the code synthesis context is pushed, not only when creating a InstantiatingTemplate RAII object. Also fix the note suggesting the user increases `-ftemplate-depth` so it is printed even in a SFINAE context.
…lvm#160700) The initial implementation used a very crude check where a value was considered ephemeral if it has only one use. This is insufficient if there are multiple assumes acting on the same value, or in more complex cases like cyclic phis. Generalize this to a more typical ephemeral value check, i.e. make sure that all transitive users are in assumes, while stopping at side-effecting instructions.
Fix the crash issue when updating debuginfo via DWARF4 DWP and improve efficiency.
Mark the attributes as immarg to indicate that they require a constant integer. This was previously enforced with a manual verifier check.
…eeze(x)) to X86FixupInstTunings (llvm#161007) Avoid the shl(x,1) -> add(freeze(x),freeze(x)) if the shift-imm if legal, and leave it to X86FixupInstTunings. Helps avoid missed optimisations due to oneuse limits, avoids unnecessary freezes and allows AVX512 to fold to mi memory folding variants. Fixes llvm#161006
…61391) We don't emit source file names or line numbers for error messages at EOF. Detect these and handle them a little better, pointing at the newline at the end of the last source line instead.
The modular build was failing due to a missing include.
llvm#161406) Changes to llvm/include/llvm/IR/Intrinsics.td may change the constants that are embedded in this test. Use wildcards, so that unrelated changes do not trip over this test failing. Fixes: llvm#158426
This PR virtualizes module cache pruning via the new `ModuleCache` interface. Currently this is an NFC, but I left a FIXME in `InProcessModuleCache` to make this more efficient for the dependency scanner.
This was broken and never tested. Not only this could crash for stack-use-after-scope, but it also would have printed something like: ``` value <block argument> of type 'memref<7x8xf64, #gpu.address_space<workgroup>>' at index: 12 ``` insted of the SSA value. It turns out the gpu.func already have a very similar helper that we can reuse here. Fixes llvm#161394
This PR adds extraction of kernel names for each image and stores them to the Image's StringData field.
llvm#161311) Update generated docs for legacy attributes: * no_sanitize_(address|thread|memory) * no_address_safety_analysis Those are older forms of no_sanitize("list", "of", "sanitizers") attribute. They were previously as various spellings of the same attribute, which made the auto-generated documentation confusing. Fix this by explicitly making them three different attributes. This would also allow to simplify the delegation to the new no_sanitize form slightly, as we can instead rely on auto-generated code to check that TSan and MSan can't be disabled for globals. **HTML docs before:** <img width="1004" height="1175" alt="rendered-docs-before" src="https://github.com/user-attachments/assets/407b5fc1-799c-4882-8ff8-44a5ef3cf4f1" /> **HTML docs after:** <img width="1098" height="1118" alt="rendered-docs-after" src="https://github.com/user-attachments/assets/236ca93f-25f8-4d58-95ac-ede95ce18d01" /> --------- Co-authored-by: Erich Keane <[email protected]>
Upstream the RTTI builder with helpers and used them in the VTable Definitions Issue llvm#154992
…#138883) Introduce a low-level instruction matching DSL to capture and/or match the operands of MCInst, single instruction at a time. Unlike the existing `MCPlusBuilder::MCInstMatcher` machinery, this DSL is intended for the use cases when the precise control over the instruction order is required. For example, when validating PtrAuth hardening, all registers are usually considered unsafe after a function call, even though callee-saved registers should preserve their old values _under normal operation_. Usage example: // Bring the short names into the local scope: using namespace LowLevelInstMatcherDSL; // Declare the registers to capture: Reg Xn, Xm; // Capture the 0th and 1st operands, match the 2nd operand against the // just captured Xm register, match the 3rd operand against literal 0: if (!matchInst(MaybeAdd, AArch64::ADDXrs, Xm, Xn, Xm, Imm(0)) return AArch64::NoRegister; // Match the 0th operand against Xm: if (!matchInst(MaybeBr, AArch64::BR, Xm)) return AArch64::NoRegister; // Manually check that Xm and Xn did not match the same register: if (Xm.get() == Xn.get()) return AArch64::NoRegister; // Return the matched register: return Xm.get();
Using a fold instead of template recursion.
Fix spelling of `GetMemoryRegionInfo` function in log message and comment and reformat code.
…nt values (llvm#161084) Implemented `common::UsageWarning::ConstantIsContiguous` to warn about the following case: ``` integer, parameter :: num = 3 integer, parameter :: arr(num)=[(i, i=1,num)] logical, parameter :: result=is_contiguous(arr(num:1:-1)) end ``` Here, while array section is discontiguous, `arr` is a compile time constant, so array section created at compile time will end up being contiguous and `result` will be "true". If `arr` wasn't a constant, the result at runtime would have been "false".
On the happy path, when `clang-repl` is present, we will invoke it in order to determine if the host supports JIT features. That will return a string containing "true". However, in cases where `clang-repl` is not present or we fail to invoke it, we previously returned `False`, which would then trigger a failure with our substring check. This PR updates the function to return `""` instead, so the substring check is still valid. This is related to llvm#157359, where the original change was introduced.
flang/lib/Evaluate/constant.cpp apparently needs this #include for MSVC builds but somehow not for others.
A loop may have more than one predecessor out of the loop. In that case, just pick the first non-phi instruction in the loop header.
…ows (llvm#160493) Summary - Add ASan interceptors for wcscpy/wcsncpy on all platforms. - Enable wcscat/wcsncat on Windows (already enabled on POSIX via sanitizer_common). Motivation - Use of wchar string APIs is common on Windows; improve parity with char* string checks. Changes - Implement wcscpy/wcsncpy in asan_interceptors.cpp; check overlap and mark read/write ranges in bytes. - wcsncpy: compute write size in bytes (size * sizeof(wchar_t)) to avoid missed overflows when sizeof(wchar_t) != 1. - Use MaybeRealWcsnlen when available to bound reads. - Register Windows static thunk for wcscpy/wcsncpy/wcscat/wcsncat; rely on sanitizer_common interceptors for wcscat/wcsncat. - Tests: add wcscpy/wcsncpy/wcscat/wcsncat; flush stdout before crash; use resilient FileCheck patterns (reuse [[ADDR]], wildcard for function suffixes and paths, flexible line numbers). Testing - AArch64 Linux: new tests pass with check-asan locally. Follow-up to and based on prior work in PR llvm#90909 (author: branh, Microsoft); builds on that work and addresses review feedback. Thanks! --------- Signed-off-by: Yixuan Cao <[email protected]>
5962919 to
7fe4cbc
Compare
This seems to have broken some buildbots for a long time, so just suppress it for now until we determine how/why.
Transform op to request a tensor value to live in a specific memory space after bufferization Remove hard-coded types from BufferizeToAllocationOp constructor --------- Co-authored-by: Nicolas Vasilache <[email protected]> Co-authored-by: Alex Zinenko <[email protected]>
19f2cd0 to
c7c1fae
Compare
Jimmy2027
pushed a commit
that referenced
this pull request
Oct 22, 2025
A recent change adding a new sanitizer kind (via Sanitizers.def) was reverted in c74fa20 ("Revert "[Clang][CodeGen] Introduce the AllocToken SanitizerKind" (llvm#162413)"). The reason was this ASan report, when running the test cases in clang/test/Preprocessor/print-header-json.c: ``` ==clang==483265==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x7d82b97e8b58 at pc 0x562cd432231f bp 0x7fff3fad0850 sp 0x7fff3fad0848 READ of size 16 at 0x7d82b97e8b58 thread T0 #0 0x562cd432231e in __copy_non_overlapping_range<const unsigned long *, const unsigned long *> zorg-test/libcxx_install_asan_ubsan/include/c++/v1/string:2144:38 #1 0x562cd432231e in void std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>::__init_with_size[abi:nn220000]<unsigned long const*, unsigned long const*>(unsigned long const*, unsigned long const*, unsigned long) zorg-test/libcxx_install_asan_ubsan/include/c++/v1/string:2685:18 llvm#2 0x562cd41e2797 in __init<const unsigned long *, 0> zorg-test/libcxx_install_asan_ubsan/include/c++/v1/string:2673:3 llvm#3 0x562cd41e2797 in basic_string<const unsigned long *, 0> zorg-test/libcxx_install_asan_ubsan/include/c++/v1/string:1174:5 llvm#4 0x562cd41e2797 in clang::ASTReader::ReadString(llvm::SmallVectorImpl<unsigned long> const&, unsigned int&) clang/lib/Serialization/ASTReader.cpp:10171:15 llvm#5 0x562cd41fd89a in clang::ASTReader::ParseLanguageOptions(llvm::SmallVector<unsigned long, 64u> const&, llvm::StringRef, bool, clang::ASTReaderListener&, bool) clang/lib/Serialization/ASTReader.cpp:6475:28 llvm#6 0x562cd41eea53 in clang::ASTReader::ReadOptionsBlock(llvm::BitstreamCursor&, llvm::StringRef, unsigned int, bool, clang::ASTReaderListener&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>&) clang/lib/Serialization/ASTReader.cpp:3069:11 llvm#7 0x562cd4204ab8 in clang::ASTReader::ReadControlBlock(clang::serialization::ModuleFile&, llvm::SmallVectorImpl<clang::ASTReader::ImportedModule>&, clang::serialization::ModuleFile const*, unsigned int) clang/lib/Serialization/ASTReader.cpp:3249:15 llvm#8 0x562cd42097d2 in clang::ASTReader::ReadASTCore(llvm::StringRef, clang::serialization::ModuleKind, clang::SourceLocation, clang::serialization::ModuleFile*, llvm::SmallVectorImpl<clang::ASTReader::ImportedModule>&, long, long, clang::ASTFileSignature, unsigned int) clang/lib/Serialization/ASTReader.cpp:5182:15 llvm#9 0x562cd421ec77 in clang::ASTReader::ReadAST(llvm::StringRef, clang::serialization::ModuleKind, clang::SourceLocation, unsigned int, clang::serialization::ModuleFile**) clang/lib/Serialization/ASTReader.cpp:4828:11 llvm#10 0x562cd3d07b74 in clang::CompilerInstance::findOrCompileModuleAndReadAST(llvm::StringRef, clang::SourceLocation, clang::SourceLocation, bool) clang/lib/Frontend/CompilerInstance.cpp:1805:27 llvm#11 0x562cd3d0b2ef in clang::CompilerInstance::loadModule(clang::SourceLocation, llvm::ArrayRef<clang::IdentifierLoc>, clang::Module::NameVisibilityKind, bool) clang/lib/Frontend/CompilerInstance.cpp:1956:31 llvm#12 0x562cdb04eb1c in clang::Preprocessor::HandleHeaderIncludeOrImport(clang::SourceLocation, clang::Token&, clang::Token&, clang::SourceLocation, clang::detail::SearchDirIteratorImpl<true>, clang::FileEntry const*) clang/lib/Lex/PPDirectives.cpp:2423:49 llvm#13 0x562cdb042222 in clang::Preprocessor::HandleIncludeDirective(clang::SourceLocation, clang::Token&, clang::detail::SearchDirIteratorImpl<true>, clang::FileEntry const*) clang/lib/Lex/PPDirectives.cpp:2101:17 llvm#14 0x562cdb043366 in clang::Preprocessor::HandleDirective(clang::Token&) clang/lib/Lex/PPDirectives.cpp:1338:14 llvm#15 0x562cdafa84bc in clang::Lexer::LexTokenInternal(clang::Token&, bool) clang/lib/Lex/Lexer.cpp:4512:7 llvm#16 0x562cdaf9f20b in clang::Lexer::Lex(clang::Token&) clang/lib/Lex/Lexer.cpp:3729:24 llvm#17 0x562cdb0d4ffa in clang::Preprocessor::Lex(clang::Token&) clang/lib/Lex/Preprocessor.cpp:896:11 llvm#18 0x562cd77da950 in clang::ParseAST(clang::Sema&, bool, bool) clang/lib/Parse/ParseAST.cpp:163:7 [...] 0x7d82b97e8b58 is located 0 bytes after 3288-byte region [0x7d82b97e7e80,0x7d82b97e8b58) allocated by thread T0 here: #0 0x562cca76f604 in malloc zorg-test/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:67:3 #1 0x562cd1cce452 in safe_malloc llvm/include/llvm/Support/MemAlloc.h:26:18 llvm#2 0x562cd1cce452 in llvm::SmallVectorBase<unsigned int>::grow_pod(void*, unsigned long, unsigned long) llvm/lib/Support/SmallVector.cpp:151:15 llvm#3 0x562cdbe1768b in grow_pod llvm/include/llvm/ADT/SmallVector.h:139:11 llvm#4 0x562cdbe1768b in grow llvm/include/llvm/ADT/SmallVector.h:525:41 llvm#5 0x562cdbe1768b in reserve llvm/include/llvm/ADT/SmallVector.h:665:13 llvm#6 0x562cdbe1768b in llvm::BitstreamCursor::readRecord(unsigned int, llvm::SmallVectorImpl<unsigned long>&, llvm::StringRef*) llvm/lib/Bitstream/Reader/BitstreamReader.cpp:230:10 llvm#7 0x562cd41ee8ab in clang::ASTReader::ReadOptionsBlock(llvm::BitstreamCursor&, llvm::StringRef, unsigned int, bool, clang::ASTReaderListener&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>&) clang/lib/Serialization/ASTReader.cpp:3060:49 llvm#8 0x562cd4204ab8 in clang::ASTReader::ReadControlBlock(clang::serialization::ModuleFile&, llvm::SmallVectorImpl<clang::ASTReader::ImportedModule>&, clang::serialization::ModuleFile const*, unsigned int) clang/lib/Serialization/ASTReader.cpp:3249:15 llvm#9 0x562cd42097d2 in clang::ASTReader::ReadASTCore(llvm::StringRef, clang::serialization::ModuleKind, clang::SourceLocation, clang::serialization::ModuleFile*, llvm::SmallVectorImpl<clang::ASTReader::ImportedModule>&, long, long, clang::ASTFileSignature, unsigned int) clang/lib/Serialization/ASTReader.cpp:5182:15 llvm#10 0x562cd421ec77 in clang::ASTReader::ReadAST(llvm::StringRef, clang::serialization::ModuleKind, clang::SourceLocation, unsigned int, clang::serialization::ModuleFile**) clang/lib/Serialization/ASTReader.cpp:4828:11 llvm#11 0x562cd3d07b74 in clang::CompilerInstance::findOrCompileModuleAndReadAST(llvm::StringRef, clang::SourceLocation, clang::SourceLocation, bool) clang/lib/Frontend/CompilerInstance.cpp:1805:27 llvm#12 0x562cd3d0b2ef in clang::CompilerInstance::loadModule(clang::SourceLocation, llvm::ArrayRef<clang::IdentifierLoc>, clang::Module::NameVisibilityKind, bool) clang/lib/Frontend/CompilerInstance.cpp:1956:31 llvm#13 0x562cdb04eb1c in clang::Preprocessor::HandleHeaderIncludeOrImport(clang::SourceLocation, clang::Token&, clang::Token&, clang::SourceLocation, clang::detail::SearchDirIteratorImpl<true>, clang::FileEntry const*) clang/lib/Lex/PPDirectives.cpp:2423:49 llvm#14 0x562cdb042222 in clang::Preprocessor::HandleIncludeDirective(clang::SourceLocation, clang::Token&, clang::detail::SearchDirIteratorImpl<true>, clang::FileEntry const*) clang/lib/Lex/PPDirectives.cpp:2101:17 llvm#15 0x562cdb043366 in clang::Preprocessor::HandleDirective(clang::Token&) clang/lib/Lex/PPDirectives.cpp:1338:14 llvm#16 0x562cdafa84bc in clang::Lexer::LexTokenInternal(clang::Token&, bool) clang/lib/Lex/Lexer.cpp:4512:7 llvm#17 0x562cdaf9f20b in clang::Lexer::Lex(clang::Token&) clang/lib/Lex/Lexer.cpp:3729:24 llvm#18 0x562cdb0d4ffa in clang::Preprocessor::Lex(clang::Token&) clang/lib/Lex/Preprocessor.cpp:896:11 llvm#19 0x562cd77da950 in clang::ParseAST(clang::Sema&, bool, bool) clang/lib/Parse/ParseAST.cpp:163:7 [...] SUMMARY: AddressSanitizer: heap-buffer-overflow clang/lib/Serialization/ASTReader.cpp:10171:15 in clang::ASTReader::ReadString(llvm::SmallVectorImpl<unsigned long> const&, unsigned int&) ``` The reason is this particular RUN line: ``` // RUN: env CC_PRINT_HEADERS_FORMAT=json CC_PRINT_HEADERS_FILTERING=direct-per-file CC_PRINT_HEADERS_FILE=%t.txt %clang -fsyntax-only -I %S/Inputs/print-header-json -isystem %S/Inputs/print-header-json/system -fmodules -fimplicit-module-maps -fmodules-cache-path=%t %s -o /dev/null ``` which was added in 8df194f ("[Clang] Support includes translated to module imports in -header-include-filtering=direct-per-file (llvm#156756)"). The problem is caused by an incremental build reusing stale cached module files (.pcm) that are no longer binary-compatible with the updated compiler. Adding a new sanitizer option altered the implicit binary layout of the serialized LangOptions data structure. The build + test system is oblivious to such changes. When the new compiler attempted to read the old module file (from the previous test invocation), it misinterpreted the data due to the layout mismatch, resulting in a heap-buffer-overflow. Unfortunately Clang's PCM format does not encode nor detect version mismatches here; a more graceful failure mode would be preferable. For now, fix the test to be more robust with incremental build + test.
Jimmy2027
pushed a commit
that referenced
this pull request
Oct 22, 2025
Otherwise debug-info is stripped, which influences the language of the
current frame.
Also, set explicit breakpoint because Windows seems to not obey the
debugtrap.
Log from failing test on Windows:
```
(lldb) command source -s 0 'lit-lldb-init-quiet'
Executing commands in 'D:\test\lit-lldb-init-quiet'.
(lldb) command source -C --silent-run true lit-lldb-init
(lldb) target create "main.out"
Current executable set to 'D:\test\main.out' (x86_64).
(lldb) settings set interpreter.stop-command-source-on-error false
(lldb) command source -s 0 'with-target.input'
Executing commands in 'D:\test\with-target.input'.
(lldb) expr blah
^
error: use of undeclared identifier 'blah'
note: Falling back to default language. Ran expression as 'Objective C++'.
(lldb) run
Process 29404 launched: 'D:\test\main.out' (x86_64)
Process 29404 stopped
* thread #1, stop reason = Exception 0x80000003 encountered at address 0x7ff7b3df7189
frame #0: 0x00007ff7b3df718a main.out
-> 0x7ff7b3df718a: xorl %eax, %eax
0x7ff7b3df718c: popq %rcx
0x7ff7b3df718d: retq
0x7ff7b3df718e: int3
(lldb) expr blah
^
error: use of undeclared identifier 'blah'
note: Falling back to default language. Ran expression as 'Objective C++'.
(lldb) expr -l objc -- blah
^
error: use of undeclared identifier 'blah'
note: Expression evaluation in pure Objective-C not supported. Ran expression as 'Objective C++'.
(lldb) expr -l c -- blah
^
error: use of undeclared identifier 'blah'
note: Expression evaluation in pure C not supported. Ran expression as 'ISO C++'.
```
Jimmy2027
pushed a commit
that referenced
this pull request
Oct 22, 2025
The Tkinter module was renamed to tkinter in Python 3.0. https://docs.python.org/2/library/tkinter.html https://docs.python.org/3/library/tkinter.html Rest of it appears to work when imported inside of LLDB: ``` $ ./bin/lldb /tmp/test.o (lldb) target create "/tmp/test.o" Current executable set to '/tmp/test.o' (x86_64). (lldb) b main Breakpoint 1: where = test.o`main + 8 at test.c:1:18, address = 0x0000000000001131 (lldb) run Process 121572 launched: '/tmp/test.o' (x86_64) Process 121572 stopped * thread #1, name = 'test.o', stop reason = breakpoint 1.1 frame #0: 0x0000555555555131 test.o`main at test.c:1:18 -> 1 int main() { int a = 1; char b = '?'; return 0; } (lldb) command script import <...>/llvm-project/lldb/examples/python/lldbtk.py (lldb) tk- Available completions: tk-process -- For more information run 'help tk-process' tk-target -- For more information run 'help tk-target' tk-variables -- For more information run 'help tk-variables' (lldb) tk-process (lldb) tk-target (lldb) tk-variables ```
Jimmy2027
pushed a commit
that referenced
this pull request
Oct 22, 2025
…ypes (llvm#162278) When we take the following C program: ``` int main() { return 0; } ``` and create a statically-linked executable from it: ``` clang -static -g -o main main.c ``` Then we can observe the following `lldb` behavior: ``` $ lldb (lldb) target create main Current executable set to '.../main' (x86_64). (lldb) breakpoint set --name main Breakpoint 1: where = main`main + 11 at main.c:2:3, address = 0x000000000022aa7b (lldb) process launch Process 3773637 launched: '/home/me/tmp/built-in/main' (x86_64) Process 3773637 stopped * thread #1, name = 'main', stop reason = breakpoint 1.1 frame #0: 0x000000000022aa7b main`main at main.c:2:3 1 int main() { -> 2 return 0; 3 } (lldb) script lldb.debugger.GetSelectedTarget().FindFirstType("__int128").size 0 (lldb) script lldb.debugger.GetSelectedTarget().FindFirstType("unsigned __int128").size 0 (lldb) quit ``` The value return by the `SBTarget::FindFirstType` method is wrong for the `__int128` and `unsigned __int128` basic types. The proposed changes make the `TypeSystemClang::GetBasicTypeEnumeration` method consistent with `gcc` and `clang` C [language extension](https://gcc.gnu.org/onlinedocs/gcc/_005f_005fint128.html) related to 128-bit integer types as well as with the `BuiltinType::getName` method in the LLVM codebase itself. When the above change is applied, the behavior of the `lldb` changes in the following (desired) way: ``` $ lldb (lldb) target create main Current executable set to '.../main' (x86_64). (lldb) breakpoint set --name main Breakpoint 1: where = main`main + 11 at main.c:2:3, address = 0x000000000022aa7b (lldb) process launch Process 3773637 launched: '/home/me/tmp/built-in/main' (x86_64) Process 3773637 stopped * thread #1, name = 'main', stop reason = breakpoint 1.1 frame #0: 0x000000000022aa7b main`main at main.c:2:3 1 int main() { -> 2 return 0; 3 } (lldb) script lldb.debugger.GetSelectedTarget().FindFirstType("__int128").size 16 (lldb) script lldb.debugger.GetSelectedTarget().FindFirstType("unsigned __int128").size 16 (lldb) quit ``` --------- Co-authored-by: Matej Košík <[email protected]>
Jimmy2027
pushed a commit
that referenced
this pull request
Oct 22, 2025
**Mitigation for:** google/sanitizers#749 **Disclosure:** I'm not an ASan compiler expert yet (I'm trying to learn!), I primarily work in the runtime. Some of this PR was developed with the help of AI tools (primarily as a "fuzzy `grep` engine"), but I've manually refined and tested the output, and can speak for every line. In general, I used it only to orient myself and for "rubberducking". **Context:** The msvc ASan team (👋 ) has received an internal request to improve clang's exception handling under ASan for Windows. Namely, we're interested in **mitigating** this bug: google/sanitizers#749 To summarize, today, clang + ASan produces a false-positive error for this program: ```C++ #include <cstdio> #include <exception> int main() { try { throw std::exception("test"); }catch (const std::exception& ex){ puts(ex.what()); } return 0; } ``` The error reads as such: ``` C:\Users\dajusto\source\repros\upstream>type main.cpp #include <cstdio> #include <exception> int main() { try { throw std::exception("test"); }catch (const std::exception& ex){ puts(ex.what()); } return 0; } C:\Users\dajusto\source\repros\upstream>"C:\Users\dajusto\source\repos\llvm-project\build.runtimes\bin\clang.exe" -fsanitize=address -g -O0 main.cpp C:\Users\dajusto\source\repros\upstream>a.exe ================================================================= ==19112==ERROR: AddressSanitizer: access-violation on unknown address 0x000000000000 (pc 0x7ff72c7c11d9 bp 0x0080000ff960 sp 0x0080000fcf50 T0) ==19112==The signal is caused by a READ memory access. ==19112==Hint: address points to the zero page. #0 0x7ff72c7c11d8 in main C:\Users\dajusto\source\repros\upstream\main.cpp:8 #1 0x7ff72c7d479f in _CallSettingFrame C:\repos\msvc\src\vctools\crt\vcruntime\src\eh\amd64\handlers.asm:49 llvm#2 0x7ff72c7c8944 in __FrameHandler3::CxxCallCatchBlock(struct _EXCEPTION_RECORD *) C:\repos\msvc\src\vctools\crt\vcruntime\src\eh\frame.cpp:1567 llvm#3 0x7ffb4a90e3e5 (C:\WINDOWS\SYSTEM32\ntdll.dll+0x18012e3e5) llvm#4 0x7ff72c7c1128 in main C:\Users\dajusto\source\repros\upstream\main.cpp:6 llvm#5 0x7ff72c7c33db in invoke_main C:\repos\msvc\src\vctools\crt\vcstartup\src\startup\exe_common.inl:78 llvm#6 0x7ff72c7c33db in __scrt_common_main_seh C:\repos\msvc\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288 llvm#7 0x7ffb49b05c06 (C:\WINDOWS\System32\KERNEL32.DLL+0x180035c06) llvm#8 0x7ffb4a8455ef (C:\WINDOWS\SYSTEM32\ntdll.dll+0x1800655ef) ==19112==Register values: rax = 0 rbx = 80000ff8e0 rcx = 27d76d00000 rdx = 80000ff8e0 rdi = 80000fdd50 rsi = 80000ff6a0 rbp = 80000ff960 rsp = 80000fcf50 r8 = 100 r9 = 19930520 r10 = 8000503a90 r11 = 80000fd540 r12 = 80000fd020 r13 = 0 r14 = 80000fdeb8 r15 = 0 AddressSanitizer can not provide additional info. SUMMARY: AddressSanitizer: access-violation C:\Users\dajusto\source\repros\upstream\main.cpp:8 in main ==19112==ABORTING ``` The root of the issue _appears to be_ that ASan's instrumentation is incompatible with Window's assumptions for instantiating `catch`-block's parameters (`ex` in the snippet above). The nitty gritty details are lost on me, but I understand that to make this work without loss of ASan coverage, a "serious" refactoring is needed. In the meantime, users risk false positive errors when pairing ASan + catch-block parameters on Windows. **To mitigate this** I think we should avoid instrumenting catch-block parameters on Windows. It appears to me this is as "simple" as marking catch block parameters as "uninteresting" in `AddressSanitizer::isInterestingAlloca`. My manual tests seem to confirm this. I believe this is strictly better than today's status quo, where the runtime generates false positives. Although we're now explicitly choosing to instrument less, the benefit is that now more programs can run with ASan without _funky_ macros that disable ASan on exception blocks. **This PR:** implements the mitigation above, and creates a simple new test for it. _Thanks!_ --------- Co-authored-by: Antonio Frighetto <[email protected]>
Jimmy2027
pushed a commit
that referenced
this pull request
Oct 22, 2025
…nteger registers (llvm#163646) Fix the `RegisterValue::SetValueFromData` method so that it works also for 128-bit registers that contain integers. Without this change, the `RegisterValue::SetValueFromData` method does not work correctly for 128-bit registers that contain (signed or unsigned) integers. --- Steps to reproduce the problem: (1) Create a program that writes a 128-bit number to a 128-bit registers `xmm0`. E.g.: ``` #include <stdint.h> int main() { __asm__ volatile ( "pinsrq $0, %[lo], %%xmm0\n\t" // insert low 64 bits "pinsrq $1, %[hi], %%xmm0" // insert high 64 bits : : [lo]"r"(0x7766554433221100), [hi]"r"(0xffeeddccbbaa9988) ); return 0; } ``` (2) Compile this program with LLVM compiler: ``` $ $YOUR/clang -g -o main main.c ``` (3) Modify LLDB so that when it will be reading value from the `xmm0` register, instead of assuming that it is vector register, it will treat it as if it contain an integer. This can be achieved e.g. this way: ``` diff --git a/lldb/source/Utility/RegisterValue.cpp b/lldb/source/Utility/RegisterValue.cpp index 0e99451..a4b51db3e56d 100644 --- a/lldb/source/Utility/RegisterValue.cpp +++ b/lldb/source/Utility/RegisterValue.cpp @@ -188,6 +188,7 @@ Status RegisterValue::SetValueFromData(const RegisterInfo ®_info, break; case eEncodingUint: case eEncodingSint: + case eEncodingVector: if (reg_info.byte_size == 1) SetUInt8(src.GetMaxU32(&src_offset, src_len)); else if (reg_info.byte_size <= 2) @@ -217,23 +218,6 @@ Status RegisterValue::SetValueFromData(const RegisterInfo ®_info, else if (reg_info.byte_size == sizeof(long double)) SetLongDouble(src.GetLongDouble(&src_offset)); break; - case eEncodingVector: { - m_type = eTypeBytes; - assert(reg_info.byte_size <= kMaxRegisterByteSize); - buffer.bytes.resize(reg_info.byte_size); - buffer.byte_order = src.GetByteOrder(); - if (src.CopyByteOrderedData( - src_offset, // offset within "src" to start extracting data - src_len, // src length - buffer.bytes.data(), // dst buffer - buffer.bytes.size(), // dst length - buffer.byte_order) == 0) // dst byte order - { - error = Status::FromErrorStringWithFormat( - "failed to copy data for register write of %s", reg_info.name); - return error; - } - } } if (m_type == eTypeInvalid) ``` (4) Rebuild the LLDB. (5) Observe what happens how LLDB will print the content of this register after it was initialized with 128-bit value. ``` $YOUR/lldb --source ./main (lldb) target create main Current executable set to '.../main' (x86_64). (lldb) breakpoint set --file main.c --line 11 Breakpoint 1: where = main`main + 45 at main.c:11:3, address = 0x000000000000164d (lldb) settings set stop-line-count-before 20 (lldb) process launch Process 2568735 launched: '.../main' (x86_64) Process 2568735 stopped * thread #1, name = 'main', stop reason = breakpoint 1.1 frame #0: 0x000055555555564d main`main at main.c:11:3 1 #include <stdint.h> 2 3 int main() { 4 __asm__ volatile ( 5 "pinsrq $0, %[lo], %%xmm0\n\t" // insert low 64 bits 6 "pinsrq $1, %[hi], %%xmm0" // insert high 64 bits 7 : 8 : [lo]"r"(0x7766554433221100), 9 [hi]"r"(0xffeeddccbbaa9988) 10 ); -> 11 return 0; 12 } (lldb) register read --format hex xmm0 xmm0 = 0x7766554433221100ffeeddccbbaa9988 ``` You can see that the upper and lower 64-bit wide halves are swapped. --------- Co-authored-by: Matej Košík <[email protected]>
Jimmy2027
pushed a commit
that referenced
this pull request
Oct 22, 2025
…lvm#162993) Early if conversion can create instruction sequences such as ``` mov x1, #1 csel x0, x1, x2, eq ``` which could be simplified into the following instead ``` csinc x0, x2, xzr, ne ``` One notable example that generates code like this is `cmpxchg weak`. This is fixed by handling an immediate value of 1 as `add(wzr, 1)` so that the addition can be folded into CSEL by using CSINC instead.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Add and modify patch from https://gist.github.com/nicolasvasilache/b831c5e733a6ca91bd4e0962b9e0a41b