164 Commits

Author SHA1 Message Date
Christian Hagedorn
8a83dc213a 8347018: C2: Insertion of Assertion Predicates ignores the effects of PhaseIdealLoop::clone_up_backedge_goo()
Reviewed-by: epeter, kvn
2025-01-20 12:24:33 +00:00
Christian Hagedorn
3518b4bd20 8344171: Clone and initialize Assertion Predicates in order instead of in reverse-order
Reviewed-by: epeter, kvn
2024-12-16 06:21:22 +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
Roland Westrelin
d9a22139fb 8345299: C2: some nodes can still have incorrect control after do_range_check()
Reviewed-by: chagedorn, kvn
2024-12-06 09:18:46 +00:00
Christian Hagedorn
08dfc4a42e 8344213: Cleanup OpaqueLoop*Node verification code for Assertion Predicates
Reviewed-by: thartmann, epeter
2024-11-25 16:46:44 +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
3727f40461 8343745: Only update Last Value Assertion Predicates in Loop Unrolling
Reviewed-by: thartmann, kvn
2024-11-12 10:11:55 +00:00
Christian Hagedorn
5f338e9adb 8342946: Replace predicate walking code in Loop Unrolling with a predicate visitor
Reviewed-by: roland, kvn
2024-11-11 06:18:25 +00:00
Roland Westrelin
a10b1ccd37 8340532: C2: assert(is_OuterStripMinedLoop()) failed: invalid node class: IfTrue
Reviewed-by: chagedorn, kvn
2024-11-08 07:51:58 +00:00
Christian Hagedorn
4431852a88 8342943: Replace predicate walking and cloning code for main/post loops with a predicate visitor
Reviewed-by: roland, kvn
2024-11-06 06:10:01 +00:00
Christian Hagedorn
63c19d3db5 8341977: Replace predicate walking and cloning code for Loop Peeling with a predicate visitor
Reviewed-by: kvn, epeter
2024-10-30 06:11:06 +00:00
Christian Hagedorn
7131f053b0 8342043: Split Opaque4Node into OpaqueTemplateAssertionPredicateNode and OpaqueNotNullNode
Reviewed-by: kvn, roland
2024-10-23 08:00:42 +00:00
Roland Westrelin
8f2b23bb53 8341407: C2: assert(main_limit == cl->limit() || get_ctrl(main_limit) == new_limit_ctrl) failed: wrong control for added limit
Reviewed-by: chagedorn, thartmann
2024-10-21 07:37:01 +00:00
Christian Hagedorn
22a1feea74 8341328: Refactor initial Assertion Predicate creation into separate classes
Reviewed-by: thartmann, kvn
2024-10-17 05:08:59 +00:00
Roberto Castañeda Lozano
16042556f3 8341619: C2: remove unused StoreCM node
Reviewed-by: chagedorn, thartmann, kvn
2024-10-10 08:34:10 +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
Roland Westrelin
315abdf8c8 8339733: C2: some nodes can have incorrect control after do_range_check()
Reviewed-by: chagedorn, thartmann
2024-09-12 07:19:54 +00:00
Roland Westrelin
3a88fd437d 8334724: C2: remove PhaseIdealLoop::cast_incr_before_loop()
Reviewed-by: chagedorn, kvn
2024-09-03 06:58:29 +00:00
Christian Hagedorn
be34730fb4 8335257: Refactor code to create Initialized Assertion Predicates into separate class
Reviewed-by: kvn, epeter
2024-08-05 09:52:07 +00:00
Roland Westrelin
f61a505989 8334647: C2: CastII added by PhaseIdealLoop::add_template_assertion_predicate() should have control
Reviewed-by: chagedorn, kvn
2024-07-25 15:45:41 +00:00
Roland Westrelin
3baff2af6a 8335393: C2: assert(!had_error) failed: bad dominance
Reviewed-by: thartmann, chagedorn
2024-07-25 09:26:11 +00:00
Christian Hagedorn
a5f401f3a8 8334650: Add debug information about whether an Assertion Predicate is for the init or last value
Reviewed-by: roland, kvn
2024-06-26 07:09:50 +00:00
Vladimir Kozlov
9691153755 8329141: Obsolete RTM flags and code
Reviewed-by: chagedorn
2024-06-10 17:58:22 +00:00
Christian Hagedorn
64bbae7512 8333394: C2: assert(bol->is_Opaque4() || bol->is_OpaqueInitializedAssertionPredicate()) failed: Opaque node of non-null-check or of Initialized Assertion Predicate
Reviewed-by: thartmann, roland
2024-06-04 09:47:08 +00:00
Christian Hagedorn
2edb6d9813 8330386: Replace Opaque4Node of Initialized Assertion Predicate with new OpaqueInitializedAssertionPredicateNode
Reviewed-by: kvn, roland
2024-05-28 08:12:36 +00:00
Christian Hagedorn
4bbd972cbb 8305638: Renaming and small clean-ups around predicates
Reviewed-by: roland, epeter
2024-05-06 07:48:22 +00:00
Christian Hagedorn
20546c1ea0 8330004: Refactor cloning down code in Split If for Template Assertion Predicates
Reviewed-by: epeter, kvn
2024-04-22 06:07:07 +00:00
Jatin Bhateja
185e711bfe 8318650: Optimized subword gather for x86 targets.
Reviewed-by: sviswanathan, epeter, psandoz
2024-04-21 23:21:17 +00:00
Roland Westrelin
9fd78022b1 8325494: C2: Broken graph after not skipping CastII node anymore for Assertion Predicates after JDK-8309902
Reviewed-by: chagedorn, epeter
2024-04-17 15:25:41 +00:00
Roland Westrelin
bfff02eef6 8330165: C2: make superword consistently use PhaseIdealLoop::register_new_node()
Reviewed-by: chagedorn, kvn
2024-04-16 14:11:05 +00:00
Joshua Cao
140f56718b 8323220: Reassociate loop invariants involved in Cmps and Add/Subs
Reviewed-by: epeter, xliu, chagedorn
2024-04-15 15:54:34 +00:00
Christian Hagedorn
fc18201bbd 8327111: Replace remaining usage of create_bool_from_template_assertion_predicate() which requires additional OpaqueLoop*Nodes transformation strategies
Reviewed-by: epeter, kvn
2024-04-08 10:52:30 +00:00
Emanuel Peter
fadc4b197e 8327423: C2 remove_main_post_loops: check if main-loop belongs to pre-loop, not just assert
Reviewed-by: kvn, chagedorn, roland
2024-03-14 07:12:16 +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
Roberto Castañeda Lozano
bf666bc0c7 8322692: ZGC: avoid over-unrolling due to hidden barrier size
Reviewed-by: eosterlund, kvn
2024-01-17 07:50:03 +00:00
Joshua Cao
7263e25d9b 8322490: cleanup CastNode construction
Reviewed-by: chagedorn, phh
2023-12-22 21:08:45 +00:00
Daniel Lundén
701bc3bbbe 8295166: IGV: dump graph at more locations
Reviewed-by: thartmann, rcastanedalo, chagedorn
2023-12-08 11:08:08 +00:00
Thomas Stuefe
c1aeac79ba 8318445: More broken bailout chains in C2
Reviewed-by: kvn, epeter
2023-10-23 15:54:04 +00:00
Emanuel Peter
1ed9c76ec8 8309204: Obsolete DoReserveCopyInSuperWord
Reviewed-by: kvn, thartmann
2023-10-05 07:01:18 +00:00
Emanuel Peter
eeb63cd0fa 8316361: C2: assert(!failure) failed: Missed optimization opportunity in PhaseIterGVN with -XX:VerifyIterativeGVN=10
Reviewed-by: kvn, chagedorn
2023-10-02 08:03:10 +00:00
Roland Westrelin
4e1e579e8b 8315920: C2: "control input must dominate current control" assert failure
Reviewed-by: thartmann, chagedorn
2023-09-26 14:32:54 +00:00
Roland Westrelin
fe4f90021f 8315088: C2: assert(wq.size() - before == EMPTY_LOOP_SIZE) failed: expect the EMPTY_LOOP_SIZE nodes of this body if empty
Reviewed-by: thartmann, chagedorn
2023-09-05 07:32:51 +00:00
Roland Westrelin
ed1ea5fe7c 8314024: SIGSEGV in PhaseIdealLoop::build_loop_late_post_work due to bad immediate dominator info
Reviewed-by: kvn, chagedorn
2023-08-30 07:52:05 +00:00
Christian Hagedorn
0b12480de8 8314233: C2: assert(assertion_predicate_has_loop_opaque_node(iff)) failed: unexpected
Reviewed-by: thartmann, kvn
2023-08-16 06:58:23 +00:00
Christian Hagedorn
a39ed1087b 8314116: C2: assert(false) failed: malformed control flow after JDK-8305636
Reviewed-by: thartmann, kvn
2023-08-14 08:15:02 +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
26efff7586 8309902: C2: assert(false) failed: Bad graph detected in build_loop_late after JDK-8305189
Reviewed-by: kvn, chagedorn
2023-06-29 15:05:49 +00:00