70 Commits

Author SHA1 Message Date
Quan Anh Mai
8b13fe31d0 8347365: C2: Fix the handling of depends_only_on_test
Reviewed-by: mhaessig, roland
2026-02-18 09:29:02 +00:00
Christian Hagedorn
9862f8f0d3 8373513: C2: Move ProjNode::other_if_proj() to IfProjNode
Reviewed-by: epeter, roland
2025-12-17 13:38:37 +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
Daniel Lundén
39211e7fac 8369569: Rename methods in regmask.hpp to conform with HotSpot coding style
Reviewed-by: aseoane, rcastanedalo, epeter
2025-10-20 07:49:01 +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
Manuel Hässig
9ae39b62b9 8355276: Sort C2 includes
Reviewed-by: kvn, thartmann
2025-06-23 07:47:17 +00:00
Quan Anh Mai
991097b7bf 8315066: Add unsigned bounds and known bits to TypeInt/Long
Co-authored-by: Emanuel Peter <epeter@openjdk.org>
Reviewed-by: epeter, kvn, jbhateja
2025-06-13 01:05:44 +00:00
Manuel Hässig
84e9264e76 8346552: C2: Add IR tests to check that Predicate cloning in Loop Unswitching works as expected
Co-authored-by: Christian Hagedorn <chagedorn@openjdk.org>
Reviewed-by: chagedorn, epeter
2025-04-24 08:29:08 +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
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
Stefan Karlsson
c33c1cfe73 8347909: Automatic precompiled.hpp inclusion
Reviewed-by: lkorinth, erikj, dholmes, ihse
2025-01-21 10:21:24 +00:00
Magnus Ihse Bursie
2979806c72 8345795: Update copyright year to 2024 for hotspot in files where it was missed
Reviewed-by: dholmes, tschatzl, dnsimon, sspitsyn
2024-12-10 08:47:46 +00:00
Christian Hagedorn
7dc00d39b4 8345154: IGV: Show Parse and Assertion Predicate type as extra label
Reviewed-by: rcastanedalo
2024-11-28 13:58:14 +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
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
22a1feea74 8341328: Refactor initial Assertion Predicate creation into separate classes
Reviewed-by: thartmann, kvn
2024-10-17 05:08:59 +00:00
Tobias Hartmann
63e611cd5d 8335334: Stress mode to randomly execute unstable if traps
Reviewed-by: chagedorn, kvn
2024-09-23 12:30:30 +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
Christian Hagedorn
553f21ae53 8327413: Enhance compilation efficiency
Co-authored-by: Roland Westrelin <roland@openjdk.org>
Reviewed-by: ahgross, rhalade, thartmann, epeter, mbalao, fferrari
2024-07-17 05:40:56 +05:30
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
Roland Westrelin
053ff76e14 8308660: C2 compilation hits 'node must be dead' assert
Reviewed-by: chagedorn, kvn
2024-03-19 07:57:53 +00:00
Joshua Cao
12404a5efb 8324790: ifnode::fold_compares_helper cleanup
Reviewed-by: chagedorn, epeter
2024-03-01 05:35:33 +00:00
Christian Hagedorn
6cad07c23b 8325746: Refactor Loop Unswitching code
Reviewed-by: epeter, kvn
2024-02-28 07:03:57 +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
b922f8d459 8319793: C2 compilation fails with "Bad graph detected in build_loop_late" after JDK-8279888
Reviewed-by: chagedorn, epeter
2024-01-11 09:00:44 +00:00
Christian Hagedorn
2db9ea9bbf 8317723: C2: CountedLoopEndNodes and Zero Trip Guards are wrongly treated as Runtime Predicate
Reviewed-by: thartmann, epeter
2023-11-16 07:37:45 +00:00
Roland Westrelin
dac1727956 8308869: C2: use profile data in subtype checks when profile has more than one class
Co-authored-by: Fei Yang <fyang@openjdk.org>
Reviewed-by: vlivanov, thartmann
2023-09-08 07:48:05 +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
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
Dean Long
d0761c19d1 8312077: Fix signed integer overflow, final part
Reviewed-by: kvn, amitkumar
2023-07-24 20:40:08 +00:00
Roland Westrelin
caadad4fdc 8303279: C2: crash in SubTypeCheckNode::sub() at IGVN split if
Reviewed-by: kvn, vlivanov, thartmann, simonis
2023-07-11 15:59:17 +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
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
Johan Sjölen
5726d31e56 8301074: Replace NULL with nullptr in share/opto/
Reviewed-by: kvn, jwilhelm
2023-03-09 20:28:26 +00:00
Christian Hagedorn
94575d14f4 8295116: C2: assert(dead->outcnt() == 0 && !dead->is_top()) failed: node must be dead
Reviewed-by: thartmann, rcastanedalo
2022-12-08 12:00:01 +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
Emanuel Peter
dbb2c4b6ac 8288897: Clean up node dump code
Reviewed-by: chagedorn, xliu
2022-09-05 14:27:00 +00:00
Xin Liu
31e50f2c76 8286104: use aggressive liveness for unstable_if traps
Reviewed-by: kvn, thartmann
2022-06-30 03:59:42 +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
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
casparcwang
aea096770e 8275854: C2: assert(stride_con != 0) failed: missed some peephole opt
Co-authored-by: Roland Westrelin <roland@openjdk.org>
Reviewed-by: thartmann, roland, kvn
2021-11-11 10:39:09 +00:00
Christian Hagedorn
489e5fd12a 8268019: C2: assert(no_dead_loop) failed: dead loop detected
Reviewed-by: kvn, thartmann
2021-07-29 09:31:22 +00:00
Roland Westrelin
c67a7b039d 8269230: C2: main loop in micro benchmark never executed
Co-authored-by: Maurizio Cimadamore <mcimadamore@openjdk.org>
Reviewed-by: kvn, iveresov
2021-07-01 07:41:22 +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
Roland Westrelin
20c93b3b90 8261914: IfNode::fold_compares_helper faces non-canonicalized bool when running JRuby JSON workload
Reviewed-by: kvn, shade
2021-03-01 08:47:59 +00:00
Aleksey Shipilev
e9f3aab7f4 8261912: Code IfNode::fold_compares_helper more defensively
Reviewed-by: kvn, thartmann
2021-02-18 15:51:45 +00:00
Jesper Wilhelmsson
56a354eb55 Merge 2021-01-07 23:51:21 +00:00
Christian Hagedorn
c1fb521694 8259227: C2 crashes with SIGFPE due to a division that floats above its zero check
Reviewed-by: kvn, thartmann
2021-01-07 15:02:45 +00:00
Hao Sun
dd8996c5f5 8258946: Fix optimization-unstable code involving signed integer overflow
Reviewed-by: thartmann, kvn
2021-01-05 07:31:44 +00:00
Roland Westrelin
3d460bd295 8256655: rework long counted loop handling
Reviewed-by: kvn, thartmann, vlivanov
2020-12-01 07:30:51 +00:00