Commit Graph

225 Commits

Author SHA1 Message Date
Christian Hagedorn
01cb2b9883 8277529: SIGSEGV in C2 CompilerThread Node::rematerialize() compiling Packet::readUnsignedTrint
Reviewed-by: thartmann, roland, kvn
2021-12-03 17:14:10 +00:00
Roland Westrelin
3e798dd40c 8275330: C2: assert(n->is_Root() || n->is_Region() || n->is_Phi() || n->is_MachMerge() || def_block->dominates(block)) failed: uses must be dominated by definitions
Reviewed-by: thartmann, chagedorn
2021-11-26 09:48:09 +00:00
Nils Eliasson
710f496456 8273277: C2: Move conditional negation into rc_predicate
Reviewed-by: thartmann, chagedorn, kvn
2021-11-12 10:08:26 +00:00
casparcwang
aea096770e 8275854: C2: assert(stride_con != 0) failed: missed some peephole opt
Co-authored-by: Roland Westrelin <roland@openjdk.org>
Reviewed-by: thartmann, roland, kvn
2021-11-11 10:39:09 +00:00
Roland Westrelin
2aacd4220a 8274145: C2: condition incorrectly made redundant with dominating main loop exit condition
Reviewed-by: kvn, neliasso
2021-10-08 14:48:35 +00:00
Christian Hagedorn
dfc557cbea 8274406: RunThese30M.java failed "assert(!LCA_orig->dominates(pred_block) || early->dominates(pred_block)) failed: early is high enough"
Reviewed-by: kvn, thartmann
2021-09-30 08:29:43 +00:00
Roland Westrelin
980c50dc60 8272562: C2: assert(false) failed: Bad graph detected in build_loop_late
Reviewed-by: chagedorn, kvn
2021-09-29 14:51:33 +00:00
Christian Hagedorn
b0983df5a4 8274074: SIGFPE with C2 compiled code with -XX:+StressGCM
Reviewed-by: roland, thartmann
2021-09-27 14:05:51 +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
Stefan Karlsson
c60bcd09b7 8273928: Use named run ids when problem listing tests
Reviewed-by: pliden, kbarrett, dholmes
2021-09-21 07:42:36 +00:00
Christian Hagedorn
c86e24d4be 8271954: C2: assert(false) failed: Bad graph detected in build_loop_late
Reviewed-by: roland, kvn
2021-09-16 11:57:30 +00:00
casparcwang
16c3ad1ff4 8272574: C2: assert(false) failed: Bad graph detected in build_loop_late
Co-authored-by: Hui Shi <hshi@openjdk.org>
Co-authored-by: Christian Hagedorn <chagedorn@openjdk.org>
Reviewed-by: thartmann, chagedorn, kvn
2021-09-14 20:55:01 +00:00
Roland Westrelin
2abf3b3b27 8271340: Crash PhaseIdealLoop::clone_outer_loop
Reviewed-by: kvn, thartmann
2021-09-07 15:15:17 +00:00
Jesper Wilhelmsson
7cc1eb3e57 Merge 2021-07-30 22:30:23 +00:00
Roland Westrelin
e351de3bd6 8271272: C2: assert(!had_error) failed: bad dominance
Reviewed-by: kvn, thartmann, chagedorn
2021-07-30 07:28:04 +00:00
Vladimir Kozlov
4ed548b3ee 8268261: C2: assert(n != __null) failed: Bad immediate dominator info.
Reviewed-by: iveresov, vlivanov
2021-07-23 18:51:25 +00:00
Roland Westrelin
c1304519b5 8269752: C2: assert(false) failed: Bad graph detected in build_loop_late
Reviewed-by: chagedorn, kvn
2021-07-19 07:31:28 +00:00
Christian Hagedorn
040c02b942 8269795: C2: Out of bounds array load floats above its range check in loop peeling resulting in SEGV
Reviewed-by: thartmann, roland, kvn
2021-07-13 08:50:09 +00:00
Christian Hagedorn
f791fdf23e 8261147: C2: Node is wrongly marked as reduction resulting in a wrong execution due to wrong vector instructions
Reviewed-by: thartmann, kvn
2021-07-09 11:53:45 +00:00
Roland Westrelin
df1364b508 8269575: C2: assert(false) failed: graph should be schedulable after JDK-8252372
Reviewed-by: kvn, thartmann
2021-07-06 07:03:08 +00:00
Roland Westrelin
ad27d9b3ec 8269088: C2 fails with assert(!n->is_Store() && !n->is_LoadStore()) failed: no node with a side effect
Reviewed-by: kvn, iveresov, neliasso
2021-07-01 08:11:59 +00:00
Roland Westrelin
578c55bbe6 8267399: C2: java/text/Normalizer/ConformanceTest.java test failed with assertion
Reviewed-by: kvn, neliasso
2021-06-22 15:46:44 +00:00
Christian Hagedorn
9ad19f7838 8256934: C2: assert(C->live_nodes() <= C->max_node_limit()) failed: Live Node limit exceeded limit
Reviewed-by: roland, vlivanov
2021-06-16 13:02:51 +00:00
Roland Westrelin
4d545a1f86 8267988: C2: assert(!addp->is_AddP() || addp->in(AddPNode::Base)->is_top() || addp->in(AddPNode::Base) == n->in(AddPNode::Base)) failed: Base pointers must match (addp 1301)
Reviewed-by: chagedorn, vlivanov, kvn
2021-06-16 07:36:07 +00:00
Vladimir Kozlov
81fdeb579a 8268417: Add test from JDK-8268360
Reviewed-by: roland, chagedorn
2021-06-09 15:15:15 +00:00
Roland Westrelin
4413142eca 8268017: C2: assert(phi_type->isa_int() || phi_type->isa_ptr() || phi_type->isa_long()) failed: bad phi type
Reviewed-by: vlivanov, chagedorn, whuang
2021-06-09 07:58:17 +00:00
Tobias Hartmann
ab2aec2afb 8265938: C2's conditional move optimization does not handle top Phi
Reviewed-by: chagedorn, kvn, iignatyev
2021-04-27 17:10:53 +00:00
Roland Westrelin
8100a20e98 8263971: C2 crashes with SIGFPE with -XX:+StressGCM and -XX:+StressIGVN
Reviewed-by: chagedorn, thartmann
2021-03-30 07:40:49 +00:00
Christian Hagedorn
aefc1560b5 8264179: [TESTBUG] Some compiler tests fail when running without C2
Reviewed-by: kvn, jiefu
2021-03-29 08:03:47 +00:00
Wang Huang
6e3a158a65 8263352: assert(use == polladr) failed: the use should be a safepoint polling
Co-authored-by: Wang Huang <whuang@openjdk.org>
Co-authored-by: Wu Yan <wuyan34@huawei.com>
Reviewed-by: kvn
2021-03-24 06:30:50 +00:00
Igor Ignatyev
a7aba2b61c 8263549: 8263412 can cause jtreg testlibrary split
Reviewed-by: iklam, dcubed
2021-03-13 14:51:53 +00:00
Roland Westrelin
ddd550ae84 8261308: C2: assert(inner->is_valid_counted_loop(T_INT) && inner->is_strip_mined()) failed: OuterStripMinedLoop should have been removed
Reviewed-by: chagedorn, kvn
2021-03-01 08:42:10 +00:00
Christian Hagedorn
0a89987a96 8240281: Remove failing assertion code when selecting first memory state in SuperWord::co_locate_pack
Reviewed-by: roland, kvn, thartmann
2021-02-11 13:00:10 +00:00
Jesper Wilhelmsson
d7acfae3d2 Merge 2021-02-06 00:29:45 +00:00
Roland Westrelin
4de3a6be9e 8260709: C2: assert(false) failed: unscheduable graph
Reviewed-by: thartmann, chagedorn
2021-02-04 15:11:25 +00:00
Jesper Wilhelmsson
9b7a8f1982 Merge 2021-02-04 02:06:33 +00:00
Tobias Hartmann
fe407cf1b6 8260420: C2 compilation fails with assert(found_sfpt) failed: no node in loop that's not input to safepoint
Reviewed-by: kvn, roland, chagedorn
2021-02-02 07:23:55 +00:00
Igor Ignatyev
8ffdbcebad 8260608: add a regression test for 8260370
Reviewed-by: kvn
2021-01-29 04:04:23 +00:00
Vladimir Kozlov
1926765f5e 8253353: Crash in C2: guarantee(n != NULL) failed: No Node
Co-authored-by: Fei Yang <fyang@openjdk.org>
Reviewed-by: vlivanov, neliasso
2021-01-28 16:16:51 +00:00
Christian Hagedorn
c5ab7c3214 8260284: C2: assert(_base == Int) failed: Not an Int
Reviewed-by: thartmann, kvn
2021-01-25 17:09:52 +00:00
Roland Westrelin
d5ca3b3fd5 8259641: C2: assert(early->dominates(LCA)) failed: early is high enough
Reviewed-by: chagedorn, thartmann
2021-01-18 07:54:48 +00:00
Christian Hagedorn
c1fb521694 8259227: C2 crashes with SIGFPE due to a division that floats above its zero check
Reviewed-by: kvn, thartmann
2021-01-07 15:02:45 +00:00
Christian Hagedorn
04a1e5b75b 8258505: [TESTBUG] TestDivZeroWithSplitIf.java fails due to missing UnlockDiagnosticVMOptions
Reviewed-by: thartmann, kvn, dcubed
2020-12-17 08:09:19 +00:00
Christian Hagedorn
ce36aeaac3 8257822: C2 crashes with SIGFPE due to a division that floats above its zero check
Reviewed-by: kvn, thartmann
2020-12-15 15:14:34 +00:00
Christian Hagedorn
1d0adbb812 8253644: C2: assert(skeleton_predicate_has_opaque(iff)) failed: unexpected
Reviewed-by: roland, kvn
2020-12-08 08:48:58 +00:00
Roland Westrelin
86b65756cb 8257574: C2: "failed: parsing found no loops but there are some" assert failure
Reviewed-by: thartmann, neliasso, chagedorn
2020-12-04 12:01:53 +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
Roland Westrelin
ea576ddbd4 8254887: C2: assert(cl->trip_count() > 0) failed: peeling a fully unrolled loop
Reviewed-by: chagedorn, thartmann
2020-11-13 08:19:33 +00:00
Tobias Hartmann
7c0d417027 8251535: Partial peeling at unsigned test adds incorrect loop exit check
Reviewed-by: chagedorn, neliasso, kvn
2020-10-16 06:25:33 +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
Xin Liu
ea5a2b15a0 8251464: make Node::dump(int depth) support indent
Reviewed-by: thartmann
2020-10-02 13:45:29 +00:00
Christian Hagedorn
8d30bb03ee 8249607: C2: assert(!had_error) failed: bad dominance
Fix prevented igvn optimization in SplitIf for LoadNodes which resulted in dominanance errors with loop strip mining.

Reviewed-by: roland, kvn
2020-08-31 12:10:25 +02:00
Christian Hagedorn
31368cd1f0 8249602: C2: assert(cnt == _outcnt) failed: no insertions allowed
Use DUIterator instead of DUIterator_Fast due to legit insertions.

Reviewed-by: kvn, thartmann
2020-07-28 16:05:30 +02:00
Christian Hagedorn
417e8e449d 8248552: C2 crashes with SIGFPE due to division by zero
Bail out in PhaseIdealLoop:split_thru_phi when trying to split a Div or ModNode iv phi whose zero check was removed but could potentially still be zero based on type information.

Reviewed-by: kvn, thartmann
2020-07-27 11:03:17 +02: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
Igor Ignatyev
04280a0d05 8249000: vm.gc.X should take selected JIT into account
Reviewed-by: kvn
2020-07-10 11:52:35 -07:00
Mikael Vidstedt
09510a15a1 Merge 2020-07-10 23:12:29 -07:00
Christian Hagedorn
b02e4d4aba 8248596: [TESTBUG] compiler/loopopts/PartialPeelingUnswitch.java times out with Graal enabled
Change C2 specific test to be executed only with server compiler.

Reviewed-by: roland, kvn, thartmann
2020-07-06 09:16:58 +02:00
Christian Hagedorn
08df6a1f15 8246203: Segmentation fault in verification due to stack overflow with -XX:+VerifyIterativeGVN
Replace the recursive verification algorithm with an iterative one to avoid a stack overflow for large graphs.

Reviewed-by: kvn, thartmann
2020-06-15 09:50:11 +02:00
Roland Westrelin
9c99008aff 8245714: "Bad graph detected in build_loop_late" when loads are pinned on loop limit check uncommon branch
Reviewed-by: thartmann
2020-05-28 13:21:54 +02:00
Yong Zhou
dc54da232d 8244407: JVM crashes after transformation in C2 IdealLoopTree::split_fall_in
Reviewed-by: thartmann, kvn
2020-05-13 07:25:47 +08:00
Roland Westrelin
f0b37f161b 8239569: PublicMethodsTest.java failed due to NPE in java.base/java.nio.file.FileSystems.getFileSystem(FileSystems.java:230)
Reviewed-by: thartmann, kvn
2020-04-23 15:54:08 +02: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
Igor Ignatyev
7c351405c4 8242310: use reproducible random in hotspot compiler tests
Reviewed-by: kvn, thartmann
2020-04-08 22:58:42 -07:00
Jie Fu
3487361a39 8242379: [TESTBUG] compiler/loopopts/TestLoopUnswitchingLostCastDependency.java fails with release VMs
Reviewed-by: roland, kvn
2020-04-09 09:20:18 +08:00
Roland Westrelin
6405d75070 8241900: Loop unswitching may cause dependence on null check to be lost
Reviewed-by: thartmann, kvn
2020-04-02 15:03:27 +02:00
Per Lidén
2e4783411e 8240745: Implementation: JEP 377: ZGC: A Scalable Low-Latency Garbage Collector (Production)
Reviewed-by: stefank, eosterlund
2020-04-03 23:40:33 +02:00
Christian Hagedorn
c01e986cc9 8237859: C2: Crash when loads float above range check
Fix control edges of predicates to data nodes when creating pre/main/post loops.

Reviewed-by: neliasso, thartmann, roland
2020-03-25 14:41:52 +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
Christian Hagedorn
a51dd58f38 8240227: Loop predicates should be copied to unswitched loops
Copy loop range check predicates to unswitched loops and update their control edges.

Reviewed-by: kvn, neliasso, thartmann, roland
2020-03-19 10:15:28 +01:00
Dongbo He
aa2be1141d 8240576: JVM crashes after transformation in C2 IdealLoopTree::merge_many_backedges
Reviewed-by: kvn
2020-03-09 22:31:12 +08:00
Qi Feng
d1818942b0 8240286: [TESTBUG] Test command error in hotspot/jtreg/compiler/loopopts/superword/SumRedAbsNeg_Float.java
Reviewed-by: kvn, thartmann
2020-03-05 14:51:41 +08:00
Christian Hagedorn
d7b122ed69 8238438: SuperWord::co_locate_pack picks memory state of first instead of last load
Fix selection of first and last memory state in SuperWord::co_locate_pack

Reviewed-by: thartmann, kvn
2020-03-02 10:23:08 +01:00
Pengfei Li
934db29ac5 8239549: AArch64: Backend support for MulAddVS2VI node
Reviewed-by: aph
2020-02-26 09:33:29 +08: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
Fairoz Matte
a4b3e781fe 8236701: [TESTBUG] compiler/loopopts/superword/Vec_MulAddS2I.java uses wrong flag -XX:-SuperWord
Reviewed-by: iklam, thartmann
2020-01-16 17:37:09 -08:00
Fei Yang
a86e196559 8235762: JVM crash in SWPointer during C2 compilation
Reviewed-by: thartmann, chagedorn, neliasso
2020-01-09 19:12:16 +08:00
Christian Hagedorn
3e9a17c53e 8235984: C2: assert(out->in(PhiNode::Region) == head || out->in(PhiNode::Region) == slow_head) failed: phi must be either part of the slow or the fast loop
Bailout from loop unswitching if loop predicates have a control dependency to partially peeled statements.

Reviewed-by: neliasso, thartmann
2020-01-07 17:06:10 +01:00
Jatin Bhateja
079db54d51 8230185: assert(is_Loop()) failed: invalid node class
Adding missing check for a counted loop.

Reviewed-by: kvn, thartmann
2019-12-18 10:04:53 +01:00
Christian Hagedorn
ba94936c80 8233033: C2 produces wrong result while unswitching a loop due to lost control dependencies
Adding missing control dependencies when cloning loop predicates at loop unswitching.

Reviewed-by: roland, vlivanov, thartmann
2019-12-11 14:33:32 +01:00
Christian Hagedorn
2ee7b9d3a0 8233032: assert(in_bb(n)) failed: must be
Find first and last memory state of a load pack without relying on bb indices.

Co-authored-by: Roland Westrelin <rwestrel@redhat.com>
Reviewed-by: roland, kvn, thartmann
2019-12-10 09:28:38 +01:00
Christian Hagedorn
fd8832f726 8229994: assert(false) failed: Bad graph detected in get_early_ctrl_for_expensive
Fixes wrong idom information set in loop peeling when a loop strip mined loop is involved.

Reviewed-by: vlivanov, thartmann
2019-12-06 10:00:16 +01:00
Christoph Göttschkes
9c4adc66c7 8234906: [TESTBUG] TestDivZeroCheckControl fails for client VMs due to Unrecognized VM option LoopUnrollLimit
Reviewed-by: kvn
2019-12-04 10:38:54 +01:00
Christoph Göttschkes
a4a351caad 8234807: [TESTBUG] LoopRotateBadNodeBudget fails for client VMs due to Unrecognized VM option PartialPeelNewPhiDelta
Reviewed-by: kvn
2019-11-27 10:13:41 +01:00
Tobias Hartmann
1833584f92 8233529: loopTransform.cpp:2984: Error: assert(p_f->Opcode() == Op_IfFalse) failed
Strengthened asserts in locate_pre_from_main() and added a check for is_main_no_pre_loop().

Reviewed-by: kvn, vlivanov
2019-11-12 10:16:04 +01:00
Christian Hagedorn
173dae8bc6 8229694: JVM crash in SWPointer during C2 OSR compilation
Handle the case where there is only 1 pack and no operations left when calling SuperWord::find_align_to_ref() to find the best alignment again.

Reviewed-by: kvn, vlivanov, thartmann
2019-11-11 10:41:03 +01:00
Patric Hedlin
902858e3ce 8231565: More node budget asserts in fuzzed tests
Reviewed-by: neliasso, thartmann
2019-10-23 12:51:53 +02:00
Christian Hagedorn
13b4952f11 8232874: Add missing test for 8230062
Adds a missing test which verifies the bug fix of 8230062.

Reviewed-by: roland, thartmann
2019-10-23 12:17:14 +02:00
Huang Wang
4fb2bb554d 8231988: Unexpected test result caused by C2 IdealLoopTree::do_remove_empty_loop
Duplicate cmp node in empty loop if it has other users

Co-authored-by: Tuo Xie <xietuo@huawei.com>
Reviewed-by: neliasso, thartmann
2019-10-11 16:52:18 +08:00
Roland Westrelin
a81dcf4dbf 8231620: assert(bol->is_Bool()) crash during split if due to FastLockNode
Reviewed-by: vlivanov, thartmann
2019-10-01 10:28:12 +02:00
Patric Hedlin
8275b17b07 8229499: Node budget assert in fuzzed test
Reviewed-by: thartmann, neliasso
2019-09-12 11:44:51 +02:00
Tobias Hartmann
a03e92201d 8231223: C2's conditional move optimization fails with assert(bol->Opcode() == Op_Bool) failed
Bail out if the range check If has an Opaque4Node input instead of a BoolNode.

Reviewed-by: roland, kvn
2019-09-26 09:16:08 +02:00
Aleksey Shipilev
7c2fe7025b 8230813: Add JDK-8010500 to compiler/loopopts/superword/TestFuzzPreLoop.java bug list
Reviewed-by: zgu
2019-09-10 19:58:22 +02:00
Tobias Hartmann
a4b46ccc23 8229496: SIGFPE (division by zero) in C2 OSR compiled method
Adding a CastNode to keep the dependency between the div/mod operation and the zero check.

Reviewed-by: roland, mdoerr
2019-09-05 13:56:17 +02:00
Aleksey Shipilev
5110530d5b 8230238: Add another regression test for JDK-8134739
Reviewed-by: kvn
2019-09-02 11:31:12 +02:00
Christian Hagedorn
db359f11b5 8229158: make UseSwitchProfiling non-experimental or false by-default
Changed UseSwitchProfiling from experimental to diagnostic.

Reviewed-by: dholmes, shade, thartmann
2019-08-20 10:46:23 +02:00
Tobias Hartmann
672fa8b97a 8228888: C2 compilation fails with assert "m has strange control"
Weakened too strong assert.

Reviewed-by: kvn, roland
2019-08-20 07:47:13 +02:00
Patric Hedlin
d222b01dee 8223363: Bad node estimate assertion failure
8223502: Node estimate for loop unswitching is not correct: assert(delta <= 2 * required) failed: Bad node estimate
8224648: assert(!exceeding_node_budget()) failed: Too many NODES required! failure with ctw

Tighten the node estimates. New est_loop_clone_sz() implementation that will compute a "fan-out" complexity estimate as part of the size estimate (to better estimate complex loop body size after cloning). New est_loop_unroll_sz() function, used to estimate the size of a loop body att full/maximal unrolling. Correction to node budget final tests and asserts.

Reviewed-by: neliasso, kvn
2019-05-28 14:56:58 +02:00
Patric Hedlin
a17df8d45b 8210392: assert(Compile::current()->live_nodes() < Compile::current()->max_node_limit()) failed: Live Node limit exceeded limit
Avoid excessive split-if.

Reviewed-by: thartmann, neliasso
2018-12-18 10:12:28 +01:00
Roland Westrelin
326c6997a0 8215044: C2 crash in loopTransform.cpp with assert(cl->trip_count() > 0) failed: peeling a fully unrolled loop
Reviewed-by: thartmann, kvn
2018-12-13 17:57:11 +01:00
Rahul Raghavan
5a6385b363 8211698: Crash in C2 compiled code during execution of double array heavy processing code
Correctly registered new Opaque4Node in add_range_check_predicate

Reviewed-by: roland, thartmann
2018-12-18 19:13:54 +05:30
Tobias Hartmann
2e989366ea 8215410: Regression test for JDK-8214994
Added a regression test for 8214994 which was fixed by accident with 8211451.

Reviewed-by: kvn
2018-12-17 08:25:57 +01:00
Vivek Deshpande
05e175bf1b 8214751: X86: Support for VNNI Instructions
Co-authored-by: Razvan A Lupusoru <razvan.a.lupusoru@intel.com>
Reviewed-by: kvn
2018-12-12 14:48:34 -08:00
Roland Westrelin
84cd74b013 8214344: C2: assert(con.basic_type() != T_ILLEGAL) failed: elembt=byte; loadbt=void; unsigned=0
Reviewed-by: kvn, thartmann
2018-11-27 08:44:19 +01:00
Tobias Hartmann
73bcb0507e 8208275: C2 crash in Node::add_req(Node*)
Split-if optimization should not process (dead) counted loops.

Reviewed-by: roland
2018-08-17 08:21:20 +02:00
Aleksei Voitylov
2d0aee2275 8207065: Cleanup compiler tests for Client VM
Reviewed-by: kvn, iignatyev
2018-07-13 11:13:34 -07:00
Roland Westrelin
8c2d9b5ff0 8202123: C2 Crash in Node::in(unsigned int) const+0x14
Reviewed-by: kvn, thartmann
2018-06-29 17:59:44 +02:00
Roland Westrelin
7d7184e505 8205515: assert(opcode == Op_RangeCheck) failed: no other if variant here
Reviewed-by: thartmann, kvn
2018-07-02 10:44:46 +02:00
Tobias Hartmann
d2f70d7052 8205033: [REDO] Induction variable of over-unrolled loop conflicts with range checks
Update skeleton predicates before main loop during unrolling to remove dead code.

Reviewed-by: kvn, roland
2018-06-19 12:25:42 +02:00
Vladimir Kozlov
3ced42361d 8202948: C2: assert(init_offset >= 0) failed: positive offset from object start
Convert the assert into compilation check which will skip superword optimization

Reviewed-by: roland, thartmann
2018-06-15 08:28:08 -07:00
Tobias Hartmann
d01224d43e 8205034: [BACKOUT] Induction variable of over-unrolled loop conflicts with range checks
Backout fix for JDK-8203915 because it causes SIGILL failures.

Reviewed-by: shade
2018-06-14 11:22:04 +02:00
Tobias Hartmann
c9c8cc68de 8203915: Induction variable of over-unrolled loop conflicts with range checks
Update skeleton predicates before main loop during unrolling to remove dead code.

Reviewed-by: kvn, roland
2018-06-14 09:04:55 +02:00
Tobias Hartmann
2d00538d92 8202949: C2: assert(false) failed: Bad graph detected in build_loop_late
Fixed trip count computation for counted loop with negative stride to prevent over-unrolling.

Reviewed-by: roland
2018-05-25 09:05:42 +02:00
Roland Westrelin
98db6d11f3 8193130: Bad graph when unrolled loop bounds conflicts with range checks
Reviewed-by: kvn, thartmann
2018-03-22 20:21:19 -07:00
Roland Westrelin
4f8c5b6949 8197563: assert(is_Loop()) crash in PhaseIdealLoop::try_move_store_before_loop()
Don't move store out of the loop if head is not a LoopNode.

Reviewed-by: kvn, thartmann
2018-02-13 16:57:01 +01:00
Roland Westrelin
d244b3ccd1 8196296: Lucene test crashes C2 compilation
Prevent merging of back to back ifs if one is a counted loop end.

Reviewed-by: kvn, thartmann
2018-01-30 09:08:44 +01:00
Roland Westrelin
29bab311ab 8192908: -XX:+UseCountedLoopSafepoints alone doesn't disable strip mining with G1
-XX:+UseCountedLoopSafepoints should disable loop strip mining.

Reviewed-by: kvn, thartmann
2017-12-07 15:52:46 +01:00
Roland Westrelin
386e258e20 8186027: C2: loop strip mining
Reviewed-by: kvn, neliasso
2017-11-28 11:59:16 +01:00
Roland Westrelin
1c25161036 8191153: assert(u_ctrl != blk1 && u_ctrl != blk2) failed: won't converge
Relax assert

Reviewed-by: kvn
2017-11-27 10:44:19 -08:00
Roland Westrelin
002aff0a75 8190375: Java Crash in JavaBug.formatPos(I)Ljava/lang/String
Skip the logic that set the value of the Phi iv if the exit condition is "not equal"

Reviewed-by: thartmann, mdoerr
2017-11-13 14:53:28 -05:00
Tobias Hartmann
34622112b6 8189067: SuperWord optimization crashes with "assert(out == prev || prev == __null) failed: no branches off of store slice"
Only move the store if the LCA of all users is outside of the loop. Re-enable UseSubwordForMaxVector.

Reviewed-by: kvn, roland
2017-10-13 14:02:01 +02:00
Roland Westrelin
844e594fec 8187822: C2 conditonal move optimization might create broken graph
Reviewed-by: kvn
2017-09-27 16:17:47 +02: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