Skip to content

Commit d5f71bc

Browse files
committed
Fix build failure
1 parent e392f2a commit d5f71bc

2 files changed

Lines changed: 18 additions & 17 deletions

File tree

src/coreclr/jit/compiler.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3969,8 +3969,8 @@ class Compiler
39693969
GenTree* gtFoldExprForOverflow(GenTree* tree);
39703970

39713971
GenTree* gtFoldIndirConst(GenTreeIndir* indir);
3972-
GenTree* gtFoldExprSpecial(GenTree* tree);
3973-
GenTree* gtFoldExprSpecialFloating(GenTree* tree);
3972+
GenTree* gtFoldExprSpecial(GenTreeOp* tree);
3973+
GenTree* gtFoldExprSpecialFloating(GenTreeOp* tree);
39743974
GenTree* gtFoldBoxNullable(GenTree* tree);
39753975
GenTree* gtFoldExprCompare(GenTree* tree);
39763976
GenTree* gtFoldExprConditional(GenTree* tree);

src/coreclr/jit/gentree.cpp

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -15906,10 +15906,9 @@ CORINFO_METHOD_HANDLE Compiler::gtGetHelperArgMethodHandle(GenTree* tree)
1590615906
// Tree (possibly modified at root or below), or a new tree
1590715907
// Any new tree is fully morphed, if necessary.
1590815908
//
15909-
GenTree* Compiler::gtFoldExprSpecial(GenTree* tree)
15909+
GenTree* Compiler::gtFoldExprSpecial(GenTreeOp* tree)
1591015910
{
1591115911
assert(tree->OperIsBinary());
15912-
assert(!optValnumCSE_phase);
1591315912
assert(opts.Tier0OptimizationEnabled());
1591415913

1591515914
if (tree->OperIsCommutative() || tree->OperIsCompare())
@@ -15922,18 +15921,12 @@ GenTree* Compiler::gtFoldExprSpecial(GenTree* tree)
1592215921
return tree;
1592315922
}
1592415923

15925-
var_types type = tree->TypeGet();
15926-
GenTree* op1 = tree->AsOp()->gtOp1;
15927-
GenTree* op2 = tree->AsOp()->gtOp2;
15928-
genTreeOps oper = tree->OperGet();
15929-
15930-
GenTree* op;
15931-
GenTree* cons;
15932-
ssize_t val;
15933-
1593415924
/* We only consider TYP_INT for folding
1593515925
* Do not fold pointer arithmetic (e.g. addressing modes!) */
1593615926

15927+
var_types type = tree->TypeGet();
15928+
genTreeOps oper = tree->OperGet();
15929+
1593715930
if (oper != GT_QMARK && !varTypeIsIntOrI(type))
1593815931
{
1593915932
if (varTypeIsFloating(type))
@@ -15943,6 +15936,13 @@ GenTree* Compiler::gtFoldExprSpecial(GenTree* tree)
1594315936
return tree;
1594415937
}
1594515938

15939+
GenTree* op1 = tree->AsOp()->gtOp1;
15940+
GenTree* op2 = tree->AsOp()->gtOp2;
15941+
15942+
GenTree* op;
15943+
GenTree* cons;
15944+
ssize_t val;
15945+
1594615946
/* Find out which is the constant node */
1594715947

1594815948
if (op1->IsCnsIntOrI())
@@ -16269,13 +16269,14 @@ GenTree* Compiler::gtFoldExprSpecial(GenTree* tree)
1626916269
// Tree (possibly modified at root or below), or a new tree
1627016270
// Any new tree is fully morphed, if necessary.
1627116271
//
16272-
GenTree* Compiler::gtFoldExprSpecialFloating(GenTree* tree)
16272+
GenTree* Compiler::gtFoldExprSpecialFloating(GenTreeOp* tree)
1627316273
{
16274+
assert(tree->OperIsBinary());
16275+
assert(opts.OptimizationEnabled());
1627416276
assert(varTypeIsFloating(tree->TypeGet()));
16275-
assert(tree->OperKind() & GTK_BINOP);
1627616277

16277-
GenTree* op1 = tree->AsOp()->gtOp1;
16278-
GenTree* op2 = tree->AsOp()->gtOp2;
16278+
GenTree* op1 = tree->gtGetOp1();
16279+
GenTree* op2 = tree->gtGetOp2();
1627916280
genTreeOps oper = tree->OperGet();
1628016281

1628116282
GenTree* op;

0 commit comments

Comments
 (0)