136 Commits

Author SHA1 Message Date
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
da38d43fcc 8296412: Special case infinite loops with unmerged backedges in IdealLoopTree::check_safepts
Reviewed-by: chagedorn, kvn, thartmann
2022-12-19 12:21:50 +00:00
Damon Fenacci
ec95991470 8298736: Revisit usages of log10 in compiler code
Reviewed-by: thartmann, chagedorn, epeter
2022-12-19 08:47:04 +00:00
Jesper Wilhelmsson
a130c8a668 Merge 2022-12-14 21:47:29 +00:00
Emanuel Peter
736fcd49f7 8296318: use-def assert: special case undetected loops nested in infinite loops
Reviewed-by: chagedorn, kvn
2022-12-14 17:25:49 +00:00
Roland Westrelin
27d4971182 8298520: C2: assert(found_opaque == res) failed: wrong pattern
Reviewed-by: thartmann, chagedorn
2022-12-14 10:03:36 +00:00
Emanuel Peter
fabda24696 8296389: C2: PhaseCFG::convert_NeverBranch_to_Goto must handle both orders of successors
Reviewed-by: thartmann, chagedorn
2022-12-12 12:11:02 +00:00
Emanuel Peter
d562d3fcbe 8297642: PhaseIdealLoop::only_has_infinite_loops must detect all loops that never lead to termination
Reviewed-by: thartmann, roland
2022-12-08 15:29:26 +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
Yi Yang
acf96c64b7 8290432: C2 compilation fails with assert(node->_last_del == _last) failed: must have deleted the edge just produced
Reviewed-by: kvn, thartmann, chagedorn
2022-12-07 03:08:07 +00:00
Tobias Hartmann
cd9c688bfc 8276064: CheckCastPP with raw oop input floats below a safepoint
Reviewed-by: kvn, vlivanov, roland
2022-11-17 05:58:38 +00:00
Christian Hagedorn
decb1b79bc 8286800: Assert in PhaseIdealLoop::dump_real_LCA is too strong
Reviewed-by: kvn, rcastanedalo
2022-11-15 14:44:26 +00:00
Roland Westrelin
8c472e4816 8294217: Assertion failure: parsing found no loops but there are some
Reviewed-by: chagedorn, thartmann
2022-11-14 15:08:15 +00:00
Aleksey Shipilev
388a56e4c4 8294467: Fix sequence-point warnings in Hotspot
Reviewed-by: dholmes, thartmann, roland
2022-10-19 18:52:10 +00:00
Roberto Castañeda Lozano
4bdd1c9148 8290964: C2 compilation fails with assert "non-reduction loop contains reduction nodes"
Reviewed-by: thartmann, chagedorn
2022-10-05 09:43:31 +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
Roland Westrelin
fa1ca98fff 8281429: PhiNode::Value() is too conservative for tripcount of CountedLoop
Reviewed-by: thartmann, kvn
2022-05-06 08:24:33 +00:00
Roberto Castañeda Lozano
6fcd322258 8279622: C2: miscompilation of map pattern as a vector reduction
Reviewed-by: roland, kvn, thartmann
2022-05-03 11:08:48 +00:00
Roberto Castañeda Lozano
139615b181 8285369: C2: emit reduction flag value in node and loop dumps
Reviewed-by: kvn
2022-04-22 07:38:01 +00:00
Magnus Ihse Bursie
4594696f54 8284903: Fix typos in hotspot
Reviewed-by: cjplummer, coleenp, kvn, lucy, stefank
2022-04-19 19:10:52 +00:00
Pengfei Li
741be46138 8183390: Fix and re-enable post loop vectorization
Reviewed-by: roland, thartmann, kvn
2022-04-05 23:50:13 +00:00
Dean Long
500f9a577b 8283396: Null pointer dereference in loopnode.cpp:2851
Reviewed-by: chagedorn, kvn
2022-04-05 21:07:29 +00:00
Roland Westrelin
14c20bc0e0 8283187: C2: loop candidate for superword not always unrolled fully if superword fails
Reviewed-by: thartmann, chagedorn
2022-03-24 12:53:44 +00:00
Claes Redestad
beedae1141 8281146: Replace StringCoding.hasNegatives with countPositives
Co-authored-by: Lutz Schmidt <lucy@openjdk.org>
Co-authored-by: Martin Doerr <mdoerr@openjdk.org>
Reviewed-by: kvn, lucy, rriggs
2022-03-17 09:20:24 +00:00
Roland Westrelin
ea9eeea8ff 8281322: C2: always construct strip mined loop initially (even if strip mining is disabled)
Reviewed-by: chagedorn, thartmann
2022-03-14 13:59:13 +00:00
Roland Westrelin
ef266d77b6 8278296: Generalize long range check transformation
Reviewed-by: jrose, thartmann
2022-03-07 16:26:19 +00:00
Roland Westrelin
2c5d266f9f 8282045: When loop strip mining fails, safepoints are removed from loop anyway
Reviewed-by: thartmann, chagedorn
2022-03-01 14:43:05 +00:00
Roland Westrelin
fcce24c5b3 8281811: assert(_base == Tuple) failed: Not a Tuple after JDK-8280799
Reviewed-by: kvn, thartmann
2022-03-01 14:09:15 +00:00
Emanuel Peter
395bc141f2 8281732: add assert for non-NULL assumption for return of unique_ctrl_out
Reviewed-by: kvn, chagedorn, thartmann
2022-02-16 16:19:44 +00:00
Roland Westrelin
1ef45c5bbd 8280799: С2: assert(false) failed: cyclic dependency prevents range check elimination
Reviewed-by: thartmann, kvn
2022-02-14 08:35:53 +00:00
Roland Westrelin
4304a7728e 8279535: C2: Dead code in PhaseIdealLoop::create_loop_nest after JDK-8276116
Reviewed-by: thartmann
2022-02-02 07:38:36 +00:00
Roland Westrelin
bb7efb3517 8278790: Inner loop of long loop nest runs for too few iterations
Reviewed-by: chagedorn, neliasso
2021-12-17 07:45:44 +00:00
Roland Westrelin
b3faecf739 8276116: C2: optimize long range checks in int counted loops
Reviewed-by: kvn
2021-12-08 21:33:33 +00:00
Roland Westrelin
5dcdee4bcd 8262341: Refine identical code in AddI/LNode.
Reviewed-by: thartmann, eliu
2021-12-08 07:55:12 +00:00
Roland Westrelin
3e798dd40c 8275330: C2: assert(n->is_Root() || n->is_Region() || n->is_Phi() || n->is_MachMerge() || def_block->dominates(block)) failed: uses must be dominated by definitions
Reviewed-by: thartmann, chagedorn
2021-11-26 09:48:09 +00:00
Yi Yang
b0d1e4ff4d 8273585: String.charAt performance degrades due to JDK-8268698
Reviewed-by: roland, kvn
2021-10-27 01:21:12 +00:00
Roland Westrelin
82f4aacb42 8259609: C2: optimize long range checks in long counted loops
Co-authored-by: John R Rose <jrose@openjdk.org>
Reviewed-by: thartmann, jrose
2021-10-26 15:53:37 +00:00
Roland Westrelin
e351de3bd6 8271272: C2: assert(!had_error) failed: bad dominance
Reviewed-by: kvn, thartmann, chagedorn
2021-07-30 07:28:04 +00:00
Roland Westrelin
c1304519b5 8269752: C2: assert(false) failed: Bad graph detected in build_loop_late
Reviewed-by: chagedorn, kvn
2021-07-19 07:31:28 +00:00
Roland Westrelin
df1364b508 8269575: C2: assert(false) failed: graph should be schedulable after JDK-8252372
Reviewed-by: kvn, thartmann
2021-07-06 07:03:08 +00:00
Jie Fu
7010dfdffa 8269517: compiler/loopopts/TestPartialPeelingSinkNodes.java crashes with -XX:+VerifyGraphEdges
Reviewed-by: kvn, dlong
2021-06-29 11:18:23 +00:00
Roland Westrelin
d4377afb99 8263303: C2 compilation fails with assert(found_sfpt) failed: no node in loop that's not input to safepoint
Reviewed-by: chagedorn, kvn
2021-06-10 06:56:04 +00:00
Roland Westrelin
9d305b9c06 8252372: Check if cloning is required to move loads out of loops in PhaseIdealLoop::split_if_with_blocks_post()
Reviewed-by: thartmann, kvn
2021-05-26 09:20:42 +00:00
Vladimir Kozlov
81d35e439d 8264063: Outer Safepoint poll load should not reference the head of inner strip mined loop.
Reviewed-by: roland, vlivanov
2021-04-08 15:04:38 +00:00
Roland Westrelin
d2a63f259e 8264360: Loop strip mining verification fails with "should be on the backedge"
Reviewed-by: kvn, thartmann
2021-03-30 07:58:49 +00:00
Roland Westrelin
33c94ffc81 8263376: CTW (Shenandoah): assert(mems <= 1) failed: No node right after call if multiple mem projections
Reviewed-by: kvn, chagedorn
2021-03-26 16:49:26 +00:00
Roland Westrelin
fd3a33a856 8263189: C2: assert(!had_error) failed: bad dominance
Reviewed-by: kvn, thartmann
2021-03-23 08:15:47 +00:00
Roland Westrelin
20297a1beb 8263577: C2: reachable nodes shouldn't have dead uses at the end of optimizations
Reviewed-by: vlivanov, neliasso
2021-03-16 08:20:52 +00:00
Roland Westrelin
8a2f58907c 8260637: Shenandoah: assert(_base == Tuple) failure during C2 compilation
Reviewed-by: chagedorn, kvn
2021-02-23 16:35:15 +00:00
Jesper Wilhelmsson
9b7a8f1982 Merge 2021-02-04 02:06:33 +00:00