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

LLVM/project 14017dfllvm/unittests/ExecutionEngine ExecutionEngineTest.cpp

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.7

[skip ci]
DeltaFile
+6-19llvm/unittests/ExecutionEngine/ExecutionEngineTest.cpp
+6-191 files

LLVM/project a5ed86dllvm/unittests/ExecutionEngine ExecutionEngineTest.cpp

fix

Created using spr 1.3.7
DeltaFile
+6-19llvm/unittests/ExecutionEngine/ExecutionEngineTest.cpp
+6-191 files

LLVM/project 5c80f6fllvm/test/CodeGen/Generic bswap.ll, llvm/test/Integer 2007-01-19-TruncSext.ll

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+0-50llvm/test/CodeGen/Generic/bswap.ll
+27-9llvm/test/Transforms/LICM/2003-12-11-SinkingToPHI.ll
+0-3llvm/test/Integer/2007-01-19-TruncSext.ll
+27-623 files

LLVM/project 77a6638clang/lib/ScalableStaticAnalysis/Analyses/EntityPointerLevel EntityPointerLevel.cpp, clang/lib/ScalableStaticAnalysis/SourceTransformation/Transformations CppBoundedBuffers.cpp

Reland "[SSAF][clang-reforge] Add end-to-end clang-reforge tests (#219085)" (#220124)

This reverts commit 459dffa2ef4af2e3fd96ff35a235a301bdeeb32c

The new test added in the original PR uses 'clang-apply-replacements'
conditionally now. It checks if the tool is available before using it.
When the tool is not there, it only checks against replacement offsets
and texts.

Final step of:
rdar://185840466
DeltaFile
+672-0clang/test/Analysis/Scalable/source-edit-generation/cpp-bounded-buffers-replacements.cpp
+25-9clang/lib/ScalableStaticAnalysis/SourceTransformation/Transformations/CppBoundedBuffers.cpp
+22-4clang/unittests/ScalableStaticAnalysis/SourceTransformation/CppBoundedBuffersTest.cpp
+8-0clang/test/Analysis/Scalable/source-edit-generation/lit.local.cfg
+1-1clang/lib/ScalableStaticAnalysis/Analyses/EntityPointerLevel/EntityPointerLevel.cpp
+728-145 files

LLVM/project d1b079bclang/include/clang/CIR/Dialect/IR CIRTypes.td, clang/lib/CIR/CodeGen TargetInfo.h CIRGenTypes.cpp

[CIR][CUDA] Support built-in CUDA texture type (#214781)

Related: #179278

This patch adds initial support for CUDA built-in texture types in CIR
for device-side compilation.

CUDA texture references are lowered to the NVPTX device-handle
representation (`i64`), matching existing Clang CodeGen behavior.

## Changes

- Add `getCUDADeviceBuiltinTextureDeviceType()` target hook to
`TargetCIRGenInfo`
- Implement NVPTX texture lowering in `NVPTXTargetCIRGenInfo`
- Handle CUDA built-in texture types in `CIRGenTypes::convertType`
- Add initial CUDA texture variable registration bookkeeping in
`CIRGenNVCUDARuntime`
- Add CIR CUDA test coverage for device-side texture lowering

    [8 lines not shown]
DeltaFile
+26-0clang/test/CIR/CodeGenCUDA/texture.cu
+22-2clang/lib/CIR/CodeGen/CIRGenCUDANV.cpp
+16-1clang/include/clang/CIR/Dialect/IR/CIRTypes.td
+4-0clang/lib/CIR/CodeGen/Targets/NVPTX.cpp
+4-0clang/lib/CIR/CodeGen/TargetInfo.h
+4-0clang/lib/CIR/CodeGen/CIRGenTypes.cpp
+76-31 files not shown
+79-37 files

LLVM/project 6f46a9fbolt/include/bolt/Core Exceptions.h, bolt/lib/Core Exceptions.cpp

[BOLT] Parse .eh_frame CFI programs on demand to reduce memory

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 7651d2dmlir/lib/Conversion/OpenACCToLLVM ACCAtomicPatterns.cpp, mlir/test/Conversion/OpenACCToLLVM atomic.mlir

[mlir][acc] Use atomicrmw for simple atomic captures (#219552)

Example:
```fortran
!$acc atomic capture
nSmall = nSmall + 1
indx = nSmall
!$acc end atomic
```

acc.atomic.capture always generated a cmpxchg loop, while
acc.atomic.update already mapped a simple binop to atomicrmw. On a
partition loop with 204800 threads contending on one scalar, the CAS
retries dominate.

Fix: give the capture conversion the same atomicrmw path. atomicrmw
returns the old value, so `{read, update}` stores it directly and
`{update, read}` reapplies the binop to it.
DeltaFile
+150-45mlir/lib/Conversion/OpenACCToLLVM/ACCAtomicPatterns.cpp
+51-2mlir/test/Conversion/OpenACCToLLVM/atomic.mlir
+201-472 files

LLVM/project 39d1c44clang/test/CodeGenHLSL/resources Textures-Load.hlsl

Revise description of HAS_OFFSET
DeltaFile
+2-2clang/test/CodeGenHLSL/resources/Textures-Load.hlsl
+2-21 files

LLVM/project 870400fclang/test/AST/HLSL Textures-AST.hlsl

Add AST test
DeltaFile
+17-0clang/test/AST/HLSL/Textures-AST.hlsl
+17-01 files

LLVM/project d55447dclang/test/CodeGenHLSL/resources Textures-Load.hlsl

Remove unnecessary added trailing periods
DeltaFile
+2-2clang/test/CodeGenHLSL/resources/Textures-Load.hlsl
+2-21 files

LLVM/project 63bedc9clang/lib/CodeGen CGHLSLBuiltins.cpp, clang/test/CodeGenHLSL/resources Textures-Load.hlsl

Use poison instead of 0 for unused mip level
DeltaFile
+2-2clang/test/CodeGenHLSL/resources/Textures-Load.hlsl
+1-1clang/lib/CodeGen/CGHLSLBuiltins.cpp
+3-32 files

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

rwtexture-load
DeltaFile
+213-182clang/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
+13-2clang/lib/Sema/SemaHLSL.cpp
+2-0clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.h
+317-2111 files not shown
+318-2127 files

LLVM/project f8e4285clang/lib/Sema HLSLExternalSemaSource.cpp, clang/test/AST/HLSL Textures-vector-AST.hlsl Textures-scalar-AST.hlsl

[HLSL] Implement TextureCubeArray resource type (#218521)

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

This PR adds the TextureCubeArray type to HLSL.

A rather straight-forward change since TextureCube and array textures
were already implemented before.

There are a couple test changes to accomodate the combination of cube
with array textures.

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
+22-30clang/test/AST/HLSL/Textures-vector-AST.hlsl
+22-30clang/test/AST/HLSL/Textures-scalar-AST.hlsl
+27-9clang/lib/Sema/HLSLExternalSemaSource.cpp
+24-6clang/test/CodeGenHLSL/resources/Textures-default-explicit-binding.hlsl
+18-3clang/test/CodeGenHLSL/resources/Textures-SampleGrad.hlsl
+18-3clang/test/CodeGenHLSL/resources/Textures-SampleCmp.hlsl
+131-8120 files not shown
+279-8926 files

LLVM/project 373b646flang/test/Lower/OpenMP metadirective-loop.f90

Improve metadirective loop checks

Tie lastprivate guards and updates to their induction-variable
computations. Require the fallback SIMD linear clause to contain only the
expected variable.

Capture loop-bound and step producers in the dynamic and static collapse
checks. Require the last-iteration comparisons to use those values so the
tests reject internally consistent but semantically incorrect guards.
DeltaFile
+120-14flang/test/Lower/OpenMP/metadirective-loop.f90
+120-141 files

LLVM/project 542a324llvm/lib/Target/WebAssembly WebAssemblyInstrBulkMemory.td

[WebAssembly] Fix memory operand names for memory.copy in tablegen. NFC (#220115)

The first immediate is the destination memory index and the second is
the source memory index according to the WebAssembly specification and
`LowerMemcpy` in `WebAssemblyISelLowering.cpp`.
DeltaFile
+7-7llvm/lib/Target/WebAssembly/WebAssemblyInstrBulkMemory.td
+7-71 files

LLVM/project 4bb34eacompiler-rt/lib/sanitizer_common CMakeLists.txt sanitizer_new_operators.inc

[sanitizer_common] Add operator new chain-handling framework (#201151)

Groundwork for #196388

[sanitizer_common] Add operator new chain-handling framework

Implement the operator new wrapper machinery required by
[new.delete.single]/3+/4 in shared sanitizer_common files so every
sanitizer can reuse it (avoids ~130 lines of duplication).

sanitizer_new_handler.h provides three main templates in namespace
__sanitizer (plus a NORETURN InvokeOnExhausted wrapper used internally):

  * RunNewHandlerChain<Alloc>(alloc)
      Runs std::get_new_handler() in a loop until either the
      allocation succeeds or the chain is exhausted (returns nullptr).

  * NewImplThrowing<Alloc, OnExhausted>(alloc, on_exhausted)
      Throwing operator new: runs the chain; on exhaustion either

    [66 lines not shown]
DeltaFile
+122-0compiler-rt/lib/sanitizer_common/sanitizer_new_handler.h
+114-0compiler-rt/lib/sanitizer_common/sanitizer_new_operators.inc
+2-0compiler-rt/lib/sanitizer_common/CMakeLists.txt
+238-03 files

LLVM/project da8867ellvm/lib/Target/RISCV RISCVISelLowering.cpp, llvm/test/CodeGen/RISCV/rvv convert-from-arbitrary-fp.ll fixed-vector-convert-from-arbitrary-fp.ll

[RISCV] Lower CONVERT_FROM_ARBITRARY_FP of Float8E5M2 with Zvfofp8min
DeltaFile
+486-0llvm/test/CodeGen/RISCV/rvv/fixed-vector-convert-from-arbitrary-fp.ll
+54-0llvm/lib/Target/RISCV/RISCVISelLowering.cpp
+24-0llvm/test/CodeGen/RISCV/rvv/convert-from-arbitrary-fp.ll
+564-03 files

LLVM/project f487a5allvm/test/Transforms/LoopVectorize/RISCV reg-usage-maxbandwidth.ll tail-folding-reduction-cost.ll, llvm/test/Transforms/LoopVectorize/VPlan/RISCV vplan-vp-intrinsics-reduction.ll

[LV] Auto generate RISCV analysis tests. NFC (#219879)

This patch re-generate some analysis RISCV tests by automatic update
scripts to make tests easier to update.
DeltaFile
+209-171llvm/test/Transforms/LoopVectorize/VPlan/RISCV/vplan-vp-intrinsics-reduction.ll
+75-77llvm/test/Transforms/LoopVectorize/RISCV/reg-usage.ll
+14-11llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-reduction-cost.ll
+1-0llvm/test/Transforms/LoopVectorize/RISCV/reg-usage-maxbandwidth.ll
+299-2594 files

LLVM/project 576d63cclang/lib/Sema SemaOpenMP.cpp

One more place
DeltaFile
+3-2clang/lib/Sema/SemaOpenMP.cpp
+3-21 files

LLVM/project c9b3b35llvm/lib/ExecutionEngine ExecutionEngine.cpp, llvm/unittests/ExecutionEngine ExecutionEngineTest.cpp

formatting

Created using spr 1.3.7
DeltaFile
+2-2llvm/lib/ExecutionEngine/ExecutionEngine.cpp
+1-0llvm/unittests/ExecutionEngine/ExecutionEngineTest.cpp
+3-22 files

LLVM/project 49a3eb2llvm/unittests/ExecutionEngine ExecutionEngineTest.cpp

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.7

[skip ci]
DeltaFile
+1-1llvm/unittests/ExecutionEngine/ExecutionEngineTest.cpp
+1-11 files

LLVM/project f162d3bllvm/unittests/ExecutionEngine ExecutionEngineTest.cpp

formatting

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

LLVM/project 56ba19bllvm/unittests/ExecutionEngine ExecutionEngineTest.cpp

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.7

[skip ci]
DeltaFile
+1-1llvm/unittests/ExecutionEngine/ExecutionEngineTest.cpp
+1-11 files

LLVM/project 05c9d36llvm/unittests/ExecutionEngine ExecutionEngineTest.cpp

formatting

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

LLVM/project 9e1c789clang/lib/ScalableStaticAnalysis/Analyses/EntityPointerLevel EntityPointerLevel.cpp, clang/lib/ScalableStaticAnalysis/SourceTransformation/Transformations CppBoundedBuffers.cpp

Reland "[SSAF][clang-reforge] Add end-to-end clang-reforge tests (#219085)"

This reverts commit 459dffa2ef4af2e3fd96ff35a235a301bdeeb32c

The new test added in the original PR uses 'clang-apply-replacements'
conditionally now. It checks if the tool is available before using it.
When the tool is not there, it only checks against replacement offsets
and texts.

Final step of:
rdar://185840466
DeltaFile
+672-0clang/test/Analysis/Scalable/source-edit-generation/cpp-bounded-buffers-replacements.cpp
+25-9clang/lib/ScalableStaticAnalysis/SourceTransformation/Transformations/CppBoundedBuffers.cpp
+22-4clang/unittests/ScalableStaticAnalysis/SourceTransformation/CppBoundedBuffersTest.cpp
+8-0clang/test/Analysis/Scalable/source-edit-generation/lit.local.cfg
+1-1clang/lib/ScalableStaticAnalysis/Analyses/EntityPointerLevel/EntityPointerLevel.cpp
+728-145 files

LLVM/project 5aae245llvm/lib/Transforms/Vectorize VPlanUtils.cpp VPlanPatternMatch.h, llvm/test/Transforms/LoopVectorize/VPlan vplan-scev-address-idioms.ll

[VPlan] Compute SCEV for ptrtoaddr. (#219848)

SCEV models ptrtoaddr via getPtrToAddrExpr. Mirror that in
getSCEVExprForVPValue. ptrtoint stays unmodelled, as createSCEV returns
an unknown for it.

Adds m_PtrToAddr to VPlanPatternMatch.
DeltaFile
+5-4llvm/test/Transforms/LoopVectorize/VPlan/vplan-scev-address-idioms.ll
+6-0llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
+5-0llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
+16-43 files