SuccessChanges

Summary

  1. [lld-macho][nfc] Remove InputSection::outSecFileOff (details)
  2. [lld-macho][nfc] Represent the image loader cache with a ConcatInputSection (details)
  3. [lld-macho][nfc] Add `final` to classes where possible (details)
  4. [Utils] Add missing freeze and poison keyword highlights (details)
  5. [mlir][linalg] Add constant padding helper to PadTensorOp (details)
  6. [mlir] Vectorize linalg.pad_tensor consumed by transfer_read (details)
  7. [mlir] Vectorize linalg.pad_tensor consumed by subtensor_insert (details)
  8. [mlir] Vectorize linalg.pad_tensor consumed by transfer_write (details)
  9. [DominanceInfo] Make the ctor take a defaulted value for the operand. NFC. (details)
  10. [mlir][linalg] Remove generic PadTensorOp vectorization pattern (details)
  11. [ORC-RT] Fix an error check. (details)
Commit b2a0739012163f5433c0f069e842ee4cea3100f7 by jezng
[lld-macho][nfc] Remove InputSection::outSecFileOff

`outSecFileOff` and the associated `getFileOffset()` accessors were
unnecessary.

For all the cases we care about, `outSecFileOff` is the same as
`outSecOff`. The only time they deviate is if there are zerofill
sections within a given segment. But since zerofill sections are always
at the end of a segment, the only sections where the two values deviate
are zerofill sections themselves. And we never actually query the
outSecFileOff of zerofill sections.

As for `getFileOffset()`, the only place it was being used was to
calculate the offset of the entry symbol. However, we can compute that
value by just taking the difference between the address of the entry
symbol and the address of the Mach-O header. In fact, this appears to be
what ld64 itself does. This difference is the same as the file offset as
long as there are no intervening zerofill sections, but since `__text`
is the first section in `__TEXT`, this never happens, so our previous
use of `getFileOffset()` was not wrong -- just inefficient.

Reviewed By: #lld-macho, thakis

Differential Revision: https://reviews.llvm.org/D104177
The file was modifiedlld/MachO/InputSection.cpp
The file was modifiedlld/MachO/Writer.cpp
The file was modifiedlld/MachO/Symbols.h
The file was modifiedlld/MachO/ConcatOutputSection.cpp
The file was modifiedlld/MachO/UnwindInfoSection.cpp
The file was modifiedlld/MachO/Symbols.cpp
The file was modifiedlld/MachO/InputSection.h
Commit c5c05ffa4562223cae7db537ca7772afaeccd009 by jezng
[lld-macho][nfc] Represent the image loader cache with a ConcatInputSection

We don't need to define any special behavior for this section,
so creating a subclass for it is redundant.

Reviewed By: #lld-macho, thakis

Differential Revision: https://reviews.llvm.org/D104199
The file was modifiedlld/MachO/SyntheticSections.h
The file was modifiedlld/MachO/SyntheticSections.cpp
The file was modifiedlld/MachO/Writer.cpp
Commit da24e6d43e3fdc07aa84f55b35ec50f6b96545ad by jezng
[lld-macho][nfc] Add `final` to classes where possible

I wanted to see if we would get any perf wins out of this, but
it doesn't seem to be the case. But it still seems worth committing.

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D104200
The file was modifiedlld/MachO/SyntheticSections.cpp
The file was modifiedlld/MachO/Writer.cpp
The file was modifiedlld/MachO/SyntheticSections.h
The file was modifiedlld/MachO/ConcatOutputSection.h
The file was modifiedlld/MachO/InputFiles.h
The file was modifiedlld/MachO/InputSection.h
Commit 594febf05b41a09409cf3145c6fa7635e9957334 by aqjune
[Utils] Add missing freeze and poison keyword highlights

This patch adds missing keyword highlights for freeze and poison

Reviewed By: MaskRay, porglezomp

Differential Revision: https://reviews.llvm.org/D104017
The file was modifiedllvm/utils/vscode/llvm/syntaxes/ll.tmLanguage.yaml
The file was modifiedllvm/utils/vim/syntax/llvm.vim
Commit bf5d3092f8557301f2e322349880f9f86c884e87 by springerm
[mlir][linalg] Add constant padding helper to PadTensorOp

* Add a helper function that returns the constant padding value (if applicable).
* Remove existing getConstantYieldValueFromBlock function, which does almost the same.
* Adapted from D103243.

Differential Revision: https://reviews.llvm.org/D104004
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
The file was modifiedmlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgOps.td
Commit b1b822714db8ea15f811ab03084ee60ff32def21 by springerm
[mlir] Vectorize linalg.pad_tensor consumed by transfer_read

Vectorize linalg.pad_tensor without generating a linalg.init_tensor when consumed by a transfer_read.

Differential Revision: https://reviews.llvm.org/D103735
The file was modifiedmlir/test/Dialect/Linalg/vectorization.mlir
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
Commit b1fd8a13cc1ab15b53d42996f9cc46aa487d8dbf by springerm
[mlir] Vectorize linalg.pad_tensor consumed by subtensor_insert

Vectorize linalg.pad_tensor without generating a linalg.init_tensor when consumed by a subtensor_insert.

Differential Revision: https://reviews.llvm.org/D103780
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
The file was modifiedmlir/test/Dialect/Linalg/vectorization.mlir
Commit 562f9e995dfa9e0aaecdfacc880eaa3b357844c2 by springerm
[mlir] Vectorize linalg.pad_tensor consumed by transfer_write

Vectorize linalg.pad_tensor without generating a linalg.init_tensor when consumed by a transfer_write.

Differential Revision: https://reviews.llvm.org/D103137
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
The file was modifiedmlir/test/Dialect/Linalg/vectorization.mlir
Commit 4fa8677860436b7cf75c5d8bb80a0996c3a83327 by clattner
[DominanceInfo] Make the ctor take a defaulted value for the operand. NFC.

This allows it to be default constructible, which makes sense given it
ignores the operand.
The file was modifiedmlir/lib/IR/Verifier.cpp
The file was modifiedmlir/include/mlir/IR/Dominance.h
Commit fdb21f0c5edd17b9aeb6f5135d0980b9e4c74bf2 by springerm
[mlir][linalg] Remove generic PadTensorOp vectorization pattern

The generic vectorization pattern handles only those cases, where
low and high padding is zero. This is already handled by a
canonicalization pattern.

Also add a new canonicalization test case to ensure that tensor cast ops
are properly inserted.

A more general vectorization pattern will be added in a subsequent commit.

Differential Revision: https://reviews.llvm.org/D103590
The file was modifiedmlir/test/Dialect/Linalg/vectorization.mlir
The file was modifiedmlir/test/Dialect/Linalg/canonicalize.mlir
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
Commit ba9e28064b25b199715b3a10f3bd3f7ac8cd6dfb by Lang Hames
[ORC-RT] Fix an error check.
The file was modifiedcompiler-rt/lib/orc/wrapper_function_utils.h