mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-17 01:24:33 +02:00
6930116: loop predication code does not handle If nodes with only one projection
Add check for iff->outcnt() < 2. Reviewed-by: never
This commit is contained in:
parent
8554996b9b
commit
667e7ff0c0
1 changed files with 2 additions and 0 deletions
|
@ -1785,6 +1785,8 @@ bool PhaseIdealLoop::is_uncommon_trap_proj(ProjNode* proj, bool must_reason_pred
|
||||||
bool PhaseIdealLoop::is_uncommon_trap_if_pattern(ProjNode *proj, bool must_reason_predicate) {
|
bool PhaseIdealLoop::is_uncommon_trap_if_pattern(ProjNode *proj, bool must_reason_predicate) {
|
||||||
Node *in0 = proj->in(0);
|
Node *in0 = proj->in(0);
|
||||||
if (!in0->is_If()) return false;
|
if (!in0->is_If()) return false;
|
||||||
|
// Variation of a dead If node.
|
||||||
|
if (in0->outcnt() < 2) return false;
|
||||||
IfNode* iff = in0->as_If();
|
IfNode* iff = in0->as_If();
|
||||||
|
|
||||||
// we need "If(Conv2B(Opaque1(...)))" pattern for must_reason_predicate
|
// we need "If(Conv2B(Opaque1(...)))" pattern for must_reason_predicate
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue