Hi Anton, I tried building Chromium with and without this LLVM change and saw a size reduction of 2.4 MB. However, that was a normal x64.release development build, and I'm not sure if official builds with profile-guided optimization will see the same benefit. I suspect that PGO might already have the power to override our recommendation of calling convention if it decides that a function is cold enough, which could avoid the problem in many cases.
I haven't done any speed testing, but I hope that this change will prevent future Windows-only regressions such as 1431430 - [Chromium Perf Sheriff]: 3 regressions in blink_perf.bindings - chromium <https://bugs.chromium.org/p/chromium/issues/detail?id=1431430>. Best, Seth On Monday, December 4, 2023 at 12:40:18 PM UTC-8 ant.bi...@gmail.com wrote: > I didn't know that, so you saved me a lot of time. Thanks! 🙂 The change >> is now landed in LLVM: Update preserve_most to treat XMM registers like >> C by sethbrenith · Pull Request #73866 · llvm/llvm-project (github.com) >> <https://github.com/llvm/llvm-project/pull/73866>. > > Amazing, thanks for taking this over! Have you checked if this fixed the > binary size regression (and possibly performance)? > > пн, 4 дек. 2023 г. в 21:06, 'seth.b...@microsoft.com' via v8-dev < > v8-...@googlegroups.com>: > >> >> I guess you know it already, but just in case: changing *preserve_most* >> for Windows would likely require adding a new windows-specific >> *callee-saved-regs >> list* into *X86CallingCond.td *(e.g. *CSR_Win64_RT_MostRegs*) that would >> contain *xmm6-xmm15*. Then you'd need to dispatch based on whether >> *IsWin64* in *X86RegisterInfo.cpp.* >> >> >> I didn't know that, so you saved me a lot of time. Thanks! 🙂 The change >> is now landed in LLVM: Update preserve_most to treat XMM registers like >> C by sethbrenith · Pull Request #73866 · llvm/llvm-project (github.com) >> <https://github.com/llvm/llvm-project/pull/73866>. >> >> >> -- >> > -- >> v8-dev mailing list >> v8-...@googlegroups.com >> http://groups.google.com/group/v8-dev >> --- >> You received this message because you are subscribed to the Google Groups >> "v8-dev" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to v8-dev+un...@googlegroups.com. >> > To view this discussion on the web visit >> https://groups.google.com/d/msgid/v8-dev/a82f615a-9284-48f5-94f4-a00732695b2dn%40googlegroups.com >> >> <https://groups.google.com/d/msgid/v8-dev/a82f615a-9284-48f5-94f4-a00732695b2dn%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> > > > -- > Sincerely, > Anton. > -- -- v8-dev mailing list v8-dev@googlegroups.com http://groups.google.com/group/v8-dev --- You received this message because you are subscribed to the Google Groups "v8-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to v8-dev+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/v8-dev/6575da5a-59f4-49d3-9939-584935ac093an%40googlegroups.com.