Skip to content
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

8282365: Consolidate and improve division by constant idealizations #9947

Closed
wants to merge 94 commits into from
Closed
Changes from 1 commit
Commits
Show all changes
94 commits
Select commit Hold shift + click to select a range
68ada17
simplify division
merykitty Jul 24, 2022
efdd77e
simplify long division
merykitty Jul 24, 2022
f8c806c
Merge branch 'master' into unsignedDiv
merykitty Aug 6, 2022
d5061ce
Merge branch 'master' into unsignedDiv
merykitty Aug 13, 2022
d37cbef
udiv
merykitty Aug 13, 2022
3fefb7d
int division
merykitty Aug 14, 2022
ceec59a
divl
merykitty Aug 14, 2022
0bf8713
backend
merykitty Aug 15, 2022
664908f
32 bit
merykitty Aug 17, 2022
5d53018
constant folding, mod idealisation, tests
merykitty Aug 19, 2022
5becdab
fix 32-bit
merykitty Aug 19, 2022
e9eedc8
fix build
merykitty Aug 19, 2022
91929fe
large divisor
merykitty Aug 19, 2022
751a3ba
whitespace
merykitty Aug 19, 2022
5230919
whitespace
merykitty Aug 19, 2022
1551392
micro
merykitty Aug 23, 2022
3052b4e
Merge branch 'master' into unsignedDiv
merykitty Aug 23, 2022
2d6c579
Merge branch 'master' into unsignedDiv
merykitty Sep 27, 2022
6ecd0eb
Merge branch 'master' into unsignedDiv
merykitty Sep 27, 2022
156f65c
code styles
merykitty Sep 27, 2022
fccfe7e
fast path for negative divisors
merykitty Oct 2, 2022
53c0778
whitespace, mistaken added
merykitty Oct 2, 2022
0cb30b8
revert backend changes
merykitty Oct 3, 2022
1ad9996
limit tests
merykitty Oct 3, 2022
058c2ec
style, comments
merykitty Oct 5, 2022
6922962
Merge branch 'master' into unsignedDiv
merykitty Oct 30, 2022
a9a40b3
add gtest
merykitty Nov 27, 2022
3c03f89
Merge branch 'master' into unsignedDiv
merykitty Nov 27, 2022
afe37a9
fix build failure
merykitty Nov 27, 2022
4b359d3
fix build failures, move limits to new header
merykitty Nov 28, 2022
9acc846
missing powerOfTwo.hpp
merykitty Nov 28, 2022
e98606c
add message to static_assert
merykitty Nov 28, 2022
69c7889
add constexpr
merykitty Nov 28, 2022
3d4b290
add constexpr
merykitty Nov 28, 2022
028f175
various fixes
merykitty Nov 28, 2022
1360349
uint
merykitty Nov 28, 2022
9b0f730
change julong to uint64_t
merykitty Nov 29, 2022
61f8f7a
Merge branch 'master' into unsignedDiv
merykitty Feb 7, 2023
8df68a6
wip
merykitty Feb 10, 2023
1868d46
Merge branch 'master' into unsignedDiv
merykitty Mar 22, 2023
82f37f6
Merge branch 'master' into unsignedDiv
merykitty Mar 23, 2023
2086d42
draft
merykitty Mar 24, 2023
4604236
add tests, special casing large shift
merykitty Mar 26, 2023
ac08d8c
undefined internal linkage
merykitty Mar 26, 2023
190c91b
compiler complaints
merykitty Mar 26, 2023
7193842
windows complaints
merykitty Mar 26, 2023
e44625d
move asserts to use sites
merykitty Mar 27, 2023
f208650
whitespace
merykitty Mar 27, 2023
988cb84
Merge branch 'master' into unsignedDiv
merykitty Jun 9, 2023
eb1f5dd
missing java_negate
merykitty Jun 9, 2023
b5478b2
Merge branch 'master' into unsignedDiv
merykitty Jul 12, 2023
ba05f54
Merge branch 'master' into unsignedDiv
merykitty Jul 23, 2023
378fd0e
address comments
merykitty Jul 24, 2023
70d5e0f
consolidate constant calculations
merykitty Aug 10, 2023
5d6d125
refactor calculations
merykitty Aug 19, 2023
c48d96b
Merge branch 'master' into unsignedDiv
merykitty Aug 19, 2023
1ae865f
whitespace
merykitty Aug 19, 2023
6f8eea3
do not return old node
merykitty Aug 19, 2023
0734356
fixes
merykitty Aug 19, 2023
fac857c
fix types
merykitty Aug 19, 2023
62943d1
Merge branch 'master' into unsignedDiv
merykitty Aug 20, 2023
0f6ceb4
add bounded tests
merykitty Oct 5, 2023
27dfbba
Merge branch 'master' into unsignedDiv
merykitty Oct 5, 2023
059a01b
fix tests
merykitty Oct 5, 2023
455e9a9
require x64
merykitty Oct 6, 2023
6004299
verify the effectiveness of test
merykitty Oct 6, 2023
deece1a
more rigorous control
merykitty Oct 6, 2023
42662b3
fix x86 test
merykitty Oct 6, 2023
f63a081
remove verify
merykitty Oct 10, 2023
fd01489
disable test with Xcomp
merykitty Oct 12, 2023
297d279
comment styles
merykitty Oct 18, 2023
b113e60
fix assert macro, benchmarks
merykitty Oct 21, 2023
cc9db50
Merge branch 'master' into unsignedDiv
merykitty Oct 24, 2023
529bd0f
fix proof
merykitty Oct 24, 2023
4c19b93
Merge branch 'master' into unsignedDiv
merykitty Dec 7, 2023
501494a
isolate javaArithmetic changes
merykitty Dec 7, 2023
e8b54da
missing include
merykitty Dec 7, 2023
75a2c17
address reviews
merykitty Dec 12, 2023
567eed9
remove static
merykitty Dec 12, 2023
a8389af
missing include
merykitty Dec 12, 2023
b56dc2d
missing revert
merykitty Dec 13, 2023
8258e43
Merge branch 'master' into unsignedDiv
merykitty Dec 23, 2023
0598113
address reviews
merykitty Dec 24, 2023
57265bb
test for round down
merykitty Dec 25, 2023
0f2c57c
power of 2
merykitty Dec 25, 2023
bf59a6c
another round of reviews
merykitty Jan 7, 2024
bba52b7
parentheses
merykitty Jan 7, 2024
db80bd4
update include order and license year
merykitty Jan 9, 2024
6634cd4
suggestion
merykitty Jan 19, 2024
1400de7
just be simple
merykitty Jan 20, 2024
26e5c6e
further clarify variable meanings
merykitty Jan 31, 2024
ed0ca1c
Merge branch 'master' into unsignedDiv
merykitty Mar 15, 2024
3068d7e
fix tests
merykitty Mar 15, 2024
2a31e27
Merge branch 'master' into unsignedDiv
merykitty Jun 26, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions test/hotspot/gtest/opto/test_constant_division.cpp
Original file line number Diff line number Diff line change
@@ -171,6 +171,9 @@ static void test_division_round_down() {
for (int i = 0; i < iter_num;) {
constexpr juint W = 32;
juint d = random<juint, juint>();
if ((d & (d - 1)) == 0) {
continue;
}
juint s = log2i_graceful(d) + W;
julong t = (julong(1) << s) / julong(d);
julong r = ((t + 1) * julong(d)) & julong(max_juint);