LLVM/project 1cb3371clang/test/CodeGenCoroutines coro-elide-thinlto.cpp

Ensure test writes objects to test temp dir
DeltaFile
+4-4clang/test/CodeGenCoroutines/coro-elide-thinlto.cpp
+4-41 files

LLVM/project ae7ce1cllvm/lib/CodeGen InterleavedLoadCombinePass.cpp

[CodeGen] Remove extraneous ArrayRef (NFC) (#90423)

We don't need to explicitly create an instance of ArrayRef here
because getIndexedOffsetInType takes ArrayRef, and ArrayRef can be
implicitly constructed from a C array.
DeltaFile
+1-1llvm/lib/CodeGen/InterleavedLoadCombinePass.cpp
+1-11 files

LLVM/project f94b275clang/test/Sema constant_builtins_vector.cpp, clang/www cxx_dr_status.html

rebase, add test

Created using spr 1.3.4
DeltaFile
+921-0llvm/test/CodeGen/LoongArch/sextw-removal.ll
+847-0llvm/test/CodeGen/PowerPC/fminimum-fmaximum.ll
+725-0clang/test/Sema/constant_builtins_vector.cpp
+663-0llvm/test/CodeGen/AMDGPU/fp_trunc_store_fp64_to_bf16.ll
+328-328llvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll
+417-146clang/www/cxx_dr_status.html
+3,901-474488 files not shown
+14,668-6,308494 files

LLVM/project 423bc64clang/test/Sema constant_builtins_vector.cpp, clang/www cxx_dr_status.html

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.4

[skip ci]
DeltaFile
+921-0llvm/test/CodeGen/LoongArch/sextw-removal.ll
+847-0llvm/test/CodeGen/PowerPC/fminimum-fmaximum.ll
+725-0clang/test/Sema/constant_builtins_vector.cpp
+663-0llvm/test/CodeGen/AMDGPU/fp_trunc_store_fp64_to_bf16.ll
+328-328llvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll
+417-146clang/www/cxx_dr_status.html
+3,901-474488 files not shown
+14,661-6,308494 files

LLVM/project 5e9937dlibc/src/math scalbnf128.h, libc/src/math/generic CMakeLists.txt scalbnf128.cpp

[libc][math] Adds entrypoint and tests for nearbyintf128,scalbnf128 (#88443)

Closes #84689.

Adding @lntue for review.

I was curious about the implementation of
`round_using_current_rounding_mode` used for the `nearbyint` functions.
It has one of the rounding modes as unreachable
([here](https://github.com/llvm/llvm-project/blob/main/libc/src/__support/FPUtil/NearestIntegerOperations.h#L243)),
and I was wondering if this was okay for the `nearbyint` functions.

---------

Co-authored-by: Michael Flanders <mkf727 at cs.washington.edu>
DeltaFile
+100-0libc/test/src/math/smoke/NearbyIntTest.h
+65-3libc/test/src/math/smoke/CMakeLists.txt
+29-3libc/src/math/generic/CMakeLists.txt
+27-0libc/src/math/generic/scalbnf128.cpp
+21-0libc/test/UnitTest/FPMatcher.h
+20-0libc/src/math/scalbnf128.h
+262-615 files not shown
+406-821 files

LLVM/project c4c4e17bolt/lib/Rewrite RewriteInstance.cpp, bolt/test/X86 register-fragments-bolt-symbols.s

[BOLT] Use heuristic for matching split local functions (#90424)

Use known order of BOLT split function symbols: fragment symbols
immediately precede the parent fragment symbol.

Depends On: https://github.com/llvm/llvm-project/pull/89648

Test Plan: Added register-fragments-bolt-symbols.s
DeltaFile
+32-0bolt/test/X86/register-fragments-bolt-symbols.s
+18-0bolt/lib/Rewrite/RewriteInstance.cpp
+50-02 files

LLVM/project 65d79e8clang/test/Sema constant_builtins_vector.cpp, clang/www cxx_dr_status.html

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.5

[skip ci]
DeltaFile
+921-0llvm/test/CodeGen/LoongArch/sextw-removal.ll
+847-0llvm/test/CodeGen/PowerPC/fminimum-fmaximum.ll
+725-0clang/test/Sema/constant_builtins_vector.cpp
+663-0llvm/test/CodeGen/AMDGPU/fp_trunc_store_fp64_to_bf16.ll
+328-328llvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll
+417-146clang/www/cxx_dr_status.html
+3,901-474486 files not shown
+14,626-6,291492 files

LLVM/project b39489cbolt/lib/Rewrite RewriteInstance.cpp

Use cantFail(Symbol.getName()) for consistency
DeltaFile
+1-4bolt/lib/Rewrite/RewriteInstance.cpp
+1-41 files

LLVM/project 66fbd75llvm/lib/Target/AArch64 AArch64StackTagging.cpp

hidden

Created using spr 1.3.4
DeltaFile
+1-1llvm/lib/Target/AArch64/AArch64StackTagging.cpp
+1-11 files

LLVM/project 1b70580lldb/packages/Python/lldbsuite/test decorators.py, lldb/test/API/driver/batch_mode TestBatchMode.py

Skip various tests under ASAN on green dragon (#90531)

using the macOS version as a proxy. I can't reproduce any of these
failures locally, but the tests all use pexpect and probably have bad
timeout behavior under high load.
DeltaFile
+8-1lldb/packages/Python/lldbsuite/test/decorators.py
+6-2lldb/test/API/macosx/nslog/TestDarwinNSLogOutput.py
+4-0lldb/test/API/driver/batch_mode/TestBatchMode.py
+1-1lldb/test/API/driver/quit_speed/TestQuitWithProcess.py
+1-0lldb/test/API/iohandler/sigint/TestProcessIOHandlerInterrupt.py
+1-0lldb/test/API/driver/job_control/TestJobControl.py
+21-41 files not shown
+22-47 files

LLVM/project f341c76clang/lib/CodeGen CGBuiltin.cpp, clang/test/CodeGen attr-counted-by-pr88931.c attr-counted-by-pr88931.cpp

[Clang] Handle structs with inner structs and no fields (#89126)

A struct that declares an inner struct, but no fields, won't have a
field count. So getting the offset of the inner struct fails. This
happens in both C and C++:

  struct foo {
    struct bar {
      int Quantizermatrix[];
    };
  };

Here 'struct foo' has no fields.

Closes: https://github.com/llvm/llvm-project/issues/88931
DeltaFile
+40-0clang/test/CodeGen/attr-counted-by-pr88931.c
+14-11clang/lib/CodeGen/CGBuiltin.cpp
+21-0clang/test/CodeGen/attr-counted-by-pr88931.cpp
+75-113 files

LLVM/project abf6b13llvm/lib/Transforms/Scalar InductiveRangeCheckElimination.cpp, llvm/test/Transforms/IRCE pr89959.ll

[IRCE] Skip icmp ptr in `InductiveRangeCheck::parseRangeCheckICmp` (#89967)

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

(cherry picked from commit 22da5a6e34ed6146752b24d9156a678b50fddaef)
DeltaFile
+33-0llvm/test/Transforms/IRCE/pr89959.ll
+3-0llvm/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp
+36-02 files

LLVM/project ee5bb0cclang/lib/CodeGen CGObjCGNU.cpp CGCall.cpp, clang/test/CodeGenObjCXX msabi-stret-arm64.mm

Fix Objective-C++ Sret of non-trivial data types on Windows ARM64 (#88671)

Linked to https://github.com/gnustep/libobjc2/pull/289.

More information can be found in issue: #88273.

My solution involves creating a new message-send function for this
calling convention when targeting MSVC. Additional information is
available in the libobjc2 pull request.

I am unsure whether we should check for a runtime version where
objc_msgSend_stret2_np is guaranteed to be present or leave it as is,
considering it remains a critical bug. What are your thoughts about this
@davidchisnall?

(cherry picked from commit 3dcd2cca7777b338d87deb1ca506df1376123667)
DeltaFile
+77-0clang/test/CodeGenObjCXX/msabi-stret-arm64.mm
+20-14clang/lib/CodeGen/CGObjCGNU.cpp
+5-0clang/lib/CodeGen/CGCall.cpp
+3-0clang/lib/CodeGen/CodeGenModule.h
+105-144 files

LLVM/project e24a7bbmlir/include/mlir/Tools/lsp-server-support Transport.h, mlir/lib/Tools/lsp-server-support Transport.cpp

[mlir-lsp] Support outgoing requests (#90078)

Add support for outgoing requests to `lsp::MessageHandler`. Much like
`MessageHandler::outgoingNotification`, this allows for the message
handler to send outgoing messages via its JSON transport, but in this
case, those messages are requests, not notifications.

Requests receive responses (also referred to as "replies" in
`MLIRLspServerSupportLib`). These were previously unsupported, and
`lsp::MessageHandler` would log an error each time it processed a JSON
message that appeared to be a response (something with an "id" field,
but no "method" field). However, the `outgoingRequest` method now
handles response callbacks: an outgoing request with a given ID is set
up such that a callback function is invoked when a response with that ID
is received.
DeltaFile
+41-0mlir/include/mlir/Tools/lsp-server-support/Transport.h
+39-0mlir/unittests/Tools/lsp-server-support/Transport.cpp
+22-14mlir/lib/Tools/lsp-server-support/Transport.cpp
+102-143 files

LLVM/project d47c498llvm/lib/Target/AMDGPU AMDGPUISelLowering.cpp, llvm/test/CodeGen/AMDGPU fp_trunc_store_fp64_to_bf16.ll fp_trunc_store_fp32_to_bf16.ll

[AMDGPU][ISel] Add more trunc store actions regarding bf16 (#90493)

DeltaFile
+663-0llvm/test/CodeGen/AMDGPU/fp_trunc_store_fp64_to_bf16.ll
+481-0llvm/test/CodeGen/AMDGPU/fp_trunc_store_fp32_to_bf16.ll
+0-426llvm/test/CodeGen/AMDGPU/fp_trunc_store_bf16.ll
+6-0llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
+1,150-4264 files

LLVM/project 8f7bdf1flang/include/flang/Optimizer/Dialect FIROps.td, flang/test/Fir cuf.mlir

[flang][cuda] Add fir.cuda_alloc/fir.cuda_free operations
DeltaFile
+54-0flang/include/flang/Optimizer/Dialect/FIROps.td
+12-0flang/test/Fir/cuf.mlir
+66-02 files

LLVM/project 1f44a0bclang/utils creduce-clang-crash.py

Make minor improvements to the creduce wrapper script

Use shlex.quote instead of pipes.quote. We don't need to support Python
2.7 anymore.

Remove -fcolor-diagnostics first, because that can sometimes interfere
with the interestingness test.
DeltaFile
+11-4clang/utils/creduce-clang-crash.py
+11-41 files

LLVM/project 028546clldb/source/Expression UserExpression.cpp

Simplify condition (NFC)
DeltaFile
+1-1lldb/source/Expression/UserExpression.cpp
+1-11 files

LLVM/project 869ffcfclang/lib/CodeGen CodeGenModule.cpp, clang/test/CodeGen regparm-flag.c

[CodeGen][i386] Move -mregparm storage earlier and fix Runtime calls (#89707)

When building the Linux kernel for i386, the -mregparm=3 option is
enabled. Crashes were observed in the sanitizer handler functions, and
the problem was found to be mismatched calling convention.

As was fixed in commit c167c0a4dcdb ("[BuildLibCalls] infer inreg param
attrs from NumRegisterParameters"), call arguments need to be marked as
"in register" when -mregparm is set. Use the same helper developed there
to update the function arguments.

Since CreateRuntimeFunction() is actually part of CodeGenModule, storage
of the -mregparm value is also moved to the constructor, as doing this
in Release() is too late.

Fixes: https://github.com/llvm/llvm-project/issues/89670
DeltaFile
+18-0clang/test/CodeGen/regparm-flag.c
+10-5clang/lib/CodeGen/CodeGenModule.cpp
+7-0llvm/include/llvm/Transforms/Utils/BuildLibCalls.h
+1-1llvm/lib/Transforms/Utils/BuildLibCalls.cpp
+36-64 files

LLVM/project 8591fb3llvm/lib/Target/AArch64 AArch64StackTagging.cpp

api lvl

Created using spr 1.3.4
DeltaFile
+1-1llvm/lib/Target/AArch64/AArch64StackTagging.cpp
+1-11 files

LLVM/project 3a0d894bolt/include/bolt/Rewrite RewriteInstance.h, bolt/lib/Rewrite RewriteInstance.cpp

[BOLT] Add support for BOLT-reserved space in a binary (#90300)

Allow the user to allocate space in a binary that could be used by BOLT
for allocating new sections. The reservation is specified by two special
symbols recognizable by BOLT: __bolt_reserved_{start,end}.

The reserved space will be useful for optimizing the Linux kernel where
we cannot allocate a new executable segment. However, the support is not
limited to kernel binaries as some user-space application may find it
useful too.
DeltaFile
+66-22bolt/lib/Rewrite/RewriteInstance.cpp
+4-0bolt/include/bolt/Rewrite/RewriteInstance.h
+70-222 files

LLVM/project 5bbf1eaclang/docs ReleaseNotes.rst, clang/lib/Basic/Targets WebAssembly.cpp

[WebAssembly] Enable multivalue and reference-types in generic CPU config (#80923)

This enables multivalue and reference-types in `-mcpu=generic`           
configuration. These proposals have been standardized and supported in   
all major browsers for several years at this point:                      
https://github.com/WebAssembly/proposals/blob/main/finished-proposals.md 
DeltaFile
+13-7clang/lib/Basic/Targets/WebAssembly.cpp
+3-3clang/test/Preprocessor/wasm-target-features.c
+5-0clang/docs/ReleaseNotes.rst
+21-103 files

LLVM/project 6f390eaclang/lib/Lex Pragma.cpp

[Lex] Fix clang -Wparentheses after #89923
DeltaFile
+2-1clang/lib/Lex/Pragma.cpp
+2-11 files

LLVM/project 347a02bclang/test/Sema constant_builtins_vector.cpp

[clang][NFC] Repair tests for __builtin_convertvector on big-endian

Previously, the macro expansion to be explicit for the test cases had
unintentionally forced the tests to always run in little-endian mode.

This change restores the tests' endianness switch, and ensures that
the tests always run on both a little- and big-endian platform.
DeltaFile
+38-36clang/test/Sema/constant_builtins_vector.cpp
+38-361 files

LLVM/project 35fa46alldb/source/Commands CommandObjectDWIMPrint.cpp

Improve comment
DeltaFile
+1-1lldb/source/Commands/CommandObjectDWIMPrint.cpp
+1-11 files

LLVM/project 9d955a6lld/tools/lld CMakeLists.txt, llvm/test/tools/llvm-driver passthrough-lld.test

[driver] Allow `ld` as a driver alias to lld (#90515)

This adds a "hidden" alias kind that allows using LLD when symlinked as
`ld`; however, it does not install `ld` as a symlink. This is to allow
either using a mixed toolchain with both LLD and GNU ld, or a pure LLD
toolchain where LLD has been installed (or symlinked) to `ld` for
compatibility w/ older tools that expect `ld`.
DeltaFile
+5-0llvm/tools/llvm-driver/CMakeLists.txt
+4-0lld/tools/lld/CMakeLists.txt
+2-0llvm/test/tools/llvm-driver/passthrough-lld.test
+1-1utils/bazel/llvm-project-overlay/llvm/driver.bzl
+12-14 files

LLVM/project 975eca0lldb/include/lldb/Expression UserExpression.h, lldb/packages/Python/lldbsuite/test lldbtest.py

Add a new SBExpressionOptions::SetLanguage() API (NFCI) (#89981)

that separates out language and version. To avoid reinventing the wheel
and introducing subtle incompatibilities, this API uses the table of
languages and versiond defined by the upcoming DWARF 6 standard
(https://dwarfstd.org/languages-v6.html). While the DWARF 6 spec is not
finialized, the list of languages is broadly considered stable.

The primary motivation for this is to allow the Swift language plugin to
switch between language dialects between, e.g., Swift 5.9 and 6.0 with
out introducing a ton of new language codes. On the main branch this
change is considered NFC.

Depends on https://github.com/llvm/llvm-project/pull/89980
DeltaFile
+67-0lldb/utils/TableGen/LLDBSBAPIDWARFEnum.cpp
+34-0lldb/source/Target/Language.cpp
+18-15lldb/include/lldb/Expression/UserExpression.h
+17-13lldb/source/API/SBFrame.cpp
+18-7lldb/packages/Python/lldbsuite/test/lldbtest.py
+10-13lldb/source/Target/StackFrame.cpp
+164-4829 files not shown
+306-12335 files

LLVM/project 8ba880bclang/docs UsersManual.rst, clang/lib/Driver ToolChain.cpp

[Driver] Clean up denormal handling with fast-math-related options (#89477)

This change cleans up the clang driver handling of umbrella options like
-ffast-math, -funsafe-math-optimizations, and -ffp-model, and aligns the
behavior of -ffp-model=fast with -ffast-math with regard to the linking
of crtfastmath.o.

We agreed in a previous review that the fast-math options should not
attempt to change the -fdenormal-fp-math option, which is inherently
target-specific.

The clang user's manual claims that -ffp-model=fast "behaves identically
to specifying both -ffast-math and -ffp-contract=fast." Since
-ffast-math causes crtfastmath.o to be linked if it is available, that should
also happen with -ffp-model=fast.

I am going to be proposing further changes to -ffp-model=fast,
decoupling it from -ffast-math and introducing a new
-ffp-model=aggressive that matches the current behavior, but I wanted
to solidfy the current behavior before I do that.
DeltaFile
+3-17clang/lib/Driver/ToolChains/Clang.cpp
+9-6clang/docs/UsersManual.rst
+9-4clang/lib/Driver/ToolChain.cpp
+3-1clang/test/Driver/fp-model.c
+3-0clang/test/Driver/solaris-ld.c
+3-0clang/test/Driver/linux-ld.c
+30-286 files

LLVM/project e5907c8clang/include/clang/AST NestedNameSpecifier.h

[NFC] Fix hasQualifier comment (#90485)

operator bool from NestedNameSpecifierLoc and
member function hasQualifier both do the same thing, returning true if
the private data member Qualifier is not nullptr, so clearly one of the
comments is wrong, and in this case it is the second one.

fixes https://github.com/llvm/llvm-project/issues/90472
DeltaFile
+1-1clang/include/clang/AST/NestedNameSpecifier.h
+1-11 files

LLVM/project a5cc951llvm/include/llvm/BinaryFormat ELF.h, llvm/lib/BinaryFormat ELF.cpp

[BinaryFormat] Adjust OSABI functions and add unittests

Adjust #89280:

* ELFOSABI_LINUX is a historical alias that should not be used in new
  code. readelf -h displays "UNIX - GNU" instead of "Linux".
* "OS" is inappropriate. Some values are architecture-specific, e.g.
  ELFOSABI_ARM.
* Drop lowercase, which seems a job of the caller.

Add some unittests.

Pull Request: https://github.com/llvm/llvm-project/pull/90270
DeltaFile
+32-0llvm/unittests/BinaryFormat/ELFTest.cpp
+7-8llvm/lib/BinaryFormat/ELF.cpp
+5-4llvm/include/llvm/BinaryFormat/ELF.h
+1-0llvm/unittests/BinaryFormat/CMakeLists.txt
+45-124 files