RFR(S): 8186716: [MVT] C2 crashes with "assert(!n->is_ValueType()) failed: value types should not be split through phis"
tobias.hartmann at oracle.com
Tue Sep 19 10:00:05 UTC 2017
please review the following patch:
C2 crashes with an assert while trying to split a value type through a PhiNode. We need to avoid this because value
types are not merged through Phis but each value input needs to be merged individually.
I fixed this by scalarizing value types in safepoints right after parsing (and incremental inlining) such that value
type nodes are only connected to allocate nodes during loop optimizations. After removing and unlinking redundant
allocations, the value type nodes are dead and no splitting is required.
All tests pass.
More information about the valhalla-dev