LLVM/project 4c176c4clang/docs StandardCPlusPlusModules.md

[docs] [C++20] [Modules] Mentioning tricks to use std module without touching the code (#220147)

This commit introduces two tricks to use std module without changing
user's code.
DeltaFile
+281-3clang/docs/StandardCPlusPlusModules.md
+281-31 files

LLVM/project 2bc9411llvm/lib/Analysis Loads.cpp, llvm/lib/Transforms/Vectorize VPlanConstruction.cpp LoopVectorizationLegality.cpp

Revert "[CSSPGO] Don't let pseudo probes block early-exit vectorization" (#220146)

Reverts llvm/llvm-project#219872

This was accidentally merged without approval
DeltaFile
+0-114llvm/test/Transforms/LoopVectorize/early_exit_pseudo_probe_legality.ll
+0-83llvm/test/Transforms/LoopVectorize/early_exit_pseudo_probe.ll
+2-38llvm/unittests/Analysis/LoadsTest.cpp
+0-10llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
+0-8llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
+0-4llvm/lib/Analysis/Loads.cpp
+2-2576 files

LLVM/project 3d7b99bclang/docs conf.py

[clang][docs] Suppress Sphinx highlighting failure warnings in conf.py (#220118)

Following the upgrade to Sphinx 8.2 (#219299), Pygments syntax
highlighting fallbacks (e.g. on custom C++ attribute syntaxes like
`[[clang::...]]`) emit `[misc.highlighting_failure]` warnings when
retrying in relaxed mode. Because sphinx-build runs with `-W`, these
warnings abort the documentation build.

Mirror the configuration in `llvm/docs/conf.py` by setting
`suppress_warnings = ["misc.highlighting_failure"]`.

AI tool usage: An AI assistant was used to help research and draft the
documentation updates.
DeltaFile
+5-0clang/docs/conf.py
+5-01 files

LLVM/project c3c6e28mlir/include/mlir/Dialect/Arith/Transforms Passes.td Passes.h, mlir/lib/Dialect/Arith/Transforms ExpandOps.cpp

[mlir][arith] Expand ops for F8E4M3FN and F8E5M2 type. (#216653)

Patch to add support for arith op (`arith.truncf`) to truncate `f32/f16`
type to `f8E4M3FN/f8E5M2`.
DeltaFile
+306-26mlir/lib/Dialect/Arith/Transforms/ExpandOps.cpp
+223-1mlir/test/Dialect/Arith/expand-ops.mlir
+184-2mlir/test/Integration/Dialect/Arith/CPU/test-arith-expand-truncf-extf.mlir
+7-0mlir/include/mlir/Dialect/Arith/Transforms/Passes.h
+4-0mlir/include/mlir/Dialect/Arith/Transforms/Passes.td
+724-295 files

LLVM/project a36244alld/MachO ICF.cpp, lld/test/MachO icf-referent-offset.s

[lld][MachO] Compare referent offsets in ICF (#219960)

ICF::equalsConstant() compared only the addends of relocations that
reference symbols in ConcatInputSections, not the symbols' offsets
within their sections. The ICF hash merely sums the referent symbols'
offsets, so two code sections whose relocations reference the same input
section at swapped offsets have equal hashes, pass both the constant and
the variable comparison, and are folded together even though they
reference different data.

Compare the symbol value plus the addend instead, as the ELF backend
does.

This issue was found by LLM while investigating why identical LSDAs were
not being folded. It has not been observed in a real-world link, and the
regression test is synthetic.
DeltaFile
+60-0lld/test/MachO/icf-referent-offset.s
+1-1lld/MachO/ICF.cpp
+61-12 files

LLVM/project 0622134llvm/lib/Analysis Loads.cpp, llvm/lib/Transforms/Vectorize VPlanConstruction.cpp LoopVectorizationLegality.cpp

Revert "[CSSPGO] Don't let pseudo probes block early-exit vectorization (#219…"

This reverts commit 2bf4ef05f69afae8a6377ac870b4e257fe0a2b0b.
DeltaFile
+0-114llvm/test/Transforms/LoopVectorize/early_exit_pseudo_probe_legality.ll
+0-83llvm/test/Transforms/LoopVectorize/early_exit_pseudo_probe.ll
+2-38llvm/unittests/Analysis/LoadsTest.cpp
+0-10llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
+0-8llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
+0-4llvm/lib/Analysis/Loads.cpp
+2-2576 files

LLVM/project 3a94285flang/lib/Lower Allocatable.cpp, flang/test/Lower/CUDA cuda-allocatable-component.cuf

[flang][cuda] Propagate CUDA attrs from parent variable to component deallocs (#220059)

This is a follow up to
[#206614](https://github.com/llvm/llvm-project/pull/206614), which made
`allocate(foo(i)%arr(...))` inherit `foo`'s CUDA memory attribute, but
did not add the equivalent inheritance for `deallocate(foo(i)%arr)`. The
deallocation still lowered to an inlined `fir.freemem`, so memory
obtained from a CUDA allocator was released with libc `free()`.

The allocate side already walked the `DataRef` chain for a
CUDA-attributed parent, but the helpers were private to
`AllocateStmtHelper` and unreachable from the deallocate path. This
patch hoists `findCUDAAttrInDataRef` to file scope, adds
`getCUDAAttrParentSymbol(AllocateObject)` beside it, and reduces the
existing member to a thin wrapper. The allocate behavior is unchanged.

`genDeallocate` gains an optional `cudaSymbol` used only for the CUDA
decisions (`isCudaSymbol` and the `genCudaDeallocate` call).
`genDeallocateStmt` supplies the parent symbol, which is non-null only

    [9 lines not shown]
DeltaFile
+69-42flang/lib/Lower/Allocatable.cpp
+53-2flang/test/Lower/CUDA/cuda-allocatable-component.cuf
+122-442 files

LLVM/project bf498b1llvm/lib/Target/WebAssembly WebAssemblyInstrSIMD.td, llvm/test/CodeGen/WebAssembly reg-stackify.ll

[WebAssembly] Mark SIMD min and max as commutable (#219812)

Vector add/mul and scalar floating-point min/max are already marked as
commutable. This extends the same property to floating-point vector
min/max, allowing better WebAssembly register stackification.

Should avoid any locals as per what's happening now
```
.local v128

call      red
local.set 0

call      green
local.get 0

f32x4.min
```
DeltaFile
+46-2llvm/test/CodeGen/WebAssembly/reg-stackify.ll
+2-0llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
+48-22 files

LLVM/project 33a4a48llvm/include/llvm/CodeGen SelectionDAGNodes.h, llvm/lib/CodeGen/SelectionDAG SelectionDAG.cpp

[SelectionDAG] Fix CSE keys that disagree with SDNode::Profile (#219911)

A getNode helper builds its lookup ID by hand; matching it later
rebuilds one from the node with AddNodeIDCustom.  Where the two disagree
the compare always fails and the node never CSEs.  Fix whichever side is
wrong: the labels, DEACTIVATION_SYMBOL, GET/SET_FPENV_MEM and
EXPERIMENTAL_VECTOR_HISTOGRAM have no case; getLifetimeNode keys on a
frame index operand 1 already carries, getStridedLoadVP on the result
type instead of the memory type, and getPseudoProbeNode drops the
attributes its case profiles.

Ask AtomicSDNode instead of an opcode list stale since ATOMIC_LOAD_FADD,
and add the two opcodes its own classof was missing.

AddNodeIDCustom now takes the opcode to profile under, so MorphNodeTo's
pre-morph lookup keys on what the morph produces.  Machine opcodes
profile nothing: the morph overlays MachineSDNode's memory references on
the fields the MemSDNode checks read.


    [2 lines not shown]
DeltaFile
+41-38llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
+9-20llvm/unittests/CodeGen/SelectionDAGCSETest.cpp
+9-0llvm/include/llvm/CodeGen/SelectionDAGNodes.h
+1-2llvm/test/CodeGen/PowerPC/merge_stores_dereferenceable.ll
+60-604 files

LLVM/project 8ad72c6clang/lib/Sema HLSLExternalSemaSource.cpp

[NFC][HLSL] Refactor texture type declaration (#219561)

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

Refactors texture type declaration in `HLSLExternalSemaSource.cpp` so
that new
texture types can more easily be added without adding a bunch of new
helper
functions.

This is accomplished with the introduction of a new `TextureTypeInfo`
struct
to record the properties of each texture type, as well as its
capabilities
indicated by the `TexCap` bitmask enum.

Adding a new texture type to be declared should, in most cases, only
require
appending a new entry to the static `TextureTypes` array of

    [12 lines not shown]
DeltaFile
+143-207clang/lib/Sema/HLSLExternalSemaSource.cpp
+143-2071 files

LLVM/project 2bf4ef0llvm/lib/Analysis Loads.cpp, llvm/lib/Transforms/Vectorize VPlanConstruction.cpp LoopVectorizationLegality.cpp

[CSSPGO] Don't let pseudo probes block early-exit vectorization (#219872)

llvm.pseudoprobe is modeled as accessing inaccessible memory, so
mayReadFromMemory()/mayWriteToMemory() return true even though the
intrinsic
carries no real memory dependence. An otherwise vectorizable early-exit
loop
is therefore rejected as soon as it contains a pseudo probe.

This patch skips pseudo probes in isVectorizableEarlyExitLoop(),
isReadOnlyLoop() and
areAllLoadsDereferenceable() so the three checks agree and such loops
vectorize as they would without pseudo probe instrumentation.

Discussion:
https://discourse.llvm.org/t/csspgo-unblocking-pseudo-probe-safe-optimizations/90946
DeltaFile
+114-0llvm/test/Transforms/LoopVectorize/early_exit_pseudo_probe_legality.ll
+83-0llvm/test/Transforms/LoopVectorize/early_exit_pseudo_probe.ll
+38-2llvm/unittests/Analysis/LoadsTest.cpp
+10-0llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
+8-0llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
+4-0llvm/lib/Analysis/Loads.cpp
+257-26 files

LLVM/project f34700cllvm/include/llvm/ExecutionEngine/Orc LookupAndApply.h RecordProxy.h, llvm/unittests/ExecutionEngine/Orc LookupAndApplyTest.cpp ProxyTest.cpp

[ORC] Add SymbolStringPtr overloads for recordAddr/recordProxy (#220125)

Allow clients to pass symbol names as SymbolStringPtrs (in addition to
StringRefs).
DeltaFile
+61-0llvm/unittests/ExecutionEngine/Orc/ProxyTest.cpp
+30-0llvm/include/llvm/ExecutionEngine/Orc/RecordProxy.h
+29-0llvm/unittests/ExecutionEngine/Orc/LookupAndApplyTest.cpp
+13-0llvm/include/llvm/ExecutionEngine/Orc/LookupAndApply.h
+133-04 files

LLVM/project 5b60fdellvm/test/CodeGen/AMDGPU amdgcn.bitcast.320bit.ll fptosi-sat-vector.ll

[AMDGPU] Allow combining uniform OR/AND to V_PERM (#220048)

Allow the OR/AND -> V_PERM DAG combine for values, even if they are
uniform.

Co-authored by Brendon Cahoon and Cursor
DeltaFile
+2,115-2,484llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+611-829llvm/test/CodeGen/AMDGPU/calling-conventions.ll
+567-723llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
+276-366llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.256bit.ll
+191-235llvm/test/CodeGen/AMDGPU/fptosi-sat-vector.ll
+190-214llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.320bit.ll
+3,950-4,85123 files not shown
+4,959-5,97829 files

LLVM/project 01cc74dclang/lib/Driver/ToolChains CommonArgs.cpp, clang/test/Driver fsanitize-undefined-offload.c

[Clang] Honor -Xarch_gfx* when linking the UBSan offload runtime

Empty bound architecture misses per-GPU sanitizer flags, so inspect each
offload arch when deciding whether the host interceptor is required.
DeltaFile
+16-0clang/test/Driver/fsanitize-undefined-offload.c
+7-4clang/lib/Driver/ToolChains/CommonArgs.cpp
+23-42 files

LLVM/project e78d18fclang/lib/Driver/ToolChains CommonArgs.cpp, clang/test/Driver fsanitize-undefined-offload.c

Device only and -shared fix
DeltaFile
+26-0clang/test/Driver/fsanitize-undefined-offload.c
+15-9clang/lib/Driver/ToolChains/CommonArgs.cpp
+41-92 files

LLVM/project ac36319clang/lib/Driver/ToolChains UEFI.cpp Solaris.cpp, clang/test/Driver fsanitize-undefined-device-offload.c

[Clang] Enable UBSan for AMDGPU device offload

Summary:
This enables the device UBSan runtime for AMDGPU decides. Primarily this
required modifications to the `addSanitizerRuntime` interface so we can
query the compilation's offload status. Also need to forward it through
the linker wrapper interface. Works on all AMDGPU offload, slight hacks
around the other targets as they do not advertise sanitizer
runtimes properly.

This is linked in via a new `-u __ubsan_device_initialize` hook to pull
in the side library. This is standard behavior and keeps the core logic
mostly unchanged and re-used.
DeltaFile
+50-0clang/test/Driver/fsanitize-undefined-device-offload.c
+32-3clang/lib/Driver/ToolChains/CommonArgs.cpp
+2-2clang/lib/Driver/ToolChains/Hexagon.cpp
+2-1clang/lib/Driver/ToolChains/Clang.cpp
+1-1clang/lib/Driver/ToolChains/UEFI.cpp
+1-1clang/lib/Driver/ToolChains/Solaris.cpp
+88-813 files not shown
+98-1819 files

LLVM/project 18f4212clang/lib/Driver/ToolChains CommonArgs.cpp, clang/test/Driver fsanitize-undefined-device-offload.c fsanitize-undefined-offload.c

[Clang] Link libclang_rt.ubsan_offload.a for device offload

Match the compiler-rt rename of the host interceptor and the
-u __ubsan_offload_init hook.
DeltaFile
+0-50clang/test/Driver/fsanitize-undefined-device-offload.c
+50-0clang/test/Driver/fsanitize-undefined-offload.c
+5-5clang/lib/Driver/ToolChains/CommonArgs.cpp
+0-0clang/test/Driver/Inputs/resource_dir_with_amdgpu_per_target_subdir/lib/x86_64-unknown-linux-gnu/libclang_rt.ubsan_device.a
+0-0clang/test/Driver/Inputs/resource_dir_with_amdgpu_per_target_subdir/lib/x86_64-unknown-linux-gnu/libclang_rt.ubsan_offload.a
+55-555 files

LLVM/project 7159010llvm/lib/Target/LoongArch LoongArchLASXInstrInfo.td, llvm/test/CodeGen/LoongArch/lasx vec-zext-invec.ll vec-sext-invec-mask.ll

[LoongArch] Add omitted LASX patterns for vector extend (#219351)

Adds omitted 128-bit to 256-bit patterns for `sign_extend_vector_inreg`,
including `v16i8 -> v4i64` and `v8i16 -> v4i64`, which will generate by
the combination of `icmp + or/and/xor + zext/sext`, all related tests
are added.

Fix: https://github.com/llvm/llvm-project/issues/219224
DeltaFile
+251-0llvm/test/CodeGen/LoongArch/lasx/vec-sext-invec-mask.ll
+57-0llvm/test/CodeGen/LoongArch/lasx/vec-zext-invec.ll
+20-8llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
+328-83 files

LLVM/project 1ea89ebllvm/docs LangRef.md, llvm/lib/CodeGen/SelectionDAG SelectionDAGBuilder.cpp DAGCombiner.cpp

[ConstantTime] Address reviewer feedback on llvm.ct.select core

- Fix vector-split build error: call the existing SplitRes_Select for
  CT_SELECT instead of the nonexistent SplitRes_CT_SELECT.
- Fix a VP_MERGE result-split regression: the CT_SELECT switch reformat had
  moved ISD::VP_MERGE onto the SplitRes_SELECT_CC line, which reads operand 4
  (out of bounds for VP_MERGE's 4 operands) and builds a SELECT_CC without
  splitting the EVL, crashing or miscompiling any vp.merge whose result
  vector must be split. Restore it to the SplitRes_Select group.
- Accept byte types (bN and vectors of them) in the Verifier and document
  them in LangRef; add byte-typed X86 codegen and Verifier test coverage.
- Drop the redundant `VT0 == MVT::i1` guard in visitCT_SELECT; the inner
  condition-type checks already cover correctness after promotion.
- LangRef: reword the constant-fold rule to the enforceable "constant
  operand" form, restate fast-math flags via the general FP-call rule (only
  nnan/ninf are poison-generating), and switch undef/poison to match select,
  dropping the noundef return attribute so poison propagates (both arms always
  evaluate, so poison in either yields poison).
- Revert an unrelated whitespace change in LegalizeTypes.h.

    [2 lines not shown]
DeltaFile
+310-0llvm/test/CodeGen/X86/ctselect.ll
+24-22llvm/docs/LangRef.md
+21-22llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
+3-9llvm/test/Transforms/InstSimplify/ct-select.ll
+3-3llvm/lib/IR/Verifier.cpp
+4-2llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
+365-585 files not shown
+373-7011 files

LLVM/project 3b364e7llvm/lib/Target/AArch64 AArch64InstrInfo.cpp, llvm/test/CodeGen/AArch64 cmpbr-early-ifcvt.mir

[AArch64] Constraint SUBS register classes after if-converting CMPBR (#219884)

When generating SUBS to un-fuse the Armv9.6 Compare-and-Branch immediate
variants CBWPri and CBXPri during if-conversion, we missed to constraint
the register classes, leading to a verifier crash.
DeltaFile
+104-0llvm/test/CodeGen/AArch64/cmpbr-early-ifcvt.mir
+6-2llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
+110-22 files

LLVM/project fbf4151llvm/test/Transforms/SLPVectorizer/RISCV insertvalue-element.ll

[SLP][NFC] Pre-commit regression tests for InsertValueInst element size. (#219221)

Add regression tests for SLP vectorization of insertvalue chains over
homogeneous structs ({ i64, i64 } and { i32, i32, i32, i32 }).
The tests capture the current behavior prior to the fix, where
getVectorElementSize() uses the aggregate's total size, potentially
limiting the maximum vectorization factor on targets with a bounded
TTI::getMaximumVF().
A follow-up patch will fix getVectorElementSize() to recurse through
InsertValueInst and update these CHECK lines to reflect the correct
vectorized output.

Tests added:

- llvm/test/Transforms/SLPVectorizer/RISCV/insertvalue-elt-size.ll

Co-authored-by: Aditya-Chaudhary1 <aditya.chaudhary1 at ibm.com>
DeltaFile
+78-0llvm/test/Transforms/SLPVectorizer/RISCV/insertvalue-element.ll
+78-01 files

LLVM/project 040ffe2clang/test/Analysis/Scalable/source-edit-generation cpp-bounded-buffers-replacements.cpp, clang/test/CIR/CodeGen partial-array-cleanup.cpp

Merge remote-tracking branch 'origin/main' into users/icohedron/texture-type-creation-refactor
DeltaFile
+440-295llvm/docs/requirements.txt
+672-0clang/test/Analysis/Scalable/source-edit-generation/cpp-bounded-buffers-replacements.cpp
+209-171llvm/test/Transforms/LoopVectorize/VPlan/RISCV/vplan-vp-intrinsics-reduction.ll
+365-0clang/test/CIR/CodeGen/partial-array-cleanup.cpp
+318-0llvm/test/Analysis/ScalarEvolution/addrec-vs-start-monotonic.ll
+198-0llvm/test/Transforms/IndVarSimplify/addrec-vs-start-monotonic.ll
+2,202-46688 files not shown
+3,858-72594 files

LLVM/project 6d10716llvm/docs LangRef.md, llvm/lib/CodeGen/SelectionDAG SelectionDAGBuilder.cpp DAGCombiner.cpp

[ConstantTime] Address reviewer feedback on llvm.ct.select core

- Fix vector-split build error: call the existing SplitRes_Select for
  CT_SELECT instead of the nonexistent SplitRes_CT_SELECT.
- Fix a VP_MERGE result-split regression: the CT_SELECT switch reformat had
  moved ISD::VP_MERGE onto the SplitRes_SELECT_CC line, which reads operand 4
  (out of bounds for VP_MERGE's 4 operands) and builds a SELECT_CC without
  splitting the EVL, crashing or miscompiling any vp.merge whose result
  vector must be split. Restore it to the SplitRes_Select group.
- Accept byte types (bN and vectors of them) in the Verifier and document
  them in LangRef; add byte-typed X86 codegen and Verifier test coverage.
- Drop the redundant `VT0 == MVT::i1` guard in visitCT_SELECT; the inner
  condition-type checks already cover correctness after promotion.
- LangRef: reword the constant-fold rule to the enforceable "constant
  operand" form, restate fast-math flags via the general FP-call rule (only
  nnan/ninf are poison-generating), and drop the redundant undef/poison
  propagation paragraph that the noundef return already covers.
- Revert an unrelated whitespace change in LegalizeTypes.h.
- Drop redundant intrinsic declarations from the InstSimplify test and soften
  the SelectionDAGBuilder fast-math comment.
DeltaFile
+310-0llvm/test/CodeGen/X86/ctselect.ll
+21-22llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
+20-18llvm/docs/LangRef.md
+3-9llvm/test/Transforms/InstSimplify/ct-select.ll
+3-3llvm/lib/IR/Verifier.cpp
+4-2llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
+361-545 files not shown
+368-6511 files

LLVM/project 72946b0bolt/include/bolt/Core Exceptions.h, bolt/lib/Core Exceptions.cpp

[BOLT] Parse .eh_frame CFI programs on demand to reduce memory (#214896)

BOLT read the entire .eh_frame up front via DwCtx->getEHFrame(), which
parses and caches the CFI instruction program of every CIE/FDE in the
binary for the whole run. On a large binary, this dominated file-object
discovery: CFIProgram::parse accounted for ~6.5 GB and the cached
DWARFDebugFrame ~6.9 GB of live memory. Yet the CFI programs are only
consumed in CFIReaderWriter::fillCFIInfoFor, and only for the functions
BOLT actually disassembles. discoverFileObjects itself needs nothing but
each FDE's address and range for function-boundary checks.

Here we parse .eh_frame for its index only, and decode each function's
CFI program on demand, lazily, only for the functions that really need
it. In a large binary, DWARFDebugFrame::parse drops from 6922.2 MB to
587.6 MB, the residual being the lightweight FDE/CIE index (entries
without instruction programs), and readSpecialSections falls from 7078.7
MB to 738.6 MB on the tested binary for which BOLT's RSS is about
80-120GB.
DeltaFile
+37-8bolt/lib/Core/Exceptions.cpp
+20-5bolt/lib/Rewrite/RewriteInstance.cpp
+21-3bolt/include/bolt/Core/Exceptions.h
+78-163 files

LLVM/project b04534cclang/lib/CodeGen CGHLSLBuiltins.cpp, clang/lib/Sema SemaHLSL.cpp HLSLBuiltinTypeDeclBuilder.cpp

[HLSL] Add UAV-specific texture load method (#218728)

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

UAV texture resources were using the SRV version of the .Load() method
and resulted in no matching member function calls when attempted to be
used.
This PR fixes that issue by adding addRWTextureLoadMethods() to
HLSLBuiltinTypeDeclBuilder.cpp and fixing the codegen for
BI__builtin_hlsl_resource_load_level to handle UAVs.

Assisted by: Claude Opus 5

---

<sub>Stack created with <a
href="https://github.com/github/gh-stack">GitHub Stacks CLI</a> • <a
href="https://gh.io/stacks-feedback">Give Feedback 💬</a></sub>
DeltaFile
+204-173clang/test/CodeGenHLSL/resources/Textures-Load.hlsl
+43-13clang/test/SemaHLSL/Resources/Textures-Load-errors.hlsl
+23-14clang/lib/CodeGen/CGHLSLBuiltins.cpp
+23-0clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp
+17-0clang/test/AST/HLSL/Textures-AST.hlsl
+13-2clang/lib/Sema/SemaHLSL.cpp
+323-2022 files not shown
+326-2038 files

LLVM/project b80664dllvm/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/test/Transforms/SLPVectorizer/AArch64 matmul.ll splat-loads.ll

Revert "[SLP]Vectorize unique scalars of splat gather nodes as separate subtrees"

This reverts commit e7e0985a22933f3a91bfdbccdccfe7c0431d57ab to fix buildbots like https://lab.llvm.org/buildbot/#/builders/17/builds/17224

Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/220134
DeltaFile
+43-218llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+161-62llvm/test/Transforms/SLPVectorizer/X86/splat-gather-operands.ll
+24-8llvm/test/Transforms/SLPVectorizer/AArch64/splat-loads.ll
+17-9llvm/test/Transforms/SLPVectorizer/AArch64/matmul.ll
+11-9llvm/test/Transforms/SLPVectorizer/RISCV/splat-gather-extracts.ll
+12-4llvm/test/Transforms/SLPVectorizer/X86/lookahead.ll
+268-3105 files not shown
+295-32711 files

LLVM/project 12a752alldb/source/Expression IRExecutionUnit.cpp

fix

Created using spr 1.3.7
DeltaFile
+1-2lldb/source/Expression/IRExecutionUnit.cpp
+1-21 files

LLVM/project 05601f9llvm/unittests/ExecutionEngine ExecutionEngineTest.cpp

fix

Created using spr 1.3.7
DeltaFile
+0-1llvm/unittests/ExecutionEngine/ExecutionEngineTest.cpp
+0-11 files

LLVM/project da48835utils/bazel/llvm-project-overlay/mlir BUILD.bazel

[Bazel] Fixes 7651d2d (#220129)

This fixes 7651d2dec29ea98dad2ba59fb7b5b480eaa1f23e (#219552).

Buildkite error link:
https://buildkite.com/llvm-project/upstream-bazel/builds?commit=7651d2dec29ea98dad2ba59fb7b5b480eaa1f23e

Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
DeltaFile
+1-0utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
+1-01 files

LLVM/project e934269

rebase

Created using spr 1.3.7
DeltaFile
+0-00 files