1. [OpenMP] Refactored the function `DeviceTy::data_exchange` (details)
  2. Re-apply "[DebugInfo] Emit DW_OP_implicit_value for Floating point constants" (details)
  3. [mlir] Add a new "Pattern Descriptor Language" (PDL) dialect. (details)
  4. [OPENMP]Fix PR47158, case 2: do not report host-only functions in unused function in device mode. (details)
  5. [X89] Ignore -mtune=generic to fix failures some users are seeing after D85384 (details)
  6. [lldb] Move Xcode SDK helper functions into lldbutil (details)
Commit 83c3d07994c4cd24b9548362d03290af2a9483b0 by tianshilei1992
[OpenMP] Refactored the function `DeviceTy::data_exchange`

This patch contains the following changes:
1. Renamed the function `DeviceTy::data_exchange` to `DeviceTy::dataExchange`;
2. Changed the second argument `DeviceTy DstDev` to `DeviceTy &DstDev`;
3. Renamed the last argument.

Reviewed By: ye-luo

Differential Revision:
The file was modifiedopenmp/libomptarget/src/api.cpp (diff)
The file was modifiedopenmp/libomptarget/src/device.h (diff)
The file was modifiedopenmp/libomptarget/src/device.cpp (diff)
Commit ef8992b9f0189005e0d9e09bd0967301bd7a7cc6 by SourabhSingh.Tomar
Re-apply "[DebugInfo] Emit DW_OP_implicit_value for Floating point constants"

This patch was reverted in 7c182663a857fc87 due to some failures
observed on PCC based machines. Failures were due to Endianness issue and
long double representation issues.

Patch is revised to address Endianness issue. Furthermore, support
for emission of `DW_OP_implicit_value` for `long double` has been removed
(since it was unclean at the moment). Planning to handle this in
a clean way soon!

For more context, please refer to following review link.

Reviewed By: aprantl

Differential Revision:
The file was addedllvm/test/DebugInfo/X86/implicit_value-float.ll
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfExpression.cpp (diff)
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfExpression.h (diff)
The file was addedllvm/test/DebugInfo/X86/implicit_value-double.ll
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp (diff)
The file was modifiedllvm/test/DebugInfo/X86/float_const_loclist.ll (diff)
Commit 3fb3927bd333cded1f51025161a4ee7e7ca722c1 by riddleriver
[mlir] Add a new "Pattern Descriptor Language" (PDL) dialect.

PDL presents a high level abstraction for the rewrite pattern infrastructure available in MLIR. This abstraction allows for representing patterns transforming MLIR, as MLIR. This allows for applying all of the benefits that the general MLIR infrastructure provides, to the infrastructure itself. This means that pattern matching can be more easily verified for correctness, targeted by frontends, and optimized.

PDL abstracts over various different aspects of patterns and core MLIR data structures. Patterns are specified via a `pdl.pattern` operation. These operations contain a region body for the "matcher" code, and terminate with a `pdl.rewrite` that either dispatches to an external rewriter or contains a region for the rewrite specified via `pdl`. The types of values in `pdl` are handle types to MLIR C++ types, with `!pdl.attribute`, `!pdl.operation`, and `!pdl.type` directly mapping to `mlir::Attribute`, `mlir::Operation*`, and `mlir::Value` respectively.

An example pattern is shown below:

// pdl.pattern contains metadata similarly to a `RewritePattern`.
pdl.pattern : benefit(1) {
  // External input operand values are specified via `pdl.input` operations.
  // Result types are constrainted via `pdl.type` operations.

  %resultType = pdl.type
  %inputOperand = pdl.input
  %root, %results = pdl.operation "foo.op"(%inputOperand) -> %resultType
  pdl.rewrite(%root) {
    pdl.replace %root with (%inputOperand)

This is a culmination of the work originally discussed here:

Differential Revision:
The file was addedmlir/test/Dialect/PDL/invalid.mlir
The file was addedmlir/include/mlir/Dialect/PDL/IR/PDL.h
The file was addedmlir/include/mlir/Dialect/PDL/IR/
The file was modifiedmlir/lib/Dialect/CMakeLists.txt (diff)
The file was modifiedmlir/include/mlir/IR/OpImplementation.h (diff)
The file was addedmlir/lib/Dialect/PDL/CMakeLists.txt
The file was modifiedmlir/lib/Parser/Parser.cpp (diff)
The file was modifiedmlir/tools/mlir-tblgen/OpFormatGen.cpp (diff)
The file was addedmlir/include/mlir/Dialect/PDL/CMakeLists.txt
The file was modifiedmlir/include/mlir/InitAllDialects.h (diff)
The file was addedmlir/lib/Dialect/PDL/IR/PDL.cpp
The file was addedmlir/include/mlir/Dialect/PDL/IR/
The file was addedmlir/test/Dialect/PDL/ops.mlir
The file was addedmlir/include/mlir/Dialect/PDL/IR/CMakeLists.txt
The file was modifiedmlir/include/mlir/Dialect/CMakeLists.txt (diff)
The file was addedmlir/include/mlir/Dialect/PDL/IR/PDLTypes.h
The file was addedmlir/lib/Dialect/PDL/IR/CMakeLists.txt
Commit fb4acd37fe60a08a0077560d2814053d76ea1c41 by a.bataev
[OPENMP]Fix PR47158, case 2: do not report host-only functions in unused function in device mode.

If the function is not marked exlicitly as declare target and it calls
function(s), marked as declare target device_type(host), these host-only
functions should not be dignosed as used in device mode, if the caller
function is not used in device mode too.

Differential Revision:
The file was modifiedclang/test/OpenMP/declare_target_messages.cpp (diff)
The file was modifiedclang/lib/Sema/Sema.cpp (diff)
Commit 7cffaf510f97eabef89b0d45aeb939df40e8e9d3 by craig.topper
[X89] Ignore -mtune=generic to fix failures some users are seeing after D85384

Some code bases out there pass -mtune=generic to clang. This would have
been ignored prior to D85384. Now it results in an error
because "generic" isn't recognized by isValidCPUName.

And if we let it go through to the backend as a tune
setting it would get the tune flags closer to i386 rather
than a modern CPU.

I plan to change what tune=generic does in the backend in
a future patch. And allow this in the frontend.
But this should be a quick fix for the error some users
are seeing.
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp (diff)
Commit a3fc61c80f89ea709a1128caa2de2723fe307c81 by Jonas Devlieghere
[lldb] Move Xcode SDK helper functions into lldbutil

This allows the logic to be reused by both the builders and the tests.
The file was modifiedlldb/test/API/tools/lldb-server/ (diff)
The file was modifiedlldb/packages/Python/lldbsuite/test/builders/ (diff)
The file was modifiedlldb/packages/Python/lldbsuite/test/ (diff)