LLVM 19 aarch64 now supports preserve_none #33
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
aarch64 support for the preserve_none attribute has landed in LLVM 19. Note that the preserve_none support for aarch64 seems to be under active development. The order of the registers in the calling convention has changed at least once, and seems to be subject to change. The up to date calling convention can be found in the LLVM repository here:
https://github.com/llvm/llvm-project/blob/main/llvm/lib/Target/AArch64/AArch64CallingConvention.td#L529C34-L533C51
Unfortunately I am not able to test out the new LLVM 19 support for aarch64. The laptop that I was previously using for testing Patcherex2 is at home in my apartment, and I am traveling until August 11.
I am not sure if the LLVM 19 apt trunk distributions have the latest calling convention yet. We may want to wait a couple more weeks to see if things stabilize before merging this pull request.
Funding for AMP at Draper ends at the end of July, so I will have limited resources if something drastic needs to change in August.