134 Commits

Author SHA1 Message Date
Roland Westrelin
bfff02eef6 8330165: C2: make superword consistently use PhaseIdealLoop::register_new_node()
Reviewed-by: chagedorn, kvn
2024-04-16 14:11:05 +00:00
Joshua Cao
140f56718b 8323220: Reassociate loop invariants involved in Cmps and Add/Subs
Reviewed-by: epeter, xliu, chagedorn
2024-04-15 15:54:34 +00:00
Christian Hagedorn
fc18201bbd 8327111: Replace remaining usage of create_bool_from_template_assertion_predicate() which requires additional OpaqueLoop*Nodes transformation strategies
Reviewed-by: epeter, kvn
2024-04-08 10:52:30 +00:00
Emanuel Peter
fadc4b197e 8327423: C2 remove_main_post_loops: check if main-loop belongs to pre-loop, not just assert
Reviewed-by: kvn, chagedorn, roland
2024-03-14 07:12:16 +00:00
Emanuel Peter
232d136885 8324890: C2 SuperWord: refactor out VLoop, make unrolling_analysis static, remove init/reset mechanism
Reviewed-by: kvn, roland
2024-02-10 14:19:01 +00:00
Emanuel Peter
85e320121e 8325159: C2 SuperWord: measure time for CITime
Reviewed-by: rcastanedalo, kvn
2024-02-05 06:53:51 +00:00
Roberto Castañeda Lozano
bf666bc0c7 8322692: ZGC: avoid over-unrolling due to hidden barrier size
Reviewed-by: eosterlund, kvn
2024-01-17 07:50:03 +00:00
Joshua Cao
7263e25d9b 8322490: cleanup CastNode construction
Reviewed-by: chagedorn, phh
2023-12-22 21:08:45 +00:00
Daniel Lundén
701bc3bbbe 8295166: IGV: dump graph at more locations
Reviewed-by: thartmann, rcastanedalo, chagedorn
2023-12-08 11:08:08 +00:00
Thomas Stuefe
c1aeac79ba 8318445: More broken bailout chains in C2
Reviewed-by: kvn, epeter
2023-10-23 15:54:04 +00:00
Emanuel Peter
1ed9c76ec8 8309204: Obsolete DoReserveCopyInSuperWord
Reviewed-by: kvn, thartmann
2023-10-05 07:01:18 +00:00
Emanuel Peter
eeb63cd0fa 8316361: C2: assert(!failure) failed: Missed optimization opportunity in PhaseIterGVN with -XX:VerifyIterativeGVN=10
Reviewed-by: kvn, chagedorn
2023-10-02 08:03:10 +00:00
Roland Westrelin
4e1e579e8b 8315920: C2: "control input must dominate current control" assert failure
Reviewed-by: thartmann, chagedorn
2023-09-26 14:32:54 +00:00
Roland Westrelin
fe4f90021f 8315088: C2: assert(wq.size() - before == EMPTY_LOOP_SIZE) failed: expect the EMPTY_LOOP_SIZE nodes of this body if empty
Reviewed-by: thartmann, chagedorn
2023-09-05 07:32:51 +00:00
Roland Westrelin
ed1ea5fe7c 8314024: SIGSEGV in PhaseIdealLoop::build_loop_late_post_work due to bad immediate dominator info
Reviewed-by: kvn, chagedorn
2023-08-30 07:52:05 +00:00
Christian Hagedorn
0b12480de8 8314233: C2: assert(assertion_predicate_has_loop_opaque_node(iff)) failed: unexpected
Reviewed-by: thartmann, kvn
2023-08-16 06:58:23 +00:00
Christian Hagedorn
a39ed1087b 8314116: C2: assert(false) failed: malformed control flow after JDK-8305636
Reviewed-by: thartmann, kvn
2023-08-14 08:15:02 +00:00
Christian Hagedorn
dc01604756 8305636: Expand and clean up predicate classes and move them into separate files
Reviewed-by: thartmann, roland
2023-08-07 09:14:16 +00:00
Pengfei Li
a38582e941 8311691: C2: Remove legacy code related to PostLoopMultiversioning
Reviewed-by: kvn, sviswanathan
2023-07-13 01:45:52 +00:00
Roland Westrelin
26efff7586 8309902: C2: assert(false) failed: Bad graph detected in build_loop_late after JDK-8305189
Reviewed-by: kvn, chagedorn
2023-06-29 15:05:49 +00:00
Christian Hagedorn
dfd3da3f52 8307683: Loop Predication should not hoist range checks with trap on success projection by negating their condition
Reviewed-by: thartmann, roland
2023-06-01 08:04:45 +00:00
Christian Hagedorn
4f096eb7c9 8305635: Replace Parse Predicate IfNode with new ParsePredicateNode and route predicate queries through dedicated classes
Reviewed-by: thartmann, kvn
2023-05-25 09:40:19 +00:00
Christian Hagedorn
19c8c30d1c 8305634: Renaming predicates, simple cleanups, and adding summary about current predicates
Reviewed-by: epeter, thartmann, roland
2023-05-16 13:30:07 +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
cc894d849a 8303466: C2: failed: malformed control flow. Limit type made precise with MaxL/MinL
Reviewed-by: roland, kvn, chagedorn, thartmann
2023-04-26 05:42:26 +00:00
Johan Sjölen
5726d31e56 8301074: Replace NULL with nullptr in share/opto/
Reviewed-by: kvn, jwilhelm
2023-03-09 20:28:26 +00:00
Tobias Holenstein
cd77fcfb5f 8290822: C2: assert in PhaseIdealLoop::do_unroll() is subject to undefined behavior
Reviewed-by: kvn, thartmann
2023-02-17 14:27:17 +00:00
Roland Westrelin
2a8ae2ff1c 8300256: C2: vectorization is sometimes skipped on loops where it would succeed
Reviewed-by: kvn, thartmann
2023-02-01 09:48:54 +00:00
Damon Fenacci
4b0e656bb6 8298118: split-if optimization causes empty loop to temporarily have more than one phi
Reviewed-by: roland, thartmann, kvn
2023-01-26 07:41:15 +00:00
Emanuel Peter
5a4945c0d9 8299975: Limit underflow protection CMoveINode in PhaseIdealLoop::do_unroll must also protect type from underflow
Reviewed-by: roland, chagedorn
2023-01-23 13:10:42 +00:00
Tobias Holenstein
97c611d029 8289748: C2 compiled code crashes with SIGFPE with -XX:+StressLCM and -XX:+StressGCM
Reviewed-by: thartmann, chagedorn, kvn
2023-01-20 14:20:32 +00:00
Claes Redestad
e37078f5bb 8282664: Unroll by hand StringUTF16 and StringLatin1 polynomial hash loops
Co-authored-by: Sandhya Viswanathan <sviswanathan@openjdk.org>
Co-authored-by: Ludovic Henry <luhenry@openjdk.org>
Co-authored-by: Claes Redestad <redestad@openjdk.org>
Reviewed-by: vlivanov, sviswanathan, luhenry
2023-01-17 21:06:22 +00:00
Emanuel Peter
d716ec5d30 8299179: ArrayFill with store on backedge needs to reduce length by 1
Reviewed-by: thartmann, kvn
2023-01-12 07:23:19 +00:00
Jesper Wilhelmsson
19ce23c645 Merge 2022-12-23 11:25:10 +00:00
Roland Westrelin
a0a09d56ba 8298176: remove OpaqueZeroTripGuardPostLoop once main-loop disappears
Reviewed-by: thartmann, chagedorn, kvn
2022-12-22 08:56:00 +00:00
Roland Westrelin
88bfe4d3bf 8297724: Loop strip mining prevents some empty loops from being eliminated
Reviewed-by: kvn, thartmann
2022-12-21 14:46:57 +00:00
Christian Hagedorn
e86f31b5e7 8298301: C2: assert(main_cmp->in(2)->Opcode() == Op_Opaque1) failed: main loop has no opaque node?
Reviewed-by: thartmann
2022-12-07 18:32:28 +00:00
Roland Westrelin
86270e3068 8269820: C2 PhaseIdealLoop::do_unroll get wrong opaque node
Reviewed-by: kvn, thartmann, chagedorn
2022-12-07 14:16:50 +00:00
Emanuel Peter
619b68c5d1 8294540: Remove Opaque2Node: it is broken and triggers assert
Reviewed-by: chagedorn, kvn
2022-12-05 08:30:31 +00:00
Jatin Bhateja
2ceb80c60f 8288043: Optimize FP to word/sub-word integral type conversion on X86 AVX2 platforms
Reviewed-by: kvn, sviswanathan
2022-10-12 01:05:44 +00:00
Emanuel Peter
dd51f7e0b7 8293996: C2: fix and simplify IdealLoopTree::do_remove_empty_loop
Reviewed-by: roland, thartmann, chagedorn
2022-09-27 08:52:19 +00:00
Emanuel Peter
83abfa5d82 8255670: Improve C2's detection of modified nodes
Reviewed-by: kvn, thartmann, roland
2022-09-22 07:44:50 +00:00
Pengfei Li
211fab8d36 8291669: [REDO] Fix array range check hoisting for some scaled loop iv
Reviewed-by: roland, thartmann
2022-09-14 14:20:39 +00:00
Roland Westrelin
37df5f5625 8291599: Assertion in PhaseIdealLoop::skeleton_predicate_has_opaque after JDK-8289127
Reviewed-by: chagedorn, thartmann
2022-09-12 07:30:47 +00:00
Aleksey Shipilev
dd69a68d09 8291000: C2: Purge LoadPLocked and Store*Conditional nodes
Reviewed-by: eosterlund, kvn
2022-07-28 08:15:53 +00:00
Roland Westrelin
4f3f74c141 8289127: Apache Lucene triggers: DEBUG MESSAGE: duplicated predicate failed which is impossible
Reviewed-by: kvn, dlong
2022-07-18 07:08:49 +00:00
Roland Westrelin
590337e2f2 8286625: C2 fails with assert(!n->is_Store() && !n->is_LoadStore()) failed: no node with a side effect
Reviewed-by: thartmann, chagedorn
2022-06-08 06:35:28 +00:00
Emanuel Peter
199832a710 8283466: C2: missing skeleton predicates in peeled loop
Reviewed-by: roland, chagedorn
2022-06-02 06:49:23 +00:00
Jatin Bhateja
6f6486e977 8284960: Integration of JEP 426: Vector API (Fourth Incubator)
Co-authored-by: Jatin Bhateja <jbhateja@openjdk.org>
Co-authored-by: Paul Sandoz <psandoz@openjdk.org>
Co-authored-by: Sandhya Viswanathan <sviswanathan@openjdk.org>
Co-authored-by: Smita Kamath <svkamath@openjdk.org>
Co-authored-by: Joshua Zhu <jzhu@openjdk.org>
Co-authored-by: Xiaohong Gong <xgong@openjdk.org>
Co-authored-by: John R Rose <jrose@openjdk.org>
Co-authored-by: Eric Liu <eliu@openjdk.org>
Co-authored-by: Ningsheng Jian <njian@openjdk.org>
Reviewed-by: ngasson, vlivanov, mcimadamore, jlahoda, kvn
2022-05-31 16:02:09 +00:00
Alexey Ivanov
e0d361cea9 8284191: Replace usages of 'a the' in hotspot and java.base
Reviewed-by: lancea, wetmore, naoto, iris, kevinw, xuelei
2022-05-24 11:25:13 +00:00