SuccessChanges

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

Summary

  1. Cleaned status.py from old notifiers. (details)
Commit 29eb67693d9ac60038068870cb44710d81073021 by gkistanova
Cleaned status.py from old notifiers.
The file was modifiedbuildbot/osuosl/master/config/status.py

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

Summary

  1. [DebugInfo] Fixing CodeView assert related to lowerBound field of DISubrange. (details)
  2. [EarlyCSE] Remove unnecessary operand swap. (details)
  3. [NFC][PowerPC] Add tests of constants-i64. (details)
  4. [Clang] Clarify __builtin_memcpy_inline documentation (details)
  5. [CodeGen] [WinException] Remove a redundant explicit section switch for aarch64 (details)
  6. [MC] [Win64EH] Canonicalize ARM64 unwind opcodes (details)
  7. [MC] [Win64EH] Write packed ARM64 epilogues if possible (details)
  8. [NewPM] Introduce PreserveCFG check (details)
  9. [SVE][CodeGen] Fix InlineFunction for scalable vectors (details)
  10. [mlir][Linalg] Make LinalgBaseTilingPattern not delete the original operation. (details)
  11. [clang][Sparc] Default to -mcpu=v9 for Sparc V8 on Solaris (details)
  12. Uncapitalize word in LanguageExtensions.rst (details)
  13. [mlir] Fix generation of AVX512 dialect documentation (details)
  14. [MC] [Win64EH] Fix builds with expensive checks enabled (details)
  15. Revert "[ORC] Make MaterializationResponsibility immovable, pass by unique_ptr." (details)
  16. [mlir][Linalg] Print both types for linalg.transpose (details)
  17. [CodeGenPrepare] Simplify code. NFCI. (details)
  18. [AMDGPU] Make movreld-bug test case more robust (details)
  19. [clangd][NFC] Get rid of an `else after return` (details)
  20. BasicTTIImpl.h - remove unused MCSchedule.h include. NFCI. (details)
  21. [X86] Keep variables from getDataLayout/getDebugLoc calls as const reference. NFCI. (details)
  22. [clang][aarch64] Fix ILP32 ABI for arm_sve_vector_bits (details)
  23. [flang][driver] Add the new flang compiler and frontend drivers (details)
  24. [clang][aarch64] Fix mangling of bfloat16 neon vectors (details)
  25. [DFSan] XFail a test that's suffering too much optimization (details)
  26. PluginLoader.h - only include CommandLine.h if required. NFCI. (details)
  27. Attributor.h - remove unused includes. NFCI. (details)
  28. [IPO] Remove unnecessary Module.h includes. NFCI. (details)
  29. [LiveDebugValues][NFC] Re-land 60db26a66d, add instr-ref tests (details)
  30. [analyzer][MacroExpansion] Add a few dumps functions (details)
  31. [analyzer][MacroExpansion][NFC] Fix incorrectly calling parameters arguments (details)
  32. [NFC] Fix the signature and definition of findByPrefix (details)
  33. [analyzer][MacroExpansion][NFC] Fix a missing test output check (details)
  34. [mlir][Linalg] Refactor StructuredOpInterface - NFC (details)
  35. [analyzer][MacroExpansion] Fix a crash where multiple parameters resolved to __VA_ARGS__ (details)
  36. [MLIR][Linalg] Undo spurious parameter name change (details)
  37. [libTooling] Fix use of `char` in comparison. (details)
  38. [ARM] Update arm-storebytesmerge.ll test. NFC (details)
  39. [flang] Add new documentation main page (details)
  40. [libcxx] Handle target triples with dashes in platform name (details)
  41. [ConstraintSystem] Add helpers to deal with linear constraints. (details)
  42. [gn build] Port 3eb141e5078 (details)
  43. Revert "[ConstraintSystem] Add helpers to deal with linear constraints." (details)
  44. [gn build] Port 8da6ae4ce1b (details)
  45. [analyzer][NFC] Don't bind values to ObjCForCollectionStmt, replace it with a GDM trait (details)
  46. [libc++] NFC: Add missing license to test (details)
  47. [NFC] Fix compiler warnings due to integer comparison of different signedness (details)
  48. [LiveDebugValues][NFC] Add additional tests (details)
  49. [InstCombine] add/move tests for ptr diff; NFC (details)
  50. [InstCombine] propagate 'nsw' on pointer difference of 'inbounds' geps (PR47430) (details)
  51. [SyntaxTree] Rename functions to start with verb (details)
  52. Revert "[InstCombine] propagate 'nsw' on pointer difference of 'inbounds' geps (PR47430)" (details)
Commit e45b0708ae81ace27de53f12b32a80601cb12bf3 by SourabhSingh.Tomar
[DebugInfo] Fixing CodeView assert related to lowerBound field of DISubrange.

    This is to fix CodeView build failure https://bugs.llvm.org/show_bug.cgi?id=47287
    after DIsSubrange upgrade D80197

    Assert condition is now removed and Count is calculated in case LowerBound
    is absent or zero and Count or UpperBound is constant. If Count is unknown
    it is later handled as VLA (currently Count is set to zero).

Reviewed By: rnk

Differential Revision: https://reviews.llvm.org/D87406
The file was modifiedllvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
Commit f787fe15d8e1cb63b40235e781cd7c2e130bbcd6 by michael.hliao
[EarlyCSE] Remove unnecessary operand swap.

- As min/max are commutative operators, there is no need to swap
  operands. That breaks the convention calculating the hash value.
The file was modifiedllvm/test/CodeGen/AMDGPU/sad.ll
The file was modifiedllvm/lib/Transforms/Scalar/EarlyCSE.cpp
Commit 525c83cee00a3a92d9b1a9d6f39ee4fd6c0c798d by esme.yi
[NFC][PowerPC] Add tests of constants-i64.
The file was modifiedllvm/test/CodeGen/PowerPC/constants-i64.ll
Commit e38be7091ee3d00430652aaa7b66ba3fc8394916 by gchatelet
[Clang] Clarify __builtin_memcpy_inline documentation

This patch updates the documentation about `__builtin_memcpy_inline` and reorders the sections so it is more consitent and understandable.

Differential Revision: https://reviews.llvm.org/D87458
The file was modifiedclang/docs/LanguageExtensions.rst
Commit 46416f08031f6fcaccd9f51430f7a71c5f510495 by martin
[CodeGen] [WinException] Remove a redundant explicit section switch for aarch64

The following EmitWinEHHandlerData() implicitly switches to .xdata, just
like on x86_64.

This became orphaned from the original code requiring it in
0b61d220c9b1f0 / https://reviews.llvm.org/D61095.

Differential Revision: https://reviews.llvm.org/D87447
The file was modifiedllvm/lib/CodeGen/AsmPrinter/WinException.cpp
The file was modifiedllvm/test/CodeGen/AArch64/wineh-mingw.ll
The file was modifiedllvm/test/CodeGen/AArch64/wineh1.mir
The file was modifiedllvm/test/CodeGen/AArch64/win64-jumptable.ll
Commit 700fbe591ac0f29c76e9f2bd77d752d4bd56d274 by martin
[MC] [Win64EH] Canonicalize ARM64 unwind opcodes

Convert 2-byte opcodes to equivalent 1-byte ones.

Adjust the existing exhaustive testcase to avoid being altered by
the simplification rules (to keep that test exercising all individual
opcodes).

Fix the assembler parser limits for register pairs; for .seh_save_regp
and .seh_save_regp_x, we can allow up to x29, for a x29+x30 pair
(which gets remapped to the UOP_SaveFPLR(X) opcodes), for .seh_save_fregp
and .seh_save_fregpx, allow up to d14+d15.

Not creating .seh_save_next for float register pairs, as the
actual unwinder implementation in current versions of Windows is buggy
for that case.

This gives a minimal but measurable size reduction. (For a 6.5 MB
DLL with 300 KB .xdata, the .xdata shrinks by 48 bytes. The opcode
sequences are padded to a 4 byte boundary, so very small improvements
might not end up mattering directly.)

Differential Revision: https://reviews.llvm.org/D87367
The file was modifiedllvm/lib/MC/MCWin64EH.cpp
The file was addedllvm/test/MC/AArch64/seh-optimize.s
The file was modifiedllvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
The file was modifiedllvm/test/MC/AArch64/seh.s
Commit 1308bb99e06752ab0b5175c92da31083f91af921 by martin
[MC] [Win64EH] Write packed ARM64 epilogues if possible

This gives a pretty substantial size reduction; for a 6.5 MB
DLL with 300 KB .xdata, the .xdata shrinks by 66 KB.

Differential Revision: https://reviews.llvm.org/D87369
The file was modifiedllvm/include/llvm/MC/MCWinEH.h
The file was modifiedllvm/test/CodeGen/AArch64/wineh7.mir
The file was modifiedllvm/test/CodeGen/AArch64/wineh6.mir
The file was addedllvm/test/MC/AArch64/seh-packed-epilog.s
The file was modifiedllvm/test/CodeGen/AArch64/wineh3.mir
The file was modifiedllvm/test/MC/AArch64/seh.s
The file was modifiedllvm/lib/MC/MCWin64EH.cpp
Commit 28012e00d80b994ef0709377da15e2b25e6c0b72 by yrouban
[NewPM] Introduce PreserveCFG check

Check that all passes, which report they preserve CFG,
are really preserving CFG.
A new standard instrumentation is introduced. It can be
switched on/off by the flag verify-cfg-preserved, which
is on by default for debug builds.

Reviewers: kuhar, fedor.sergeev

Differential Revision: https://reviews.llvm.org/D81558
The file was modifiedllvm/include/llvm/Passes/StandardInstrumentations.h
The file was modifiedllvm/lib/Passes/StandardInstrumentations.cpp
Commit 1e1770a07ec0f6a3576362ea5eb97aedd33f4b26 by david.sherwood
[SVE][CodeGen] Fix InlineFunction for scalable vectors

When inlining functions containing allocas of scalable vectors we
cannot specify the size in the lifetime markers, since we don't
know this at compile time.

Added new test here:

  test/Transforms/Inline/AArch64/sve-alloca-merge.ll

Differential Revision: https://reviews.llvm.org/D87139
The file was addedllvm/test/Transforms/Inline/AArch64/sve-alloca-merge.ll
The file was modifiedllvm/lib/Transforms/Utils/InlineFunction.cpp
Commit d380b582f7f04f7635b1fbdb8347a6095660a1b6 by ravishankarm
[mlir][Linalg] Make LinalgBaseTilingPattern not delete the original operation.

The LinalgTilingPattern class dervied from the base deletes the
original operation. This allows for the use case where the more
transformations are necessary on the original operation after
tiling. In such cases the pattern can derive from
LinalgBaseTilingPattern instead of LinalgTilingPattern.

Differential Revision: https://reviews.llvm.org/D87308
The file was modifiedmlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
Commit 76e85ae268f8e64540703b0d1710d27ef0d36040 by ro
[clang][Sparc] Default to -mcpu=v9 for Sparc V8 on Solaris

As reported in Bug 42535, `clang` doesn't inline atomic ops on 32-bit
Sparc, unlike `gcc` on Solaris.  In a 1-stage build with `gcc`, only two
testcases are affected (currently `XFAIL`ed), while in a 2-stage build more
than 100 tests `FAIL` due to this issue.

The reason for this `gcc`/`clang` difference is that `gcc` on 32-bit
Solaris/SPARC defaults to `-mpcu=v9` where atomic ops are supported, unlike
with `clang`'s default of `-mcpu=v8`.  This patch changes `clang` to use
`-mcpu=v9` on 32-bit Solaris/SPARC, too.

Doing so uncovered two bugs:

`clang -m32 -mcpu=v9` chokes with any Solaris system headers included:

  /usr/include/sys/isa_defs.h:461:2: error: "Both _ILP32 and _LP64 are defined"
  #error "Both _ILP32 and _LP64 are defined"

While `clang` currently defines `__sparcv9` in a 32-bit `-mcpu=v9`
compilation, neither `gcc` nor Studio `cc` do.  In fact, the Studio 12.6
`cc(1)` man page clearly states:

            These predefinitions are valid in all modes:
  [...]
               __sparcv8 (SPARC)
               __sparcv9 (SPARC -m64)

At the same time, the patch defines `__GCC_HAVE_SYNC_COMPARE_AND_SWAP_[1248]`
for a 32-bit Sparc compilation with any V9 cpu.  I've also changed
`MaxAtomicInlineWidth` for V9, matching what `gcc` does and the Oracle
Developer Studio 12.6: C User's Guide documents (Ch. 3, Support for Atomic
Types, 3.1 Size and Alignment of Atomic C Types).

The two testcases that had been `XFAIL`ed for Bug 42535 are un-`XFAIL`ed
again.

Tested on `sparcv9-sun-solaris2.11` and `amd64-pc-solaris2.11`.

Differential Revision: https://reviews.llvm.org/D86621
The file was modifiedclang/lib/Basic/Targets/Sparc.cpp
The file was modifiedclang/test/Preprocessor/predefined-arch-macros.c
The file was modifiedclang/lib/Driver/ToolChains/CommonArgs.cpp
The file was modifiedcompiler-rt/test/ubsan/TestCases/Float/cast-overflow.cpp
The file was modifiedclang/lib/Basic/Targets/Sparc.h
The file was modifiedcompiler-rt/test/profile/Posix/instrprof-gcov-parallel.test
Commit b8ea47a38039c57e863e3047c33d8584e21360f0 by noreply
Uncapitalize word in LanguageExtensions.rst
The file was modifiedclang/docs/LanguageExtensions.rst
Commit a68673cc067a190f5a9d0f0e3e4837601caf4504 by marius.brehler
[mlir] Fix generation of AVX512 dialect documentation

This changes adjusts the documentation generation for the AVX512 dialect. The machanism to generate documentation was changed with https://github.com/llvm/llvm-project/commit/1a083f027f33f4014247df4c0e757e23d5cdab64.

Reviewed By: nicolasvasilache

Differential Revision: https://reviews.llvm.org/D87460
The file was modifiedmlir/include/mlir/Dialect/AVX512/CMakeLists.txt
Commit e6419d320d501077d1c5e1e7e1291a1ec6573877 by martin
[MC] [Win64EH] Fix builds with expensive checks enabled

This fixes a failed assert if expensive checks are enabled,
since 1308bb99e06752ab0b5175c92da31083f91af921.
The file was modifiedllvm/lib/MC/MCWin64EH.cpp
Commit c0825fa5fc367bb7dc04a4b9dd4cc62abde04521 by flo
Revert "[ORC] Make MaterializationResponsibility immovable, pass by unique_ptr."

This reverts commit c74900ca67241bf963b7a4cfa1fae8eadf6bb8cd.

This appears to be breaking some builds on macOS and has been causing
build failures on Green Dragon (see below). I am reverting this for now,
to unblock testing on Green Dragon.

http://green.lab.llvm.org/green/job/clang-stage1-cmake-RA-incremental/18144/console

[65/187] /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++  -DBUILD_EXAMPLES -DGTEST_HAS_RTTI=0 -D_DEBUG -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Iexamples/ThinLtoJIT -I/Users/buildslave/jenkins/workspace/clang-stage1-cmake-RA-incremental/llvm-project/llvm/examples/ThinLtoJIT -Iinclude -I/Users/buildslave/jenkins/workspace/clang-stage1-cmake-RA-incremental/llvm-project/llvm/include -fPIC -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wstring-conversion -fdiagnostics-color -O3  -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -mmacosx-version-min=10.9    -fno-exceptions -fno-rtti -UNDEBUG -std=c++14 -MD -MT examples/ThinLtoJIT/CMakeFiles/ThinLtoJIT.dir/ThinLtoDiscoveryThread.cpp.o -MF examples/ThinLtoJIT/CMakeFiles/ThinLtoJIT.dir/ThinLtoDiscoveryThread.cpp.o.d -o examples/ThinLtoJIT/CMakeFiles/ThinLtoJIT.dir/ThinLtoDiscoveryThread.cpp.o -c /Users/buildslave/jenkins/workspace/clang-stage1-cmake-RA-incremental/llvm-project/llvm/examples/ThinLtoJIT/ThinLtoDiscoveryThread.cpp
FAILED: examples/ThinLtoJIT/CMakeFiles/ThinLtoJIT.dir/ThinLtoDiscoveryThread.cpp.o
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++  -DBUILD_EXAMPLES -DGTEST_HAS_RTTI=0 -D_DEBUG -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Iexamples/ThinLtoJIT -I/Users/buildslave/jenkins/workspace/clang-stage1-cmake-RA-incremental/llvm-project/llvm/examples/ThinLtoJIT -Iinclude -I/Users/buildslave/jenkins/workspace/clang-stage1-cmake-RA-incremental/llvm-project/llvm/include -fPIC -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wstring-conversion -fdiagnostics-color -O3  -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -mmacosx-version-min=10.9    -fno-exceptions -fno-rtti -UNDEBUG -std=c++14 -MD -MT examples/ThinLtoJIT/CMakeFiles/ThinLtoJIT.dir/ThinLtoDiscoveryThread.cpp.o -MF examples/ThinLtoJIT/CMakeFiles/ThinLtoJIT.dir/ThinLtoDiscoveryThread.cpp.o.d -o examples/ThinLtoJIT/CMakeFiles/ThinLtoJIT.dir/ThinLtoDiscoveryThread.cpp.o -c /Users/buildslave/jenkins/workspace/clang-stage1-cmake-RA-incremental/llvm-project/llvm/examples/ThinLtoJIT/ThinLtoDiscoveryThread.cpp
In file included from /Users/buildslave/jenkins/workspace/clang-stage1-cmake-RA-incremental/llvm-project/llvm/examples/ThinLtoJIT/ThinLtoDiscoveryThread.cpp:7:
/Users/buildslave/jenkins/workspace/clang-stage1-cmake-RA-incremental/llvm-project/llvm/examples/ThinLtoJIT/ThinLtoInstrumentationLayer.h:37:68: error: non-virtual member function marked 'override' hides virtual member function
  void emit(MaterializationResponsibility R, ThreadSafeModule TSM) override;
                                                                   ^
/Users/buildslave/jenkins/workspace/clang-stage1-cmake-RA-incremental/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/Layer.h:103:16: note: hidden overloaded virtual function 'llvm::orc::IRLayer::emit' declared here: type mismatch at 1st parameter ('std::unique_ptr<MaterializationResponsibility>' vs 'llvm::orc::MaterializationResponsibility')
  virtual void emit(std::unique_ptr<MaterializationResponsibility> R,
               ^
1 error generated.
The file was modifiedllvm/lib/ExecutionEngine/Orc/Layer.cpp
The file was modifiedllvm/lib/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.cpp
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/Layer.h
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/ObjectTransformLayer.h
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/IRTransformLayer.h
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/ObjectLinkingLayer.h
The file was modifiedllvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp
The file was modifiedllvm/examples/SpeculativeJIT/SpeculativeJIT.cpp
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/Core.h
The file was modifiedllvm/unittests/ExecutionEngine/Orc/CoreAPIsTest.cpp
The file was modifiedllvm/lib/ExecutionEngine/Orc/IndirectionUtils.cpp
The file was modifiedllvm/lib/ExecutionEngine/Orc/LazyReexports.cpp
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/LazyReexports.h
The file was modifiedllvm/unittests/ExecutionEngine/Orc/OrcTestCommon.h
The file was modifiedllvm/lib/ExecutionEngine/Orc/Core.cpp
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/IRCompileLayer.h
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/Speculation.h
The file was modifiedllvm/lib/ExecutionEngine/Orc/ObjectTransformLayer.cpp
The file was modifiedllvm/lib/ExecutionEngine/Orc/CompileOnDemandLayer.cpp
The file was modifiedllvm/lib/ExecutionEngine/Orc/LLJIT.cpp
The file was modifiedllvm/unittests/ExecutionEngine/Orc/LazyCallThroughAndReexportsTest.cpp
The file was modifiedllvm/lib/ExecutionEngine/Orc/IRCompileLayer.cpp
The file was modifiedllvm/lib/ExecutionEngine/Orc/IRTransformLayer.cpp
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.h
The file was modifiedllvm/lib/ExecutionEngine/Orc/Speculation.cpp
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h
Commit a0e0d30a29841fe6cc854f3949f12bb523814d7a by benny.kra
[mlir][Linalg] Print both types for linalg.transpose

Previously only the input type was printed, and the parser applied it to
both input and output, creating an invalid transpose. Print and parse
both types, and verify that they match.

Differential Revision: https://reviews.llvm.org/D87462
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgOps.td
The file was modifiedmlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
The file was modifiedmlir/test/Dialect/Linalg/invalid.mlir
The file was modifiedmlir/test/Dialect/Linalg/roundtrip.mlir
The file was modifiedmlir/test/Dialect/Linalg/llvm.mlir
Commit 5405ee553a631dd8cd18eed8ed9e76ec318febcb by benny.kra
[CodeGenPrepare] Simplify code. NFCI.
The file was modifiedllvm/lib/CodeGen/CodeGenPrepare.cpp
Commit 06e356c81e0fce90c9a21f9f5fb7567efa51ee0f by jay.foad
[AMDGPU] Make movreld-bug test case more robust

Without this, future optimizer improvements can optimize the entire
function to "return 0".
The file was modifiedllvm/test/CodeGen/AMDGPU/movreld-bug.ll
Commit bceca7a996248aba44c3e4b4752634114650e6ac by kadircet
[clangd][NFC] Get rid of an `else after return`
The file was modifiedclang-tools-extra/clangd/ClangdLSPServer.cpp
Commit ff77d165a8161705c8ec3bb3ced2711dce297699 by llvm-dev
BasicTTIImpl.h - remove unused MCSchedule.h include. NFCI.
The file was modifiedllvm/include/llvm/CodeGen/BasicTTIImpl.h
Commit 70a05ee2880e0ad88416ae4b4bed3cadc53e5cd1 by llvm-dev
[X86] Keep variables from getDataLayout/getDebugLoc calls as const reference. NFCI.

These are only ever used as references in the called functions, so just pass the original reference instead of copying it.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 002f5ab3b171c7d9c9ea192b04a5303be78f6e52 by cullen.rhodes
[clang][aarch64] Fix ILP32 ABI for arm_sve_vector_bits

The element types of scalable vectors are defined in terms of stdint
types in the ACLE. This patch fixes the mapping to builtin types for the
ILP32 ABI when creating VLS types with the arm_sve_vector_bits, where
the mapping is as follows:

  int32_t -> LongTy
  int64_t -> LongLongTy
  uint32_t -> UnsignedLongTy
  uint64_t -> UnsignedLongLongTy

This is implemented by leveraging getBuiltinVectorTypeInfo which is
target agnostic since it calls ASTContext::getIntTypeForBitwidth for
integer types. The element type for svfloat16_t is changed from
Float16Ty to HalfTy when creating VLS types since this is what is used
elsewhere.

For more information, see:

https://github.com/ARM-software/abi-aa/blob/master/aapcs64/aapcs64.rst#types-varying-by-data-model
https://github.com/ARM-software/abi-aa/blob/master/aapcs64/aapcs64.rst#appendix-support-for-scalable-vectors

Reviewed By: efriedma

Differential Revision: https://reviews.llvm.org/D87358
The file was modifiedclang/lib/AST/Type.cpp
The file was modifiedclang/test/CodeGen/attr-arm-sve-vector-bits-types.c
The file was modifiedclang/lib/AST/ItaniumMangle.cpp
The file was modifiedclang/lib/CodeGen/TargetInfo.cpp
Commit 257b29715bb27b7d9f6c3c40c481b6a4af0b37e5 by caroline.concatto
[flang][driver] Add the new flang compiler and frontend drivers

Summary:

This is the first patch implementing the new Flang driver as outlined in [1],
[2] & [3]. It creates Flang driver (`flang-new`) and Flang frontend driver
(`flang-new -fc1`). These will be renamed as `flang` and `flang -fc1` once the
current Flang throwaway driver, `flang`, can be replaced with `flang-new`.

Currently only 2 options are supported: `-help` and `--version`.

`flang-new` is implemented in terms of libclangDriver, defaulting the driver
mode to `FlangMode` (added to libclangDriver in [4]). This ensures that the
driver runs in Flang mode regardless of the name of the binary inferred from
argv[0].

The design of the new Flang compiler and frontend drivers is inspired by it
counterparts in Clang [3]. Currently, the new Flang compiler and frontend
drivers re-use Clang libraries: clangBasic, clangDriver and clangFrontend.

To identify Flang options, this patch adds FlangOption/FC1Option enums.
Driver::printHelp is updated so that `flang-new` prints only Flang options.
The new Flang driver is disabled by default. To enable it, set
`-DBUILD_FLANG_NEW_DRIVER=ON` when configuring CMake and add clang to
`LLVM_ENABLE_PROJECTS` (e.g. -DLLVM_ENABLE_PROJECTS=“clang;flang;mlir”).

[1] “RFC: new Flang driver - next steps”
http://lists.llvm.org/pipermail/flang-dev/2020-July/000470.html
[2] “RFC: Adding a fortran mode to the clang driver for flang”
http://lists.llvm.org/pipermail/cfe-dev/2019-June/062669.html
[3] “RFC: refactoring libclangDriver/libclangFrontend to share with Flang”
http://lists.llvm.org/pipermail/cfe-dev/2020-July/066393.html
[4] https://reviews.llvm.org/rG6bf55804924d5a1d902925ad080b1a2b57c5c75c

co-authored-by: Andrzej Warzynski <andrzej.warzynski@arm.com>

Reviewed By: richard.barton.arm, sameeranjoshi

Differential Revision: https://reviews.llvm.org/D86089
The file was addedflang/include/flang/Frontend/CompilerInstance.h
The file was modifiedflang/lib/CMakeLists.txt
The file was addedflang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
The file was addedflang/test/Flang-Driver/driver-error-cc1.cpp
The file was modifiedflang/unittests/CMakeLists.txt
The file was addedflang/tools/flang-driver/driver.cpp
The file was modifiedclang/lib/Frontend/CreateInvocationFromCommandLine.cpp
The file was modifiedflang/tools/CMakeLists.txt
The file was addedflang/test/Flang-Driver/missing-input.f90
The file was addedflang/test/Flang-Driver/driver-version.f90
The file was modifiedclang/lib/Tooling/Tooling.cpp
The file was modifiedclang/unittests/Driver/SanitizerArgsTest.cpp
The file was addedflang/lib/Frontend/CompilerInstance.cpp
The file was modifiedflang/test/CMakeLists.txt
The file was addedflang/lib/Frontend/CompilerInvocation.cpp
The file was addedflang/test/Flang-Driver/emit-obj.f90
The file was addedflang/lib/Frontend/FrontendOptions.cpp
The file was addedflang/unittests/Frontend/CompilerInstanceTest.cpp
The file was addedflang/lib/FrontendTool/CMakeLists.txt
The file was modifiedclang/test/Driver/flang/flang_ucase.F90
The file was addedflang/test/Flang-Driver/driver-help.f90
The file was addedflang/unittests/Frontend/CMakeLists.txt
The file was addedflang/tools/flang-driver/fc1_main.cpp
The file was modifiedflang/CMakeLists.txt
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedclang/include/clang/Driver/Driver.h
The file was addedflang/lib/Frontend/CMakeLists.txt
The file was addedflang/tools/flang-driver/CMakeLists.txt
The file was modifiedclang/lib/Driver/Driver.cpp
The file was modifiedclang/lib/Driver/ToolChains/Flang.cpp
The file was modifiedflang/README.md
The file was modifiedflang/test/lit.cfg.py
The file was modifiedclang/test/Driver/flang/multiple-inputs.f90
The file was addedflang/include/flang/Frontend/FrontendOptions.h
The file was modifiedflang/test/lit.site.cfg.py.in
The file was modifiedclang/unittests/Driver/ToolChainTest.cpp
The file was modifiedllvm/include/llvm/Option/OptTable.h
The file was addedflang/include/flang/Frontend/CompilerInvocation.h
The file was addedflang/include/flang/FrontendTool/Utils.h
The file was addedflang/test/Flang-Driver/driver-error-cc1.c
The file was modifiedclang/include/clang/Driver/Options.h
The file was modifiedclang/test/Driver/flang/flang.f90
The file was modifiedclang/test/Driver/flang/multiple-inputs-mixed.f90
Commit cabd60c26b5df34f096cccca5a915bde3b1d8ee1 by cullen.rhodes
[clang][aarch64] Fix mangling of bfloat16 neon vectors

The AAPCS64 specifies the internal type is used for c++ mangling. For
bfloat16 it was defined as `BFloat16` when it should be `Bfloat16`, i.e.
lowercase 'f'.

For more information, see:

https://github.com/ARM-software/abi-aa/blob/master/aapcs64/aapcs64.rst#appendix-support-for-advanced-simd-extensions

Reviewed By: stuij

Differential Revision: https://reviews.llvm.org/D87463
The file was modifiedclang/lib/AST/ItaniumMangle.cpp
The file was modifiedclang/test/CodeGenCXX/mangle-neon-vectors.cpp
Commit 82390454f0c4dfc57dbb82a2cad77de1260868a4 by jeremy.morse
[DFSan] XFail a test that's suffering too much optimization

See https://bugs.llvm.org/show_bug.cgi?id=47488 , rGfb109c42d9 is
optimizing out part of this test.
The file was modifiedcompiler-rt/test/dfsan/event_callbacks.c
Commit 95c7b66abe594116789dd21b32c8ef4c677d18c8 by llvm-dev
PluginLoader.h - only include CommandLine.h if required. NFCI.

We only need this if DONT_GET_PLUGIN_LOADER_OPTION isn't defined.
The file was modifiedllvm/include/llvm/Support/PluginLoader.h
Commit e9a777c4ec7c86043cf82b29cc78da52585bec25 by llvm-dev
Attributor.h - remove unused includes. NFCI.
The file was modifiedllvm/include/llvm/Transforms/IPO/Attributor.h
Commit e17219b15f7528c8240a93fd9385b3a9f3290aa5 by llvm-dev
[IPO] Remove unnecessary Module.h includes. NFCI.

Uses of Module are all implicit to PassInfoMixin<> so we can guarantee PassManager.h to handle it for us.
The file was modifiedllvm/include/llvm/Transforms/IPO/ForceFunctionAttrs.h
The file was modifiedllvm/include/llvm/Transforms/IPO/CrossDSOCFI.h
The file was modifiedllvm/include/llvm/Transforms/IPO/CalledValuePropagation.h
Commit 0caeaff123768020c7b0e1a648d6b6ba67ad6d87 by jeremy.morse
[LiveDebugValues][NFC] Re-land 60db26a66d, add instr-ref tests

This was landed but reverted in 5b9c2b1bea7 due to asan picking up a memory
leak. This is fixed in the change to InstrRefBasedImpl.cpp. Original
commit message follows:

[LiveDebugValues][NFC] Add instr-ref tests, adapt old tests

This patch adds a few tests in DebugInfo/MIR/InstrRef/ of interesting
behaviour that the instruction referencing implementation of
LiveDebugValues has. Mostly, these tests exist to ensure that if you
give the "-experimental-debug-variable-locations" command line switch,
the right implementation runs; and to ensure it behaves the same way as
the VarLoc LiveDebugValues implementation.

I've also touched roughly 30 other tests, purely to make the tests less
rigid about what output to accept. DBG_VALUE instructions are usually
printed with a trailing !debug-location indicating its scope:

  !debug-location !1234

However InstrRefBasedLDV produces new DebugLoc instances on the fly,
meaning there sometimes isn't a numbered node when they're printed,
making the output:

  !debug-location !DILocation(line: 0, blah blah)

Which causes a ton of these tests to fail. This patch removes checks for
that final part of each DBG_VALUE instruction. None of them appear to
be actually checking the scope is correct, just that it's present, so
I don't believe there's any loss in coverage here.

Differential Revision: https://reviews.llvm.org/D83054
The file was modifiedllvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_within_loop_outer_moved.mir
The file was modifiedllvm/test/DebugInfo/MIR/X86/livedebugvalues-ignores-metaInstructions.mir
The file was modifiedllvm/test/DebugInfo/MIR/X86/livedebugvalues_bb_to_bb_clobbered.mir
The file was modifiedllvm/test/DebugInfo/MIR/X86/livedebugvalues_basic_diamond.mir
The file was modifiedllvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
The file was modifiedllvm/test/DebugInfo/MIR/X86/livedebugvalues_basic_diamond_match_move.mir
The file was modifiedllvm/test/DebugInfo/MIR/X86/live-debug-values.mir
The file was modifiedllvm/test/DebugInfo/MIR/X86/livedebugvalues_bb_to_bb.mir
The file was modifiedllvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_within_loop.mir
The file was modifiedllvm/test/DebugInfo/MIR/X86/live-debug-values-bad-transfer.mir
The file was modifiedllvm/test/DebugInfo/MIR/X86/livedebugvalues_basic_diamond_one_move.mir
The file was modifiedllvm/test/DebugInfo/MIR/Mips/last-inst-bundled.mir
The file was modifiedllvm/test/DebugInfo/MIR/X86/livedebugvalues_bb_to_bb_move_to_clobber.mir
The file was modifiedllvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_diamond_move.mir
The file was modifiedllvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_two_backedge.mir
The file was modifiedllvm/test/DebugInfo/MIR/X86/kill-after-spill.mir
The file was modifiedllvm/test/DebugInfo/MIR/X86/livedebugvalues_basic_diamond_one_clobber.mir
The file was modifiedllvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_within_loop_moved.mir
The file was modifiedllvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_break.mir
The file was modifiedllvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_diamond.mir
The file was modifiedllvm/test/DebugInfo/MIR/X86/live-debug-values-3preds.mir
The file was modifiedllvm/test/DebugInfo/MIR/X86/livedebugvalues_basic_diamond_match_clobber.mir
The file was modifiedllvm/test/DebugInfo/MIR/X86/livedebugvalues_basic_loop.mir
Commit 1c08da38676d15600b5c707cf7522eb4273a5347 by dkszelethus
[analyzer][MacroExpansion] Add a few dumps functions
The file was modifiedclang/lib/StaticAnalyzer/Core/PlistDiagnostics.cpp
Commit 26d9a94681056f88bd3e892f8113093268fa0907 by dkszelethus
[analyzer][MacroExpansion][NFC] Fix incorrectly calling parameters arguments
The file was modifiedclang/lib/StaticAnalyzer/Core/PlistDiagnostics.cpp
Commit 4eed800b18abaeba3082bf950fbe5c3020c4b592 by andrzej.warzynski
[NFC] Fix the signature and definition of findByPrefix

In https://reviews.llvm.org/rG257b29715bb27b7d9f6c3c40c481b6a4af0b37e5,
the definition of OptTable::Info::Flags was changed from `unsigned
short` to `unsigned int`, but the definition/declaration of
OptTable::findByPrefix wasn't updated to reflect that.

This patch updates findByPrefix accordingly.
The file was modifiedllvm/include/llvm/Option/OptTable.h
The file was modifiedllvm/lib/Option/OptTable.cpp
Commit 7527898fef47da929e70c81100a0248c2f445762 by dkszelethus
[analyzer][MacroExpansion][NFC] Fix a missing test output check
The file was modifiedclang/test/Analysis/plist-macros-with-expansion.cpp
The file was modifiedclang/test/Analysis/Inputs/expected-plists/plist-macros-with-expansion.cpp.plist
Commit e6f2f17f05a1248b069ba830c4afffd61ee2f297 by ntv
[mlir][Linalg] Refactor StructuredOpInterface - NFC

This revision refactors and cleans up a bunch of things to simplify StructuredOpInterface
before work can proceed on Linalg on tensors:
- break out pieces of the StructuredOps trait that are part of the StructuredOpInterface,
- drop referenceIterators and referenceIndexingMaps that end up being more confusing than useful,
- drop NamedStructuredOpTrait
The file was modifiedmlir/tools/mlir-linalg-ods-gen/mlir-linalg-ods-gen.cpp
The file was modifiedmlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgTraits.h
The file was modifiedmlir/test/mlir-linalg-ods-gen/test-linalg-ods-gen.tc
The file was modifiedmlir/test/Dialect/Linalg/invalid.mlir
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOpsInterface.td
Commit be0d79f32930fe780dc89ba96dac0ba163f7ec50 by dkszelethus
[analyzer][MacroExpansion] Fix a crash where multiple parameters resolved to __VA_ARGS__

In short, macro expansions handled the case where a variadic parameter mapped to
multiple arguments, but not the other way around. An internal ticket was
submitted that demonstrated that we fail an assertion. Macro expansion so far
worked by lexing the source code token-by-token and using the Preprocessor to
turn these tokens into identifiers or just get their proper spelling, but what
this counter intuitively doesn't do, is actually expand these macros, so we have
to do the heavy lifting -- in this case, figure out what __VA_ARGS__ expands
into. Since this case can only occur in a nested macro, the information we
gathered from the containing macro does contain this information. If a parameter
resolves to __VA_ARGS__, we need to temporarily stop getting our tokens from the
lexer, and get the tokens from what __VA_ARGS__ maps to.

Differential Revision: https://reviews.llvm.org/D86135
The file was modifiedclang/test/Analysis/Inputs/expected-plists/plist-macros-with-expansion.cpp.plist
The file was modifiedclang/test/Analysis/plist-macros-with-expansion.cpp
The file was modifiedclang/lib/StaticAnalyzer/Core/PlistDiagnostics.cpp
Commit 1851bab176bba70fb6c6452b7ae55c2dc97f7bb9 by ntv
[MLIR][Linalg] Undo spurious parameter name change
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td
Commit a5cefd95cc60318fbf8610ee782bd22b492692a2 by yitzhakm
[libTooling] Fix use of `char` in comparison.

Fixes Transformer's `Range` parser to handle `char` in a platform-independent way.

Differential Revision: https://reviews.llvm.org/D87409
The file was modifiedclang/lib/Tooling/Transformer/Parsing.cpp
Commit 9fda213ac0e2af05fdae69c60d2cdde316c31cd6 by david.green
[ARM] Update arm-storebytesmerge.ll test. NFC

This test was using a very odd combination of cortex-m7 and Neon. I have
changed it to thumbv7em only.
The file was modifiedllvm/test/CodeGen/ARM/arm-storebytesmerge.ll
Commit 271a7bb144d3f51d29a465329c3614eaa15a6a3c by richard.barton
[flang] Add new documentation main page

Add a new index page to be the Flang documentation mainpage instead of
Overview.md, which jumps straight into the compiler Design. The index file
needs to be in .rst format to use the toctree directive to create table of
contents.

Also use the sphinx_markdown_tables extension to generate html tables form
markdown.

A number of additional style changes to the existing docs were needed to make
this work well:
* Convert all headings to the # style, which works better with toctree's
   titlesonly option. Ensure that there is only one top-level heading per
   document.
* Add a title to documents that don't have one for rendering on the index.
* Convert the grammar docs from .txt to .md. for better rendering
* Fixed broken link to a section in another document - sphinx does not seem to
   support anchor links in markdown files.

Depends on D87226

Reviewed By: sameeranjoshi

Differential Revision: https://reviews.llvm.org/D87242
The file was modifiedflang/docs/Intrinsics.md
The file was modifiedflang/docs/Preprocessing.md
The file was modifiedflang/docs/conf.py
The file was modifiedflang/docs/IORuntimeInternals.md
The file was modifiedflang/docs/BijectiveInternalNameUniquing.md
The file was modifiedflang/docs/ArrayComposition.md
The file was modifiedflang/docs/FortranIR.md
The file was addedflang/docs/index.md
The file was modifiedflang/docs/PullRequestChecklist.md
The file was modifiedflang/docs/OpenMP-semantics.md
The file was modifiedflang/docs/ParserCombinators.md
The file was modifiedflang/docs/ModFiles.md
The file was modifiedflang/docs/Character.md
The file was modifiedflang/docs/Parsing.md
The file was modifiedflang/docs/C++17.md
The file was addedflang/docs/f2018-grammar.md
The file was modifiedflang/docs/FortranForCProgrammers.md
The file was removedflang/docs/f2018-grammar.txt
The file was modifiedflang/docs/Extensions.md
The file was modifiedflang/docs/Calls.md
The file was modifiedflang/docs/OptionComparison.md
The file was modifiedflang/docs/ImplementingASemanticCheck.md
The file was modifiedflang/docs/Directives.md
The file was modifiedflang/docs/RuntimeDescriptor.md
The file was modifiedflang/docs/C++style.md
The file was addedflang/docs/OpenMP-4.5-grammar.md
The file was modifiedflang/docs/LabelResolution.md
The file was modifiedflang/docs/Semantics.md
The file was modifiedflang/docs/Overview.md
The file was removedflang/docs/OpenMP-4.5-grammar.txt
The file was modifiedflang/docs/ControlFlowGraph.md
Commit 6af8758ba4d7c42298a14fcc2433f9ab49215ac1 by mikhail.maltsev
[libcxx] Handle target triples with dashes in platform name

Target triples may contain a dash in the platform name (e.g.
"aarch64-arm-none-eabi"). Account for it when splitting the triple
into components.

Reviewed By: ldionne, #libc

Differential Revision: https://reviews.llvm.org/D87508
The file was modifiedlibcxx/utils/libcxx/test/config.py
Commit 3eb141e5078a0ce9d92eadc721bc49d214d23056 by flo
[ConstraintSystem] Add helpers to deal with linear constraints.

This patch introduces a new ConstraintSystem class, that maintains a set
of linear constraints and uses Fourier–Motzkin elimination to eliminate
constraints to check if there are solutions for the system.

It also adds a convert-constraint-log-to-z3.py script, which can parse
the debug output of the constraint system and convert it to a python
script that feeds the constraints into Z3 and checks if it produces the
same result as the LLVM implementation. This is for verification
purposes.

Reviewed By: spatel

Differential Revision: https://reviews.llvm.org/D84544
The file was addedllvm/utils/convert-constraint-log-to-z3.py
The file was modifiedllvm/unittests/Analysis/CMakeLists.txt
The file was addedllvm/include/llvm/Analysis/ConstraintSystem.h
The file was addedllvm/unittests/Analysis/ConstraintSystemTest.cpp
The file was addedllvm/lib/Analysis/ConstraintSystem.cpp
The file was modifiedllvm/lib/Analysis/CMakeLists.txt
Commit bbb6392c1471aa4c7b7433be6dc572444005f617 by llvmgnsyncbot
[gn build] Port 3eb141e5078
The file was modifiedllvm/utils/gn/secondary/llvm/unittests/Analysis/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Analysis/BUILD.gn
Commit 8da6ae4ce1b686c5c13698e4c5ee937811fda6f7 by flo
Revert "[ConstraintSystem] Add helpers to deal with linear constraints."

This reverts commit 3eb141e5078a0ce9d92eadc721bc49d214d23056.

This uses __builtin_mul_overflow which is not available everywhere.
The file was removedllvm/unittests/Analysis/ConstraintSystemTest.cpp
The file was modifiedllvm/unittests/Analysis/CMakeLists.txt
The file was removedllvm/include/llvm/Analysis/ConstraintSystem.h
The file was removedllvm/utils/convert-constraint-log-to-z3.py
The file was modifiedllvm/lib/Analysis/CMakeLists.txt
The file was removedllvm/lib/Analysis/ConstraintSystem.cpp
Commit de2adfaf2575b3193bdef5bde7dd19ac338e1f2e by llvmgnsyncbot
[gn build] Port 8da6ae4ce1b
The file was modifiedllvm/utils/gn/secondary/llvm/unittests/Analysis/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Analysis/BUILD.gn
Commit b9bca883c970d36f408db80df21838c713c326db by dkszelethus
[analyzer][NFC] Don't bind values to ObjCForCollectionStmt, replace it with a GDM trait

Based on the discussion in D82598#2171312. Thanks @NoQ!

D82598 is titled "Get rid of statement liveness, because such a thing doesn't
exist", and indeed, expressions express a value, non-expression statements
don't.

if (a && get() || []{ return true; }())
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ has a value
    ~ has a value
    ~~~~~~~~~~ has a value
                  ~~~~~~~~~~~~~~~~~~~~ has a value
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ doesn't have a value

That is simple enough, so it would only make sense if we only assigned symbolic
values to expressions in the static analyzer. Yet the interface checkers can
access presents, among other strange things, the following two methods:

ProgramState::BindExpr(const Stmt *S, const LocationContext *LCtx, SVal V,
                       bool Invalidate=true)
ProgramState::getSVal(const Stmt *S, const LocationContext *LCtx)

So, what gives? Turns out, we make an exception for ReturnStmt (which we'll
leave for another time) and ObjCForCollectionStmt. For any other loops, in order
to know whether we should analyze another iteration, among other things, we
evaluate it's condition. Which is a problem for ObjCForCollectionStmt, because
it simply doesn't have one (CXXForRangeStmt has an implicit one!). In its
absence, we assigned the actual statement with a concrete 1 or 0 to indicate
whether there are any more iterations left. However, this is wildly incorrect,
its just simply not true that the for statement has a value of 1 or 0, we can't
calculate its liveness because that doesn't make any sense either, so this patch
turns it into a GDM trait.

Fixing this allows us to reinstate the assert removed in
https://reviews.llvm.org/rG032b78a0762bee129f33e4255ada6d374aa70c71.

Differential Revision: https://reviews.llvm.org/D86736
The file was modifiedclang/lib/StaticAnalyzer/Checkers/UndefBranchChecker.cpp
The file was modifiedclang/lib/StaticAnalyzer/Core/ExprEngineObjC.cpp
The file was addedclang/test/Analysis/objc-live-crash.mm
The file was modifiedclang/lib/StaticAnalyzer/Core/Environment.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp
The file was modifiedclang/lib/StaticAnalyzer/Core/SymbolManager.cpp
The file was modifiedclang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
The file was modifiedclang/lib/StaticAnalyzer/Core/ExprEngine.cpp
Commit 4d12d6149ced575be5386889b27f3bb1891052ab by Louis Dionne
[libc++] NFC: Add missing license to test
The file was modifiedlibcxx/test/libcxx/utilities/memory/util.smartptr/util.smartptr.shared/function_type_default_deleter.fail.cpp
Commit 48b510c4bc0fe090e635ee0440e46fc176527d7e by llvm-dev
[NFC] Fix compiler warnings due to integer comparison of different signedness

Fix by directly using INT_MAX and INT32_MAX.

Patch by: @nullptr.cpp (Yang Fan)

Differential Revision: https://reviews.llvm.org/D87347
The file was modifiedclang/lib/Lex/Pragma.cpp
The file was modifiedllvm/lib/Analysis/VectorUtils.cpp
The file was modifiedllvm/lib/MC/WasmObjectWriter.cpp
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
Commit 0825fa9526818d7d9c94fa47e1fbe19de91003d1 by jeremy.morse
[LiveDebugValues][NFC] Add additional tests

These were supposed to be in 0caeaff1237 and D83054, but a fat-fingered
error when git-adding missed them. Ooops.
The file was addedllvm/test/DebugInfo/MIR/X86/livedebugvalues_load_in_loop.mir
The file was addedllvm/test/DebugInfo/MIR/X86/livedebugvalues_many_loop_heads.mir
Commit 6b5b6511a52276820d4a2e8529370a67cf0bd746 by spatel
[InstCombine] add/move tests for ptr diff; NFC
The file was modifiedllvm/test/Transforms/InstCombine/sub.ll
The file was modifiedllvm/test/Transforms/InstCombine/sub-gep.ll
Commit 324a53205a3af979e3de109fdd52f91781816cba by spatel
[InstCombine] propagate 'nsw' on pointer difference of 'inbounds' geps (PR47430)

There's no signed wrap if both geps have 'inbounds':
https://alive2.llvm.org/ce/z/nZkQTg
https://alive2.llvm.org/ce/z/7qFauh
The file was modifiedllvm/test/Transforms/InstCombine/sub-gep.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
The file was modifiedllvm/test/Transforms/InstCombine/sub.ll
Commit 4c14ee61b73746b314d83e7c52e03d6527b78105 by ecaldas
[SyntaxTree] Rename functions to start with verb

According to LLVM coding standards:
https://llvm.org/docs/CodingStandards.html#name-types-functions-variables-and-enumerators-properly

Differential Revision: https://reviews.llvm.org/D87498
The file was modifiedclang/lib/Tooling/Syntax/BuildTree.cpp
The file was modifiedclang/lib/Tooling/Syntax/Tree.cpp
The file was modifiedclang/include/clang/Tooling/Syntax/Nodes.h
The file was modifiedclang/lib/Tooling/Syntax/Nodes.cpp
The file was modifiedclang/unittests/Tooling/Syntax/BuildTreeTest.cpp
The file was modifiedclang/unittests/Tooling/Syntax/SynthesisTest.cpp
The file was modifiedclang/lib/Tooling/Syntax/Synthesis.cpp
The file was modifiedclang/lib/Tooling/Syntax/ComputeReplacements.cpp
The file was modifiedclang/unittests/Tooling/Syntax/TreeTestBase.cpp
The file was modifiedclang/lib/Tooling/Syntax/Mutations.cpp
The file was modifiedclang/include/clang/Tooling/Syntax/Tree.h
Commit 6aa3fc4a5b88bd0175212e06b183c87cf87c306c by spatel
Revert "[InstCombine] propagate 'nsw' on pointer difference of 'inbounds' geps (PR47430)"

This reverts commit 324a53205a3af979e3de109fdd52f91781816cba.

On closer examination of at least one of the test diffs,
this does not appear to be correct in all cases. Even the
existing 'nsw' creation may be wrong based on this example:
https://alive2.llvm.org/ce/z/uL4Hw9
https://alive2.llvm.org/ce/z/fJMKQS
The file was modifiedllvm/test/Transforms/InstCombine/sub.ll
The file was modifiedllvm/test/Transforms/InstCombine/sub-gep.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp