Commit Graph

167 Commits

Author SHA1 Message Date
Jesper Wilhelmsson
7039c6616a Merge 2022-06-20 19:38:49 +00:00
Emanuel Peter
302a6c068d 8287801: Fix test-bugs related to stress flags
Reviewed-by: chagedorn, thartmann
2022-06-20 14:29:06 +00:00
Christian Hagedorn
ed714af854 8288564: C2: LShiftLNode::Ideal produces wrong result after JDK-8278114
Reviewed-by: kvn, iveresov, thartmann
2022-06-20 06:47:40 +00:00
Fei Gao
a1795901ee 8283091: Support type conversion between different data sizes in SLP
Reviewed-by: kvn, sviswanathan
2022-06-16 02:40:59 +00:00
Roland Westrelin
dae4c493e4 8286197: C2: Optimize MemorySegment shape in int loop
Reviewed-by: kvn, thartmann
2022-06-10 08:17:26 +00:00
Christian Hagedorn
78d371266a 8287432: C2: assert(tn->in(0) != __null) failed: must have live top node
Reviewed-by: kvn, thartmann
2022-06-08 14:12:09 +00:00
Christian Hagedorn
b647a1259b 8286940: [IR Framework] Allow IR tests to build and use Whitebox without -DSkipWhiteBoxInstall=true
Reviewed-by: kvn, thartmann
2022-06-07 08:37:12 +00:00
Fei Gao
24fe8ad74c 8283307: Vectorize unsigned shift right on signed subword types
Reviewed-by: jiefu, pli, sviswanathan, kvn
2022-06-06 02:02:10 +00:00
Quan Anh Mai
c1db70d827 8285973: x86_64: Improve fp comparison and cmove for eq/ne
Reviewed-by: kvn, sviswanathan
2022-05-24 00:15:54 +00:00
Aleksey Shipilev
9c2548414c 8286339: compiler/c2/irTests/TestEnumFinalFold.java fails if Enum/String methods are not inlined
Reviewed-by: thartmann, jiefu
2022-05-11 05:29:11 +00:00
Aleksey Shipilev
080f3c5d8a 8286190: Add test to verify constant folding for Enum fields
Reviewed-by: kvn, thartmann
2022-05-06 16:32:02 +00:00
Roland Westrelin
fa1ca98fff 8281429: PhiNode::Value() is too conservative for tripcount of CountedLoop
Reviewed-by: thartmann, kvn
2022-05-06 08:24:33 +00:00
Jie Fu
1f9f8738f3 8285980: Several tests in compiler/c2/irTests miss @requires vm.compiler2.enabled
Reviewed-by: thartmann
2022-05-02 10:38:31 +00:00
Fei Gao
df7fba1cda 8284981: Support the vectorization of some counting-down loops in SLP
Reviewed-by: roland, kvn
2022-04-30 07:39:16 +00:00
Dean Long
cd8709e8e0 8284883: JVM crash: guarantee(sect->end() <= sect->limit()) failed: sanity on AVX512
Reviewed-by: kvn, jbhateja
2022-04-29 19:09:58 +00:00
Roland Westrelin
e98ac23553 8285793: C2: optimization of mask checks in counted loops fail in the presence of cast nodes
Reviewed-by: kvn, thartmann
2022-04-29 11:19:27 +00:00
Jatin Bhateja
e4066628ad 8282711: Accelerate Math.signum function for AVX and AVX512 target.
Reviewed-by: sviswanathan, thartmann
2022-04-29 06:34:09 +00:00
Aleksey Shipilev
5629c7555f 8284848: C2: Compiler blackhole arguments should be treated as globally escaping
Reviewed-by: kvn, thartmann
2022-04-28 08:32:44 +00:00
Roland Westrelin
32593df392 8279888: Local variable independently used by multiple loops can interfere with loop optimizations
Co-authored-by: Claes Redestad <redestad@openjdk.org>
Reviewed-by: thartmann, kvn
2022-04-25 09:30:00 +00:00
Aleksey Shipilev
ce8db2c403 8285394: Compiler blackholes can be eliminated due to stale ciMethod::intrinsic_id()
Reviewed-by: kvn, dlong
2022-04-22 17:11:34 +00:00
Boris Ulasevich
21de4e55b8 8284681: compiler/c2/aarch64/TestFarJump.java fails with "RuntimeException: for CodeHeap < 250MB the far jump is expected to be encoded with a single branch instruction"
Reviewed-by: kvn
2022-04-16 05:57:00 +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
Boris Ulasevich
e524107a74 8280872: Reorder code cache segments to improve code density
Reviewed-by: simonis, kvn
2022-04-06 09:32:12 +00:00
Pengfei Li
741be46138 8183390: Fix and re-enable post loop vectorization
Reviewed-by: roland, thartmann, kvn
2022-04-05 23:50:13 +00:00
Jatin Bhateja
003ec21f3c 8279508: Auto-vectorize Math.round API
Reviewed-by: sviswanathan, aph
2022-04-02 18:00:33 +00:00
Roland Westrelin
14c20bc0e0 8283187: C2: loop candidate for superword not always unrolled fully if superword fails
Reviewed-by: thartmann, chagedorn
2022-03-24 12:53:44 +00:00
Fei Yang
5905b02c0e 8276799: Implementation of JEP 422: Linux/RISC-V Port
Co-authored-by: Yadong Wang <yadonn.wang@huawei.com>
Co-authored-by: Yanhong Zhu <zhuyanhong2@huawei.com>
Co-authored-by: Feilong Jiang <jiangfeilong@huawei.com>
Co-authored-by: Kun Wang <wangkun49@huawei.com>
Co-authored-by: Zhuxuan Ni <nizhuxuan@huawei.com>
Co-authored-by: Taiping Guo <guotaiping1@huawei.com>
Co-authored-by: Kang He <hekang6@huawei.com>
Co-authored-by: Aleksey Shipilev <shade@openjdk.org>
Co-authored-by: Xiaolin Zheng <yunyao.zxl@alibaba-inc.com>
Co-authored-by: Kuai Wei <kuaiwei.kw@alibaba-inc.com>
Co-authored-by: Magnus Ihse Bursie <ihse@openjdk.org>
Reviewed-by: ihse, dholmes, rriggs, kvn, shade
2022-03-24 09:22:46 +00:00
Roland Westrelin
fabde3b7b8 8283451: C2: assert(_base == Long) failed: Not a Long
Reviewed-by: thartmann, chagedorn
2022-03-22 14:06:49 +00:00
Roland Westrelin
85628a871d 8282592: C2: assert(false) failed: graph should be schedulable
Reviewed-by: chagedorn, thartmann
2022-03-22 10:34:33 +00:00
Jie Fu
b96cb048f1 8283353: compiler/c2/cr6865031/Test.java and compiler/runtime/Test6826736.java fails on x86_32
Reviewed-by: chagedorn
2022-03-18 07:58:58 +00:00
Roland Westrelin
ea9eeea8ff 8281322: C2: always construct strip mined loop initially (even if strip mining is disabled)
Reviewed-by: chagedorn, thartmann
2022-03-14 13:59:13 +00:00
Ahmed Muhsin
5f3d4032f3 8272735: Add missing SubL node transformations
Reviewed-by: thartmann, chagedorn
2022-03-14 09:05:53 +00:00
Roland Westrelin
ef266d77b6 8278296: Generalize long range check transformation
Reviewed-by: jrose, thartmann
2022-03-07 16:26:19 +00:00
Roland Westrelin
2c5d266f9f 8282045: When loop strip mining fails, safepoints are removed from loop anyway
Reviewed-by: thartmann, chagedorn
2022-03-01 14:43:05 +00:00
John Tortugo
efd3967b54 8267265: Use new IR Test Framework to create tests for C2 Ideal transformations
Reviewed-by: chagedorn
2022-02-28 10:01:24 +00:00
Roland Westrelin
69e390a0e8 8262721: Add Tests to verify single iteration loops are properly optimized
Reviewed-by: neliasso, chagedorn, kvn
2022-02-09 10:18:27 +00:00
Roland Westrelin
19f877981e 8278784: C2: Refactor PhaseIdealLoop::remix_address_expressions() so it operates on longs
Reviewed-by: chagedorn, thartmann
2022-01-21 07:32:08 +00:00
Vladimir Ivanov
3f747368b9 8280123: C2: Infinite loop in CMoveINode::Ideal during IGVN
Reviewed-by: kvn, thartmann, chagedorn
2022-01-20 11:23:17 +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
Aleksey Shipilev
645b38d586 8280089: compiler/c2/irTests/TestIRAbs.java fails on some arches
Reviewed-by: jiefu, thartmann, chagedorn, fgao
2022-01-18 12:13:44 +00:00
Fei Gao
c6196662b8 8276673: Optimize abs operations in C2 compiler
Reviewed-by: thartmann, jiefu
2022-01-17 02:16:45 +00:00
Roland Westrelin
8d1a1e83f4 8278228: C2: Improve identical back-to-back if elimination
Reviewed-by: chagedorn, kvn
2022-01-10 07:52:18 +00:00
Jie Fu
6a42fbaf9b 8279258: Auto-vectorization enhancement for two-dimensional array operations
Reviewed-by: neliasso, kvn
2022-01-07 00:04:51 +00:00
Zhiqiang Zang
f326305396 8278114: New addnode ideal optimization: converting "x + x" into "x << 1"
Reviewed-by: kvn, redestad
2022-01-05 00:38:59 +00:00
Jesper Wilhelmsson
a3b1c6b036 Merge 2021-12-23 21:17:50 +00:00
Aleksey Shipilev
9d5ae2e380 8279076: C2: Bad AD file when matching SqrtF with UseSSE=0
Reviewed-by: kvn, sviswanathan
2021-12-22 20:17:39 +00:00
Roland Westrelin
06206c7199 8278949: Cleanups for 8277850
Co-authored-by: John R Rose <jrose@openjdk.org>
Reviewed-by: kvn, jrose
2021-12-20 10:00:14 +00:00
Zhiqiang Zang
f6fbb5a80c 8278471: Remove unreached rules in AddNode::IdealIL
Reviewed-by: jiefu, kvn
2021-12-16 03:57:29 +00:00
Vladimir Kozlov
a1dfe57249 8276455: C2: iterative EA
Reviewed-by: iveresov, neliasso, roland
2021-12-14 19:24:13 +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