Changes

Summary

  1. Fix misspelled instruction in X86 assembly parser (details)
  2. [ms] [llvm-ml] Fix capitalization of the ignored CPU directives (details)
  3. [ms] [llvm-ml] When parsing MASM, "jmp short" instructions are case insensitive (details)
  4. [lld-macho][nfc] Remove InputSection::outSecFileOff (details)
  5. [lld-macho][nfc] Represent the image loader cache with a ConcatInputSection (details)
  6. [lld-macho][nfc] Add `final` to classes where possible (details)
  7. [Utils] Add missing freeze and poison keyword highlights (details)
  8. [mlir][linalg] Add constant padding helper to PadTensorOp (details)
  9. [mlir] Vectorize linalg.pad_tensor consumed by transfer_read (details)
  10. [mlir] Vectorize linalg.pad_tensor consumed by subtensor_insert (details)
  11. [mlir] Vectorize linalg.pad_tensor consumed by transfer_write (details)
  12. [DominanceInfo] Make the ctor take a defaulted value for the operand. NFC. (details)
Commit 56edcbc2ad8c15b01fd8b47c1f2665d274d0e896 by epastor
Fix misspelled instruction in X86 assembly parser

Did not correctly handle "jecxz short <address>".

Discovered while working on LLVM-ML; shows up in z_Windows_NT-586_asm.asm from the OpenMP runtime

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D104194
The file was modifiedllvm/test/MC/X86/intel-syntax.s
The file was modifiedllvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
Commit d81c059c3ed22e7f52eb995599e576abd30eb895 by epastor
[ms] [llvm-ml] Fix capitalization of the ignored CPU directives

These directives are matched in lowercase, so make sure to use lowercase for their P suffix.

Differential Revision: https://reviews.llvm.org/D104206
The file was modifiedllvm/lib/MC/MCParser/COFFMasmParser.cpp
The file was addedllvm/test/tools/llvm-ml/ml32-context.asm
Commit f09e200b31f443d972f6723fb9d78638bb38b45c by epastor
[ms] [llvm-ml] When parsing MASM, "jmp short" instructions are case insensitive

Handle "short" in a case-insensitive fashion in MASM.

Required to correctly parse z_Windows_NT-586_asm.asm from the OpenMP runtime.

Reviewed By: thakis

Differential Revision: https://reviews.llvm.org/D104195
The file was modifiedllvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
The file was addedllvm/test/tools/llvm-ml/jmp_short.asm
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/Symbols.cpp
The file was modifiedlld/MachO/InputSection.cpp
The file was modifiedlld/MachO/UnwindInfoSection.cpp
The file was modifiedlld/MachO/InputSection.h
The file was modifiedlld/MachO/ConcatOutputSection.cpp
The file was modifiedlld/MachO/Writer.cpp
The file was modifiedlld/MachO/Symbols.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/Writer.cpp
The file was modifiedlld/MachO/SyntheticSections.cpp
The file was modifiedlld/MachO/SyntheticSections.h
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/InputSection.h
The file was modifiedlld/MachO/Writer.cpp
The file was modifiedlld/MachO/InputFiles.h
The file was modifiedlld/MachO/ConcatOutputSection.h
The file was modifiedlld/MachO/SyntheticSections.h
The file was modifiedlld/MachO/SyntheticSections.cpp
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/vim/syntax/llvm.vim
The file was modifiedllvm/utils/vscode/llvm/syntaxes/ll.tmLanguage.yaml
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/include/mlir/Dialect/Linalg/IR/LinalgOps.td
The file was modifiedmlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
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/test/Dialect/Linalg/vectorization.mlir
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
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/include/mlir/IR/Dominance.h
The file was modifiedmlir/lib/IR/Verifier.cpp