SuccessChanges

Summary

  1. [mlir] Improve Graphviz visualization in PrintOpPass (details)
  2. [MLGO] Update the current model url for the Oz inliner model. (details)
  3. [llvm-readobj][XCOFF] Warn about invalid offset (details)
  4. [mlir] Truncate/skip long strings in ViewOpGraph.cpp (details)
  5. [MC][CodeGen] Emit constant pools earlier (details)
  6. [WebAssembly] Misc. cosmetic changes in EH (NFC) (details)
  7. [mlir] Fix broken build in pass_manager.py (details)
  8. [NFC][ConstantFold] Check getAggregateElement before getSplatValue call (details)
  9. [AMDGPU] Ignore call graph node which does not have function info. (details)
  10. [mlir] Handle cases where transfer_read should turn into a scalar load (details)
Commit 8d15b7dcbaa1469d7e147ebdce988cca861ace6d by springerm
[mlir] Improve Graphviz visualization in PrintOpPass

* Visualize blocks and regions as subgraphs.
* Generate DOT file directly instead of using `GraphTraits`. `GraphTraits` does not support subgraphs.

Differential Revision: https://reviews.llvm.org/D106253
The file was modifiedmlir/lib/Transforms/CMakeLists.txt
The file was modifiedmlir/include/mlir/Transforms/ViewOpGraph.h
The file was modifiedmlir/test/Transforms/print-op-graph.mlir
The file was modifiedmlir/include/mlir/Support/IndentedOstream.h
The file was modifiedmlir/include/mlir/Transforms/Passes.td
The file was modifiedmlir/lib/Transforms/ViewOpGraph.cpp
Commit b16c37fa2c797bba51ae683729ed484980766d75 by jacobhegna
[MLGO] Update the current model url for the Oz inliner model.
The file was modifiedllvm/lib/Analysis/CMakeLists.txt
Commit 3df1e7e6f05e42df813accf8ec89e800515b6f70 by Vitaly Buka
[llvm-readobj][XCOFF] Warn about invalid offset

Followup for D105522

Differential Revision: https://reviews.llvm.org/D107398
The file was modifiedllvm/test/tools/llvm-readobj/XCOFF/string-table.yaml
The file was modifiedllvm/tools/llvm-readobj/ObjDumper.cpp
Commit a87be1c1bd950bfe46c1904474c67dd3a0a7586d by springerm
[mlir] Truncate/skip long strings in ViewOpGraph.cpp

* New pass option `max-label-len`: Truncate attributes/result types that have more #chars.
* New pass option `print-attrs`: Activate/deactivate rendering of attributes.
* New pass option `printResultTypes`: Activate/deactivate rendering of result types.

Differential Revision: https://reviews.llvm.org/D106337
The file was modifiedmlir/lib/Transforms/ViewOpGraph.cpp
The file was modifiedmlir/include/mlir/Transforms/Passes.td
Commit ad253446208a06902d3bc4939ac7a64f8026cc84 by aeubanks
[MC][CodeGen] Emit constant pools earlier

Previously we would emit constant pool entries for ldr inline asm at the
very end of AsmPrinter::doFinalization(). However, if we're emitting
dwarf aranges, that would end all sections with aranges. Then if we have
constant pool entries to be emitted in those same sections, we'd hit an
assert that the section has already been ended.

We want to emit constant pool entries before emitting dwarf aranges.
This patch splits out arm32/64's constant pool entry emission into its
own MCTargetStreamer virtual method.

Fixes PR51208

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D107314
The file was modifiedllvm/lib/Target/ARM/MCTargetDesc/ARMTargetStreamer.cpp
The file was modifiedllvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.h
The file was modifiedllvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
The file was modifiedllvm/lib/MC/MCStreamer.cpp
The file was addedllvm/test/CodeGen/ARM/arange-ldr.ll
The file was modifiedllvm/lib/MC/MCParser/AsmParser.cpp
The file was modifiedllvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.cpp
The file was modifiedllvm/include/llvm/MC/MCStreamer.h
Commit 9bd02c433b5ee0235f263dab4e2f307a5ceb5b0d by aheejin
[WebAssembly] Misc. cosmetic changes in EH (NFC)

- Rename `wasm.catch` intrinsic to `wasm.catch.exn`, because we are
  planning to add a separate `wasm.catch.longjmp` intrinsic which
  returns two values.
- Rename several variables
- Remove an unnecessary parameter from `canLongjmp` and `isEmAsmCall`
  from LowerEmscriptenEHSjLj pass
- Add `-verify-machineinstrs` in a test for a safety measure
- Add more comments + fix some errors in comments
- Replace `std::vector` with `SmallVector` for cases likely with small
  number of elements
- Renamed `EnableEH`/`EnableSjLj` to `EnableEmEH`/`EnableEmSjLj`: We are
  soon going to add `EnableWasmSjLj`, so this makes the distincion
  clearer

Reviewed By: tlively

Differential Revision: https://reviews.llvm.org/D107405
The file was modifiedllvm/include/llvm/IR/IntrinsicsWebAssembly.td
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
The file was modifiedllvm/lib/CodeGen/WasmEHPrepare.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp
The file was modifiedllvm/test/CodeGen/WebAssembly/lower-em-ehsjlj.ll
The file was modifiedllvm/test/CodeGen/WebAssembly/wasmehprepare.ll
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyMCInstLower.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
Commit faeb7ec68bc18215667dc6fe31531b703670158d by springerm
[mlir] Fix broken build in pass_manager.py

This test ensures that an error is generated from the Python side when running a module pass on a function. The test used to instantiate ViewOpGraph, however, this pass was changed into a general "any op" pass in D106253. Therefore, a different pass must be used in this test.

Differential Revision: https://reviews.llvm.org/D107424
The file was modifiedmlir/test/python/pass_manager.py
Commit df4e0beaeb0cba052e51094ff8d9447bea11fe62 by i
[NFC][ConstantFold] Check getAggregateElement before getSplatValue call

Constant::getSplatValue has O(N) time complexity in the worst case,
where N is the # of elements in a vector. So we call
Constant::getAggregateElement first and return earlier if possible to
avoid unnecessary getSplatValue calls.

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D107252
The file was modifiedllvm/lib/IR/ConstantFold.cpp
Commit 596e61c332267ae9e7074bcd3adc988829c85817 by mahesha.comp
[AMDGPU] Ignore call graph node which does not have function info.

While collecting reachable callees (from kernels), ignore call graph node which
does not have associated function or associated function is not a definition.

Reviewed By: rampitec

Differential Revision: https://reviews.llvm.org/D107329
The file was addedllvm/test/CodeGen/AMDGPU/replace-lds-by-ptr-call-to-declare-only-func.ll
The file was modifiedllvm/lib/Target/AMDGPU/Utils/AMDGPULDSUtils.cpp
Commit 432341d8a81afb95f12ca8e91fbbb4a4b526856f by stephen.neuendorffer
[mlir] Handle cases where transfer_read should turn into a scalar load

The existing vector transforms reduce the dimension of transfer_read
ops.  However, beyond a certain point, the vector op actually has
to be reduced to a scalar load, since we can't load a zero-dimension
vector.  This handles this case.

Note that in the longer term, it may be preferaby to support
zero-dimension vectors.  see
https://llvm.discourse.group/t/should-we-have-0-d-vectors/3097.

Differential Revision: https://reviews.llvm.org/D103432
The file was modifiedmlir/test/Dialect/Vector/vector-transfer-lowering.mlir
The file was modifiedmlir/lib/Dialect/Vector/VectorTransforms.cpp