changeset 4041:b0556586212c

8001635: assert(in_bb(n)) failed: must be Summary: Added missed check that Load node is in processed loop block. Reviewed-by: twisti
author kvn
date Fri, 26 Oct 2012 11:48:04 -0700
parents 6a1d4ebcda4b
children b4da4e577c99
files src/share/vm/opto/superword.cpp
diffstat 1 files changed, 1 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/share/vm/opto/superword.cpp	Thu Oct 25 17:32:03 2012 -0700
+++ b/src/share/vm/opto/superword.cpp	Fri Oct 26 11:48:04 2012 -0700
@@ -1809,7 +1809,7 @@
             const Type* vt = vtn;
             if (VectorNode::is_shift(in)) {
               Node* load = in->in(1);
-              if (load->is_Load() && (velt_type(load)->basic_type() == T_INT)) {
+              if (load->is_Load() && in_bb(load) && (velt_type(load)->basic_type() == T_INT)) {
                 vt = velt_type(load);
               } else if (in->Opcode() != Op_LShiftI) {
                 // Widen type to Int to avoid creation of right shift vector