SuccessChanges

Changes from Git (git http://labmaster3.local/git/llvm-project.git)

Summary

  1. [LLD] [COFF] Fix def file exporting of symbols containing periods (details)
  2. Fix typo in enum-base disambiguation. (details)
  3. Enforce the C++11 anonymous enum bitfields check even for (details)
  4. Fix clangd test that depended on a diagnostic removed in Clang. (details)
  5. AMDGPU/GlobalISel: Remove -global-isel-abort=0 from tests (details)
  6. [examples] Fix llvm.memset prototype in BrainF example. (details)
  7. [gcov] Default coverage version to '407*' and delete CC1 option -coverage-cfg-checksum (details)
  8. [ORC] Share ownership of JITDylibs between ExecutionSession and (details)
  9. [Attributor][NFC] Clang format Attributor*.cpp (details)
  10. [Attributor] Use existing helpers to determine IR facts (details)
  11. [Attributor] Ignore illegal accesses to `null` (details)
  12. [Attributor] Use "simplify to constant" in genericValueTraversal (details)
  13. [Attributor][FIX] Carefully handle/ignore/forget `argmemonly` (details)
  14. Remove  a variable write that is not needed after d03838343f2. (details)
  15. Remove a comment that is no longer true after d03838343f2. (details)
Commit ed0a57f753a312bc0433480ef0bfad338e56b19e by martin
[LLD] [COFF] Fix def file exporting of symbols containing periods

This fixes an accidental breakage of exporting symbols using def
files, when the symbol name contains a period, since commit
0ca06f7950e5, mixing up a symbol name containing a period with
the case of exporting a symbol as a forward to another dll.

Differential Revision: https://reviews.llvm.org/D79619
The file was modifiedlld/COFF/Driver.cpp
The file was addedlld/test/COFF/export-tricky-names.s
Commit 2d3f5a62de8e5d2cc25aaa49d0a00d31ed32544a by richard
Fix typo in enum-base disambiguation.
The file was modifiedclang/test/Parser/cxx0x-ambig.cpp
The file was addedclang/test/Parser/objcxx-enum.mm
The file was modifiedclang/lib/Parse/ParseTentative.cpp
The file was addedclang/test/Parser/cxx98-enum.cpp
Commit 8fc12b86985a088b2abd62a0684742c8e771d6ae by richard
Enforce the C++11 anonymous enum bitfields check even for
Objective-C++11 and under MS extensions.

This matches the MSVC behavior, and means that Objective-C behaves as a
set of extensions to the base language, rather than replacing the base
language rule with a different one.
The file was modifiedclang/lib/Parse/ParseDecl.cpp
The file was modifiedclang/test/Parser/objcxx-enum.mm
The file was modifiedclang/test/SemaCXX/MicrosoftExtensions.cpp
The file was modifiedclang/test/Parser/MicrosoftExtensions.cpp
Commit c7ebf0067014dd66acc2f9ec91e2426340791369 by richard
Fix clangd test that depended on a diagnostic removed in Clang.
The file was modifiedclang-tools-extra/clangd/unittests/DiagnosticsTests.cpp
Commit 856dda39188bc210d7d90e08cf4184c86ec2b1e9 by arsenm2
AMDGPU/GlobalISel: Remove -global-isel-abort=0 from tests
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-bitcast.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/artifact-combiner-unmerge-values.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-lshr.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-shl.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ashr.mir
Commit 6d23f2985270acb6907ad61f609a245bf844d472 by jyknight
[examples] Fix llvm.memset prototype in BrainF example.

Commit 1e68724d24ba38de7c7cdb2e1939d78c8b37cc0d removed the alignment
argument from the memset intrinsic. Update the BrainF example to match.

Reviewed By: jyknight
Differential Revision: https://reviews.llvm.org/D79601
The file was modifiedllvm/examples/BrainF/BrainF.cpp
Commit 25544ce2df0daa4304c07e64b9c8b0f7df60c11d by maskray
[gcov] Default coverage version to '407*' and delete CC1 option -coverage-cfg-checksum

Defaulting to -Xclang -coverage-version='407*' makes .gcno/.gcda
compatible with gcov [4.7,8)

In addition, delete clang::CodeGenOptionsBase::CoverageExtraChecksum and GCOVOptions::UseCfgChecksum.
We can infer the information from the version.

With this change, .gcda files produced by `clang --coverage a.o` linked executable can be read by gcov 4.7~7.
We don't need other -Xclang -coverage* options.
There may be a mismatching version warning, though.

(Note, GCC r173147 "split checksum into cfg checksum and line checksum"
made gcov 4.7 incompatible with previous versions.)
The file was modifiedclang/test/CodeGen/code-coverage.c
The file was modifiedclang/lib/CodeGen/BackendUtil.cpp
The file was modifiedcompiler-rt/lib/profile/GCDAProfiling.c
The file was modifiedllvm/test/Transforms/GCOVProfiling/version.ll
The file was modifiedllvm/include/llvm/Transforms/Instrumentation.h
The file was modifiedllvm/test/Transforms/GCOVProfiling/function-numbering.ll
The file was modifiedclang/lib/Basic/CodeGenOptions.cpp
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedclang/include/clang/Basic/CodeGenOptions.def
The file was modifiedllvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
The file was modifiedclang/include/clang/Driver/CC1Options.td
Commit 41379f1ec4657860f4840dba914aa643e7938a5c by Lang Hames
[ORC] Share ownership of JITDylibs between ExecutionSession and
MaterializationResponsibility.

MaterializationResponsibility objects provide a connection between a
materialization process (compiler, jit linker, etc.) and the JIT state held in
the ExecutionSession and JITDylib objects. Switching to shared ownership
extends the lifetime of JITDylibs to ensure they remain accessible until all
materializers targeting them have completed. This will allow (in a follow-up
patch) JITDylibs to be removed from the ExecutionSession and placed in a
pending-destruction state while they are kept alive to communicate errors
to/from any still-runnning materialization processes. The intent is to enable
JITDylibs to be safely removed even if they have running compiles targeting
them.
The file was modifiedllvm/lib/ExecutionEngine/Orc/LLJIT.cpp
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/Core.h
The file was modifiedllvm/lib/ExecutionEngine/Orc/Core.cpp
The file was modifiedllvm/unittests/ExecutionEngine/Orc/CoreAPIsTest.cpp
Commit a9ee8b492c9fc35ce2b5ff5b81319c5a70e6f869 by johannes
[Attributor][NFC] Clang format Attributor*.cpp
The file was modifiedllvm/lib/Transforms/IPO/AttributorAttributes.cpp
The file was modifiedllvm/lib/Transforms/IPO/Attributor.cpp
Commit 31c03b9223a661b529cfe0f44a256febc4986d11 by johannes
[Attributor] Use existing helpers to determine IR facts

We now use getPointerDereferenceableBytes to determine `nonnull` and
`dereferenceable` facts from the IR. We also use getPointerAlignment in
AAAlign for the same reason. The latter can interfere with callbacks so
we do restrict it to non-function-pointers for now.
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/byval.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/inalloca.ll
The file was modifiedllvm/test/Transforms/Attributor/nocapture-1.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/2009-09-24-byval-ptr.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/pthreads.ll
The file was modifiedllvm/test/Transforms/Attributor/callbacks.ll
The file was modifiedllvm/test/Transforms/Attributor/heap_to_stack.ll
The file was modifiedllvm/test/Transforms/Attributor/nocapture-2.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/X86/thiscall.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/PR26044.ll
The file was modifiedllvm/test/Transforms/Attributor/dereferenceable-2.ll
The file was modifiedllvm/test/Transforms/Attributor/noalias.ll
The file was modifiedllvm/lib/Transforms/IPO/AttributorAttributes.cpp
The file was modifiedllvm/test/Transforms/Attributor/value-simplify.ll
The file was modifiedllvm/test/Transforms/Attributor/memory_locations.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/control-flow.ll
The file was modifiedllvm/test/Transforms/Attributor/nonnull.ll
The file was modifiedllvm/test/Transforms/Attributor/align.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/sret.ll
The file was modifiedllvm/test/Transforms/Attributor/liveness.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/tail.ll
The file was modifiedllvm/test/Transforms/Attributor/readattrs.ll
Commit 513ac6e9b045dd2d5e0d1a5e221380cfb999676a by johannes
[Attributor] Ignore illegal accesses to `null`

When we categorize a pointer value we bailed at `null` before. If we
know `null` is not a valid memory location we can ignore it as there
won't be an access at all.
The file was modifiedllvm/lib/Transforms/IPO/AttributorAttributes.cpp
Commit 713ee3aa77d938b1cb8d3a85968bc5dbe661aafc by johannes
[Attributor] Use "simplify to constant" in genericValueTraversal

As we replace values with constants interprocedurally, we also need to
do this "look-through" step during the generic value traversal or we
would derive properties from replaced values. While this is often not
problematic, it is when we use the "kind" of a value for reasoning,
e.g., accesses to arguments allow `argmemonly`.
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/X86/min-legal-vector-width.ll
The file was modifiedllvm/lib/Transforms/IPO/AttributorAttributes.cpp
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/2009-09-24-byval-ptr.ll
The file was modifiedllvm/test/Transforms/Attributor/memory_locations.ll
The file was modifiedllvm/test/Transforms/Attributor/nonnull.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/pr32917.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/X86/attributes.ll
Commit 5e06b2514aed37e49224c7086468bd4fa5080086 by johannes
[Attributor][FIX] Carefully handle/ignore/forget `argmemonly`

When we have an existing `argmemonly` or `inaccessiblememorargmemonly`
we used to "know" that information. However, interprocedural constant
propagation can invalidate these attributes. We now ignore and remove
these attributes for internal functions (which may be affected by IP
constant propagation), if we are deriving new attributes for the
function.
The file was modifiedllvm/lib/Transforms/IPO/AttributorAttributes.cpp
The file was modifiedllvm/include/llvm/Transforms/IPO/Attributor.h
The file was modifiedllvm/test/Transforms/Attributor/memory_locations.ll
Commit e3a44634460a3b29550f37e82c9dcd3faa741626 by thakis
Remove  a variable write that is not needed after d03838343f2.
The file was modifiedllvm/cmake/modules/AddLLVM.cmake
Commit c5647992e5af4cb20597a3d2457dd99696344753 by thakis
Remove a comment that is no longer true after d03838343f2.
The file was modifiedllvm/cmake/modules/AddLLVM.cmake