AbortedChanges

Summary

  1. [NARY-REASSOCIATE] Support reassociation of min/max (details)
  2. [X86] Regenerate sdiv_fix.ll tests. NFCI. (details)
  3. [NFC] Fix build failure after 83d134c3c4222e8b8d3d90c099f749a3b3abc8e0 (details)
  4. [RISCV] Unify scalable- and fixed-vector EXTRACT_SUBVECTOR lowering (details)
  5. [RISCV] Support fixed-length vector sign/zero extension (details)
  6. [RISCV] Support fixed-length vector truncates (details)
  7. Pass GPU events instead of streams across async regions. (details)
  8. [RISCV] Support fixed-length vector FP_ROUND & FP_EXTEND (details)
  9. [lldb][NFC] Document ClangASTImporter (details)
  10. [clang][cli] NFC: Remove intermediate command line parsing functions (details)
  11. [clang][cli] NFC: Remove ArgList infrastructure for recording queries (details)
  12. [clang] Remove a superfluous semicolon, silencing GCC warnings. NFC. (details)
  13. [clang][driver] Set the input type to Fortran when reading from stdin (details)
  14. [clang][flang] Improve the consistency of the code-base (details)
  15. [RISCV] Support fixed-length vector i2fp/fp2i conversions (details)
  16. [RISCV] Update RVV ISA section-header comments. NFC. (details)
Commit 83d134c3c4222e8b8d3d90c099f749a3b3abc8e0 by ybrevnov
[NARY-REASSOCIATE] Support reassociation of min/max

Support reassociation for min/max. With that we should be able to transform min(min(a, b), c) -> min(min(a, c), b) if min(a, c) is already available.

Reviewed By: mkazantsev

Differential Revision: https://reviews.llvm.org/D88287
The file was modifiedllvm/include/llvm/Transforms/Scalar/NaryReassociate.h
The file was modifiedllvm/test/Transforms/NaryReassociate/nary-umin.ll
The file was modifiedllvm/test/Transforms/NaryReassociate/nary-umax.ll
The file was modifiedllvm/lib/Transforms/Scalar/NaryReassociate.cpp
The file was modifiedllvm/test/Transforms/NaryReassociate/nary-smin.ll
The file was modifiedllvm/include/llvm/IR/PatternMatch.h
The file was modifiedllvm/test/Transforms/NaryReassociate/nary-smax.ll
Commit 0d835ba48dfb803de3a170cee3b79b4deb9e80b8 by llvm-dev
[X86] Regenerate sdiv_fix.ll tests. NFCI.
The file was modifiedllvm/test/CodeGen/X86/sdiv_fix.ll
Commit d0a6f8bb6568979e986eb4b8938dba537e75db7b by ybrevnov
[NFC] Fix build failure after 83d134c3c4222e8b8d3d90c099f749a3b3abc8e0
The file was modifiedllvm/lib/Transforms/Scalar/NaryReassociate.cpp
Commit 821f8bb29a8967fc1dc6520fda4a2b94b9c7ea0d by fraser
[RISCV] Unify scalable- and fixed-vector EXTRACT_SUBVECTOR lowering

This patch unifies the two disparate paths for lowering
EXTRACT_SUBVECTOR operations under one roof. Consequently, with this
patch it is possible to support any fixed-length subvector extraction,
not just "cast-like" ones.

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D97192
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.h
The file was modifiedllvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
The file was addedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract-subvector.ll
Commit 3bc5ed38750c6a6daff39ad524b75e40c8c09183 by fraser
[RISCV] Support fixed-length vector sign/zero extension

This patch adds support for the custom lowering sign- and zero-extension
of fixed-length vector types. It does so through custom nodes. Since the
source and destination types are (necessarily) of different sizes, it is
possible that the source type is legal whilst the larger destination
type isn't. In this case the legalization makes heavy use of
EXTRACT_SUBVECTOR.

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D97194
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.h
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp
The file was addedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-exttrunc.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
Commit 84413e1947427a917a3e55abfc1f66c42adc751b by fraser
[RISCV] Support fixed-length vector truncates

This patch extends support for our custom-lowering of scalable-vector
truncates to include those of fixed-length vectors. It does this by
co-opting the custom RISCVISD::TRUNCATE_VECTOR node and adding mask and
VL operands. This avoids unnecessary duplication of patterns and
inflation of the ISel table.

Some truncates go through CONCAT_VECTORS which currently isn't
efficiently handled, as it goes through the stack. This can be improved
upon in the future.

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D97202
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-exttrunc.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.h
Commit f03826f896beb7edb68c7576be4721ff8711dacb by csigg
Pass GPU events instead of streams across async regions.

Lower !gpu.async.tokens returned from async.execute regions to events instead of streams.

Make !gpu.async.token returned from !async.execute single-use.
This allows creating one event per use and destroying them without leaking or ref-counting.
Technically we only need this for stream/event-based lowering. I kept the code separate
from the rest of the gpu-async-region pass so that we can make this optional or move
to a separate pass as needed.

Reviewed By: herhut

Differential Revision: https://reviews.llvm.org/D96965
The file was modifiedmlir/test/Dialect/GPU/async-region.mlir
The file was modifiedmlir/test/Conversion/GPUCommon/lower-wait-to-gpu-runtime-calls.mlir
The file was modifiedmlir/lib/Conversion/GPUCommon/ConvertLaunchFuncToRuntimeCalls.cpp
The file was modifiedmlir/lib/Dialect/GPU/Transforms/AsyncRegionRewriter.cpp
Commit 9620ce90d7238c5ff450a83b49cbc4b811d19830 by fraser
[RISCV] Support fixed-length vector FP_ROUND & FP_EXTEND

This patch extends the support for vector FP_ROUND and FP_EXTEND by
including support for fixed-length vector types. Since fixed-length
vectors use "VL" nodes and scalable vectors can use the standard nodes,
there is slightly more to do in the fixed-length case. A helper function
was introduced to try and reduce the divergent paths. It is expected
that this function will similarly come in useful for lowering the
int-to-fp and fp-to-int operations for fixed-length vectors.

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D97301
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.h
The file was addedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-conv.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp
Commit 86c267233f51c36d71c12a93d661c4195f150f05 by Raphael Isemann
[lldb][NFC] Document ClangASTImporter
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangASTImporter.h
Commit fa7eb3e4a60c620b820ff6c616c678f659f4528e by Jan Svoboda
[clang][cli] NFC: Remove intermediate command line parsing functions

Patch D96280 moved command line round-tripping from each parsing functions into single `CreateFromArgs` function.

This patch cleans up the individual parsing functions, essentially merging `ParseXxxImpl` with `ParseXxx`, as the distinction is not necessary anymore.

Reviewed By: dexonsmith

Differential Revision: https://reviews.llvm.org/D96323
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedclang/include/clang/Frontend/CompilerInvocation.h
Commit 43cac1d27d7d57a7800150f95c3f8ac1e3b2bc2b by Jan Svoboda
[clang][cli] NFC: Remove ArgList infrastructure for recording queries

This patch removes the infrastructure for recording queries in `ArgList`, partially reverting D94472.

The infrastructure was used during command line round-trip to determine which arguments should a certain subset of `CompilerInvocation` generate.

Since D96280, the command line arguments are being generated all at once, making this code no longer necessary.

Reviewed By: dexonsmith

Differential Revision: https://reviews.llvm.org/D96325
The file was modifiedllvm/include/llvm/Option/ArgList.h
The file was modifiedllvm/lib/Option/ArgList.cpp
Commit 0c8b26bf530b3fc65af9205c593583f26549da3e by martin
[clang] Remove a superfluous semicolon, silencing GCC warnings. NFC.
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
Commit baebc1162f810f7bf5de48919054f75a2f81e180 by andrzej.warzynski
[clang][driver] Set the input type to Fortran when reading from stdin

This patch makes sure that for the following invocation of the new Flang
driver, clangDriver sets the input type to Fortran:
```
flang-new -E -
```
This change does not affect `clang`, i.e. for the following invocation
the input type is set to C:
```
clang -E -
```

This change leverages the fact that for `flang-new` the driver is in
Flang mode.

Differential Revision: https://reviews.llvm.org/D96777
The file was modifiedclang/lib/Driver/Driver.cpp
The file was modifiedflang/test/Flang-Driver/input-from-stdin.f90
Commit ad14ccc8c22e1480db7bfc1a176311e6f572c588 by llvm
[clang][flang] Improve the consistency of the code-base

In clang:
Replace argc_ with Argc
Replace argv_ with Argv
Replace argv with Args
In flang:
Replace argc_ with argc
Replace argv_ with argv
Replace argv with args

Reviewed By: awarzynski, aganea

Differential Revision: https://reviews.llvm.org/D97138
The file was modifiedclang/tools/driver/driver.cpp
The file was modifiedflang/tools/flang-driver/driver.cpp
Commit 02f435db0b5f91986a7408ff8a1f1fda4918bde0 by fraser
[RISCV] Support fixed-length vector i2fp/fp2i conversions

This patch extends the support for scalable-vector int->fp and fp->int
conversions by additionally handling fixed-length vectors.

The existing scalable-vector lowering re-expresses widening/narrowing by
x4+ conversions as standard nodes. The fixed-length vector support slots
in at "the end" of this process by lowering the now equally-sized and
widening/narrowing by x2 nodes to our custom VL versions.

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D97374
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.h
The file was addedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-i2fp.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
The file was addedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp2i.ll
Commit 0ad86f879f3a999bf0aad19acf15375482a17e99 by fraser
[RISCV] Update RVV ISA section-header comments. NFC.

Some of the section headers had become stale with the transition from
RVV specification version 0.9 to 0.10. This patch brings them up to
date.
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td