Commit
50ae6a3ac9bdf640ecc69fe6540b08a8b4355398
by flo[AArch64] Make target intrinsics DefaultAttrIntrinsics.
DefaultAttrIntrinsics was introduced to add very common attributes to a large set of intrinsics.
Currently the added attributes include:
nofree nosync nounwind willreturn
I think those should hold for most AArch64 target intrinsics, but there are too many to check manually. This patch makes most AArch64 target intrinsics DefaultAttrsIntrinsics.
Some notable exceptions I think are exclusive loads and stores as well as the memory barrier intrinsics, for which nosync does not apply I think.
Reviewed By: SjoerdMeijer
Differential Revision: https://reviews.llvm.org/D94687
|
 | llvm/test/Assembler/aarch64-intrinsics-attributes.ll |
 | llvm/include/llvm/IR/IntrinsicsAArch64.td |
Commit
2f92386e721acd7badac06b67229537c4f0adfad
by adhemerval.zanella[LLD][ELF][AArch64] Set _GLOBAL_OFFSET_TABLE_ at the start of .got
The commit 18aa0be36ed9 changed the default GotBaseSymInGotPlt to true for AArch64. This is different than binutils, where _GLOBAL_OFFSET_TABLE_ points at the start or .got.
It seems to not intefere with current relocations used by LLVM. However as indicated by PR#40357 [1] gcc generates R_AARCH64_LD64_GOTPAGE_LO15 for -pie (in fact it also generated the relocation for -fpic).
This change is requires to correctly handle R_AARCH64_LD64_GOTPAGE_LO15 by lld from objects generated by gcc.
[1] https://bugs.llvm.org/show_bug.cgi?id=40357
|
 | lld/ELF/Arch/AArch64.cpp |
 | lld/test/ELF/global-offset-table-position-aarch64.s |
Commit
291ac7e622d542f8b25f74bc28051762edc90938
by flo[AArch64] Revert back to Intrinsic<> for TME instructions.
This patch reverts back to Intrinsic for the instructions for the transactional memory extension, so nosync is not included.
|
 | llvm/include/llvm/IR/IntrinsicsAArch64.td |
 | clang/test/CodeGen/aarch64-tme.cpp |