mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-16 17:14:41 +02:00
6927049: assert(is_Loop(),"invalid node class")
Reviewed-by: kvn
This commit is contained in:
parent
fa2d360cd5
commit
fbd5ca617d
1 changed files with 12 additions and 7 deletions
|
@ -2117,6 +2117,18 @@ BoolNode* PhaseIdealLoop::rc_predicate(Node* ctrl,
|
||||||
bool PhaseIdealLoop::loop_predication_impl(IdealLoopTree *loop) {
|
bool PhaseIdealLoop::loop_predication_impl(IdealLoopTree *loop) {
|
||||||
if (!UseLoopPredicate) return false;
|
if (!UseLoopPredicate) return false;
|
||||||
|
|
||||||
|
if (!loop->_head->is_Loop()) {
|
||||||
|
// Could be a simple region when irreducible loops are present.
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
CountedLoopNode *cl = NULL;
|
||||||
|
if (loop->_head->is_CountedLoop()) {
|
||||||
|
cl = loop->_head->as_CountedLoop();
|
||||||
|
// do nothing for iteration-splitted loops
|
||||||
|
if (!cl->is_normal_loop()) return false;
|
||||||
|
}
|
||||||
|
|
||||||
// Too many traps seen?
|
// Too many traps seen?
|
||||||
bool tmt = C->too_many_traps(C->method(), 0, Deoptimization::Reason_predicate);
|
bool tmt = C->too_many_traps(C->method(), 0, Deoptimization::Reason_predicate);
|
||||||
int tc = C->trap_count(Deoptimization::Reason_predicate);
|
int tc = C->trap_count(Deoptimization::Reason_predicate);
|
||||||
|
@ -2129,13 +2141,6 @@ bool PhaseIdealLoop::loop_predication_impl(IdealLoopTree *loop) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
CountedLoopNode *cl = NULL;
|
|
||||||
if (loop->_head->is_CountedLoop()) {
|
|
||||||
cl = loop->_head->as_CountedLoop();
|
|
||||||
// do nothing for iteration-splitted loops
|
|
||||||
if(!cl->is_normal_loop()) return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
LoopNode *lpn = loop->_head->as_Loop();
|
LoopNode *lpn = loop->_head->as_Loop();
|
||||||
Node* entry = lpn->in(LoopNode::EntryControl);
|
Node* entry = lpn->in(LoopNode::EntryControl);
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue