UnstableChanges

Summary

  1. [RISCV] Define the vfsqrt RVV intrinsics (details)
  2. Fix build after eaadb41db6233cf1c9e882d74a31c1f9d6e211ff when the MSVC libs are not in PATH. (details)
  3. [Cloning] Copy metadata of global declarations (details)
  4. [clang] Add powerpc64le-none-linux-gnu to gnu toolchain for PPC64 (details)
  5. [builtins] Add COMPILER_RT_BUILTINS_HIDE_SYMBOLS (details)
  6. Revert "Revert "Revert "[analyzer] NFC: Move path diagnostic consumer implementations to libAnalysis.""" (details)
  7. [gn build] Port b12f26733a4 (details)
  8. [gn build] (manually) merge a whole bunch of libc++ header files (details)
  9. Fix MLIR DRR matching when attributes are interleaved with operands (details)
  10. [LLD][COFF] Simplify function. NFC. (details)
  11. Fix subprogram_ranges.test by explicitly using lld (details)
  12. Fix print-dot-ddg.ll so it doesn't try to write to the source tree (& uses the test temp paths instead) (details)
  13. lldb subprogram_ranges.test - remove dependence on temp file name (details)
  14. Revert "Revert "Revert "Revert "[analyzer] NFC: Move path diagnostic consumer implementations to libAnalysis."""" (details)
  15. [gn build] Port 6b0ee02747e (details)
  16. [CodeGen] Remove unused function isCallerPreservedOrConstPhysReg (NFC) (details)
  17. [llvm] Use *Set::contains (NFC) (details)
  18. [Target] Use llvm::find_if (NFC) (details)
  19. [lldb] Access the ModuleList through iterators where possible (NFC) (details)
  20. [lldb] Make DoReadMemory a protected method. (details)
  21. AMDGPU/GlobalISel: Enable sret demotion (details)
Commit 946bc50e4cbbc998c77e091c7956e996a7d409f0 by evandro.menezes
[RISCV] Define the vfsqrt RVV intrinsics

Define the `vfsqrt` IR intrinsics for the respective V instructions.

Authored-by: Roger Ferrer Ibanez <rofirrim@gmail.com>
Co-Authored-by: Evandro Menezes <evandro.menezes@sifive.com>

Differential Revision: https://reviews.llvm.org/D93745
The file was addedllvm/test/CodeGen/RISCV/rvv/vfsqrt-rv32.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
The file was modifiedllvm/include/llvm/IR/IntrinsicsRISCV.td
The file was addedllvm/test/CodeGen/RISCV/rvv/vfsqrt-rv64.ll
Commit 6acfc3a78210639367ab8345a9af04e97692a661 by alexandre.ganea
Fix build after eaadb41db6233cf1c9e882d74a31c1f9d6e211ff when the MSVC libs are not in PATH.
The file was modifiedlld/test/COFF/precomp-ghash.test
Commit 8dddcc762dd98d53b9406b36e92f62502834187c by ruiling.song
[Cloning] Copy metadata of global declarations

We have modules with metadata on declarations, and out-of-tree passes
use that metadata, and we need to clone those modules. We really expect
such metadata is kept during the clone operation.

Reviewed by: arsenm, aprantl

Differential Revision: https://reviews.llvm.org/D93451
The file was addedllvm/test/Other/copy-metadata-of-declaration.ll
The file was modifiedllvm/lib/Transforms/Utils/CloneModule.cpp
Commit 48baa7f5b11cbe6b00711864a19cd8b722f5940d by clementval
[clang] Add powerpc64le-none-linux-gnu to gnu toolchain for PPC64

While trying to compile clang and openmp with a freshly built clang with the gcc/7.4.0
toolchain on the Summit supercomputer I face some error because of the triple under which
the GCC toolchain is installed was not present in for PPC64LE triples.
This patch add the powerpc64le-none-linux-gnu used on system like Summit and Ascent.

Reviewed By: jdenny

Differential Revision: https://reviews.llvm.org/D94261
The file was modifiedclang/lib/Driver/ToolChains/Gnu.cpp
Commit 658a1be76ba2e9880bc1dd530869a45be452344c by rprichard
[builtins] Add COMPILER_RT_BUILTINS_HIDE_SYMBOLS

On Android, when the builtins are linked into a binary, they are
typically linked using -Wl,--exclude-libs so that the symbols aren't
reexported. For the NDK, compiler-rt's default behavior (build the
builtins archive with -fvisibility=hidden) is better so that builtins
are hidden even without -Wl,--exclude-libs.

Android needs the builtins with non-hidden symbols only for a special
case: for backwards compatibility with old binaries, the libc.so and
libm.so DSOs in the platform need to export some builtins for arm32 and
32-bit x86. See D56977.

Control the behavior with a new flag,
`COMPILER_RT_BUILTINS_HIDE_SYMBOLS`, that behaves similarly to the
`*_HERMETIC_STATIC_LIBRARY` in libunwind/libcxx/libcxxabi, so that
Android can build a special builtins variant for libc.so/libm.so.

Unlike the hermetic flags for other projects, this new flag is enabled
by default.

Reviewed By: compnerd, MaskRay

Differential Revision: https://reviews.llvm.org/D93431
The file was modifiedcompiler-rt/lib/builtins/CMakeLists.txt
Commit b12f26733a4259c90e5f387aceb9f23c35e003b8 by dblaikie
Revert "Revert "Revert "[analyzer] NFC: Move path diagnostic consumer implementations to libAnalysis."""

This reverts commit d2ddc694ff94743d9735aaf07edcaf6db8aaca04.

This still contains a circular dependency between Analysis and CrossTU:

$ grep -r include.*Analysis clang/include/clang/CrossTU
clang/include/clang/CrossTU/CrossTranslationUnit.h:
  #include "clang/Analysis/CrossTUAnalysisHelper.h"
$ grep -r include.*CrossTU clang/lib/Analysis
clang/lib/Analysis/PlistHTMLPathDiagnosticConsumer.cpp:
  #include "clang/CrossTU/CrossTranslationUnit.h"
clang/lib/Analysis/PlistPathDiagnosticConsumer.cpp:
  #include "clang/Analysis/CrossTUAnalysisHelper.h"
The file was modifiedclang/include/clang/StaticAnalyzer/Core/PathSensitive/AnalysisManager.h
The file was modifiedclang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp
The file was removedclang/lib/Analysis/HTMLPathDiagnosticConsumer.cpp
The file was addedclang/lib/StaticAnalyzer/Core/TextDiagnostics.cpp
The file was removedclang/lib/Analysis/PlistPathDiagnosticConsumer.cpp
The file was modifiedclang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.h
The file was modifiedclang/include/clang/module.modulemap
The file was removedclang/include/clang/Analysis/CrossTUAnalysisHelper.h
The file was removedclang/lib/Analysis/SarifPathDiagnosticConsumer.cpp
The file was modifiedclang/include/clang/CrossTU/CrossTranslationUnit.h
The file was modifiedclang/lib/StaticAnalyzer/Core/CMakeLists.txt
The file was addedclang/lib/StaticAnalyzer/Core/HTMLDiagnostics.cpp
The file was modifiedclang/lib/Analysis/CMakeLists.txt
The file was modifiedclang/include/clang/StaticAnalyzer/Core/Analyses.def
The file was removedclang/include/clang/Analysis/PathDiagnosticConsumers.h
The file was addedclang/include/clang/StaticAnalyzer/Core/PathDiagnosticConsumers.h
The file was removedclang/lib/Analysis/TextPathDiagnosticConsumer.cpp
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was addedclang/lib/StaticAnalyzer/Core/SarifDiagnostics.cpp
The file was removedclang/include/clang/Analysis/PathDiagnosticConsumers.def
The file was addedclang/lib/StaticAnalyzer/Core/PlistDiagnostics.cpp
The file was removedclang/lib/Analysis/PlistHTMLPathDiagnosticConsumer.cpp
The file was modifiedclang/lib/CrossTU/CrossTranslationUnit.cpp
Commit ab814896dc8a9d55c49ed20d87e39cac2dc6882b by llvmgnsyncbot
[gn build] Port b12f26733a4
The file was modifiedllvm/utils/gn/secondary/clang/lib/StaticAnalyzer/Core/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/clang/lib/Analysis/BUILD.gn
Commit 2759041786e4fe0dfb3b4fe9a3107395be738b95 by thakis
[gn build] (manually) merge a whole bunch of libc++ header files

I noticed __availability was missing, so I manually diffed the
file lists and put all recently(ish) added headers:
* __availability from 2eadbc86142ba
* concepts from 601f7631827ae
* execution from 0a06eb911b830
* numbers from 4f6c4b473c4a5

Also remove libcxx_install_support_headers like the CMake build did in
6706342f48bea, and unconditionally copy
support/win32/{limits_msvc_win32.h,locale_win32.h} like the CMake
build always did as far as I can tell.
The file was modifiedllvm/utils/gn/secondary/libcxx/include/BUILD.gn
Commit f02e61a8b957871292e092aa440964c0f4e2bb21 by joker.eph
Fix MLIR DRR matching when attributes are interleaved with operands

The ODSOperand indexing should ignore the attributes.

Differential Revision: https://reviews.llvm.org/D94281
The file was modifiedmlir/tools/mlir-tblgen/RewriterGen.cpp
The file was modifiedmlir/test/mlir-tblgen/rewriter-indexing.td
Commit b14ad90b137980125170b64fdf6be270811e5fc7 by alexandre.ganea
[LLD][COFF] Simplify function. NFC.
The file was modifiedlld/COFF/DebugTypes.h
The file was modifiedlld/COFF/DebugTypes.cpp
Commit 696775d96ecd20aacb7935541995a5554bb32ba8 by dblaikie
Fix subprogram_ranges.test by explicitly using lld

Seems consistent with the way other tests in this directory do linking
The file was modifiedlldb/test/Shell/SymbolFile/DWARF/subprogram_ranges.test
Commit 4a3c2ba890460a209b289dca525e9de6f8ad0af3 by dblaikie
Fix print-dot-ddg.ll so it doesn't try to write to the source tree (& uses the test temp paths instead)
The file was modifiedllvm/test/Analysis/DDG/print-dot-ddg.ll
Commit 2ff36e79291486b489ae26418daa1b123473b405 by dblaikie
lldb subprogram_ranges.test - remove dependence on temp file name
The file was modifiedlldb/test/Shell/SymbolFile/DWARF/subprogram_ranges.test
Commit 6b0ee02747ed22d41e175d15f27025183341e6f8 by Artem Dergachev
Revert "Revert "Revert "Revert "[analyzer] NFC: Move path diagnostic consumer implementations to libAnalysis.""""

This reverts commit b12f26733a4259c90e5f387aceb9f23c35e003b8.

Fix dead include that looked like another missed circular dependency.
The file was modifiedclang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.h
The file was modifiedclang/include/clang/module.modulemap
The file was removedclang/include/clang/StaticAnalyzer/Core/PathDiagnosticConsumers.h
The file was modifiedclang/include/clang/StaticAnalyzer/Core/PathSensitive/AnalysisManager.h
The file was addedclang/lib/Analysis/HTMLPathDiagnosticConsumer.cpp
The file was modifiedclang/lib/Analysis/CMakeLists.txt
The file was addedclang/include/clang/Analysis/PathDiagnosticConsumers.def
The file was addedclang/lib/Analysis/PlistPathDiagnosticConsumer.cpp
The file was addedclang/lib/Analysis/SarifPathDiagnosticConsumer.cpp
The file was removedclang/lib/StaticAnalyzer/Core/PlistDiagnostics.cpp
The file was addedclang/include/clang/Analysis/PathDiagnosticConsumers.h
The file was removedclang/lib/StaticAnalyzer/Core/TextDiagnostics.cpp
The file was addedclang/lib/Analysis/TextPathDiagnosticConsumer.cpp
The file was modifiedclang/include/clang/StaticAnalyzer/Core/Analyses.def
The file was addedclang/lib/Analysis/PlistHTMLPathDiagnosticConsumer.cpp
The file was removedclang/lib/StaticAnalyzer/Core/HTMLDiagnostics.cpp
The file was modifiedclang/lib/StaticAnalyzer/Core/CMakeLists.txt
The file was modifiedclang/include/clang/CrossTU/CrossTranslationUnit.h
The file was modifiedclang/lib/CrossTU/CrossTranslationUnit.cpp
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was addedclang/include/clang/Analysis/CrossTUAnalysisHelper.h
The file was modifiedclang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp
The file was removedclang/lib/StaticAnalyzer/Core/SarifDiagnostics.cpp
Commit 495b301de6ed9990e6e04e603a61b16639d5ad6f by llvmgnsyncbot
[gn build] Port 6b0ee02747e
The file was modifiedllvm/utils/gn/secondary/clang/lib/StaticAnalyzer/Core/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/clang/lib/Analysis/BUILD.gn
Commit 8febb2e0f56107b3256999c9e1520fdc51fcd1b4 by kazu
[CodeGen] Remove unused function isCallerPreservedOrConstPhysReg (NFC)

The last use of the function was removed on Oct 20, 2018 in commit
8d6ff4c0af843e1a61b76d89812aed91e358de34.
The file was modifiedllvm/include/llvm/CodeGen/MachineRegisterInfo.h
The file was modifiedllvm/lib/CodeGen/MachineRegisterInfo.cpp
Commit 33bf1cad759487f678f2b694866e2608c4b99aea by kazu
[llvm] Use *Set::contains (NFC)
The file was modifiedllvm/lib/Transforms/Instrumentation/ControlHeightReduction.cpp
The file was modifiedllvm/lib/Transforms/IPO/FunctionAttrs.cpp
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
The file was modifiedllvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
The file was modifiedllvm/lib/Transforms/Scalar/JumpThreading.cpp
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
The file was modifiedllvm/lib/Transforms/Scalar/LoopRerollPass.cpp
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Commit b934160aaa36be42d5b868704157f30339e7d855 by kazu
[Target] Use llvm::find_if (NFC)
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SILowerSGPRSpills.cpp
The file was modifiedllvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
The file was modifiedllvm/lib/Target/X86/X86InstructionSelector.cpp
The file was modifiedllvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
The file was modifiedllvm/lib/Target/AVR/MCTargetDesc/AVRMCExpr.cpp
The file was modifiedllvm/lib/Target/AMDGPU/GCNRegPressure.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Commit f2e05855deb39125a30a67b63a5e524792805768 by Jonas Devlieghere
[lldb] Access the ModuleList through iterators where possible (NFC)

Replace uses of GetModuleAtIndexUnlocked and
GetModulePointerAtIndexUnlocked with the ModuleIterable and
ModuleIterableNoLocking where applicable.

Differential revision: https://reviews.llvm.org/D94271
The file was modifiedlldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
The file was modifiedlldb/source/Target/Process.cpp
The file was modifiedlldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOS.cpp
The file was modifiedlldb/source/Core/ModuleList.cpp
The file was modifiedlldb/source/Breakpoint/Breakpoint.cpp
The file was modifiedlldb/source/Commands/CommandObjectTarget.cpp
The file was modifiedlldb/include/lldb/Core/ModuleList.h
The file was modifiedlldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.cpp
The file was modifiedlldb/source/Core/SearchFilter.cpp
The file was modifiedlldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTrampolineHandler.cpp
The file was modifiedlldb/source/Plugins/MemoryHistory/asan/MemoryHistoryASan.cpp
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp
The file was modifiedlldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
The file was modifiedlldb/include/lldb/Utility/Iterable.h
The file was modifiedlldb/source/Plugins/DynamicLoader/Static/DynamicLoaderStatic.cpp
The file was modifiedlldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntime.cpp
Commit 57e0cd356287321c4847a9e0a9177516dae0cbc1 by Jonas Devlieghere
[lldb] Make DoReadMemory a protected method.

DoReadMemory is LLDB's internal implementation and shouldn't be called
directly.

Differential revision: https://reviews.llvm.org/D94284
The file was modifiedlldb/source/Plugins/DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernel.cpp
The file was modifiedlldb/source/Plugins/DynamicLoader/Hexagon-DYLD/HexagonDYLDRendezvous.cpp
The file was modifiedlldb/source/Plugins/JITLoader/GDB/JITLoaderGDB.cpp
The file was modifiedlldb/include/lldb/Target/Process.h
Commit ae25a397e9de833ffbd5d8e3b480086404625cb7 by Christudasan.Devadasan
AMDGPU/GlobalISel: Enable sret demotion
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUCallLowering.h
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/CallLowering.h
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/function-returns.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call-return-values.ll
The file was modifiedllvm/lib/CodeGen/GlobalISel/CallLowering.cpp