FailedChanges

Summary

  1. [MemorySSA] Rename uses in blocks with Phis. (details)
  2. Canonicalize declaration pointers when forming APValues. (details)
  3. PR47555: Inheriting constructors are implicitly definable. (details)
  4. [NewPM] Port -print-alias-sets to NPM (details)
  5. [IRSim] Adding IR Instruction Mapper (details)
  6. [mlir] expose affine map to C API (details)
  7. [gn build] Port b04c1a9d312 (details)
  8. [libunwind][DWARF] Fix end of .eh_frame calculation (details)
  9. [MachineSink] add one more mir case - nfc (details)
  10. [PowerPC] Fix store-fptoi combine of f128 on Power8 (details)
  11. Use zu rather than llu format specifier for size_t (-Wformat warning fix). (details)
  12. debug_rnglists/symbolizing: reduce memory usage by not caching rnglists (details)
  13. Revert "[IRSim] Adding IR Instruction Mapper" (details)
  14. [gn build] Port a895040eb02 (details)
  15. Flush bitcode incrementally for LTO output (details)
  16. Add the header of std::min (details)
  17. Fix the arguments of std::min (details)
  18. [lldb] Return FileSP and StreamFileSP by value in IOHandler (NFC) (details)
  19. Add __divmodti4 to match libgcc. (details)
  20. [llvm-cov gcov][test] Move tests to gcov/ (details)
  21. [DebugInfo] Simplify DIEInteger::SizeOf(). (details)
  22. [mlir][spirv] Add GroupNonUniformBroadcastOp (details)
  23. [llvm-cov gcov] Add --demangled-names (-m) (details)
  24. [mlir] Remove redundant shape.cstr_broadcastable canonicalization. (details)
  25. [SelectionDAG] Check any use of negation result before removal (details)
  26. [Lint] Add check for intrinsic get.active.lane.mask (details)
Commit 344a3d0bc0fb0868b519c3342b4982d6121eece3 by asbirlea
[MemorySSA] Rename uses in blocks with Phis.

Renaming should include blocks with existing Phis.

Resolves PR45927.

Differential Revision: https://reviews.llvm.org/D87661
The file was addedllvm/test/Analysis/MemorySSA/pr45927.ll
The file was modifiedllvm/lib/Analysis/MemorySSAUpdater.cpp
Commit 905b9ca26c94fa86339451a528cedde5004fc1bb by richard
Canonicalize declaration pointers when forming APValues.

References to different declarations of the same entity aren't different
values, so shouldn't have different representations.

Recommit of e6393ee813178e9d3306b8e3c6949a4f32f8a2cb with fixed
handling for weak declarations. We now look for attributes on the most
recent declaration when determining whether a declaration is weak.
The file was modifiedclang/lib/AST/DeclBase.cpp
The file was modifiedclang/test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/p9.cpp
The file was modifiedclang/include/clang/AST/APValue.h
The file was modifiedclang/lib/AST/Decl.cpp
The file was modifiedclang/lib/AST/APValue.cpp
The file was modifiedclang/lib/AST/ExprConstant.cpp
The file was modifiedclang/test/OpenMP/ordered_messages.cpp
Commit 7337f296194483e0959ff980049e2835e226f396 by richard
PR47555: Inheriting constructors are implicitly definable.

Don't forget to define them if they're constexpr and used inside a
template; we might try to evaluate a call to them before the template is
instantiated.
The file was modifiedclang/lib/Sema/SemaExpr.cpp
The file was modifiedclang/test/SemaCXX/cxx11-inheriting-ctors.cpp
Commit f4ea0f98142a97666cd0478757570e819923a829 by aeubanks
[NewPM] Port -print-alias-sets to NPM

Really it should be named print<alias-sets>, but for the sake of
changing fewer tests, added a TODO to rename after NPM switch and test
cleanup.

Reviewed By: ychen

Differential Revision: https://reviews.llvm.org/D87713
The file was modifiedllvm/lib/Analysis/AliasSetTracker.cpp
The file was modifiedllvm/lib/Passes/PassRegistry.def
The file was modifiedllvm/test/Analysis/AliasSet/guards.ll
The file was modifiedllvm/include/llvm/Analysis/AliasSetTracker.h
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
Commit b04c1a9d3127730c05e8a22a0e931a12a39528df by andrew_litteken
[IRSim] Adding IR Instruction Mapper

This introduces the IRInstructionMapper, and the associated wrapper for
instructions, IRInstructionData, that maps IR level Instructions to
unsigned integers.

Mapping is done mainly by using the "isSameOperationAs" comparison
between two instructions.  If they return true, the opcode, result type,
and operand types of the instruction are used to hash the instruction
with an unsigned integer.  The mapper accepts instruction ranges, and
adds each resulting integer to a list, and each wrapped instruction to
a separate list.

At present, branches, phi nodes are not mapping and exception handling
is illegal.  Debug instructions are not considered.

The different mapping schemes are tested in
unittests/Analysis/IRSimilarityIdentifierTest.cpp

Differential Revision: https://reviews.llvm.org/D86968
The file was addedllvm/include/llvm/Analysis/IRSimilarityIdentifier.h
The file was modifiedllvm/lib/Analysis/CMakeLists.txt
The file was addedllvm/lib/Analysis/IRSimilarityIdentifier.cpp
The file was modifiedllvm/unittests/Analysis/CMakeLists.txt
The file was addedllvm/unittests/Analysis/IRSimilarityIdentifierTest.cpp
Commit b76f523be6ea606d9cf494e247546cec1cd7f209 by zhanghb97
[mlir] expose affine map to C API

This patch provides C API for MLIR affine map.
- Implement C API for AffineMap class.
- Add Utils.h to include/mlir/CAPI/, and move the definition of the CallbackOstream to Utils.h to make sure mlirAffineMapPrint work correct.
- Add TODO for exposing the C API related to AffineExpr and mutable affine map.

Differential Revision: https://reviews.llvm.org/D87617
The file was modifiedmlir/include/mlir-c/AffineMap.h
The file was modifiedmlir/test/CAPI/ir.c
The file was modifiedmlir/lib/CAPI/IR/AffineMap.cpp
The file was addedmlir/include/mlir/CAPI/Utils.h
The file was modifiedmlir/lib/CAPI/IR/IR.cpp
Commit 436a43afb2cf85ae6e61b4c1ac09e944a6566646 by llvmgnsyncbot
[gn build] Port b04c1a9d312
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Analysis/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/llvm/unittests/Analysis/BUILD.gn
Commit fb1abe00635c1ec28e55921709904d5ca2e86a74 by rprichard
[libunwind][DWARF] Fix end of .eh_frame calculation

* When .eh_frame is located using .eh_frame_hdr (PT_GNU_EH_FRAME), the
   start of .eh_frame is known, but not the size. In this case, the
   unwinder must rely on a terminator present at the end of .eh_frame.
   Set dwarf_section_length to UINTPTR_MAX to indicate this.

* Add a new field, text_segment_length, that the FrameHeaderCache uses
   to track the size of the PT_LOAD segment indicated by dso_base.

* Compute ehSectionEnd by adding sectionLength to ehSectionStart,
   never to fdeHint.

Fixes PR46829.

Differential Revision: https://reviews.llvm.org/D87750
The file was modifiedlibunwind/src/FrameHeaderCache.hpp
The file was modifiedlibunwind/src/UnwindCursor.hpp
The file was modifiedlibunwind/src/DwarfParser.hpp
The file was modifiedlibunwind/test/frameheadercache_test.pass.cpp
The file was modifiedlibunwind/src/AddressSpace.hpp
Commit 5782ab0f52db1b1914d8ee5fe3828b0a5de9d685 by czhengsz
[MachineSink] add one more mir case - nfc
The file was addedllvm/test/CodeGen/PowerPC/sink-down-more-instructions-1.mir
Commit ebfbdebe9678f4a42ec35396eb517eefd85d2b4c by qiucofan
[PowerPC] Fix store-fptoi combine of f128 on Power8

llc would crash for (store (fptosi-f128-i32)) when -mcpu=pwr8, we should
not generate FP_TO_(S|U)INT_IN_VSR for f128 types at this time. This
patch fixes it.

Reviewed By: steven.zhang

Differential Revision: https://reviews.llvm.org/D86686
The file was modifiedllvm/test/CodeGen/PowerPC/store_fptoi.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp
Commit c140322819806cb292e079d62f2e9dbab697c08c by echristo
Use zu rather than llu format specifier for size_t (-Wformat warning fix).
The file was modifiedlldb/source/Expression/REPL.cpp
Commit 6a07f1edf8e6a172734286cd3ab5988313313d8f by dblaikie
debug_rnglists/symbolizing: reduce memory usage by not caching rnglists

This matches the debug_ranges behavior - though is currently implemented
differently. (the debug_ranges parsing was handled by creating a new
ranges parser during DIE address querying, and just destroying it after
the query - whereas the rnglists parser is a member of the DWARFUnit
currently - so the API doesn't cache anymore)

I think this could/should be improved by not parsing debug_rnglists
headers at all when dumping debug_info or symbolizing - do it the way
DWARF (roughly) intended: take the rnglists_base, add addr*index to it,
read the offset, parse the list at rnglists_base+offset. This would have
no error checking for valid index (because the number of valid indexes
is stored in the header, which has a negative offset from rnglists_base
- and is sort of only intended for use by dumpers, not by parsers going
from debug_info to a rnglist) or out of contribution bounds access
(since it wouldn't know the length of the contribution, also in the
header) - nor any error-checking that the rnglist contribution was using
the same properties as the debug_info (version, DWARF32/64, address
size, etc).
The file was modifiedllvm/include/llvm/DebugInfo/DWARF/DWARFListTable.h
Commit a895040eb022b8a621d8e85754f113d82e232ab1 by stilis
Revert "[IRSim] Adding IR Instruction Mapper"

This reverts commit b04c1a9d3127730c05e8a22a0e931a12a39528df.
The file was removedllvm/include/llvm/Analysis/IRSimilarityIdentifier.h
The file was modifiedllvm/unittests/Analysis/CMakeLists.txt
The file was modifiedllvm/lib/Analysis/CMakeLists.txt
The file was removedllvm/lib/Analysis/IRSimilarityIdentifier.cpp
The file was removedllvm/unittests/Analysis/IRSimilarityIdentifierTest.cpp
Commit 0dd4d70ec20cebb951bd2e0e6525b056fb8dc86c by llvmgnsyncbot
[gn build] Port a895040eb02
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Analysis/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/llvm/unittests/Analysis/BUILD.gn
Commit 11201315d5881a135faa5aa87f415ce03f99eb96 by jianzhouzh
Flush bitcode incrementally for LTO output

Bitcode writer does not flush buffer until the end by default. This is
fine to small bitcode files. When -flto,--plugin-opt=emit-llvm,-gmlt are
used, the final bitcode file is large, for example, >8G. Keeping all
data in memory consumes a lot of memory.

This change allows bitcode writer flush data to disk early when buffered
data size is above some threshold. This is only enabled when lld emits
LLVM bitcode.

One issue to address is backpatching bitcode: subblock length, function
body indexes, meta data indexes need to backfill. If buffer can be
flushed partially, we introduced raw_fd_stream that supports
read/seek/write, and enables backpatching bitcode flushed in disk.

Reviewed-by: tejohnson, MaskRay

Differential Revision: https://reviews.llvm.org/D86905
The file was modifiedllvm/include/llvm/Bitcode/BitcodeWriter.h
The file was modifiedllvm/lib/Bitcode/Writer/BitcodeWriter.cpp
The file was modifiedllvm/include/llvm/Bitstream/BitstreamWriter.h
The file was modifiedlld/ELF/LTO.cpp
Commit 352a55ef06a9dcb3dfeb45302e9789da24b513c3 by jianzhouzh
Add the header of std::min

fixing
https://github.com/llvm/llvm-project/commit/11201315d5881a135faa5aa87f415ce03f99eb96
The file was modifiedllvm/include/llvm/Bitstream/BitstreamWriter.h
Commit aec80c5cfd1bda8e630fca0f3ed2a84659f68635 by jianzhouzh
Fix the arguments of std::min

fixing
https://github.com/llvm/llvm-project/commit/11201315d5881a135faa5aa87f415ce03f99eb96
The file was modifiedllvm/include/llvm/Bitstream/BitstreamWriter.h
Commit 57dd92746a53526bd7a86c1cfc7c0dce57a2e170 by Jonas Devlieghere
[lldb] Return FileSP and StreamFileSP by value in IOHandler (NFC)

Smart pointers should be returned by value.
The file was modifiedlldb/source/Core/IOHandler.cpp
The file was modifiedlldb/include/lldb/Core/IOHandler.h
Commit c9af34027bc9cb852a4e5e96154a7bd89531a6de by craig.topper
Add __divmodti4 to match libgcc.

gcc has used this on x86-64 since at least version 7.

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D80506
The file was addedcompiler-rt/lib/builtins/divmodti4.c
The file was modifiedcompiler-rt/lib/builtins/CMakeLists.txt
The file was modifiedcompiler-rt/lib/builtins/README.txt
The file was addedcompiler-rt/test/builtins/Unit/divmodti4_test.c
Commit e69092be5247937213865289013185811d0fbc5e by i
[llvm-cov gcov][test] Move tests to gcov/

And rename llvm-cov.test (misnomer) to basic.test
The file was removedllvm/test/tools/llvm-cov/gcov-4.7.c
The file was removedllvm/test/tools/llvm-cov/gcov-8.c
The file was addedllvm/test/tools/llvm-cov/gcov/Inputs/gcov-9.gcno
The file was addedllvm/test/tools/llvm-cov/gcov/Inputs/gcov-4.7.gcda
The file was removedllvm/test/tools/llvm-cov/Inputs/test_no_gcda.cpp.gcov
The file was addedllvm/test/tools/llvm-cov/gcov/gcov-8.c
The file was addedllvm/test/tools/llvm-cov/gcov/Inputs/gcov-8.gcda
The file was removedllvm/test/tools/llvm-cov/Inputs/test.gcno
The file was removedllvm/test/tools/llvm-cov/Inputs/test.gcda
The file was addedllvm/test/tools/llvm-cov/gcov/Inputs/gcov-fake-4.2.gcda
The file was removedllvm/test/tools/llvm-cov/Inputs/test_func_checksum_fail.gcda
The file was removedllvm/test/tools/llvm-cov/Inputs/test_file_checksum_fail.gcda
The file was removedllvm/test/tools/llvm-cov/gcov-9.c
The file was addedllvm/test/tools/llvm-cov/gcov/intermediate-format.test
The file was removedllvm/test/tools/llvm-cov/Inputs/test_read_fail.gcno
The file was removedllvm/test/tools/llvm-cov/Inputs/test_no_gcda.h.gcov
The file was addedllvm/test/tools/llvm-cov/gcov/Inputs/test_no_options.cpp.gcov
The file was removedllvm/test/tools/llvm-cov/llvm-cov.test
The file was addedllvm/test/tools/llvm-cov/gcov/gcov-fake-4.2.c
The file was addedllvm/test/tools/llvm-cov/gcov/Inputs/test.gcda
The file was addedllvm/test/tools/llvm-cov/gcov/Inputs/test_paths.gcno
The file was addedllvm/test/tools/llvm-cov/gcov/Inputs/test_func_checksum_fail.gcda
The file was addedllvm/test/tools/llvm-cov/gcov/Inputs/test_no_gcda.cpp.gcov
The file was addedllvm/test/tools/llvm-cov/gcov/Inputs/gcov-fake-4.2.gcno
The file was removedllvm/test/tools/llvm-cov/Inputs/test_no_options.h.gcov
The file was addedllvm/test/tools/llvm-cov/gcov/gcov-4.7.c
The file was removedllvm/test/tools/llvm-cov/Inputs/gcov-8.gcda
The file was addedllvm/test/tools/llvm-cov/gcov/basic.test
The file was addedllvm/test/tools/llvm-cov/gcov/Inputs/test.cpp
The file was addedllvm/test/tools/llvm-cov/gcov/Inputs/test_no_options.h.gcov
The file was removedllvm/test/tools/llvm-cov/Inputs/gcov-9.gcno
The file was removedllvm/test/tools/llvm-cov/Inputs/gcov-9.gcda
The file was removedllvm/test/tools/llvm-cov/Inputs/gcov-4.7.gcno
The file was removedllvm/test/tools/llvm-cov/Inputs/test.cpp
The file was addedllvm/test/tools/llvm-cov/gcov/Inputs/gcov-9.gcda
The file was addedllvm/test/tools/llvm-cov/gcov/Inputs/test_file_checksum_fail.gcda
The file was removedllvm/test/tools/llvm-cov/Inputs/gcov-4.7.gcda
The file was removedllvm/test/tools/llvm-cov/Inputs/test_no_options.cpp.gcov
The file was addedllvm/test/tools/llvm-cov/gcov/gcov-9.c
The file was addedllvm/test/tools/llvm-cov/gcov/Inputs/test.h
The file was addedllvm/test/tools/llvm-cov/gcov/Inputs/gcov-4.7.gcno
The file was addedllvm/test/tools/llvm-cov/gcov/Inputs/test_read_fail.gcno
The file was removedllvm/test/tools/llvm-cov/Inputs/gcov-fake-4.2.gcno
The file was addedllvm/test/tools/llvm-cov/gcov/Inputs/gcov-8.gcno
The file was removedllvm/test/tools/llvm-cov/Inputs/test_paths.gcda
The file was removedllvm/test/tools/llvm-cov/Inputs/test_paths.gcno
The file was removedllvm/test/tools/llvm-cov/Inputs/test.h
The file was addedllvm/test/tools/llvm-cov/gcov/Inputs/test_paths.gcda
The file was removedllvm/test/tools/llvm-cov/gcov-fake-4.2.c
The file was addedllvm/test/tools/llvm-cov/gcov/Inputs/test_no_gcda.h.gcov
The file was addedllvm/test/tools/llvm-cov/gcov/Inputs/test.gcno
The file was removedllvm/test/tools/llvm-cov/gcov-intermediate-format.test
The file was removedllvm/test/tools/llvm-cov/Inputs/gcov-fake-4.2.gcda
The file was removedllvm/test/tools/llvm-cov/Inputs/gcov-8.gcno
Commit 027d47d1c7ce1708294f5273cde09b24c7cbab77 by ikudrin
[DebugInfo] Simplify DIEInteger::SizeOf().

An AsmPrinter should always be provided to the method because some forms
depend on its parameters. The only place in the codebase which passed
a nullptr value was found in the unit tests, so the patch updates it to
use some dummy AsmPrinter instead.

Differential Revision: https://reviews.llvm.org/D85293
The file was modifiedllvm/unittests/CodeGen/DIEHashTest.cpp
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DIE.cpp
Commit 4ce84b0e704ee7b8b13e236e65b3bf49da27a91c by thomasraoux
[mlir][spirv] Add GroupNonUniformBroadcastOp

Added GroupNonUniformBroadcastOp to spirv dialect.

Differential Revision: https://reviews.llvm.org/D87688
The file was modifiedmlir/include/mlir/Dialect/SPIRV/SPIRVBase.td
The file was modifiedmlir/include/mlir/Dialect/SPIRV/SPIRVNonUniformOps.td
The file was modifiedmlir/lib/Dialect/SPIRV/SPIRVOps.cpp
The file was modifiedmlir/test/Dialect/SPIRV/Serialization/non-uniform-ops.mlir
The file was modifiedmlir/test/Dialect/SPIRV/non-uniform-ops.mlir
Commit c16417f65f9a9eb3718efa3ece63ba910f91f77b by i
[llvm-cov gcov] Add --demangled-names (-m)

gcov 4.9 introduced the option.
The file was modifiedllvm/include/llvm/ProfileData/GCOV.h
The file was modifiedllvm/tools/llvm-cov/gcov.cpp
The file was modifiedllvm/lib/ProfileData/LLVMBuild.txt
The file was addedllvm/test/tools/llvm-cov/gcov/demangled-names.test
The file was modifiedllvm/lib/ProfileData/GCOV.cpp
Commit b05629230e9c7e90a2e70a761f7800afb1a8eefd by tpopp
[mlir] Remove redundant shape.cstr_broadcastable canonicalization.

These canonicalizations are already handled by folding which will occur
in a superset of situations, so they are being removed.

Differential Revision: https://reviews.llvm.org/D87706
The file was modifiedmlir/lib/Dialect/Shape/IR/Shape.cpp
Commit a2fb5446be960ad164060b3c05fc268f7f72d67a by qiucofan
[SelectionDAG] Check any use of negation result before removal

2508ef01 fixed a bug about constant removal in negation. But after
sanitizing check I found there's still some issue about it so it's
reverted.

Temporary nodes will be removed if useless in negation. Before the
removal, they'd be checked if any other nodes used it. So the removal
was moved after getNode. However in rare cases the node to be removed is
the same as result of getNode. We missed that and will be fixed by this
patch.

Reviewed By: steven.zhang

Differential Revision: https://reviews.llvm.org/D87614
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
The file was addedllvm/test/CodeGen/X86/pr47517.ll
Commit 6637d72ddd3cf4cf3a7e6dfc227a86999137badb by sjoerd.meijer
[Lint] Add check for intrinsic get.active.lane.mask

As @efriedma pointed out in D86301, this "not equal to 0 check" of
get.active.lane.mask's second operand needs to live here in Lint and not the
Verifier.

Differential Revision: https://reviews.llvm.org/D87228
The file was modifiedllvm/lib/Analysis/Lint.cpp
The file was addedllvm/test/Analysis/Lint/get-active-lane-mask.ll