[libcxx] Do not mark mkstemp tests xfail for libc (#203681)
mkstemp was recently implemented in
c9b25a6437fd97fdb1e55ab6661c0cccce98913e, so these tests now pass.
[clang-tidy] Avoid non-const-parameter fix-it conflicts with overloads (#202490)
`readability-non-const-parameter` can suggest changing `T *` to `const T
*` when that would conflict with an existing overload. Suppress the
diagnostic in that case by comparing the post-fix parameter list against
other declarations with the same name.
Closes https://github.com/llvm/llvm-project/issues/202478
[OpenACC] Fix scope setup for OpenACC directives without scope. (#203687)
When implementing these, I intended to have the 'empty' parse scopes for
most of the directives introduced for simplicity. However some
assertions show that this is not a valid use of this, as it doesn't
tolerate 'empty' parse scopes. This patch stops introducing one.
Fixes: #203679
Reapply "[lit] Deprecate execute_external=True in ShTest" (#203316) (#203689)
This reverts commit 6713634507b21efe6c895dd40e85ba72fe0ce269.
The fuzzer tests now use the internal shell by default, so we should be
good to go ahead and enable this.
[SPIR-V] Preserve pointer-to-pointer element type for T*& parameters (#203113)
SPIR-V backend was collapsing T*& reference parameters down to T*,
dropping a level of indirection during element-type deduction. This
patch keeps the pointer-to-pointer level intact, fixing it both within a
function (a T** reloaded from its alloca) and across calls via
cross-function parameter propagation.
Fixes HeCBench/topk on HIP.
[mlir-tblgen] Render enum keyword alternatives in generated attr/type docs
When mlir-tblgen generates documentation for AttrDefs/TypeDefs that have
EnumParameter fields, it previously rendered the raw C++ type (e.g.
`::mlir::ns::MyEnum`) in the syntax block. This was unhelpful for
users who need to know the valid keyword values.
This patch:
1. Adds an `EnumInfo enum = enumInfo;` field to the `EnumParameter`
TableGen class, persisting the enum record for tooling to inspect.
2. Modifies `emitAttrOrTypeDefAssemblyFormat` in OpDocGen.cpp to detect
EnumParameter fields and render their cases as backtick-quoted
alternatives (e.g. `` `read` | `read_write` ``).
3. Adds a test case to gen-dialect-doc.td verifying the new behavior.
Before:
#my_dialect.my_attr<
int32_t, # index
::mlir::ns::MyEnum, # access
[9 lines not shown]
[orc-rt] Add ORC_RT_C_NOTHROW and apply it to the Error C API. (#203674)
Adds an ORC_RT_C_NOTHROW macro that expands to `noexcept` in C++ mode,
and `__attribute__((nothrow))` where that attribute is supported.
Also applies the new ORC_RT_C_NOTHROW macro to orc-rt-c/Error.h (and
adds `noexcept` to the corresponding C++ implementation in
lib/executor/Error.cpp).
[CIR][OpenCL] Lower kernel argument metadata to LLVM IR
Translate CIR OpenCL kernel argument metadata into the LLVM IR kernel_arg_* metadata attached to kernel functions. Preserve optional argument names so -cl-kernel-arg-info controls the LLVM metadata surface through the CIR attribute.
[orc-rt] Merge ExternC.h and Visibility.h into Compiler.h. (#203673)
This mirrors the combined orc-rt/Compiler.h header on the C++ side, and
provides a natural home for future decoration macros when they're added.
[CIR][OpenCL] Attach kernel argument metadata to CIR functions
Emit the CIR OpenCL kernel argument metadata attribute for kernel functions. Preserve CIR language address-space kinds until lowering and include argument names only when `-cl-kernel-arg-info` is enabled.
[AMDGPU] Enabled GCN trackers (amdgpu-use-amdgpu-trackers) by default.
The LIT tests have been generally updated in one of the following ways:
(1) If the above option was not present and the test was auto-generated,
the test has now been auto-generated.
(2) If the above option was not present and the test was not
auto-generated, added the option -amdgpu-use-amdgpu-trackers=0 so as to
preserve any specific attributes the test was already checking.
(3) If the above option was present in a test, then its value has been
updated to reflect the change in the default.
Currently, there are 4 tests in category (2). They are:
CodeGen/AMDGPU/
addrspacecast.ll
schedule-regpressure-limit.ll
schedule-regpressure-limit2.ll
sema-v-unsched-bundle.ll
There are 8 tests in category (3). They are:
[15 lines not shown]