Galder Zamarreño
d16a9b2ec5
8373134: C2: Min/Max users of Min/Max uses should be enqueued for GVN
...
Reviewed-by: epeter, bmaillard, dlong
2026-01-15 07:22:54 +00:00
Christian Hagedorn
e4636d69e7
8373420: C2: Add true/false_proj*() methods for IfNode as a replacement for proj_out*(true/false)
...
Reviewed-by: dfenacci, roland, epeter
2025-12-17 11:17:39 +00:00
Roland Westrelin
00068a8030
8354282: C2: more crashes in compiled code because of dependency on removed range check CastIIs
...
Reviewed-by: chagedorn, qamai, galder, epeter
2025-12-10 08:45:20 +00:00
Roland Westrelin
35f4a7410c
8366888: C2: incorrect assertion predicate with short running long counted loop
...
Co-authored-by: Christian Hagedorn <chagedorn@openjdk.org>
Reviewed-by: chagedorn, bmaillard
2025-11-25 13:00:07 +00:00
Anton Seoane Ampudia
f4305923fb
8369002: Extract the loop->is_member(get_loop(get_ctrl(node))) pattern in a new function
...
Reviewed-by: bmaillard, rcastanedalo
2025-11-14 07:26:03 +00:00
Qizheng Xing
093e128771
8347499: C2: Make PhaseIdealLoop eliminate more redundant safepoints in loops
...
Reviewed-by: epeter, roland
2025-11-06 10:56:48 +00:00
Marc Chevalier
8ca485cf98
8370077: C2: make Compile::_major_progress a boolean
...
Reviewed-by: chagedorn, kvn, dlong, epeter
2025-10-31 11:02:29 +00:00
Marc Chevalier
02f8874c2d
8361608: C2: assert(opaq->outcnt() == 1 && opaq->in(1) == limit) failed
...
Co-authored-by: Christian Hagedorn <chagedorn@openjdk.org>
Reviewed-by: chagedorn, rcastanedalo
2025-10-31 11:00:06 +00:00
Emanuel Peter
d5ce66698d
8370220: C2: rename methods and improve documentation around get_ctrl and idom lazy updating/forwarding of ctrl and idom via dead ctrl nodes
...
Reviewed-by: chagedorn, thartmann
2025-10-28 06:42:05 +00:00
Roland Westrelin
ff6a0170f0
8369258: C2: enable ReassociateInvariants for all loop types
...
Reviewed-by: epeter, qamai
2025-10-16 07:35:41 +00:00
Emanuel Peter
4786f8bee5
8369448: C2 SuperWord: refactor VTransform to do move_unordered_reduction_out_of_loop during VTransform::optimize
...
Reviewed-by: chagedorn, kvn
2025-10-14 08:32:32 +00:00
Kim Barrett
9e843f56ec
8367014: Rename class Atomic to AtomicAccess
...
Reviewed-by: dholmes, aph, stefank
2025-09-12 06:35:55 +00:00
Emanuel Peter
443b172638
8324751: C2 SuperWord: Aliasing Analysis runtime check
...
Reviewed-by: kvn, mhaessig
2025-08-28 05:53:23 +00:00
Roland Westrelin
f155661151
8342692: C2: long counted loop/long range checks: don't create loop-nest for short running loops
...
Co-authored-by: Maurizio Cimadamore <mcimadamore@openjdk.org>
Co-authored-by: Christian Hagedorn <chagedorn@openjdk.org>
Reviewed-by: chagedorn, thartmann
2025-07-22 08:35:36 +00:00
Xiaohong Gong
7d6c902ce8
8357726: Improve C2 to recognize counted loops with multiple casts in trip counter
...
Reviewed-by: chagedorn, epeter, galder
2025-06-25 01:16:08 +00:00
Roland Westrelin
c11f36e620
8356708: C2: loop strip mining expansion doesn't take sunk stores into account
...
Reviewed-by: rcastanedalo, epeter
2025-06-20 11:24:17 +00:00
Benoît Maillard
d1b788005b
8357951: Remove the IdealLoopTree* loop parameter from PhaseIdealLoop::loop_iv_phi
...
Reviewed-by: thartmann, mhaessig
2025-06-06 08:16:15 +00:00
Aleksey Shipilev
db6fa5923c
8355617: Remove historical debug_only macro in favor of DEBUG_ONLY
...
Reviewed-by: stefank, kbarrett, jwaters
2025-04-28 08:43:14 +00:00
Roland Westrelin
be6e4406d8
8349139: C2: Div looses dependency on condition that guarantees divisor not zero in counted loop
...
Reviewed-by: chagedorn, epeter, qamai
2025-04-24 09:10:43 +00:00
Manuel Hässig
d358f5f4a4
8347449: C2: UseLoopPredicate off should also turn UseProfiledLoopPredicate off
...
Reviewed-by: chagedorn, epeter
2025-04-02 06:48:06 +00:00
Emanuel Peter
c856b3425a
8352587: C2 SuperWord: we must avoid Multiversioning for PeelMainPost loops
...
Reviewed-by: chagedorn, kvn
2025-03-25 16:08:57 +00:00
Christian Hagedorn
e57b272506
8350578: Refactor useless Parse and Template Assertion Predicate elimination code by using a PredicateVisitor
...
Reviewed-by: epeter, kvn, roland
2025-03-19 07:41:07 +00:00
Christian Hagedorn
4867a4c89e
8351280: Mark Assertion Predicates useless instead of replacing them by a constant directly
...
Reviewed-by: epeter, roland
2025-03-10 12:09:16 +00:00
Emanuel Peter
e82031ec1a
8350756: C2 SuperWord Multiversioning: remove useless slow loop when the fast loop disappears
...
Reviewed-by: kvn, chagedorn
2025-03-06 06:48:42 +00:00
Roland Westrelin
939815fdcf
8347040: C2: assert(!loop->_body.contains(in)) failed
...
Reviewed-by: chagedorn, kvn
2025-02-27 16:47:31 +00:00
Emanuel Peter
885338b5f3
8323582: C2 SuperWord AlignVector: misaligned vector memory access with unaligned native memory
...
Reviewed-by: roland, kvn
2025-02-27 06:58:43 +00:00
SendaoYan
04659a4073
8350197: [UBSAN] Node::dump_idx reported float-cast-overflow
...
Reviewed-by: chagedorn
2025-02-19 01:30:16 +00:00
Emanuel Peter
19399d271e
8348572: C2 compilation asserts due to unexpected irreducible loop
...
Reviewed-by: thartmann, kvn
2025-02-05 12:58:43 +00:00
Stefan Karlsson
c33c1cfe73
8347909: Automatic precompiled.hpp inclusion
...
Reviewed-by: lkorinth, erikj, dholmes, ihse
2025-01-21 10:21:24 +00:00
Theo Weidmann
f54e0bf267
8345766: C2 should emit macro nodes for ModF/ModD instead of calls during parsing
...
Reviewed-by: kvn, epeter
2025-01-21 09:15:18 +00:00
Emanuel Peter
f0af830f85
8335747: C2: fix overflow case for LoopLimit with constant inputs
...
Reviewed-by: kvn, qamai
2025-01-14 11:55:39 +00:00
Christian Hagedorn
ed0b555627
8344035: Replace predicate walking code in Loop Unswitching with a predicate visitor
...
Reviewed-by: roland, kvn
2025-01-13 08:09:08 +00:00
theoweidmannoracle
e88e793cfd
8343148: C2: Refactor uses of "PhaseValue::*con*() + PhaseIdealLoop::set_ctrl()" into separate method
...
Reviewed-by: kvn, chagedorn, thartmann
2024-12-11 07:52:06 +00:00
Daniel Skantz
480b508cf2
8345156: C2: Add bailouts next to a few asserts
...
Reviewed-by: kvn, epeter
2024-12-09 16:29:56 +00:00
Christian Hagedorn
c977ef7b45
8342047: Create Template Assertion Predicates with Halt nodes only instead of uncommon traps
...
Reviewed-by: epeter, thartmann
2024-11-14 07:13:19 +00:00
Thomas Stuefe
133f8f3186
8344014: Simplify TracePhase constructor
...
Reviewed-by: dlong, roland
2024-11-13 12:30:06 +00:00
Christian Hagedorn
a6c85daa1c
8342945: Replace predicate walking code in get_assertion_predicates() used for Loop Unswitching and cleaning useless Template Assertion Predicates with a predicate visitor
...
Reviewed-by: thartmann, roland, kvn
2024-11-07 07:05:20 +00:00
Christian Hagedorn
e389f82b1b
8343137: C2: VerifyLoopOptimizations fails with "Was reachable in only one"
...
Reviewed-by: thartmann, kvn
2024-10-29 08:07:22 +00:00
Christian Hagedorn
7131f053b0
8342043: Split Opaque4Node into OpaqueTemplateAssertionPredicateNode and OpaqueNotNullNode
...
Reviewed-by: kvn, roland
2024-10-23 08:00:42 +00:00
Kangcheng Xu
80ec552248
8328528: C2 should optimize long-typed parallel iv in an int counted loop
...
Reviewed-by: roland, chagedorn, thartmann
2024-10-21 14:57:31 +00:00
Christian Hagedorn
d61f56a300
8342287: C2 fails with "assert(is_IfTrue()) failed: invalid node class: IfFalse" due to Template Assertion Predicate with two UCTs
...
Reviewed-by: kvn, thartmann
2024-10-21 06:28:40 +00:00
Dean Long
c89f76c0b9
8332644: Improve graph optimizations
...
Co-authored-by: Martin Balao <mbalao@redhat.com>
Co-authored-by: Francisco Ferrari Bihurriet <fferrari@redhat.com>
Reviewed-by: epeter, ahgross, thartmann, rhalade, dlong, roland
2024-10-15 17:04:27 +05:30
Roland Westrelin
ecc77a5b4a
8336702: C2 compilation fails with "all memory state should have been processed" assert
...
Reviewed-by: thartmann, chagedorn
2024-10-09 14:57:37 +00:00
Christian Hagedorn
3fba1702cd
8340786: Introduce Predicate classes with predicate iterators and visitors for simplified walking
...
Reviewed-by: roland, thartmann
2024-10-09 11:42:22 +00:00
Daniel Skantz
d3f3c6a8cd
8330157: C2: Add a stress flag for bailouts
...
Reviewed-by: chagedorn, thartmann
2024-10-09 07:01:23 +00:00
Christian Hagedorn
1dd60b62e3
8323688: C2: Fix UB of jlong overflow in PhaseIdealLoop::is_counted_loop()
...
Reviewed-by: thartmann, kvn
2024-09-24 06:47:20 +00:00
Roland Westrelin
e203df46fa
8338100: C2: assert(!n_loop->is_member(get_loop(lca))) failed: control must not be back in the loop
...
Co-authored-by: Emanuel Peter <epeter@openjdk.org>
Reviewed-by: chagedorn, thartmann
2024-09-05 15:51:27 +00:00
Andrew Dinn
ab509f1b98
8337654: Relocate uncommon trap stub from SharedRuntime to OptoRuntime
...
Reviewed-by: kvn, vlivanov, fyang
2024-08-06 13:22:55 +00:00
Tobias Hartmann
657c0bddf9
8336999: Verification for resource area allocated data structures in C2
...
Reviewed-by: chagedorn, kvn
2024-07-29 05:31:10 +00:00
Roland Westrelin
0ddf54e222
8335709: C2: assert(!loop->is_member(get_loop(useblock))) failed: must be outside loop
...
Co-authored-by: Emanuel Peter <epeter@openjdk.org>
Reviewed-by: epeter, thartmann
2024-07-19 07:30:23 +00:00