Repository navigation
Test branching reductions with loop-carried booleans - #679
Merged
Merged
Conversation
Contributor
|
Your PR requires formatting changes to meet the project's style guidelines. Click here to view the suggested changes.diff --git a/test/array.jl b/test/array.jl
index 2035590..9bf025a 100644
--- a/test/array.jl
+++ b/test/array.jl
@@ -244,11 +244,11 @@ end
A = rand(Int32(1):Int32(4), 64, 64)
dA = oneArray(A)
dB = oneArray(A)
- init = (; is_missing=false, is_equal=true)
- mapper(a, b) = (; is_missing=false, is_equal=a == b)
+ init = (; is_missing = false, is_equal = true)
+ mapper(a, b) = (; is_missing = false, is_equal = a == b)
branching(a, b) = (a.is_missing || b.is_missing) ?
- (; is_missing=true, is_equal=false) :
- (; is_missing=false, is_equal=a.is_equal & b.is_equal)
+ (; is_missing = true, is_equal = false) :
+ (; is_missing = false, is_equal = a.is_equal & b.is_equal)
@test mapreduce(mapper, branching, dA, dB; init) == init
@@ -256,7 +256,7 @@ end
B[end] += Int32(1)
copyto!(dB, B)
@test mapreduce(mapper, branching, dA, dB; init) ==
- (; is_missing=false, is_equal=false)
+ (; is_missing = false, is_equal = false)
end
@testset "narrow integer reduction with overflowing map" begin |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #679 +/- ##
==========================================
- Coverage 80.56% 80.26% -0.30%
==========================================
Files 52 51 -1
Lines 3961 3938 -23
==========================================
- Hits 3191 3161 -30
- Misses 770 777 +7 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
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
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.
A branching
mapreduceover two equal 64×64 arrays returnedis_equal=falseon Julia 1.12 with bounds checks enabled (#678). IGC'sPromoteSubBytepass promoted and then erased its own replacement instructions, leaving undefined operands in loop-carried booleans.Add a regression that checks equal inputs and a mismatch in the last element. The compiler fix is shipped in libigc_jll 2.34.4+3 (Yggdrasil#15068) and proposed upstream in IGC#450. Julia 1.12 is already covered by the branch-build CI matrix.
Validated on Intel Iris Xe, Julia 1.12.7, with
--check-bounds=yesand the persistent kernel cache disabled: both new assertions pass with +3; pinning +2 makes the equal-input assertion fail. The array suite passes all 191 assertions. The full suite is running.