[C23] Fix treating unnamed records nested in different types as compatible. (#162933)
Don't compare and accept unnamed records from different types only
because they are defined in `RecordDecl` `DeclContext`. During recursive
comparison don't reject unnamed records defined inside other ordered
containers like Objective-C classes.
rdar://161592007
[lldb][NFC] Remove unused find_program logic (#163446)
All the unifdef logic was moved to source/API/CMakeLists.txt. This was
left behind during that move.
[msan] Mark allocator padding as uninitialized, with new origin tag (#157187)
This is follow-up work per discussion in
https://github.com/llvm/llvm-project/pull/155944#discussion_r2311688571.
If the allocator reserves more space than the user requested (e.g.,
`malloc(7)` and `calloc(7,1)` actually have 16 bytes reserved), the
padding bytes will now be marked as uninitialized.
Padding poisoning is controlled by the existing flag `poison_in_malloc`
(which applies to all allocation functions, not only malloc).
Origin tag:
- For `calloc` or with track-origins > 1, the origin will be set as a
new tag, `ALLOC_PADDING`
- Otherwise, the existing `ALLOC` tag will be used.
- In the case of ambiguity caused by origin granularity, `ALLOC` will
take precedence.
[WebAssembly] Optimize lowering of constant-sized memcpy and memset (#163294)
We currently emit a check that the size operand isn't zero, to avoid
executing the wasm memory.copy instruction when it would trap.
But this isn't necessary if the operand is a constant.
Fixes #163245
[HLSL][NFC] Refactor structured buffer methods tests (#161908)
Refactoring methods tests for structured buffers to make it clearer that:
- the test functions call the buffer methods and do not directly call the LLVM intrinsic
- the buffer methods are defined after each test function
- show what the buffer methods bodies look like
- use buffers with different element types, not just `float`
- use `llvm-cxxfilt` tool to de-mangle names
[orc-rt] Add ExecutorAddrRange::contains overload for ranges. (#163458)
Can be used to test that one address range is fully contained within
another. This is an orc-rt counterpart to aa731e19045, which added the
same operation to llvm::orc::ExecutorAddrRange.
[clang][PAC] Add ptrauth.h helpers for computing type discriminators
Adds an additional helper that had not been upstreamed, and adds documentation for both ptrauth_type_discriminator and ptrauth_function_pointer_type_discriminator
[LV] Add additional min/max reduction tests.
Add test coverage for min/max reductions with various combinations of
users (in and outside loops, used by stores) and predicated variants.
This adds missing test coverage for min/max reductions.
[HLSL][NFC] Add test coverage for `Buffer` (#161909)
Extending test coverage for `Buffer` resource class. Most of the typed buffer tests were using just `RWBuffer`. This change adds `Buffer` tests cases to existing `RWBuffer-*.test` files and renames them to `TypedBuffer-*.test`. The `Load` method test is separate into `TypedBuffers-methods.tests`.