Changes

Summary

  1. [libc] Add global stdout and stderr objects. (details)
  2. [SelectionDAG][NFC] Simplify integer promotion in setcc/vp.setcc (details)
  3. [demangler][RISCV] Fix for long double (details)
  4. [libunwind][CMake] Fix name of LIBUNWIND_SUPPORTS_NODEFAULTLIBS_FLAG (details)
  5. [RISCV] Add test for experimental.vector.reverse (details)
  6. [mlir][LLVM] Add support for Calling Convention in LLVMFuncOp (details)
  7. [GlobalISel] Add G_IS_FPCLASS (details)
  8. [mlir-vscode] Add support for highlighting pdll and tablegen markdown code blocks (details)
  9. [analyzer][NFC] Inline ExprEngine::evalComplement (details)
  10. [analyzer][NFC] Inline ExprEngine::evalMinus (details)
  11. [analyzer][NFC] Inline loc::ConcreteInt::evalBinOp (details)
  12. [analyzer][NFC] Remove unused nonloc::ConcreteInt::evalBinOp (details)
  13. [analyzer][NFC] Remove unused SVal::hasConjuredSymbol (details)
  14. [analyzer][NFC] Use MemRegion::getRegion()'s return value unconditionally (details)
  15. [analyzer][docs] Fix typo in checker name (details)
  16. [libc++] Implement ranges::is_sorted{, _until} (details)
  17. [gn build] Port 11e3ad299fee (details)
  18. [X86][AMX] Replace LDTILECFG with PLDTILECFGV on auto-config. (details)
  19. [libc++] Enable ranges_robust_against* and niebloid tests for implemented ranges algorithms (details)
  20. [analyzer][NFC] Use idiomatic classof instead of isKind (details)
  21. [analyzer][NFC] Remove unused friend SVal declarations (details)
  22. [analyzer][NFC] Remove unused default SVal constructors (details)
  23. [analyzer][NFC] Rename GREngine->CoreEngine, GRExprEngine->ExprEngine in comments and txt files (details)
  24. [analyzer][NFCi] Annotate major nonnull returning functions (details)
  25. [llvm][clang][bolt][NFC] Use llvm::less_first() when applicable (details)
  26. Revert "[llvm][clang][bolt][NFC] Use llvm::less_first() when applicable" (details)
  27. [Support] Reduce allocations in parallelForEach with move (details)
  28. [AArch64] Add support for FMA intrinsics to shouldSinkOperands. (details)
  29. [mlir][Tablegen-LSP] Add support for a compilation database (details)
  30. [mlir][Tablegen-LSP] Add support for include file link and hover (details)
  31. [mlir][Tablegen-LSP] Add support for a tracking definitions and references (details)
  32. [LLD][ELF] Drop the string null terminator from the hash in splitStrings (details)
  33. [llvm-ar][test] add special case of replace converting a regular to a thin archive (details)
  34. [Doc][OpenCL] Misc wording improvements for SPIR-V (details)
  35. [MLIR][Presburger] Add intersectDomain/Range to IntegerRelation (details)
  36. [RISCV][NFC] Unify compatibility checks under one function (details)
  37. [flang] Support correct continuations for compiler directives (details)
  38. [LLD][test] Update `zlib` tests for LLD commit c78c00dc16 (details)
  39. [mlir][llvm] Fix compiler error on GCC 9 (details)
  40. Also remove the empty StoredDeclsList entry from the lookup table (details)
Commit 9b8ca3c1f18c6c906c8ba8d5ac7a082f2d3b5bd4 by sivachandra
[libc] Add global stdout and stderr objects.

They are added as entrypoint object targets. The header-gen
infrastructure has been extended to enable handling standard required
global objects. The libc-api-test has also been extended to verify the
global object declarations.

Reviewed By: lntue

Differential Revision: https://reviews.llvm.org/D126329
The file was modifiedlibc/utils/HdrGen/PrototypeTestGen/PrototypeTestGen.cpp
The file was modifiedlibc/config/linux/x86_64/entrypoints.txt
The file was modifiedlibc/spec/spec.td
The file was modifiedlibc/utils/LibcTableGenUtil/APIIndexer.cpp
The file was modifiedlibc/test/src/__support/File/platform_file_test.cpp
The file was addedlibc/src/stdio/stderr.cpp
The file was modifiedlibc/spec/stdc.td
The file was addedlibc/src/stdio/stdout.h
The file was modifiedlibc/src/__support/File/file.h
The file was addedlibc/src/stdio/stdout.cpp
The file was modifiedlibc/src/stdio/CMakeLists.txt
The file was modifiedlibc/utils/LibcTableGenUtil/APIIndexer.h
The file was modifiedlibc/config/linux/api.td
The file was modifiedlibc/test/src/CMakeLists.txt
The file was modifiedlibc/utils/HdrGen/PublicAPICommand.cpp
The file was addedlibc/src/stdio/stderr.h
The file was modifiedlibc/src/__support/File/linux_file.cpp
The file was modifiedlibc/config/public_api.td
Commit 121689a62e5b86cce0c5474f902cb24ff6dd57c5 by ben.shi
[SelectionDAG][NFC] Simplify integer promotion in setcc/vp.setcc

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D126516
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
Commit 842e48bd65770f0368ee0d1ca7ee34dbd8f0ff03 by piggynl
[demangler][RISCV] Fix for long double

Summary:
The size of long double in RISCV (both RV32 and RV64) is 16 bytes, thus
the mangled_size shouble be 32.

This patch will fix test case
"_ZN5test01hIfEEvRAcvjplstT_Le4001a000000000000000E_c"
in test_demangle.pass.cpp, which is expected to be invalid but demangler
returned "void test0::h<float>(char (&) [(unsigned int)((sizeof (float))
+ (0x0.000000004001ap-16382L))])" in RISCV environment without this patch.

Reviewed By: urnathan

Differential Revision: https://reviews.llvm.org/D126480
The file was modifiedlibcxxabi/src/demangle/ItaniumDemangle.h
The file was modifiedllvm/include/llvm/Demangle/ItaniumDemangle.h
Commit e251fb4cdeb723eff5507be1efeb3fc69f7a2ce7 by samolisov
[libunwind][CMake] Fix name of LIBUNWIND_SUPPORTS_NODEFAULTLIBS_FLAG

The CMake variable LIBUNWIND_SUPPORTS_NODEFAULTLIBS_FLAG has been renamed
into C_SUPPORTS_NODEFAULTLIBS_FLAG because the last one is used in the
confix-ix.cmake file while the variable with the original name is not used
at al.

Differential Revision: https://reviews.llvm.org/D126466
The file was modifiedlibunwind/cmake/config-ix.cmake
Commit a84026821bf65b312c6752e6d4318419ab3a4f31 by Liqin.Weng
[RISCV] Add test for experimental.vector.reverse

```
void vector_reverse_i64(int *A, int *B, int n) {
  #pragma clang loop vectorize_width(4, scalable)
  for (int i = n-1; i >= 0; i--)
    A[i] = B[i] + 1;
}
```
When option: scalable-vectorization is on (or set #pragma clang loop vectorize_width(elements, scalable)), Reverse Iterators can't loop vectorization as <vscale x elements x elementType>

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D125866
The file was addedllvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
Commit 0252357b3e1e8f6d3bc51ac6d7ac075842b2c956 by alexbatashev
[mlir][LLVM] Add support for Calling Convention in LLVMFuncOp

This patch adds support for Calling Convention attribute in LLVM
dialect, including enums, custom syntax and import from LLVM IR.
Additionally fix import of dso_local attribute.

Reviewed By: ftynse

Differential Revision: https://reviews.llvm.org/D126161
The file was modifiedmlir/include/mlir/Dialect/LLVMIR/LLVMDialect.h
The file was modifiedmlir/lib/Target/LLVMIR/ConvertFromLLVMIR.cpp
The file was modifiedmlir/test/Target/LLVMIR/Import/basic.ll
The file was modifiedmlir/tools/mlir-tblgen/LLVMIRConversionGen.cpp
The file was modifiedmlir/lib/Conversion/FuncToLLVM/FuncToLLVM.cpp
The file was modifiedmlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
The file was modifiedmlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
The file was modifiedmlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
The file was modifiedmlir/include/mlir/Dialect/LLVMIR/LLVMOpBase.td
The file was modifiedmlir/lib/Conversion/GPUCommon/GPUOpsLowering.cpp
The file was modifiedmlir/test/Dialect/LLVMIR/func.mlir
Commit bdd0093f4d57790893d679ad590cd40c1dc3978c by sepavloff
[GlobalISel] Add G_IS_FPCLASS

Add a generic opcode to represent `llvm.is_fpclass` intrinsic.

Differential Revision: https://reviews.llvm.org/D121454
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
The file was modifiedllvm/lib/CodeGen/MachineVerifier.cpp
The file was modifiedllvm/docs/GlobalISel/GenericOpcode.rst
The file was addedllvm/test/MachineVerifier/test_g_is_fpclass.mir
The file was modifiedllvm/include/llvm/Target/GenericOpcodes.td
The file was modifiedllvm/include/llvm/Support/TargetOpcodes.def
The file was modifiedllvm/include/llvm/ADT/APFloat.h
Commit d6708b741936870a1d214eccc2fe86f25f796a37 by riddleriver
[mlir-vscode] Add support for highlighting pdll and tablegen markdown code blocks

This essentially just piggy backs off of the existing mlir support.

Differential Revision: https://reviews.llvm.org/D125734
The file was modifiedmlir/utils/vscode/package.json
The file was modifiedmlir/utils/vscode/markdown-grammar.json
Commit 7a2d6dea73b594a42b83ed48bd19bd232c29f2b8 by balazs.benics
[analyzer][NFC] Inline ExprEngine::evalComplement

Reviewed By: martong

Differential Revision: https://reviews.llvm.org/D126124
The file was modifiedclang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
The file was modifiedclang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
Commit ee8987d585e799ec056da364220e81d97258ddec by balazs.benics
[analyzer][NFC] Inline ExprEngine::evalMinus

Reviewed By: martong

Differential Revision: https://reviews.llvm.org/D126125
The file was modifiedclang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
The file was modifiedclang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
Commit f6eab4376432fffe99b6699e6b604a38a8906bfe by balazs.benics
[analyzer][NFC] Inline loc::ConcreteInt::evalBinOp

This patch also refactored some of the enclosing parts.

Reviewed By: martong

Differential Revision: https://reviews.llvm.org/D126128
The file was modifiedclang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h
The file was modifiedclang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp
The file was modifiedclang/lib/StaticAnalyzer/Core/SVals.cpp
Commit 81066603a8b91ec3edf59622d153ba40f0b4a169 by balazs.benics
[analyzer][NFC] Remove unused nonloc::ConcreteInt::evalBinOp

Reviewed By: martong

Differential Revision: https://reviews.llvm.org/D126129
The file was modifiedclang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h
The file was modifiedclang/lib/StaticAnalyzer/Core/SVals.cpp
Commit 813acb12972eceabd2b5b06f2c11d3a1f34579bd by balazs.benics
[analyzer][NFC] Remove unused SVal::hasConjuredSymbol

Reviewed By: martong

Differential Revision: https://reviews.llvm.org/D126130
The file was modifiedclang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h
The file was modifiedclang/lib/StaticAnalyzer/Core/SVals.cpp
Commit 3a666dd37a06fd5ff74b9e8fea15e31a80398233 by balazs.benics
[analyzer][NFC] Use MemRegion::getRegion()'s return value unconditionally

Reviewed By: martong

Differential Revision: https://reviews.llvm.org/D126123
The file was modifiedclang/lib/StaticAnalyzer/Core/SVals.cpp
Commit 3a7a465def4a7faae41467893276910b1faa6152 by balazs.benics
[analyzer][docs] Fix typo in checker name

Fixes #55720
The file was modifiedclang/docs/analyzer/checkers.rst
Commit 11e3ad299feee35d2a8a1291d9155b68636362e6 by nikolasklauser
[libc++] Implement ranges::is_sorted{, _until}

Reviewed By: Mordante, var-const, #libc

Spies: libcxx-commits, mgorny

Differential Revision: https://reviews.llvm.org/D125608
The file was modifiedlibcxx/include/CMakeLists.txt
The file was addedlibcxx/include/__algorithm/ranges_is_sorted.h
The file was addedlibcxx/test/std/algorithms/alg.sorting/alg.sort/is.sorted/ranges.is_sorted.pass.cpp
The file was modifiedlibcxx/include/module.modulemap
The file was modifiedlibcxx/test/libcxx/algorithms/ranges_robust_against_copying_projections.pass.cpp
The file was addedlibcxx/include/__algorithm/ranges_is_sorted_until.h
The file was modifiedlibcxx/test/std/library/description/conventions/customization.point.object/niebloid.compile.pass.cpp
The file was addedlibcxx/test/std/algorithms/alg.sorting/alg.sort/is.sorted/ranges.is_sorted_until.pass.cpp
The file was modifiedlibcxx/include/algorithm
The file was modifiedlibcxx/test/support/almost_satisfies_types.h
The file was modifiedlibcxx/test/libcxx/private_headers.verify.cpp
The file was modifiedlibcxx/test/libcxx/algorithms/ranges_robust_against_copying_comparators.pass.cpp
The file was modifiedlibcxx/docs/Status/RangesAlgorithms.csv
Commit cde101d0225f4ef32254561c1c8d201d05336471 by llvmgnsyncbot
[gn build] Port 11e3ad299fee
The file was modifiedllvm/utils/gn/secondary/libcxx/include/BUILD.gn
Commit aaaf9cede774a3a82770e88a8096b8c605bdb2c0 by yuanke.luo
[X86][AMX] Replace LDTILECFG with PLDTILECFGV on auto-config.

There is intrinsic `@llvm.x86.ldtilecfg` which is lowered to LDTILECFG.
This intrinsic is open for user to configure tile registers by
themselves. There is a chance that `@llvm.x86.ldtilecfg` would be mixed
with the new AMX intrinsics which depend on compiler to configure tile
registers. Separate pusedo instruction PLDTILECFGV would avoid
unexpected behavious when `@llvm.x86.ldtilecfg` is mixed with new AMX
intrinsics. Though user should not mix the two programming model,
compiler should avoid crash or UB when they are mixed.

Differential Revision: https://reviews.llvm.org/D126519
The file was modifiedllvm/test/CodeGen/X86/AMX/amx-fastconfig-phi2.mir
The file was modifiedllvm/lib/Target/X86/X86FastPreTileConfig.cpp
The file was modifiedllvm/test/CodeGen/X86/AMX/amx-fastconfig-phi.mir
The file was modifiedllvm/lib/Target/X86/X86InstrInfo.cpp
The file was modifiedllvm/lib/Target/X86/X86TileConfig.cpp
The file was modifiedllvm/test/CodeGen/X86/AMX/amx-fastconfig-spill.mir
The file was modifiedllvm/lib/Target/X86/X86PreTileConfig.cpp
The file was modifiedllvm/test/CodeGen/X86/AMX/amx-fastconfig-phi4.mir
The file was modifiedllvm/test/CodeGen/X86/AMX/amx-tile-intrinsics.ll
The file was modifiedllvm/test/CodeGen/X86/AMX/amx-fastpreconfig.mir
The file was modifiedllvm/lib/Target/X86/X86InstrAMX.td
The file was modifiedllvm/lib/Target/X86/X86FastTileConfig.cpp
The file was modifiedllvm/test/CodeGen/X86/AMX/amx-fastconfig.mir
Commit 3606da5fbad042e2b74a35404797af20f65b437b by nikolasklauser
[libc++] Enable ranges_robust_against* and niebloid tests for implemented ranges algorithms

Spies: libcxx-commits

Differential Revision: https://reviews.llvm.org/D126477
The file was modifiedlibcxx/test/libcxx/algorithms/ranges_robust_against_copying_comparators.pass.cpp
The file was modifiedlibcxx/docs/Status/RangesAlgorithms.csv
The file was modifiedlibcxx/test/std/library/description/conventions/customization.point.object/niebloid.compile.pass.cpp
The file was modifiedlibcxx/test/libcxx/algorithms/ranges_robust_against_copying_projections.pass.cpp
Commit e37b287998a72b028fbcf623f06685ed2b6b48e2 by balazs.benics
[analyzer][NFC] Use idiomatic classof instead of isKind

- Rename `isKind()` to `classof()` to follow the llvm style RTTI.
- Take SVal by-value instead of reference.
- Mark `classof` public.

Reviewed By: martong, xazax.hun

Differential Revision: https://reviews.llvm.org/D125706
The file was modifiedclang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h
Commit d8def22f7be120ab159220a9e6d450b26bf50bca by balazs.benics
[analyzer][NFC] Remove unused friend SVal declarations

Reviewed By: martong, xazax.hun

Differential Revision: https://reviews.llvm.org/D125707
The file was modifiedclang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h
Commit 7727d2abece6855ec6486ca0600998bfa35882a1 by balazs.benics
[analyzer][NFC] Remove unused default SVal constructors

Reviewed By: martong, xazax.hun

Differential Revision: https://reviews.llvm.org/D125708
The file was modifiedclang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h
Commit 6ab69efe61f2db50d72416a59fafa427249cb91b by gabor.marton
[analyzer][NFC] Rename GREngine->CoreEngine, GRExprEngine->ExprEngine in comments and txt files

fixes #115
The file was modifiedclang/lib/StaticAnalyzer/Core/ExprEngine.cpp
The file was modifiedclang/test/Analysis/PR3991.m
The file was modifiedclang/test/Analysis/misc-ps-eager-assume.m
The file was modifiedclang/lib/StaticAnalyzer/README.txt
Commit f13050eca3564ebccc04ea39eb34a312f063c4e9 by balazs.benics
[analyzer][NFCi] Annotate major nonnull returning functions

This patch annotates the most important analyzer function APIs.
Also adds a couple of assertions for uncovering any potential issues
earlier in the constructor; in those cases, the member functions were
already dereferencing the members unconditionally anyway.

Measurements showed no performance impact, nor crashes.

Reviewed By: martong

Differential Revision: https://reviews.llvm.org/D126198
The file was modifiedclang/include/clang/StaticAnalyzer/Core/PathSensitive/ConstraintManager.h
The file was modifiedclang/include/clang/StaticAnalyzer/Core/PathSensitive/DynamicType.h
The file was modifiedclang/lib/StaticAnalyzer/Core/MemRegion.cpp
The file was modifiedclang/include/clang/StaticAnalyzer/Core/PathSensitive/BasicValueFactory.h
The file was modifiedclang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h
The file was modifiedclang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h
The file was modifiedclang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h
The file was modifiedclang/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h
The file was modifiedclang/include/clang/Analysis/AnalysisDeclContext.h
The file was modifiedclang/include/clang/StaticAnalyzer/Core/PathSensitive/SymExpr.h
The file was modifiedclang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h
Commit 3988bd13988aad72ec979beb2361e8738584926b by balazs.benics
[llvm][clang][bolt][NFC] Use llvm::less_first() when applicable

One could reuse this functor instead of rolling out your own version.
There were a couple other cases where the code was similar, but not
quite the same, such as it might have an assertion in the lambda or other
constructs. Thus, I've not touched any of those, as it might change the
behavior in some way.

As per https://discourse.llvm.org/t/submitting-simple-nfc-patches/62640/3?u=steakhal
Chris Lattner
> LLVM intentionally has a “yes, you can apply common sense judgement to
> things” policy when it comes to code review. If you are doing mechanical
> patches (e.g. adopting less_first) that apply to the entire monorepo,
> then you don’t need everyone in the monorepo to sign off on it. Having
> some +1 validation from someone is useful, but you don’t need everyone
> whose code you touch to weigh in.

Differential Revision: https://reviews.llvm.org/D126068
The file was modifiedllvm/tools/llvm-reduce/deltas/ReduceAttributes.cpp
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/Core.h
The file was modifiedllvm/lib/IR/Attributes.cpp
The file was modifiedllvm/lib/ObjCopy/MachO/MachOWriter.cpp
The file was modifiedclang/lib/StaticAnalyzer/Frontend/AnalyzerHelpFlags.cpp
The file was modifiedbolt/lib/Passes/LongJmp.cpp
The file was modifiedclang/lib/Sema/SemaStmtAsm.cpp
The file was modifiedclang/lib/Sema/SemaDeclCXX.cpp
The file was modifiedclang/unittests/Introspection/IntrospectionTest.cpp
The file was modifiedllvm/tools/dsymutil/DebugMap.cpp
The file was modifiedclang/lib/Frontend/FrontendAction.cpp
Commit a73b50ad0649d635433547ff51cd73d2ce9f085b by balazs.benics
Revert "[llvm][clang][bolt][NFC] Use llvm::less_first() when applicable"

This reverts commit 3988bd13988aad72ec979beb2361e8738584926b.

Did not build on this bot:
https://lab.llvm.org/buildbot#builders/215/builds/6372

/usr/include/c++/9/bits/predefined_ops.h:177:11: error: no match for call to
‘(llvm::less_first) (std::pair<long unsigned int, llvm::bolt::BinaryBasicBlock*>&, const std::pair<long unsigned int, std::nullptr_t>&)’
  177 |  { return bool(_M_comp(*__it, __val)); }
The file was modifiedbolt/lib/Passes/LongJmp.cpp
The file was modifiedllvm/lib/ObjCopy/MachO/MachOWriter.cpp
The file was modifiedclang/lib/Frontend/FrontendAction.cpp
The file was modifiedclang/lib/Sema/SemaDeclCXX.cpp
The file was modifiedclang/lib/StaticAnalyzer/Frontend/AnalyzerHelpFlags.cpp
The file was modifiedclang/unittests/Introspection/IntrospectionTest.cpp
The file was modifiedclang/lib/Sema/SemaStmtAsm.cpp
The file was modifiedllvm/lib/IR/Attributes.cpp
The file was modifiedllvm/tools/llvm-reduce/deltas/ReduceAttributes.cpp
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/Core.h
The file was modifiedllvm/tools/dsymutil/DebugMap.cpp
Commit 4290ef54e18a61103f21f59c1db66fb67999c375 by andrew.ng
[Support] Reduce allocations in parallelForEach with move

Differential Revision: https://reviews.llvm.org/D126458
The file was modifiedllvm/lib/Support/Parallel.cpp
Commit 786c687810a5e3db4c64312018de25c65527c40c by flo
[AArch64] Add support for FMA intrinsics to shouldSinkOperands.

If the fma operates on a legal vector type, the indexed variants can be
used, if the second operand is a splat of a valid index.

Reviewed By: dmgreen

Differential Revision: https://reviews.llvm.org/D126234
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modifiedllvm/test/Transforms/CodeGenPrepare/AArch64/sink-free-instructions.ll
Commit dc9fb65c4ffedc983c29bb0cddebf6fc4e9146e6 by riddleriver
[mlir][Tablegen-LSP] Add support for a compilation database

This provides a format for externally specifying the include directories
for a source file. The format of the tablegen database is exactly the
same as that for PDLL, namely it includes the absolute source file name and
the set of include directories. The database format is shared to simplify
the infra, and also because the format itself is general enough to share. Even
if we desire to expand in the future to contain the actual compilation command,
nothing there is specific enough that we would need two different formats.

As with PDLL, support for generating the database is added to our mlir_tablegen
cmake command.

Differential Revision: https://reviews.llvm.org/D125441
The file was removedmlir/lib/Tools/mlir-pdll-lsp-server/CompilationDatabase.h
The file was modifiedmlir/lib/Tools/tblgen-lsp-server/TableGenLspServerMain.cpp
The file was modifiedmlir/lib/Tools/lsp-server-support/CMakeLists.txt
The file was modifiedmlir/lib/Tools/tblgen-lsp-server/TableGenServer.h
The file was addedmlir/test/tblgen-lsp-server/compilation_database.test
The file was modifiedmlir/lib/Tools/mlir-pdll-lsp-server/PDLLServer.cpp
The file was modifiedmlir/utils/vscode/package.json
The file was addedmlir/lib/Tools/lsp-server-support/CompilationDatabase.cpp
The file was modifiedmlir/utils/vscode/src/config.ts
The file was modifiedmlir/cmake/modules/AddMLIR.cmake
The file was addedmlir/lib/Tools/lsp-server-support/CompilationDatabase.h
The file was addedmlir/test/tblgen-lsp-server/lit.local.cfg
The file was addedmlir/test/tblgen-lsp-server/include/included.td
The file was modifiedmlir/utils/vscode/src/mlirContext.ts
The file was modifiedmlir/lib/Tools/mlir-pdll-lsp-server/CMakeLists.txt
The file was modifiedmlir/lib/Tools/tblgen-lsp-server/TableGenServer.cpp
The file was removedmlir/lib/Tools/mlir-pdll-lsp-server/CompilationDatabase.cpp
Commit 682ca00e218d60fef49936a38f174e54e85886cb by riddleriver
[mlir][Tablegen-LSP] Add support for include file link and hover

This allows for following links to include files. This support is effectively
identical to the logic in the PDLL language server, and code is shared as
much as possible.

Differential Revision: https://reviews.llvm.org/D125442
The file was addedmlir/test/tblgen-lsp-server/document-links.test
The file was modifiedmlir/lib/Tools/mlir-pdll-lsp-server/PDLLServer.cpp
The file was modifiedmlir/lib/Tools/tblgen-lsp-server/LSPServer.cpp
The file was modifiedmlir/test/tblgen-lsp-server/initialize-params.test
The file was modifiedmlir/lib/Tools/tblgen-lsp-server/TableGenServer.cpp
The file was modifiedmlir/lib/Tools/lsp-server-support/SourceMgrUtils.h
The file was modifiedmlir/lib/Tools/lsp-server-support/SourceMgrUtils.cpp
The file was addedmlir/test/tblgen-lsp-server/hover.test
The file was modifiedmlir/lib/Tools/tblgen-lsp-server/TableGenServer.h
Commit 8d021670c31dcb760ad3d301eb5fdfdf38733324 by riddleriver
[mlir][Tablegen-LSP] Add support for a tracking definitions and references

This essentially builds an index for the parsed records and record values (fields).
This covers quite a few cases, but is limited by the currently lackluster location
tracking in tablegen. A followup will work on plumbing more locations through
tablegen, which should greatly improve what we can do here.

Differential Revision: https://reviews.llvm.org/D125443
The file was modifiedmlir/test/tblgen-lsp-server/initialize-params.test
The file was addedmlir/test/tblgen-lsp-server/references.test
The file was modifiedmlir/lib/Tools/tblgen-lsp-server/TableGenServer.h
The file was modifiedmlir/lib/Tools/tblgen-lsp-server/TableGenServer.cpp
The file was modifiedmlir/lib/Tools/tblgen-lsp-server/LSPServer.cpp
The file was addedmlir/test/tblgen-lsp-server/definition.test
Commit c78c00dc16bbbb3b48705190f7e6de09458a1f34 by andrew.ng
[LLD][ELF] Drop the string null terminator from the hash in splitStrings

Differential Revision: https://reviews.llvm.org/D126484
The file was modifiedlld/test/ELF/merge-string.s
The file was modifiedlld/ELF/InputSection.cpp
The file was modifiedlld/test/ELF/comment-gc.s
Commit c913c5598b026f0968f3c25db14e232c5b52277e by Ben.Dunbobbin
[llvm-ar][test] add special case of replace converting a regular to a thin archive

Add a regression test for:
  https://github.com/llvm/llvm-project/issues/55527

Differential Revision: https://reviews.llvm.org/D125785
The file was addedllvm/test/tools/llvm-ar/regular-to-thin-archive-special.test
Commit 7df25978ef7882a3d793eecee854ec5d961c02d2 by anastasia.stulova
[Doc][OpenCL] Misc wording improvements for SPIR-V
The file was modifiedclang/docs/OpenCLSupport.rst
The file was modifiedllvm/docs/SPIRVUsage.rst
Commit f168a65943f934bcb161e01a600b9bb4e4340c24 by groverkss
[MLIR][Presburger] Add intersectDomain/Range to IntegerRelation

This patch adds support for intersection a set with a relation.

Reviewed By: arjunp

Differential Revision: https://reviews.llvm.org/D126328
The file was modifiedmlir/lib/Analysis/Presburger/IntegerRelation.cpp
The file was modifiedmlir/include/mlir/Analysis/Presburger/IntegerRelation.h
The file was modifiedmlir/unittests/Analysis/Presburger/IntegerRelationTest.cpp
Commit 3e450d9cbbc00b78eebe122cdbec70bd315167e3 by fraser
[RISCV][NFC] Unify compatibility checks under one function

Split off from D125021.

We were duplicating logic across different phases. Since we want to
ensure a consistency of logic across phases for correctness, this patch
combines our multiple compatibility checks into one function to better
convey this.

Several methods were made const too.

Reviewed By: reames

Differential Revision: https://reviews.llvm.org/D126472
The file was modifiedllvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
Commit 889c7c8e9260932dce5367df3f7ed7ecc32dbe8e by d.dudkin
[flang] Support correct continuations for compiler directives

If a line is over 72 characters long, flang's preprocessor cuts it there
and continues on the next line.
For this purpose it uses the standard way of continuing line with & on each line.
However, it doesn't work with long compiler directives, like OpenMP or OpenACC ones.
The line that continues the directive also has to
contain the corresponding sentinel at the beginning.

This change implements the described functionality.
Also, some code was refactored in order to simplify and reuse existing code.

Reviewed By: klausler

Differential Revision: https://reviews.llvm.org/D126301
The file was addedflang/test/Preprocessing/pp132.f90
The file was modifiedflang/lib/Parser/parsing.cpp
The file was addedflang/test/Preprocessing/pp133.f90
Commit a94d454390c6c351cea64cff4d4229df16d01217 by andrew.ng
[LLD][test] Update `zlib` tests for LLD commit c78c00dc16

Updates for these tests were missed because I didn't have zlib-dev
installed and thus the tests were unsupported and not run.
The file was modifiedlld/test/ELF/compress-debug-sections.s
The file was modifiedlld/test/ELF/relocatable-compressed-input.s
The file was modifiedlld/test/ELF/compressed-debug-input.s
Commit 52d79b04b2628d21a328f331428f980a5ef3e2f0 by d.dudkin
[mlir][llvm] Fix compiler error on GCC 9

This patch fixes the following compiler error:

    error: declaration of ‘mlir::LLVM::cconv::CConv mlir::LLVM::detail::CConvAttrStorage::CConv’ changes meaning of ‘CConv’ [-fpermissive]

CConv as a member variable name was shadowing CConv as an enumeration,
hence the compiler error.

Reviewed By: ftynse, alexbatashev

Differential Revision: https://reviews.llvm.org/D126530
The file was modifiedmlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
The file was modifiedmlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
The file was modifiedmlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
Commit 8c0eb32d2aa0bc73c176d7b25f47bdf37f967d3b by v.g.vassilev
Also remove the empty StoredDeclsList entry from the lookup table

In case where we have removed all declarations for a given declaration name
entry we should remove the whole StoredDeclsMap entry.

This patch improves consistency in the lookup tables and helps cling/clang-repl
error recovery.

Differential revision: https://reviews.llvm.org/D119675
The file was modifiedclang/lib/AST/DeclBase.cpp
The file was modifiedclang/unittests/AST/ASTImporterTest.cpp