SuccessChanges

Summary

  1. [Clang] Enable __has_feature(coverage_sanitizer) (details)
  2. [mlir] Add error state and error propagation to async runtime values (details)
  3. [X86] Pre-commit tests for D103192. NFC (details)
  4. [X86] Fold (shift undef, X)->0 for vector shifts by immediate. (details)
  5. [mlir] Async: Add error propagation support to async groups (details)
  6. [mlir][NFC] Don't outline kernel in MMA integration tests (details)
Commit 4fbc66cd6d90d8d5169c43fcc1b1e26e8a98d3a9 by elver
[Clang] Enable __has_feature(coverage_sanitizer)

Like other sanitizers, enable __has_feature(coverage_sanitizer) if clang
has enabled at least one SanitizerCoverage instrumentation type.

Because coverage instrumentation selection is not handled via normal
-fsanitize= (and thus not in SanitizeSet), passing this information
through to LangOptions required propagating the already parsed
-fsanitize-coverage= options from CodeGenOptions through to LangOptions
in FixupInvocation().

Reviewed By: aaron.ballman

Differential Revision: https://reviews.llvm.org/D103159
The file was addedclang/test/Lexer/has_feature_coverage_sanitizer.cpp
The file was modifiedclang/include/clang/Basic/Features.def
The file was modifiedclang/docs/SanitizerCoverage.rst
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedclang/include/clang/Basic/LangOptions.h
Commit 39957aa4243cb9aec3a7114c0ecf710ecce96b72 by ezhulenev
[mlir] Add error state and error propagation to async runtime values

Depends On D103102

Not yet implemented:
1. Error handling after synchronous await
2. Error handling for async groups

Will be addressed in the followup PRs

Reviewed By: mehdi_amini

Differential Revision: https://reviews.llvm.org/D103109
The file was modifiedmlir/include/mlir/Dialect/Async/IR/AsyncOps.td
The file was modifiedmlir/lib/Conversion/AsyncToLLVM/AsyncToLLVM.cpp
The file was modifiedmlir/include/mlir/ExecutionEngine/AsyncRuntime.h
The file was modifiedmlir/test/Conversion/AsyncToLLVM/convert-runtime-to-llvm.mlir
The file was addedmlir/test/mlir-cpu-runner/async-error.mlir
The file was modifiedmlir/lib/ExecutionEngine/AsyncRuntime.cpp
The file was modifiedmlir/test/Dialect/Async/runtime.mlir
The file was modifiedmlir/lib/Dialect/Async/Transforms/AsyncToAsyncRuntime.cpp
The file was modifiedmlir/test/Dialect/Async/async-to-async-runtime.mlir
Commit b5f8ac26829385d98f730c2a76c5f9a6306df2f8 by craig.topper
[X86] Pre-commit tests for D103192. NFC
The file was modifiedllvm/test/CodeGen/X86/vec_shift5.ll
Commit a105d3024efec365961e940c489c4ed5198736d2 by craig.topper
[X86] Fold (shift undef, X)->0 for vector shifts by immediate.

We could previously do this by accident through the later
call to getTargetConstantBitsFromNode I think, but that only worked
if N0 had a single use. This patch makes it explicit for undef and
doesn't have a use count check.

I think this is needed to move the (shl X, 1)->(add X, X)
fold to isel for PR50468. We need to be sure X won't be IMPLICIT_DEF
which might prevent the same vreg from being used for both operands.

Differential Revision: https://reviews.llvm.org/D103192
The file was modifiedllvm/test/CodeGen/X86/vec_shift5.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit d8c84d2a4efc87b756d9d3df42b80d6f8762f62a by ezhulenev
[mlir] Async: Add error propagation support to async groups

Depends On D103109

If any of the tokens/values added to the `!async.group` switches to the error state, than the group itself switches to the error state.

Reviewed By: mehdi_amini

Differential Revision: https://reviews.llvm.org/D103203
The file was modifiedmlir/include/mlir/ExecutionEngine/AsyncRuntime.h
The file was modifiedmlir/test/mlir-cpu-runner/async-error.mlir
The file was modifiedmlir/lib/Conversion/AsyncToLLVM/AsyncToLLVM.cpp
The file was modifiedmlir/test/Dialect/Async/async-to-async-runtime.mlir
The file was modifiedmlir/test/Dialect/Async/runtime.mlir
The file was modifiedmlir/lib/ExecutionEngine/AsyncRuntime.cpp
The file was modifiedmlir/lib/Dialect/Async/Transforms/AsyncToAsyncRuntime.cpp
The file was modifiedmlir/include/mlir/Dialect/Async/IR/AsyncOps.td
Commit 750799b7bc3faeda0d4a14e556ce788e0452152e by thomasraoux
[mlir][NFC] Don't outline kernel in MMA integration tests

This matches better how other gpu integration tests are done.

Differential Revision: https://reviews.llvm.org/D103099
The file was modifiedmlir/test/Integration/GPU/CUDA/TensorCore/wmma-matmul-f32.mlir
The file was modifiedmlir/test/Integration/GPU/CUDA/TensorCore/wmma-matmul-f16.mlir