LLVM/project 4567327clang-tools-extra/docs/clang-tidy Contributing.rst index.rst, clang-tools-extra/docs/clang-tidy/checks/bugprone unsafe-functions.rst

[clang-tidy][NFC] Fix formatting issue in `clang-tidy` documentations (#168722)

Co-authored-by: EugeneZelenko <eugene.zelenko at gmail.com>
Co-authored-by: Baranov Victor <bar.victor.2002 at gmail.com>
DeltaFile
+217-193clang-tools-extra/docs/clang-tidy/Contributing.rst
+30-30clang-tools-extra/docs/clang-tidy/index.rst
+16-15clang-tools-extra/docs/clang-tidy/checks/bugprone/unsafe-functions.rst
+13-12clang-tools-extra/docs/clang-tidy/ExternalClang-TidyExamples.rst
+7-2llvm/utils/git/code-lint-helper.py
+4-3clang-tools-extra/docs/clang-tidy/Integrations.rst
+287-2554 files not shown
+296-25910 files

LLVM/project 674f308bolt/lib/Passes LongJmp.cpp, bolt/test/AArch64 long-jmp-bti.s long-jmp-bti-ignored.s

[BOLT][BTI] Add needed BTIs in LongJmp or refuse to optimize binary (#171149)

This patch adds BTI landing pads to ShortJmp/LongJmp targets in the
LongJmp pass when optimizing BTI binaries.

BOLT does not have the ability to add BTI to all types of functions.
This patch aims to insert the landing pad where possible, and emit an
error and exit where it currently is not.

BOLT cannot insert BTIs into several function "types", including:
- ignored functions,
- PLT functions,
- other functions without a CFG.

Additional context:

In #161206, BOLT gained the ability to decode the .note.gnu.property
section, and warn about lack of BTI support for BOLT. However, this
warning is misleading: the emitted binary may not need extra BTI landing

    [2 lines not shown]
DeltaFile
+53-3bolt/lib/Passes/LongJmp.cpp
+46-0bolt/test/AArch64/long-jmp-bti.s
+38-0bolt/test/runtime/AArch64/long-jmp-bti-plt.c
+35-0bolt/test/AArch64/long-jmp-bti-ignored.s
+2-2bolt/test/AArch64/no-bti-note.test
+2-2bolt/test/AArch64/bti-note.test
+176-72 files not shown
+179-98 files

LLVM/project c86fcccmlir/test/Dialect/Linalg/vectorization linalg-ops.mlir

[fixup] Formatting/capitalization
DeltaFile
+28-28mlir/test/Dialect/Linalg/vectorization/linalg-ops.mlir
+28-281 files

LLVM/project 262d71dbolt/lib/Rewrite GNUPropertyRewriter.cpp, bolt/test/AArch64 bti-note.test no-bti-note.test

Fix BTI usage message
DeltaFile
+1-1bolt/lib/Rewrite/GNUPropertyRewriter.cpp
+1-1bolt/test/AArch64/bti-note.test
+1-1bolt/test/AArch64/no-bti-note.test
+1-1bolt/test/runtime/AArch64/long-jmp-bti-plt.c
+4-44 files

LLVM/project 298fda6bolt/lib/Passes LongJmp.cpp

[BOLT] Fix param order
DeltaFile
+2-2bolt/lib/Passes/LongJmp.cpp
+2-21 files

LLVM/project 99de7fdbolt/test/AArch64 long-jmp-bti-ignored.s

Update bolt/test/AArch64/long-jmp-bti-ignored.s

Co-authored-by: Paschalis Mpeis <paschalis.mpeis at arm.com>
DeltaFile
+0-3bolt/test/AArch64/long-jmp-bti-ignored.s
+0-31 files

LLVM/project 8846b13bolt/test/AArch64 long-jmp-bti-plt.c, bolt/test/runtime/AArch64 long-jmp-bti-plt.c

Move failing test under test/runtime dir
DeltaFile
+38-0bolt/test/runtime/AArch64/long-jmp-bti-plt.c
+0-38bolt/test/AArch64/long-jmp-bti-plt.c
+38-382 files

LLVM/project 81b355cbolt/include/bolt/Core BinaryBasicBlock.h, bolt/test/AArch64 long-jmp-bti.s long-jmp-bti-ignored.s

[BOLT] Updates

- fix format
- add comments
DeltaFile
+11-11bolt/test/AArch64/long-jmp-bti.s
+3-0bolt/test/AArch64/long-jmp-bti-ignored.s
+1-1bolt/include/bolt/Core/BinaryBasicBlock.h
+15-123 files

LLVM/project 9e49b34bolt/lib/Passes LongJmp.cpp, bolt/test/AArch64 long-jmp-bti-plt.c

[BOLT] Add test for PLT entries
DeltaFile
+38-0bolt/test/AArch64/long-jmp-bti-plt.c
+8-5bolt/lib/Passes/LongJmp.cpp
+46-52 files

LLVM/project 0abee6fbolt/lib/Passes LongJmp.cpp, bolt/lib/Rewrite GNUPropertyRewriter.cpp

[BOLT][BTI] Add needed BTIs in LongJmp or refuse to optimize binary

This patch adds BTI landing pads to ShortJmp/LongJmp targets in the
LongJmp pass when optimizing BTI binaries.

BOLT does not have the ability to add BTI to all types of functions.
This patch aims to insert the landing pad where possible, and emit an
error where it currently is not.

BOLT cannot insert BTIs into several function "types", including:
- ignored functions,
- PLT functions,
- other functions without a CFG.

Additional context:

In #161206, BOLT gained the ability to decode the .note.gnu.property
section, and warn about lack of BTI support for BOLT. However, this
warning is misleading: the emitted binary may not need extra BTI landing

    [3 lines not shown]
DeltaFile
+50-3bolt/lib/Passes/LongJmp.cpp
+46-0bolt/test/AArch64/long-jmp-bti.s
+35-0bolt/test/AArch64/long-jmp-bti-ignored.s
+2-2bolt/test/AArch64/no-bti-note.test
+2-2bolt/test/AArch64/bti-note.test
+1-2bolt/lib/Rewrite/GNUPropertyRewriter.cpp
+136-91 files not shown
+138-97 files

LLVM/project 620fab6llvm/test/CodeGen/SPIRV ga-gv.ll

Provide missing checks in test.
DeltaFile
+11-5llvm/test/CodeGen/SPIRV/ga-gv.ll
+11-51 files

LLVM/project 3029d10bolt/test/AArch64 long-jmp-bti-ignored.s

Update bolt/test/AArch64/long-jmp-bti-ignored.s

Co-authored-by: Paschalis Mpeis <paschalis.mpeis at arm.com>
DeltaFile
+0-3bolt/test/AArch64/long-jmp-bti-ignored.s
+0-31 files

LLVM/project c335d7allvm/test/CodeGen/SPIRV ga-gv.ll

[review] Fix AS issues in test.
DeltaFile
+7-8llvm/test/CodeGen/SPIRV/ga-gv.ll
+7-81 files

LLVM/project d9b021dmlir/test/lib/Dialect/Transform TestTransformDialectInterpreter.cpp

[MLIR][Transform] Safely erase transform ops by collecting first (#172016)

Avoids runtime crashes caused by deleting operations inside a walk.
Operations are gathered during the walk and then erased in the correct
dependency order after the walk finishes.

Issue: [#130023](https://github.com/llvm/llvm-project/issues/130023)

---------

Co-authored-by: Milos Poletanovic <mpoletanovic at syrmia.com>
Co-authored-by: Milos Poletanovic <milos.poletanovic at htecgroup.com>
DeltaFile
+6-1mlir/test/lib/Dialect/Transform/TestTransformDialectInterpreter.cpp
+6-11 files

LLVM/project 6299dbcllvm/lib/Target/AArch64 AArch64SchedOlympus.td, llvm/test/tools/llvm-mca/AArch64/Olympus sve-instructions.s neon-instructions.s

[AArch64] Initial Olympus scheduling model. (#171607)

This adds a scheduling model for NVIDIA Olympus based on information
from the Olympus CPU Core Software Optimization Guide:

https://docs.nvidia.com/olympus-cpu-core-software-optimization-guide-dp12531-001v0-7.pdf

---------

Co-authored-by: Elvina Yakubova <eyakubova at nvidia.com>
DeltaFile
+10,680-0llvm/test/tools/llvm-mca/AArch64/Olympus/sve-instructions.s
+5,310-0llvm/test/tools/llvm-mca/AArch64/Olympus/neon-instructions.s
+3,983-0llvm/test/tools/llvm-mca/AArch64/Olympus/writeback-loads-stores.s
+3,801-0llvm/test/tools/llvm-mca/AArch64/Olympus/basic-instructions.s
+3,380-0llvm/lib/Target/AArch64/AArch64SchedOlympus.td
+2,276-0llvm/test/tools/llvm-mca/AArch64/Olympus/forwarding-idioms.s
+29,430-010 files not shown
+31,852-316 files

LLVM/project 1d61cedllvm/lib/Target/AMDGPU AMDGPULowerKernelArguments.cpp, llvm/test/CodeGen/AMDGPU mad-combine.ll lower-noalias-kernargs.ll

Revert "[AMDGPU] Propagate alias information in AMDGPULowerKernelArguments. (#161375)"

This reverts commit 9f4f13a793b53adef37dfb63c4e30dccfa98517b.

Broke sanitizer buildbots, and causes test hangs in release builds.
DeltaFile
+251-197llvm/test/CodeGen/AMDGPU/mad-combine.ll
+0-434llvm/test/CodeGen/AMDGPU/lower-noalias-kernargs.ll
+148-148llvm/test/CodeGen/AMDGPU/cttz_zero_undef.ll
+101-101llvm/test/CodeGen/AMDGPU/ctlz_zero_undef.ll
+10-139llvm/lib/Target/AMDGPU/AMDGPULowerKernelArguments.cpp
+35-43llvm/test/CodeGen/AMDGPU/cvt_f32_ubyte.ll
+545-1,0624 files not shown
+600-1,15510 files

LLVM/project d87b47dclang/lib/CodeGen BackendUtil.cpp, llvm/include/llvm/Extensions PassPlugin.h

[LLVM][NFC] Move PassPlugin from Passes to Extensions lib

This avoid pulling in the entire Passes library with all passes as
dependencies when just referring to PassPlugin, which is in fact
independent of the Passes themselves.

Pull Request: https://github.com/llvm/llvm-project/pull/172478
DeltaFile
+142-0llvm/include/llvm/Extensions/PassPlugin.h
+0-142llvm/include/llvm/Passes/PassPlugin.h
+49-0llvm/lib/Extensions/PassPlugin.cpp
+0-49llvm/lib/Passes/PassPlugin.cpp
+1-1llvm/lib/LTO/LTOBackend.cpp
+1-1clang/lib/CodeGen/BackendUtil.cpp
+193-19327 files not shown
+219-21433 files

LLVM/project fb50465llvm/test/CodeGen/SPIRV ga-gv.ll ga-gep.ll

[review] Add test cases for non-global-object aliases and for global-variable aliases.
DeltaFile
+20-0llvm/test/CodeGen/SPIRV/ga-gv.ll
+13-0llvm/test/CodeGen/SPIRV/ga-gep.ll
+33-02 files

LLVM/project f83232ellvm/test/CodeGen/SPIRV ga-noninterp-gv-noninterp.ll ga-noninterp-func-noninterp.ll

Rename test cases.
DeltaFile
+0-22llvm/test/CodeGen/SPIRV/ga-noninterp-gv-noninterp.ll
+22-0llvm/test/CodeGen/SPIRV/ga-noninterp-func-noninterp.ll
+17-0llvm/test/CodeGen/SPIRV/ga-interp-func-interp.ll
+0-17llvm/test/CodeGen/SPIRV/ga-interp-gv-interp.ll
+16-0llvm/test/CodeGen/SPIRV/ga-interp-func-noninterp.ll
+0-16llvm/test/CodeGen/SPIRV/ga-interp-gv-noninterp.ll
+55-552 files not shown
+71-718 files

LLVM/project f6e7972mlir/tools/tblgen-to-irdl OpDefinitionsGen.cpp

[mlir] fix the Disambiguate NoneType in OpDefinitionsGen (#172923)

Qualify NoneType as mlir::NoneType in recordToType to avoid ambiguity
when other headers introduce a different NoneType symbol. This fixes
build failures seen when enabling tblgen-to-irdl in certain downstream
configurations

The ambiguity is between:


[llvm::Nonetype](https://github.com/intel/llvm/blob/sycl/llvm/include/llvm/ADT/None.h#L26)
and
[mlir::Nonetype](https://github.com/llvm/llvm-project/blob/main/mlir/tools/tblgen-to-irdl/OpDefinitionsGen.cpp#L125)

Both are visible due to `using namespace mlir` and `using namespace
llvm` in the file.

Fixes: https://github.com/llvm/llvm-project/issues/160537
DeltaFile
+1-1mlir/tools/tblgen-to-irdl/OpDefinitionsGen.cpp
+1-11 files

LLVM/project da8497ellvm/lib/IR Verifier.cpp, llvm/test/CodeGen/AMDGPU ps-shader-arg-count.ll mixed-wave32-wave64.ll

[IR][Verifier] Verification for `target-features` attribute (#173119)

Fixes https://github.com/llvm/llvm-project/issues/172647

Currently, MC assumes that all `target-feature` flag attributes are well
formed and will crash otherwise. This change handles those cases more
gracefully.
DeltaFile
+16-0llvm/lib/IR/Verifier.cpp
+13-0llvm/test/Verifier/invalid-target-feature.ll
+4-4llvm/test/CodeGen/AMDGPU/ps-shader-arg-count.ll
+0-8llvm/test/tools/llvm-reduce/reduce-target-features-attr.ll
+3-3llvm/test/CodeGen/AMDGPU/mixed-wave32-wave64.ll
+1-1llvm/test/CodeGen/AMDGPU/pal-metadata-3.0-dvgpr.ll
+37-1610 files not shown
+48-2516 files

LLVM/project f280442clang-tools-extra/clang-tidy/llvm UseRangesCheck.cpp, llvm/include/llvm/ADT STLExtras.h

[llvm][ADT] Add wrapper to `std::search` and `std::adjacent_find` (#171666)

DeltaFile
+157-0llvm/unittests/ADT/STLExtrasTest.cpp
+36-0llvm/include/llvm/ADT/STLExtras.h
+15-14clang-tools-extra/clang-tidy/llvm/UseRangesCheck.cpp
+208-143 files

LLVM/project 5d13546bolt/lib/Passes PAuthGadgetScanner.cpp

Address the review comments

Co-authored-by: Kristof Beyls <kristof.beyls at arm.com>
DeltaFile
+53-17bolt/lib/Passes/PAuthGadgetScanner.cpp
+53-171 files

LLVM/project 8134b22bolt/lib/Passes PAuthGadgetScanner.cpp

[BOLT] Overhaul the comments in PAuthGadgetScanner for readability (NFC)

Update the comments in PAuthGadgetScanner.cpp to better describe the
current version of the code. Along the way, shorten identifier names
that are redundant taking their context into account:
`RegsToTrackInstsFor` (made `RegsToTrack`) and `getNumTrackedRegisters`
(made `getNumRegisters`).
DeltaFile
+135-111bolt/lib/Passes/PAuthGadgetScanner.cpp
+135-1111 files

LLVM/project 24297bebolt/include/bolt/Core MCPlusBuilder.h, bolt/lib/Target/AArch64 AArch64MCPlusBuilder.cpp

[BOLT][BTI] Refactor BTI helpers (#173000)

- Add an enum to encode BTI variants in function arguments.
- Remove updateBTIVariant as createBTI can be used for the same
purpose.
- Remove a test case that checked against invalid BTI variants, as
those are now unrepresentable.
DeltaFile
+44-42bolt/unittests/Core/MCPlusBuilder.cpp
+24-27bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
+10-9bolt/include/bolt/Core/MCPlusBuilder.h
+78-783 files

LLVM/project 3f64ba5llvm/cmake/modules AddOCaml.cmake

[OCaml] Try to fix library dependencies (#171470)

Whenever I try to change anything in the OCaml bindings, I run into
errors like this when running tests:

```
File
"/home/npopov/repos/llvm-project/build/test/Bindings/OCaml/Output/debuginfo.ml.tmp/Testsuite.ml",
line 1:
    Warning 70 [missing-mli]: Cannot find interface file.

File
"/home/npopov/repos/llvm-project/build/test/Bindings/OCaml/Output/debuginfo.ml.tmp/debuginfo.ml",
line 1:
Error: The files
"/home/npopov/repos/llvm-project/build/lib/ocaml/llvm/llvm.cmi"
and
"/home/npopov/repos/llvm-project/build/lib/ocaml/llvm/llvm_debuginfo.cmi"
           make inconsistent assumptions over interface "Llvm"

    [12 lines not shown]
DeltaFile
+7-2llvm/cmake/modules/AddOCaml.cmake
+7-21 files

LLVM/project f337d58llvm/bindings/ocaml/debuginfo debuginfo_ocaml.c

[OCaml] Fix warnings in llvm_debuginfo (#173011)

Fix an unused variable warning and a warning about missing return. As
this is C code we don't have llvm_unreachable() here, so I went with an
assert + dummy return.
DeltaFile
+3-1llvm/bindings/ocaml/debuginfo/debuginfo_ocaml.c
+3-11 files

LLVM/project 3c7adb8libcxx/include __bit_reference, libcxx/include/__algorithm copy.h specialized_algorithms.h

[libc++][NFC] Use __specialized_algorithm for std::copy __bit_iterator specialization (#172270)

DeltaFile
+21-129libcxx/include/__algorithm/copy.h
+135-10libcxx/include/__bit_reference
+1-0libcxx/include/__algorithm/specialized_algorithms.h
+157-1393 files

LLVM/project 1ed5975libcxx/docs ABIGuarantees.rst, libcxx/include __bit_reference

[libc++] Add an ABI flag to make __bit_iterator trivially copyable (#172271)

This makes it trivial for the purpose of calls as well, making an
unconditional ABI break most likely impossible.
DeltaFile
+0-56libcxx/test/libcxx/containers/sequences/vector.bool/trivial_for_purposes_of_call.pass.cpp
+50-0libcxx/test/libcxx/containers/sequences/vector.bool/trivialty.compile.pass.cpp
+10-0libcxx/include/__bit_reference
+4-0libcxx/docs/ABIGuarantees.rst
+1-0libcxx/include/__configuration/abi.h
+65-565 files

LLVM/project 663f9d1libcxx/include cwchar, libcxx/include/__algorithm find.h lexicographical_compare.h

[libc++] Refactor __libcpp_is_trivially_equality_comparable to be a variable template (#173151)

DeltaFile
+25-25libcxx/test/libcxx/type_traits/is_trivially_comparable.compile.pass.cpp
+16-21libcxx/include/__type_traits/is_equality_comparable.h
+5-6libcxx/include/__algorithm/find.h
+3-4libcxx/include/__string/constexpr_c_functions.h
+2-2libcxx/include/__algorithm/lexicographical_compare.h
+2-2libcxx/include/cwchar
+53-602 files not shown
+56-638 files