SuccessChanges

Summary

  1. [zorg] Rename Linaro-maintained 2-stage bots (details)
Commit db2fbb6520d1ebd17dcd91dfed4886f33734ffbd by maxim.kuvyrkov
[zorg] Rename Linaro-maintained 2-stage bots

... to have consistent -2stage suffix.

Reviewed By: DavidSpickett

Differential Revision: https://reviews.llvm.org/D104312
The file was modifiedbuildbot/osuosl/master/config/workers.py (diff)
The file was modifiedbuildbot/osuosl/master/config/builders.py (diff)

Summary

  1. [ARM] Correct type of setcc results for FP vectors (details)
  2. [mlir] ODS: temporarily disbale external model in presence of extra class declarations (details)
  3. [ELF] Consider that NOLOAD sections should be placed in a PT_LOAD segment (details)
  4. [lld/mac] Put lld-only flags in "LLD-SPECIFIC:" --help section (details)
  5. [lld/mac] Add support for -no_data_in_code_info flag (details)
  6. Revert "[flang] Check there's no dependency on C++ libs" (details)
  7. [AMDGPU] Set mayLoad and mayStore on Real instructions (details)
  8. [lldb] vwprintw -> vw_printw in IOHandlerCursesGUI (details)
  9. [libc] Add a set of elementary operations (details)
  10. Revert "[libc] Add a set of elementary operations" (details)
  11. [AMDGPU] Set IsAtomicRet and IsAtomicNoRet on Real instructions (details)
  12. [flang] Check there's no dependency on C++ libs. NFC (details)
  13. [OpenMP] libomp: fixed implementation of OMP 5.1 inoutset task dependence type (details)
  14. [lldb] Require Clang 8 for gpubnames test (details)
  15. [SVE] Fix PromoteIntRes_TRUNCATE not to call getVectorNumElements (details)
  16. [libc] Add a set of elementary operations (details)
  17. [libcxx] Fix exception raised during downstream bare-metal libunwind tests (details)
  18. [AMDGPU] Set SALU, VALU and other instruction type flags on Real instructions (details)
  19. [llvm-symbolizer] improve test and fix doc example after recent --print-source-context-lines behaviour change (details)
  20. [X86][AVX] Regenerate pr15296.ll tests (details)
  21. [mlir] NFC - Drop newline form BlockArgument printing. (details)
  22. [MCA][InstrBuilder] Always check for implicit uses of resource units (PR50725). (details)
  23. [libc++] Undeprecate the std::allocator<void> specialization (details)
  24. [llvm][AArch64] Handle arrays of struct properly (from IR) (details)
  25. [AMDGPU] Set VOP3P flag on Real instructions (details)
  26. [obj2yaml] Address D104035 review comments (details)
  27. [SVE] Selection failure with scalable insertelements (details)
  28. [lld-macho] Downgrade version mismatch to warning (details)
  29. [libTooling][NFC] Refactor implemenation of Transformer Stencils to use standard OOP (details)
  30. [FuncSpec] Fixed prefix typo in test function-specialization-noexec.ll. NFC. (details)
  31. [InstSimplify] propagate poison through FP ops (details)
  32. [NFC][libomptarget] Reduce the dependency on libelf (details)
  33. Reapply "[MCA] Adding the CustomBehaviour class to llvm-mca". (details)
  34. [gn build] Port ef16c8eaa5cd (details)
  35. [ValueTracking] add tests for propagatesPoison with FP ops; NFC (details)
Commit 0a714eaa51d0ef6390cba89d75b7790405dd776b by david.green
[ARM] Correct type of setcc results for FP vectors

Under MVE v4f32 and v8f16 vectors should be using v4i1/v8i1 predicates
for the setcc result type, as they have predicated registers for those
types. Setting this correctly prevents some inefficient optimizations
from happening.
The file was modifiedllvm/test/CodeGen/Thumb2/mve-pred-ext.ll
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
Commit 61cf7c72587fd4a9f10ea6c68d67847adf780d11 by zinenko
[mlir] ODS: temporarily disbale external model in presence of extra class declarations

Default implementations of interfaces may rely on extra class
declarations, which aren't currently generated in the external model,
that in turn may rely on functions defined in the main Attribute/Type
class, which wouldn't be available on the external model.
The file was modifiedmlir/tools/mlir-tblgen/OpInterfacesGen.cpp
Commit 5d621ed85ddb240f14e3fae8f94afd56d0ef9c58 by konstantin.schwarz
[ELF] Consider that NOLOAD sections should be placed in a PT_LOAD segment

During PHDR creation, the case where an output section does not require a
PT_LOAD header but still occupies memory in the current VMA region was not handled.

If such an output section interleaves two output sections that have the same
VMA and LMA regions set, we would previously re-use the existing PT_LOAD header
for the second output section.
However, since the memory region is not contiguous, we need to start a new PT_LOAD
segment.

This fixes https://bugs.llvm.org/show_bug.cgi?id=50558

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D103815
The file was modifiedlld/ELF/Writer.cpp
The file was modifiedlld/test/ELF/linkerscript/nobits-offset.s
The file was modifiedlld/test/ELF/linkerscript/noload.s
Commit 46ac1b213ac9fb694a5a834df4b6ec4fc0e7dba0 by thakis
[lld/mac] Put lld-only flags in "LLD-SPECIFIC:" --help section

Differential Revision: https://reviews.llvm.org/D104347
The file was modifiedlld/MachO/Options.td
Commit b579938d40b48f24e05e4022a647be933ffc1b89 by thakis
[lld/mac] Add support for -no_data_in_code_info flag

Differential Revision: https://reviews.llvm.org/D104345
The file was modifiedlld/test/MachO/data-in-code.s
The file was modifiedlld/MachO/InputFiles.cpp
The file was modifiedlld/MachO/Writer.cpp
The file was modifiedlld/MachO/Driver.cpp
The file was modifiedlld/MachO/Config.h
The file was modifiedlld/MachO/Options.td
Commit dfa0f3ee0ea1b72b81b469736e9271098e4129b3 by diana.picus
Revert "[flang] Check there's no dependency on C++ libs"

This reverts commit 7ddbf2633911a5c378ad6af01e250f6f252b9032.

This doesn't work if we're not building libFortranRuntime.a. I'll
recommit with a fix.
The file was modifiedflang/test/lit.site.cfg.py.in
The file was modifiedflang/test/lit.cfg.py
The file was removedflang/test/Runtime/no-cpp-dep.c
Commit 323b3e645dd340e7ffb86b06d33d071fdf4fb432 by jay.foad
[AMDGPU] Set mayLoad and mayStore on Real instructions

This does not affect codegen but might benefit llvm-mca.
The file was modifiedllvm/lib/Target/AMDGPU/SOPInstructions.td
The file was modifiedllvm/lib/Target/AMDGPU/VOPCInstructions.td
The file was modifiedllvm/lib/Target/AMDGPU/VOPInstructions.td
The file was modifiedllvm/lib/Target/AMDGPU/DSInstructions.td
The file was modifiedllvm/lib/Target/AMDGPU/FLATInstructions.td
The file was modifiedllvm/lib/Target/AMDGPU/BUFInstructions.td
The file was modifiedllvm/lib/Target/AMDGPU/VOP1Instructions.td
The file was modifiedllvm/lib/Target/AMDGPU/VOP2Instructions.td
Commit 3b7795aeceb153b04493c5ba93e707e39afbe41f by Raphael Isemann
[lldb] vwprintw -> vw_printw in IOHandlerCursesGUI

`vwprintw` is (in theory) using the `arargs.h` va_list while `vw_printw` is
using the `stdarg.h` va_list. It seems these days they can be used
interchangeably but `vwprintw` is marked as deprecated.
The file was modifiedlldb/source/Core/IOHandlerCursesGUI.cpp
Commit 4694321fbe54628513b75a4395124cd7508581a6 by gchatelet
[libc] Add a set of elementary operations

Resubmission of D100646 now making sure that we handle cases were `__builtin_memcpy_inline` is not available.

Original commit message:
Each of these elementary operations can be assembled to support higher order constructs (Overlapping access, Loop, Aligned Loop).
The patch does not compile yet as it depends on other ones (D100571, D100631) but it allows to get the conversation started.

A self-contained version of this code is available at https://godbolt.org/z/e1x6xdaxM
The file was addedlibc/src/string/memory_utils/elements_x86.h
The file was removedlibc/src/string/memory_utils/memcpy_utils.h
The file was modifiedlibc/test/src/string/memory_utils/CMakeLists.txt
The file was addedlibc/test/src/string/memory_utils/elements_test.cpp
The file was addedlibc/src/string/memory_utils/elements.h
The file was removedlibc/test/src/string/memory_utils/memcpy_utils_test.cpp
The file was modifiedlibc/src/string/CMakeLists.txt
The file was modifiedlibc/src/string/memcpy.cpp
The file was modifiedlibc/src/string/memory_utils/CMakeLists.txt
The file was modifiedlibc/src/string/x86_64/memcpy.cpp
The file was modifiedlibc/src/string/memory_utils/memset_utils.h
The file was addedlibc/test/src/string/memory_utils/memory_access_test.cpp
The file was modifiedlibc/src/string/aarch64/memcpy.cpp
Commit c3242238b717b5a537fdfe924b713e9cf36c505f by gchatelet
Revert "[libc] Add a set of elementary operations"

This reverts commit 4694321fbe54628513b75a4395124cd7508581a6.
The file was removedlibc/test/src/string/memory_utils/memory_access_test.cpp
The file was modifiedlibc/src/string/x86_64/memcpy.cpp
The file was modifiedlibc/src/string/memory_utils/memset_utils.h
The file was modifiedlibc/src/string/memcpy.cpp
The file was removedlibc/src/string/memory_utils/elements_x86.h
The file was modifiedlibc/src/string/CMakeLists.txt
The file was removedlibc/test/src/string/memory_utils/elements_test.cpp
The file was addedlibc/test/src/string/memory_utils/memcpy_utils_test.cpp
The file was modifiedlibc/src/string/memory_utils/CMakeLists.txt
The file was modifiedlibc/test/src/string/memory_utils/CMakeLists.txt
The file was addedlibc/src/string/memory_utils/memcpy_utils.h
The file was removedlibc/src/string/memory_utils/elements.h
The file was modifiedlibc/src/string/aarch64/memcpy.cpp
Commit 24ffc343f9da5bcfa007e5f9b52a3a023982ac89 by jay.foad
[AMDGPU] Set IsAtomicRet and IsAtomicNoRet on Real instructions

This does not affect codegen but might benefit llvm-mca.
The file was modifiedllvm/lib/Target/AMDGPU/DSInstructions.td
The file was modifiedllvm/lib/Target/AMDGPU/BUFInstructions.td
The file was modifiedllvm/lib/Target/AMDGPU/FLATInstructions.td
The file was modifiedllvm/lib/Target/AMDGPU/SMInstructions.td
Commit 0ad051b5fc22b4e7334635b2bdc54eca8ee7c4c4 by diana.picus
[flang] Check there's no dependency on C++ libs. NFC

Add a test to make sure the flang runtime doesn't pull in the C++
runtime libraries.

This is achieved by adding a C file that calls some functions from the
runtime (currently only CpuTime, but we should probably add anything
complicated enough, e.g. IO-related things). We force the C compiler to
use -std=c90 to make sure it's really in C mode (we don't really care
which version of the standard, this one is probably more widely
available). We only enable this test if CMAKE_C_COMPILER is set to
something (which is probably always true in practice).

This is a recommit of 7ddbf26, with 2 fixes:
* Replace C++ comments with C comments
* Only enable the test if libFortranRuntime.a exists (this might not be
the case if e.g. BUILD_SHARED_LIBS=On)

Differential Revision: https://reviews.llvm.org/D104290
The file was addedflang/test/Runtime/no-cpp-dep.c
The file was modifiedflang/test/lit.site.cfg.py.in
The file was modifiedflang/test/lit.cfg.py
Commit 610fea65e296e5e9aad9c90903c2e40eaa4f03ac by Andrey.Churbanov
[OpenMP] libomp: fixed implementation of OMP 5.1 inoutset task dependence type

Refactored code of dependence processing and added new inoutset dependence type.
Compiler can set dependence flag to 0x8 when call __kmpc_omp_task_with_deps.
All dependence flags library gets so far and corresponding dependence types:
1 - IN, 2 - OUT, 3 - INOUT, 4 - MUTEXINOUTSET, 8 - INOUTSET.

Differential Revision: https://reviews.llvm.org/D97085
The file was modifiedopenmp/runtime/src/kmp.h
The file was modifiedopenmp/runtime/src/kmp_taskdeps.cpp
The file was modifiedopenmp/runtime/test/tasking/hidden_helper_task/depend.cpp
The file was modifiedopenmp/runtime/test/tasking/hidden_helper_task/gtid.cpp
The file was addedopenmp/runtime/test/tasking/omp51_task_dep_inoutset.c
The file was modifiedopenmp/runtime/src/kmp_taskdeps.h
The file was modifiedopenmp/runtime/test/tasking/hidden_helper_task/common.h
Commit 59d58863bc0ea72a396aa9b08a7a5cb3f29e75b6 by Raphael Isemann
[lldb] Require Clang 8 for gpubnames test

This test is using -gpubnames which is only available since Clang 8. The
original Clang 7 requirement was based on the availability of
-accel-tables=Dwarf (which the test initially used before being changed to
-gpubnames in commit 15a6df52efaa7 ).
The file was modifiedlldb/test/API/lang/c/forward/TestForwardDeclaration.py
Commit dab05335a64250703ac528418d56301ce6c48bd6 by Dylan.Fleming
[SVE] Fix PromoteIntRes_TRUNCATE not to call getVectorNumElements

Reviewed By: sdesmalen

Differential Revision: https://reviews.llvm.org/D104115
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
The file was modifiedllvm/test/CodeGen/AArch64/sve-trunc.ll
Commit 7fff39d9b0469b75e589f9d47055a33422376da1 by gchatelet
[libc] Add a set of elementary operations

Resubmission of D100646 now making sure that we handle cases were `__builtin_memcpy_inline` is not available.

Original commit message:
Each of these elementary operations can be assembled to support higher order constructs (Overlapping access, Loop, Aligned Loop).
The patch does not compile yet as it depends on other ones (D100571, D100631) but it allows to get the conversation started.

A self-contained version of this code is available at https://godbolt.org/z/e1x6xdaxM
The file was modifiedlibc/src/string/memory_utils/memset_utils.h
The file was modifiedlibc/src/string/CMakeLists.txt
The file was addedlibc/src/string/memory_utils/elements.h
The file was removedlibc/src/string/memory_utils/memcpy_utils.h
The file was addedlibc/test/src/string/memory_utils/memory_access_test.cpp
The file was removedlibc/test/src/string/memory_utils/memcpy_utils_test.cpp
The file was addedlibc/test/src/string/memory_utils/elements_test.cpp
The file was modifiedlibc/src/string/aarch64/memcpy.cpp
The file was modifiedlibc/src/string/memory_utils/CMakeLists.txt
The file was modifiedlibc/test/src/string/memory_utils/CMakeLists.txt
The file was addedlibc/src/string/memory_utils/elements_x86.h
The file was modifiedlibc/src/string/memcpy.cpp
The file was modifiedlibc/src/string/x86_64/memcpy.cpp
Commit 5636402bc0c92eec2faf46edb0fb733d78fa259e by amilendra.kodithuwakku
[libcxx] Fix exception raised during downstream bare-metal libunwind tests

Fix for the following exception.

AttributeError: 'TestingConfig' object has no attribute 'target_triple'

Related revision: https://reviews.llvm.org/D102012

'TestingConfig' object has no attribute 'target_triple'

Reviewed By: #libunwind, miyuki, danielkiss, mstorsjo

Differential Revision: https://reviews.llvm.org/D103140
The file was modifiedlibunwind/test/libunwind/test/config.py
Commit 7f3ac6714a561553500cbd24331a8dc7f2375964 by jay.foad
[AMDGPU] Set SALU, VALU and other instruction type flags on Real instructions

This does not affect codegen but might benefit llvm-mca.
The file was modifiedllvm/lib/Target/AMDGPU/VOPCInstructions.td
The file was modifiedllvm/lib/Target/AMDGPU/VOP1Instructions.td
The file was modifiedllvm/lib/Target/AMDGPU/VOP2Instructions.td
The file was modifiedllvm/lib/Target/AMDGPU/VOPInstructions.td
The file was modifiedllvm/lib/Target/AMDGPU/SOPInstructions.td
Commit dbc07ef5ca53531e8ee6c54ec3c3f04bddef267d by Ben.Dunbobbin
[llvm-symbolizer] improve test and fix doc example after recent --print-source-context-lines behaviour change

I believe that after https://reviews.llvm.org/D102355 the behaviour of --print-source-context-lines has changed.

Before: --print-source-context-lines=3 prints 4 lines.
After: --print-source-context-lines=3 prints 3 lines.

Adjust the example in the docs for this change and make the testing a little more robust.

Differential Revision: https://reviews.llvm.org/D104114
The file was modifiedllvm/docs/CommandGuide/llvm-symbolizer.rst
The file was modifiedllvm/test/tools/llvm-symbolizer/print_context.c
Commit 39efbf91361ea7e8ee988f6fca386cb1f97f0736 by llvm-dev
[X86][AVX] Regenerate pr15296.ll tests

Exposes some really bad shift lowering codegen in shiftInput___canonical
The file was modifiedllvm/test/CodeGen/X86/pr15296.ll
Commit a1678987d982ef3d29ad4eacd4d4c48641494857 by nicolas.vasilache
[mlir] NFC - Drop newline form BlockArgument printing.

Differential Revision: https://reviews.llvm.org/D104368
The file was modifiedmlir/lib/IR/AsmPrinter.cpp
Commit 70b37f4c03cd189c94167dc22d9f5303c8773092 by andrea.dibiagio
[MCA][InstrBuilder] Always check for implicit uses of resource units (PR50725).

When instructions are issued to the underlying pipeline resources, the
mca::ResourceManager should also check for the presence of extra uses induced by
the explicit consumption of multiple partially overlapping group resources.

Fixes PR50725
The file was addedllvm/test/tools/llvm-mca/X86/SkylakeClient/PR50725.s
The file was modifiedllvm/lib/MCA/InstrBuilder.cpp
The file was modifiedllvm/lib/MCA/HardwareUnits/ResourceManager.cpp
The file was modifiedllvm/include/llvm/MCA/Instruction.h
Commit 87784cc6fb3453a17e0e7826b943a1d93cbfeccf by Louis Dionne
[libc++] Undeprecate the std::allocator<void> specialization

While the std::allocator<void> specialization was deprecated by
https://wg21.link/p0174#2.2, the *use* of std::allocator<void> by users
was not. The intent was that std::allocator<void> could still be used
in C++17 and C++20, but starting with C++20 (with the removal of the
specialization), std::allocator<void> would use the primary template.
That intent was called out in wg21.link/p0619r4#3.9.

As a result of this patch, _LIBCPP_ENABLE_CXX20_REMOVED_ALLOCATOR_MEMBERS
will also not control whether the explicit specialization is provided or
not. It shouldn't matter, since in C++20, one can simply use the primary
template.

Fixes http://llvm.org/PR50299

Differential Revision: https://reviews.llvm.org/D104323
The file was modifiedlibcxx/test/std/utilities/memory/default.allocator/allocator_types.deprecated_in_cxx17.verify.cpp
The file was removedlibcxx/test/libcxx/depr/depr.default.allocator/allocator_void.cxx2a.pass.cpp
The file was modifiedlibcxx/test/std/utilities/memory/default.allocator/allocator.dtor.pass.cpp
The file was modifiedlibcxx/include/memory
The file was modifiedlibcxx/test/std/utilities/memory/default.allocator/allocator_types.pass.cpp
The file was modifiedlibcxx/include/__memory/allocator.h
The file was modifiedlibcxx/test/std/utilities/memory/default.allocator/allocator_pointers.pass.cpp
The file was removedlibcxx/test/std/utilities/memory/default.allocator/allocator_void.deprecated_in_cxx17.verify.cpp
The file was modifiedlibcxx/docs/UsingLibcxx.rst
The file was modifiedlibcxx/test/libcxx/depr/depr.default.allocator/allocator_types.cxx2a.pass.cpp
The file was addedlibcxx/test/std/utilities/memory/default.allocator/allocator_types.void.compile.pass.cpp
The file was addedlibcxx/test/std/utilities/memory/default.allocator/PR50299.compile.pass.cpp
The file was modifiedlibcxx/test/std/utilities/memory/default.allocator/allocator.ctor.pass.cpp
The file was modifiedlibcxx/test/std/utilities/memory/default.allocator/allocator_types.removed_in_cxx20.verify.cpp
Commit e4ecd83fe969c77c23f7a5bd4d5ed521550b5737 by david.spickett
[llvm][AArch64] Handle arrays of struct properly (from IR)

This only applies to FastIsel. GlobalIsel seems to sidestep
the issue.

This fixes https://bugs.llvm.org/show_bug.cgi?id=46996

One of the things we do in llvm is decide if a type needs
consecutive registers. Previously, we just checked if it
was an array or not.
(plus an SVE specific check that is not changing here)

This causes some confusion when you arbitrary IR like:
```
%T1 = type { double, i1 };
define [ 1 x %T1 ] @foo() {
entry:
  ret [ 1 x %T1 ] zeroinitializer
}
```

We see it is an array so we call CC_AArch64_Custom_Block
which bails out when it sees the i1, a type we don't want
to put into a block.

This leaves the location of the double in some kind of
intermediate state and leads to odd codegen. Which then crashes
the backend because it doesn't know how to implement
what it's been asked for.

You get this:
```
  renamable $d0 = FMOVD0
  $w0 = COPY killed renamable $d0
```

Rather than this:
```
  $d0 = FMOVD0
  $w0 = COPY $wzr
```

The backend knows how to copy 64 bit to 64 bit registers,
but not 64 to 32. It can certainly be taught how but the real
issue seems to be us even trying to assign a register block
in the first place.

This change makes the logic of
AArch64TargetLowering::functionArgumentNeedsConsecutiveRegisters
a bit more in depth. If we find an array, also check that all the
nested aggregates in that array have a single member type.

Then CC_AArch64_Custom_Block's assumption of a type that looks
like [ N x type ] will be valid and we get the expected codegen.

New tests have been added to exercise these situations. Note that
some of the output is not ABI compliant. The aim of this change is
to simply handle these situations and not to make our processing
of arbitrary IR ABI compliant.

Reviewed By: efriedma

Differential Revision: https://reviews.llvm.org/D104123
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.h
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.h
The file was modifiedllvm/lib/CodeGen/SelectionDAG/FastISel.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.h
The file was modifiedllvm/lib/CodeGen/GlobalISel/CallLowering.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was addedllvm/test/CodeGen/AArch64/argument-blocks-array-of-struct.ll
The file was modifiedllvm/include/llvm/CodeGen/TargetLowering.h
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
Commit 66234ce49f254fc1d83de41daae8c8a16423bec2 by jay.foad
[AMDGPU] Set VOP3P flag on Real instructions

This does not affect codegen but might benefit llvm-mca.
The file was modifiedllvm/lib/Target/AMDGPU/VOP3PInstructions.td
Commit b9ce8ea4542fdc57e34e23fc285752d899a01030 by james.henderson
[obj2yaml] Address D104035 review comments

Accidentally missed from commit 5c1639fe064b.

Differential Revision: https://reviews.llvm.org/D104035
The file was modifiedllvm/lib/ObjectYAML/ELFEmitter.cpp
The file was modifiedllvm/tools/obj2yaml/elf2yaml.cpp
The file was modifiedllvm/test/tools/obj2yaml/ELF/shstrtab.yaml
Commit 2a936be38864fea5f11adf68e611fabc37aca6c1 by Dylan.Fleming
[SVE] Selection failure with scalable insertelements

Reviewed By: efriedma, CarolineConcatto

Differential Revision: https://reviews.llvm.org/D104244
The file was modifiedllvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
The file was modifiedllvm/test/CodeGen/AArch64/sve-insert-element.ll
Commit d52d1b93c3f5666a2d324a3cd6f505ae1dfb469a by jezng
[lld-macho] Downgrade version mismatch to warning

It's a warning in ld64. While having LLD be stricter would be nice, it
makes it harder for it to be a drop-in replacement into existing builds.

Reviewed By: #lld-macho, thakis

Differential Revision: https://reviews.llvm.org/D104333
The file was modifiedlld/MachO/InputFiles.cpp
The file was modifiedlld/test/MachO/invalid/incompatible-arch.s
Commit f387c8545d3a729eaf0e76c22f445a2209705814 by yitzhakm
[libTooling][NFC] Refactor implemenation of Transformer Stencils to use standard OOP

Currently, the implementation combines OOP and overloads, using a template to
tie the two together. In practice, this has proven confusing with no
benefits. This patch simplifies the code to use standard OOP design (a
collection of classes deriving from an interface).

Differential Revision: https://reviews.llvm.org/D104317
The file was modifiedclang/lib/Tooling/Transformer/Stencil.cpp
Commit 08c75fc5e3589dff452901b0df911608929df132 by sjoerd.meijer
[FuncSpec] Fixed prefix typo in test function-specialization-noexec.ll. NFC.
The file was modifiedllvm/test/Transforms/FunctionSpecialization/function-specialization-noexec.ll
Commit ce95200b7942bb0683fd491800bbd9e1dc908e04 by spatel
[InstSimplify] propagate poison through FP ops

We already have this fold:
  fadd float poison, 1.0 --> poison
...via ConstantFolding, so this makes the behavior consistent
if the other operand(s) are non-constant.

The fold for undef was added before poison existed as a
value/type in IR.

This came up in D102673 / D103169
because we're trying to sort out the more complicated handling
for constrained math ops.
We should have the handling for the regular instructions done
first, so we can build on that (or diverge as needed).

Differential Revision: https://reviews.llvm.org/D104383
The file was modifiedllvm/test/Transforms/InstSimplify/fp-undef-poison.ll
The file was modifiedllvm/test/Transforms/InstSimplify/call.ll
The file was modifiedllvm/lib/Analysis/InstructionSimplify.cpp
Commit b5c4fc0f232b6368bbd7cd8681a6931f2c30ad02 by vyacheslav.p.zakharin
[NFC][libomptarget] Reduce the dependency on libelf

This change-set removes libelf usage from elf_common part of the plugins.
libelf is still used in x86_64 generic plugin code and in some plugins
(e.g. amdgpu) - these will have to be cleaned up in separate checkins.

Differential Revision: https://reviews.llvm.org/D103545
The file was modifiedopenmp/libomptarget/plugins/amdgpu/CMakeLists.txt
The file was modifiedopenmp/libomptarget/plugins/common/elf_common/elf_common.h
The file was addedopenmp/libomptarget/plugins/common/elf_common/elf_common.cpp
The file was modifiedopenmp/libomptarget/plugins/remote/server/CMakeLists.txt
The file was modifiedopenmp/libomptarget/plugins/common/elf_common/CMakeLists.txt
Commit ef16c8eaa5cd567975956ec0b52b3648365a8ba1 by andrea.dibiagio
Reapply "[MCA] Adding the CustomBehaviour class to llvm-mca".

The original change was pushed in main as commit f7a23ecece52.
It was then reverted by commit a04f01bab2 because it caused linker failures
on buildbots that don't build the AMDGPU target.

--

Some instructions are not defined well enough within the target’s scheduling
model for llvm-mca to be able to properly simulate its behaviour. The ideal
solution to this situation is to modify the scheduling model, but that’s not
always a viable strategy. Maybe other parts of the backend depend on that
instruction being modelled the way that it is. Or maybe the instruction is quite
complex and it’s difficult to fully capture its behaviour with tablegen. The
CustomBehaviour class (which I will refer to as CB frequently) is designed to
provide intuitive scaffolding for developers to implement the correct modelling
for these instructions.

More details are available in the original commit log message (f7a23ecece52).

Differential Revision: https://reviews.llvm.org/D104149
The file was modifiedllvm/lib/MCA/Stages/InOrderIssueStage.cpp
The file was modifiedllvm/tools/llvm-mca/llvm-mca.cpp
The file was modifiedllvm/tools/llvm-mca/CMakeLists.txt
The file was modifiedllvm/include/llvm/MCA/Stages/InOrderIssueStage.h
The file was modifiedllvm/lib/MCA/Context.cpp
The file was addedllvm/tools/llvm-mca/lib/AMDGPU/AMDGPUCustomBehaviour.cpp
The file was addedllvm/tools/llvm-mca/lib/AMDGPU/CMakeLists.txt
The file was addedllvm/include/llvm/MCA/CustomBehaviour.h
The file was modifiedllvm/include/llvm/MCA/Instruction.h
The file was modifiedllvm/lib/MCA/InstrBuilder.cpp
The file was modifiedllvm/docs/CommandGuide/llvm-mca.rst
The file was addedllvm/tools/llvm-mca/lib/AMDGPU/AMDGPUCustomBehaviour.h
The file was modifiedllvm/include/llvm/MCA/HWEventListener.h
The file was addedllvm/lib/MCA/CustomBehaviour.cpp
The file was modifiedllvm/tools/llvm-mca/Views/DispatchStatistics.cpp
The file was addedllvm/tools/llvm-mca/lib/CMakeLists.txt
The file was modifiedllvm/include/llvm/MCA/Context.h
The file was modifiedllvm/lib/MCA/CMakeLists.txt
Commit 35a085bfabef2e5696286b5ca55da962ffd6c4e4 by llvmgnsyncbot
[gn build] Port ef16c8eaa5cd
The file was modifiedllvm/utils/gn/secondary/llvm/lib/MCA/BUILD.gn
Commit 572e506b55f0ad181ddbb04d889651caa5a287e8 by spatel
[ValueTracking] add tests for propagatesPoison with FP ops; NFC

Verify that this matches the behavior in InstSimplify:
D104383 / ce95200b7942

We still need to add code/tests for FP intrinsics.
The file was modifiedllvm/unittests/Analysis/ValueTrackingTest.cpp

Summary

  1. [test-suite] Suppress FP_CONTRACT due to command line changes planned in D74436 (details)
Commit 24550c3385e8e3703ed364e1ce20b06de97bbeee by melanie.blower
[test-suite] Suppress FP_CONTRACT due to command line changes planned in D74436

The dependent clang patch changes the default setting for ffp-contract to true,
and that causes about 20 test-suite LNT tests to fail on X86 and other arch.
This patch modifies the build settings to these tests to suppress FP_CONTRACT
and allows the tests to pass.

Reviewed By: andrew.kaylor, segpop, rengolin, jdoerfert

Differential Revision: https://reviews.llvm.org/D102861
The file was modifiedSingleSource/Benchmarks/Polybench/datamining/correlation/CMakeLists.txt (diff)
The file was modifiedSingleSource/Benchmarks/Polybench/linear-algebra/kernels/bicg/CMakeLists.txt (diff)
The file was modifiedSingleSource/Benchmarks/Polybench/linear-algebra/kernels/gemver/CMakeLists.txt (diff)
The file was modifiedSingleSource/Benchmarks/Polybench/stencils/seidel-2d/seidel-2d.c (diff)
The file was modifiedSingleSource/Benchmarks/Polybench/linear-algebra/kernels/2mm/CMakeLists.txt (diff)
The file was modifiedSingleSource/Benchmarks/Polybench/medley/reg_detect/reg_detect.c (diff)
The file was modifiedSingleSource/Benchmarks/Polybench/datamining/covariance/covariance.c (diff)
The file was modifiedMultiSource/Benchmarks/DOE-ProxyApps-C++/miniFE/CMakeLists.txt (diff)
The file was modifiedMultiSource/Applications/oggenc/CMakeLists.txt (diff)
The file was modifiedSingleSource/Benchmarks/Polybench/linear-algebra/kernels/trisolv/trisolv.c (diff)
The file was modifiedSingleSource/Benchmarks/Polybench/linear-algebra/solvers/gramschmidt/gramschmidt.c (diff)
The file was modifiedSingleSource/Benchmarks/Polybench/linear-algebra/kernels/3mm/CMakeLists.txt (diff)
The file was modifiedSingleSource/Benchmarks/Polybench/linear-algebra/kernels/gesummv/CMakeLists.txt (diff)
The file was modifiedSingleSource/Benchmarks/Polybench/linear-algebra/kernels/trisolv/CMakeLists.txt (diff)
The file was modifiedSingleSource/Benchmarks/Polybench/linear-algebra/kernels/gemm/gemm.c (diff)
The file was modifiedSingleSource/Benchmarks/Polybench/linear-algebra/solvers/gramschmidt/CMakeLists.txt (diff)
The file was modifiedSingleSource/Benchmarks/Polybench/linear-algebra/kernels/2mm/2mm.c (diff)
The file was modifiedSingleSource/Benchmarks/Polybench/stencils/jacobi-1d-imper/jacobi-1d-imper.c (diff)
The file was modifiedSingleSource/Benchmarks/Polybench/datamining/correlation/correlation.c (diff)
The file was modifiedSingleSource/Benchmarks/Polybench/linear-algebra/kernels/bicg/bicg.c (diff)
The file was modifiedSingleSource/Benchmarks/Polybench/linear-algebra/kernels/cholesky/cholesky.c (diff)
The file was modifiedSingleSource/Benchmarks/Polybench/linear-algebra/kernels/3mm/3mm.c (diff)
The file was modifiedSingleSource/Benchmarks/Polybench/linear-algebra/kernels/symm/CMakeLists.txt (diff)
The file was modifiedSingleSource/Benchmarks/Polybench/linear-algebra/kernels/syr2k/syr2k.c (diff)
The file was modifiedSingleSource/UnitTests/Vector/SSE/CMakeLists.txt (diff)
The file was modifiedSingleSource/Benchmarks/Polybench/linear-algebra/solvers/dynprog/dynprog.c (diff)
The file was modifiedSingleSource/Benchmarks/Polybench/linear-algebra/kernels/atax/CMakeLists.txt (diff)
The file was modifiedSingleSource/Benchmarks/Polybench/stencils/fdtd-apml/fdtd-apml.c (diff)
The file was modifiedSingleSource/Benchmarks/Misc-C++/Large/CMakeLists.txt (diff)
The file was modifiedSingleSource/Benchmarks/Polybench/linear-algebra/solvers/ludcmp/ludcmp.c (diff)
The file was modifiedSingleSource/Benchmarks/Polybench/stencils/jacobi-2d-imper/jacobi-2d-imper.c (diff)
The file was modifiedSingleSource/Benchmarks/Polybench/stencils/fdtd-2d/fdtd-2d.c (diff)
The file was modifiedSingleSource/Benchmarks/Polybench/linear-algebra/kernels/doitgen/doitgen.c (diff)
The file was modifiedSingleSource/Benchmarks/Polybench/linear-algebra/kernels/trmm/trmm.c (diff)
The file was modifiedSingleSource/Benchmarks/Polybench/stencils/adi/adi.c (diff)
The file was modifiedSingleSource/Benchmarks/Polybench/linear-algebra/solvers/lu/lu.c (diff)
The file was modifiedSingleSource/Benchmarks/Polybench/medley/floyd-warshall/floyd-warshall.c (diff)
The file was modifiedSingleSource/Benchmarks/Polybench/linear-algebra/kernels/mvt/mvt.c (diff)
The file was modifiedSingleSource/Benchmarks/Linpack/CMakeLists.txt (diff)
The file was modifiedMultiSource/Benchmarks/Rodinia/srad/CMakeLists.txt (diff)
The file was modifiedSingleSource/Benchmarks/Polybench/linear-algebra/kernels/gemver/gemver.c (diff)
The file was modifiedMicroBenchmarks/ImageProcessing/BilateralFiltering/CMakeLists.txt (diff)
The file was modifiedSingleSource/Benchmarks/Polybench/linear-algebra/kernels/syrk/syrk.c (diff)
The file was modifiedSingleSource/Benchmarks/Polybench/linear-algebra/kernels/atax/atax.c (diff)
The file was modifiedSingleSource/Benchmarks/Polybench/linear-algebra/kernels/trmm/CMakeLists.txt (diff)
The file was modifiedMicroBenchmarks/ImageProcessing/Blur/CMakeLists.txt (diff)
The file was modifiedSingleSource/Benchmarks/Polybench/linear-algebra/solvers/durbin/durbin.c (diff)
The file was modifiedMultiSource/Benchmarks/DOE-ProxyApps-C++/HPCCG/CMakeLists.txt (diff)
The file was modifiedSingleSource/Benchmarks/Polybench/stencils/adi/CMakeLists.txt (diff)
The file was modifiedSingleSource/Benchmarks/Polybench/datamining/covariance/CMakeLists.txt (diff)
The file was modifiedMultiSource/Benchmarks/DOE-ProxyApps-C++/CLAMR/CMakeLists.txt (diff)
The file was modifiedSingleSource/Benchmarks/Polybench/linear-algebra/kernels/gesummv/gesummv.c (diff)
The file was modifiedSingleSource/Benchmarks/Polybench/linear-algebra/kernels/symm/symm.c (diff)