When running with -XX:-UseLoopPredicate, GraphKit::add_parse_predicates() still adds a parse predicate for Reason_profile_predicate but PhaseIdealLoop::build_and_optimize() skips loop predication if UseLoopPredicate is off.
There's also another inconsistency: PredicateIterator::for_each() doesn't expect a parse predicate for Reason_profile_predicate if UseLoopPredicate is off.
Easiest fix should be turn UseProfiledLoopPredicate off when UseLoopPredicate is off.
There's also another inconsistency: PredicateIterator::for_each() doesn't expect a parse predicate for Reason_profile_predicate if UseLoopPredicate is off.
Easiest fix should be turn UseProfiledLoopPredicate off when UseLoopPredicate is off.