SuccessChanges

Summary

  1. [mlir] Start splitting the `tensor` dialect out of `std`. (details)
  2. [flang] Removed an absolute path from the "flang" script (details)
  3. Revert "[mlir] Start splitting the `tensor` dialect out of `std`." (details)
  4. [InstCombine][x86] fix insertion point bug in vector demanded elts fold (PR48476) (details)
  5. Revert "Revert "[mlir] Start splitting the `tensor` dialect out of `std`."" (details)
  6. [libc] Let wrappergen pick LLVM libc mangled name from aliasee file. (details)
  7. Store a MlirIdentifier instead of a MlirStringRef in MlirNameAttribute (details)
  8. [AIX][XCOFF] emit traceback table for function in aix (details)
Commit cab8dda90f48e15ee94b0d55ceac5b6a812e4743 by silvasean
[mlir] Start splitting the `tensor` dialect out of `std`.

This starts by moving `std.extract_element` to `tensor.extract` (this
mirrors the naming of `vector.extract`).

Curiously, `std.extract_element` supposedly works on vectors as well,
and this patch removes that functionality. I would tend to do that in
separate patch, but I couldn't find any downstream users relying on
this, and the fact that we have `vector.extract` made it seem safe
enough to lump in here.

This also sets up the `tensor` dialect as a dependency of the `std`
dialect, as some ops that currently live in `std` depend on
`tensor.extract` via their canonicalization patterns.

Part of RFC: https://llvm.discourse.group/t/rfc-split-the-tensor-dialect-from-std/2347/2

Differential Revision: https://reviews.llvm.org/D92991
The file was modifiedmlir/test/IR/core-ops.mlir
The file was modifiedmlir/include/mlir/Dialect/StandardOps/IR/Ops.td
The file was modifiedmlir/test/Transforms/canonicalize.mlir
The file was modifiedmlir/test/Conversion/ShapeToStandard/convert-shape-constraints.mlir
The file was addedmlir/lib/Dialect/Tensor/CMakeLists.txt
The file was modifiedmlir/utils/vim/syntax/mlir.vim
The file was addedmlir/lib/Dialect/Tensor/IR/TensorOps.cpp
The file was modifiedmlir/test/IR/invalid-ops.mlir
The file was modifiedmlir/test/Conversion/ShapeToStandard/shape-to-standard.mlir
The file was addedmlir/include/mlir/Dialect/Tensor/IR/CMakeLists.txt
The file was addedmlir/include/mlir/Dialect/Tensor/IR/Tensor.h
The file was modifiedmlir/include/mlir/Dialect/StandardOps/EDSC/Intrinsics.h
The file was modifiedmlir/test/Transforms/constant-fold.mlir
The file was addedmlir/test/Dialect/Tensor/canonicalize.mlir
The file was modifiedmlir/include/mlir/InitAllPasses.h
The file was modifiedmlir/test/Dialect/Standard/canonicalize.mlir
The file was addedmlir/include/mlir/Dialect/Tensor/Transforms/CMakeLists.txt
The file was modifiedmlir/test/Dialect/Standard/bufferize.mlir
The file was addedmlir/include/mlir/Dialect/Tensor/IR/TensorOps.td
The file was addedmlir/include/mlir/Dialect/Tensor/Transforms/Passes.h
The file was modifiedmlir/lib/Dialect/StandardOps/CMakeLists.txt
The file was modifiedmlir/lib/Dialect/StandardOps/IR/Ops.cpp
The file was addedmlir/test/Dialect/Tensor/ops.mlir
The file was addedmlir/include/mlir/Dialect/Tensor/IR/TensorBase.td
The file was addedmlir/test/Dialect/Tensor/invalid.mlir
The file was addedmlir/include/mlir/Dialect/Tensor/CMakeLists.txt
The file was modifiedmlir/include/mlir/InitAllDialects.h
The file was modifiedmlir/lib/Dialect/CMakeLists.txt
The file was modifiedmlir/lib/Dialect/StandardOps/Transforms/Bufferize.cpp
The file was modifiedmlir/lib/Conversion/ShapeToStandard/ShapeToStandard.cpp
The file was modifiedmlir/lib/Conversion/ShapeToStandard/ConvertShapeConstraints.cpp
The file was addedmlir/lib/Dialect/Tensor/IR/CMakeLists.txt
The file was modifiedmlir/test/Dialect/Linalg/fusion-tensor.mlir
The file was modifiedmlir/lib/Transforms/Utils/FoldUtils.cpp
The file was modifiedmlir/include/mlir/Dialect/Linalg/EDSC/FoldedIntrinsics.h
The file was addedmlir/lib/Dialect/Tensor/IR/TensorDialect.cpp
The file was addedmlir/test/Dialect/Tensor/bufferize.mlir
The file was addedmlir/include/mlir/Dialect/Tensor/Transforms/Passes.td
The file was addedmlir/lib/Dialect/Tensor/Transforms/Bufferize.cpp
The file was addedmlir/lib/Dialect/Tensor/Transforms/CMakeLists.txt
The file was modifiedmlir/include/mlir/Dialect/CMakeLists.txt
The file was addedmlir/lib/Dialect/Tensor/Transforms/PassDetail.h
Commit 84c09ab44599ece409e4e19761288ddf796fceec by psteinfeld
[flang] Removed an absolute path from the "flang" script

The "flang" script that gets put into "install/bin" had an absolute path
in it.  This precuded moving the install directory to a new location.

Differential Revision: https://reviews.llvm.org/D93131
The file was modifiedflang/tools/f18/flang.sh.in
Commit 0d48d265db6633e4e575f81f9d3a52139b1dc5ca by silvasean
Revert "[mlir] Start splitting the `tensor` dialect out of `std`."

This reverts commit cab8dda90f48e15ee94b0d55ceac5b6a812e4743.

I mistakenly thought that CAPI/ir.c failure was unrelated to this
change. Need to debug it.
The file was modifiedmlir/test/Conversion/ShapeToStandard/convert-shape-constraints.mlir
The file was removedmlir/include/mlir/Dialect/Tensor/Transforms/Passes.h
The file was removedmlir/test/Dialect/Tensor/bufferize.mlir
The file was modifiedmlir/test/IR/core-ops.mlir
The file was modifiedmlir/include/mlir/Dialect/CMakeLists.txt
The file was removedmlir/include/mlir/Dialect/Tensor/CMakeLists.txt
The file was modifiedmlir/include/mlir/Dialect/Linalg/EDSC/FoldedIntrinsics.h
The file was modifiedmlir/lib/Dialect/StandardOps/Transforms/Bufferize.cpp
The file was modifiedmlir/lib/Transforms/Utils/FoldUtils.cpp
The file was modifiedmlir/lib/Conversion/ShapeToStandard/ConvertShapeConstraints.cpp
The file was modifiedmlir/lib/Dialect/StandardOps/CMakeLists.txt
The file was removedmlir/include/mlir/Dialect/Tensor/IR/CMakeLists.txt
The file was modifiedmlir/lib/Dialect/StandardOps/IR/Ops.cpp
The file was modifiedmlir/test/Dialect/Linalg/fusion-tensor.mlir
The file was modifiedmlir/test/Transforms/canonicalize.mlir
The file was removedmlir/include/mlir/Dialect/Tensor/IR/TensorOps.td
The file was modifiedmlir/test/Conversion/ShapeToStandard/shape-to-standard.mlir
The file was modifiedmlir/include/mlir/Dialect/StandardOps/IR/Ops.td
The file was modifiedmlir/include/mlir/Dialect/StandardOps/EDSC/Intrinsics.h
The file was removedmlir/test/Dialect/Tensor/ops.mlir
The file was modifiedmlir/include/mlir/InitAllPasses.h
The file was removedmlir/lib/Dialect/Tensor/IR/CMakeLists.txt
The file was modifiedmlir/test/IR/invalid-ops.mlir
The file was removedmlir/include/mlir/Dialect/Tensor/IR/Tensor.h
The file was modifiedmlir/lib/Dialect/CMakeLists.txt
The file was removedmlir/lib/Dialect/Tensor/IR/TensorOps.cpp
The file was removedmlir/lib/Dialect/Tensor/Transforms/PassDetail.h
The file was removedmlir/include/mlir/Dialect/Tensor/Transforms/CMakeLists.txt
The file was modifiedmlir/test/Dialect/Standard/canonicalize.mlir
The file was removedmlir/lib/Dialect/Tensor/IR/TensorDialect.cpp
The file was modifiedmlir/test/Transforms/constant-fold.mlir
The file was removedmlir/lib/Dialect/Tensor/Transforms/Bufferize.cpp
The file was modifiedmlir/test/Dialect/Standard/bufferize.mlir
The file was removedmlir/include/mlir/Dialect/Tensor/IR/TensorBase.td
The file was removedmlir/lib/Dialect/Tensor/Transforms/CMakeLists.txt
The file was removedmlir/test/Dialect/Tensor/invalid.mlir
The file was modifiedmlir/utils/vim/syntax/mlir.vim
The file was modifiedmlir/lib/Conversion/ShapeToStandard/ShapeToStandard.cpp
The file was removedmlir/include/mlir/Dialect/Tensor/Transforms/Passes.td
The file was modifiedmlir/include/mlir/InitAllDialects.h
The file was removedmlir/test/Dialect/Tensor/canonicalize.mlir
The file was removedmlir/lib/Dialect/Tensor/CMakeLists.txt
Commit 204bdc5322cc89603d503fb1f02a0eba19a1b496 by spatel
[InstCombine][x86] fix insertion point bug in vector demanded elts fold (PR48476)

This transform was added at:
c63799fc52ff

From what I see, it's the first demanded elements transform that adds
a new instruction using the IRBuilder. There are similar folds in
the generic demanded bits chunk of instcombine that also use the
InsertPointGuard code pattern.

The tests here would assert/crash because the new instruction was
being added at the start of the demanded elements analysis rather
than at the instruction that is being replaced.
The file was modifiedllvm/test/Transforms/InstCombine/X86/x86-addsub.ll
The file was modifiedllvm/lib/Target/X86/X86InstCombineIntrinsic.cpp
Commit 444822d77a7fea28aa49edf24533c987efa1b2ee by silvasean
Revert "Revert "[mlir] Start splitting the `tensor` dialect out of `std`.""

This reverts commit 0d48d265db6633e4e575f81f9d3a52139b1dc5ca.

This reapplies the following commit, with a fix for CAPI/ir.c:

[mlir] Start splitting the `tensor` dialect out of `std`.

This starts by moving `std.extract_element` to `tensor.extract` (this
mirrors the naming of `vector.extract`).

Curiously, `std.extract_element` supposedly works on vectors as well,
and this patch removes that functionality. I would tend to do that in
separate patch, but I couldn't find any downstream users relying on
this, and the fact that we have `vector.extract` made it seem safe
enough to lump in here.

This also sets up the `tensor` dialect as a dependency of the `std`
dialect, as some ops that currently live in `std` depend on
`tensor.extract` via their canonicalization patterns.

Part of RFC: https://llvm.discourse.group/t/rfc-split-the-tensor-dialect-from-std/2347/2

Differential Revision: https://reviews.llvm.org/D92991
The file was modifiedmlir/test/Transforms/constant-fold.mlir
The file was modifiedmlir/test/Transforms/canonicalize.mlir
The file was addedmlir/include/mlir/Dialect/Tensor/IR/CMakeLists.txt
The file was addedmlir/test/Dialect/Tensor/canonicalize.mlir
The file was addedmlir/lib/Dialect/Tensor/Transforms/Bufferize.cpp
The file was modifiedmlir/test/Conversion/ShapeToStandard/shape-to-standard.mlir
The file was modifiedmlir/test/Dialect/Linalg/fusion-tensor.mlir
The file was addedmlir/include/mlir/Dialect/Tensor/IR/Tensor.h
The file was modifiedmlir/lib/Transforms/Utils/FoldUtils.cpp
The file was addedmlir/lib/Dialect/Tensor/IR/CMakeLists.txt
The file was modifiedmlir/include/mlir/Dialect/Linalg/EDSC/FoldedIntrinsics.h
The file was addedmlir/include/mlir/Dialect/Tensor/IR/TensorBase.td
The file was addedmlir/lib/Dialect/Tensor/IR/TensorOps.cpp
The file was modifiedmlir/test/Dialect/Standard/canonicalize.mlir
The file was modifiedmlir/lib/Conversion/ShapeToStandard/ConvertShapeConstraints.cpp
The file was modifiedmlir/lib/Dialect/StandardOps/IR/Ops.cpp
The file was modifiedmlir/test/IR/invalid-ops.mlir
The file was modifiedmlir/include/mlir/Dialect/StandardOps/EDSC/Intrinsics.h
The file was addedmlir/test/Dialect/Tensor/ops.mlir
The file was addedmlir/include/mlir/Dialect/Tensor/CMakeLists.txt
The file was addedmlir/lib/Dialect/Tensor/Transforms/PassDetail.h
The file was modifiedmlir/test/Conversion/ShapeToStandard/convert-shape-constraints.mlir
The file was addedmlir/include/mlir/Dialect/Tensor/IR/TensorOps.td
The file was modifiedmlir/include/mlir/Dialect/CMakeLists.txt
The file was modifiedmlir/lib/Dialect/CMakeLists.txt
The file was addedmlir/include/mlir/Dialect/Tensor/Transforms/Passes.h
The file was modifiedmlir/include/mlir/Dialect/StandardOps/IR/Ops.td
The file was modifiedmlir/include/mlir/InitAllPasses.h
The file was modifiedmlir/utils/vim/syntax/mlir.vim
The file was addedmlir/test/Dialect/Tensor/invalid.mlir
The file was modifiedmlir/test/IR/core-ops.mlir
The file was addedmlir/include/mlir/Dialect/Tensor/Transforms/Passes.td
The file was addedmlir/lib/Dialect/Tensor/IR/TensorDialect.cpp
The file was modifiedmlir/lib/Dialect/StandardOps/Transforms/Bufferize.cpp
The file was modifiedmlir/lib/Conversion/ShapeToStandard/ShapeToStandard.cpp
The file was modifiedmlir/lib/Dialect/StandardOps/CMakeLists.txt
The file was addedmlir/lib/Dialect/Tensor/Transforms/CMakeLists.txt
The file was modifiedmlir/include/mlir/InitAllDialects.h
The file was addedmlir/include/mlir/Dialect/Tensor/Transforms/CMakeLists.txt
The file was addedmlir/lib/Dialect/Tensor/CMakeLists.txt
The file was modifiedmlir/test/CAPI/ir.c
The file was modifiedmlir/test/Dialect/Standard/bufferize.mlir
The file was addedmlir/test/Dialect/Tensor/bufferize.mlir
Commit 9ab6c1a99f82fa13017ddccc606eecfe24e92043 by sivachandra
[libc] Let wrappergen pick LLVM libc mangled name from aliasee file.

Along the way, made a change to run tool unittests when the target
"check-libc" is run by introducing a libc testsuite for tool unittests.

Reviewed By: michaelrj

Differential Revision: https://reviews.llvm.org/D93142
The file was modifiedlibc/test/utils/tools/WrapperGen/wrappergen_test.cpp
The file was modifiedlibc/test/utils/tools/WrapperGen/CMakeLists.txt
The file was modifiedlibc/test/utils/tools/CMakeLists.txt
The file was modifiedlibc/utils/tools/WrapperGen/Main.cpp
Commit aadcb26ee1650de8eaddc5a141c4302691c446a1 by joker.eph
Store a MlirIdentifier instead of a MlirStringRef in MlirNameAttribute

This mirror the C++ API for NamedAttribute, and has the advantage or
internalizing earlier in the Context and not requiring the caller to
keep the StringRef alive beyong this call.

Differential Revision: https://reviews.llvm.org/D93133
The file was modifiedmlir/lib/CAPI/IR/BuiltinAttributes.cpp
The file was modifiedmlir/test/CAPI/ir.c
The file was modifiedmlir/include/mlir-c/IR.h
The file was modifiedmlir/lib/Bindings/Python/IRModules.cpp
The file was modifiedmlir/lib/CAPI/IR/IR.cpp
Commit 997d286f2d0fde66f6eb825932eb06ca3b83607f by diggerlin
[AIX][XCOFF] emit traceback table for function in aix

SUMMARY:
1. added a new option -xcoff-traceback-table to control whether generate traceback table for function.
2. implement the functionality of emit traceback table of a function.

Reviewers: hubert.reinterpretcast, Jason Liu
Differential Revision: https://reviews.llvm.org/D92398
The file was modifiedllvm/include/llvm/Target/TargetMachine.h
The file was modifiedllvm/test/CodeGen/PowerPC/aix-extern.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp
The file was modifiedllvm/test/CodeGen/PowerPC/aix-extern-weak.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
The file was modifiedllvm/test/CodeGen/PowerPC/aix-func-align.ll
The file was modifiedllvm/test/CodeGen/PowerPC/aix-weak.ll
The file was addedllvm/test/CodeGen/PowerPC/aix-emit-tracebacktable.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCMachineFunctionInfo.cpp
The file was modifiedllvm/include/llvm/CodeGen/CommandFlags.h
The file was modifiedllvm/lib/Target/PowerPC/PPCMachineFunctionInfo.h
The file was modifiedllvm/test/CodeGen/PowerPC/aix-xcoff-data-sections.ll
The file was modifiedllvm/test/CodeGen/PowerPC/aix-xcoff-reloc.ll
The file was modifiedllvm/lib/BinaryFormat/XCOFF.cpp
The file was modifiedllvm/test/CodeGen/PowerPC/aix-xcoff-reloc-symb.mir
The file was modifiedllvm/lib/CodeGen/CommandFlags.cpp
The file was modifiedllvm/include/llvm/Target/TargetOptions.h
The file was addedllvm/test/CodeGen/PowerPC/aix-emit-tracebacktable-clobber-register.ll
The file was modifiedllvm/test/CodeGen/PowerPC/aix-return55.ll
The file was modifiedllvm/test/CodeGen/PowerPC/aix-alias.ll
The file was modifiedllvm/lib/Object/XCOFFObjectFile.cpp
The file was modifiedllvm/test/CodeGen/PowerPC/aix-cc-ext-vec-abi.ll
The file was modifiedllvm/test/CodeGen/PowerPC/aix-user-defined-memcpy.ll
The file was modifiedllvm/test/CodeGen/PowerPC/aix-func-dsc-gen.ll
The file was modifiedllvm/test/CodeGen/PowerPC/aix-xcoff-textdisassembly.ll
The file was modifiedllvm/test/CodeGen/PowerPC/aix-xcoff-toc.ll
The file was modifiedllvm/include/llvm/BinaryFormat/XCOFF.h
The file was modifiedllvm/test/CodeGen/PowerPC/aix-xcoff-mergeable-const.ll
The file was modifiedllvm/test/CodeGen/PowerPC/aix-xcoff-explicit-section.ll
The file was modifiedllvm/test/CodeGen/PowerPC/aix-xcoff-symbol-rename.ll
The file was modifiedllvm/test/CodeGen/PowerPC/aix-xcoff-mergeable-str.ll