LLVM/project 4b33816llvm/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/test/Transforms/SLPVectorizer/AArch64 getelementptr.ll

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+45-0llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+12-18llvm/test/Transforms/SLPVectorizer/X86/minimum-sizes.ll
+3-15llvm/test/Transforms/SLPVectorizer/AArch64/getelementptr.ll
+60-333 files

LLVM/project ee82ab9llvm/lib/Passes PassBuilderPipelines.cpp, llvm/test/Other new-pm-defaults.ll new-pm-thinlto-prelink-samplepgo-defaults.ll

[JTS][Passes] Enable JTS By Default (#190674)

Now that the compile-time issues have been fixed (#190092) and given
that was the last known blocker for enabling this pass, try enabling it
by default again.

Previous attempts at enablement are in
https://github.com/llvm/llvm-project/pull/82546 and
https://github.com/llvm/llvm-project/pull/83229 which were
reverted/never landed due to causing compile time explosions in
std::variant heavy code such as flang with old libstdc++ versions.


https://llvm-compile-time-tracker.com/compare.php?from=2aa4100fa710ed83c5acd7505c27b4498f727c8e&to=4d80149901a224a90505c3b30192dab20cca5358&stat=instructions:u

Compile time looks like it should just be noise.
DeltaFile
+1-5llvm/test/Other/new-pm-defaults.ll
+2-2llvm/lib/Passes/PassBuilderPipelines.cpp
+1-0llvm/test/Other/new-pm-thinlto-prelink-samplepgo-defaults.ll
+1-0llvm/test/Other/new-pm-thinlto-postlink-samplepgo-defaults.ll
+1-0llvm/test/Other/new-pm-thinlto-postlink-defaults.ll
+1-0llvm/test/Other/new-pm-thinlto-postlink-pgo-defaults.ll
+7-72 files not shown
+9-78 files

LLVM/project 59a509allvm/docs LFI.rst

[LFI][Doc] Update documentation for planned features (#192128)

This PR updates the LFI documentation to be a little less
AArch64-specific in anticipation of x86-64 support. I've also updated
the planned names for the `no-lfi-stores`/`no-lfi-loads` features, and
updated the planned rewrite sequence for `x30` modifications to make it
more PAC-compatible for when we include support for that.
DeltaFile
+96-94llvm/docs/LFI.rst
+96-941 files

LLVM/project 8e424e3llvm/lib/Target/RISCV RISCVISelDAGToDAG.cpp, llvm/test/CodeGen/RISCV rv64p.ll

[RISCV] Support emitting plui.h for i32 constants on RV64. (#192534)

If the constant was originally i32, it will be sign or zero
extended to i64 during type legalization. If we can prove the
upper bits aren't used we can duplicate the lower bits to allow
RISCVMatInt to select plui.h.
DeltaFile
+21-0llvm/test/CodeGen/RISCV/rv64p.ll
+6-4llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
+27-42 files

LLVM/project bf10fc8llvm/utils/lit/tests filter-failed-delete.py filter-failed-rerun.py

[lit] Fix tests when run via symlinks (#192530)

If the path to Inputs/filter-failed was a symlink, it would copy the
symlinks, and then edit the same files, leading to flaky failures if the
tests ran in parallel.
DeltaFile
+1-1llvm/utils/lit/tests/filter-failed-delete.py
+1-1llvm/utils/lit/tests/filter-failed-rerun.py
+1-1llvm/utils/lit/tests/filter-failed.py
+3-33 files

LLVM/project 6c3d84cllvm/include/llvm/Transforms/Utils ValueMapper.h, llvm/lib/Linker IRMover.cpp

[ThinLTO] Drop !inline_history metadata when importing functions (#192564)

In #190876 we now have functions in ValueAsMetadata (!inline_history
metadata). This has caused undefined symbol linker errors in some
ThinLTO builds. The following is what's going on:

@f in module A is getting imported from module A to module B, and it has
a call with !inline_history pointing to @g in module A, so a declaration
for @g is also imported into module B. But @g gets internalized in
module A, causing the undefined symbol error at link time due to
memprof's ICP in module B creating a call to @g since we can ICP a call
to any declaration.

To avoid pulling in a function declaration that may be wrong, simply
drop !inline_history metadata when importing functions. They aren't
necessary for correctness, they only prevent inlining explosion in some
recursive edge cases. Worst case is we do another round of inlining
through mutually recursive functions and then stop again due to newly
added !inline_history metadata, which should be fine; the inlining
explosion typically happens because we keep inlining through mutually
recursive functions.
DeltaFile
+21-0llvm/test/Transforms/FunctionImport/inline-history.ll
+11-0llvm/test/Transforms/FunctionImport/Inputs/inline-history.ll
+6-0llvm/lib/Transforms/Utils/ValueMapper.cpp
+4-0llvm/include/llvm/Transforms/Utils/ValueMapper.h
+3-1llvm/lib/Linker/IRMover.cpp
+45-15 files

LLVM/project f58cd92clang/include/clang/ScalableStaticAnalysisFramework/Analyses/PointerFlow PointerFlowFormat.h, clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow PointerFlowAnalysis.cpp PointerFlow.cpp

[SSAF][WPA] Add no-op PointerFlow and UnsafeBufferUsage analysis

We need no-op PointerFlow and UnsafeBufferUsage analyses for the
analysis that depends on their summary data.

Refactored PointerFlow and UnsafeBufferUsage serialization for code
sharing.

rdar://174874942
DeltaFile
+134-0clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageAnalysis.cpp
+128-0clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowAnalysis.cpp
+128-0clang/test/Analysis/Scalable/PointerFlow/Inputs/wpa-result.json
+54-41clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlow.cpp
+86-0clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/wpa-result.json
+35-0clang/include/clang/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowFormat.h
+565-4122 files not shown
+896-8028 files

LLVM/project 37a8c71lldb/source/Commands CommandObjectDisassemble.cpp, lldb/source/Interpreter CommandReturnObject.cpp CommandInterpreter.cpp

[lldb] Assert lack of trailing period or newlines in diagnostics (#191447)

This PR adds an assert to `CommandReturnObject::{AppendNote,
AppendWarning}` to ensure the diagnostics don't end with a newline,
which is added by the function, or a period, which goes against the
coding standards.

I added a little helper that asserts in assert-enabled builds and trim
the diagnostic otherwise. I know that goes against the notion that
"asserts are preconditions" and therefore you shouldn't handle the case
where they don't hold (something I generally advocate for) but I think
we should prioritize a consistent user experience over purity.

We should do the same thing for `AppendError`, but currently there are
still too many violations that need to be cleaned up and if the compiler
emits non-compliant diagnostics, we may not be able to do this at all.
DeltaFile
+22-0lldb/source/Interpreter/CommandReturnObject.cpp
+5-10lldb/source/Interpreter/CommandInterpreter.cpp
+6-6lldb/test/Shell/Commands/command-disassemble-process.yaml
+4-4lldb/test/Shell/Commands/command-disassemble.s
+3-3lldb/test/Shell/Commands/command-list-reach-end-of-file.test
+2-2lldb/source/Commands/CommandObjectDisassemble.cpp
+42-256 files not shown
+50-3312 files

LLVM/project 3b45641llvm/lib/Target/AArch64 AArch64.h AArch64PassRegistry.def, llvm/lib/Target/AArch64/GISel AArch64PostLegalizerLowering.cpp

[NewPM] Adds a port for AArch64PostLegalizerLowering (#190718)

Standard porting (extraction into a helper function shared across legacy
and new PM passes).

Dropped unused include `TargetPassConfig.h`
DeltaFile
+64-28llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp
+21-1llvm/lib/Target/AArch64/AArch64.h
+2-0llvm/lib/Target/AArch64/AArch64PassRegistry.def
+1-1llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
+1-0llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-uzp.mir
+1-0llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-zip.mir
+90-303 files not shown
+93-309 files

LLVM/project faf63e9flang/test/Lower/PowerPC ppc-vec-sel.f90 ppc-vec-shift.f90

[flang][PPC] Remove -flang-experimental-hlfir flag in ppc vector tests (NFC) (#192715)
DeltaFile
+2-2flang/test/Lower/PowerPC/ppc-vec-sel.f90
+2-2flang/test/Lower/PowerPC/ppc-vec-shift.f90
+2-2flang/test/Lower/PowerPC/ppc-vec-cmp.f90
+2-2flang/test/Lower/PowerPC/ppc-vec-perm.f90
+2-2flang/test/Lower/PowerPC/ppc-vec-shift-be-le.f90
+1-1flang/test/Lower/PowerPC/ppc-vector-types.f90
+11-1115 files not shown
+26-2621 files

LLVM/project 8a50731llvm/lib/Transforms/Vectorize SLPVectorizer.cpp

Address comments

Created using spr 1.3.7
DeltaFile
+1-3llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+1-31 files

LLVM/project 809b4cfllvm/utils/lit/lit TestTimes.py Test.py, llvm/utils/lit/tests malformed-test-times.py

[llvm-lit] Error on malformed `.lit_test_times` entries instead of stack trace (#191305)

When running `llvm-lit`, I sometimes hit a traceback, because a
`.lit_test_times.txt` file has got corrupted (not sure how).
However, it's non-obvious what the issue is (you just get a traceback),
so I've fixed this as follows:

`read_test_times()` currently assumes every line in
`.lit_test_times.txt`
contains a floating-point time followed by a test path. If the file
contains a blank line, a line without a path, or a non-numeric time,
`llvm-lit` will now error with: `fatal: found malformed timing data in`
+ filename.

Add test coverage for this too.
DeltaFile
+24-5llvm/utils/lit/lit/TestTimes.py
+12-0llvm/utils/lit/tests/malformed-test-times.py
+7-0llvm/utils/lit/tests/Inputs/malformed-test-times/lit.cfg
+5-0llvm/utils/lit/tests/Inputs/malformed-test-times/lit_test_times
+2-2llvm/utils/lit/lit/Test.py
+1-1llvm/utils/lit/lit/discovery.py
+51-82 files not shown
+53-88 files

LLVM/project e8380fallvm/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/test/Transforms/SLPVectorizer/AArch64 spillcost-call-between-operands.ll spillcost-loop-backedge.ll

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+73-24llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+4-11llvm/test/Transforms/SLPVectorizer/AArch64/spillcost-call-between-operands.ll
+1-1llvm/test/Transforms/SLPVectorizer/AArch64/spillcost-loop-backedge.ll
+78-363 files

LLVM/project 3f280bcllvm/test/CodeGen/X86 elf-section-properties.ll

Rebase

Created using spr 1.3.6-beta.1
DeltaFile
+6-0llvm/test/CodeGen/X86/elf-section-properties.ll
+6-01 files

LLVM/project 8c7118cllvm/test/CodeGen/X86 elf-section-properties.ll

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.6-beta.1

[skip ci]
DeltaFile
+6-0llvm/test/CodeGen/X86/elf-section-properties.ll
+6-01 files

LLVM/project 4c914a2llvm/test/CodeGen/X86 elf-section-properties.ll

Add test for explicit sections

Created using spr 1.3.6-beta.1
DeltaFile
+6-0llvm/test/CodeGen/X86/elf-section-properties.ll
+6-01 files

LLVM/project 1bf8262flang/lib/Lower OpenACC.cpp, flang/test/Lower/OpenACC acc-declare-global-component-not-supported.f90 acc-declare.f90

[flang][acc] Accept component reference in non-global `acc declare` (#192563)

The current TODO was being issued for all cases of `acc declare`
including ones which are treated as a subroutine-scope lifetime. Since
the latter use normal data mapping clauses without the need for
ctors/dtors, accept them. However, still emit TODO for the cases where
component references are `acc declare`d in global context.
DeltaFile
+50-0flang/test/Lower/OpenACC/acc-declare-global-component-not-supported.f90
+17-8flang/lib/Lower/OpenACC.cpp
+17-0flang/test/Lower/OpenACC/acc-declare.f90
+84-83 files

LLVM/project 86397f4lldb/packages/Python/lldbsuite/test dotest_args.py, lldb/packages/Python/lldbsuite/test/builders darwin.py builder.py

[lldb] Rally around triple rather than arch in the API tests (#191416)

This PR removes as much uses of arch as possible, in favor of using
triple directly. Most of the changes are in the builder, which no longer
passes `ARCH` to Make, and of course in Makefile.rules.

This significantly simplifies the remote Darwin test suite, as it
previously had to try and piece together the triple from the platform
and the arch. As an added benefit, we now go through the same code path
for host and remote test runs.

I have tested this on Darwin and Linux and made the changes with the
remote test suites in mind, but it's possible I missed something not
caught by my local testing.
DeltaFile
+33-81lldb/packages/Python/lldbsuite/test/builders/darwin.py
+24-86lldb/packages/Python/lldbsuite/test/make/Makefile.rules
+11-15lldb/packages/Python/lldbsuite/test/builders/builder.py
+6-16lldb/packages/Python/lldbsuite/test/dotest_args.py
+12-5lldb/test/API/commands/expression/ptrauth-objc/TestPtrAuthObjectiveC.py
+11-4lldb/test/API/commands/expression/ptrauth/TestPtrAuthExpressions.py
+97-20711 files not shown
+131-23017 files

LLVM/project 55e8c5ellvm/lib/Target/AMDGPU SIInsertWaitcnts.cpp SOPInstructions.td, llvm/test/CodeGen/AMDGPU asyncmark-pregfx12.ll async-buffer-loads.ll

[AMDGPU] Mark ASYNCMARK as meta instruction to fix hazard cycle miscounting (#189981)

ASYNCMARK emits no hardware code it is used for tracking purpose but was
not marked as meta, causing getNumWaitStates to return 1 and
GCNHazardRecognizer to incorrectly count it as a pipeline cycle.
This patch marks ASYNCMARK as meta-Instruction so it correctly reports 0
wait states.

Fixes: #186878
DeltaFile
+16-4llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
+4-2llvm/test/CodeGen/AMDGPU/asyncmark-pregfx12.ll
+4-2llvm/test/CodeGen/AMDGPU/async-buffer-loads.ll
+3-2llvm/test/CodeGen/AMDGPU/asyncmark-gfx12plus.ll
+2-0llvm/lib/Target/AMDGPU/SOPInstructions.td
+29-105 files

LLVM/project f6916bdllvm/test/Transforms/LoopVectorize outer_loop_test2.ll outer_loop_hcfg_construction.ll, llvm/test/Transforms/LoopVectorize/AArch64 outer_loop_test1_no_explicit_vect_width.ll

[LV] Modernize outer loop tests check lines (NFC) (#192689)

Re-generate check lines with latest UTC, adjust naming for consistency.
DeltaFile
+123-73llvm/test/Transforms/LoopVectorize/outer_loop_test2.ll
+77-76llvm/test/Transforms/LoopVectorize/outer_loop_hcfg_construction.ll
+44-44llvm/test/Transforms/LoopVectorize/outer_loop_scalable.ll
+42-41llvm/test/Transforms/LoopVectorize/outer-loop-vec-phi-predecessor-order.ll
+41-41llvm/test/Transforms/LoopVectorize/AArch64/outer_loop_test1_no_explicit_vect_width.ll
+40-40llvm/test/Transforms/LoopVectorize/dbg-outer-loop-vect.ll
+367-3158 files not shown
+470-44414 files

LLVM/project 2b8311eflang/include/flang/Semantics symbol.h, flang/lib/Lower CallInterface.cpp

[flang][OpenACC] Support acc routine info on ProcEntityDetails for separate compilation (#192367)

When !$acc routine(name) vector is used in a caller for an external
subroutine, the symbol has ProcEntityDetails (not SubprogramDetails).
The routine info (vector/worker/gang/seq) was silently lost because
AddRoutineInfoToSymbol only handled SubprogramDetails, and CallInterface
only checked SubprogramDetails for openACCRoutineInfos.

Add openACCRoutineInfos storage to ProcEntityDetails and handle it in
both AddRoutineInfoToSymbol and CallInterface so the parallelism level
is properly lowered to acc.routine with the correct keyword.
DeltaFile
+69-68flang/lib/Semantics/resolve-directives.cpp
+72-0flang/test/Lower/OpenACC/acc-routine-named-external.f90
+11-5flang/lib/Lower/CallInterface.cpp
+7-0flang/include/flang/Semantics/symbol.h
+159-734 files

LLVM/project cd0b558flang/lib/Semantics resolve-names.cpp, flang/test/Lower/OpenACC acc-host-data-cuda-device.f90

[flang][cuda][openacc] use the ultimate symbol to set the implicit device attribute (#192553)

The attribute was not applied when the symbol had a UseDetails. Use the
ultimate symbol so we get the proper ObjectEntityDetails to apply the
implicit attribute.
DeltaFile
+15-0flang/test/Lower/OpenACC/acc-host-data-cuda-device.f90
+2-2flang/lib/Semantics/resolve-names.cpp
+17-22 files

LLVM/project d84356ellvm/test/CodeGen/AMDGPU llvm.amdgcn.reduce.fmax.ll llvm.amdgcn.reduce.fmin.ll

AMDGPU/GlobalISel: RegBankLegalize rules for wave_reduce intrinsics (#192377)
DeltaFile
+333-295llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.fmax.ll
+333-295llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.fmin.ll
+176-144llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.sub.ll
+165-133llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.add.ll
+142-110llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.xor.ll
+128-100llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.fadd.ll
+1,277-1,0778 files not shown
+2,017-1,62014 files

LLVM/project 1b62eaaflang/include/flang/Lower OpenACC.h, flang/lib/Lower Bridge.cpp OpenACC.cpp

[flang][acc] Fix crash on collapse(force:N) with non-tightly nested loops (#191310)

When collapse(force:N) is applied to non-tightly nested loops, the
compiler could crash or generate redundant inner loops.

Crashes occurred because getNestedEvaluations() was called without
checking hasNestedEvaluations() first. Add guards in hasEarlyReturn(),
createRegionOp(), and the collapse-force sinking logic in Bridge.cpp.

Redundant inner loops were generated because processDoLoopBounds
absorbed N levels of do-loops into the outer acc.loop, but the PFT
walker still generated separate acc.loop ops for those same loops.
Fix by tracking absorbed DoConstruct* pointers in visitLoopControl
and skipping them in genFIR(DoConstruct).
DeltaFile
+112-0flang/test/Lower/OpenACC/acc-loop-collapse-force-non-tightly-nested.f90
+26-10flang/lib/Lower/Bridge.cpp
+22-1flang/lib/Lower/OpenACC.cpp
+6-13flang/test/Lower/OpenACC/acc-loop-collapse-force-lowering.f90
+18-0flang/test/Semantics/OpenACC/acc-collapse-force.f90
+10-0flang/include/flang/Lower/OpenACC.h
+194-246 files

LLVM/project 12771e9lldb/test/API/lang/c/ptrauth TestPtrAuth.py main.c

[lldb] Convert TestPtrAuth.py from an inline to a regular test (NFC) (#192705)

This PR changes TestPtrAuth.py from an inline to a "regular" API test.
The motivation for this is #191416 and the need to specify parameters to
the build.
DeltaFile
+51-3lldb/test/API/lang/c/ptrauth/TestPtrAuth.py
+2-17lldb/test/API/lang/c/ptrauth/main.c
+53-202 files

LLVM/project 38ab75dllvm/utils/git github-automation.py

[Github][CI] Add note about AI tools in good-first-issue text (#173109)

After https://github.com/llvm/llvm-project/pull/172515, we have a new
paragraph in LLVM policy about AI:
> The one exception we reserve is for GitHub issues labelled with the
“good first issue” label. These issues are selected by LLVM contributors
to help newcomers get familiar with the code base. Thus, it makes no
sense to fix them using AI tools. Using AI tools to fix issues labelled
as “good first issues” is forbidden.

We should add disclosure about it in the introduction note for
developers to see clearly.

---------

Co-authored-by: Reid Kleckner <rkleckner at nvidia.com>
DeltaFile
+1-1llvm/utils/git/github-automation.py
+1-11 files

LLVM/project 50b859cclang/lib/CodeGen/Targets AMDGPU.cpp, clang/test/CodeGen amdgpu-abi-struct-coerce.c amdgpu-variadic-call.c

[AMDGPU] Stop coercing structs with FP and int fields to integer arrays (#185083)

Fixes #184150

This PR fixes the ABI lowering code for small aggregates (≤64 bits) on
AMDGPU targets to selectively coerce based on element types:

- Structs containing only sub-32-bit integers (char, short): Continue to
coerce to i16/i32/[2 x i32] for efficient register packing
- Structs containing floats or full-sized integers (i32, i64, float,
double): Preserve original types using ABIArgInfo::getDirect() without
coercion

Previously, ALL small aggregates were unconditionally coerced to integer
types. A struct like { float, int } would be lowered to [2 x i32],
losing the floating-point type information. This prevented attaching
FP-specific attributes like nofpclass to the float
  component.


    [35 lines not shown]
DeltaFile
+702-0clang/test/CodeGen/amdgpu-abi-struct-coerce.c
+92-19clang/lib/CodeGen/Targets/AMDGPU.cpp
+4-6clang/test/CodeGen/amdgpu-variadic-call.c
+2-2clang/test/Headers/amdgcn-openmp-device-math-complex.c
+2-2clang/test/CodeGenOpenCL/amdgpu-abi-struct-coerce.cl
+802-295 files

LLVM/project 0fd21b1clang/lib/Sema SemaOpenACC.cpp, clang/test/SemaOpenACC compute-construct-firstprivate-clause.cpp compute-construct-reduction-clause.cpp

[OpenACC] Require a complete type for vars-with-restrictions (#192680)

The bug report shows a case where an incomplete type was passed to a
var-list in a clause that has a restriction. Only the 'private',
  'firstprivate', and 'reduction' clauses have such restrictions on what
  they can reference, so only those will cause problems.

This patch adds a 'completeness' requirement for all 3 of those to make
sure we can properly enforce our restrictions.

Fixes: #192664
DeltaFile
+9-0clang/test/SemaOpenACC/compute-construct-firstprivate-clause.cpp
+9-0clang/test/SemaOpenACC/compute-construct-reduction-clause.cpp
+7-1clang/test/SemaOpenACC/compute-construct-private-clause.cpp
+5-0clang/lib/Sema/SemaOpenACC.cpp
+30-14 files

LLVM/project e8c8cbblldb/source/Core Debugger.cpp, lldb/test/API/functionalities/breakpoint/breakpoint_command_auto_continue TestBreakpointCommandAutoContinue.py main.cpp

[lldb] Don't adopt in the ExecutionContext from auto-continue events (#191433)

When a breakpoint auto-continues, the event handler receives a "stopped
but restarted" event. During the transition where we step over the
breakpoint (before continuing), the public state hasn't yet been set to
running. This caused the `DefaultEventHandler` to call
`ExecutionContextRef` with `adopt_selected=true`, which would fetch
stale thread/frame state and needlessly (and incorrectly) interrupt the
target to compute the execution context (used by the statusline). This
PR fixes that by not doing that.

Fixes #190956

Co-authored-by: Jim Ingham <jingham at apple.com>
DeltaFile
+40-0lldb/test/API/functionalities/breakpoint/breakpoint_command_auto_continue/TestBreakpointCommandAutoContinue.py
+35-0lldb/test/API/functionalities/breakpoint/breakpoint_command_auto_continue/main.cpp
+12-3lldb/source/Core/Debugger.cpp
+11-0lldb/test/API/functionalities/breakpoint/breakpoint_command_auto_continue/bpcmd.py
+4-0lldb/test/API/functionalities/breakpoint/breakpoint_command_auto_continue/Makefile
+102-35 files

LLVM/project 2253d75clang/lib/Headers altivec.h, clang/test/CodeGen/PowerPC builtins-post-quantum-crypto.c

[PowerPC] Add builtins for Post Quantum Cryptography Acceleration (#184717)

This patch implements Post Quantum Cryptography (PQC) Acceleration
builtins for PowerPC's future ISA by ensuring that vector operations
(vec_add, vec_sub, vec_mul, vec_mulh) correctly map to VSX instructions
(xvadduwm, xvadduhm, xvsubuwm, xvsubuhm, xvmuluwm, xvmuluhm, xvmulhsw,
xvmulhsh, xvmulhuw, xvmulhuh) when targeting mcpu=future.

Implement new builtin for vec_mulh:
* vector short vec_mulh(vector signed short, vector signed short)
* vector unsigned short vec_mulh(vector unsigned short, vector unsigned
short)

Assisted by AI.
DeltaFile
+101-0llvm/test/CodeGen/PowerPC/post-quantum-crypto.ll
+28-0llvm/lib/Target/PowerPC/PPCInstrFuture.td
+26-0clang/test/CodeGen/PowerPC/builtins-post-quantum-crypto.c
+25-0clang/test/Sema/PowerPC/builtins-post-quantum-crypto-error.c
+12-0clang/lib/Headers/altivec.h
+4-0llvm/include/llvm/IR/IntrinsicsPowerPC.td
+196-01 files not shown
+198-07 files