AbortedChanges

Summary

  1. [libcxx-fuzzing] Fixed bug found by -Wstring-concatenation (details)
  2. [Reduce] Rewrite function body delta pass again (details)
  3. [X86] Remove a DCI.isBeforeLegalize() call from combineVSelectWithAllOnesOrZeros. (details)
  4. [MLIR] Consider AffineIfOp when getting the index set of an Op wrapped in nested loops (details)
  5. Hook up OpenBSD 64-bit PowerPC support (details)
  6. fix typo (details)
  7. [WebAssembly] Fix FastISel address calculation bug (details)
  8. Backout a test that is dependent on an uncommited diff. Fix another. (details)
  9. [CMake] Simplify CMake handling for zlib (details)
  10. Revert "[CMake] Simplify CMake handling for zlib" (details)
  11. [llvm-profdata] Implement llvm-profdata overlap for sample profiles (details)
  12. [ELF] --wrap: don't leave the original symbol as SHN_UNDEF in .symtab or .dynsym (details)
  13. [NFC][StackSafety] noinline in alias tests (details)
  14. [NFC][StackSafety] Add index test (details)
  15. Revert "[NFC][StackSafety] Add index test" (details)
Commit 48887c4e81d47ebeaa6dc7888143cc51bd0ed7c5 by Dávid Bolvanský
[libcxx-fuzzing] Fixed bug found by -Wstring-concatenation
The file was modifiedlibcxx/test/libcxx/fuzzing/fuzzer_test.h
Commit d4c3f20285aded64e31a4faf6a5a9280352ff6af by lebedev.ri
[Reduce] Rewrite function body delta pass again

It is not enough to replace all uses of users of the function with undef,
the users, we only drop instruction users, so they may stick around.

Let's try different approach - first drop bodies for all the functions
we will drop, which should take care of blockaddress issue the previous
rewrite was dealing with; then, after dropping *all* such bodies,
replace remaining uses with undef (thus all the uses are either
outside of functions, or are in kept functions)
and then finally drop functions.

This seems to work, and passes the *existing* test coverage,
but it is possible that a new issue will be discovered later :)

A new (previously crashing) test added.
The file was modifiedllvm/tools/llvm-reduce/deltas/ReduceFunctions.cpp
The file was addedllvm/test/Reduce/remove-function-bodies-used-in-globals.ll
Commit d3153b5ca29b80d73af449727ca557eb6ccbd973 by craig.topper
[X86] Remove a DCI.isBeforeLegalize() call from combineVSelectWithAllOnesOrZeros.

This was blocking isTypeLegal call so that we could do a particular
transform on illegal types before type legalization. But the we
create a target specific node using that type. We shouldn't do
that if the type isn't legal. So I think we should just always
make sure the type is legal.

I suspect that in order to get the condition VT to not be a vector
of i1 we already completed type legalization anyway so this probably
doesn't matter much in practice.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 654e8aadfdda97524c463bcf3552d2ecf2feda93 by uday
[MLIR] Consider AffineIfOp when getting the index set of an Op wrapped in nested loops

This diff attempts to resolve the TODO in `getOpIndexSet` (formerly
known as `getInstIndexSet`), which states "Add support to handle IfInsts
surronding `op`".

Major changes in this diff:

1. Overload `getIndexSet`. The overloaded version considers both
`AffineForOp` and `AffineIfOp`.
2. The `getInstIndexSet` is updated accordingly: its name is changed to
`getOpIndexSet` and its implementation is based on a new API `getIVs`
instead of `getLoopIVs`.
3. Add `addAffineIfOpDomain` to `FlatAffineConstraints`, which extracts
new constraints from the integer set of `AffineIfOp` and merges it to
the current constraint system.
4. Update how a `Value` is determined as dim or symbol for
`ValuePositionMap` in `buildDimAndSymbolPositionMaps`.

Differential Revision: https://reviews.llvm.org/D84698
The file was modifiedmlir/lib/Analysis/AffineStructures.cpp
The file was modifiedmlir/lib/Analysis/Utils.cpp
The file was modifiedmlir/lib/Analysis/AffineAnalysis.cpp
The file was modifiedmlir/lib/Transforms/Utils/LoopUtils.cpp
The file was modifiedmlir/test/Transforms/memref-dependence-check.mlir
The file was modifiedmlir/lib/Dialect/Affine/Transforms/LoopTiling.cpp
The file was modifiedmlir/include/mlir/Analysis/AffineAnalysis.h
The file was modifiedmlir/include/mlir/Analysis/Utils.h
The file was modifiedmlir/include/mlir/Analysis/AffineStructures.h
Commit 4eb4ebf76a6e26b0632968dd299d1dc6ad07e694 by brad
Hook up OpenBSD 64-bit PowerPC support
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was modifiedclang/lib/Basic/Targets/PPC.h
The file was modifiedclang/test/Driver/ppc-abi.c
The file was modifiedclang/test/Preprocessor/init.c
The file was modifiedclang/lib/Basic/Targets/OSTargets.h
The file was modifiedclang/test/Preprocessor/init-ppc64.c
The file was modifiedclang/lib/Basic/Targets.cpp
Commit 430db35bf21505015c618e292e98793e2ed49169 by brad
fix typo
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
Commit cc612c29084e907900ce63ad9031ab573a64e942 by tlively
[WebAssembly] Fix FastISel address calculation bug

Fixes PR47040, in which an assertion was improperly triggered during
FastISel's address computation. The issue was that an `Address` set to
be relative to the FrameIndex with offset zero was incorrectly
considered to have an unset base. When the left hand side of an add
set the Address to be 0 off the FrameIndex, the right side would not
detect that the Address base had already been set and could try to set
the Address to be relative to a register instead, triggering an
assertion.

This patch fixes the issue by explicitly tracking whether an `Address`
has been set rather than interpreting an offset of zero to mean the
`Address` has not been set.

Differential Revision: https://reviews.llvm.org/D85581
The file was addedllvm/test/CodeGen/WebAssembly/fast-isel-pr47040.ll
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyFastISel.cpp
Commit f4aba9d76c61cc4c87b45e4edb57b1968eb7194c by brad
Backout a test that is dependent on an uncommited diff. Fix another.
The file was modifiedclang/test/Driver/ppc-abi.c
The file was modifiedclang/test/Preprocessor/init.c
Commit ccbc1485b55ff4acd21bcfafbf7aec4ed0fd818d by phosek
[CMake] Simplify CMake handling for zlib

Rather than handling zlib handling manually, use find_package from CMake
to find zlib properly. Use this to normalize the LLVM_ENABLE_ZLIB,
HAVE_ZLIB, HAVE_ZLIB_H. Furthermore, require zlib if LLVM_ENABLE_ZLIB is
set to YES, which requires the distributor to explicitly select whether
zlib is enabled or not. This simplifies the CMake handling and usage in
the rest of the tooling.

This is a reland of abb0075 with all followup changes and fixes that
should address issues that were reported in PR44780.

Differential Revision: https://reviews.llvm.org/D79219
The file was modifiedllvm/test/CMakeLists.txt
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
The file was modifiedllvm/cmake/config-ix.cmake
The file was modifiedllvm/cmake/modules/LLVMConfig.cmake.in
The file was modifiedllvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn
The file was modifiedclang/test/lit.site.cfg.py.in
The file was modifiedcompiler-rt/test/lit.common.configured.in
The file was modifiedlldb/cmake/modules/LLDBStandalone.cmake
The file was modifiedlld/test/CMakeLists.txt
The file was modifiedlld/test/lit.site.cfg.py.in
The file was modifiedllvm/lib/Support/CMakeLists.txt
The file was modifiedllvm/lib/Support/CRC.cpp
The file was modifiedllvm/utils/gn/secondary/compiler-rt/test/BUILD.gn
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
The file was modifiedllvm/utils/gn/secondary/lld/test/BUILD.gn
The file was modifiedllvm/unittests/Support/CompressionTest.cpp
The file was modifiedclang/test/CMakeLists.txt
The file was modifiedllvm/test/lit.site.cfg.py.in
The file was modifiedllvm/utils/gn/secondary/llvm/test/BUILD.gn
The file was modifiedllvm/include/llvm/Config/config.h.cmake
The file was modifiedllvm/lib/Support/Compression.cpp
The file was modifiedllvm/utils/gn/secondary/clang/test/BUILD.gn
Commit a4d78d23c53451ccefe0df0adfff9a1ac3077f10 by phosek
Revert "[CMake] Simplify CMake handling for zlib"

This reverts commit ccbc1485b55ff4acd21bcfafbf7aec4ed0fd818d which
is still failing on the Windows MLIR bots.
The file was modifiedllvm/cmake/modules/LLVMConfig.cmake.in
The file was modifiedllvm/utils/gn/secondary/llvm/test/BUILD.gn
The file was modifiedcompiler-rt/test/lit.common.configured.in
The file was modifiedllvm/test/lit.site.cfg.py.in
The file was modifiedllvm/include/llvm/Config/config.h.cmake
The file was modifiedclang/test/CMakeLists.txt
The file was modifiedlldb/cmake/modules/LLDBStandalone.cmake
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
The file was modifiedllvm/cmake/config-ix.cmake
The file was modifiedllvm/unittests/Support/CompressionTest.cpp
The file was modifiedllvm/utils/gn/secondary/lld/test/BUILD.gn
The file was modifiedclang/test/lit.site.cfg.py.in
The file was modifiedllvm/utils/gn/secondary/clang/test/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/compiler-rt/test/BUILD.gn
The file was modifiedllvm/lib/Support/CRC.cpp
The file was modifiedllvm/test/CMakeLists.txt
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
The file was modifiedlld/test/lit.site.cfg.py.in
The file was modifiedllvm/lib/Support/CMakeLists.txt
The file was modifiedlld/test/CMakeLists.txt
The file was modifiedllvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn
The file was modifiedllvm/lib/Support/Compression.cpp
Commit 540489de6816486f98221952d7a54f0293c68d1e by aktoon
[llvm-profdata] Implement llvm-profdata overlap for sample profiles

Implemented the `llvm-profdata overlap` feature for sample profiles. It reports weighted //similarity// and unweighted //overlap// metrics at program and function level for two input profiles. Similarity metrics are symmetric with regards to the order of two input profiles. By default, the tool only reports program-level summary. Users can look into function-level details via additional options `--function`, `--similarity-cutoff`, and `--value-cutoff`.

The similarity metrics are designed as follows:
* Program-level summary
    * Whole program profile similarity is an aggregate over function-level similarity `FS`: `PS = sum(FS(A) * avg_weight(A))` for all function `A`.
    * Whole program sample overlap: `PSO = common_samples / total_samples`.
    * Function overlap: `FO = #common_function / #total_function`.
    * Hot-function overlap: `HFO = #common_hot_function / #total_hot_function`.
    * Hot-block overlap: `HBO = #common_hot_block / #total_hot_block`.
* Function-level details
    * Function-level similarity is an aggregate over line/block-level similarities `BS` of all sample lines/blocks in the function, weighted by the closeness of the function's weights in two profiles: `FS = sum(BS(i)) * (1 - weight_distance(A))`.
    * Function-level sample overlap: `FSO = common_samples / total_samples` for samples in the function.

Reviewed By: wenlei, hoyFB, wmi

Differential Revision: https://reviews.llvm.org/D83852
The file was addedllvm/test/tools/llvm-profdata/Inputs/sample-overlap-3.proftext
The file was addedllvm/test/tools/llvm-profdata/Inputs/sample-overlap-5.proftext
The file was addedllvm/test/tools/llvm-profdata/Inputs/sample-overlap-4.proftext
The file was modifiedllvm/tools/llvm-profdata/llvm-profdata.cpp
The file was addedllvm/test/tools/llvm-profdata/Inputs/sample-overlap-1.proftext
The file was addedllvm/test/tools/llvm-profdata/Inputs/sample-overlap-0.proftext
The file was addedllvm/test/tools/llvm-profdata/Inputs/sample-overlap-2.proftext
The file was addedllvm/test/tools/llvm-profdata/sample-overlap.test
Commit 0334578edc60ad8a7455e7b76e41901376245b56 by i
[ELF] --wrap: don't leave the original symbol as SHN_UNDEF in .symtab or .dynsym
The file was modifiedlld/test/ELF/wrap-shlib-undefined.s
The file was modifiedlld/ELF/SymbolTable.cpp
Commit b317321545aacc03004a3e0c514f7474e9ece422 by Vitaly Buka
[NFC][StackSafety] noinline in alias tests
The file was modifiedllvm/test/Analysis/StackSafetyAnalysis/Inputs/ipa-alias.ll
The file was modifiedllvm/test/Analysis/StackSafetyAnalysis/ipa-alias.ll
Commit 5fd49911db546cda6b35dffb6be440385e8d96d5 by Vitaly Buka
[NFC][StackSafety] Add index test

This directly covers generateParamAccessSummary
The file was modifiedllvm/test/Analysis/StackSafetyAnalysis/ipa-alias.ll
The file was modifiedllvm/test/Analysis/StackSafetyAnalysis/ipa.ll
Commit 6d9b3cb2fb5fc91825c54688f29c4e538c398f7e by Vitaly Buka
Revert "[NFC][StackSafety] Add index test"

This reverts commit 5fd49911db546cda6b35dffb6be440385e8d96d5.

GUIDs don't match.
The file was modifiedllvm/test/Analysis/StackSafetyAnalysis/ipa-alias.ll
The file was modifiedllvm/test/Analysis/StackSafetyAnalysis/ipa.ll