SuccessChanges

Summary

  1. [AArch64] Add Fujitsu A64FX scheduling model (details)
  2. [WebAssembly] Add support for table linking to wasm-ld (details)
  3. Revert "Reapply "ADT: Fix reference invalidation in SmallVector::push_back and single-element insert"" (details)
Commit b54337070b198cf66356a4ee3e420666151a2023 by t-kawashima
[AArch64] Add Fujitsu A64FX scheduling model

Basic support of A64FX was added in D75594 but its scheduling model
was missing. This commit adds the scheduling model. Also, this commit
amends/adds some subtarget parameters of A64FX.

The A64FX Microarchitecture Manual, which is source information of
this commit, is on GitHub.

https://github.com/fujitsu/A64FX/

Differential Revision: https://reviews.llvm.org/D93791
The file was modifiedllvm/test/CodeGen/AArch64/machine-combiner-madd.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64Subtarget.cpp
The file was addedllvm/lib/Target/AArch64/AArch64SchedA64FX.td
The file was modifiedllvm/test/CodeGen/AArch64/preferred-function-alignment.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64.td
Commit 38dfce706f796dc109ea495dd69a8cb4c8fa819d by wingo
[WebAssembly] Add support for table linking to wasm-ld

This patch adds support to wasm-ld for linking multiple table references
together, in a manner similar to wasm globals. The indirect function
table is synthesized as needed.

To manage the transitional period in which the compiler doesn't yet
produce TABLE_NUMBER relocations and doesn't residualize table symbols,
the linker will detect object files which have table imports or
definitions, but no table symbols. In that case it will synthesize
symbols for the defined and imported tables.

As a change, relocatable objects are now written with table symbols,
which can cause symbol renumbering in some of the tests. If no object
file requires an indirect function table, none will be written to the
file. Note that for legacy ObjFile inputs, this test is conservative: as
we don't have relocs for each use of the indirecy function table, we
just assume that any incoming indirect function table should be
propagated to the output.

Differential Revision: https://reviews.llvm.org/D91870
The file was modifiedlld/wasm/SymbolTable.h
The file was modifiedlld/test/wasm/local-symbols.ll
The file was modifiedlld/test/wasm/weak-alias.ll
The file was modifiedlld/wasm/SyntheticSections.cpp
The file was modifiedlld/test/wasm/stack-pointer.ll
The file was modifiedlld/wasm/InputFiles.cpp
The file was modifiedlld/test/wasm/locals-duplicate.test
The file was modifiedlld/wasm/Driver.cpp
The file was modifiedlld/wasm/Symbols.h
The file was modifiedlld/wasm/Symbols.cpp
The file was modifiedlld/test/wasm/section-symbol-relocs.yaml
The file was modifiedlld/test/wasm/alias.s
The file was modifiedlld/wasm/SymbolTable.cpp
The file was modifiedlld/test/wasm/signature-mismatch.ll
The file was modifiedlld/test/wasm/init-fini.ll
The file was modifiedlld/wasm/MarkLive.cpp
The file was modifiedlld/test/wasm/pie.ll
The file was modifiedlld/test/wasm/shared.ll
The file was modifiedlld/wasm/InputFiles.h
The file was modifiedlld/wasm/SyntheticSections.h
The file was modifiedlld/wasm/Writer.cpp
Commit 33be50daa9ce1074c3b423a4ab27c70c0722113a by nikita.ppv
Revert "Reapply "ADT: Fix reference invalidation in SmallVector::push_back and single-element insert""

This reverts commit 260a856c2abcef49c7cb3bdcd999701db3e2af38.
This reverts commit 3043e5a5c33c4c871f4a1dfd621a8839f9a1f0b3.
This reverts commit 49142991a685bd427d7e877c29c77371dfb7634c.

This change had a larger than anticipated compile-time impact,
possibly because the small value optimization is not working as
intended. See D93779.
The file was modifiedllvm/include/llvm/ADT/SmallVector.h
The file was modifiedllvm/unittests/ADT/SmallVectorTest.cpp