106 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
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
24c6af0637 8173709: Fix VerifyLoopOptimizations - step 1 - minimal infrastructure
Reviewed-by: kvn, chagedorn, thartmann
2023-04-04 06:28:57 +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
Roland Westrelin
5e232cf0a9 8303564: C2: "Bad graph detected in build_loop_late" after a CMove is wrongly split thru phi
Reviewed-by: kvn, thartmann
2023-03-09 07:59:32 +00:00
Roland Westrelin
3f2d929dc3 8303511: C2: assert(get_ctrl(n) == cle_out) during unrolling
Reviewed-by: kvn, thartmann
2023-03-07 08:37:37 +00:00
Emanuel Peter
8f195ff236 8298952: All nodes should have type(n) == Value(n) after IGVN
Reviewed-by: kvn, thartmann, chagedorn
2023-02-06 08:45:48 +00:00
Christian Hagedorn
8b0133f276 8299259: C2: Div/Mod nodes without zero check could be split through iv phi of loop resulting in SIGFPE
Reviewed-by: roland, kvn, thartmann
2023-01-10 14:35:46 +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
Roland Westrelin
b7b996cb94 8298353: C2 fails with assert(opaq->outcnt() == 1 && opaq->in(1) == limit) failed
Reviewed-by: chagedorn, thartmann, kvn
2022-12-09 15:33:09 +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
Roland Westrelin
761a4f4852 8295788: C2 compilation hits "assert((mode == ControlAroundStripMined && use == sfpt) || !use->is_reachable_from_root()) failed: missed a node"
Reviewed-by: kvn, thartmann
2022-11-18 13:46:01 +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
Roland Westrelin
1ea0d6b424 8292301: [REDO v2] C2 crash when allocating array of size too large
Reviewed-by: xliu, thartmann, kvn
2022-09-28 07:16:59 +00:00
casparcwang
cb72f80925 8293978: Duplicate simple loop back-edge will crash the vm
Reviewed-by: roland, chagedorn
2022-09-21 06:24:19 +00:00
Christian Hagedorn
471e2f12b4 8292088: C2: assert(is_OuterStripMinedLoop()) failed: invalid node class: IfTrue
Reviewed-by: roland, kvn
2022-09-19 10:15:18 +00:00
Roland Westrelin
4c90e87a6f 8290781: Segfault at PhaseIdealLoop::clone_loop_handle_data_uses
Reviewed-by: chagedorn, thartmann
2022-08-31 09:23:41 +00:00
Roland Westrelin
dae4c493e4 8286197: C2: Optimize MemorySegment shape in int loop
Reviewed-by: kvn, thartmann
2022-06-10 08:17:26 +00:00
Tobias Hartmann
fa1b56ede6 8280696: C2 compilation hits assert(is_dominator(c, n_ctrl)) failed
Reviewed-by: kvn, chagedorn, roland
2022-05-19 14:52:54 +00:00
Roland Westrelin
32593df392 8279888: Local variable independently used by multiple loops can interfere with loop optimizations
Co-authored-by: Claes Redestad <redestad@openjdk.org>
Reviewed-by: thartmann, kvn
2022-04-25 09:30:00 +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
Roland Westrelin
85628a871d 8282592: C2: assert(false) failed: graph should be schedulable
Reviewed-by: chagedorn, thartmann
2022-03-22 10:34:33 +00:00
Roland Westrelin
19f877981e 8278784: C2: Refactor PhaseIdealLoop::remix_address_expressions() so it operates on longs
Reviewed-by: chagedorn, thartmann
2022-01-21 07:32:08 +00:00
Roland Westrelin
8d1a1e83f4 8278228: C2: Improve identical back-to-back if elimination
Reviewed-by: chagedorn, kvn
2022-01-10 07:52:18 +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
Christian Hagedorn
7c6f57fcb1 8275610: C2: Object field load floats above its null check resulting in a segfault
Reviewed-by: kvn, roland
2021-12-06 14:48:03 +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
2aacd4220a 8274145: C2: condition incorrectly made redundant with dominating main loop exit condition
Reviewed-by: kvn, neliasso
2021-10-08 14:48:35 +00:00
Christian Hagedorn
dfc557cbea 8274406: RunThese30M.java failed "assert(!LCA_orig->dominates(pred_block) || early->dominates(pred_block)) failed: early is high enough"
Reviewed-by: kvn, thartmann
2021-09-30 08:29:43 +00:00
Roland Westrelin
980c50dc60 8272562: C2: assert(false) failed: Bad graph detected in build_loop_late
Reviewed-by: chagedorn, kvn
2021-09-29 14:51:33 +00:00
Christian Hagedorn
b0983df5a4 8274074: SIGFPE with C2 compiled code with -XX:+StressGCM
Reviewed-by: roland, thartmann
2021-09-27 14:05:51 +00:00
Vladimir Ivanov
2ff4c01d42 8271600: C2: CheckCastPP which should closely follow Allocate is sunk of a loop
Reviewed-by: chagedorn, roland
2021-08-23 20:23:41 +00:00
Yi Yang
3f38a50c52 8271203: C2: assert(iff->Opcode() == Op_If || iff->Opcode() == Op_CountedLoopEnd || iff->Opcode() == Op_RangeCheck) failed: Check this code when new subtype is added
Reviewed-by: chagedorn, roland, thartmann
2021-08-16 02:30:57 +00:00
Christian Hagedorn
f791fdf23e 8261147: C2: Node is wrongly marked as reduction resulting in a wrong execution due to wrong vector instructions
Reviewed-by: thartmann, kvn
2021-07-09 11:53:45 +00:00
Roland Westrelin
ad27d9b3ec 8269088: C2 fails with assert(!n->is_Store() && !n->is_LoadStore()) failed: no node with a side effect
Reviewed-by: kvn, iveresov, neliasso
2021-07-01 08:11:59 +00:00
Roland Westrelin
d3ad8cd344 8268672: C2: assert(!loop->is_member(u_loop)) failed: can be in outer loop or out of both loops only
Reviewed-by: kvn, neliasso
2021-06-21 14:16:54 +00:00
Christian Hagedorn
9ad19f7838 8256934: C2: assert(C->live_nodes() <= C->max_node_limit()) failed: Live Node limit exceeded limit
Reviewed-by: roland, vlivanov
2021-06-16 13:02:51 +00:00
Roland Westrelin
4d545a1f86 8267988: C2: assert(!addp->is_AddP() || addp->in(AddPNode::Base)->is_top() || addp->in(AddPNode::Base) == n->in(AddPNode::Base)) failed: Base pointers must match (addp 1301)
Reviewed-by: chagedorn, vlivanov, kvn
2021-06-16 07:36:07 +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
4413142eca 8268017: C2: assert(phi_type->isa_int() || phi_type->isa_ptr() || phi_type->isa_long()) failed: bad phi type
Reviewed-by: vlivanov, chagedorn, whuang
2021-06-09 07:58:17 +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
Tobias Hartmann
ab2aec2afb 8265938: C2's conditional move optimization does not handle top Phi
Reviewed-by: chagedorn, kvn, iignatyev
2021-04-27 17:10:53 +00:00
Roland Westrelin
7137328006 8264958: C2 compilation fails with assert "n is later than its clone"
Reviewed-by: neliasso, thartmann
2021-04-16 11:34:45 +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
Jesper Wilhelmsson
d7acfae3d2 Merge 2021-02-06 00:29:45 +00:00
Roland Westrelin
4de3a6be9e 8260709: C2: assert(false) failed: unscheduable graph
Reviewed-by: thartmann, chagedorn
2021-02-04 15:11:25 +00:00
Tobias Hartmann
fe407cf1b6 8260420: C2 compilation fails with assert(found_sfpt) failed: no node in loop that's not input to safepoint
Reviewed-by: kvn, roland, chagedorn
2021-02-02 07:23:55 +00:00
Roland Westrelin
11d6467c50 8260407: cmp != __null && cmp->Opcode() == Op_CmpL failure with -XX:StressLongCountedLoop=200000000 in lucene
Reviewed-by: thartmann, kvn
2021-01-28 12:27:40 +00:00