88 Commits

Author SHA1 Message Date
Vladimir Ivanov
7e2640432b 8255000: C2: Unify IGVN processing when loop opts are over
Reviewed-by: neliasso, iveresov, kvn
2020-10-21 08:09:00 +00:00
Vladimir Ivanov
27230fae24 8255026: C2: Miscellaneous cleanups in Compile and PhaseIdealLoop code
Reviewed-by: thartmann, neliasso, redestad
2020-10-21 07:34:54 +00:00
Roland Westrelin
294e0705fa 8254998: C2: assert(!n->as_Loop()->is_transformed_long_loop()) failure with -XX:StressLongCountedLoop=1
Reviewed-by: vlivanov, kvn, thartmann
2020-10-20 11:53:41 +00:00
Nhat Nguyen
5fedfa707e 8251271: C2: Compile::_for_igvn list is corrupted after RenumberLiveNodes
Reviewed-by: vlivanov, thartmann
2020-10-20 06:18:49 +00:00
Roland Westrelin
e76de18956 8223051: support loops with long (64b) trip counts
Reviewed-by: vlivanov, thartmann, jrose
2020-10-19 11:30:13 +00:00
Paul Sandoz
0c99b19258 8223347: Integration of Vector API (Incubator)
Co-authored-by: Vivek Deshpande <vdeshpande@openjdk.org>
Co-authored-by: Qi Feng <qfeng@openjdk.org>
Co-authored-by: Ian Graves <igraves@openjdk.org>
Co-authored-by: Jean-Philippe Halimi <jphalimi@openjdk.org>
Co-authored-by: Vladimir Ivanov <vlivanov@openjdk.org>
Co-authored-by: Ningsheng Jian <njian@openjdk.org>
Co-authored-by: Razvan Lupusoru <rlupusoru@openjdk.org>
Co-authored-by: Smita Kamath <svkamath@openjdk.org>
Co-authored-by: Rahul Kandu <rkandu@openjdk.org>
Co-authored-by: Kishor Kharbas <kkharbas@openjdk.org>
Co-authored-by: Eric Liu <Eric.Liu2@arm.com>
Co-authored-by: Aaloan Miftah <someusername3@gmail.com>
Co-authored-by: John R Rose <jrose@openjdk.org>
Co-authored-by: Shravya Rukmannagari <srukmannagar@openjdk.org>
Co-authored-by: Paul Sandoz <psandoz@openjdk.org>
Co-authored-by: Sandhya Viswanathan <sviswanathan@openjdk.org>
Co-authored-by: Lauren Walkowski <lauren.walkowski@arm.com>
Co-authored-by: Yang Zang <Yang.Zhang@arm.com>
Co-authored-by: Joshua Zhu <jzhu@openjdk.org>
Co-authored-by: Wang Zhuo <wzhuo@openjdk.org>
Co-authored-by: Jatin Bhateja <jbhateja@openjdk.org>
Reviewed-by: erikj, chegar, kvn, darcy, forax, briangoetz, aph, epavlova, coleenp
2020-10-14 20:02:46 +00:00
Xin Liu
bff586f07a 8254269: simplify Node::disconnect_inputs
Node::disconnect_inputs cuts off all input edges without exception.

Reviewed-by: redestad, kvn
2020-10-12 19:54:25 +00:00
Roberto Castañeda Lozano
05459df0c7 8253765: C2: Control randomization in StressLCM and StressGCM
Use the compilation-local seed in 'StressLCM' and 'StressGCM' rather than the
global one. As a consequence, these options use by default a fresh seed in every
compilation, unless 'StressSeed=N' is specified, in which case they behave
deterministically. Annotate tests that use 'StressLCM' and 'StressGCM' with the
'stress' and 'randomness' keys to reflect this change in default behavior.

Reviewed-by: kvn, thartmann
2020-10-12 11:40:50 +00:00
Roland Westrelin
a6c23b7753 8253923: C2 doesn't always run loop opts for compilations that include loops
Reviewed-by: neliasso, thartmann
2020-10-12 10:55:22 +00:00
Roberto Castaneda Lozano
fed3636f12 8252219: C2: Randomize IGVN worklist for stress testing
Add 'StressIGVN' option to let C2 randomize IGVN worklist order. When enabled,
the worklist is shuffled before each main run of the IGVN loop. Also add
'StressSeed=N' option to specify the seed. If the seed is not specified, a
random one is generated. In either case, the seed is logged if 'LogCompilation'
is enabled. The new options are declared as production+diagnostic for
consistency with the existing 'StressLCM' and 'StressGCM' options.

Reviewed-by: kvn, chagedorn, thartmann
2020-09-28 06:44:58 +00:00
Aleksey Shipilev
124db3be8e 8252215: Remove VerifyOptoOopOffsets flag
Reviewed-by: thartmann, kvn
2020-08-27 06:34:27 +02:00
Jie Fu
cf345fd768 8250745: assert(eval_map.contains(n)) failed: absent
Reviewed-by: vlivanov, kvn
2020-07-29 11:38:28 +08:00
Mikael Vidstedt
1f5e21a16e Merge 2020-07-15 21:24:39 -07:00
Roland Westrelin
b67814941f 8229495: SIGILL in C2 generated OSR compilation
Reviewed-by: kvn, chagedorn
2020-07-01 17:28:49 +02:00
Ioi Lam
3d1b1a6bc9 8248170: Excessive include of compiledMethod, codeCache, javaClasses and systemDictionary
Reviewed-by: dholmes, kvn, coleenp, stefank
2020-07-06 23:11:37 -07:00
Nils Eliasson
4506975561 8248398: Add diagnostic RepeatCompilation utility
Reviewed-by: redestad, kvn, thartmann
2020-07-03 11:46:41 +02: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
Christian Hagedorn
840867efa6 8247218: Add default constructor to VectorSet to use Thread::current()->resource_area() as arena by default
Add a default construction to VectorSet and clean up uses of the old constructor.

Reviewed-by: kvn, thartmann
2020-06-29 17:14:19 +02:00
Xin Liu
892d998587 8139046: Compiler Control: IGVPrintLevel directive should set PrintIdealGraph
Make !PrintIdealGraph a synonym for PrintIdealGraphLevel=-1 => print nothing

Reviewed-by: simonis, phh, neliasso
2020-06-12 13:33:29 -07:00
Coleen Phillimore
5314d28f84 8245289: Clean up offset code in JavaClasses
Make offset member names consistent and private, move static initializations near owning classes

Reviewed-by: fparain, lfoltan
2020-05-29 15:00:19 -04:00
Ioi Lam
92d1c4a61a 8244775: Remove unnecessary dependency to jfrEvents.hpp
Reviewed-by: kbarrett, kvn
2020-05-13 10:56:51 -07:00
Christian Hagedorn
3887904c16 8244207: Simplify usage of Compile::print_method() when debugging with gdb and enable its use with rr
Improve debugging with usage of Compile::print_method() for IGV at breakpoints from gdb and rr.

Reviewed-by: kvn, thartmann
2020-05-11 12:57:39 +02:00
Jatin Bhateja
f0f7070cb5 8244186: assertion failure test/jdk/javax/net/ssl/DTLS/RespondToRetransmit.java
Removing an assertion which prevents logic folding over cones already having a MacroLogic node.

Reviewed-by: kvn
2020-05-02 20:37:56 +05:30
Jatin Bhateja
5532b27d22 8241040: Support for AVX-512 Ternary Logic Instruction
A new pass has been added which folds expression tree involving vector boolean logic operations into a MacroLogic node.

Reviewed-by: vlivanov, neliasso
2020-04-02 22:38:23 +05:30
Roland Westrelin
ea56776ef5 8239072: subtype check macro node causes node budget to be exhausted
Reviewed-by: vlivanov, kvn
2020-03-31 10:40:17 +02:00
Roland Westrelin
5ff2d7baaa 8240676: Meet not symmetric failure when running lucene on jdk8
Reviewed-by: kvn, thartmann
2020-03-24 11:06:26 +01:00
Sandhya Viswanathan
398ce2948c 8240248: Extend superword reduction optimizations for x86
Add support for and, or, xor reduction

Co-authored-by: Shravya Rukmannagari <shravya.rukmannagari@intel.com>
Reviewed-by: vlivanov, thartmann
2020-03-23 10:26:40 -07:00
Roland Westrelin
c9faf88cb7 8240795: [REDO] 8238384 CTW: C2 compilation fails with "assert(store != load->find_exact_control(load->in(0))) failed: dependence cycle found"
Reviewed-by: kvn, thartmann
2020-03-13 16:32:51 +01:00
Erik Österlund
21cd75cb98 8240363: Refactor Compile::Output() to its own Phase
Reviewed-by: kvn, vlivanov
2020-03-16 12:27:42 +00:00
Roland Westrelin
2a35bc5aee 8240854: [REDO] some jaotc failures of fastdebug build with specific flags
Reviewed-by: vlivanov, kvn, thartmann
2020-03-11 10:32:07 +01:00
Vladimir Kozlov
39ab073173 8240830: [BACKOUT] 8240195: some jaotc failures of fastdebug build with specific flags
Reviewed-by: dcubed
2020-03-10 14:39:39 -07:00
Roland Westrelin
42ff13ab82 8240195: some jaotc failures of fastdebug build with specific flags
Reviewed-by: kvn, thartmann
2020-03-09 09:42:30 +01:00
Roland Westrelin
43e0165eea 8240794: [BACKOUT] 8238384 CTW: C2 compilation fails with "assert(store != load->find_exact_control(load->in(0))) failed: dependence cycle found"
Reviewed-by: thartmann
2020-03-10 10:45:01 +01:00
Roland Westrelin
86ad195099 8238384: CTW: C2 compilation fails with "assert(store != load->find_exact_control(load->in(0))) failed: dependence cycle found"
Reviewed-by: vlivanov, thartmann
2020-02-20 16:41:05 +01:00
Roland Westrelin
1e796eae8f 8239367: RunThese30M.java failed due to "assert(false) failed: graph should be schedulable"
Reviewed-by: thartmann, vlivanov, neliasso
2020-02-21 15:01:22 +01: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
Roland Westrelin
52d46c314b 8238691: C2: turn subtype check into macro node
Reviewed-by: vlivanov, thartmann
2020-02-14 10:31:34 +01:00
Vladimir Ivanov
5e9dc46d21 8238683: C2: Remove Use24BitFP and Use24BitFPMode flags
Reviewed-by: thartmann, neliasso
2020-02-11 14:55:44 +03:00
Roland Westrelin
1af059d4cb 8231291: C2: loop opts before EA should maximally unroll loops
Reviewed-by: kvn, vlivanov
2019-12-20 17:17:37 +01:00
Roland Westrelin
1745ae28b9 8237086: assert(is_MachReturn()) running CTW with fix for JDK-8231291
Reviewed-by: kvn, vlivanov
2020-01-14 14:58:17 +01:00
Goetz Lindenmaier
51abf67ce1 8235998: [c2] Memory leaks during tracing after '8224193: stringStream should not use Resource Area'
Reviewed-by: dholmes, kvn
2019-12-16 14:10:20 +01:00
Nils Eliasson
e1b94b1635 8235653: Clean-up BarrierSetC2
Reviewed-by: redestad, rkennke, thartmann
2019-12-11 14:08:20 +01:00
Jatin Bhateja
979cd452ab 8234391: C2: Generic vector operands
Reviewed-by: vlivanov, sviswanathan, thartmann, jrose
2019-12-05 12:56:46 +03:00
Jorn Vernee
d405f6abb6 8233389: Add PrintIdeal to compiler directives
Add PrintIdeal as a compiler directive in order to enable PrintIdeal for only a single method.

Reviewed-by: roland, neliasso, vlivanov, thartmann
2019-11-08 10:55:14 +01:00
Tobias Hartmann
f225f7cd0b 8233788: Remove useless asserts in PhaseCFG::insert_anti_dependences
Removed useless asserts.

Reviewed-by: kvn
2019-11-08 09:16:48 +01:00
Claes Redestad
12adeca887 8233708: VectorSet cleanup
Reviewed-by: neliasso, shade, thartmann
2019-11-07 12:12:39 +01:00
Erik Österlund
42885307f6 8230565: ZGC: Redesign C2 load barrier to expand on the MachNode level
Co-authored-by: Per Liden <per.liden@oracle.com>
Co-authored-by: Stefan Karlsson <stefan.karlsson@oracle.com>
Co-authored-by: Nils Eliasson <nils.eliasson@oracle.com>
Reviewed-by: pliden, stefank, neliasso
2019-10-09 12:30:06 +00: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
Mikael Vidstedt
895db11053 Merge 2019-07-29 09:59:04 -07:00
Erik Österlund
a42636d34b 8227407: ZGC: C2 loads and load barriers can get separated by safepoints
Reviewed-by: neliasso, smonteith, roland
2019-07-29 13:57:54 +02:00