Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Re-revert "Fold overflow operations in value numbering" #51440

Merged
Show file tree
Hide file tree
Changes from 20 commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
9c01c96
Added a missing license header
SingleAccretion Mar 12, 2021
4cafa8c
Added a test verifying that checked arithmetic is correct
SingleAccretion Mar 12, 2021
96b4d20
Added a test verifying that checked casts are correct
SingleAccretion Mar 16, 2021
82c460d
Disabled the test for checked casts on Mono
SingleAccretion Apr 5, 2021
4a711aa
Refactored VNEvalShouldFold
SingleAccretion Mar 16, 2021
0d18ab0
Refactored gtFoldExprConst to use helpers and follow the common code …
SingleAccretion Mar 20, 2021
0a049d6
Fixed the comment stating TYP_BYREF has no zero value
SingleAccretion Mar 20, 2021
10f2dcb
Moved checking of overflow for arithmetic operations from gtFoldExprC…
SingleAccretion Mar 20, 2021
fa1ab87
Implemented folding of overflow arithmetic in value numbering
SingleAccretion Mar 21, 2021
9ab7753
Fixed some typos in valuenum.cpp/h
SingleAccretion Mar 21, 2021
0c66ac1
Added identity-based evaluation for overflow arithmetic
SingleAccretion Mar 27, 2021
c2d4d79
Made the definition of var_types a standalone header so that it can b…
SingleAccretion Mar 31, 2021
9c67714
Refactored gtFoldExpr some more, moved the overflow checking logic to…
SingleAccretion Mar 28, 2021
99a9829
Implemented folding of checked casts in value numbering
SingleAccretion Apr 17, 2021
81f9ed3
Demote the tests to Tier1
SingleAccretion May 24, 2021
4467b08
Fixed a comment
SingleAccretion May 24, 2021
59dc67f
Made arithmetic CheckedOps functions templated
SingleAccretion May 24, 2021
0580145
Move the locals under "if" to avoid shadowing
SingleAccretion May 24, 2021
b64e00a
Use ClrSafeInt instead of custom code
SingleAccretion May 24, 2021
610b612
Fix a copy and paste mistake
SingleAccretion May 24, 2021
2982f40
Update src/coreclr/jit/utils.cpp
AntonLapounov May 25, 2021
f26f1b8
Apply suggestions from code review
SingleAccretion May 25, 2021
09fc5b9
Assert type != TYP_BYREF in VNEvalShouldFold
SingleAccretion May 25, 2021
ef91357
Drop the MAX_ prefix from MIN
SingleAccretion May 25, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions src/coreclr/jit/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -255,6 +255,7 @@ if (CLR_CMAKE_TARGET_WIN32)
valuenumtype.h
varset.h
vartype.h
vartypesdef.h
)

# Append clrjit.natvis file
Expand Down
3 changes: 3 additions & 0 deletions src/coreclr/jit/assertionprop.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4992,6 +4992,9 @@ GenTree* Compiler::optExtractSideEffListFromConst(GenTree* tree)
bool ignoreRoot = true;

gtExtractSideEffList(tree, &sideEffList, GTF_SIDE_EFFECT, ignoreRoot);

JITDUMP("Extracted side effects from a constant tree [%06u]:\n", tree->gtTreeID);
DISPTREE(sideEffList);
}

return sideEffList;
Expand Down
Loading