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

ARM64 - Always morph GT_MOD #68885

Merged
merged 46 commits into from
Jun 11, 2022
Merged
Changes from 1 commit
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
f1e7232
Always morph GT_MOD for ARM64. Added lowering optimization for a full…
TIHan May 5, 2022
8205969
Remove space
TIHan May 5, 2022
98a4350
Match cases with mod 2 and long types
TIHan May 5, 2022
dd8556f
Minor tweak
TIHan May 5, 2022
b3c967e
Minor tweak
TIHan May 5, 2022
9b35e79
Minor tweak
TIHan May 5, 2022
2517c60
Do not add overflow/throwdivzero to the block if the second operand i…
TIHan May 5, 2022
c0b8b1a
Lets not modify whether or not we should have overflow/throwdivzero e…
TIHan May 5, 2022
e19661c
Merge branch 'main' into mod-opt-fix
TIHan May 12, 2022
d989b10
Perform the transformation in pre-order rationalization
TIHan May 16, 2022
44065c0
Merge branch 'mod-opt-fix' of github.com:TIHan/runtime into mod-opt-fix
TIHan May 16, 2022
7c43a37
Fix cns equality check
TIHan May 16, 2022
9c03bc6
Fixing build
TIHan May 16, 2022
6b3b7e5
Fixing build
TIHan May 16, 2022
574c17d
Fixing build
TIHan May 16, 2022
068bb7f
Merge remote-tracking branch 'upstream/main' into mod-opt-fix
TIHan May 17, 2022
7628c7b
Merge remote-tracking branch 'upstream/main' into mod-opt-fix
TIHan May 18, 2022
9d06be0
Merge branch 'mod-opt-fix' of github.com:TIHan/runtime into mod-opt-fix
TIHan May 18, 2022
e334dcf
Formatting
TIHan May 18, 2022
5400acc
Use correct cns
TIHan May 18, 2022
b10a443
Use correct cns
TIHan May 18, 2022
79d943a
Formatting
TIHan May 18, 2022
b3a6608
Moving to PostorderVisit
TIHan May 18, 2022
ca8c836
Moving to simple lowering and checking if node is closed
TIHan May 19, 2022
d2057b9
Merging
TIHan May 19, 2022
c3531f3
Fixing build
TIHan May 19, 2022
fe7e590
Added comment
TIHan May 20, 2022
6f6c1b1
Update flowgraph.cpp
TIHan May 20, 2022
611dc66
Merge remote-tracking branch 'upstream/main' into mod-opt-fix
TIHan May 24, 2022
26784cc
Merge branch 'mod-opt-fix' of github.com:TIHan/runtime into mod-opt-fix
TIHan May 25, 2022
d78e4b5
Merge remote-tracking branch 'upstream/main' into mod-opt-fix
TIHan Jun 1, 2022
51bd85b
Merging. Moving back to pre-order. Added regression test.
TIHan Jun 1, 2022
c2052ea
Do not need to check reverse ops as we just look for vars and constants
TIHan Jun 1, 2022
9501ae3
Remove extra var
TIHan Jun 2, 2022
cde3705
Renamed regression test. Added license header
TIHan Jun 6, 2022
4785bd9
Some tweaks
TIHan Jun 6, 2022
6ccee6f
Fixing build
TIHan Jun 6, 2022
fcf9517
Fixing build
TIHan Jun 7, 2022
68d8df9
Merge remote-tracking branch 'upstream/main' into mod-opt-fix
TIHan Jun 7, 2022
e9d332f
Merge remote-tracking branch 'upstream/main' into mod-opt-fix
TIHan Jun 8, 2022
0452912
Added GT_CNEG_LT for ARM64 LIR to handle mod 2
TIHan Jun 9, 2022
80635b0
Added GT_CMP case for checking valid imm
TIHan Jun 9, 2022
edeb5b1
Formatting
TIHan Jun 9, 2022
61204af
Revert "Added GT_CMP case for checking valid imm"
TIHan Jun 10, 2022
61c3f81
Reverting
TIHan Jun 10, 2022
6038298
Do not bail on reverse
TIHan Jun 10, 2022
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
Prev Previous commit
Next Next commit
Minor tweak
  • Loading branch information
TIHan committed May 5, 2022
commit 9b35e79b08050820d8ffb2b03ced6fa6694d3e6d
12 changes: 6 additions & 6 deletions src/coreclr/jit/lowerarmarch.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -318,29 +318,29 @@ GenTree* Lowering::LowerBinaryArithmetic(GenTreeOp* binOp)
// Match the trees that looks like this:
// i % 16(or any constant that is the power of 2)
// SUB
// LCL_VAR
// LCL_VAR V0
// LSH
// RSH
// ADD
// AND
// RSH
// LCL_VAR
// LCL_VAR V0
// CNS_INT 31
// CNS_INT 15
// LCL_VAR
// LCL_VAR V0
// CNS_INT 4
// CNS_INT 4
//
// i % 2
// SUB
// LCL_VAR
// LCL_VAR V0
// LSH
// RSH
// ADD
// RSZ
// LCL_VAR
// LCL_VAR V0
// CNS_INT 31
// LCL_VAR
// LCL_VAR V0
// CNS_INT 1
// CNS_INT 1
// We want to turn these matches into a MOD with its second operand
Expand Down