Commit Graph

71 Commits

Author SHA1 Message Date
Emanuel Peter
811d08c0a4 8340010: Fix vectorization tests with compact headers
Reviewed-by: chagedorn, rkennke, mli
2024-11-25 10:39:36 +00:00
Emanuel Peter
75420e9314 8334431: C2 SuperWord: fix performance regression due to store-to-load-forwarding failures
Reviewed-by: chagedorn, qamai
2024-11-20 14:23:57 +00:00
Roman Kennke
44ec501a41 8305895: Implement JEP 450: Compact Object Headers (Experimental)
Co-authored-by: Sandhya Viswanathan <sviswanathan@openjdk.org>
Co-authored-by: Martin Doerr <mdoerr@openjdk.org>
Co-authored-by: Hamlin Li <mli@openjdk.org>
Co-authored-by: Thomas Stuefe <stuefe@openjdk.org>
Co-authored-by: Amit Kumar <amitkumar@openjdk.org>
Co-authored-by: Stefan Karlsson <stefank@openjdk.org>
Co-authored-by: Coleen Phillimore <coleenp@openjdk.org>
Co-authored-by: Axel Boldt-Christmas <aboldtch@openjdk.org>
Reviewed-by: coleenp, stefank, stuefe, phh, ihse, lmesnik, tschatzl, matsaave, rcastanedalo, vpaprotski, yzheng, egahlin
2024-11-08 17:21:39 +00:00
Emanuel Peter
f62fc48441 8342498: Add test for Allocation elimination after use as alignment reference by SuperWord
Reviewed-by: thartmann, kvn
2024-11-05 11:47:42 +00:00
Emanuel Peter
e96b4cf0a8 8342387: C2 SuperWord: refactor and improve compiler/loopopts/superword/TestDependencyOffsets.java
Reviewed-by: thartmann, chagedorn
2024-10-24 05:45:35 +00:00
Emanuel Peter
cfa25b71a6 8328544: Improve handling of vectorization
Co-authored-by: Christian Hagedorn <chagedorn@openjdk.org>
Reviewed-by: mschoene, kvn, chagedorn, rhalade
2024-10-15 17:04:27 +05:30
Emanuel Peter
c27a8c8c8b 8338124: C2 SuperWord: MulAddS2I input permutation still partially broken after JDK-8333840
Reviewed-by: chagedorn, thartmann, kvn
2024-08-13 05:52:58 +00:00
Emanuel Peter
edf7f055ee 8334083: C2 SuperWord: TestCompatibleUseDefTypeSize.java fails with -XX:+AlignVector after JDK-8325155
Reviewed-by: chagedorn, kvn
2024-06-24 07:14:57 +00:00
Emanuel Peter
e965d70a74 8333876: C2 SuperWord: regression after JDK-8325155: failed: internal connection
Reviewed-by: kvn, roland
2024-06-18 16:15:09 +00:00
Gui Cao
e95f092862 8333964: RISC-V: C2: Check "requires_strict_order" flag for floating-point add reduction
Reviewed-by: fyang
2024-06-18 05:24:33 +00:00
Emanuel Peter
7b38bfea33 8333729: C2 SuperWord: remove some @requires usages in test/hotspot/jtreg/compiler/loopopts/superword
Reviewed-by: chagedorn, kvn
2024-06-17 07:00:03 +00:00
Emanuel Peter
b09a45163c 8333840: C2 SuperWord: wrong result for MulAddS2I when inputs permuted
Reviewed-by: kvn, chagedorn
2024-06-13 18:11:36 +00:00
Bhavana Kilambi
0e4d4a0c31 8320725: AArch64: C2: Add "requires_strict_order" flag for floating-point add and mul reduction
Co-authored-by: Eric Liu <eliu@openjdk.org>
Reviewed-by: gli, epeter, aph
2024-06-11 07:16:56 +00:00
Emanuel Peter
b4beda21b4 8332537: C2: High memory usage reported for compiler/loopopts/superword/TestAlignVectorFuzzer.java
Reviewed-by: kvn, thartmann, stuefe
2024-06-07 05:07:03 +00:00
Emanuel Peter
944aeb81b1 8325155: C2 SuperWord: remove alignment boundaries
Reviewed-by: chagedorn, kvn
2024-06-07 05:01:23 +00:00
Fei Gao
8a9d77d58d 8320622: [TEST] Improve coverage of compiler/loopopts/superword/TestMulAddS2I.java on different platforms
Reviewed-by: epeter, kvn
2024-05-22 11:33:35 +00:00
Vladimir Kozlov
52eda79522 8332538: Switch off JIT memory limit check for TestAlignVectorFuzzer.java
Reviewed-by: stuefe, thartmann
2024-05-21 15:52:52 +00:00
Emanuel Peter
c4867c62c4 8329273: C2 SuperWord: Some basic MemorySegment IR tests
Reviewed-by: kvn, chagedorn
2024-05-15 13:16:08 +00:00
Hamlin Li
1aebab780c 8320995: RISC-V: C2 PopCountVI
8320996: RISC-V: C2 PopCountVL

Reviewed-by: luhenry, fyang
2024-05-08 09:37:42 +00:00
Emanuel Peter
e681e9b4d7 8330819: C2 SuperWord: bad dominance after pre-loop limit adjustment with base that has CastLL after pre-loop
Reviewed-by: chagedorn, kvn
2024-04-24 08:45:32 +00:00
Emanuel Peter
9da5170a0e 8327978: C2 SuperWord: Fix compilation time regression in dependency graph traversal after JDK-8325651
Reviewed-by: chagedorn, kvn
2024-04-05 06:48:02 +00:00
Emanuel Peter
2931458711 8328938: C2 SuperWord: disable vectorization for large stride and scale
Reviewed-by: chagedorn, kvn
2024-04-04 05:01:30 +00:00
Emanuel Peter
5cddc2de49 8325252: C2 SuperWord: refactor the packset
Reviewed-by: chagedorn, kvn
2024-04-02 06:10:08 +00:00
Emanuel Peter
251347bd7e 8326139: C2 SuperWord: split packs (match use/def packs, implemented, mutual independence)
Reviewed-by: kvn, vlivanov, chagedorn
2024-03-12 07:27:23 +00:00
Emanuel Peter
f54e598354 8327172: C2 SuperWord: data node in loop has no input in loop: replace assert with bailout
Reviewed-by: chagedorn, kvn
2024-03-07 07:48:38 +00:00
Emanuel Peter
11e28bd619 8324794: C2 SuperWord: do not ignore reductions in SuperWord::unrolling_analysis
Reviewed-by: chagedorn, kvn
2024-01-30 20:14:20 +00:00
Emanuel Peter
cd0fe37741 8323641: Test compiler/loopopts/superword/TestAlignVectorFuzzer.java timed out
Reviewed-by: chagedorn, kvn
2024-01-15 10:44:01 +00:00
Emanuel Peter
827c71dac9 8310190: C2 SuperWord: AlignVector is broken, generates misaligned packs
Co-authored-by: Christian Hagedorn <chagedorn@openjdk.org>
Reviewed-by: kvn, chagedorn
2024-01-08 16:10:21 +00:00
Christian Hagedorn
dd9eab15c8 8310886: C2 SuperWord: Two nodes should be isomorphic if they are loop invariant but pinned at different nodes outside the loop
Reviewed-by: kvn, epeter
2023-11-09 09:31:54 +00:00
Emanuel Peter
3630af26e6 8316594: C2 SuperWord: wrong result with hand unrolled loops
Reviewed-by: kvn, thartmann
2023-10-05 06:46:44 +00:00
Daniel Skantz
a8549b6367 8280120: [IR Framework] Add attribute to @IR to enable/disable IR matching based on the architecture
Reviewed-by: rcastanedalo, epeter, thartmann
2023-10-04 11:58:16 +00:00
Emanuel Peter
48f1a925e5 8316679: C2 SuperWord: wrong result, load should not be moved before store if not comparable
Reviewed-by: kvn, thartmann
2023-10-04 07:54:30 +00:00
Emanuel Peter
f804f8652d 8314612: TestUnorderedReduction.java fails with -XX:MaxVectorSize=32 and -XX:+AlignVector
Reviewed-by: chagedorn, kvn
2023-09-13 10:47:20 +00:00
Pengfei Li
e5ea9aa9aa 8312570: [TESTBUG] Jtreg compiler/loopopts/superword/TestDependencyOffsets.java fails on 512-bit SVE
Reviewed-by: epeter, kvn
2023-08-29 01:34:33 +00:00
Emanuel Peter
a02d65efcc 8310308: IR Framework: check for type and size of vector nodes
Reviewed-by: chagedorn, thartmann
2023-08-15 10:08:51 +00:00
Emanuel Peter
526dba1a29 8310130: C2: assert(false) failed: scalar_input is neither phi nor a matchin reduction
Reviewed-by: kvn, chagedorn
2023-06-28 05:52:26 +00:00
Emanuel Peter
886ac1c261 8308606: C2 SuperWord: remove alignment checks when not required
Reviewed-by: fgao, kvn, pli
2023-06-21 06:40:50 +00:00
Tobias Holenstein
f5cbe53fdd 8027711: Unify wildcarding syntax for CompileCommand and CompileOnly
Reviewed-by: kvn, thartmann, chagedorn
2023-06-12 07:39:23 +00:00
Roberto Castañeda Lozano
3fa776d66a 8302673: [SuperWord] MaxReduction and MinReduction should vectorize for int
Co-authored-by: Jatin Bhateja <jbhateja@openjdk.org>
Reviewed-by: epeter, kvn
2023-06-05 07:08:33 +00:00
Emanuel Peter
22a9a86be0 8309268: C2: "assert(in_bb(n)) failed: must be" after JDK-8306302
Reviewed-by: rcastanedalo, kvn, thartmann
2023-06-05 06:43:13 +00:00
Sandhya Viswanathan
f9ad7df4da 8300865: C2: product reduction in ProdRed_Double is not vectorized
Reviewed-by: fgao, epeter, kvn
2023-05-31 22:39:54 +00:00
Emanuel Peter
06b0a5e038 8302652: [SuperWord] Reduction should happen after loop, when possible
Reviewed-by: kvn, pli, jbhateja, sviswanathan
2023-05-23 08:05:13 +00:00
Emanuel Peter
ad0e5a99ca 8304720: SuperWord::schedule should rebuild C2-graph from SuperWord dependency-graph
Reviewed-by: kvn, fgao
2023-05-08 06:09:10 +00:00
Roberto Castañeda Lozano
1be80a4445 8287087: C2: perform SLP reduction analysis on-demand
Reviewed-by: epeter, jbhateja, thartmann
2023-04-27 09:39:53 +00:00
Emanuel Peter
83a924a100 8304042: C2 SuperWord: schedule must remove packs with cyclic dependencies
Reviewed-by: kvn, thartmann
2023-04-05 04:52:11 +00:00
Emanuel Peter
01e6920581 8298935: fix independence bug in create_pack logic in SuperWord::find_adjacent_refs
Reviewed-by: kvn, jbhateja
2023-03-15 14:02:45 +00:00
Daniel Skantz
d20bde29f2 8294715: Add IR checks to the reduction vectorization tests
Reviewed-by: rcastanedalo, epeter
2023-03-13 07:33:46 +00:00
Fei Gao
a4dc035a97 8290910: Wrong memory state is picked in SuperWord::co_locate_pack()
Reviewed-by: chagedorn, kvn
2022-09-23 01:26:21 +00:00
Fei Gao
87340fd540 8288883: C2: assert(allow_address || t != T_ADDRESS) failed after JDK-8283091
Reviewed-by: kvn, mdoerr
2022-07-18 05:54:51 +00:00
Roberto Castañeda Lozano
6458a56e60 8286177: C2: "failed: non-reduction loop contains reduction nodes" assert failure
Reviewed-by: chagedorn, kvn
2022-05-24 07:19:00 +00:00