tree 161853a2d8cb724fdc46c3fabac05f2c4c2201df
parent cc17f68e566ab7db4ac8e95dc857e49e10d8366c
author Omair Javaid <omair.javaid@linaro.org> 1749739122 +0500
committer GitHub <noreply@github.com> 1749739122 +0500
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsFcBAABCAAQBQJoSuZyCRC1aQ7uu5UhlAAAk/EQAEBgmGrdf6o9n5r9+hM1IEvR
 /kxhLOd7h73WqR0ZxoHxr78dJBd0/z9QX8SKFTAMunEzz8NNcfl04W0bX7fuokrx
 11Z3RyqexWCKo+Syk8nDwEuFKWWlAMXZOxfJXDFYLS1f6B4VGafvnfHL2EQHY2kL
 93CWqGB4ldpVEIJ4bYDICD+FJMedV0wUqosMzRF4AysqdrBU2yXAQWnIDuDY6a0V
 eE9G6Mw7ZKFCJl/5ZfYHsPTpW6sLufwOrRaWxFaUpKPIM8ZvBTlafU81ZTDwRjDH
 hfqkjLf8qAshkXjxiHPap/5qzIdnSaN3WpGZUWu2oVCK9trUSIcVCas7aq1wm6qm
 Fd71VQLZsWeam6dUGhU3zps8sIRy6QN6xUbWMKZiCcb3hvScwS8JeY4cK4HmjxOx
 75+LGoFzp6vXAGH3YQLgEpY5nzPnpz983gyNtuE7LCEGxgppqfrMUDowRfA3YRWQ
 YlVq5uymzR8EECibj3BO8rZfp6GILcG5/dBJjUuC6IYa5PInReIYxSgqRsgoVV+G
 oBsli6Nn8ZAuZDG7qlcMJJOUqw8dovW/AZ6g45Di7q8pbN7SvO+5o4ethV1qKBs6
 f59boXDyzz8QWI1iJFb7/Y0pP5frPX9NrAFbzoqGu/yTYdH0ooNzEb0E00khxi+k
 G0gj5H3hOKoPQ6S+UY7u
 =7biw
 -----END PGP SIGNATURE-----
 

[CodeGen] Inline stack guard check on Windows (#136290)

This patch optimizes the Windows security cookie check mechanism by
moving the comparison inline and only calling __security_check_cookie
when the check fails. This reduces the overhead of making a DLL call 
for every function return.

Previously, we implemented this optimization through a machine pass
(X86WinFixupBufferSecurityCheckPass) in PR #95904 submitted by
@mahesh-attarde. We have reverted that pass in favor of this new 
approach. Also we have abandoned the AArch64 specific implementation 
of same pass in PR #121938 in favor of this more general solution.

The old machine instruction pass approach:
- Scanned the generated code to find __security_check_cookie calls
- Modified these calls by splitting basic blocks
- Added comparison logic and conditional branching
- Required complex block management and live register computation

The new approach:
- Implements the same optimization during instruction selection
- Directly emits the comparison and conditional branching
- No need for post-processing or basic block manipulation
- Disables optimization at -Oz.

Thanks @tamaspetz, @efriedma-quic and @arsenm for their help.