LLVM/project 6d01ff1compiler-rt/test/cfi cross-dso-diagnostic.cpp, compiler-rt/test/cfi/cross-dso/icall diag.cpp icall-from-dso.cpp

[NFC][cfi] Update diagnostic tests for better location matching (#194557)
DeltaFile
+2-3compiler-rt/test/cfi/icall/bad-signature.c
+1-1compiler-rt/test/cfi/cross-dso/icall/diag.cpp
+1-1compiler-rt/test/cfi/cross-dso/icall/icall-from-dso.cpp
+1-1compiler-rt/test/cfi/cross-dso/icall/icall.cpp
+1-1compiler-rt/test/cfi/cross-dso-diagnostic.cpp
+6-75 files

LLVM/project ed2c8f8llvm/include/llvm/ProfileData ETMTraceDecoder.h, llvm/lib/ProfileData ETMTraceDecoder.cpp

Revert "Reland "[llvm-profgen] Add support for ETM trace decoding" (#194465)"

This reverts commit 0eaa1f5884bf01064e280cee9148fc29b8bfa099.
DeltaFile
+0-251llvm/lib/ProfileData/ETMTraceDecoder.cpp
+36-71llvm/tools/llvm-profgen/llvm-profgen.cpp
+17-72llvm/tools/llvm-profgen/PerfReader.cpp
+0-81llvm/test/tools/llvm-profgen/etm-arch.test
+0-48llvm/test/tools/llvm-profgen/Inputs/etm-opencsd.yaml
+0-46llvm/include/llvm/ProfileData/ETMTraceDecoder.h
+53-5698 files not shown
+72-67214 files

LLVM/project 3459dbbclang/lib/AST ASTContext.cpp, clang/test/SemaCXX member-pointer.cpp

[clang] fix crash with c-style casts involving dependent member-pointer types

A dependent member-pointer type doesn't necessarily have a class declaration.

This simplifies the check performed in a helper for diagnosing a cast which removes qualifiers,
so it doesn't rely on this assumption.

Fixes #194524
DeltaFile
+5-10clang/lib/AST/ASTContext.cpp
+13-0clang/test/SemaCXX/member-pointer.cpp
+18-102 files

LLVM/project 25f5b36llvm/utils/TableGen/Basic DirectiveEmitter.cpp

[TableGen] Fix compile error in GCC-7.4.0 after 928f70d38e34
DeltaFile
+6-3llvm/utils/TableGen/Basic/DirectiveEmitter.cpp
+6-31 files

LLVM/project 42d6ec6llvm/lib/CAS OnDiskCommon.cpp MappedFileRegionArena.cpp, llvm/lib/Support/Unix Path.inc

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+15-6llvm/lib/CAS/OnDiskCommon.cpp
+4-4llvm/lib/Support/Unix/Path.inc
+2-1llvm/lib/CAS/MappedFileRegionArena.cpp
+21-113 files

LLVM/project 264ac2dclang/lib/Driver/ToolChains Darwin.cpp, clang/test/CodeGenCUDA offloading-entries.cu device-stub-macho.cu

[HIP][MacOS] Mach-O support and Darwin toolchain fixes (#183991)

This PR adds support for HIP on macOS: Mach-O section naming, Darwin
host toolchain initialization guards, and HIPSPV behavior when Darwin is
the host.

This has been verified using chipStar on MacOS via the PoCL OpenCL
implementation.

## Uninitialized target workaround
Darwin’s toolchain is only initialized when its own TranslateArgs runs.
For HIP/CUDA device jobs, Darwin is used as the HostTC and never gets
its args translated, so its target stays uninitialized. The new checks
avoid asserting on that uninitialized state. A better long-term fix is
to initialize Darwin earlier (see the FIXME in Driver.cpp
BuildJobsForAction).

- [ ] Initialize Darwin toolchain during construction instead of lazily
in TranslateArgs. See Driver.cpp BuildJobsForAction FIXME.

    [2 lines not shown]
DeltaFile
+66-1clang/lib/Driver/ToolChains/Darwin.cpp
+40-12llvm/lib/Frontend/Offloading/Utility.cpp
+32-0clang/test/CodeGenCUDA/offloading-entries.cu
+23-9clang/test/Driver/linker-wrapper-image.c
+28-0clang/test/CodeGenCUDA/device-stub-macho.cu
+17-11llvm/lib/Frontend/Offloading/OffloadWrapper.cpp
+206-335 files not shown
+263-4311 files

LLVM/project dddd0dabolt/lib/Passes IndirectCallPromotion.cpp, bolt/test assume-abi.test

[BOLT][AArch64] Refuse to run IndirectCallPromotion pass (#194363)

`--icp=<value>`/`--indirect-call-promotion=<value>` results in an
`UNIMPLEMENTED` crash when invoked as it is unimplemented in AArch64.

- Guard IndirectCallPromotion for non-X86
- Update unsupported-passes.test with expected error
DeltaFile
+5-0bolt/lib/Passes/IndirectCallPromotion.cpp
+2-0bolt/test/AArch64/unsupported-passes.test
+1-1bolt/test/assume-abi.test
+8-13 files

LLVM/project 9e0057bclang/lib/Frontend/Rewrite FrontendActions.cpp, clang/test/FixIt fixit-recompile-warning-options.cpp

[clang] [fixit] Properly apply warning options during fixit-recompile (#190280)

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

During fixit recompile, the frontend was not reapplying command-line
diagnostic options, so the second pass could lose -Wno-* suppressions
and other warning configuration.

Added regression test to make sure that diagnostic options are properly
applied in the fixit-recompile path.
DeltaFile
+15-0clang/test/FixIt/fixit-recompile-warning-options.cpp
+2-0clang/lib/Frontend/Rewrite/FrontendActions.cpp
+17-02 files

LLVM/project b40c1d5llvm/lib/Transforms/IPO AlwaysInliner.cpp, llvm/test/Transforms/Inline flatten.ll

[LLVM] Fix use-after-free in AlwaysInliner flatten worklist (#194485)

Functions with both `alwaysinline` and `flatten` attributes were
collected into the `NeedFlattening` worklist, then erased during
always-inline processing, leaving dangling pointers. Fix by collecting
flatten functions after the always-inline loop, and eliminate the
separate worklist by iterating the module directly.
DeltaFile
+39-42llvm/lib/Transforms/IPO/AlwaysInliner.cpp
+38-0llvm/test/Transforms/Inline/flatten.ll
+77-422 files

LLVM/project cbb012fllvm/include/llvm/Support Path.h

[Support] Mark string-returning sys::path::native nodiscard (#194675)

To make it clear that it doesn't modify the path in place like the other
overloads. Follow-up to #193228
DeltaFile
+2-1llvm/include/llvm/Support/Path.h
+2-11 files

LLVM/project dc1d85cflang/test/Lower where.f90 where-allocatable-assignments.f90, flang/test/Transforms constant-argument-globalisation.fir

[flang][NFC] Converted five tests from old lowering to new lowering (part 52) (#194525)

Converted Lower/user-defined-operators.f90,
Lower/variable-inquiries.f90, Lower/where-allocatable-assignments.f90,
Lower/where.f90, and Transforms/constant-argument-globalisation.fir from
legacy lowering (-hlfir=false / -flang-deprecated-no-hlfir) to new
lowering (-emit-hlfir or no flag for FIR-input tests).
DeltaFile
+65-207flang/test/Lower/where.f90
+29-63flang/test/Lower/where-allocatable-assignments.f90
+13-6flang/test/Lower/user-defined-operators.f90
+3-2flang/test/Lower/variable-inquiries.f90
+1-1flang/test/Transforms/constant-argument-globalisation.fir
+111-2795 files

LLVM/project 88b9b25llvm/lib/Support Signals.cpp

[LLVM] Disable IO sandbox in symbolizeAddresses (#194597)

The function `symbolizeAddresses` is used by debugify to symbolize
addresses captured in the current invocation of LLVM, which it does by
executing llvm-symbolizer with temporary input and output files.
Creating the temporary files has an explicit sandbox exclusion, as
temporary files are necessarily not part of the compiler's formal
output, but attempting to read back the output file via MemoryBuffer
triggers a sandbox violation. Since we are always only operating on
temporary files within symbolizeAddresses, this patch disables the IO
sandbox in that function.
DeltaFile
+4-0llvm/lib/Support/Signals.cpp
+4-01 files

LLVM/project ff6269dllvm/lib/Transforms/Scalar BDCE.cpp, llvm/test/Transforms/BDCE dead-uses.ll

[BDCE] Avoid replacement of self-referential instructions  (#194614)

Fixes #194564.
DeltaFile
+22-0llvm/test/Transforms/BDCE/dead-uses.ll
+5-2llvm/lib/Transforms/Scalar/BDCE.cpp
+27-22 files

LLVM/project 928f70dllvm/test/TableGen directive1.td directive2.td, llvm/utils/TableGen/Basic DirectiveEmitter.cpp

[TableGen] Emit constexpr versions of some directive/clause functions (#194633)

A variant of https://github.com/llvm/llvm-project/pull/176253 with a
change to reduce compile-time impact.

Since "llvm_unreachable" is actually allowed in constexpr functions,
simply emit the bodies of the selected functions in the header file.

In the previous PR the `isAllowedClauseForDirective` function was made
constexpr, but since it was very long it had a significant impact on
compilation time. In this PR that function is no longer constexpr.
DeltaFile
+26-27llvm/test/TableGen/directive1.td
+26-27llvm/test/TableGen/directive2.td
+21-27llvm/utils/TableGen/Basic/DirectiveEmitter.cpp
+73-813 files

LLVM/project de6af1fllvm/test/CodeGen/SystemZ memset-08.ll memmove-01.ll

[SystemZ] Improved testing for memcpy/memmove/memset. (#194682)

This is a pre-commit for #187100.
DeltaFile
+1,779-131llvm/test/CodeGen/SystemZ/memset-08.ll
+970-0llvm/test/CodeGen/SystemZ/memmove-01.ll
+622-103llvm/test/CodeGen/SystemZ/memcpy-03.ll
+3,371-2343 files

LLVM/project c76374alld/MachO ConcatOutputSection.cpp

add section name to log
DeltaFile
+1-1lld/MachO/ConcatOutputSection.cpp
+1-11 files

LLVM/project 8ea2b58clang/lib/CIR/Dialect/Transforms LoweringPrepare.cpp, clang/test/CIR/CodeGen local-const-aggregate-name-clash.cpp

[CIR] Avoid duplicate name collisions in LoweringPrepare (#194469)

This fixes a bug in the CIR LoweringPrepare pass where we were creating
multiple constant initializer global values with the same name, causing
references to them (specifically cir.get_global) to get the wrong value.

Assisted-by: Cursor / claude-4.7-opus-xhigh
DeltaFile
+86-25clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
+45-0clang/test/CIR/CodeGen/local-const-aggregate-name-clash.cpp
+131-252 files

LLVM/project ba6861cllvm/lib/Frontend/OpenMP OMPIRBuilder.cpp, mlir/test/Target/LLVMIR openmp-target-spmd-num-threads-i64.mlir

[OpenMPIRBuilder] Cast device num_threads to i32 for __kmpc_parallel_60 (#194634)

I observed a crash in device OpenMP lowering when compiling with
`-fdefault-integer-8`. In `targetParallelCallback`, `NumThreads` can be
`i64`, but `__kmpc_parallel_60` expects an `i32` `num_threads`
parameter, which caused a bad-signature assertion during call creation.

The fix is to use `CreateZExtOrTrunc(..., Int32)` for the `num_threads`
argument before building the runtime call. This matches the handling
used in clang in `CGOpenMPRuntimeGPU::emitParallelCall`.

The problem can be seen with the following testcase whe compiled with
`flang -fopenmp --offload-arch=gfx90a test.f90 -fdefault-integer-8``

```
program test
  implicit none
  integer :: nthreads
  integer :: i

    [6 lines not shown]
DeltaFile
+19-0mlir/test/Target/LLVMIR/openmp-target-spmd-num-threads-i64.mlir
+4-1llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
+23-12 files

LLVM/project 329f620llvm/lib/Target/AArch64 AArch64InstrFormats.td

fixup! Remove superfluous code
DeltaFile
+0-7llvm/lib/Target/AArch64/AArch64InstrFormats.td
+0-71 files

LLVM/project 474ebacllvm/test/Transforms/LoopVectorize make_scalarization_decisions.ll

Add suggested test
DeltaFile
+43-0llvm/test/Transforms/LoopVectorize/make_scalarization_decisions.ll
+43-01 files

LLVM/project 24adcf2lldb/source/Target Process.cpp

fixup! don't enqueue actions that won't change the site status
DeltaFile
+7-1lldb/source/Target/Process.cpp
+7-11 files

LLVM/project 5c27e49llvm/lib/Target/AArch64 AArch64RegisterInfo.td, llvm/lib/Target/AArch64/AsmParser AArch64AsmParser.cpp

fixup! Implement Marian's suggestion to implement as XSeqPairsClass + [XZR, XZR]
DeltaFile
+54-82llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
+35-73llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.cpp
+12-9llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp
+8-1llvm/lib/Target/AArch64/AArch64RegisterInfo.td
+0-7llvm/test/MC/AArch64/armv9a-sysp.s
+1-3llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.h
+110-1756 files

LLVM/project e42838allvm/lib/Target/AArch64/MCTargetDesc AArch64InstPrinter.cpp, llvm/test/MC/AArch64 armv9a-sysp.s

fixup! Add no-alias tests
DeltaFile
+4-3llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.cpp
+7-0llvm/test/MC/AArch64/armv9a-sysp.s
+11-32 files

LLVM/project 36d25c8llvm/lib/Target/AArch64 AArch64InstrInfo.td, llvm/lib/Target/AArch64/AsmParser AArch64AsmParser.cpp

fixup! Remove SYSPxt_XZR and update code to reflect this
DeltaFile
+27-34llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
+41-14llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.cpp
+8-26llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp
+2-30llvm/lib/Target/AArch64/AArch64InstrInfo.td
+0-20llvm/test/MC/AArch64/armv9-sysp-invalid.s
+13-3llvm/test/MC/AArch64/armv9-sysp-diagnostics.s
+91-1274 files not shown
+105-13710 files

LLVM/project d454420llvm/lib/Target/AArch64/MCTargetDesc AArch64InstPrinter.cpp

fixup! Address PR comment about shortened `sysp` with xzr/xzr
DeltaFile
+17-16llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.cpp
+17-161 files

LLVM/project df5fe52llvm/lib/Target/AArch64/AsmParser AArch64AsmParser.cpp, llvm/test/MC/AArch64 armv9-sysp-diagnostics.s

fixup! Improve error parsing
DeltaFile
+46-25llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
+12-12llvm/test/MC/AArch64/armv9-sysp-diagnostics.s
+58-372 files

LLVM/project 88e5ba8llvm/lib/Target/AArch64 AArch64InstrFormats.td

fixup! Fixes after rebasing following Marian's change
DeltaFile
+3-3llvm/lib/Target/AArch64/AArch64InstrFormats.td
+3-31 files

LLVM/project 2aa4e4fllvm/lib/Target/AArch64 AArch64InstrFormats.td, llvm/lib/Target/AArch64/AsmParser AArch64AsmParser.cpp

fixup! Address PR comments
DeltaFile
+5-9llvm/lib/Target/AArch64/AArch64InstrFormats.td
+2-3llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
+1-2llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp
+1-1llvm/test/MC/AArch64/armv9-sysp-diagnostics.s
+9-154 files

LLVM/project f6536b3llvm/lib/Target/AArch64 AArch64InstrFormats.td, llvm/lib/Target/AArch64/AsmParser AArch64AsmParser.cpp

fixup! Templatise bounds checking and improve tests
DeltaFile
+15-4llvm/test/MC/AArch64/armv9-sysp-diagnostics.s
+18-0llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
+12-5llvm/lib/Target/AArch64/AArch64InstrFormats.td
+0-8llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.cpp
+45-174 files

LLVM/project 8162a0fllvm/lib/Target/AArch64 AArch64InstrFormats.td AArch64InstrInfo.td

fixup! Address Marian's PR comments: use imm0_6 predicate
DeltaFile
+9-1llvm/lib/Target/AArch64/AArch64InstrFormats.td
+2-2llvm/lib/Target/AArch64/AArch64InstrInfo.td
+11-32 files