Changes

Summary

  1. fix comment typos to cycle bots (details)
  2. DWARFDebugFrame.cpp - remove unused <string> include. NFCI. (details)
  3. MachOObjectFile.cpp - remove unused <string> include. NFCI. (details)
  4. RegUsageInfoPropagate.cpp - remove unused <string> and <map> includes. NFCI. (details)
  5. ProfiledCallGraph.h - remove unused <string> include. NFCI. (details)
  6. DetailedRecordsBackend.cpp - tidy implicit header dependencies. NFCI. (details)
  7. DetailedRecordsBackend.cpp - printSectionHeading - avoid std::string creation/copies. (details)
  8. DIPrinter.h - tidy implicit header dependencies. NFCI. (details)
  9. BoundsChecking.cpp - tidy implicit header dependencies. NFCI. (details)
  10. RawError.h - remove unused <string> include. NFCI. (details)
  11. [LoopUnroll] Test multi-exit runtime unrolling with predictable exit (NFC) (details)
  12. [lld/mac] clarify comment (details)
  13. DirectoryWatcher: also wait for the notifier thread (details)
  14. [SPARC] Legalize truncation and extension between fp128 and half (details)
  15. [clang-format] Adds a formatter for aligning arrays of structs (details)
  16. [fuzzer] Fix build on musl (details)
  17. [ELF] Add OVERWRITE_SECTIONS command (details)
  18. Introduce tensor.insert op to Tensor dialect. (details)
Commit 5f9bc580d81ba0f8f2c2e8ba4ad13eca07bf1198 by thakis
fix comment typos to cycle bots
The file was modifiedlld/MachO/Writer.cpp (diff)
The file was modifiedlld/MachO/InputSection.h (diff)
The file was modifiedlld/MachO/SyntheticSections.cpp (diff)
Commit 35a12023f3925ab6161e0525f7570810e3ee04e7 by llvm-dev
DWARFDebugFrame.cpp - remove unused <string> include. NFCI.
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDebugFrame.cpp (diff)
Commit dbfa3d289bc435d8edab8ad0e1ebb81a01967575 by llvm-dev
MachOObjectFile.cpp - remove unused <string> include. NFCI.
The file was modifiedllvm/lib/Object/MachOObjectFile.cpp (diff)
Commit 2c4ee1e112a2806288d30aa3a70daae3ba99a2e5 by llvm-dev
RegUsageInfoPropagate.cpp - remove unused <string> and <map> includes. NFCI.
The file was modifiedllvm/lib/CodeGen/RegUsageInfoPropagate.cpp (diff)
Commit 3dc727e81b92f53533da1c617584f466a7dfb9cc by llvm-dev
ProfiledCallGraph.h - remove unused <string> include. NFCI.
The file was modifiedllvm/include/llvm/Transforms/IPO/ProfiledCallGraph.h (diff)
Commit a03d09f423a41098fe92286da8de25c5ade4ba25 by llvm-dev
DetailedRecordsBackend.cpp - tidy implicit header dependencies. NFCI.

We don't use <algorithm>, <set> or <vector>, but we do use std::pair (<utility>).
The file was modifiedllvm/lib/TableGen/DetailedRecordsBackend.cpp (diff)
Commit d1b57086d55afcfa94711a0b09c22a4113f6261f by llvm-dev
DetailedRecordsBackend.cpp - printSectionHeading - avoid std::string creation/copies.

Don't create std::string from constant c-strings or pass std::string by value - we can use StringRef instead.
The file was modifiedllvm/lib/TableGen/DetailedRecordsBackend.cpp (diff)
Commit 033e594c594b4ba32213997a64af97e0c2bf321c by llvm-dev
DIPrinter.h - tidy implicit header dependencies. NFCI.

We don't use <string> but we do use std::unique_ptr (<memory>) and llvm::Optional<>
The file was modifiedllvm/include/llvm/DebugInfo/Symbolize/DIPrinter.h (diff)
Commit 9efe89d82ff95e72d25772c5c7eb1f55e0b7492e by llvm-dev
BoundsChecking.cpp - tidy implicit header dependencies. NFCI.

We don't use <vector> but we do use std::pair (<utility>)
The file was modifiedllvm/lib/Transforms/Instrumentation/BoundsChecking.cpp (diff)
Commit 4089e0bbfafd23704a1afef74f65369445a8b02b by llvm-dev
RawError.h - remove unused <string> include. NFCI.
The file was modifiedllvm/include/llvm/DebugInfo/PDB/Native/RawError.h (diff)
Commit 6ecc99210cdc87cff7d47484695b812196a9e905 by nikita.ppv
[LoopUnroll] Test multi-exit runtime unrolling with predictable exit (NFC)

The (prior to prologue insertion) predictable exit shouldn't get
folded here. Make sure it isn't...
The file was addedllvm/test/Transforms/LoopUnroll/runtime-loop-known-exit.ll
Commit 7d4c8a2b8f16a2d1cf8120c75d941e99b8a8200a by thakis
[lld/mac] clarify comment

This is a "we should do X in the future" fixme, not an "X might go wrong"
fixme.
The file was modifiedlld/MachO/UnwindInfoSection.cpp (diff)
Commit 527a1821e6f8e115db3335a3341c7ac491725a0d by Saleem Abdulrasool
DirectoryWatcher: also wait for the notifier thread

Ultimately the DirectoryWatcher is not ready until the notifier thread
is also active.  Failure to wait for the notifier thread may result in
loss of events.  While this is not catastrophic in practice, the tests
are sensitive to this as depending on the thread scheduler, the thread
may fail to being execution before the operations are completed by the
fixture.  Running this in a tight loop shows no regressions locally as
previously, but this failure mode was been sighted once on a builder.
The file was modifiedclang/lib/DirectoryWatcher/windows/DirectoryWatcher-windows.cpp (diff)
Commit 5be3a1a06483a5958a1a5dbffda386fd4ce579fe by thatlemon
[SPARC] Legalize truncation and extension between fp128 and half

Lower truncations and expansions between fp128 and half values into libcalls.
Expand truncating stores into two separate truncation and a store operations.

Reviewed By: jrtc27

Differential Revision: https://reviews.llvm.org/D104185
The file was modifiedllvm/lib/Target/Sparc/SparcISelLowering.cpp (diff)
The file was modifiedllvm/test/CodeGen/SPARC/fp16-promote.ll (diff)
Commit 673c5ba58497298a684f8b8dfddbfb11cd89950e by bjoern
[clang-format] Adds a formatter for aligning arrays of structs

This adds a new formatter to arrange array of struct initializers into
neat columns.

Differential Revision: https://reviews.llvm.org/D101868
The file was modifiedclang/include/clang/Format/Format.h (diff)
The file was modifiedclang/lib/Format/TokenAnnotator.h (diff)
The file was modifiedclang/lib/Format/FormatToken.h (diff)
The file was modifiedclang/unittests/Format/FormatTest.cpp (diff)
The file was modifiedclang/docs/ReleaseNotes.rst (diff)
The file was modifiedclang/lib/Format/Format.cpp (diff)
The file was modifiedclang/lib/Format/WhitespaceManager.h (diff)
The file was addedclang/test/Format/struct-array-initializer.cpp
The file was modifiedclang/lib/Format/TokenAnnotator.cpp (diff)
The file was modifiedclang/docs/ClangFormatStyleOptions.rst (diff)
The file was modifiedclang/lib/Format/WhitespaceManager.cpp (diff)
Commit 60e32a1f34e9ea60155a98bbe6ee5ec2a383efa3 by i
[fuzzer] Fix build on musl

cstddef is needed for size_t definition.
(Multiple headers can provide size_t but none of them exists.)

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D96213
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerInterceptors.cpp (diff)
Commit 899fdf548eee427fe08e462955e6f817ca949730 by i
[ELF] Add OVERWRITE_SECTIONS command

This implements https://sourceware.org/bugzilla/show_bug.cgi?id=26404

An `OVERWRITE_SECTIONS` command is a `SECTIONS` variant which contains several
output section descriptions. The output sections do not have specify an order.
Similar to `INSERT [BEFORE|AFTER]`, `LinkerScript::hasSectionsCommand` is not
set, so the built-in rules (see `docs/ELF/linker_script.rst`) still apply.
`OVERWRITE_SECTIONS` can be more convenient than `INSERT` because it does not
need an anchor section.

The initial syntax is intentionally narrow to facilitate backward compatible
extensions in the future. Symbol assignments cannot be used.

This feature is versatile. To list a few usage:

* Use `section : { KEEP(...) }` to retain input sections under GC
* Define encapsulation symbols (start/end) for an output section
* Use `section : ALIGN(...) : { ... }` to overalign an output section (similar to ld64 `-sectalign`)

When an output section is specified by both `OVERWRITE_SECTIONS` and
`INSERT`, `INSERT` is processed after overwrite sections. To make this work,
this patch changes `InsertCommand` to use name based matching instead of pointer
based matching. (This may cause a difference when `INSERT` moves one output
section more than once. Such duplicate commands should not be used in practice
(seems that in GNU ld the output sections may just disappear).)

A linker script can be used without -T/--script. The traditional `SECTIONS`
commands are concatenated, so a wrong rule can be more noticeable from the
section order. This feature if misused can be less noticeable, just like
`INSERT`.

Differential Revision: https://reviews.llvm.org/D103303
The file was modifiedlld/ELF/LinkerScript.cpp (diff)
The file was modifiedlld/ELF/ScriptParser.cpp (diff)
The file was modifiedlld/test/ELF/linkerscript/insert-duplicate.test (diff)
The file was modifiedlld/docs/ELF/linker_script.rst (diff)
The file was addedlld/test/ELF/linkerscript/overwrite-sections-discard.test
The file was modifiedlld/docs/ReleaseNotes.rst (diff)
The file was modifiedlld/ELF/LinkerScript.h (diff)
The file was addedlld/test/ELF/linkerscript/overwrite-sections.test
Commit b4baccc2a760ea13901f201e6ca326284254d205 by hanchung
Introduce tensor.insert op to Tensor dialect.

Add `tensor.insert` op to make `tensor.extract`/`tensor.insert` work in pairs
for `scalar` domain. Like `subtensor`/`subtensor_insert` work in pairs in
`tensor` domain, and `vector.transfer_read`/`vector.transfer_write` work in
pairs in `vector` domain.

Reviewed By: silvas

Differential Revision: https://reviews.llvm.org/D104139
The file was modifiedmlir/include/mlir/Dialect/Tensor/IR/TensorOps.td (diff)
The file was modifiedmlir/test/Dialect/Tensor/canonicalize.mlir (diff)
The file was modifiedmlir/test/Dialect/Tensor/invalid.mlir (diff)
The file was modifiedmlir/lib/Dialect/Tensor/IR/TensorOps.cpp (diff)
The file was modifiedmlir/test/Dialect/Tensor/ops.mlir (diff)