SuccessChanges

Summary

  1. Fix regressioin in test dwp-separate-debug-file.cpp (details)
  2. [MLIR] Change default builders generated by TableGen to use TypeRange for result types (details)
  3. [MLIR][NFC] Adopt use of TypeRange in build() methods. (details)
  4. Improve dynamic AST matching diagnostics for conversion errors (details)
  5. Update the documentation for the MLIR Dialect class (NFC) (details)
Commit e90343ada3bda55c697e7ae06dda3f8d8d6ded34 by Yaxun.Liu
Fix regressioin in test dwp-separate-debug-file.cpp
The file was modifiedclang/lib/Driver/ToolChains/CommonArgs.cpp (diff)
Commit 9744606614df4ba85a4d546c94b3b5ef9d3a3a96 by jurahul
[MLIR] Change default builders generated by TableGen to use TypeRange for result types

- Change the default builders to use TypeRange instead of ArrayRef<Type>
- Custom builders defined in LinalgStructuredOps now conflict with the default
  separate param ones, but the default collective params one is still needed. Resolve
  this by replicating the collective param builder as a custom builder and skipping
  the generation of default builders for these ops.

Differential Revision: https://reviews.llvm.org/D87926
The file was modifiedmlir/test/mlir-tblgen/op-result.td (diff)
The file was modifiedmlir/include/mlir/IR/OpBase.td (diff)
The file was modifiedmlir/tools/mlir-tblgen/OpDefinitionsGen.cpp (diff)
The file was modifiedmlir/tools/mlir-linalg-ods-gen/mlir-linalg-ods-gen.cpp (diff)
The file was modifiedmlir/test/mlir-tblgen/op-decl.td (diff)
Commit 08e4f078523b528f1e699543275f1d6299886a99 by jurahul
[MLIR][NFC] Adopt use of TypeRange in build() methods.

- Use TypeRange instead of ArrayRef<Type> where possible.
- Change some of the custom builders to also use TypeRange

Differential Revision: https://reviews.llvm.org/D87944
The file was modifiedmlir/unittests/TableGen/OpBuildGen.cpp (diff)
The file was modifiedmlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp (diff)
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOpsInterface.td (diff)
The file was modifiedmlir/test/lib/Dialect/Test/TestDialect.cpp (diff)
The file was modifiedmlir/lib/Conversion/StandardToLLVM/StandardToLLVM.cpp (diff)
The file was modifiedmlir/lib/Dialect/Affine/IR/AffineOps.cpp (diff)
The file was modifiedmlir/lib/Conversion/GPUToVulkan/ConvertLaunchFuncToVulkanCalls.cpp (diff)
The file was modifiedmlir/include/mlir/Dialect/StandardOps/IR/Ops.td (diff)
The file was modifiedmlir/lib/Conversion/OpenMPToLLVM/OpenMPToLLVM.cpp (diff)
The file was modifiedmlir/include/mlir/Dialect/Affine/IR/AffineOps.td (diff)
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td (diff)
The file was modifiedmlir/lib/Conversion/GPUToVulkan/ConvertGPULaunchFuncToVulkanLaunchFunc.cpp (diff)
The file was modifiedmlir/lib/Dialect/Linalg/IR/LinalgOps.cpp (diff)
The file was modifiedmlir/include/mlir/Dialect/GPU/GPUOps.td (diff)
The file was modifiedmlir/lib/Dialect/GPU/IR/GPUDialect.cpp (diff)
The file was modifiedmlir/lib/Conversion/LinalgToStandard/LinalgToStandard.cpp (diff)
The file was modifiedmlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp (diff)
The file was modifiedmlir/include/mlir/Dialect/LLVMIR/LLVMOps.td (diff)
Commit 819ff6b945816dce144c8be577a3c245f702b59c by aaron
Improve dynamic AST matching diagnostics for conversion errors

Currently, when marshaling a dynamic AST matchers, we check for the type
and value validity of matcher arguments at the same time for some matchers.
For instance, when marshaling hasAttr("foo"), the argument is first type
checked to ensure it's a string and then checked to see if that string can
locate an attribute with that name. Similar happens for other enumeration
conversions like cast kinds or unary operator kinds. If the type is
correct but the value cannot be looked up, we make a best-effort attempt
to find a nearby name that the user might have meant, but if one cannot
be found, we throw our hands up and claim the types don't match.

This has an unfortunate behavior that when the user enters something of
the correct type but a best guess cannot be located, you get confusing
error messages like:
Incorrect type for arg 1. (Expected = string) != (Actual = String).

This patch splits the argument check into two parts: if the types don't
match, give a type diagnostic. If the type matches but the value cannot
be converted, give a best guess diagnostic or a value could not be
located diagnostic. This addresses PR47057.
The file was modifiedclang/unittests/ASTMatchers/Dynamic/ParserTest.cpp (diff)
The file was modifiedclang/lib/ASTMatchers/Dynamic/Marshallers.h (diff)
Commit f6aceb72d6b2d13d03713ba05bc47c0f9e550c26 by joker.eph
Update the documentation for the MLIR Dialect class (NFC)
The file was modifiedmlir/include/mlir/IR/Dialect.h (diff)