147 Commits

Author SHA1 Message Date
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
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
Dean Long
7fcb0fdcd4 8307139: Fix signed integer overflow in compiler code, part 1
Reviewed-by: thartmann, rcastanedalo, kvn
2023-05-11 18:06:43 +00:00
Roland Westrelin
d2b3eef0f2 8307131: C2: assert(false) failed: malformed control flow
Reviewed-by: kvn, chagedorn, thartmann
2023-05-09 09:54:22 +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
Xin Liu
35e802374c 8306872: Rename Node_Array::Size()
Reviewed-by: kvn, thartmann, shade
2023-04-26 16:02:53 +00:00
Emanuel Peter
24c6af0637 8173709: Fix VerifyLoopOptimizations - step 1 - minimal infrastructure
Reviewed-by: kvn, chagedorn, thartmann
2023-04-04 06:28:57 +00:00
Emanuel Peter
af4d5600e3 8303951: Add asserts before record_method_not_compilable where possible
Reviewed-by: kvn, thartmann
2023-03-23 07:44:18 +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
Emanuel Peter
ac7119f0d5 8280126: C2: detect and remove dead irreducible loops
Reviewed-by: kvn, chagedorn, thartmann
2023-02-08 07:45:09 +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
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