-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
Support fast tailcalls in R2R #56669
Commits on Jul 31, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 7137494 - Browse repository at this point
Copy the full SHA 7137494View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0efbbc4 - Browse repository at this point
Copy the full SHA 0efbbc4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5b0127e - Browse repository at this point
Copy the full SHA 5b0127eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 2b360c8 - Browse repository at this point
Copy the full SHA 2b360c8View commit details -
Configuration menu - View commit details
-
Copy full SHA for ae8fd46 - Browse repository at this point
Copy the full SHA ae8fd46View commit details
Commits on Aug 1, 2021
-
Configuration menu - View commit details
-
Copy full SHA for e45f0c5 - Browse repository at this point
Copy the full SHA e45f0c5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7f21f31 - Browse repository at this point
Copy the full SHA 7f21f31View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5ce1e65 - Browse repository at this point
Copy the full SHA 5ce1e65View commit details
Commits on Aug 2, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 81268fa - Browse repository at this point
Copy the full SHA 81268faView commit details -
Configuration menu - View commit details
-
Copy full SHA for 8e15c1c - Browse repository at this point
Copy the full SHA 8e15c1cView commit details -
Configuration menu - View commit details
-
Copy full SHA for b971fce - Browse repository at this point
Copy the full SHA b971fceView commit details -
Configuration menu - View commit details
-
Copy full SHA for 483b34a - Browse repository at this point
Copy the full SHA 483b34aView commit details
Commits on Aug 4, 2021
-
Configuration menu - View commit details
-
Copy full SHA for b533f4b - Browse repository at this point
Copy the full SHA b533f4bView commit details
Commits on Aug 29, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 1c0ede7 - Browse repository at this point
Copy the full SHA 1c0ede7View commit details
Commits on Aug 30, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 424d538 - Browse repository at this point
Copy the full SHA 424d538View commit details
Commits on Sep 4, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 24cfa6f - Browse repository at this point
Copy the full SHA 24cfa6fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 0968851 - Browse repository at this point
Copy the full SHA 0968851View commit details
Commits on Sep 24, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 91a665a - Browse repository at this point
Copy the full SHA 91a665aView commit details -
Configuration menu - View commit details
-
Copy full SHA for b345db7 - Browse repository at this point
Copy the full SHA b345db7View commit details -
More efficient arm64 VSD fast tailcalls, fix some bad merging
Also fix logic since we removed tailcall register. For ARM64 that means we now use the single temp reg that is available for R2R/VSD calls, and in LSRA we ensure this goes into a volatile register.
Configuration menu - View commit details
-
Copy full SHA for 0816d52 - Browse repository at this point
Copy the full SHA 0816d52View commit details -
Take R2R indirection into account for tail call profitability
On x64 an R2R indirected direct call normally disassembles the call site to determine the indirection cell, so it is more expensive to do tail calls in this scenario as the indirection cell needs to be passed in a register. Take this into account: if there is no tail. prefix, do normal calls, and otherwise use tail calls.
Configuration menu - View commit details
-
Copy full SHA for 863ad4d - Browse repository at this point
Copy the full SHA 863ad4dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 0778263 - Browse repository at this point
Copy the full SHA 0778263View commit details -
Configuration menu - View commit details
-
Copy full SHA for 92cd381 - Browse repository at this point
Copy the full SHA 92cd381View commit details -
Revert "Take R2R indirection into account for tail call profitability"
This reverts commit 863ad4d. Let's not divert on the behavior here. It is not clear that having a smaller call site is better than tail calling albeit with a larger call site.
Configuration menu - View commit details
-
Copy full SHA for 16e32b0 - Browse repository at this point
Copy the full SHA 16e32b0View commit details
Commits on Sep 25, 2021
-
Configuration menu - View commit details
-
Copy full SHA for d5729a7 - Browse repository at this point
Copy the full SHA d5729a7View commit details
Commits on Sep 26, 2021
-
Configuration menu - View commit details
-
Copy full SHA for b8ad2ba - Browse repository at this point
Copy the full SHA b8ad2baView commit details
Commits on Oct 1, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 9f70cc4 - Browse repository at this point
Copy the full SHA 9f70cc4View commit details
Commits on Oct 5, 2021
-
Take necessary conditions into account in canTailCall
Do not do implicit tailcalls when * The caller is the entry point * The caller is marked NoInline * The callee requires security object
Configuration menu - View commit details
-
Copy full SHA for ad78caf - Browse repository at this point
Copy the full SHA ad78cafView commit details