SuccessChanges

Summary

  1. [X86] Remove unused canScaleShuffleElements helper (details)
  2. [Concepts] Include the found concept decl when dumping the ConceptSpecializationExpr (details)
  3. [Support][PPC] Fix bot failures due to cd53ded557c3 (details)
  4. [SyntaxTree] Add support for `LiteralExpression` (details)
  5. [mlir][Vector] Relax condition for `splitFullAndPartialTransferPrecondition` (details)
  6. [SyntaxTree] Fix crash on pointer to member function (details)
  7. Improve diagnostics for disallowed attributes used with multiversioning (details)
  8. Permit nowthrow and nonnull with multiversioning. (details)
  9. Fix sphinx indentation warning. (details)
  10. [X86] getFauxShuffleMask - drop unnecessary computeKnownBits OR(X,Y) shuffle decoding. (details)
  11. Fix sphinx indentation warning to stop newline in byref section html output. (details)
  12. [AMDGPU] Generate frem test checks (details)
  13. [AMDGPU] Use fma for lowering frem (details)
  14. [test] Use abspath instead of realpath sometimes (details)
  15. [PowerPC] Custom lowering for funnel shifts (details)
  16. Fix sphinx "Title underline too short" warning (details)
  17. Separate code-block tag with a newline to fix code snippet html output (details)
  18. [PowerPC] Don't remove single swap between the load and store (details)
  19. [clang][BPF] support type exist/size and enum exist/value relocations (details)
  20. [OpenMP] Don't use MSVC workaround with MinGW (details)
  21. [llvm-symbolizer] Switch command line parsing from llvm::cl to OptTable (details)
  22. GlobalISel: Hack a test to avoid a bug introducing a verifier error (details)
  23. [docs] Mention LLVM_ENABLE_MODULES. (details)
Commit 051f293b7881116c0d4aae6e2ee0470b3ca58886 by llvm-dev
[X86] Remove unused canScaleShuffleElements helper

The only use was removed at rG36750ba5bd0e9e72

Thanks to @nemanjai for the heads up
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 1c0a0dfa0236514fd1fbb1bccd8ad29f9d64e915 by hokein.wu
[Concepts] Include the found concept decl when dumping the ConceptSpecializationExpr

Differential Revision: https://reviews.llvm.org/D85124
The file was modifiedclang/include/clang/AST/TextNodeDumper.h
The file was modifiedclang/lib/AST/TextNodeDumper.cpp
The file was modifiedclang/test/AST/ast-dump-concepts.cpp
Commit 62a933b72c5b060bcb2c7332d05082f002d6c65a by nemanja.i.ibm
[Support][PPC] Fix bot failures due to cd53ded557c3

Commit https://reviews.llvm.org/rGcd53ded557c3 attempts to fix the
computation in computeHostNumPhysicalCores() to respect Affinity.
However, the GLIBC wrapper of the affinity system call fails with
a default size of cpu_set_t on systems that have more than 1024 CPUs.
This just fixes the computation on such large machines.
The file was modifiedllvm/lib/Support/Host.cpp
Commit 860cbbdd6b84017e6d37e1752b0358a05da6b115 by ecaldas
[SyntaxTree] Add support for `LiteralExpression`

We use inheritance to model the grammar's disjunction rule:
literal:
  integer-literal
  character-literal
  floating-point-literal
  string-literal
  boolean-literal
  pointer-literal
  user-defined-literal

Differential Revision: https://reviews.llvm.org/D85186
The file was modifiedclang/lib/Tooling/Syntax/Nodes.cpp
The file was modifiedclang/include/clang/Tooling/Syntax/Nodes.h
Commit 2d0b05969bc01a2fda14b8dc3e8c26c81efe9c6f by ntv
[mlir][Vector] Relax condition for `splitFullAndPartialTransferPrecondition`

The `splitFullAndPartialTransferPrecondition` has a restrictive condition to
prevent the pattern to be applied recursively if it is nested under an scf.IfOp.
Relaxing the condition to the immediate parent op must not be an scf.IfOp lets
the pattern be applied more generally while still preventing recursion.

Differential Revision: https://reviews.llvm.org/D85209
The file was modifiedmlir/lib/Dialect/Vector/VectorTransforms.cpp
Commit 8ce15f7eeb122c0bba4b676d797217359dd57c30 by ecaldas
[SyntaxTree] Fix crash on pointer to member function

Differential Revision: https://reviews.llvm.org/D85146
The file was modifiedclang/lib/Tooling/Syntax/BuildTree.cpp
The file was modifiedclang/unittests/Tooling/Syntax/TreeTest.cpp
Commit 961da69d7eafe44411d5ac9719209653d196f9e2 by erich.keane
Improve diagnostics for disallowed attributes used with multiversioning

Since we permit using SOME attributes (at the moment, just 1) with
multiversioning, we should improve the message as it still implies that
no attributes should be combined with multiversioning.
The file was modifiedclang/lib/Sema/SemaDecl.cpp
The file was modifiedclang/test/Sema/attr-target-mv.c
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/test/Sema/attr-cpuspecific.c
Commit 0a8ac91a084504929b1ef4ec1fee693455bd796d by erich.keane
Permit nowthrow and nonnull with multiversioning.

Some shipped versions of stdlib.h use nonnull and nothrow with function
multiversioning.  Support these, as they are generally harmless.
The file was modifiedclang/test/Sema/attr-cpuspecific.c
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/test/Sema/attr-target-mv.c
The file was modifiedclang/lib/Sema/SemaDecl.cpp
Commit feb9d8bd8e60100b29f8a065995e14a16c871914 by llvm-dev
Fix sphinx indentation warning.

Don't double indent and make it clear we're referting to the latency mode.
The file was modifiedllvm/docs/CommandGuide/llvm-exegesis.rst
Commit 6f0da46d538ec3003584cc6ea4419f4403f19771 by llvm-dev
[X86] getFauxShuffleMask - drop unnecessary computeKnownBits OR(X,Y) shuffle decoding.

Now that rG47cea9e82dda941e lets us aggressively decode multi-use shuffles for the OR(SHUFFLE(),SHUFFLE()) case we don't need the computeKnownBits variant any more.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 6e727551b9db76dd209a34e312dd44faae3843b6 by llvm-dev
Fix sphinx indentation warning to stop newline in byref section html output.
The file was modifiedllvm/docs/LangRef.rst
Commit ee75cf36bb1790a51cd1fd7c022b0ece101eb248 by jay.foad
[AMDGPU] Generate frem test checks

Differential Revision: https://reviews.llvm.org/D84515
The file was modifiedllvm/test/CodeGen/AMDGPU/frem.ll
Commit 8ec8ad868d9b970245e827b14306fbd11d11a9b2 by jay.foad
[AMDGPU] Use fma for lowering frem

This gives shorter f64 code and perhaps better accuracy.

Differential Revision: https://reviews.llvm.org/D84516
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/frem.ll
Commit 817b3a6fe3a4452eb61a2503c8beaa7267ca0351 by rupprecht
[test] Use abspath instead of realpath sometimes

In these two cases, use of `os.path.realpath` is problematic:

- The name of the compiler is significant [1] . For testing purposes, we might
  provide a compiler called "clang" which is actually a symlink to some build
  script (which does some flag processing before invoking the real clang). The
  destination the symlink may not be called "clang", but we still want it to be
  treated as such.
- When using a build system that puts build artifacts in an arbitrary build
  location, and later creates a symlink for it (e.g. creates a
  "<lldb root>/lldbsuite/test/dotest.py" symlinks that points to
  "/build/artifact/<hash>/dotest.py"), looking at the realpath will not match
  the "test" convention required here.

[1] See `Makefile.rules` in the lldb tree, e.g. we use different flags if the compiler is named "clang"

Reviewed By: JDevlieghere

Differential Revision: https://reviews.llvm.org/D85175
The file was modifiedlldb/packages/Python/lldbsuite/test/dotest.py
Commit 28e322ea9393e6b3841886006dd170ddd810fd9b by jay.foad
[PowerPC] Custom lowering for funnel shifts

The custom lowering saves an instruction over the generic expansion, by
taking advantage of the fact that PowerPC shift instructions are well
defined in the shift-by-bitwidth case.

Differential Revision: https://reviews.llvm.org/D83948
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was modifiedllvm/test/CodeGen/PowerPC/pr44183.ll
The file was modifiedllvm/test/CodeGen/PowerPC/funnel-shift.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.h
Commit cc0b670abf93c9c826885ab67125857469a1b8a6 by llvm-dev
Fix sphinx "Title underline too short" warning
The file was modifiedllvm/docs/Passes.rst
Commit 5e0a9dc0ad7704b7c49995101629010f5ff98cd2 by llvm-dev
Separate code-block tag with a newline to fix code snippet html output
The file was modifiedclang/include/clang/Basic/AttrDocs.td
Commit 14d726acd6041ee8fc595e48ec871b50b40ccc1d by nemanja.i.ibm
[PowerPC] Don't remove single swap between the load and store

The swap removal pass looks to remove swaps when a loaded value is swapped, some
number of lane-insensitive operations are performed and then the value is
swapped again and stored.

However, in a situation where we load the value, swap it and then store it
without swapping again, the pass erroneously removes the single swap. The
reason is that both checks in the same equivalence class:

- load feeds a swap
- swap feeds a store

pass. However, there is no check that the two swaps are actually a single swap.
This patch just fixes that.

Differential revision: https://reviews.llvm.org/D84785
The file was addedllvm/test/CodeGen/PowerPC/swaps-le-8.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCVSXSwapRemoval.cpp
Commit 6d6750696400e7ce988d66a1a00e1d0cb32815f8 by yhs
[clang][BPF] support type exist/size and enum exist/value relocations

This patch added the following additional compile-once
run-everywhere (CO-RE) relocations:
  - existence/size of typedef, struct/union or enum type
  - enum value and enum value existence

These additional relocations will make CO-RE bpf programs more
adaptive for potential kernel internal data structure changes.

For existence/size relocations, the following two code patterns
are supported:
  1. uint32_t __builtin_preserve_type_info(*(<type> *)0, flag);
  2. <type> var;
     uint32_t __builtin_preserve_field_info(var, flag);
flag = 0 for existence relocation and flag = 1 for size relocation.

For enum value existence and enum value relocations, the following code
pattern is supported:
  uint64_t __builtin_preserve_enum_value(*(<enum_type> *)<enum_value>,
                                         flag);
flag = 0 means existence relocation and flag = 1 for enum value.
relocation. In the above <enum_type> can be an enum type or
a typedef to enum type. The <enum_value> needs to be an enumerator
value from the same enum type. The return type is uint64_t to
permit potential 64bit enumerator values.

Differential Revision: https://reviews.llvm.org/D83242
The file was modifiedclang/lib/Sema/SemaChecking.cpp
The file was addedclang/test/CodeGen/builtins-bpf-preserve-field-info-3.c
The file was addedclang/test/CodeGen/builtins-bpf-preserve-field-info-4.c
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/test/Sema/builtins-bpf.c
The file was modifiedclang/include/clang/Basic/BuiltinsBPF.def
The file was modifiedclang/lib/CodeGen/CGBuiltin.cpp
The file was modifiedllvm/include/llvm/IR/IntrinsicsBPF.td
Commit 4a04bc8995639e1d333790518e4d42e0961f740e by Andrey.Churbanov
[OpenMP] Don't use MSVC workaround with MinGW

Patch by mati865@gmail.com

Differential Revision: https://reviews.llvm.org/D85210
The file was modifiedopenmp/runtime/cmake/LibompExports.cmake
The file was modifiedopenmp/runtime/cmake/LibompMicroTests.cmake
The file was modifiedopenmp/runtime/src/CMakeLists.txt
Commit 593e19629744d6c8ba45fe4bb78910cf653cd6a7 by i
[llvm-symbolizer] Switch command line parsing from llvm::cl to OptTable

for the advantage outlined by D83639 ([OptTable] Support grouped short options)

Some behavior changes:

* -i={0,false} is removed. Use --no-inlines instead.
* --demangle={0,false} is removed. Use --no-demangle instead
* -untag-addresses={0,false} is removed. Use --no-untag-addresses instead

Added a higher level API OptTable::parseArgs which handles optional
initial options populated from an environment variable, expands response
files recursively, and parses options.

Reviewed By: jhenderson

Differential Revision: https://reviews.llvm.org/D83530
The file was modifiedllvm/test/tools/llvm-symbolizer/help.test
The file was modifiedllvm/test/tools/llvm-symbolizer/output-style-inlined.test
The file was modifiedllvm/docs/CommandGuide/llvm-symbolizer.rst
The file was modifiedllvm/test/tools/llvm-symbolizer/untag-addresses.test
The file was addedllvm/tools/llvm-symbolizer/Opts.td
The file was modifiedllvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
The file was modifiedllvm/test/DebugInfo/debuglineinfo-path.ll
The file was modifiedllvm/include/llvm/Option/OptTable.h
The file was modifiedllvm/lib/Support/CommandLine.cpp
The file was modifiedllvm/tools/llvm-symbolizer/CMakeLists.txt
The file was addedllvm/test/tools/llvm-symbolizer/unknown-argument.test
The file was modifiedllvm/include/llvm/Support/CommandLine.h
The file was modifiedllvm/lib/Option/OptTable.cpp
The file was modifiedllvm/test/tools/llvm-symbolizer/split-dwarf.test
The file was modifiedllvm/test/tools/llvm-symbolizer/basic.s
Commit 444401c31f9f1218aed46348eda23a75766002b2 by Matthew.Arsenault
GlobalISel: Hack a test to avoid a bug introducing a verifier error

There seems to be an unrelated CSEMIRBuilder bug that was causing
expensive checks failures in this case. Hack the test to avoid this
problem for now until that's fixed.
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-phi.mir
Commit 05aa29efd7ecaea9631a3ac5c471a4a4749463a2 by flo
[docs] Mention LLVM_ENABLE_MODULES.
The file was modifiedllvm/docs/CMake.rst