Commit Graph

40 Commits

Author SHA1 Message Date
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