SuccessChanges

Summary

  1. [libcxx] ostream{,buf}_iterator::difference_type changes in C++20 (details)
  2. Assert we've found the size of each (non-overlapping) structure. NFCI. (details)
  3. [MemorySSA] Precommit test case for PR47498. (details)
  4. [MemorySSA] Make sure PerformedPhiTrans is updated for each visited def. (details)
  5. [InstSimplify] allow folds for fmin/fmax with 'ninf' (details)
Commit 71a16e40f78adee12663816edf6635b96dca09dc by Louis Dionne
[libcxx] ostream{,buf}_iterator::difference_type changes in C++20

In C++20, since P0896R4, std::ostream_iterator and std::ostreambuf_iterator
must have std::ptrdiff_t instead of void as a difference_type.

Tests by Casey Carter (thanks!).

Differential Revision: https://reviews.llvm.org/D87459
The file was modifiedlibcxx/include/iterator (diff)
The file was modifiedlibcxx/test/std/iterators/stream.iterators/ostream.iterator/types.pass.cpp (diff)
The file was modifiedlibcxx/test/std/iterators/stream.iterators/ostreambuf.iterator/types.pass.cpp (diff)
Commit 3b7708e2deb48befcef764fb69f9217f55ac1155 by llvm-dev
Assert we've found the size of each (non-overlapping) structure. NFCI.

Fixes clang static analyzer warning.
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.cpp (diff)
Commit f07f3c72375b872bfb988f7531d4e0485233ade1 by flo
[MemorySSA] Precommit test case for PR47498.
The file was modifiedllvm/test/Analysis/MemorySSA/phi-translation.ll (diff)
Commit c4f1b3144184e4c276a7e7c801cbcd4ac3c573ba by flo
[MemorySSA] Make sure PerformedPhiTrans is updated for each visited def.

1ce82015f6d0 added a fix to restrict phi optimizations after phi
translations. But the current use of performedPhiTranslation only
checked whether phi translation happened for the first iterator and
missed cases where phi translations happens at subsequent
iterators/upwards defs.

This patch changes upward_defs_iteartor to take a pointer to a bool, so
we can easily ensure the final value includes all visited defs, while
still being able to conveniently use it with make_range & co.
The file was modifiedllvm/lib/Analysis/MemorySSA.cpp (diff)
The file was modifiedllvm/test/Analysis/MemorySSA/phi-translation.ll (diff)
The file was modifiedllvm/include/llvm/Analysis/MemorySSA.h (diff)
Commit 7526376164801cc758c94217931ab025bc226b0e by spatel
[InstSimplify] allow folds for fmin/fmax with 'ninf'

maxnum(ninf X, +FLT_MAX) --> +FLT_MAX
minnum(ninf X, -FLT_MAX) --> -FLT_MAX

This is based on the similar codegen transform proposed in:
D87571
The file was modifiedllvm/test/Transforms/InstSimplify/fminmax-folds.ll (diff)
The file was modifiedllvm/lib/Analysis/InstructionSimplify.cpp (diff)