SuccessChanges

Changes from Git (git http://labmaster3.local/git/llvm-project.git)

Summary

  1. Revert "[SVE] Pass Scalable argument to VectorType::get in Bitcode (details)
  2. [libFuzzer] Allow discarding output in ExecuteCommand in Fuchsia. (details)
  3. [Flang][mlir] add a band-aid to support the creation of mutually (details)
  4. [MLIR] LLVM dialect: Add llvm.atomicrmw (details)
Commit 447dcef79001ab5b842677bbada68624aa27e583 by efriedma
Revert "[SVE] Pass Scalable argument to VectorType::get in Bitcode
Reader"
This reverts commit 5df53a22592729e631c4030f38c599b9f37095b7.
Caused test failures.
The file was removedllvm/test/Bitcode/vscale-round-trip.ll
The file was modifiedllvm/lib/Bitcode/Reader/BitcodeReader.cpp
Commit 44aaca3de4f4918b6178a28d855b153ab335e6a3 by mvanotti
[libFuzzer] Allow discarding output in ExecuteCommand in Fuchsia.
Summary: This commit modifies the way `ExecuteCommand` works in fuchsia
by adding special logic to handle `/dev/null`.
The FuzzerCommand interface does not have a way to "discard" the output,
so other parts of the code just set the output file to `getDevNull()`.
The problem is that fuchsia does not have a named file that is
equivalent to `/dev/null`, so opening that file just fails.
This commit detects whether the specified output file is `getDevNull`,
and if that's the case, it will not copy the file descriptor for stdout
in the spawned process.
NOTE that modifying `FuzzerCommand` to add a "discardOutput" function
involves a significant refactor of all the other platforms, as they all
rely on the `toString()` method of `FuzzerCommand`.
This allows libfuzzer in fuchsia to run with `fork=1`, as the merge
process (`FuzzerMerge.cpp`) invoked `ExecuteCommand` with `/dev/null` as
the output.
Reviewers: aarongreen, phosek
Reviewed By: aarongreen
Subscribers: #sanitizers, llvm-commits
Tags: #sanitizers, #llvm
Differential Revision: https://reviews.llvm.org/D72894
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerUtilFuchsia.cpp
Commit 37e2560d3d24d7858493d30fc5b6e6a001f2a197 by zinenko
[Flang][mlir] add a band-aid to support the creation of mutually
recursive types when lowering to LLVM IR
Summary: This is a temporary implementation to support Flang.  The
LLVM-IR parser will need to be extended in some way to support recursive
types.  The exact approach here is still a work-in-progress.
Unfortunately, this won't pass roundtrip testing yet. Adding a comment
to the test file as a reminder.
Differential Revision: https://reviews.llvm.org/D72542
The file was modifiedmlir/test/Dialect/LLVMIR/invalid.mlir
The file was modifiedmlir/include/mlir/Dialect/LLVMIR/LLVMDialect.h
The file was modifiedmlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
Commit 60a0c612df515cffcf4489b97bfff7b97b78018b by zinenko
[MLIR] LLVM dialect: Add llvm.atomicrmw
Summary: This op is the counterpart to LLVM's atomicrmw instruction.
Note that volatile and syncscope attributes are not yet supported.
This will be useful for upcoming parallel versions of `affine.for` and
generally for reduction-like semantics.
Differential Revision: https://reviews.llvm.org/D72741
The file was modifiedmlir/lib/Target/LLVMIR/ModuleTranslation.cpp
The file was modifiedmlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
The file was modifiedmlir/test/Dialect/LLVMIR/roundtrip.mlir
The file was modifiedmlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
The file was modifiedmlir/test/Dialect/LLVMIR/invalid.mlir
The file was modifiedmlir/test/Target/llvmir.mlir