FailedChanges

Summary

  1. Object/minidump: Add support for the MemoryInfoList stream Summary: This patch adds the definitions of the constants and structures necessary to interpret the MemoryInfoList minidump stream, as well as the object::MinidumpFile interface to access the stream. While the code is fairly simple, there is one important deviation from the other minidump streams, which is worth calling out explicitly. Unlike other "List" streams, the size of the records inside MemoryInfoList stream is not known statically. Instead it is described in the stream header. This makes it impossible to return ArrayRef<MemoryInfo> from the accessor method, as it is done with other streams. Instead, I create an iterator class, which can be parameterized by the runtime size of the structure, and return iterator_range<iterator> instead. Reviewers: amccarth, jhenderson, clayborg Subscribers: JosephTremoulet, zturner, markmentovai, lldb-commits, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68210
  2. [libc++] Use PRIVATE to link benchmark dependencies It's better style to use PRIVATE when linking libraries to executables, and it doesn't make a difference since executables don't need to propagate their link-time dependencies anyway.
  3. Nope, I'm wrong. It looks like someone else removed these on purpose and it just happened to break the bot right when I did my push. So I'm undoing this mornings incorrect push. I've also kicked off an email to hopefully get the bot fixed the correct way.
  4. [clangd] Disable expand auto on decltype(auto) Summary: Applying it produces incorrect code at the moment. Reviewers: sammccall Reviewed By: sammccall Subscribers: kuhnel, MaskRay, jkorous, arphaman, kadircet, usaxena95, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D68630
  5. [clangd] Bump timeouts in speculative completion tests
  6. Restore documentation that 'svn update' unexpectedly yanked out from under me.
  7. fix fmls fp16 Tim Northover remarked that the added patterns for fmls fp16 produce wrong code in case the fsub instruction has a multiplication as its first operand, i.e., all the patterns FMLSv*_OP1: > define <8 x half> @test_FMLSv8f16_OP1(<8 x half> %a, <8 x half> %b, <8 x half> %c) { > ; CHECK-LABEL: test_FMLSv8f16_OP1: > ; CHECK: fmls {{v[0-9]+}}.8h, {{v[0-9]+}}.8h, {{v[0-9]+}}.8h > entry: > > %mul = fmul fast <8 x half> %c, %b > %sub = fsub fast <8 x half> %mul, %a > ret <8 x half> %sub > } > > This doesn't look right to me. The exact instruction produced is "fmls > v0.8h, v2.8h, v1.8h", which I think calculates "v0 - v2*v1", but the > IR is calculating "v2*v1-v0". The equivalent <4 x float> code also > doesn't emit an fmls. This patch generates an fmla and negates the value of the operand2 of the fsub. Inspecting the pattern match, I found that there was another mistake in the opcode to be selected: matching FMULv4*16 should generate FMLSv4*16 and not FMLSv2*32. Tested on aarch64-linux with make check-all. Differential Revision: https://reviews.llvm.org/D67990
  8. Add test for rotating truncated vectors. NFC
  9. [SVE][IR] Scalable Vector size queries and IR instruction support * Adds a TypeSize struct to represent the known minimum size of a type along with a flag to indicate that the runtime size is a integer multiple of that size * Converts existing size query functions from Type.h and DataLayout.h to return a TypeSize result * Adds convenience methods (including a transparent conversion operator to uint64_t) so that most existing code 'just works' as if the return values were still scalars. * Uses the new size queries along with ElementCount to ensure that all supported instructions used with scalable vectors can be constructed in IR. Reviewers: hfinkel, lattner, rkruppe, greened, rovka, rengolin, sdesmalen Reviewed By: rovka, sdesmalen Differential Revision: https://reviews.llvm.org/D53137
  10. AMDGPU: Propagate undef flag during pre-RA exec mask optimizations Summary: Issue: https://github.com/GPUOpen-Drivers/llpc/issues/204 Reviewers: arsenm, rampitec Subscribers: kzhuravl, jvesely, wdng, yaxunl, dstuttard, tpr, t-tye, hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68184
  11. MachineSSAUpdater: insert IMPLICIT_DEF at top of basic block Summary: When getValueInMiddleOfBlock happens to be called for a basic block that has no incoming value at all, an IMPLICIT_DEF is inserted in that block via GetValueAtEndOfBlockInternal. This IMPLICIT_DEF must be at the top of its basic block or it will likely not reach the use that the caller intends to insert. Issue: https://github.com/GPUOpen-Drivers/llpc/issues/204 Reviewers: arsenm, rampitec Subscribers: jvesely, wdng, hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68183
  12. [SLP] add test with prefer-vector-width function attribute; NFC
Revision 374051 by labath:
Object/minidump: Add support for the MemoryInfoList stream

Summary:
This patch adds the definitions of the constants and structures
necessary to interpret the MemoryInfoList minidump stream, as well as
the object::MinidumpFile interface to access the stream.

While the code is fairly simple, there is one important deviation from
the other minidump streams, which is worth calling out explicitly.
Unlike other "List" streams, the size of the records inside
MemoryInfoList stream is not known statically. Instead it is described
in the stream header. This makes it impossible to return
ArrayRef<MemoryInfo> from the accessor method, as it is done with other
streams. Instead, I create an iterator class, which can be parameterized
by the runtime size of the structure, and return
iterator_range<iterator> instead.

Reviewers: amccarth, jhenderson, clayborg

Subscribers: JosephTremoulet, zturner, markmentovai, lldb-commits, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D68210
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/BinaryFormat/Minidump.hllvm.src/include/llvm/BinaryFormat/Minidump.h
The file was modified/llvm/trunk/include/llvm/BinaryFormat/MinidumpConstants.defllvm.src/include/llvm/BinaryFormat/MinidumpConstants.def
The file was modified/llvm/trunk/include/llvm/Object/Minidump.hllvm.src/include/llvm/Object/Minidump.h
The file was modified/llvm/trunk/lib/Object/Minidump.cppllvm.src/lib/Object/Minidump.cpp
The file was modified/llvm/trunk/unittests/Object/MinidumpTest.cppllvm.src/unittests/Object/MinidumpTest.cpp
Revision 374050 by Louis Dionne:
[libc++] Use PRIVATE to link benchmark dependencies

It's better style to use PRIVATE when linking libraries to executables,
and it doesn't make a difference since executables don't need to propagate
their link-time dependencies anyway.
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/benchmarks/CMakeLists.txtlibcxx.src/benchmarks/CMakeLists.txt
Revision 374049 by kpn:
Nope, I'm wrong. It looks like someone else removed these on purpose and
it just happened to break the bot right when I did my push. So I'm undoing
this mornings incorrect push. I've also kicked off an email to hopefully
get the bot fixed the correct way.
Change TypePath in RepositoryPath in Workspace
The file was removed/llvm/trunk/docs/ProgrammingDocumentation.rstllvm.src/docs/ProgrammingDocumentation.rst
The file was removed/llvm/trunk/docs/SubsystemDocumentation.rstllvm.src/docs/SubsystemDocumentation.rst
Revision 374048 by ibiryukov:
[clangd] Disable expand auto on decltype(auto)

Summary: Applying it produces incorrect code at the moment.

Reviewers: sammccall

Reviewed By: sammccall

Subscribers: kuhnel, MaskRay, jkorous, arphaman, kadircet, usaxena95, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D68630
Change TypePath in RepositoryPath in Workspace
The file was modified/clang-tools-extra/trunk/clangd/refactor/tweaks/ExpandAutoType.cppclang-tools-extra.src/clangd/refactor/tweaks/ExpandAutoType.cpp
The file was modified/clang-tools-extra/trunk/clangd/unittests/TweakTests.cppclang-tools-extra.src/clangd/unittests/TweakTests.cpp
Revision 374047 by kadircet:
[clangd] Bump timeouts in speculative completion tests
Change TypePath in RepositoryPath in Workspace
The file was modified/clang-tools-extra/trunk/clangd/unittests/CodeCompleteTests.cppclang-tools-extra.src/clangd/unittests/CodeCompleteTests.cpp
Revision 374045 by kpn:
Restore documentation that 'svn update' unexpectedly yanked out from under me.
Change TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/docs/ProgrammingDocumentation.rstllvm.src/docs/ProgrammingDocumentation.rst
The file was added/llvm/trunk/docs/SubsystemDocumentation.rstllvm.src/docs/SubsystemDocumentation.rst
Revision 374044 by spop:
fix fmls fp16

Tim Northover remarked that the added patterns for fmls fp16
produce wrong code in case the fsub instruction has a
multiplication as its first operand, i.e., all the patterns FMLSv*_OP1:

> define <8 x half> @test_FMLSv8f16_OP1(<8 x half> %a, <8 x half> %b, <8 x half> %c) {
> ; CHECK-LABEL: test_FMLSv8f16_OP1:
> ; CHECK: fmls {{v[0-9]+}}.8h, {{v[0-9]+}}.8h, {{v[0-9]+}}.8h
> entry:
>
>   %mul = fmul fast <8 x half> %c, %b
>   %sub = fsub fast <8 x half> %mul, %a
>   ret <8 x half> %sub
> }
>
> This doesn't look right to me. The exact instruction produced is "fmls
> v0.8h, v2.8h, v1.8h", which I think calculates "v0 - v2*v1", but the
> IR is calculating "v2*v1-v0". The equivalent <4 x float> code also
> doesn't emit an fmls.

This patch generates an fmla and negates the value of the operand2 of the fsub.

Inspecting the pattern match, I found that there was another mistake in the
opcode to be selected: matching FMULv4*16 should generate FMLSv4*16
and not FMLSv2*32.

Tested on aarch64-linux with make check-all.

Differential Revision: https://reviews.llvm.org/D67990
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/CodeGen/MachineCombinerPattern.hllvm.src/include/llvm/CodeGen/MachineCombinerPattern.h
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64InstrInfo.cppllvm.src/lib/Target/AArch64/AArch64InstrInfo.cpp
The file was modified/llvm/trunk/test/CodeGen/AArch64/fp16-fmla.llllvm.src/test/CodeGen/AArch64/fp16-fmla.ll
Revision 374043 by deadalnix:
Add test for rotating truncated vectors. NFC
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/X86/rot16.llllvm.src/test/CodeGen/X86/rot16.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-rotate-128.llllvm.src/test/CodeGen/X86/vector-rotate-128.ll
Revision 374042 by huntergr:
[SVE][IR] Scalable Vector size queries and IR instruction support

* Adds a TypeSize struct to represent the known minimum size of a type
  along with a flag to indicate that the runtime size is a integer multiple
  of that size
* Converts existing size query functions from Type.h and DataLayout.h to
  return a TypeSize result
* Adds convenience methods (including a transparent conversion operator
  to uint64_t) so that most existing code 'just works' as if the return
  values were still scalars.
* Uses the new size queries along with ElementCount to ensure that all
  supported instructions used with scalable vectors can be constructed
  in IR.

Reviewers: hfinkel, lattner, rkruppe, greened, rovka, rengolin, sdesmalen

Reviewed By: rovka, sdesmalen

Differential Revision: https://reviews.llvm.org/D53137
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/CodeGen/CGCall.cppN/A
The file was modified/cfe/trunk/lib/CodeGen/CGStmt.cppN/A
The file was modified/cfe/trunk/lib/CodeGen/CodeGenFunction.cppN/A
The file was modified/llvm/trunk/include/llvm/ADT/DenseMapInfo.hllvm.src/include/llvm/ADT/DenseMapInfo.h
The file was modified/llvm/trunk/include/llvm/IR/DataLayout.hllvm.src/include/llvm/IR/DataLayout.h
The file was modified/llvm/trunk/include/llvm/IR/DerivedTypes.hllvm.src/include/llvm/IR/DerivedTypes.h
The file was modified/llvm/trunk/include/llvm/IR/InstrTypes.hllvm.src/include/llvm/IR/InstrTypes.h
The file was modified/llvm/trunk/include/llvm/IR/Type.hllvm.src/include/llvm/IR/Type.h
The file was modified/llvm/trunk/include/llvm/Support/MachineValueType.hllvm.src/include/llvm/Support/MachineValueType.h
The file was removed/llvm/trunk/include/llvm/Support/ScalableSize.hllvm.src/include/llvm/Support/ScalableSize.h
The file was added/llvm/trunk/include/llvm/Support/TypeSize.hllvm.src/include/llvm/Support/TypeSize.h
The file was modified/llvm/trunk/lib/Analysis/InlineCost.cppllvm.src/lib/Analysis/InlineCost.cpp
The file was modified/llvm/trunk/lib/CodeGen/Analysis.cppllvm.src/lib/CodeGen/Analysis.cpp
The file was modified/llvm/trunk/lib/IR/DataLayout.cppllvm.src/lib/IR/DataLayout.cpp
The file was modified/llvm/trunk/lib/IR/Instructions.cppllvm.src/lib/IR/Instructions.cpp
The file was modified/llvm/trunk/lib/IR/Type.cppllvm.src/lib/IR/Type.cpp
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64ISelLowering.cppllvm.src/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modified/llvm/trunk/lib/Transforms/Scalar/SROA.cppllvm.src/lib/Transforms/Scalar/SROA.cpp
The file was added/llvm/trunk/test/Other/scalable-vectors-core-ir.llllvm.src/test/Other/scalable-vectors-core-ir.ll
The file was modified/llvm/trunk/unittests/CodeGen/ScalableVectorMVTsTest.cppllvm.src/unittests/CodeGen/ScalableVectorMVTsTest.cpp
The file was modified/llvm/trunk/unittests/IR/VectorTypesTest.cppllvm.src/unittests/IR/VectorTypesTest.cpp
Revision 374041 by nha:
AMDGPU: Propagate undef flag during pre-RA exec mask optimizations

Summary: Issue: https://github.com/GPUOpen-Drivers/llpc/issues/204

Reviewers: arsenm, rampitec

Subscribers: kzhuravl, jvesely, wdng, yaxunl, dstuttard, tpr, t-tye, hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D68184
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIOptimizeExecMaskingPreRA.cppllvm.src/lib/Target/AMDGPU/SIOptimizeExecMaskingPreRA.cpp
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/optimize-exec-masking-pre-ra.mirllvm.src/test/CodeGen/AMDGPU/optimize-exec-masking-pre-ra.mir
Revision 374040 by nha:
MachineSSAUpdater: insert IMPLICIT_DEF at top of basic block

Summary:
When getValueInMiddleOfBlock happens to be called for a basic block
that has no incoming value at all, an IMPLICIT_DEF is inserted in that
block via GetValueAtEndOfBlockInternal. This IMPLICIT_DEF must be at
the top of its basic block or it will likely not reach the use that
the caller intends to insert.

Issue: https://github.com/GPUOpen-Drivers/llpc/issues/204

Reviewers: arsenm, rampitec

Subscribers: jvesely, wdng, hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D68183
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/MachineSSAUpdater.cppllvm.src/lib/CodeGen/MachineSSAUpdater.cpp
The file was added/llvm/trunk/test/CodeGen/AMDGPU/si-i1-copies.mirllvm.src/test/CodeGen/AMDGPU/si-i1-copies.mir
Revision 374039 by spatel:
[SLP] add test with prefer-vector-width function attribute; NFC
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/Transforms/SLPVectorizer/X86/pr19657.llllvm.src/test/Transforms/SLPVectorizer/X86/pr19657.ll