diff options
author | never <none@none> | 2008-04-03 21:26:03 -0700 |
---|---|---|
committer | never <none@none> | 2008-04-03 21:26:03 -0700 |
commit | 380ffd11a23674a2792816b4522dcd1d635f2ecb (patch) | |
tree | 7e288189a4c24e0948224b619d185523387b34c4 /src/share/vm/opto/superword.cpp | |
parent | f655b13c0faf7cde0d65b0bab8efd2dca5d0b5fb (diff) | |
download | jdk8u_hotspot-380ffd11a23674a2792816b4522dcd1d635f2ecb.tar.gz |
6646020: assert(in_bb(n),"must be in block") in -Xcomp mode
Reviewed-by: kvn, rasbold
Diffstat (limited to 'src/share/vm/opto/superword.cpp')
-rw-r--r-- | src/share/vm/opto/superword.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/share/vm/opto/superword.cpp b/src/share/vm/opto/superword.cpp index 625acd85e..b9b8a98bb 100644 --- a/src/share/vm/opto/superword.cpp +++ b/src/share/vm/opto/superword.cpp @@ -65,6 +65,11 @@ void SuperWord::transform_loop(IdealLoopTree* lpt) { Node *cl_exit = cl->loopexit(); if (cl_exit->in(0) != lpt->_head) return; + // Make sure the are no extra control users of the loop backedge + if (cl->back_control()->outcnt() != 1) { + return; + } + // Check for pre-loop ending with CountedLoopEnd(Bool(Cmp(x,Opaque1(limit)))) CountedLoopEndNode* pre_end = get_pre_loop_end(cl); if (pre_end == NULL) return; |