LLVM/project 13a8bfdllvm/lib/Transforms/Instrumentation MemorySanitizer.cpp, llvm/test/Instrumentation/MemorySanitizer vscale.ll

MS.IntptrTy

Created using spr 1.3.4
DeltaFile
+8-8llvm/test/Instrumentation/MemorySanitizer/vscale.ll
+1-1llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
+9-92 files

LLVM/project 38511f1bolt/include/bolt/Core BinaryFunction.h, bolt/lib/Core BinaryFunction.cpp

disassemble instruction

Created using spr 1.3.4
DeltaFile
+20-1bolt/lib/Core/BinaryFunction.cpp
+9-4bolt/lib/Passes/ValidateInternalCalls.cpp
+8-2bolt/lib/Profile/DataAggregator.cpp
+3-6bolt/include/bolt/Core/BinaryFunction.h
+1-2bolt/lib/Rewrite/RewriteInstance.cpp
+41-155 files

LLVM/project f21c7c5bolt/include/bolt/Core BinaryFunction.h, bolt/lib/Core BinaryFunction.cpp

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.4

[skip ci]
DeltaFile
+9-4bolt/lib/Passes/ValidateInternalCalls.cpp
+0-6bolt/include/bolt/Core/BinaryFunction.h
+5-1bolt/lib/Core/BinaryFunction.cpp
+1-2bolt/lib/Rewrite/RewriteInstance.cpp
+15-134 files

LLVM/project a139e4allvm/lib/Transforms/IPO FunctionImport.cpp, llvm/test/ThinLTO/X86 import_callee_declaration.ll

Add test coverage for import delcaration
DeltaFile
+111-0llvm/test/ThinLTO/X86/import_callee_declaration.ll
+10-6llvm/lib/Transforms/IPO/FunctionImport.cpp
+4-0llvm/tools/llvm-link/llvm-link.cpp
+125-63 files

LLVM/project a7e9e3elldb/include/lldb/Host Host.h, lldb/source/Host/common Host.cpp

[lldb] Add a log level to Host::SystemLog (#90904)

Add the ability to specify a log level to Host::SystemLog.
DeltaFile
+26-4lldb/source/Host/common/Host.cpp
+10-2lldb/source/Host/macosx/objcxx/Host.mm
+8-1lldb/include/lldb/Host/Host.h
+44-73 files

LLVM/project 8e5de71llvm/lib/Transforms/Instrumentation MemorySanitizer.cpp, llvm/test/Instrumentation/MemorySanitizer vscale.ll

[𝘀𝗽𝗿] initial version

Created using spr 1.3.4
DeltaFile
+58-1llvm/test/Instrumentation/MemorySanitizer/vscale.ll
+2-2llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
+60-32 files

LLVM/project 2d15855lldb/tools/debugserver/source/MacOSX MachProcess.mm, lldb/tools/debugserver/source/MacOSX/arm64 DNBArchImplARM64.cpp

[lldb] [debugserver] address preprocessor warning, extra arg (#90808)

In DNBArchImplARM64.cpp I'm doing
```
#if __has_feature(ptrauth_calls) && defined(__LP64__)
```
And the preprocessor warns that this is not defined behavior. This
checks if ptrauth_calls is available and if this is being compiled
64-bit (i.e. arm64e), and defines a single DEBUGSERVER_IS_ARM64E when
those are both true.

I did have to duplicate one DNBLogThreaded() call which itself is a
macro, and using an ifdef in the middle of macro arguments also got me a
warning from the preprocessor.

While testing this for all the different targets, I found a DNBError
initialization that accepts a c-string but I'm passing in a printf-style
formatter c-string and an argument. Create the string before the call
and pass in the constructed string.

rdar://127129242
DeltaFile
+20-17lldb/tools/debugserver/source/MacOSX/arm64/DNBArchImplARM64.cpp
+4-4lldb/tools/debugserver/source/MacOSX/MachProcess.mm
+24-212 files

LLVM/project 9dca7ddutils/bazel/llvm-project-overlay/mlir BUILD.bazel

Fix MLIR BUILD
DeltaFile
+40-0utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
+40-01 files

LLVM/project 954d00elldb/source/Plugins/ObjectFile/Mach-O ObjectFileMachO.cpp

[lldb] MachO delay-init binaries don't load as dependent
DeltaFile
+10-1lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
+10-11 files

LLVM/project 4113e15clang/lib/CodeGen CodeGenFunction.h, clang/test/Profile debug-info-instr_profile_switch.cpp

[clang][PGO] Apply artificial DebugLoc to llvm.instrprof.increment instructions (#90717)

Prior to this change the debug-location for the
`llvm.instrprof.increment` intrinsic was set to whatever the current
DIBuilder's current debug location was set to. This meant that for
switch-statements, a counter's location was set to the previous case's
debug-location, causing confusing stepping behaviour in debuggers. This
patch makes sure we attach a dummy debug-location for the increment
instructions.

rdar://123050737
DeltaFile
+40-0clang/test/Profile/debug-info-instr_profile_switch.cpp
+3-1clang/lib/CodeGen/CodeGenFunction.h
+43-12 files

LLVM/project 39172bcclang/lib/AST ASTContext.cpp, clang/lib/Basic TargetInfo.cpp

[HLSL] Cleanup TargetInfo handling (#90694)

We had some odd places where we set target behaviors. We were setting
the long size in target-specific code, but it should be language-based.
We were not setting the Half float type semantics correctly, and instead
were overriding the query in the AST context.

This change it moves existing code to the right places in the Target so
that as we continue working on target and language feature they are
controlled in the right places.

It also fixes a bug where the size of `half` was computed incorrectly
when native half types are not supported.
DeltaFile
+11-0clang/test/SemaHLSL/Types/Arithmetic/half_size.hlsl
+1-9clang/lib/AST/ASTContext.cpp
+10-0clang/lib/Basic/TargetInfo.cpp
+0-1clang/lib/Basic/Targets/DirectX.h
+22-104 files

LLVM/project 0c2a508libcxx/utils/ci docker-compose.yml

Bump actions runner image used for libc++'s builders.

The builders are not producing warnings about the runner version being
out of date. This is an attempt to fix that.
DeltaFile
+1-1libcxx/utils/ci/docker-compose.yml
+1-11 files

LLVM/project 26060deflang/include/flang/Optimizer/Builder FIRBuilder.h, flang/include/flang/Semantics tools.h

[flang][cuda] Lower device/managed/unified allocation to cuda ops (#90623)

Lower locals allocation of cuda device, managed and unified variables to
fir.cuda_alloc. Add fir.cuda_free in the function context finalization.

@vzakhari For some reason the PR #90526 has been closed when I merged PR
#90525. Just reopening one.
DeltaFile
+29-0flang/lib/Lower/ConvertVariable.cpp
+14-11flang/lib/Optimizer/Builder/FIRBuilder.cpp
+25-0flang/test/Lower/CUDA/cuda-data-attribute.cuf
+17-0flang/include/flang/Semantics/tools.h
+15-0flang/lib/Optimizer/Dialect/FIROps.cpp
+7-0flang/include/flang/Optimizer/Builder/FIRBuilder.h
+107-116 files

LLVM/project d129ea8libcxx/include string

[libcxx] Align `__recommend() + 1`  by __endian_factor (#90292)

This is detected by asan after #83774

Allocation size will be divided by `__endian_factor` before storing. If
it's not aligned,
we will not be able to recover allocation size to pass into
`__alloc_traits::deallocate`.

we have code like this 
```
 auto __allocation = std::__allocate_at_least(__alloc(), __recommend(__sz) + 1);
    __p               = __allocation.ptr;
    __set_long_cap(__allocation.count);

void __set_long_cap(size_type __s) _NOEXCEPT {
    __r_.first().__l.__cap_     = __s / __endian_factor;
    __r_.first().__l.__is_long_ = true;
  }

    [17 lines not shown]
DeltaFile
+2-2libcxx/include/string
+2-21 files

LLVM/project 18058f2llvm/lib/Support GraphWriter.cpp

[llvm][GraphWriter] Resize std::string, instead of reassigning to substr (NFC)

* Don't call substr which creates a new string instance
* Only call string method if string length is larger than 140

Closes #90324
DeltaFile
+2-1llvm/lib/Support/GraphWriter.cpp
+2-11 files

LLVM/project 90bd723clang/include/clang/Driver Distro.h, clang/lib/Driver Distro.cpp

Add support of the next Ubuntu (Ubuntu 24.10 - Oracular Oriol)
DeltaFile
+2-1clang/include/clang/Driver/Distro.h
+1-0clang/lib/Driver/Distro.cpp
+3-12 files

LLVM/project 7298ae3clang/lib/CodeGen CGBuiltin.cpp, clang/test/CodeGen builtins-bitint.c builtins.c

[clang][CodeGen] Fix in codegen for __builtin_popcountg/ctzg/clzg (#90845)

Make sure that the result from the popcnt/ctlz/cttz intrinsics is
unsigned casted to int, rather than casted as a signed value, when
expanding the __builtin_popcountg/__builtin_ctzg/__builtin_clzg
builtins.

An example would be
  unsigned _BitInt(1) x = ...;
  int y = __builtin_popcountg(x);
which previously was incorrectly expanded to
  %1 = call i1 @llvm.ctpop.i1(i1 %0)
  %cast = sext i1 %1 to i32

Since the input type is generic for those "g" versions of the builtins
the intrinsic call may return a value for which the sign bit is set
(that could typically for BitInt of size 1 and 2). So we need to emit a
zext rather than a sext to avoid negative results.
DeltaFile
+126-0clang/test/CodeGen/builtins-bitint.c
+10-10clang/test/CodeGen/builtins.c
+6-6clang/lib/CodeGen/CGBuiltin.cpp
+142-163 files

LLVM/project b24aeefllvm/utils/gn/secondary/libcxx/include BUILD.gn

[gn build] Port 17f006207cb2
DeltaFile
+2-0llvm/utils/gn/secondary/libcxx/include/BUILD.gn
+2-01 files

LLVM/project 17f0062libcxx/include ostream, libcxx/include/__ostream basic_ostream.h print.h

[libc++] Granularize <ostream> (#85537)

This also includes `<__ostream/basic_ostream.h>` in `<sstream>` now,
reducing the include time of `<complex>` from 819ms to 603ms.
DeltaFile
+3-994libcxx/include/ostream
+860-0libcxx/include/__ostream/basic_ostream.h
+180-0libcxx/include/__ostream/print.h
+25-3libcxx/test/libcxx/transitive_includes/cxx26.csv
+25-3libcxx/test/libcxx/transitive_includes/cxx23.csv
+25-0libcxx/test/libcxx/transitive_includes/cxx20.csv
+1,118-1,00013 files not shown
+1,243-1,01619 files

LLVM/project 9d4575cllvm/lib/CodeGen RDFGraph.cpp

[llvm] Make lambda take const reference to prevent unneeded copy (NFC)

Closes #89198
DeltaFile
+1-1llvm/lib/CodeGen/RDFGraph.cpp
+1-11 files

LLVM/project 9cd218ebolt/include/bolt/Rewrite RewriteInstance.h, bolt/lib/Rewrite RewriteInstance.cpp

[BOLT] Refactor BOLT reserved space discovery (#90893)

Move code that checks for __bolt_reserved_{start,end} into a new
discoverBOLTReserved() function and call it from discoverFileObjects()
so that the reserved space info is accessible to passes. NFC for the
current set of binaries.
DeltaFile
+29-26bolt/lib/Rewrite/RewriteInstance.cpp
+4-0bolt/include/bolt/Rewrite/RewriteInstance.h
+33-262 files

LLVM/project 99b4532bolt/lib/Rewrite LinuxKernelRewriter.cpp, bolt/test/X86 linux-smp-locks.s

[BOLT] Add support for Linux kernel .smp_locks section (#90798)

Parse .smp_locks section entries and create fixups that are going to be
used to update the section before the binary emission.
DeltaFile
+81-118bolt/lib/Rewrite/LinuxKernelRewriter.cpp
+40-0bolt/test/X86/linux-smp-locks.s
+121-1182 files

LLVM/project b888e3clibcxx/include chrono, libcxx/include/__chrono time_zone.h

[libc++][TZDB] Implements time_zone::to_sys.

This implements the overload with the choose argument and adds this enum.

Implements parts of:
- P0355 Extending chrono to Calendars and Time Zones
DeltaFile
+147-0libcxx/test/std/time/time.zone/time.zone.timezone/time.zone.members/to_sys_choose.pass.cpp
+41-0libcxx/test/libcxx/time/time.zone/time.zone.timezone/time.zone.members/assert.to_sys_choose.pass.cpp
+37-0libcxx/test/libcxx/time/time.zone/time.zone.timezone/choose.pass.cpp
+33-0libcxx/include/__chrono/time_zone.h
+4-0libcxx/include/chrono
+0-3libcxx/modules/std/chrono.inc
+262-31 files not shown
+265-37 files

LLVM/project 11f76b8llvm/lib/Target/AMDGPU SILoadStoreOptimizer.cpp

[AMDGPU] Use some merging/unmerging helpers in SILoadStoreOptimizer (#90866)

Factor out copyToDestRegs and copyFromSrcRegs for merging store sources
and unmerging load results. NFC.
DeltaFile
+76-135llvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp
+76-1351 files

LLVM/project bce3bfcllvm/test/Transforms/LoopVectorize epilog-vectorization-any-of-reductions.ll

[LV] Add another epilogue test with an AnyOfReduction of i1.

Additional test case from
https://github.com/llvm/llvm-project/pull/78304.
DeltaFile
+149-0llvm/test/Transforms/LoopVectorize/epilog-vectorization-any-of-reductions.ll
+149-01 files

LLVM/project eea81aaclang/include/clang/Basic DiagnosticParseKinds.td, clang/lib/Parse ParseOpenMP.cpp

Revert "[OpenMP][TR12] change property of map-type modifier." (#90885)

Breaks
https://lab.llvm.org/buildbot/#/builders/5/builds/43086/steps/9/logs/stdio

Reverts llvm/llvm-project#90499
DeltaFile
+46-59clang/test/OpenMP/target_map_messages.cpp
+0-58clang/test/OpenMP/target_ast_print.cpp
+4-40clang/lib/Parse/ParseOpenMP.cpp
+0-5clang/include/clang/Basic/DiagnosticParseKinds.td
+50-1624 files

LLVM/project 0e5ff62libc/fuzzing/__support hashtable_fuzz.cpp CMakeLists.txt, libc/src/__support/HashTable/generic bitmask_impl.inc

[libc] add hashtable fuzzing (#87949)

DeltaFile
+182-0libc/fuzzing/__support/hashtable_fuzz.cpp
+18-0libc/fuzzing/__support/CMakeLists.txt
+10-7libc/src/__support/HashTable/generic/bitmask_impl.inc
+11-0libc/fuzzing/__support/uint_fuzz.cpp
+221-74 files

LLVM/project 38f9c01llvm/lib/Target/SystemZ SystemZISelLowering.cpp, llvm/test/CodeGen/SystemZ atomic-load-08.ll

SystemZ: Stop casting fp typed atomic loads in the IR (#90768)

shouldCastAtomicLoadInIR is a hack that should be removed. Simple
bitcasting of operations should be in the domain of ordinary type
legalization and does not need to be done in the IR.

This introduces a code quality regression due to the hack currently used
to avoid using 128-bit values in the case where the floating point value
is ultimately used as an integer. This would be avoidable if there were
always a legal 128-bit type (like v2i64). This is a pretty niche
situation so I assume it's not important.

I implemented about 85% of the work necessary to make v2i64 legal, but
it was taking too long and I lack the necessary familiarity with systemz
to complete it. I've pushed it here for someone to pick up:
https://github.com/arsenm/llvm-project/pull/new/systemz-legal-v2i64

Depends #90861
DeltaFile
+43-6llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
+17-16llvm/test/CodeGen/SystemZ/atomic-load-08.ll
+60-222 files

LLVM/project 8805465clang/lib/CodeGen CGVTables.cpp, clang/test/CodeGenCXX tmp-md-nodes2.cpp

[RemoveDIs][Clang] Resolve DILocalVariables used by DbgRecords (#90882)

This patch fixes debug records in clang, by adding support for debug
records to the only remaining place that refers to DbgVariableIntrinsics
directly and does not handle DbgVariableRecords.
DeltaFile
+6-0clang/lib/CodeGen/CGVTables.cpp
+2-0clang/test/CodeGenCXX/tmp-md-nodes2.cpp
+8-02 files

LLVM/project dcf376allvm/lib/IR LLVMContextImpl.h, llvm/unittests/IR DebugInfoTest.cpp

[DebugInfo] Make DISubprogram's hashing always produce the same result (#90770)

A DISubprogram's hashing algorithm takes into account its Scope. A Scope
can be a temporary though which can be replaced later on during
compilation. This means that the hashing algorithm for a DISubprogram
could produce a different hash before/after the Scope has changed. Fix
this by checking the Scope's linkage name instead, which should always
be the same.

rdar://127004707
DeltaFile
+51-1llvm/unittests/IR/DebugInfoTest.cpp
+12-5llvm/lib/IR/LLVMContextImpl.h
+63-62 files