[all-commits] [llvm/llvm-project] 5445ed: [PassBuilder] Replace `bool LTOPreLink` with `Thin...

Krzysztof Parzyszek via All-commits all-commits at lists.llvm.org
Sat Nov 2 11:07:21 PDT 2024


  Branch: refs/heads/users/kparzysz/spr/d05-flang-motion-iter
  Home:   https://github.com/llvm/llvm-project
  Commit: 5445edb5d6667333f829f03932c2fc6a607e8306
      https://github.com/llvm/llvm-project/commit/5445edb5d6667333f829f03932c2fc6a607e8306
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2024-11-01 (Fri, 01 Nov 2024)

  Changed paths:
    M llvm/include/llvm/Passes/PassBuilder.h
    M llvm/lib/Passes/PassBuilderPipelines.cpp

  Log Message:
  -----------
  [PassBuilder] Replace `bool LTOPreLink` with `ThinOrFullLTOPhase Phase` (#114564)

This will allow more fine-grained control in the future.


  Commit: a795a18bbae1800d8ee6b2eb23bc2a454a1269ef
      https://github.com/llvm/llvm-project/commit/a795a18bbae1800d8ee6b2eb23bc2a454a1269ef
  Author: Han-Kuan Chen <hankuan.chen at sifive.com>
  Date:   2024-11-02 (Sat, 02 Nov 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/RISCV/revec.ll

  Log Message:
  -----------
  [SLP][REVEC] VF should be scaled when ScalarTy is FixedVectorType. (#114551)


  Commit: cd340a49570a5da13b98a866b8165999e9840668
      https://github.com/llvm/llvm-project/commit/cd340a49570a5da13b98a866b8165999e9840668
  Author: Henrich Lauko <xlauko at mail.muni.cz>
  Date:   2024-11-01 (Fri, 01 Nov 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Ptr/IR/PtrOps.td

  Log Message:
  -----------
  [mlir][Ptr] Fix license url typo (#114555)


  Commit: 1a187674a116518e3c79f21df40cdb2ddf5ca312
      https://github.com/llvm/llvm-project/commit/1a187674a116518e3c79f21df40cdb2ddf5ca312
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-11-01 (Fri, 01 Nov 2024)

  Changed paths:
    M libcxx/include/__locale_dir/locale_base_api.h
    M libcxx/include/__locale_dir/locale_base_api/bsd_locale_defaults.h
    M libcxx/include/__locale_dir/locale_base_api/bsd_locale_fallbacks.h
    M libcxx/include/locale
    M libcxx/test/libcxx/clang_modules_include.gen.py

  Log Message:
  -----------
  [libc++] Use proper functions instead of macros in bsd_locale_defaults.h (#113759)

We were using macros instead of functions, leading to the inability to
properly qualify calls to those symbols inside <locale>. This is also a
step towards making the locale API modules-correct.


  Commit: 32473864cb4631780095e25a0378663b98a11188
      https://github.com/llvm/llvm-project/commit/32473864cb4631780095e25a0378663b98a11188
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-11-01 (Fri, 01 Nov 2024)

  Changed paths:
    M flang/runtime/CUDA/memory.cpp
    M flang/unittests/Runtime/CUDA/Memory.cpp

  Log Message:
  -----------
  [flang][cuda] Data transfer with descriptor (#114598)

Reopen PR #114302 as it was automatically closed. 

Review in #114302


  Commit: 308c00749ddb76b2e77934e986001b7fd4ad5cdc
      https://github.com/llvm/llvm-project/commit/308c00749ddb76b2e77934e986001b7fd4ad5cdc
  Author: Valentin Clement <clementval at gmail.com>
  Date:   2024-11-01 (Fri, 01 Nov 2024)

  Changed paths:
    M flang/unittests/Runtime/CUDA/Memory.cpp

  Log Message:
  -----------
  [flang][cuda][NFC] Fix format


  Commit: b24650e814e55d90acfc40acf045456c98f32b9c
      https://github.com/llvm/llvm-project/commit/b24650e814e55d90acfc40acf045456c98f32b9c
  Author: Krystian Stasiowski <sdkrystian at gmail.com>
  Date:   2024-11-01 (Fri, 01 Nov 2024)

  Changed paths:
    M clang/include/clang/AST/DeclTemplate.h
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/Decl.cpp
    M clang/lib/AST/DeclCXX.cpp
    M clang/lib/AST/DeclTemplate.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/test/AST/ast-dump-decl.cpp
    A clang/test/ASTMerge/class-template-spec/Inputs/class-template-spec.cpp
    A clang/test/ASTMerge/class-template-spec/test.cpp
    M clang/test/CXX/temp/temp.spec/temp.expl.spec/p7.cpp

  Log Message:
  -----------
  Reapply "[Clang][Sema] Always use latest redeclaration of primary template" (#114569)

This patch reapplies #114258, fixing an infinite recursion bug in
`ASTImporter` that occurs when importing the primary template of a class
template specialization when the latest redeclaration of that template
is a friend declaration in the primary template.


  Commit: 57183b6fe11ae4c8d1b3e8d4bc8da5faff564799
      https://github.com/llvm/llvm-project/commit/57183b6fe11ae4c8d1b3e8d4bc8da5faff564799
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2024-11-01 (Fri, 01 Nov 2024)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    A llvm/test/CodeGen/NVPTX/stacksaverestore.ll

  Log Message:
  -----------
  [NVPTX] Add support for stacksave, stackrestore intrinsics (#114484)

Add support for the '`@llvm.stacksave`' and '`@llvm.stackrestore`'
intrinsics to NVPTX. These are implemented with the `stacksave` and
`stackrestore` PTX instructions respectively.

See [PTX ISA 9.7.17. Stack Manipulation Instructions]
(https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#stack-manipulation-instructions).


  Commit: 2bd21b26e26e5a4b962307d30c8e6279b464bf02
      https://github.com/llvm/llvm-project/commit/2bd21b26e26e5a4b962307d30c8e6279b464bf02
  Author: Dave Lee <davelee.com at gmail.com>
  Date:   2024-11-01 (Fri, 01 Nov 2024)

  Changed paths:
    M lldb/source/Commands/CommandObjectDWIMPrint.cpp

  Log Message:
  -----------
  [lldb] Improve command status when dwim-print has no result (#114478)

When an expression produces no result, set `dwim-print` status to 
`eReturnStatusSuccessFinishNoResult`.


  Commit: 21895a84cf466f0a0632cfca0175f7e617a6dd5a
      https://github.com/llvm/llvm-project/commit/21895a84cf466f0a0632cfca0175f7e617a6dd5a
  Author: Oleksandr T. <oleksandr.tarasiuk at outlook.com>
  Date:   2024-11-01 (Fri, 01 Nov 2024)

  Changed paths:
    M libc/src/__support/big_int.h

  Log Message:
  -----------
  [libc] rename LLVM_LIBC_SRC___SUPPORT_UINT_H to LLVM_LIBC_SRC___SUPPORT_BIG_INT_H for consistent naming (#114592)

Fixes #114572


  Commit: 17bad1a9da228ade0c0b9b020ee99769b188d9b3
      https://github.com/llvm/llvm-project/commit/17bad1a9da228ade0c0b9b020ee99769b188d9b3
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-11-01 (Fri, 01 Nov 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/phi-cost.ll

  Log Message:
  -----------
  [LV] Bail out on header phis in shouldConsiderInvariant.

This fixes an infinite recursion in rare cases.

Fixes https://github.com/llvm/llvm-project/issues/113794.


  Commit: f54cdc5d6ee5532da117f2489c105148c94dcb39
      https://github.com/llvm/llvm-project/commit/f54cdc5d6ee5532da117f2489c105148c94dcb39
  Author: Ivan Butygin <ivan.butygin at gmail.com>
  Date:   2024-11-01 (Fri, 01 Nov 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
    M mlir/lib/Analysis/DataFlow/IntegerRangeAnalysis.cpp
    M mlir/lib/Dialect/Arith/IR/InferIntRangeInterfaceImpls.cpp
    M mlir/lib/Dialect/Arith/Transforms/IntRangeOptimizations.cpp
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
    A mlir/test/Dialect/Vector/int-range-interface.mlir
    M mlir/test/lib/Dialect/Test/TestOpDefs.cpp
    M mlir/test/lib/Dialect/Test/TestOps.td

  Log Message:
  -----------
  [mlir] IntegerRangeAnalysis: add support for vector type (#112292)

Treat integer range for vector type as union of ranges of individual
elements. With this semantics, most arith ops on vectors will work out
of the box, the only special handling needed for constants and vector
elements manipulation ops.

The end goal of these changes is to be able to optimize vectorized index
calculations.


  Commit: c1df376b0c8b3edbb6c5ad3fb6ebf39e75b5ad88
      https://github.com/llvm/llvm-project/commit/c1df376b0c8b3edbb6c5ad3fb6ebf39e75b5ad88
  Author: Walter Erquinigo <a20012251 at gmail.com>
  Date:   2024-11-01 (Fri, 01 Nov 2024)

  Changed paths:
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFFormValue.cpp
    M lldb/test/Shell/SymbolFile/DWARF/x86/DW_AT_const_value.s

  Log Message:
  -----------
  [LLDB] Finish implementing support for DW_FORM_data16 (#113508)

This FORM already has support within LLDB to be parsed as a 16-byte
BLOCK, and all that is left to properly support it in the DWARFParser is
to add it to some enums.

With this, I can debug programs that use libstdc++.so.6.0.33 built with
GCC.


  Commit: e549ec529c0c39cfa2fdf4ab919de406a0ef89cb
      https://github.com/llvm/llvm-project/commit/e549ec529c0c39cfa2fdf4ab919de406a0ef89cb
  Author: Thurston Dang <thurston at google.com>
  Date:   2024-11-01 (Fri, 01 Nov 2024)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
    M llvm/test/Instrumentation/MemorySanitizer/AArch64/neon_tbl.ll

  Log Message:
  -----------
  [msan] Add handleIntrinsicByApplyingToShadow; support NEON tbl/tbx (#114490)

This adds a general function that handles intrinsics by applying the
intrinsic to the shadows, and applies it to the specific case of Arm
NEON TBL/TBX intrinsics.

This also updates the tests from
https://github.com/llvm/llvm-project/pull/114462


  Commit: acd04c2e1861dda155ca0244b5d74141a2c036b8
      https://github.com/llvm/llvm-project/commit/acd04c2e1861dda155ca0244b5d74141a2c036b8
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2024-11-01 (Fri, 01 Nov 2024)

  Changed paths:
    M libc/test/CMakeLists.txt
    M libc/test/include/CMakeLists.txt

  Log Message:
  -----------
  [libc][cmake] disable include tests in overlay mode (#114566)

This avoids -Wmacro-redefinition diagnostics observed when building the
libc_include_tests ninja target.

For example, the signbit_test will attempt to include BOTH our math-macros.h
(via math-function-macros.h), and the system's math.h (via hdr/math_macros.h).

While it's nice that we can get some coverage of the headers we will provide to
end users of fullbuilds in CI of overlay builds, it's not worth chasing each
individual conflict and disabling some include tests as conflicts arise.

Disable the include tests unless `-DLLVM_LIBC_FULL_BUILD=ON` is specified.


  Commit: 083369fd99ef1094c1058b8112712d3589a0e8fa
      https://github.com/llvm/llvm-project/commit/083369fd99ef1094c1058b8112712d3589a0e8fa
  Author: vporpo <vporpodas at google.com>
  Date:   2024-11-01 (Fri, 01 Nov 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Legality.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/VecUtils.h
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Legality.cpp
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.cpp
    M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/LegalityTest.cpp
    M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/VecUtilsTest.cpp

  Log Message:
  -----------
  [SandboxVec][Legality] Per opcode checks (#114145)

This patch adds more opcode-specific legality checks.


  Commit: 89560cd612aebd20c0da1a6f8b25271f27550fc1
      https://github.com/llvm/llvm-project/commit/89560cd612aebd20c0da1a6f8b25271f27550fc1
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2024-11-01 (Fri, 01 Nov 2024)

  Changed paths:
    M libc/test/include/CMakeLists.txt

  Log Message:
  -----------
  [libc] disable failing include tests (#114619)

These are failing to link for some buildbots. It's not immediately clear
why,
disable these and add a todo to investigate.

Link: #111403
Link: #114566
Link: #114618


  Commit: 80b9f07436617d650bdab7035394705f643d1b19
      https://github.com/llvm/llvm-project/commit/80b9f07436617d650bdab7035394705f643d1b19
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-11-01 (Fri, 01 Nov 2024)

  Changed paths:
    M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp

  Log Message:
  -----------
  [VPlan] Suppress leak in test (#114624)

Probably needs a better fix. #114623


  Commit: 9a450a0096befc91bc947db6410d4c640c3d97cd
      https://github.com/llvm/llvm-project/commit/9a450a0096befc91bc947db6410d4c640c3d97cd
  Author: Sam Clegg <sbc at chromium.org>
  Date:   2024-11-01 (Fri, 01 Nov 2024)

  Changed paths:
    A lld/test/wasm/lto/Inputs/thinlto_empty.ll
    A lld/test/wasm/lto/obj-path.ll
    M lld/test/wasm/lto/parallel.ll
    A lld/test/wasm/lto/thinlto-index-only.ll
    M lld/test/wasm/lto/thinlto.ll
    M lld/wasm/CMakeLists.txt
    M lld/wasm/Config.h
    M lld/wasm/Driver.cpp
    M lld/wasm/LTO.cpp
    M lld/wasm/LTO.h
    M lld/wasm/Options.td
    M lld/wasm/SymbolTable.cpp

  Log Message:
  -----------
  [lld][WebAssembly] Implement various thinlto flags (#114327)

The changes in this PR (both in the code and the tests) are largely
copied directly from the ELF linker.

Partial fix for #79604.


  Commit: 8ff60c4d47530bb5e86cb6ba46aeaf2af770d57f
      https://github.com/llvm/llvm-project/commit/8ff60c4d47530bb5e86cb6ba46aeaf2af770d57f
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2024-11-01 (Fri, 01 Nov 2024)

  Changed paths:
    M llvm/docs/NVPTXUsage.rst
    M llvm/include/llvm/IR/IntrinsicsNVVM.td
    M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
    A llvm/test/CodeGen/NVPTX/flo.ll

  Log Message:
  -----------
  [NVPTX] Add support for nvvm.flo.[us] intrinsics (#114489)

Add support for '`llvm.nvvm.flo.[su].*`' intrinsics which correspond to
a PTX `bfind` instruction.
See [PTX ISA 9.7.1.16. Integer Arithmetic Instructions: bfind]
(https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#integer-arithmetic-instructions-bfind)

The '`llvm.nvvm.flo.u`' family of intrinsics identifies the bit position
of the leading one, returning either it's offset from the most or least
significant bit.

The '`llvm.nvvm.flo.s`' family of intrinsics identifies the bit position
of the leading non-sign bit, returning either it's offset from the most
or least significant bit.


  Commit: c8209943faeead43c6932c5ddcc69c9e9d1e4262
      https://github.com/llvm/llvm-project/commit/c8209943faeead43c6932c5ddcc69c9e9d1e4262
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-11-01 (Fri, 01 Nov 2024)

  Changed paths:
    M lldb/include/lldb/Target/PathMappingList.h
    M lldb/source/Target/PathMappingList.cpp

  Log Message:
  -----------
  [lldb] Improve locking in PathMappingLists (NFC) (#114576)

In [D148380](https://reviews.llvm.org/D148380), Alex added locking to
PathMappingLists. The current implementation runs the callback under the
lock, which I don't believe is necessary. As far as I can tell, no users
of the callback are relying on the list not having been modified until
the callback is handled.

This patch implements my suggestion to unlock the mutex before the
callback. I also switched to a non-recursive mutex as I don't believe
the recursive property is needed. To make the class fully thread safe, I
did have to introduce another mutex to protect the callback members.

The motivation for this change is #114507. Specifically,
Target::SetExecutableModule calls Target::GetOrCreateModule, which
potentially performs path remapping, which in turns has a callback to
Target::SetExecutableModule.


  Commit: df78e6b872ca9486544005d45e6aff174013db13
      https://github.com/llvm/llvm-project/commit/df78e6b872ca9486544005d45e6aff174013db13
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-11-02 (Sat, 02 Nov 2024)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
    M llvm/lib/ExecutionEngine/Orc/JITLinkRedirectableSymbolManager.cpp
    M llvm/unittests/ExecutionEngine/JITLink/StubsTests.cpp

  Log Message:
  -----------
  [JITLink] Don't return errors from pointer and jump stub creators.

Creation of pointers and jump stubs always succeeds for all existing JITLink
backends, and I haven't been able to think of a scenario where it would fail.
(Pointer / stub *fixup* may fail due to range errors, but that will happen
later and the APIs already account for it).


  Commit: 0812cde3bfa3ec5cde213a3de8fd36d3afab4049
      https://github.com/llvm/llvm-project/commit/0812cde3bfa3ec5cde213a3de8fd36d3afab4049
  Author: Hubert Tong <hubert.reinterpretcast at gmail.com>
  Date:   2024-11-01 (Fri, 01 Nov 2024)

  Changed paths:
    M llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp

  Log Message:
  -----------
  NFC: Make isPPC64 const and use member initializer


  Commit: c2a892f49ae0603949db88aacab7bbc11117aa52
      https://github.com/llvm/llvm-project/commit/c2a892f49ae0603949db88aacab7bbc11117aa52
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-11-02 (Sat, 02 Nov 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/Interp.h
    R clang/test/AST/ByteCode/builtin-bit-cast-long-double.cpp
    M clang/test/AST/ByteCode/builtin-bit-cast.cpp

  Log Message:
  -----------
  Revert "[clang][bytecode] Implement bitcasts to floating-point values (#114485)"

This reverts commit c752efbdcc1ebd81f879633d6b798248064e2ae2.

This broke bots:
 - https://lab.llvm.org/buildbot/#/builders/13/builds/3268
 - https://lab.llvm.org/buildbot/#/builders/42/builds/1718


  Commit: decf88d3e962ae78d65997e14be52ea6537ea98a
      https://github.com/llvm/llvm-project/commit/decf88d3e962ae78d65997e14be52ea6537ea98a
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-11-01 (Fri, 01 Nov 2024)

  Changed paths:
    M llvm/utils/gn/secondary/clang/test/BUILD.gn
    A llvm/utils/gn/secondary/clang/tools/clang-sycl-linker/BUILD.gn

  Log Message:
  -----------
  [gn] port eeee5a44bbf2 (clang-sycl-linker)

Also port follow-up 0d499f9043fed14.


  Commit: cecb3c4ad7b6656b0cc731545bec429514a8edba
      https://github.com/llvm/llvm-project/commit/cecb3c4ad7b6656b0cc731545bec429514a8edba
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-11-02 (Sat, 02 Nov 2024)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/CGData/BUILD.gn
    M llvm/utils/gn/secondary/llvm/unittests/CGData/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 7ec26b23f27f


  Commit: 9adf50c17948a8722905f82495f757dcc70d8c1c
      https://github.com/llvm/llvm-project/commit/9adf50c17948a8722905f82495f757dcc70d8c1c
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-11-02 (Sat, 02 Nov 2024)

  Changed paths:
    M llvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn

  Log Message:
  -----------
  [gn build] Port c72a751dabff


  Commit: a6fc677f104bb46e3682fd672696fbee8d1f5209
      https://github.com/llvm/llvm-project/commit/a6fc677f104bb46e3682fd672696fbee8d1f5209
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-11-02 (Sat, 02 Nov 2024)

  Changed paths:
    M llvm/utils/gn/secondary/clang/lib/AST/BUILD.gn

  Log Message:
  -----------
  [gn build] Port ef2a104c94a8


  Commit: 6ca816f88d5f0f2032d1610207023133eaf40a1e
      https://github.com/llvm/llvm-project/commit/6ca816f88d5f0f2032d1610207023133eaf40a1e
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-11-01 (Fri, 01 Nov 2024)

  Changed paths:
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp

  Log Message:
  -----------
  [clang-format] Fix a regression in parsing `switch` in macro call (#114506)

Fixes #114408.


  Commit: 4d3c427f339562b73938296d77103baf9ab9dc4b
      https://github.com/llvm/llvm-project/commit/4d3c427f339562b73938296d77103baf9ab9dc4b
  Author: Mirko <mirkomueller97 at live.de>
  Date:   2024-11-01 (Fri, 01 Nov 2024)

  Changed paths:
    M llvm/lib/CodeGen/LiveRangeShrink.cpp
    A llvm/test/CodeGen/X86/lrshrink-ehpad-phis.ll

  Log Message:
  -----------
  [CodeGen] Use first EHLabel as a stop gate for live range shrinking (#114195)

This fixes issue #114194

The issue happens during the `LiveRangeShrink` pass, which runs early,
before phi elimination. LandingPads, which are lowered to EHLabels, need
to be the first non phi instruction in an EHPad. In case of a phi node
being in front of the EHLabel and a use being after the EHLabel, we
hoist the use in front of the label.

This results in a portion of the landingpad missing due to being hoisted
in front of the label.


  Commit: 890c4bece26e005cd9fa5511fe0efa7307794de5
      https://github.com/llvm/llvm-project/commit/890c4bece26e005cd9fa5511fe0efa7307794de5
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-11-01 (Fri, 01 Nov 2024)

  Changed paths:
    M llvm/lib/Analysis/MemoryProfileInfo.cpp
    M llvm/lib/Transforms/Instrumentation/MemProfiler.cpp

  Log Message:
  -----------
  [memprof] Use SmallVector for InlinedCallStack (NFC) (#114599)

We can stay within 8 inlined elements more than 99% of the time while
building a large application.


  Commit: 1d657cfeac4a040acfff249d43ca6987b8a05281
      https://github.com/llvm/llvm-project/commit/1d657cfeac4a040acfff249d43ca6987b8a05281
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-11-02 (Sat, 02 Nov 2024)

  Changed paths:
    M llvm/unittests/ExecutionEngine/Orc/JITLinkRedirectionManagerTest.cpp

  Log Message:
  -----------
  [ORC] Initialize native target in JITLinkRedirectionManagerTest test fixture.

The native target must be initialized here otherwise the test will be skipped
unless some prior test happens to initialize it. Failure to initialize the
native target was causing the test to be skipped when --gtest_filter was used.


  Commit: 529c091381a4d34796b5d0f0f2f5bd17c8a6647e
      https://github.com/llvm/llvm-project/commit/529c091381a4d34796b5d0f0f2f5bd17c8a6647e
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-11-02 (Sat, 02 Nov 2024)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
    M llvm/include/llvm/ExecutionEngine/Orc/JITLinkRedirectableSymbolManager.h
    M llvm/lib/ExecutionEngine/Orc/JITLinkRedirectableSymbolManager.cpp
    M llvm/unittests/ExecutionEngine/Orc/JITLinkRedirectionManagerTest.cpp
    M llvm/unittests/ExecutionEngine/Orc/ReOptimizeLayerTest.cpp

  Log Message:
  -----------
  [ORC] Simplify JITLinkRedirectableSymbolManager, fix definition locations.

Redirectable stubs should be placed in the same JITDylib as their names, with
their lifetimes managed according to the ResourceTracker used when adding them.

The original implementation created a single pool of stubs in the JITDylib
that is passed to the JITLinkRedirectableSymbolManager constructor, but this
may cause the addresses of the redirectable symbols themselves (added to the
JITDylibs passed to createRedirectableSymbols) to appear outside the address
range of their defining JITDylib.

This patch fixes the issue by dropping the pool and emitting a new graph for
each set of requested redirectable symbols. We lose the ability to recycle
stubs, but gain the ability to free them entirely. Since we don't expect stub
reuse to be a common case this is likely the best trade-off.

If in the future we do need to return to a stub pool we should create a
separate one for each JITDylib to ensure that addresses behave as expected.


  Commit: 3fb4b6f0521c923fd3b925106b12847ccf40864c
      https://github.com/llvm/llvm-project/commit/3fb4b6f0521c923fd3b925106b12847ccf40864c
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-11-02 (Sat, 02 Nov 2024)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/JITLinkRedirectableSymbolManager.h
    M llvm/lib/ExecutionEngine/Orc/JITLinkRedirectableSymbolManager.cpp

  Log Message:
  -----------
  [ORC] Rename "TargetJD" parameter of redirect method to just "JD". NFC.

In JITLinkRedirectableSymbolManager::redirect we no longer need to disambiguate
between the JD for the redirectable symbols and the one for the corresponding
stubs (they're the same as of 529c091381a). Renaming it brings the parameter
name into line with the one used in the base class's redirect method.


  Commit: 33bdb53d864e3e244d8fd5649062f17b7d4c958d
      https://github.com/llvm/llvm-project/commit/33bdb53d864e3e244d8fd5649062f17b7d4c958d
  Author: Job Henandez Lara <jobhdezlara93 at gmail.com>
  Date:   2024-11-01 (Fri, 01 Nov 2024)

  Changed paths:
    M libc/hdr/CMakeLists.txt
    A libc/hdr/stdlib_macros.h
    A libc/hdr/stdlib_overlay.h
    M libc/hdr/types/CMakeLists.txt
    A libc/hdr/types/div_t.h
    A libc/hdr/types/ldiv_t.h
    A libc/hdr/types/lldiv_t.h
    A libc/hdr/types/size_t.h
    M libc/src/__support/CPP/new.cpp
    M libc/src/__support/File/dir.h
    M libc/src/stdlib/CMakeLists.txt
    M libc/src/stdlib/div.h
    M libc/src/stdlib/exit.h
    M libc/src/stdlib/free.h
    M libc/src/stdlib/ldiv.h
    M libc/src/stdlib/lldiv.h
    M libc/src/stdlib/malloc.h
    M libc/src/stdlib/qsort.h
    M libc/src/stdlib/qsort_r.h
    M libc/src/stdlib/rand.h
    M libc/src/stdlib/srand.h
    M libc/src/string/CMakeLists.txt
    M libc/src/string/strdup.cpp
    M libc/src/unistd/linux/CMakeLists.txt
    M libc/src/unistd/linux/getcwd.cpp
    M libc/test/src/__support/File/CMakeLists.txt
    M libc/test/src/__support/File/file_test.cpp
    M libc/test/src/__support/str_to_float_comparison_test.cpp
    M libc/test/src/stdio/CMakeLists.txt
    M libc/test/src/stdio/fopencookie_test.cpp
    M libc/test/src/stdlib/CMakeLists.txt
    M libc/test/src/stdlib/_Exit_test.cpp
    M libc/test/src/stdlib/abort_test.cpp
    M libc/test/src/stdlib/bsearch_test.cpp
    M libc/test/src/stdlib/div_test.cpp
    M libc/test/src/stdlib/ldiv_test.cpp
    M libc/test/src/stdlib/lldiv_test.cpp
    M libc/test/src/stdlib/qsort_r_test.cpp
    M libc/test/src/stdlib/rand_test.cpp
    M libc/test/src/string/CMakeLists.txt
    M libc/test/src/string/strdup_test.cpp
    M libc/test/src/string/strlcat_test.cpp
    M libc/test/src/string/strlcpy_test.cpp
    M libc/test/src/string/strndup_test.cpp

  Log Message:
  -----------
  [libc] Remove the #include <stdlib.h> header (#114453)


  Commit: 78bfcc5932fd0a39b61fe812ebed9d2f3957070b
      https://github.com/llvm/llvm-project/commit/78bfcc5932fd0a39b61fe812ebed9d2f3957070b
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-11-01 (Fri, 01 Nov 2024)

  Changed paths:
    M llvm/include/llvm/MC/MCDXContainerWriter.h
    M llvm/lib/MC/MCAsmBackend.cpp
    M llvm/lib/MC/MCDXContainerWriter.cpp

  Log Message:
  -----------
  [MC] Export MCDXContainerObjectWriter

Similar to other ObjectWriter classes.


  Commit: fb7bf7a5acc65be44fc546f282942b91472553b3
      https://github.com/llvm/llvm-project/commit/fb7bf7a5acc65be44fc546f282942b91472553b3
  Author: Kasper Nielsen <kasper0406 at gmail.com>
  Date:   2024-11-02 (Sat, 02 Nov 2024)

  Changed paths:
    M mlir/lib/Bindings/Python/IRAttributes.cpp
    M mlir/test/python/ir/array_attributes.py

  Log Message:
  -----------
  [MLIR,Python] Support converting boolean numpy arrays to and from mlir attributes (#113064)

Currently it is unsupported to:
1. Convert a `MlirAttribute` with type `i1` to a numpy array
2. Convert a boolean numpy array to a `MlirAttribute`

Currently the entire Python application violently crashes with a quite
poor error message https://github.com/pybind/pybind11/issues/3336

The complication handling these conversions, is that `MlirAttribute`
represent booleans as a bit-packed `i1` type, whereas numpy represents
booleans as a byte array with 8 bit used per boolean.

This PR proposes the following approach:
1. When converting a `i1` typed `MlirAttribute` to a numpy array, we can
not directly use the underlying raw data backing the `MlirAttribute` as
a buffer to Python, as done for other types. Instead, a copy of the data
is generated using numpy's unpackbits function, and the result is send
back to Python.
2. When constructing a `MlirAttribute` from a numpy array, first the
python data is read as a `uint8_t` to get it converted to the endianess
used internally in mlir. Then the booleans are bitpacked using numpy's
bitpack function, and the bitpacked array is saved as the
`MlirAttribute` representation.

Please note that I am not sure if this approach is the desired solution.
I'd appreciate any feedback.


  Commit: 96d2196f6f73e5712f1df8cd26de8a12c7f24de4
      https://github.com/llvm/llvm-project/commit/96d2196f6f73e5712f1df8cd26de8a12c7f24de4
  Author: Xi Ruoyao <xry111 at xry111.site>
  Date:   2024-11-02 (Sat, 02 Nov 2024)

  Changed paths:
    A clang/test/Headers/lasxintrin.c
    A clang/test/Headers/lsxintrin.c

  Log Message:
  -----------
  [LoongArch][Clang] Add tests for #110834 (#114509)


  Commit: f1e1055c84bb7177f3e7d690442f3760326a0ace
      https://github.com/llvm/llvm-project/commit/f1e1055c84bb7177f3e7d690442f3760326a0ace
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-11-02 (Sat, 02 Nov 2024)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Transforms/InstCombine/known-phi-recurse.ll

  Log Message:
  -----------
  [ValueTracking] Compute known bits from recursive select/phi (#113707)

This patch is inspired by
https://github.com/llvm/llvm-project/pull/113686. I found that it
removes a lot of unnecessary "and X, 1" in some applications that
represent boolean values with int.


  Commit: b88505414d47ca267f4df8823309264f78935686
      https://github.com/llvm/llvm-project/commit/b88505414d47ca267f4df8823309264f78935686
  Author: Xi Ruoyao <xry111 at xry111.site>
  Date:   2024-11-02 (Sat, 02 Nov 2024)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsLoongArchLASX.def
    M clang/include/clang/Basic/BuiltinsLoongArchLSX.def

  Log Message:
  -----------
  [LoongArch][clang] Use `signed char` vectors instead of `char` vectors for LSX and LASX builtins (#114510)

`-flax-vector-conversions=none` does not allow an implicit conversion
from `signed char` vector to `char` vector, and we cannot remove
`signed`
from `v16i8` or `v32i8` because doing so will break our expectation with
`-fno-signed-char`.  So to make lsxintrin.h and lasxintrin.h work fine
with `-flax-vector-conversions=none`, we must use `signed char` instead
of `char`.
    
The change is just done via
    
    sed 's/V16c/V16Sc/g' -i BuiltinsLoongArchLSX.def
    sed 's/V32c/V32Sc/g' -i BuiltinsLoongArchLASX.def

Depends on #114509.  Part of #110834 fix.


  Commit: 92daad2eac587cb0592de019cd5f6cbb7c42bb78
      https://github.com/llvm/llvm-project/commit/92daad2eac587cb0592de019cd5f6cbb7c42bb78
  Author: Xi Ruoyao <xry111 at xry111.site>
  Date:   2024-11-02 (Sat, 02 Nov 2024)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsLoongArchLASX.def
    M clang/include/clang/Basic/BuiltinsLoongArchLSX.def

  Log Message:
  -----------
  [LoongArch][Clang] Make the parameter and return value of {x,}vmsknz.b builtins `signed char` vector (#114511)

These builtins operate on int8 vectors, not int16 vectors.  So the old
definition does not make any sense.

Depends on #114510.  Part of #110834 fix.


  Commit: c5eb591257c3c32eefb71d5150be453beea762ec
      https://github.com/llvm/llvm-project/commit/c5eb591257c3c32eefb71d5150be453beea762ec
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-11-02 (Sat, 02 Nov 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
    M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
    M llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp

  Log Message:
  -----------
  Revert "[SelectionDAG] Add preliminary plumbing for `samesign` flag" (#114647)

Crashes on ARM builds
https://lab.llvm.org/buildbot/#/builders/85/builds/2548
```
DAGCombiner.cpp:16157: SDValue (anonymous
namespace)::DAGCombiner::visitFREEZE(SDNode *):
Assertion `DAG.isGuaranteedNotToBeUndefOrPoison(R,
false) && "Can't create node that may be
undef/poison!"' failed.
```

Issue #114648

This reverts commit 19c8475871faee5ebb06281034872a85a2552675.


  Commit: 01a103b0b9c449e8dec17950835991757d1c4f88
      https://github.com/llvm/llvm-project/commit/01a103b0b9c449e8dec17950835991757d1c4f88
  Author: serge-sans-paille <sguelton at mozilla.com>
  Date:   2024-11-02 (Sat, 02 Nov 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/MemoryBuiltins.h
    M llvm/lib/Analysis/MemoryBuiltins.cpp
    M llvm/test/Transforms/LowerConstantIntrinsics/builtin-object-size-phi.ll
    M llvm/test/Transforms/LowerConstantIntrinsics/objectsize_basic.ll

  Log Message:
  -----------
  [llvm] Fix __builtin_object_size interaction between Negative Offset … (#111827)

…and Select/Phi

When picking a SizeOffsetAPInt through combineSizeOffset, the behavior
differs if we're going to apply a constant offset that's positive or
negative: If it's positive, then we need to compare the remaining bytes
(i.e. Size
- Offset), but if it's negative, we need to compare the preceding bytes
(i.e. Offset).

Fix #111709


  Commit: f467af6696f96bf0b1161f9e2af0050f9ca97519
      https://github.com/llvm/llvm-project/commit/f467af6696f96bf0b1161f9e2af0050f9ca97519
  Author: Hui <hui.xie1990 at gmail.com>
  Date:   2024-11-02 (Sat, 02 Nov 2024)

  Changed paths:
    M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/emplace.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/emplace_hint.pass.cpp

  Log Message:
  -----------
  [libc++][test] add test coverage for `flat_map::emplace_hint` (#113773)

Not all the code path has been exercised by the tests for
`flat_map::emplace_hint`
Adding more test coverage.
At the same time, adding more test cases for `flat_map::emplace`


  Commit: 6365ee884903052d086946bb9f43922743631a4a
      https://github.com/llvm/llvm-project/commit/6365ee884903052d086946bb9f43922743631a4a
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2024-11-02 (Sat, 02 Nov 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86RegisterInfo.td

  Log Message:
  -----------
  [X86][AMX] Move TPAIRS into PositionOrder 3, NFCI (#114642)

Should solve compile time regression.


  Commit: 7603feac78376dbee78af56584c298c7b7e00c78
      https://github.com/llvm/llvm-project/commit/7603feac78376dbee78af56584c298c7b7e00c78
  Author: Rajat Bajpai <rbajpai at nvidia.com>
  Date:   2024-11-02 (Sat, 02 Nov 2024)

  Changed paths:
    M llvm/docs/LangRef.rst

  Log Message:
  -----------
  [Documentation] Update parameter and function attribute section in LangRef (#114007)

Update the documentation for parameter and function attributes to
include support for target-dependent string attributes.


  Commit: 67c8b0efbe5c783f39556be2ee841441b50600b5
      https://github.com/llvm/llvm-project/commit/67c8b0efbe5c783f39556be2ee841441b50600b5
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-11-02 (Sat, 02 Nov 2024)

  Changed paths:
    M clang/lib/Sema/CheckExprLifetime.cpp

  Log Message:
  -----------
  [clang][NFC] Remove an unnecessary variable in CheckExprLifetime.cpp


  Commit: 917b3d13b558e61885c3db085e27b4a110ce8032
      https://github.com/llvm/llvm-project/commit/917b3d13b558e61885c3db085e27b4a110ce8032
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-11-02 (Sat, 02 Nov 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    A llvm/test/CodeGen/ARM/dagcombine-drop-flags-freeze.ll

  Log Message:
  -----------
  [SDAG] Intersect poison-generating flags after CSE (#114650)

This patch intersects poison-generating flags after CSE to fix assertion
failure reported in
https://github.com/llvm/llvm-project/pull/112354#issuecomment-2452369552.

Co-authored-by: Antonio Frighetto <me at antoniofrighetto.com>


  Commit: 0edaba1b29f8eee011e5fdf387d6c786ec6cb52f
      https://github.com/llvm/llvm-project/commit/0edaba1b29f8eee011e5fdf387d6c786ec6cb52f
  Author: Julian Schmidt <git.julian.schmidt at gmail.com>
  Date:   2024-11-02 (Sat, 02 Nov 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/altera/IdDependentBackwardBranchCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/checkers/altera/id-dependent-backward-branch.cpp

  Log Message:
  -----------
  [clang-tidy] fix crash in altera-id-dependent-backward-branch (#113833)

Add some checks for `nullptr` and change some `dyn_cast` to
`dyn_cast_if_present` to avoid crashes.

Fixes #55408


  Commit: 2804762e2643c793d12eeabf422b81f4de80ceea
      https://github.com/llvm/llvm-project/commit/2804762e2643c793d12eeabf422b81f4de80ceea
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-11-02 (Sat, 02 Nov 2024)

  Changed paths:
    M clang/lib/Sema/CheckExprLifetime.cpp

  Log Message:
  -----------
  [clang][NFC] Use const reference for IndirectLocalPath if possible.


  Commit: 8a2113c5c53e527a2d2fd2dbe252d61af8833139
      https://github.com/llvm/llvm-project/commit/8a2113c5c53e527a2d2fd2dbe252d61af8833139
  Author: Antonio Frighetto <me at antoniofrighetto.com>
  Date:   2024-11-02 (Sat, 02 Nov 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
    M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
    M llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp

  Log Message:
  -----------
  Reapply "[SelectionDAG] Add preliminary plumbing for `samesign` flag"

Original commit: 19c8475871faee5ebb06281034872a85a2552675

Multiple 2-stage sanitizer buildbots were reporting failures, the issue
has been addressed separately in 29246a92aee87e86cbc2bb64ee520d7385644f34.


  Commit: c7c5042e3c970fb7a483faceb94063e2c5577594
      https://github.com/llvm/llvm-project/commit/c7c5042e3c970fb7a483faceb94063e2c5577594
  Author: Maryam Moghadas <maryammo at ca.ibm.com>
  Date:   2024-11-02 (Sat, 02 Nov 2024)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    M llvm/lib/Target/PowerPC/PPCISelLowering.h
    M llvm/test/CodeGen/PowerPC/saddo-ssubo.ll

  Log Message:
  -----------
  Revert "[PowerPC] Add custom lowering for ssubo (#111748)" (#114672)

This reverts commit 8a0cb9ac869334fd6c6bd6aad8408623a7ccd7f6.
Reverting due to PPC bootstrap bot failure.


  Commit: ad0a1b90adccd3a9b8fdfbe5923a6ebe9ca2e1a3
      https://github.com/llvm/llvm-project/commit/ad0a1b90adccd3a9b8fdfbe5923a6ebe9ca2e1a3
  Author: Philipp Rados <60818062+PhilippRados at users.noreply.github.com>
  Date:   2024-11-02 (Sat, 02 Nov 2024)

  Changed paths:
    M clang/README.md

  Log Message:
  -----------
  [clang] Fix a typo in clangs README (#114410)

changed "disucss" to "discuss"


  Commit: 94f9cbbe49b4c836cfbed046637cdc0c63a4a083
      https://github.com/llvm/llvm-project/commit/94f9cbbe49b4c836cfbed046637cdc0c63a4a083
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-11-02 (Sat, 02 Nov 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/ConstantHoisting.cpp
    M llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
    M llvm/lib/Transforms/Scalar/DFAJumpThreading.cpp
    M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
    M llvm/lib/Transforms/Scalar/GVNHoist.cpp
    M llvm/lib/Transforms/Scalar/GVNSink.cpp
    M llvm/lib/Transforms/Scalar/GuardWidening.cpp
    M llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
    M llvm/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp
    M llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp
    M llvm/lib/Transforms/Scalar/InferAlignment.cpp
    M llvm/lib/Transforms/Scalar/JumpThreading.cpp
    M llvm/lib/Transforms/Scalar/LICM.cpp
    M llvm/lib/Transforms/Scalar/LoopDataPrefetch.cpp
    M llvm/lib/Transforms/Scalar/LoopDistribute.cpp
    M llvm/lib/Transforms/Scalar/LoopFuse.cpp
    M llvm/lib/Transforms/Scalar/LoopInstSimplify.cpp
    M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
    M llvm/lib/Transforms/Scalar/LoopLoadElimination.cpp
    M llvm/lib/Transforms/Scalar/LoopPassManager.cpp
    M llvm/lib/Transforms/Scalar/LoopRotation.cpp
    M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
    M llvm/lib/Transforms/Scalar/LoopTermFold.cpp
    M llvm/lib/Transforms/Scalar/LoopUnrollAndJamPass.cpp
    M llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
    M llvm/lib/Transforms/Scalar/LoopVersioningLICM.cpp
    M llvm/lib/Transforms/Scalar/LowerAtomicPass.cpp
    M llvm/lib/Transforms/Scalar/LowerConstantIntrinsics.cpp
    M llvm/lib/Transforms/Scalar/LowerGuardIntrinsic.cpp
    M llvm/lib/Transforms/Scalar/MakeGuardsExplicit.cpp
    M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
    M llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
    M llvm/lib/Transforms/Scalar/SCCP.cpp
    M llvm/lib/Transforms/Scalar/SROA.cpp
    M llvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp
    M llvm/lib/Transforms/Scalar/StructurizeCFG.cpp

  Log Message:
  -----------
  [Scalar] Remove unused includes (NFC) (#114645)

Identified with misc-include-cleaner.


  Commit: 79178ca689a8259d19d93320a6299e3d31383ac4
      https://github.com/llvm/llvm-project/commit/79178ca689a8259d19d93320a6299e3d31383ac4
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-11-02 (Sat, 02 Nov 2024)

  Changed paths:
    M lldb/include/lldb/Interpreter/CommandReturnObject.h
    M lldb/source/Commands/CommandObjectDWIMPrint.cpp
    M lldb/source/Interpreter/CommandReturnObject.cpp

  Log Message:
  -----------
  [lldb] Highlight "note:" in CommandReturnObject (#114610)

We have helpers to emit warnings and errors. Do the same thing for notes
to they stand out more.


  Commit: fcd51dee42792bf264d26ab4978eb0a3a3001728
      https://github.com/llvm/llvm-project/commit/fcd51dee42792bf264d26ab4978eb0a3a3001728
  Author: Jorge Botto <Jorge.botto.16 at ucl.ac.uk>
  Date:   2024-11-02 (Sat, 02 Nov 2024)

  Changed paths:
    M llvm/include/llvm/IR/Operator.h
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    A llvm/test/Transforms/InstCombine/intrinsic-distributive.ll

  Log Message:
  -----------
  [InstCombine] Factorise Add and Min/Max using distributivity (#101717)

This PR fixes part of https://github.com/llvm/llvm-project/issues/92433.

It specifically adds the 4 cases mentioned in
https://github.com/llvm/llvm-project/issues/92433#issuecomment-2117064459.

I've added 8 positive tests, 4 of which are mentioned in the comment
above and 4 which are their commutative equivalents. Alive proof:
https://alive2.llvm.org/ce/z/z6eFTb
I've also added 8 negative tests, because we want to make sure we do not
optimise if the relevant flags are not relevant because the optimisation
wouldn't be sound. Alive proof that the optimisation is invalid:
https://alive2.llvm.org/ce/z/NvNjTD
I did have to make the integer types `i4` to make Alive not timeout and
to fit them all on one page.


  Commit: b360dfd5031e76c97257ef1b3e90385bf297e8ab
      https://github.com/llvm/llvm-project/commit/b360dfd5031e76c97257ef1b3e90385bf297e8ab
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-11-02 (Sat, 02 Nov 2024)

  Changed paths:
    M lldb/source/Target/Target.cpp

  Log Message:
  -----------
  [lldb] Create dependent modules in parallel (#114507)

Create dependent modules in parallel in Target::SetExecutableModule.
This change was inspired by #110646 which takes the same approach when
attaching. Jason suggested we could use the same approach when you
create a target in LLDB.

I used Slack for benchmarking, which loads 902 images.

```
Benchmark 1: ./bin/lldb /Applications/Slack.app/Contents/MacOS/Slack
  Time (mean ± σ):      1.225 s ±  0.003 s    [User: 3.977 s, System: 1.521 s]
  Range (min … max):    1.220 s …  1.229 s    10 runs

Benchmark 2: ./bin/lldb /Applications/Slack.app/Contents/MacOS/Slack
  Time (mean ± σ):      3.253 s ±  0.037 s    [User: 3.013 s, System: 0.248 s]
  Range (min … max):    3.211 s …  3.310 s    10 runs
```

We see about a 2x speedup, which matches what Jason saw for the attach
scenario. I also ran this under TSan to confirm this doesn't introduce
any races or deadlocks.


  Commit: 8129ba6c70aef54d87893adeb34e76f84fa69fe3
      https://github.com/llvm/llvm-project/commit/8129ba6c70aef54d87893adeb34e76f84fa69fe3
  Author: Thomas Fransham <tfransham at gmail.com>
  Date:   2024-11-02 (Sat, 02 Nov 2024)

  Changed paths:
    M llvm/include/llvm/Object/Minidump.h
    M llvm/lib/Object/Minidump.cpp

  Log Message:
  -----------
  [Minidump] Declare MinidumpFile::getListStream in the header instead of extern template (#112568)

This is part of the work to enable LLVM_BUILD_LLVM_DYLIB and LLVM
plugins on window.


  Commit: a678a0fe29a4edb4ba724a5214f1cfb9898011a6
      https://github.com/llvm/llvm-project/commit/a678a0fe29a4edb4ba724a5214f1cfb9898011a6
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-11-02 (Sat, 02 Nov 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/altera/IdDependentBackwardBranchCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/checkers/altera/id-dependent-backward-branch.cpp
    M clang/README.md
    M clang/include/clang/AST/DeclTemplate.h
    M clang/include/clang/Basic/BuiltinsLoongArchLASX.def
    M clang/include/clang/Basic/BuiltinsLoongArchLSX.def
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/Decl.cpp
    M clang/lib/AST/DeclCXX.cpp
    M clang/lib/AST/DeclTemplate.cpp
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/lib/Sema/CheckExprLifetime.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    R clang/test/AST/ByteCode/builtin-bit-cast-long-double.cpp
    M clang/test/AST/ByteCode/builtin-bit-cast.cpp
    M clang/test/AST/ast-dump-decl.cpp
    A clang/test/ASTMerge/class-template-spec/Inputs/class-template-spec.cpp
    A clang/test/ASTMerge/class-template-spec/test.cpp
    M clang/test/CXX/temp/temp.spec/temp.expl.spec/p7.cpp
    A clang/test/Headers/lasxintrin.c
    A clang/test/Headers/lsxintrin.c
    M clang/unittests/Format/TokenAnnotatorTest.cpp
    M flang/runtime/CUDA/memory.cpp
    M flang/unittests/Runtime/CUDA/Memory.cpp
    M libc/hdr/CMakeLists.txt
    A libc/hdr/stdlib_macros.h
    A libc/hdr/stdlib_overlay.h
    M libc/hdr/types/CMakeLists.txt
    A libc/hdr/types/div_t.h
    A libc/hdr/types/ldiv_t.h
    A libc/hdr/types/lldiv_t.h
    A libc/hdr/types/size_t.h
    M libc/src/__support/CPP/new.cpp
    M libc/src/__support/File/dir.h
    M libc/src/__support/big_int.h
    M libc/src/stdlib/CMakeLists.txt
    M libc/src/stdlib/div.h
    M libc/src/stdlib/exit.h
    M libc/src/stdlib/free.h
    M libc/src/stdlib/ldiv.h
    M libc/src/stdlib/lldiv.h
    M libc/src/stdlib/malloc.h
    M libc/src/stdlib/qsort.h
    M libc/src/stdlib/qsort_r.h
    M libc/src/stdlib/rand.h
    M libc/src/stdlib/srand.h
    M libc/src/string/CMakeLists.txt
    M libc/src/string/strdup.cpp
    M libc/src/unistd/linux/CMakeLists.txt
    M libc/src/unistd/linux/getcwd.cpp
    M libc/test/CMakeLists.txt
    M libc/test/include/CMakeLists.txt
    M libc/test/src/__support/File/CMakeLists.txt
    M libc/test/src/__support/File/file_test.cpp
    M libc/test/src/__support/str_to_float_comparison_test.cpp
    M libc/test/src/stdio/CMakeLists.txt
    M libc/test/src/stdio/fopencookie_test.cpp
    M libc/test/src/stdlib/CMakeLists.txt
    M libc/test/src/stdlib/_Exit_test.cpp
    M libc/test/src/stdlib/abort_test.cpp
    M libc/test/src/stdlib/bsearch_test.cpp
    M libc/test/src/stdlib/div_test.cpp
    M libc/test/src/stdlib/ldiv_test.cpp
    M libc/test/src/stdlib/lldiv_test.cpp
    M libc/test/src/stdlib/qsort_r_test.cpp
    M libc/test/src/stdlib/rand_test.cpp
    M libc/test/src/string/CMakeLists.txt
    M libc/test/src/string/strdup_test.cpp
    M libc/test/src/string/strlcat_test.cpp
    M libc/test/src/string/strlcpy_test.cpp
    M libc/test/src/string/strndup_test.cpp
    M libcxx/include/__locale_dir/locale_base_api.h
    M libcxx/include/__locale_dir/locale_base_api/bsd_locale_defaults.h
    M libcxx/include/__locale_dir/locale_base_api/bsd_locale_fallbacks.h
    M libcxx/include/locale
    M libcxx/test/libcxx/clang_modules_include.gen.py
    M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/emplace.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/emplace_hint.pass.cpp
    A lld/test/wasm/lto/Inputs/thinlto_empty.ll
    A lld/test/wasm/lto/obj-path.ll
    M lld/test/wasm/lto/parallel.ll
    A lld/test/wasm/lto/thinlto-index-only.ll
    M lld/test/wasm/lto/thinlto.ll
    M lld/wasm/CMakeLists.txt
    M lld/wasm/Config.h
    M lld/wasm/Driver.cpp
    M lld/wasm/LTO.cpp
    M lld/wasm/LTO.h
    M lld/wasm/Options.td
    M lld/wasm/SymbolTable.cpp
    M lldb/include/lldb/Interpreter/CommandReturnObject.h
    M lldb/include/lldb/Target/PathMappingList.h
    M lldb/source/Commands/CommandObjectDWIMPrint.cpp
    M lldb/source/Interpreter/CommandReturnObject.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFFormValue.cpp
    M lldb/source/Target/PathMappingList.cpp
    M lldb/source/Target/Target.cpp
    M lldb/test/Shell/SymbolFile/DWARF/x86/DW_AT_const_value.s
    M llvm/docs/LangRef.rst
    M llvm/docs/NVPTXUsage.rst
    M llvm/include/llvm/Analysis/MemoryBuiltins.h
    M llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
    M llvm/include/llvm/ExecutionEngine/Orc/JITLinkRedirectableSymbolManager.h
    M llvm/include/llvm/IR/IntrinsicsNVVM.td
    M llvm/include/llvm/IR/Operator.h
    M llvm/include/llvm/MC/MCDXContainerWriter.h
    M llvm/include/llvm/Object/Minidump.h
    M llvm/include/llvm/Passes/PassBuilder.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Legality.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/VecUtils.h
    M llvm/lib/Analysis/MemoryBuiltins.cpp
    M llvm/lib/Analysis/MemoryProfileInfo.cpp
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/CodeGen/LiveRangeShrink.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/ExecutionEngine/Orc/JITLinkRedirectableSymbolManager.cpp
    M llvm/lib/MC/MCAsmBackend.cpp
    M llvm/lib/MC/MCDXContainerWriter.cpp
    M llvm/lib/Object/Minidump.cpp
    M llvm/lib/Passes/PassBuilderPipelines.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
    M llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    M llvm/lib/Target/PowerPC/PPCISelLowering.h
    M llvm/lib/Target/X86/X86RegisterInfo.td
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/lib/Transforms/Instrumentation/MemProfiler.cpp
    M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
    M llvm/lib/Transforms/Scalar/ConstantHoisting.cpp
    M llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
    M llvm/lib/Transforms/Scalar/DFAJumpThreading.cpp
    M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
    M llvm/lib/Transforms/Scalar/GVNHoist.cpp
    M llvm/lib/Transforms/Scalar/GVNSink.cpp
    M llvm/lib/Transforms/Scalar/GuardWidening.cpp
    M llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
    M llvm/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp
    M llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp
    M llvm/lib/Transforms/Scalar/InferAlignment.cpp
    M llvm/lib/Transforms/Scalar/JumpThreading.cpp
    M llvm/lib/Transforms/Scalar/LICM.cpp
    M llvm/lib/Transforms/Scalar/LoopDataPrefetch.cpp
    M llvm/lib/Transforms/Scalar/LoopDistribute.cpp
    M llvm/lib/Transforms/Scalar/LoopFuse.cpp
    M llvm/lib/Transforms/Scalar/LoopInstSimplify.cpp
    M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
    M llvm/lib/Transforms/Scalar/LoopLoadElimination.cpp
    M llvm/lib/Transforms/Scalar/LoopPassManager.cpp
    M llvm/lib/Transforms/Scalar/LoopRotation.cpp
    M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
    M llvm/lib/Transforms/Scalar/LoopTermFold.cpp
    M llvm/lib/Transforms/Scalar/LoopUnrollAndJamPass.cpp
    M llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
    M llvm/lib/Transforms/Scalar/LoopVersioningLICM.cpp
    M llvm/lib/Transforms/Scalar/LowerAtomicPass.cpp
    M llvm/lib/Transforms/Scalar/LowerConstantIntrinsics.cpp
    M llvm/lib/Transforms/Scalar/LowerGuardIntrinsic.cpp
    M llvm/lib/Transforms/Scalar/MakeGuardsExplicit.cpp
    M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
    M llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
    M llvm/lib/Transforms/Scalar/SCCP.cpp
    M llvm/lib/Transforms/Scalar/SROA.cpp
    M llvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp
    M llvm/lib/Transforms/Scalar/StructurizeCFG.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Legality.cpp
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.cpp
    A llvm/test/CodeGen/ARM/dagcombine-drop-flags-freeze.ll
    A llvm/test/CodeGen/NVPTX/flo.ll
    A llvm/test/CodeGen/NVPTX/stacksaverestore.ll
    M llvm/test/CodeGen/PowerPC/saddo-ssubo.ll
    A llvm/test/CodeGen/X86/lrshrink-ehpad-phis.ll
    M llvm/test/Instrumentation/MemorySanitizer/AArch64/neon_tbl.ll
    A llvm/test/Transforms/InstCombine/intrinsic-distributive.ll
    M llvm/test/Transforms/InstCombine/known-phi-recurse.ll
    M llvm/test/Transforms/LoopVectorize/phi-cost.ll
    M llvm/test/Transforms/LowerConstantIntrinsics/builtin-object-size-phi.ll
    M llvm/test/Transforms/LowerConstantIntrinsics/objectsize_basic.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/revec.ll
    M llvm/unittests/ExecutionEngine/JITLink/StubsTests.cpp
    M llvm/unittests/ExecutionEngine/Orc/JITLinkRedirectionManagerTest.cpp
    M llvm/unittests/ExecutionEngine/Orc/ReOptimizeLayerTest.cpp
    M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/LegalityTest.cpp
    M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/VecUtilsTest.cpp
    M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
    M llvm/utils/gn/secondary/clang/lib/AST/BUILD.gn
    M llvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn
    M llvm/utils/gn/secondary/clang/test/BUILD.gn
    A llvm/utils/gn/secondary/clang/tools/clang-sycl-linker/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/CGData/BUILD.gn
    M llvm/utils/gn/secondary/llvm/unittests/CGData/BUILD.gn
    M mlir/include/mlir/Dialect/Ptr/IR/PtrOps.td
    M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
    M mlir/lib/Analysis/DataFlow/IntegerRangeAnalysis.cpp
    M mlir/lib/Bindings/Python/IRAttributes.cpp
    M mlir/lib/Dialect/Arith/IR/InferIntRangeInterfaceImpls.cpp
    M mlir/lib/Dialect/Arith/Transforms/IntRangeOptimizations.cpp
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
    A mlir/test/Dialect/Vector/int-range-interface.mlir
    M mlir/test/lib/Dialect/Test/TestOpDefs.cpp
    M mlir/test/lib/Dialect/Test/TestOps.td
    M mlir/test/python/ir/array_attributes.py

  Log Message:
  -----------
  Merge branch 'main' into users/kparzysz/spr/d05-flang-motion-iter


Compare: https://github.com/llvm/llvm-project/compare/755c039c42b9...a678a0fe29a4

To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list