SuccessChanges

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

Summary

  1. [AArch64] Fix save register pairing for Windows AAPCS (details)
  2. Revert "[DBG][LIVEDEBUGVALUES][NFC] Add Targeted LiveDebugValues (details)
  3. [clang-tidy] Match InitListExpr in modernize-use-default-member-init (details)
  4. [Syntax] Assert invariants on tree structure and fix a bug in mutations (details)
  5. [Syntax] Mark synthesized nodes as modifiable (details)
  6. [DBG][LIVEDEBUGVALUES][NFC] Add Targeted LiveDebugValues Behaviour (details)
  7. [scudo][standalone] Fork support (details)
  8. [Syntax] Unset IsOriginal flag on nodes removed from the tree (details)
  9. [ARM][MVE] VTP Block Pass fix (details)
  10. [clang][OpenCL] Fix covered switch warning (details)
  11. Fix "pointer is null" clang static analyzer warnings. NFCI. (details)
  12. Fix "pointer is null" static analyzer warnings. NFCI. (details)
Commit 1cc8fff420a76ae869f73ce2b19e7c1fc73da3ed by Sanne.Wouda
[AArch64] Fix save register pairing for Windows AAPCS
Summary: On Windows, when a function does not have an unwind table (for
example, EH filtering funclets), we don't correctly pair FP and LR to
form the frame record in all circumstances.
Fix this by invalidating a pair when the second register is FP when
compiling for Windows, even when CFI is not needed.
Fixes PR44271 introduced by D65653.
Reviewers: efriedma, sdesmalen, rovka, rengolin, t.p.northover,
thegameg, greened
Reviewed By: rengolin
Subscribers: kristof.beyls, hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D71754
The file was modifiedllvm/lib/Target/AArch64/AArch64FrameLowering.cpp
The file was addedllvm/test/CodeGen/AArch64/win64-no-uwtable.ll
Commit b10f6b7112278ba91d57173466bff7fc85d4bf0d by Tom.Weaver
Revert "[DBG][LIVEDEBUGVALUES][NFC] Add Targeted LiveDebugValues
Behaviour Tests."
This reverts commit 35787e3a062a4a21c145137552d20cb1169c74fc.
The file was removedllvm/test/DebugInfo/MIR/X86/livedebugvalues_basic_diamond_one_clobber.mir
The file was removedllvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_clobbered.mir
The file was removedllvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_diamond.mir
The file was removedllvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_within_loop_outer_moved.mir
The file was removedllvm/test/DebugInfo/MIR/X86/livedebugvalues_basic_loop.mir
The file was removedllvm/test/DebugInfo/MIR/X86/livedebugvalues_bb_to_bb_move_to_clobber.mir
The file was removedllvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_diamond_clobber.mir
The file was removedllvm/test/DebugInfo/MIR/X86/livedebugvalues_basic_diamond_one_move.mir
The file was removedllvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_two_backedge.mir
The file was removedllvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_diamond_move.mir
The file was removedllvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_within_loop_clobbered.mir
The file was removedllvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_break_clobbered.mir
The file was removedllvm/test/DebugInfo/MIR/X86/livedebugvalues_basic_diamond.mir
The file was removedllvm/test/DebugInfo/MIR/X86/livedebugvalues_basic_diamond_match_clobber.mir
The file was removedllvm/test/DebugInfo/MIR/X86/livedebugvalues_basic_diamond_match_move.mir
The file was removedllvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_two_backedge_clobbered.mir
The file was removedllvm/test/DebugInfo/MIR/X86/livedebugvalues_bb_to_bb.mir
The file was removedllvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_early_clobber.mir
The file was removedllvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_within_loop_moved.mir
The file was removedllvm/test/DebugInfo/MIR/X86/livedebugvalues_bb_to_bb_clobbered.mir
The file was removedllvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_break.mir
The file was removedllvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_within_loop.mir
Commit 9738c757bd9bc2fdca935f2b4e356f1d5e5f3682 by malcolm.parsons
[clang-tidy] Match InitListExpr in modernize-use-default-member-init
Summary: modernize-use-default-member-init wasn't warning about
redundant initialisers when the initialiser was an InitListExpr.  Add
initListExpr to the matcher.
Fixes: PR44439
Reviewers: aaron.ballman, alexfh, JonasToth
Reviewed By: aaron.ballman
Subscribers: xazax.hun, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D72691
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/modernize-use-default-member-init.cpp
The file was modifiedclang-tools-extra/clang-tidy/modernize/UseDefaultMemberInitCheck.cpp
Commit 3b929fe7763570fc1d4a4691a53257a4a0b7760e by ibiryukov
[Syntax] Assert invariants on tree structure and fix a bug in mutations
Add checks for some structural invariants when building and mutating the
syntax trees.
Fix a bug failing the invariants after mutations: the parent of nodes
added into the tree was null.
The file was modifiedclang/lib/Tooling/Syntax/Mutations.cpp
The file was modifiedclang/lib/Tooling/Syntax/BuildTree.cpp
The file was modifiedclang/lib/Tooling/Syntax/Tree.cpp
The file was modifiedclang/include/clang/Tooling/Syntax/Tree.h
The file was modifiedclang/lib/Tooling/Syntax/Synthesis.cpp
Commit 07a41018e9d27f67f7b4295eb7e00e0345c0aacf by ibiryukov
[Syntax] Mark synthesized nodes as modifiable
This was an oversight in the original patch. Also add corresponding
tests.
The file was modifiedclang/unittests/Tooling/Syntax/TreeTest.cpp
The file was modifiedclang/include/clang/Tooling/Syntax/Tree.h
The file was modifiedclang/lib/Tooling/Syntax/Synthesis.cpp
Commit e7b2d9f4702cb8882aa275bcb8eab37be17601e1 by Tom.Weaver
[DBG][LIVEDEBUGVALUES][NFC] Add Targeted LiveDebugValues Behaviour
Tests.
Adds 22 distinct tests that exercise the live-debug-values passes
expected behaviour.
reviewers: aprantl, vsk
Differential revision: https://reviews.llvm.org/D72515
The file was addedllvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_within_loop_clobbered.mir
The file was addedllvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_two_backedge.mir
The file was addedllvm/test/DebugInfo/MIR/X86/livedebugvalues_basic_diamond_match_clobber.mir
The file was addedllvm/test/DebugInfo/MIR/X86/livedebugvalues_basic_loop.mir
The file was addedllvm/test/DebugInfo/MIR/X86/livedebugvalues_basic_diamond.mir
The file was addedllvm/test/DebugInfo/MIR/X86/livedebugvalues_basic_diamond_match_move.mir
The file was addedllvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_within_loop_outer_moved.mir
The file was addedllvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_break_clobbered.mir
The file was addedllvm/test/DebugInfo/MIR/X86/livedebugvalues_bb_to_bb.mir
The file was addedllvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_two_backedge_clobbered.mir
The file was addedllvm/test/DebugInfo/MIR/X86/livedebugvalues_basic_diamond_one_move.mir
The file was addedllvm/test/DebugInfo/MIR/X86/livedebugvalues_bb_to_bb_clobbered.mir
The file was addedllvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_break.mir
The file was addedllvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_diamond.mir
The file was addedllvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_early_clobber.mir
The file was addedllvm/test/DebugInfo/MIR/X86/livedebugvalues_basic_diamond_one_clobber.mir
The file was addedllvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_diamond_clobber.mir
The file was addedllvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_clobbered.mir
The file was addedllvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_diamond_move.mir
The file was addedllvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_within_loop_moved.mir
The file was addedllvm/test/DebugInfo/MIR/X86/livedebugvalues_bb_to_bb_move_to_clobber.mir
The file was addedllvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_within_loop.mir
Commit 9ef6faf49670e18eb1ba04105a7c70b450cdaa71 by kostyak
[scudo][standalone] Fork support
Summary: fork() wasn't well (or at all) supported in Scudo. This
materialized in deadlocks in children.
In order to properly support fork, we will lock the allocator pre-fork
and unlock it post-fork in parent and child. This is done via a
`pthread_atfork` call installing the necessary handlers.
A couple of things suck here: this function allocates - so this has to
be done post initialization as our init path is not reentrance, and it
doesn't allow for an extra pointer - so we can't pass the allocator we
are currently working with.
In order to work around this, I added a post-init template parameter
that gets executed once the allocator is initialized for the current
thread. Its job for the C wrappers is to install the atfork handlers.
I reorganized a bit the impacted area and added some tests, courtesy of
cferris@ that were deadlocking prior to this fix.
Subscribers: jfb, #sanitizers, llvm-commits
Tags: #sanitizers, #llvm
Differential Revision: https://reviews.llvm.org/D72470
The file was modifiedcompiler-rt/lib/scudo/standalone/wrappers_c.cpp
The file was modifiedcompiler-rt/lib/scudo/standalone/bytemap.h
The file was modifiedcompiler-rt/lib/scudo/standalone/combined.h
The file was modifiedcompiler-rt/lib/scudo/standalone/tests/CMakeLists.txt
The file was modifiedcompiler-rt/lib/scudo/standalone/tests/tsd_test.cpp
The file was modifiedcompiler-rt/lib/scudo/standalone/CMakeLists.txt
The file was modifiedcompiler-rt/lib/scudo/standalone/tsd_exclusive.h
The file was modifiedcompiler-rt/lib/scudo/standalone/primary32.h
The file was modifiedcompiler-rt/lib/scudo/standalone/tsd_shared.h
The file was modifiedcompiler-rt/lib/scudo/standalone/wrappers_c.inc
The file was modifiedcompiler-rt/lib/scudo/standalone/wrappers_c_bionic.cpp
The file was modifiedcompiler-rt/lib/scudo/standalone/tsd.h
The file was modifiedcompiler-rt/lib/scudo/standalone/tests/wrappers_cpp_test.cpp
The file was modifiedcompiler-rt/lib/scudo/standalone/quarantine.h
The file was modifiedcompiler-rt/lib/scudo/standalone/stats.h
The file was modifiedcompiler-rt/lib/scudo/standalone/wrappers_cpp.cpp
The file was modifiedcompiler-rt/lib/scudo/standalone/primary64.h
The file was modifiedcompiler-rt/lib/scudo/standalone/tests/wrappers_c_test.cpp
Commit 013c07f697886649b068cd97127e528b4fe7c03e by ibiryukov
[Syntax] Unset IsOriginal flag on nodes removed from the tree
And add a corresponding test. Only nodes inside the TranslationUnit
subtree can be marked as original, computeReplacements() relies on this.
The file was modifiedclang/unittests/Tooling/Syntax/TreeTest.cpp
The file was modifiedclang/lib/Tooling/Syntax/Tree.cpp
Commit a08c0adee072226179736c4f6caf3dd0b7a7c9af by sjoerd.meijer
[ARM][MVE] VTP Block Pass fix
Fix a missing and broken test: 2 VPT blocks predicated on the same VCMP
instruction that can be folded. The problem was that for each VPT block,
we record the predicate statements with a list, but the same instruction
was added twice. Thus, we were running in an assert trying to remove the
same instruction twice. To avoid this the instructions are now recorded
with a set.
Differential Revision: https://reviews.llvm.org/D72699
The file was modifiedllvm/lib/Target/ARM/MVEVPTBlockPass.cpp
The file was addedllvm/test/CodeGen/Thumb2/mve-vpt-2-blocks-1-pred.mir
Commit e2b8e2113a4929027a237b67f7be86db4ec103d3 by Jinsong Ji
[clang][OpenCL] Fix covered switch warning
-Werror clang build is broken now.
tools/clang/lib/Sema/OpenCLBuiltins.inc:11824:5: error: default label in
switch which covers all enumeration values
[-Werror,-Wcovered-switch-default]
   default:
We don't need default now, since all enumeration values are covered.
Reviewed By: svenvh
Differential Revision: https://reviews.llvm.org/D72707
The file was modifiedclang/utils/TableGen/ClangOpenCLBuiltinEmitter.cpp
Commit ab9dbc1d124cdf288474073f5233e3fd6ee8e9c3 by llvm-dev
Fix "pointer is null" clang static analyzer warnings. NFCI.
Use cast<>/castAs<> instead of dyn_cast<>/getAs<> since the pointers are
always dereferenced and cast<>/castAs<> will perform the null assertion
for us.
The file was modifiedclang/lib/Sema/SemaOverload.cpp
Commit cfd366ba74c566038c6f417da9c9becc321fd737 by llvm-dev
Fix "pointer is null" static analyzer warnings. NFCI.
Use castAs<> instead of getAs<> since the pointer is dereferenced
immediately in all cases and castAs will perform the null assertion for
us.
The file was modifiedclang/lib/Sema/SemaDeclCXX.cpp