Changes

Summary

  1. [NFC][ConstantFold] Check getAggregateElement before getSplatValue call (details)
  2. [AMDGPU] Ignore call graph node which does not have function info. (details)
  3. [mlir] Handle cases where transfer_read should turn into a scalar load (details)
  4. [llvm-readobj][XCOFF] dump the string table only if the size is bigger than 4. (details)
  5. [mlir][Bazel] Adjust BUILD.bazel file. (details)
  6. [Support] Initialize common options in `getRegisteredOptions` (details)
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 modifiedllvm/lib/Target/AMDGPU/Utils/AMDGPULDSUtils.cpp
The file was addedllvm/test/CodeGen/AMDGPU/replace-lds-by-ptr-call-to-declare-only-func.ll
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/lib/Dialect/Vector/VectorTransforms.cpp
The file was modifiedmlir/test/Dialect/Vector/vector-transfer-lowering.mlir
Commit 737e27f6236f18dcac53130242756ba0cc1dfe7d by esme.yi
[llvm-readobj][XCOFF] dump the string table only if the size is bigger than 4.
The file was modifiedllvm/tools/llvm-readobj/XCOFFDumper.cpp
The file was modifiedllvm/test/tools/llvm-readobj/XCOFF/string-table.yaml
Commit 8385de118443144518c9fba8b3d831d9076e746b by akuegel
[mlir][Bazel] Adjust BUILD.bazel file.

The dependency is needed after 1b00b94ffc2d60

Differential Revision: https://reviews.llvm.org/D107426
The file was modifiedutils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Commit 486b6013f967ff80f8fa4d20bf5b93e94ce72aa0 by i
[Support] Initialize common options in `getRegisteredOptions`

This allows users accessing options in libSupport before invoking
`cl::ParseCommandLineOptions`, and also matches the behavior before
D105959.

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D106334
The file was modifiedllvm/lib/Support/CommandLine.cpp
The file was modifiedllvm/unittests/Support/CMakeLists.txt
The file was addedllvm/unittests/Support/CommandLineInit/CommandLineInitTest.cpp
The file was addedllvm/unittests/Support/CommandLineInit/CMakeLists.txt