[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