SuccessChanges

Changes from Git (git http://labmaster3.local/git/llvm-project.git)

Summary

  1. [Sema] Introduce function reference conversion, NFC (details)
  2. Build reproducible tarballs for releases (details)
  3. [clangd] Introduce config parsing for External blocks (details)
  4. [clangd] Introduce config compilation for External blocks (details)
  5. [clangd] Introduce ProjectAwareIndex (details)
  6. [clangd] Use ProjectAwareIndex in ClangdMain (details)
  7. [clangd] Fix use-after-free in ProjectAwareIndex tests (details)
  8. [mlir][Python] Support finding pybind11 from the python environment. (details)
  9. [gn build] sort of merge 37ac559fccd4 (details)
  10. [gn build] Port 067ffbfe601 (details)
  11. [ARM] MVE VABD tests. NFC (details)
  12. [gn build] (manually) port ed424b428 (details)
  13. [ARM] Ensure MVE_TwoOpPattern is used inside Predicate's (details)
  14. [Clang] Add __STDCPP_THREADS__ to standard predefine macros (details)
  15. [MLIR] ODS typedef gen fixes & improvements (details)
  16. [hwasan] Remove unused declaration shadowBase (NFC) (details)
  17. [ValueMapper] Remove unused declaration remapFunction (NFC) (details)
  18. [CodeGen] Use pred_empty (NFC) (details)
Commit 825f80e111f2815a009084f65267be3b5bf0897a by aaronpuchert
[Sema] Introduce function reference conversion, NFC

Technically 'noexcept' isn't a qualifier, so this should be a separate conversion.

Also make the test a pure frontend test.

Reviewed By: rsmith

Differential Revision: https://reviews.llvm.org/D67112
The file was modifiedclang/include/clang/AST/OperationKinds.def
The file was modifiedclang/lib/Sema/SemaInit.cpp
The file was addedclang/test/CXX/dcl.decl/dcl.init/dcl.init.ref/p4-ast.cpp
The file was modifiedclang/include/clang/Sema/Initialization.h
The file was removedclang/test/CodeGenCXX/implicit-function-conversion.cpp
Commit 1a009296a4e9a50e85908f9141c3c1ea860d73e4 by aaronpuchert
Build reproducible tarballs for releases

Currently the tarballs contain superfluous metadata, like the user name
of the packager and via Pax headers even the PID of the tar process that
packaged the files. We build the monorepo projects directly from the git
repo using "git archive" and for the test-suite we add some flags as
recommended by https://reproducible-builds.org/docs/archives/. We don't
use numeric owners though to be compatible with "git archive".

The advantage of "git archive" is that the releaser doesn't have to
download the tar ball and extract it, rather the archive is built
directly from the repository. This is probably what GitHub uses
internally to produce the tarballs, so I wouldn't expect a difference.

Reviewed By: tstellar

Differential Revision: https://reviews.llvm.org/D91494
The file was modifiedllvm/utils/release/export.sh
Commit 359e2f988dc560d519c91d3ee96a2ea99983f5d4 by kadircet
[clangd] Introduce config parsing for External blocks

Enable configuration of remote and static indexes through config files
in addition to command line arguments.

Differential Revision: https://reviews.llvm.org/D90748
The file was modifiedclang-tools-extra/clangd/ConfigYAML.cpp
The file was modifiedclang-tools-extra/clangd/unittests/ConfigYAMLTests.cpp
The file was modifiedclang-tools-extra/clangd/ConfigFragment.h
Commit c9776c8d4ef7c1d69b6d74b81627c4028396e7c1 by kadircet
[clangd] Introduce config compilation for External blocks

Compilation logic for External blocks. A few of the high level points:
- Requires exactly one-of File/Server at a time:
  - Server is ignored in case of both, with a warning.
  - Having none is an error, would render ExternalBlock void.
- Ensures mountpoint is an absolute path:
  - Interprets it as relative to FragmentDirectory.
  - Defaults to FragmentDirectory when empty.
- Marks Background as Skip.

Depends on D90748.

Differential Revision: https://reviews.llvm.org/D90749
The file was modifiedclang-tools-extra/clangd/ConfigCompile.cpp
The file was modifiedclang-tools-extra/clangd/Config.h
The file was modifiedclang-tools-extra/clangd/unittests/ConfigCompileTests.cpp
Commit 067ffbfe60180aa7b1fdd87b2b6e8ccc67a43a76 by kadircet
[clangd] Introduce ProjectAwareIndex

An index implementation that can dispatch to a variety of indexes
depending on the file path. Enables clangd to work with multiple indexes in the
same instance, configured via config files.

Depends on D90749, D90746

Differential Revision: https://reviews.llvm.org/D90750
The file was addedclang-tools-extra/clangd/index/ProjectAware.cpp
The file was modifiedclang-tools-extra/clangd/Config.h
The file was addedclang-tools-extra/clangd/unittests/ProjectAwareIndexTests.cpp
The file was modifiedclang-tools-extra/clangd/unittests/CMakeLists.txt
The file was addedclang-tools-extra/clangd/index/ProjectAware.h
The file was modifiedclang-tools-extra/clangd/CMakeLists.txt
Commit cab313680703097f5f4642b348c43018f55a5a4f by kadircet
[clangd] Use ProjectAwareIndex in ClangdMain

Put project-aware-index between command-line specified static index and
ClangdServer indexes.

This also moves remote-index dependency from clangDaemon to ClangdMain
in an attempt to prevent cyclic dependency between clangDaemon and
remote-index-marshalling.

Differential Revision: https://reviews.llvm.org/D91860
The file was modifiedclang-tools-extra/clangd/index/ProjectAware.cpp
The file was modifiedclang-tools-extra/clangd/CMakeLists.txt
The file was modifiedclang-tools-extra/clangd/index/ProjectAware.h
The file was modifiedclang-tools-extra/clangd/tool/ClangdMain.cpp
Commit 655360096f27f25a0e2f71729c1c879f1fd8d8a2 by kadircet
[clangd] Fix use-after-free in ProjectAwareIndex tests
The file was modifiedclang-tools-extra/clangd/unittests/ProjectAwareIndexTests.cpp
Commit f4f8a67aaf13bc66a2b7d55561b14a3724a5e0de by stellaraccident
[mlir][Python] Support finding pybind11 from the python environment.

* Makes `pip install pybind11` do the right thing with no further config.
* Since we now require a version of pybind11 greater than many LTS OS installs (>=2.6), a more convenient way to get a recent version is preferable.
* Also adds the version spec to find_package so it will skip older versions that may be lying around.
* Tested the full matrix of old system install, no system install, pip install and no pip install.

Differential Revision: https://reviews.llvm.org/D91903
The file was modifiedmlir/docs/Bindings/Python.md
The file was modifiedmlir/CMakeLists.txt
The file was addedmlir/cmake/modules/MLIRDetectPythonEnv.cmake
Commit 6a9d05a0a2e9c52799df60409a86fdb1b7ee6b9c by thakis
[gn build] sort of merge 37ac559fccd4

It'd be nicer if there was a group target that forwarded either to
//clang-tools-extra/clangd/index/remote or
//clangd/index/remote/unimplemented based on if remote index is enabled,
but for now it's never enabled in the gn build.
The file was modifiedllvm/utils/gn/secondary/clang-tools-extra/clangd/tool/BUILD.gn
Commit 8c5d751b723a52c124fc49ee30bf4a0cbe01d835 by llvmgnsyncbot
[gn build] Port 067ffbfe601
The file was modifiedllvm/utils/gn/secondary/clang-tools-extra/clangd/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/clang-tools-extra/clangd/unittests/BUILD.gn
Commit f3339b9f988cb86e32179982266cccf8962f7e45 by david.green
[ARM] MVE VABD tests. NFC
The file was addedllvm/test/CodeGen/Thumb2/mve-vabdus.ll
Commit 191117cec5cdffb46fc3b889bd0627b77b798864 by thakis
[gn build] (manually) port ed424b428
The file was modifiedllvm/utils/gn/secondary/clang-tools-extra/clangd/index/remote/unimplemented/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/clang-tools-extra/clangd/index/remote/BUILD.gn
Commit c8c3a411c50f541ce5362bd60ee3f8fe43ac2722 by david.green
[ARM] Ensure MVE_TwoOpPattern is used inside Predicate's
The file was modifiedllvm/lib/Target/ARM/ARMInstrMVE.td
Commit 15a3ae1ab1a64cc62041c32ba54914a9dd7b8361 by zequanwu
[Clang] Add __STDCPP_THREADS__ to standard predefine macros

According to https://eel.is/c++draft/cpp.predefined#2.6, `__STDCPP_THREADS__` is a predefined macro.

Differential Revision: https://reviews.llvm.org/D91747
The file was modifiedclang/include/clang/Basic/LangOptions.h
The file was modifiedclang/test/Preprocessor/init-aarch64.c
The file was modifiedclang/lib/CodeGen/ObjectFilePCHContainerOperations.cpp
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedclang/include/clang/Basic/LangOptions.def
The file was addedclang/test/CXX/cpp/cpp.predefined/p2.cpp
The file was modifiedclang/include/clang/Basic/CodeGenOptions.h
The file was modifiedclang/lib/Frontend/InitPreprocessor.cpp
The file was modifiedclang/lib/CodeGen/BackendUtil.cpp
Commit 95956c1c9aae7ea21c2b2f7a21e0901d549bd190 by john.demme
[MLIR] ODS typedef gen fixes & improvements

- Fixes bug 48242 point 3 crash.
- Makes the improvments from points 1 & 2.

https://bugs.llvm.org/show_bug.cgi?id=48262

```
   def RTLValueType : Type<CPred<"isRTLValueType($_self)">, "Type"> {
     string cppType = "::mlir::Type";
   }
```
Works now, but merely by happenstance. Parameters expects a `TypeParameter` class def or a string representing a c++ type but doesn't enforce it.

Reviewed By: lattner

Differential Revision: https://reviews.llvm.org/D91939
The file was modifiedmlir/test/mlir-tblgen/typedefs.td
The file was modifiedmlir/tools/mlir-tblgen/TypeDefGen.cpp
The file was modifiedmlir/lib/TableGen/TypeDef.cpp
Commit 186d129320c85dd3b1a108acf96046d811a6f8cf by kazu
[hwasan] Remove unused declaration shadowBase (NFC)

The function was introduced on Jan 23, 2019 in commit
73078ecd381b5ce95638c7a8e41fcabb6c27703a.

Its definition was removed on Oct 27, 2020 in commit
0930763b4baf926a39dd2d0571fd9e2102ec3831, leaving the declaration
unused.
The file was modifiedllvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
Commit df73b8c174820557608bf364dcf4dfb2bdc1811e by kazu
[ValueMapper] Remove unused declaration remapFunction (NFC)

The function declaration with two parameters was introduced on Apr 16
2016 in commit f0d73f95c15f909c6034f1735632695248bb75a8 without a
corresponding definition.
The file was modifiedllvm/lib/Transforms/Utils/ValueMapper.cpp
Commit 85d6af393c6e9ff8437e567dbf9e40d2026b7bc8 by kazu
[CodeGen] Use pred_empty (NFC)
The file was modifiedllvm/lib/CodeGen/WasmEHPrepare.cpp
The file was modifiedllvm/lib/CodeGen/CodeGenPrepare.cpp