Commit
e166755a691921612274fdad945d3a6b05d00439
by yedeng.yd[C++20] [Modules] [Concepts] Recognize same concepts more precisely in Serialization
The compiler would judge two concepts is same by their addresses. However, when we use modules, the addresses wouldn't be the same all the time since one is parsed in their TU and another is imported in another TU. This patch fixes this by using isSameEntity to judge the two concepts.
Reviewed By: rsmith
Differential Revision: https://reviews.llvm.org/D114769
|
 | clang/test/Modules/Inputs/concept/A.cppm |
 | clang/test/Modules/concept.cppm |
 | clang/lib/Serialization/ASTReaderDecl.cpp |
 | clang/test/Modules/Inputs/concept/foo.h |
Commit
40028eaf703afdf5e50e05ac601b44501e285a42
by phosek[CMake] Specify byproducts for custom libcxx builds
These were removed in bda3f2dd763b06427dd2713aa062e356c9d7bdc6 but are needed as it turned out for the MSan tests.
|
 | compiler-rt/cmake/Modules/AddCompilerRT.cmake |
Commit
0fcb16eeb2284ad9b865d5865ae1b3c3a71a84d9
by stephen.neuendorfferAllow DataLayout to support arbitrary pointer sizes
Currently, it is impossible to specify a DataLayout with pointer size and index size that is not a whole number of bytes. This patch modifies the DataLayout class to accept arbitrary pointer sizes and to store the size as a number of bits, rather than as a number of bytes. Generally speaking, the external interface of the class as used by in-tree architectures remains the same and shouldn't affect the behavior of architecures with pointer sizes equal to a whole number of bytes.
Note the interface of setPointerAlignment has changed and takes a pointer and index size that is a number of bits, rather than a number of bytes.
Patch originally by Ajit Kumar Agarwal
Differential Revision: https://reviews.llvm.org/D114141
|
 | llvm/lib/IR/DataLayout.cpp |
 | llvm/include/llvm/IR/DataLayout.h |
 | llvm/test/Assembler/datalayout-anypointersize.ll |
 | llvm/test/Assembler/invalid-datalayout7.ll |
Commit
14ff611fe12f84324febbf94cb1d93de7a5eb95d
by jonathanchesterfieldRevert "[OpenMP][AMDGPU] Switch host-device memory copy to asynchronous version"
This reverts commit 6de698bf10996b532632bb9dfa9fd420c5af62af. It didn't build in the dynamic_hsa configuration
|
 | openmp/libomptarget/plugins/amdgpu/impl/impl.cpp |
 | openmp/libomptarget/plugins/amdgpu/impl/impl_runtime.h |
 | openmp/libomptarget/plugins/amdgpu/src/rtl.cpp |
Commit
96b92d5b3ec43be18146a346b65cc82766cf8b3a
by yedeng.yd[NFC] Only attach a declaration to global module fragment if it appears in a module
|
 | clang/lib/Sema/SemaDeclCXX.cpp |
Commit
e6d0b851f854849240bc1f02901b0dbb3be84388
by ties.stuij[ARM][libunwind] add PACBTI-M support for libunwind
This patch implements the following:
- Emit PACBTI-M build attributes in libunwind asm files
- Authenticate LR in DWARF32 using PACBTI
Use Armv8.1-M.Main PACBTI extension to authenticate the return address (stored in the LR register) before moving it to the PC (IP) register.
The AUTG instruction is used with the candidate return address, the CFA, and the authentication code that is retrieved from the saved pseudo-register RA_AUTH_CODE.
- Authenticate LR in EHABI using PACBTI
Authenticate the contents of the LR register using Armv8.1-M.Main PACBTI extension.
A new frame unwinding instruction is introduced (0xb4). This instruction pops out of the stack the return address authentication code, which is then used in conjunction with the SP and the next-to-be instruction pointer to perform authentication.
This authentication code is popped into a new register, UNW_ARM_PSEUDO_PAC, which is a pseudo-register.
This patch is part of a series that adds support for the PACBTI-M extension of the Armv8.1-M architecture, as detailed here:
https://community.arm.com/arm-community-blogs/b/architectures-and-processors-blog/posts/armv8-1-m-pointer-authentication-and-branch-target-identification-extension
The PACBTI-M specification can be found in the Armv8-M Architecture Reference Manual:
https://developer.arm.com/documentation/ddi0553/latest
The following people contributed to this patch:
- Momchil Velikov - Victor Campos - Ties Stuij
Reviewed By: #libunwind, danielkiss, mstorsjo
Differential Revision: https://reviews.llvm.org/D112430
|
 | clang/lib/Headers/unwind.h |
 | libunwind/include/libunwind.h |
 | libunwind/src/assembly.h |
 | libunwind/src/UnwindCursor.hpp |
 | libunwind/src/Unwind-EHABI.cpp |
 | libunwind/src/UnwindRegistersRestore.S |
 | libunwind/src/Registers.hpp |
 | libunwind/src/DwarfInstructions.hpp |
 | libunwind/include/unwind_arm_ehabi.h |
Commit
5d7efd4758b3d764f08e07abe05b821242e75830
by david.green[SDAG] Refine MMO size when converting masked load/store to normal load/store
After D113888 / 32b6c17b29079e7d the MMO size of a masked loads/store is unknown. When we are converting back to a standard load/store because the mask is known all ones, we can refine that to the correct size from the size of the vector being loaded/stored.
Differential Revision: https://reviews.llvm.org/D114582
|
 | llvm/test/CodeGen/X86/masked_loadstore_split.ll |
 | llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp |
Commit
0a54c325beff37c57991e88799c213534c1fa6a9
by hansAdd note about inlining dllimport functions to the attribute docs
Differential revision: https://reviews.llvm.org/D115252
|
 | clang/include/clang/Basic/AttrDocs.td |
Commit
5b6c08379b437cb22fcd63707b94df1ede23d9db
by Jan Svoboda[clang][deps] Reset some benign codegen options
Some command-line codegen arguments are likely to differ between identical modules discovered from different translation units. This patch removes them to make builds deterministic and/or reduce the number of built modules.
Reviewed By: Bigcheese
Differential Revision: https://reviews.llvm.org/D112923
|
 | clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp |
 | clang/test/ClangScanDeps/removed-args.c |
 | clang/test/ClangScanDeps/Inputs/removed-args/cdb.json.template |
Commit
9b914aacbd5414e48fa2a58e0082e7b69c783278
by Jan Svoboda[llvm] Remove out-of-date fixme from SmallVectorMemoryBuffer
This fixme first appeared in the codebase with the introduction of `ObjectMemoryBuffer` in rG93de2a12a36feaf1e6d8ff28c76db9b6cda4e844, but the constructor appears to never have been templated.
Reviewed By: dexonsmith
Differential Revision: https://reviews.llvm.org/D115044
|
 | llvm/include/llvm/Support/SmallVectorMemoryBuffer.h |