LLVM/project f067372llvm/include/llvm/Transforms/IPO Instrumentor.h, llvm/lib/Transforms/IPO Instrumentor.cpp

[Instrumentor] Introduce BasePointerIO to communicate base pointer information

Loads, stores, and later probably calls, can request a base pointer info
object from the user runtime. This object is queried right after the
base pointer of the operation is defined, and then passed to the
pre/post runtime calls of the loads and stores. This allows users to
inspect pointers early and once, but provide the analysis results to all
operations that might be executed in loops. A potential use case is to
lookup the size and start of the underlying object and then provide
those to the access runtime calls for in-bounds checking.
DeltaFile
+112-0llvm/lib/Transforms/IPO/Instrumentor.cpp
+63-1llvm/include/llvm/Transforms/IPO/Instrumentor.h
+17-14llvm/test/Instrumentation/Instrumentor/module_and_globals.ll
+22-0llvm/test/Instrumentation/Instrumentor/default_config.json
+3-2llvm/test/Instrumentation/Instrumentor/alloca_and_function.ll
+217-175 files

LLVM/project e43756cllvm/include/llvm/Transforms/IPO Instrumentor.h, llvm/lib/Transforms/IPO Instrumentor.cpp

[Instrumentor] Add Cast instruction instrumentation support

We now allow to have instrumentation opportunities for many instructions
(=opcodes) to bundle common classes together. Users can use filters on
the opcode, type-id, and size to statically select what they are
interested in.
DeltaFile
+293-0llvm/test/Instrumentation/Instrumentor/cast.ll
+131-62llvm/include/llvm/Transforms/IPO/Instrumentor.h
+114-7llvm/lib/Transforms/IPO/Instrumentor.cpp
+117-0llvm/test/Instrumentation/Instrumentor/cast_filter.ll
+48-0llvm/test/Instrumentation/Instrumentor/cast_config.json
+42-1llvm/test/Instrumentation/Instrumentor/default_config.json
+745-702 files not shown
+811-708 files

LLVM/project 46c8c1ellvm/lib/Transforms/AggressiveInstCombine AggressiveInstCombine.cpp, llvm/test/Transforms/AggressiveInstCombine popcount.ll

[AggressiveInstCombine] Factor common code out of tryToRecognizePopCount and tryToRecognizePopCount2n3. (#199440)

Both of these patterns end with code to compute the popcount of each
byte.

This isn't NFC because tryToRecognizePopCount2n3 handled an alternate
pattern for one of the steps and tryToRecognizePopCount used
MaskedValueIsZero. The shared code applies these differences to both
cases. New tests have been added.

Assisted-by: Claude Sonnet 4.6

---------

Co-authored-by: Min-Yih Hsu <min at myhsu.dev>
DeltaFile
+66-79llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
+57-0llvm/test/Transforms/AggressiveInstCombine/popcount.ll
+123-792 files

LLVM/project e7ea47d.github/workflows premerge.yaml

worflows/premerge: Remove template expansion (#200068)

https://github.com/llvm/llvm-project/security/code-scanning/1686
https://github.com/llvm/llvm-project/security/code-scanning/1687
https://github.com/llvm/llvm-project/security/code-scanning/1688
https://github.com/llvm/llvm-project/security/code-scanning/1689
DeltaFile
+5-1.github/workflows/premerge.yaml
+5-11 files

LLVM/project 3df7e37llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer DependencyGraph.h, llvm/lib/Transforms/Vectorize/SandboxVectorizer DependencyGraph.cpp

[SandboxVec][DAG] Implement missing API for successors (#195301)

This patch implements the missing API for accessing the DAG successors.
This includes the successor iterators and DAG Node member functions like
succs(). These are mirroring the existing predecessor API.
DeltaFile
+77-0llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.h
+58-0llvm/unittests/Transforms/Vectorize/SandboxVectorizer/DependencyGraphTest.cpp
+57-0llvm/lib/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.cpp
+192-03 files

LLVM/project 3769bd6llvm/lib/Target/RISCV RISCVMoveMerger.cpp

[RISCV] Use std::optional::operator* instead of value(). NFC (#200235)
DeltaFile
+6-6llvm/lib/Target/RISCV/RISCVMoveMerger.cpp
+6-61 files

LLVM/project f089890clang-tools-extra/docs ReleaseNotes.rst, clang-tools-extra/test/clang-tidy/checkers/misc const-correctness-pointer-as-values.cpp const-correctness-parameters.cpp

[clang-tidy] Fixes false positive with a non-const method on a pointer (#188844)

Fixes

#56777
#58098
#64955

Non-const member functions don't mutate the pointer but the pointee.
Pointee mutations follow different path within the analyzer, so should
not be effected.

Edit to old tests were needed. Adds a dedicated tests besides those.
DeltaFile
+16-0clang/unittests/Analysis/ExprMutationAnalyzerTest.cpp
+11-0clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-pointer-as-values.cpp
+5-2clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-parameters.cpp
+6-1clang/lib/Analysis/ExprMutationAnalyzer.cpp
+4-0clang-tools-extra/docs/ReleaseNotes.rst
+42-35 files

LLVM/project 4df7470flang/lib/Optimizer/Builder CUDAIntrinsicCall.cpp, flang/test/Lower/CUDA cuda-device-proc.cuf

[MLIR][NVVM] Split nvvm.barrier into nvvm.barrier and nvvm.barrier.reduction (#199404)
DeltaFile
+51-26mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
+24-42mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
+20-2mlir/test/Dialect/LLVMIR/nvvm.mlir
+13-6mlir/test/Target/LLVMIR/nvvm/barrier.mlir
+9-9flang/lib/Optimizer/Builder/CUDAIntrinsicCall.cpp
+9-9flang/test/Lower/CUDA/cuda-device-proc.cuf
+126-943 files not shown
+131-1079 files

LLVM/project 060ef6allvm/utils/lit/lit LitConfig.py, llvm/utils/lit/tests lit-config-readonly.py

[lit] Enforce read-only behavior on lit_config.maxIndividualTestTime (#198193)

Enforce read-only behavior on lit_config.maxIndividualTestTime after
initialization to prevent test suites from modifying it globally, and
add a core lit test to verify this behavior.

PR Stack:
* https://github.com/llvm/llvm-project/pull/198192
* https://github.com/llvm/llvm-project/pull/199886
* https://github.com/llvm/llvm-project/pull/199996
* ➤ https://github.com/llvm/llvm-project/pull/198193

Assisted-by: Gemini
DeltaFile
+11-0llvm/utils/lit/tests/Inputs/lit-config-readonly/lit.cfg
+5-0llvm/utils/lit/lit/LitConfig.py
+4-0llvm/utils/lit/tests/lit-config-readonly.py
+20-03 files

LLVM/project 985b242clang/include/clang/Options Options.td, clang/lib/Driver/ToolChains Clang.cpp

address comments
DeltaFile
+2-2clang/include/clang/Options/Options.td
+1-1clang/lib/Driver/ToolChains/Clang.cpp
+3-32 files

LLVM/project c285c5bclang/docs LanguageExtensions.rst, clang/include/clang/Options Options.td

Enable driver changes for fexec-charset
DeltaFile
+14-6clang/lib/Driver/ToolChains/Clang.cpp
+14-4clang/include/clang/Options/Options.td
+11-3clang/test/Driver/clang_f_opts.c
+10-0llvm/lib/Support/TextEncoding.cpp
+4-3clang/test/Driver/cl-options.c
+3-3clang/docs/LanguageExtensions.rst
+56-193 files not shown
+60-199 files

LLVM/project 862deb2clang/include/clang/Basic TargetInfo.h, clang/lib/AST ASTContext.cpp

convert to exec-charset inside getPredefinedStringLiteralFromCache, test __builtin_FILE()
DeltaFile
+10-0clang/lib/AST/ASTContext.cpp
+3-2clang/lib/Lex/TextEncodingConfig.cpp
+4-0clang/test/CodeGen/systemz-charset.cpp
+3-0clang/lib/Basic/TargetInfo.cpp
+2-0clang/include/clang/Basic/TargetInfo.h
+22-25 files

LLVM/project 6204c6bclang/include/clang/Lex TextEncodingConfig.h, clang/lib/Lex TextEncodingConfig.cpp

fix CI
DeltaFile
+2-2clang/lib/Lex/TextEncodingConfig.cpp
+1-0clang/include/clang/Lex/TextEncodingConfig.h
+3-22 files

LLVM/project 70439f1clang/lib/AST PrintfFormatString.cpp FormatString.cpp, clang/lib/Sema SemaChecking.cpp

Add format string handling
DeltaFile
+58-31clang/lib/AST/PrintfFormatString.cpp
+46-40clang/lib/AST/FormatString.cpp
+33-21clang/lib/Sema/SemaChecking.cpp
+25-11clang/lib/AST/FormatStringParsing.h
+15-8clang/lib/AST/ScanfFormatString.cpp
+19-0llvm/lib/Support/TextEncoding.cpp
+196-1117 files not shown
+232-11913 files

LLVM/project 0b8a987clang/lib/AST ASTContext.cpp

Convert the key before cache lookup to prevent encoding differences
DeltaFile
+9-9clang/lib/AST/ASTContext.cpp
+9-91 files

LLVM/project 36b170dclang/lib/Sema SemaChecking.cpp

do not convert character by character
DeltaFile
+6-4clang/lib/Sema/SemaChecking.cpp
+6-41 files

LLVM/project 447a251clang/test/CodeGen systemz-charset.c

fix CI
DeltaFile
+2-0clang/test/CodeGen/systemz-charset.c
+2-01 files

LLVM/project 721c874clang/include/clang/Sema Sema.h

Fix build failure
DeltaFile
+1-0clang/include/clang/Sema/Sema.h
+1-01 files

LLVM/project 72dadd9clang/include/clang/AST Expr.h, clang/lib/AST Expr.cpp

fix CI
DeltaFile
+14-0clang/lib/AST/Expr.cpp
+6-0clang/include/clang/AST/Expr.h
+3-2clang/lib/Sema/SemaExpr.cpp
+0-1clang/lib/Parse/ParseDecl.cpp
+23-34 files

LLVM/project 202e047clang/include/clang/Sema Sema.h

Remove old include
DeltaFile
+0-1clang/include/clang/Sema/Sema.h
+0-11 files

LLVM/project cfacbd0clang/lib/Parse ParseDecl.cpp ParseExpr.cpp, clang/lib/Sema SemaExpr.cpp

add ParserConversionAction, do not translate unevaluated strings
DeltaFile
+15-0clang/test/CodeGen/systemz-charset.c
+6-5clang/lib/Sema/SemaExpr.cpp
+10-0clang/lib/Parse/ParseDecl.cpp
+8-0clang/test/CodeGen/systemz-charset-diag.cpp
+3-3clang/lib/Parse/ParseExpr.cpp
+4-0clang/lib/Parse/Parser.cpp
+46-83 files not shown
+52-99 files

LLVM/project 9838854llvm/lib/Target/DirectX DXILPrettyPrinter.cpp

Make sort comparator accept const values
DeltaFile
+5-4llvm/lib/Target/DirectX/DXILPrettyPrinter.cpp
+5-41 files

LLVM/project 0344746clang/test/CodeGen systemz-charset-diag.cpp

Add test coverage for conversion errors in string literals
DeltaFile
+3-0clang/test/CodeGen/systemz-charset-diag.cpp
+3-01 files

LLVM/project 9190250llvm/lib/Target/DirectX DXILPrettyPrinter.cpp, llvm/test/CodeGen/DirectX debug-info.ll

Update after #197478
DeltaFile
+9-0llvm/lib/Target/DirectX/DXILPrettyPrinter.cpp
+6-3llvm/test/CodeGen/DirectX/debug-info.ll
+15-32 files

LLVM/project ac574a1llvm/test/CodeGen/AMDGPU amdgcn.bitcast.1024bit.ll accvgpr-spill-scc-clobber.mir

Merge branch 'users/hvdijk/aaw-emitmdnodeannot' into users/hvdijk/dxilprettyprinter-ir-printing
DeltaFile
+7,612-6,640llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+8,268-12llvm/test/CodeGen/AMDGPU/accvgpr-spill-scc-clobber.mir
+2,501-2,502llvm/test/CodeGen/AMDGPU/gfx-callable-argument-types.ll
+2,151-2,154llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.960bit.ll
+1,981-1,979llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
+1,802-1,805llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.896bit.ll
+24,315-15,0923,557 files not shown
+159,617-85,7893,563 files

LLVM/project 048902dllvm/test/CodeGen/AMDGPU amdgcn.bitcast.1024bit.ll accvgpr-spill-scc-clobber.mir

Merge branch 'main' into users/hvdijk/aaw-emitmdnodeannot
DeltaFile
+7,612-6,640llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+8,268-12llvm/test/CodeGen/AMDGPU/accvgpr-spill-scc-clobber.mir
+2,501-2,502llvm/test/CodeGen/AMDGPU/gfx-callable-argument-types.ll
+2,151-2,154llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.960bit.ll
+1,981-1,979llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
+1,802-1,805llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.896bit.ll
+24,315-15,0923,557 files not shown
+159,617-85,7893,563 files

LLVM/project 4add259llvm/test/CodeGen/AMDGPU/GlobalISel legalize-merge-values-build-vector-s16.mir select-merge-values-build-vector-s16.mir

Update MIR tests
DeltaFile
+78-4llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-merge-values-build-vector-s16.mir
+70-4llvm/test/CodeGen/AMDGPU/GlobalISel/select-merge-values-build-vector-s16.mir
+148-82 files

LLVM/project 27d70f8llvm/lib/Target/AMDGPU AMDGPUInstructionSelector.cpp AMDGPURegBankLegalizeRules.cpp, llvm/test/CodeGen/AMDGPU/GlobalISel fshl.ll fshr.ll

Reuse shareable code from G_BUILD_VECTOR, get vgprs working, refactor rules
DeltaFile
+110-107llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
+67-80llvm/test/CodeGen/AMDGPU/GlobalISel/fshl.ll
+66-79llvm/test/CodeGen/AMDGPU/GlobalISel/fshr.ll
+6-14llvm/test/CodeGen/AMDGPU/GlobalISel/andn2.ll
+6-14llvm/test/CodeGen/AMDGPU/GlobalISel/orn2.ll
+2-4llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
+257-2981 files not shown
+259-2987 files

LLVM/project d69c732.github/workflows hlsl-test-all.yaml

CI: ignore errors on HLSL Publish step (#200240)

This step seems to fail consistently on the remote endpoint for large
PRs.

Example:
https://github.com/llvm/llvm-project/actions/runs/26589632748/job/78344693871?pr=199528
DeltaFile
+1-0.github/workflows/hlsl-test-all.yaml
+1-01 files

LLVM/project 5f49cffllvm/test/CodeGen/AArch64 and_xor_shift.ll

[AArch64] Add tests for and+xor+shift. NFC (#200250)

This adds test coverage for #199813. Hopefully this will prevent gisel
from
getting worse.
DeltaFile
+59-0llvm/test/CodeGen/AArch64/and_xor_shift.ll
+59-01 files