SuccessChanges

Summary

  1. [AMDGPU] Allow FP inline constant in v_madak_f16 and v_fmaak_f16 Differential Revision: https://reviews.llvm.org/D67680 Change-Id: Ic38f47cb2079c2c1070a441b5943854844d80a7c
  2. [Alignment] Add a None() member function Summary: This will allow writing `if(A != llvm::Align::None())` which is clearer than `if(A > llvm::Align(1))` This is patch is part of a series 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 Subscribers: llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D67697
  3. [clang-tidy] Fix a potential infinite loop in readability-isolate-declaration check. Reviewers: ilya-biryukov Subscribers: xazax.hun, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D67654
  4. tsan: allow the Go runtime to return multiple stack frames for a single PC This fix allows tsan to report stack traces correctly even in the presence of mid-stack inlining by the Go compiler. See https://go-review.googlesource.com/c/go/+/195781 for the Go runtime side of this change. Author: randall77 (Keith Randall) Reviewed: https://reviews.llvm.org/D67671
  5. [AArch64][DebugInfo] Do not recompute CalleeSavedStackSize This patch fixes a bug exposed by D65653 where a subsequent invocation of `determineCalleeSaves` ends up with a different size for the callee save area, leading to different frame-offsets in debug information. In the invocation by PEI, `determineCalleeSaves` tries to determine whether it needs to spill an extra callee-saved register to get an emergency spill slot. To do this, it calls 'estimateStackSize' and manually adds the size of the callee-saves to this. PEI then allocates the spill objects for the callee saves and the remaining frame layout is calculated accordingly. A second invocation in LiveDebugValues causes estimateStackSize to return the size of the stack frame including the callee-saves. Given that the size of the callee-saves is added to this, these callee-saves are counted twice, which leads `determineCalleeSaves` to believe the stack has become big enough to require spilling an extra callee-save as emergency spillslot. It then updates CalleeSavedStackSize with a larger value. Since CalleeSavedStackSize is used in the calculation of the frame offset in getFrameIndexReference, this leads to incorrect offsets for variables/locals when this information is recalculated after PEI. Reviewers: omjavaid, eli.friedman, thegameg, efriedma Reviewed By: efriedma Differential Revision: https://reviews.llvm.org/D66935
Revision 372208 by tpr:
[AMDGPU] Allow FP inline constant in v_madak_f16 and v_fmaak_f16

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

Change-Id: Ic38f47cb2079c2c1070a441b5943854844d80a7c
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AMDGPU/VOP2Instructions.td (diff)llvm.src/lib/Target/AMDGPU/VOP2Instructions.td
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/twoaddr-fma.mir (diff)llvm.src/test/CodeGen/AMDGPU/twoaddr-fma.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/twoaddr-mad.mir (diff)llvm.src/test/CodeGen/AMDGPU/twoaddr-mad.mir
Revision 372207 by gchatelet:
[Alignment] Add a None() member function

Summary:
This will allow writing `if(A != llvm::Align::None())` which is clearer than `if(A > llvm::Align(1))`

This is patch is part of a series 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

Subscribers: llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D67697
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Support/Alignment.h (diff)llvm.src/include/llvm/Support/Alignment.h
The file was modified/llvm/trunk/unittests/Support/AlignmentTest.cpp (diff)llvm.src/unittests/Support/AlignmentTest.cpp
Revision 372206 by hokein:
[clang-tidy] Fix a potential infinite loop in readability-isolate-declaration check.

Reviewers: ilya-biryukov

Subscribers: xazax.hun, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D67654
Change TypePath in RepositoryPath in Workspace
The file was modified/clang-tools-extra/trunk/clang-tidy/utils/LexerUtils.h (diff)clang-tools-extra.src/clang-tidy/utils/LexerUtils.h
The file was added/clang-tools-extra/trunk/test/clang-tidy/readability-isolate-declaration-no-infinite-loop.cppclang-tools-extra.src/test/clang-tidy/readability-isolate-declaration-no-infinite-loop.cpp
Revision 372205 by dvyukov:
tsan: allow the Go runtime to return multiple stack frames for a single PC

This fix allows tsan to report stack traces correctly even in the
presence of mid-stack inlining by the Go compiler.

See https://go-review.googlesource.com/c/go/+/195781 for the Go runtime side of this change.

Author: randall77 (Keith Randall)
Reviewed: https://reviews.llvm.org/D67671
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/lib/tsan/go/tsan_go.cpp (diff)compiler-rt.src/lib/tsan/go/tsan_go.cpp
Revision 372204 by s.desmalen:
[AArch64][DebugInfo] Do not recompute CalleeSavedStackSize

This patch fixes a bug exposed by D65653 where a subsequent invocation
of `determineCalleeSaves` ends up with a different size for the callee
save area, leading to different frame-offsets in debug information.

In the invocation by PEI, `determineCalleeSaves` tries to determine
whether it needs to spill an extra callee-saved register to get an
emergency spill slot. To do this, it calls 'estimateStackSize' and
manually adds the size of the callee-saves to this. PEI then allocates
the spill objects for the callee saves and the remaining frame layout
is calculated accordingly.

A second invocation in LiveDebugValues causes estimateStackSize to return
the size of the stack frame including the callee-saves. Given that the
size of the callee-saves is added to this, these callee-saves are counted
twice, which leads `determineCalleeSaves` to believe the stack has
become big enough to require spilling an extra callee-save as emergency
spillslot. It then updates CalleeSavedStackSize with a larger value.

Since CalleeSavedStackSize is used in the calculation of the frame
offset in getFrameIndexReference, this leads to incorrect offsets for
variables/locals when this information is recalculated after PEI.

Reviewers: omjavaid, eli.friedman, thegameg, efriedma

Reviewed By: efriedma

Differential Revision: https://reviews.llvm.org/D66935
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/CodeGen/TargetFrameLowering.h (diff)llvm.src/include/llvm/CodeGen/TargetFrameLowering.h
The file was modified/llvm/trunk/lib/CodeGen/LiveDebugValues.cpp (diff)llvm.src/lib/CodeGen/LiveDebugValues.cpp
The file was modified/llvm/trunk/lib/CodeGen/RegUsageInfoCollector.cpp (diff)llvm.src/lib/CodeGen/RegUsageInfoCollector.cpp
The file was modified/llvm/trunk/lib/CodeGen/TargetFrameLoweringImpl.cpp (diff)llvm.src/lib/CodeGen/TargetFrameLoweringImpl.cpp
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64FrameLowering.cpp (diff)llvm.src/lib/Target/AArch64/AArch64FrameLowering.cpp
The file was modified/llvm/trunk/lib/Target/ARM/ARMFrameLowering.cpp (diff)llvm.src/lib/Target/ARM/ARMFrameLowering.cpp
The file was modified/llvm/trunk/lib/Target/ARM/ARMFrameLowering.h (diff)llvm.src/lib/Target/ARM/ARMFrameLowering.h
The file was added/llvm/trunk/test/CodeGen/AArch64/wrong-callee-save-size-after-livedebugvariables.mirllvm.src/test/CodeGen/AArch64/wrong-callee-save-size-after-livedebugvariables.mir
The file was modified/llvm/trunk/test/DebugInfo/MIR/Mips/live-debug-values-reg-copy.mir (diff)llvm.src/test/DebugInfo/MIR/Mips/live-debug-values-reg-copy.mir
The file was modified/llvm/trunk/test/DebugInfo/MIR/X86/live-debug-values-reg-copy.mir (diff)llvm.src/test/DebugInfo/MIR/X86/live-debug-values-reg-copy.mir