172 Commits

Author SHA1 Message Date
Roland Westrelin
cb2a671359 8324121: SIGFPE in PhaseIdealLoop::extract_long_range_checks
Reviewed-by: kvn, chagedorn
2024-03-25 12:55:08 +00:00
Roland Westrelin
e1b0af29e4 8323972: C2 compilation fails with assert(!x->as_Loop()->is_loop_nest_inner_loop()) failed: loop was transformed
Reviewed-by: chagedorn, epeter
2024-03-19 07:56:53 +00:00
Magnus Ihse Bursie
09d4936657 8252136: Several methods in hotspot are missing "static"
Reviewed-by: coleenp, stefank, kvn, kbarrett
2024-02-14 16:29:58 +00:00
Joshua Cao
2546afe2aa 8325451: Missed elimination of assertion predicates
Reviewed-by: chagedorn, phh
2024-02-12 06:29:37 +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
Christian Hagedorn
c1a568c9c4 8314307: Improve loop handling
Co-authored-by: Christian Hagedorn <chagedorn@openjdk.org>
Co-authored-by: Roland Westrelin <rwestrel@redhat.com>
Co-authored-by: Emanuel Peter <epeter@openjdk.org>
Reviewed-by: mschoene, rhalade, thartmann, epeter
2024-01-16 05:55:56 +00:00
Roland Westrelin
129c4708b4 8311932: Suboptimal compiled code of nested loop over memory segment
Reviewed-by: thartmann, chagedorn
2023-11-17 07:54:10 +00:00
Emanuel Peter
83eb20651f 8318889: C2: add bailout after assert Bad graph detected in build_loop_late
Reviewed-by: shade, thartmann
2023-10-30 07:17:30 +00:00
Thomas Stuefe
31ef400f31 8318183: C2: VM may crash after hitting node limit
Reviewed-by: kvn, thartmann
2023-10-18 08:39:00 +00:00
Emanuel Peter
1ed9c76ec8 8309204: Obsolete DoReserveCopyInSuperWord
Reviewed-by: kvn, thartmann
2023-10-05 07:01:18 +00:00
Pengfei Li
96781ba33d 8312332: C2: Refactor SWPointer out from SuperWord
Reviewed-by: epeter, kvn
2023-09-15 01:02:44 +00:00
Christian Hagedorn
4b445753e6 8305637: Remove Opaque1 nodes for Parse Predicates and clean up useless predicate elimination
Reviewed-by: roland, kvn
2023-09-05 12:45:55 +00:00
Roland Westrelin
9def4538ab 8314580: PhaseIdealLoop::transform_long_range_checks fails with assert "was tested before"
Reviewed-by: chagedorn, kvn
2023-09-04 15:18:39 +00:00
Kim Barrett
c077be4768 8314694: Separate checked_cast from globalDefinitions.hpp
Reviewed-by: stuefe, coleenp, sspitsyn
2023-08-23 22:32:37 +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
690d626995 8307927: C2: "malformed control flow" with irreducible loop
Reviewed-by: thartmann, epeter
2023-06-29 07:43:46 +00:00
Eric Nothum
4a9cc8a000 8309266: C2: assert(final_con == (jlong)final_int) failed: final value should be integer
Reviewed-by: roland, chagedorn
2023-06-20 13:52:45 +00:00
Emanuel Peter
6c3e621f98 8308749: C2 failed: regular loops only (counted loop inside infinite loop)
Reviewed-by: kvn, chagedorn
2023-06-12 07:40:58 +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
Emanuel Peter
1f1f604071 8302670: use-after-free related to PhaseIterGVN interaction with Unique_Node_List and Node_Stack
Co-authored-by: Justin King <jcking@openjdk.org>
Reviewed-by: thartmann, chagedorn, jcking
2023-05-30 07:14:50 +00:00
Roland Westrelin
bac02b6e9d 8305189: C2 failed "assert(_outcnt==1) failed: not unique"
Reviewed-by: chagedorn, thartmann
2023-05-26 09:04:31 +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
Emanuel Peter
26227a6ff8 8305073: Fix VerifyLoopOptimizations - step 2 - verify idom
Reviewed-by: chagedorn, thartmann, kvn
2023-05-23 11:25:01 +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
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