SuccessChanges

Summary

  1. Revert "clang-tidy and clang-query wont crash with invalid command line options" (details)
  2. clang-tidy and clang-query wont crash with invalid command line options (details)
  3. Change some extraneous /// comments to // comments inside methods. NFC. (details)
  4. [X86][AVX] combineX86ShufflesRecursively - peekThroughOneUseBitcasts subvector before widening. (details)
  5. [X86][AVX] Reduce unary target shuffles width if the upper elements aren't demanded. (details)
  6. [X86] Rewrite how X86PartialReduction finds candidates to consider optimizing. (details)
  7. [test][compiler-rt] Avoid LD_PRELOAD for "outer" dynamic linkers (details)
  8. [Driver] NFC: Use Twine temp to replace std::string local (details)
  9. [analyzer] Add dumps to CheckerRegistry (details)
  10. [Driver] Simplify Linux::addProfileRTLibs (details)
  11. AMDGPU/GlobalISel: Add stub reg-bank aware combiner pass (details)
  12. [gn build] (semi-manually) port a8ca0ec2670 (details)
  13. [PowerPC] Exploit vabsd on P9 (details)
  14. [MachineCombine] add a hook for resource length limit (details)
Commit f4b0ebb89b3086a2bdd8c7dd1f5d142fa09ca728 by n.james93
Revert "clang-tidy and clang-query wont crash with invalid command line options"

This reverts commit f23ddbe3c3ae5f40b99ba272afc3d16b800ba8b9.
The file was modifiedclang-tools-extra/clang-query/tool/ClangQuery.cpp
The file was modifiedclang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
The file was removedclang-tools-extra/test/clang-tidy/infrastructure/invalid-command-line.cpp
The file was removedclang-tools-extra/test/clang-query/invalid-command-line.cpp
Commit 5952125691571de9bd817551fb1baabe270e73f9 by n.james93
clang-tidy and clang-query wont crash with invalid command line options

Motivated by [[ https://bugs.llvm.org/show_bug.cgi?id=46141 | clang-tidy crashed for unknown command line argument. ]]

Reviewed By: aaron.ballman, thakis

Differential Revision: https://reviews.llvm.org/D80879
The file was modifiedclang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
The file was addedclang-tools-extra/test/clang-query/invalid-command-line.cpp
The file was addedclang-tools-extra/test/clang-tidy/infrastructure/invalid-command-line.cpp
The file was modifiedclang-tools-extra/clang-query/tool/ClangQuery.cpp
Commit 0cf5ef176b5222b6ee8825a2e4ec843dd7152b46 by clattner
Change some extraneous /// comments to // comments inside methods. NFC.
The file was modifiedmlir/lib/Transforms/DialectConversion.cpp
Commit 8f2f613a6ecc75d592e9bd379b20b95790c00827 by llvm-dev
[X86][AVX] combineX86ShufflesRecursively - peekThroughOneUseBitcasts subvector before widening.

This matches what we do for the full sized vector ops at the start of combineX86ShufflesRecursively, and helps getFauxShuffleMask extract more INSERT_SUBVECTOR patterns.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-mul.ll
Commit 22e50833e9564f6be75fcbbabe9d75ca745e778d by llvm-dev
[X86][AVX] Reduce unary target shuffles width if the upper elements aren't demanded.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/avx512-intrinsics-fast-isel.ll
The file was modifiedllvm/test/CodeGen/X86/vector-shuffle-combining-avx.ll
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-mul.ll
Commit 8abe830093f65a0fc6ba398ee1786d4d96607fdf by craig.topper
[X86] Rewrite how X86PartialReduction finds candidates to consider optimizing.

Previously we walked the users of any vector binop looking for
more binops with the same opcode or phis that eventually ended up
in a reduction. While this is simple it also means visiting the
same nodes many times since we'll do a forward walk for each
BinaryOperator in the chain. It was also far more general than what
we have tests for or expect to see.

This patch replaces the algorithm with a new method that starts at
extract elements looking for a horizontal reduction. Once we find
a reduction we walk through backwards through phis and adds to
collect leaves that we can consider for rewriting.

We only consider single use adds and phis. Except for a special
case if the Add is used by a phi that forms a loop back to the
Add. Including other single use Adds to support unrolled loops.

Ultimately, I want to narrow the Adds, Phis, and final reduction
based on the partial reduction we're doing. I still haven't
figured out exactly what that looks like yet. But restricting
the types of graphs we expect to handle seemed like a good first
step. As does having all the leaves and the reduction at once.

Differential Revision: https://reviews.llvm.org/D79971
The file was modifiedllvm/lib/Target/X86/X86PartialReduction.cpp
The file was modifiedllvm/test/CodeGen/X86/sad.ll
The file was modifiedllvm/test/CodeGen/X86/madd.ll
Commit 403d5a5e351956e950fdb8bba07f804fb7d52742 by hubert.reinterpretcast
[test][compiler-rt] Avoid LD_PRELOAD for "outer" dynamic linkers

Summary:
This patch moves the setting of `LD_PRELOAD` "inwards" to avoid issues
where the built library needs to be loaded with the dynamic linker that
was configured with the build (and cannot, for example, be loaded by the
dynamic linker associated with the `env` utility).

Reviewed By: vitalybuka, nemanjai, jsji

Differential Revision: https://reviews.llvm.org/D79695
The file was modifiedcompiler-rt/test/asan/TestCases/Linux/preinstalled_signal.cpp
Commit c15d5d12c625df52bf82828a6af5ef2dfb6b4533 by hubert.reinterpretcast
[Driver] NFC: Use Twine temp to replace std::string local

This patch replaces a `std::string` local used for a concatentation with
a `Twine` where the string was being passed into call.
The file was modifiedclang/lib/Driver/ToolChains/Gnu.cpp
Commit 77e1181df446b54391acad08512b540e174cf6e6 by dkszelethus
[analyzer] Add dumps to CheckerRegistry
The file was modifiedclang/lib/StaticAnalyzer/Frontend/CheckerRegistry.cpp
The file was modifiedclang/include/clang/StaticAnalyzer/Frontend/CheckerRegistry.h
Commit 92448fd23daf966fe368eb8523d9c5a31797d5d8 by maskray
[Driver] Simplify Linux::addProfileRTLibs
The file was modifiedclang/lib/Driver/ToolChains/Linux.cpp
Commit a8ca0ec267050f9ded865a729d50c2c0eb078b7e by arsenm2
AMDGPU/GlobalISel: Add stub reg-bank aware combiner pass
The file was modifiedllvm/lib/Target/AMDGPU/CMakeLists.txt
The file was addedllvm/lib/Target/AMDGPU/AMDGPURegBankCombiner.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPU.h
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUCombine.td
Commit 216bad9a64ebfac51d36210738d2b9aa3de69511 by thakis
[gn build] (semi-manually) port a8ca0ec2670
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/BUILD.gn
Commit 3101601b54fbb8062c179e804974b9fb4e2b7c19 by onelirong
[PowerPC] Exploit vabsd on P9

Summary: Exploit vabsd* for for absolute difference of vectors on P9,
for example:
void foo (char *restrict p, char *restrict q, char *restrict t)
{
  for (int i = 0; i < 16; i++)
     t[i] = abs (p[i] - q[i]);
}
this case should be matched to the HW instruction vabsdub.

Reviewed By: steven.zhang

Differential Revision: https://reviews.llvm.org/D80271
The file was modifiedllvm/test/CodeGen/PowerPC/vec_absd.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp
Commit 2a24d350dbeacb131af91e8c438fed2bd81698c0 by czhengsz
[MachineCombine] add a hook for resource length limit
The file was modifiedllvm/include/llvm/CodeGen/TargetInstrInfo.h
The file was modifiedllvm/lib/CodeGen/MachineCombiner.cpp