Changes

Summary

  1. [zorg] Cleanup clang-cmake-{armv7,aarch64}-quick bots (details)
  2. [zorg] Build all targets on Linaro-maintained bots (details)
  3. [zorg] Add AArch64 SVE vector-length-specific (VLS) bots (details)
  4. [zorg] Rename Linaro's AArch64 and ARM bots to use consistent names (details)
  5. [zorg] Remove settings that match defaults from Linaro bots (details)
Commit 3f8251ff00a50c67bc04a500d674bd51bb4d66e8 by maxim.kuvyrkov
[zorg] Cleanup clang-cmake-{armv7,aarch64}-quick bots

Run "ninja check" for armv7 bot and don't pretend we run
LNT testsuite for the aarch64 bot.

Reviewed By: rovka, DavidSpickett

Differential Revision: https://reviews.llvm.org/D103468
The file was modifiedbuildbot/osuosl/master/config/builders.py (diff)
Commit 986da61015dc684d43a1c3b1849726c72fcf1592 by maxim.kuvyrkov
[zorg] Build all targets on Linaro-maintained bots

... not just AArch64 and ARM.  Make an exception for the quick
bots, which build a single target.

Reviewed By: rovka, zatrazz

Differential Revision: https://reviews.llvm.org/D103469
The file was modifiedbuildbot/osuosl/master/config/builders.py (diff)
Commit 2f6844e02cae962a4dd6ddf2f4ef279900e77fa6 by maxim.kuvyrkov
[zorg] Add AArch64 SVE vector-length-specific (VLS) bots

We add 1-stage bot that tests SVE support by building/running testsuite,
and 2-stage bot that additionally builds 2nd stage compiler with SVE.

Reviewed By: rovka

Differential Revision: https://reviews.llvm.org/D103470
The file was modifiedbuildbot/osuosl/master/config/workers.py (diff)
The file was modifiedbuildbot/osuosl/master/config/builders.py (diff)
Commit 89bc08fea5e20fdf8fb18c19c48f0046499f20b5 by maxim.kuvyrkov
[zorg] Rename Linaro's AArch64 and ARM bots to use consistent names

This will simplify Linaro's buildbot maintenance scripts.  We also
remove now-unused AArch64 and ARM libcxx workers, since these have
been migrated to buildkite a few months ago.

Reviewed By: DavidSpickett

Differential Revision: https://reviews.llvm.org/D103957
The file was modifiedbuildbot/osuosl/master/config/builders.py (diff)
The file was modifiedbuildbot/osuosl/master/config/workers.py (diff)
Commit 7b33ebd712c3a7d5d80f247bbc4ff844dc541304 by maxim.kuvyrkov
[zorg] Remove settings that match defaults from Linaro bots

Remove from arguments of ClangBuilder.getClangCMakeBuildFactory
- checkout_compiler_rt=True
- checkout_lld=True
- test=True
- useTwoStage=False
- testStage1=True
All these are defaults anyway.

Reviewed By: DavidSpickett

Differential Revision: https://reviews.llvm.org/D103963
The file was modifiedbuildbot/osuosl/master/config/builders.py (diff)

Summary

  1. [DSE] Extra multiblock loop tests, NFC. (details)
  2. unwind: allow building with GCC (details)
  3. Fix misspelled instruction in X86 assembly parser (details)
  4. [ms] [llvm-ml] Fix capitalization of the ignored CPU directives (details)
  5. [ms] [llvm-ml] When parsing MASM, "jmp short" instructions are case insensitive (details)
  6. [lld-macho][nfc] Remove InputSection::outSecFileOff (details)
  7. [lld-macho][nfc] Represent the image loader cache with a ConcatInputSection (details)
  8. [lld-macho][nfc] Add `final` to classes where possible (details)
  9. [Utils] Add missing freeze and poison keyword highlights (details)
  10. [mlir][linalg] Add constant padding helper to PadTensorOp (details)
  11. [mlir] Vectorize linalg.pad_tensor consumed by transfer_read (details)
  12. [mlir] Vectorize linalg.pad_tensor consumed by subtensor_insert (details)
  13. [mlir] Vectorize linalg.pad_tensor consumed by transfer_write (details)
  14. [DominanceInfo] Make the ctor take a defaulted value for the operand. NFC. (details)
  15. [mlir][linalg] Remove generic PadTensorOp vectorization pattern (details)
  16. [ORC-RT] Fix an error check. (details)
  17. Calculate getTerminator only when necessary (details)
  18. Implement DW_CFA_LLVM_* for Heterogeneous Debugging (details)
  19. [lld-macho] Try to fix MSAN "uninitialized memory" error (details)
Commit 562593ff82f89961c2fb9cf89eb9524ec51425e9 by david.green
[DSE] Extra multiblock loop tests, NFC.

Some of these can be DSE'd, some of which cannot. Useful in D100464.
The file was modifiedllvm/test/Transforms/DeadStoreElimination/multiblock-loops.ll (diff)
Commit e03be2efe564026ad3b04d459794c89c674e1ed9 by Saleem Abdulrasool
unwind: allow building with GCC

This was regressed in adf1561d6ce8.  Since gcc does not support
`__has_feature`, this adjusts the build to use the
`__SANITIZE_ADDRESS__` macro which GCC defines to identify if ASAN is
enabled (similar to `__has_feature`).  This allows building libunwind
with gcc again.

Patch by Daniel Levin!

Reviewed By: compnerd

Differential Revision: https://reviews.llvm.org/D104176
The file was modifiedlibunwind/src/libunwind.cpp (diff)
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 (diff)
The file was modifiedllvm/lib/Target/X86/AsmParser/X86AsmParser.cpp (diff)
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 (diff)
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 (diff)
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/Writer.cpp (diff)
The file was modifiedlld/MachO/UnwindInfoSection.cpp (diff)
The file was modifiedlld/MachO/InputSection.h (diff)
The file was modifiedlld/MachO/ConcatOutputSection.cpp (diff)
The file was modifiedlld/MachO/Symbols.h (diff)
The file was modifiedlld/MachO/InputSection.cpp (diff)
The file was modifiedlld/MachO/Symbols.cpp (diff)
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 (diff)
The file was modifiedlld/MachO/SyntheticSections.cpp (diff)
The file was modifiedlld/MachO/SyntheticSections.h (diff)
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.h (diff)
The file was modifiedlld/MachO/ConcatOutputSection.h (diff)
The file was modifiedlld/MachO/InputSection.h (diff)
The file was modifiedlld/MachO/SyntheticSections.cpp (diff)
The file was modifiedlld/MachO/InputFiles.h (diff)
The file was modifiedlld/MachO/Writer.cpp (diff)
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 (diff)
The file was modifiedllvm/utils/vscode/llvm/syntaxes/ll.tmLanguage.yaml (diff)
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/IR/LinalgOps.cpp (diff)
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgOps.td (diff)
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp (diff)
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/lib/Dialect/Linalg/Transforms/Vectorization.cpp (diff)
The file was modifiedmlir/test/Dialect/Linalg/vectorization.mlir (diff)
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/test/Dialect/Linalg/vectorization.mlir (diff)
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp (diff)
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 (diff)
The file was modifiedmlir/test/Dialect/Linalg/vectorization.mlir (diff)
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 (diff)
The file was modifiedmlir/lib/IR/Verifier.cpp (diff)
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/lib/Dialect/Linalg/Transforms/Vectorization.cpp (diff)
The file was modifiedmlir/test/Dialect/Linalg/canonicalize.mlir (diff)
The file was modifiedmlir/test/Dialect/Linalg/vectorization.mlir (diff)
Commit ba9e28064b25b199715b3a10f3bd3f7ac8cd6dfb by Lang Hames
[ORC-RT] Fix an error check.
The file was modifiedcompiler-rt/lib/orc/wrapper_function_utils.h (diff)
Commit dcbbc69cc58294cedc865259c6fd5ba80ecd9bd3 by 1894981+hiraditya
Calculate getTerminator only when necessary

Differential Revision: https://reviews.llvm.org/D104202
The file was modifiedllvm/lib/Transforms/IPO/HotColdSplitting.cpp (diff)
Commit 167e7afcd52bc1438d60320ec1d1bc53b8eae4a3 by VenkataRamanaiah.Nalamothu
Implement DW_CFA_LLVM_* for Heterogeneous Debugging

Add support in MC/MIR for writing/parsing, and DebugInfo.

This is part of the Extensions for Heterogeneous Debugging defined at
https://llvm.org/docs/AMDGPUDwarfExtensionsForHeterogeneousDebugging.html

Specifically the CFI instructions implemented here are defined at
https://llvm.org/docs/AMDGPUDwarfExtensionsForHeterogeneousDebugging.html#cfa-definition-instructions

Reviewed By: clayborg

Differential Revision: https://reviews.llvm.org/D76877
The file was modifiedllvm/lib/CodeGen/CFIInstrInserter.cpp (diff)
The file was modifiedllvm/test/CodeGen/MIR/AArch64/cfi.mir (diff)
The file was modifiedllvm/lib/MC/MCAsmStreamer.cpp (diff)
The file was modifiedllvm/lib/MC/MCStreamer.cpp (diff)
The file was modifiedllvm/lib/MC/MCDwarf.cpp (diff)
The file was modifiedllvm/lib/CodeGen/MIRParser/MIParser.cpp (diff)
The file was modifiedllvm/lib/CodeGen/AsmPrinter/AsmPrinterDwarf.cpp (diff)
The file was modifiedllvm/include/llvm/MC/MCStreamer.h (diff)
The file was modifiedllvm/lib/CodeGen/MachineOperand.cpp (diff)
The file was addedllvm/test/MC/ELF/cfi-llvm-def-cfa-aspace-errors.s
The file was addedllvm/test/tools/llvm-dwarfdump/X86/debug_frame_LLVM_def_cfa_aspace.s
The file was modifiedllvm/include/llvm/BinaryFormat/Dwarf.def (diff)
The file was modifiedllvm/lib/CodeGen/MIRParser/MILexer.h (diff)
The file was modifiedllvm/lib/MC/MCParser/AsmParser.cpp (diff)
The file was modifiedllvm/lib/CodeGen/MIRParser/MILexer.cpp (diff)
The file was addedllvm/test/MC/ELF/cfi-llvm-def-cfa-aspace.s
The file was modifiedllvm/include/llvm/DebugInfo/DWARF/DWARFDebugFrame.h (diff)
The file was modifiedllvm/include/llvm/MC/MCDwarf.h (diff)
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDebugFrame.cpp (diff)
The file was modifiedllvm/unittests/DebugInfo/DWARF/DWARFDebugFrameTest.cpp (diff)
Commit 9c5d43fb5513260dad86c135755bc5313a81e768 by jezng
[lld-macho] Try to fix MSAN "uninitialized memory" error

I *think* this is the fix, with the regression being introduced by
D104199. Not 100% sure since MSAN isn't supported on my Mac machine, and
it'll take some time to spin up a Linux box... will look at the
buildbots for answers
The file was modifiedlld/MachO/Writer.cpp (diff)