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

"==0" optimization in Boolean logic #13573 #49548

Merged
merged 25 commits into from
Jul 14, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
5b16f0a
Equals to 0 optimization in Boolean logic
JulieLeeMSFT Feb 17, 2021
bac5938
Limit bool optimization to Integral return type only
JulieLeeMSFT Mar 10, 2021
8d9484c
Use the updated flowList:setEdgeWeights method with the 3rd parameter
JulieLeeMSFT Mar 11, 2021
635e605
Skip bool optimization for cases that require NOT transformation
JulieLeeMSFT Mar 11, 2021
b8858fc
Skip bool optimization when the third block GT_RETURN is not CNT_INT int
JulieLeeMSFT Mar 17, 2021
afbd075
format patch
JulieLeeMSFT Mar 17, 2021
a437514
Added more bool optimization cases
JulieLeeMSFT Mar 22, 2021
3b51938
format patch
JulieLeeMSFT Mar 23, 2021
854b011
Refactored setting fold type and comparison type to fix jitstress error
JulieLeeMSFT Mar 26, 2021
f28e0d6
format patch
JulieLeeMSFT Mar 26, 2021
ef65ee3
Refactored common codes for conditional block and return block boolea…
JulieLeeMSFT Mar 27, 2021
5746b61
format patch
JulieLeeMSFT Mar 27, 2021
7740064
Unit test changed to remove EH handling and add return value checks
ewhapdx Apr 2, 2021
d0c47e8
Unit test: add back test cases for ANDing and NE cases
ewhapdx Apr 3, 2021
f0adde5
Made OptBoolsDsc struct to pass it off to the helper methods.
ewhapdx Apr 23, 2021
29dc719
format patch
ewhapdx Apr 23, 2021
d02d18e
Changed to substructure OptTestInfo within OptBoolsDisc
JulieLeeMSFT Jun 19, 2021
ebf2010
Cleaned up tree variables in OptBoolsDsc struct
JulieLeeMSFT Jun 21, 2021
a7cdf1c
Moved some methods for Boolean Optimization to OptBoolsDsc struct
JulieLeeMSFT Jun 24, 2021
e3a6520
Moved all private methods for Boolean Optimization to OptBoolsDsc struct
JulieLeeMSFT Jun 24, 2021
5f02965
Boolean Optimization: Handled code review feedback
JulieLeeMSFT Jul 2, 2021
d14053e
Optimize bools: hoisted jump destination check to optOptimizeBools() …
JulieLeeMSFT Jul 9, 2021
12c7a8a
format patch
JulieLeeMSFT Jul 9, 2021
0e96608
Moved initialization to OptBoolsDsc constructor
JulieLeeMSFT Jul 13, 2021
1cdcdb8
format patch
JulieLeeMSFT Jul 13, 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
6 changes: 1 addition & 5 deletions src/coreclr/jit/compiler.h
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,7 @@ class FgStack; // defined in fgbasic.cpp
class Instrumentor; // defined in fgprofile.cpp
class SpanningTreeVisitor; // defined in fgprofile.cpp
class CSE_DataFlow; // defined in OptCSE.cpp
class OptBoolsDsc; // defined in optimizer.cpp
#ifdef DEBUG
struct IndentStack;
#endif
Expand Down Expand Up @@ -6314,11 +6315,6 @@ class Compiler
public:
void optOptimizeBools();

private:
GenTree* optIsBoolCond(GenTree* condBranch, GenTree** compPtr, bool* boolPtr);
#ifdef DEBUG
void optOptimizeBoolsGcStress(BasicBlock* condBlock);
#endif
public:
PhaseStatus optInvertLoops(); // Invert loops so they're entered at top and tested at bottom.
PhaseStatus optOptimizeLayout(); // Optimize the BasicBlock layout of the method
Expand Down
Loading