LLVM/project 35887d5 — compiler-rt/lib/tsan/rtl tsan_symbolize.cpp

Address review: drop EnterSymbolizer CheckNoLocks, fix commit messages

Created using spr 1.3.7
DeltaFile
+0-1compiler-rt/lib/tsan/rtl/tsan_symbolize.cpp
+0-11 files

LLVM/project bd39b3a — compiler-rt/lib/tsan/rtl tsan_report.cpp tsan_report.h

Address review: drop EnterSymbolizer CheckNoLocks, fix commit messages

Created using spr 1.3.7
DeltaFile
+29-28compiler-rt/lib/tsan/rtl/tsan_report.h
+5-17compiler-rt/lib/tsan/rtl/tsan_report.cpp
+34-452 files

LLVM/project c1da6b3 — compiler-rt/lib/tsan/rtl tsan_report.cpp tsan_report.h

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.7

[skip ci]
DeltaFile
+29-28compiler-rt/lib/tsan/rtl/tsan_report.h
+5-17compiler-rt/lib/tsan/rtl/tsan_report.cpp
+34-452 files

LLVM/project 4d807b1 — .ci compute_projects.py compute_projects_test.py

[orc-rt] enabling CI (#226088)

For now we only build this as a stand alone project.

Co-authored-by: Lang Hames <lhames at gmail.com>
DeltaFile
+18-8.ci/compute_projects_test.py
+4-0.ci/compute_projects.py
+22-82 files

LLVM/project 2b20225 — libcxx/include string

[libc++][string] Improve constexpr performance

Adding `if (__libcpp_is_constant_evaluated()) return` allows
significantly increase complexity of extression.

In case of Asan it changed from 1000 to 6000.

Pull Request: https://github.com/llvm/llvm-project/pull/184724
DeltaFile
+8-0libcxx/include/string
+8-01 files

LLVM/project 72b39c8 — libclc/test/work-item get_group_id.cl

Wyles/update libclctests (#228681)

Using libclc with different versions of clang emit different output.
computeConstantRange now pushes ranges through zext and sext so we now
can prove noundef. This test returns AMDGPU workgroup ID which is zero
extended, so we can now prove it needs noundef.

At some point we may need to update the CI targets to look at libclc?
DeltaFile
+1-1libclc/test/work-item/get_group_id.cl
+1-11 files

LLVM/project 7634546 — clang/lib/StaticAnalyzer/Checkers/WebKit PtrTypesSemantics.h NoDeleteChecker.cpp, clang/test/Analysis/Checkers/WebKit nodelete-annotation.cpp

[alpha.webkit.NoDeleteChecker] Support nodelete on constructors and destructors (#218822)
DeltaFile
+100-23clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
+55-0clang/test/Analysis/Checkers/WebKit/nodelete-annotation.cpp
+43-3clang/lib/StaticAnalyzer/Checkers/WebKit/NoDeleteChecker.cpp
+11-0clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
+209-264 files

LLVM/project 6af5b95 — flang-rt/lib/runtime transformational.cpp, flang-rt/unittests/Runtime Transformational.cpp

Merge commit '81bb42e9201dacdef3bb093da56c61c776690ff4' into HEAD
DeltaFile
+16-10flang/include/flang/Common/uint128.h
+1-1flang-rt/unittests/Runtime/Transformational.cpp
+1-1flang-rt/lib/runtime/transformational.cpp
+18-123 files

LLVM/project 81bb42e — flang-rt/lib/runtime transformational.cpp, flang-rt/unittests/Runtime Transformational.cpp

Merge commit '9c92c5c8e506b9389207f5281031a5d299ab9801' into HEAD
DeltaFile
+16-10flang/include/flang/Common/uint128.h
+1-1flang-rt/unittests/Runtime/Transformational.cpp
+1-1flang-rt/lib/runtime/transformational.cpp
+18-123 files

LLVM/project 9c92c5c — flang-rt/lib/runtime transformational.cpp, flang-rt/unittests/Runtime Transformational.cpp

Use for __float128

clang-format
DeltaFile
+16-10flang/include/flang/Common/uint128.h
+1-1flang-rt/unittests/Runtime/Transformational.cpp
+1-1flang-rt/lib/runtime/transformational.cpp
+18-123 files

LLVM/project c93bad6 — mlir/include/mlir/Dialect/WasmSSA/IR WasmSSAOps.td, mlir/lib/Dialect/WasmSSA/IR WasmSSAOps.cpp

[mlir][wasmssa] Fix if/else round-trip and verify return types (#227828)

Fixes two WasmSSA dialect bugs:

**#226072: `wasmssa.if` does not round-trip.** The else region was
printed with `printKeywordOrString("else ")`. Because of the trailing
space, `"else "` is not a valid bare keyword, so it was printed as a
quoted string (`} "else "{`), which `parseElseRegion` does not accept.
The else keyword is now printed directly, giving `} else {`.

**#226073: `wasmssa.return` is not checked against the function's
results.** `wasmssa.return` had no verifier, so a function could return
a different number or type of values than its signature declares. This
adds a `ReturnOp` verifier that checks the operands against the
enclosing `wasmssa.func`. Checking in the return op rather than in
`FuncOp::verifyBody` also covers returns nested inside
`block`/`loop`/`if` regions.

Tests:

    [16 lines not shown]
DeltaFile
+36-0mlir/test/Dialect/WasmSSA/return-invalid.mlir
+19-1mlir/lib/Dialect/WasmSSA/IR/WasmSSAOps.cpp
+4-3mlir/test/Dialect/WasmSSA/custom_parser/if.mlir
+2-2mlir/test/Target/Wasm/if.mlir
+1-0mlir/include/mlir/Dialect/WasmSSA/IR/WasmSSAOps.td
+62-65 files

LLVM/project 3484153 — compiler-rt/lib/tsan/rtl tsan_report.cpp tsan_interceptors_posix.cpp

rebase

Created using spr 1.3.7
DeltaFile
+69-69compiler-rt/lib/tsan/rtl/tsan_rtl_report.cpp
+34-64compiler-rt/lib/tsan/rtl/tsan_rtl_mutex.cpp
+36-28compiler-rt/lib/tsan/rtl/tsan_report.h
+8-18compiler-rt/lib/tsan/rtl/tsan_interface_ann.cpp
+6-18compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
+5-17compiler-rt/lib/tsan/rtl/tsan_report.cpp
+158-2145 files not shown
+170-24311 files

LLVM/project 6b38839 — compiler-rt/lib/tsan/rtl tsan_report.cpp tsan_interceptors_posix.cpp

[𝘀𝗽𝗿] changes to main this commit is based on

Created using spr 1.3.7

[skip ci]
DeltaFile
+69-66compiler-rt/lib/tsan/rtl/tsan_rtl_report.cpp
+34-64compiler-rt/lib/tsan/rtl/tsan_rtl_mutex.cpp
+36-28compiler-rt/lib/tsan/rtl/tsan_report.h
+8-18compiler-rt/lib/tsan/rtl/tsan_interface_ann.cpp
+6-18compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
+5-17compiler-rt/lib/tsan/rtl/tsan_report.cpp
+158-2114 files not shown
+169-24010 files

LLVM/project af76352 — compiler-rt/lib/tsan/rtl tsan_report.cpp tsan_interceptors_posix.cpp

[𝘀𝗽𝗿] changes to main this commit is based on

Created using spr 1.3.7

[skip ci]
DeltaFile
+46-47compiler-rt/lib/tsan/rtl/tsan_rtl_report.cpp
+36-28compiler-rt/lib/tsan/rtl/tsan_report.h
+23-38compiler-rt/lib/tsan/rtl/tsan_rtl_mutex.cpp
+8-18compiler-rt/lib/tsan/rtl/tsan_interface_ann.cpp
+6-18compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
+5-17compiler-rt/lib/tsan/rtl/tsan_report.cpp
+124-1663 files not shown
+133-1909 files

LLVM/project 3274959 — compiler-rt/lib/tsan/rtl tsan_report.cpp tsan_interceptors_posix.cpp

rebase

Created using spr 1.3.7
DeltaFile
+69-66compiler-rt/lib/tsan/rtl/tsan_rtl_report.cpp
+34-64compiler-rt/lib/tsan/rtl/tsan_rtl_mutex.cpp
+36-28compiler-rt/lib/tsan/rtl/tsan_report.h
+8-18compiler-rt/lib/tsan/rtl/tsan_interface_ann.cpp
+6-18compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
+5-17compiler-rt/lib/tsan/rtl/tsan_report.cpp
+158-2114 files not shown
+169-24010 files

LLVM/project 656f099 — compiler-rt/lib/tsan/rtl tsan_report.cpp tsan_interceptors_posix.cpp

[𝘀𝗽𝗿] changes to main this commit is based on

Created using spr 1.3.7

[skip ci]
DeltaFile
+43-32compiler-rt/lib/tsan/rtl/tsan_rtl_report.cpp
+36-28compiler-rt/lib/tsan/rtl/tsan_report.h
+23-38compiler-rt/lib/tsan/rtl/tsan_rtl_mutex.cpp
+8-18compiler-rt/lib/tsan/rtl/tsan_interface_ann.cpp
+6-18compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
+5-17compiler-rt/lib/tsan/rtl/tsan_report.cpp
+121-1513 files not shown
+130-1759 files

LLVM/project 300381b — compiler-rt/lib/tsan/rtl tsan_report.cpp tsan_interceptors_posix.cpp

rebase

Created using spr 1.3.7
DeltaFile
+46-47compiler-rt/lib/tsan/rtl/tsan_rtl_report.cpp
+36-28compiler-rt/lib/tsan/rtl/tsan_report.h
+23-38compiler-rt/lib/tsan/rtl/tsan_rtl_mutex.cpp
+8-18compiler-rt/lib/tsan/rtl/tsan_interface_ann.cpp
+6-18compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
+5-17compiler-rt/lib/tsan/rtl/tsan_report.cpp
+124-1663 files not shown
+133-1909 files

LLVM/project f56bf99 — compiler-rt/lib/tsan/rtl tsan_report.cpp tsan_interceptors_posix.cpp

rebase

Created using spr 1.3.7
DeltaFile
+43-32compiler-rt/lib/tsan/rtl/tsan_rtl_report.cpp
+36-28compiler-rt/lib/tsan/rtl/tsan_report.h
+23-38compiler-rt/lib/tsan/rtl/tsan_rtl_mutex.cpp
+8-18compiler-rt/lib/tsan/rtl/tsan_interface_ann.cpp
+6-18compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
+5-17compiler-rt/lib/tsan/rtl/tsan_report.cpp
+121-1513 files not shown
+130-1759 files

LLVM/project ff4a4e4 — compiler-rt/lib/tsan/rtl tsan_interface_ann.cpp tsan_interceptors_posix.cpp

[𝘀𝗽𝗿] changes to main this commit is based on

Created using spr 1.3.7

[skip ci]
DeltaFile
+43-32compiler-rt/lib/tsan/rtl/tsan_rtl_report.cpp
+36-28compiler-rt/lib/tsan/rtl/tsan_report.h
+23-38compiler-rt/lib/tsan/rtl/tsan_rtl_mutex.cpp
+5-17compiler-rt/lib/tsan/rtl/tsan_report.cpp
+6-13compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
+6-11compiler-rt/lib/tsan/rtl/tsan_interface_ann.cpp
+119-1393 files not shown
+128-1589 files

LLVM/project 504e1b6 — compiler-rt/lib/tsan/rtl tsan_interceptors_posix.cpp tsan_interface_ann.cpp

[𝘀𝗽𝗿] changes to main this commit is based on

Created using spr 1.3.7

[skip ci]
DeltaFile
+43-32compiler-rt/lib/tsan/rtl/tsan_rtl_report.cpp
+36-28compiler-rt/lib/tsan/rtl/tsan_report.h
+23-38compiler-rt/lib/tsan/rtl/tsan_rtl_mutex.cpp
+5-17compiler-rt/lib/tsan/rtl/tsan_report.cpp
+6-11compiler-rt/lib/tsan/rtl/tsan_interface_ann.cpp
+4-9compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
+117-1353 files not shown
+126-1549 files

LLVM/project 09abddc — compiler-rt/lib/tsan/rtl tsan_interface_ann.cpp tsan_interceptors_posix.cpp

rebase

Created using spr 1.3.7
DeltaFile
+43-32compiler-rt/lib/tsan/rtl/tsan_rtl_report.cpp
+36-28compiler-rt/lib/tsan/rtl/tsan_report.h
+23-38compiler-rt/lib/tsan/rtl/tsan_rtl_mutex.cpp
+5-17compiler-rt/lib/tsan/rtl/tsan_report.cpp
+6-13compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
+6-11compiler-rt/lib/tsan/rtl/tsan_interface_ann.cpp
+119-1393 files not shown
+128-1589 files

LLVM/project 48b0d31 — clang/test/CIR/CodeGen subscript-addrspace-cast.cpp, llvm/lib/Target/X86 X86InstrSSE.td

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.7

[skip ci]
DeltaFile
+202-0mlir/lib/Dialect/XeGPU/Transforms/XeGPUSgToLaneDistribute.cpp
+53-53llvm/lib/Target/X86/X86InstrSSE.td
+95-0mlir/lib/Dialect/XeGPU/Transforms/XeGPULayoutImpl.cpp
+69-0clang/test/CIR/CodeGen/subscript-addrspace-cast.cpp
+64-0mlir/test/Dialect/XeGPU/propagate-layout-inst-data-invalid.mlir
+51-0mlir/test/Dialect/XeGPU/sg-to-lane-distribute-unit.mlir
+534-5316 files not shown
+744-12722 files

LLVM/project 560ee4b — clang/test/CIR/CodeGen subscript-addrspace-cast.cpp, llvm/lib/Target/X86 X86InstrSSE.td

rebase

Created using spr 1.3.7
DeltaFile
+202-0mlir/lib/Dialect/XeGPU/Transforms/XeGPUSgToLaneDistribute.cpp
+53-53llvm/lib/Target/X86/X86InstrSSE.td
+95-0mlir/lib/Dialect/XeGPU/Transforms/XeGPULayoutImpl.cpp
+69-0clang/test/CIR/CodeGen/subscript-addrspace-cast.cpp
+64-0mlir/test/Dialect/XeGPU/propagate-layout-inst-data-invalid.mlir
+51-0mlir/test/Dialect/XeGPU/sg-to-lane-distribute-unit.mlir
+534-5316 files not shown
+744-12722 files

LLVM/project 4fdd66d — clang/test/CIR/CodeGen subscript-addrspace-cast.cpp, llvm/lib/Target/X86 X86InstrSSE.td

rebase

Created using spr 1.3.7
DeltaFile
+202-0mlir/lib/Dialect/XeGPU/Transforms/XeGPUSgToLaneDistribute.cpp
+53-53llvm/lib/Target/X86/X86InstrSSE.td
+95-0mlir/lib/Dialect/XeGPU/Transforms/XeGPULayoutImpl.cpp
+69-0clang/test/CIR/CodeGen/subscript-addrspace-cast.cpp
+64-0mlir/test/Dialect/XeGPU/propagate-layout-inst-data-invalid.mlir
+51-0mlir/test/Dialect/XeGPU/sg-to-lane-distribute-unit.mlir
+534-5316 files not shown
+744-12722 files

LLVM/project 9d59981 — clang/test/CIR/CodeGen subscript-addrspace-cast.cpp, llvm/lib/Target/X86 X86InstrSSE.td

rebase

Created using spr 1.3.7
DeltaFile
+202-0mlir/lib/Dialect/XeGPU/Transforms/XeGPUSgToLaneDistribute.cpp
+53-53llvm/lib/Target/X86/X86InstrSSE.td
+95-0mlir/lib/Dialect/XeGPU/Transforms/XeGPULayoutImpl.cpp
+69-0clang/test/CIR/CodeGen/subscript-addrspace-cast.cpp
+64-0mlir/test/Dialect/XeGPU/propagate-layout-inst-data-invalid.mlir
+51-0mlir/test/Dialect/XeGPU/sg-to-lane-distribute-unit.mlir
+534-5317 files not shown
+761-14123 files

LLVM/project e03bdae — compiler-rt/lib/tsan/rtl tsan_mman.cpp tsan_rtl_thread.cpp

[NFC][TSan] Allocate ScopedReport as a stack variable

Now that ScopedReport is constructed before acquiring ThreadRegistryLock
or slot locks across all reporting functions, it no longer needs to be
constructed inside the lock scope via placement new on __builtin_alloca
storage.

Declare ScopedReport as a normal stack variable before the lock scope
and remove the manual destructor calls.

Assisted-by: Gemini

Pull Request: https://github.com/llvm/llvm-project/pull/228637
DeltaFile
+17-33compiler-rt/lib/tsan/rtl/tsan_rtl_mutex.cpp
+8-13compiler-rt/lib/tsan/rtl/tsan_rtl_report.cpp
+4-9compiler-rt/lib/tsan/rtl/tsan_rtl_thread.cpp
+4-9compiler-rt/lib/tsan/rtl/tsan_interface_ann.cpp
+4-9compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
+3-8compiler-rt/lib/tsan/rtl/tsan_mman.cpp
+40-816 files

LLVM/project cfcffae — compiler-rt/lib/tsan/rtl tsan_rtl_thread.cpp tsan_mman.cpp

[TSan] Lock ScopedErrorReportLock before slot and thread_registry locks

OutputReport runs while ScopedErrorReportLock is held after slot_mtx and
thread_registry have been unlocked. Because code executed during
OutputReport (symbolizer, callbacks, or signal handlers) can acquire
slot_mtx or thread_registry, ScopedErrorReportLock must precede slot and
thread_registry locks in the lock hierarchy to avoid AB-BA deadlocks
between concurrent reports or fork().

- Move ScopedErrorReportLock::Lock() before slot.mtx, thread_registry,
  and slot_mtx in ForkBefore (and unlock in reverse order in ForkAfter).
- Replace ctx->thread_registry.CheckLocked() in ScopedReportBase's
  constructor with CheckedMutex::CheckNoLocks(), and add CheckLocked() to
  AddThread(const ThreadContext *) and CheckNoLocks() to OutputReport.
- Construct ScopedReport before acquiring ThreadRegistryLock across all
  reporting functions, and close the RestoreStack lock scope before
  constructing ScopedReport in ReportRace.

Assisted-by: Gemini

    [2 lines not shown]
DeltaFile
+22-17compiler-rt/lib/tsan/rtl/tsan_rtl_report.cpp
+3-3compiler-rt/lib/tsan/rtl/tsan_rtl_mutex.cpp
+2-2compiler-rt/lib/tsan/rtl/tsan_rtl.cpp
+1-1compiler-rt/lib/tsan/rtl/tsan_rtl_thread.cpp
+1-1compiler-rt/lib/tsan/rtl/tsan_mman.cpp
+1-1compiler-rt/lib/tsan/rtl/tsan_interface_ann.cpp
+30-251 files not shown
+31-267 files

LLVM/project 8d88d4f — compiler-rt/lib/tsan/rtl tsan_interface_ann.cpp tsan_rtl_mutex.cpp

[NFC][TSan] Move ObtainCurrentStack out of ThreadRegistryLock scope

ObtainCurrentStack only reads the current thread's shadow stack and
allocates a VarSizeStackTrace buffer, which does not require
ThreadRegistryLock (and already runs outside ThreadRegistryLock in
ReportRace, SignalUnsafeCall, and ReportErrnoSpoiling).

Move ObtainCurrentStack (and dummy_pc in ReportDeadlock) before
ScopedReport in ReportMutexHeldWrongContext, ReportMutexMisuse,
ReportDeadlock, and ReportDestroyLocked so the stack trace buffers also
outlive ScopedReport and OutputReport.

Assisted-by: Gemini

Pull Request: https://github.com/llvm/llvm-project/pull/228794
DeltaFile
+6-5compiler-rt/lib/tsan/rtl/tsan_rtl_mutex.cpp
+2-2compiler-rt/lib/tsan/rtl/tsan_interface_ann.cpp
+8-72 files

LLVM/project 61105ab — compiler-rt/lib/tsan/rtl tsan_report.h tsan_rtl_report.cpp

[TSan] Defer symbolization in AddStack and AddSleep to SymbolizeStackElems

PR #151495 delayed symbolization for memory accesses, locations,
threads, and mutexes until OutputReport (after ThreadRegistryLock is
released), but missed ScopedReport::AddStack and ScopedReport::AddSleep.
As a result, ReportRace (via AddSleep) and ReportMutexMisuse,
ReportDeadlock, and ReportDestroyLocked (via AddStack) still invoked the
symbolizer while holding ThreadRegistryLock.

Store the unsymbolized stack traces and sleep stack ID in ReportDesc and
symbolize them in ScopedReport::SymbolizeStackElems().

Assisted-by: Gemini

Pull Request: https://github.com/llvm/llvm-project/pull/228795
DeltaFile
+15-4compiler-rt/lib/tsan/rtl/tsan_rtl_report.cpp
+7-0compiler-rt/lib/tsan/rtl/tsan_report.h
+22-42 files

LLVM/project 3b85900 — compiler-rt/lib/tsan/rtl tsan_report.cpp tsan_report.h

[NFC][TSan] Use in-class member initializers in tsan_report.h

Use in-class member initializers for all structs and classes in
tsan_report.h and default constructors and destructor in
tsan_report.cpp.

Assisted-by: Gemini

Pull Request: https://github.com/llvm/llvm-project/pull/228780
DeltaFile
+29-28compiler-rt/lib/tsan/rtl/tsan_report.h
+5-17compiler-rt/lib/tsan/rtl/tsan_report.cpp
+34-452 files