[all-commits] [llvm/llvm-project] c8f3d2: [ADT] Allow reverse to find free rbegin/rend funct...
Fangrui Song via All-commits
all-commits at lists.llvm.org
Mon Apr 8 16:48:51 PDT 2024
Branch: refs/heads/users/MaskRay/spr/driver-ensure-toolchainlibrarypaths-is-not-empty
Home: https://github.com/llvm/llvm-project
Commit: c8f3d211fc428dd6075440ac22f48641436545d0
https://github.com/llvm/llvm-project/commit/c8f3d211fc428dd6075440ac22f48641436545d0
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M llvm/include/llvm/ADT/ADL.h
M llvm/include/llvm/ADT/STLExtras.h
M llvm/unittests/ADT/IteratorTest.cpp
M llvm/unittests/ADT/RangeAdapterTest.cpp
M llvm/unittests/ADT/STLExtrasTest.cpp
Log Message:
-----------
[ADT] Allow reverse to find free rbegin/rend functions (#87840)
Lift the requirement that rbegin/rend must be member functions. Also
allow the rbegin/rend to be found through Argument Dependent Lookup
(ADL) and add `adl_rbegin`/`adl_rend` to STLExtras.
Commit: 08200fa3f50ba9dc094467d6e1d31197dfcb7134
https://github.com/llvm/llvm-project/commit/08200fa3f50ba9dc094467d6e1d31197dfcb7134
Author: Matthias Springer <me at m-sp.org>
Date: 2024-04-06 (Sat, 06 Apr 2024)
Changed paths:
M mlir/lib/Dialect/Arith/IR/ValueBoundsOpInterfaceImpl.cpp
Log Message:
-----------
[mlir][Arith] Specify evaluation order of `getExpr` (#87859)
The C++ standard does not specify an evaluation order for addition/...
operands. E.g., in `a() + b()`, the compiler is free to evaluate `a` or
`b` first.
This lead to different `mlir-opt` outputs in #85895. (FileCheck passed
when compiled with LLVM but failed when compiled with gcc.)
Commit: 76435f2dca97621dfd7e7299bb93e2f38dcf403d
https://github.com/llvm/llvm-project/commit/76435f2dca97621dfd7e7299bb93e2f38dcf403d
Author: Matthias Springer <me at m-sp.org>
Date: 2024-04-06 (Sat, 06 Apr 2024)
Changed paths:
M mlir/include/mlir/Interfaces/ValueBoundsOpInterface.h
M mlir/lib/Dialect/SCF/IR/ValueBoundsOpInterfaceImpl.cpp
M mlir/lib/Dialect/Vector/IR/ScalableValueBoundsConstraintSet.cpp
M mlir/lib/Interfaces/ValueBoundsOpInterface.cpp
M mlir/test/Dialect/SCF/value-bounds-op-interface-impl.mlir
Log Message:
-----------
[mlir][SCF] `ValueBoundsConstraintSet`: Support `scf.if` (branches) (#87860)
This commit adds support for `scf.if` to `ValueBoundsConstraintSet`.
Example:
```
%0 = scf.if ... -> index {
scf.yield %a : index
} else {
scf.yield %b : index
}
```
The following constraints hold for %0:
* %0 >= min(%a, %b)
* %0 <= max(%a, %b)
Such constraints cannot be added to the constraint set; min/max is not
supported by `IntegerRelation`. However, if we know which one of %a and
%b is larger, we can add constraints for %0. E.g., if %a <= %b:
* %0 >= %a
* %0 <= %b
This commit required a few minor changes to the
`ValueBoundsConstraintSet` infrastructure, so that values can be
compared while we are still in the process of traversing the IR/adding
constraints.
Note: This is a re-upload of #85895, which was reverted. The bug that
caused the failure was fixed in #87859.
Commit: 813f68caf42260452ad7a5cc224ef199a2ad0067
https://github.com/llvm/llvm-project/commit/813f68caf42260452ad7a5cc224ef199a2ad0067
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-04-06 (Sat, 06 Apr 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaExprCXX.cpp
M clang/test/SemaCXX/type-traits.cpp
Log Message:
-----------
[clang] Reject VLAs in `__is_layout_compatible()` (#87737)
This is a follow-up to #81506. Since `__is_layout_compatible()` is a C++
intrinsic
(https://github.com/llvm/llvm-project/blob/ff1e72d68d1224271801ff5192a8c14fbd3be83b/clang/include/clang/Basic/TokenKinds.def#L523),
I don't think we should define how it interacts with VLA extension
unless we have a compelling reason to.
Since #81506 was merged after 18 cut-off, we don't have to follow any
kind of deprecation process.
Commit: cd0f5b2e58fad3973f2f50936b0467b2de3b3e12
https://github.com/llvm/llvm-project/commit/cd0f5b2e58fad3973f2f50936b0467b2de3b3e12
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-04-06 (Sat, 06 Apr 2024)
Changed paths:
A clang/test/CXX/drs/dr392.cpp
M clang/test/CXX/drs/dr3xx.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[clang] Add test for CWG392 (#87744)
[CWG392](https://cplusplus.github.io/CWG/issues/392.html) "Use of full
expression lvalue before temporary destruction". We're testing that
`operator bool()` is called before destructor of `C`.
I'm also marking CWG388 as requiring libc++abi test instead of codegen
test, as we need to test matching between exception object and exception
handlers.
Commit: 0b021c4b603b4e076f9e54572a4eef3e43ab57c0
https://github.com/llvm/llvm-project/commit/0b021c4b603b4e076f9e54572a4eef3e43ab57c0
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-04-06 (Sat, 06 Apr 2024)
Changed paths:
M clang/test/CXX/drs/dr4xx.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[clang] Claim conformance for CWG466 (#87748)
[CWG466](https://cplusplus.github.io/CWG/issues/466.html) "cv-qualifiers
on pseudo-destructor type".
Richard claimed that we don't implement this DR because of one
ill-formed example being accepted: `a->CI::~VI();`. This example is
testing the behavior of calling a pseudo-destructor via a qualified
name, where components of qualified name denote the same `int` type, but
with different cv-qualifications.
Initially, the following wording from [expr.pseudo] quoted in CWG466 was
left intact:
> Furthermore, the two type-names in a pseudo-destructor-name of the
form
>
> `:: (opt) nested-name-specifier (opt) type-name ::~ type-name`
>
>shall designate the same scalar type.
According to this wording, the example is indeed ill-formed.
[P1131R2](https://wg21.link/p1131r2) merged wording for
pseudo-destructors into regular destructor wording. Among other things,
[expr.pseudo] was removed, and [expr.prim.id.qual]/2 was changed to
read:
> Where `type-name ::~ type-name` is used, the two type-names shall
refer to the same type (ignoring cv-qualifications);
I believe P1131R2 made the example well-formed.
However, this wording didn't survive
[P1787R6](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p1787r6.html)
"Declarations and where to find them". In that paper I don't see the
intent to make the example ill-formed again, so I assume it confirmed
status-quo via other wording. My _guess_ the new wording is
http://eel.is/c++draft/basic.lookup#qual.general-4.6:
> If a qualified name Q follows a ~:
> - <...>
> - The [type-name](http://eel.is/c++draft/dcl.type.simple#nt:type-name)
that is or contains Q shall refer to its (original) lookup context
(ignoring cv-qualification) under the interpretation established by at
least one (successful) lookup
performed[.](http://eel.is/c++draft/basic.lookup#qual.general-4.6.sentence-1)
Commit: 770202343ebce1f2bc0745c78e298e251f204bee
https://github.com/llvm/llvm-project/commit/770202343ebce1f2bc0745c78e298e251f204bee
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M clang/lib/Format/UnwrappedLineParser.cpp
Log Message:
-----------
[clang-format][NFC] Rename `kind` to `Kind`
Commit: 0ba3e96be114dcbe0ac6813a1d0e2940d2a88229
https://github.com/llvm/llvm-project/commit/0ba3e96be114dcbe0ac6813a1d0e2940d2a88229
Author: Matthias Springer <me at m-sp.org>
Date: 2024-04-06 (Sat, 06 Apr 2024)
Changed paths:
M mlir/lib/Dialect/SCF/IR/ValueBoundsOpInterfaceImpl.cpp
Log Message:
-----------
[mlir][SCF][NFC] `ValueBoundsConstraintSet`: Simplify `scf.for` implementation (#87862)
This commit simplifies the implementation of the
`ValueBoundsOpInterface` for `scf.for` based on the newly added
`ValueBoundsConstraintSet::compare` API and adds additional
documentation.
Previously, the interface implementation created a new constraint set
just to check if the yielded value and iter_arg are equal. This was
inefficient because constraints were added multiple times (to two
different constraint sets) for ops that are inside the loop.
Note: This is a re-upload of #86239.
Commit: a522dbbd62d0cda4cd10b1b477f238938446294a
https://github.com/llvm/llvm-project/commit/a522dbbd62d0cda4cd10b1b477f238938446294a
Author: Kai Sasaki <lewuathe at gmail.com>
Date: 2024-04-06 (Sat, 06 Apr 2024)
Changed paths:
M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
M mlir/test/Conversion/ComplexToStandard/convert-to-standard.mlir
Log Message:
-----------
[mlir][complex] Support fast math flag for complex.sign op (#87148)
We are going to support the fast math flag given in `complex.sign` op in
the conversion to standard dialect.
See:
https://discourse.llvm.org/t/rfc-fastmath-flags-support-in-complex-dialect/71981
Commit: 09efe848cf2877ea7528411eaa0fe99224059256
https://github.com/llvm/llvm-project/commit/09efe848cf2877ea7528411eaa0fe99224059256
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2024-04-06 (Sat, 06 Apr 2024)
Changed paths:
M libc/fuzzing/__support/CMakeLists.txt
M libc/fuzzing/__support/uint_fuzz.cpp
M libc/src/__support/CMakeLists.txt
M libc/src/__support/FPUtil/BasicOperations.h
M libc/src/__support/FPUtil/CMakeLists.txt
M libc/src/__support/FPUtil/FPBits.h
M libc/src/__support/FPUtil/Hypot.h
M libc/src/__support/FPUtil/dyadic_float.h
M libc/src/__support/FPUtil/generic/FMA.h
M libc/src/__support/FPUtil/generic/sqrt.h
M libc/src/__support/FPUtil/generic/sqrt_80_bit_long_double.h
R libc/src/__support/UInt.h
R libc/src/__support/UInt128.h
A libc/src/__support/big_int.h
M libc/src/__support/float_to_string.h
M libc/src/__support/hash.h
M libc/src/__support/integer_literals.h
M libc/src/__support/integer_to_string.h
M libc/src/__support/str_to_float.h
M libc/src/__support/str_to_integer.h
A libc/src/__support/uint128.h
M libc/src/math/generic/log_range_reduction.h
M libc/src/stdio/printf_core/CMakeLists.txt
M libc/src/stdio/printf_core/float_dec_converter.h
M libc/test/UnitTest/CMakeLists.txt
M libc/test/UnitTest/LibcTest.cpp
M libc/test/UnitTest/StringUtils.h
M libc/test/UnitTest/TestLogger.cpp
M libc/test/src/__support/CMakeLists.txt
M libc/test/src/__support/CPP/CMakeLists.txt
M libc/test/src/__support/CPP/bit_test.cpp
M libc/test/src/__support/CPP/limits_test.cpp
M libc/test/src/__support/FPUtil/dyadic_float_test.cpp
M libc/test/src/__support/high_precision_decimal_test.cpp
M libc/test/src/__support/integer_to_string_test.cpp
M libc/test/src/__support/math_extras_test.cpp
M libc/test/src/__support/str_to_fp_test.h
M libc/test/src/__support/uint_test.cpp
M libc/test/src/math/smoke/nanf128_test.cpp
M libc/test/src/stdlib/strtold_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/UnitTest/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/__support/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/__support/CPP/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/__support/FPUtil/BUILD.bazel
Log Message:
-----------
[libc][NFC] Rename `UInt.h` to `big_int.h` and `UInt128.h` to `uint128.h` for consistency (#87808)
Commit: 684f27d37a6f1faf546a71bcb784b48c7fc8b7e0
https://github.com/llvm/llvm-project/commit/684f27d37a6f1faf546a71bcb784b48c7fc8b7e0
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-04-06 (Sat, 06 Apr 2024)
Changed paths:
M clang/lib/Format/FormatTokenLexer.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Format/WhitespaceManager.cpp
Log Message:
-----------
[clang-format][NFC] Use `is` instead of `getType() ==`
Commit: f5d7e755b8e9623f24812dcab8f4e09e888b2527
https://github.com/llvm/llvm-project/commit/f5d7e755b8e9623f24812dcab8f4e09e888b2527
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-04-06 (Sat, 06 Apr 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[bazel] Fix the build after 27b2d7d4bb790ec1e7430bf18b1bc2f6e0800d0d
Commit: d2884444472e92a8282f4d215a27128ac83a26b9
https://github.com/llvm/llvm-project/commit/d2884444472e92a8282f4d215a27128ac83a26b9
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-04-06 (Sat, 06 Apr 2024)
Changed paths:
M clang/include/clang/Sema/Sema.h
A clang/include/clang/Sema/SemaBase.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/lib/Sema/CMakeLists.txt
M clang/lib/Sema/Sema.cpp
A clang/lib/Sema/SemaBase.cpp
M clang/lib/Sema/SemaOpenACC.cpp
Log Message:
-----------
[clang][NFC] Introduce `SemaBase` (#87634)
This is a follow-up to #84184. Multiple reviewers there pointed out to
me that we should have a common base class for `Sema` and `SemaOpenACC`
to avoid code duplication for common helpers like `getLangOpts()`. On
top of that, `Diag()` function was requested for `SemaOpenACC`. This
patch delivers both.
The intent is to keep `SemaBase` as small as possible, as things there
are globally available across `Sema` and its parts without any
additional effort from usage side. Overused, this can undermine the
whole endeavor of splitting `Sema` apart.
Apart of shuffling code around, this patch introduces a helper private
function `SemaDiagnosticBuilder::getDeviceDeferredDiags()`, the sole
purpose of which is to encapsulate member access into (incomplete)
`Sema` for function templates defined in the header, where `Sema` can't
be complete.
Commit: 0e8b61f8e0bd37e99f3de06e4e8885844f904eba
https://github.com/llvm/llvm-project/commit/0e8b61f8e0bd37e99f3de06e4e8885844f904eba
Author: Ramkumar Ramachandra <ram.ramachandra at arm.com>
Date: 2024-04-06 (Sat, 06 Apr 2024)
Changed paths:
M llvm/test/tools/llvm-objdump/ELF/dynamic-malformed.test
M llvm/tools/llvm-objdump/ELFDump.cpp
Log Message:
-----------
llvm-objdump/ELF: fix crash when reading dyn str table (#87519)
When reading the dynamic string table, llvm-objdump used to crash if the
ELF was malformed, due to an erroneous consumption of error status.
Instead, propogate the error status to the caller, fixing the crash, and
printing a warning.
Commit: 233c030dcb18880d5f0a749573f11f96f35e76b8
https://github.com/llvm/llvm-project/commit/233c030dcb18880d5f0a749573f11f96f35e76b8
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-04-06 (Sat, 06 Apr 2024)
Changed paths:
A llvm/test/Transforms/LoopVectorize/AArch64/induction-costs.ll
A llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
Log Message:
-----------
[LV] Add extra tests for induction cost modeling.
Commit: 4761e74a276ee1f38596f4849daa9d633929f2ae
https://github.com/llvm/llvm-project/commit/4761e74a276ee1f38596f4849daa9d633929f2ae
Author: yronglin <yronglin777 at gmail.com>
Date: 2024-04-06 (Sat, 06 Apr 2024)
Changed paths:
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/docs/Status/Cxx23Issues.csv
M libcxx/include/fstream
M libcxx/test/std/input.output/file.streams/fstreams/fstream.cons/path.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/ifstream.cons/path.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/ofstream.cons/path.pass.cpp
M libcxx/test/support/test_macros.h
Log Message:
-----------
[libc++] Implement LWG3430 disallow implicit conversion of the source arguments to `std::filesystem::path` when constructing `std::basic_*fstream` (#85079)
Implement [LWG3430](https://wg21.link/LWG3430).
---------
Signed-off-by: yronglin <yronglin777 at gmail.com>
Commit: fa8a7266724f26d27820f8876b504d7a4f166948
https://github.com/llvm/llvm-project/commit/fa8a7266724f26d27820f8876b504d7a4f166948
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-04-06 (Sat, 06 Apr 2024)
Changed paths:
M llvm/test/Transforms/LoopVectorize/global_alias.ll
Log Message:
-----------
[LV] Make global_alias.ll test independent of O1 pipeline.
Update global_alias.ll with the IR after the O1 pipeline. Depending on
the O1 makes the tests more fragile and also makes it more difficult to
reason about the behavior of the tests, as it doesn't show the IR before
LoopVectorize.
Commit: 1803d675004bb512051d2df7e1ae3ea95692fc67
https://github.com/llvm/llvm-project/commit/1803d675004bb512051d2df7e1ae3ea95692fc67
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-04-06 (Sat, 06 Apr 2024)
Changed paths:
M clang/lib/Driver/ToolChains/AIX.cpp
Log Message:
-----------
[Driver] Add missing include of std::set.
4ddd4ed7fe15a added a use of std::set without including it. With some
recent libc++, std::set isn't included transitively causing build
failures.
Add explicit include.
Commit: 935e699173636921b118c3c21da6b18659c09a16
https://github.com/llvm/llvm-project/commit/935e699173636921b118c3c21da6b18659c09a16
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-04-06 (Sat, 06 Apr 2024)
Changed paths:
M libcxx/benchmarks/CMakeLists.txt
A libcxx/benchmarks/algorithms/minmax.bench.cpp
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/include/__algorithm/comp.h
M libcxx/include/__algorithm/ranges_minmax.h
M libcxx/include/__functional/operations.h
M libcxx/include/__functional/ranges_operations.h
M libcxx/include/__type_traits/desugars_to.h
Log Message:
-----------
[libc++] Optimize ranges::minmax (#87335)
This allows Clang to vectorize the loop.
```
---------------------------------------------------------------------
Benchmark old new
---------------------------------------------------------------------
BM_std_minmax<char>/1 0.659 ns 1.41 ns
BM_std_minmax<char>/2 1.08 ns 2.16 ns
BM_std_minmax<char>/3 2.16 ns 2.96 ns
BM_std_minmax<char>/4 2.82 ns 3.81 ns
BM_std_minmax<char>/5 3.43 ns 4.69 ns
BM_std_minmax<char>/6 4.08 ns 5.63 ns
BM_std_minmax<char>/7 4.75 ns 6.51 ns
BM_std_minmax<char>/8 5.42 ns 7.41 ns
BM_std_minmax<char>/9 6.05 ns 8.34 ns
BM_std_minmax<char>/10 6.68 ns 9.29 ns
BM_std_minmax<char>/11 7.47 ns 10.6 ns
BM_std_minmax<char>/12 7.95 ns 11.4 ns
BM_std_minmax<char>/13 8.64 ns 12.4 ns
BM_std_minmax<char>/14 9.35 ns 13.4 ns
BM_std_minmax<char>/15 10.1 ns 14.4 ns
BM_std_minmax<char>/16 10.6 ns 2.25 ns
BM_std_minmax<char>/17 11.3 ns 2.82 ns
BM_std_minmax<char>/18 11.8 ns 3.71 ns
BM_std_minmax<char>/19 12.6 ns 4.52 ns
BM_std_minmax<char>/20 13.2 ns 5.47 ns
BM_std_minmax<char>/21 14.1 ns 6.67 ns
BM_std_minmax<char>/22 14.5 ns 7.78 ns
BM_std_minmax<char>/23 15.1 ns 8.67 ns
BM_std_minmax<char>/24 15.7 ns 9.68 ns
BM_std_minmax<char>/25 16.4 ns 10.7 ns
BM_std_minmax<char>/26 17.1 ns 11.7 ns
BM_std_minmax<char>/27 17.8 ns 12.8 ns
BM_std_minmax<char>/28 18.4 ns 14.1 ns
BM_std_minmax<char>/29 19.0 ns 15.0 ns
BM_std_minmax<char>/30 19.6 ns 16.0 ns
BM_std_minmax<char>/31 20.2 ns 17.0 ns
BM_std_minmax<char>/32 20.8 ns 2.46 ns
BM_std_minmax<char>/64 41.5 ns 2.97 ns
BM_std_minmax<char>/512 340 ns 6.05 ns
BM_std_minmax<char>/1024 667 ns 8.83 ns
BM_std_minmax<char>/4000 2571 ns 28.6 ns
BM_std_minmax<char>/4096 2632 ns 25.8 ns
BM_std_minmax<char>/5500 3554 ns 51.1 ns
BM_std_minmax<char>/64000 41175 ns 480 ns
BM_std_minmax<char>/65536 42039 ns 490 ns
BM_std_minmax<char>/70000 44931 ns 528 ns
BM_std_minmax<short>/1 0.708 ns 1.20 ns
BM_std_minmax<short>/2 1.18 ns 1.78 ns
BM_std_minmax<short>/3 1.98 ns 2.42 ns
BM_std_minmax<short>/4 2.47 ns 3.05 ns
BM_std_minmax<short>/5 3.09 ns 3.72 ns
BM_std_minmax<short>/6 3.49 ns 4.37 ns
BM_std_minmax<short>/7 4.24 ns 5.03 ns
BM_std_minmax<short>/8 4.65 ns 2.12 ns
BM_std_minmax<short>/9 5.34 ns 2.51 ns
BM_std_minmax<short>/10 5.82 ns 3.18 ns
BM_std_minmax<short>/11 6.36 ns 3.97 ns
BM_std_minmax<short>/12 6.73 ns 4.68 ns
BM_std_minmax<short>/13 7.59 ns 5.49 ns
BM_std_minmax<short>/14 7.77 ns 6.45 ns
BM_std_minmax<short>/15 8.54 ns 7.55 ns
BM_std_minmax<short>/16 8.74 ns 2.38 ns
BM_std_minmax<short>/17 9.59 ns 2.76 ns
BM_std_minmax<short>/18 9.88 ns 3.37 ns
BM_std_minmax<short>/19 10.7 ns 4.17 ns
BM_std_minmax<short>/20 10.9 ns 4.88 ns
BM_std_minmax<short>/21 12.1 ns 5.70 ns
BM_std_minmax<short>/22 12.6 ns 6.64 ns
BM_std_minmax<short>/23 13.5 ns 7.72 ns
BM_std_minmax<short>/24 13.2 ns 2.87 ns
BM_std_minmax<short>/25 14.2 ns 3.10 ns
BM_std_minmax<short>/26 14.2 ns 3.59 ns
BM_std_minmax<short>/27 15.4 ns 4.35 ns
BM_std_minmax<short>/28 15.3 ns 5.10 ns
BM_std_minmax<short>/29 16.2 ns 5.87 ns
BM_std_minmax<short>/30 16.2 ns 6.88 ns
BM_std_minmax<short>/31 17.0 ns 7.78 ns
BM_std_minmax<short>/32 17.2 ns 3.45 ns
BM_std_minmax<short>/64 34.1 ns 3.35 ns
BM_std_minmax<short>/512 279 ns 8.37 ns
BM_std_minmax<short>/1024 549 ns 14.2 ns
BM_std_minmax<short>/4000 2111 ns 50.1 ns
BM_std_minmax<short>/4096 2167 ns 47.9 ns
BM_std_minmax<short>/5500 2895 ns 69.7 ns
BM_std_minmax<short>/64000 33454 ns 953 ns
BM_std_minmax<short>/65536 34474 ns 970 ns
BM_std_minmax<short>/70000 36691 ns 1037 ns
BM_std_minmax<int>/1 0.664 ns 1.17 ns
BM_std_minmax<int>/2 1.11 ns 1.69 ns
BM_std_minmax<int>/3 2.36 ns 2.29 ns
BM_std_minmax<int>/4 2.53 ns 2.91 ns
BM_std_minmax<int>/5 3.23 ns 3.56 ns
BM_std_minmax<int>/6 3.56 ns 4.23 ns
BM_std_minmax<int>/7 4.28 ns 4.91 ns
BM_std_minmax<int>/8 4.60 ns 5.60 ns
BM_std_minmax<int>/9 5.38 ns 6.31 ns
BM_std_minmax<int>/10 5.69 ns 7.03 ns
BM_std_minmax<int>/11 6.41 ns 7.70 ns
BM_std_minmax<int>/12 6.73 ns 8.39 ns
BM_std_minmax<int>/13 7.38 ns 9.07 ns
BM_std_minmax<int>/14 7.74 ns 9.79 ns
BM_std_minmax<int>/15 8.53 ns 10.5 ns
BM_std_minmax<int>/16 8.79 ns 11.2 ns
BM_std_minmax<int>/17 9.63 ns 12.0 ns
BM_std_minmax<int>/18 9.84 ns 12.7 ns
BM_std_minmax<int>/19 10.6 ns 13.5 ns
BM_std_minmax<int>/20 11.0 ns 14.3 ns
BM_std_minmax<int>/21 11.7 ns 15.0 ns
BM_std_minmax<int>/22 12.0 ns 15.7 ns
BM_std_minmax<int>/23 13.1 ns 16.5 ns
BM_std_minmax<int>/24 13.0 ns 17.3 ns
BM_std_minmax<int>/25 13.7 ns 17.9 ns
BM_std_minmax<int>/26 14.0 ns 18.6 ns
BM_std_minmax<int>/27 14.8 ns 19.4 ns
BM_std_minmax<int>/28 15.1 ns 20.3 ns
BM_std_minmax<int>/29 15.8 ns 20.9 ns
BM_std_minmax<int>/30 16.1 ns 21.7 ns
BM_std_minmax<int>/31 16.9 ns 22.5 ns
BM_std_minmax<int>/32 17.2 ns 3.40 ns
BM_std_minmax<int>/64 33.9 ns 4.04 ns
BM_std_minmax<int>/512 275 ns 14.6 ns
BM_std_minmax<int>/1024 541 ns 27.5 ns
BM_std_minmax<int>/4000 2093 ns 96.3 ns
BM_std_minmax<int>/4096 2146 ns 98.3 ns
BM_std_minmax<int>/5500 2866 ns 157 ns
BM_std_minmax<int>/64000 33619 ns 1954 ns
BM_std_minmax<int>/65536 34252 ns 2009 ns
BM_std_minmax<int>/70000 36618 ns 2125 ns
BM_std_minmax<long long>/1 0.709 ns 1.19 ns
BM_std_minmax<long long>/2 1.01 ns 1.65 ns
BM_std_minmax<long long>/3 2.14 ns 2.21 ns
BM_std_minmax<long long>/4 2.45 ns 2.83 ns
BM_std_minmax<long long>/5 3.09 ns 3.47 ns
BM_std_minmax<long long>/6 3.44 ns 4.11 ns
BM_std_minmax<long long>/7 4.16 ns 4.79 ns
BM_std_minmax<long long>/8 4.54 ns 5.47 ns
BM_std_minmax<long long>/9 5.37 ns 6.20 ns
BM_std_minmax<long long>/10 5.71 ns 6.93 ns
BM_std_minmax<long long>/11 6.00 ns 7.60 ns
BM_std_minmax<long long>/12 6.43 ns 8.27 ns
BM_std_minmax<long long>/13 7.01 ns 8.94 ns
BM_std_minmax<long long>/14 7.45 ns 9.65 ns
BM_std_minmax<long long>/15 8.16 ns 10.4 ns
BM_std_minmax<long long>/16 8.46 ns 5.22 ns
BM_std_minmax<long long>/17 9.16 ns 5.22 ns
BM_std_minmax<long long>/18 9.53 ns 5.52 ns
BM_std_minmax<long long>/19 10.2 ns 6.02 ns
BM_std_minmax<long long>/20 10.5 ns 6.89 ns
BM_std_minmax<long long>/21 11.3 ns 7.83 ns
BM_std_minmax<long long>/22 11.6 ns 8.59 ns
BM_std_minmax<long long>/23 12.3 ns 9.91 ns
BM_std_minmax<long long>/24 12.6 ns 10.1 ns
BM_std_minmax<long long>/25 13.2 ns 12.0 ns
BM_std_minmax<long long>/26 13.6 ns 13.5 ns
BM_std_minmax<long long>/27 14.2 ns 14.8 ns
BM_std_minmax<long long>/28 14.7 ns 15.9 ns
BM_std_minmax<long long>/29 15.3 ns 16.6 ns
BM_std_minmax<long long>/30 15.8 ns 17.3 ns
BM_std_minmax<long long>/31 16.3 ns 18.2 ns
BM_std_minmax<long long>/32 16.7 ns 7.18 ns
BM_std_minmax<long long>/64 33.1 ns 11.5 ns
BM_std_minmax<long long>/512 268 ns 71.0 ns
BM_std_minmax<long long>/1024 532 ns 138 ns
BM_std_minmax<long long>/4000 2056 ns 533 ns
BM_std_minmax<long long>/4096 2112 ns 539 ns
BM_std_minmax<long long>/5500 2823 ns 749 ns
BM_std_minmax<long long>/64000 32956 ns 8590 ns
BM_std_minmax<long long>/65536 33795 ns 8791 ns
BM_std_minmax<long long>/70000 36084 ns 9442 ns
BM_std_minmax<unsigned char>/1 0.714 ns 1.41 ns
BM_std_minmax<unsigned char>/2 0.955 ns 1.96 ns
BM_std_minmax<unsigned char>/3 1.90 ns 2.63 ns
BM_std_minmax<unsigned char>/4 2.40 ns 3.34 ns
BM_std_minmax<unsigned char>/5 2.87 ns 4.10 ns
BM_std_minmax<unsigned char>/6 3.47 ns 4.88 ns
BM_std_minmax<unsigned char>/7 4.04 ns 5.66 ns
BM_std_minmax<unsigned char>/8 4.65 ns 6.45 ns
BM_std_minmax<unsigned char>/9 5.18 ns 7.24 ns
BM_std_minmax<unsigned char>/10 5.80 ns 8.05 ns
BM_std_minmax<unsigned char>/11 6.24 ns 8.86 ns
BM_std_minmax<unsigned char>/12 6.78 ns 9.70 ns
BM_std_minmax<unsigned char>/13 7.30 ns 10.6 ns
BM_std_minmax<unsigned char>/14 7.86 ns 11.4 ns
BM_std_minmax<unsigned char>/15 8.46 ns 12.3 ns
BM_std_minmax<unsigned char>/16 9.00 ns 2.12 ns
BM_std_minmax<unsigned char>/17 9.58 ns 2.83 ns
BM_std_minmax<unsigned char>/18 10.1 ns 3.37 ns
BM_std_minmax<unsigned char>/19 10.7 ns 4.11 ns
BM_std_minmax<unsigned char>/20 11.2 ns 4.85 ns
BM_std_minmax<unsigned char>/21 11.9 ns 5.69 ns
BM_std_minmax<unsigned char>/22 12.3 ns 6.77 ns
BM_std_minmax<unsigned char>/23 13.1 ns 7.56 ns
BM_std_minmax<unsigned char>/24 13.5 ns 8.40 ns
BM_std_minmax<unsigned char>/25 14.2 ns 9.30 ns
BM_std_minmax<unsigned char>/26 14.4 ns 10.1 ns
BM_std_minmax<unsigned char>/27 15.0 ns 11.1 ns
BM_std_minmax<unsigned char>/28 15.3 ns 11.9 ns
BM_std_minmax<unsigned char>/29 16.2 ns 12.9 ns
BM_std_minmax<unsigned char>/30 16.5 ns 13.9 ns
BM_std_minmax<unsigned char>/31 17.2 ns 14.8 ns
BM_std_minmax<unsigned char>/32 17.6 ns 2.36 ns
BM_std_minmax<unsigned char>/64 35.6 ns 3.21 ns
BM_std_minmax<unsigned char>/512 288 ns 6.00 ns
BM_std_minmax<unsigned char>/1024 573 ns 8.80 ns
BM_std_minmax<unsigned char>/4000 2222 ns 28.6 ns
BM_std_minmax<unsigned char>/4096 2265 ns 25.9 ns
BM_std_minmax<unsigned char>/5500 3047 ns 48.8 ns
BM_std_minmax<unsigned char>/64000 35059 ns 480 ns
BM_std_minmax<unsigned char>/65536 35941 ns 491 ns
BM_std_minmax<unsigned char>/70000 38922 ns 525 ns
BM_std_minmax<unsigned short>/1 0.711 ns 1.18 ns
BM_std_minmax<unsigned short>/2 0.957 ns 1.65 ns
BM_std_minmax<unsigned short>/3 2.13 ns 2.21 ns
BM_std_minmax<unsigned short>/4 2.14 ns 2.78 ns
BM_std_minmax<unsigned short>/5 3.06 ns 3.29 ns
BM_std_minmax<unsigned short>/6 2.89 ns 3.87 ns
BM_std_minmax<unsigned short>/7 3.80 ns 4.55 ns
BM_std_minmax<unsigned short>/8 3.68 ns 2.02 ns
BM_std_minmax<unsigned short>/9 4.53 ns 2.40 ns
BM_std_minmax<unsigned short>/10 4.60 ns 2.94 ns
BM_std_minmax<unsigned short>/11 5.67 ns 3.67 ns
BM_std_minmax<unsigned short>/12 5.39 ns 4.22 ns
BM_std_minmax<unsigned short>/13 6.58 ns 4.78 ns
BM_std_minmax<unsigned short>/14 6.33 ns 5.54 ns
BM_std_minmax<unsigned short>/15 7.34 ns 6.30 ns
BM_std_minmax<unsigned short>/16 7.17 ns 2.25 ns
BM_std_minmax<unsigned short>/17 8.19 ns 2.61 ns
BM_std_minmax<unsigned short>/18 8.02 ns 3.19 ns
BM_std_minmax<unsigned short>/19 9.03 ns 3.72 ns
BM_std_minmax<unsigned short>/20 8.89 ns 4.36 ns
BM_std_minmax<unsigned short>/21 9.77 ns 5.10 ns
BM_std_minmax<unsigned short>/22 9.70 ns 5.55 ns
BM_std_minmax<unsigned short>/23 10.8 ns 6.29 ns
BM_std_minmax<unsigned short>/24 10.6 ns 2.41 ns
BM_std_minmax<unsigned short>/25 11.6 ns 2.75 ns
BM_std_minmax<unsigned short>/26 11.4 ns 3.26 ns
BM_std_minmax<unsigned short>/27 12.4 ns 3.86 ns
BM_std_minmax<unsigned short>/28 12.3 ns 4.45 ns
BM_std_minmax<unsigned short>/29 13.2 ns 5.07 ns
BM_std_minmax<unsigned short>/30 13.1 ns 5.77 ns
BM_std_minmax<unsigned short>/31 13.9 ns 6.65 ns
BM_std_minmax<unsigned short>/32 13.9 ns 2.72 ns
BM_std_minmax<unsigned short>/64 27.8 ns 3.25 ns
BM_std_minmax<unsigned short>/512 220 ns 8.30 ns
BM_std_minmax<unsigned short>/1024 435 ns 14.1 ns
BM_std_minmax<unsigned short>/4000 1703 ns 49.8 ns
BM_std_minmax<unsigned short>/4096 1746 ns 47.9 ns
BM_std_minmax<unsigned short>/5500 2350 ns 69.9 ns
BM_std_minmax<unsigned short>/64000 27388 ns 953 ns
BM_std_minmax<unsigned short>/65536 28040 ns 975 ns
BM_std_minmax<unsigned short>/70000 29967 ns 1040 ns
BM_std_minmax<unsigned int>/1 0.712 ns 1.18 ns
BM_std_minmax<unsigned int>/2 0.965 ns 1.65 ns
BM_std_minmax<unsigned int>/3 2.13 ns 2.14 ns
BM_std_minmax<unsigned int>/4 2.09 ns 2.64 ns
BM_std_minmax<unsigned int>/5 3.02 ns 3.21 ns
BM_std_minmax<unsigned int>/6 2.94 ns 3.81 ns
BM_std_minmax<unsigned int>/7 3.91 ns 4.38 ns
BM_std_minmax<unsigned int>/8 3.75 ns 4.93 ns
BM_std_minmax<unsigned int>/9 4.71 ns 5.60 ns
BM_std_minmax<unsigned int>/10 4.59 ns 6.26 ns
BM_std_minmax<unsigned int>/11 5.57 ns 6.80 ns
BM_std_minmax<unsigned int>/12 5.43 ns 7.47 ns
BM_std_minmax<unsigned int>/13 6.45 ns 8.10 ns
BM_std_minmax<unsigned int>/14 6.32 ns 8.69 ns
BM_std_minmax<unsigned int>/15 7.29 ns 9.37 ns
BM_std_minmax<unsigned int>/16 7.12 ns 9.99 ns
BM_std_minmax<unsigned int>/17 8.24 ns 10.6 ns
BM_std_minmax<unsigned int>/18 8.00 ns 11.2 ns
BM_std_minmax<unsigned int>/19 8.94 ns 12.0 ns
BM_std_minmax<unsigned int>/20 8.91 ns 12.6 ns
BM_std_minmax<unsigned int>/21 9.73 ns 17.2 ns
BM_std_minmax<unsigned int>/22 9.75 ns 13.8 ns
BM_std_minmax<unsigned int>/23 10.6 ns 14.5 ns
BM_std_minmax<unsigned int>/24 10.6 ns 15.1 ns
BM_std_minmax<unsigned int>/25 11.5 ns 15.7 ns
BM_std_minmax<unsigned int>/26 11.4 ns 16.3 ns
BM_std_minmax<unsigned int>/27 12.3 ns 17.0 ns
BM_std_minmax<unsigned int>/28 12.3 ns 17.6 ns
BM_std_minmax<unsigned int>/29 13.2 ns 18.3 ns
BM_std_minmax<unsigned int>/30 13.2 ns 19.0 ns
BM_std_minmax<unsigned int>/31 14.0 ns 19.6 ns
BM_std_minmax<unsigned int>/32 14.0 ns 3.39 ns
BM_std_minmax<unsigned int>/64 27.6 ns 4.05 ns
BM_std_minmax<unsigned int>/512 221 ns 14.2 ns
BM_std_minmax<unsigned int>/1024 439 ns 25.5 ns
BM_std_minmax<unsigned int>/4000 1720 ns 96.3 ns
BM_std_minmax<unsigned int>/4096 1762 ns 97.8 ns
BM_std_minmax<unsigned int>/5500 2364 ns 146 ns
BM_std_minmax<unsigned int>/64000 27874 ns 1905 ns
BM_std_minmax<unsigned int>/65536 28012 ns 1961 ns
BM_std_minmax<unsigned int>/70000 29899 ns 2087 ns
BM_std_minmax<unsigned long long>/1 0.707 ns 1.18 ns
BM_std_minmax<unsigned long long>/2 0.909 ns 1.65 ns
BM_std_minmax<unsigned long long>/3 1.65 ns 2.70 ns
BM_std_minmax<unsigned long long>/4 1.93 ns 2.69 ns
BM_std_minmax<unsigned long long>/5 2.45 ns 3.34 ns
BM_std_minmax<unsigned long long>/6 2.78 ns 3.81 ns
BM_std_minmax<unsigned long long>/7 3.28 ns 4.43 ns
BM_std_minmax<unsigned long long>/8 3.70 ns 4.92 ns
BM_std_minmax<unsigned long long>/9 4.12 ns 5.64 ns
BM_std_minmax<unsigned long long>/10 4.44 ns 6.15 ns
BM_std_minmax<unsigned long long>/11 4.91 ns 6.81 ns
BM_std_minmax<unsigned long long>/12 5.31 ns 7.41 ns
BM_std_minmax<unsigned long long>/13 5.72 ns 7.96 ns
BM_std_minmax<unsigned long long>/14 6.05 ns 8.66 ns
BM_std_minmax<unsigned long long>/15 6.55 ns 9.37 ns
BM_std_minmax<unsigned long long>/16 6.89 ns 7.98 ns
BM_std_minmax<unsigned long long>/17 7.34 ns 8.13 ns
BM_std_minmax<unsigned long long>/18 7.73 ns 8.42 ns
BM_std_minmax<unsigned long long>/19 8.26 ns 8.63 ns
BM_std_minmax<unsigned long long>/20 8.54 ns 8.96 ns
BM_std_minmax<unsigned long long>/21 9.14 ns 9.37 ns
BM_std_minmax<unsigned long long>/22 9.39 ns 9.67 ns
BM_std_minmax<unsigned long long>/23 10.1 ns 10.1 ns
BM_std_minmax<unsigned long long>/24 10.4 ns 10.6 ns
BM_std_minmax<unsigned long long>/25 11.0 ns 11.3 ns
BM_std_minmax<unsigned long long>/26 11.3 ns 12.1 ns
BM_std_minmax<unsigned long long>/27 11.8 ns 14.2 ns
BM_std_minmax<unsigned long long>/28 12.1 ns 15.8 ns
BM_std_minmax<unsigned long long>/29 12.6 ns 17.4 ns
BM_std_minmax<unsigned long long>/30 13.1 ns 18.1 ns
BM_std_minmax<unsigned long long>/31 13.4 ns 18.8 ns
BM_std_minmax<unsigned long long>/32 13.8 ns 10.4 ns
BM_std_minmax<unsigned long long>/64 27.3 ns 15.5 ns
BM_std_minmax<unsigned long long>/512 222 ns 80.6 ns
BM_std_minmax<unsigned long long>/1024 443 ns 156 ns
BM_std_minmax<unsigned long long>/4000 1731 ns 591 ns
BM_std_minmax<unsigned long long>/4096 1752 ns 609 ns
BM_std_minmax<unsigned long long>/5500 2340 ns 819 ns
BM_std_minmax<unsigned long long>/64000 27166 ns 9652 ns
BM_std_minmax<unsigned long long>/65536 27869 ns 9876 ns
BM_std_minmax<unsigned long long>/70000 29920 ns 10680 ns
```
Commit: fc7087b7b7fa410e00f7abce5ea379a459af066b
https://github.com/llvm/llvm-project/commit/fc7087b7b7fa410e00f7abce5ea379a459af066b
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2024-04-06 (Sat, 06 Apr 2024)
Changed paths:
M libc/test/src/__support/CMakeLists.txt
A libc/test/src/__support/big_int_test.cpp
R libc/test/src/__support/uint_test.cpp
M utils/bazel/llvm-project-overlay/libc/test/src/__support/BUILD.bazel
Log Message:
-----------
[libc][NFC] Rename `uint_test` into `big_int_test` for consistency (#87875)
Commit: b88a1dd6c75754ace4abe18c8ea16a019f7b5529
https://github.com/llvm/llvm-project/commit/b88a1dd6c75754ace4abe18c8ea16a019f7b5529
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2024-04-06 (Sat, 06 Apr 2024)
Changed paths:
M libc/src/__support/FPUtil/dyadic_float.h
M libc/src/__support/big_int.h
M libc/test/src/__support/big_int_test.cpp
Log Message:
-----------
[libc] Make `BigInt` bitwise shift consistent with regular integral semantics. (#87874)
This patch removes the test for cases where the shift operand is greater
or equal to the bit width of the number. This is done for two reasons,
first it makes `BigInt` consistent with regular integral bitwise shift
semantics, and second it makes the shift operation faster. The shift
operation is on the critical path for `exp` and `log` operations, see
https://github.com/llvm/llvm-project/pull/86137#issuecomment-2034133868.
Commit: 7f9f82e3de94040ca6124a43f2d737201bd4a595
https://github.com/llvm/llvm-project/commit/7f9f82e3de94040ca6124a43f2d737201bd4a595
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2024-04-06 (Sat, 06 Apr 2024)
Changed paths:
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/include/ostream
M libcxx/include/print
M libcxx/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.formatted.print/locale-specific_form.pass.cpp
M libcxx/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.formatted.print/println.pass.cpp
M libcxx/test/std/input.output/iostream.format/print.fun/no_file_description.pass.cpp
A libcxx/test/std/input.output/iostream.format/print.fun/println.blank_line.sh.cpp
M libcxx/test/std/input.output/iostream.format/print.fun/println.file.pass.cpp
Log Message:
-----------
[libc++][format] P3142R0: Printing Blank Lines with `println` (#87277)
Implements https://wg21.link/P3142R0
Applied retroactively as DR, same as stdlibc++ and MS STL:
https://github.com/orgs/microsoft/projects/1143?pane=issue&itemId=57457187
Commit: bd589f5c7a079d8829fcf994b746634eaaea24ff
https://github.com/llvm/llvm-project/commit/bd589f5c7a079d8829fcf994b746634eaaea24ff
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2024-04-06 (Sat, 06 Apr 2024)
Changed paths:
M libc/src/__support/big_int.h
Log Message:
-----------
[libc] Move statement inside #ifdef/#endif to prevent unused variable warning
This is a fix forward for arm32
`/llvm/libc_worker/worker/libc-arm32-debian/libc-arm32-debian-dbg/llvm-project/libc/src/__support/big_int.h:259:20: error: unused variable 'TOTAL_BITS' [-Werror,-Wunused-variable]`
https://lab.llvm.org/buildbot/#/builders/229/builds/24791
Commit: 4cb110a84f587d3c65b85d79ab6fc8aa5489fb86
https://github.com/llvm/llvm-project/commit/4cb110a84f587d3c65b85d79ab6fc8aa5489fb86
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-04-06 (Sat, 06 Apr 2024)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/CodeGen/AtomicExpandPass.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/test/Assembler/atomic.ll
A llvm/test/Assembler/invalid-atomicrmw-scalable.ll
A llvm/test/Assembler/invalid-atomicrmw-xchg-fp-vector.ll
A llvm/test/CodeGen/AArch64/atomicrmw-fadd-fp-vector.ll
A llvm/test/CodeGen/X86/atomicrmw-fadd-fp-vector.ll
A llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomicrmw-fp-vector.ll
M llvm/unittests/IR/VerifierTest.cpp
Log Message:
-----------
[RFC] IR: Support atomicrmw FP ops with vector types (#86796)
Allow using atomicrmw fadd, fsub, fmin, and fmax with vectors of
floating-point type. AMDGPU supports atomic fadd for <2 x half> and <2 x
bfloat> on some targets and address spaces.
Note this only supports the proper floating-point operations; float
vector typed xchg is still not supported. cmpxchg still only supports
integers, so this inserts bitcasts for the loop expansion.
I have support for fp vector typed xchg, and vector of int/ptr
separately implemented but I don't have an immediate need for those
beyond feature consistency.
Commit: d38bff460acb4fe3156d90ec739da49344db14ca
https://github.com/llvm/llvm-project/commit/d38bff460acb4fe3156d90ec739da49344db14ca
Author: Sizov Nikita <s.nikita.v at gmail.com>
Date: 2024-04-06 (Sat, 06 Apr 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/aarch64-known-bits-hadd.ll
Log Message:
-----------
[AArch64] SimplifyDemandedBitsForTargetNode - add AArch64ISD::BICi handling (#76644)
Fold BICi if all destination bits are already known to be zeroes
```llvm
define <8 x i16> @haddu_known(<8 x i8> %a0, <8 x i8> %a1) {
%x0 = zext <8 x i8> %a0 to <8 x i16>
%x1 = zext <8 x i8> %a1 to <8 x i16>
%hadd = call <8 x i16> @llvm.aarch64.neon.uhadd.v8i16(<8 x i16> %x0, <8 x i16> %x1)
%res = and <8 x i16> %hadd, <i16 511, i16 511, i16 511, i16 511,i16 511, i16 511, i16 511, i16 511>
ret <8 x i16> %res
}
declare <8 x i16> @llvm.aarch64.neon.uhadd.v8i16(<8 x i16>, <8 x i16>)
```
```
haddu_known: // @haddu_known
ushll v0.8h, v0.8b, #0
ushll v1.8h, v1.8b, #0
uhadd v0.8h, v0.8h, v1.8h
bic v0.8h, #254, lsl #8 <-- this one will be removed as we know high bits are zero extended
ret
```
Fixes #53881
Fixes #53622
Commit: bd9486b4ec7dc24f73f32474fa38b522a7cce085
https://github.com/llvm/llvm-project/commit/bd9486b4ec7dc24f73f32474fa38b522a7cce085
Author: Martin Storsjö <martin at martin.st>
Date: 2024-04-06 (Sat, 06 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/call-arg-reduced-by-minbitwidth.ll
M llvm/test/Transforms/SLPVectorizer/X86/cmp-after-intrinsic-call-minbitwidth.ll
M llvm/test/Transforms/SLPVectorizer/X86/store-abs-minbitwidth.ll
Log Message:
-----------
Revert "[SLP]Improve minbitwidth analysis for abs/smin/smax/umin/umax intrinsics."
This reverts commit 66b528078e4852412769375e35d2a672bf36a0ec.
This commit caused miscompilations, breaking tests in the libyuv
testsuite - see
https://github.com/llvm/llvm-project/pull/86135#issuecomment-2041049709
for more details.
Commit: 5f7b133e320b4d856463c87da3167f70477ada63
https://github.com/llvm/llvm-project/commit/5f7b133e320b4d856463c87da3167f70477ada63
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-04-06 (Sat, 06 Apr 2024)
Changed paths:
M libc/src/math/generic/log1p.cpp
M libc/test/src/math/log1p_test.cpp
Log Message:
-----------
[libc][math] Update error bound for log1p to compensate for directional rounding. (#87893)
Commit: 7248c9feb9023335ae45265f59a8752da42fb4c4
https://github.com/llvm/llvm-project/commit/7248c9feb9023335ae45265f59a8752da42fb4c4
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-04-06 (Sat, 06 Apr 2024)
Changed paths:
M libc/hdr/math_macros.h
Log Message:
-----------
[libc] Adding FP_INT_* macro constants if missing in overlay mode. (#87880)
Commit: 8e98435ae9eb34f04c4b1b97975f152c4ba63ba3
https://github.com/llvm/llvm-project/commit/8e98435ae9eb34f04c4b1b97975f152c4ba63ba3
Author: darkbuck <michael.hliao at gmail.com>
Date: 2024-04-06 (Sat, 06 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/combine-extract-vec-elt.mir
Log Message:
-----------
[GISel][Combine] Enhance combining on G_BUILD_VECTOR
Reviewers: aemerson, arsenm
Reviewed By: arsenm
Pull Request: https://github.com/llvm/llvm-project/pull/87831
Commit: d5b48ceb74e3ef83487f7220c6e2130195c07cc6
https://github.com/llvm/llvm-project/commit/d5b48ceb74e3ef83487f7220c6e2130195c07cc6
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-06 (Sat, 06 Apr 2024)
Changed paths:
M llvm/test/Transforms/Attributor/nofpclass.ll
Log Message:
-----------
[ValueTracking] Add tests for non-constant idx for fpclass of `insertelement`; NFC
Commit: e4db938a4ed017432af95bef84a388e2a8a2c232
https://github.com/llvm/llvm-project/commit/e4db938a4ed017432af95bef84a388e2a8a2c232
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-06 (Sat, 06 Apr 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/Attributor/nofpclass.ll
Log Message:
-----------
[ValueTracking] Support non-constant idx for `computeKnownFPClass` of `insertelement`
Its same logic as before, we just need to intersect what we know about
the new Elt and the entire pre-existing Vec.
Closes #87708
Commit: c459a366d3e07ae220b96fb1aa4f69375d4b72ba
https://github.com/llvm/llvm-project/commit/c459a366d3e07ae220b96fb1aa4f69375d4b72ba
Author: Matthias Springer <me at m-sp.org>
Date: 2024-04-07 (Sun, 07 Apr 2024)
Changed paths:
M mlir/lib/Dialect/Arith/IR/ValueBoundsOpInterfaceImpl.cpp
M mlir/test/Dialect/Arith/value-bounds-op-interface-impl.mlir
Log Message:
-----------
[mlir][Arith] `ValueBoundsOpInterface`: Support `arith.select` (#87870)
This commit adds a `ValueBoundsOpInterface` implementation for
`arith.select`. The implementation is almost identical to `scf.if`
(#85895), but there is one special case: if the condition is a shaped
value, the selection is applied element-wise and the result shape can be
inferred from either operand.
Note: This is a re-upload of #86383.
Commit: 8389b3bf60ef3fbd04c6efc5ff4d4605d10e7fc5
https://github.com/llvm/llvm-project/commit/8389b3bf60ef3fbd04c6efc5ff4d4605d10e7fc5
Author: AtariDreams <gfunni234 at gmail.com>
Date: 2024-04-07 (Sun, 07 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86SelectionDAGInfo.cpp
M llvm/test/CodeGen/X86/memset-minsize.ll
Log Message:
-----------
[X86] Fix typo: QWORD alignment is greater than or equal to 8, not greater than 8 (#87819)
Align(8) is QWORD aligned, but this was checking to see if alignment was
greater than that, when it should have been checking for being greater
than OR EQUAL to Align(8).
This bug was introduced in
https://github.com/llvm/llvm-project/commit/6a6af30d433d7 during the
transition to the Align type.
Commit: d08a76d1ac1ba6b376faa908ccbaaabc999dfbc5
https://github.com/llvm/llvm-project/commit/d08a76d1ac1ba6b376faa908ccbaaabc999dfbc5
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-04-07 (Sun, 07 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/lib/Sema/SemaOverload.cpp
M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
Log Message:
-----------
Fix warnings discovered by #87348 [-Wunused-but-set-variable]
Commit: ba5dad35fbefec456eb9da0f7c5a0ad983a268b2
https://github.com/llvm/llvm-project/commit/ba5dad35fbefec456eb9da0f7c5a0ad983a268b2
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-04-07 (Sun, 07 Apr 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/include/llvm/Config/config.h
M utils/bazel/llvm_configs/config.h.cmake
Log Message:
-----------
[Bazel] Enable LLVM_VERSION_PRINTER_SHOW_BUILD_CONFIG (for #87585)
Commit: bc8726b16bacc1790cee9a27302f556f5ca7ba39
https://github.com/llvm/llvm-project/commit/bc8726b16bacc1790cee9a27302f556f5ca7ba39
Author: Jianjian Guan <jacquesguan at me.com>
Date: 2024-04-07 (Sun, 07 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
M llvm/test/CodeGen/RISCV/rvv/vfmv.v.f.ll
Log Message:
-----------
[RISCV] Support codegen of vfmv.v.f for bfloat vector with both Zvfbfmin and Zfbfmin (#87318)
vfmv, vfmerge should support bfloat vector when we have both Zvfbfmin
and Zfbfmin, this patch tries to support vfmv first.
Commit: ccc02563f4d620d4d29a1cbd2c463871cc54745b
https://github.com/llvm/llvm-project/commit/ccc02563f4d620d4d29a1cbd2c463871cc54745b
Author: Aviad Cohen <aviadcohen7 at gmail.com>
Date: 2024-04-07 (Sun, 07 Apr 2024)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
M mlir/lib/Dialect/Utils/StructuredOpsUtils.cpp
Log Message:
-----------
[mlir][linalg]: Fixed possible memory leak in cloneToCollapsedOp (#87595)
* Direct call to `clone` function leads to memory leak. Instead, we should use `RewriterBase` clone function instead.
Commit: a2c4b7c8e2740a83f141dcf06cf50359588190b9
https://github.com/llvm/llvm-project/commit/a2c4b7c8e2740a83f141dcf06cf50359588190b9
Author: Fabian Mora <fmora.dev at gmail.com>
Date: 2024-04-07 (Sun, 07 Apr 2024)
Changed paths:
M mlir/include/mlir/Target/LLVMIR/LLVMImportInterface.h
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
A mlir/test/Target/LLVMIR/Import/test.ll
M mlir/test/lib/Dialect/Test/CMakeLists.txt
A mlir/test/lib/Dialect/Test/TestFromLLVMIRTranslation.cpp
M mlir/tools/mlir-translate/mlir-translate.cpp
Log Message:
-----------
[mlir] Add `convertInstruction` and `getSupportedInstructions` to `LLVMImportInterface` (#86799)
This patch adds the `convertInstruction` and `getSupportedInstructions`
to `LLVMImportInterface`, allowing any non-LLVM dialect to specify how
to import LLVM IR instructions and overriding the default import of LLVM instructions.
Commit: 869797daca38941e0af3bcd8ae5300bcebf7b1a9
https://github.com/llvm/llvm-project/commit/869797daca38941e0af3bcd8ae5300bcebf7b1a9
Author: David Green <david.green at arm.com>
Date: 2024-04-07 (Sun, 07 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
Log Message:
-----------
[VectorCombine] Add a debug message for foldShuffleOfCastop. NFC
This optimization, much like the existing foldShuffleOfBinops can cause a
lot of regressions. Add a quick debug message to make the costs are more
obvious.
Commit: da5a86b53e7d6e7ff7407b16c2c869894493ee99
https://github.com/llvm/llvm-project/commit/da5a86b53e7d6e7ff7407b16c2c869894493ee99
Author: Jacob Lifshay <programmerjake at gmail.com>
Date: 2024-04-07 (Sun, 07 Apr 2024)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
[IR] Fix typo in trunc nuw semantics; NFC (#87285)
Commit: 8f01d3ff44779105966404d17e2d1b7b487ddb2e
https://github.com/llvm/llvm-project/commit/8f01d3ff44779105966404d17e2d1b7b487ddb2e
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-07 (Sun, 07 Apr 2024)
Changed paths:
M libcxx/docs/Status/FormatIssues.csv
M libcxx/docs/Status/FormatPaper.csv
Log Message:
-----------
[libc++][doc] Updates format status page.
Commit: 7a4e89761a13bfad27a2614ecea5e8698f50336c
https://github.com/llvm/llvm-project/commit/7a4e89761a13bfad27a2614ecea5e8698f50336c
Author: Danny Mösch <danny.moesch at icloud.com>
Date: 2024-04-07 (Sun, 07 Apr 2024)
Changed paths:
M clang-tools-extra/clang-tidy/readability/AvoidReturnWithVoidValueCheck.cpp
M clang-tools-extra/clang-tidy/readability/BracesAroundStatementsCheck.cpp
M clang-tools-extra/clang-tidy/readability/BracesAroundStatementsCheck.h
A clang-tools-extra/clang-tidy/utils/BracesAroundStatement.cpp
A clang-tools-extra/clang-tidy/utils/BracesAroundStatement.h
M clang-tools-extra/clang-tidy/utils/CMakeLists.txt
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/readability/avoid-return-with-void-value.cpp
Log Message:
-----------
[clang-tidy] Add fix-its to `readability-avoid-return-with-void-value` check (#81420)
Commit: 298f8f73e1d861f8b839477c6edc941ca994922d
https://github.com/llvm/llvm-project/commit/298f8f73e1d861f8b839477c6edc941ca994922d
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-04-07 (Sun, 07 Apr 2024)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/TreeTransform.h
M clang/utils/TableGen/MveEmitter.cpp
Log Message:
-----------
[clang][NFC] Remove "Sema" prefix from Sema-related functions (#87914)
@AaronBallman once noted that this prefix is a historical accident, and
shouldn't be there. I agree.
Commit: a61252419779a6d4a5ebf71e7e2fc4adc75cfddd
https://github.com/llvm/llvm-project/commit/a61252419779a6d4a5ebf71e7e2fc4adc75cfddd
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-07 (Sun, 07 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/RISCV/reductions.ll
M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-drop-wrapping-flags.ll
M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-transformed-operand.ll
Log Message:
-----------
[SLP]Fix the cost of the reduction result to the final type.
Need to fix the way the cost is calculated, otherwise wrong cast opcode
can be selected and lead to the over-optimistic vector cost. Plus, need
to take into account reduction type size.
Reviewers: RKSimon
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/87528
Commit: c91254db1dcace869f4d3f1ac659bdd7700a1459
https://github.com/llvm/llvm-project/commit/c91254db1dcace869f4d3f1ac659bdd7700a1459
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2024-04-07 (Sun, 07 Apr 2024)
Changed paths:
M compiler-rt/CMakeLists.txt
M compiler-rt/cmake/Modules/AddCompilerRT.cmake
M compiler-rt/test/CMakeLists.txt
M compiler-rt/test/fuzzer/lit.cfg.py
M compiler-rt/test/lit.common.cfg.py
M compiler-rt/test/lit.common.configured.in
M compiler-rt/test/safestack/lit.cfg.py
Log Message:
-----------
[compiler-rt] Allow running tests without installing first
Currently, the testsuite uses the default runtimes path to find the
runtimes libraries which may or may not match the just-built runtimes.
This change uses the `-resource-dir` flag for clang whenever
`COMPILER_RT_TEST_STANDALONE_BUILD_LIBS` is set to ensure that we are
actually testing the currently built libraries rather than the ones
bundled with `${COMPILER_RT_TEST_COMPILER}`.
The existing logic works fine when clang and compiler-rt share the same
build directory ``-DLLVM_ENABLE_PROJECTS=clang;compiler-rt`, but when
building compiler-rt separately we need to tell the compiler used for
the tests where it can find the just-built libraries.
This reduces the fixes check-all failures to one in my configuration:
```
cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -G Ninja
-DCMAKE_C_COMPILER=$HOME/output/upstream-llvm/bin/clang
-DCMAKE_CXX_COMPILER=$HOME/output/upstream-llvm/bin/clang++
-DCOMPILER_RT_INCLUDE_TESTS=ON
-DLLVM_EXTERNAL_LIT=$HOME/build/upstream-llvm-project-build/bin/llvm-lit
-DLLVM_CMAKE_DIR=$HOME/output/upstream-llvm
-DCOMPILER_RT_DEBUG=OFF
-S $HOME/src/upstream-llvm-project/compiler-rt
-B $HOME/src/upstream-llvm-project/compiler-rt/cmake-build-all-sanitizers
```
Reviewed By: vitalybuka, delcypher, MaskRay
Pull Request: https://github.com/llvm/llvm-project/pull/83088
Commit: d57d09477996e50237e2fc949bd5b747259b0012
https://github.com/llvm/llvm-project/commit/d57d09477996e50237e2fc949bd5b747259b0012
Author: David Green <david.green at arm.com>
Date: 2024-04-07 (Sun, 07 Apr 2024)
Changed paths:
A llvm/test/Analysis/CostModel/AArch64/shuffle-store.ll
Log Message:
-----------
[AArch64] Add test for LD2/LD3/LD4 shuffle cost models. NFC
Commit: 10b1864dff816174cd83fb2d3bc622e25fcf0f8a
https://github.com/llvm/llvm-project/commit/10b1864dff816174cd83fb2d3bc622e25fcf0f8a
Author: Alex Richardson <alexrichardson at google.com>
Date: 2024-04-07 (Sun, 07 Apr 2024)
Changed paths:
M compiler-rt/CMakeLists.txt
Log Message:
-----------
[compiler-rt] Do not add -rpath to linker args on Windows
This is not supported. Should hopefully fix Windows CI after
commit c91254db1dcace869f4d3f1ac659bdd7700a1459.
Commit: a3bb9c2b06666e2f4eb005179ca7eef3313b6be5
https://github.com/llvm/llvm-project/commit/a3bb9c2b06666e2f4eb005179ca7eef3313b6be5
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-04-07 (Sun, 07 Apr 2024)
Changed paths:
M lldb/cmake/caches/Apple-lldb-Linux.cmake
M llvm/cmake/modules/AddLLVM.cmake
Log Message:
-----------
[cmake] Prevent implicitly passing `-no_exported_symbols` (#87846)
* It is possible to setup llvm-project builds without going through
`llvm/CMakeList.txt` so the fatal error handling should be smarter.
* Disable option on Apple style lldb-linux builds.
Commit: 3f16ff4e68552951cf39b2f1c707df64d7c8ec59
https://github.com/llvm/llvm-project/commit/3f16ff4e68552951cf39b2f1c707df64d7c8ec59
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-07 (Sun, 07 Apr 2024)
Changed paths:
M llvm/lib/ProfileData/MemProf.cpp
Log Message:
-----------
[memprof] Use static instead of anonymous namespaces (#87889)
This patch replaces anonymous namespaces with static as per LLVM
Coding Standards.
Commit: 15d11a4de9f62fd8fc6bdb888e32c9e4b86d0cdd
https://github.com/llvm/llvm-project/commit/15d11a4de9f62fd8fc6bdb888e32c9e4b86d0cdd
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-04-07 (Sun, 07 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
Log Message:
-----------
[VPlan] Track IsOrdered in VPReductionRecipe, remove use of ILV (NFCI).
Instead of using ILV.useOrderedReductions during ::execute, instead
store the information at recipe construction.
Another step towards making recipe'::execute independent of legacy ILV.
Commit: 943db678dadd6088629d08ec3e582bea0595f2d2
https://github.com/llvm/llvm-project/commit/943db678dadd6088629d08ec3e582bea0595f2d2
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-04-07 (Sun, 07 Apr 2024)
Changed paths:
M clang/lib/Format/FormatTokenSource.h
M clang/lib/Format/UnwrappedLineParser.cpp
Log Message:
-----------
[clang-format][NFC] Add getNextNonComment() to FormatTokenSource (#87868)
Commit: 649523f6f7b67604034a8af5d8ca6830fcd64aab
https://github.com/llvm/llvm-project/commit/649523f6f7b67604034a8af5d8ca6830fcd64aab
Author: Lang Hames <lhames at gmail.com>
Date: 2024-04-07 (Sun, 07 Apr 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/Core.h
M llvm/lib/ExecutionEngine/Orc/Core.cpp
Log Message:
-----------
[ORC] Add an ExecutionSession state verifier.
Add an ExecutionSession state verifier, enabled under EXPENSIVE_CHECKS, that can
be used to identify inconsistent session state to assist in tracking down bugs.
This initial version was motivated by investigation of the EDU-update bug that
was fixed in a671ceec334.
rdar://125376708
Commit: 4d1bb7699bfa62ca113dcfabe6da8eae74fe7372
https://github.com/llvm/llvm-project/commit/4d1bb7699bfa62ca113dcfabe6da8eae74fe7372
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-07 (Sun, 07 Apr 2024)
Changed paths:
M llvm/lib/ProfileData/InstrProfWriter.cpp
A llvm/test/tools/llvm-profdata/memprof-merge-v0.test
Log Message:
-----------
[memprof] Fix a typo in writeMemProfV1 (#87890)
This patch borrows memprof-merge.test to test --memprof-version.
Commit: da675b922cca3dc9a76642d792e882979a3d8c82
https://github.com/llvm/llvm-project/commit/da675b922cca3dc9a76642d792e882979a3d8c82
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-04-07 (Sun, 07 Apr 2024)
Changed paths:
A llvm/test/CodeGen/RISCV/prolog-epilogue.ll
A llvm/test/CodeGen/RISCV/stack-offset.ll
Log Message:
-----------
[RISCV] Expand test coverage of stack offsets between 2^11 and 2^15
Adds two sets of tests. First, one for prolog/epilogue insertions where
the second stack adjustment can be done with shNadd for zba. Second, a
set of tests with offsets off SP in the same ranges, but also adding
varying alignments.
Commit: cebf77fb936a7270c7e3fa5c4a7e76216321d385
https://github.com/llvm/llvm-project/commit/cebf77fb936a7270c7e3fa5c4a7e76216321d385
Author: Haohai Wen <haohai.wen at intel.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/MachineBasicBlock.cpp
M llvm/test/CodeGen/X86/fsafdo_test1.ll
Log Message:
-----------
[CodeGen][DebugInfo] Add missing DebugLoc for SplitCriticalEdge (#72192)
In SplitCriticalEdge, DebugLoc of the branch instruction in new created
MBB was set to empty. It should be set and we can find proper DebugLoc
for it in most cases. This patch set it to non empty merged DebugLoc of
current MBB branches.
Commit: 739fa1c84b92b8af7dceedf2e5ad808a64e85a57
https://github.com/llvm/llvm-project/commit/739fa1c84b92b8af7dceedf2e5ad808a64e85a57
Author: Carlos Alberto Enciso <carlos.alberto.enciso at gmail.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/include/llvm/Support/GenericLoopInfo.h
M llvm/include/llvm/Transforms/Utils/LoopUtils.h
M llvm/lib/Transforms/Utils/LoopUtils.cpp
A llvm/test/Transforms/IndVarSimplify/pr51735-1.ll
A llvm/test/Transforms/IndVarSimplify/pr51735-2.ll
A llvm/test/Transforms/IndVarSimplify/pr51735-3.ll
A llvm/test/Transforms/IndVarSimplify/pr51735.ll
Log Message:
-----------
[indvars] Missing variables at Og: (#69920)
https://bugs.llvm.org/show_bug.cgi?id=51735
https://github.com/llvm/llvm-project/issues/51077
In the given test case:
```
4 ...
5 void bar() {
6 int End = 777;
7 int Index = 27;
8 char Var = 1;
9 for (; Index < End; ++Index)
10 ;
11 nop(Index);
12 }
13 ...
```
Missing local variable `Index` after loop `Induction Variable Elimination`. When adding a breakpoint at line `11`, LLDB does not have information on the variable. But it has info on `Var` and `End`.
Commit: f3b55973645d551d67af7662b815a5f415874ff7
https://github.com/llvm/llvm-project/commit/f3b55973645d551d67af7662b815a5f415874ff7
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/test/CodeGen/RISCV/rvv/vmv-copy.mir
M llvm/test/CodeGen/RISCV/rvv/zvlsseg-copy.mir
Log Message:
-----------
[RISCV] Use larger copies when register tuples are aligned
When the encoding of register tuples are aligned, we can use a copy
with larger LMUL to reduce copies.
Reviewers: preames, topperc, lukel97
Reviewed By: topperc, lukel97
Pull Request: https://github.com/llvm/llvm-project/pull/84455
Commit: 006aaf32258fc27656c936f6aad729e4c77e3847
https://github.com/llvm/llvm-project/commit/006aaf32258fc27656c936f6aad729e4c77e3847
Author: Lang Hames <lhames at gmail.com>
Date: 2024-04-07 (Sun, 07 Apr 2024)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/Core.cpp
Log Message:
-----------
[ORC] Replace some KV loop variables with structured bindings.
This allows us to remove a lot of boilerplate .first and .second references
and improve readability.
Coding my way home: 1.58814S, 91.93889W
Commit: 91189afef5fb887699da88e0ed46bdf3421d4bce
https://github.com/llvm/llvm-project/commit/91189afef5fb887699da88e0ed46bdf3421d4bce
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/include/llvm/Support/GenericLoopInfo.h
M llvm/include/llvm/Transforms/Utils/LoopUtils.h
M llvm/lib/Transforms/Utils/LoopUtils.cpp
R llvm/test/Transforms/IndVarSimplify/pr51735-1.ll
R llvm/test/Transforms/IndVarSimplify/pr51735-2.ll
R llvm/test/Transforms/IndVarSimplify/pr51735-3.ll
R llvm/test/Transforms/IndVarSimplify/pr51735.ll
Log Message:
-----------
Revert "[indvars] Missing variables at Og: (#69920)"
This reverts commit 739fa1c84b92b8af7dceedf2e5ad808a64e85a57.
This introduces a layering violation by using IR in Support headers.
Commit: 73ddb2a7471986a7ed600dbea14efc60f0d0db47
https://github.com/llvm/llvm-project/commit/73ddb2a7471986a7ed600dbea14efc60f0d0db47
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.h
M llvm/lib/Target/RISCV/RISCVRegisterInfo.h
M llvm/lib/Target/RISCV/RISCVRegisterInfo.td
Log Message:
-----------
[RISCV] Store VLMul/NF into RegisterClass's TSFlags
This TSFlags was introduced by https://reviews.llvm.org/D108767.
A base class of all RISCV RegisterClass is added and we store
IsVRegClass/VLMul/NF into TSFlags and add helpers to get them.
This can reduce some lines and I think there will be more usages.
Reviewers: preames, topperc
Reviewed By: topperc
Pull Request: https://github.com/llvm/llvm-project/pull/84894
Commit: b80e51ce4d90a3443f98fe5413171392ae768597
https://github.com/llvm/llvm-project/commit/b80e51ce4d90a3443f98fe5413171392ae768597
Author: Christian Sigg <csigg at google.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
[mlir][bazel] Fix BUILD after a2c4b7c8e2740a83f141dcf06cf50359588190b9.
Commit: fdd023612ce401d7a1a310fcad2477d19e1d0a5e
https://github.com/llvm/llvm-project/commit/fdd023612ce401d7a1a310fcad2477d19e1d0a5e
Author: Lang Hames <lhames at gmail.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/Core.cpp
Log Message:
-----------
Revert "[ORC] Replace some KV loop variables with structured bindings."
This reverts commit 006aaf32258fc27656c936f6aad729e4c77e3847 while I
investigate some bot failures (See e.g.
https://lab.llvm.org/buildbot/#/builders/109/builds/86659).
Commit: 9ffecef1c651a5c1a3f284b3257ec01ff526b49c
https://github.com/llvm/llvm-project/commit/9ffecef1c651a5c1a3f284b3257ec01ff526b49c
Author: Prashant Kumar <pk5561 at gmail.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
Log Message:
-----------
[mlir][vector][NFC] Fix typo temp -> tmp. (#87878)
Commit: eaa063f0c6d51a3b561bc2007fe95420949f42d1
https://github.com/llvm/llvm-project/commit/eaa063f0c6d51a3b561bc2007fe95420949f42d1
Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M clang/test/Driver/riscv-profiles.c
Log Message:
-----------
[RISCV] Remove duplicated --target
Commit: 110c22fe127f0c8c0d8acfddd123b9e9423d087a
https://github.com/llvm/llvm-project/commit/110c22fe127f0c8c0d8acfddd123b9e9423d087a
Author: Bevin Hansson <59652494+bevin-hansson at users.noreply.github.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/ExpandLargeFpConvert.cpp
M llvm/test/CodeGen/AMDGPU/fptoi.i128.ll
A llvm/test/CodeGen/AMDGPU/itofp.i128.bf.ll
M llvm/test/CodeGen/AMDGPU/itofp.i128.ll
Log Message:
-----------
[ExpandLargeFpConvert] Support bfloat. (#87619)
The conversion expansions did not properly handle bfloat types.
I'm not certain that these expansions are completely correct;
I don't have any experience with AMDGPU or the ability to run
anything to test it.
Note that it doesn't seem like AMDGPU with GlobalISel can
handle fptrunc of float to bfloat, which is needed for itofp.
I've omitted the GISEL run for the bfloat case.
This fixes #85379.
Commit: 2084a07087a55b55bb3c2a8aafbe1c4464fdf796
https://github.com/llvm/llvm-project/commit/2084a07087a55b55bb3c2a8aafbe1c4464fdf796
Author: Saiyedul Islam <Saiyedul.Islam at amd.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M compiler-rt/CMakeLists.txt
M compiler-rt/cmake/Modules/AddCompilerRT.cmake
M compiler-rt/test/CMakeLists.txt
M compiler-rt/test/fuzzer/lit.cfg.py
M compiler-rt/test/lit.common.cfg.py
M compiler-rt/test/lit.common.configured.in
M compiler-rt/test/safestack/lit.cfg.py
Log Message:
-----------
Revert "[compiler-rt] Allow running tests without installing first"
This reverts commit c91254db1dcace869f4d3f1ac659bdd7700a1459.
It was throwing error:
g++: error: unrecognized command line option ‘-resource-dir=
Commit: ac321cbb0350996ceef4e6d9e8a1035880609288
https://github.com/llvm/llvm-project/commit/ac321cbb0350996ceef4e6d9e8a1035880609288
Author: David Green <david.green at arm.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
M llvm/include/llvm/Target/GlobalISel/SelectionDAGCompat.td
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/lib/Target/AArch64/AArch64Combine.td
M llvm/lib/Target/AArch64/AArch64InstrAtomics.td
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/arm64-fallback.ll
M llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll
M llvm/test/CodeGen/AArch64/GlobalISel/combine-build-vector.mir
M llvm/test/CodeGen/AArch64/GlobalISel/combine-extract-vec-elt.mir
M llvm/test/CodeGen/AArch64/GlobalISel/combine-icmp-to-lhs-known-bits.mir
M llvm/test/CodeGen/AArch64/GlobalISel/combine-insert-vec-elt.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-cmp.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-extract-vector-elt.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-insert-vector-elt.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-phi.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-shuffle-splat.mir
M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizer-combiner-icmp-to-true-false-known-bits.mir
M llvm/test/CodeGen/AArch64/GlobalISel/regbank-insert-vector-elt.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-insert-vector-elt.mir
M llvm/test/CodeGen/AArch64/aarch64-bit-gen.ll
M llvm/test/CodeGen/AArch64/aarch64-minmaxv.ll
M llvm/test/CodeGen/AArch64/arm64-neon-copy.ll
M llvm/test/CodeGen/AArch64/insertextract.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-extract-vector-load.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-non-integral-address-spaces-vectors.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-extract-vector-elt.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-extractelement-crash.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-insert-vector-elt.mir
M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/insertelement.ll
M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/shufflevector.ll
Log Message:
-----------
[AArch64][GlobalISel] Legalize Insert vector element (#81453)
This attempts to standardize and extend some of the insert vector
element lowering. Most notably:
- More types are handled by splitting illegal vectors.
- The index type for G_INSERT_VECTOR_ELT is canonicalized to
TLI.getVectorIdxTy(), similar to extact_vector_element.
- Some of the existing patterns now have the index type specified to
make sure they can apply to GISel too.
- The C++ selection code has been removed, relying on tablegen patterns.
- G_INSERT_VECTOR_ELT with small GPR input elements are pre-selected to
use a i32 type, allowing the existing patterns to apply.
- Variable index inserts are lowered in post-legalizer lowering,
expanding into a stack store and reload.
Commit: 9fd2e2c2fd0dbd5d11a5899bd6bb4db0fd3f2c35
https://github.com/llvm/llvm-project/commit/9fd2e2c2fd0dbd5d11a5899bd6bb4db0fd3f2c35
Author: David Green <david.green at arm.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/test/CodeGen/AArch64/sve-nontemporal-masked-ldst.ll
Log Message:
-----------
[DAG][AArch64] Support masked loads/stores with nontemporal flags (#87608)
SVE has some non-temporal masked loads and stores. The metadata coming
from the nodes is not copied to the MMO at the moment though, meaning it
will generate a normal instruction. This patch ensures that the right
flags are set if the instruction has non-temporal metadata.
Commit: 81a7b6454e195f2051b76d9e5b1f0c430df0f502
https://github.com/llvm/llvm-project/commit/81a7b6454e195f2051b76d9e5b1f0c430df0f502
Author: Billy Zhu <billyzhu at modular.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M mlir/lib/Target/LLVMIR/DebugImporter.cpp
M mlir/lib/Target/LLVMIR/DebugImporter.h
M mlir/lib/Target/LLVMIR/DebugTranslation.cpp
M mlir/test/Target/LLVMIR/Import/debug-info.ll
M mlir/test/Target/LLVMIR/llvmir-debug.mlir
Log Message:
-----------
[MLIR][LLVM] Recursion importer handle repeated self-references (#87295)
Followup to this discussion:
https://github.com/llvm/llvm-project/pull/80251#discussion_r1535599920.
The previous debug importer was correct but inefficient. For cases with
mutual recursion that contain more than one back-edge, each back-edge
would result in a new translated instance. This is because the previous
implementation never caches any translated result with unbounded
self-references. This means all translation inside a recursive context
is performed from scratch, which will incur repeated run-time cost as
well as repeated attribute sub-trees in the translated IR (differing
only in their `recId`s).
This PR refactors the importer to handle caching inside a recursive
context.
- In the presence of unbound self-refs, the translation result is cached
in a separate cache that keeps track of the set of dependent unbound
self-refs.
- A dependent cache entry is valid only when all the unbound self-refs
are in scope. Whenever a cached entry goes out of scope, it will be
removed the next time it is looked up.
Commit: 8ddfb66903969224ebd4e10c1461d2be323f4798
https://github.com/llvm/llvm-project/commit/8ddfb66903969224ebd4e10c1461d2be323f4798
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Lower/DirectivesCommon.h
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/PPCIntrinsicCall.cpp
M flang/test/Lower/Intrinsics/maskl.f90
M flang/test/Lower/Intrinsics/maskr.f90
Log Message:
-----------
[flang] Fix MASKR/MASKL lowering for INTEGER(16) (#87496)
The all one masks was not properly created for i128 types because
builder.createIntegerConstant ended-up truncating -1 to something
positive.
Add a builder.createAllOnesInteger/createMinusOneInteger helpers and use
them where createIntegerConstant(..., -1) was used.
Add an assert in createIntegerConstant to catch negative numbers for
i128 type.
Commit: 3c210d1cfdf4d8cd56de70fa40d01398e29044dc
https://github.com/llvm/llvm-project/commit/3c210d1cfdf4d8cd56de70fa40d01398e29044dc
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M flang/docs/Extensions.md
Log Message:
-----------
[flang][NFC] document BOZ error in DIM, MOD, MODULO, and SIGN (#87779)
It is highly ambiguous to what type BOZ should be resolved in DIM, MOD,
MODULO, and SIGN intrinsic arguments. Some other compilers accept them,
but none agree. See table below.
List them explicitly as non supported extensions (semantics already
reject them, this is an NFC).
Table listing the resolved types of the intrinsic results when there is
a BOZ argument:
| | gfortran | nvfortran | ifort | nagfor | xlf |
| ------------------- | -------- | --------- | ----- | ------ | ------ |
| DIM(INT4, BOZ) | INT16 | INT4 | INT8 | crash | INT4 |
| DIM(BOZ, REAL4) | error | INT8 | error | error | REAL4 |
| DIM(REAL4, BOZ) | error | REAL4 | error | error | REAL4 |
| DIM(BOZ, INT4) | INT16 | INT8 | INT8 | INT8 | INT4 |
| DIM(BOZ, BOZ) | INT16 | INT8 | INT8 | INT8 | REAL4 |
| MOD(INT4, BOZ) | INT16 | INT4 | INT8 | crash | INT4 |
| MOD(BOZ, REAL4) | error | INT8 | error | error | REAL4 |
| MOD(REAL4, BOZ) | error | REAL4 | error | error | REAL4 |
| MOD(BOZ, INT4) | INT16 | INT8 | INT8 | INT8 | INT4 |
| MOD(BOZ, BOZ) | INT16 | INT8 | INT8 | INT8 | INT4 |
| MODULO(INT4, BOZ) | INT16 | INT4 | INT8 | crash | INT4 |
| MODULO(BOZ, REAL4) | error | INT8 | error | error | REAL4 |
| MODULO(REAL4, BOZ) | error | REAL4 | error | error | REAL4 |
| MODULO(BOZ, INT4) | INT16 | INT8 | INT8 | INT8 | INT4 |
| MODULO(BOZ, BOZ) | INT16 | INT8 | INT8 | INT8 | INT8 |
| SIGN(INT4, BOZ) | error | INT4 | INT8 | INT4 | INT4 |
| SIGN(BOZ, REAL4) | error | INT8 | error | error | REAL4 |
| SIGN(REAL4, BOZ) | error | REAL4 | error | error | REAL4 |
| SIGN(BOZ, INT4) | error | INT8 | INT8 | INT8 | INT4 |
| SIGN(BOZ, BOZ) | INT16 | INT8 | INT8 | INT8 | REAL4 |
Commit: 0bfea40101c10f80ee35d7fbfd4459e98cdb289c
https://github.com/llvm/llvm-project/commit/0bfea40101c10f80ee35d7fbfd4459e98cdb289c
Author: David Green <david.green at arm.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/test/Analysis/CostModel/AArch64/shuffle-other.ll
M llvm/test/Analysis/CostModel/AArch64/shuffle-store.ll
Log Message:
-----------
[AArch64] More shuffle-store test cases. NFC
Commit: 6a7da2e30dc38ba92875bfe1da5520c950bab1e3
https://github.com/llvm/llvm-project/commit/6a7da2e30dc38ba92875bfe1da5520c950bab1e3
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M flang/lib/Lower/Allocatable.cpp
A flang/test/Lower/allocate-source-allocatables-2.f90
Log Message:
-----------
[flang] Fix source allocation to explicit length after deferred length object (#87785)
Flang supports source allocation to allocatable or pointers with a non
deferred length that do not match the source length. This documented at:
https://github.com/llvm/llvm-project/blob/9708d0900311503aa4685d6810d8caf0412e15d7/flang/docs/Extensions.md?plain=1#L312
The current lowering code was bugged when such explicit length allocate
object appeared after a deferred length object in the source allocation
list:
Since "lenParams" had been computed when generating allocation of the
deferred length object, the call to genSetDeferredLengthParameters was
not a no-op on when lowering the explicit length allocation, and the
explicit length was overridden with the source length.
The output of the program added in test was:
```
ZZheZZ
ZZhelloZZ
ZZhelloZZ
```
Instead of:
```
ZZheZZ
ZZhelloZZ
ZZhello ZZ
```
Skip genSetDeferredLengthParameters when the allocate object has non
deferred length.
Commit: 364028a1a51689d2b33d3ec50c426fbeac269679
https://github.com/llvm/llvm-project/commit/364028a1a51689d2b33d3ec50c426fbeac269679
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M clang/test/Driver/riscv-profiles.c
M clang/test/Preprocessor/riscv-target-features.c
M llvm/docs/RISCVUsage.rst
M llvm/lib/Support/RISCVISAInfo.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZcmop.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZimop.td
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/CodeGen/RISCV/rv32zimop-intrinsic.ll
M llvm/test/CodeGen/RISCV/rv64zimop-intrinsic.ll
M llvm/test/MC/RISCV/attribute-arch.s
M llvm/test/MC/RISCV/compressed-zicfiss.s
M llvm/test/MC/RISCV/rv32zcmop-invalid.s
M llvm/test/MC/RISCV/rv32zimop-invalid.s
M llvm/test/MC/RISCV/rvzcmop-valid.s
M llvm/test/MC/RISCV/rvzimop-valid.s
M llvm/unittests/Support/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Zimop/Zcmop are ratified
Remove them from experimental.
See also:
https://github.com/riscv/riscv-isa-manual/blob/main/src/zimop.adoc
Reviewers: kito-cheng
Reviewed By: kito-cheng
Pull Request: https://github.com/llvm/llvm-project/pull/87966
Commit: 221f438af1c1292d787b58da99a5a7b371888456
https://github.com/llvm/llvm-project/commit/221f438af1c1292d787b58da99a5a7b371888456
Author: Mats Petersson <mats.petersson at arm.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
M flang/lib/Lower/OpenMP/ReductionProcessor.h
A flang/test/Lower/OpenMP/parallel-reduction-complex-mul.f90
A flang/test/Lower/OpenMP/parallel-reduction-complex.f90
Log Message:
-----------
[flang][OpenMP] Add support for complex reductions (#87488)
This adds support for complex type to the OpenMP reductions.
Note that some more work would be needed to give decent error messages when complex
is used in ways that need client supplied functions (e.g. MAX or MIN). It does fail these with
a not so user friendly message at present.
Commit: cf7d36fe342c5c5ac39150ca0b4b70a3d17ae66b
https://github.com/llvm/llvm-project/commit/cf7d36fe342c5c5ac39150ca0b4b70a3d17ae66b
Author: Zentrik <Zentrik at users.noreply.github.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
M llvm/lib/Transforms/Scalar/NewGVN.cpp
Log Message:
-----------
[NFC] Fix misspellings of effects (#87795)
Commit: 170c525d79a4ab3659041b0655ac9697768fc915
https://github.com/llvm/llvm-project/commit/170c525d79a4ab3659041b0655ac9697768fc915
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/avx512-insert-extract.ll
M llvm/test/CodeGen/X86/insertelement-var-index.ll
M llvm/test/CodeGen/X86/movmsk-cmp.ll
M llvm/test/CodeGen/X86/pr63439.ll
M llvm/test/CodeGen/X86/pr64439.ll
M llvm/test/CodeGen/X86/vec_cast.ll
Log Message:
-----------
[X86] combineExtractVectorElt - fold extract(trunc(x),c) -> trunc(extract(x,c))
Commit: 8461d901a770516cf2069fe3bce979a6f8fc8d76
https://github.com/llvm/llvm-project/commit/8461d901a770516cf2069fe3bce979a6f8fc8d76
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M libclc/CMakeLists.txt
Log Message:
-----------
[libclc] Restore linking against dynamic libLLVM for out-of-tree builds
This fixes a regression where building against an installation without
the static libraries would fail. This just reinstates the old behaviour
for out-of-tree builds, assuming that in-tree builds (which still aren't
officially supported) will have the static libraries available. We can
refine this as we move towards supporting in-tree builds.
Commit: c2067c1f471ac54312cb5e1e0efd4ea5fd21cc79
https://github.com/llvm/llvm-project/commit/c2067c1f471ac54312cb5e1e0efd4ea5fd21cc79
Author: Balázs Kéri <balazs.keri at ericsson.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M clang/docs/analyzer/checkers.rst
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
M clang/test/Analysis/analyzer-config.c
M clang/test/Analysis/std-c-library-functions-vs-stream-checker.c
M clang/test/Analysis/stream-errno-note.c
M clang/test/Analysis/stream-errno.c
M clang/test/Analysis/stream-error.c
M clang/test/Analysis/stream-note.c
A clang/test/Analysis/stream-pedantic.c
M clang/test/Analysis/stream-stdlibraryfunctionargs.c
M clang/test/Analysis/stream.c
Log Message:
-----------
[clang][analyzer] Add "pedantic" mode to StreamChecker. (#87322)
The checker may create failure branches for all stream write operations
only if the new option "pedantic" is set to true.
Result of the write operations is often not checked in typical code. If
failure branches are created the checker will warn for unchecked write
operations and generate a lot of "false positives" (these are valid
warnings but the programmer does not care about this problem).
Commit: 2abd71ec51079d84a29639389dc9a66edd4909e5
https://github.com/llvm/llvm-project/commit/2abd71ec51079d84a29639389dc9a66edd4909e5
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M mlir/lib/Target/LLVMIR/DebugImporter.cpp
Log Message:
-----------
[mlir] Fix -Wunused-variable in DebugImporter.cpp (NFC)
llvm-project/mlir/lib/Target/LLVMIR/DebugImporter.cpp:377:10:
error: unused variable '[_, inserted]' [-Werror,-Wunused-variable]
auto [_, inserted] = dependentCache.try_emplace(
^
1 error generated.
Commit: 8b3b4a92adee40483c27f26c478a384cd69c6f05
https://github.com/llvm/llvm-project/commit/8b3b4a92adee40483c27f26c478a384cd69c6f05
Author: Luke Lau <luke at igalia.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Fix canFoldToVWWithSameExtension allowing different FP extensions (#87978)
Commit: 5a855d51272608e2122c45d86676aa2247a11d19
https://github.com/llvm/llvm-project/commit/5a855d51272608e2122c45d86676aa2247a11d19
Author: Hirofumi Nakamura <k.nakamura.hirofumi at gmail.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M clang/unittests/Format/FormatTestTableGen.cpp
Log Message:
-----------
[clang-format] Added unittest of TableGen formatting w.r.t. block type calculation. (#87924)
Commit: 86b0918e8e5f8e1aacebf4ba8901fc66aed3412f
https://github.com/llvm/llvm-project/commit/86b0918e8e5f8e1aacebf4ba8901fc66aed3412f
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
Log Message:
-----------
[LinkerWrapper] Do not include config files for device linking (#87659)
Summary:
The device linking phase only wants to create the necessary commands to
emit the device binary. There were issues where the user's default
config file was being used and passing incompatible arguments to the
device compilation step. Simply disable this since we do not want any
additional arguments to these clang invocations.
Commit: acb2a475766b621fe7e5d792ff7948a5794c3e87
https://github.com/llvm/llvm-project/commit/acb2a475766b621fe7e5d792ff7948a5794c3e87
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-fdiv.ll
Log Message:
-----------
AMDGPU: Regenerate test checks
Commit: fc9a5076c31139878da2fa12ef16090a58d55782
https://github.com/llvm/llvm-project/commit/fc9a5076c31139878da2fa12ef16090a58d55782
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/test/tools/llvm-reduce/reduce-flags.ll
M llvm/tools/llvm-reduce/deltas/ReduceInstructionFlags.cpp
Log Message:
-----------
llvm-reduce: Reduce nuw/nsw flags from trunc
Commit: 38f996bb2bc4f922c7b441d730ab3a3ad2fa1506
https://github.com/llvm/llvm-project/commit/38f996bb2bc4f922c7b441d730ab3a3ad2fa1506
Author: Malay Sanghi <malay.sanghi at intel.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/MachinePipeliner.cpp
Log Message:
-----------
Replace copy with a reference. (#87975)
Commit: 8cb642bf18bfd3e6e8576f4f090fa584f68bb0cc
https://github.com/llvm/llvm-project/commit/8cb642bf18bfd3e6e8576f4f090fa584f68bb0cc
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/GlobalISel/call-translator-tail-call-sret.ll
M llvm/test/CodeGen/AArch64/GlobalISel/constant-dbg-loc.ll
M llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-store-metadata.ll
M llvm/test/CodeGen/X86/GlobalISel/irtranslator-callingconv.ll
Log Message:
-----------
GlobalISel: Regenerate test checks
Commit: 95f984f37e390a6d2e8a4b0852ea4d5a83126287
https://github.com/llvm/llvm-project/commit/95f984f37e390a6d2e8a4b0852ea4d5a83126287
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
Log Message:
-----------
ValueTracking: Don't use unnecessary null checked dyn_cast
Commit: 8c6e0459c49da298f3b911fc3699c2254a20d882
https://github.com/llvm/llvm-project/commit/8c6e0459c49da298f3b911fc3699c2254a20d882
Author: bahareh-farhadi <53280095+bahareh-farhadi at users.noreply.github.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M clang/unittests/Interpreter/InterpreterExtensionsTest.cpp
Log Message:
-----------
[zOS] Turn CLANG_INTERPRETER_PLATFORM_CANNOT_CREATE_LLJIT on for zOS (#87797)
PR
[https://github.com/llvm/llvm-project/pull/84461](https://github.com/llvm/llvm-project/pull/84461)
disabled `clang/unittests/Interpreter/InterpreterExtensionsTest.cpp` for
AIX by turning on `CLANG_INTERPRETER_PLATFORM_CANNOT_CREATE_LLJIT`.
This PR turns `CLANG_INTERPRETER_PLATFORM_CANNOT_CREATE_LLJIT` on for
zOS as well, since LLJIT cannot be created on zOS either.
Co-authored-by: Bahareh <bahareh.farhadi at ibm.com>
Commit: eb07600f8eff793664a4d6b181e6f31de1f5f973
https://github.com/llvm/llvm-project/commit/eb07600f8eff793664a4d6b181e6f31de1f5f973
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
Log Message:
-----------
[NewPM] support `disablePass`, `insertPass` in `CodeGenPassBuilder` (#87147)
Currently only machine function passes support `insertPass`, but it
seems to be enough, all targets tune their pipelines when adding machine
function passes.
Commit: 662c62609e8ee2dc996da69e11c0d594e799c299
https://github.com/llvm/llvm-project/commit/662c62609e8ee2dc996da69e11c0d594e799c299
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
M mlir/test/Dialect/Arith/invalid.mlir
Log Message:
-----------
[mlir][arith] Refine the verifier for arith.constant (#86178)
Disallows initialization of scalable vectors with an attribute of
arbitrary values, e.g.:
```mlir
%c = arith.constant dense<[0, 1]> : vector<[2] x i32>
```
Initialization using vector splats remains allowed (i.e. when all the
init values are identical):
```mlir
%c = arith.constant dense<[1, 1]> : vector<[2] x i32>
```
Commit: 4308c7422d12c8a7efe6cf1c5c6136e54ba410ce
https://github.com/llvm/llvm-project/commit/4308c7422d12c8a7efe6cf1c5c6136e54ba410ce
Author: Nathan Sidwell <nathan at acm.org>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M bolt/lib/Core/Relocation.cpp
Log Message:
-----------
[BOLT][NFC] Refactor relocation arch selection (#87829)
Convert the relocation routines to switch on architecture and have an explicit unreachable default.
Commit: f6357bb4283e72d1248b9c7eb67d98bea71d5f50
https://github.com/llvm/llvm-project/commit/f6357bb4283e72d1248b9c7eb67d98bea71d5f50
Author: Nathan Sidwell <nathan at acm.org>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/docs/CMake.rst
Log Message:
-----------
[llvm][docs] Resort cmake macros (#87551)
The cmake macro documentation had once again become unsorted. For names
of the form 'PREFIX_{list-or-category}_SUFFIX' I collate as 'PREFIX_SUFFIX'.
Commit: 2921a0928c71f4ee652a2478283e47ab5ffebf58
https://github.com/llvm/llvm-project/commit/2921a0928c71f4ee652a2478283e47ab5ffebf58
Author: Jefferson Le Quellec <jefferson.lequellec at codeplay.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/test/Driver/cuda-external-tools.cu
Log Message:
-----------
Make the argument -Xcuda-ptxas visible to the driver in cl-mode
It has been noticed that the arguments are being passed twice to ptxas.
This also has been fixed by filtering out the arguments before appending
them to the new DAL created by CudaToolChain::TranslateArgs.
github:https://github.com/llvm/llvm-project/pull/86807
Commit: a4c84d6ac1014b00257618663a243419630ff626
https://github.com/llvm/llvm-project/commit/a4c84d6ac1014b00257618663a243419630ff626
Author: Adrian Kuegel <akuegel at google.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M mlir/test/mlir-tblgen/op-decl-and-defs.td
M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
Log Message:
-----------
[mlir] Only inline if properties are used.
This is a followup to 0f52f4ddd909eb38f2a691ffed8469263fe5f635
It breaks dialects that don't use properties yet.
Commit: 0832b85e0f5b684ad2e5eaf29911ca806eb0db3d
https://github.com/llvm/llvm-project/commit/0832b85e0f5b684ad2e5eaf29911ca806eb0db3d
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/test/Transforms/Attributor/nofpclass.ll
Log Message:
-----------
ValueTracking: Add baseline tests for vector fpclass handling
Commit: 2bc637b1ce935550b6e09618c76474253943a7cc
https://github.com/llvm/llvm-project/commit/2bc637b1ce935550b6e09618c76474253943a7cc
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/Attributor/nofpclass.ll
M llvm/unittests/Analysis/ValueTrackingTest.cpp
Log Message:
-----------
ValueTracking: Handle ConstantAggregateZero in computeKnownFPClass
Commit: 0e8736694f752898ed7957a11a11c42f8f6a98d1
https://github.com/llvm/llvm-project/commit/0e8736694f752898ed7957a11a11c42f8f6a98d1
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M clang/lib/AST/TextNodeDumper.cpp
Log Message:
-----------
TextNodeDumper.cpp - remove empty switch to fix MSVC "switch statement contains 'default' but no 'case' labels" warning. NFC.
Commit: f139387fb6e76a5249e8d7c2d124565e6b566ef4
https://github.com/llvm/llvm-project/commit/f139387fb6e76a5249e8d7c2d124565e6b566ef4
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M clang/lib/InstallAPI/DiagnosticBuilderWrappers.cpp
Log Message:
-----------
Fix MSVC "not all control paths return a value" warning. NFC.
Commit: bdf428af9825e684d9ed22d0137a456c131389f7
https://github.com/llvm/llvm-project/commit/bdf428af9825e684d9ed22d0137a456c131389f7
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/Attributor/nofpclass.ll
Log Message:
-----------
ValueTracking: Consider demanded elts for vector constants in computeKnownFPClass
Commit: 40327a628ace90870c7caa0db448a0f2d9863df0
https://github.com/llvm/llvm-project/commit/40327a628ace90870c7caa0db448a0f2d9863df0
Author: Andrzej Warzynski <andrzej.warzynski at arm.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
M mlir/test/Dialect/Arith/invalid.mlir
Log Message:
-----------
Revert "[mlir][arith] Refine the verifier for arith.constant (#86178)"
This reverts commit 662c62609e8ee2dc996da69e11c0d594e799c299.
Broken both:
* https://lab.llvm.org/buildbot/#/builders/61/builds/56565
Commit: 8ccf1c117b0dc08f7e9c24fe98f45ebe32e95cd1
https://github.com/llvm/llvm-project/commit/8ccf1c117b0dc08f7e9c24fe98f45ebe32e95cd1
Author: Kevin P. Neal <kevin.neal at sas.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/test/CodeGen/X86/strict-fadd-combines.ll
M llvm/test/CodeGen/X86/strict-fsub-combines.ll
Log Message:
-----------
[FPEnv][X86] Correct strictfp tests. (#87791)
Correct strictfp tests to follow the rules documented in the LangRef:
https://llvm.org/docs/LangRef.html#constrained-floating-point-intrinsics
These tests needed the strictfp attribute added to some function
definitions. FP wait instructions now appear as a result.
Test changes verified with D146845.
Commit: f46f6465062bd6ddc96e3838c50e1a0f85f92dd4
https://github.com/llvm/llvm-project/commit/f46f6465062bd6ddc96e3838c50e1a0f85f92dd4
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M libclc/CMakeLists.txt
Log Message:
-----------
[libclc] Fix spirv build dependencies
These were accidentally broken in 61efea7.
Thanks to @mgorny and @rjodinchr for spotting this.
Commit: 4c718fdbeacfc3385a493349b66b61c857b8e772
https://github.com/llvm/llvm-project/commit/4c718fdbeacfc3385a493349b66b61c857b8e772
Author: Yusra Syeda <99052248+ysyeda at users.noreply.github.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/include/llvm/Object/GOFF.h
M llvm/include/llvm/Object/GOFFObjectFile.h
M llvm/lib/Object/GOFFObjectFile.cpp
M llvm/unittests/Object/GOFFObjectFileTest.cpp
Log Message:
-----------
[SystemZ][z/OS] TXT records in the GOFF reader (#87648)
This PR adds handling for TXT records in the GOFF reader.
---------
Co-authored-by: Yusra Syeda <yusra.syeda at ibm.com>
Commit: 1107b47dcd145518c7b811bf10e2b848782b0478
https://github.com/llvm/llvm-project/commit/1107b47dcd145518c7b811bf10e2b848782b0478
Author: Edwin Vane <revane at google.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming.cpp
Log Message:
-----------
[clang-tidy] rename designated initializers (#86976)
readability-identifier-naming now supports renaming designated
initializers.
Commit: 312b9297bb9284bddb36980f64661c24c876eef0
https://github.com/llvm/llvm-project/commit/312b9297bb9284bddb36980f64661c24c876eef0
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M libc/test/UnitTest/LibcDeathTestExecutors.cpp
Log Message:
-----------
[libc] Increase timeout for death tests. (#87959)
Fix test timeout on RISCV bots.
Fixes https://github.com/llvm/llvm-project/issues/87096
Commit: ed1b24bf8b76871ab00f365d8dc066b3f7f76202
https://github.com/llvm/llvm-project/commit/ed1b24bf8b76871ab00f365d8dc066b3f7f76202
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M flang/include/flang/Runtime/freestanding-tools.h
M flang/lib/Decimal/decimal-to-binary.cpp
Log Message:
-----------
[flang][runtime] Added simplified std::toupper implementation. (#87850)
Commit: 4a1c53f9fabbc18d436dcd4d5b572b82656fbbf9
https://github.com/llvm/llvm-project/commit/4a1c53f9fabbc18d436dcd4d5b572b82656fbbf9
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/call-arg-reduced-by-minbitwidth.ll
M llvm/test/Transforms/SLPVectorizer/X86/cmp-after-intrinsic-call-minbitwidth.ll
M llvm/test/Transforms/SLPVectorizer/X86/store-abs-minbitwidth.ll
Log Message:
-----------
[SLP]Improve minbitwidth analysis for abs/smin/smax/umin/umax intrinsics.
https://alive2.llvm.org/ce/z/ivPZ26 for the abs transformations.
Reviewers: RKSimon
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/86135
Commit: b439140e2982dd77ef28a9069e16ae77bbe2bc5a
https://github.com/llvm/llvm-project/commit/b439140e2982dd77ef28a9069e16ae77bbe2bc5a
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M libclc/CMakeLists.txt
Log Message:
-----------
[libclc] Fix more spirv build dependencies
The last fix was incomplete.
Commit: 26fee0ff1251fa70babaf419c08383e7ec71c56c
https://github.com/llvm/llvm-project/commit/26fee0ff1251fa70babaf419c08383e7ec71c56c
Author: Erich Keane <ekeane at nvidia.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/TreeTransform.h
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/ParserOpenACC/parse-clauses.cpp
M clang/test/ParserOpenACC/parse-wait-clause.c
Log Message:
-----------
[OpenACC] Implement Sema work for OpenACC Clauses (#87821)
Now that we have AST nodes for OpenACC Clauses, this patch adds their
creation to Sema and makes the Parser call all the required functions.
This also redoes TreeTransform to work with the clauses/make sure they
are transformed.
Much of this is NFC, since there is no clause we can test this behavior
with. However, there IS one noticable change; we are now no longer
diagnosing that a clause is 'not implemented' unless it there was no
errors parsing its parameters. This is because it cleans up how we
create and diagnose clauses.
Commit: 4d6e67f677bdf40360e6aaba171bcdec93990b01
https://github.com/llvm/llvm-project/commit/4d6e67f677bdf40360e6aaba171bcdec93990b01
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M clang/lib/Parse/ParseOpenACC.cpp
Log Message:
-----------
Fix build issue committed in 26fee0ff12
I brain-farted on how assert works :)
Commit: f6315a957232b2f5c27476138e3f4e552861f956
https://github.com/llvm/llvm-project/commit/f6315a957232b2f5c27476138e3f4e552861f956
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64LoopIdiomTransform.cpp
M llvm/test/Transforms/LoopIdiom/AArch64/byte-compare-index.ll
Log Message:
-----------
[AArch64][LoopIdiom] Disable LoopIdiomTransform when NoImplicitFloat is present (#87677)
This behavior is aligned with both LoopVectorizer and SLPVectorizer.
Commit: 78c50bbd45de595e9992bf97aa097f7f589f8370
https://github.com/llvm/llvm-project/commit/78c50bbd45de595e9992bf97aa097f7f589f8370
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC]Remove unused variable, NFC.
Commit: 54c24ec976a52f6ad8499a1a337d7ae2ab84e88d
https://github.com/llvm/llvm-project/commit/54c24ec976a52f6ad8499a1a337d7ae2ab84e88d
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M libc/cmake/modules/LLVMLibCCheckMPFR.cmake
M libc/utils/MPFRWrapper/CMakeLists.txt
Log Message:
-----------
[libc] remove MPFR and related tests in full build (#87693)
In full build mode, the fuzzing tests fail to build. This PR disabled MPFR related tests in full build
```
[2/4] Building CXX object projects/libc/fuzzing/stdio/CMakeFiles/libc.fuzzing.stdio.printf_float_conv_fuzz.dir/printf_float_conv_fuzz.cpp.o
FAILED: projects/libc/fuzzing/stdio/CMakeFiles/libc.fuzzing.stdio.printf_float_conv_fuzz.dir/printf_float_conv_fuzz.cpp.o
/usr/bin/clang++ -DLIBC_NAMESPACE=__llvm_libc_19_0_0_git -I/home/schrodingerzy/Documents/llvm/llvm-project/build/projects/libc/fuzzing/stdio -I/home/schrodingerzy/Documents/llvm/llvm-project/libc/fuzzing/stdio -I/home/schrodingerzy/Documents/llvm/llvm-project/libc -isystem /home/schrodingerzy/Documents/llvm/llvm-project/build/projects/libc/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -fsanitize=fuzzer -O2 -g -DNDEBUG -std=c++17 -MD -MT projects/libc/fuzzing/stdio/CMakeFiles/libc.fuzzing.stdio.printf_float_conv_fuzz.dir/printf_float_conv_fuzz.cpp.o -MF projects/libc/fuzzing/stdio/CMakeFiles/libc.fuzzing.stdio.printf_float_conv_fuzz.dir/printf_float_conv_fuzz.cpp.o.d -o projects/libc/fuzzing/stdio/CMakeFiles/libc.fuzzing.stdio.printf_float_conv_fuzz.dir/printf_float_conv_fuzz.cpp.o -c /home/schrodingerzy/Documents/llvm/llvm-project/libc/fuzzing/stdio/printf_float_conv_fuzz.cpp
In file included from /home/schrodingerzy/Documents/llvm/llvm-project/libc/fuzzing/stdio/printf_float_conv_fuzz.cpp:19:
In file included from /home/schrodingerzy/Documents/llvm/llvm-project/libc/utils/MPFRWrapper/mpfr_inc.h:21:
In file included from /usr/include/mpfr.h:53:
In file included from /usr/include/gmp.h:35:
In file included from /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/iosfwd:38:
In file included from /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/bits/requires_hosted.h:31:
In file included from /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/x86_64-pc-linux-gnu/bits/c++config.h:679:
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/x86_64-pc-linux-gnu/bits/os_defines.h:44:5: error: function-like macro '__GLIBC_PREREQ' is not defined
44 | #if __GLIBC_PREREQ(2,15) && defined(_GNU_SOURCE)
| ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/x86_64-pc-linux-gnu/bits/os_defines.h:55:5: error: function-like macro '__GLIBC_PREREQ' is not defined
55 | #if __GLIBC_PREREQ(2, 26) \
| ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/x86_64-pc-linux-gnu/bits/os_defines.h:66:6: error: function-like macro '__GLIBC_PREREQ' is not defined
66 | # if __GLIBC_PREREQ(2, 27)
| ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/x86_64-pc-linux-gnu/bits/os_defines.h:78:6: error: function-like macro '__GLIBC_PREREQ' is not defined
78 | # if __GLIBC_PREREQ(2, 34)
| ^
In file included from /home/schrodingerzy/Documents/llvm/llvm-project/libc/fuzzing/stdio/printf_float_conv_fuzz.cpp:19:
In file included from /home/schrodingerzy/Documents/llvm/llvm-project/libc/utils/MPFRWrapper/mpfr_inc.h:21:
In file included from /usr/include/mpfr.h:53:
In file included from /usr/include/gmp.h:35:
In file included from /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/iosfwd:42:
In file included from /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/bits/postypes.h:40:
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/cwchar:64:11: error: no member named 'mbstate_t' in the global namespace
64 | using ::mbstate_t;
| ~~^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/cwchar:143:11: error: no member named 'btowc' in the global namespace
143 | using ::btowc;
| ~~^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/cwchar:144:11: error: no member named 'fgetwc' in the global namespace
144 | using ::fgetwc;
| ~~^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/cwchar:145:11: error: no member named 'fgetws' in the global namespace
145 | using ::fgetws;
| ~~^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/cwchar:146:11: error: no member named 'fputwc' in the global namespace
146 | using ::fputwc;
| ~~^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/cwchar:147:11: error: no member named 'fputws' in the global namespace
147 | using ::fputws;
| ~~^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/cwchar:148:11: error: no member named 'fwide' in the global namespace
148 | using ::fwide;
| ~~^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/cwchar:149:11: error: no member named 'fwprintf' in the global namespace
149 | using ::fwprintf;
| ~~^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/cwchar:150:11: error: no member named 'fwscanf' in the global namespace
150 | using ::fwscanf;
| ~~^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/cwchar:151:11: error: no member named 'getwc' in the global namespace
151 | using ::getwc;
| ~~^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/cwchar:152:11: error: no member named 'getwchar' in the global namespace
152 | using ::getwchar;
| ~~^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/cwchar:153:11: error: no member named 'mbrlen' in the global namespace
153 | using ::mbrlen;
| ~~^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/cwchar:154:11: error: no member named 'mbrtowc' in the global namespace
154 | using ::mbrtowc;
| ~~^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/cwchar:155:11: error: no member named 'mbsinit' in the global namespace
155 | using ::mbsinit;
| ~~^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/cwchar:156:11: error: no member named 'mbsrtowcs' in the global namespace
156 | using ::mbsrtowcs;
| ~~^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
```
Commit: 896b5e55711121b3de4630fe1412b50d96061c1c
https://github.com/llvm/llvm-project/commit/896b5e55711121b3de4630fe1412b50d96061c1c
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M flang/lib/Semantics/check-cuda.cpp
M flang/test/Semantics/cuf09.cuf
Log Message:
-----------
[flang][cuda] Allow list-directed PRINT and WRITE stmt in device code (#87415)
The specification allow list-directed PRINT and WRITE statements to
appear in device code. This patch relax the semantic check to allow
them.
3.6.11.
List-directed PRINT and WRITE statements to the default unit may be used
when compiling for compute capability 2.0 and higher; all other uses of
PRINT and WRITE are disallowed.
Commit: 39f6d015ddd69717ff1f9b817bce84d621d37731
https://github.com/llvm/llvm-project/commit/39f6d015ddd69717ff1f9b817bce84d621d37731
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.h
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
Log Message:
-----------
[RISCV] Eliminate getVLENFactoredAmount and expose muladd [nfc] (#87881)
This restructures the code to make the fact that most of
getVLENFactoredAmount is just a generic multiply w/immediate more
obvious and prepare for a couple of upcoming enhancements to this code.
Note that I plan to switch mulImm to early return, but decided I'd do
that as a separate commit to keep this diff readable.
---------
Co-authored-by: Luke Lau <luke_lau at icloud.com>
Commit: d345f6a25343f926f55e70b442dfa507ba31b597
https://github.com/llvm/llvm-project/commit/d345f6a25343f926f55e70b442dfa507ba31b597
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M clang/include/clang/Sema/Sema.h
A clang/include/clang/Sema/SemaHLSL.h
M clang/lib/Parse/ParseHLSL.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaHLSL.cpp
Log Message:
-----------
[clang] Introduce `SemaHLSL` (#87912)
This patch introduces `SemaHLSL` class, and moves some HLSL-related
functions there. No functional changes intended.
Removing "HLSL" from function names inside `SemaHLSL` is left for a
subsequent PR by HLSL contributors, if they deem that desirable.
This is a part of the effort to split `Sema` into smaller manageable
parts, and follows the example of OpenACC. See #82217, #84184, #87634
for additional context.
Commit: 93e2a9ab1b28e1b89d30b89dc2d5bb6f8cc66dc9
https://github.com/llvm/llvm-project/commit/93e2a9ab1b28e1b89d30b89dc2d5bb6f8cc66dc9
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
A clang/test/CXX/drs/dr605.cpp
A clang/test/CXX/drs/dr650.cpp
A clang/test/CXX/drs/dr653.cpp
A clang/test/CXX/drs/dr658.cpp
A clang/test/CXX/drs/dr661.cpp
A clang/test/CXX/drs/dr672.cpp
M clang/test/CXX/drs/dr6xx.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[clang] Add CodeGen tests for CWG 6xx issues (#87876)
This patch covers
[CWG605](https://cplusplus.github.io/CWG/issues/605.html) "Linkage of
explicit specializations",
[CWG650](https://cplusplus.github.io/CWG/issues/650.html) "Order of
destruction for temporaries bound to the returned value of a function",
[CWG653](https://cplusplus.github.io/CWG/issues/653.html) "Copy
assignment of unions",
[CWG658](https://cplusplus.github.io/CWG/issues/658.html) "Defining
`reinterpret_cast` for pointer types",
[CWG661](https://cplusplus.github.io/CWG/issues/661.html) "Semantics of
arithmetic comparisons",
[CWG672](https://cplusplus.github.io/CWG/issues/672.html) "Sequencing of
initialization in _new-expression_s".
[CWG624](https://cplusplus.github.io/CWG/issues/624.html) "Overflow in
calculating size of allocation" and
[CWG668](https://cplusplus.github.io/CWG/issues/668.html) "Throwing an
exception from the destructor of a local static object" are marked as
requiring libc++abi tests.
Commit: ea2392ed33f765018002f833da9a04cd0571ab83
https://github.com/llvm/llvm-project/commit/ea2392ed33f765018002f833da9a04cd0571ab83
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M libcxx/test/std/input.output/iostream.format/print.fun/println.blank_line.sh.cpp
Log Message:
-----------
[libc++][format] Fixed `println.blank_line.sh.cpp` test on llvm-clang-win-x-* configurations (#88011)
Fix for issue:
https://github.com/llvm/llvm-project/pull/87277#issuecomment-2041864530
The test fails on the windows to linux cross builders. The proposed
resolution is to print some text. The issue is possibly due to the
original test outputting a single `\n` character.
Commit: 977c0a6d29fe836f75b64a6f08a58cb3c00a56d9
https://github.com/llvm/llvm-project/commit/977c0a6d29fe836f75b64a6f08a58cb3c00a56d9
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
A llvm/test/Analysis/LoopAccessAnalysis/non-constant-strides-backward.ll
A llvm/test/Analysis/LoopAccessAnalysis/non-constant-strides-forward.ll
A llvm/test/Analysis/LoopAccessAnalysis/positive-dependence-distance-different-access-sizes.ll
A llvm/test/Transforms/LoopLoadElim/non-const-distance.ll
Log Message:
-----------
[LAA] Add tests with non-constant strides & distances.
Add a number of LAA test cases with both forward and backward
dependences with non-constant strides and dependence distances.
This includes test coverage for
https://github.com/llvm/llvm-project/issues/87336
Also includes a LoopLoadElimination test to make sure the pass does not
crash on non-constant dependence distances.
Commit: 125c9cf1b2f5d1b33884ddcd33ce983b2e927d2f
https://github.com/llvm/llvm-project/commit/125c9cf1b2f5d1b33884ddcd33ce983b2e927d2f
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
A clang/test/CXX/drs/dr593.cpp
M clang/test/CXX/drs/dr5xx.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[clang] Add test for CWG593 (#87752)
[CWG593](https://cplusplus.github.io/CWG/issues/593.html) "Falling off
the end of a destructor's function-try-block handler". As usual with CWG
issues resolved as NAD, we test for status-quo confirmed by CWG.
Commit: fd2ffc1cbf51a75884369ec9253f47ae2fdba83c
https://github.com/llvm/llvm-project/commit/fd2ffc1cbf51a75884369ec9253f47ae2fdba83c
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M clang/lib/Sema/SemaExprCXX.cpp
M clang/test/SemaCXX/type-traits.cpp
Log Message:
-----------
[clang] Reject incomplete types in `__is_layout_compatible()` (#87869)
This is a follow-up to #81506. As discussed in #87737, we're rejecting
incomplete types, save for exceptions listed in the C++ standard (`void`
and arrays of unknown bound). Note that arrays of unknown bound of
incomplete types are accepted.
Since we're happy with the current behavior of this intrinsic for
flexible array members
(https://github.com/llvm/llvm-project/pull/87737#discussion_r1553652570),
I added a couple of tests for that as well.
Commit: eeedb1e962977caeb699ef9aa714c8878c4d62d2
https://github.com/llvm/llvm-project/commit/eeedb1e962977caeb699ef9aa714c8878c4d62d2
Author: Kevin P. Neal <kevin.neal at sas.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/test/CodeGen/X86/i128-fpconv-win64-strict.ll
Log Message:
-----------
[FPEnv][X86] Correct one more strictfp test.
Correct a strictfp test to follow the rules documented in the
LangRef:
https://llvm.org/docs/LangRef.html#constrained-floating-point-intrinsics
This test needed the strictfp attribute added to some function
definitions. FP wait instructions now appear as a result. The need
for the wait instructions is explained by Andy Kaylor in PR#87791:
https://github.com/llvm/llvm-project/pull/87791
Test changes verified with D146845.
Commit: 92ecc22b8d18ad937053177533bd23c775556be6
https://github.com/llvm/llvm-project/commit/92ecc22b8d18ad937053177533bd23c775556be6
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M flang/lib/Semantics/resolve-names.cpp
Log Message:
-----------
[flang] Fix crash in semantics on bad program (#87199)
Don't accept a putative statement function definition for a symbol that
is a subprogram but can't possibly be a statement function.
Fixes https://github.com/llvm/llvm-project/issues/86936.
Commit: b685597c0373882e58dabf587581d00989e40f71
https://github.com/llvm/llvm-project/commit/b685597c0373882e58dabf587581d00989e40f71
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M flang/lib/Evaluate/fold-reduction.h
A flang/test/Evaluate/folding32.f90
Log Message:
-----------
[flang] Fix crash in reduction folding (#87201)
A reduction folding template assumed lower bounds were 1.
Fixes https://github.com/llvm/llvm-project/issues/86935.
Commit: af61d08280a90becb5a710a812f0d3d6485737a8
https://github.com/llvm/llvm-project/commit/af61d08280a90becb5a710a812f0d3d6485737a8
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Semantics/resolve29.f90
Log Message:
-----------
[flang] Handle forward reference to shadowing derived type from IMPLICIT (#87280)
A derived type name in an IMPLICIT statement might be a host association
or it might be a forward reference to a local derived type, which may be
shadowing a host-associated name. Add a scan over the specification part
in search of derived type definitions to determine the right
interpretation.
Fixes https://github.com/llvm/llvm-project/issues/87215.
Commit: aace1e1719a1610ce9fa93c7dae38a4272d7b6bf
https://github.com/llvm/llvm-project/commit/aace1e1719a1610ce9fa93c7dae38a4272d7b6bf
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M flang/include/flang/Parser/char-block.h
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Semantics/resolve21.f90
Log Message:
-----------
[flang] Improve error message with declaration (#87294)
When a program attempts to use a non-object entity as the base of a
component reference or type parameter inquiry, the message is somewhat
uninformative and the position of the entity's declaration will not
reflect any updates made to the symbol during name resolution.
Includes some NFC C++17 style clean-up on some code noticed while
debugging (missing mandatory braces).
Commit: 97e3f605d5b574899d9f012032349bbf84c4dcfb
https://github.com/llvm/llvm-project/commit/97e3f605d5b574899d9f012032349bbf84c4dcfb
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M flang/docs/Extensions.md
M flang/lib/Semantics/check-call.cpp
A flang/test/Semantics/intrinsics04.f90
Log Message:
-----------
[flang] Don't allow non-standard data conversions of potentially abse… (#87391)
…nt arguments
Arguments to the intrinsic functions MAX and MIN after the first two are
optional. When these actual arguments might not be present at run time,
emit a compilation time error if they require data conversion (a
non-standard but nearly universal language extension); such a conversion
would crash if the argument was absent.
Other compilers either disallow data conversions entirely on MAX/MIN or
crash at run time if a converted argument is absent.
Fixes https://github.com/llvm/llvm-project/issues/87046.
Commit: e1ad2735c3e7b0af94159f585458c7383255f03e
https://github.com/llvm/llvm-project/commit/e1ad2735c3e7b0af94159f585458c7383255f03e
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M flang/include/flang/Evaluate/common.h
M flang/lib/Evaluate/check-expression.cpp
M flang/lib/Evaluate/fold-implementation.h
M flang/lib/Evaluate/fold-integer.cpp
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Semantics/mod-file.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/module/iso_fortran_env.f90
A flang/test/Semantics/numeric_storage_size.f90
M flang/tools/f18/CMakeLists.txt
Log Message:
-----------
[flang] Clean up ISO_FORTRAN_ENV, fix NUMERIC_STORAGE_SIZE (#87566)
Address TODOs in the intrinsic module ISO_FORTRAN_ENV, and extend the
implementation of NUMERIC_STORAGE_SIZE so that the calculation of its
value is deferred until it is needed so that the effects of
-fdefault-integer-8 or -fdefault-real-8 are reflected. Emit a warning
when NUMERIC_STORAGE_SIZE is used from the module file and the default
integer and real sizes do not match.
Fixes https://github.com/llvm/llvm-project/issues/87476.
Commit: 89eb1a5a8e35a3bb77e4a1ca4fcac6757efc9339
https://github.com/llvm/llvm-project/commit/89eb1a5a8e35a3bb77e4a1ca4fcac6757efc9339
Author: Daniil Kovalev <dkovalev at accesssoftek.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/elf-globals-static.ll
M llvm/test/CodeGen/AArch64/tagged-globals-pic.ll
Log Message:
-----------
[test][AArch64][CodeGen] Delete redundant check lines (#87965)
llvm/test/CodeGen/AArch64/elf-globals-pic.ll:
Since https://reviews.llvm.org/D91734, elf-globals-static.ll test
contains several `CHECK-PIC` lines. They do not seem to bring any value
since there are no FileCheck run lines checking against this prefix. The
right place for such tests should be elf-globals-pic.ll, which already
contains check lines being deleted in this commit. Both
elf-globals-pic.ll and elf-globals-static.ll were created after
splitting arm64-elf-globals.ll in 6dbd0ea, and having `CHECK-PIC` lines
in elf-globals-static.ll seems like an issue occurred because of git
thinking that elf-globals-pic.ll is a new file and elf-global-static.ll
is a rename of arm64-elf-globals.ll.
llvm/test/CodeGen/AArch64/tagged-globals-pic.ll:
Similar to elf-globals-pic.ll, contains unneeded
`CHECK-SELECTIONDAGISEL` and `CHECK-GLOBALISEL` directives not checked
by any FileCheck invocation. These directives are present in
tagged-globals-static.ll. Both tests are present in the code tree since
fd32639 when tagged-globals.ll was splitted into
tagged-globals-{pic|static}.ll.
Commit: 708c8cd7435002027a2cc9b99a0916a3dc255d63
https://github.com/llvm/llvm-project/commit/708c8cd7435002027a2cc9b99a0916a3dc255d63
Author: Axel Lundberg <19574357+Zonotora at users.noreply.github.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/docs/UndefinedBehaviorSanitizer.rst
M clang/include/clang/Basic/Sanitizers.def
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/test/CodeGen/catch-implicit-conversions-basics.c
M clang/test/CodeGen/catch-implicit-conversions-incdec-basics.c
M clang/test/CodeGen/catch-implicit-integer-arithmetic-value-change-basics.c
M clang/test/CodeGen/catch-implicit-integer-arithmetic-value-change-incdec-basics.c
M clang/test/CodeGen/catch-implicit-integer-conversions-basics.c
M clang/test/CodeGen/catch-implicit-integer-conversions-incdec-basics.c
M clang/test/CodeGen/catch-implicit-integer-sign-changes-CompoundAssignOperator.c
M clang/test/CodeGen/catch-implicit-integer-sign-changes-basics.c
M clang/test/CodeGen/catch-implicit-integer-sign-changes-incdec-basics.c
M clang/test/CodeGen/catch-implicit-integer-sign-changes-incdec.c
M clang/test/CodeGen/catch-implicit-integer-sign-changes.c
M clang/test/CodeGen/catch-implicit-integer-truncations-CompoundAssignOperator.c
M clang/test/CodeGen/catch-implicit-integer-truncations-basics-negatives.c
M clang/test/CodeGen/catch-implicit-integer-truncations-basics.c
M clang/test/CodeGen/catch-implicit-integer-truncations-incdec-basics.c
M clang/test/CodeGen/catch-implicit-integer-truncations.c
M clang/test/CodeGen/catch-implicit-signed-integer-truncation-or-sign-change-CompoundAssignOperator.c
M clang/test/CodeGen/catch-implicit-signed-integer-truncation-or-sign-change.c
M clang/test/CodeGen/catch-implicit-signed-integer-truncations-basics-negatives.c
M clang/test/CodeGen/catch-implicit-signed-integer-truncations-basics.c
M clang/test/CodeGen/catch-implicit-signed-integer-truncations-incdec-basics.c
M clang/test/CodeGen/catch-implicit-signed-integer-truncations-incdec.c
M clang/test/CodeGen/catch-implicit-unsigned-integer-truncations-basics-negatives.c
M clang/test/CodeGen/catch-implicit-unsigned-integer-truncations-basics.c
A clang/test/CodeGen/ubsan-bitfield-conversion.c
A clang/test/CodeGenCXX/ubsan-bitfield-conversion.cpp
M clang/test/Driver/fsanitize.c
M compiler-rt/lib/ubsan/ubsan_handlers.cpp
M compiler-rt/lib/ubsan/ubsan_handlers.h
A compiler-rt/test/ubsan/TestCases/ImplicitConversion/bitfield-conversion.c
Log Message:
-----------
Fix "[clang][UBSan] Add implicit conversion check for bitfields" (#87761)
Fix since #75481 got reverted.
- Explicitly set BitfieldBits to 0 to avoid uninitialized field member
for the integer checks:
```diff
- llvm::ConstantInt::get(Builder.getInt8Ty(), Check.first)};
+ llvm::ConstantInt::get(Builder.getInt8Ty(), Check.first),
+ llvm::ConstantInt::get(Builder.getInt32Ty(), 0)};
```
- `Value **Previous` was erroneously `Value *Previous` in
`CodeGenFunction::EmitWithOriginalRHSBitfieldAssignment`, fixed now.
- Update following:
```diff
- if (Kind == CK_IntegralCast) {
+ if (Kind == CK_IntegralCast || Kind == CK_LValueToRValue) {
```
CK_LValueToRValue when going from, e.g., char to char, and
CK_IntegralCast otherwise.
- Make sure that `Value *Previous = nullptr;` is initialized (see
https://github.com/llvm/llvm-project/commit/1189e87951e59a81ee097eae847c06008276fef1)
- Add another extensive testcase
`ubsan/TestCases/ImplicitConversion/bitfield-conversion.c`
---------
Co-authored-by: Vitaly Buka <vitalybuka at gmail.com>
Commit: aa6a089c367e024921bae050b8999a7bc4d58f76
https://github.com/llvm/llvm-project/commit/aa6a089c367e024921bae050b8999a7bc4d58f76
Author: Mike Rice <michael.p.rice at intel.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
A clang/test/OpenMP/Inputs/nesting_of_regions.cpp
R clang/test/OpenMP/nesting_of_regions.cpp
A clang/test/OpenMP/nesting_of_regions_45.cpp
A clang/test/OpenMP/nesting_of_regions_50.cpp
A clang/test/OpenMP/nesting_of_regions_51.cpp
A clang/test/OpenMP/nesting_of_regions_simd_45.cpp
A clang/test/OpenMP/nesting_of_regions_simd_50.cpp
Log Message:
-----------
[NFC][OpenMP] Split nesting_of_regions test (#87842)
This test is the bottleneck for OpenMP lit tests, running about twice as
long as the others. Break it into five tests based on run lines with the
same version.
Commit: 01d9528ef989610e968386ea1f270698015d2410
https://github.com/llvm/llvm-project/commit/01d9528ef989610e968386ea1f270698015d2410
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/extractelements-to-shuffle.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/trunc-to-large-than-bw.ll
M llvm/test/Transforms/SLPVectorizer/X86/int-bitcast-minbitwidth.ll
Log Message:
-----------
[SLP]Improve final minbitwidth analysis attempt.
Added part for demanded bits analysis in the IsPotentiallyTruncated to
improve minbitwidth analysis final attempts.
Metric: size..text
Program size..text
results results0 diff
test-suite :: MultiSource/Benchmarks/MiBench/telecomm-gsm/telecomm-gsm.test 43069.00 42973.00 -0.2%
test-suite :: MultiSource/Benchmarks/mediabench/gsm/toast/toast.test 43066.00 42970.00 -0.2%
Extra trunc instructions are emitted to operate with <32 x i8> instead
of <32 x i16>, will be removed in the next patches.
Reviewers: RKSimon
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/87786
Commit: c23135c5488fbfaf6439433a10b3ddef33ff112c
https://github.com/llvm/llvm-project/commit/c23135c5488fbfaf6439433a10b3ddef33ff112c
Author: Leonard Grey <lgrey at chromium.org>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/include/llvm/CodeGen/AsmPrinter.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/test/CodeGen/AArch64/func-sanitizer.ll
M llvm/test/CodeGen/X86/func-sanitizer.ll
Log Message:
-----------
-fsanitize=function: fix .subsections_via_symbols (#87527)
-fsanitize=function emits a signature and function hash before a
function. Similar to 7f6e2c9, these can be sheared off when
`.subsections_via_symbols` is used.
This change uses the same technique 7f6e2c9 introduced for prefixes:
emitting a symbol for the metadata, then marking the actual function
entry as an .alt_entry symbol.
Commit: 3b43ae9a68256a77e8879a32a1670fd4b327802f
https://github.com/llvm/llvm-project/commit/3b43ae9a68256a77e8879a32a1670fd4b327802f
Author: Christopher Ferris <cferris1000 at users.noreply.github.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M compiler-rt/lib/scudo/standalone/tests/report_test.cpp
Log Message:
-----------
[scudo] Remove end of line checks. (#88022)
The regex to verify that there is nothing else at the end of the line
doesn't work in all cases, so remove it.
Commit: e276dcec173bc0123444c162c3becb2354382248
https://github.com/llvm/llvm-project/commit/e276dcec173bc0123444c162c3becb2354382248
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
M mlir/test/Dialect/Arith/invalid.mlir
M mlir/test/Dialect/Vector/linearize.mlir
Log Message:
-----------
[mlir][arith] Refine the verifier for arith.constant (#87999)
Disallows initialization of scalable vectors with an attribute of
arbitrary values, e.g.:
```mlir
%c = arith.constant dense<[0, 1]> : vector<[2] x i32>
```
Initialization using vector splats remains allowed (i.e. when all the
init values are identical):
```mlir
%c = arith.constant dense<[1, 1]> : vector<[2] x i32>
```
Note: This is a re-upload of #86178
Commit: 8671429151d5e67d3f21a737809953ae8bdfbfde
https://github.com/llvm/llvm-project/commit/8671429151d5e67d3f21a737809953ae8bdfbfde
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M clang/test/Headers/Inputs/include/stdint.h
M openmp/runtime/src/CMakeLists.txt
Log Message:
-----------
[Libomp] Place generated OpenMP headers into build resource directory (#88007)
Summary:
These headers are a part of the compiler's resource directory once
installed. However, they are currently placed in the binary directory
temporarily. This makes it more difficult to use the compiler out of the
build directory and will cause issues when moving to `liboffload`. This
patch changes the logic to write these instead to the copmiler's
resource directory inside of the build tree.
NOTE: This doesn't change the Fortran headers, I don't know enough about
those and it won't use the same directory.
Commit: 1e6ce5e284f5c0e8d64eee21af727bb164eb3caf
https://github.com/llvm/llvm-project/commit/1e6ce5e284f5c0e8d64eee21af727bb164eb3caf
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M libc/src/__support/FPUtil/generic/CMakeLists.txt
M libc/src/__support/FPUtil/generic/FMod.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/exp_utils.cpp
M libc/src/math/generic/explogxf.h
R libc/src/math/generic/math_utils.cpp
R libc/src/math/generic/math_utils.h
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc] Clean up unused math_utils.(h|cpp). (#88036)
Commit: 119b9cdb388f33e78fbb2a73e244ec3031c7f84c
https://github.com/llvm/llvm-project/commit/119b9cdb388f33e78fbb2a73e244ec3031c7f84c
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M flang/lib/Lower/OpenMP/ReductionProcessor.h
Log Message:
-----------
[flang][omp] Heed valid build warning (#88015)
Address a bug found by a compiler warning, and thereby also fix -Werror
builds.
Commit: ac8ed7f16e5355d7062535afc08ff4be15875c47
https://github.com/llvm/llvm-project/commit/ac8ed7f16e5355d7062535afc08ff4be15875c47
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M libc/test/src/CMakeLists.txt
M libc/test/src/math/CMakeLists.txt
M libc/test/src/math/FmaTest.h
R libc/test/src/math/RandUtils.cpp
R libc/test/src/math/RandUtils.h
Log Message:
-----------
[libc] Remove RandUtils.(h|cpp). (#88044)
Commit: 50a6738636d1b1dda0c5887cf0623ee084854272
https://github.com/llvm/llvm-project/commit/50a6738636d1b1dda0c5887cf0623ee084854272
Author: Nathan Sidwell <nathan at acm.org>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M clang/lib/CodeGen/CodeGenTBAA.cpp
M clang/lib/CodeGen/CodeGenTBAA.h
Log Message:
-----------
[clang][NFC] Adjust TBAA Base Info API (#73263)
A couple of cleanups.
1) remove an unnecessary check from isValidBaseType.
2) Add a new internal entrypoint 'getValidBaseTypeInfo', for uses where the type is known to be valid.
Commit: f5cf98c02655de50401f6547ea181efed6a4c1f1
https://github.com/llvm/llvm-project/commit/f5cf98c02655de50401f6547ea181efed6a4c1f1
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/prolog-epilogue.ll
Log Message:
-----------
[RISCV] Improve test coverage for #87950
Noticed in review that we want both the LUI and LUI/ADDI cases
with different behavior for each.
Commit: eb26edbbf8479aacac0b03413159c8836994a734
https://github.com/llvm/llvm-project/commit/eb26edbbf8479aacac0b03413159c8836994a734
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
M llvm/test/CodeGen/RISCV/prolog-epilogue.ll
M llvm/test/CodeGen/RISCV/stack-offset.ll
Log Message:
-----------
[RISCV] Exploit sh3add/sh2add for stack offsets by shifted 12-bit constants (#87950)
If we're falling back to generic constant formation in a register +
add/sub, we can check if we have a constant which is 12-bits but left
shifted by 2 or 3. If so, we can use a sh2add or sh3add to perform the
shift and add in a single instruction.
This is profitable when the unshifted constant would require two
instructions (LUI/ADDI) to form, but is never harmful since we're going
to need at least two instructions regardless of the constant value.
Since stacks are aligned to 16 bytes by default, sh3add allows addresing
(aligned) data out to 2^14 (i.e. 16kb) in at most two instructions
w/zba.
Commit: 16b3e43a030b0322e0d81debba3d63f145c8fd0b
https://github.com/llvm/llvm-project/commit/16b3e43a030b0322e0d81debba3d63f145c8fd0b
Author: Danny Mösch <danny.moesch at icloud.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M clang-tools-extra/clang-tidy/cppcoreguidelines/MissingStdForwardCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/missing-std-forward.cpp
Log Message:
-----------
[clang-tidy] Ignore non-forwarded arguments if they are unused (#87832)
Commit: 1950ebd17bbf1f2ad2a3799cd5966412ccfee9c4
https://github.com/llvm/llvm-project/commit/1950ebd17bbf1f2ad2a3799cd5966412ccfee9c4
Author: Eli Friedman <efriedma at quicinc.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M clang/lib/Headers/intrin.h
M clang/lib/Headers/intrin0.h
M clang/test/Headers/ms-intrin.cpp
Log Message:
-----------
[ARM64EC] Fix compilation of intrin.h in ARM64EC mode. (#87717)
intrin.h checks for x86_64. But the "x86_64" define is also defined for
ARM64EC, and we don't support all the intrinsics in ARM64EC mode. Fix
the preprocessor checks to handle this correctly. (If we actually need
some of these intrinsics in ARM64EC mode, we can revisit later.)
Not exactly sure how I didn't run into this issue before now... I think
I've built code that requires these headers, but maybe not since the
define fix landed.
Commit: ff9b63f8d0487b69b35cf90a7089ad075f7fab88
https://github.com/llvm/llvm-project/commit/ff9b63f8d0487b69b35cf90a7089ad075f7fab88
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M compiler-rt/test/ubsan/TestCases/ImplicitConversion/bitfield-conversion.c
Log Message:
-----------
[test][UBSAN] Fix windows after #87761
Commit: 7ad481e76c9bee5b9895ebfa0fdb52f31cb7de77
https://github.com/llvm/llvm-project/commit/7ad481e76c9bee5b9895ebfa0fdb52f31cb7de77
Author: Eli Friedman <efriedma at quicinc.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Arch/AArch64.cpp
M clang/test/Driver/aarch64-fixed-x-register.c
M llvm/lib/Target/AArch64/AArch64.td
M llvm/test/CodeGen/AArch64/arm64-platform-reg.ll
Log Message:
-----------
Revert "[AArch64] Add support for -ffixed-x30" (#88019)
This reverts commit e770153865c53c4fd72a68f23acff33c24e42a08.
This wasn't reviewed, and the functionality in question was
intentionally rejected the last time it was discussed in
https://reviews.llvm.org/D56305 .
Commit: 96bba13bd6bfb4ff0635972723adcd9c72b65bae
https://github.com/llvm/llvm-project/commit/96bba13bd6bfb4ff0635972723adcd9c72b65bae
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M compiler-rt/test/ubsan/TestCases/ImplicitConversion/bitfield-conversion.c
Log Message:
-----------
[test][UBSAN] Fix Solaris after #87761
Commit: bee33770188f29d0369655c6d178c0bfb937e872
https://github.com/llvm/llvm-project/commit/bee33770188f29d0369655c6d178c0bfb937e872
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
Log Message:
-----------
[bazel] Add `nobuildkite` tags for incompatible targets
Commit: f94bbfed7cf08f60e20756dce8965d2c6ed70ea1
https://github.com/llvm/llvm-project/commit/f94bbfed7cf08f60e20756dce8965d2c6ed70ea1
Author: Max Winkler <max.enrico.winkler at gmail.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M clang/lib/CodeGen/CGClass.cpp
M clang/test/CodeGenCXX/skip-vtable-pointer-initialization.cpp
Log Message:
-----------
[Clang][CodeGen] Fix `CanSkipVTablePointerInitialization` for dynamic classes with a trivial anonymous union (#84651)
Hit this when trying upgrade an old project of mine. I couldn't find a
corresponding existing issue for this when spelunking the open issues
here on github.
Thankfully I can work-around it today with the `[[clang::no_destroy]]`
attribute for my use case. However it should still be properly fixed.
### Issue and History ###
https://godbolt.org/z/EYnhce8MK for reference.
All subsequent text below refers to the example in the godbolt above.
Anonymous unions never have their destructor invoked automatically.
Therefore we can skip vtable initialization of the destructor of a
dynamic class if that destructor effectively does no work.
This worked previously as the following check would be hit and return
true for the trivial anonymous union,
https://github.com/llvm/llvm-project/blob/release/18.x/clang/lib/CodeGen/CGClass.cpp#L1348,
resulting in the code skipping vtable initialization.
This was broken here
https://github.com/llvm/llvm-project/commit/982bbf404eba2d968afda5c674d4821652159c53
in relation to comments made on this review here
https://reviews.llvm.org/D10508.
### Fixes ###
The check the code is doing is correct however the return value is
inverted. We want to return true here since a field with anonymous union
never has its destructor invoked and thus effectively has a trivial
destructor body from the perspective of requiring vtable init in the
parent dynamic class.
Also added some extra missing unit tests to test for this use case and a
couple others.
Commit: 59aba90ab6648b968b67677ce445ba11c05a3823
https://github.com/llvm/llvm-project/commit/59aba90ab6648b968b67677ce445ba11c05a3823
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M compiler-rt/test/ubsan/TestCases/ImplicitConversion/bitfield-conversion.c
Log Message:
-----------
[test][UBSAN] Simplify regex in the test
Commit: e27c3736f975ca463476223c465e4777186f603f
https://github.com/llvm/llvm-project/commit/e27c3736f975ca463476223c465e4777186f603f
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/lib/Target/TargetMachine.cpp
M llvm/test/CodeGen/X86/code-model-elf-text-sections.ll
Log Message:
-----------
[X86] Change how we treat functions with explicit sections as small/large (#87838)
Following #78348, we should treat functions with an explicit section as
small, unless the section name is (or has the prefix) ".ltext".
Clang emits global initializers into a ".text.startup" section on Linux.
If we mix small/medium code model object files with large code model
object files, we'll end up mixing sections with and without the large
section flag.
Commit: 97ceafea005f770774c35a2d7872c5a29a5861a0
https://github.com/llvm/llvm-project/commit/97ceafea005f770774c35a2d7872c5a29a5861a0
Author: Fangrui Song <i at maskray.me>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M bolt/lib/Core/Relocation.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/MissingStdForwardCheck.cpp
M clang-tools-extra/clang-tidy/readability/AvoidReturnWithVoidValueCheck.cpp
M clang-tools-extra/clang-tidy/readability/BracesAroundStatementsCheck.cpp
M clang-tools-extra/clang-tidy/readability/BracesAroundStatementsCheck.h
A clang-tools-extra/clang-tidy/utils/BracesAroundStatement.cpp
A clang-tools-extra/clang-tidy/utils/BracesAroundStatement.h
M clang-tools-extra/clang-tidy/utils/CMakeLists.txt
M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/missing-std-forward.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/avoid-return-with-void-value.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming.cpp
M clang/docs/ReleaseNotes.rst
M clang/docs/UndefinedBehaviorSanitizer.rst
M clang/docs/analyzer/checkers.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/Sanitizers.def
M clang/include/clang/Driver/Options.td
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/Sema.h
A clang/include/clang/Sema/SemaBase.h
A clang/include/clang/Sema/SemaHLSL.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenTBAA.cpp
M clang/lib/CodeGen/CodeGenTBAA.h
M clang/lib/Driver/ToolChains/AIX.cpp
M clang/lib/Driver/ToolChains/Arch/AArch64.cpp
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/lib/Format/FormatTokenLexer.cpp
M clang/lib/Format/FormatTokenSource.h
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Format/WhitespaceManager.cpp
M clang/lib/Headers/intrin.h
M clang/lib/Headers/intrin0.h
M clang/lib/InstallAPI/DiagnosticBuilderWrappers.cpp
M clang/lib/Parse/ParseHLSL.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Sema/CMakeLists.txt
M clang/lib/Sema/Sema.cpp
A clang/lib/Sema/SemaBase.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
M clang/test/Analysis/analyzer-config.c
M clang/test/Analysis/std-c-library-functions-vs-stream-checker.c
M clang/test/Analysis/stream-errno-note.c
M clang/test/Analysis/stream-errno.c
M clang/test/Analysis/stream-error.c
M clang/test/Analysis/stream-note.c
A clang/test/Analysis/stream-pedantic.c
M clang/test/Analysis/stream-stdlibraryfunctionargs.c
M clang/test/Analysis/stream.c
A clang/test/CXX/drs/dr392.cpp
M clang/test/CXX/drs/dr3xx.cpp
M clang/test/CXX/drs/dr4xx.cpp
A clang/test/CXX/drs/dr593.cpp
M clang/test/CXX/drs/dr5xx.cpp
A clang/test/CXX/drs/dr605.cpp
A clang/test/CXX/drs/dr650.cpp
A clang/test/CXX/drs/dr653.cpp
A clang/test/CXX/drs/dr658.cpp
A clang/test/CXX/drs/dr661.cpp
A clang/test/CXX/drs/dr672.cpp
M clang/test/CXX/drs/dr6xx.cpp
M clang/test/CodeGen/catch-implicit-conversions-basics.c
M clang/test/CodeGen/catch-implicit-conversions-incdec-basics.c
M clang/test/CodeGen/catch-implicit-integer-arithmetic-value-change-basics.c
M clang/test/CodeGen/catch-implicit-integer-arithmetic-value-change-incdec-basics.c
M clang/test/CodeGen/catch-implicit-integer-conversions-basics.c
M clang/test/CodeGen/catch-implicit-integer-conversions-incdec-basics.c
M clang/test/CodeGen/catch-implicit-integer-sign-changes-CompoundAssignOperator.c
M clang/test/CodeGen/catch-implicit-integer-sign-changes-basics.c
M clang/test/CodeGen/catch-implicit-integer-sign-changes-incdec-basics.c
M clang/test/CodeGen/catch-implicit-integer-sign-changes-incdec.c
M clang/test/CodeGen/catch-implicit-integer-sign-changes.c
M clang/test/CodeGen/catch-implicit-integer-truncations-CompoundAssignOperator.c
M clang/test/CodeGen/catch-implicit-integer-truncations-basics-negatives.c
M clang/test/CodeGen/catch-implicit-integer-truncations-basics.c
M clang/test/CodeGen/catch-implicit-integer-truncations-incdec-basics.c
M clang/test/CodeGen/catch-implicit-integer-truncations.c
M clang/test/CodeGen/catch-implicit-signed-integer-truncation-or-sign-change-CompoundAssignOperator.c
M clang/test/CodeGen/catch-implicit-signed-integer-truncation-or-sign-change.c
M clang/test/CodeGen/catch-implicit-signed-integer-truncations-basics-negatives.c
M clang/test/CodeGen/catch-implicit-signed-integer-truncations-basics.c
M clang/test/CodeGen/catch-implicit-signed-integer-truncations-incdec-basics.c
M clang/test/CodeGen/catch-implicit-signed-integer-truncations-incdec.c
M clang/test/CodeGen/catch-implicit-unsigned-integer-truncations-basics-negatives.c
M clang/test/CodeGen/catch-implicit-unsigned-integer-truncations-basics.c
A clang/test/CodeGen/ubsan-bitfield-conversion.c
M clang/test/CodeGenCXX/skip-vtable-pointer-initialization.cpp
A clang/test/CodeGenCXX/ubsan-bitfield-conversion.cpp
M clang/test/Driver/aarch64-fixed-x-register.c
M clang/test/Driver/cuda-external-tools.cu
M clang/test/Driver/fsanitize.c
M clang/test/Driver/riscv-profiles.c
M clang/test/Headers/Inputs/include/stdint.h
M clang/test/Headers/ms-intrin.cpp
A clang/test/OpenMP/Inputs/nesting_of_regions.cpp
R clang/test/OpenMP/nesting_of_regions.cpp
A clang/test/OpenMP/nesting_of_regions_45.cpp
A clang/test/OpenMP/nesting_of_regions_50.cpp
A clang/test/OpenMP/nesting_of_regions_51.cpp
A clang/test/OpenMP/nesting_of_regions_simd_45.cpp
A clang/test/OpenMP/nesting_of_regions_simd_50.cpp
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/ParserOpenACC/parse-clauses.cpp
M clang/test/ParserOpenACC/parse-wait-clause.c
M clang/test/Preprocessor/riscv-target-features.c
M clang/test/SemaCXX/type-traits.cpp
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/unittests/Format/FormatTestTableGen.cpp
M clang/unittests/Interpreter/InterpreterExtensionsTest.cpp
M clang/utils/TableGen/MveEmitter.cpp
M clang/www/cxx_dr_status.html
M compiler-rt/lib/scudo/standalone/tests/report_test.cpp
M compiler-rt/lib/ubsan/ubsan_handlers.cpp
M compiler-rt/lib/ubsan/ubsan_handlers.h
A compiler-rt/test/ubsan/TestCases/ImplicitConversion/bitfield-conversion.c
M flang/docs/Extensions.md
M flang/include/flang/Evaluate/common.h
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Parser/char-block.h
M flang/include/flang/Runtime/freestanding-tools.h
M flang/lib/Decimal/decimal-to-binary.cpp
M flang/lib/Evaluate/check-expression.cpp
M flang/lib/Evaluate/fold-implementation.h
M flang/lib/Evaluate/fold-integer.cpp
M flang/lib/Evaluate/fold-reduction.h
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Lower/DirectivesCommon.h
M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
M flang/lib/Lower/OpenMP/ReductionProcessor.h
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/PPCIntrinsicCall.cpp
M flang/lib/Semantics/check-call.cpp
M flang/lib/Semantics/check-cuda.cpp
M flang/lib/Semantics/mod-file.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/module/iso_fortran_env.f90
M flang/test/Driver/msvc-dependent-lib-flags.f90
A flang/test/Evaluate/folding32.f90
M flang/test/Lower/Intrinsics/maskl.f90
M flang/test/Lower/Intrinsics/maskr.f90
A flang/test/Lower/OpenMP/parallel-reduction-complex-mul.f90
A flang/test/Lower/OpenMP/parallel-reduction-complex.f90
A flang/test/Lower/allocate-source-allocatables-2.f90
M flang/test/Semantics/cuf09.cuf
A flang/test/Semantics/intrinsics04.f90
A flang/test/Semantics/numeric_storage_size.f90
M flang/test/Semantics/resolve21.f90
M flang/test/Semantics/resolve29.f90
M flang/tools/f18/CMakeLists.txt
M libc/cmake/modules/LLVMLibCCheckMPFR.cmake
M libc/fuzzing/__support/CMakeLists.txt
M libc/fuzzing/__support/uint_fuzz.cpp
M libc/hdr/math_macros.h
M libc/src/__support/CMakeLists.txt
M libc/src/__support/FPUtil/BasicOperations.h
M libc/src/__support/FPUtil/CMakeLists.txt
M libc/src/__support/FPUtil/FPBits.h
M libc/src/__support/FPUtil/Hypot.h
M libc/src/__support/FPUtil/dyadic_float.h
M libc/src/__support/FPUtil/generic/CMakeLists.txt
M libc/src/__support/FPUtil/generic/FMA.h
M libc/src/__support/FPUtil/generic/FMod.h
M libc/src/__support/FPUtil/generic/sqrt.h
M libc/src/__support/FPUtil/generic/sqrt_80_bit_long_double.h
R libc/src/__support/UInt.h
R libc/src/__support/UInt128.h
A libc/src/__support/big_int.h
M libc/src/__support/float_to_string.h
M libc/src/__support/hash.h
M libc/src/__support/integer_literals.h
M libc/src/__support/integer_to_string.h
M libc/src/__support/str_to_float.h
M libc/src/__support/str_to_integer.h
A libc/src/__support/uint128.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/exp_utils.cpp
M libc/src/math/generic/explogxf.h
M libc/src/math/generic/log1p.cpp
M libc/src/math/generic/log_range_reduction.h
R libc/src/math/generic/math_utils.cpp
R libc/src/math/generic/math_utils.h
M libc/src/stdio/printf_core/CMakeLists.txt
M libc/src/stdio/printf_core/float_dec_converter.h
M libc/test/UnitTest/CMakeLists.txt
M libc/test/UnitTest/LibcDeathTestExecutors.cpp
M libc/test/UnitTest/LibcTest.cpp
M libc/test/UnitTest/StringUtils.h
M libc/test/UnitTest/TestLogger.cpp
M libc/test/src/CMakeLists.txt
M libc/test/src/__support/CMakeLists.txt
M libc/test/src/__support/CPP/CMakeLists.txt
M libc/test/src/__support/CPP/bit_test.cpp
M libc/test/src/__support/CPP/limits_test.cpp
M libc/test/src/__support/FPUtil/dyadic_float_test.cpp
A libc/test/src/__support/big_int_test.cpp
M libc/test/src/__support/high_precision_decimal_test.cpp
M libc/test/src/__support/integer_to_string_test.cpp
M libc/test/src/__support/math_extras_test.cpp
M libc/test/src/__support/str_to_fp_test.h
R libc/test/src/__support/uint_test.cpp
M libc/test/src/math/CMakeLists.txt
M libc/test/src/math/FmaTest.h
R libc/test/src/math/RandUtils.cpp
R libc/test/src/math/RandUtils.h
M libc/test/src/math/log1p_test.cpp
M libc/test/src/math/smoke/nanf128_test.cpp
M libc/test/src/stdlib/strtold_test.cpp
M libc/utils/MPFRWrapper/CMakeLists.txt
M libclc/CMakeLists.txt
M libcxx/benchmarks/CMakeLists.txt
A libcxx/benchmarks/algorithms/minmax.bench.cpp
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/docs/Status/Cxx23Issues.csv
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/docs/Status/FormatIssues.csv
M libcxx/docs/Status/FormatPaper.csv
M libcxx/include/__algorithm/comp.h
M libcxx/include/__algorithm/ranges_minmax.h
M libcxx/include/__functional/operations.h
M libcxx/include/__functional/ranges_operations.h
M libcxx/include/__type_traits/desugars_to.h
M libcxx/include/fstream
M libcxx/include/ostream
M libcxx/include/print
M libcxx/test/std/input.output/file.streams/fstreams/fstream.cons/path.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/ifstream.cons/path.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/ofstream.cons/path.pass.cpp
M libcxx/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.formatted.print/locale-specific_form.pass.cpp
M libcxx/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.formatted.print/println.pass.cpp
M libcxx/test/std/input.output/iostream.format/print.fun/no_file_description.pass.cpp
A libcxx/test/std/input.output/iostream.format/print.fun/println.blank_line.sh.cpp
M libcxx/test/std/input.output/iostream.format/print.fun/println.file.pass.cpp
M libcxx/test/support/test_macros.h
M lldb/cmake/caches/Apple-lldb-Linux.cmake
M llvm/cmake/modules/AddLLVM.cmake
M llvm/docs/CMake.rst
M llvm/docs/LangRef.rst
M llvm/docs/RISCVUsage.rst
M llvm/include/llvm/ADT/ADL.h
M llvm/include/llvm/ADT/STLExtras.h
M llvm/include/llvm/CodeGen/AsmPrinter.h
M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
M llvm/include/llvm/ExecutionEngine/Orc/Core.h
M llvm/include/llvm/Object/GOFF.h
M llvm/include/llvm/Object/GOFFObjectFile.h
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/include/llvm/Target/GlobalISel/SelectionDAGCompat.td
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/AtomicExpandPass.cpp
M llvm/lib/CodeGen/ExpandLargeFpConvert.cpp
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/MachineBasicBlock.cpp
M llvm/lib/CodeGen/MachinePipeliner.cpp
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/ExecutionEngine/Orc/Core.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Object/GOFFObjectFile.cpp
M llvm/lib/ProfileData/InstrProfWriter.cpp
M llvm/lib/ProfileData/MemProf.cpp
M llvm/lib/Support/RISCVISAInfo.cpp
M llvm/lib/Target/AArch64/AArch64.td
M llvm/lib/Target/AArch64/AArch64Combine.td
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrAtomics.td
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64LoopIdiomTransform.cpp
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.h
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZcmop.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZimop.td
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
M llvm/lib/Target/RISCV/RISCVRegisterInfo.h
M llvm/lib/Target/RISCV/RISCVRegisterInfo.td
M llvm/lib/Target/TargetMachine.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86SelectionDAGInfo.cpp
M llvm/lib/Transforms/Scalar/NewGVN.cpp
M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Analysis/CostModel/AArch64/shuffle-other.ll
A llvm/test/Analysis/CostModel/AArch64/shuffle-store.ll
A llvm/test/Analysis/LoopAccessAnalysis/non-constant-strides-backward.ll
A llvm/test/Analysis/LoopAccessAnalysis/non-constant-strides-forward.ll
A llvm/test/Analysis/LoopAccessAnalysis/positive-dependence-distance-different-access-sizes.ll
M llvm/test/Assembler/atomic.ll
A llvm/test/Assembler/invalid-atomicrmw-scalable.ll
A llvm/test/Assembler/invalid-atomicrmw-xchg-fp-vector.ll
M llvm/test/CodeGen/AArch64/GlobalISel/arm64-fallback.ll
M llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll
M llvm/test/CodeGen/AArch64/GlobalISel/call-translator-tail-call-sret.ll
M llvm/test/CodeGen/AArch64/GlobalISel/combine-build-vector.mir
M llvm/test/CodeGen/AArch64/GlobalISel/combine-extract-vec-elt.mir
M llvm/test/CodeGen/AArch64/GlobalISel/combine-icmp-to-lhs-known-bits.mir
M llvm/test/CodeGen/AArch64/GlobalISel/combine-insert-vec-elt.mir
M llvm/test/CodeGen/AArch64/GlobalISel/constant-dbg-loc.ll
M llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-store-metadata.ll
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-cmp.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-extract-vector-elt.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-insert-vector-elt.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-phi.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-shuffle-splat.mir
M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizer-combiner-icmp-to-true-false-known-bits.mir
M llvm/test/CodeGen/AArch64/GlobalISel/regbank-insert-vector-elt.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-insert-vector-elt.mir
M llvm/test/CodeGen/AArch64/aarch64-bit-gen.ll
M llvm/test/CodeGen/AArch64/aarch64-known-bits-hadd.ll
M llvm/test/CodeGen/AArch64/aarch64-minmaxv.ll
M llvm/test/CodeGen/AArch64/arm64-neon-copy.ll
M llvm/test/CodeGen/AArch64/arm64-platform-reg.ll
A llvm/test/CodeGen/AArch64/atomicrmw-fadd-fp-vector.ll
M llvm/test/CodeGen/AArch64/elf-globals-static.ll
M llvm/test/CodeGen/AArch64/func-sanitizer.ll
M llvm/test/CodeGen/AArch64/insertextract.ll
M llvm/test/CodeGen/AArch64/sve-nontemporal-masked-ldst.ll
M llvm/test/CodeGen/AArch64/tagged-globals-pic.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-extract-vector-load.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-non-integral-address-spaces-vectors.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-extract-vector-elt.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-extractelement-crash.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-insert-vector-elt.mir
M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-fdiv.ll
M llvm/test/CodeGen/AMDGPU/fptoi.i128.ll
A llvm/test/CodeGen/AMDGPU/itofp.i128.bf.ll
M llvm/test/CodeGen/AMDGPU/itofp.i128.ll
M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/insertelement.ll
M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/shufflevector.ll
M llvm/test/CodeGen/RISCV/attributes.ll
A llvm/test/CodeGen/RISCV/prolog-epilogue.ll
M llvm/test/CodeGen/RISCV/rv32zimop-intrinsic.ll
M llvm/test/CodeGen/RISCV/rv64zimop-intrinsic.ll
M llvm/test/CodeGen/RISCV/rvv/vfmv.v.f.ll
M llvm/test/CodeGen/RISCV/rvv/vmv-copy.mir
M llvm/test/CodeGen/RISCV/rvv/zvlsseg-copy.mir
A llvm/test/CodeGen/RISCV/stack-offset.ll
M llvm/test/CodeGen/X86/GlobalISel/irtranslator-callingconv.ll
A llvm/test/CodeGen/X86/atomicrmw-fadd-fp-vector.ll
M llvm/test/CodeGen/X86/avx512-insert-extract.ll
M llvm/test/CodeGen/X86/code-model-elf-text-sections.ll
M llvm/test/CodeGen/X86/fsafdo_test1.ll
M llvm/test/CodeGen/X86/func-sanitizer.ll
M llvm/test/CodeGen/X86/i128-fpconv-win64-strict.ll
M llvm/test/CodeGen/X86/insertelement-var-index.ll
M llvm/test/CodeGen/X86/memset-minsize.ll
M llvm/test/CodeGen/X86/movmsk-cmp.ll
M llvm/test/CodeGen/X86/pr63439.ll
M llvm/test/CodeGen/X86/pr64439.ll
M llvm/test/CodeGen/X86/strict-fadd-combines.ll
M llvm/test/CodeGen/X86/strict-fsub-combines.ll
M llvm/test/CodeGen/X86/vec_cast.ll
M llvm/test/MC/RISCV/attribute-arch.s
M llvm/test/MC/RISCV/compressed-zicfiss.s
M llvm/test/MC/RISCV/rv32zcmop-invalid.s
M llvm/test/MC/RISCV/rv32zimop-invalid.s
M llvm/test/MC/RISCV/rvzcmop-valid.s
M llvm/test/MC/RISCV/rvzimop-valid.s
A llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomicrmw-fp-vector.ll
M llvm/test/Transforms/Attributor/nofpclass.ll
M llvm/test/Transforms/LoopIdiom/AArch64/byte-compare-index.ll
A llvm/test/Transforms/LoopLoadElim/non-const-distance.ll
A llvm/test/Transforms/LoopVectorize/AArch64/induction-costs.ll
A llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/global_alias.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/extractelements-to-shuffle.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/reductions.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/trunc-to-large-than-bw.ll
M llvm/test/Transforms/SLPVectorizer/X86/int-bitcast-minbitwidth.ll
M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-drop-wrapping-flags.ll
M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-transformed-operand.ll
M llvm/test/tools/llvm-objdump/ELF/dynamic-malformed.test
A llvm/test/tools/llvm-profdata/memprof-merge-v0.test
M llvm/test/tools/llvm-reduce/reduce-flags.ll
M llvm/tools/llvm-objdump/ELFDump.cpp
M llvm/tools/llvm-reduce/deltas/ReduceInstructionFlags.cpp
M llvm/unittests/ADT/IteratorTest.cpp
M llvm/unittests/ADT/RangeAdapterTest.cpp
M llvm/unittests/ADT/STLExtrasTest.cpp
M llvm/unittests/Analysis/ValueTrackingTest.cpp
M llvm/unittests/IR/VerifierTest.cpp
M llvm/unittests/Object/GOFFObjectFileTest.cpp
M llvm/unittests/Support/RISCVISAInfoTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
M mlir/include/mlir/Interfaces/ValueBoundsOpInterface.h
M mlir/include/mlir/Target/LLVMIR/LLVMImportInterface.h
M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
M mlir/lib/Dialect/Arith/IR/ValueBoundsOpInterfaceImpl.cpp
M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
M mlir/lib/Dialect/SCF/IR/ValueBoundsOpInterfaceImpl.cpp
M mlir/lib/Dialect/Utils/StructuredOpsUtils.cpp
M mlir/lib/Dialect/Vector/IR/ScalableValueBoundsConstraintSet.cpp
M mlir/lib/Interfaces/ValueBoundsOpInterface.cpp
M mlir/lib/Target/LLVMIR/DebugImporter.cpp
M mlir/lib/Target/LLVMIR/DebugImporter.h
M mlir/lib/Target/LLVMIR/DebugTranslation.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/test/Conversion/ComplexToStandard/convert-to-standard.mlir
M mlir/test/Dialect/Arith/invalid.mlir
M mlir/test/Dialect/Arith/value-bounds-op-interface-impl.mlir
M mlir/test/Dialect/SCF/value-bounds-op-interface-impl.mlir
M mlir/test/Dialect/Vector/linearize.mlir
M mlir/test/Target/LLVMIR/Import/debug-info.ll
A mlir/test/Target/LLVMIR/Import/test.ll
M mlir/test/Target/LLVMIR/llvmir-debug.mlir
M mlir/test/lib/Dialect/Test/CMakeLists.txt
A mlir/test/lib/Dialect/Test/TestFromLLVMIRTranslation.cpp
M mlir/test/mlir-tblgen/op-decl-and-defs.td
M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
M mlir/tools/mlir-translate/mlir-translate.cpp
M openmp/runtime/src/CMakeLists.txt
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/UnitTest/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/__support/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/__support/CPP/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/__support/FPUtil/BUILD.bazel
M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/include/llvm/Config/config.h
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
M utils/bazel/llvm_configs/config.h.cmake
Log Message:
-----------
.
Created using spr 1.3.5-bogner
Compare: https://github.com/llvm/llvm-project/compare/2847b8be2e49...97ceafea005f
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list