SuccessChanges

Summary

  1. Sidestep false positive due to a matching git repository name I have failures in this test because the grep @b gets confused by the clang version including a repository name like this !1 = !{!"clang version 10.0.0 (git@build-machine:llvm/llvm-monorepo.git fe958c0e8c89ec663c8e551936778e2cbb460154)"} I considered something like grep -w but my understanding of the manpages was that that isn't super portable. So I think it is easier to make clang not to output that metadata using -fno-ident. Differential Revision: https://reviews.llvm.org/D65635
  2. [InstCombine] Added mempcpy tests [NFC]
  3. ObjectFile[ELF]: Refactor gnu_debuglink interface Summary: The contents of the gnu_debuglink section were passed through the GetDebugSymbolFilePaths interface, which was more generic than needed. As the only class implementing this function is ObjectFileELF, we can modify the function to return just a single FileSpec (instead of a list). Also, since the SymbolVendorELF already assumes ELF object files, we don't have to make this method available on the generic ObjectFile interface -- instead we can put it on ObjectFileELF directly. This change also makes is so that if the Module has an explicit symbol file spec set, we disregard the value the value of the debug link (instead of doing a secondary lookup using that). I think it makes sense to honor the users wishes if he had explicitly set the symbol file spec, and this seems to be consistent with what SymbolVendorMacOSX is doing (SymbolVendorMacOSX.cpp:125). The main reason for making these changes is to make the treatment of build-ids and debug links simpler in the follow-up patch. Reviewers: clayborg, jankratochvil, mgorny, espindola Subscribers: emaste, arichardson, MaskRay, lldb-commits Differential Revision: https://reviews.llvm.org/D65560
  4. [OpenCL] Fix vector literal test broken in rL367675. Avoid checking alignment unnecessary that is not portable among targets.
  5. [LLVM][Alignment] Introduce Alignment In CallingConv Summary: This is patch is part of a serie to introduce an Alignment type. See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html See this patch for the introduction of the type: https://reviews.llvm.org/D64790 Subscribers: hiraditya, llvm-commits, courbet, jfb Tags: #llvm Differential Revision: https://reviews.llvm.org/D65659
  6. AMDGPU: add missing llvm.amdgcn.{raw,struct}.buffer.atomic.{inc,dec} Summary: Wrapping increment/decrement. These aren't exposed by many APIs... Change-Id: I1df25c7889de5a5ba76468ad8e8a2597efa9af6c Reviewers: arsenm, tpr, dstuttard Subscribers: kzhuravl, jvesely, wdng, yaxunl, t-tye, jfb, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D65283
  7. Remove SymbolVendor::GetSymtab Summary: This patch removes the GetSymtab method from the SymbolVendor, which is a no-op as it's implementation just forwards to the relevant SymbolFile. Instead it creates a Module::GetSymtab, which calls the SymbolFile method directly. All callers have been updated to use the Module method directly instead of a two phase GetSymbolVendor->GetSymtab search, which leads to reduced intentation in a lot of deeply nested code. Reviewers: clayborg, JDevlieghere, jingham Subscribers: lldb-commits Differential Revision: https://reviews.llvm.org/D65569
  8. Reland: Fix and test inter-procedural register allocation for ARM Add an explicit construction of the ArrayRef, gcc 5 and earlier don't seem to select the ArrayRef constructor which takes a C array when the construction is implicit. Original commit message: - Avoid a crash when IPRA calls ARMFrameLowering::determineCalleeSaves with a null RegScavenger. Simply not updating the register scavenger is fine because IPRA only cares about the SavedRegs vector, the acutal code of the function has already been generated at this point. - Add a new hook to TargetRegisterInfo to get the set of registers which can be clobbered inside a call, even if the compiler can see both sides, by linker-generated code. Differential revision: https://reviews.llvm.org/D64908
  9. [LLVM][Alignment] Introduce Alignment Type in DataLayout Summary: This is patch is part of a serie to introduce an Alignment type. See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html See this patch for the introduction of the type: https://reviews.llvm.org/D64790 Reviewers: courbet, jfb, jakehehrlich Subscribers: hiraditya, dexonsmith, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D65521 Make getFunctionPtrAlign() return MaybeAlign
  10. Revert "[llvm-objdump] Re-commit r367284." This reverts r367776 (git commit d34099926e909390cb0254bebb4b7f5cf15467c7). My changes to llvm-objdump tests caused them to fail on windows: http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast/builds/27368
  11. build_llvm_package.bat: Set PYTHON_EXECUTABLE (PR42724)
  12. Remove usage of usleep in generic code This function is not portable, and there are only a handful of usages of it anyway. Replacing it with std::this_thread::sleep_for enables us to get rid of the compatibility code in PosixApi.h.
Revision 367826 by rogfer01:
Sidestep false positive due to a matching git repository name

I have failures in this test because the grep @b gets confused by the
clang version including a repository name like this

!1 = !{!"clang version 10.0.0 (git@build-machine:llvm/llvm-monorepo.git fe958c0e8c89ec663c8e551936778e2cbb460154)"}

I considered something like grep -w but my understanding of the manpages
was that that isn't super portable. So I think it is easier to make
clang not to output that metadata using -fno-ident.

Differential Revision: https://reviews.llvm.org/D65635
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/test/CodeGen/constant-comparison.cclang.src/test/CodeGen/constant-comparison.c
Revision 367825 by xbolva00:
[InstCombine] Added mempcpy tests [NFC]
Change TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/test/Transforms/InstCombine/mempcpy.llllvm.src/test/Transforms/InstCombine/mempcpy.ll
Revision 367824 by labath:
ObjectFile[ELF]: Refactor gnu_debuglink interface

Summary:
The contents of the gnu_debuglink section were passed through the
GetDebugSymbolFilePaths interface, which was more generic than needed.
As the only class implementing this function is ObjectFileELF, we can
modify the function to return just a single FileSpec (instead of a
list). Also, since the SymbolVendorELF already assumes ELF object files,
we don't have to make this method available on the generic ObjectFile
interface -- instead we can put it on ObjectFileELF directly.

This change also makes is so that if the Module has an explicit symbol
file spec set, we disregard the value the value of the debug link
(instead of doing a secondary lookup using that). I think it makes sense
to honor the users wishes if he had explicitly set the symbol file spec,
and this seems to be consistent with what SymbolVendorMacOSX is doing
(SymbolVendorMacOSX.cpp:125).

The main reason for making these changes is to make the treatment of
build-ids and debug links simpler in the follow-up patch.

Reviewers: clayborg, jankratochvil, mgorny, espindola

Subscribers: emaste, arichardson, MaskRay, lldb-commits

Differential Revision: https://reviews.llvm.org/D65560
Change TypePath in RepositoryPath in Workspace
The file was modified/lldb/trunk/include/lldb/Symbol/ObjectFile.hlldb.src/include/lldb/Symbol/ObjectFile.h
The file was modified/lldb/trunk/source/Plugins/ObjectFile/Breakpad/ObjectFileBreakpad.hlldb.src/source/Plugins/ObjectFile/Breakpad/ObjectFileBreakpad.h
The file was modified/lldb/trunk/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpplldb.src/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
The file was modified/lldb/trunk/source/Plugins/ObjectFile/ELF/ObjectFileELF.hlldb.src/source/Plugins/ObjectFile/ELF/ObjectFileELF.h
The file was modified/lldb/trunk/source/Plugins/SymbolVendor/ELF/SymbolVendorELF.cpplldb.src/source/Plugins/SymbolVendor/ELF/SymbolVendorELF.cpp
Revision 367823 by stulova:
[OpenCL] Fix vector literal test broken in rL367675.

Avoid checking alignment unnecessary that is not portable
among targets.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/test/CodeGenOpenCL/vector_literals_valid.clclang.src/test/CodeGenOpenCL/vector_literals_valid.cl
Revision 367822 by gchatelet:
[LLVM][Alignment] Introduce Alignment In CallingConv

Summary:
This is patch is part of a serie to introduce an Alignment type.
See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html
See this patch for the introduction of the type: https://reviews.llvm.org/D64790

Subscribers: hiraditya, llvm-commits, courbet, jfb

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D65659
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/CodeGen/CallingConvLower.hllvm.src/include/llvm/CodeGen/CallingConvLower.h
The file was modified/llvm/trunk/include/llvm/CodeGen/TargetCallingConv.hllvm.src/include/llvm/CodeGen/TargetCallingConv.h
The file was modified/llvm/trunk/lib/CodeGen/CallingConvLower.cppllvm.src/lib/CodeGen/CallingConvLower.cpp
Revision 367821 by nha:
AMDGPU: add missing llvm.amdgcn.{raw,struct}.buffer.atomic.{inc,dec}

Summary:
Wrapping increment/decrement. These aren't exposed by many APIs...

Change-Id: I1df25c7889de5a5ba76468ad8e8a2597efa9af6c

Reviewers: arsenm, tpr, dstuttard

Subscribers: kzhuravl, jvesely, wdng, yaxunl, t-tye, jfb, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D65283
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/IR/IntrinsicsAMDGPU.tdllvm.src/include/llvm/IR/IntrinsicsAMDGPU.td
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPUISelLowering.cppllvm.src/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPUISelLowering.hllvm.src/lib/Target/AMDGPU/AMDGPUISelLowering.h
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPUSearchableTables.tdllvm.src/lib/Target/AMDGPU/AMDGPUSearchableTables.td
The file was modified/llvm/trunk/lib/Target/AMDGPU/BUFInstructions.tdllvm.src/lib/Target/AMDGPU/BUFInstructions.td
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIISelLowering.cppllvm.src/lib/Target/AMDGPU/SIISelLowering.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIInstrInfo.tdllvm.src/lib/Target/AMDGPU/SIInstrInfo.td
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/llvm.amdgcn.raw.buffer.atomic.llllvm.src/test/CodeGen/AMDGPU/llvm.amdgcn.raw.buffer.atomic.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/llvm.amdgcn.struct.buffer.atomic.llllvm.src/test/CodeGen/AMDGPU/llvm.amdgcn.struct.buffer.atomic.ll
Revision 367820 by labath:
Remove SymbolVendor::GetSymtab

Summary:
This patch removes the GetSymtab method from the SymbolVendor, which is
a no-op as it's implementation just forwards to the relevant SymbolFile.
Instead it creates a Module::GetSymtab, which calls the SymbolFile
method directly.

All callers have been updated to use the Module method directly instead
of a two phase GetSymbolVendor->GetSymtab search, which leads to reduced
intentation in a lot of deeply nested code.

Reviewers: clayborg, JDevlieghere, jingham

Subscribers: lldb-commits

Differential Revision: https://reviews.llvm.org/D65569
Change TypePath in RepositoryPath in Workspace
The file was modified/lldb/trunk/include/lldb/Core/Module.hlldb.src/include/lldb/Core/Module.h
The file was modified/lldb/trunk/include/lldb/Symbol/SymbolVendor.hlldb.src/include/lldb/Symbol/SymbolVendor.h
The file was modified/lldb/trunk/source/API/SBModule.cpplldb.src/source/API/SBModule.cpp
The file was modified/lldb/trunk/source/Commands/CommandObjectTarget.cpplldb.src/source/Commands/CommandObjectTarget.cpp
The file was modified/lldb/trunk/source/Core/Address.cpplldb.src/source/Core/Address.cpp
The file was modified/lldb/trunk/source/Core/Module.cpplldb.src/source/Core/Module.cpp
The file was modified/lldb/trunk/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOS.cpplldb.src/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOS.cpp
The file was modified/lldb/trunk/source/Symbol/SymbolFile.cpplldb.src/source/Symbol/SymbolFile.cpp
The file was modified/lldb/trunk/source/Symbol/SymbolVendor.cpplldb.src/source/Symbol/SymbolVendor.cpp
Revision 367819 by ostannard:
Reland: Fix and test inter-procedural register allocation for ARM

Add an explicit construction of the ArrayRef, gcc 5 and earlier don't
seem to select the ArrayRef constructor which takes a C array when the
construction is implicit.

Original commit message:

- Avoid a crash when IPRA calls ARMFrameLowering::determineCalleeSaves
  with a null RegScavenger. Simply not updating the register scavenger
  is fine because IPRA only cares about the SavedRegs vector, the acutal
  code of the function has already been generated at this point.
- Add a new hook to TargetRegisterInfo to get the set of registers which
  can be clobbered inside a call, even if the compiler can see both
  sides, by linker-generated code.

Differential revision: https://reviews.llvm.org/D64908
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/CodeGen/TargetRegisterInfo.hllvm.src/include/llvm/CodeGen/TargetRegisterInfo.h
The file was modified/llvm/trunk/lib/CodeGen/RegUsageInfoCollector.cppllvm.src/lib/CodeGen/RegUsageInfoCollector.cpp
The file was modified/llvm/trunk/lib/Target/ARM/ARMBaseRegisterInfo.cppllvm.src/lib/Target/ARM/ARMBaseRegisterInfo.cpp
The file was modified/llvm/trunk/lib/Target/ARM/ARMBaseRegisterInfo.hllvm.src/lib/Target/ARM/ARMBaseRegisterInfo.h
The file was modified/llvm/trunk/lib/Target/ARM/ARMFrameLowering.cppllvm.src/lib/Target/ARM/ARMFrameLowering.cpp
The file was added/llvm/trunk/test/CodeGen/ARM/ipra.llllvm.src/test/CodeGen/ARM/ipra.ll
Revision 367817 by gchatelet:
[LLVM][Alignment] Introduce Alignment Type in DataLayout

Summary:
This is patch is part of a serie to introduce an Alignment type.
See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html
See this patch for the introduction of the type: https://reviews.llvm.org/D64790

Reviewers: courbet, jfb, jakehehrlich

Subscribers: hiraditya, dexonsmith, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D65521

Make getFunctionPtrAlign() return MaybeAlign
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/IR/DataLayout.hllvm.src/include/llvm/IR/DataLayout.h
The file was modified/llvm/trunk/lib/CodeGen/GlobalISel/CombinerHelper.cppllvm.src/lib/CodeGen/GlobalISel/CombinerHelper.cpp
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAG.cppllvm.src/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
The file was modified/llvm/trunk/lib/IR/DataLayout.cppllvm.src/lib/IR/DataLayout.cpp
The file was modified/llvm/trunk/lib/IR/Value.cppllvm.src/lib/IR/Value.cpp
The file was modified/llvm/trunk/lib/Transforms/Utils/Local.cppllvm.src/lib/Transforms/Utils/Local.cpp
The file was modified/llvm/trunk/unittests/IR/DataLayoutTest.cppllvm.src/unittests/IR/DataLayoutTest.cpp
Revision 367816 by pozulp:
Revert "[llvm-objdump] Re-commit r367284."

This reverts r367776 (git commit d34099926e909390cb0254bebb4b7f5cf15467c7).
My changes to llvm-objdump tests caused them to fail on windows:
http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast/builds/27368
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/DebugInfo/DIContext.hllvm.src/include/llvm/DebugInfo/DIContext.h
The file was modified/llvm/trunk/lib/DebugInfo/DWARF/DWARFContext.cppllvm.src/lib/DebugInfo/DWARF/DWARFContext.cpp
The file was modified/llvm/trunk/lib/DebugInfo/Symbolize/DIPrinter.cppllvm.src/lib/DebugInfo/Symbolize/DIPrinter.cpp
The file was modified/llvm/trunk/test/tools/llvm-objdump/X86/source-interleave-invalid-source.testllvm.src/test/tools/llvm-objdump/X86/source-interleave-invalid-source.test
The file was modified/llvm/trunk/test/tools/llvm-objdump/X86/source-interleave-missing-source.testllvm.src/test/tools/llvm-objdump/X86/source-interleave-missing-source.test
The file was modified/llvm/trunk/test/tools/llvm-objdump/X86/source-interleave-no-debug-info.testllvm.src/test/tools/llvm-objdump/X86/source-interleave-no-debug-info.test
The file was modified/llvm/trunk/tools/llvm-cfi-verify/lib/FileAnalysis.cppllvm.src/tools/llvm-cfi-verify/lib/FileAnalysis.cpp
The file was modified/llvm/trunk/tools/llvm-objdump/llvm-objdump.cppllvm.src/tools/llvm-objdump/llvm-objdump.cpp
The file was modified/llvm/trunk/tools/llvm-objdump/llvm-objdump.hllvm.src/tools/llvm-objdump/llvm-objdump.h
The file was modified/llvm/trunk/tools/llvm-xray/func-id-helper.cppllvm.src/tools/llvm-xray/func-id-helper.cpp
Revision 367815 by hans:
build_llvm_package.bat: Set PYTHON_EXECUTABLE (PR42724)
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/release/build_llvm_package.batllvm.src/utils/release/build_llvm_package.bat
Revision 367814 by labath:
Remove usage of usleep in generic code

This function is not portable, and there are only a handful of usages of
it anyway. Replacing it with std::this_thread::sleep_for enables us to
get rid of the compatibility code in PosixApi.h.
Change TypePath in RepositoryPath in Workspace
The file was modified/lldb/trunk/include/lldb/Host/windows/PosixApi.hlldb.src/include/lldb/Host/windows/PosixApi.h
The file was modified/lldb/trunk/source/Host/windows/Windows.cpplldb.src/source/Host/windows/Windows.cpp
The file was modified/lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.cpplldb.src/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.cpp
The file was modified/lldb/trunk/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpplldb.src/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
The file was modified/lldb/trunk/source/Target/Process.cpplldb.src/source/Target/Process.cpp