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

Handle casts done via helpers and fold overflow operations in value numbering #50450

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
17 commits
Select commit Hold shift + click to select a range
6afb154
Added a missing license header
SingleAccretion Mar 12, 2021
202583b
Added a test verifying that checked arithmetic is correct
SingleAccretion Mar 12, 2021
16a9314
Added a test verifying that checked casts are correct
SingleAccretion Mar 16, 2021
9e719cf
Refactored VNEvalShouldFold
SingleAccretion Mar 16, 2021
69e3a5e
Refactored gtFoldExprConst to use helpers and follow the common code …
SingleAccretion Mar 20, 2021
d2dcd1f
Fixed the comment stating TYP_BYREF has no zero value
SingleAccretion Mar 20, 2021
a37285a
Moved checking of overflow for arithmetic operations from gtFoldExprC…
SingleAccretion Mar 20, 2021
5ceac44
Implemented folding of overflow arithmetic in value numbering
SingleAccretion Mar 21, 2021
4f57463
Fixed some typos in valuenum.cpp/h
SingleAccretion Mar 21, 2021
1b1093a
Added identity-based evaluation for overflow arithmetic
SingleAccretion Mar 27, 2021
b00f070
Refactored gtFoldExpr some more, moved the overflow checking logic to…
SingleAccretion Mar 28, 2021
b414029
Implemented folding of checked casts in value numbering, started valu…
SingleAccretion Mar 29, 2021
94e3938
Fixed the formatting
SingleAccretion Mar 30, 2021
174f2cb
Made the definition of var_types a standalone header so that it can b…
SingleAccretion Mar 31, 2021
53b0330
Replaced uses of GTF_CALL_M_SPECIAL_INTRINSIC with the equivalent hel…
SingleAccretion Apr 3, 2021
74e0212
Fold cast via helpers in morph
SingleAccretion Apr 3, 2021
adc042d
Disable the test for checked casts on Mono
SingleAccretion Apr 5, 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 @@ -248,6 +248,7 @@ if (CLR_CMAKE_TARGET_WIN32)
valuenumtype.h
varset.h
vartype.h
vartypesdef.h
)

if (CLR_CMAKE_TARGET_ARCH_ARM64 OR CLR_CMAKE_TARGET_ARCH_ARM)
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 @@ -4986,6 +4986,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