Changes

Summary

  1. Add semantic token modifier for non-const reference parameter (details)
  2. [OpenMP] [OMPD] OPENMP_INSTALL_LIBDIR is set for the install dir (details)
  3. [lldb] [testsuite] Fix false failures on "\n" regex match (details)
  4. Add sanity check in MLIR ODS to catch case where an arguments/results/regions/successors names overlap (details)
  5. [mlir] Allows to query traits from types and attributes (details)
  6. [JITLink] Add initial native TLS support to ELFNix platform (details)
Commit 5a85f9b1d48c4367bf697adc0f62ed5c9378f0f3 by zeratul976
Add semantic token modifier for non-const reference parameter

See https://github.com/clangd/clangd/issues/839

Reviewed By: sammccall

Differential Revision: https://reviews.llvm.org/D108320
The file was modifiedclang-tools-extra/clangd/SemanticHighlighting.cpp
The file was modifiedclang-tools-extra/clangd/test/initialize-params.test
The file was modifiedclang-tools-extra/clangd/SemanticHighlighting.h
The file was modifiedclang-tools-extra/clangd/test/semantic-tokens.test
The file was modifiedclang-tools-extra/clangd/unittests/SemanticHighlightingTests.cpp
Commit 939154125b336bb7807302ae22a9df91e4f2e69b by Vignesh.Balasubrmanian
[OpenMP] [OMPD] OPENMP_INSTALL_LIBDIR is set for the install dir

OPENMP_INSTALL_LIBDIR is set to the installation path of shared and static
libompd.This should avoid the mixing of 32 and 64 bit on same path in
multi-lib set-up.

Reviewed By: @mceier
Differential Revision: https://reviews.llvm.org/D109352
The file was modifiedopenmp/libompd/src/CMakeLists.txt
Commit ff94f6024082ecd6b8a236b0953d3ce2d240cc64 by jan.kratochvil
[lldb] [testsuite] Fix false failures on "\n" regex match

Regex is matching a binary so it needs `re.DOTALL`.
vFile:fstat packet data ATTACHMENT is not hex-encoded but it is only
escaped.

It is difficult to reproduce, it came from buildbot:
  https://lab.llvm.org/staging/#/builders/16/builds/10597

******************** TEST 'lldb-api :: tools/lldb-server/TestGdbRemotePlatformFile.py' FAILED ********************
FAIL: test_platform_file_fstat_llgs (TestGdbRemotePlatformFile.TestGdbRemotePlatformFile)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "lldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py", line 52, in test_method
    return attrvalue(self)
  File "lldb/test/API/tools/lldb-server/TestGdbRemotePlatformFile.py", line 259, in test_platform_file_fstat
    context = self.expect_gdbremote_sequence()
  File "lldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py", line 621, in expect_gdbremote_sequence
    return expect_lldb_gdbserver_replay(
  File "lldb/packages/Python/lldbsuite/test/tools/lldb-server/lldbgdbserverutils.py", line 198, in expect_lldb_gdbserver_replay
    context = sequence_entry.assert_match(
  File "lldb/packages/Python/lldbsuite/test/tools/lldb-server/lldbgdbserverutils.py", line 479, in assert_match
    return self._assert_regex_match(asserter, actual_packet, context)
  File "lldb/packages/Python/lldbsuite/test/tools/lldb-server/lldbgdbserverutils.py", line 446, in _assert_regex_match
    asserter.fail(
AssertionError: regex '^\$F([0-9a-fA-F]+);(.*)#[0-9a-fA-F]{2}$' failed to match against content '$F40;^@^@^@ ^@
^C<8d>^@^@<81><80>^@^@^@^A^@^@^CX^@^@^CX^@^@^@^@^@^@^@^@^@^@^@^W^@^@^@^@^@^@^P^@^@^@^@^@^@^@^@
a=XXa=XXa=XX#6b'
The file was modifiedlldb/packages/Python/lldbsuite/test/tools/lldb-server/lldbgdbserverutils.py
Commit 7fb2394a4f362aff4282af8486b7352e720c32ab by joker.eph
Add sanity check in MLIR ODS to catch case where an arguments/results/regions/successors names overlap

This is making a tablegen crash with a more friendly error.

Differential Revision: https://reviews.llvm.org/D109474
The file was modifiedmlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
The file was modifiedmlir/lib/TableGen/Operator.cpp
The file was modifiedmlir/include/mlir/TableGen/Operator.h
The file was modifiedmlir/test/mlir-tblgen/op-error.td
Commit 802bf02a738e091d5bf22c03e83204a38d2c7950 by joker.eph
[mlir] Allows to query traits from types and attributes

Types and attributes now have a `hasTrait` function that allow users to check
if a type defines a trait.
Also, AbstractType and AbstractAttribute has now a `hasTraitFn` field to carry
the implementation of the `hasTrait` function of the concrete type or attribute.
This patch also adds the remaining functions to access type and attribute traits
in TableGen.

Reviewed By: rriddle

Differential Revision: https://reviews.llvm.org/D105202
The file was modifiedmlir/include/mlir/IR/AttributeSupport.h
The file was modifiedmlir/include/mlir/IR/Attributes.h
The file was modifiedmlir/test/lib/Dialect/Test/TestAttrDefs.td
The file was modifiedmlir/test/lib/Dialect/Test/TestTypes.h
The file was addedmlir/test/lib/Dialect/Test/TestTraits.h
The file was modifiedmlir/include/mlir/IR/OpBase.td
The file was modifiedmlir/include/mlir/IR/TypeSupport.h
The file was modifiedmlir/test/lib/Dialect/Test/TestOps.td
The file was modifiedmlir/include/mlir/IR/StorageUniquerSupport.h
The file was modifiedmlir/test/IR/traits.mlir
The file was modifiedmlir/test/lib/Dialect/Test/TestAttributes.h
The file was modifiedmlir/test/lib/Dialect/Test/TestTypeDefs.td
The file was modifiedmlir/include/mlir/IR/Types.h
Commit ff6069b89114325b1904e55d3987701567d522d4 by 932494295
[JITLink] Add initial native TLS support to ELFNix platform

This patch use the same way as the https://reviews.llvm.org/rGfe1fa43f16beac1506a2e73a9f7b3c81179744eb to handle the thread local variable.

It allocates 2 * pointerSize space in GOT to represent the thread key and data address. Instead of using the _tls_get_addr function, I customed a function __orc_rt_elfnix_tls_get_addr to get the address of thread local varible. Currently, this is a wip patch, only one TLS relocation R_X86_64_TLSGD is supported and I need to add the corresponding test cases.

To allocate the TLS  descriptor in GOT, I need to get the edge kind information in PerGraphGOTAndPLTStubBuilder, So I add a `Edge::Kind K` argument in some functions in PerGraphGOTAndPLTStubBuilder.h. If it is not suitable, I can think further to solve this problem.

Differential Revision: https://reviews.llvm.org/D109293
The file was modifiedllvm/include/llvm/ExecutionEngine/JITLink/x86_64.h
The file was addedllvm/lib/ExecutionEngine/JITLink/PerGraphTLSInfoEntryBuilder.h
The file was modifiedllvm/lib/ExecutionEngine/JITLink/ELFLinkGraphBuilder.h
The file was addedcompiler-rt/test/orc/TestCases/FreeBSD/x86-64/trivial-tls.S
The file was addedcompiler-rt/test/orc/TestCases/Linux/x86-64/trivial-tls.S
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/ELFNixPlatform.h
The file was modifiedllvm/include/llvm/ExecutionEngine/JITLink/ELF_x86_64.h
The file was modifiedcompiler-rt/lib/orc/elfnix_platform.cpp
The file was addedcompiler-rt/lib/orc/elfnix_tls.x86-64.S
The file was modifiedcompiler-rt/lib/orc/CMakeLists.txt
The file was modifiedllvm/lib/ExecutionEngine/JITLink/ELF_x86_64.cpp
The file was modifiedllvm/lib/ExecutionEngine/Orc/ELFNixPlatform.cpp