SuccessChanges

Summary

  1. [libcxx] Fix C++14 and up constexpr members in MoveOnly. (details)
  2. [X86] Teach combineTruncatedArithmetic to push truncate through subtracts where only one of the inputs is free to truncate. (details)
  3. [libc++] [LWG3201] Update status page: lerp should be marked noexcept. (details)
  4. [Transforms] Fix typos. NFC (details)
  5. [LoopUnroll] Remove dead NextBlocks argument (NFC). (details)
  6. [Inlining] Set inline-deferral-scale to 2. (details)
  7. [Clang][test] fix tests when using external assembler. (details)
  8. [clang][test] fix tests for external assemblers (details)
Commit 37ef15143a5d77a0fba0ece4c26a72cfb9e050a0 by zoecarver
[libcxx] Fix C++14 and up constexpr members in MoveOnly.

Summary: a4b8ee6 made all MoveOnly members constexpr but, some members and constructors contain expressions that are only valid in C++14 and later. This patch prefixes those methods and constructors with TEST_CONSTEXPR_CXX14.

Reviewers: ldionne, #libc!

Subscribers: dexonsmith, libcxx-commits

Tags: #libc

Differential Revision: https://reviews.llvm.org/D80482
The file was modifiedlibcxx/test/support/MoveOnly.h
Commit 51a276c759c90c844bbabf5066195aaf42fb0c6e by craig.topper
[X86] Teach combineTruncatedArithmetic to push truncate through subtracts where only one of the inputs is free to truncate.

Fix combineSubToSubus to handle the new DAG to avoid a regression.

There are still regressions in test14/test15/test16. Where it
looks like were trying to set up cases we could match to
umin+trunc+subus but the handling was never finished. The
regression here isn't unique to sub. Its a lost opportunity for
taking an AND with two truncated inputs and producing a larger
AND with a single truncate. The same thing could happen with
any other node we handle in combineTruncatedArithmetic since we
are moving the truncate up the DAG.

Differential Revision: https://reviews.llvm.org/D80483
The file was modifiedllvm/test/CodeGen/X86/psubus.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit d1dbda10cefeaa124e28eb289cdc92c049c3d973 by marek
[libc++] [LWG3201] Update status page: lerp should be marked noexcept.

Summary: Update status page and test synopsis. Add synopsis in <cmath>.

Reviewed By: ldionne, #libc

Differential Revision: https://reviews.llvm.org/D80456
The file was modifiedlibcxx/www/cxx2a_status.html
The file was modifiedlibcxx/include/cmath
The file was modifiedlibcxx/test/std/numerics/c.math/c.math.lerp/c.math.lerp.pass.cpp
Commit bc93c2d72e84c38fc86e64c9c26aafcf2c61457a by marek
[Transforms] Fix typos. NFC
The file was modifiedllvm/lib/Transforms/IPO/OpenMPOpt.cpp
The file was modifiedllvm/test/Transforms/RewriteStatepointsForGC/preprocess.ll
The file was modifiedllvm/include/llvm/Transforms/Utils/CallGraphUpdater.h
The file was modifiedllvm/lib/Transforms/Instrumentation/PoisonChecking.cpp
The file was modifiedllvm/lib/Transforms/Scalar/LoopPredication.cpp
The file was modifiedllvm/lib/Transforms/IPO/AttributorAttributes.cpp
Commit 179c80117c91fc3ba3079740a91de40d98b18916 by flo
[LoopUnroll] Remove dead NextBlocks argument (NFC).
The file was modifiedllvm/lib/Transforms/Utils/LoopUnroll.cpp
Commit cec20db588254289dc2953517310b9886f6dc243 by kazu
[Inlining] Set inline-deferral-scale to 2.

Summary:
This patch sets inline-deferral-scale to 2.

Both internal and SPEC benchmarking show that 2 is the best number
among -1, 2, 3, and 4.

inline-deferral-scale  SPECint2006
------------------------------------------------------------
                   -1  38.0 (the default without this patch)
                    2  38.5
                    3  38.1
                    4  38.1

With the new default number, shouldBeDeferred returns true if:

  TotalCost < IC.getCost() * 2

where

  TotalCost is TotalSecondaryCost + IC.getCost() * NumCallerUsers.

If TotalCost >= 0 and NumCallerUsers >= 2, then
TotalCost >= IC.getCost() * 2, so shouldBeDeferred returns true only
when NumCallerUsers is 1.

Now, if TotalSecondaryCost < 0, which can happen if
InlineConstants::LastCallToStaticBonus, a huge number, has been
subtracted from TotalSecondaryCost, then TotalCost may be negative.
In this case, shouldBeDeferred may return true even when
NumCallerUsers >= 2.

Reviewers: davidxl, nikic

Reviewed By: davidxl

Subscribers: xbolva00, hiraditya, dexonsmith, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D80229
The file was modifiedllvm/lib/Analysis/InlineAdvisor.cpp
Commit 3a2df3bad07f7e5fc22538ad782e08ee55f29e41 by Yuanfang Chen
[Clang][test] fix tests when using external assembler.

Summary:
The test assume using integraed-as, so make it explicit.

Reviewered by: aganea

Differential Revision: https://reviews.llvm.org/D80454
The file was modifiedclang/test/Driver/cc1-spawnprocess.c
Commit 9a8d7bd77040a6497233ea10fd866ad9de8bf98c by Yuanfang Chen
[clang][test] fix tests for external assemblers

These three tests depend on using the integrated assembler. Make it
explicit by specifying -fintegrated-as.
The file was modifiedclang/test/Driver/flang/flang.f90
The file was modifiedclang/test/Driver/flang/flang_ucase.F90
The file was modifiedclang/test/Driver/debug-prefix-map.S