75 Commits

Author SHA1 Message Date
Francisco Ferrari Bihurriet
32a7940b8e Add requested comments from the reviews
Add a comment with the BoolTest::cc2logical inferences tables, as
suggested by @tabjy.

Also, add a comment explaining how PhaseCCP::push_cmpu is handling
grandparent updates in the case 1b, as agreed with @chhagedorn.
2025-08-14 07:47:08 +02:00
Francisco Ferrari Bihurriet
27ed1a311e Apply code review suggestions and add JBS to test 2025-08-12 05:10:28 +02:00
Francisco Ferrari Bihurriet
d073e80ac6 8364970: Redo JDK-8327381 by updating the CmpU type instead of the Bool type 2025-08-07 00:20:14 +02:00
Francisco Ferrari Bihurriet
3a47f8a5dc Revert "8349584: Improve compiler processing"
This partially reverts commit a56cd371a2c497e4323756f8b8a08a0bba059bf2,
which will no longer be needed after this change.
2025-08-07 00:19:12 +02:00
Manuel Hässig
ddb64836e5 8364409: [BACKOUT] Consolidate Identity of self-inverse operations
Reviewed-by: thartmann, bmaillard, hgreule
2025-07-31 12:12:15 +00:00
Christian Hagedorn
a56cd371a2 8349584: Improve compiler processing
Reviewed-by: rhalade, ahgross, epeter, thartmann
2025-07-15 12:02:14 -07:00
Hannes Greule
e5ab210713 8359678: C2: assert(static_cast<T1>(result) == thing) caused by ReverseBytesNode::Value()
Reviewed-by: mhaessig, dlong, thartmann
2025-07-15 06:28:03 +00:00
Jatin Bhateja
a49ecb26c5 8352635: Improve inferencing of Float16 operations with constant inputs
Reviewed-by: epeter, sviswanathan
2025-06-26 15:42:43 +00:00
Severin Gehwolf
38bb8adf4f 8354941: Build failure with glibc 2.42 due to uabs() name collision
Reviewed-by: kbarrett, thartmann
2025-05-13 09:59:49 +00:00
Hannes Greule
de801fea76 8353551: C2: Constant folding for ReverseBytes nodes
Reviewed-by: epeter, vlivanov
2025-05-12 06:43:52 +00:00
Matthias Baesken
81d4c80742 8354507: [ubsan] subnode.cpp:406:36: runtime error: negation of -9223372036854775808 cannot be represented in type 'long int'
Reviewed-by: mdoerr, thartmann
2025-04-15 09:02:41 +00:00
Hannes Greule
66b5dba690 8350988: Consolidate Identity of self-inverse operations
Reviewed-by: epeter, vlivanov
2025-03-27 07:39:34 +00:00
Manuel Hässig
5591f8a429 8351515: C2 incorrectly removes double negation for double and float
Reviewed-by: thartmann, chagedorn
2025-03-24 07:59:20 +00:00
Jatin Bhateja
4b463ee70e 8342103: C2 compiler support for Float16 type and associated scalar operations
Co-authored-by: Paul Sandoz <psandoz@openjdk.org>
Co-authored-by: Bhavana Kilambi <bkilambi@openjdk.org>
Co-authored-by: Joe Darcy <darcy@openjdk.org>
Co-authored-by: Raffaello Giulietti <rgiulietti@openjdk.org>
Reviewed-by: psandoz, epeter, sviswanathan
2025-02-12 17:02:51 +00:00
Christian Hagedorn
5f6c85420a 8330045: Enhance array handling
Co-authored-by: Christian Hagedorn <chagedorn@openjdk.org>
Co-authored-by: Emanuel Peter <epeter@openjdk.org>
Co-authored-by: Francisco Ferrari Bihurriet <fferrari@redhat.com>
Co-authored-by: Martin Balao <mbalao@redhat.com>
Reviewed-by: rhalade, ahgross, thartmann, epeter, adinn, roland
2025-01-22 14:56:49 +05:30
Stefan Karlsson
c33c1cfe73 8347909: Automatic precompiled.hpp inclusion
Reviewed-by: lkorinth, erikj, dholmes, ihse
2025-01-21 10:21:24 +00:00
Quan Anh Mai
aa21de566d 8347481: C2: Remove the control input of some nodes
Reviewed-by: dfenacci, vlivanov, kvn
2025-01-17 02:05:14 +00:00
Kangcheng Xu
1383fec417 8327381: Refactor type-improving transformations in BoolNode::Ideal to BoolNode::Value
Reviewed-by: chagedorn, thartmann, jkarthikeyan, epeter
2024-08-29 05:34:08 +00:00
Cesar Soares Lucas
a887fd2144 8316991: Reduce nullable allocation merges
Reviewed-by: kvn, vlivanov
2024-04-08 23:13:38 +00:00
Christian Hagedorn
6997bfc68d 8323154: C2: assert(cmp != nullptr && cmp->Opcode() == Op_Cmp(bt)) failed: no exit test
Reviewed-by: roland, thartmann, qamai
2024-01-19 15:49:02 +00:00
Quan Anh Mai
1e687b4529 8316719: C2 compilation still fails with "bad AD file"
Reviewed-by: chagedorn, thartmann
2023-11-08 10:47:00 +00:00
Quan Anh Mai
969fcdb0de 8314191: C2 compilation fails with "bad AD file"
Reviewed-by: thartmann, chagedorn
2023-09-05 16:15:54 +00:00
Xin Liu
d2e1159300 8311125: Remove unused parameter 'phase' in AllocateNode::Ideal_allocation
Reviewed-by: chagedorn, kvn
2023-07-01 07:25:26 +00:00
Dean Long
f8a924a749 8308975: Fix signed integer overflow in compiler code, part 2
Reviewed-by: aph, coleenp, kvn
2023-05-31 20:51:53 +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
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
Johan Sjölen
5726d31e56 8301074: Replace NULL with nullptr in share/opto/
Reviewed-by: kvn, jwilhelm
2023-03-09 20:28:26 +00:00
Justin King
a9dba56568 8300783: Consolidate byteswap implementations
Reviewed-by: kbarrett, kvn
2023-03-09 19:39:07 +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
Emanuel Peter
5f66024e95 8299959: C2: CmpU::Value must filter overflow computation against local sub computation
Reviewed-by: kvn, chagedorn, roland
2023-01-19 07:37:50 +00:00
Roland Westrelin
05a0a71031 8297933: [REDO] Compiler should only use verified interface types for optimization
Reviewed-by: kvn, vlivanov
2023-01-09 08:26:08 +00:00
Jesper Wilhelmsson
19ce23c645 Merge 2022-12-23 11:25:10 +00:00
Roland Westrelin
a0a09d56ba 8298176: remove OpaqueZeroTripGuardPostLoop once main-loop disappears
Reviewed-by: thartmann, chagedorn, kvn
2022-12-22 08:56:00 +00:00
Christian Hagedorn
5e678f7500 8298824: C2 crash: assert(is_Bool()) failed: invalid node class: ConI
Reviewed-by: roland, kvn, thartmann
2022-12-19 07:10:12 +00:00
Quan Anh Mai
3dfadeebd0 8292289: [vectorapi] Improve the implementation of VectorTestNode
Reviewed-by: xgong, kvn
2022-12-08 20:25:20 +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
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
9430f3e65c 8297934: [BACKOUT] Compiler should only use verified interface types for optimization
Reviewed-by: thartmann, kvn
2022-12-01 14:19:28 +00:00
Roland Westrelin
45d1807ad3 6312651: Compiler should only use verified interface types for optimization
Reviewed-by: vlivanov, kvn
2022-11-21 08:47:42 +00:00
Emanuel Peter
dbb2c4b6ac 8288897: Clean up node dump code
Reviewed-by: chagedorn, xliu
2022-09-05 14:27:00 +00:00
Roland Westrelin
77e21c57ce 8290529: C2: assert(BoolTest(btest).is_canonical()) failure
Reviewed-by: kvn, thartmann
2022-09-02 13:35:11 +00:00
Jatin Bhateja
38377d5eb7 8291649: multiple tests failing with -Xcomp after JDK-8290034
Co-authored-by: Kim Barrett <kbarrett@openjdk.org>
Co-authored-by: John R Rose <jrose@openjdk.org>
Reviewed-by: kbarrett, jrose
2022-08-31 05:02:56 +00:00
Jatin Bhateja
5d82d67a9e 8290034: Auto vectorize reverse bit operations.
Reviewed-by: xgong, kvn
2022-07-28 04:43:01 +00:00
Quan Anh Mai
108cd69516 8283726: x86_64 intrinsics for compareUnsigned method in Integer and Long
Reviewed-by: kvn, jbhateja
2022-06-29 10:34:05 +00:00
Emanuel Peter
2d34acfec9 8286638: C2: CmpU needs to do more precise over/underflow analysis
Reviewed-by: kvn, vlivanov, thartmann
2022-05-16 07:21:30 +00:00
Roland Westrelin
aa7ccdf445 8275201: C2: hide klass() accessor from TypeOopPtr and typeKlassPtr subclasses
Reviewed-by: vlivanov, iveresov
2022-05-11 07:25:49 +00:00
Ahmed Muhsin
5f3d4032f3 8272735: Add missing SubL node transformations
Reviewed-by: thartmann, chagedorn
2022-03-14 09:05:53 +00:00
Fei Gao
c6196662b8 8276673: Optimize abs operations in C2 compiler
Reviewed-by: thartmann, jiefu
2022-01-17 02:16:45 +00:00
Zhiqiang Zang
f6fbb5a80c 8278471: Remove unreached rules in AddNode::IdealIL
Reviewed-by: jiefu, kvn
2021-12-16 03:57:29 +00:00
Zhiqiang Zang
352435581e 8277882: New subnode ideal optimization: converting "c0 - (x + c1)" into "(c0 - c1) - x"
Reviewed-by: dlong, iveresov
2021-12-09 00:18:59 +00:00