提交 89222426 编写于 作者: N neliasso

8087128: C2: Disallow definition split on MachCopySpill nodes

Reviewed-by: kvn
上级 27dfecc7
...@@ -1171,9 +1171,8 @@ uint PhaseChaitin::Split(uint maxlrg, ResourceArea* split_arena) { ...@@ -1171,9 +1171,8 @@ uint PhaseChaitin::Split(uint maxlrg, ResourceArea* split_arena) {
(deflrg._direct_conflict || deflrg._must_spill)) || (deflrg._direct_conflict || deflrg._must_spill)) ||
// Check for LRG being up in a register and we are inside a high // Check for LRG being up in a register and we are inside a high
// pressure area. Spill it down immediately. // pressure area. Spill it down immediately.
(defup && is_high_pressure(b,&deflrg,insidx))) ) { (defup && is_high_pressure(b,&deflrg,insidx) && !n->is_SpillCopy())) ) {
assert( !n->rematerialize(), "" ); assert( !n->rematerialize(), "" );
assert( !n->is_SpillCopy(), "" );
// Do a split at the def site. // Do a split at the def site.
maxlrg = split_DEF( n, b, insidx, maxlrg, Reachblock, debug_defs, splits, slidx ); maxlrg = split_DEF( n, b, insidx, maxlrg, Reachblock, debug_defs, splits, slidx );
// If it wasn't split bail // If it wasn't split bail
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册