LLVM/project 1d73e32llvm/test/CodeGen/AArch64/GlobalISel postlegalizer-lowering-shuffle-splat.mir postlegalizer-lowering-adjust-icmp-imm.mir

[AArch64][GlobalISel] Update scalar types in postlegalizer tests. NFC (#208620)
DeltaFile
+173-173llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-shuffle-splat.mir
+160-160llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-adjust-icmp-imm.mir
+112-112llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-combiner-and-trivial-mask.mir
+108-108llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-ext.mir
+108-108llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-combiner-constant-fold.mir
+87-87llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-shuf-to-ins.mir
+748-74825 files not shown
+1,565-1,58831 files

LLVM/project bdc6580llvm/docs conf.py LibFuzzer.md, llvm/docs/_static custom.css copybutton.js

Revert "[Docs] Migrate LLVM docs to furo" (#208619)

Reverts llvm/llvm-project#184440

Furo seems to parse the entire navtree HTML blob for every page, and the
navtree is large, so now doc building takes > 25min. I wasn't able to
fix forward, so let's roll back for now.

Agent analysis here:
https://gist.github.com/rnk/5e26e09fbf1f51a501e6ab4139d048ad
DeltaFile
+0-62llvm/docs/_static/custom.css
+0-56llvm/docs/_static/copybutton.js
+0-39llvm/docs/_static/copybutton.css
+15-16llvm/docs/conf.py
+16-4llvm/docs/LibFuzzer.md
+16-0llvm/docs/ReleaseProcess.rst
+47-177154 files not shown
+553-194160 files

LLVM/project d0339aeclang/lib/AST/ByteCode Program.cpp

[clang][bytecode][NFC] Simplify redecl loop (#208477)

Avoid the `Redecl == VD` iteration.
DeltaFile
+11-12clang/lib/AST/ByteCode/Program.cpp
+11-121 files

LLVM/project f145b27llvm/test/CodeGen/AMDGPU eliminate-frame-index-flat-scratch-svs.mir

[NFC][AMDGPU] Add tests for eliminateFrameIndex

Add MIR tests to cover all instances where a Vgpr needs to be scavenged
and used due to Sgpr scarcity, during elimination of frame indices.
DeltaFile
+216-0llvm/test/CodeGen/AMDGPU/eliminate-frame-index-flat-scratch-svs.mir
+216-01 files

LLVM/project b34c5dfflang/lib/Lower/OpenMP OpenMP.cpp, mlir/lib/Dialect/OpenMP/IR OpenMPDialect.cpp

[flang][OpenMP] Lower target in_reduction for host fallback

Enable host-fallback lowering for target in_reduction in Flang and MLIR OpenMP translation.

Model target in_reduction through the matching map entry, force address-preserving implicit mapping for Flang in_reduction list items, and emit the host-side task-reduction lookup with __kmpc_task_reduction_get_th_data. The runtime entry point takes and returns a generic, default-address-space pointer, so normalize a non-default-address-space captured pointer to the generic address space before the call and cast the returned private pointer back to the map block argument's address space, mirroring the in_reduction handling on omp.taskloop. On the target device, in_reduction is handled as a regular map(tofrom) variable. The byref modifier, two-argument initializers, cleanup regions, and the remaining Flang COMMON/EQUIVALENCE/privatized-variable cases continue to be diagnosed.

Add Flang lowering, MLIR verifier/translation, and LLVM IR tests for the supported host-fallback path, including a non-default-address-space case, and the remaining unsupported cases.
DeltaFile
+147-14mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
+134-21mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
+107-0mlir/test/Target/LLVMIR/openmp-target-in-reduction.mlir
+88-15flang/lib/Lower/OpenMP/OpenMP.cpp
+88-3mlir/test/Target/LLVMIR/openmp-todo.mlir
+85-0mlir/test/Dialect/OpenMP/invalid.mlir
+649-5314 files not shown
+1,059-7920 files

LLVM/project d3cfebbllvm/lib/Target/X86 X86.td, llvm/test/Transforms/Inline/X86 inline-target-cpu-i686.ll inline-target-cpu-x86_64.ll

[X86][Inline] Don't inline callee with cx16 if caller is without cx16 (#187505)

closes https://github.com/llvm/llvm-project/issues/187503
DeltaFile
+1-2llvm/lib/Target/X86/X86.td
+1-1llvm/test/Transforms/Inline/X86/inline-target-cpu-i686.ll
+1-1llvm/test/Transforms/Inline/X86/inline-target-cpu-x86_64.ll
+3-43 files

LLVM/project 54627d8llvm/lib/Target/RISCV RISCVISelLowering.cpp RISCVInstrInfoP.td, llvm/test/CodeGen/RISCV rvp-zip.ll

[RISCV][P-ext] Improve the codegen for pzip (#208479)

This patch recognizes interleaved shuffle (as packed zip intrinsics use)
and selects the corresponding instructions.
DeltaFile
+4-34llvm/test/CodeGen/RISCV/rvp-zip.ll
+31-0llvm/lib/Target/RISCV/RISCVISelLowering.cpp
+21-0llvm/lib/Target/RISCV/RISCVInstrInfoP.td
+56-343 files

LLVM/project 43e98b2flang/lib/Semantics resolve-names.cpp, flang/test/Driver bbc-implicit-use-module.f90

[flang] Do not implicitly use module when processing the module (#208582)

https://github.com/llvm/llvm-project/pull/207824 Added ability to use
implicitly a module. The use should not happen while processing the
module used implicitly.
DeltaFile
+46-3flang/lib/Semantics/resolve-names.cpp
+21-1flang/tools/bbc/bbc.cpp
+18-2flang/test/Driver/bbc-implicit-use-module.f90
+85-63 files

LLVM/project 089c9c1clang/include/clang/Options Options.td, clang/test/CodeGen builtin-cpu-supports-all.c target-builtin-noerror.c

[clang] Add -mavx512bmm flag (#208520)

https://github.com/llvm/llvm-project/pull/182556 missed the addition of
the -mavx512bmm flag
DeltaFile
+9-0clang/test/Preprocessor/x86_target_features.c
+5-0clang/test/CodeGen/builtin-cpu-supports-all.c
+5-0clang/test/Driver/x86-target-features.c
+2-0clang/include/clang/Options/Options.td
+1-0clang/test/CodeGen/target-builtin-noerror.c
+22-05 files

LLVM/project d6bbfb6llvm/include/llvm/IR Instructions.h, llvm/lib/AsmParser LLParser.cpp

Update for comment
DeltaFile
+19-10llvm/unittests/IR/VerifierTest.cpp
+5-12llvm/lib/IR/Instructions.cpp
+4-7llvm/include/llvm/IR/Instructions.h
+5-3llvm/lib/Bitcode/Reader/BitcodeReader.cpp
+3-2llvm/lib/AsmParser/LLParser.cpp
+36-345 files

LLVM/project 10b965fclang/lib/Frontend ASTUnit.cpp, clang/unittests/Frontend ASTUnitTest.cpp

[Clang] ASTUnit should use the CompilerInstance's CodeGenOptions (#195338)

Currently, `ASTUnit::LoadFromCompilerInvocation()` just calls the
constructor of `ASTUnit`, which default-constructs a `CodeGenOptions`
instance. The options from the `CompilerInstance` are never actually
saved in the `ASTUnit`. As a result, serialising the `ASTUnit` ends up
serialising the default-constructed `CodeGenOptions` rather than the
_actual_ `CodeGenOptions`.

This is problematic if you attempt to do the following:
1. Call e.g. `buildASTFromCodeWithArgs()` to build an `ASTUnit`
2. Serialise that `ASTUnit`.
3. Call e.g. `buildASTFromCodeWithArgs()` again with the exact same
arguments and add use the first `ASTUnit` as a PCH using `-include-pch`.

This causes Clang to error because the `CodeGenOptions` we deserialised
for the first `ASTUnit` (the default-constructed ones) are incompatible
with the `CodeGenOptions` implicitly created for the second TU (which
were created by the `CompilerInstance` and potentially modified due to

    [4 lines not shown]
DeltaFile
+40-2clang/unittests/Frontend/ASTUnitTest.cpp
+1-0clang/lib/Frontend/ASTUnit.cpp
+41-22 files

LLVM/project d92d3b4clang/include/clang/Basic DiagnosticSemaKinds.td, clang/include/clang/Sema ScopeInfo.h

[Clang] [C++26] Expansion Statements (Part 9)
DeltaFile
+135-0clang/test/SemaCXX/cxx2c-expansion-stmts-control-flow.cpp
+38-9clang/lib/Sema/SemaLookup.cpp
+28-2clang/lib/Sema/SemaStmt.cpp
+10-2clang/lib/Parse/ParseStmt.cpp
+7-2clang/include/clang/Sema/ScopeInfo.h
+6-0clang/include/clang/Basic/DiagnosticSemaKinds.td
+224-151 files not shown
+228-177 files

LLVM/project 9065ceeclang/include/clang/Basic DiagnosticSemaKinds.td, clang/include/clang/Options Options.td

[Clang] [C++26] Expansion Statements (Part 10)
DeltaFile
+73-0clang/test/SemaCXX/cxx2c-expansion-stmts-limit.cpp
+18-0clang/lib/Sema/SemaExpand.cpp
+9-0clang/test/SemaCXX/cxx2c-fexpansion-statements.cpp
+4-0clang/include/clang/Options/Options.td
+4-0clang/include/clang/Basic/DiagnosticSemaKinds.td
+1-0clang/lib/Driver/ToolChains/Clang.cpp
+109-01 files not shown
+110-07 files

LLVM/project 87b5f2bclang/docs ReleaseNotes.rst, clang/include/clang/Basic DiagnosticCommonKinds.td

[Clang] [C++26] Expansion Statements (Part 11)
DeltaFile
+113-0clang/test/AST/ast-print-expansion-stmts.cpp
+54-0clang/test/AST/ast-dump-expansion-stmt.cpp
+7-1clang/www/cxx_status.html
+0-4clang/include/clang/Basic/DiagnosticCommonKinds.td
+2-0clang/docs/ReleaseNotes.rst
+176-55 files

LLVM/project f1daa4cllvm/include/llvm/CodeGen Passes.h, llvm/lib/CodeGen BranchFolding.cpp BranchFolding.h

[CodeGen][BranchFolding] Add options to control common hoisting and block reordering (#205704)

The BranchFolder pass performs several independent optimizations: tail
 merging, common-code hoisting, and branch optimization (which includes
 basic-block reordering). Currently only tail merging is individually
controllable -- it is disabled for targets that require a structured
CFG,
because tail merging can make the CFG irreducible. Common-code hoisting
and
 basic-block reordering always run whenever the pass executes.

 Those two sub-phases do not change CFG edges (so they cannot affect
 reducibility); they only change block layout. A target whose register
 allocation is sensitive to the final block layout may need the rest of
 branch folding while suppressing reordering and/or hoisting. This is a
 layout / register-allocation concern, distinct from the structured-CFG
 (reducibility) concern that gates tail merging.

 This change makes common-code hoisting and basic-block reordering

    [21 lines not shown]
DeltaFile
+55-0llvm/test/CodeGen/AArch64/branch-folder-reorder-disable.mir
+45-7llvm/lib/CodeGen/BranchFolding.cpp
+46-0llvm/test/CodeGen/AArch64/branch-folder-hoist-disable.mir
+8-0llvm/lib/CodeGen/BranchFolding.h
+7-0llvm/include/llvm/CodeGen/Passes.h
+161-75 files

LLVM/project d045320llvm/include/llvm/IR Instructions.h

Fix Typo
DeltaFile
+1-1llvm/include/llvm/IR/Instructions.h
+1-11 files

LLVM/project 0570025llvm/include/llvm/IR Instructions.h, llvm/lib/AsmParser LLParser.cpp

Update for comment
DeltaFile
+18-9llvm/unittests/IR/VerifierTest.cpp
+5-12llvm/lib/IR/Instructions.cpp
+4-7llvm/include/llvm/IR/Instructions.h
+5-3llvm/lib/Bitcode/Reader/BitcodeReader.cpp
+3-2llvm/lib/AsmParser/LLParser.cpp
+35-335 files

LLVM/project 000069allvm/docs LangRef.md, llvm/include/llvm/IR Instructions.h

Update doc
DeltaFile
+7-10llvm/unittests/IR/VerifierTest.cpp
+11-4llvm/lib/IR/Instructions.cpp
+4-6llvm/docs/LangRef.md
+6-3llvm/include/llvm/IR/Instructions.h
+2-1llvm/lib/Bitcode/Reader/BitcodeReader.cpp
+2-1llvm/lib/AsmParser/LLParser.cpp
+32-256 files

LLVM/project 57607d8llvm/docs LangRef.md, llvm/lib/Bitcode/Reader BitcodeReader.cpp

Update for comments
DeltaFile
+10-7llvm/docs/LangRef.md
+8-0llvm/test/Assembler/invalid-load-store-atomic-elementwise.ll
+1-3llvm/lib/Bitcode/Reader/BitcodeReader.cpp
+19-103 files

LLVM/project e6c5e25llvm/test/Assembler invalid-load-store-atomic-elementwise.ll

Add element non byte
DeltaFile
+8-0llvm/test/Assembler/invalid-load-store-atomic-elementwise.ll
+8-01 files

LLVM/project 76b9f49llvm/unittests/IR VerifierTest.cpp

Add verifier test
DeltaFile
+74-0llvm/unittests/IR/VerifierTest.cpp
+74-01 files

LLVM/project 7e7cd59llvm/docs LangRef.md, llvm/include/llvm/IR Instructions.h

[IR] Add elementwise modifier to atomic loads
DeltaFile
+33-0llvm/test/Assembler/invalid-load-store-atomic-elementwise.ll
+18-4llvm/lib/IR/Verifier.cpp
+15-6llvm/docs/LangRef.md
+14-3llvm/include/llvm/IR/Instructions.h
+14-2llvm/lib/AsmParser/LLParser.cpp
+16-0llvm/test/Bitcode/atomic-load-store-elementwise.ll
+110-156 files not shown
+140-2112 files

LLVM/project 53a802bllvm/docs LangRef.md, llvm/include/llvm/IR Instructions.h

Update for comments.
DeltaFile
+14-11llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
+6-6llvm/docs/LangRef.md
+3-9llvm/lib/IR/Instructions.cpp
+4-5llvm/include/llvm/IR/Instructions.h
+5-1llvm/lib/AsmParser/LLParser.cpp
+6-0llvm/test/Bitcode/compatibility.ll
+38-321 files not shown
+39-337 files

LLVM/project e13956eclang/lib/AST ExprConstant.cpp, clang/lib/AST/ByteCode Compiler.cpp Compiler.h

[Clang] [C++26] Expansion Statements (Part 7)
DeltaFile
+1,590-0clang/test/SemaCXX/cxx2c-expansion-stmts.cpp
+42-0clang/lib/AST/ByteCode/Compiler.cpp
+40-0clang/lib/AST/ExprConstant.cpp
+11-0clang/test/SemaCXX/cxx2c-expansion-statements-shadow.cpp
+2-1clang/lib/AST/ByteCode/Compiler.h
+3-0clang/lib/Sema/SemaDeclCXX.cpp
+1,688-16 files

LLVM/project 24b9dcbclang/include/clang/Basic DiagnosticSemaKinds.td, clang/lib/Sema SemaExpand.cpp TreeTransform.h

[Clang] [C++26] Expansion Statements (Part 6)
DeltaFile
+106-6clang/lib/Sema/SemaExpand.cpp
+23-3clang/lib/Sema/TreeTransform.h
+2-0clang/include/clang/Basic/DiagnosticSemaKinds.td
+131-93 files

LLVM/project d37a1fcclang/test/CodeGenCXX cxx2c-enumerating-expansion-statements.cpp cxx2c-iterating-expansion-stmt.cpp

[Clang] [C++26] Expansion Statements (Part 8)
DeltaFile
+1,518-0clang/test/CodeGenCXX/cxx2c-enumerating-expansion-statements.cpp
+551-0clang/test/CodeGenCXX/cxx2c-iterating-expansion-stmt.cpp
+532-0clang/test/CodeGenCXX/cxx2c-destructuring-expansion-stmt.cpp
+430-0clang/test/CodeGenCXX/cxx2c-expansion-stmts-control-flow.cpp
+208-0clang/test/CodeGenCXX/cxx2c-expansion-stmts-templates.cpp
+134-0clang/test/CodeGenCXX/cxx2c-expansion-stmts-mangling.cpp
+3,373-03 files not shown
+3,410-39 files

LLVM/project b988a4cclang/include/clang/Basic DiagnosticSemaKinds.td, clang/include/clang/Sema Sema.h

[Clang] [C++26] Expansion Statements (Part 5)
DeltaFile
+314-17clang/lib/Sema/SemaExpand.cpp
+74-0clang/lib/Sema/TreeTransform.h
+11-0clang/include/clang/Basic/DiagnosticSemaKinds.td
+8-0clang/lib/Sema/SemaStmt.cpp
+6-0clang/include/clang/Sema/Sema.h
+413-175 files

LLVM/project 21edbeallvm/include/llvm/Transforms/Vectorize/SandboxVectorizer Scheduler.h Legality.h, llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes BottomUpVec.cpp LoadStoreVec.cpp

[SandboxVec][Scheduler][NFC] Add direction arg to Scheduler constructor (#208602)

With this patch we require the user to set the scheduling direction
during construction. The direction used to default to BottomUp which
would cause crashes if the user had forgotten to set the direction and
attempt to scheduler top-down.

Also drop Scheduler::setDirection() as there is no longer a need for it.
DeltaFile
+40-26llvm/unittests/Transforms/Vectorize/SandboxVectorizer/SchedulerTest.cpp
+2-7llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Scheduler.h
+6-3llvm/unittests/Transforms/Vectorize/SandboxVectorizer/LegalityTest.cpp
+2-2llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Legality.h
+1-1llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.cpp
+1-1llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/LoadStoreVec.cpp
+52-406 files

LLVM/project 33d1af5clang/include/clang/Sema Sema.h, clang/lib/Sema SemaDecl.cpp SemaTemplate.cpp

fixup
DeltaFile
+9-18clang/lib/Sema/SemaDecl.cpp
+12-11clang/lib/Sema/SemaTemplate.cpp
+5-4clang/include/clang/Sema/Sema.h
+8-0clang/test/SemaCXX/member-class-11.cpp
+1-1clang/lib/Sema/SemaDeclCXX.cpp
+35-345 files

LLVM/project 226664dclang/lib/Sema SemaDecl.cpp SemaTemplate.cpp, clang/test/SemaCXX member-class-11.cpp

fixup
DeltaFile
+10-18clang/lib/Sema/SemaDecl.cpp
+5-6clang/lib/Sema/SemaTemplate.cpp
+8-0clang/test/SemaCXX/member-class-11.cpp
+1-1clang/lib/Sema/SemaDeclCXX.cpp
+24-254 files