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.

Reply via email to