SuccessChanges

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

Summary

  1. [libc builder] Use annotated builder for libc buildbot. (details)
Commit 117452ba0d90d3883d72dd437d97562ce688ad16 by paulatoth
[libc builder] Use annotated builder for libc buildbot.

Summary:
~~This review depends on this one landing~~: https://reviews.llvm.org/D74193. (landed)

Reviewers: sivachandra, gkistanova

Reviewed By: sivachandra, gkistanova

Subscribers: MaskRay

Tags: #libc-project, #zorg

Differential Revision: https://reviews.llvm.org/D74199
The file was removedzorg/buildbot/builders/libc/annotated_step_runner.py
The file was addedzorg/buildbot/builders/annotated/libc-linux.py
The file was modifiedbuildbot/osuosl/master/config/status.py
The file was modifiedbuildbot/osuosl/master/master.cfg
The file was removedzorg/buildbot/builders/libc/__init__.py
The file was modifiedbuildbot/osuosl/master/config/builders.py
The file was removedzorg/buildbot/builders/LibcBuilder.py
The file was modifiedbuildbot/osuosl/master/config/slaves.py

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

Summary

  1. [NFC][clang-tidy] Move recently newly-added tests into checkers/ subdir (details)
  2. [NFC][ARM] Convert some pointers to references. (details)
  3. [VecotrCombine] Fix unused variable for assertion disabled builds (details)
  4. [VE] Support for PIC (global data and calls) (details)
  5. [lldb] Remove accidentally checked-in debugging code (details)
  6. [mlir] Fix argument attribute attribute reassignment in ConvertStandardToLLVM (details)
  7. [lldb/dotest] Remove the "exclusive test subdir" concept (details)
  8. Do not build the CUBIN conversion pass when NVPTX Backend isn't configured (details)
  9. [doc] Clarify responsibility for fixing experimental target problems (details)
  10. [OpenMP] Lower taskwait using OpenMP IR Builder (details)
  11. [lldb/DWARF] Don't hold a unique SymbolFileDWARFDwo in a DWARFUnit (details)
  12. [DebugInfo] Error if unsupported address size detected in line table (details)
  13. [llvm-ar] Simplify Windows comparePaths NFCI (details)
  14. [OpenMP] Lower taskyield using OpenMP IR Builder (details)
  15. llvm/cmake/config.guess: add support for riscv32 and  riscv64 (details)
  16. [X86][SSE] lowerShuffleAsBitRotate - lower to vXi8 shuffles to ROTL on pre-SSSE3 targets (details)
  17. [lldb] Print result when expect_expr unexpectedly succeeds (details)
  18. [clang][DeclPrinter] Implement visitors for {TemplateType,NonTypeTemplate}Parms (details)
  19. [clang][Index] Introduce a TemplateParm SymbolKind (details)
  20. [libc++] span: Fix incorrect static asserts (details)
  21. [test][DebugInfo] Fix signed/unsigned comparison problem in test (details)
  22. [Driver][RISCV] Add RedHat Linux RISC-V triple (details)
  23. [clang-tools-extra] fix the check for if '-latomic' is necessary (details)
  24. [AArch64] Add BIT/BIF support. (details)
  25. Reenable "Always import constants" after compile time fixes (details)
  26. [clangd] Add tracer to the rename workflow, NFC (details)
  27. Move update_cc_test_checks.py tests to clang (details)
  28. [clangd] Update the CompletionItemKind. (details)
  29. Revert "[clang-tools-extra] fix the check for if '-latomic' is necessary" (details)
  30. [libc++] Remove unnecessary typenames from std/numerics/c.math/abs.pass.cpp (details)
  31. Fix line endings produced by update_cc_test_checks.py (details)
  32. [ADT] Support BitVector as a key in DenseSet/Map (details)
  33. [clang-scan-deps] Switch to using a ThreadPool (details)
  34. [Support] On Windows, ensure hardware_concurrency() extends to all CPU sockets and all NUMA groups (details)
  35. Revert "Reland D74436 "Change clang option -ffp-model=precise to select ffp-contract=on"" (details)
  36. add type_traits include as required for std::integral_constant (details)
  37. Reverting D73027 [DependenceAnalysis] Dependecies for loads marked with "ivnariant.load" should not be shared with general accesses(PR42151). (details)
  38. [Driver] Rename AddGoldPlugin to addLTOOptions. NFC (details)
  39. Fix compilation breakage introduced by 8404aeb56a73ab24f9b295111de3b37a37f0b841. (details)
  40. [libc++] Remove cycle between <type_traits> and <cstddef> (details)
  41. AMDGPU/GlobalISel: Handle G_BSWAP (details)
  42. AMDGPU: Add baseline tests for 16-bit bswap (details)
  43. [X86] Fix copy/paste mistake in comment. NFC (details)
  44. AMDGPU: Improve i16/v2i16 bswap (details)
  45. [libc++] Add missing include for is_same in test (details)
  46. [lldb/Plugin] s/LLDB_PLUGIN/LLDB_PLUGIN_DEFINE/ (NFC) (details)
  47. TTI: Fix vectorization cost for bswap (details)
  48. [APInt] Add some basic APInt::byteSwap unit tests (details)
  49. Warn about zero-parameter K&R definitions in -Wstrict-prototypes (details)
  50. Fix tests after previous commit (details)
  51. [Hexagon] v67+ HVX register pairs should support either direction (details)
  52. [GlobalISel] LegalizationArtifactCombiner: Fix a bug in tryCombineMerges (details)
  53. GlobalISel: Lower s64->s16 G_FPTRUNC (details)
  54. [LoopRotate] Get and update MSSA only if available in legacy pass manager. (details)
  55. [X86] Add AVX512 support to the fast isel code for Intrinsic::convert_from_fp16/convert_to_fp16. (details)
  56. [X86] Use ZERO_EXTEND instead of SIGN_EXTEND in the fast isel handling of convert_from_fp16. (details)
  57. AMDGPU: Add option to expand 64-bit integer division in IR (details)
  58. [x86] regenerate complete test checks for sqrt{est}; NFC (details)
  59. [x86] remove stray test assertions; NFC (details)
  60. AMDGPU: Add option to disable CGP division expansion (details)
  61. [docs] Add note on using cmake to perform the build (details)
  62. [AMDGPU] Always enable XNACK feature when support is explicitly requested (details)
Commit b7d6640ba9812ec74a0f86ae7bc9850332f5fd2b by lebedev.ri
[NFC][clang-tidy] Move recently newly-added tests into checkers/ subdir

That's where nowadays those tests reside, those outliers were created
before the migration but committed after,
so they just awkwardly reside in the old place.
The file was addedclang-tools-extra/test/clang-tidy/checkers/bugprone-bad-signal-to-kill-thread.cpp
The file was addedclang-tools-extra/test/clang-tidy/checkers/bugprone-not-null-terminated-result-memcpy-before-safe.c
The file was removedclang-tools-extra/test/clang-tidy/readability-magic-numbers-userliteral.cpp
The file was removedclang-tools-extra/test/clang-tidy/bugprone-not-null-terminated-result-wmemcpy-safe-cxx.cpp
The file was addedclang-tools-extra/test/clang-tidy/checkers/bugprone-not-null-terminated-result-memcpy-safe-other.c
The file was addedclang-tools-extra/test/clang-tidy/checkers/bugprone-not-null-terminated-result-memcpy-safe-cxx.cpp
The file was addedclang-tools-extra/test/clang-tidy/checkers/bugprone-suspicious-semicolon-constexpr.cpp
The file was addedclang-tools-extra/test/clang-tidy/checkers/bugprone-not-null-terminated-result-wcslen.cpp
The file was removedclang-tools-extra/test/clang-tidy/Inputs/bugprone-not-null-terminated-result/not-null-terminated-result-c.h
The file was addedclang-tools-extra/test/clang-tidy/checkers/bugprone-not-null-terminated-result-in-initialization-strlen.c
The file was removedclang-tools-extra/test/clang-tidy/bugprone-not-null-terminated-result-wcslen.cpp
The file was addedclang-tools-extra/test/clang-tidy/checkers/readability-redundant-access-specifiers-check-first-declaration.cpp
The file was removedclang-tools-extra/test/clang-tidy/readability-redundant-access-specifiers-check-first-declaration.cpp
The file was removedclang-tools-extra/test/clang-tidy/readability-redundant-access-specifiers.cpp
The file was removedclang-tools-extra/test/clang-tidy/bugprone-bad-signal-to-kill-thread.cpp
The file was addedclang-tools-extra/test/clang-tidy/checkers/bugprone-not-null-terminated-result-memcpy-safe.c
The file was removedclang-tools-extra/test/clang-tidy/bugprone-not-null-terminated-result-memcpy-safe-other.c
The file was removedclang-tools-extra/test/clang-tidy/bugprone-not-null-terminated-result-memcpy-safe.c
The file was addedclang-tools-extra/test/clang-tidy/checkers/Inputs/bugprone-not-null-terminated-result/not-null-terminated-result-c.h
The file was removedclang-tools-extra/test/clang-tidy/bugprone-not-null-terminated-result-strlen.c
The file was addedclang-tools-extra/test/clang-tidy/checkers/readability-make-member-function-const.cpp
The file was removedclang-tools-extra/test/clang-tidy/bugprone-not-null-terminated-result-memcpy-before-safe.c
The file was removedclang-tools-extra/test/clang-tidy/bugprone-not-null-terminated-result-memcpy-safe-cxx.cpp
The file was removedclang-tools-extra/test/clang-tidy/Inputs/bugprone-not-null-terminated-result/not-null-terminated-result-cxx.h
The file was addedclang-tools-extra/test/clang-tidy/checkers/readability-redundant-access-specifiers.cpp
The file was removedclang-tools-extra/test/clang-tidy/bugprone-not-null-terminated-result-in-initialization-strlen.c
The file was addedclang-tools-extra/test/clang-tidy/checkers/bugprone-not-null-terminated-result-strlen.c
The file was removedclang-tools-extra/test/clang-tidy/bugprone-suspicious-semicolon-constexpr.cpp
The file was addedclang-tools-extra/test/clang-tidy/checkers/Inputs/bugprone-not-null-terminated-result/not-null-terminated-result-cxx.h
The file was addedclang-tools-extra/test/clang-tidy/checkers/bugprone-not-null-terminated-result-wmemcpy-safe-cxx.cpp
The file was addedclang-tools-extra/test/clang-tidy/checkers/readability-magic-numbers-userliteral.cpp
The file was removedclang-tools-extra/test/clang-tidy/readability-make-member-function-const.cpp
Commit fd01b2f4a6c44acf68756b0f6f631a999d02354d by sam.parker
[NFC][ARM] Convert some pointers to references.
The file was modifiedllvm/lib/Target/ARM/ARMLowOverheadLoops.cpp
Commit 1674f772b4ea67f62cb93536143107ef2bd25b7f by kadircet
[VecotrCombine] Fix unused variable for assertion disabled builds
The file was modifiedllvm/lib/Transforms/Vectorize/VectorCombine.cpp
Commit 60431bd728f73544a8c3507a9461ec13b53ced74 by simon.moll
[VE] Support for PIC (global data and calls)

Summary: Support for PIC with tests for global variables and function calls.

Reviewed By: arsenm

Differential Revision: https://reviews.llvm.org/D74536
The file was modifiedllvm/lib/Target/VE/MCTargetDesc/VEMCExpr.cpp
The file was modifiedllvm/lib/Target/VE/VEInstrInfo.td
The file was modifiedllvm/lib/Target/VE/VEInstrInfo.h
The file was addedllvm/test/CodeGen/VE/pic_access_static_data.ll
The file was addedllvm/test/CodeGen/VE/pic_indirect_func_call.ll
The file was modifiedllvm/lib/Target/VE/VEAsmPrinter.cpp
The file was modifiedllvm/lib/Target/VE/VEISelLowering.h
The file was modifiedllvm/lib/Target/VE/VEISelLowering.cpp
The file was modifiedllvm/lib/Target/VE/VEMachineFunctionInfo.h
The file was modifiedllvm/lib/Target/VE/VEISelDAGToDAG.cpp
The file was modifiedllvm/lib/Target/VE/MCTargetDesc/VEMCExpr.h
The file was modifiedllvm/lib/Target/VE/VEInstrInfo.cpp
The file was addedllvm/test/CodeGen/VE/pic_access_data.ll
The file was addedllvm/test/CodeGen/VE/pic_func_call.ll
The file was modifiedllvm/lib/Target/VE/MCTargetDesc/VEFixupKinds.h
Commit 189c701332eb2d80c0bf6bf132abeb4e1ec9e6ce by pavel
[lldb] Remove accidentally checked-in debugging code
The file was modifiedlldb/test/API/tools/lldb-vscode/breakpoint-events/TestVSCode_breakpointEvents.py
Commit 39cb2a8fc79976171b20369ff756f7fa43232b50 by zinenko
[mlir] Fix argument attribute attribute reassignment in ConvertStandardToLLVM

The commit switching the calling convention for memrefs (5a1778057)
inadvertently introduced a bug in the function argument attribute conversion:
due to incorrect indexing of function arguments it was not assigning the
attributes to the arguments beyond those generated from the first original
argument. This was not caught in the commit since the test suite does have a
test for converting multi-argument functions with argument attributes. Fix the
bug and add relevant tests.
The file was modifiedmlir/test/Conversion/StandardToLLVM/convert-argattrs.mlir
The file was modifiedmlir/lib/Conversion/StandardToLLVM/ConvertStandardToLLVM.cpp
The file was modifiedmlir/test/Conversion/StandardToLLVM/convert-static-memref-ops.mlir
Commit 07211d951d584b19951ad8dedbaf7c728297f4b5 by pavel
[lldb/dotest] Remove the "exclusive test subdir" concept

Summary:
This was added in 2018 (r339929), when we were still using the
hand-rolled test runner.

It does not seem to be relevant anymore. In fact as far as I can tell,
it's a big no-op now as the exclusive_test_subdir variable is never set.

Reviewers: vsk, JDevlieghere

Subscribers: lldb-commits

Tags: #lldb

Differential Revision: https://reviews.llvm.org/D74551
The file was modifiedlldb/packages/Python/lldbsuite/test/dotest.py
The file was modifiedlldb/packages/Python/lldbsuite/test/configuration.py
Commit 850cb135a3b8f7e226a40186954599187fe0f6b2 by joker-eph
Do not build the CUBIN conversion pass when NVPTX Backend isn't configured

This pass would currently build, but fail to run when this backend isn't
linked in. On the other hand, we'd like it to initialize only the NVPTX
backend, which isn't possible if we continue to build it without the
backend available. Instead of building a broken configuration, let's
skip building the pass entirely.

Differential Revision: https://reviews.llvm.org/D74592
The file was modifiedmlir/lib/Conversion/GPUToCUDA/CMakeLists.txt
The file was modifiedmlir/include/mlir/InitAllPasses.h
The file was modifiedmlir/CMakeLists.txt
The file was modifiedmlir/lib/Conversion/GPUToCUDA/ConvertKernelFuncToCubin.cpp
Commit 4e1c49cf4d8ba69e914593ad7117afec72fdb6c7 by james.henderson
[doc] Clarify responsibility for fixing experimental target problems

Experimental targets are meant to be maintained by the community behind
the target. They are not monitored by the primary build bots. This
change clarifies that it is this communities responsibility for things
like test fixes related to the target caused by changes unrelated to
that target.

See http://lists.llvm.org/pipermail/llvm-dev/2020-February/139115.html
for a full discussion.

Reviewed by: rupprecht, lattner, MaskRay

Differential Revision: https://reviews.llvm.org/D74538
The file was modifiedllvm/docs/DeveloperPolicy.rst
Commit a82f35e17621a036cb726244ee5cb9708545fb93 by roger.ferrer
[OpenMP] Lower taskwait using OpenMP IR Builder

The code generation is exactly the same as it was.

But not that the special handling of untied tasks is still handled by
emitUntiedSwitch in clang.

Differential Revision: https://reviews.llvm.org/D69828
The file was modifiedllvm/include/llvm/Frontend/OpenMP/OMPKinds.def
The file was modifiedclang/test/OpenMP/taskwait_codegen.cpp
The file was modifiedllvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
The file was modifiedclang/test/OpenMP/task_codegen.cpp
The file was modifiedllvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.cpp
Commit 9dc84e9b02d1e402503906099d42fbae4da7d8d9 by labath
[lldb/DWARF] Don't hold a unique SymbolFileDWARFDwo in a DWARFUnit

This is the second dwp preparatory patch. When a SymbolFileDWARFDwo will
hold more than one split unit, it will not be able to be uniquely owned
by a single DWARFUnit. I achieve this by changing the
unique_ptr<SymbolFileDWARFDwo> member of DWARFUnit to
shared_ptr<DWARFUnit>. The shared_ptr points to a DWARFUnit, but it is
in fact holding the entire SymbolFileDWARFDwo alive. This is the same
method used by llvm DWARFUnit (except that is uses the DWARFContext
class).

Differential Revision: https://reviews.llvm.org/D73782
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.cpp
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.h
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.h
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
Commit fe6983a75ae08dc63e2068f521670562ad77c599 by james.henderson
[DebugInfo] Error if unsupported address size detected in line table

Prior to this patch, if a DW_LNE_set_address opcode was parsed with an
address size (i.e. with a length after the opcode) of anything other 1,
2, 4, or 8, an llvm_unreachable would be hit, as the data extractor does
not support other values. This patch introduces a new error check that
verifies the address size is one of the supported sizes, in common with
other places within the DWARF parsing.

This patch also fixes calculation of a generated line table's size in
unit tests. One of the tests in this patch highlighted a bug introduced
in 1271cde4745, when non-byte operands were used as arguments for
extended or standard opcodes.

Reviewed by: dblaikie

Differential Revision: https://reviews.llvm.org/D73962
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
The file was modifiedllvm/unittests/DebugInfo/DWARF/DWARFDebugLineTest.cpp
The file was modifiedllvm/unittests/DebugInfo/DWARF/DwarfGenerator.h
The file was modifiedllvm/unittests/DebugInfo/DWARF/DwarfGenerator.cpp
Commit 430fc538e6dc2f3b1b6093755080efdcf206cd3f by andrew.ng
[llvm-ar] Simplify Windows comparePaths NFCI

Replace use of widenPath in comparePaths with UTF8ToUTF16. widenPath
does a lot more than just conversion from UTF-8 to UTF-16. This is not
necessary for CompareStringOrdinal and could possibly even cause
problems.

Differential Revision: https://reviews.llvm.org/D74477
The file was modifiedllvm/tools/llvm-ar/llvm-ar.cpp
Commit 2bef1c0e5645639bda1807f7df970da97792b0c8 by roger.ferrer
[OpenMP] Lower taskyield using OpenMP IR Builder

This is similar to D69828.

Special codegen for enclosing untied tasks is still done in clang.

Differential Revision: https://reviews.llvm.org/D70799
The file was modifiedllvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
The file was modifiedllvm/include/llvm/Frontend/OpenMP/OMPKinds.def
The file was modifiedclang/test/OpenMP/taskyield_codegen.cpp
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.cpp
The file was modifiedllvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
Commit de1c2877a9ff12899ef50e179ade748fba8ab0c0 by luismarques
llvm/cmake/config.guess: add support for riscv32 and  riscv64

Summary: LLVM configuration fails with 'unable to guess system type' on riscv64.
Add support for detecting riscv32 and riscv64 systems.

Patch by Gokturk Yuksek (gokturk)
Reviewers: erichkeane, rengolin, mgorny, aaron.ballman, beanz, luismarques
Reviewed By: luismarques
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D68899
The file was modifiedllvm/cmake/config.guess
Commit 2492075add88af24bfc0c9af8a9af61b880c0ebb by llvm-dev
[X86][SSE] lowerShuffleAsBitRotate - lower to vXi8 shuffles to ROTL on pre-SSSE3 targets

Without PSHUFB we are better using ROTL (expanding to OR(SHL,SRL)) than using the generic v16i8 shuffle lowering - but if we can widen to v8i16 or more then the existing shuffles are still the better option.

REAPPLIED: Original commit rG11c16e71598d was reverted at rGde1d90299b16 as it wasn't accounting for later lowering. This version emits ROTLI or the OR(VSHLI/VSRLI) directly to avoid the issue.
The file was modifiedllvm/test/CodeGen/X86/bswap-vector.ll
The file was modifiedllvm/test/CodeGen/X86/vector-shuffle-128-v16.ll
The file was modifiedllvm/test/CodeGen/X86/bitreverse.ll
The file was modifiedllvm/test/CodeGen/X86/vector-bitreverse.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit a57ad008b449a95249a42582370a5f0fefccbf03 by Raphael Isemann
[lldb] Print result when expect_expr unexpectedly succeeds
The file was modifiedlldb/packages/Python/lldbsuite/test/lldbtest.py
Commit c45fb35b5e0b45357a9bfae500ec5403545dbc77 by kadircet
[clang][DeclPrinter] Implement visitors for {TemplateType,NonTypeTemplate}Parms

Reviewers: sammccall, hokein

Subscribers: kristof.beyls, jkorous, arphaman, usaxena95, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D73693
The file was modifiedclang-tools-extra/clangd/unittests/FindTargetTests.cpp
The file was modifiedclang/lib/AST/DeclPrinter.cpp
The file was modifiedclang/unittests/AST/DeclPrinterTest.cpp
Commit 84240e0db8ab85b56df11e6cee8fef5ac7ee8c33 by kadircet
[clang][Index] Introduce a TemplateParm SymbolKind

Summary:
Currently template parameters has symbolkind `Unknown`. This patch
introduces a new kind `TemplateParm` for templatetemplate, templatetype and
nontypetemplate parameters.

Also adds tests in clangd hover feature.

Reviewers: sammccall

Subscribers: kristof.beyls, ilya-biryukov, jkorous, arphaman, usaxena95, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D73696
The file was modifiedclang-tools-extra/clangd/CodeComplete.cpp
The file was modifiedclang-tools-extra/clangd/Quality.cpp
The file was modifiedclang/lib/Index/IndexSymbol.cpp
The file was modifiedclang-tools-extra/clangd/Protocol.cpp
The file was modifiedclang-tools-extra/clangd/unittests/HoverTests.cpp
The file was modifiedclang-tools-extra/clangd/Hover.cpp
The file was modifiedclang/tools/libclang/CXIndexDataConsumer.cpp
The file was modifiedclang/unittests/Index/IndexTests.cpp
The file was modifiedclang/include/clang/Index/IndexSymbol.h
Commit 0a0e0afaa0249a07b5d1609c433e991c8d982a73 by Louis Dionne
[libc++] span: Fix incorrect static asserts

The static asserts in span<T, N>::front() and span<T, N>::back() are
incorrect as they may be triggered from valid code due to evaluation
of a never taken branch:

    span<int, 0> foo;
    if (!foo.empty()) {
        auto x = foo.front();
    }

The problem is that the branch is always evaluated by the compiler,
creating invalid compile errors for span<T, 0>.

Thanks to Michael Schellenberger Costa for the patch.

Differential Revision: https://reviews.llvm.org/D71995
The file was modifiedlibcxx/test/std/containers/views/span.elem/back.pass.cpp
The file was modifiedlibcxx/include/span
The file was modifiedlibcxx/test/std/containers/views/span.elem/front.pass.cpp
Commit a55dec7d64ef128a03deae7dd9bc1ed97cd123b4 by james.henderson
[test][DebugInfo] Fix signed/unsigned comparison problem in test

This caused build bot failures:
http://lab.llvm.org:8011/builders/ppc64le-lld-multistage-test/builds/8568/
The file was modifiedllvm/unittests/DebugInfo/DWARF/DWARFDebugLineTest.cpp
Commit 9816e726e747d72e0c5ac92aa20e652031a10448 by luismarques
[Driver][RISCV] Add RedHat Linux RISC-V triple

Summary: Adds the RedHat Linux triple to the list of 64-bit RISC-V triples.
Without this the gcc libraries wouldn't be found by clang on a redhat/fedora
system, as the search list included `/usr/lib/gcc/riscv64-redhat-linux-gnu`
but the correct path didn't include the `-gnu` suffix.

Reviewers: lenary, asb, dlj
Reviewed By: lenary
Tags: #clang
Differential Revision: https://reviews.llvm.org/D74399
The file was addedclang/test/Driver/Inputs/fedora_31_riscv64_tree/usr/lib/gcc/riscv64-redhat-linux/9/crti.o
The file was addedclang/test/Driver/Inputs/fedora_31_riscv64_tree/usr/lib/gcc/riscv64-redhat-linux/9/crtbegin.o
The file was modifiedclang/test/Driver/linux-ld.c
The file was addedclang/test/Driver/Inputs/fedora_31_riscv64_tree/usr/lib/gcc/riscv64-redhat-linux/9/crtend.o
The file was modifiedclang/lib/Driver/ToolChains/Gnu.cpp
The file was addedclang/test/Driver/Inputs/fedora_31_riscv64_tree/usr/lib/gcc/riscv64-redhat-linux/9/crtn.o
The file was addedclang/test/Driver/Inputs/fedora_31_riscv64_tree/usr/lib64/crt1.o
Commit 1d40c4150630729a9c1ce5119a8027dac93a5b2d by luismarques
[clang-tools-extra] fix the check for if '-latomic' is necessary

Summary:
The CheckAtomic module performs two tests to determine if passing
'-latomic' to the linker is required: one for 64-bit atomics, and
another for non-64-bit atomics. clangd only uses the result from
HAVE_CXX_ATOMICS64_WITHOUT_LIB. This is incomplete because there are
uses of non-64-bit atomics in the code, such as the ReplyOnce::Replied
of type std::atomic<bool> defined in clangd/ClangdLSPServer.cpp.

Fix by also checking for the result of HAVE_CXX_ATOMICS_WITHOUT_LIB.

See also: https://reviews.llvm.org/D68964

Reviewers: ilya-biryukov, nridge, kadircet, beanz, compnerd, luismarques
Reviewed By: luismarques
Tags: #clang
Differential Revision: https://reviews.llvm.org/D69869
The file was modifiedclang-tools-extra/clangd/CMakeLists.txt
Commit b6a9fe209992789be3ed95664d25196361cfad34 by Pavel.Iliin
[AArch64] Add BIT/BIF support.

This patch added generation of SIMD bitwise insert BIT/BIF instructions.
In the absence of GCC-like functionality for optimal constraints satisfaction
during register allocation the bitwise insert and select patterns are matched
by pseudo bitwise select BSP instruction with not tied def.
It is expanded later after register allocation with def tied
to BSL/BIT/BIF depending on operands registers.
This allows to get rid of redundant moves.

Reviewers: t.p.northover, samparker, dmgreen

Reviewed By: dmgreen

Differential Revision: https://reviews.llvm.org/D74147
The file was modifiedllvm/lib/Target/AArch64/AArch64SchedKryoDetails.td
The file was addedllvm/test/CodeGen/AArch64/aarch64-bit-gen.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64SchedExynosM5.td
The file was modifiedllvm/test/CodeGen/AArch64/sqrt-fastmath.ll
The file was modifiedllvm/test/CodeGen/AArch64/neon-bitwise-instructions.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrFormats.td
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.h
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrInfo.td
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64SchedExynosM3.td
The file was modifiedllvm/test/CodeGen/AArch64/unfold-masked-merge-vector-variablemask-const.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64SchedFalkorDetails.td
The file was modifiedllvm/test/CodeGen/AArch64/sat-add.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
The file was addedllvm/test/CodeGen/AArch64/aarch64-bif-gen.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64SchedCyclone.td
The file was modifiedllvm/lib/Target/AArch64/AArch64SchedExynosM4.td
The file was modifiedllvm/lib/Target/AArch64/AArch64SchedThunderX2T99.td
The file was modifiedllvm/test/CodeGen/AArch64/urem-seteq-vec-nonzero.ll
The file was modifiedllvm/test/CodeGen/AArch64/arm64-neon-select_cc.ll
The file was modifiedllvm/test/CodeGen/AArch64/unfold-masked-merge-vector-variablemask.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64SchedA57.td
The file was modifiedllvm/test/CodeGen/AArch64/urem-seteq-vec-nonsplat.ll
The file was modifiedllvm/test/CodeGen/AArch64/fp16-vector-shuffle.ll
Commit 2102ef8aad4ca0782cdac316afc8d306b04582c4 by tejohnson
Reenable "Always import constants" after compile time fixes

Summary:
Reenables importing of constants by default, which was disabled in
D73724 due to excessive thin link times. These inefficiencies were
fixed in D73851.

I re-measured thin link times for a number of binaries that had compile
time explosions with importing of constants previously and confirmed
they no longer have any notable increases with it enabled.

Reviewers: wmi, evgeny777

Subscribers: hiraditya, arphaman, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D74512
The file was modifiedllvm/lib/IR/ModuleSummaryIndex.cpp
Commit 74c97ca1b4b7d1a7497cebc0c9c91d2764a6f4b4 by hokein.wu
[clangd] Add tracer to the rename workflow, NFC

Reviewers: kbobyrev

Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, kadircet, usaxena95, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D74395
The file was modifiedclang-tools-extra/clangd/refactor/Rename.cpp
Commit 61dd0603bd8afeaa0d467d19c1522b5fbcf0104c by Alexander.Richardson
Move update_cc_test_checks.py tests to clang

Having tests that depend on clang inside llvm/ are not a good idea since
it can break incremental `ninja check-llvm`.

Fixes https://llvm.org/PR44798

Reviewed By: lebedev.ri, MaskRay, rsmith
Differential Revision: https://reviews.llvm.org/D74051
The file was removedllvm/test/tools/UpdateTestChecks/update_cc_test_checks/Inputs/def-and-decl.c
The file was removedllvm/test/tools/UpdateTestChecks/update_cc_test_checks/Inputs/def-and-decl.c.expected
The file was addedclang/test/utils/update_cc_test_checks/Inputs/mangled_names.c.funcsig.expected
The file was addedclang/test/utils/update_cc_test_checks/def-and-decl.test
The file was removedllvm/test/tools/UpdateTestChecks/update_cc_test_checks/mangled_names.test
The file was addedclang/test/utils/update_cc_test_checks/mangled_names.test
The file was addedclang/test/utils/update_cc_test_checks/Inputs/mangled_names.c.expected
The file was modifiedllvm/test/tools/UpdateTestChecks/lit.local.cfg
The file was addedclang/test/utils/update_cc_test_checks/Inputs/def-and-decl.c.expected
The file was addedclang/test/utils/update_cc_test_checks/Inputs/def-and-decl.c
The file was removedllvm/test/tools/UpdateTestChecks/update_cc_test_checks/def-and-decl.test
The file was removedllvm/test/tools/UpdateTestChecks/update_cc_test_checks/Inputs/mangled_names.c
The file was removedllvm/test/tools/UpdateTestChecks/update_cc_test_checks/lit.local.cfg
The file was addedclang/test/utils/update_cc_test_checks/Inputs/mangled_names.c
The file was removedllvm/test/tools/UpdateTestChecks/update_cc_test_checks/Inputs/mangled_names.c.expected
The file was addedclang/test/utils/update_cc_test_checks/lit.local.cfg
The file was removedllvm/test/tools/UpdateTestChecks/update_cc_test_checks/Inputs/mangled_names.c.funcsig.expected
Commit 5dc2314d5ecf3fe246ee0134f519183844287456 by hokein.wu
[clangd] Update the CompletionItemKind.

Summary: Fix some FIXMEs.

Reviewers: kadircet

Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D74609
The file was modifiedclang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
The file was modifiedclang-tools-extra/clangd/CodeComplete.cpp
Commit 13700c383fdbb172fac281bff6738a62989631c5 by luismarques
Revert "[clang-tools-extra] fix the check for if '-latomic' is necessary"

This reverts commit 1d40c4150630729a9c1ce5119a8027dac93a5b2d.
This seemed to have caused build failures on ARM/AArch64.
The file was modifiedclang-tools-extra/clangd/CMakeLists.txt
Commit f54e7b4e3a131f74006682387469bda0a2377bbf by Louis Dionne
[libc++] Remove unnecessary typenames from std/numerics/c.math/abs.pass.cpp

There are some unnecessary typenames in std/numerics/c.math/abs.pass.cpp;
e.g. they're not in a dependent context.

Patch by Bryce Adelstein Lelbach

Differential Revision: https://reviews.llvm.org/D72106
The file was modifiedlibcxx/test/std/numerics/c.math/abs.pass.cpp
Commit c29310707e9a85e70a226277657cd9d9182a5d04 by Alexander.Richardson
Fix line endings produced by update_cc_test_checks.py

Use the same appraoch as update_llc_test_checks.py to always write \n
line endings. This should fix the Windows buildbots.
The file was modifiedllvm/utils/update_cc_test_checks.py
Commit d110c3a9f5253c4d94c10299c61fbbb33edab7db by alexandre.ganea
[ADT] Support BitVector as a key in DenseSet/Map

This patch adds DenseMapInfo<> support for BitVector and SmallBitVector.

This is part of https://reviews.llvm.org/D71775, where a BitVector is used as a thread affinity mask.
The file was modifiedllvm/include/llvm/ADT/BitVector.h
The file was modifiedllvm/unittests/ADT/BitVectorTest.cpp
The file was modifiedllvm/include/llvm/ADT/SmallBitVector.h
Commit d9049e871f309199a3d8fd7d3c0f76c86af9db91 by alexandre.ganea
[clang-scan-deps] Switch to using a ThreadPool

Use a ThreadPool instead of plain std::threads in clang-scan-deps.
This is needed to further support https://reviews.llvm.org/D71775.

Differential Revision: https://reviews.llvm.org/D74569
The file was modifiedclang/tools/clang-scan-deps/ClangScanDeps.cpp
Commit 8404aeb56a73ab24f9b295111de3b37a37f0b841 by alexandre.ganea
[Support] On Windows, ensure hardware_concurrency() extends to all CPU sockets and all NUMA groups

The goal of this patch is to maximize CPU utilization on multi-socket or high core count systems, so that parallel computations such as LLD/ThinLTO can use all hardware threads in the system. Before this patch, on Windows, a maximum of 64 hardware threads could be used at most, in some cases dispatched only on one CPU socket.

== Background ==
Windows doesn't have a flat cpu_set_t like Linux. Instead, it projects hardware CPUs (or NUMA nodes) to applications through a concept of "processor groups". A "processor" is the smallest unit of execution on a CPU, that is, an hyper-thread if SMT is active; a core otherwise. There's a limit of 32-bit processors on older 32-bit versions of Windows, which later was raised to 64-processors with 64-bit versions of Windows. This limit comes from the affinity mask, which historically is represented by the sizeof(void*). Consequently, the concept of "processor groups" was introduced for dealing with systems with more than 64 hyper-threads.

By default, the Windows OS assigns only one "processor group" to each starting application, in a round-robin manner. If the application wants to use more processors, it needs to programmatically enable it, by assigning threads to other "processor groups". This also means that affinity cannot cross "processor group" boundaries; one can only specify a "preferred" group on start-up, but the application is free to allocate more groups if it wants to.

This creates a peculiar situation, where newer CPUs like the AMD EPYC 7702P (64-cores, 128-hyperthreads) are projected by the OS as two (2) "processor groups". This means that by default, an application can only use half of the cores. This situation could only get worse in the years to come, as dies with more cores will appear on the market.

== The problem ==
The heavyweight_hardware_concurrency() API was introduced so that only *one hardware thread per core* was used. Once that API returns, that original intention is lost, only the number of threads is retained. Consider a situation, on Windows, where the system has 2 CPU sockets, 18 cores each, each core having 2 hyper-threads, for a total of 72 hyper-threads. Both heavyweight_hardware_concurrency() and hardware_concurrency() currently return 36, because on Windows they are simply wrappers over std::thread::hardware_concurrency() -- which can only return processors from the current "processor group".

== The changes in this patch ==
To solve this situation, we capture (and retain) the initial intention until the point of usage, through a new ThreadPoolStrategy class. The number of threads to use is deferred as late as possible, until the moment where the std::threads are created (ThreadPool in the case of ThinLTO).

When using hardware_concurrency(), setting ThreadCount to 0 now means to use all the possible hardware CPU (SMT) threads. Providing a ThreadCount above to the maximum number of threads will have no effect, the maximum will be used instead.
The heavyweight_hardware_concurrency() is similar to hardware_concurrency(), except that only one thread per hardware *core* will be used.

When LLVM_ENABLE_THREADS is OFF, the threading APIs will always return 1, to ensure any caller loops will be exercised at least once.

Differential Revision: https://reviews.llvm.org/D71775
The file was modifiedmlir/lib/Pass/Pass.cpp
The file was modifiedclang/tools/clang-scan-deps/ClangScanDeps.cpp
The file was modifiedllvm/include/llvm/Support/Threading.h
The file was modifiedllvm/lib/Support/Threading.cpp
The file was modifiedllvm/lib/LTO/ThinLTOCodeGenerator.cpp
The file was modifiedllvm/unittests/Support/Host.cpp
The file was modifiedllvm/lib/LTO/LTOBackend.cpp
The file was modifiedllvm/lib/Support/Host.cpp
The file was modifiedllvm/tools/llvm-lto2/llvm-lto2.cpp
The file was modifiedclang-tools-extra/clangd/index/BackgroundRebuild.h
The file was modifiedllvm/lib/DWARFLinker/DWARFLinker.cpp
The file was modifiedclang/lib/Tooling/AllTUsExecution.cpp
The file was modifiedllvm/unittests/Support/ThreadPool.cpp
The file was modifiedllvm/tools/llvm-cov/CoverageReport.cpp
The file was modifiedllvm/tools/llvm-profdata/llvm-profdata.cpp
The file was modifiedclang/lib/Tooling/DependencyScanning/DependencyScanningFilesystem.cpp
The file was modifiedlld/ELF/SyntheticSections.cpp
The file was modifiedllvm/lib/Support/ThreadPool.cpp
The file was modifiedclang-tools-extra/clangd/index/Background.h
The file was modifiedclang-tools-extra/clang-doc/tool/ClangDocMain.cpp
The file was modifiedllvm/unittests/Support/TaskQueueTest.cpp
The file was modifiedllvm/lib/ExecutionEngine/Orc/LLJIT.cpp
The file was modifiedclang-tools-extra/clangd/index/Background.cpp
The file was modifiedllvm/lib/LTO/LTO.cpp
The file was modifiedllvm/lib/Support/Windows/Threading.inc
The file was modifiedllvm/lib/CodeGen/ParallelCG.cpp
The file was modifiedllvm/include/llvm/LTO/LTO.h
The file was modifiedllvm/tools/dsymutil/dsymutil.cpp
The file was modifiedclang-tools-extra/clangd/TUScheduler.cpp
The file was modifiedllvm/lib/DebugInfo/GSYM/DwarfTransformer.cpp
The file was modifiedllvm/tools/gold/gold-plugin.cpp
The file was modifiedllvm/lib/Support/Parallel.cpp
The file was modifiedllvm/unittests/Support/Threading.cpp
The file was modifiedllvm/tools/llvm-cov/CoverageExporterJson.cpp
The file was modifiedllvm/lib/Support/Unix/Threading.inc
The file was modifiedllvm/include/llvm/Support/ThreadPool.h
The file was modifiedllvm/tools/llvm-cov/CodeCoverage.cpp
Commit 9122b92f8e046bfeabdc503d978cf098c86f6e49 by melanie.blower
Revert "Reland D74436 "Change clang option -ffp-model=precise to select ffp-contract=on""

This reverts commit 0a1123eb43f945593b26dd037490e0c909fa3c4f.
Want to revert this because it's causing trouble for PowerPC
I also fixed test fp-model.c which was looking for an incorrect error message
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was modifiedclang/test/CodeGen/ppc-emmintrin.c
The file was modifiedclang/docs/UsersManual.rst
The file was modifiedclang/test/Driver/fp-model.c
The file was modifiedclang/test/CodeGen/ppc-xmmintrin.c
Commit e337fb07903e53fdc694e48cd109d91788f82e2e by eric
add type_traits include as required for std::integral_constant
The file was modifiedlibcxx/include/typeinfo
Commit cae643d596918e5a7cb00287c572099fb04715bd by evgueni.brevnov
Reverting D73027 [DependenceAnalysis] Dependecies for loads marked with "ivnariant.load" should not be shared with general accesses(PR42151).
The file was removedllvm/test/Analysis/MemoryDependenceAnalysis/InvariantLoad.ll
The file was modifiedllvm/lib/Analysis/MemoryDependenceAnalysis.cpp
Commit 597dfb3bd56cdb65a89c67775ce348f10af36aa0 by maskray
[Driver] Rename AddGoldPlugin to addLTOOptions. NFC

AddGoldPlugin does more than adding `-plugin path/to/LLVMgold.so`.
It works with lld and GNU ld, and adds other LTO options.
So AddGoldPlugin is no longer a suitable name.

Reviewed By: tejohnson

Differential Revision: https://reviews.llvm.org/D74591
The file was modifiedclang/lib/Driver/ToolChains/FreeBSD.cpp
The file was modifiedclang/lib/Driver/ToolChains/CloudABI.cpp
The file was modifiedclang/lib/Driver/ToolChains/CommonArgs.h
The file was modifiedclang/lib/Driver/ToolChains/CommonArgs.cpp
The file was modifiedclang/lib/Driver/ToolChains/Gnu.cpp
The file was modifiedclang/lib/Driver/ToolChains/Fuchsia.cpp
The file was modifiedclang/lib/Driver/ToolChains/Ananas.cpp
Commit 0d2ba6577d877a421e91f037c1d9a4cd4d4ade8c by alexandre.ganea
Fix compilation breakage introduced by 8404aeb56a73ab24f9b295111de3b37a37f0b841.

Also fix BitVector unittest failure when DLLVM_ENABLE_ASSERTIONS are OFF, introduced by d110c3a9f5253c4d94c10299c61fbbb33edab7db.
The file was modifiedllvm/examples/SpeculativeJIT/SpeculativeJIT.cpp
The file was modifiedllvm/examples/ThinLtoJIT/ThinLtoModuleIndex.h
The file was modifiedllvm/examples/ThinLtoJIT/ThinLtoJIT.cpp
The file was modifiedllvm/unittests/ADT/BitVectorTest.cpp
Commit cccf1ef0c89432339363fc0121e3d97f5a04ac69 by eric
[libc++] Remove cycle between <type_traits> and <cstddef>

This was caused by byte depending on traits. This patch moves
the minimal amount of meta-programming into <cstddef> to break the cycle.
The file was modifiedlibcxx/include/cstddef
The file was modifiedlibcxx/include/type_traits
Commit a257bde420ca96246863082b8e01f0f2b1141621 by Matthew.Arsenault
AMDGPU/GlobalISel: Handle G_BSWAP
The file was modifiedllvm/lib/Target/AMDGPU/SIInstructions.td
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-bswap.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-bswap.mir
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/bswap.ll
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-bswap.mir
Commit e0fd2d6d62a388ef193631afdb014dcb7214ca94 by Matthew.Arsenault
AMDGPU: Add baseline tests for 16-bit bswap
The file was modifiedllvm/test/CodeGen/AMDGPU/bswap.ll
Commit 7badb389186db9e4339faf939fb1365cdda62107 by craig.topper
[X86] Fix copy/paste mistake in comment. NFC
The file was modifiedllvm/lib/Target/X86/X86InstrFoldTables.cpp
Commit 8c2c0b3637e7466009d5ab1280b42cbb66844525 by Matthew.Arsenault
AMDGPU: Improve i16/v2i16 bswap
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIInstructions.td
The file was modifiedllvm/test/CodeGen/AMDGPU/bswap.ll
Commit e8358455a2b662bec59bc3971c18346800d7cb00 by eric
[libc++] Add missing include for is_same in test
The file was modifiedlibcxx/test/std/language.support/support.types/byteops/to_integer.pass.cpp
Commit bba9ba8d953816fd7697cdb647b81510bfa85d71 by Jonas Devlieghere
[lldb/Plugin] s/LLDB_PLUGIN/LLDB_PLUGIN_DEFINE/ (NFC)

Rename LLDB_PLUGIN to LLDB_PLUGIN_DEFINE as Pavel suggested in D73067 to
avoid name conflict.
The file was modifiedlldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.cpp
The file was modifiedlldb/source/Plugins/ABI/Mips/ABIMips.cpp
The file was modifiedlldb/source/Plugins/ABI/Mips/ABISysV_mips.cpp
The file was modifiedlldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
The file was modifiedlldb/source/Plugins/Architecture/Arm/ArchitectureArm.cpp
The file was modifiedlldb/source/Plugins/Platform/MacOSX/PlatformMacOSX.cpp
The file was modifiedlldb/source/Plugins/SymbolFile/Symtab/SymbolFileSymtab.cpp
The file was modifiedlldb/source/Plugins/Platform/Android/PlatformAndroid.cpp
The file was modifiedlldb/source/Plugins/SystemRuntime/MacOSX/SystemRuntimeMacOSX.cpp
The file was modifiedlldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
The file was modifiedlldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
The file was modifiedlldb/source/Plugins/ObjectFile/wasm/ObjectFileWasm.cpp
The file was modifiedlldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.cpp
The file was modifiedlldb/source/Plugins/MemoryHistory/asan/MemoryHistoryASan.cpp
The file was modifiedlldb/source/Plugins/Disassembler/LLVMC/DisassemblerLLVMC.cpp
The file was modifiedlldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.cpp
The file was modifiedlldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
The file was modifiedlldb/source/Plugins/ABI/Mips/ABISysV_mips64.cpp
The file was modifiedlldb/source/Plugins/ABI/X86/ABIWindows_x86_64.cpp
The file was modifiedlldb/source/Plugins/ABI/X86/ABIX86.cpp
The file was modifiedlldb/source/Plugins/Instruction/PPC64/EmulateInstructionPPC64.cpp
The file was modifiedlldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntime.cpp
The file was modifiedlldb/source/Plugins/Architecture/PPC64/ArchitecturePPC64.cpp
The file was modifiedlldb/source/Plugins/ABI/SystemZ/ABISysV_s390x.cpp
The file was modifiedlldb/source/Plugins/ScriptInterpreter/Lua/ScriptInterpreterLua.cpp
The file was modifiedlldb/source/Plugins/Instruction/MIPS/EmulateInstructionMIPS.cpp
The file was modifiedlldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
The file was modifiedlldb/source/Plugins/ABI/X86/ABIMacOSX_i386.cpp
The file was modifiedlldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.cpp
The file was modifiedlldb/source/Plugins/Architecture/Mips/ArchitectureMips.cpp
The file was modifiedlldb/source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.cpp
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
The file was modifiedlldb/source/Plugins/DynamicLoader/Static/DynamicLoaderStatic.cpp
The file was modifiedlldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
The file was modifiedlldb/source/Plugins/Platform/OpenBSD/PlatformOpenBSD.cpp
The file was modifiedlldb/source/Plugins/Process/FreeBSD/ProcessFreeBSD.cpp
The file was modifiedlldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
The file was modifiedlldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp
The file was modifiedlldb/source/Plugins/StructuredData/DarwinLog/StructuredDataDarwinLog.cpp
The file was modifiedlldb/source/Plugins/ABI/X86/ABISysV_x86_64.cpp
The file was modifiedlldb/source/Plugins/Platform/MacOSX/PlatformRemoteiOS.cpp
The file was modifiedlldb/source/Plugins/ABI/ARM/ABIMacOSX_arm.cpp
The file was modifiedlldb/source/Plugins/InstrumentationRuntime/UBSan/InstrumentationRuntimeUBSan.cpp
The file was modifiedlldb/source/Plugins/InstrumentationRuntime/TSan/InstrumentationRuntimeTSan.cpp
The file was modifiedlldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.cpp
The file was modifiedlldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
The file was modifiedlldb/source/Plugins/Platform/NetBSD/PlatformNetBSD.cpp
The file was modifiedlldb/source/Plugins/JITLoader/GDB/JITLoaderGDB.cpp
The file was modifiedlldb/source/Plugins/ScriptInterpreter/None/ScriptInterpreterNone.cpp
The file was modifiedlldb/source/Plugins/SymbolFile/Breakpad/SymbolFileBreakpad.cpp
The file was modifiedlldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp
The file was modifiedlldb/source/Plugins/ABI/ARC/ABISysV_arc.cpp
The file was modifiedlldb/source/Plugins/ObjectFile/Breakpad/ObjectFileBreakpad.cpp
The file was modifiedlldb/source/Plugins/InstrumentationRuntime/MainThreadChecker/InstrumentationRuntimeMainThreadChecker.cpp
The file was modifiedlldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.cpp
The file was modifiedlldb/source/Plugins/UnwindAssembly/x86/UnwindAssembly-x86.cpp
The file was modifiedlldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptRuntime.cpp
The file was modifiedlldb/source/Plugins/Process/minidump/ProcessMinidump.cpp
The file was modifiedlldb/source/Plugins/ABI/Hexagon/ABISysV_hexagon.cpp
The file was modifiedlldb/source/Plugins/SymbolVendor/wasm/SymbolVendorWasm.cpp
The file was modifiedlldb/source/Plugins/DynamicLoader/Windows-DYLD/DynamicLoaderWindowsDYLD.cpp
The file was modifiedlldb/source/Plugins/SymbolVendor/ELF/SymbolVendorELF.cpp
The file was modifiedlldb/source/Plugins/SymbolVendor/MacOSX/SymbolVendorMacOSX.cpp
The file was modifiedlldb/source/Plugins/Language/ObjC/ObjCLanguage.cpp
The file was modifiedlldb/source/Plugins/ABI/X86/ABISysV_i386.cpp
The file was modifiedlldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp
The file was modifiedlldb/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.cpp
The file was modifiedlldb/source/Plugins/ABI/AArch64/ABIAArch64.cpp
The file was modifiedlldb/source/Plugins/Process/mach-core/ProcessMachCore.cpp
The file was modifiedlldb/include/lldb/Core/PluginManager.h
The file was modifiedlldb/source/Plugins/Language/ObjCPlusPlus/ObjCPlusPlusLanguage.cpp
The file was modifiedlldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.cpp
The file was modifiedlldb/source/Plugins/ABI/PowerPC/ABIPowerPC.cpp
The file was modifiedlldb/source/Plugins/DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernel.cpp
The file was modifiedlldb/source/Plugins/ABI/ARM/ABIARM.cpp
The file was modifiedlldb/source/Plugins/ABI/ARM/ABISysV_arm.cpp
The file was modifiedlldb/source/Plugins/InstrumentationRuntime/ASan/InstrumentationRuntimeASan.cpp
The file was modifiedlldb/source/Plugins/Platform/Windows/PlatformWindows.cpp
The file was modifiedlldb/source/Plugins/ObjectContainer/Universal-Mach-O/ObjectContainerUniversalMachO.cpp
The file was modifiedlldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp
The file was modifiedlldb/source/Plugins/ABI/PowerPC/ABISysV_ppc.cpp
The file was modifiedlldb/source/Plugins/Instruction/MIPS64/EmulateInstructionMIPS64.cpp
The file was modifiedlldb/source/Plugins/ABI/PowerPC/ABISysV_ppc64.cpp
The file was modifiedlldb/source/Plugins/Platform/Linux/PlatformLinux.cpp
Commit b38940dfb97d924bee1498ec2baf1eec04a48308 by Matthew.Arsenault
TTI: Fix vectorization cost for bswap
The file was modifiedllvm/include/llvm/CodeGen/BasicTTIImpl.h
The file was addedllvm/test/Transforms/SLPVectorizer/AMDGPU/bswap.ll
Commit f0181cc7bac37af9a15f86cf733ce2a958218f48 by llvm-dev
[APInt] Add some basic APInt::byteSwap unit tests

As noted on D74621 we currently have no test coverage
The file was modifiedllvm/unittests/ADT/APIntTest.cpp
Commit 2f26bc5542705c390bf17af2fdfc31e056147ea9 by aaron.puchert
Warn about zero-parameter K&R definitions in -Wstrict-prototypes

Summary:
Zero-parameter K&R definitions specify that the function has no
parameters, but they are still not prototypes, so calling the function
with the wrong number of parameters is just a warning, not an error.

The C11 standard doesn't seem to directly define what a prototype is,
but it can be inferred from 6.9.1p7: "If the declarator includes a
parameter type list, the list also specifies the types of all the
parameters; such a declarator also serves as a function prototype
for later calls to the same function in the same translation unit."
This refers to 6.7.6.3p5: "If, in the declaration “T D1”, D1 has
the form
    D(parameter-type-list)
or
    D(identifier-list_opt)
[...]". Later in 6.11.7 it also refers only to the parameter-type-list
variant as prototype: "The use of function definitions with separate
parameter identifier and declaration lists (not prototype-format
parameter type and identifier declarators) is an obsolescent feature."

We already correctly treat an empty parameter list as non-prototype
declaration, so we can just take that information.

GCC also warns about this with -Wstrict-prototypes.

This shouldn't affect C++, because there all FunctionType's are
FunctionProtoTypes. I added a simple test for that.

Reviewed By: aaron.ballman

Differential Revision: https://reviews.llvm.org/D66919
The file was modifiedclang/test/Sema/warn-strict-prototypes.m
The file was modifiedclang/lib/Sema/SemaDecl.cpp
The file was addedclang/test/Sema/warn-strict-prototypes.cpp
The file was modifiedclang/test/Sema/warn-strict-prototypes.c
Commit 705306526b5ca7eed2fa28ebf832873cbb5085ec by aaron.puchert
Fix tests after previous commit

We don't want to test for this warning, so we just fix it.
The file was modifiedclang/test/Sema/warn-unused-parameters.c
The file was modifiedclang/test/Preprocessor/pragma_diagnostic.c
The file was modifiedclang/test/Preprocessor/pushable-diagnostics.c
The file was modifiedclang/test/Preprocessor/Weverything_pragma.c
Commit bf3b86bc2f1020fc1b3a69803e6c3df7ffe8694d by bcain
[Hexagon] v67+ HVX register pairs should support either direction

Assembler now permits pairs like 'v0:1', which are encoded
differently from the odd-first pairs like 'v1:0'.

The compiler will require more work to leverage these new register
pairs.
The file was modifiedllvm/lib/Target/Hexagon/Disassembler/HexagonDisassembler.cpp
The file was modifiedllvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp
The file was modifiedllvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCChecker.cpp
The file was modifiedllvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCChecker.h
The file was addedllvm/test/MC/Hexagon/hvx-swapped-regpairs-alias-neg.s
The file was modifiedllvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCCodeEmitter.cpp
The file was modifiedllvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.h
The file was modifiedllvm/lib/Target/Hexagon/HexagonRegisterInfo.td
The file was modifiedllvm/lib/Target/Hexagon/HexagonVectorPrint.cpp
The file was addedllvm/test/CodeGen/Hexagon/vect-regpairs.ll
The file was modifiedllvm/test/CodeGen/Hexagon/swp-sigma.ll
The file was modifiedllvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp
The file was modifiedllvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCInstrInfo.cpp
The file was addedllvm/test/MC/Hexagon/hvx-swapped-regpairs.s
The file was modifiedllvm/lib/Target/Hexagon/HexagonRegisterInfo.cpp
The file was modifiedllvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCInstrInfo.h
Commit 187686a22f97662c981b9bffb998b6010ae1c401 by vkeles
[GlobalISel] LegalizationArtifactCombiner: Fix a bug in tryCombineMerges

Like COPY instructions explained in D70616, we don't check the constraints
when combining G_UNMERGE_VALUES. Use the same logic used in D70616 to check
if registers can be replaced, or a COPY instruction needs to be built.

https://reviews.llvm.org/D70564
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/Utils.h
The file was modifiedllvm/lib/CodeGen/GlobalISel/Utils.cpp
The file was addedllvm/test/CodeGen/AArch64/GlobalISel/artifact-combine-unmerge.mir
The file was modifiedllvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
The file was modifiedllvm/lib/Target/Mips/MipsRegisterBankInfo.cpp
Commit bfbfa18591db4eff68a6692b8503efd1571cdb88 by Matthew.Arsenault
GlobalISel: Lower s64->s16 G_FPTRUNC

This is more or less directly ported from the AMDGPU custom lowering
for FP_TO_FP16. I made a few minor fixups (using G_UNMERGE_VALUES
instead of creating shift/trunc to extract the two halves, and zexting
an inverted compare instead of select_cc).

This also does not include the fast math expansion the DAG which
converts to f32 and then to f16. I think that belongs in a
pre-legalize combine instead.
The file was modifiedllvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fptrunc.mir
Commit 1326a5a4cfe004181f2ec8231d84ecda2b93cb25 by asbirlea
[LoopRotate] Get and update MSSA only if available in legacy pass manager.

Summary:
Potential fix for: https://bugs.llvm.org/show_bug.cgi?id=44889 and https://bugs.llvm.org/show_bug.cgi?id=44408

In the legacy pass manager, loop rotate need not compute MemorySSA when not being in the same loop pass manager with other loop passes.
There isn't currently a way to differentiate between the two cases, so this attempts to limit the usage in LoopRotate to only update MemorySSA when the analysis is already available.
The side-effect of this is that it will split the Loop pipeline.

This issue does not apply to the new pass manager, where we have a flag specifying if all loop passes in that loop pass manager preserve MemorySSA.

Reviewers: dmgreen, fedor.sergeev, nikic

Subscribers: Prazek, hiraditya, george.burgess.iv, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D74574
The file was modifiedllvm/test/Other/opt-O3-pipeline.ll
The file was modifiedllvm/test/Other/opt-O2-pipeline.ll
The file was modifiedllvm/test/Other/opt-Os-pipeline.ll
The file was modifiedllvm/lib/Transforms/Scalar/LoopRotation.cpp
The file was modifiedllvm/test/Other/pass-pipelines.ll
Commit fc0c72b2dfc1f6209f9d5a401730219727e166cc by craig.topper
[X86] Add AVX512 support to the fast isel code for Intrinsic::convert_from_fp16/convert_to_fp16.
The file was modifiedllvm/test/CodeGen/X86/fast-isel-float-half-convertion.ll
The file was modifiedllvm/lib/Target/X86/X86FastISel.cpp
Commit 391cc4dd41db934081c37ee523cb2149bf0e3a41 by craig.topper
[X86] Use ZERO_EXTEND instead of SIGN_EXTEND in the fast isel handling of convert_from_fp16.
The file was modifiedllvm/lib/Target/X86/X86FastISel.cpp
The file was modifiedllvm/test/CodeGen/X86/fast-isel-float-half-convertion.ll
Commit 34d9a16e54becbea4c790b19804d35453018a53f by Matthew.Arsenault
AMDGPU: Add option to expand 64-bit integer division in IR

I didn't realize we were already expanding 24/32-bit division here
already. Use the available IntegerDivision utilities. This uses loops,
so produces significantly smaller code than the inline DAG expansion.

This now requires width reductions of 64-bit divisions before
introducing the expanded loops.

This helps work around missing legalization in GlobalISel for
division, which are the only remaining core instructions that didn't
work at all.

I think this is plausibly a better implementation than exists in the
DAG, although turning it on by default misses out on the constant
value optimizations and also needs benchmarking.
The file was modifiedllvm/test/CodeGen/AMDGPU/srem64.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-idiv.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/sdiv64.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/urem64.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/udiv64.ll
Commit 6071fc57a45f21443e976000b4e3f9549a7d1e0a by spatel
[x86] regenerate complete test checks for sqrt{est}; NFC

The existing checks were trying to test both CPU-specific
codegen and generic codegen with explicit attributes for
the various sqrt estimate possibilities, but that was hard
to decipher and update (D69989).

Instead generate the complete results for various CPUs,
and that makes it clear which models have slow/fast sqrt
attributes along with all of the other potential diffs
(FMA, AVX2, scheduling).

Also, explicitly add the function attributes corresponding
to whether DAZ/FTZ denorm settings are expected.
The file was modifiedllvm/test/CodeGen/X86/sqrt-fastmath-tune.ll
Commit 63ed0eceaf86e5438da955dcbc346f56af6c8fc2 by spatel
[x86] remove stray test assertions; NFC

I updated the prefix and forgot to manually remove the old names
as part of rG6071fc57a45.f
The file was modifiedllvm/test/CodeGen/X86/sqrt-fastmath-tune.ll
Commit 9ec668606b3a8d71ca327d9857844fb9c607a54b by Matthew.Arsenault
AMDGPU: Add option to disable CGP division expansion

The division expansions in AMDGPUCodeGenPrepare can't be relied on for
correctness, since they punt to later optimization and possibly
legalization in some cases. We still need a way to be able to write
tests for the legalizer versions of the expansion. This is mostly for
GlobalISel, since the expected optimzations is expecting aren't
implemented.

The interaction with the flag to expand 64-bit division in the IR is
pretty confusing, but these flags have different purposes.
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-sdiv.mir
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUGISel.td
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-urem.mir
The file was modifiedllvm/lib/Target/AMDGPU/SIInstructions.td
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-srem.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-udiv.mir
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
Commit 4af3be7b044ee67e33c8177c0c634c16dec12716 by evandro.menezes
[docs] Add note on using cmake to perform the build

Repeat the build instructions from the top level README in the Getting
Started guide.
The file was modifiedllvm/docs/GettingStarted.rst
Commit 07824e65bf569982894e4afd25ac712b2cf90a9f by Austin.Kerbow
[AMDGPU] Always enable XNACK feature when support is explicitly requested

Differential Revision: https://reviews.llvm.org/D74630
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp