LLVM/project ae9b5a4clang/docs InternalsManual.rst, clang/include/clang/Frontend VerifyDiagnosticConsumer.h

[clang] Add `-verify-directives` cc1 flag (#179835)

Matheus once told me that the various rules I enforce in C++ DR tests
should be checked automatically. This is the patch to check some of
them.

`-verify-directives` is a cc1 flag that checks how `expected` directives
themselves are written. It enforces the following rules on top of
`-verify` mode:
1. Directives have to fully match diagnostic text (but regular
expressions are still allowed).
2. Lexical order of directives must match the order in which diagnostics
are emitted.
3. Each directive must match exactly one diagnostic.
4. Directives has to specify exact source location of the diagnostic,
i.e. wildcards (`*`) are not allowed.

The second rule (about order) is the most significant: it doesn't allow
to e.g. have `expected-note {{declared here}}` somewhere far away from

    [20 lines not shown]
DeltaFile
+276-16clang/docs/InternalsManual.rst
+269-22clang/lib/Frontend/VerifyDiagnosticConsumer.cpp
+45-0clang/test/Frontend/verify-directives-one-diag.cpp
+19-4clang/include/clang/Frontend/VerifyDiagnosticConsumer.h
+14-0clang/test/Frontend/verify-directives-order.cpp
+14-0clang/test/Frontend/verify-directives-wildcard.cpp
+637-426 files not shown
+673-4312 files

LLVM/project dbdf1acorc-rt/include/orc-rt SimpleSymbolTable.h, orc-rt/lib/executor SimpleSymbolTable.cpp Session.cpp

[orc-rt] Rename SimpleSymbolTable::addSymbolsUnique, relax error cond… (#187171)

…ition.

Renames the SimpleSymbolTable addSymbolsUnique method to addUnique. The
new class name (from c727cd9a4b2) already implies that we're adding
symbols.

This commit also relaxes the error condition for addUnique: Rather than
rejecting any duplicate symbols, it only rejects symbols that were
previously added with a different address. This makes it safe to add the
same symbol(s) multiple time, as long as all definitions point to the
same address. The intent of this is to allow ORC runtime components to
unconditionally add their interfaces to symbols, even if that interface
might have been added previously.
DeltaFile
+22-12orc-rt/unittests/SimpleSymbolTableTest.cpp
+15-9orc-rt/include/orc-rt/SimpleSymbolTable.h
+8-7orc-rt/lib/executor/SimpleSymbolTable.cpp
+2-2orc-rt/unittests/SessionTest.cpp
+1-1orc-rt/lib/executor/sps-ci/SimpleNativeMemoryMapSPSCI.cpp
+1-1orc-rt/lib/executor/Session.cpp
+49-326 files

LLVM/project 1fee51cllvm/lib/Target/WebAssembly WebAssemblyFastISel.cpp, llvm/test/CodeGen/WebAssembly load-ext.ll offset-fastisel.ll

[WebAssembly] Fold sign-extending shifts into signed loads in FastISel (#185906)

WebAssembly FastISel currently fails to fold sign-extension patterns
composed of zero-extending loads followed by shift operations. This
results in redundant shift and constant instructions in the output.

Before:
  i32.load8_u $push3=, 0($0)
  i32.const $push0=, 24
  i32.shl $push1=, $pop3, $pop0
  i32.const $push4=, 24
  i32.shr_s $push2=, $pop1, $pop4

The matched shift instruction sequence is removed and safely folded into
a single sign-extending load, erasing the dead code via the
MachineBasicBlock iterator.

After:
  i32.load8_s $push0=, 0($0)

Fixed: #184302
DeltaFile
+68-132llvm/test/CodeGen/WebAssembly/load-ext.ll
+65-3llvm/lib/Target/WebAssembly/WebAssemblyFastISel.cpp
+7-18llvm/test/CodeGen/WebAssembly/offset-fastisel.ll
+140-1533 files

LLVM/project 8b265cfllvm/lib/IR AutoUpgrade.cpp, llvm/test/Assembler auto_upgrade_nvvm_intrinsics.ll

[NVPTX][AutoUpgrade] atom.load intrinsics should be autoupgraded to monotonic atomicrmw for NVPTX (#187140)

Prior to https://github.com/llvm/llvm-project/pull/179553, the seq_cst
qualifier was being ignored. The expected codegen for these intrinsics
is `atom.relaxed`- which corresponds to `Monotonic`. The fix does to
AutoUpgrade what https://github.com/llvm/llvm-project/pull/185822 does
to clang.
DeltaFile
+4-4llvm/test/Assembler/auto_upgrade_nvvm_intrinsics.ll
+2-2llvm/lib/IR/AutoUpgrade.cpp
+0-3llvm/test/CodeGen/NVPTX/atomics.ll
+6-93 files

LLVM/project 3eb8b78llvm/lib/Transforms/Vectorize VPlanTransforms.cpp, llvm/test/Transforms/LoopVectorize/RISCV tail-folding-complex-mask.ll low-trip-count.ll

Revert "[LV] Replace remaining LogicalAnd to vp.merge in EVL optimization." (#187170)

Reverts llvm/llvm-project#184068

This hit the cost model assertion in rva23 stage2 build bot.
https://lab.llvm.org/buildbot/#/builders/213/builds/2497
DeltaFile
+0-16llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+6-2llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-complex-mask.ll
+3-1llvm/test/Transforms/LoopVectorize/RISCV/low-trip-count.ll
+9-193 files

LLVM/project c727cd9orc-rt/include/orc-rt ControllerInterface.h SimpleSymbolTable.h, orc-rt/lib/executor ControllerInterface.cpp SimpleSymbolTable.cpp

[orc-rt] Rename ControllerInterface to SimpleSymbolTable. NFCI. (#187164)

This type will be used more contexts than just the controller interface.
DeltaFile
+146-0orc-rt/unittests/SimpleSymbolTableTest.cpp
+0-146orc-rt/unittests/ControllerInterfaceTest.cpp
+0-81orc-rt/include/orc-rt/ControllerInterface.h
+80-0orc-rt/include/orc-rt/SimpleSymbolTable.h
+0-34orc-rt/lib/executor/ControllerInterface.cpp
+34-0orc-rt/lib/executor/SimpleSymbolTable.cpp
+260-26110 files not shown
+276-27716 files

LLVM/project 52089f8llvm/lib/Transforms/Vectorize VPlanTransforms.cpp, llvm/test/Transforms/LoopVectorize/RISCV tail-folding-complex-mask.ll low-trip-count.ll

[LV] Replace remaining LogicalAnd to vp.merge in EVL optimization. (#184068)

This patch replace the remaining LogicalAnd to vp.merge in the second
pass to not break the `m_RemoveMask` pattern in the optimizeMaskToEVL.

This can help to remove header mask for FindLast reduction (CSA) loops.

PR: https://github.com/llvm/llvm-project/pull/184068
DeltaFile
+16-0llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+2-6llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-complex-mask.ll
+1-3llvm/test/Transforms/LoopVectorize/RISCV/low-trip-count.ll
+19-93 files

LLVM/project 2c35525llvm/test/tools/llvm-remarkutil filter.test, llvm/test/tools/llvm-remarkutil/Inputs filter.yaml

[spr] initial version

Created using spr 1.3.8-wip
DeltaFile
+91-37llvm/tools/llvm-remarkutil/RemarkFilter.cpp
+69-0llvm/test/tools/llvm-remarkutil/filter/filter.test
+0-69llvm/test/tools/llvm-remarkutil/filter.test
+40-0llvm/test/tools/llvm-remarkutil/filter/filter-multi.test
+28-0llvm/test/tools/llvm-remarkutil/filter/Inputs/filter.yaml
+0-28llvm/test/tools/llvm-remarkutil/Inputs/filter.yaml
+228-1343 files not shown
+251-1379 files

LLVM/project 13c6f96llvm/test/tools/llvm-remarkutil filter.test, llvm/test/tools/llvm-remarkutil/Inputs filter.yaml

[spr] changes to main this commit is based on

Created using spr 1.3.8-wip

[skip ci]
DeltaFile
+84-37llvm/tools/llvm-remarkutil/RemarkFilter.cpp
+0-69llvm/test/tools/llvm-remarkutil/filter.test
+69-0llvm/test/tools/llvm-remarkutil/filter/filter.test
+40-0llvm/test/tools/llvm-remarkutil/filter/filter-multi.test
+28-0llvm/test/tools/llvm-remarkutil/filter/Inputs/filter.yaml
+0-28llvm/test/tools/llvm-remarkutil/Inputs/filter.yaml
+221-1342 files not shown
+235-1378 files

LLVM/project 0a193c9llvm/test/tools/llvm-remarkutil filter.test, llvm/test/tools/llvm-remarkutil/Inputs filter.yaml

[spr] initial version

Created using spr 1.3.8-wip
DeltaFile
+84-37llvm/tools/llvm-remarkutil/RemarkFilter.cpp
+69-0llvm/test/tools/llvm-remarkutil/filter/filter.test
+0-69llvm/test/tools/llvm-remarkutil/filter.test
+40-0llvm/test/tools/llvm-remarkutil/filter/filter-multi.test
+28-0llvm/test/tools/llvm-remarkutil/filter/Inputs/filter.yaml
+0-28llvm/test/tools/llvm-remarkutil/Inputs/filter.yaml
+221-1342 files not shown
+235-1378 files

LLVM/project d49701bclang/lib/CIR/CodeGen CIRGenExprAggregate.cpp, clang/test/CIR/CodeGen ternary-throw.cpp abstract-cond.c

[CIR] Implement abstract conditional operator handling for aggregates (#186284)

This implements AggExprEmitter::VisitAbstractConditionalOperator for
CIR.
DeltaFile
+283-0clang/test/CIR/CodeGen/ternary-throw.cpp
+116-0clang/test/CIR/CodeGen/abstract-cond.c
+54-2clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
+453-23 files

LLVM/project f6f57f0clang/lib/CIR/CodeGen CIRGenModule.cpp, clang/test/CIR/CodeGenHIP simple.cpp

[CIR] Add handling for nounwind attributes (#187096)

This adds support for setting the `nounwind` attribute on declarations
and call sites in CIR.

Currently, we have both `nothrow` and `nounwind` in CIR. I've chosen to
use `nothrow` in this PR because it was the most common. I plan to
combine them, using `nounwind` everywhere since that's the LLVM IR
spelling, but that's a more invasive so I'd like to defer it to a future
change.
DeltaFile
+19-19clang/test/CIR/CodeGenOpenACC/routine-bind.cpp
+14-14clang/test/CIR/CodeGenOpenACC/routine-device_type.cpp
+12-12clang/test/CIR/CodeGenOpenACC/routine-clauses.cpp
+12-12clang/test/CIR/CodeGenOpenACC/routine-bind.c
+22-0clang/lib/CIR/CodeGen/CIRGenModule.cpp
+8-8clang/test/CIR/CodeGenHIP/simple.cpp
+87-6547 files not shown
+182-15953 files

NetBSD/src JjM6uwvshare/misc acronyms

   "overtaken" is actually more widespread than "overcome" by events
VersionDeltaFile
1.323+2-2share/misc/acronyms
+2-21 files

NetBSD/pkgsrc-wip b60c288py-homeassistant Makefile

py-homeassistant: Rototill for NetBSD 10

and abandon NetBSD9 9.  (If you are on 9 and trying to run HA, you
should update.)

Switch to py314, because HA has.
DeltaFile
+15-22py-homeassistant/Makefile
+15-221 files

LLVM/project d9eba8blldb/source/Core Module.cpp, lldb/source/Plugins/Platform/MacOSX PlatformDarwin.cpp

[lldb][Module] Don't try to locate scripting resources without a ScriptInterpreter (#187091)

I'm in the process of moving `SanitizedScriptingModuleName` into
`ScriptInterpreter` as a `virtual` API. The nullptr check inside the
constructor made that more difficult because it implied we may not have
a `ScriptInterpreter` available to call the sanitization API on. Really
the `nullptr` check is redundant because even if we succesfully sanitize
and then locate some scripts, `Module::LoadScriptingResourceInTarget`
bails out if we don't have a `ScriptInterpreter`.

This patch moves the early exit in `LoadScriptingResourceInTarget` to
before we make the call to `LocateExecutableScriptingResources`. That
way we ensure we never get to `SanitizedScriptingModuleName` without a
valid `ScriptInterpreter`.
DeltaFile
+6-6lldb/source/Core/Module.cpp
+8-4lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
+14-102 files

HardenedBSD/src 1863ff8sys/compat/lindebugfs lindebugfs.c, sys/compat/linuxkpi/common/include/linux fs.h seq_file.h

Merge remote-tracking branch 'origin/hardened/current/master' into hardened/current/cross-dso-cfi
DeltaFile
+54-27sys/compat/lindebugfs/lindebugfs.c
+23-12sys/compat/linuxkpi/common/src/linux_simple_attr.c
+15-17sys/compat/linuxkpi/common/include/linux/fs.h
+1-1sys/compat/linuxkpi/common/include/linux/seq_file.h
+1-1sys/compat/linuxkpi/common/src/linux_seq_file.c
+94-585 files

HardenedBSD/src d7380bfsys/compat/lindebugfs lindebugfs.c, sys/compat/linuxkpi/common/include/linux fs.h seq_file.h

Merge branch 'freebsd/current/main' into hardened/current/master
DeltaFile
+54-27sys/compat/lindebugfs/lindebugfs.c
+23-12sys/compat/linuxkpi/common/src/linux_simple_attr.c
+15-17sys/compat/linuxkpi/common/include/linux/fs.h
+1-1sys/compat/linuxkpi/common/include/linux/seq_file.h
+1-1sys/compat/linuxkpi/common/src/linux_seq_file.c
+94-585 files

HardenedBSD/ports 91b5d10sysutils/beats91 Makefile, sysutils/beats91/files patch-go-sysinfo

Merge branch 'freebsd/main' into hardenedbsd/main
DeltaFile
+1,314-0sysutils/beats92/files/patch-go-sysinfo
+1,314-0sysutils/beats91/files/patch-go-sysinfo
+1,314-0sysutils/beats93/files/patch-go-sysinfo
+143-0sysutils/beats93/Makefile
+143-0sysutils/beats91/Makefile
+143-0sysutils/beats92/Makefile
+4,371-0184 files not shown
+6,677-252190 files

LLVM/project 5e855a9llvm/test/CodeGen/AMDGPU llvm.amdgcn.reduce.umin.ll, llvm/test/CodeGen/AMDGPU/GlobalISel fshr.ll regbankselect-usube.mir

Merge branch 'users/ziqingluo/eng/PR-171735836' into users/ziqingluo/eng/PR-171920065
DeltaFile
+1,412-1,169llvm/test/CodeGen/AMDGPU/GlobalISel/fshr.ll
+576-0llvm/test/CodeGen/NVPTX/fence.ll
+0-356llvm/test/CodeGen/NVPTX/fence-nocluster.ll
+54-110llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-usube.mir
+53-110llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-uadde.mir
+90-65llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.umin.ll
+2,185-1,81087 files not shown
+3,333-2,22393 files

LLVM/project 9a4630dclang/include/clang/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage UnsafeBufferUsage.h

Fix clang-format issue
DeltaFile
+0-1clang/include/clang/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsage.h
+0-11 files

LLVM/project 3482480orc-rt/include/orc-rt Session.h, orc-rt/lib/executor Session.cpp

[orc-rt] Add an ExecutorProcessInfo field to Session. (#187155)

This will provide a central location for ORC runtime code (and ORC
runtime API clients) to find executor process information.
DeltaFile
+37-17orc-rt/unittests/SessionTest.cpp
+7-1orc-rt/include/orc-rt/Session.h
+4-2orc-rt/lib/executor/Session.cpp
+48-203 files

LLVM/project 8ecabb3clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage UnsafeBufferUsageExtractor.cpp, clang/unittests/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage UnsafeBufferUsageTest.cpp

clearer variable names

Created using spr 1.3.7
DeltaFile
+1,412-1,169llvm/test/CodeGen/AMDGPU/GlobalISel/fshr.ll
+576-0llvm/test/CodeGen/NVPTX/fence.ll
+384-39clang/unittests/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageTest.cpp
+0-356llvm/test/CodeGen/NVPTX/fence-nocluster.ll
+281-0clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageExtractor.cpp
+54-110llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-usube.mir
+2,707-1,67459 files not shown
+3,749-2,34965 files

LLVM/project e732600orc-rt/lib/executor ExecutorProcessInfo.cpp

[orc-rt] Require non-empty triples and power-of-two page sizes. (#187151)
DeltaFile
+10-1orc-rt/lib/executor/ExecutorProcessInfo.cpp
+10-11 files

LLVM/project f260519llvm/unittests/Analysis IR2VecTest.cpp

[IR2Vec] Remove redundant death test for invalid TypeID (#187143)

The `NumericIDMapInvalidInputs` test has two `EXPECT_DEATH` calls for
invalid `Type::TypeID` values. The second value (`MaxTypeIDs + 10`) is
redundant: `getIndex` has a one-sided assert, so any value greater or
equal to `MaxTypeIDs` takes the same code path as the value already
tested by the first call.

The test began failing after
https://github.com/llvm/llvm-project/pull/186888, which introduced
`ByteTyID`. The value of `MaxTypeIDs + 10` became 32, which falls
outside the representable range of the `enum`, making the cast UB. To
avoid accidentally triggering this test when adding new types, it should
probably be removed.
DeltaFile
+0-2llvm/unittests/Analysis/IR2VecTest.cpp
+0-21 files

LLVM/project c78c5dfmlir/include/mlir/Dialect/SPIRV/IR SPIRVTosaOps.td SPIRVTosaTypes.td, mlir/lib/Dialect/SPIRV/IR SPIRVTosaOps.cpp

[mlir][spirv] Add comparison and elementwise ternary ops in TOSA Ext Inst Set (#186356)

This patch introduces the following comparison and elementwise ternary
operators:

spirv.Tosa.Select
spirv.Tosa.Equal
spirv.Tosa.Greater
spirv.Tosa.GreaterEqual

Also dialect and serialization round-trip tests have been added.

Signed-off-by: Davide Grohmann <davide.grohmann at arm.com>
DeltaFile
+162-0mlir/test/Target/SPIRV/tosa-ops.mlir
+160-0mlir/include/mlir/Dialect/SPIRV/IR/SPIRVTosaOps.td
+142-0mlir/test/Dialect/SPIRV/IR/tosa-ops-verification.mlir
+88-0mlir/test/Dialect/SPIRV/IR/tosa-ops.mlir
+65-0mlir/lib/Dialect/SPIRV/IR/SPIRVTosaOps.cpp
+2-1mlir/include/mlir/Dialect/SPIRV/IR/SPIRVTosaTypes.td
+619-16 files

LLVM/project 8e063bdclang/unittests/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage UnsafeBufferUsageTest.cpp

fix a conflict merge issue
DeltaFile
+1-1clang/unittests/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageTest.cpp
+1-11 files

LLVM/project ce80522orc-rt/include/orc-rt ExecutorProcessInfo.h, orc-rt/lib/executor ExecutorProcessInfo.cpp CMakeLists.txt

[orc-rt] Add ExecutorProcessInfo APIs. (#187147)

ExecutorProcessInfo provides information about the process in which the
ORC runtime is running.
DeltaFile
+79-0orc-rt/unittests/ExecutorProcessInfoTest.cpp
+72-0orc-rt/lib/executor/ExecutorProcessInfo.cpp
+48-0orc-rt/include/orc-rt/ExecutorProcessInfo.h
+1-0orc-rt/lib/executor/CMakeLists.txt
+1-0orc-rt/unittests/CMakeLists.txt
+201-05 files

LLVM/project d553244lldb/test/API/functionalities/compilation-prefix-map main.c TestCompilationPrefixMap.py

format

Created using spr 1.3.7
DeltaFile
+2-4lldb/test/API/functionalities/compilation-prefix-map/main.c
+2-0lldb/test/API/functionalities/compilation-prefix-map/TestCompilationPrefixMap.py
+4-42 files

LLVM/project 1bf9a44llvm/test/CodeGen/AMDGPU/GlobalISel fshr.ll atomicrmw-fmin-fmax.ll, llvm/test/CodeGen/X86/apx sub.ll add.ll

Merge branch 'main' into users/ziqingluo/eng/PR-171735836
DeltaFile
+1,412-1,169llvm/test/CodeGen/AMDGPU/GlobalISel/fshr.ll
+1,809-0llvm/test/Instrumentation/NumericalStabilitySanitizer/intrinsics.ll
+1,432-0llvm/test/Instrumentation/NumericalStabilitySanitizer/libfuncs.ll
+486-145llvm/test/CodeGen/X86/apx/sub.ll
+476-140llvm/test/CodeGen/X86/apx/add.ll
+596-0llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw-fmin-fmax.ll
+6,211-1,454734 files not shown
+27,193-10,739740 files

LLVM/project c1f6fd2clang/include/clang/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage UnsafeBufferUsage.h UnsafeBufferUsageExtractor.h, clang/include/clang/ScalableStaticAnalysisFramework/Core/Analyses/UnsafeBufferUsage UnsafeBufferUsage.h UnsafeBufferUsageBuilder.h

Reapply "[clang][ssaf] Add UnsafeBufferUsage summary extractor for functions (#182941)" (#186899)

This reverts commit 53739c75a8720aaef8032628267ed4fd050af038.

Reapply after module dependency issues are resolved.

(rdar://169191570)
DeltaFile
+384-39clang/unittests/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageTest.cpp
+281-0clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageExtractor.cpp
+0-120clang/include/clang/ScalableStaticAnalysisFramework/Core/Analyses/UnsafeBufferUsage/UnsafeBufferUsage.h
+104-0clang/include/clang/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsage.h
+40-0clang/include/clang/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageExtractor.h
+0-32clang/include/clang/ScalableStaticAnalysisFramework/Core/Analyses/UnsafeBufferUsage/UnsafeBufferUsageBuilder.h
+809-1913 files not shown
+827-1919 files