SuccessChanges

Summary

  1. [gn build] (semi-manually) port a8ca0ec2670 (details)
  2. [PowerPC] Exploit vabsd on P9 (details)
  3. [MachineCombine] add a hook for resource length limit (details)
  4. Fix strict aliasing warning in msan.cpp (details)
  5. Improve SmallPtrSetImpl::count implementation (details)
  6. [ASTMatchers] Force c++ unittests to specify correct language standard (details)
  7. [DebugInfo][CallSites] Remove decl subprograms from 'retainedTypes:' (details)
Commit 216bad9a64ebfac51d36210738d2b9aa3de69511 by thakis
[gn build] (semi-manually) port a8ca0ec2670
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/BUILD.gn (diff)
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 (diff)
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp (diff)
Commit 2a24d350dbeacb131af91e8c438fed2bd81698c0 by czhengsz
[MachineCombine] add a hook for resource length limit
The file was modifiedllvm/include/llvm/CodeGen/TargetInstrInfo.h (diff)
The file was modifiedllvm/lib/CodeGen/MachineCombiner.cpp (diff)
Commit af38074874c605f9e598ae3f7e5d4befa3fe92bb by sguelton
Fix strict aliasing warning in msan.cpp

Use internal_memcpy instead.

Differential Revision: https://reviews.llvm.org/D80732
The file was modifiedcompiler-rt/lib/msan/msan.cpp (diff)
Commit 11efb0837c897c709ae162eb5ebabb460fc537ff by sguelton
Improve SmallPtrSetImpl::count implementation

Relying on the find method implies a roundtrip to the iterator world, which is
not costless because iterator creation involves a few check to ensure the
iterator is in a valid position (through the SmallPtrSetIteratorImpl::AdvanceIfNotValid
method). It turns out that the result of SmallPtrSetImpl::find_imp is either
valid or the EndPointer, so there's no need to go through that abstraction,
and the compiler cannot guess it.

Differential Revision: https://reviews.llvm.org/D80708
The file was modifiedllvm/include/llvm/ADT/SmallPtrSet.h (diff)
Commit b6d23f2efc64c226d30094bcc4258e0b63029da8 by n.james93
[ASTMatchers] Force c++ unittests to specify correct language standard

Force the unittests on c++ code for matchers to specify the correct standard.

Reviewed By: gribozavr2

Differential Revision: https://reviews.llvm.org/D80884
The file was modifiedclang/unittests/ASTMatchers/ASTMatchersTest.h (diff)
The file was modifiedclang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp (diff)
Commit 40a3fcb05c83c41862038277aa667c956e7cac82 by djordje.todorovic
[DebugInfo][CallSites] Remove decl subprograms from 'retainedTypes:'

After the D70350, the retainedTypes: isn't being used for the purpose
of call site debug info for extern calls, so it is safe to delete it
from IR representation.
We are also adding a test to ensure the subprogram isn't stored within
the retainedTypes: from corresponding DICompileUnit.

Differential Revision: https://reviews.llvm.org/D80369
The file was modifiedclang/test/CodeGen/debug-info-extern-call.c (diff)
The file was modifiedclang/lib/CodeGen/CGDebugInfo.cpp (diff)
The file was modifiedclang/test/Modules/DebugInfoTransitiveImport.m (diff)
The file was modifiedclang/test/Modules/ModuleDebugInfo.cpp (diff)
The file was modifiedclang/test/Modules/ModuleDebugInfo.m (diff)