LLVM/project 09f160cclang/docs/analyzer checkers.rst, clang/include/clang/StaticAnalyzer/Checkers Checkers.td

[clang][analyzer] Move StreamChecker out of the alpha package. (#89247)

DeltaFile
+93-93clang/docs/analyzer/checkers.rst
+0-57clang/www/analyzer/alpha_checks.html
+16-15clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
+8-8clang/test/Analysis/stream.c
+0-16clang/www/analyzer/open_projects.html
+5-5clang/test/Analysis/stream-stdlibraryfunctionargs.c
+122-19414 files not shown
+151-22220 files

LLVM/project 015ffaamlir/include/mlir/Dialect/OpenMP OpenMPOps.td, mlir/lib/Dialect/OpenMP/IR OpenMPDialect.cpp

rebase

Created using spr 1.3.4
DeltaFile
+22-6mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
+22-5mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
+23-1mlir/test/Dialect/OpenMP/invalid.mlir
+15-0mlir/test/Dialect/OpenMP/ops.mlir
+82-124 files

LLVM/project 8e3528emlir/include/mlir/Dialect/OpenMP OpenMPOps.td, mlir/lib/Dialect/OpenMP/IR OpenMPDialect.cpp

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.4

[skip ci]
DeltaFile
+22-6mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
+22-5mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
+23-1mlir/test/Dialect/OpenMP/invalid.mlir
+15-0mlir/test/Dialect/OpenMP/ops.mlir
+82-124 files

LLVM/project ce12b12mlir/include/mlir/Dialect/OpenMP OpenMPOps.td, mlir/lib/Dialect/OpenMP/IR OpenMPDialect.cpp

[mlir][OpenMP] Extend `omp.private` with a `dealloc` region (#90456)

Extends `omp.private` with a new region: `dealloc` where deallocation
logic for Fortran deallocatables will be outlined (this will happen in
later PRs).
DeltaFile
+22-6mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
+22-5mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
+23-1mlir/test/Dialect/OpenMP/invalid.mlir
+15-0mlir/test/Dialect/OpenMP/ops.mlir
+82-124 files

LLVM/project 1dfe718clang/lib/Frontend FrontendActions.cpp, clang/lib/Serialization GeneratePCH.cpp

rebase

Created using spr 1.3.4
DeltaFile
+66-0clang/test/Modules/pr75057.cppm
+22-1utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
+1-0utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
+1-0utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
+0-1clang/lib/Frontend/FrontendActions.cpp
+0-1clang/lib/Serialization/GeneratePCH.cpp
+90-36 files

LLVM/project 689866eclang/lib/Frontend FrontendActions.cpp, clang/lib/Serialization GeneratePCH.cpp

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.4

[skip ci]
DeltaFile
+66-0clang/test/Modules/pr75057.cppm
+22-1utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
+0-1clang/lib/Serialization/GeneratePCH.cpp
+1-0utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
+1-0utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
+0-1clang/lib/Frontend/FrontendActions.cpp
+90-36 files

LLVM/project f4843acutils/bazel/llvm-project-overlay/lldb BUILD.bazel, utils/bazel/llvm-project-overlay/lldb/source/Plugins BUILD.bazel

[lldb][bazel] Fix BUILD after 975eca0e6a3459e59e96b0df33ea0cfbd157c597. (#90564)

DeltaFile
+22-1utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
+1-0utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
+1-0utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
+24-13 files

LLVM/project ec527b2clang/lib/Frontend FrontendActions.cpp, clang/lib/Serialization GeneratePCH.cpp

[C++20] [Modules] Don't skip pragma diagnostic mappings

Close https://github.com/llvm/llvm-project/issues/75057

Previously, I thought the diagnostic mappings is not meaningful with
modules incorrectly. And this problem get revealed by another change
recently. So this patch tried to rever the previous "optimization"
partially.
DeltaFile
+66-0clang/test/Modules/pr75057.cppm
+0-1clang/lib/Frontend/FrontendActions.cpp
+0-1clang/lib/Serialization/GeneratePCH.cpp
+66-23 files

LLVM/project b5b923elld/ELF OutputSections.cpp Options.td, lld/docs ld.lld.1

[𝘀𝗽𝗿] initial version

Created using spr 1.3.5-bogner
DeltaFile
+9-8lld/test/ELF/compressed-debug-level.test
+8-8lld/ELF/OutputSections.cpp
+5-0lld/docs/ld.lld.1
+3-0lld/ELF/Options.td
+1-0lld/ELF/Driver.cpp
+1-0lld/ELF/Config.h
+27-166 files

LLVM/project 305b11dclang/include/clang/Basic Attr.td, clang/utils/TableGen ClangAttrEmitter.cpp

rebase

Created using spr 1.3.4
DeltaFile
+0-575llvm/unittests/MIR/PassBuilderCallbacksTest.cpp
+121-16clang/utils/TableGen/ClangAttrEmitter.cpp
+58-73lld/ELF/OutputSections.cpp
+68-41llvm/lib/CodeGen/MachinePassManager.cpp
+61-18clang/include/clang/Basic/Attr.td
+5-68llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
+313-79151 files not shown
+964-1,04957 files

LLVM/project 585cc42clang/include/clang/Basic Attr.td, clang/utils/TableGen ClangAttrEmitter.cpp

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.4

[skip ci]
DeltaFile
+0-575llvm/unittests/MIR/PassBuilderCallbacksTest.cpp
+121-16clang/utils/TableGen/ClangAttrEmitter.cpp
+58-73lld/ELF/OutputSections.cpp
+68-41llvm/lib/CodeGen/MachinePassManager.cpp
+61-18clang/include/clang/Basic/Attr.td
+5-68llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
+313-79151 files not shown
+964-1,04957 files

LLVM/project 4a84d8ellvm/lib/Target/LoongArch/AsmParser LoongArchAsmParser.cpp, llvm/lib/Target/LoongArch/MCTargetDesc LoongArchMCExpr.cpp LoongArchMCCodeEmitter.cpp

[LoongArch] Support parsing la.tls.desc pseudo instruction

Simultaneously implemented parsing support for the `%desc_*` modifiers.

Reviewers: SixWeining, heiher, xen0n

Reviewed By: xen0n, SixWeining

Pull Request: https://github.com/llvm/llvm-project/pull/90158
DeltaFile
+163-7llvm/lib/Target/LoongArch/AsmParser/LoongArchAsmParser.cpp
+50-0llvm/test/MC/LoongArch/Relocations/relocations.s
+45-0llvm/test/MC/LoongArch/Macros/macros-la.s
+32-0llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCExpr.cpp
+30-0llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCCodeEmitter.cpp
+22-0llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchFixupKinds.h
+342-74 files not shown
+398-710 files

LLVM/project 2524146llvm/lib/Target/RISCV RISCVISelLowering.cpp, llvm/test/CodeGen/RISCV/rvv fixed-vectors-reduction-int-vp.ll fixed-vector-i8-index-cornercase.ll

[RISCV] Add DAG combine for (vmv_s_x_vl (undef) (vmv_x_s X). (#90524)

We can use the original vector as long as the type of X matches the
result type of the vmv_s_x_vl.
DeltaFile
+12-14llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-int-vp.ll
+6-13llvm/test/CodeGen/RISCV/rvv/fixed-vector-i8-index-cornercase.ll
+2-5llvm/test/CodeGen/RISCV/rvv/vreductions-int-vp.ll
+4-0llvm/lib/Target/RISCV/RISCVISelLowering.cpp
+24-324 files

LLVM/project cd57d28clang/test/Driver tls-dialect.c

Add test to clang/test/Driver/tls-dialect.c

Created using spr 1.3.4
DeltaFile
+5-0clang/test/Driver/tls-dialect.c
+5-01 files

LLVM/project 6b961e2clang/include/clang/Serialization ASTWriter.h, clang/lib/Frontend FrontendActions.cpp

Revert "[C++20] [Modules] Don't skip pragma diagnostic mappings"
and "[NFC] [C++20] [Modules] Use new class CXX20ModulesGenerator to
generate module file for C++20 modules instead of PCHGenerator"

This reverts commit fb21343473e33e9a886b42d2fe95d1cec1cd0030.
and commit 18268ac0f48d93c2bcddb69732761971669c09ab.

It looks like there are some problems about linking the compiler
DeltaFile
+0-62clang/test/Modules/pr75057.cppm
+4-17clang/include/clang/Serialization/ASTWriter.h
+12-8clang/lib/Serialization/GeneratePCH.cpp
+8-4clang/lib/Frontend/FrontendActions.cpp
+5-3clang/test/Modules/search-partitions.cpp
+1-1clang/test/Modules/pr67893.cppm
+30-956 files

LLVM/project 940ef96llvm/include/llvm/IR IntrinsicsRISCV.td, llvm/lib/Target/RISCV RISCVInstrInfoVPseudos.td

[RISCV] Remove hasSideEffects=1 for saturating/fault-only-first instructions

Marking them as `hasSideEffects=1` stops some optimizations.

According to `Target.td`:

> // Does the instruction have side effects that are not captured by any
> // operands of the instruction or other flags?
> bit hasSideEffects = ?;

It seems we don't need to set `hasSideEffects` for vleNff since we have
modelled `vl` as an output operand.

As for saturating instructions, I think that explicit Def/Use list
is kind of side effects captured by any operands of the instruction,
so we don't need to set `hasSideEffects` either. And I have just
investigated AArch64's implementation, they don't set this flag and
don't add `Def` list.


    [12 lines not shown]
DeltaFile
+27-42llvm/test/CodeGen/RISCV/regalloc-last-chance-recoloring-failure.ll
+12-20llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops.ll
+9-12llvm/test/CodeGen/RISCV/rvv/commutable.ll
+8-9llvm/test/CodeGen/RISCV/rvv/copyprop.mir
+6-7llvm/include/llvm/IR/IntrinsicsRISCV.td
+5-5llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
+67-951 files not shown
+67-967 files

LLVM/project fb21343clang/lib/Serialization GeneratePCH.cpp, clang/test/Modules pr75057.cppm

[C++20] [Modules] Don't skip pragma diagnostic mappings

Close https://github.com/llvm/llvm-project/issues/75057

Previously, I thought the diagnostic mappings is not meaningful with
modules incorrectly. And this problem get revealed by another change
recently. So this patch tried to rever the previous "optimization"
partially.
DeltaFile
+62-0clang/test/Modules/pr75057.cppm
+0-1clang/lib/Serialization/GeneratePCH.cpp
+62-12 files

LLVM/project 6e83058llvm/lib/TargetParser RISCVISAInfo.cpp

[RISCV] Use an assert insead of a if/else+llvm_unreachable. NFC
DeltaFile
+4-5llvm/lib/TargetParser/RISCVISAInfo.cpp
+4-51 files

LLVM/project 7d97a0clibcxx/include/__format escaped_output_table.h, llvm/test/CodeGen/LoongArch sextw-removal.ll

make `end` mandatory and add `Unsafe` variant

Created using spr 1.3.5-bogner
DeltaFile
+3,617-0llvm/test/Instrumentation/MemorySanitizer/X86/mmx-intrinsics.ll
+737-915libcxx/include/__format/escaped_output_table.h
+513-513llvm/test/MC/RISCV/rvv/zvlsseg.s
+969-0llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
+921-0llvm/test/CodeGen/LoongArch/sextw-removal.ll
+889-0llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
+7,646-1,4281,569 files not shown
+49,331-31,6611,575 files

LLVM/project 705636allvm/lib/CodeGen/SelectionDAG LegalizeVectorOps.cpp LegalizeDAG.cpp, llvm/test/CodeGen/RISCV/rvv fixed-vectors-reduction-int-vp.ll vreductions-int-vp.ll

[SelectionDAG][RISCV] Move VP_REDUCE* legalization to LegalizeDAG.cpp. (#90522)

LegalizeVectorType is responsible for legalizing nodes that perform an
operation on each element may need to scalarize.

This is not true for nodes like VP_REDUCE.*, BUILD_VECTOR,
SHUFFLE_VECTOR, EXTRACT_SUBVECTOR, etc.

This patch drops any nodes with a scalar result from LegalizeVectorOps
and handles them in LegalizeDAG instead.

This required moving the reduction promotion to LegalizeDAG. I have
removed the support integer promotion as it was incorrect for integer
min/max reductions. Since it was untested, it was best to assert on it
until it was really needed.

There are a couple regressions that can be fixed with a small DAG
combine which I will do as a follow up.
DeltaFile
+5-68llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
+61-1llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
+14-12llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-int-vp.ll
+5-2llvm/test/CodeGen/RISCV/rvv/vreductions-int-vp.ll
+85-834 files

LLVM/project 18268acclang/include/clang/Serialization ASTWriter.h, clang/lib/Frontend FrontendActions.cpp

[NFC] [C++20] [Modules] Use new class CXX20ModulesGenerator to generate module file for C++20 modules instead of PCHGenerator

Previously we're re-using PCHGenerator to generate the module file for
C++20 modules. But this is slighty more or less odd. This patch tries
to use a new class 'CXX20ModulesGenerator' to generate the module file
for C++20 modules.
DeltaFile
+8-11clang/lib/Serialization/GeneratePCH.cpp
+16-3clang/include/clang/Serialization/ASTWriter.h
+4-8clang/lib/Frontend/FrontendActions.cpp
+3-5clang/test/Modules/search-partitions.cpp
+1-1clang/test/Modules/pr67893.cppm
+32-285 files

LLVM/project bd72f7bllvm/test/CodeGen/RISCV/rvv pr90559.ll

[RISCV] Add test case for exact vscale miscompile in #90559. NFC
DeltaFile
+23-0llvm/test/CodeGen/RISCV/rvv/pr90559.ll
+23-01 files

LLVM/project fbe4d99clang-tools-extra/clang-tidy/readability MathMissingParenthesesCheck.cpp, clang-tools-extra/test/clang-tidy/checkers/readability math-missing-parentheses.cpp

[clang-tidy] fix false-negative for macros in `readability-math-missing-parentheses` (#90279)

When a binary operator is the last operand of a macro, the end location
that is past the `BinaryOperator` will be inside the macro and therefore
an
invalid location to insert a `FixIt` into, which is why the check bails
when encountering such a pattern.
However, the end location is only required for the `FixIt` and the
diagnostic can still be emitted, just without an attached fix.
DeltaFile
+22-0clang-tools-extra/test/clang-tidy/checkers/readability/math-missing-parentheses.cpp
+9-7clang-tools-extra/clang-tidy/readability/MathMissingParenthesesCheck.cpp
+31-72 files

LLVM/project faac5e9libcxx/include/__format escaped_output_table.h, llvm/test/CodeGen/LoongArch sextw-removal.ll

Rebase

Created using spr 1.3.6-beta.1
DeltaFile
+3,617-0llvm/test/Instrumentation/MemorySanitizer/X86/mmx-intrinsics.ll
+737-915libcxx/include/__format/escaped_output_table.h
+513-513llvm/test/MC/RISCV/rvv/zvlsseg.s
+969-0llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
+921-0llvm/test/CodeGen/LoongArch/sextw-removal.ll
+889-0llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
+7,646-1,4281,464 files not shown
+46,969-29,3331,470 files

LLVM/project 83b1e1blibcxx/include/__format escaped_output_table.h, llvm/test/CodeGen/LoongArch sextw-removal.ll

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.6-beta.1

[skip ci]
DeltaFile
+3,617-0llvm/test/Instrumentation/MemorySanitizer/X86/mmx-intrinsics.ll
+737-915libcxx/include/__format/escaped_output_table.h
+513-513llvm/test/MC/RISCV/rvv/zvlsseg.s
+969-0llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
+921-0llvm/test/CodeGen/LoongArch/sextw-removal.ll
+889-0llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
+7,646-1,4281,464 files not shown
+46,969-29,3331,470 files

LLVM/project 79095b4lld/ELF OutputSections.cpp

[ELF] --compress-debug-sections=zstd: replace ZSTD_c_nbWorkers parallelism with multi-frame parallelism

https://reviews.llvm.org/D133679 utilizes zstd's multithread API to
create one single frame. This provides a higher compression ratio but is
significantly slower than concatenating multiple frames.

With manual parallelism, it is easier to parallelize memcpy in
OutputSection::writeTo for parallel memcpy.

In addition, as the individual allocated decompression buffers are much
smaller, we can make a wild guess (compressed_size/4) without worrying
about a resize (due to wrong guess) would waste memory.
DeltaFile
+58-73lld/ELF/OutputSections.cpp
+58-731 files

LLVM/project 326667dllvm/lib/TargetParser RISCVISAInfo.cpp

[RISCV] Merge variable declaration with first assignment. NFC
DeltaFile
+1-2llvm/lib/TargetParser/RISCVISAInfo.cpp
+1-21 files

LLVM/project 62d6560compiler-rt/test/sanitizer_common/TestCases sanitizer_coverage_trace_pc_guard.cpp

Disable test for lsan and x86_64h (#90483)

Disable this test on x86_64h for LSan.

This test is failing with malformed object only on x86_64h.
Disabling for now. 

rdar://125052424
DeltaFile
+2-0compiler-rt/test/sanitizer_common/TestCases/sanitizer_coverage_trace_pc_guard.cpp
+2-01 files

LLVM/project 38067c5clang/lib/Serialization ASTWriter.cpp, clang/test/Modules pr90259.cppm

[C++20] [Modules] [Reduced BMI] Avoid force writing static declarations
within module purview

Close https://github.com/llvm/llvm-project/issues/90259

Technically, the static declarations shouldn't be leaked from the module
interface, otherwise it is an illegal program according to the spec. So
we can get rid of the static declarations from the reduced BMI
technically. Then we can close the above issue.

However, there are too many `static inline` codes in existing headers.
So it will be a pretty big breaking change if we do this globally.
DeltaFile
+44-0clang/test/Modules/pr90259.cppm
+34-2clang/lib/Serialization/ASTWriter.cpp
+78-22 files

LLVM/project 9d5411fbolt/lib/Passes ValidateMemRefs.cpp, bolt/test/X86 jt-symbol-disambiguation-4.s

[BOLT] Avoid reference updates for non-JT symbol operands (#88838)

Skip updating references for operands that do not directly
refer to jump table symbols but fall within a jump table's
address range to prevent unintended modifications.
DeltaFile
+60-0bolt/test/X86/jt-symbol-disambiguation-4.s
+4-4bolt/lib/Passes/ValidateMemRefs.cpp
+64-42 files