LLVM/project 746aee7llvm/lib/Transforms/Utils LoopPeel.cpp

Add assert
DeltaFile
+1-0llvm/lib/Transforms/Utils/LoopPeel.cpp
+1-01 files

LLVM/project bbcc307llvm/lib/CodeGen/SelectionDAG TargetLowering.cpp

Update TargetLowering.cpp

Co-authored-by: Sergei Barannikov <barannikov88 at gmail.com>
DeltaFile
+2-2llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
+2-21 files

LLVM/project 214d716llvm/include/llvm/MC MCDirectives.h, llvm/lib/MC MCGOFFStreamer.cpp MCAsmStreamer.cpp

Replace MCSA_Code/Data

Use MCSA_ELF_TypeFunction/TypeObject instead.
DeltaFile
+5-4llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
+2-4llvm/lib/MC/MCGOFFStreamer.cpp
+2-4llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMAsmStreamer.cpp
+0-2llvm/lib/MC/MCAsmStreamer.cpp
+0-2llvm/lib/MC/MCMachOStreamer.cpp
+0-2llvm/include/llvm/MC/MCDirectives.h
+9-181 files not shown
+9-207 files

LLVM/project 98b1708mlir/docs/Dialects NVVMDialect.md, mlir/include/mlir/Dialect/LLVMIR CMakeLists.txt

[MLIR][NVVM] Doc fixes (#168716)

DeltaFile
+1-6mlir/docs/Dialects/NVVMDialect.md
+1-1mlir/include/mlir/Dialect/LLVMIR/CMakeLists.txt
+2-72 files

LLVM/project 71dee8bllvm/lib/Target/AMDGPU SIRegisterInfo.h SIRegisterInfo.td, llvm/test/CodeGen/AMDGPU regalloc-spill-wmma-scale.ll

[AMDGPU] Prioritize allocation of low 256 VGPR classes

If we have 1024 VGPRs available we need to give priority to the
allocation of these registers where operands can only use low 256.
That is noteably scale operands of V_WMMA_SCALE instructions.
Otherwise large tuples will be allocated first and take all low
registers, so we would have to spill to get a room for these
scale registers.

Allocation priority itself does not eliminate spilling completely
in large kernels, although helps to some degree. Increasing spill
weight of a restricted class on top of it helps.
DeltaFile
+11-0llvm/lib/Target/AMDGPU/SIRegisterInfo.h
+2-3llvm/test/CodeGen/AMDGPU/regalloc-spill-wmma-scale.ll
+1-1llvm/lib/Target/AMDGPU/SIRegisterInfo.td
+14-43 files

LLVM/project ddbdc9allvm/test/CodeGen/AMDGPU regalloc-spill-wmma-scale.ll

[AMDGPU] Add baseline test to show spilling of wmma scale. NFC (#168163)

This is to show the spilling of WMMA scale values which are limited
to low 256 VGPRs. We have free registers, just RA allocates low 256
first.
DeltaFile
+131-0llvm/test/CodeGen/AMDGPU/regalloc-spill-wmma-scale.ll
+131-01 files

LLVM/project 2635f43llvm/include/llvm/Analysis TargetLibraryInfo.def TargetLibraryInfo.td, llvm/lib/Analysis TargetLibraryInfo.cpp

[Analysis] Move TargetLibraryInfo data to TableGen

The collection of library function names in TargetLibraryInfo faces
similar challenges as RuntimeLibCalls in the IR component. The number
of function names is large, there are numerous customizations based
on the triple (including alternate names), and there is a lot of
replicated data in the signature table.

The ultimate goal would be to capture all lbrary function related
information in a .td file. This PR brings the current .def file to
TableGen, almost as a 1:1 replacement. However, there are some
improvements which are not possible in the current implementation:

- the function names are now stored as a long string together with
  an offset table.
- the table of signatures is now deduplicated, using an offset table
  for access.

The size of the object file decreases about 34kB with these changes.

    [6 lines not shown]
DeltaFile
+0-2,728llvm/include/llvm/Analysis/TargetLibraryInfo.def
+1,697-0llvm/include/llvm/Analysis/TargetLibraryInfo.td
+186-0llvm/utils/TableGen/Basic/TargetLibraryInfoEmitter.cpp
+115-0llvm/test/TableGen/TargetLibraryInfo.td
+18-52llvm/lib/Analysis/TargetLibraryInfo.cpp
+44-0llvm/include/llvm/Analysis/TargetLibraryInfoImpl.td
+2,060-2,78013 files not shown
+2,101-2,80719 files

LLVM/project a4456a5utils/bazel MODULE.bazel.lock .bazelrc

[bazel] Flip --enable_bzlmod to true (#168555)

Switches to the config added in #164891

Fixes #55924
DeltaFile
+14-14utils/bazel/MODULE.bazel.lock
+1-3utils/bazel/.bazelrc
+15-172 files

LLVM/project 869f085llvm/utils/TableGen/Common CodeGenDAGPatterns.cpp CodeGenDAGPatterns.h

[TableGen] Eliminate the dependency on SDNode definition order

Fix CodeGenDAGPatterns::ParseDefaultOperands() not to depend on the
first SDNode defined being usable as an output pattern operator.

Presently, each `OperandWithDefaultOps` record is processed by
constructing an instance of TreePattern from its `DefaultOps` argument
that has the form `(ops ...)`. Nevertheless the result of processing
the root operator of that DAG is not inspected by `ParseDefaultOperands()`
function itself, that operator has to be parseable by the underlying
`TreePattern::ParseTreePattern()` function. For that reason, a temporary
DAG is created by replacing the root operator of `DefaultOps` argument
from `ops` to the first SDNode defined, which is usually `def imm : ...`
defined in `TargetSelectionDAG.td` file.

This results in misleading errors being reported when defining new
`SDNode` types, if the new definition happens to be added before the
`def imm : ...` line. The error is reported by several test cases
executed by `check-llvm` target, as well as if one of the targets

    [8 lines not shown]
DeltaFile
+23-10llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
+6-0llvm/utils/TableGen/Common/CodeGenDAGPatterns.h
+29-102 files

LLVM/project 6f8e87bllvm/utils/gn/secondary/clang/include/clang/Sema BUILD.gn, llvm/utils/gn/secondary/clang/lib/Sema BUILD.gn

[gn] port 22a2cae5d6735 (AttrIsTypeDependent.inc)
DeltaFile
+5-0llvm/utils/gn/secondary/clang/include/clang/Sema/BUILD.gn
+1-0llvm/utils/gn/secondary/clang/lib/Sema/BUILD.gn
+6-02 files

LLVM/project 0f615dc.github/workflows build-metrics-container.yml

[Github] Make metrics container build use common actions (#168667)

This patch makes the metrics container build/push job use the common
container build/push actions to simplify the workflow by quite a bit.
DeltaFile
+15-37.github/workflows/build-metrics-container.yml
+15-371 files

LLVM/project 8ab7b60.github/workflows/containers/github-action-ci Dockerfile, .github/workflows/containers/github-action-ci-windows Dockerfile

[Github] Bump Runner Version in CI Containers

To ensure we stay ahead of the ~6 month time horizon. This new version
seems to be mostly small version bumps and minor fixes that probably are
not too relevant to us.
DeltaFile
+1-1.github/workflows/containers/github-action-ci-windows/Dockerfile
+1-1.github/workflows/containers/github-action-ci/Dockerfile
+2-22 files

LLVM/project 3890a4allvm/test/tools/llvm-mca/RISCV/SpacemitX60 rvv-arithmetic.s rvv-bitwise.s

[RISCV] Update X60 ReleaseAtCycles for Vector Integer Arithmetic Instructions (#152557)

This PR updates the ReleaseAtCycles for all instructions described in
Section 11 of the RVV Spec: Vector Integer Arithmetic Instructions. The
data used comes from camel-cdr.
DeltaFile
+1,177-1,177llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-arithmetic.s
+937-937llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-bitwise.s
+753-753llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-mul-div.s
+721-721llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-comparison.s
+521-521llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-fma.s
+289-289llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-minmax.s
+4,398-4,3983 files not shown
+4,733-4,7179 files

LLVM/project 0c7d826lldb/include/lldb/Host/common DiagnosticsRendering.h, lldb/include/lldb/Utility DiagnosticsRendering.h

[NFC][lldb] move DiagnosticsRendering to Host (#168696)

NFC patch which moves `DiagnosticsRendering` from `Utility` to `Host`.

This refactoring is needed for
https://github.com/llvm/llvm-project/pull/168603. It adds a method to
check whether the current terminal supports Unicode or not. This will be
OS dependent and a better fit for `Host`. Since `Utility` cannot depend
on `Host`, `DiagnosticsRendering` must live in `Host` instead.
DeltaFile
+235-0lldb/source/Host/common/DiagnosticsRendering.cpp
+0-235lldb/source/Utility/DiagnosticsRendering.cpp
+99-0lldb/unittests/Host/common/DiagnosticsRenderingTest.cpp
+0-99lldb/unittests/Utility/DiagnosticsRenderingTest.cpp
+81-0lldb/include/lldb/Host/common/DiagnosticsRendering.h
+0-81lldb/include/lldb/Utility/DiagnosticsRendering.h
+415-41513 files not shown
+425-42519 files

LLVM/project 449807allvm/utils/gn/secondary/compiler-rt/lib/asan BUILD.gn

[gn] port c62fc065b4c1
DeltaFile
+1-0llvm/utils/gn/secondary/compiler-rt/lib/asan/BUILD.gn
+1-01 files

LLVM/project 8bfd294libcxx/include limits, libcxx/include/__charconv from_chars_integral.h to_chars_integral.h

[libc++] Remove is_signed<T> use from <limits> (#168334)

`numeric_limits` already has an `is_signed` member. We can use that
instead of using `std::is_signed`.
DeltaFile
+1-2libcxx/include/limits
+1-1libcxx/include/__charconv/from_chars_integral.h
+1-0libcxx/test/std/utilities/utility/utility.intcmp/intcmp.cmp_less/cmp_less.pass.cpp
+1-0libcxx/test/std/utilities/utility/utility.intcmp/intcmp.cmp_less_equal/cmp_less_equal.pass.cpp
+1-0libcxx/include/__mdspan/extents.h
+1-0libcxx/include/__charconv/to_chars_integral.h
+6-37 files not shown
+13-313 files

LLVM/project 6ad1623mlir/lib/Dialect/Tosa/Utils ConversionUtils.cpp

[tosa] : Enhance EqualizeRanks to handle dynamic dimensions. (#168564)

Legalizing following IR to `tosa` using `tf-tosa-opt` from `tensorflow`
repo:
```
func.func @main(%arg0: tensor<?x?x?x?xf32>) -> tensor<?x?x?x5xf32> {
    %0 = "tfl.pseudo_const"() <{value = dense<0.000000e+00> : tensor<5xf32>}> : () -> tensor<5xf32>
    %1 = tfl.add(%arg0, %0) <{fused_activation_function = "NONE"}> : (tensor<?x?x?x?xf32>, tensor<5xf32>) -> tensor<?x?x?x5xf32>
    return %1 : tensor<?x?x?x5xf32>
  }
```
fails with
```
error: 'tosa.add' op operands don't have matching ranks
    %1 = tfl.add(%arg0, %0) <{fused_activation_function = "NONE"}> : (tensor<?x?x?x?xf32>, tensor<5xf32>) -> tensor<?x?x?x5xf32>
         ^
tfl.mlir:3:10: note: see current operation: %1 = "tosa.add"(%arg0, %0) : (tensor<?x?x?x?xf32>, tensor<5xf32>) -> tensor<?x?x?x5xf32>
// -----// IR Dump After TosaLegalizeTFLPass Failed (tosa-legalize-tfl) //----- //
"func.func"() <{function_type = (tensor<?x?x?x?xf32>) -> tensor<?x?x?x5xf32>, sym_name = "main"}> ({

    [22 lines not shown]
DeltaFile
+8-1mlir/lib/Dialect/Tosa/Utils/ConversionUtils.cpp
+8-11 files

LLVM/project 87a1fd1compiler-rt/lib/builtins CMakeLists.txt, llvm/utils/gn/secondary/compiler-rt/lib/builtins BUILD.gn

[gn] "port" 5efce7392f3f (arm 32-bit asm compiler-rt)
DeltaFile
+6-0llvm/utils/gn/secondary/compiler-rt/lib/builtins/BUILD.gn
+2-1compiler-rt/lib/builtins/CMakeLists.txt
+8-12 files

LLVM/project f65294elibcxx/test/std/input.output/file.streams/fstreams/ifstream.members xsgetn.pass.cpp xsgetn.test.dat

Add test case for xsgetn in basic_filebuf (#167937)

This is the promised follow-up to #167779. It simply adds a test case
provided by philnik777
DeltaFile
+73-0libcxx/test/std/input.output/file.streams/fstreams/ifstream.members/xsgetn.pass.cpp
+1-0libcxx/test/std/input.output/file.streams/fstreams/ifstream.members/xsgetn.test.dat
+74-02 files

LLVM/project 009ec6fclang/include/clang/CIR/Dialect/IR CIROps.td, clang/lib/CIR/Lowering/DirectToLLVM LowerToLLVM.cpp

[CIR] Upstream Exception EhInflight op (#165621)

Upstream Exception EhInflight op as a prerequisite for full catch
handlers implementation

Issue https://github.com/llvm/llvm-project/issues/154992
DeltaFile
+84-0clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
+53-0clang/test/CIR/Lowering/eh-inflight.cir
+40-0clang/test/CIR/IR/eh-inflight.cir
+38-0clang/include/clang/CIR/Dialect/IR/CIROps.td
+215-04 files

LLVM/project 36cbcecclang/lib/CIR/CodeGen CIRGenExprScalar.cpp, clang/test/CIR/CodeGen ternary-throw.cpp

[CIR] Ternary with const cond and throw in the live part (#168432)

Ternary with a constant condition and throw in the live part
DeltaFile
+43-0clang/test/CIR/CodeGen/ternary-throw.cpp
+3-3clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
+46-32 files

LLVM/project ed0c36ccompiler-rt/test/fuzzer big-file-copy.test

[Fuzzer] make big-file-copy.test work with the internal shell (#168658)

This patch uses several shell features not supported by the internal
shell, such as $? to get the exit code of a command, and exit. This
patch adjusts the test to work with the internal shell by using bash to
run the actual command with a zero exit code to ensure the file is
deleted, and python to propagate the exit code up to lit.
DeltaFile
+2-3compiler-rt/test/fuzzer/big-file-copy.test
+2-31 files

LLVM/project 1782e50llvm/include/llvm/CodeGen SDPatternMatch.h

DAG: Reorder SDPatternMatch combinators earlier (#168625)

Split out from #168288
DeltaFile
+65-65llvm/include/llvm/CodeGen/SDPatternMatch.h
+65-651 files

LLVM/project 0b921f5llvm/lib/CodeGen/SelectionDAG LegalizeVectorTypes.cpp

DAG: Use poison when splitting vector_shuffle results (#168176)

DeltaFile
+1-1llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
+1-11 files

LLVM/project e9b11aecompiler-rt/test/asan/TestCases/Darwin duplicate_os_log_reports.cpp, compiler-rt/test/asan/TestCases/Darwin/Inputs check-syslog.sh

[ASan] Make duplicate_os_log_reports.cpp work with the internal shell

This test used a for loop to implement retries and also did some trickery with PIDs.
For this test, just invoke bash for actually running the test given we need the PID,
and move the for loop into a separate shell script file that we can then invoke from
within the test. Normally it would make sense to rewrite such a script in Python, but
given this test does not have portability concerns only running on Darwin, it is fine
to use a shell script here given there is no other convenient alternative.

Reviewers: ndrewh, DanBlackwell, fmayer

Reviewed By: ndrewh

Pull Request: https://github.com/llvm/llvm-project/pull/168656
DeltaFile
+3-7compiler-rt/test/asan/TestCases/Darwin/duplicate_os_log_reports.cpp
+6-0compiler-rt/test/asan/TestCases/Darwin/Inputs/check-syslog.sh
+9-72 files

LLVM/project 8f91d9fcross-project-tests/debuginfo-tests/clang_llvm_roundtrip simplified_template_names.cpp simplified_template_names-debug-types.test, cross-project-tests/debuginfo-tests/clang_llvm_roundtrip/Inputs simplified_template_names.cpp

[cross-project-tests][DebugInfo] Make simplified-template-names test runnable on Darwin (#168725)

The test was failing on Darwin for two reasons:
1. `-fdebug-type-sections` is not a recognized flag on Darwin
2. We fail to reconstitute a name if the template parameter has a type
that has a preferred_name. With LLDB tuning the type of such a parameter
is a typedef, i.e., the preferred name. Without tuning it would be the
canonical type that the typedef (possibly through a chain of typedefs)
points to.

This patch addresses (1) by splitting the `-fdebug-type-sections` tests
into a separate file (and only mark that one `UNSUPPORTED`). Which means
we can at least XFAIL the non-type-sections tests on Darwin.

To fix (2) we might need to make the `DWARFTypePrinter` aware of
non-canonical `DW_AT_type`s of template parameters.
DeltaFile
+0-360cross-project-tests/debuginfo-tests/clang_llvm_roundtrip/simplified_template_names.cpp
+272-0cross-project-tests/debuginfo-tests/clang_llvm_roundtrip/Inputs/simplified_template_names.cpp
+9-0cross-project-tests/debuginfo-tests/clang_llvm_roundtrip/simplified_template_names-debug-types.test
+6-0cross-project-tests/debuginfo-tests/clang_llvm_roundtrip/simplified_template_names.test
+287-3604 files

LLVM/project e6fc654clang/lib/CodeGen CGHLSLRuntime.cpp

[HLSL] replace std::unordered_map with DenseMap (#168739)

Broke some builds because of a missing include. Changing to a DenseMap
and adding the missing include.
DeltaFile
+4-3clang/lib/CodeGen/CGHLSLRuntime.cpp
+4-31 files

LLVM/project d60d14aflang/test/Transforms set-runtime-call-attributes.fir, llvm/lib/Target/Hexagon HexagonRegisterInfo.td

rebase

Created using spr 1.3.7
DeltaFile
+6,665-6,661llvm/test/tools/llvm-ir2vec/output/reference_x86_entities.txt
+1,162-437llvm/test/CodeGen/AArch64/arm64-vhadd.ll
+429-447llvm/lib/Target/Hexagon/HexagonRegisterInfo.td
+186-0llvm/test/CodeGen/Hexagon/bfloat.ll
+123-48llvm/test/CodeGen/AArch64/aarch64-known-bits-hadd.ll
+67-67flang/test/Transforms/set-runtime-call-attributes.fir
+8,632-7,660113 files not shown
+10,071-8,075119 files

LLVM/project cea95d1flang/test/Transforms set-runtime-call-attributes.fir, llvm/lib/Target/Hexagon HexagonRegisterInfo.td

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.7

[skip ci]
DeltaFile
+6,665-6,661llvm/test/tools/llvm-ir2vec/output/reference_x86_entities.txt
+1,162-437llvm/test/CodeGen/AArch64/arm64-vhadd.ll
+429-447llvm/lib/Target/Hexagon/HexagonRegisterInfo.td
+186-0llvm/test/CodeGen/Hexagon/bfloat.ll
+123-48llvm/test/CodeGen/AArch64/aarch64-known-bits-hadd.ll
+67-67flang/test/Transforms/set-runtime-call-attributes.fir
+8,632-7,660113 files not shown
+10,071-8,075119 files

LLVM/project c41f642compiler-rt/test/asan/TestCases/Darwin lit.local.cfg.py dyld_insert_libraries_reexec.cpp

[ASan] Make dyld_insert_libraries_reexec work with internal shell

This test was doing some feature checks within the test itself. This patch
rewrites the feature checks to be done in a fashion more idiomatic to lit,
as the internal shell does not support the features needed for the previous
feature checks.

Reviewers: ndrewh, DanBlackwell, fmayer

Reviewed By: ndrewh

Pull Request: https://github.com/llvm/llvm-project/pull/168655
DeltaFile
+26-0compiler-rt/test/asan/TestCases/Darwin/lit.local.cfg.py
+2-13compiler-rt/test/asan/TestCases/Darwin/dyld_insert_libraries_reexec.cpp
+28-132 files