Commit Graph

339 Commits

Author SHA1 Message Date
Fei Gao
aa48705ddd 8289422: Fix and re-enable vector conditional move
Reviewed-by: thartmann, kvn
2022-09-27 01:24:17 +00:00
casparcwang
cb72f80925 8293978: Duplicate simple loop back-edge will crash the vm
Reviewed-by: roland, chagedorn
2022-09-21 06:24:19 +00:00
Christian Hagedorn
471e2f12b4 8292088: C2: assert(is_OuterStripMinedLoop()) failed: invalid node class: IfTrue
Reviewed-by: roland, kvn
2022-09-19 10:15:18 +00:00
Fei Gao
ec2629c052 8275275: AArch64: Fix performance regression after auto-vectorization on NEON
Reviewed-by: aph, xgong
2022-09-13 03:13:38 +00:00
Evgeny Astigeevich
6ff4775b71 8285487: AArch64: Do not generate unneeded trampolines for runtime calls
Reviewed-by: xliu, aph
2022-09-07 14:39:48 +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
Pengfei Li
a88a9e344f 8291466: C2: assert(false) failed: infinite loop in PhaseIterGVN::transform_old with -XX:+StressIGVN
Reviewed-by: roland, chagedorn
2022-08-29 13:06:20 +00:00
Bhavana Kilambi
07c797720d 8290249: Vectorize signum on AArch64
Reviewed-by: aph, ngasson
2022-08-22 09:01:08 +00:00
Christian Hagedorn
32d675ca60 8291775: C2: assert(r != __null && r->is_Region()) failed: this phi must have a region
Reviewed-by: thartmann, kvn
2022-08-18 07:35:14 +00:00
Bhavana Kilambi
6b2184e8d1 8290248: Implement MaxINode::Ideal transformation
Reviewed-by: kvn, thartmann
2022-08-05 01:51:34 +00:00
Jatin Bhateja
5d82d67a9e 8290034: Auto vectorize reverse bit operations.
Reviewed-by: xgong, kvn
2022-07-28 04:43:01 +00:00
Aleksey Shipilev
dc74ea21f1 8291048: x86: compiler/c2/irTests/TestAutoVectorization2DArray.java fails with lower SSE
Reviewed-by: kvn, jiefu
2022-07-27 16:58:49 +00:00
Jie Fu
4a4d8ed83b 8289801: [IR Framework] Add flags to whitelist which can be used to simulate a specific machine setup like UseAVX
Reviewed-by: kvn, xgong, thartmann
2022-07-18 22:49:17 +00:00
Jesper Wilhelmsson
3ad3950560 Merge 2022-07-14 16:29:51 +00:00
Jatin Bhateja
fd89ab8dac 8288112: C2: Error: ShouldNotReachHere() in Type::typerr()
Reviewed-by: dlong, kvn
2022-07-14 01:46:11 +00:00
Coleen Phillimore
e7795851d2 8271707: migrate tests to use jdk.test.whitebox.WhiteBox
Reviewed-by: lmesnik, dholmes
2022-07-08 15:55:14 +00:00
Roland Westrelin
cbaf6e807e 8288022: c2: Transform (CastLL (AddL into (AddL (CastLL when possible
Reviewed-by: thartmann, kvn
2022-07-06 11:36:12 +00:00
Jesper Wilhelmsson
70f5693356 Merge 2022-07-02 18:07:36 +00:00
Tobias Hartmann
95497772e7 8284358: Unreachable loop is not removed from C2 IR, leading to a broken graph
Co-authored-by: Christian Hagedorn <chagedorn@openjdk.org>
Reviewed-by: kvn, chagedorn
2022-07-01 05:23:57 +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
Jesper Wilhelmsson
86dc760f9e Merge 2022-06-28 22:11:23 +00:00
Christian Hagedorn
784a0f0496 8288683: C2: And node gets wrong type due to not adding it back to the worklist in CCP
Reviewed-by: roland, thartmann
2022-06-27 11:32:13 +00:00
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
Roland Westrelin
b3faecf739 8276116: C2: optimize long range checks in int counted loops
Reviewed-by: kvn
2021-12-08 21:33:33 +00:00
Roland Westrelin
8af3b27ce9 8277850: C2: optimize mask checks in counted loops
Reviewed-by: kvn, thartmann
2021-12-08 16:39:24 +00:00
MeryKitty
f3eb5014aa 8276162: Optimise unsigned comparison pattern
Reviewed-by: thartmann, kvn
2021-11-16 14:09:53 +00:00
Christian Hagedorn
54481394a3 8271056: C2: "assert(no_dead_loop) failed: dead loop detected" due to cmoving identity
Reviewed-by: kvn, thartmann
2021-11-08 12:47:58 +00:00
Nick Gasson
3934fe54b4 8275847: Scheduling fails with "too many D-U pinch points" on small method
Reviewed-by: thartmann, kvn
2021-11-08 06:40:49 +00:00
sunguoyun
87b926ebb7 8275086: compiler/c2/irTests/TestPostParseCallDevirtualization.java fails when compiler1 is disabled
Reviewed-by: iveresov
2021-11-03 05:51:18 +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
Christian Hagedorn
3953e0774c 8271459: C2: Missing NegativeArraySizeException when creating StringBuilder with negative capacity
Reviewed-by: roland, thartmann, neliasso
2021-10-05 07:02:06 +00:00
Tobias Holenstein
653a612a5a 8270156: Add "randomness" and "stress" keys to JTreg tests which use StressGCM, StressLCM and/or StressIGVN
Reviewed-by: thartmann, chagedorn
2021-09-23 12:59:22 +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
Tobias Hartmann
c81690d716 8273498: compiler/c2/Test7179138_1.java timed out
Reviewed-by: roland
2021-09-09 13:54:47 +00:00
Tobias Hartmann
4866eaa997 8273409: Receiver type narrowed by CCP does not always trigger post-parse call devirtualization
Reviewed-by: vlivanov, neliasso
2021-09-09 13:44:05 +00:00
Roland Westrelin
99fb12c798 8271341: Opcode() != Op_If && Opcode() != Op_RangeCheck) || outcnt() == 2 assert failure with Test7179138_1.java
Reviewed-by: kvn, thartmann
2021-09-07 15:13:12 +00:00
Yi Yang
3f38a50c52 8271203: C2: assert(iff->Opcode() == Op_If || iff->Opcode() == Op_CountedLoopEnd || iff->Opcode() == Op_RangeCheck) failed: Check this code when new subtype is added
Reviewed-by: chagedorn, roland, thartmann
2021-08-16 02:30:57 +00:00
Jatin Bhateja
392fcc9df7 8271589: fatal error with variable shift count integer rotate operation.
Reviewed-by: kvn, sviswanathan
2021-08-04 17:49:17 +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
6afcf5f5a2 8270886: Crash in PhaseIdealLoop::verify_strip_mined_scheduling
Reviewed-by: kvn, thartmann
2021-07-29 07:34:20 +00:00
Jesper Wilhelmsson
1eeb1791ab Merge
Reviewed-by: jvernee
2021-07-21 00:24:17 +00:00
Yi Yang
0cec11d3eb 8270307: C2: assert(false) failed: bad AD file after JDK-8267687
Co-authored-by: Kuai Wei <kuaiwei.kw@alibaba-inc.com>
Reviewed-by: kvn, thartmann
2021-07-20 06:10:58 +00:00
Jesper Wilhelmsson
7a4f08ae32 Merge 2021-07-06 23:00:31 +00:00
Roland Westrelin
6d8fc7249a 8268883: C2: assert(false) failed: unscheduable graph
Reviewed-by: chagedorn, kvn, yyang
2021-07-06 06:47:45 +00:00
Christoph Göttschkes
561a3a5077 8269129: Multiple tier1 tests in hotspot/jtreg/compiler are failing for client VMs
Reviewed-by: kvn, iveresov
2021-06-27 13:12:51 +00:00
Patricio Chilano Mateo
2fd7943ec1 8256425: Obsolete Biased Locking in JDK 18
Reviewed-by: kvn, dholmes, dcubed, rrich
2021-06-24 18:54:41 +00:00
Vladimir Ivanov
9130b8a9d7 8268371: C2: assert(_gvn.type(obj)->higher_equal(tjp)) failed: cast_up is no longer needed
Reviewed-by: roland, kvn
2021-06-17 21:25:46 +00:00
Hui Shi
3e48244084 8268301: Closed test: compiler/c2/6371167/Test.java fails after JDK-8267904
Reviewed-by: kvn, dlong
2021-06-07 06:26:47 +00:00
Hui Shi
b05fa02e74 8267904: C2 crash when compile negative Arrays.copyOf length after loop
Reviewed-by: roland, kvn
2021-06-07 01:34:22 +00:00
Tobias Hartmann
c2b50f93ac 8266480: Implicit null check optimization does not update control of hoisted memory operation
Reviewed-by: neliasso, kvn
2021-05-19 07:27:30 +00:00
Igor Ignatyev
f75dd80254 8266230: mark hotspot compiler/c2 tests which ignore VM flags
Reviewed-by: kvn
2021-04-28 20:47:57 +00:00
Vladimir Kozlov
f84b52b84d 8263897: compiler/c2/aarch64/TestVolatilesSerial.java failed with "java.lang.RuntimeException: Wrong method"
Reviewed-by: roland
2021-03-22 17:03:12 +00:00
Igor Ignatyev
a7aba2b61c 8263549: 8263412 can cause jtreg testlibrary split
Reviewed-by: iklam, dcubed
2021-03-13 14:51:53 +00:00
Rahul Raghavan
4b5be40ab9 8238812: assert(false) failed: bad AD file
Reviewed-by: thartmann, chagedorn, roland
2021-03-10 15:59:38 +00:00
Jesper Wilhelmsson
d7acfae3d2 Merge 2021-02-06 00:29:45 +00:00
Dong Bo
5307afa9e7 8260585: AArch64: Wrong code generated for shifting right and accumulating four unsigned short integers
Reviewed-by: iveresov, dlong, njian, aph
2021-02-03 21:40:33 +00:00
Mikael Vidstedt
64644a1072 8253881: Hotspot/Serviceability Terminology Refresh
Reviewed-by: kbarrett, tschatzl, dholmes, lfoltan, dcubed
2020-12-19 02:47:28 +00:00
Nils Eliasson
cb5a6b1a7d 8258225: compiler/c2/cr6340864/TestIntVect.java runs faster in interpreter
Reviewed-by: vlivanov, thartmann, kvn
2020-12-17 17:50:53 +00:00
Christian Hagedorn
4a85514963 8257182: JCK test failures in integer / long rotation tests
Reviewed-by: mdoerr, vlivanov, thartmann, kvn
2020-12-04 08:10:31 +00:00
Tobias Hartmann
f504f419d3 8256385: C2: fatal error: modified node is not on IGVN._worklist
Reviewed-by: chagedorn, roland
2020-11-18 11:53:25 +00:00
Dong Bo
b0b9dd27b8 8256318: AArch64: Add support for floating-point absolute difference
Reviewed-by: aph
2020-11-18 10:14:20 +00:00
Fei Yang
5ec1b80c4a 8255287: aarch64: fix SVE patterns for vector shift count
Co-authored-by: Yanhong Zhu <zhuyanhong2@huawei.com>
Reviewed-by: adinn
2020-10-23 13:16:37 +00:00
Ningsheng Jian
ac1748e786 8254670: SVE test uses linux-specific api
Reviewed-by: adinn, vkempik
2020-10-23 10:06:40 +00:00
Vladimir Ivanov
e52156d730 8255067: Restore Copyright line in file modified by 8253191
Reviewed-by: kvn, shade
2020-10-23 08:33:14 +00:00
Christian Hagedorn
54bbe76ed0 8251544: CTW: C2 fails with assert(no_dead_loop) failed: dead loop detected
Reviewed-by: kvn, roland
2020-10-12 08:18:13 +00:00
Vladimir Ivanov
6d13c766bf 8253191: C2: Masked byte comparisons with large masks produce wrong result on x86
Reviewed-by: thartmann
2020-10-08 12:41:46 +00:00
Xin Liu
ea5a2b15a0 8251464: make Node::dump(int depth) support indent
Reviewed-by: thartmann
2020-10-02 13:45:29 +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
Igor Ignatyev
5b30a83133 8252778: remove jdk.test.lib.FileInstaller action from compiler/c2/stemmer test
Reviewed-by: shade, epavlova
2020-09-10 13:23:01 +00:00
Aleksey Shipilev
91a20ca7e5 8252695: Shenandoah: clean up Graal enabled/disabled filter in tests
Reviewed-by: zgu
2020-09-08 17:42:38 +00:00
Filipp Zhinkin
70d5cac961 8251152: ARM32: jtreg c2 Test8202414 test crash
Some CPUs (like ARM32) does not support unaligned memory accesses. To avoid JVM crashes tests that perform such accesses should be skipped on corresponding platforms.

Reviewed-by: iignatyev, clanger
2020-09-07 15:33:27 +00:00
Ningsheng Jian
9b5a9b6189 8231441: AArch64: Initial SVE backend support
Co-authored-by: Joshua Zhu <joshua.zhu@arm.com>
Co-authored-by: Yang Zhang <yang.zhang@arm.com>
Reviewed-by: adinn, pli, ihse, vlivanov, eosterlund
2020-09-02 09:45:44 +08: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
Boris Ulasevich
1066357887 8248445: Use of AbsI/AbsL nodes should be limited to supported platforms
Reviewed-by: kvn, vlivanov
2020-08-05 06:31:32 -04:00
Christian Hagedorn
696b9e1847 8249605: C2: assert(no_dead_loop) failed: dead loop detected
Fixed dead loop detection in PhiNode::Ideal() to additionally account for dead MergeMemNodes

Reviewed-by: kvn, thartmann
2020-08-03 09:21:45 +02:00
Huang Wang
eef2e1e3fc 8250609: C2 crash in IfNode::fold_compares
Reviewed-by: kvn, chagedorn
2020-07-28 10:38:04 +08:00
Christian Hagedorn
18cf3d8080 8247743: Segmentation fault in debug builds due to stack overflow in find_recur with deep graphs
Replace the recursive algorithm of Node::find() by an iterative one to avoid a stack overflow crash with deep graphs.

Reviewed-by: kvn, thartmann
2020-07-22 10:31:37 +02:00
Mikael Vidstedt
ec074011a4 Merge 2020-07-19 21:34:28 -07:00
Igor Ignatyev
4a4003e900 8249678: @ignore should be used instead of ProblemList for 8158860, 8163894, 8193479, 8194310
Reviewed-by: kvn
2020-07-17 11:54:14 -07:00
Boris Ulasevich
584e983c38 8248568: compiler/c2/TestBit.java failed: test missing from stdout/stderr
Reviewed-by: kvn
2020-07-07 06:20:03 -04:00
Jesper Wilhelmsson
e58423796e Merge 2020-07-07 03:12:11 +02:00
Boris Ulasevich
6d137a3616 8248043: Need to eliminate excessive i2l conversions
Reviewed-by: redestad, kvn, iveresov
2020-07-06 04:44:25 -04:00
Yong Zhou
79ad5512cf 8243670: Unexpected test result caused by C2 MergeMemNode::Ideal
Reviewed-by: thartmann, roland
2020-07-04 08:18:17 +08:00
Christian Hagedorn
13b7c2e131 8244724: CTW: C2 compilation fails with "Live Node limit exceeded limit"
Fix live limit assert in node construction to be ignored during code generation in Compile::Code_Gen().

Reviewed-by: kvn, neliasso
2020-07-01 09:18:28 +02:00
Boris Ulasevich
48c0ce3b4b 8247408: IdealGraph bit check expression canonicalization
Reviewed-by: aph, kvn, adinn
2020-06-29 07:26:10 -04:00
Christian Hagedorn
83a8c4acc7 8244724: CTW: C2 compilation fails with "Live Node limit exceeded limit"
Fix live limit assert in node construction to be ignored during code generation in Compile::Code_Gen().

Reviewed-by: kvn, neliasso
2020-07-01 09:18:28 +02:00
Igor Ignatyev
dc91b06661 8244614: cleanup keywords used/available in hotspot testbase
Reviewed-by: coleenp, mseledtsov
2020-06-08 21:27:22 -07:00
Tobias Hartmann
76ac621394 8245801: StressRecompilation triggers assert "redundunt OSR recompilation detected. memory leak in CodeCache!"
Assert is too strong.

Reviewed-by: roland
2020-05-27 13:26:23 +02:00
Xiaohong Gong
bc669dfc82 8243339: AArch64: Obsolete UseBarriersForVolatile option
Reviewed-by: adinn, aph, drwhite
2020-05-27 15:17:09 +08:00
Mikael Vidstedt
071bd521bc 8244224: Implementation of JEP 381: Remove the Solaris and SPARC Ports
Reviewed-by: alanb, bchristi, dcubed, dfuchs, eosterlund, erikj, glaubitz, ihse, iignatyev, jjiang, kbarrett, ksrini, kvn, naoto, prr, rriggs, serb, sspitsyn, stefank, tschatzl, valeriep, weijun, weijun
2020-05-20 17:33:37 -07:00
Martin Doerr
76b76654d2 8235673: [C1, C2] Split inlining control flags
Reviewed-by: neliasso, kvn, thartmann
2020-05-18 10:57:16 +02:00
Eric Liu
babaab2edb 8242429: Better implementation for sign extract
Reviewed-by: vlivanov, thartmann
2020-05-12 10:19:01 +08:00
Yang Zhang
e93cd7ed3c 8243155: AArch64: Add support for SqrtVF
Reviewed-by: aph
2020-04-29 09:58:09 +08:00
Igor Ignatyev
70e632d5ec 8243935: remove copying of s.h.WB$WhiteBoxPermission in hotspot tests
Reviewed-by: dholmes, stefank
2020-04-28 19:57:02 -07:00
Zhengyu Gu
50bca089c4 8243008: Shenandoah: TestVolatilesShenandoah test failed on aarch64
Reviewed-by: shade
2020-04-16 15:57:27 -04:00
Igor Ignatyev
7c351405c4 8242310: use reproducible random in hotspot compiler tests
Reviewed-by: kvn, thartmann
2020-04-08 22:58:42 -07:00
Roman Kennke
c4d01f8c8b 8242054: Shenandoah: New incremental-update mode
Reviewed-by: shade
2020-04-06 17:08:46 +02:00
Roman Kennke
553ea1e891 8242082: Shenandoah: Purge Traversal mode
Reviewed-by: shade
2020-04-03 15:06:08 +02:00
Christian Hagedorn
2ac2d590c2 8238811: C2: assert(i >= req() || i == 0 || is_Region() || is_Phi()) with -XX:+VerifyGraphEdges
Fix -XX:+VerifyGraphEdges by additionally handling ArrayCopyNodes and UnlockNodes and add some basic flag testing.

Reviewed-by: roland, neliasso
2020-02-13 15:08:08 +01:00
Christian Hagedorn
3ea92e735b 8238756: C2: assert(((n) == __null || !VerifyIterativeGVN || !((n)->is_dead()))) failed: can not use dead node
Fix -XX:+VerifyIterativeGVN due to a dead node and add some basic flag testing.

Reviewed-by: roland, neliasso
2020-02-13 15:07:45 +01:00
Mikael Vidstedt
3318314c7c 8237589: Fix copyright header formatting
Reviewed-by: jjg, serb, iris, jwilhelm
2020-01-21 14:23:01 -08:00
Jie Fu
6d03f918cf 8237055: [TESTBUG] compiler/c2/TestJumpTable.java fails with release VMs
Reviewed-by: thartmann
2020-01-14 18:07:45 +08:00
Tobias Hartmann
ea152dcd9b 8229855: C2 fails with assert(false) failed: bad AD file
Strengthen the check to ensure that both control and data paths die consistently.

Reviewed-by: vlivanov, roland
2020-01-13 13:37:01 +01:00
Andrew Dinn
7b02e24b65 8232828: AArch64: compiler/c2/aarch64/TestVolatilesG1.java fails after JDK-8225776
Reviewed-by: aph
2019-11-29 15:37:13 +00:00
Igor Ignatyev
4e0ac78eed 8234290: compiler/c2/Test6857159.java times out and fail to clean up files
Reviewed-by: thartmann
2019-11-21 14:15:31 -08:00
Igor Ignatyev
733bb68c11 8214904: Test8004741.java failed due to "Too few ThreadDeath hits; expected at least 6 but saw only 5"
Reviewed-by: kvn, epavlova
2019-11-15 14:22:24 -08:00
Leo Korinth
1fc67ab002 8232365: Implementation for JEP 363: Remove the Concurrent Mark Sweep (CMS) Garbage Collector
Reviewed-by: kbarrett, tschatzl, erikj, coleenp, dholmes
2019-11-13 11:37:29 +01:00
Bernard Blaser
b8b88853a5 8214239: Missing x86_64.ad patterns for clearing and setting long vector bits
Reviewed-by: kvn, vlivanov, jrose, sviswanathan
2019-11-13 11:21:15 +01:00
Tobias Hartmann
7b38a7e87d 8232883: compiler/c2/CmpPNodeSubTest.java fails because test class name is wrong
Renamed test file to match class name.

Reviewed-by: roland
2019-10-23 13:52:33 +02:00
Christian Hagedorn
3cc9ed08e7 8232873: Add missing test for 8220416
Adds a missing test which verifies the bug fix of 8220416.

Reviewed-by: roland, thartmann
2019-10-23 12:15:42 +02:00
Jatin Bhateja
d3ca3a02ff 8226721: Missing intrinsics for Math.ceil, floor, rint
Reviewed-by: neliasso, vlivanov, ecaspole
2019-10-01 11:43:10 +02:00
Roland Westrelin
ec5451c117 8229701: aarch64: C2 OSR compilation fails with "shouldn't process one node several times" in final graph reshaping
Reviewed-by: thartmann, kvn
2019-08-23 14:22:29 +02:00
Roman Kennke
d4afa4e1c8 8226757: Shenandoah: Make traversal and passive modes explicit
Reviewed-by: shade
2019-07-04 14:28:31 +02:00
Rahul Raghavan
2f25526470 8225567: Wrong file headers with 8202414 fix changeset
Corrected source file headers

Reviewed-by: thartmann
2019-06-11 14:33:34 +05:30
Sandhya Viswanathan
707c30fae6 8222074: Enhance auto vectorization for x86
Reviewed-by: kvn, vlivanov
2019-05-07 13:33:27 -07:00
Rahul Raghavan
fee481d5a2 8202414: Unsafe write after primitive array creation may result in array length change
Avoided collecting unaligned stores in Initialize node by making can_capture_store return false for same

Reviewed-by: dlong, kvn, vlivanov
2019-05-01 22:02:48 +05:30
Tobias Hartmann
048c3dc026 8219807: C2 crash in IfNode::up_one_dom(Node*, bool)
Guard against regions degraded to copies.

Reviewed-by: kvn
2019-04-30 14:49:19 +02:00
Aleksey Shipilev
7ce7e1b3d7 8218715: [TESTBUG] TestUseOptoBiasInliningWithoutEliminateLocks needs to unlock WhiteBoxAPI
Reviewed-by: kvn
2019-02-09 19:39:28 +01:00
Roland Westrelin
f88962f2d9 8217990: C2 UseOptoBiasInlining: load of markword optimized to 0 if running with -XX:-EliminateLocks
Reviewed-by: thartmann, mdoerr, rrich, kvn
2019-02-07 09:55:57 +01:00
Tao Ji
3626d59867 8217359: C2 compiler triggers SIGSEGV after transformation in ConvI2LNode::Ideal
Reviewed-by: thartmann
2019-01-21 13:31:42 +08:00
Vladimir Ivanov
50e3aa4150 8202952: C2: Unexpected dead nodes after matching
Reviewed-by: kvn
2019-01-22 18:14:14 -08:00
Yang Zhang
dd6344fc76 8213134: AArch64: vector shift failed with MaxVectorSize=8
Add vshiftcnt instructions for vector64 and add vsra/vsrl instructions to AArch64 backend. To detect shift failures, MaxVectorSize options are added to jtreg test cases.

Reviewed-by: aph, kvn
2018-11-28 16:22:03 +08:00
Roman Kennke
8b62a2ee9d 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
Co-authored-by: Christine Flood <chf@redhat.com>
Co-authored-by: Aleksey Shipilev <shade@redhat.com>
Co-authored-by: Roland Westrelin <rwestrel@redhat.com>
Co-authored-by: Zhenygu Gu <zgu@redhat.com>
Co-authored-by: Andrew Haley <aph@redhat.com>
Co-authored-by: Andrew Dinn <adinn@redhat.com>
Co-authored-by: Mario Torre <mtorre@redhat.com>
Reviewed-by: kvn, roland, shade, coleenp, lmesnik, pliden, jgeorge, ihse, erikj
2018-12-10 15:47:44 +01:00
Bernard Blaser
1117fcb339 8213479: Missing x86_64.ad patterns for 8-bit logical operators with destination in memory
Reviewed-by: kvn
2018-11-08 15:11:32 +01:00
Roland Westrelin
b5d2e875f6 8209835: Aarch64: elide barriers on all volatile operations
Reviewed-by: aph, adinn
2018-11-05 12:53:55 +01:00
Mandy Chung
5e6d6b8642 8207146: Rename jdk.internal.misc.Unsafe::xxxObject to xxxReference
Reviewed-by: dholmes, thartmann
2018-10-22 17:00:04 -07:00
Tobias Hartmann
8e0e188abd 8210387: C2 compilation fails with "assert(node->_last_del == _last) failed: must have deleted the edge just produced"
Refresh iterator and start from the beginning while there is progress when removing dead regions.

Reviewed-by: kvn
2018-09-12 09:23:36 +02:00
Roland Westrelin
423c207dc7 8209639: assert failure in coalesce.cpp: attempted to spill a non-spillable item
Reviewed-by: neliasso, kvn
2018-08-17 17:13:12 +02:00
Ekaterina Pavlova
080d3bb21a 8194958: [Graal] disable compiler/c2/cr7200264 tests
Reviewed-by: kvn, tschatzl
2018-08-06 13:53:49 -07:00
Aleksei Voitylov
2d0aee2275 8207065: Cleanup compiler tests for Client VM
Reviewed-by: kvn, iignatyev
2018-07-13 11:13:34 -07:00
Andrew Dinn
d5c20788ae 8206163: AArch64: incorrect code generation for StoreCM
StoreCM may require planting a StoreStore barrier

Reviewed-by: aph, zyao, roland
2018-07-09 09:38:11 +01:00
Andrew Dinn
c61ba730c1 8205694: AArch64: Add test to validate volatile load, store and CAS code generation
Implement tests to check volatile operations are translated to valid code

Reviewed-by: aph, kvn, dpochepk
2018-06-28 10:09:58 +00:00
Igor Ignatyev
0c8ab995b9 8185927: create regression test for 8062950
Reviewed-by: kvn
2018-06-21 15:14:36 -07:00
Aleksey Shipilev
bb1c912d9e 8204479: Bitwise AND on byte value sometimes produces wrong result
Reviewed-by: kvn, thartmann
2018-06-08 11:41:43 +02:00
Stefan Karlsson
ad35b3d424 8204168: Increase small heap sizes in tests to accommodate ZGC
Reviewed-by: pliden, ehelin
2018-06-05 15:56:21 +02:00
Nils Eliasson
ac9f93a147 8192992: Test8007294.java failed: attempted to spill a non-spillable item
Fix bugs in schedule_late that forces load to early

Reviewed-by: kvn, thartmann
2018-03-21 16:03:12 +01:00
Vladimir Kozlov
6b886727ca 8199212: [TESTBUG] don't run compiler/aot tests with -Xcomp
8199489: [TESTBUG] don't run CTW tests with -Xcomp

Reviewed-by: iignatyev, iveresov
2018-03-22 16:39:02 -07:00
Tobias Hartmann
55233a42f3 8199777: Deprecate -XX:+AggressiveOpts
Deprecate -XX:+AggressiveOpts and remove it from testing.

Reviewed-by: kvn, dholmes, shade
2018-03-22 08:39:51 +01:00
Ekaterina Pavlova
853f26ed15 8185134: [Graal] Introduce vm.graal predicate and tag tests which are not applicable for Graal
Reviewed-by: kvn, dnsimon
2017-10-02 14:31:34 -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