LLVM/project b955eb7libc Maintainers.rst

[libc] Add myself as maintainer for Math, Threading and Runtime Safety (#186595)
DeltaFile
+6-0libc/Maintainers.rst
+6-01 files

LLVM/project 33395f4mlir/include/mlir/Dialect/LLVMIR LLVMOps.td LLVMAttrDefs.td, mlir/lib/CAPI/Dialect LLVM.cpp

OptionalArrayRefParameter
DeltaFile
+12-16mlir/test/Target/LLVMIR/llvmir-named-metadata.mlir
+10-12mlir/test/python/dialects/llvm.py
+12-9mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
+4-4mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
+2-3mlir/lib/CAPI/Dialect/LLVM.cpp
+40-445 files

LLVM/project d44fdaaclang/test/Analysis/clang-suppress friends.cpp class-template-specializations.cpp

[analyzer][NFC] Reorg and add clang::suppress tests (#186447)

This reorganizes the current clang suppression tests; and adds quite a
few more cases to the corpus.
This prepares the ground for #183727

While the test cases were generated by AI, I've personally checked every
single line and expectation.

Assisted-by: claude
DeltaFile
+366-0clang/test/Analysis/clang-suppress/friends.cpp
+348-0clang/test/Analysis/clang-suppress/class-template-specializations.cpp
+238-0clang/test/Analysis/clang-suppress/lambdas.cpp
+186-0clang/test/Analysis/clang-suppress/macros.cpp
+158-0clang/test/Analysis/clang-suppress/statements.cpp
+138-0clang/test/Analysis/clang-suppress/template-methods.cpp
+1,434-05 files not shown
+1,752-9111 files

LLVM/project 3968db4clang/lib/AST/ByteCode Function.h

[clang][bytecode][NFC] Add Function::dump() taking no arguments (#186819)

Instead of relying on the default value. That one doesn't work properly
in lldb and I have to pass the `{}` explicitly every time.
DeltaFile
+2-1clang/lib/AST/ByteCode/Function.h
+2-11 files

LLVM/project 5bf0b9clibc Maintainers.rst

unify heading
DeltaFile
+2-8libc/Maintainers.rst
+2-81 files

LLVM/project c5e5d5blldb/include/lldb/Host Config.h.cmake, lldb/source/Plugins/ScriptInterpreter/Python ScriptInterpreterPython.cpp

[lldb] When LLDB_ENABLE_MTE is ON always run the driver with MTE (#186322)

When LLDB_ENABLE_MTE is set to ON, we should always run the driver with
MTE by signing with the checked-allocations entitlement.
DeltaFile
+16-2lldb/tools/driver/CMakeLists.txt
+10-0lldb/tools/driver/lldb-mte-entitlements.plist
+9-0lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
+2-0lldb/include/lldb/Host/Config.h.cmake
+37-24 files

LLVM/project 769ffa0llvm/lib/Transforms/IPO ForceFunctionAttrs.cpp, llvm/test/Transforms/ForcedFunctionAttrs forced.ll

[ForceFunctionAttrs] Fix handling of conflicts for more attributes (#186304)

Fixes #185277 

ForceFunctionAttrs currently only checks the `alwaysinline`/`noinline`
conflict when forcing function attributes. This is incomplete, because
LLVM verifier rules define additional incompatible function attribute
combinations.

Extend hasConflictingFnAttr() to reject more conflicting function
attributes, including combinations involving `optnone`, `minsize`,
`optsize`, and `optdebug`.

Also add required companion attributes when forcing function attributes:
`optnone` requires `noinline`, so forceattrs now adds `noinline`
automatically when needed.
DeltaFile
+108-7llvm/test/Transforms/ForcedFunctionAttrs/forced.ll
+43-4llvm/lib/Transforms/IPO/ForceFunctionAttrs.cpp
+151-112 files

LLVM/project c0ccfd0flang/test/Semantics test_errors.py

[flang] Reorder messages wrt line number before diff(actual, expect) (#186812)

When messages are attached together, the source locations to which they
refer are not necessarily monotonically increasing. For example
```
error: foo.f90:10: There is a problem here         # line 10
because: foo.f90:12: This thing is invalid         # line 12 (attached)
error: foo.f90:11: There is another problem here   # line 11
```
There is no way to represent that in the source file via ERROR
annotations, so before running unified_diff "canonicalize" the list of
messages into an order that corresponds to the line numbers.

---------

Co-authored-by: Michael Kruse <llvm-project at meinersbur.de>
DeltaFile
+47-5flang/test/Semantics/test_errors.py
+47-51 files

LLVM/project 00061bdllvm/lib/Target/AMDGPU AMDGPURegBankLegalizeRules.cpp, llvm/test/CodeGen/AMDGPU/GlobalISel llvm.amdgcn.strictwqm.ll llvm.amdgcn.wqm.ll

[AMDGPU][GlobalIsel] Add register bank legalization rules for amdgcn_wqm amdgcn_softwqm amdgcn_strict_wqm (#186214)

This patch adds register bank legalization rules for amdgcn_wqm
amdgcn_softwqm amdgcn_strict_wqm in the AMDGPU GlobalISel pipeline.
DeltaFile
+145-0llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.strictwqm.ll
+70-1llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.wqm.ll
+66-4llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.wqm.mir
+69-1llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.softwqm.ll
+3-1llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
+353-75 files

LLVM/project 83a16ffllvm/lib/Target/AMDGPU AMDGPULowerVGPREncoding.cpp, llvm/lib/Target/AMDGPU/Utils AMDGPUBaseInfo.cpp

[AMDGPU] Fix setreg handling in the VGPR MSB lowering

There are multiple issues with it:

1. It can skip inserting S_SET_VGPR_MSB if we set the mode via
   piggybacking. We are now relying on the HW bug for correct
   behavior. If/when the bug is fixed lowering will be incorrect.
2. We should just unconditionally update MSBs if immediate allows it.
   We shall set correct bits and keep the rest of the immediate
   (that is done). There is no reasonable way for an user to change
   MSBs nor does it do anything good to set it with SETREG and then
   immediately overwrite with S_SET_VGPR_MSB.
3. We can always update immediate if Offset is zero.
4. Redundant mode changes created as seen in the
   hazard-setreg-vgpr-msb-gfx1250.mir.
5. Decoding of the immediate was also wrong with non-zero offset
   and did not factor MSB fixup offset handling.

With unconditional immediate update most of time and not relying on

    [12 lines not shown]
DeltaFile
+126-33llvm/test/CodeGen/AMDGPU/vgpr-setreg-mode-swar.mir
+30-38llvm/lib/Target/AMDGPU/AMDGPULowerVGPREncoding.cpp
+12-18llvm/test/CodeGen/AMDGPU/hazard-setreg-vgpr-msb-gfx1250.mir
+5-2llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
+173-914 files

LLVM/project 58d34e2lldb/test/API/functionalities/data-formatter/synthetic_subscript main.c

[lldb] Include stdio.h in synthetic subscript test (#186847)

The [lldb-aarch64-windows](https://lab.llvm.org/buildbot/#/builders/141)
buildbot failed with:

```
lld-link: error: undefined symbol: printf
>>> referenced by main.o:(main)
```

I'm assuming that's because of the use of `__builtin_printf`. In other
tests, we use `printf` form `stdio.h` and these build fine, so I added
an include and used `printf`.
DeltaFile
+3-1lldb/test/API/functionalities/data-formatter/synthetic_subscript/main.c
+3-11 files

LLVM/project 9d3d0d7llvm/lib/Transforms/InstCombine InstCombineAddSub.cpp, llvm/test/Transforms/InstCombine sub.ll

[InstCombine] Support disjoint or in add-sub reassociation fold (#186827)
DeltaFile
+52-0llvm/test/Transforms/InstCombine/sub.ll
+13-6llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
+65-62 files

LLVM/project 39f47a4llvm/lib/Target/AMDGPU AMDGPURegBankLegalizeRules.cpp, llvm/test/CodeGen/AMDGPU llvm.amdgcn.s.waitcnt.ll llvm.amdgcn.s.wait.event.ll

AMDGPU/GlobalISel: RegBankLegalize rules for s_wait intrinsics (#186254)
DeltaFile
+9-0llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
+4-2llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.waitcnt.ll
+2-2llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.wait.event.ll
+1-1llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.wait.gfx12.ll
+1-1llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.wait.gfx1250.ll
+17-65 files

LLVM/project 9191b90llvm/test/CodeGen/X86 known-pow2.ll

[X86] known-pow2.ll - add min/max vector test coverage for #182369 (#186841)
DeltaFile
+149-0llvm/test/CodeGen/X86/known-pow2.ll
+149-01 files

LLVM/project 8775dacclang/test/CodeGenCXX pfp-load-store.cpp

Fix test

Created using spr 1.3.6-beta.1
DeltaFile
+1-1clang/test/CodeGenCXX/pfp-load-store.cpp
+1-11 files

LLVM/project 47d019cclang/test/OpenMP target_teams_distribute_parallel_for_simd_schedule_codegen.cpp teams_distribute_parallel_for_simd_schedule_codegen.cpp, libc/AOR_v20.02/math/test/traces sincosf.txt exp.txt

[𝘀𝗽𝗿] changes to main this commit is based on

Created using spr 1.3.6-beta.1

[skip ci]
DeltaFile
+0-31,999libc/AOR_v20.02/math/test/traces/sincosf.txt
+0-16,000libc/AOR_v20.02/math/test/traces/exp.txt
+5,294-4,814clang/test/OpenMP/target_teams_distribute_parallel_for_simd_schedule_codegen.cpp
+5,238-4,758clang/test/OpenMP/teams_distribute_parallel_for_simd_schedule_codegen.cpp
+4,350-4,098clang/test/OpenMP/distribute_parallel_for_simd_codegen.cpp
+4,004-3,524clang/test/OpenMP/teams_distribute_parallel_for_schedule_codegen.cpp
+18,886-65,1933,045 files not shown
+215,055-229,5713,051 files

LLVM/project 6826098clang/test/OpenMP target_teams_distribute_parallel_for_simd_schedule_codegen.cpp teams_distribute_parallel_for_simd_schedule_codegen.cpp, libc/AOR_v20.02/math/test/traces sincosf.txt exp.txt

[𝘀𝗽𝗿] initial version

Created using spr 1.3.6-beta.1
DeltaFile
+0-31,999libc/AOR_v20.02/math/test/traces/sincosf.txt
+0-16,000libc/AOR_v20.02/math/test/traces/exp.txt
+5,294-4,814clang/test/OpenMP/target_teams_distribute_parallel_for_simd_schedule_codegen.cpp
+5,238-4,758clang/test/OpenMP/teams_distribute_parallel_for_simd_schedule_codegen.cpp
+4,350-4,098clang/test/OpenMP/distribute_parallel_for_simd_codegen.cpp
+4,004-3,524clang/test/OpenMP/teams_distribute_parallel_for_schedule_codegen.cpp
+18,886-65,1933,047 files not shown
+215,107-229,5713,053 files

LLVM/project ef05a12llvm/lib/Target/AMDGPU AMDGPURegBankLegalizeHelper.cpp AMDGPURegBankLegalizeRules.cpp, llvm/test/CodeGen/AMDGPU cttz_zero_undef.ll ctlz_zero_undef.ll

AMDGPU/GlobalISel: RegBankLegalize rules for ctlz/cttz_zero_undef (#186546)
DeltaFile
+141-82llvm/test/CodeGen/AMDGPU/cttz_zero_undef.ll
+81-51llvm/test/CodeGen/AMDGPU/ctlz_zero_undef.ll
+60-21llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.cpp
+4-4llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgpu-ffbh-u32.mir
+3-2llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
+1-1llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.h
+290-1611 files not shown
+291-1617 files

LLVM/project f41c30fllvm/lib/Target/AMDGPU AMDGPURegBankLegalizeRules.cpp AMDGPURegBankLegalizeHelper.cpp, llvm/test/CodeGen/AMDGPU llvm.amdgcn.ds.read.tr.gfx950.ll

AMDGPU/GlobalISel: RegBankLegalize rules for ds_read_tr* (#186006)
DeltaFile
+92-65llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.read.tr.gfx950.ll
+16-0llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
+5-0llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.cpp
+3-0llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.h
+116-654 files

LLVM/project 0a3384blibc/shared/math log_bf16.h, libc/src/__support/math log_bf16.h CMakeLists.txt

[libc][math] Refactor log_bf16 to Header (#186618)
DeltaFile
+145-0libc/src/__support/math/log_bf16.h
+2-121libc/src/math/generic/log_bf16.cpp
+23-0libc/shared/math/log_bf16.h
+22-0utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+15-0libc/src/__support/math/CMakeLists.txt
+1-7libc/src/math/generic/CMakeLists.txt
+208-1283 files not shown
+213-1289 files

LLVM/project 43dbb88llvm/test/CodeGen/MIR/Generic inline-asm-extra-info.mir

[MIR][NFC] Test verbalising INLINEASM extra-info flags. (#186796)

Exposes the bug printing inteldialect.
DeltaFile
+83-0llvm/test/CodeGen/MIR/Generic/inline-asm-extra-info.mir
+83-01 files

LLVM/project 6e224celibc/shared/math bf16fma.h, libc/src/__support/math bf16fma.h CMakeLists.txt

[libc][math] Refactor bf16fma to Header Only (#182572)

Fixes #181625
DeltaFile
+26-0libc/src/__support/math/bf16fma.h
+23-0libc/shared/math/bf16fma.h
+15-0utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+10-0libc/src/__support/math/CMakeLists.txt
+2-5libc/src/math/generic/bf16fma.cpp
+1-5libc/src/math/generic/CMakeLists.txt
+77-103 files not shown
+81-109 files

LLVM/project 479aeeeclang/include/clang/ScalableStaticAnalysisFramework SSAFBuiltinForceLinker.h SSAFForceLinker.h, clang/include/clang/ScalableStaticAnalysisFramework/Frontend TUSummaryExtractorFrontendAction.h

Reapply "[clang][ssaf] Add --ssaf-extract-summaries= and --ssaf-tu-summary-file= options" (#186463)

This reverts commit 3548ec95178c00a2895a65b435945ce318396c8e and adapts
the code to the new ScalableStaticAnalysisFramework/ directory layout.

Re-adds:
- `TUSummaryExtractorFrontendAction` and its integration into `ExecuteCompilerInvocation`
- `--ssaf-extract-summaries=` and `--ssaf-tu-summary-file=` CLI options
- SSAFForceLinker / SSAFBuiltinForceLinker headers and anchor symbols
- Diagnostics under -Wscalable-static-analysis-framework
- Lit tests for the CLI and unit tests for the frontend action
- Changes the Formats to be lowercase - and match their spellings in the file paths.
DeltaFile
+366-0clang/unittests/ScalableStaticAnalysisFramework/Frontend/TUSummaryExtractorFrontendActionTest.cpp
+181-0clang/lib/ScalableStaticAnalysisFramework/Frontend/TUSummaryExtractorFrontendAction.cpp
+51-0clang/unittests/ScalableStaticAnalysisFramework/SSAFBuiltinTestForceLinker.h
+33-0clang/include/clang/ScalableStaticAnalysisFramework/Frontend/TUSummaryExtractorFrontendAction.h
+28-0clang/include/clang/ScalableStaticAnalysisFramework/SSAFBuiltinForceLinker.h
+25-0clang/include/clang/ScalableStaticAnalysisFramework/SSAFForceLinker.h
+684-030 files not shown
+896-3036 files

LLVM/project cf979d5libc/shared/math atanpif16.h, libc/src/__support/math atanpif16.h CMakeLists.txt

[libc][math] Refactored atanpif16 to header only (#184316)

Fixes #178105
DeltaFile
+168-0libc/src/__support/math/atanpif16.h
+2-141libc/src/math/generic/atanpif16.cpp
+29-0libc/shared/math/atanpif16.h
+22-0utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+17-0libc/src/__support/math/CMakeLists.txt
+1-10libc/src/math/generic/CMakeLists.txt
+239-1513 files not shown
+242-1519 files

LLVM/project f00145allvm/test/CodeGen/X86 vector-shuffle-combining-avx512f.ll

[X86] Add test showing failure to fold compress(splat(x),splat(x),mask) -> splat(x) (#186823)

Noticed while working on i512 shift expansion - if we end up with repeated splat args, we fail to remove the compress node
DeltaFile
+27-0llvm/test/CodeGen/X86/vector-shuffle-combining-avx512f.ll
+27-01 files

LLVM/project c1e093aflang/include/flang/Support Fortran-features.h, flang/lib/Parser program-parsers.cpp stmt-parser.h

[flang][parser] Add a feature flag for multiple program units on one line. (#186533)

This PR adds a feature flag `MultipleProgramUnitsOnSameLine` that by
default allows program units to be terminated by semicolons, and then
allow the next program unit to follow on the same line.

It also adds some test programs to demonstrate using programming units
and showing the portability warning with "-pedantic".
DeltaFile
+51-0flang/test/Parser/shared-line-program-units.f90
+12-3flang/lib/Parser/program-parsers.cpp
+2-2flang/lib/Parser/stmt-parser.h
+4-0flang/test/Parser/shared-line-program-units.reject.0.f90
+4-0flang/test/Parser/shared-line-program-units.reject.1.f90
+2-1flang/include/flang/Support/Fortran-features.h
+75-66 files

LLVM/project ae5dbf2llvm/test/CodeGen/AMDGPU local-stack-alloc-add-references.gfx8.mir coalesce-copy-to-agpr-to-av-registers.mir, llvm/test/CodeGen/AMDGPU/GlobalISel irtranslator-inline-asm.ll

[AMDGPU][NFC] Update MIR tests to use symbolic INLINEASM operands
DeltaFile
+185-185llvm/test/CodeGen/AMDGPU/local-stack-alloc-add-references.gfx8.mir
+121-121llvm/test/CodeGen/AMDGPU/coalesce-copy-to-agpr-to-av-registers.mir
+94-94llvm/test/CodeGen/AMDGPU/local-stack-alloc-add-references.gfx9.mir
+58-58llvm/test/CodeGen/AMDGPU/machine-sink-cycle.mir
+34-34llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-inline-asm.ll
+24-24llvm/test/CodeGen/AMDGPU/buffer-intrinsics-mmo-offsets.ll
+516-51635 files not shown
+749-74941 files

LLVM/project 04797bcclang/lib/CIR/CodeGen CIRGenBuiltinAArch64.cpp, clang/test/CodeGen/AArch64 bf16-getset-intrinsics.c

[CIR][AArch64] Lower BF16 vduph lane builtins (#185852)

Part of #185382.

Lower `__builtin_neon_vduph_lane_bf16` and
`__builtin_neon_vduph_laneq_bf16` in ClangIR to `cir.vec.extract`,
and add dedicated AArch64 Neon BF16 tests.

This is my first LLVM PR, so I'd really appreciate any suggestions on
the implementation, test structure, or general LLVM contribution style.
DeltaFile
+28-0clang/test/CodeGen/AArch64/neon/bf16-getset.c
+0-18clang/test/CodeGen/AArch64/bf16-getset-intrinsics.c
+14-2clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
+42-203 files

LLVM/project e30aa40llvm/include/llvm/Support GenericDomTree.h, llvm/lib/Transforms/Vectorize SLPVectorizer.cpp

Revert "[DomTree] Assert non-null block for pre-dom tree" (#186831)

Reverts llvm/llvm-project#186790

Breaks buildbots, there are more SLPVectorizer problems.

https://lab.llvm.org/buildbot/#/builders/52/builds/15810
DeltaFile
+2-6llvm/include/llvm/Support/GenericDomTree.h
+0-2llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+1-1polly/lib/Analysis/ScopBuilder.cpp
+3-93 files

LLVM/project ee44103clang/test/CodeGen attr-target-clones-ppc.c, clang/test/CodeGen/PowerPC attr-target-clones.c

move tests to PowerPC folder
DeltaFile
+142-0clang/test/CodeGen/PowerPC/attr-target-clones.c
+0-142clang/test/CodeGen/attr-target-clones-ppc.c
+0-132clang/test/Sema/attr-target-clones-ppc.c
+132-0clang/test/Sema/PowerPC/attr-target-clones.c
+274-2744 files