@@ -13572,13 +13572,10 @@ void Compiler::gtDispLIRNode(GenTree* node, const char* prefixMsg /* = nullptr *
1357213572 * and call the methods to perform the folding
1357313573 */
1357413574
13575- GenTree* Compiler::gtFoldExpr(GenTree* tree, bool* folded )
13575+ GenTree* Compiler::gtFoldExpr(GenTree* tree)
1357613576{
1357713577 unsigned kind = tree->OperKind();
1357813578
13579- if (folded != nullptr)
13580- *folded = false;
13581-
1358213579 /* We must have a simple operation to fold */
1358313580
1358413581 // If we're in CSE, it's not safe to perform tree
@@ -13598,19 +13595,13 @@ GenTree* Compiler::gtFoldExpr(GenTree* tree, bool* folded)
1359813595 {
1359913596 if (tree->OperIsConditional())
1360013597 {
13601- GenTree* newTree = gtFoldExprConditional(tree);
13602- if (folded != nullptr)
13603- *folded = newTree != tree;
13604- return newTree;
13598+ return gtFoldExprConditional(tree);
1360513599 }
1360613600
1360713601#if defined(FEATURE_HW_INTRINSICS)
1360813602 if (tree->OperIsHWIntrinsic())
1360913603 {
13610- GenTree* newTree = gtFoldExprHWIntrinsic(tree->AsHWIntrinsic());
13611- if (folded != nullptr)
13612- *folded = newTree != tree;
13613- return newTree;
13604+ return gtFoldExprHWIntrinsic(tree->AsHWIntrinsic());
1361413605 }
1361513606#endif // FEATURE_HW_INTRINSICS
1361613607
@@ -13638,7 +13629,6 @@ GenTree* Compiler::gtFoldExpr(GenTree* tree, bool* folded)
1363813629 {
1363913630 if (op1->OperIsConst())
1364013631 {
13641- // constants folding results in a new tree that may be folded again, don't mark it as folded
1364213632 return gtFoldExprConst(tree);
1364313633 }
1364413634 }
@@ -13650,8 +13640,7 @@ GenTree* Compiler::gtFoldExpr(GenTree* tree, bool* folded)
1365013640 // one of their arguments is an address.
1365113641 if (op1->OperIsConst() && op2->OperIsConst() && !tree->OperIsAtomicOp())
1365213642 {
13653- // both nodes are constants - fold the expression
13654- // constants folding results in a new tree that may be folded again, don't mark it as folded
13643+ /* both nodes are constants - fold the expression */
1365513644 return gtFoldExprConst(tree);
1365613645 }
1365713646 else if (op1->OperIsConst() || op2->OperIsConst())
@@ -13666,19 +13655,13 @@ GenTree* Compiler::gtFoldExpr(GenTree* tree, bool* folded)
1366613655 return tree;
1366713656 }
1366813657
13669- GenTree* newTree = gtFoldExprSpecial(tree);
13670- if (folded != nullptr)
13671- *folded = newTree != tree;
13672- return newTree;
13658+ return gtFoldExprSpecial(tree);
1367313659 }
1367413660 else if (tree->OperIsCompare())
1367513661 {
1367613662 /* comparisons of two local variables can sometimes be folded */
1367713663
13678- GenTree* newTree = gtFoldExprCompare(tree);
13679- if (folded != nullptr)
13680- *folded = newTree != tree;
13681- return newTree;
13664+ return gtFoldExprCompare(tree);
1368213665 }
1368313666 }
1368413667
0 commit comments