SuccessChanges

Summary

  1. GlobalISel: widenScalar for G_BUILD_VECTOR
  2. GlobalISel: Check address space when looking up iPTR size Fixes AMDGPU patterns for 32-bit address spaces always failing. Tests will be included in future patches when additional issues are solved.
  3. Reapply [llvm-ar][test] Increase llvm-ar test coverage This change adds tests to cover existing llvm-ar functionality. Differential Revision: https://reviews.llvm.org/D63935
  4. Revert [llvm-ar][test] Increase llvm-ar test coverage Reverted due to test failures Differential Revision: https://reviews.llvm.org/D63935
  5. [llvm-ar][test] Increase llvm-ar test coverage This change adds tests to cover existing llvm-ar functionality. Differential Revision: https://reviews.llvm.org/D63935
  6. [lit] Parse command-line options from LIT_OPTS Similar to `FILECHECK_OPTS` for FileCheck, `LIT_OPTS` makes it easy to adjust lit behavior when running the test suite via ninja. For example: ``` $ LIT_OPTS='--time-tests -vv --filter=threadprivate' \ ninja check-clang-openmp ``` Reviewed By: probinson Differential Revision: https://reviews.llvm.org/D64135
  7. [docs][llvm-objcopy] Add description of binary input/output to doc We briefly referred to being able to specify --target=binary without explaining what binary input/output meant. This change adds a section on this. Reviewed by: MaskRay, abrachet Differential Revision: https://reviews.llvm.org/D64245
Revision 365320 by arsenm:
GlobalISel: widenScalar for G_BUILD_VECTOR
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/GlobalISel/LegalizerHelper.cpptrunk/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
The file was modified/llvm/trunk/unittests/CodeGen/GlobalISel/LegalizerHelperTest.cpptrunk/unittests/CodeGen/GlobalISel/LegalizerHelperTest.cpp
Revision 365319 by arsenm:
GlobalISel: Check address space when looking up iPTR size

Fixes AMDGPU patterns for 32-bit address spaces always failing. Tests
will be included in future patches when additional issues are solved.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/CodeGen/GlobalISel/InstructionSelectorImpl.htrunk/include/llvm/CodeGen/GlobalISel/InstructionSelectorImpl.h
Revision 365318 by gbreynoo:
Reapply [llvm-ar][test] Increase llvm-ar test coverage

This change adds tests to cover existing llvm-ar functionality.

Differential Revision: https://reviews.llvm.org/D63935
Change TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/test/tools/llvm-ar/create.testtrunk/test/tools/llvm-ar/create.test
The file was added/llvm/trunk/test/tools/llvm-ar/dash-before-letter.testtrunk/test/tools/llvm-ar/dash-before-letter.test
The file was modified/llvm/trunk/test/tools/llvm-ar/default-add.testtrunk/test/tools/llvm-ar/default-add.test
The file was added/llvm/trunk/test/tools/llvm-ar/delete.testtrunk/test/tools/llvm-ar/delete.test
The file was added/llvm/trunk/test/tools/llvm-ar/extract.testtrunk/test/tools/llvm-ar/extract.test
The file was added/llvm/trunk/test/tools/llvm-ar/insert-after.testtrunk/test/tools/llvm-ar/insert-after.test
The file was added/llvm/trunk/test/tools/llvm-ar/insert-before.testtrunk/test/tools/llvm-ar/insert-before.test
The file was added/llvm/trunk/test/tools/llvm-ar/move-after.testtrunk/test/tools/llvm-ar/move-after.test
The file was added/llvm/trunk/test/tools/llvm-ar/move-before.testtrunk/test/tools/llvm-ar/move-before.test
The file was added/llvm/trunk/test/tools/llvm-ar/symtab.testtrunk/test/tools/llvm-ar/symtab.test
Revision 365317 by gbreynoo:
Revert [llvm-ar][test] Increase llvm-ar test coverage

Reverted due to test failures

Differential Revision: https://reviews.llvm.org/D63935
Change TypePath in RepositoryPath in Workspace
The file was removed/llvm/trunk/test/tools/llvm-ar/create.testtrunk/test/tools/llvm-ar/create.test
The file was removed/llvm/trunk/test/tools/llvm-ar/dash-before-letter.testtrunk/test/tools/llvm-ar/dash-before-letter.test
The file was modified/llvm/trunk/test/tools/llvm-ar/default-add.testtrunk/test/tools/llvm-ar/default-add.test
The file was removed/llvm/trunk/test/tools/llvm-ar/delete.testtrunk/test/tools/llvm-ar/delete.test
The file was removed/llvm/trunk/test/tools/llvm-ar/extract.testtrunk/test/tools/llvm-ar/extract.test
The file was removed/llvm/trunk/test/tools/llvm-ar/insert-after.testtrunk/test/tools/llvm-ar/insert-after.test
The file was removed/llvm/trunk/test/tools/llvm-ar/insert-before.testtrunk/test/tools/llvm-ar/insert-before.test
The file was removed/llvm/trunk/test/tools/llvm-ar/move-after.testtrunk/test/tools/llvm-ar/move-after.test
The file was removed/llvm/trunk/test/tools/llvm-ar/move-before.testtrunk/test/tools/llvm-ar/move-before.test
The file was removed/llvm/trunk/test/tools/llvm-ar/symtab.testtrunk/test/tools/llvm-ar/symtab.test
Revision 365316 by gbreynoo:
[llvm-ar][test] Increase llvm-ar test coverage

This change adds tests to cover existing llvm-ar functionality.

Differential Revision: https://reviews.llvm.org/D63935
Change TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/test/tools/llvm-ar/create.testtrunk/test/tools/llvm-ar/create.test
The file was added/llvm/trunk/test/tools/llvm-ar/dash-before-letter.testtrunk/test/tools/llvm-ar/dash-before-letter.test
The file was modified/llvm/trunk/test/tools/llvm-ar/default-add.testtrunk/test/tools/llvm-ar/default-add.test
The file was added/llvm/trunk/test/tools/llvm-ar/delete.testtrunk/test/tools/llvm-ar/delete.test
The file was added/llvm/trunk/test/tools/llvm-ar/extract.testtrunk/test/tools/llvm-ar/extract.test
The file was added/llvm/trunk/test/tools/llvm-ar/insert-after.testtrunk/test/tools/llvm-ar/insert-after.test
The file was added/llvm/trunk/test/tools/llvm-ar/insert-before.testtrunk/test/tools/llvm-ar/insert-before.test
The file was added/llvm/trunk/test/tools/llvm-ar/move-after.testtrunk/test/tools/llvm-ar/move-after.test
The file was added/llvm/trunk/test/tools/llvm-ar/move-before.testtrunk/test/tools/llvm-ar/move-before.test
The file was added/llvm/trunk/test/tools/llvm-ar/symtab.testtrunk/test/tools/llvm-ar/symtab.test
Revision 365313 by jdenny:
[lit] Parse command-line options from LIT_OPTS

Similar to `FILECHECK_OPTS` for FileCheck, `LIT_OPTS` makes it easy to
adjust lit behavior when running the test suite via ninja.  For
example:

```
$ LIT_OPTS='--time-tests -vv --filter=threadprivate' \
  ninja check-clang-openmp
```

Reviewed By: probinson

Differential Revision: https://reviews.llvm.org/D64135
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/docs/CommandGuide/lit.rsttrunk/docs/CommandGuide/lit.rst
The file was modified/llvm/trunk/utils/lit/lit/main.pytrunk/utils/lit/lit/main.py
The file was added/llvm/trunk/utils/lit/tests/Inputs/lit-optstrunk/utils/lit/tests/Inputs/lit-opts
The file was added/llvm/trunk/utils/lit/tests/Inputs/lit-opts/lit.cfgtrunk/utils/lit/tests/Inputs/lit-opts/lit.cfg
The file was added/llvm/trunk/utils/lit/tests/Inputs/lit-opts/test.txttrunk/utils/lit/tests/Inputs/lit-opts/test.txt
The file was added/llvm/trunk/utils/lit/tests/lit-opts.pytrunk/utils/lit/tests/lit-opts.py
Revision 365312 by jhenderson:
[docs][llvm-objcopy] Add description of binary input/output to doc

We briefly referred to being able to specify --target=binary without
explaining what binary input/output meant. This change adds a section on
this.

Reviewed by: MaskRay, abrachet

Differential Revision: https://reviews.llvm.org/D64245
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/docs/CommandGuide/llvm-objcopy.rsttrunk/docs/CommandGuide/llvm-objcopy.rst

Summary

  1. [ASTImporter] Fix import of lambda in function param Summary: The current import implementation fails to import the definition of a lambda class if the lambda class is defined in a function param. E.g., the lambda class below will be imported without any methods: ``` template <typename F> void f(F L = [](){}) {} ``` Reviewers: a_sidorin, a.sidorin, shafik Subscribers: rnkovacs, dkrupp, Szelethus, gamesh411, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D64073
  2. [analyzer] Add analyzer option to limit the number of imported TUs Summary: During CTU analysis of complex projects, the loaded AST-contents of imported TUs can grow bigger than available system memory. This option introduces a threshold on the number of TUs to be imported for a single TU in order to prevent such cases. Differential Revision: https://reviews.llvm.org/D59798
Revision 365315 by martong:
[ASTImporter] Fix import of lambda in function param

Summary:
The current import implementation fails to import the definition of a
lambda class if the lambda class is defined in a function param.
E.g., the lambda class below will be imported without any methods:
```
  template <typename F>
  void f(F L = [](){}) {}
```

Reviewers: a_sidorin, a.sidorin, shafik

Subscribers: rnkovacs, dkrupp, Szelethus, gamesh411, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D64073
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/AST/ASTImporter.cpptrunk/lib/AST/ASTImporter.cpp
The file was modified/cfe/trunk/unittests/AST/ASTImporterTest.cpptrunk/unittests/AST/ASTImporterTest.cpp
Revision 365314 by gamesh411:
[analyzer] Add analyzer option to limit the number of imported TUs

Summary:
During CTU analysis of complex projects, the loaded AST-contents of
imported TUs can grow bigger than available system memory. This option
introduces a threshold on the number of TUs to be imported for a single
TU in order to prevent such cases.

Differential Revision: https://reviews.llvm.org/D59798
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/CrossTU/CrossTranslationUnit.htrunk/include/clang/CrossTU/CrossTranslationUnit.h
The file was modified/cfe/trunk/include/clang/StaticAnalyzer/Core/AnalyzerOptions.deftrunk/include/clang/StaticAnalyzer/Core/AnalyzerOptions.def
The file was modified/cfe/trunk/lib/CrossTU/CrossTranslationUnit.cpptrunk/lib/CrossTU/CrossTranslationUnit.cpp
The file was modified/cfe/trunk/test/Analysis/analyzer-config.ctrunk/test/Analysis/analyzer-config.c
The file was added/cfe/trunk/test/Analysis/ctu-import-threshold.ctrunk/test/Analysis/ctu-import-threshold.c
The file was modified/cfe/trunk/unittests/CrossTU/CrossTranslationUnitTest.cpptrunk/unittests/CrossTU/CrossTranslationUnitTest.cpp

Summary

  1. [clangd] Use xxhash instead of SHA1 for background index file digests. Summary: Currently SHA1 is about 10% of our CPU, this patch reduces it to ~1%. xxhash is a well-defined (stable) non-cryptographic hash optimized for fast checksums (like crc32). Collisions shouldn't be a problem, despite the reduced length: - for actual file content (used to invalidate bg index shards), there are only two versions that can collide (new shard and old shard). - for file paths in bg index shard filenames, we would need 2^32 files with the same filename to expect a collision. Imperfect hashing may reduce this a bit but it's well beyond what's plausible. This will invalidate shards on disk (as usual; I bumped the version), but this time the filenames are changing so the old files will stick around :-( So this is more expensive than the usual bump, but would be good to land before the v9 branch when everyone will start using bg index. Reviewers: kadircet Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D64306
Revision 365311 by sammccall:
[clangd] Use xxhash instead of SHA1 for background index file digests.

Summary:
Currently SHA1 is about 10% of our CPU, this patch reduces it to ~1%.

xxhash is a well-defined (stable) non-cryptographic hash optimized for
fast checksums (like crc32).
Collisions shouldn't be a problem, despite the reduced length:
- for actual file content (used to invalidate bg index shards), there
   are only two versions that can collide (new shard and old shard).
- for file paths in bg index shard filenames, we would need 2^32 files
   with the same filename to expect a collision. Imperfect hashing may
   reduce this a bit but it's well beyond what's plausible.

This will invalidate shards on disk (as usual; I bumped the version),
but this time the filenames are changing so the old files will stick
around :-( So this is more expensive than the usual bump, but would be
good to land before the v9 branch when everyone will start using bg index.

Reviewers: kadircet

Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D64306
Change TypePath in RepositoryPath in Workspace
The file was modified/clang-tools-extra/trunk/clangd/SourceCode.cpptrunk/clangd/SourceCode.cpp
The file was modified/clang-tools-extra/trunk/clangd/SourceCode.htrunk/clangd/SourceCode.h
The file was modified/clang-tools-extra/trunk/clangd/index/Background.cpptrunk/clangd/index/Background.cpp
The file was modified/clang-tools-extra/trunk/clangd/index/Background.htrunk/clangd/index/Background.h
The file was modified/clang-tools-extra/trunk/clangd/index/BackgroundIndexStorage.cpptrunk/clangd/index/BackgroundIndexStorage.cpp
The file was modified/clang-tools-extra/trunk/clangd/index/Serialization.cpptrunk/clangd/index/Serialization.cpp
The file was modified/clang-tools-extra/trunk/clangd/unittests/SerializationTests.cpptrunk/clangd/unittests/SerializationTests.cpp