Christian Hagedorn
f42e2c10c6
8347554: [BACKOUT] C2: implement optimization for series of Add of unique value
...
Reviewed-by: kvn, thartmann
Backport-of: 062f2dcfe5b62cc3dd3c292eeebd7a7ac78f849a
2025-01-14 15:20:53 +00:00
Christian Hagedorn
2eeaa57b19
8343944: C2: MinLNode::add_ring() computes _widen wrongly leading to an endless widening/compilation
...
Reviewed-by: thartmann, rcastanedalo
2024-11-13 08:39:17 +00:00
Kangcheng Xu
c30ad0124e
8325495: C2: implement optimization for series of Add of unique value
...
Reviewed-by: chagedorn, roland
2024-10-09 15:07:13 +00:00
Galder Zamarreño
c439c8c73c
8323429: Missing C2 optimization for FP min/max when both inputs are same
...
Reviewed-by: roland, chagedorn
2024-04-24 08:20:49 +00:00
Emanuel Peter
3ccb64c021
8318446: C2: optimize stores into primitive arrays by combining values into larger store
...
Reviewed-by: kvn, thartmann
2024-04-24 06:44:14 +00:00
Jasmine Karthikeyan
9f920b9bbf
8324655: Identify integer minimum and maximum patterns created with if statements
...
Reviewed-by: epeter, qamai
2024-03-25 06:23:11 +00:00
Magnus Ihse Bursie
09d4936657
8252136: Several methods in hotspot are missing "static"
...
Reviewed-by: coleenp, stefank, kvn, kbarrett
2024-02-14 16:29:58 +00:00
Zhiqiang Zang
1515bd7c9d
8322077: Add Ideal transformation: (~a) | (~b) => ~(a & b)
...
Reviewed-by: thartmann, epeter
2024-01-15 06:48:00 +00:00
Zhiqiang Zang
8569227473
8322589: Add Ideal transformation: (~a) & (~b) => ~(a | b)
...
Reviewed-by: thartmann, epeter
2024-01-10 07:31:56 +00:00
Roland Westrelin
b0d6c8472f
8316396: Endless loop in C2 compilation triggered by AddNode::IdealIL
...
Reviewed-by: thartmann, kvn
2023-10-04 12:06:31 +00:00
Quan Anh Mai
837cf85f7d
8312547: Max/Min nodes Value implementation could be improved
...
Reviewed-by: thartmann, kvn
2023-08-25 17:48:27 +00:00
Roberto Castañeda Lozano
3fa776d66a
8302673: [SuperWord] MaxReduction and MinReduction should vectorize for int
...
Co-authored-by: Jatin Bhateja <jbhateja@openjdk.org>
Reviewed-by: epeter, kvn
2023-06-05 07:08:33 +00:00
Roberto Castañeda Lozano
60f3b87d96
8309295: C2: MaxNode::signed_min() returns nullptr for int operands
...
Reviewed-by: thartmann
2023-06-02 06:34:15 +00:00
Jasmine Karthikeyan
fb0b1f0c23
8051725: Improve expansion of Conv2B nodes in the middle-end
...
Reviewed-by: thartmann, qamai, sviswanathan
2023-05-30 14:11:12 +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
Emanuel Peter
cc894d849a
8303466: C2: failed: malformed control flow. Limit type made precise with MaxL/MinL
...
Reviewed-by: roland, kvn, chagedorn, thartmann
2023-04-26 05:42:26 +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
Zhiqiang Zang
5dd851d872
8281453: New optimization: convert ~x into -1-x when ~x is used in an arithmetic expression
...
Reviewed-by: kvn
2022-10-06 22:15:20 +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
Bhavana Kilambi
6b2184e8d1
8290248: Implement MaxINode::Ideal transformation
...
Reviewed-by: kvn, thartmann
2022-08-05 01:51:34 +00:00
Zhiqiang Zang
c7755b815d
8283094: Add Ideal transformation: x + (con - y) -> (x - y) + con
...
Reviewed-by: kvn, thartmann
2022-04-13 16:01:10 +00:00
Zhiqiang Zang
0bf95a1a73
8279607: Existing optimization "~x+1" -> "-x" can be generalized to "~x+c" -> "(c-1)-x".
...
Reviewed-by: thartmann, kvn
2022-01-20 07:38:04 +00:00
Zhiqiang Zang
f6fbb5a80c
8278471: Remove unreached rules in AddNode::IdealIL
...
Reviewed-by: jiefu, kvn
2021-12-16 03:57:29 +00:00
Roland Westrelin
5dcdee4bcd
8262341: Refine identical code in AddI/LNode.
...
Reviewed-by: thartmann, eliu
2021-12-08 07:55:12 +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
Yi Yang
a73c06de2a
8273021: C2: Improve Add and Xor ideal optimizations
...
Co-authored-by: yulei <lei.yul@alibaba-inc.com>
Reviewed-by: thartmann, kvn
2021-09-13 02:10:45 +00:00
Zhengyu Gu
746fe5dc68
8270366: C2: Add associative rule to add/sub node
...
Reviewed-by: kvn, adinn
2021-07-15 16:40:30 +00:00
David Holmes
cb7128b58e
8266950: Remove vestigial support for non-strict floating-point execution
...
Co-authored-by: Vladimir Ivanov <vlivanov@openjdk.org>
Reviewed-by: vlivanov, kvn
2021-06-01 22:04:02 +00:00
Nils Eliasson
4ba761381c
8267332: xor value should handle bounded values
...
Reviewed-by: thartmann, redestad
2021-05-21 14:06:18 +00:00
Wang Huang
599d07c0db
8263006: Add optimization for Max(*)Node and Min(*)Node
...
Co-authored-by: Wang Huang <whuang@openjdk.org>
Co-authored-by: Wu Yan <wuyan34@huawei.com>
Reviewed-by: kvn
2021-05-14 17:16:28 +00:00
Cesar
67cb22af58
8266601: Fix bugs in AddLNode::Ideal transformations
...
Reviewed-by: kvn, vlivanov, thartmann
2021-05-11 09:28:37 +00:00
Roland Westrelin
d1baed677e
8263672: fatal error: no reachable node should have no use
...
Reviewed-by: vlivanov, thartmann
2021-03-17 08:52:14 +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
Eric Liu
23ee60d1b7
8261008: Optimize Xor
...
Reviewed-by: thartmann, kvn
2021-03-06 08:52:35 +00:00
Eric Liu
382e38dd24
8256438: AArch64: Implement match rules with ROR shift register value
...
Reviewed-by: aph, roland
2021-02-24 09:49:53 +00:00
Roland Westrelin
3d460bd295
8256655: rework long counted loop handling
...
Reviewed-by: kvn, thartmann, vlivanov
2020-12-01 07:30:51 +00:00
Tobias Hartmann
1c4c99eae2
8256823: C2 compilation fails with "assert(isShiftCount(imm8 >> 1)) failed: illegal shift count"
...
Reviewed-by: vlivanov, kvn, chagedorn
2020-11-24 16:52:13 +00:00
Claes Redestad
f55ae9595e
8256858: C2: Devirtualize PhaseIterGVN-specific methods
...
Reviewed-by: kvn, thartmann
2020-11-24 14:33:47 +00:00
Tobias Hartmann
15805741f1
8255672: Replace PhaseTransform::eqv by pointer equality check
...
Reviewed-by: chagedorn, redestad, kvn
2020-11-03 07:17:58 +00:00
Tobias Hartmann
cfb02d4854
8250861: Crash in MinINode::Ideal(PhaseGVN*, bool)
...
Added missing NULL checks.
Reviewed-by: kvn, chagedorn
2020-10-20 14:58:40 -07:00
Tobias Hartmann
7c05f32bc9
8244924: Additional fix for JDK-8241119
...
Reviewed-by: kvn, vlivanov, rhalade, ahgross
2020-10-20 14:58:38 -07:00
Roberto Castaneda Lozano
f3ea0d362f
8252583: Clean up unused phi-to-copy degradation mechanism
...
Remove unused notion of 'PhiNode-to-copy degradation', where PhiNodes can be
degraded to copies by setting their RegionNode to NULL. Remove corresponding
PhiNode::is_copy() test, which always returned NULL (false). Assert that
PhiNodes have an associated RegionNode in PhiNode::Ideal().
Reviewed-by: thartmann, kvn
2020-09-24 08:10:56 +00:00
Vladimir Kozlov
1438ce097f
8252188: Crash in OrINode::Ideal(PhaseGVN*, bool)+0x8b9
...
Reviewed-by: vlivanov, thartmann, jbhateja
2020-09-19 16:06:35 +00:00
Jatin Bhateja
3ed56830b4
8248830: C2: Optimize Rotate API on x86
...
Improved existing scalar rotate operations, added support for vector rotate operations using new AVX512 instructions.
Reviewed-by: vlivanov, kvn
2020-08-09 02:03:09 +05:30
Roland Westrelin
57388f807f
8244504: C2: refactor counted loop code in preparation for long counted loop
...
Reviewed-by: jrose, thartmann
2020-05-28 14:34:01 +02:00
Jamsheed Mohammed C M
259a0b4a7b
8226627: assert(t->singleton()) failed: must be a constant
...
Implemented constant folding for MaxFD, MinFD.
Reviewed-by: thartmann, bsrbnd, pli
2019-07-05 00:24:54 -07:00
Erik Joelsson
3789983e89
8187443: Forest Consolidation: Move files to unified layout
...
Reviewed-by: darcy, ihse
2017-09-12 19:03:39 +02:00