SuccessChanges

Summary

  1. [ADT] Make DenseMap use allocate_buffer This unlocks some goodies like sized deletion and gets the alignment right on platforms that chose to provide a lower default new alignment.
  2. [llvm-size] Fix spelling errors (Berkely -> Berkeley)
  3. [Orc] Roll back ThreadPool to std::function MSVC doesn't allow move-only types in std::packaged_task. Boo.
  4. [Orc] Address the remaining move-capture FIXMEs This required spreading unique_function a bit more, which I think is a good thing.
  5. [X86] negateFMAOpcode - extend to support FMADDSUB/FMSUBADD and output negation. NFCI. Some prep work for PR42863, this change allows us to move all the FMA opcode mappings into the negateFMAOpcode helper. For the FMADDSUB/FMSUBADD cases, we can only negate the accumulator - any other negations will result in an error.
  6. [ASTImporter] Add development internals docs Reviewers: a_sidorin, shafik, teemperor, gamesh411, balazske, dkrupp, a.sidorin Subscribers: rnkovacs, Szelethus, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D66336
  7. [ARM] Add earlyclobber for cross beat MVE instructions rL367544 added @earlyclobbers for the MVE VREV64 instruction. This adds the same for a number of other 32bit instructions that are similarly unpredictable if the destination equals the source (due to the cross beat nature of the instructions). This includes: VCADD.f32 VCADD.i32 VCMUL.f32 VHCADD.s32 VMULLT/B.s/u32 VQDMLADH{X}.s32 VQRDMLADH{X}.s32 VQDMLSDH{X}.s32 VQRDMLSDH{X}.s32 VQDMULLT/B.s32 with Qm and Rm No tests here as this would require intrinsics (or very interesting codegen) to manifest. The tests will follow naturally as the intrinsics are added. Differential Revision: https://reviews.llvm.org/D67462
Revision 371846 by d0k:
[ADT] Make DenseMap use allocate_buffer

This unlocks some goodies like sized deletion and gets the alignment
right on platforms that chose to provide a lower default new alignment.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/ADT/DenseMap.h (diff)llvm.src/include/llvm/ADT/DenseMap.h
Revision 371845 by jhenderson:
[llvm-size] Fix spelling errors (Berkely -> Berkeley)
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/tools/llvm-size/llvm-size.cpp (diff)llvm.src/tools/llvm-size/llvm-size.cpp
Revision 371844 by d0k:
[Orc] Roll back ThreadPool to std::function

MSVC doesn't allow move-only types in std::packaged_task. Boo.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/examples/SpeculativeJIT/SpeculativeJIT.cpp (diff)llvm.src/examples/SpeculativeJIT/SpeculativeJIT.cpp
The file was modified/llvm/trunk/include/llvm/Support/ThreadPool.h (diff)llvm.src/include/llvm/Support/ThreadPool.h
The file was modified/llvm/trunk/lib/ExecutionEngine/Orc/LLJIT.cpp (diff)llvm.src/lib/ExecutionEngine/Orc/LLJIT.cpp
Revision 371843 by d0k:
[Orc] Address the remaining move-capture FIXMEs

This required spreading unique_function a bit more, which I think is a
good thing.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/examples/SpeculativeJIT/SpeculativeJIT.cpp (diff)llvm.src/examples/SpeculativeJIT/SpeculativeJIT.cpp
The file was modified/llvm/trunk/include/llvm/ExecutionEngine/JITSymbol.h (diff)llvm.src/include/llvm/ExecutionEngine/JITSymbol.h
The file was modified/llvm/trunk/include/llvm/ExecutionEngine/Orc/Core.h (diff)llvm.src/include/llvm/ExecutionEngine/Orc/Core.h
The file was modified/llvm/trunk/include/llvm/ExecutionEngine/Orc/LazyEmittingLayer.h (diff)llvm.src/include/llvm/ExecutionEngine/Orc/LazyEmittingLayer.h
The file was modified/llvm/trunk/include/llvm/ExecutionEngine/Orc/RPCSerialization.h (diff)llvm.src/include/llvm/ExecutionEngine/Orc/RPCSerialization.h
The file was modified/llvm/trunk/include/llvm/ExecutionEngine/Orc/RPCUtils.h (diff)llvm.src/include/llvm/ExecutionEngine/Orc/RPCUtils.h
The file was modified/llvm/trunk/include/llvm/ExecutionEngine/Orc/RemoteObjectLayer.h (diff)llvm.src/include/llvm/ExecutionEngine/Orc/RemoteObjectLayer.h
The file was modified/llvm/trunk/include/llvm/ExecutionEngine/RuntimeDyld.h (diff)llvm.src/include/llvm/ExecutionEngine/RuntimeDyld.h
The file was modified/llvm/trunk/include/llvm/Support/ThreadPool.h (diff)llvm.src/include/llvm/Support/ThreadPool.h
The file was modified/llvm/trunk/lib/ExecutionEngine/Orc/LLJIT.cpp (diff)llvm.src/lib/ExecutionEngine/Orc/LLJIT.cpp
The file was modified/llvm/trunk/lib/ExecutionEngine/Orc/Legacy.cpp (diff)llvm.src/lib/ExecutionEngine/Orc/Legacy.cpp
The file was modified/llvm/trunk/lib/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.cpp (diff)llvm.src/lib/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.cpp
The file was modified/llvm/trunk/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp (diff)llvm.src/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp
The file was modified/llvm/trunk/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h (diff)llvm.src/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h
The file was modified/llvm/trunk/unittests/ExecutionEngine/Orc/CoreAPIsTest.cpp (diff)llvm.src/unittests/ExecutionEngine/Orc/CoreAPIsTest.cpp
Revision 371840 by rksimon:
[X86] negateFMAOpcode - extend to support FMADDSUB/FMSUBADD and output negation. NFCI.

Some prep work for PR42863, this change allows us to move all the FMA opcode mappings into the negateFMAOpcode helper.

For the FMADDSUB/FMSUBADD cases, we can only negate the accumulator - any other negations will result in an error.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/X86/X86ISelLowering.cpp (diff)llvm.src/lib/Target/X86/X86ISelLowering.cpp
Revision 371839 by martong:
[ASTImporter] Add development internals docs

Reviewers: a_sidorin, shafik, teemperor, gamesh411, balazske, dkrupp, a.sidorin

Subscribers: rnkovacs, Szelethus, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D66336
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/docs/InternalsManual.rst (diff)clang.src/docs/InternalsManual.rst
Revision 371838 by dmgreen:
[ARM] Add earlyclobber for cross beat MVE instructions

rL367544 added @earlyclobbers for the MVE VREV64 instruction. This adds the
same for a number of other 32bit instructions that are similarly unpredictable
if the destination equals the source (due to the cross beat nature of the
instructions).
This includes:
  VCADD.f32
  VCADD.i32
  VCMUL.f32
  VHCADD.s32
  VMULLT/B.s/u32
  VQDMLADH{X}.s32
  VQRDMLADH{X}.s32
  VQDMLSDH{X}.s32
  VQRDMLSDH{X}.s32
  VQDMULLT/B.s32 with Qm and Rm

No tests here as this would require intrinsics (or very interesting codegen) to
manifest. The tests will follow naturally as the intrinsics are added.

Differential Revision: https://reviews.llvm.org/D67462
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/ARM/ARMInstrMVE.td (diff)llvm.src/lib/Target/ARM/ARMInstrMVE.td