[9] RFR(S): 8134739: compiler/loopopts/superword/TestVectorizationWithInvariant crashes in loop opts
Tobias Hartmann
tobias.hartmann at oracle.com
Mon Sep 7 12:03:53 UTC 2015
Hi,
please review the following patch.
https://bugs.openjdk.java.net/browse/JDK-8134739
http://cr.openjdk.java.net/~thartmann/8134739/webrev.00
Problem:
The VM crashes during loop optimizations in CountedLoopEndNode::loopnode() because CountedLoopEndNode::phi() does not return a PhiNode but a SubINode. The problem is that the phi (2432 PhiNode) was replaced by the final value of the last loop iteration (2881 SubINode) to collapse the empty loop in IdealLoopTree::policy_do_remove_empty_loop(). See before [1] and after [2].
Solution:
CountedLoopEndNode::phi() should check if the node really is a PhiNode and return NULL otherwise.
Testing:
- Failing test
- JPRT
Thanks,
Tobias
[1] https://bugs.openjdk.java.net/secure/attachment/52878/emptyLoop1.png
[2] https://bugs.openjdk.java.net/secure/attachment/52879/emptyLoop2.png
More information about the hotspot-compiler-dev
mailing list