LLVM/project b71410fclang/lib/CIR/CodeGen CIRGenBuiltinNVPTX.cpp, clang/test/CIR/CodeGenCUDA builtins-nvvm-ldu.cu

[CIR][CUDA] Add support for NVVM ldu builtins (#211843)

Adds CIR codegen support for the NVVM global uniform load builtins
`nvvm_ldu_*` ,including the integer, floating-point, and vector
variants.

These are lowered to the corresponding `llvm.nvvm.ldu.global.*`
intrinsics based on the pointee type.
DeltaFile
+155-0clang/test/CIR/CodeGenCUDA/builtins-nvvm-ldu.cu
+19-12clang/lib/CIR/CodeGen/CIRGenBuiltinNVPTX.cpp
+174-122 files

LLVM/project b669674flang/lib/Semantics check-omp-structure.h check-acc-structure.h

[flang] Add missing std includes (#211830)

Addressing post-commit review comments for
https://github.com/llvm/llvm-project/pull/211326.
DeltaFile
+12-0flang/lib/Semantics/check-omp-structure.h
+5-0flang/lib/Semantics/check-acc-structure.h
+0-1flang/lib/Semantics/check-directive-structure.h
+17-13 files

LLVM/project 20bf564flang/lib/Semantics resolve-names.cpp, flang/test/Lower submodule-async-volatile.f90

[flang] Fix host association for ASYNCHRONOUS/VOLATILE in submodules (#211669)

In `HandleAttributeStmt`, when an `ASYNCHRONOUS` or `VOLATILE` statement
names a variable not already in the current scope, flang creates a
host-association symbol — but only for `Subprogram` and `BlockConstruct`
scopes. Submodule scopes have kind `Module`, so the check excluded them.
This caused a fresh `EntityDetails` symbol (zero-initialized) to be
created instead of a `HostAssocDetails` symbol pointing at the ancestor
module variable, producing value 0 instead of the initialized value.

Fix: extend the condition to also fire when `currScope().IsSubmodule()`.
`Scope::FindSymbol` already traverses into the parent module for
submodules, so the host variable is found correctly.

Note: the `volatile`/`asynchronous` `fortran_attrs` are not propagated
to `hlfir.declare` for host-associated variables in general
(subprograms,
BLOCK constructs, and submodules); that is a separate lowering issue
tracked in #208588.

    [3 lines not shown]
DeltaFile
+43-0flang/test/Lower/submodule-async-volatile.f90
+26-0flang/test/Semantics/symbol05.f90
+25-0flang/test/Semantics/misc-declarations.f90
+2-1flang/lib/Semantics/resolve-names.cpp
+96-14 files

LLVM/project 0db9f59flang/lib/Semantics resolve-directives.cpp, flang/test/Lower/OpenACC acc-loop.f90

[flang][OpenACC] Don't rebind construct entities to enclosing variables (#210775)

`AccAttributeVisitor::Post(Name)` "adjusts" every name referenced inside
an OpenACC region to the symbol found in the current scope. A construct
entity -- a `DO CONCURRENT`/`FORALL` index-name, or a variable declared
in a `BLOCK` construct -- lives in its own scope nested within the
region, but the visitor's current scope does not descend into that
construct scope. `FindSymbol` therefore resolves the name to a
like-named variable in an enclosing scope and rebinds the reference to
it.

When such an entity shadows an enclosing DO variable and the loop is
associated with an OpenACC construct, this makes the entity alias that
active DO variable, so referencing or defining it wrongly triggers
"Cannot redefine DO variable" -- even though the code is legal and
compiles without error when OpenACC is disabled. This affected a `DO
CONCURRENT` index-name as well as a variable declared in a `BLOCK`
construct nested in the loop, e.g.:


    [21 lines not shown]
DeltaFile
+66-0flang/test/Semantics/OpenACC/acc-construct-entity-shadow.f90
+9-9flang/test/Lower/OpenACC/acc-loop.f90
+12-0flang/lib/Semantics/resolve-directives.cpp
+87-93 files

LLVM/project 995e2aflibc/hdr/types CMakeLists.txt, libc/src/termios/linux speed_utils.h CMakeLists.txt

[libc][termios] Make termios hermetic and fix its compatibility with glibc 2.42 or after. (#211039)

Make termios hermetic and address its compatibility with glibc 2.42
breaking change
with baud rate definitions:

https://inbox.sourceware.org/libc-announce/5906001.DvuYhMxLoT@pinacolada/T/

Fixes include:
- Baud rate translation utilities.
- Add proxy headers for termios.h macros and types.
- Update tests.

Assisted-by: Gemini 3.5 Flash.
DeltaFile
+186-0libc/src/termios/linux/speed_utils.h
+54-5libc/test/src/termios/termios_test.cpp
+39-12libc/src/termios/linux/CMakeLists.txt
+33-0libc/hdr/types/CMakeLists.txt
+23-7libc/src/termios/linux/tcgetattr.cpp
+23-7libc/src/termios/linux/tcsetattr.cpp
+358-3132 files not shown
+630-10138 files

FreeBSD/doc 81ad8f0documentation/content/en/articles/committers-guide _index.adoc

committers-guide: add Watchgoose benefit

Watchgoose, via its open-source support program, offers hosted
monitoring for scheduled/recurring tasks, such as cron jobs and backups.
DeltaFile
+10-0documentation/content/en/articles/committers-guide/_index.adoc
+10-01 files

LLVM/project 11996d6llvm/lib/Analysis HashRecognize.cpp, llvm/test/Analysis/HashRecognize dig-recurrence.ll

[HashRecognize] Fix compiler hang on dense use-def chain (#211711)

When `digRecurrence` checks the use-def chain for a binary operator, it
simply uses a worklist to check the operands of each instruction. If
there are many instructions, and most instructions have multiple uses,
this takes exponentially long to compute, and can hang the compiler. Use
a visited set to skip instructions that have already been visited in the
use-def chain.

Credit to @freaknbigpanda for discovering this bug.
DeltaFile
+171-0llvm/test/Analysis/HashRecognize/dig-recurrence.ll
+4-0llvm/lib/Analysis/HashRecognize.cpp
+175-02 files

LLVM/project aafd116compiler-rt/lib/profile InstrProfiling.c InstrProfilingWriter.c

[compiler-rt] FreeBSD kernel headers in baremetal libprofile (#211278)

Add conditional FreeBSD kernel headers when building baremetal profile
library. This is unconnected to a CMake target; it requires building
libprofile out of band with `-DCOMPILER_RT_PROFILE_BAREMETAL=1`
and `-I/usr/src/sys/sys`.

The headers replaced in this diff are not available when building for
FreeBSD kernel space. This is the first issue I hit when experimenting
with using the baremetal libprofile like this, so there may be other
changes required as I make progress.
DeltaFile
+4-0compiler-rt/lib/profile/InstrProfiling.c
+4-0compiler-rt/lib/profile/InstrProfilingWriter.c
+3-0compiler-rt/lib/profile/InstrProfiling.h
+11-03 files

LLVM/project bb9934dllvm/lib/Transforms/Vectorize VPlan.cpp, llvm/test/Transforms/LoopVectorize/X86 invoke-in-preheader.ll

[VPlan] Fix sentinel assertion when broadcasting invoke results (#210464)

VPTransformState::get broadcasts a scalar value by inserting after the
last scalarized instruction using
std::next(BasicBlock::iterator(LastInst)). When LastInst is a terminator
like invoke, std::next advances past the end of the block, hitting the
!isKnownSentinel() assertion.

Use Instruction::getInsertionPointAfterDef which correctly handles PHIs,
invokes, and regular instructions, matching the pattern already used in
VectorCombine.cpp.

Fixes #210342

(cherry picked from commit 81cedf1e2060dbc2c5be43a6be0c86d6ba76df8d)
DeltaFile
+93-0llvm/test/Transforms/LoopVectorize/X86/invoke-in-preheader.ll
+5-6llvm/lib/Transforms/Vectorize/VPlan.cpp
+98-62 files

LLVM/project c50d163clang/test/Headers hip-header.hip __clang_hip_math.hip

clang/AMDGPU: Migrate cc1 tests to subarch triples (4) (#211839)

Rewrite Headers cc1 test RUN lines to the new subarch triple form,
dropping the redundant -target-cpu, and regenerate autogenerated CHECK
lines.

Co-authored-by: Claude (Opus 4.8) <noreply at anthropic.com>
DeltaFile
+14-14clang/test/Headers/hip-header.hip
+8-8clang/test/Headers/__clang_hip_math.hip
+7-7clang/test/Headers/__clang_hip_cmath.hip
+6-6clang/test/Headers/gpu-device-functions.cpp
+4-4clang/test/Headers/hip-constexpr-cmath.hip
+2-2clang/test/Headers/__clang_hip_math_ocml_rounded_ops.hip
+41-414 files not shown
+48-4810 files

LLVM/project 156c347llvm/include/llvm/IR PassManagerInternal.h PassManager.h

[spr] initial version

Created using spr 1.3.8-wip
DeltaFile
+58-38llvm/include/llvm/IR/PassManagerInternal.h
+2-2llvm/include/llvm/IR/PassManager.h
+2-1llvm/include/llvm/IR/PassManagerImpl.h
+62-413 files

LLVM/project a1886a9llvm/lib/Transforms/AggressiveInstCombine AggressiveInstCombine.cpp, llvm/test/Transforms/AggressiveInstCombine lower-table-based-cttz-basics.ll lower-table-based-cttz-dereferencing-pointer.ll

[AggressiveInstCombine] Avoid converting first table element when folding table-based cttz (#211202)

Do not attempt to zext (or truncate) the table's first element into the
cttz input type, as the element type may be wider than the input type.
Instead, convert the cttz result and emit the select directly in the
table's access type, which is the final expected type as well. Minor
opportunity to favor using APInt when the first element has more than 64
active bits to avoid crashing.

Fixes: https://github.com/llvm/llvm-project/issues/210890.
(cherry picked from commit 9edfdc231c9811124bbb7e3943c578c538d46aba)
DeltaFile
+64-21llvm/test/Transforms/AggressiveInstCombine/lower-table-based-cttz-basics.ll
+10-11llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
+2-2llvm/test/Transforms/AggressiveInstCombine/lower-table-based-cttz-dereferencing-pointer.ll
+2-2llvm/test/Transforms/AggressiveInstCombine/lower-table-based-cttz-non-argument-value.ll
+2-2llvm/test/Transforms/AggressiveInstCombine/lower-table-based-cttz-zero-element.ll
+80-385 files

LLVM/project 0e0e0c3clang/lib/Driver/ToolChains SYCL.cpp, clang/test/Driver sycl-rtlib-sysroot-mismatch.cpp

[clang][Driver][SYCL] Fix SYCLInstallationDetector for compiler installs outside sysroot (#211351)

Currently if the compiler install is not under SYSROOT, we don't try to
compute the relative path to `libLLVMSYCL.so` based on the compiler
binary installation directory, resulting us never setting
`SYCLRTLibPath` so when we try to geenerate a linker call we get a raw
`libLLVMSYCL.so` which fails unless the user happens to be running the
compiler from a directory with `libLLVMSYCL.so` inside it.

It seems we never use the result from SYCLInstallationDetector on
Windows, so I can't add a test, however change the code to be consistent
in case we start to use it in the future.

---------

Signed-off-by: Nick Sarnie <nick.sarnie at intel.com>
DeltaFile
+18-0clang/test/Driver/sycl-rtlib-sysroot-mismatch.cpp
+2-5clang/lib/Driver/ToolChains/SYCL.cpp
+20-52 files

LLVM/project 0441a2cllvm/lib/TargetParser AMDGPUTargetParser.cpp, llvm/unittests/TargetParser TargetParserTest.cpp

AMDGPU: Reject unrecognized amdgpu subarch in TargetID parsing

A bare "amdgpu" or an unrecognized "amdgpu<x>" both parse to the
amdgpu arch with no subarch; TargetID::parse previously accepted them,
taking a named processor and ignoring the missing subarch.

Reject triples with no subarch, unless it uses the legacy spelling.
This is another workaround for Triple not having a proper unknown value
for subarches.

Co-authored-by: Claude (Opus 4.8) <noreply at anthropic.com>
DeltaFile
+9-0llvm/unittests/TargetParser/TargetParserTest.cpp
+4-0llvm/lib/TargetParser/AMDGPUTargetParser.cpp
+13-02 files

LLVM/project 22f18c4llvm/lib/Target/ARM ARMAsmPrinter.cpp ARMISelLowering.cpp, llvm/test/CodeGen/ARM elf-preemption.ll weak-hidden-pic.ll

[ARM] Use .reloc for dso_local weak symbols in PIC mode instead of GOT indirection (#209660)

In ARM ELF PIC mode, weak symbols referenced via the constant pool use a
PC-relative expression like `.long sym-(.LPC+8)`. The assembler eagerly
resolves this when the symbol and reference are in the same section,
which prevents the linker from overriding a weak definition with a
non-weak one from another object file.

The previous approach forced *all* weak symbols through GOT indirection.
That works, but `dso_local` weak symbols with hidden/protected
visibility are non-preemptible — they don't need GOT indirection, and
the extra load is wasteful. This patch emits a `.reloc` directive for
such symbols instead, forcing the assembler to produce an `R_ARM_REL32`
relocation while keeping a direct PC-relative reference from the
constant pool.

Default-visibility weak symbols (even `dso_local`) remain routed through
the GOT because they stay exported and preemptible in shared objects,
and `R_ARM_REL32` against an external symbol cannot be used when making

    [5 lines not shown]
DeltaFile
+103-4llvm/test/CodeGen/ARM/elf-preemption.ll
+34-0llvm/lib/Target/ARM/ARMAsmPrinter.cpp
+8-6llvm/test/CodeGen/ARM/weak-hidden-pic.ll
+3-8llvm/lib/Target/ARM/ARMISelLowering.cpp
+0-9llvm/lib/Target/ARM/ARMTargetMachine.h
+1-2llvm/lib/Target/ARM/ARMSubtarget.cpp
+149-291 files not shown
+150-317 files

LLVM/project 754e93clibc/src/__support/CPP string.h, libc/test/src/__support/CPP string_test.cpp

Handle self-move-assignment
DeltaFile
+8-1libc/test/src/__support/CPP/string_test.cpp
+3-0libc/src/__support/CPP/string.h
+11-12 files

LLVM/project 8b3aa05llvm/test/MC/AMDGPU amdgcn-target-directive-subarch-cpu-field.s

Fix test
DeltaFile
+8-3llvm/test/MC/AMDGPU/amdgcn-target-directive-subarch-cpu-field.s
+8-31 files

LLVM/project 1719981libc/src/__support/CPP string.h CMakeLists.txt, libc/test/src/__support/CPP string_test.cpp

Handling aliasing
DeltaFile
+86-40libc/src/__support/CPP/string.h
+36-9libc/test/src/__support/CPP/string_test.cpp
+1-0libc/src/__support/CPP/CMakeLists.txt
+123-493 files

LLVM/project 023b0a6libc/src/__support/CPP string.h CMakeLists.txt, libc/test/UnitTest LibcTest.cpp

[libc][cpp::string] Allocate fewer temp strings in operator= and +=

This PR generally updates `cpp::string` to avoid incidental allocations. Specifically, it:

- Updates `opreator=(string_view)` to avoid allocating a temporary string: https://github.com/llvm/llvm-project/blob/67ebc4b221c3e94028b33004cd5cd08deee95048/libc/src/__support/CPP/string.h#L106-L108
- Changes `operator+=(const string&)` to accept a `string_view` so that strings may be appended without allocation.
- Makes the `string(string_view)` constructor explicit. Before, there were non-obvious allocations because of the implicit conversion.

This PR assumes that self-assignment and self-appends are not supported with `cpp::string`, and adds debug asserts preventing them. Currently, assignment doesn't work. `cpp::string s = "abc"; s = s;` will just zero out the string. This PR is a slight regression in that `operator+=(const cpp::string&)` previously worked, but now it errors in debug mode, and would result in a use-after-free without the assert statement. I don't think self-append/self-assignment is something `cpp::string` needs to support, so I omitted it, but if a reviewer thinks this behavior is important happy to amend this PR.
DeltaFile
+24-14libc/src/__support/CPP/string.h
+13-0libc/test/src/__support/CPP/string_test.cpp
+4-1libc/test/src/stdlib/realpath_test.cpp
+4-1utils/bazel/llvm-project-overlay/libc/test/src/__support/CPP/BUILD.bazel
+1-1libc/test/UnitTest/LibcTest.cpp
+2-0libc/src/__support/CPP/CMakeLists.txt
+48-172 files not shown
+51-178 files

LLVM/project 52ea168libc/src/__support/CPP string.h, libc/test/src/__support/CPP string_test.cpp

Remove now unused deps
DeltaFile
+18-17libc/src/__support/CPP/string.h
+14-5libc/test/src/__support/CPP/string_test.cpp
+32-222 files

LLVM/project 5337a2alibc/src/string/memory_utils utils.h op_generic.h

[libc][memory_utils] Rename shadowed load/store to avoid ADL ambiguity (#211714)

When compiling `inline_memmove` with MSVC for non-x86 architectures, `op_generic.h` picks
a non-builtin type for generic_v128 and friends:
https://github.com/llvm/llvm-project/blob/cad3c95a89c48d714a71f6e8b4af6f3e3ab100ea/libc/src/string/memory_utils/op_generic.h#L54-L57

This causes calls to `load` and `store` to trigger ADL, which is
ambiguous with `load` definition in `memory_utils/utils.h`.

```
C:\Users\jtstogel\Github\llvm-project\libc\src/string/memory_utils/op_generic.h(348): error C2668: '__llvm_libc_24_0_0_git::generic::store': ambiguous call to overloaded function
C:\Users\jtstogel\Github\llvm-project\libc\src/string/memory_utils/op_generic.h(138): note: could be 'void __llvm_libc_24_0_0_git::generic::store<T>(__llvm_libc_24_0_0_git::Ptr,T)'
        with
        [
            T=__llvm_libc_24_0_0_git::inline_memmove_aarch64::uint512_t
        ]
C:\Users\jtstogel\Github\llvm-project\libc\src/string/memory_utils/utils.h(221): note: or       'void __llvm_libc_24_0_0_git::store<T>(__llvm_libc_24_0_0_git::Ptr,T)' [found using argument-dependent lookup]
        with
        [

    [7 lines not shown]
DeltaFile
+5-5libc/src/string/memory_utils/utils.h
+3-3libc/src/string/memory_utils/op_generic.h
+8-82 files

LLVM/project be831acclang/test/CodeGen/LoongArch/lsx inline-asm-operand-types.c, llvm/lib/Target/LoongArch LoongArchISelLowering.cpp

[LoongArch] Support i128 operands for LSX inline assembly (#211464)

Allow `i128` values to be used with the `f` inline assembly constraint
when targeting LSX.

Although `i128` is not a legal LSX value type, it naturally maps to a
single 128-bit LSX vector register for inline assembly. This enables
instructions such as `vadd.q` to operate directly on `__int128` operands
without requiring explicit vector types.

(cherry picked from commit cad3c95a89c48d714a71f6e8b4af6f3e3ab100ea)
DeltaFile
+21-0llvm/test/CodeGen/LoongArch/lsx/inline-asm-operand-types.ll
+15-0clang/test/CodeGen/LoongArch/lsx/inline-asm-operand-types.c
+2-0llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
+38-03 files

LLVM/project a98d10fllvm/lib/Analysis LoopAccessAnalysis.cpp, llvm/test/Transforms/LoopVectorize single-early-exit-deref-assumptions.ll

[LAA] Use dereferenceable assumption for dereferenceable_or_null pointers (#211820)

evaluatePtrAddRecAtMaxBTCWillNotWrap currently bails out when
getPointerDereferenceableBytes reports a size that requires the pointer
to be non-null (as with the dereferenceable_or_null attribute), even
when a stronger dereferenceable assumption is available for the same
pointer.

Reset DerefBytes to 0 in that case so we fall through to
getKnowledgeForValue and pick up any dereferenceable assumption. This
lets early-exit loops guarded by such an assumption vectorize.
DeltaFile
+85-0llvm/test/Transforms/LoopVectorize/single-early-exit-deref-assumptions.ll
+3-1llvm/lib/Analysis/LoopAccessAnalysis.cpp
+88-12 files

LLVM/project 03d3c7bllvm/include/llvm/ADT StringTable.h, llvm/lib/Analysis TargetLibraryInfo.cpp

[ADT] Skip initial empty string in StringTable iterator (#211808)

StringTable requires the first string to be empty, but this is never
useful for users that iterate over all strings in the table. Skip it by
default before drop_begin() on StringTable iteration scatters further
throughout the code base.
DeltaFile
+2-2llvm/lib/MC/MCSubtargetInfo.cpp
+1-2llvm/lib/Passes/PassBuilder.cpp
+2-1llvm/include/llvm/ADT/StringTable.h
+1-1llvm/lib/Analysis/TargetLibraryInfo.cpp
+6-64 files

LLVM/project f296acfllvm/include/llvm/MC MCAsmInfo.h, llvm/lib/MC MCAsmInfo.cpp MCAsmInfoXCOFF.cpp

[spr] initial version

Created using spr 1.3.8-wip
DeltaFile
+27-10llvm/lib/MC/MCAsmInfo.cpp
+0-28llvm/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp
+1-22llvm/lib/Target/Sparc/MCTargetDesc/SparcMCAsmInfo.cpp
+9-10llvm/include/llvm/MC/MCAsmInfo.h
+1-12llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCAsmInfo.cpp
+0-12llvm/lib/MC/MCAsmInfoXCOFF.cpp
+38-948 files not shown
+45-12014 files

FreeNAS/freenas 241c64fsrc/middlewared/middlewared/api/v27_0_0 vm.py, src/middlewared/middlewared/plugins/vm __init__.py lifecycle.py

NAS-141931 / 27.0.0-BETA.1 / Add vm.reset (#19395)
DeltaFile
+19-0src/middlewared/middlewared/plugins/vm/__init__.py
+11-2src/middlewared/middlewared/api/v27_0_0/vm.py
+7-0src/middlewared/middlewared/plugins/vm/lifecycle.py
+37-23 files

LLVM/project ca78391clang/lib/StaticAnalyzer/Checkers CStringChecker.cpp, clang/test/Analysis string-search-modeling.c

Revert "[analyzer] Fix false positive in strchr/strrchr with constant args" (#211857)

Reverts llvm/llvm-project#210154

Broke some build bots.
https://github.com/llvm/llvm-project/pull/210154#issuecomment-5071830822
https://lab.llvm.org/buildbot/#/builders/144/builds/60200

```
# | error: 'expected-error' diagnostics seen but not expected: 
# |   File /home/buildbot/buildbot-root/llvm-clang-x86_64-sie-ubuntu-fast/llvm-project/clang/test/Analysis/string-search-modeling.c Line 515: use of undeclared identifier 'u'
# |   File /home/buildbot/buildbot-root/llvm-clang-x86_64-sie-ubuntu-fast/llvm-project/clang/test/Analysis/string-search-modeling.c Line 527: use of undeclared identifier 'u'
# |   File /home/buildbot/buildbot-root/llvm-clang-x86_64-sie-ubuntu-fast/llvm-project/clang/test/Analysis/string-search-modeling.c Line 538: use of undeclared identifier 'U'
# |   File /home/buildbot/buildbot-root/llvm-clang-x86_64-sie-ubuntu-fast/llvm-project/clang/test/Analysis/string-search-modeling.c Line 550: use of undeclared identifier 'u'
# |   File /home/buildbot/buildbot-root/llvm-clang-x86_64-sie-ubuntu-fast/llvm-project/clang/test/Analysis/string-search-modeling.c Line 578: use of undeclared identifier 'u'
```
DeltaFile
+0-404clang/test/Analysis/string-search-modeling.c
+26-214clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
+26-6182 files

LLVM/project fd9416bllvm/lib/Target/Hexagon HexagonISelLoweringHVX.cpp HexagonPatternsHVX.td, llvm/test/CodeGen/Hexagon inst_setcc_uno_uo.ll hvx-float-setoeq-v68.ll

[Hexagon] Lower fcmp oeq to vcmp_(s|h)f_eq. (#211570)

Before this commit, the following error persisted in the hexagon
backend.

Consider the `file.ll` with the following contents.
```
define <32 x float> @setoeq_v32f32(<32 x float> %a, <32 x float> %b,
                                    <32 x float> %c, <32 x float> %d) {
  %cmp = fcmp oeq <32 x float> %a, %b
  %r   = select <32 x i1> %cmp, <32 x float> %c, <32 x float> %d
  ret <32 x float> %r
}
```

Compiling it as `hexagon-llc -march=hexagon
-mattr=+hvxv81,+hvx-length128b file.ll`, we get

```

    [23 lines not shown]
DeltaFile
+134-1llvm/test/CodeGen/Hexagon/autohvx/vector-compare-128b.ll
+104-1llvm/lib/Target/Hexagon/HexagonISelLoweringHVX.cpp
+44-34llvm/test/CodeGen/Hexagon/inst_setcc_uno_uo.ll
+64-0llvm/test/CodeGen/Hexagon/hvx-float-setoeq-v68.ll
+46-0llvm/test/CodeGen/Hexagon/hvx-float-setoeq.ll
+16-8llvm/lib/Target/Hexagon/HexagonPatternsHVX.td
+408-442 files not shown
+417-528 files

LLVM/project 04e6a14llvm/lib/Target/SPIRV SPIRVNonSemanticDebugHandler.h

Keep original comment.
DeltaFile
+3-0llvm/lib/Target/SPIRV/SPIRVNonSemanticDebugHandler.h
+3-01 files

LLVM/project 4c29867llvm/lib/Target/SPIRV SPIRVNonSemanticDebugHandler.cpp SPIRVNonSemanticDebugHandler.h, llvm/test/CodeGen/SPIRV/debug-info debug-function-definition.ll debug-function-definition-after-opvariable.ll

Implement support for NSDI DebugFunctionDefinition.
DeltaFile
+160-6llvm/lib/Target/SPIRV/SPIRVNonSemanticDebugHandler.cpp
+50-21llvm/lib/Target/SPIRV/SPIRVNonSemanticDebugHandler.h
+40-0llvm/test/CodeGen/SPIRV/debug-info/debug-function-definition.ll
+36-0llvm/test/CodeGen/SPIRV/debug-info/debug-function-definition-after-opvariable.ll
+14-3llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
+300-305 files