LLVM/project df1fd39compiler-rt/lib/scudo/standalone combined.h, compiler-rt/lib/scudo/standalone/tests combined_test.cpp

Revert "[scudo] Only init RingBuffer when needed. (#85994)"

This reverts commit 0dbd804a690720688d8234d8bdaee8f8f4fdcddc.
DeltaFile
+12-66compiler-rt/lib/scudo/standalone/tests/combined_test.cpp
+10-21compiler-rt/lib/scudo/standalone/combined.h
+22-872 files

LLVM/project e68d505bolt/include/bolt/Rewrite DWARFRewriter.h, bolt/lib/Rewrite DWARFRewriter.cpp

[BOLT][DWARF] Refactor helper functions that update  DW_AT_comp_dir/DW_AT_dwo_name (#91237)

We need to update DW_AT_comp_dir/DW_AT_dwo_name TU in the
.debug_info.dwo section so that the path is correct. Refactored helper
functions to make it easier for next step.
DeltaFile
+45-35bolt/lib/Rewrite/DWARFRewriter.cpp
+0-7bolt/include/bolt/Rewrite/DWARFRewriter.h
+45-422 files

LLVM/project 3099ab6llvm/test/CodeGen/X86 vector-interleaved-load-i32-stride-7.ll vector-interleaved-load-i32-stride-6.ll

rebase on -analyze fixes: e4d242768aefabc0091dd01fabecaffbc2b6984b

Created using spr 1.3.5-bogner
DeltaFile
+3,380-3,509llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-7.ll
+3,154-3,545llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-6.ll
+1,821-1,911llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-5.ll
+1,787-1,763llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-6.ll
+1,020-1,708llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-8.ll
+868-1,017llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-3.ll
+12,030-13,453296 files not shown
+21,332-17,206302 files

LLVM/project d3e77f5clang/include/clang/Basic AttrDocs.td, llvm/lib/Target/X86 X86CallingConv.td

Try to use non-volatile registers for `preserve_none` parameters (#88333)

This uses non-volatile registers for the first four (six on Windows)
registers used for `preserve_none` argument passing. This allows these
registers to stay "pinned", even if the body of the `preserve_none`
function contains calls to other "normal" functions.

Example:

```c
void boring(void);

__attribute__((preserve_none)) void (continuation)(void *, void *, void *, void *);

__attribute__((preserve_none)) void entry(void *a, void *b, void *c, void *d)
{
    boring();
    __attribute__((musttail)) return continuation(a, b, c, d);
}

    [26 lines not shown]
DeltaFile
+34-16llvm/test/CodeGen/X86/preserve_nonecc_call.ll
+21-0llvm/test/CodeGen/X86/preserve_nonecc_call_win.ll
+6-4llvm/lib/Target/X86/X86CallingConv.td
+3-2clang/include/clang/Basic/AttrDocs.td
+64-224 files

LLVM/project 657eda3mlir/lib/Target/Cpp TranslateToCpp.cpp, mlir/test/Target/Cpp expressions.mlir

[MLIR][EmitC] Don't translate expressions inline if user is `emitc.subscript` (#91087)

This change updates the logic that determines whether an `emitc.expression`
result is translated into a dedicated variable assignment. Due to how
the translation of `emitc.subscript` currently works, a previously
inline-able `emitc.expression` would produce incorrect C++ if its single user 
was a `emitc.subscript` operation.
DeltaFile
+15-0mlir/test/Target/Cpp/expressions.mlir
+8-1mlir/lib/Target/Cpp/TranslateToCpp.cpp
+23-12 files

LLVM/project 363ec6fllvm/lib/Target/AArch64 AArch64ISelLowering.cpp AArch64PerfectShuffle.h, llvm/lib/Target/AArch64/GISel AArch64PostLegalizerLowering.cpp

[AArch64][GlobalISel] Common some shuffle mask functions.

This removes the GISel versions of isREVMask, isTRNMask, isUZPMask and
isZipMask. They are combined with the existing versions from SDAG into
AArch64PerfectShuffle.h.
DeltaFile
+32-67llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+2-77llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp
+20-53llvm/test/CodeGen/AArch64/arm64-uzp.ll
+48-5llvm/lib/Target/AArch64/AArch64PerfectShuffle.h
+12-39llvm/test/CodeGen/AArch64/arm64-zip.ll
+2-2llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
+116-2431 files not shown
+117-2447 files

LLVM/project e4d2427clang/test/OpenMP amdgpu_try_catch.cpp nvptx_exceptions.cpp

[test] %clang_cc1 -analyze: remove redundant actions
DeltaFile
+8-8clang/test/OpenMP/amdgpu_try_catch.cpp
+8-8clang/test/OpenMP/nvptx_exceptions.cpp
+8-8clang/test/OpenMP/nvptx_throw.cpp
+8-8clang/test/OpenMP/amdgpu_throw.cpp
+8-8clang/test/OpenMP/amdgpu_exceptions.cpp
+8-8clang/test/OpenMP/nvptx_try_catch.cpp
+48-4833 files not shown
+87-8739 files

LLVM/project d0be944llvm/lib/Target/X86 X86.td, llvm/test/CodeGen/X86 bypass-slow-division-64.ll

[X86] Add slow div64 tuning flag to Nehalem target (#91129)

This appears to have been missed because later cpus don't inherit from Nehalem tuning much.

Noticed while cleaning up for #90985
DeltaFile
+1-1llvm/test/CodeGen/X86/bypass-slow-division-64.ll
+1-0llvm/lib/Target/X86/X86.td
+2-12 files

LLVM/project c144157llvm/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/test/Transforms/SLPVectorizer/RISCV strided-stores-vectorized.ll

[SLP]Use last pointer instead of first for reversed strided stores.

Need to use the last address of the vectorized stores for the strided
stores, not the first one, to correctly store the data.
DeltaFile
+4-0llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+2-2llvm/test/Transforms/SLPVectorizer/RISCV/strided-stores-vectorized.ll
+6-22 files

LLVM/project f0f02b9clang/lib/Driver/ToolChains Clang.cpp

[NFC][Driver] Clean up RenderFloatingPointOptions() (#91017)

This change refactors RenderFloatingPointOptions() to eliminate some
excessively complicated logic and a redundant switch statement. The
logic being simplified is an artifact of the original -ffp-model
implementation, and over time it has become unnecessary.

The handling of diagnostics related to the -ffp-contract option is
still a bit convoluted after this change. I will address that in a
subsequent patch because I think it will make sense to make some minor
changes to the driver behavior when that is cleaned up. The current
patch should not make any change to observable behavior of the driver.
DeltaFile
+16-39clang/lib/Driver/ToolChains/Clang.cpp
+16-391 files

LLVM/project cf6d797lldb/source/Plugins/SymbolFile/DWARF DWARFDefines.cpp DWARFDefines.h

[lldb][NFCI] Remove unused DWARF value-to-name functions (#91010)

I was cleaning up this portion of the code and realized these are
completely unused.
DeltaFile
+0-50lldb/source/Plugins/SymbolFile/DWARF/DWARFDefines.cpp
+0-12lldb/source/Plugins/SymbolFile/DWARF/DWARFDefines.h
+0-622 files

LLVM/project 9fc0b18lld/MachO ObjC.cpp, lld/test/MachO objc-category-merging-extern-class-minimal.s

[lld-macho] Add support for category names in ConcatInputSection's (#90850)

In some cases we see strings from categories being part of "data"
sections (Ex:`__objc_const`), not part of of sections marked as
`cstring_literals`. Since lld treats these sections differently we need
to explicitly implement support for reading strings from the
non-`cstring_literals` sections.

Adding a test that previously would result in an assert.
DeltaFile
+16-3lld/MachO/ObjC.cpp
+1-1lld/test/MachO/objc-category-merging-extern-class-minimal.s
+17-42 files

LLVM/project 5fa24aclld/MachO ObjC.cpp, lld/test/MachO objc-category-merging-extern-class-minimal.s

[lld-macho] Category Merger: add support for addrsig references (#90903)

When generating categories, clang sometimes will generate references in
the `.addrsig` section to the various category data items. Since we may
erase such items after merging them, we also need to remove them from
the `.addrsig` section - otherwise this will cause runtime asserts with
the `.addrsig` section trying to access invalid data.

Implementation wise, we use a hashset to keep track of all erased
`InputSection`'s and then go through all `.addrsig` sections and remove
references to any erased `InputSection`.
DeltaFile
+35-0lld/MachO/ObjC.cpp
+3-0lld/test/MachO/objc-category-merging-extern-class-minimal.s
+38-02 files

LLVM/project 52187b9llvm/lib/Target/RISCV RISCVDeadRegisterDefinitions.cpp RISCVTargetMachine.cpp, llvm/test/CodeGen/RISCV O3-pipeline.ll

[RISCV] Move RISCVDeadRegisterDefinitions to post vector regalloc (#90636)

Currently RISCVDeadRegisterDefinitions runs after vsetvli insertion, but
in #70549 vsetvli insertion runs after vector regalloc and as a result
we no longer convert some vsetvli a0, a0s to vsetvli x0, a0. This patch
moves it to after vector regalloc, but before scalar regalloc so we
still get the benefits of reducing register pressure.
DeltaFile
+13-5llvm/lib/Target/RISCV/RISCVDeadRegisterDefinitions.cpp
+6-3llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
+2-2llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.ll
+1-1llvm/test/CodeGen/RISCV/O3-pipeline.ll
+22-114 files

LLVM/project b9541f9flang/test/Semantics cuf13.cuf

[flang][cuda][NFC] Fix Semantics/cuf13.cuf test on Darwin
DeltaFile
+1-1flang/test/Semantics/cuf13.cuf
+1-11 files

LLVM/project 48c8a57clang/lib/Sema SemaOpenACC.cpp, clang/test/SemaOpenACC compute-construct-attach-clause.cpp compute-construct-deviceptr-clause.cpp

[OpenACC] Implement 'deviceptr' and 'attach' sema for compute constructs

These two are very similar to the other 'var-list' variants, except they
require that the type of the variable be a pointer.  This patch
implements that restriction.
DeltaFile
+120-0clang/test/SemaOpenACC/compute-construct-attach-clause.cpp
+120-0clang/test/SemaOpenACC/compute-construct-deviceptr-clause.cpp
+100-0clang/lib/Sema/SemaOpenACC.cpp
+73-4clang/test/SemaOpenACC/compute-construct-varlist-ast.cpp
+61-0clang/test/SemaOpenACC/compute-construct-deviceptr-clause.c
+61-0clang/test/SemaOpenACC/compute-construct-attach-clause.c
+535-414 files not shown
+733-1820 files

LLVM/project e50060fllvm/test/CodeGen/AArch64 neon-perm.ll arm64-zip.ll

[AArch64][GlobalISel] Addition GISel test coverage for shuffles. NFC
DeltaFile
+361-149llvm/test/CodeGen/AArch64/neon-perm.ll
+135-53llvm/test/CodeGen/AArch64/arm64-zip.ll
+53-19llvm/test/CodeGen/AArch64/arm64-uzp.ll
+549-2213 files

LLVM/project 6542e56flang/lib/Lower/OpenMP DataSharingProcessor.cpp OpenMP.cpp, flang/test/Lower/OpenMP sections.f90

[flang][OpenMP] Move privatizations out of sections (#88191)

Besides duplicating code, privatizing variables in every section
causes problems when synchronization barriers are used. This
happens because each section is executed by a given thread, which
will cause the program to hang if not all running threads execute
the barrier operation.

Fixes https://github.com/llvm/llvm-project/issues/72824
DeltaFile
+53-55flang/test/Lower/OpenMP/sections.f90
+13-80flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
+43-8flang/lib/Lower/OpenMP/OpenMP.cpp
+109-1433 files

LLVM/project 9d9bd76llvm/lib/Target/RISCV RISCVInsertVSETVLI.cpp

[RISCV] Check dead flag on VL def op in RISCVCoalesceVSETVLI. NFC (#91168)

Because LiveVariables has been run, we no longer need to lookup the
users in MachineRegisterInfo anymore and can instead just check for the
dead flag.
DeltaFile
+1-3llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
+1-31 files

LLVM/project 5cb13bfclang-tools-extra/clang-tidy/bugprone ReturnConstRefFromParameterCheck.cpp

[NFC][clang-tidy]increase stability for bugprone-return-const-ref-from-parameter (#91160)

DeltaFile
+6-3clang-tools-extra/clang-tidy/bugprone/ReturnConstRefFromParameterCheck.cpp
+6-31 files

LLVM/project a476032llvm/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/test/Transforms/SLPVectorizer/RISCV smin-signed-zextended.ll

[SLP]Fix PR91025: correctly handle smin/smax of signed operands.

Need to check that the signed operand has an extra sign bit to be sure
that we do not skip signedness, when trying to minimize bitwidth for
smin/smax intrinsics.
DeltaFile
+10-6llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+7-7llvm/test/Transforms/SLPVectorizer/RISCV/smin-signed-zextended.ll
+17-132 files

LLVM/project d584df6llvm/test/Transforms/SLPVectorizer/RISCV smin-signed-zextended.ll

[SLP][NFC]Add a test with incorrect smin analysis for minimal bitwidth, NFC.
DeltaFile
+40-0llvm/test/Transforms/SLPVectorizer/RISCV/smin-signed-zextended.ll
+40-01 files

LLVM/project 1241e76llvm/lib/Transforms/AggressiveInstCombine AggressiveInstCombine.cpp, llvm/test/Transforms/AggressiveInstCombine strncmp-1.ll

[AggressiveInstCombine] Fix strncmp inlining (#91204)

Fix the issue that `char` constants are converted to `uint64_t` in the
wrong way when doing the inlining.
DeltaFile
+38-0llvm/test/Transforms/AggressiveInstCombine/strncmp-1.ll
+2-1llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
+40-12 files

LLVM/project 1b22ecallvm/cmake/modules LLVMExternalProjectUtils.cmake

Revert "[AIX][CMake] Use top-level tools in llvm_ExternalProject_Add" (#91019)

This reverts commit 11066449d49e20f18f46757df07455c6abcedcf1.

As noted in the original patch, this was designed to reverted once
https://reviews.llvm.org/D142479 and https://reviews.llvm.org/D142660
landed, which has long since happened.
DeltaFile
+1-3llvm/cmake/modules/LLVMExternalProjectUtils.cmake
+1-31 files

LLVM/project 7b040d0lldb/tools/lldb-dap lldb-dap.cpp

[lldb-dap] Don't fail when SBProcess::GetMemoryRegionInfo returns error. (#87649)

`SBProcess::GetMemoryRegionInfo` uses `qMemoryRegionInfo` packet to get
memory region info, but this is not supported in gdb-server and causing
downstream lldb test failures. This change ignores the the error from
`SBProcess::GetMemoryRegionInfo` .

Reported by @tedwoodward @jerinphilip.
DeltaFile
+15-19lldb/tools/lldb-dap/lldb-dap.cpp
+15-191 files

LLVM/project d71771dllvm/lib/Bitcode/Reader BitcodeReader.cpp, llvm/lib/Bitcode/Writer BitcodeWriter.cpp

Revert "Reapply "Use an abbrev to reduce size of VALUE_GUID records in ThinLTO summaries" (#90610)" (#91194)

Reverts llvm/llvm-project#90692

Breaking PPC buildbots. The bots are not meant to test LLD, but are
running a test that is using an old version of LLD without the change
(so is incompatible). Revert until a fix is found.
DeltaFile
+38-38llvm/test/Bitcode/thinlto-function-summary-paramaccess.ll
+24-29llvm/test/Assembler/thinlto-summary.ll
+4-26llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
+8-8llvm/test/ThinLTO/X86/distributed_indexes.ll
+5-5llvm/test/tools/gold/X86/thinlto.ll
+2-7llvm/lib/Bitcode/Reader/BitcodeReader.cpp
+81-11316 files not shown
+114-14622 files

LLVM/project 5714e4dllvm/lib/Bitcode/Reader BitcodeReader.cpp, llvm/lib/Bitcode/Writer BitcodeWriter.cpp

Revert "Reapply "Use an abbrev to reduce size of VALUE_GUID records in ThinLT…"

This reverts commit 28869a704ef59471cee6c750f2566b133b0ff391.
DeltaFile
+38-38llvm/test/Bitcode/thinlto-function-summary-paramaccess.ll
+24-29llvm/test/Assembler/thinlto-summary.ll
+4-26llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
+8-8llvm/test/ThinLTO/X86/distributed_indexes.ll
+5-5llvm/test/tools/gold/X86/thinlto.ll
+2-7llvm/lib/Bitcode/Reader/BitcodeReader.cpp
+81-11316 files not shown
+114-14622 files

LLVM/project ecfb5d9libc/test/UnitTest FPMatcher.h, libc/test/src/math atanhf_test.cpp atanf_test.cpp

[libc][math] fix loose except check in `{EXPECT,ASSERT}_FP_EXCEPTION` macros (#88816)

Adds more FP test macros for the upcoming test adds for #61092 and the
issues opened from it: #88768, #88769, #88770, #88771, #88772.

Fix bug in `{EXPECT,ASSERT}_FP_EXCEPTION`. `EXPECT_FP_EXCEPTION(0)`
seems to be used to test that an exception did not happen, but it always
does `EXPECT_GE(... & 0, 0)` which never fails.

Update and refactor tests that break after the above bug fix. An
interesting way things broke after the above change is that
`ForceRoundingMode` and `quick_get_round()` were raising the inexact
exception, breaking a lot of the `atan*` tests.

The changes for all files other than `FPMatcher.h` and
`libc/test/src/math/smoke/RoundToIntegerTest.h` should have the same
semantics as before. For `RoundToIntegerTest.h`, lines 56-58 before the
changes do not always hold since this test is used for functions with
different exception and errno behavior like `lrint` and `lround`. I've

    [3 lines not shown]
DeltaFile
+23-11libc/test/src/math/atanhf_test.cpp
+8-18libc/test/UnitTest/FPMatcher.h
+16-6libc/test/src/math/smoke/atan2f_test.cpp
+6-12libc/test/src/math/smoke/RoundToIntegerTest.h
+11-3libc/test/src/math/atanf_test.cpp
+10-4libc/test/src/math/smoke/atanhf_test.cpp
+74-544 files not shown
+92-6010 files

LLVM/project d751e40clang/lib/Frontend InterfaceStubFunctionsConsumer.cpp

[NFC] Use `const&` avoiding copies (#90334)

Fixes #90285.
DeltaFile
+1-1clang/lib/Frontend/InterfaceStubFunctionsConsumer.cpp
+1-11 files

LLVM/project 4d839d8clang/lib/Analysis/FlowSensitive DataflowEnvironment.cpp, clang/unittests/Analysis/FlowSensitive TransferTest.cpp

[clang][dataflow] Don't propagate result objects in unevaluated contexts (reland #90438) (#91172)

This relands #90348 with a fix for a [buildbot
failure](https://lab.llvm.org/buildbot/#/builders/216/builds/38446)
caused by the test being run with `-fno-rtti`.
DeltaFile
+54-0clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
+11-0clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
+65-02 files