Skip to content

Commit 8b894ea

Browse files
authored
Optimization for "~x + 1" to "-x" (#69003) (#69600)
1 parent 7bccc67 commit 8b894ea

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

src/coreclr/jit/morph.cpp

+10
Original file line numberDiff line numberDiff line change
@@ -12895,6 +12895,16 @@ GenTree* Compiler::fgOptimizeAddition(GenTreeOp* add)
1289512895

1289612896
return add;
1289712897
}
12898+
12899+
// Fold (~x + 1) to -x.
12900+
if (op1->OperIs(GT_NOT) && op2->IsIntegralConst(1))
12901+
{
12902+
op1->SetOper(GT_NEG);
12903+
op1->SetVNsFromNode(add);
12904+
DEBUG_DESTROY_NODE(op2);
12905+
DEBUG_DESTROY_NODE(add);
12906+
return op1;
12907+
}
1289812908
}
1289912909

1290012910
return nullptr;

0 commit comments

Comments
 (0)