Skip to content

Commit da9381e

Browse files
authored
Revert "Fold "X relop 0" in assertprop" (#110129)
* Revert "Fold "X relop 0" in assertprop (#110076)" This reverts commit b5bdce2. * Dummy edit
1 parent 834de07 commit da9381e

File tree

2 files changed

+2
-39
lines changed

2 files changed

+2
-39
lines changed

src/coreclr/jit/assertionprop.cpp

Lines changed: 1 addition & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -4295,44 +4295,6 @@ GenTree* Compiler::optAssertionPropGlobal_RelOp(ASSERT_VALARG_TP assertions, Gen
42954295
GenTree* op1 = tree->AsOp()->gtOp1;
42964296
GenTree* op2 = tree->AsOp()->gtOp2;
42974297

4298-
// Can we fold "X relop 0" based on assertions?
4299-
if (op2->IsIntegralConst(0) && tree->OperIsCmpCompare())
4300-
{
4301-
bool isNonZero, isNeverNegative;
4302-
optAssertionProp_RangeProperties(assertions, op1, &isNonZero, &isNeverNegative);
4303-
4304-
if (tree->OperIs(GT_GE, GT_LT) && isNeverNegative)
4305-
{
4306-
// Assertions: X >= 0
4307-
//
4308-
// X >= 0 --> true
4309-
// X < 0 --> false
4310-
newTree = tree->OperIs(GT_GE) ? gtNewTrue() : gtNewFalse();
4311-
}
4312-
else if (tree->OperIs(GT_GT, GT_LE) && isNeverNegative && isNonZero)
4313-
{
4314-
// Assertions: X > 0
4315-
//
4316-
// X > 0 --> true
4317-
// X <= 0 --> false
4318-
newTree = tree->OperIs(GT_GT) ? gtNewTrue() : gtNewFalse();
4319-
}
4320-
else if (tree->OperIs(GT_EQ, GT_NE) && isNonZero)
4321-
{
4322-
// Assertions: X != 0
4323-
//
4324-
// X != 0 --> true
4325-
// X == 0 --> false
4326-
newTree = tree->OperIs(GT_NE) ? gtNewTrue() : gtNewFalse();
4327-
}
4328-
4329-
if (newTree != tree)
4330-
{
4331-
newTree = gtWrapWithSideEffects(newTree, tree, GTF_ALL_EFFECT);
4332-
return optAssertionProp_Update(newTree, tree, stmt);
4333-
}
4334-
}
4335-
43364298
// Look for assertions of the form (tree EQ/NE 0)
43374299
AssertionIndex index = optGlobalAssertionIsEqualOrNotEqualZero(assertions, tree);
43384300

@@ -4353,6 +4315,7 @@ GenTree* Compiler::optAssertionPropGlobal_RelOp(ASSERT_VALARG_TP assertions, Gen
43534315

43544316
newTree = curAssertion->assertionKind == OAK_EQUAL ? gtNewIconNode(0) : gtNewIconNode(1);
43554317
newTree = gtWrapWithSideEffects(newTree, tree, GTF_ALL_EFFECT);
4318+
newTree = fgMorphTree(newTree);
43564319
DISPTREE(newTree);
43574320
return optAssertionProp_Update(newTree, tree, stmt);
43584321
}

src/libraries/System.Runtime.InteropServices/tests/Directory.Build.targets

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>None</ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>
44
<IlcExportUnmanagedEntrypoints>true</IlcExportUnmanagedEntrypoints>
55
</PropertyGroup>
6-
<!-- Expose unmanaged entry points from NativeExports -->
6+
<!-- Expose unmanaged entry points from NativeExports -->
77
<ItemGroup Condition="'$(ReferencesNativeExports)' == 'true'">
88
<UnmanagedEntryPointsAssembly Include="Microsoft.Interop.Tests.NativeExports" />
99
<DirectPInvoke Include="Microsoft.Interop.Tests.NativeExportsNE" />

0 commit comments

Comments
 (0)