-
Notifications
You must be signed in to change notification settings - Fork 4.8k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Arm64: Add If conversion pass (#73472)
* Arm64: Add If conversion pass * Minor review fixups * Return a PhaseStatus * Fix formatting * Check for side effects on NOPs * Add function block comments for the phase * Remove creation of AND chains from if conversion pass * Update middleBlock flow * Check for order side effects * Remove COLON_COND check * Remove flag toggling * Move the conditional assignment to the JTRUE block * Fix formatting * Allow conditions with side effects * Fix formatting * Correct all moved SSA statements * Add size costing check * Only move middle block ssa defs * Fix formatting * Fewer SSA assumptions * Use implicit func for value numbering * Update header for gtFoldExprConditional * Cost based on speed * Add Stress mode for inner loops * Rework costings * Check for invalid VNs * Ignore compares against zero * Ensure float compares are contained * Allow if conversion of test compares * Do not contain test compares within compare chains * Add float versions of the JIT/opt/Compares tests * Fix formatting * Compare chains use CmpCompares, selects use Compares * Fix flow checking for empty blocks * Fix to contexts setting JitStdOutFile * Fix attr and reg producing in select generation
- Loading branch information
Showing
15 changed files
with
923 additions
and
48 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.