Skip to content

[NFCI][msan] Add test for "disjoint" OR #145982

New issue

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

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

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Jun 26, 2025

Conversation

thurstond
Copy link
Contributor

Disjoint OR is an extension to OR that was introduced in #72583. This patch adds a test case that shows MSan does not handle it correctly.

Disjoint OR is an extension to OR that was introduced in llvm#72583
This patch adds a test case that shows MSan does not handle it
correctly.
@thurstond thurstond requested review from fmayer and vitalybuka June 26, 2025 22:26
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hmm given that this file also tests normal or, maybe just or.ll?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

@thurstond thurstond merged commit 9e4981c into llvm:main Jun 26, 2025
5 of 7 checks passed
thurstond added a commit to thurstond/llvm-project that referenced this pull request Jun 26, 2025
The disjoint OR (llvm#72583) of two
'1's is poison, hence the corresponding shadow memory needs to be
uninitialized (rather than initialized, as per the existing
instrumentation which ignores disjointedness).

Updates the test from llvm#145982
thurstond added a commit that referenced this pull request Jun 27, 2025
…145990)

The disjoint OR (#72583) of two '1's is poison, hence the MSan ought to consider the result uninitialized (rather than initialized - i.e. a false negative - as per the existing instrumentation which ignores disjointedness). This patch adds a flag, `-msan-precise-disjoint-or`, which defaults to false (the legacy behavior). A future patch will default this flag to true.

Updates the test from #145982
llvm-sync bot pushed a commit to arm/arm-toolchain that referenced this pull request Jun 27, 2025
…joint OR (#145990)

The disjoint OR (llvm/llvm-project#72583) of two '1's is poison, hence the MSan ought to consider the result uninitialized (rather than initialized - i.e. a false negative - as per the existing instrumentation which ignores disjointedness). This patch adds a flag, `-msan-precise-disjoint-or`, which defaults to false (the legacy behavior). A future patch will default this flag to true.

Updates the test from llvm/llvm-project#145982
rlavaee pushed a commit to rlavaee/llvm-project that referenced this pull request Jul 1, 2025
Disjoint OR is an extension to OR that was introduced in llvm#72583. This patch adds a test case that shows MSan does not handle it correctly.
rlavaee pushed a commit to rlavaee/llvm-project that referenced this pull request Jul 1, 2025
…lvm#145990)

The disjoint OR (llvm#72583) of two '1's is poison, hence the MSan ought to consider the result uninitialized (rather than initialized - i.e. a false negative - as per the existing instrumentation which ignores disjointedness). This patch adds a flag, `-msan-precise-disjoint-or`, which defaults to false (the legacy behavior). A future patch will default this flag to true.

Updates the test from llvm#145982
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants