8274855: vectorapi tests failing with assert(!vbox->is_Phi()) failed
Reviewed-by: kvn
This commit is contained in:
parent
fe6a202087
commit
5021a12cea
@ -315,6 +315,21 @@ Node* PhaseVector::expand_vbox_node_helper(Node* vbox,
|
||||
}
|
||||
new_phi = C->initial_gvn()->transform(new_phi);
|
||||
return new_phi;
|
||||
} else if (vbox->is_Phi() && (vect->is_Vector() || vect->is_LoadVector())) {
|
||||
// Handle the case when the allocation input to VectorBoxNode is a phi
|
||||
// but the vector input is not, which can definitely be the case if the
|
||||
// vector input has been value-numbered. It seems to be safe to do by
|
||||
// construction because VectorBoxNode and VectorBoxAllocate come in a
|
||||
// specific order as a result of expanding an intrinsic call. After that, if
|
||||
// any of the inputs to VectorBoxNode are value-numbered they can only
|
||||
// move up and are guaranteed to dominate.
|
||||
Node* new_phi = new PhiNode(vbox->as_Phi()->region(), box_type);
|
||||
for (uint i = 1; i < vbox->req(); i++) {
|
||||
Node* new_box = expand_vbox_node_helper(vbox->in(i), vect, box_type, vect_type);
|
||||
new_phi->set_req(i, new_box);
|
||||
}
|
||||
new_phi = C->initial_gvn()->transform(new_phi);
|
||||
return new_phi;
|
||||
} else if (vbox->is_Proj() && vbox->in(0)->Opcode() == Op_VectorBoxAllocate) {
|
||||
VectorBoxAllocateNode* vbox_alloc = static_cast<VectorBoxAllocateNode*>(vbox->in(0));
|
||||
return expand_vbox_alloc_node(vbox_alloc, vect, box_type, vect_type);
|
||||
|
@ -39,7 +39,4 @@ vmTestbase/vm/mlvm/hiddenloader/stress/oome/heap/Test.java 8273095 generic-all
|
||||
|
||||
serviceability/sa/TestJhsdbJstackMixed.java 8248675 linux-aarch64
|
||||
|
||||
compiler/vectorapi/VectorCastShape64Test.java 8274855 generic-x64
|
||||
compiler/vectorapi/VectorCastShape128Test.java 8274855 generic-x64
|
||||
|
||||
compiler/codegen/aes/TestAESMain.java 8274323 linux-x64,windows-x64
|
||||
|
Loading…
Reference in New Issue
Block a user