SuccessChanges

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

Summary

  1. [gcov] Emit GCOV_TAG_OBJECT_SUMMARY/GCOV_TAG_PROGRAM_SUMMARY correctly and fix llvm-cov's decoding of runcount (details)
  2. [DWARF5]: Added support for dumping strx forms in llvm-dwarfdump (details)
  3. Partially revert "[CMake] Fix building with -DBUILD_SHARED_LIBS=ON on mingw" (details)
  4. Revert part of D49132 "[gcov] Fix gcov profiling on big-endian machines" (details)
  5. [gcov] Fix big-endian problems (details)
  6. Revert "[libcxx] shared_ptr changes from library fundamentals (P0414R2)." (details)
  7. [PowerPC] Add fma/fsqrt/fmax strict-fp intrinsics (details)
  8. [RISCV] Make CanLowerReturn protected for downstream maintenance (details)
  9. Temporarily Revert "[mlir][shape] Tidy up shape.shape_of" as it's breaking a few tests. (details)
  10. [clangd] Have suppression comments take precedence over warning-as-error (details)
  11. [LLDB] Disable TestBasicEntryValues.py for arm (details)
  12. [CodeGen] Fix incorrect uses of getVectorNumElements() (details)
  13. [SystemZ] Improve foldMemoryOperandImpl: vec->FP conversions (details)
  14. Revert "[NFC][DwarfDebug] Avoid default capturing when using lambdas" (details)
  15. Revert "[NFC][DwarfDebug] Prefer explicit to auto type deduction" (details)
  16. Fix typos encountered while working on pass pipeline for O1. (details)
  17. [NFC][AArch64] Update tests (details)
  18. get rid of the NDEBUG usage in RecoveryExpr, NFC. (details)
  19. [Openmp][VE] Libomptarget plugin for NEC SX-Aurora (details)
  20. [AArch64][CostModel] getCastInstrCost (details)
  21. [ARM][CostModel] Improve getCastInstrCost (details)
  22. [ARM] Refactor lower to S[LR]I optimization (details)
  23. [SveEmitter] Add builtins for svdup and svindex (details)
  24. [NFC][AArch64] More cast cost tests (details)
Commit 013f06703e132c31cf3e8bdb2ae7c6b89b8f8fc2 by maskray
[gcov] Emit GCOV_TAG_OBJECT_SUMMARY/GCOV_TAG_PROGRAM_SUMMARY correctly and fix llvm-cov's decoding of runcount

gcov 9 (r264462) started to use GCOV_TAG_OBJECT_SUMMARY. Before,
GCOV_TAG_PROGRAM_SUMMARY was used.
libclang_rt.profile should emit just one tag according to the version.

Another bug introduced by rL194499 is that the wrong runcount field was
selected.

Fix the two bugs so that gcov can correctly decode "Runs:" from
libclang_rt.profile produced .gcda files, and llvm-cov gcov can
correctly decode "Runs:" from libgcov produced .gcda files.
The file was modifiedllvm/test/tools/llvm-cov/Inputs/test_-a.cpp.gcov
The file was modifiedllvm/test/tools/llvm-cov/gcov-4.7.c
The file was modifiedllvm/test/tools/llvm-cov/Inputs/test_missing.h.gcov
The file was modifiedllvm/test/tools/llvm-cov/Inputs/test_-a_-b_-c_-u.cpp.gcov
The file was modifiedllvm/test/tools/llvm-cov/Inputs/test_no_options.h.gcov
The file was modifiedllvm/test/tools/llvm-cov/Inputs/test_-a_-b_-u.h.gcov
The file was modifiedllvm/test/tools/llvm-cov/Inputs/test_paths.h.gcov
The file was modifiedllvm/test/tools/llvm-cov/Inputs/test_no_options.cpp.gcov
The file was modifiedllvm/test/tools/llvm-cov/Inputs/test_objdir.h.gcov
The file was modifiedllvm/test/tools/llvm-cov/Inputs/test_-a_-b_-c_-u.h.gcov
The file was modifiedllvm/test/tools/llvm-cov/Inputs/test_-a.h.gcov
The file was modifiedllvm/test/tools/llvm-cov/Inputs/test_objdir.cpp.gcov
The file was modifiedllvm/test/tools/llvm-cov/gcov-9.c
The file was modifiedllvm/test/tools/llvm-cov/Inputs/test_-a_-b.cpp.gcov
The file was modifiedcompiler-rt/lib/profile/GCDAProfiling.c
The file was modifiedllvm/test/tools/llvm-cov/Inputs/test_-a_-b_-u.cpp.gcov
The file was modifiedllvm/test/tools/llvm-cov/gcov-8.c
The file was modifiedllvm/test/tools/llvm-cov/Inputs/test_-a_-b.h.gcov
The file was modifiedllvm/lib/ProfileData/GCOV.cpp
The file was modifiedllvm/test/tools/llvm-cov/Inputs/test_paths.cpp.gcov
The file was modifiedllvm/test/tools/llvm-cov/Inputs/test_missing.cpp.gcov
Commit 93aee9ca8698111b2df2fda2a1a5a2f3ce4fc014 by SourabhSingh.Tomar
[DWARF5]: Added support for dumping strx forms in llvm-dwarfdump

This patch adds support for dumping DW_MACRO_define_strx,
DW_MACRO_undef_strx in llvm-dwarfdump. These forms are currently
supported only in debug_macro section.

Reviewed By: ikudrin, dblaikie

Differential Revision: https://reviews.llvm.org/D78736
The file was addedllvm/test/DebugInfo/X86/debug-macinfo-strx.s
The file was addedllvm/test/DebugInfo/X86/debug-macro-multi-cu-strx.s
The file was addedllvm/test/DebugInfo/X86/debug-macro-empty-macro-offset.s
The file was addedllvm/test/DebugInfo/X86/debug-macro-empty-str-offset.s
The file was modifiedllvm/include/llvm/DebugInfo/DWARF/DWARFDebugMacro.h
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFContext.cpp
The file was addedllvm/test/DebugInfo/X86/debug-macinfo-strp.s
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDebugMacro.cpp
Commit 1f707cc9908173951fe7ed0a2d8e90dc8923651d by martin
Partially revert "[CMake] Fix building with -DBUILD_SHARED_LIBS=ON on mingw"

This reverts parts of commit 609ef948387ba40e3693c2bd693d82ca34dcdc02,
as it caused build failures on windows if LLVM_BUILD_EXAMPLES was
enabled, due to Bye being added as a dependency of the lit tests.
The file was modifiedllvm/examples/Bye/CMakeLists.txt
Commit 4c684b91d562d96ab5a34bb989693e92ba9ec9eb by maskray
Revert part of D49132 "[gcov] Fix gcov profiling on big-endian machines"

D49132 is partially correct. For 64-bit values, the lower 32-bit part comes
before the higher 32-bit part (in a little-endian manner).

For 32-bit values, libgcov reads/writes 32-bit values in native endianness.
The file was modifiedcompiler-rt/lib/profile/GCDAProfiling.c
Commit f98709a982b358a2df3ee6103c8b9a81cbc81d26 by maskray
[gcov] Fix big-endian problems

In a big-endian .gcda file, the first four bytes are "gcda" instead of "adcg".
All 32-bit values are in big-endian.

With this change, libclang_rt.profile can hopefully produce gcov
compatible output.
The file was modifiedcompiler-rt/lib/profile/GCDAProfiling.c
Commit 5eb55483ebd183985e6f397491ac822304e3a893 by zoecarver
Revert "[libcxx] shared_ptr changes from library fundamentals (P0414R2)."

This reverts commit e8c13c182a562f45287d6b8da612264d09027087.
The file was removedlibcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/shared_ptr_copy_move.fail.cpp
The file was removedlibcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.cast/reinterpret_pointer_cast.pass.cpp
The file was modifiedlibcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/unique_ptr.pass.cpp
The file was modifiedlibcxx/www/cxx1z_status.html
The file was modifiedlibcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.cast/static_pointer_cast.pass.cpp
The file was modifiedlibcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/types.pass.cpp
The file was modifiedlibcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/pointer.pass.cpp
The file was modifiedlibcxx/test/std/utilities/memory/util.smartptr/util.smartptr.weak/util.smartptr.weak.assign/shared_ptr_Y.pass.cpp
The file was removedlibcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.obs/op_arrow.fail.cpp
The file was modifiedlibcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.cast/const_pointer_cast.pass.cpp
The file was removedlibcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.obs/op_bracket.pass.cpp
The file was modifiedlibcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.cast/dynamic_pointer_cast.pass.cpp
The file was modifiedlibcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.create/make_shared.protected.fail.cpp
The file was modifiedlibcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/default.pass.cpp
The file was removedlibcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.obs/op_bracket.fail.cpp
The file was modifiedlibcxx/include/memory
The file was modifiedlibcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/shared_ptr_pointer.pass.cpp
The file was modifiedlibcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.obs/op_bool.pass.cpp
Commit e8d2ff22f09fea835ffc778e41a2acae4f4a5632 by qiucofan
[PowerPC] Add fma/fsqrt/fmax strict-fp intrinsics

This patch adds strict-fp intrinsics support for fma, fsqrt, fmaxnum and
fminnum on PowerPC.

Reviewed By: hfinkel

Differential Revision: https://reviews.llvm.org/D72749
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrInfo.td
The file was modifiedllvm/test/CodeGen/PowerPC/fp-strict.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp
The file was modifiedllvm/test/CodeGen/PowerPC/fp-strict-f128.ll
The file was addedllvm/test/CodeGen/PowerPC/fp-strict-minmax.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrVSX.td
The file was modifiedllvm/test/CodeGen/PowerPC/vector-constrained-fp-intrinsics.ll
Commit d775841d7d6ee3e8bbf3a420590be9bb19433eaa by tclin914
[RISCV] Make CanLowerReturn protected for downstream maintenance

Summary: For the downstream RISCV maintenance, it would be easier to override and reuse CanLowerReturn for customizing.

Reviewers: asb, lenary, luismarques

Reviewed By: lenary

Subscribers: hiraditya, rbar, johnrusso, simoncook, sabuasal, niosHD, kito-cheng, shiva0217, jrtc27, MaskRay, zzheng, edward-jones, rogfer01, MartinMosbeck, brucehoult, the_o, rkruppe, PkmX, jocewei, psnobl, benna, s.egerton, pzheng, sameer.abuasal, apazos, evandro, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D78545
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.h
Commit 84a9c725742d26df04808a3c7349dbd98684c6cb by echristo
Temporarily Revert "[mlir][shape] Tidy up shape.shape_of" as it's breaking a few tests.

This reverts commit b6045448869a63dc7da3a4c87c124e85101220d7.

Followed up offline with a testcase.
The file was modifiedmlir/test/Dialect/Shape/ops.mlir
The file was modifiedmlir/include/mlir/Dialect/Shape/IR/ShapeOps.td
Commit 5a7276b3548589590b81975d5c3e487dd91ac097 by zeratul976
[clangd] Have suppression comments take precedence over warning-as-error

Summary: This matches the clang-tidy behaviour.

Fixes https://github.com/clangd/clangd/issues/375

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

Tags: #clang

Differential Revision: https://reviews.llvm.org/D79691
The file was modifiedclang-tools-extra/clangd/unittests/DiagnosticsTests.cpp
The file was modifiedclang-tools-extra/clangd/ParsedAST.cpp
Commit 054ed1fd0b8dfbd996299f11dfe2311f428297da by omair.javaid
[LLDB] Disable TestBasicEntryValues.py for arm

TestBasicEntryValues.py fails on arm 32 bit. Currently running on silent master here:
http://lab.llvm.org:8014/builders/lldb-arm-ubuntu/
The file was modifiedlldb/test/API/functionalities/param_entry_vals/basic_entry_values/TestBasicEntryValues.py
Commit 42c7a6d52ba052a195825e81668d88487b3f26cc by david.sherwood
[CodeGen] Fix incorrect uses of getVectorNumElements()

I have fixed up some places in SelectionDAG::getNode() where we
used to assert that the number of vector elements for two types
are the same. I have changed such cases to assert that the
element counts are the same instead. I've added new tests that
exercise the code paths for all the truncations. All the extend
operations are covered by this existing test:

  CodeGen/AArch64/sve-sext-zext.ll

For the ISD::SETCC case I fixed this code path is exercised by
these existing tests:

  CodeGen/AArch64/sve-fcmp.ll
  CodeGen/AArch64/sve-intrinsics-int-compares-with-imm.ll

Differential Revision: https://reviews.llvm.org/D79399
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
The file was addedllvm/test/CodeGen/AArch64/sve-trunc.ll
Commit 57feff93a82c7a7cf538b8a3e05e02ada2fbcae3 by paulsson
[SystemZ] Improve foldMemoryOperandImpl: vec->FP conversions

Use FP-mem instructions when folding reloads into single lane (W..) vector
instructions.

Only do this when all other operands of the instruction have already been
allocated to an FP (F0-F15) register.

Review: Ulrich Weigand

Differential Revision: https://reviews.llvm.org/D76705
The file was addedllvm/test/CodeGen/SystemZ/foldmemop-vec-fusedfp.mir
The file was modifiedllvm/test/CodeGen/SystemZ/int-cmp-56.mir
The file was modifiedllvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
The file was addedllvm/test/CodeGen/SystemZ/foldmemop-vec-cc.mir
The file was addedllvm/test/CodeGen/SystemZ/foldmemop-vec-unary.mir
The file was addedllvm/test/CodeGen/SystemZ/foldmemop-vec-binops.mir
The file was modifiedllvm/lib/Target/SystemZ/SystemZInstrFP.td
The file was modifiedllvm/lib/Target/SystemZ/SystemZInstrFormats.td
The file was addedllvm/test/CodeGen/SystemZ/foldmemop-vec-cmp.mir
The file was modifiedllvm/lib/Target/SystemZ/SystemZInstrVector.td
Commit 41ca6058132f554033db0bbdd12032e20237fe0d by djordje.todorovic
Revert "[NFC][DwarfDebug] Avoid default capturing when using lambdas"

Reverting this because we found it isn't that useful.
Please see https://reviews.llvm.org/D79616.

This reverts commit rG45e5a32a8bd3.
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
Commit 8b7b84e99d5212fe286d0aa4e2f5d345bcd8b405 by djordje.todorovic
Revert "[NFC][DwarfDebug] Prefer explicit to auto type deduction"

This wasn't proposed by the LLVM Style Guide.
Please see https://reviews.llvm.org/D79624.

This reverts commit rG2552dc5317e0.
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
Commit a42e53cccf8da59efe634dbc8242e496aa7a2a37 by echristo
Fix typos encountered while working on pass pipeline for O1.
The file was modifiedllvm/lib/Transforms/Scalar/LowerConstantIntrinsics.cpp
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
The file was modifiedllvm/test/CodeGen/X86/2010-01-11-ExtraPHIArg.ll
Commit 494c7ecef9262b0ee5811b70d49862c0e5186bf6 by sam.parker
[NFC][AArch64] Update tests

Add cost model tests for extending loads.
The file was modifiedllvm/test/Analysis/CostModel/AArch64/cast.ll
Commit 40ef4274600316ed12a26a73265cf34432e1fbf7 by hokein.wu
get rid of the NDEBUG usage in RecoveryExpr, NFC.

use the llvm::all_of, per dblaikie's suggestion.
The file was modifiedclang/lib/AST/Expr.cpp
Commit 6b9e43c67e0b109881db2524ec5207c4a888e7f7 by simon.moll
[Openmp][VE] Libomptarget plugin for NEC SX-Aurora

This patch adds a libomptarget plugin for the NEC SX-Aurora TSUBASA Vector
Engine (VE target).  The code is largely based on the existing generic-elf
plugin and uses the NEC VEO and VEOSINFO libraries for offloading.

Differential Revision: https://reviews.llvm.org/D76843
The file was modifiedopenmp/libomptarget/plugins/CMakeLists.txt
The file was modifiedopenmp/libomptarget/src/rtl.cpp
The file was addedopenmp/libomptarget/plugins/ve/CMakeLists.txt
The file was addedopenmp/libomptarget/plugins/ve/src/rtl.cpp
The file was modifiedopenmp/libomptarget/cmake/Modules/LibomptargetGetDependencies.cmake
The file was modifiedopenmp/libomptarget/plugins/common/elf_common.c
Commit 1952c86d6146b107770c28e9444d1b35d5dfe58d by sam.parker
[AArch64][CostModel] getCastInstrCost

Pass the instruction to the base implementation.

Differential Revision: https://reviews.llvm.org/D79562
The file was modifiedllvm/test/Transforms/SLPVectorizer/AArch64/horizontal.ll
The file was modifiedllvm/test/Analysis/CostModel/AArch64/cast.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
Commit b4a8091a116a8cee00d635809f3c2e585c6221c4 by sam.parker
[ARM][CostModel] Improve getCastInstrCost

- Specifically check for sext/zext users which have 'long' form NEON
  instructions.
- Add more entries to the table for sext/zexts so that we can report
  more accurately the number of vmovls required for NEON.
- Pass the instruction to the pass implementation.

Differential Revision: https://reviews.llvm.org/D79561
The file was removedllvm/test/Transforms/LoopVectorize/ARM/mul-cast-vect.ll
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
The file was addedllvm/test/Analysis/CostModel/ARM/add-cast-vect.ll
The file was addedllvm/test/Analysis/CostModel/ARM/shl-cast-vect.ll
The file was modifiedllvm/test/Analysis/CostModel/ARM/cast.ll
The file was addedllvm/test/Analysis/CostModel/ARM/mul-cast-vect.ll
The file was addedllvm/test/Analysis/CostModel/ARM/sub-cast-vect.ll
Commit 9682d0d5dcc50d4583709bcb2e63f1ad630fe9a0 by petre-ionut.tudor
[ARM] Refactor lower to S[LR]I optimization

Summary:
The optimization has been refactored to fix certain bugs and
limitations. The condition for lowering to S[LR]I has been changed
to reflect the manual pseudocode description of SLI and SRI operation.
The optimization can now handle more cases of operand type and order.

Subscribers: kristof.beyls, hiraditya, danielkiss, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D79233
The file was modifiedllvm/test/CodeGen/AArch64/arm64-sli-sri-opt.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrInfo.td
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.h
Commit d6936be2ef8ce5d5d85b8a6cdd1477cd79688c3a by sander.desmalen
[SveEmitter] Add builtins for svdup and svindex

Reviewed By: efriedma

Differential Revision: https://reviews.llvm.org/D79357
The file was modifiedclang/include/clang/Basic/arm_sve.td
The file was addedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_dup.c
The file was modifiedclang/lib/CodeGen/CodeGenFunction.h
The file was modifiedclang/lib/CodeGen/CGBuiltin.cpp
Commit e114bdf072d98756de289bfc0f3aefc4e34304ee by sam.parker
[NFC][AArch64] More cast cost tests

Add truncating stores and casts with users.
The file was modifiedllvm/test/Analysis/CostModel/AArch64/cast.ll