SonarCloud reports this branch is never taken in AddLNode::Ideal:
// Convert "X+X+X+X+X...+X+Y" into "k*X+Y" or really convert "X+(X+Y)"
// into "(X<<1)+Y" and let shift-folding happen.
if( op2 == Op_AddL &&
in2->in(1) == in1 &&
op1 != Op_ConL &&
0 ) {
Node *shift = phase->transform(new LShiftLNode(in1,phase->intcon(1)));
return new AddLNode(shift,in2->in(2));
}
Notice the trailing "&& 0" in the condition. Seems to be that way since the initial load.
// Convert "X+X+X+X+X...+X+Y" into "k*X+Y" or really convert "X+(X+Y)"
// into "(X<<1)+Y" and let shift-folding happen.
if( op2 == Op_AddL &&
in2->in(1) == in1 &&
op1 != Op_ConL &&
0 ) {
Node *shift = phase->transform(new LShiftLNode(in1,phase->intcon(1)));
return new AddLNode(shift,in2->in(2));
}
Notice the trailing "&& 0" in the condition. Seems to be that way since the initial load.
- duplicates
-
JDK-8266601 Fix bugs in AddLNode::Ideal transformations
- Resolved
- relates to
-
JDK-6258968 Global flags cleanup for C1 and C2
- Resolved