[all-commits] [llvm/llvm-project] d489df: [libc++][PSTL] Disable `-Wpass-failed`.

Mark de Wever via All-commits all-commits at lists.llvm.org
Mon Aug 21 01:08:21 PDT 2023


  Branch: refs/heads/release/17.x
  Home:   https://github.com/llvm/llvm-project
  Commit: d489df7cfbfbb30a6440e2961106bd2f832f1494
      https://github.com/llvm/llvm-project/commit/d489df7cfbfbb30a6440e2961106bd2f832f1494
  Author: Konstantin Varlamov <varconsteq at gmail.com>
  Date:   2023-08-21 (Mon, 21 Aug 2023)

  Changed paths:
    M libcxx/utils/libcxx/test/params.py

  Log Message:
  -----------
  [libc++][PSTL] Disable `-Wpass-failed`.

PSTL contains many pragmas that request loop vectorization, which would
produce a warning when the compiler is unable to fulfill the request (if
`-Wpass-failed` is enabled). This is normal and expected in some cases,
and we don't want `-Werror` to turn that into a compilation failure.

Differential Revision: https://reviews.llvm.org/D157145

(cherry picked from commit 1d340250a894b6ec956e2145b2fc7babbf83e61b)


  Commit: b89a2ac64f641e8d38fcb15c626b0a9707013bba
      https://github.com/llvm/llvm-project/commit/b89a2ac64f641e8d38fcb15c626b0a9707013bba
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2023-08-21 (Mon, 21 Aug 2023)

  Changed paths:
    M llvm/include/llvm/CodeGen/CodeGenPassBuilder.h
    M llvm/include/llvm/CodeGen/PreISelIntrinsicLowering.h
    M llvm/lib/CodeGen/PreISelIntrinsicLowering.cpp
    A llvm/test/CodeGen/ARM/no-expand-memcpy-no-builtins.ll
    A llvm/test/Transforms/PreISelIntrinsicLowering/X86/lit.local.cfg
    A llvm/test/Transforms/PreISelIntrinsicLowering/X86/load-relative.ll
    A llvm/test/Transforms/PreISelIntrinsicLowering/X86/objc-arc.ll
    R llvm/test/Transforms/PreISelIntrinsicLowering/load-relative.ll
    R llvm/test/Transforms/PreISelIntrinsicLowering/objc-arc.ll

  Log Message:
  -----------
  PreISelIntrinsicLowering: Check RuntimeLibcalls instead of TLI for memory functions

We need a better mechanism for expressing which calls you are allowed
to emit and which calls are recognized. This should be applied to the
17 branch.

(cherry picked from commit c8cac156135de8e211b800ea5abe9666803b2875)


  Commit: 45d5dfbd1f76b1cb0fc7f7a0076599f04262139b
      https://github.com/llvm/llvm-project/commit/45d5dfbd1f76b1cb0fc7f7a0076599f04262139b
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-08-21 (Mon, 21 Aug 2023)

  Changed paths:
    M llvm/lib/CodeGen/PreISelIntrinsicLowering.cpp

  Log Message:
  -----------
  [PreISelIntrinsicLowering] Use TLI for correct function

We should query the subtarget of the calling function, not of the
intrinsic.

This probably makes no functional difference (as libcalls are
unlikely to vary across subtargets), but fixes minor compile-time
regressions from unnecessary subtarget instantiations.

Followup to D157567.

Differential Revision: https://reviews.llvm.org/D157848

(cherry picked from commit 66bb7521625826cab6fcc24662c053deee1ef90c)


  Commit: 1ba6abce1f55323c065d7ec3ef1700c53dffa862
      https://github.com/llvm/llvm-project/commit/1ba6abce1f55323c065d7ec3ef1700c53dffa862
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2023-08-21 (Mon, 21 Aug 2023)

  Changed paths:
    M llvm/docs/AMDGPUUsage.rst
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/test/CodeGen/AMDGPU/llvm.log2.ll

  Log Message:
  -----------
  AMDGPU: Fix fast math log2 f32

Apparently afn doesn't allow you to drop the denormal handling
according to OpenCL conformance. This was hidden by losing the flags
during the library linking process. Fast log is still broken and needs
more work.

https://reviews.llvm.org/D157936
(cherry picked from commit e09b3593ba64d004a9d2b3fa41be2ba84f968a88)


  Commit: 216fdc890d0ed5c516ff1487f3a1497e75b5a156
      https://github.com/llvm/llvm-project/commit/216fdc890d0ed5c516ff1487f3a1497e75b5a156
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2023-08-21 (Mon, 21 Aug 2023)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h
    M llvm/test/CodeGen/AMDGPU/llvm.log.ll
    M llvm/test/CodeGen/AMDGPU/llvm.log10.ll

  Log Message:
  -----------
  AMDGPU: Fix fast f32 log/log10

OpenCL conformance didn't like interpreting afn as ignore the denormal
handling.

https://reviews.llvm.org/D157940
(cherry picked from commit 4b7b4b945856c46b91ade7b6c4264fe8e258367e)


  Commit: 2129ee65d58a2f52dcead48d5dba3e04d0882dd7
      https://github.com/llvm/llvm-project/commit/2129ee65d58a2f52dcead48d5dba3e04d0882dd7
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2023-08-21 (Mon, 21 Aug 2023)

  Changed paths:
    M llvm/docs/AMDGPUUsage.rst
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    R llvm/test/CodeGen/AMDGPU/input-mods.ll
    A llvm/test/CodeGen/AMDGPU/input-mods.r600.ll
    M llvm/test/CodeGen/AMDGPU/llvm.exp2.ll

  Log Message:
  -----------
  AMDGPU: Fix fast f32 exp2

Mirror of the previous log changes, OpenCL conformance doesn't like
interpreting afn as ignore denormal handling but was previously hidden
by flag dropping.

(cherry picked from commit 81b278e613fb3bcdf8053f7a6b5dd2f3881898d2)


  Commit: db0bf3b664422b758e659f93cc1cfda49cbaa507
      https://github.com/llvm/llvm-project/commit/db0bf3b664422b758e659f93cc1cfda49cbaa507
  Author: Piotr Fusik <piotr at fusion-lang.org>
  Date:   2023-08-21 (Mon, 21 Aug 2023)

  Changed paths:
    M libcxx/include/sstream

  Log Message:
  -----------
  [libc++] Work around dynamic linking of stringstream::str() on Windows

Also `istringstream::str()` and `ostringstrem::str()`.

https://github.com/llvm/llvm-project/issues/40363 causes `str()`
to be dllimport'ed despite _LIBCPP_HIDE_FROM_ABI.
This is a temporary solution until #40363 is fixed.

Reviewed By: #libc, thakis, philnik

Differential Revision: https://reviews.llvm.org/D157602

(cherry picked from commit 090996f4a1186b1522e1225b6779d74ce9da250c)


  Commit: 271731ed706511b501a22e2df909cbdc27219846
      https://github.com/llvm/llvm-project/commit/271731ed706511b501a22e2df909cbdc27219846
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2023-08-21 (Mon, 21 Aug 2023)

  Changed paths:
    M libcxx/CMakeLists.txt
    M libcxxabi/CMakeLists.txt

  Log Message:
  -----------
  [libc++] Fix a few incorrect CMake configuration options

This patch fixes a few CMake options that were set using incorrect
mechanisms.

CMake's man page for the -D <var>=<value> option states: If a command in
the project sets the type to PATH or FILEPATH, then the <value> will be
converted to an absolute path. That's not what we want for most of the
paths we have as configuration options. Otherwise, using -D to set the
configuration option results in an absolute path being used, which
breaks things.

option() denotes a boolean variable, but what was desired was a
string/list variable. Fix this to prevent cmake from changing any
non-empty user provided values to 'ON'.

Differential Revision: https://reviews.llvm.org/D157926

(cherry picked from commit 760261a3daf98882ccbd177e3133fb4a058f47ad)


  Commit: 4590c90b994c5d56ed089f780c5f42e300783bfe
      https://github.com/llvm/llvm-project/commit/4590c90b994c5d56ed089f780c5f42e300783bfe
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2023-08-21 (Mon, 21 Aug 2023)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/CodeGenOptions.def
    M clang/include/clang/Driver/Options.td
    M clang/lib/CodeGen/BackendUtil.cpp
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    R clang/test/CodeGen/fat-lto-objects.c
    M clang/test/Driver/clang_f_opts.c
    R clang/test/Driver/fat-lto-objects.c

  Log Message:
  -----------
  Revert "[clang] Preliminary fat-lto-object support"

FatLTO support is only half complete, and shouldn't be included in the
17.x release. https://reviews.llvm.org/D152973.

This reverts commit 5784c47806cf276e8fcc1311201f437cb8169261.
This reverts commit 610fc5cbcc8b68879c562f6458608afe2473ab7f.


  Commit: 038b489d6440f9ef3bcdbc47229c8952d41dd947
      https://github.com/llvm/llvm-project/commit/038b489d6440f9ef3bcdbc47229c8952d41dd947
  Author: Nathan Ridge <zeratul976 at hotmail.com>
  Date:   2023-08-21 (Mon, 21 Aug 2023)

  Changed paths:
    M clang-tools-extra/clangd/SystemIncludeExtractor.cpp

  Log Message:
  -----------
  [clangd] Avoid passing -xobjective-c++-header to the system include extractor

Fixes https://github.com/clangd/clangd/issues/1568

Differential Revision: https://reviews.llvm.org/D147905

(cherry picked from commit bd74186f1a0831b2c596e87ea056419379a223c1)


  Commit: d6cd0577c1088b38995e4a1df8b80507651bfba3
      https://github.com/llvm/llvm-project/commit/d6cd0577c1088b38995e4a1df8b80507651bfba3
  Author: Stefan Gränitz <stefan.graenitz at gmail.com>
  Date:   2023-08-21 (Mon, 21 Aug 2023)

  Changed paths:
    M lldb/source/Plugins/LanguageRuntime/ObjC/GNUstepObjCRuntime/GNUstepObjCRuntime.cpp

  Log Message:
  -----------
  [lldb] Fix performance regression after adding GNUstep ObjC runtime

We added support for the GNUstep ObjC runtime in 0b6264738f3d. In order to check if the target process uses
GNUstep we run an expensive symbol lookup in `CreateInstance()`. This turned out to cause a heavy performance
regression for non-GNUstep inferiors.

This patch puts a cheaper check in front, so that the vast majority of requests should return early. This
should fix the symptom for the moment. The conceptual question remains: Why does `LanguageRuntime::FindPlugin`
invoke `create_callback` for each available runtime unconditionally in every `Process::ModulesDidLoad`?

Reviewed By: jasonmolenda, jingham, bulbazord

Differential Revision: https://reviews.llvm.org/D158205

(cherry picked from commit af2eb838309d88f046d34bca6055f1de6078fa3b)


  Commit: 731c93ffe7513c0aa5659fc247c070feccc5989a
      https://github.com/llvm/llvm-project/commit/731c93ffe7513c0aa5659fc247c070feccc5989a
  Author: Jonas Hahnfeld <jonas.hahnfeld at cern.ch>
  Date:   2023-08-21 (Mon, 21 Aug 2023)

  Changed paths:
    M clang/lib/Parse/ParseTentative.cpp
    M clang/test/Interpreter/disambiguate-decl-stmt.cpp

  Log Message:
  -----------
  [clang-repl] Disambiguate global namespace identifiers

A double colon starts an identifier name in the global namespace and
must be tentatively parsed as such.

Differential Revision: https://reviews.llvm.org/D157480

(cherry picked from commit ba475a4a3440a21e5de6a39a16215836f2614f04)


  Commit: c202e5c200b22b95c6986852014e263ddd249c2b
      https://github.com/llvm/llvm-project/commit/c202e5c200b22b95c6986852014e263ddd249c2b
  Author: Jonas Hahnfeld <jonas.hahnfeld at cern.ch>
  Date:   2023-08-21 (Mon, 21 Aug 2023)

  Changed paths:
    M clang/lib/CodeGen/CGCXXABI.cpp
    M clang/lib/CodeGen/CGDecl.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGExprConstant.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenModule.h
    M clang/lib/CodeGen/ItaniumCXXABI.cpp
    M clang/lib/CodeGen/MicrosoftCXXABI.cpp

  Log Message:
  -----------
  [CodeGen] Remove Constant arguments from linkage functions, NFCI.

This was unused since commit dd2362a8ba last year.

Differential Revision: https://reviews.llvm.org/D156891

(cherry picked from commit 2f3fe3ed97bcf778d73eda5aae9f166810a4af02)


  Commit: 3a38e93ee086ad7946b70fa103aac6dda16a72aa
      https://github.com/llvm/llvm-project/commit/3a38e93ee086ad7946b70fa103aac6dda16a72aa
  Author: Jonas Hahnfeld <jonas.hahnfeld at cern.ch>
  Date:   2023-08-21 (Mon, 21 Aug 2023)

  Changed paths:
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenModule.h

  Log Message:
  -----------
  [CodeGen] Clean up access to EmittedDeferredDecls, NFCI.

GlobalDecls should only be added to EmittedDeferredDecls if they
need reemission. This is checked in addEmittedDeferredDecl, which
is called via addDeferredDeclToEmit. Extend these checks to also
handle VarDecls (for lambdas, as tested in Interpreter/lambda.cpp)
and remove the direct access of EmittedDeferredDecls in EmitGlobal
that may actually end up duplicating FunctionDecls.

Differential Revision: https://reviews.llvm.org/D156897

(cherry picked from commit b719e410781ce9f3a2b316afea31c156bf99e036)


  Commit: 0a3a9197247edbd33803a3691efa513ac228860f
      https://github.com/llvm/llvm-project/commit/0a3a9197247edbd33803a3691efa513ac228860f
  Author: Jonas Hahnfeld <jonas.hahnfeld at cern.ch>
  Date:   2023-08-21 (Mon, 21 Aug 2023)

  Changed paths:
    M clang/lib/CodeGen/CodeGenModule.h

  Log Message:
  -----------
  [CodeGen] Restrict addEmittedDeferredDecl to incremental extensions

Reemission is only needed in incremental mode. With this early return,
we avoid overhead from addEmittedDeferredDecl in non-incremental mode.

Differential Revision: https://reviews.llvm.org/D157379

(cherry picked from commit d43a3d6346961e639e29b8083b262416889e78ec)


  Commit: 1f669d35fc1f93f48fda419801034248c6412205
      https://github.com/llvm/llvm-project/commit/1f669d35fc1f93f48fda419801034248c6412205
  Author: Jonas Hahnfeld <jonas.hahnfeld at cern.ch>
  Date:   2023-08-21 (Mon, 21 Aug 2023)

  Changed paths:
    M clang/lib/CodeGen/CodeGenModule.cpp
    A clang/test/Interpreter/inline-virtual.cpp

  Log Message:
  -----------
  [CodeGen] Keep track of eagerly emitted globals

An inline virtual function must be emitted, but we need to remember
it and emit the same definition again in the future in case later
LLVM optimizations stripped it from the Module. The added test case
shows the problem; before this patch, it would fail with:
    Symbols not found: [ _ZN1AD0Ev, _ZN1AD1Ev ]

This reapplies commit f8dadefd4a, reverted in commit 0e17372b38, but
disables RTTI in the test to avoid problems on Windows.

Differential Revision: https://reviews.llvm.org/D156537

(cherry picked from commit c861d32d7c2791bdc058d9d9fbaecc1c2f07b8c7)


  Commit: 9d0f5bf1bbc3f758336ddf5ffaf94e5fe418b5b2
      https://github.com/llvm/llvm-project/commit/9d0f5bf1bbc3f758336ddf5ffaf94e5fe418b5b2
  Author: Paul Robinson <paul.robinson at sony.com>
  Date:   2023-08-21 (Mon, 21 Aug 2023)

  Changed paths:
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/lib/CodeGen/CGDebugInfo.h
    M clang/test/CodeGenCXX/debug-info-function-context.cpp

  Log Message:
  -----------
  Reapply "[DebugInfo] Alternate (more efficient) MD5 fix"

D155991 changed the file lookup to do a full string compare on the
filename; however, this added ~0.5% to compile time with -g.
Go back to the previous pointer-based lookup, but capture the main
file's checksum as well as its name to use when creating the extra
DIFile entry. This causes all entries to be consistent and also
avoids computing the checksum twice.

This reverts commit 5956648fc3ba11dd6b0d0f2d1d9b923e7f80f247.
There was a string lifetime issue that is now corrected.

Differential Revision: https://reviews.llvm.org/D156571

(cherry picked from commit 1fcc2bc31bb9352a13445ff4a5cccb0bebb8ea5b)


  Commit: 910a73d3e97f77a053f5bb1690d8ce44ef77bbf9
      https://github.com/llvm/llvm-project/commit/910a73d3e97f77a053f5bb1690d8ce44ef77bbf9
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-08-21 (Mon, 21 Aug 2023)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp

  Log Message:
  -----------
  [RISCV] Fix a UBSAN failure for passing INT64_MIN to std::abs.

clang recently started checking for INT64_MIN being passed to 64-bit std::abs.

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D158304

(cherry picked from commit 078eb4bd85ddaac530bf2919bb32c6daa6c3e36f)


  Commit: 3444abf2f34c877d1ddced83a401740b2c61b6ed
      https://github.com/llvm/llvm-project/commit/3444abf2f34c877d1ddced83a401740b2c61b6ed
  Author: Fangrui Song <i at maskray.me>
  Date:   2023-08-21 (Mon, 21 Aug 2023)

  Changed paths:
    M llvm/tools/llvm-readobj/ELFDumper.cpp

  Log Message:
  -----------
  [llvm-readobj] Fix std::abs overflow after D156821

Tested by llvm/test/tools/llvm-readobj/ELF/relocations.test

(cherry picked from commit 07bb66784c17ef6b98ce38f9cc74d1d92f1aac08)


  Commit: 0c756c5906670fe5337812eeffdea7db02804f67
      https://github.com/llvm/llvm-project/commit/0c756c5906670fe5337812eeffdea7db02804f67
  Author: Fangrui Song <i at maskray.me>
  Date:   2023-08-21 (Mon, 21 Aug 2023)

  Changed paths:
    M llvm/lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpp

  Log Message:
  -----------
  [ARM] Fix abs overflow when encoding instructions like strb r1, [r0], #-0

Tested by llvm/test/MC/ARM/basic-thumb2-instructions.s.
Caught by newer -fsanitize=signed-integer-overflow (D156821).

(cherry picked from commit d8900f661a6e451be0ca253df3065254008dd93a)


  Commit: 5fe16ba0266e6f6cc10a5a13f2ad58500993cbf9
      https://github.com/llvm/llvm-project/commit/5fe16ba0266e6f6cc10a5a13f2ad58500993cbf9
  Author: Fangrui Song <i at maskray.me>
  Date:   2023-08-21 (Mon, 21 Aug 2023)

  Changed paths:
    M llvm/include/llvm/CodeGen/LowLevelType.h

  Log Message:
  -----------
  LowLevelType: replace a reachable llvm_unreachable with assert

assert is more appropriate here and fixes
`runtime error: execution reached an unreachable program point` in a
-DLLVM_USE_SANITIZER=Undefined build (-fno-sanitize-recover=all causes
llc to exit instead of crash (report_fatal_error)) when testing
MachineVerifier/test_g_assert_[sz]ext.mir.

(cherry picked from commit a7e20dd664bbce6e87b1fdad88d719e497902a42)


  Commit: 4ec6595d6e5bb62839524ecfe6d6699d12c4f7dd
      https://github.com/llvm/llvm-project/commit/4ec6595d6e5bb62839524ecfe6d6699d12c4f7dd
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2023-08-21 (Mon, 21 Aug 2023)

  Changed paths:
    M libcxx/docs/ReleaseNotes/17.rst

  Log Message:
  -----------
  [libc++][doc] Marks LLVM-17 release notes as final.

Reviewed By: #libc, philnik

Differential Revision: https://reviews.llvm.org/D158340

(cherry picked from commit 71a7192d6927b422c224f5d231300774cb02348a)


Compare: https://github.com/llvm/llvm-project/compare/242fe2d8d86e...4ec6595d6e5b


More information about the All-commits mailing list