8041351: Crash in src/share/vm/opto/loopnode.cpp:3215 - assert(!had_error) failed: bad dominance
Summary: add missing is_mem() check when we collect load nodes in SuperWord::co_locate_pack().
Reviewed-by: iveresov
--- a/hotspot/src/share/vm/opto/superword.cpp Fri Apr 18 14:30:58 2014 -0400
+++ b/hotspot/src/share/vm/opto/superword.cpp Tue Apr 22 17:45:56 2014 -0700
@@ -1266,8 +1266,9 @@
memops.clear();
for (DUIterator i = upper_insert_pt->outs(); upper_insert_pt->has_out(i); i++) {
Node* use = upper_insert_pt->out(i);
- if (!use->is_Store())
+ if (use->is_Mem() && !use->is_Store()) {
memops.push(use);
+ }
}
MemNode* lower_insert_pt = last;