LLVM/project 73cfa6bllvm/lib/Transforms/Utils SCCPSolver.cpp, llvm/test/Transforms/SCCP vector-refinement.ll bitcast-vector-refinement.l.ll

[SCCP] Avoid markConstant() in more places (#206494)

This extends the fix from 991455e69e93c0ce88e927eddd28a9ab34d1f8b2 to
two more places. In both of these, we can run into the same situation
where we first mark as constant with a vector that has poison values,
and then again without poison elements, resulting in an assertion
failure.

(An alternative would be to change markConstant() to allow calls with
different constant if the new constant is a vector that only refines
some previously poison elements?)
DeltaFile
+83-0llvm/test/Transforms/SCCP/vector-refinement.ll
+0-28llvm/test/Transforms/SCCP/bitcast-vector-refinement.l.ll
+5-3llvm/lib/Transforms/Utils/SCCPSolver.cpp
+88-313 files

LLVM/project a62d8e0clang/lib/AST/ByteCode Context.cpp, clang/test/AST/ByteCode cxx23.cpp

[clang][bytecode] Reject functions with invalid parameters (#207157)

They will just cause problems later when calling them.
DeltaFile
+11-2clang/test/AST/ByteCode/cxx23.cpp
+2-1clang/lib/AST/ByteCode/Context.cpp
+13-32 files

LLVM/project 684fcd6llvm/lib/Transforms/Vectorize VPlan.cpp LoopVectorize.cpp

Patch 4: [LV][NFC]: Filter between vplans by tail-folding status
DeltaFile
+33-4llvm/lib/Transforms/Vectorize/VPlan.cpp
+16-8llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+2-5llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
+2-0llvm/lib/Transforms/Vectorize/VPlan.h
+53-174 files

LLVM/project 9402849llvm/lib/Transforms/Vectorize LoopVectorize.cpp LoopVectorizationPlanner.h, llvm/test/Transforms/LoopVectorize fold-epilogue-tail.ll

Patch 3: [LV] Add extra CM instace for EpilogueTF
DeltaFile
+87-29llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+47-0llvm/test/Transforms/LoopVectorize/AArch64/fold-epilogue-tail-costs.ll
+23-5llvm/test/Transforms/LoopVectorize/fold-epilogue-tail.ll
+5-5llvm/test/Transforms/LoopVectorize/AArch64/fully-unrolled-cost.ll
+5-3llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
+167-425 files

LLVM/project 9aa45afclang/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 2301a08clang/include/clang/Options Options.td, clang/lib/Driver/ToolChains Clang.cpp

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

LLVM/project 8dd304aclang/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
+233-12013 files

LLVM/project 84eec8aclang/lib/Lex TextEncoding.cpp, clang/lib/Sema SemaChecking.cpp

do not convert character by character
DeltaFile
+6-4clang/lib/Sema/SemaChecking.cpp
+1-1clang/lib/Lex/TextEncoding.cpp
+7-52 files

LLVM/project c1bf213clang/include/clang/Lex TextEncoding.h, clang/lib/Lex TextEncoding.cpp

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

LLVM/project 164e5c5clang/lib/AST ASTContext.cpp, clang/lib/Lex TextEncoding.cpp

Convert the key before cache lookup to prevent encoding differences
DeltaFile
+9-9clang/lib/AST/ASTContext.cpp
+2-2clang/lib/Lex/TextEncoding.cpp
+11-112 files

LLVM/project 170f328clang/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
+4-0clang/test/CodeGen/systemz-charset.cpp
+2-1clang/lib/Lex/TextEncoding.cpp
+3-0clang/lib/Basic/TargetInfo.cpp
+2-0clang/include/clang/Basic/TargetInfo.h
+21-15 files

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

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

LLVM/project 8bc009fclang/include/clang/Sema Sema.h

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

LLVM/project 6bdcf18clang/test/CodeGen systemz-charset.c

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

LLVM/project 18b6ebbclang/include/clang/Sema Sema.h

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

LLVM/project 47616e8clang/include/clang/Sema Sema.h, clang/lib/Parse Parser.cpp ParseDecl.cpp

fix CI
DeltaFile
+0-7clang/test/CodeGen/systemz-charset.c
+2-2clang/include/clang/Sema/Sema.h
+1-1clang/lib/Parse/Parser.cpp
+0-1clang/lib/Parse/ParseDecl.cpp
+3-114 files

LLVM/project a470093clang/lib/Lex LiteralSupport.cpp, clang/test/Lexer string-literal-encoding.c

revert change to check for legal utf8, add fexec-charset testcase to clang/test/Lexer/string-literal-encoding.c
DeltaFile
+16-19clang/lib/Lex/LiteralSupport.cpp
+1-0clang/test/Lexer/string-literal-encoding.c
+17-192 files

LLVM/project 329674fllvm/lib/Target/AArch64 AArch64TargetTransformInfo.cpp, llvm/test/Transforms/InstCombine/AArch64 sve-pairwise-add-long.ll

[AArch64][InstCombine] Combine add with [su]adalp intrinsics (#204796)

It can happen that the [su]adalp uses a zero accumulator and its result
is used as an operand into an ADD instruction. We can fold those.

add(adalp(%pred, zeroinitializer, %in), %acc)
-->
adalp(%pred, %acc, %in)
DeltaFile
+96-0llvm/test/Transforms/InstCombine/AArch64/sve-pairwise-add-long.ll
+28-0llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
+124-02 files

LLVM/project e08041c.github/workflows release-documentation.yml

Upload man pages with attestation (#204852)

This first uploads the man pages as a workflow artifact. Then in another
job which requires more permissions than we want to give to the build
job, the man pages are uploaded as a release asset with attestation.
DeltaFile
+62-20.github/workflows/release-documentation.yml
+62-201 files

LLVM/project 358e816llvm/include/llvm/MC MCRegisterInfo.h

remove copy constructor (added for testing, valid in C++17, but breaks C++20...)

Created using spr 1.3.8-wip
DeltaFile
+0-2llvm/include/llvm/MC/MCRegisterInfo.h
+0-21 files

LLVM/project ce2a9c3llvm/test/CodeGen/X86 haddsub-shuf.ll haddsub.ll, llvm/test/Transforms/PhaseOrdering/X86 hadd.ll hsub.ll

[X86] Sync scalar hadd/hsub tests between the middle-end and backend (#207163)

Update some more PhaseOrdering/CodeGen test pairs to ensure we're testing what the backend will actually see

Help towards #143000
DeltaFile
+63-74llvm/test/CodeGen/X86/haddsub-shuf.ll
+127-0llvm/test/Transforms/PhaseOrdering/X86/hadd.ll
+127-0llvm/test/Transforms/PhaseOrdering/X86/hsub.ll
+5-10llvm/test/CodeGen/X86/haddsub.ll
+322-844 files

LLVM/project b42a654llvm/include/llvm/CodeGen TargetRegisterInfo.h, llvm/include/llvm/MC MCRegisterInfo.h

[spr] initial version

Created using spr 1.3.8-wip
DeltaFile
+146-126llvm/utils/TableGen/RegisterInfoEmitter.cpp
+4-157llvm/include/llvm/CodeGen/TargetRegisterInfo.h
+111-1llvm/include/llvm/MC/MCRegisterInfo.h
+5-14llvm/test/TableGen/RegisterInfoEmitter-inherit-properties.td
+4-8llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
+5-4llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
+275-31042 files not shown
+361-36748 files

LLVM/project 43082d6clang/docs ReleaseNotes.md, clang/include/clang/Basic DiagnosticDriverKinds.td

[analyzer] Rename z3 constraint manager backend to unsupported-z3 (#205370)

The Z3 constraint manager backend (selected via
-analyzer-constraints=z3) is unmaintained and known to crash on
real-world input. Rename the user-facing flag to unsupported-z3 and
reword its description so users see up front that the backend is
unsupported and crash-prone -- patches welcome, crash reports are not.

Assisted-By: claude
DeltaFile
+3-3clang/test/Analysis/missing-z3-nocrash.c
+2-2clang/include/clang/Basic/DiagnosticDriverKinds.td
+3-1clang/include/clang/StaticAnalyzer/Core/Analyses.def
+4-0clang/docs/ReleaseNotes.md
+1-1clang/test/Analysis/z3/z3-unarysymexpr.c
+1-1clang/test/Analysis/z3/D83660.c
+14-81 files not shown
+15-97 files

LLVM/project e8e379elld/COFF Driver.cpp InputFiles.cpp

[LLD][COFF] Factor out addObjectFile (NFC) (#206811)

Avoid parsing the input COFF file twice: first, implicitly, in
findBitcodeInObject and later when creating the ObjFile instance. Create
the COFFObjectFile earlier and use it for both the findBitcodeInObject
call and ObjFile creation. It's also preparation for handling hybrid
ARM64X object files.
DeltaFile
+17-11lld/COFF/Driver.cpp
+11-6lld/COFF/InputFiles.cpp
+9-1lld/COFF/InputFiles.h
+4-0lld/COFF/Driver.h
+41-184 files

LLVM/project ed0a0cfllvm/lib/Target/ARM ARMFrameLowering.cpp

Remove braces
DeltaFile
+6-9llvm/lib/Target/ARM/ARMFrameLowering.cpp
+6-91 files

LLVM/project 82c7a98llvm/lib/Transforms/Vectorize VPlan.cpp LoopVectorize.cpp

Patch 4: [LV][NFC]: Filter between vplans by tail-folding status
DeltaFile
+33-4llvm/lib/Transforms/Vectorize/VPlan.cpp
+16-8llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+2-5llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
+2-0llvm/lib/Transforms/Vectorize/VPlan.h
+53-174 files

LLVM/project 48a0046offload/unittests/OffloadAPI/common Environment.cpp

[offload] check olInit and olShutDown error in unittests initialisation (#206764)

if olInit fails, it leaves liboffload in an inconsistent state (proper
cleanup will be addressed in a follow-up patch). This can lead to
seemingly unrelated test failures (e.g. the host device is missing).
This patch makes such tests fail immediately with a clear error message.
DeltaFile
+17-2offload/unittests/OffloadAPI/common/Environment.cpp
+17-21 files

LLVM/project f3ac7f4libcxx/test/libcxx/strings/basic.string/string.modifiers assert.append.pass.cpp assert.assign.pass.cpp

[libc++] Add assert test for string assign/append
DeltaFile
+39-0libcxx/test/libcxx/strings/basic.string/string.modifiers/assert.append.pass.cpp
+39-0libcxx/test/libcxx/strings/basic.string/string.modifiers/assert.assign.pass.cpp
+78-02 files

LLVM/project 6bfa003llvm/lib/Transforms/Vectorize LoopVectorize.cpp LoopVectorizationPlanner.h, llvm/test/Transforms/LoopVectorize fold-epilogue-tail.ll

Patch 3: [LV] Add extra CM instace for EpilogueTF
DeltaFile
+87-29llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+47-0llvm/test/Transforms/LoopVectorize/AArch64/fold-epilogue-tail-costs.ll
+23-5llvm/test/Transforms/LoopVectorize/fold-epilogue-tail.ll
+5-5llvm/test/Transforms/LoopVectorize/AArch64/fully-unrolled-cost.ll
+5-3llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
+167-425 files

LLVM/project 19e3dffllvm/lib/Transforms/Vectorize LoopVectorizationPlanner.h LoopVectorize.cpp

Patch 2: [LV][NFCI] Parameterize IAI instance for the Planner
DeltaFile
+3-7llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
+4-3llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+7-102 files