mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-22 20:14:43 +02:00
6667595: Set probability FAIR for pre-, post- loops and ALWAYS for main loop
Fix loop's probability. Add optimizations to avoid spilling. Change InlineSmallCode to product flag. Reviewed-by: never
This commit is contained in:
parent
453d1a42b0
commit
adce6fc49a
9 changed files with 156 additions and 49 deletions
|
@ -206,6 +206,14 @@ Node *SubINode::Ideal(PhaseGVN *phase, bool can_reshape){
|
|||
if( op1 == Op_AddI && op2 == Op_AddI && in1->in(2) == in2->in(2) )
|
||||
return new (phase->C, 3) SubINode( in1->in(1), in2->in(1) );
|
||||
|
||||
// Convert "(A+X) - (X+B)" into "A - B"
|
||||
if( op1 == Op_AddI && op2 == Op_AddI && in1->in(2) == in2->in(1) )
|
||||
return new (phase->C, 3) SubINode( in1->in(1), in2->in(2) );
|
||||
|
||||
// Convert "(X+A) - (B+X)" into "A - B"
|
||||
if( op1 == Op_AddI && op2 == Op_AddI && in1->in(1) == in2->in(2) )
|
||||
return new (phase->C, 3) SubINode( in1->in(2), in2->in(1) );
|
||||
|
||||
// Convert "A-(B-C)" into (A+C)-B", since add is commutative and generally
|
||||
// nicer to optimize than subtract.
|
||||
if( op2 == Op_SubI && in2->outcnt() == 1) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue