This repo is for experimentation and exploring new ideas that may or may not make it into the main dotnet/runtime repo.
1.37k
stars
189
forks
source link
[NativeAOT-LLVM] Zero shadow locals using a single `memset` #2498
Closed
SingleAccretion closed 5 months ago
Group them together so it's possible to do so. Gives up on "ideal" layout in the present of align-8 locals, but it shouldn't be a big deal.
The diffs are kind of mixed due to an upstream LLVM issue (https://github.com/llvm/llvm-project/issues/79692):
But overall still an improvement. More importantly, debug code sees nice wins:
For reference, here are the diffs with a workaround for that LLVM issue:
We can do the workaround for all memsets/memcpys though, so it doesn't make sense to add it just for the prolog zeroing.