Commit Graph

145 Commits

Author SHA1 Message Date
Roland Westrelin
be64d3ac3c 8310299: C2: 8275201 broke constant folding of array store check in some cases
Reviewed-by: thartmann, kvn
2023-06-29 07:41:04 +00:00
Eric Nothum
b2eae16c45 8295191: IR framework timeout options expect ms instead of s
Reviewed-by: chagedorn, kvn, thartmann
2023-06-29 06:59:12 +00:00
Eric Nothum
31dcda5d67 8295210: IR framework should not whitelist -XX:-UseTLAB
Reviewed-by: thartmann, chagedorn
2023-06-23 07:25:34 +00:00
Quan Anh Mai
947f14977a 8308444: LoadStoreNode::result_not_used() is too conservative
Reviewed-by: kvn, thartmann
2023-06-15 16:00:18 +00:00
Vladimir Kozlov
0038491abd 8309978: [x64] Fix useless padding
Reviewed-by: chagedorn, thartmann, shade
2023-06-15 15:32:45 +00:00
Christian Hagedorn
4bc6bbb23f 8309814: [IR Framework] Dump socket output string in which IR encoding was not found
Reviewed-by: rcastanedalo
2023-06-12 10:46:36 +00:00
Eric Nothum
0a697e73d5 8307620: [IR Framework] Readme mentions JTREG_WHITE_LIST_FLAGS instead of JTREG_WHITELIST_FLAGS
Reviewed-by: rcastanedalo, chagedorn
2023-06-09 06:09:56 +00:00
Eric Nothum
92beb85510 8309474: [IR Framework] Wrong @ForceCompile link in README
Reviewed-by: chagedorn, thartmann
2023-06-07 20:16:51 +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
changpeng1997
f600d0369a 8307795: AArch64: Optimize VectorMask.truecount() on Neon
Reviewed-by: aph, eliu
2023-05-30 12:45:33 +00:00
Emanuel Peter
beb75e651f 8306302: C2 Superword fix: use VectorMaskCmp and VectorBlend instead of CMoveVF/D
Reviewed-by: fgao, jbhateja
2023-05-24 07:00:27 +00:00
Stefan Karlsson
d20034b09c 8307058: Implementation of Generational ZGC
Co-authored-by: Stefan Karlsson <stefank@openjdk.org>
Co-authored-by: Erik Österlund <eosterlund@openjdk.org>
Co-authored-by: Axel Boldt-Christmas <aboldtch@openjdk.org>
Co-authored-by: Per Liden <pliden@openjdk.org>
Co-authored-by: Stefan Johansson <sjohanss@openjdk.org>
Co-authored-by: Albert Mingkun Yang <ayang@openjdk.org>
Co-authored-by: Erik Helin <ehelin@openjdk.org>
Co-authored-by: Roberto Castañeda Lozano <rcastanedalo@openjdk.org>
Co-authored-by: Nils Eliasson <neliasso@openjdk.org>
Co-authored-by: Martin Doerr <mdoerr@openjdk.org>
Co-authored-by: Leslie Zhai <lzhai@openjdk.org>
Co-authored-by: Fei Yang <fyang@openjdk.org>
Co-authored-by: Yadong Wang <yadongwang@openjdk.org>
Reviewed-by: eosterlund, aboldtch, rcastanedalo
2023-05-11 13:59:37 +00:00
changpeng1997
0dca573ca5 8301739: AArch64: Add optimized rules for vector compare with immediate for SVE
Reviewed-by: aph, eliu
2023-05-06 07:20:20 +00:00
Roberto Castañeda Lozano
1be80a4445 8287087: C2: perform SLP reduction analysis on-demand
Reviewed-by: epeter, jbhateja, thartmann
2023-04-27 09:39:53 +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
Emanuel Peter
83a924a100 8304042: C2 SuperWord: schedule must remove packs with cyclic dependencies
Reviewed-by: kvn, thartmann
2023-04-05 04:52:11 +00:00
Bhavana Kilambi
de1c12ed63 8301012: [vectorapi]: Intrinsify CompressBitsV/ExpandBitsV and add the AArch64 SVE backend implementation
Co-authored-by: Xiaohong Gong <xgong@openjdk.org>
Co-authored-by: Jatin Bhateja <jbhateja@openjdk.org>
Reviewed-by: ngasson, eliu, thartmann
2023-03-27 08:50:05 +00:00
Emanuel Peter
01e6920581 8298935: fix independence bug in create_pack logic in SuperWord::find_adjacent_refs
Reviewed-by: kvn, jbhateja
2023-03-15 14:02:45 +00:00
Daniel Skantz
d20bde29f2 8294715: Add IR checks to the reduction vectorization tests
Reviewed-by: rcastanedalo, epeter
2023-03-13 07:33:46 +00:00
Pavel Rappo
45a616a891 8303480: Miscellaneous fixes to mostly invisible doc comments
Reviewed-by: mullan, prr, cjplummer, aivanov, jjg, lancea, rriggs, ihse
2023-03-07 15:31:42 +00:00
changpeng1997
d23a8bfb14 8297753: AArch64: Add optimized rules for vector compare with zero on NEON
Reviewed-by: aph
2023-03-03 12:11:10 +00:00
Jie Fu
4a415ad584 8303351: [IR Framework] Add missing cpu feature avx512bw after JDK-8302681
Reviewed-by: epeter, thartmann
2023-02-28 14:44:38 +00:00
Emanuel Peter
1794f49751 8302681: [IR Framework] Only allow cpuFeatures from a verified list
Reviewed-by: thartmann, pli, chagedorn, kvn
2023-02-27 07:12:18 +00:00
Emanuel Peter
5c0f50bc01 8295979: [IR Framework] Improve IR matching warning
Reviewed-by: thartmann, kvn
2023-02-20 08:40:11 +00:00
Tobias Hartmann
d1c87a03ad 8302203: IR framework should detect non-compilable test methods early
Reviewed-by: chagedorn, kvn
2023-02-13 06:23:24 +00:00
Christian Hagedorn
59b7fb1a91 8300273: [IR framework] Handle <!-- safepoint while printing --> message instead of bailing out
Reviewed-by: thartmann, kvn
2023-02-02 14:39:28 +00:00
Pengfei Li
715b509f3d 8298632: [TESTBUG] Add IR checks in jtreg vectorization tests
Reviewed-by: kvn, jbhateja
2023-01-19 01:05:58 +00:00
Jesper Wilhelmsson
5393dc9a48 Merge 2023-01-07 02:05:59 +00:00
Bhavana Kilambi
136f5db03d 8299528: IR test: TestEor3AArch64.java fails on aarch64
Reviewed-by: thartmann, chagedorn
2023-01-06 10:04:04 +00:00
Gui Cao
33d955ad6e 8298345: Fix another two C2 IR matching tests for RISC-V
Reviewed-by: fyang, dzhang, fjiang
2022-12-09 12:43:47 +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
Smita Kamath
073897c88b 8294588: Auto vectorize half precision floating point conversion APIs
Reviewed-by: sviswanathan, kvn, jbhateja, fgao, xgong
2022-12-08 09:46:59 +00:00
Fei Gao
4458de95f8 8297172: Fix some issues of auto-vectorization of Long.bitCount/numberOfTrailingZeros/numberOfLeadingZeros()
Reviewed-by: kvn, thartmann
2022-12-06 09:35:27 +00:00
Feilong Jiang
227364d592 8297953: Fix several C2 IR matching tests for RISC-V
Reviewed-by: fyang, chagedorn
2022-12-02 12:48:42 +00:00
Zhiqiang Zang
fd910f77bc 8297384: Add IR tests for existing idealizations of arithmetic nodes
Reviewed-by: chagedorn
2022-11-25 08:17:44 +00:00
Christian Hagedorn
34d10f19f5 8296243: [IR Framework] Fix issues with IRNode.ALLOC* regexes
Reviewed-by: mdoerr, thartmann
2022-11-14 08:28:41 +00:00
Christian Hagedorn
f829b5a73f 8280378: [IR Framework] Support IR matching for different compile phases
Reviewed-by: kvn, rcastanedalo
2022-11-01 15:41:09 +00:00
Magnus Ihse Bursie
d5a1521fde 8295470: Update openjdk.java.net => openjdk.org URLs in test code
Reviewed-by: michaelm, prr, darcy
2022-10-20 10:33:18 +00:00
Xiaohong Gong
ab8c1361bc 8292898: [vectorapi] Unify vector mask cast operation
Co-authored-by: Quan Anh Mai <qamai@openjdk.org>
Reviewed-by: jbhateja, eliu
2022-10-12 01:39:57 +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
Roberto Castañeda Lozano
5fe837a35e 8294236: [IR Framework] CPU preconditions are overriden by regular preconditions
Reviewed-by: chagedorn, pli, kvn
2022-10-03 07:40:53 +00:00
Fei Gao
aa48705ddd 8289422: Fix and re-enable vector conditional move
Reviewed-by: thartmann, kvn
2022-09-27 01:24:17 +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
Roland Westrelin
77e21c57ce 8290529: C2: assert(BoolTest(btest).is_canonical()) failure
Reviewed-by: kvn, thartmann
2022-09-02 13:35:11 +00:00
Christian Hagedorn
e89abb7d2d 8292190: [IR Framework] Remove redundant regex matching for failing counts constraints
Reviewed-by: kvn, rcastanedalo, thartmann
2022-08-15 06:08:08 +00:00
Bhavana Kilambi
6b2184e8d1 8290248: Implement MaxINode::Ideal transformation
Reviewed-by: kvn, thartmann
2022-08-05 01:51:34 +00:00
Hao Sun
16a127524c 8290943: Fix several IR test issues on SVE after JDK-8289801
Reviewed-by: jiefu, adinn
2022-07-27 23:42:11 +00:00
Xiaohong Gong
a6faf5d33a 8290485: [vector] REVERSE_BYTES for byte type should not emit any instructions
Reviewed-by: thartmann, kvn
2022-07-26 02:56:26 +00:00
Bhavana Kilambi
89458e36af 8288107: Auto-vectorization for integer min/max
Reviewed-by: kvn, ngasson
2022-07-20 15:36:39 +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
Jatin Bhateja
2342684f2c 8290066: Remove KNL specific handling for new CPU target check in IR annotation
Reviewed-by: kvn, sviswanathan
2022-07-16 01:18:30 +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
Xiaohong Gong
124c63c17c 8288294: [vector] Add Identity/Ideal transformations for vector logic operations
Reviewed-by: kvn, jbhateja
2022-07-01 01:19:18 +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
Swati Sharma
03dca565cf 8287525: Extend IR annotation with new options to test specific target feature.
Co-authored-by: Jatin Bhateja <jbhateja@openjdk.org>
Reviewed-by: chagedorn, kvn
2022-06-14 06:13:26 +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
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
Alexey Ivanov
e0d361cea9 8284191: Replace usages of 'a the' in hotspot and java.base
Reviewed-by: lancea, wetmore, naoto, iris, kevinw, xuelei
2022-05-24 11:25:13 +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
Quan Anh Mai
079312c835 8286182: [BACKOUT] x86: Handle integral division overflow during parsing
8287035: [BACKOUT] PPC64: Handle integral division overflow during parsing

Reviewed-by: mdoerr, thartmann
2022-05-19 19:12:28 +00:00
Christian Hagedorn
3984253800 8284115: [IR Framework] Compilation is not found due to rare safepoint while dumping PrintIdeal/PrintOptoAssembly
Reviewed-by: kvn, thartmann
2022-05-17 11:23:11 +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
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
Quan Anh Mai
b4a85cdae1 8284742: x86: Handle integral division overflow during parsing
Reviewed-by: kvn, mdoerr
2022-04-20 16:17:01 +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
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
Christian Hagedorn
2da677793f 8281122: [IR Framework] Cleanup IR matching code in preparation for JDK-8280378
Reviewed-by: thartmann, kvn
2022-03-03 07:17:56 +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
Quan Anh Mai
0af356bb4b 8278173: [vectorapi] Add x64 intrinsics for unsigned (zero extended) casts
Reviewed-by: psandoz, sviswanathan
2022-02-15 18:57:53 +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
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
bobpengxie
8b5de27ce1 8279485: Incorrect copyright year in compiler/lib/ir_framework/IRNode.java after JDK-8278114
Reviewed-by: haosun, jiefu
2022-01-05 02:22:26 +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
Zhiqiang Zang
f6fbb5a80c 8278471: Remove unreached rules in AddNode::IdealIL
Reviewed-by: jiefu, kvn
2021-12-16 03:57:29 +00:00
merykitty
ca8c58c731 8259610: VectorReshapeTests are not effective due to failing to intrinsify "VectorSupport.convert"
Reviewed-by: psandoz, chagedorn
2021-12-13 16:34:37 +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
Christian Hagedorn
7a140af253 8276546: [IR Framework] Whitelist and ignore CompileThreshold
Reviewed-by: kvn, neliasso
2021-11-11 08:03:01 +00:00
Christian Hagedorn
1da5e6b0e2 8275104: IR framework does not handle client VM builds correctly
Reviewed-by: kvn, thartmann
2021-10-25 07:25:19 +00:00
Christian Hagedorn
3b0ce23bcd 8274888: Dump "-DReproduce=true" to the test VM command line output
Reviewed-by: thartmann, kvn
2021-10-21 14:05:45 +00:00
Christian Hagedorn
f623460668 8274911: testlibrary_tests/ir_framework/tests/TestIRMatching.java fails with "java.lang.RuntimeException: Should have thrown exception"
Reviewed-by: kvn, thartmann
2021-10-12 13:21:35 +00:00
Christian Hagedorn
df125f680b 8273410: IR verification framework fails with "Should find method name in validIrRulesMap"
Reviewed-by: thartmann, neliasso
2021-10-06 08:21:18 +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
Christian Hagedorn
6f3e40c16d 8273825: TestIRMatching.java fails after JDK-8266550
Reviewed-by: thartmann, roland
2021-09-20 12:56:08 +00:00
Roland Westrelin
1d2458db34 8266550: C2: mirror TypeOopPtr/TypeInstPtr/TypeAryPtr with TypeKlassPtr/TypeInstKlassPtr/TypeAryKlassPtr
Reviewed-by: vlivanov, thartmann
2021-09-14 08:35:09 +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
Christian Hagedorn
79a06df811 8272567: [IR Framework] Make AbstractInfo.getRandom() static
Reviewed-by: thartmann
2021-08-18 06:39:22 +00:00
Tobias Hartmann
5189047d09 8272558: IR Test Framework README misses some flags
Reviewed-by: chagedorn
2021-08-18 04:47:58 +00:00
Christian Hagedorn
3677734584 8271471: [IR Framework] Rare occurrence of "<!-- safepoint while printing -->" in PrintIdeal/PrintOptoAssembly can let tests fail
Reviewed-by: kvn, thartmann
2021-08-16 14:51:11 +00:00
Christian Hagedorn
9856ace828 8268963: [IR Framework] Some default regexes matching on PrintOptoAssembly in IRNode.java do not work on all platforms
Reviewed-by: kvn, thartmann
2021-07-30 12:28:57 +00:00
Christian Hagedorn
36aefa351a 8270447: [IR Framework] Add missing compilation level restriction when using FlipC1C2 stress option
Reviewed-by: kvn, thartmann
2021-07-26 07:54:22 +00:00
Christian Hagedorn
3396b69fc9 8254129: IR Test Framework to support regex-based matching on the IR in JTreg compiler tests
Co-authored-by: Christian Hagedorn <chagedorn@openjdk.org>
Co-authored-by: Tobias Hartmann <thartmann@openjdk.org>
Reviewed-by: iignatyev
2021-06-07 14:11:50 +00:00