Changes

Summary

  1. [libc++] [test] Constexpr-ify a couple of insert-iterator tests. (details)
  2. [gn build] manually port 982e3c05108b6 (check-lld needs dsymutil) (details)
  3. [AArch64][RISCV] Make sure isel correctly honors failure orderings. (details)
  4. [clang-format] [docs] Regenerate style options documentation. (details)
  5. [dsymutil tests] Try to make eh_frames.test run on other platforms (details)
  6. [NFC] Remove confusing info about MainLoop VF/UF from debug message (details)
  7. [RISCV] Pre-commit test cases for D103211. NFC (details)
  8. [LoopUnroll] Clean up exit folding (NFC) (details)
  9. [LoopUnroll] Add store to unreachable latch test (NFC) (details)
  10. [RISCV] Add separate MxList tablegen classes for widening/narrowing and sext.zext.vf2/4/8. NFC (details)
  11. [LoopUnroll] Use changeToUnreachable() (NFC) (details)
  12. [lld-macho][test] Simplify --allow-empty with count 0 (details)
  13. [CGAtomic] Delete outdated code comparing success/failure ordering for cmpxchg. (details)
Commit 8a5f0d883832aa088460df87df99c40d8f238655 by arthur.j.odwyer
[libc++] [test] Constexpr-ify a couple of insert-iterator tests.

This should have been done in D96385; thanks ldionne for the catch!
Also, make the back/front inserter behavior tests a little more thorough,
which incidentally caught a cut-and-paste-bug in `nasty_list`, so fix that.

Differential Revision: https://reviews.llvm.org/D103318
The file was modifiedlibcxx/test/support/nasty_containers.h
The file was modifiedlibcxx/test/std/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/back.insert.iter.cons/container.pass.cpp
The file was modifiedlibcxx/test/std/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.inserter/test.pass.cpp
The file was modifiedlibcxx/test/std/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/back.inserter/test.pass.cpp
The file was modifiedlibcxx/test/std/iterators/predef.iterators/insert.iterators/insert.iter.ops/insert.iter.cons/test.pass.cpp
The file was modifiedlibcxx/test/std/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.insert.iter.cons/container.pass.cpp
Commit 1a0e5d561ceb0af7a9ad356b0663dabac09d110f by thakis
[gn build] manually port 982e3c05108b6 (check-lld needs dsymutil)
The file was modifiedllvm/utils/gn/secondary/lld/test/BUILD.gn
Commit 0b3b0a727ad6bac089a57e3625dd9dbf4e6f5bde by efriedma
[AArch64][RISCV] Make sure isel correctly honors failure orderings.

If a cmpxchg specifies acquire or seq_cst on failure, make sure we
generate code consistent with that ordering even if the success ordering
is not acquire/seq_cst.

At one point, it was ambiguous whether this sort of construct was valid,
but the C++ standad and LLVM now accept arbitrary combinations of
success/failure orderings.

This doesn't address the corresponding issue in AtomicExpand. (This was
reported as https://bugs.llvm.org/show_bug.cgi?id=33332 .)

Fixes https://bugs.llvm.org/show_bug.cgi?id=50512.

Differential Revision: https://reviews.llvm.org/D103284
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/RISCV/atomic-cmpxchg.ll
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/arm64-atomic-128.ll
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/arm64-atomic.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
The file was modifiedllvm/include/llvm/CodeGen/MachineMemOperand.h
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/InstructionSelectorImpl.h
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
The file was modifiedllvm/include/llvm/CodeGen/SelectionDAGNodes.h
The file was modifiedllvm/test/CodeGen/AArch64/atomic-ops-lse.ll
The file was modifiedllvm/utils/TableGen/CodeGenDAGPatterns.cpp
Commit 8702c6da162b6db962c8155195d79f1e002bc481 by marek.kurdej+llvm.org
[clang-format] [docs] Regenerate style options documentation.

Forgotten in commits fce8c10b, 9363aa90, 8d93d7ff.
The file was modifiedclang/docs/ClangFormatStyleOptions.rst
Commit 65527a8082ac947aa47cc2ff84b555da7dad48e1 by thakis
[dsymutil tests] Try to make eh_frames.test run on other platforms

We now have llvm-otool :)
The file was modifiedllvm/test/tools/dsymutil/X86/eh_frame.test
Commit 06eaffa8582134bfa47a1263f8b65fe17076d8c3 by bmahjour
[NFC] Remove confusing info about MainLoop VF/UF from debug message
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Commit a41309966a862be3817d05e4ae9ece60a7d8de86 by craig.topper
[RISCV] Pre-commit test cases for D103211. NFC
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vwsubu.w-rv64.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfwadd.w-rv32.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfwsub.w-rv32.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vwsub.w-rv64.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vwadd.w-rv32.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfwsub.w-rv64.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vwadd.w-rv64.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vwaddu.w-rv64.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vwsub.w-rv32.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vwsubu.w-rv32.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfwadd.w-rv64.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vwaddu.w-rv32.ll
Commit f765445a691187c69a8a7c14991acb4589314e93 by nikita.ppv
[LoopUnroll] Clean up exit folding (NFC)

This does some non-functional cleanup of exit folding during
unrolling. The two main changes are:

* First rewrite latch->header edges, which is unrelated to exit
   folding.
* Combine folding for latch and non-latch exits. After the
   previous change, the only difference in their logic is that
   for non-latch exits we currently only fold "known non-exit"
   cases, but not "known exit" cases.

I think this helps a lot to clarify this code and prepare it for
future changes.

Differential Revision: https://reviews.llvm.org/D103333
The file was modifiedllvm/lib/Transforms/Utils/LoopUnroll.cpp
Commit 4af2730ac3e9e712266bcdb754e605d7d9c190fd by nikita.ppv
[LoopUnroll] Add store to unreachable latch test (NFC)

This is to show that we currently only convert the terminator to
unreachable, but don't clean up instructions before it (unless
trivial DCE removes them).

Also clean up excessive whitespace in this test.
The file was modifiedllvm/test/Transforms/LoopUnroll/unroll-unconditional-latch.ll
Commit bc6799f2f79f0ae87e9f1ebf9d25ba799fbd25a9 by craig.topper
[RISCV] Add separate MxList tablegen classes for widening/narrowing and sext.zext.vf2/4/8. NFC

This is cleaner than slicing the MxList to remove elements from
the beginning or end since that requires hardcoding the size.

I don't expect the size of the list to change, but we shouldn't
repeat it in multiple places.
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
Commit 90310dfff8fd17b0cabdee1fd72d675e5eb2aa78 by nikita.ppv
[LoopUnroll] Use changeToUnreachable() (NFC)

When fulling unrolling with a non-latch exit, the latch block is
folded to unreachable. Replace this folding with the existing
changeToUnreachable() helper, rather than performing it manually.

This also moves the fold to happen after the manual DT update
for exit blocks. I believe this is correct in that the conversion
of an unconditional backedge into unreachable should not affect
the DT at all.

Differential Revision: https://reviews.llvm.org/D103340
The file was modifiedllvm/lib/Transforms/Utils/LoopUnroll.cpp
Commit 2644399ce7721cba9a546a9af09fd2a942a4d0cd by i
[lld-macho][test] Simplify --allow-empty with count 0
The file was modifiedlld/test/MachO/treat-undef-sym.s
The file was modifiedlld/test/MachO/lto-archive.ll
The file was modifiedlld/test/MachO/u.s
Commit 577fea4e1a13319adf2b660f57bf570195a7f78d by efriedma
[CGAtomic] Delete outdated code comparing success/failure ordering for cmpxchg.

This doesn't actually have any effect: we only call this code with
SequentiallyConsistent orderings.  But delete it anyway for consistency
with other recent changes.
The file was modifiedclang/lib/CodeGen/CGAtomic.cpp