SuccessChanges

Summary

  1. Revert rGf835779160ec303 "[APFloat] multiplySignificand - always pass IEEEFloat as const reference. NFCI." (details)
  2. [lldb] Ignore certain Clang type sugar when creating the type name (details)
  3. [ARM][TTI] Prevents constants in a min(max) or max(min) pattern from being hoisted when in a loop (details)
  4. [SCEV] Handle `less` predicates for FoundPred = NE (details)
  5. [SystemZ][z/OS] Set default wchar_t type for zOS (details)
Commit a15b42146c617777b364e3b63babf1de547b9f26 by llvm-dev
Revert rGf835779160ec303 "[APFloat] multiplySignificand - always pass IEEEFloat as const reference. NFCI."

This reverts commit f835779160ec30340676918915526615a07e826e while I investigate some buildbot failures
The file was modifiedllvm/lib/Support/APFloat.cpp (diff)
The file was modifiedllvm/include/llvm/ADT/APFloat.h (diff)
Commit b5e49e91cb90eda1f926139c8567e27f1b664cc1 by Raphael Isemann
[lldb] Ignore certain Clang type sugar when creating the type name

Clang has some type sugar that only serves as a way to preserve the way a user
has typed a certain type in the source code. These types are currently not
unwrapped when we query the type name for a Clang type, which means that this
type sugar actually influences what formatters are picked for a certain type.
Currently if a user decides to reference a type by doing `::GlobalDecl Var = 3;`,
the type formatter for `GlobalDecl` will not be used (as the type sugar
around the type gives it the name `::GlobalDecl`. The same goes for other ways
to spell out a type such as `auto` etc.

With this patch most of this type sugar gets stripped when the full type name is
calculated. Typedefs are not getting desugared as that seems counterproductive.
I also don't desugar atomic types as that's technically not type sugar.

Reviewed By: jarin

Differential Revision: https://reviews.llvm.org/D87481
The file was modifiedlldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp (diff)
The file was addedlldb/test/API/lang/cpp/elaborated-types/TestElaboratedTypes.py
The file was addedlldb/test/API/lang/cpp/elaborated-types/Makefile
The file was addedlldb/test/API/lang/cpp/elaborated-types/main.cpp
Commit a3d0dce2608bb399f2bf0122d8c6a4c7b4d6c1fa by meera.nakrani
[ARM][TTI] Prevents constants in a min(max) or max(min) pattern from being hoisted when in a loop

Changes TTI function getIntImmCostInst to take an additional Instruction parameter,
which enables us to be able to check it is part of a min(max())/max(min()) pattern that will match SSAT.
We can then mark the constant used as free to prevent it being hoisted so SSAT can still be generated.
Required minor changes in some non-ARM backends to allow for the optional parameter to be included.

Differential Revision: https://reviews.llvm.org/D87457
The file was modifiedllvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp (diff)
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetTransformInfo.h (diff)
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp (diff)
The file was modifiedllvm/lib/Target/PowerPC/PPCTargetTransformInfo.h (diff)
The file was modifiedllvm/lib/Target/Lanai/LanaiTargetTransformInfo.h (diff)
The file was modifiedllvm/lib/Target/RISCV/RISCVTargetTransformInfo.h (diff)
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.cpp (diff)
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfoImpl.h (diff)
The file was modifiedllvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp (diff)
The file was modifiedllvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h (diff)
The file was modifiedllvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp (diff)
The file was modifiedllvm/lib/Target/X86/X86TargetTransformInfo.h (diff)
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.h (diff)
The file was modifiedllvm/lib/Transforms/Scalar/ConstantHoisting.cpp (diff)
The file was modifiedllvm/lib/Target/X86/X86TargetTransformInfo.cpp (diff)
The file was modifiedllvm/test/CodeGen/Thumb2/mve-satmul-loops.ll (diff)
The file was modifiedllvm/lib/Analysis/TargetTransformInfo.cpp (diff)
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfo.h (diff)
Commit e2703c021d844ea0e5c1b203a4bd534e7a231997 by mkazantsev
[SCEV] Handle `less` predicates for FoundPred = NE

Currently these predicates are ignored, yet their handling is
pretty simple. I could not find a single test where it would
actually change something, but it's only because isImpliedCondOperands
is not smart enough to prove it further on. Yet the situation when
we come there with `less` predicate is pretty common.

Differential Revision: https://reviews.llvm.org/D87890
Reviewed By: fhahn
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp (diff)
Commit 0fb97fd6a4f2ec9267a1f4d039ec8895c2460ab7 by Abhina.Sreeskantharajan
[SystemZ][z/OS] Set default wchar_t type for zOS

Set the default wchar_t type on z/OS, and unsigned as the default.

Reviewed By: hubert.reinterpretcast, fanbo-meng

Differential Revision: https://reviews.llvm.org/D87624
The file was modifiedclang/test/Sema/wchar.c (diff)
The file was modifiedclang/lib/Basic/Targets/OSTargets.h (diff)
The file was modifiedclang/test/Preprocessor/wchar_t.c (diff)
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp (diff)
The file was modifiedclang/test/CodeGen/wchar-size.c (diff)
The file was modifiedclang/test/Lexer/wchar-signedness.c (diff)