SuccessChanges

Summary

  1. [OPENMP] Rework the test, NFC.
  2. [OPENMP5.0]Introduce attribute for declare variant directive. Added attribute for declare variant directive. It will allow to handle declare variant directive at the codegen and will allow to add extra checks.
  3. [ARM][AsmParser] Don't dereference a dyn_cast result. NFCI. The static analyzer is warning about potential null dereferences of dyn_cast<> results - in these cases we can safely use cast<> directly as we know that these cases should all be the correct type, which is why its working atm and anyway cast<> will assert if they aren't.
  4. Fix MSVC lambda capture warnings. NFCI.
  5. Remove asan test for strncat(x, y, 0)
  6. Reland "[SLC] Preserve attrs for strncpy(x, "", y) -> memset(align 1 x, '\0', y)"
  7. [ASAN] Adjust asan tests due to new optimizations
  8. [PowerPC] Exploit single instruction load-and-splat for word and doubleword We currently produce a load, followed by (possibly a move for integers and) a splat as separate instructions. VSX has always had a splatting load for doublewords, but as of Power9, we have it for words as well. This patch just exploits these instructions. Differential revision: https://reviews.llvm.org/D63624
  9. [MemorySSA] Fix phi insertion when inserting a def. Summary: When inserting a Def, the current algorithm is walking edges backward and inserting new Phis where needed. There may be additional Phis needed in the IDF of the newly inserted Def and Phis. Adding Phis in the IDF of the Def was added ina previous patch, but we may also need other Phis in the IDF of the newly added Phis. Reviewers: george.burgess.iv Subscribers: Prazek, sanjoy.google, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D67637
  10. [MemorySSA] Update MSSA for non-conventional AA. Summary: Regularly when moving an instruction that may not read or write memory, the instruction is not modelled in MSSA, so not action is necessary. For a non-conventional AA pipeline, MSSA needs to explicitly check when creating accesses, so as to not model instructions that may not read and write memory. Reviewers: george.burgess.iv Subscribers: Prazek, sanjoy.google, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D67562
  11. Move DK_Misexpect for compatability with getNextAvailablePluginDiagnosticKind First identified after D66324 landed. Patch By: paulkirth Differential Revision: https://reviews.llvm.org/D67648
Revision 372148 by abataev:
[OPENMP] Rework the test, NFC.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/test/OpenMP/parallel_for_codegen.cpp (diff)clang.src/test/OpenMP/parallel_for_codegen.cpp
Revision 372147 by abataev:
[OPENMP5.0]Introduce attribute for declare variant directive.

Added attribute for declare variant directive. It will allow to handle
declare variant directive at the codegen and will allow to add extra
checks.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/Basic/Attr.td (diff)clang.src/include/clang/Basic/Attr.td
The file was modified/cfe/trunk/include/clang/Basic/AttrDocs.td (diff)clang.src/include/clang/Basic/AttrDocs.td
The file was modified/cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td (diff)clang.src/include/clang/Basic/DiagnosticSemaKinds.td
The file was modified/cfe/trunk/include/clang/Sema/Sema.h (diff)clang.src/include/clang/Sema/Sema.h
The file was modified/cfe/trunk/lib/Sema/SemaExpr.cpp (diff)clang.src/lib/Sema/SemaExpr.cpp
The file was modified/cfe/trunk/lib/Sema/SemaOpenMP.cpp (diff)clang.src/lib/Sema/SemaOpenMP.cpp
The file was modified/cfe/trunk/lib/Sema/SemaTemplateInstantiateDecl.cpp (diff)clang.src/lib/Sema/SemaTemplateInstantiateDecl.cpp
The file was added/cfe/trunk/test/OpenMP/declare_variant_ast_print.cclang.src/test/OpenMP/declare_variant_ast_print.c
The file was added/cfe/trunk/test/OpenMP/declare_variant_ast_print.cppclang.src/test/OpenMP/declare_variant_ast_print.cpp
The file was modified/cfe/trunk/test/OpenMP/declare_variant_messages.c (diff)clang.src/test/OpenMP/declare_variant_messages.c
Revision 372145 by rksimon:
[ARM][AsmParser] Don't dereference a dyn_cast result. NFCI.

The static analyzer is warning about potential null dereferences of dyn_cast<> results - in these cases we can safely use cast<> directly as we know that these cases should all be the correct type, which is why its working atm and anyway cast<> will assert if they aren't.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/ARM/AsmParser/ARMAsmParser.cpp (diff)llvm.src/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
Revision 372144 by rksimon:
Fix MSVC lambda capture warnings. NFCI.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/unittests/DebugInfo/GSYM/GSYMTest.cpp (diff)llvm.src/unittests/DebugInfo/GSYM/GSYMTest.cpp
Revision 372143 by xbolva00:
Remove asan test for strncat(x, y, 0)
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/lib/asan/tests/asan_str_test.cpp (diff)compiler-rt.src/lib/asan/tests/asan_str_test.cpp
Revision 372142 by xbolva00:
Reland "[SLC] Preserve attrs for strncpy(x, "", y) -> memset(align 1 x, '\0', y)"
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/Utils/SimplifyLibCalls.cpp (diff)llvm.src/lib/Transforms/Utils/SimplifyLibCalls.cpp
The file was modified/llvm/trunk/test/Transforms/InstCombine/strncpy-1.ll (diff)llvm.src/test/Transforms/InstCombine/strncpy-1.ll
Revision 372141 by xbolva00:
[ASAN] Adjust asan tests due to new optimizations
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/lib/asan/tests/asan_str_test.cpp (diff)compiler-rt.src/lib/asan/tests/asan_str_test.cpp
Revision 372139 by nemanjai:
[PowerPC] Exploit single instruction load-and-splat for word and doubleword

We currently produce a load, followed by (possibly a move for integers and) a
splat as separate instructions. VSX has always had a splatting load for
doublewords, but as of Power9, we have it for words as well. This patch just
exploits these instructions.

Differential revision: https://reviews.llvm.org/D63624
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/PowerPC/PPCISelLowering.cpp (diff)llvm.src/lib/Target/PowerPC/PPCISelLowering.cpp
The file was modified/llvm/trunk/lib/Target/PowerPC/PPCISelLowering.h (diff)llvm.src/lib/Target/PowerPC/PPCISelLowering.h
The file was modified/llvm/trunk/lib/Target/PowerPC/PPCInstrAltivec.td (diff)llvm.src/lib/Target/PowerPC/PPCInstrAltivec.td
The file was modified/llvm/trunk/lib/Target/PowerPC/PPCInstrVSX.td (diff)llvm.src/lib/Target/PowerPC/PPCInstrVSX.td
The file was modified/llvm/trunk/test/CodeGen/PowerPC/VSX-XForm-Scalars.ll (diff)llvm.src/test/CodeGen/PowerPC/VSX-XForm-Scalars.ll
The file was modified/llvm/trunk/test/CodeGen/PowerPC/build-vector-tests.ll (diff)llvm.src/test/CodeGen/PowerPC/build-vector-tests.ll
The file was added/llvm/trunk/test/CodeGen/PowerPC/load-and-splat.llllvm.src/test/CodeGen/PowerPC/load-and-splat.ll
The file was modified/llvm/trunk/test/CodeGen/PowerPC/power9-moves-and-splats.ll (diff)llvm.src/test/CodeGen/PowerPC/power9-moves-and-splats.ll
The file was modified/llvm/trunk/test/CodeGen/PowerPC/qpx-load-splat.ll (diff)llvm.src/test/CodeGen/PowerPC/qpx-load-splat.ll
The file was modified/llvm/trunk/test/CodeGen/PowerPC/swaps-le-7.ll (diff)llvm.src/test/CodeGen/PowerPC/swaps-le-7.ll
Revision 372138 by asbirlea:
[MemorySSA] Fix phi insertion when inserting a def.

Summary:
When inserting a Def, the current algorithm is walking edges backward
and inserting new Phis where needed. There may be additional Phis needed
in the IDF of the newly inserted Def and Phis.
Adding Phis in the IDF of the Def was added ina  previous patch, but we
may also need other Phis in the IDF of the newly added Phis.

Reviewers: george.burgess.iv

Subscribers: Prazek, sanjoy.google, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D67637
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Analysis/MemorySSAUpdater.cpp (diff)llvm.src/lib/Analysis/MemorySSAUpdater.cpp
The file was added/llvm/trunk/test/Analysis/MemorySSA/pr43320.llllvm.src/test/Analysis/MemorySSA/pr43320.ll
Revision 372137 by asbirlea:
[MemorySSA] Update MSSA for non-conventional AA.

Summary:
Regularly when moving an instruction that may not read or write memory,
the instruction is not modelled in MSSA, so not action is necessary.
For a non-conventional AA pipeline, MSSA needs to explicitly check when
creating accesses, so as to not model instructions that may not read and
write memory.

Reviewers: george.burgess.iv

Subscribers: Prazek, sanjoy.google, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D67562
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Analysis/MemorySSA.cpp (diff)llvm.src/lib/Analysis/MemorySSA.cpp
The file was added/llvm/trunk/test/Analysis/MemorySSA/loop-rotate-disablebasicaa.llllvm.src/test/Analysis/MemorySSA/loop-rotate-disablebasicaa.ll
Revision 372136 by phosek:
Move DK_Misexpect for compatability with getNextAvailablePluginDiagnosticKind

First identified after D66324 landed.

Patch By: paulkirth
Differential Revision: https://reviews.llvm.org/D67648
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/IR/DiagnosticInfo.h (diff)llvm.src/include/llvm/IR/DiagnosticInfo.h