-
Notifications
You must be signed in to change notification settings - Fork 6.1k
8323582: C2 SuperWord AlignVector: misaligned vector memory access with unaligned native memory #22016
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
Closed
Closed
8323582: C2 SuperWord AlignVector: misaligned vector memory access with unaligned native memory #22016
Changes from all commits
Commits
Show all changes
66 commits
Select commit
Hold shift + click to select a range
157286d
JDK-8323582
eme64 ef81708
more parts
eme64 09dffff
keep predicates until after superword
eme64 b7a9e11
deopt check for alignment
eme64 9804647
create_loop_nest only add the auto_vectorization_check once per bci
eme64 43501db
parse auto_vectorization_parse_predicate_proj in VLoop
eme64 4c34402
apply_speculative_runtime_checks
eme64 527473c
refactor add_speculative_alignment_check
eme64 c69687b
some TODO's
eme64 fd7940c
PhaseIdealLoop::maybe_multiversion_for_auto_vectorization_runtime_che…
eme64 4e434bc
refactor unswitching for multiversioning
eme64 2b6ee5a
small refactor
eme64 b6eef5e
add in multiversioning, with cond one
eme64 56a7c7b
add opaque node
eme64 6e05a30
fix type issues, now multiversions recursively
eme64 f701569
add multiversion flags
eme64 1d5c146
stall the stalled_slow loop
eme64 e202aa6
find multiversion fast proj from VLoop
eme64 154eae5
prep for multiversion check addition
eme64 bef2e54
broken state before lunch
eme64 1ae75e9
fix last commits
eme64 3b19506
find multiversion opaque from slow_path
eme64 7ad7eef
unstalling mechanism
eme64 e2dfca3
block native memory addresses if speculation not possible
eme64 688665b
some descriptions
eme64 8832c9b
rename to OpaqueMultiversioning
eme64 814c965
rename unswitch --> multiversion
eme64 c1c3712
descriptions
eme64 6c37124
manual merge
eme64 9999ad1
more work in PhaseIdealLoop::do_multiversioning
eme64 fdcf314
more todo's fixed
eme64 bf589ed
no cfg for multiversioning
eme64 6ea8201
node budget
eme64 c21e37d
cleanup
eme64 0203bbe
run IGVN before SuperWord
eme64 c2a4bfd
fix assert in IdealLoopTree::policy_range_check
eme64 3d923f7
manual merge
eme64 3322250
add stub of test TestMemorySegmentUnalignedAddress.java
eme64 052c7ea
knarly manual merge
eme64 f03dd83
resolve merge issues in loopUnswitch.cpp
eme64 1f7d66d
fixed more from merge
eme64 be899f9
rm some code we no longer need after merge with MemPointer / VPointer
eme64 fe956ad
Fix JDK-8323582 TODO comments
eme64 d8ec0f0
rm old multiversion code
eme64 efe8ffa
comments for PhaseIdealLoop::create_new_if_for_multiversion
eme64 8590cbd
trace speculative runtime checks
eme64 e4d6752
more trace
eme64 349b42e
improve trace flags a little more
eme64 699b2aa
Merge branch 'master' into JDK-8323582-SW-native-alignment
eme64 f8b8cf5
better comments
eme64 65f3fbc
more comments about multiversioning
eme64 8181a84
more comments
eme64 cdccc33
rm TODO
eme64 891478a
refactor verify
eme64 bd09153
add Verify/AlignVector runs to test
eme64 6ee5b90
stub for slicing
eme64 9191052
test changed to unaligned ints
eme64 1bdece0
3 test versions
eme64 8eecab2
IR rules for all cases
eme64 68709f9
copyright and rm CFG check
eme64 bfa62b9
register opaque with igvn
eme64 c53985f
remove multiversion mark if we break the structure
eme64 a98ffab
Merge branch 'master' into JDK-8323582-SW-native-alignment
eme64 b3044bc
adjust selector if probability
eme64 23248f9
stall -> delay, plus some more comments
eme64 8eb5229
Merge branch 'master' into JDK-8323582-SW-native-alignment
eme64 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would we want to change the multiversion guard at this point so it constant folds and the slow version is removed?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I suppose we can probably do that. Otherwise, we just have to wait until the
OpaqueMultiversioningNodeconstant folds after loop-opts.