Changes

Summary

  1. [DSE][NFC] Rename Later->Killing, Earlier->Dead (details)
  2. [GlobalISel][Legalizer] Use ArtifactValueFinder first for unmerge combines before trying others. (details)
  3. [clangd] Deduplicate inlay hints (details)
  4. [MLIR] Add mergeLocalIds and mergeSymbolIds (details)
  5. [lldb] Speculative fix to TestGuiExpandThreadsTree (details)
  6. [MLIR][SCF] Add for-to-while loop transformation pass (details)
  7. [PowerPC] NFC: Remove unused tblgen template args (details)
  8. Add CMAKE_BUILD_TYPE to the list of BOOTSTRAP_DEFAULT_PASSTHROUGH variables (details)
  9. [flang][docs] Document plugin limitations (details)
  10. [MLIR] NFC. gpu.launch op argument const folder cleanup (details)
Commit 129cf336041f0ed7454c0f6866401d2847dd3967 by ybrevnov
[DSE][NFC] Rename Later->Killing, Earlier->Dead

First (and biggest) change is to use "Killing/Dead" in place of "Later/Earlier" base for names in DSE. For example, [Maybe]DeadLoc - is a location killed by KillingI instruction. I believe such names are more descriptive and easy to understand than current ones.

Second, there are inconsistencies in naming where different names are used for the same thing. Fixed that too.

Third, reordered parameters of isPartialOverwrite, tryToMergePartialOverlappingStores, isOverwrite to make them consistent between each other. This greatly reduces potential mistakes.

Reviewed By: fhahn

Differential Revision: https://reviews.llvm.org/D106947
The file was modifiedllvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
Commit cc65e08fe7e1402cd6549882879f50e5238e8178 by Amara Emerson
[GlobalISel][Legalizer] Use ArtifactValueFinder first for unmerge combines before trying others.

This is motivated by an pathological compile time issue during unmerge combining.

We should be able to use the AVF to do simplification. However AMDGPU
has a lot of codegen changes which I'm not sure how to evaluate.

Differential Revision: https://reviews.llvm.org/D109748
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-load-store.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-llvm.amdgcn.image.load.2d.d16.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-insert-vector-elt.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.load.1d.d16.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fshl.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/xnor.ll
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-extract-vector-elt.mir
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-shuffle-vector.mir
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fshr.mir
Commit d87d1aa07612116a5c2a660f678856d3bda94f46 by zeratul976
[clangd] Deduplicate inlay hints

Duplicates can sometimes appear due to e.g. explicit template
instantiations

Differential Revision: https://reviews.llvm.org/D110051
The file was modifiedclang-tools-extra/clangd/unittests/InlayHintTests.cpp
The file was modifiedclang-tools-extra/clangd/InlayHints.cpp
The file was modifiedclang-tools-extra/clangd/Protocol.h
The file was modifiedclang-tools-extra/clangd/Protocol.cpp
Commit 0d12c99191de5736a2a49e99121ed8059cb7afd3 by arjunpitchanathan
[MLIR] Add mergeLocalIds and mergeSymbolIds

This patch adds mergeLocalIds andmergeSymbolIds as public functions
for FlatAffineConstraints and FlatAffineValueConstraints respectively.

mergeLocalIds is also required to support divisions in intersection,
subtraction, equality checks, and complement for PresburgerSet.

This patch is part of a series of patches aimed at generalizing affine
dependence analysis.

Reviewed By: bondhugula

Differential Revision: https://reviews.llvm.org/D110045
The file was modifiedmlir/include/mlir/Analysis/AffineStructures.h
The file was modifiedmlir/lib/Analysis/AffineStructures.cpp
Commit 791b6ebc86680168d634103b67a92a354c075cc4 by pavel
[lldb] Speculative fix to TestGuiExpandThreadsTree

This test relies on being able to unwind from an arbitrary place inside
libc. While I am not sure this is the cause of the observed flakyness,
it is known that we are not able to unwind correctly from some places in
(linux) libc.

This patch adds additional synchronization to ensure that the inferior
is in the main function (instead of pthread guts) when lldb tries to
unwind it. At the very least, it should make the test runs more
predictable/repeatable.
The file was addedlldb/test/API/commands/gui/expand-threads-tree/main.cpp
The file was modifiedlldb/test/API/commands/gui/expand-threads-tree/TestGuiExpandThreadsTree.py
The file was modifiedlldb/test/API/commands/gui/expand-threads-tree/Makefile
The file was removedlldb/test/API/commands/gui/expand-threads-tree/main.c
Commit 032cb1650fe62f9c93b0a0857e21597b2d11a69f by morten_bp
[MLIR][SCF] Add for-to-while loop transformation pass

This pass transforms SCF.ForOp operations to SCF.WhileOp. The For loop condition is placed in the 'before' region of the while operation, and indctuion variable incrementation + the loop body in the 'after' region. The loop carried values of the while op are the induction variable (IV) of the for-loop + any iter_args specified for the for-loop.
Any 'yield' ops in the for-loop are rewritten to additionally yield the (incremented) induction variable.

This transformation is useful for passes where we want to consider structured control flow solely on the basis of a loop body and the computation of a loop condition. As an example, when doing high-level synthesis in CIRCT, the incrementation of an IV in a for-loop is "just another part" of a circuit datapath, and what we really care about is the distinction between our datapath and our control logic (the condition variable).

Differential Revision: https://reviews.llvm.org/D108454
The file was addedmlir/lib/Dialect/SCF/Transforms/ForToWhile.cpp
The file was modifiedmlir/lib/Dialect/SCF/Transforms/CMakeLists.txt
The file was modifiedmlir/include/mlir/Dialect/SCF/Passes.h
The file was modifiedmlir/include/mlir/Dialect/SCF/Passes.td
The file was addedmlir/test/Dialect/SCF/for-loop-to-while-loop.mlir
Commit b23d22f7d546a525e6fb0e3f32f835c459ac2746 by cullen.rhodes
[PowerPC] NFC: Remove unused tblgen template args

Identified in D109359.

Reviewed By: nemanjai

Differential Revision: https://reviews.llvm.org/D109715
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrHTM.td
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrFormats.td
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrPrefix.td
The file was modifiedllvm/lib/Target/PowerPC/PPCInstr64Bit.td
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrInfo.td
Commit eccd477ce312c54e317876ca714c661325f3e318 by sylvestre
Add CMAKE_BUILD_TYPE to the list of BOOTSTRAP_DEFAULT_PASSTHROUGH variables

When building clang in stage2, when -DCMAKE_BUILD_TYPE=RelWithDebInfo is set,
the developer can expect that the stage2 clang is built using the same mode.
Especially as the performances are much worst in debug mode.
(Principle of least astonishment)

Differential Revision: https://reviews.llvm.org/D53014
The file was modifiedclang/CMakeLists.txt
Commit 7e7484a816a53d557c3b2444d8e3daa60eabcc7b by andrzej.warzynski
[flang][docs] Document plugin limitations

This was extracted from the discussion on
https://reviews.llvm.org/D108283.

Co-authored-by: Kiran Chandramohan <kiran.chandramohan@arm.com>

Differential Revision: https://reviews.llvm.org/D109871
The file was modifiedflang/docs/FlangDriver.md
Commit 5c77ed0330c47ad8fa4b229bceb6c33c76536961 by uday
[MLIR] NFC. gpu.launch op argument const folder cleanup

NFC updates to gpu.launch op argument const folder.

Differential Revision: https://reviews.llvm.org/D110136
The file was modifiedmlir/lib/Dialect/GPU/IR/GPUDialect.cpp