[all-commits] [llvm/llvm-project] f0e79d: [AArch64] Add a cost for identity shuffles.
darkbuck via All-commits
all-commits at lists.llvm.org
Wed Apr 10 07:21:18 PDT 2024
Branch: refs/heads/users/darkbuck/spr/globalisel-handle-more-commutable-instructions-in-commute_constant_to_rhs
Home: https://github.com/llvm/llvm-project
Commit: f0e79d9152b04845e60fc97ca6a4e7760202afbb
https://github.com/llvm/llvm-project/commit/f0e79d9152b04845e60fc97ca6a4e7760202afbb
Author: David Green <david.green at arm.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AArch64/shuffle-other.ll
Log Message:
-----------
[AArch64] Add a cost for identity shuffles.
These are mostly handled at a higher level when costing shuffles, but some
masks can end up being identity or concat masks which we can treat as free.
Commit: 3009228a09dbfe04e0911fc19813ec72d389bc45
https://github.com/llvm/llvm-project/commit/3009228a09dbfe04e0911fc19813ec72d389bc45
Author: Michael Halkenhäuser <MichaelGerald.Halkenhauser at amd.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M clang/test/CodeGen/ubsan-bitfield-conversion.c
M clang/test/CodeGenCXX/ubsan-bitfield-conversion.cpp
Log Message:
-----------
[clang][UBSan] Remove rigid metadata checks for `ubsan-bitfield-conversion` (#88116)
Follow-up to discussion: https://github.com/llvm/llvm-project/pull/87761
As discussed after landing the original PR:
Since fails could happen w.r.t. checking `!6`, these checks should be
removed.
Commit: 5601e35f620eccdebab988bed4b9677b29366b79
https://github.com/llvm/llvm-project/commit/5601e35f620eccdebab988bed4b9677b29366b79
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M compiler-rt/lib/memprof/tests/CMakeLists.txt
Log Message:
-----------
[memprof] Use COMPILER_RT_TEST_COMPILER
Unlike the other compiler-rt unit tests MemProf was not using the
`generate_compiler_rt_tests()` helper that ensures the test is compiled
using the test compiler (generally the Clang binary built earlier).
This was exposed by https://github.com/llvm/llvm-project/pull/83088
because it started adding Clang-specific flags to
COMPILER_RT_UNITTEST_CFLAGS if the compiler ID matched "Clang".
This change should fix the buildbots that compile compiler-rt using
a GCC compiler with LLVM_ENABLE_PROJECTS=compiler-rt.
Reviewed By: vitalybuka
Pull Request: https://github.com/llvm/llvm-project/pull/88074
Commit: 528943f1535b925ce175afb2438cec79513cfc2b
https://github.com/llvm/llvm-project/commit/528943f1535b925ce175afb2438cec79513cfc2b
Author: Dinar Temirbulatov <Dinar.Temirbulatov at arm.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.cpp
M llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.h
M llvm/lib/Target/AArch64/Utils/AArch64SMEAttributes.cpp
A llvm/test/CodeGen/AArch64/streaming-compatible-memory-ops.ll
Log Message:
-----------
[AArch64][SME] Allow memory operations lowering to custom SME functions. (#79263)
This change allows to lower memcpy, memset, memmove to custom SME
version provided by LibRT.
Commit: bab0507ff2679d2bbfa34921eeed4ff1cadbe7e2
https://github.com/llvm/llvm-project/commit/bab0507ff2679d2bbfa34921eeed4ff1cadbe7e2
Author: ChiaHungDuan <chiahungduan at google.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M compiler-rt/lib/scudo/standalone/allocator_config.def
M compiler-rt/lib/scudo/standalone/primary64.h
M compiler-rt/lib/scudo/standalone/tests/primary_test.cpp
Log Message:
-----------
[scudo] Add EnableContiguousRegions mode (#85149)
This releases the requirement that we need to preserve the memory for
all regions at the beginning. It needs a huge amount of contiguous pages
and which may be a challenge in certain cases. Therefore, adding a new
flag, EnableContiguousRegions, to indicate whether we want to allocate
all the regions next to each other.
Note that once the EnableContiguousRegions is disabled,
EnableRandomOffset becomes irrelevant because the base of each region is
already random.
Commit: b1a278dd874d6135780fc824c6aa263c52d7aadd
https://github.com/llvm/llvm-project/commit/b1a278dd874d6135780fc824c6aa263c52d7aadd
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M flang/include/flang/Semantics/tools.h
M flang/lib/Lower/Allocatable.cpp
Log Message:
-----------
[flang][cuda] Add a proper TODO for allocate statement for cuda var (#88034)
Allocate statement for variable with CUDA attributes need to allocate
memory on the device and not the host. Add a proper TODO so we keep
track of work to be done for it.
Commit: 9e418c94cd1393408d201f215be8631d1f41e857
https://github.com/llvm/llvm-project/commit/9e418c94cd1393408d201f215be8631d1f41e857
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/include/llvm/ADT/STLExtras.h
Log Message:
-----------
[ADT] Use `adl_*` wrappers across STLExtras (#87936)
Update the remaining uses of `std::begin`/`end` functions to
`adl_beging`/`end`. This is to make the behavior all the utility
functions consistent, rather than trying to fix a specific usecase.
Commit: 49561181bdc8698aa28ee2a46d2faa4cf6767bbe
https://github.com/llvm/llvm-project/commit/49561181bdc8698aa28ee2a46d2faa4cf6767bbe
Author: Job Henandez Lara <hj93 at protonmail.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M libc/hdr/CMakeLists.txt
A libc/hdr/fenv_macros.h
M libc/src/__support/FPUtil/CMakeLists.txt
M libc/src/__support/FPUtil/aarch64/FEnvImpl.h
M libc/src/__support/FPUtil/aarch64/fenv_darwin_impl.h
M libc/src/__support/FPUtil/arm/FEnvImpl.h
M libc/src/__support/FPUtil/generic/CMakeLists.txt
M libc/src/__support/FPUtil/riscv/FEnvImpl.h
M libc/src/__support/FPUtil/rounding_mode.h
M libc/src/fenv/CMakeLists.txt
M libc/src/fenv/feholdexcept.cpp
M libc/src/fenv/fesetexceptflag.cpp
M libc/test/UnitTest/RoundingModeUtils.cpp
M libc/test/src/__support/FPUtil/rounding_mode_test.cpp
M libc/test/src/fenv/CMakeLists.txt
M libc/test/src/fenv/enabled_exceptions_test.cpp
M libc/test/src/fenv/exception_status_test.cpp
M libc/test/src/fenv/feclearexcept_test.cpp
M libc/test/src/fenv/feenableexcept_test.cpp
M libc/test/src/fenv/rounding_mode_test.cpp
M libc/test/src/math/RIntTest.h
M libc/test/src/math/smoke/NextTowardTest.h
M libc/test/src/math/smoke/RIntTest.h
M libc/utils/MPFRWrapper/MPFRUtils.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/FPUtil/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/fenv/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/math/smoke/BUILD.bazel
Log Message:
-----------
[libc] Add proxy header for fenv.h macro constants. #87863 (#87896)
Hello, this addresses #87863.
Commit: 8d6469b0e02c4c7bd1d496972c63ed3e2de0e077
https://github.com/llvm/llvm-project/commit/8d6469b0e02c4c7bd1d496972c63ed3e2de0e077
Author: xiaoleis-nv <99947620+xiaoleis-nv at users.noreply.github.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/Vector/Transforms/Passes.h
M mlir/include/mlir/Dialect/Vector/Transforms/Passes.td
M mlir/lib/Dialect/Vector/Transforms/LowerVectorMultiReduction.cpp
A mlir/test/Dialect/Vector/vector-multi-reduction-pass-lowering.mlir
Log Message:
-----------
[mlir][vector] Add lower-vector-multi-reduction pass (#87333)
This MR adds the `lower-vector-multi-reduction` pass to lower the
vector.multi_reduction operation.
While the Transform Dialect includes an operation,
`transform.apply_patterns.vector.lower_multi_reduction`, intended for a
similar purpose, its utility is limited to projects that have adopted
the Transform Dialect. Recognizing that not all projects are equipped to
integrate this dialect, the proposed pass serves as a vital standalone
alternative. It ensures that projects solely dependent on the
traditional pass infrastructure can also benefit from the optimized
lowering of `multi_reduction` operation.
---------
Co-authored-by: Xiaolei Shi <xiaoleis at nvidia.com>
Commit: 1381645ab675d1edcc0eaa0b72729b9f3f02a82d
https://github.com/llvm/llvm-project/commit/1381645ab675d1edcc0eaa0b72729b9f3f02a82d
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
A libcxx/test/libcxx/fuzzing/format_no_args.pass.cpp
Log Message:
-----------
[libc++][format] adds a basic fuzzer test. (#87883)
This adds an initial fuzzer. Different formatting arguments will execute
different code paths. This will be tested by different fuzzer tests.
The code is based on a sample provided by Louis.
Commit: eea3bd3954e3a38ae0997f1af558b9deea301c3a
https://github.com/llvm/llvm-project/commit/eea3bd3954e3a38ae0997f1af558b9deea301c3a
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M libcxx/src/tzdb.cpp
Log Message:
-----------
[libc++][TZDB] Fixes relative path resolving. (#87882)
The path /etc/localtime is a symlink. This symlink can be a relative
path. This fixes resolving a relative symlink.
Since the path used is hard-coded based on the user's system there is no
good way to test this.
Fixes: https://github.com/llvm/llvm-project/issues/87872
Commit: cf6feff56b06b9110095ba6e20c609c9d1dfcfd3
https://github.com/llvm/llvm-project/commit/cf6feff56b06b9110095ba6e20c609c9d1dfcfd3
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/src/random.cpp
Log Message:
-----------
[libc++] Avoids using ENODATA. (#86165)
This macro is deprecated in C++26.
Fixes https://github.com/llvm/llvm-project/issues/81360
---------
Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>
Commit: 59e66c515a475bc53db011f3ccca0d2831314443
https://github.com/llvm/llvm-project/commit/59e66c515a475bc53db011f3ccca0d2831314443
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/include/CMakeLists.txt
M libcxx/include/__format/escaped_output_table.h
A libcxx/include/__format/indic_conjunct_break_table.h
M libcxx/include/__format/unicode.h
M libcxx/include/__format/width_estimation_table.h
M libcxx/include/libcxx.imp
M libcxx/include/module.modulemap
M libcxx/test/libcxx/utilities/format/format.string/format.string.std/extended_grapheme_cluster.h
M libcxx/test/libcxx/utilities/format/format.string/format.string.std/extended_grapheme_cluster.pass.cpp
M libcxx/utils/CMakeLists.txt
M libcxx/utils/data/unicode/DerivedCoreProperties.txt
M libcxx/utils/data/unicode/DerivedGeneralCategory.txt
M libcxx/utils/data/unicode/EastAsianWidth.txt
M libcxx/utils/data/unicode/GraphemeBreakProperty.txt
M libcxx/utils/data/unicode/GraphemeBreakTest.txt
M libcxx/utils/data/unicode/emoji-data.txt
M libcxx/utils/generate_extended_grapheme_cluster_table.py
A libcxx/utils/generate_indic_conjunct_break_table.py
Log Message:
-----------
[libc++][format] Switches to Unicode 15.1. (#86543)
In addition to changes in the tables the extended grapheme clustering
algorithm has been overhauled. Before I considered a separate state
machine to implement the rules. With the new rule GB9c this became more
attractive and the design has changed.
This change initially had quite an impact on the performance. By making
the state machine persistent the performance was improved greatly. Note
it is still slower than before due to the larger Unicode tables.
Before
--------------------------------------------------------------------
Benchmark Time CPU Iterations
--------------------------------------------------------------------
BM_ascii_text<char> 1891 ns 1889 ns 369504
BM_unicode_text<char> 106642 ns 106397 ns 6576
BM_cyrillic_text<char> 73420 ns 73277 ns 9445
BM_japanese_text<char> 62485 ns 62387 ns 11153
BM_emoji_text<char> 1895 ns 1893 ns 369525
BM_ascii_text<wchar_t> 2015 ns 2013 ns 346887
BM_unicode_text<wchar_t> 92119 ns 92017 ns 7598
BM_cyrillic_text<wchar_t> 62637 ns 62568 ns 11117
BM_japanese_text<wchar_t> 53850 ns 53785 ns 12803
BM_emoji_text<wchar_t> 2016 ns 2014 ns 347325
After
--------------------------------------------------------------------
Benchmark Time CPU Iterations
--------------------------------------------------------------------
BM_ascii_text<char> 1906 ns 1904 ns 369409
BM_unicode_text<char> 265462 ns 265175 ns 2628
BM_cyrillic_text<char> 181063 ns 180865 ns 3871
BM_japanese_text<char> 130927 ns 130789 ns 5324
BM_emoji_text<char> 1892 ns 1890 ns 370537
BM_ascii_text<wchar_t> 2038 ns 2035 ns 343689
BM_unicode_text<wchar_t> 277603 ns 277282 ns 2526
BM_cyrillic_text<wchar_t> 188558 ns 188339 ns 3727
BM_japanese_text<wchar_t> 133084 ns 132943 ns 5262
BM_emoji_text<wchar_t> 2012 ns 2010 ns 348015
Persistent
--------------------------------------------------------------------
Benchmark Time CPU Iterations
--------------------------------------------------------------------
BM_ascii_text<char> 1904 ns 1899 ns 367472
BM_unicode_text<char> 133609 ns 133287 ns 5246
BM_cyrillic_text<char> 90185 ns 89941 ns 7796
BM_japanese_text<char> 75137 ns 74946 ns 9316
BM_emoji_text<char> 1906 ns 1901 ns 368081
BM_ascii_text<wchar_t> 2703 ns 2696 ns 259153
BM_unicode_text<wchar_t> 131497 ns 131168 ns 5341
BM_cyrillic_text<wchar_t> 87071 ns 86840 ns 8076
BM_japanese_text<wchar_t> 72279 ns 72099 ns 9682
BM_emoji_text<wchar_t> 2021 ns 2016 ns 346767
Commit: ca705681dff4d7b28fad84b8e6846e0463a8860d
https://github.com/llvm/llvm-project/commit/ca705681dff4d7b28fad84b8e6846e0463a8860d
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/include/llvm/ADT/STLExtras.h
Log Message:
-----------
Revert "[ADT] Use `adl_*` wrappers across STLExtras" (#88158)
Reverts llvm/llvm-project#87936
Seems like this broke some clang designated initializers tests,
reverting.
Commit: 60c5c4ccadfb333335649103a71dbddc953f4ff3
https://github.com/llvm/llvm-project/commit/60c5c4ccadfb333335649103a71dbddc953f4ff3
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp
Log Message:
-----------
[MLIR] Don't check for key before inserting in map in GreedyPatternRewriteDriver worklist (NFC) (#88148)
This is a common anti-pattern (any volunteer for a clang-tidy check?).
This does not show real word significant impact though.
Commit: 4dfc55f7e77821c87d35e1e888fecb8cfb854f7e
https://github.com/llvm/llvm-project/commit/4dfc55f7e77821c87d35e1e888fecb8cfb854f7e
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/X86/zext-incoming-for-neg-icmp.ll
Log Message:
-----------
[SLP][NFC]Add a test for PR88103, where zext is incoming to signed comparison.
Commit: 910d2de357de8a490cac3ecbd27196356fe1f2a3
https://github.com/llvm/llvm-project/commit/910d2de357de8a490cac3ecbd27196356fe1f2a3
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/zext-incoming-for-neg-icmp.ll
Log Message:
-----------
[SLP]Fix PR88103: consider the sign of the compare for non-negative operands.
Need to improve detection of number of bits, required for the operand,
before doing a reduction. If the instruction is incoming operand of the
signed compare, need to consider adding an extra bit for signedness.
Commit: f48895a8be517be058153385438ad64fa09d4883
https://github.com/llvm/llvm-project/commit/f48895a8be517be058153385438ad64fa09d4883
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
A clang/test/C/C11/n1514.c
M clang/www/c_status.html
Log Message:
-----------
[C11] Claim conformance to WG14 N1514
This paper made Annex G a normative, but conditionally supported,
annex. Clang does not implement Annex G, so we conform to this paper.
Commit: a454d92c5ac906d391b683661ac3d9a362ab0107
https://github.com/llvm/llvm-project/commit/a454d92c5ac906d391b683661ac3d9a362ab0107
Author: Peiming Liu <peiming at google.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M mlir/lib/Dialect/SparseTensor/Transforms/CMakeLists.txt
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/LoopEmitter.h
A mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorIterator.cpp
A mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorIterator.h
R mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorLevel.cpp
R mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorLevel.h
Log Message:
-----------
[mlir][sparse] rename files and unifies APIs (#88162)
Commit: d3016aa889ac12fd8a047d68fed2ddaca107b990
https://github.com/llvm/llvm-project/commit/d3016aa889ac12fd8a047d68fed2ddaca107b990
Author: Fangrui Song <i at maskray.me>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/include/llvm/BinaryFormat/Dwarf.h
M llvm/lib/CodeGen/AsmPrinter/AccelTable.cpp
Log Message:
-----------
[DWARF] Refactor .debug_names bucket count computation (#88087)
`getDebugNamesBucketAndHashCount` lures users to provide an array to
compute the bucket count using an O(n log n) sort. This is inefficient
as hash table based uniquifying is faster.
The performance issue matters less for Clang as the number of names is
relatively small. For `ld.lld --debug-names`, I plan to compute the
unique hash count as a side product of parallel entry pool computation,
and I just need a function to suggest a bucket count.
Commit: 5d9d740c39a6cf21f0d54ec572aed3c2f556cbcb
https://github.com/llvm/llvm-project/commit/5d9d740c39a6cf21f0d54ec572aed3c2f556cbcb
Author: Björn Pettersson <bjorn.a.pettersson at ericsson.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
R llvm/include/llvm/Analysis/Interval.h
R llvm/include/llvm/Analysis/IntervalIterator.h
R llvm/include/llvm/Analysis/IntervalPartition.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/LinkAllPasses.h
M llvm/lib/Analysis/Analysis.cpp
M llvm/lib/Analysis/CMakeLists.txt
R llvm/lib/Analysis/Interval.cpp
R llvm/lib/Analysis/IntervalPartition.cpp
M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
M llvm/utils/gn/secondary/llvm/lib/Analysis/BUILD.gn
Log Message:
-----------
Remove the unused IntervalPartition analysis pass (#88133)
This removes the old legacy PM "intervals" analysis pass (aka
IntervalPartition). It also removes the associated Interval and
IntervalIterator help classes.
Reasons for removal:
1) The pass is not used by llvm-project (not even being tested by
any regression tests).
2) Pass has not been ported to new pass manager, which at least
indicates that it isn't used by the middle-end.
3) ASan reports heap-use-after-free on
++I; // After the first one...
even if false is passed to intervals_begin. Not sure if that is
a false positive, but it makes the code a bit less trustworthy.
Commit: 759bab068157d93a71ef20dc28a2eaed4fec6d40
https://github.com/llvm/llvm-project/commit/759bab068157d93a71ef20dc28a2eaed4fec6d40
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/icmp-add.ll
Log Message:
-----------
[InstCombine] Add tests for folding `(icmp eq/ne (add nuw x, y), 0)`; NFC
Commit: 7599d478efb1576b5013d17a70971f76d6f7c25a
https://github.com/llvm/llvm-project/commit/7599d478efb1576b5013d17a70971f76d6f7c25a
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/icmp-add.ll
Log Message:
-----------
[InstCombine] Fold `(icmp eq/ne (add nuw x, y), 0)` -> `(icmp eq/ne (or x, y), 0)`
`(icmp eq/ne (or x, y), 0)` is probably easier to analyze than `(icmp
eq/ne x, -y)`
Proof: https://alive2.llvm.org/ce/z/2-VTb6
Closes #88088
Commit: e248f0df14e407b8ae98cd31fb2e77fc058f3c7e
https://github.com/llvm/llvm-project/commit/e248f0df14e407b8ae98cd31fb2e77fc058f3c7e
Author: Daniel Chen <cdchen at ca.ibm.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M flang/docs/Extensions.md
Log Message:
-----------
[Flang] Update Extensions.md for supported BIND(C) LOGICAL kind. (#88159)
Flang also supports non-scalar logical dummy argument with a different
KIND from C_BOOL to a bind(c) routine as well as a component in a
bind(c) derived type. Update the document.
```
subroutine sub(arg)
logical(4) :: arg(4)
end
```
```
type dt
logical(4) :: comp
end type
end
```
Commit: 9797a7ea6bf84b48f267c781be209951d62bc6c9
https://github.com/llvm/llvm-project/commit/9797a7ea6bf84b48f267c781be209951d62bc6c9
Author: Fangrui Song <i at maskray.me>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h
M llvm/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp
Log Message:
-----------
[DWARF] Refactor findDebugNamesOffsets
Address some post-review comments in #82153 and move the function inside
llvm::dwarf, used by certain free functions.
Pull Request: https://github.com/llvm/llvm-project/pull/88064
Commit: 9d9560facb5597e0232ab15716a7915a33d4f0a6
https://github.com/llvm/llvm-project/commit/9d9560facb5597e0232ab15716a7915a33d4f0a6
Author: Raghu Maddhipatla <7686592+raghavendhra at users.noreply.github.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/test/Lower/OpenMP/FIR/target.f90
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/test/Dialect/OpenMP/invalid.mlir
M mlir/test/Dialect/OpenMP/ops.mlir
Log Message:
-----------
[Flang] [OpenMP] [Semantics] [MLIR] [Lowering] Add lowering support for IS_DEVICE_PTR and HAS_DEVICE_ADDR clauses on OMP TARGET directive. (#74187)
Added lowering support for IS_DEVICE_PTR and HAS_DEVICE_ADDR clauses for
OMP TARGET directive and added related tests for these changes.
IS_DEVICE_PTR and HAS_DEVICE_ADDR clauses apply to OMP TARGET directive
OpenMP spec states
`The **is_device_ptr** clause indicates that its list items are device
pointers.`
`The **has_device_addr** clause indicates that its list items already
have device addresses and therefore they may be directly accessed from a
target device.`
Whereas USE_DEVICE_PTR and USE_DEVICE_ADDR clauses apply to OMP TARGET
DATA directive and OpenMP spec for them states
`Each list item in the **use_device_ptr** clause results in a new list
item that is a device pointer that refers to a device address`
`Each list item in a **use_device_addr** clause that is present in the
device data environment is treated as if it is implicitly mapped by a
map clause on the construct with a map-type of alloc`
Commit: aacb8985f734e7e11fc94947f7bc348d1d39f7af
https://github.com/llvm/llvm-project/commit/aacb8985f734e7e11fc94947f7bc348d1d39f7af
Author: Ben Langmuir <blangmuir at apple.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/Core.h
M llvm/lib/ExecutionEngine/Orc/Core.cpp
Log Message:
-----------
[orc] Reduce memory usage from empty materialization info DenseMaps (#88167)
Saves several MB of memory in larger applications after linking finishes
by clearing DenseMap storage that is empty. This does not attempt to
shrink partially full materialization infos. The assumption is that
adding more after linking finishes is rare.
rdar://126145336
Commit: 4bc4c7baed1a4ef13a0964fbf97f4dc1560de592
https://github.com/llvm/llvm-project/commit/4bc4c7baed1a4ef13a0964fbf97f4dc1560de592
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M clang/include/clang/Basic/OpenACCKinds.h
Log Message:
-----------
[NFC] Change name of two helper functions to match naming conventions
Brought up in #88135, I inadvertently mis-named these functions, so
correcting them here.
Commit: 63934821d56f4d366f61048ed6060978bbde1bc6
https://github.com/llvm/llvm-project/commit/63934821d56f4d366f61048ed6060978bbde1bc6
Author: Ziqing Luo <ziqing at udel.edu>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M clang/tools/scan-build/libexec/ccc-analyzer
Log Message:
-----------
[Static Analyzer] Add handling of the `-nostdlibinc` option to ccc-analyzer (#88017)
Compiler options recognizable to ccc-analyzer are stored in maps. An
option missing in the map will be dropped by ccc-analyzer. This causes a
build error in one of our projects that only happens in scan-build but
not regular build, because ccc-analyzer do not recognize `-nostdlibinc`.
This commit adds the option to the map.
rdar://126082053
Commit: fe5dba3c08e31db6b96119787b0836f180aac584
https://github.com/llvm/llvm-project/commit/fe5dba3c08e31db6b96119787b0836f180aac584
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[bazel][libc] Add missing fenv dep for aarch64
For 49561181bdc8698aa28ee2a46d2faa4cf6767bbe.
Commit: 4ae8694cca1b19425ac8707eacc6959ca9770802
https://github.com/llvm/llvm-project/commit/4ae8694cca1b19425ac8707eacc6959ca9770802
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/include/clang/Basic/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/Basic/BUILD.gn
Log Message:
-----------
gn build: Manually port a30662fc2acd
Commit: 2248164a9ab791a3ed1b9586dc340b5303155021
https://github.com/llvm/llvm-project/commit/2248164a9ab791a3ed1b9586dc340b5303155021
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M clang/include/clang/Frontend/FrontendActions.h
M clang/include/clang/Lex/Preprocessor.h
M clang/include/clang/Lex/PreprocessorOptions.h
M clang/lib/Frontend/FrontendActions.cpp
M clang/lib/Lex/PPLexerChange.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
R clang/test/ClangScanDeps/modules-extension.c
A clang/test/ClangScanDeps/modules-minimize-extension.c
A clang/test/ClangScanDeps/modules-minimize-module.c
M clang/unittests/Lex/PPDependencyDirectivesTest.cpp
Log Message:
-----------
Revert "[clang] Move state out of `PreprocessorOptions` (1/n) (#86358)"
This reverts commit 407a2f23 which stopped propagating the callback to module compiles, effectively disabling dependency directive scanning for all modular dependencies. Also added a regression test.
Commit: a8ec1eb843c9c999d1c55b7b34cabebeacc533d7
https://github.com/llvm/llvm-project/commit/a8ec1eb843c9c999d1c55b7b34cabebeacc533d7
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/test/Transforms/LoopVectorize/PowerPC/vplan-force-tail-with-evl.ll
Log Message:
-----------
[VPlan] Dont assign slots to VPValues with an underlying value.
This makes sure the numbering for VPValues without underlying
values is consecutive.
Commit: e953c862e9b082e16ac3306c36dc8fdfc5f03ee3
https://github.com/llvm/llvm-project/commit/e953c862e9b082e16ac3306c36dc8fdfc5f03ee3
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M flang/include/flang/Common/Fortran.h
M flang/include/flang/Optimizer/Support/Utils.h
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Parser/Fortran-parsers.cpp
M flang/lib/Semantics/check-declarations.cpp
M flang/test/Lower/CUDA/cuda-data-attribute.cuf
M flang/test/Semantics/cuf03.cuf
Log Message:
-----------
[flang][cuda] Add UNIFIED data attribute (#88171)
Latest version of the specification introduced the `UNIFIED` attribute
for data.
https://docs.nvidia.com/hpc-sdk/compilers/cuda-fortran-prog-guide/#cfref-var-attr-unified-data
This patch adds the attribute to parsing, semantic and lowering.
The matching rules for dummy/actual arguments is not part of this patch.
Commit: 5b58eb68ed36717971970f35a1192213e3eb4ec5
https://github.com/llvm/llvm-project/commit/5b58eb68ed36717971970f35a1192213e3eb4ec5
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/icmp-or.ll
Log Message:
-----------
[InstCombine] Add tests for folding `(icmp eq/ne (or disjoint x, C0), C1)`; NFC
Commit: 71ef04d7cd6c0d6133ab11ca4cfceefe506a1acb
https://github.com/llvm/llvm-project/commit/71ef04d7cd6c0d6133ab11ca4cfceefe506a1acb
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/icmp-or.ll
Log Message:
-----------
[InstCombine] fold `(icmp eq/ne (or disjoint x, C0), C1)` -> `(icmp eq/ne x, C0^C1)`
Proof: https://alive2.llvm.org/ce/z/m3xoo_
Closes #87734
Commit: 470aefb240dee7d791875284b9917bf641ca971a
https://github.com/llvm/llvm-project/commit/470aefb240dee7d791875284b9917bf641ca971a
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M clang/test/CodeGenCUDA/offloading-entries.cu
M clang/test/OpenMP/declare_target_link_codegen.cpp
M clang/test/OpenMP/declare_target_visibility_codegen.cpp
M clang/test/OpenMP/target_codegen_registration.cpp
M clang/test/OpenMP/target_indirect_codegen.cpp
M llvm/lib/Frontend/Offloading/Utility.cpp
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
M mlir/test/Target/LLVMIR/omptarget-declare-target-llvm-host.mlir
Log Message:
-----------
[Offload][NFC] Remove `omp_` prefix from offloading entries (#88071)
Summary:
These entires are generic for offloading with the new driver now. Having
the `omp` prefix was a historical artifact and is confusing when used
for CUDA. This patch just renames them for now, future patches will
rework the binary format to make it more common.
Commit: b79db396599f42d106b930d61e20c9d5146a6866
https://github.com/llvm/llvm-project/commit/b79db396599f42d106b930d61e20c9d5146a6866
Author: srcarroll <50210727+srcarroll at users.noreply.github.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/test/Dialect/Linalg/transform-ops-invalid.mlir
M mlir/test/Dialect/Linalg/transform-ops.mlir
M mlir/test/Dialect/Linalg/vectorization.mlir
M mlir/test/python/dialects/transform_structured_ext.py
Log Message:
-----------
[mlir][linalg] Support `ParamType` in `vector_sizes` option of `VectorizeOp` transform (#87557)
Commit: b561fd37266753c645f073b7fabf7a75cf65d2ec
https://github.com/llvm/llvm-project/commit/b561fd37266753c645f073b7fabf7a75cf65d2ec
Author: Youngsuk Kim <joseph942010 at gmail.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/docs/Benchmarking.rst
Log Message:
-----------
[docs] Fix broken link in Benchmarking docs (#88117)
Fixes #58813
Commit: a332cfc986e431de11cdbf632b5769878e0d826b
https://github.com/llvm/llvm-project/commit/a332cfc986e431de11cdbf632b5769878e0d826b
Author: Teresa Johnson <tejohnson at google.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
A llvm/test/Transforms/MemProfContextDisambiguation/overlapping-contexts.ll
Log Message:
-----------
[MemProf] Perform cloning for each allocation separately (#87112)
Restructures the cloning slightly to perform all cloning for each
allocation separately. The prior algorithm would sometimes miss cloning
opportunities in cases where trimmed cold contexts partially overlapped
with longer contexts for different allocations.
Most of the change is isolated to the helpers that move edges to new or
existing clones, which now support moving a subset of context ids.
Commit: 4afcfd7498363e42c002ee33a6e925c2d2c7b45e
https://github.com/llvm/llvm-project/commit/4afcfd7498363e42c002ee33a6e925c2d2c7b45e
Author: Fangrui Song <i at maskray.me>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M lld/ELF/DWARF.h
M lld/ELF/SyntheticSections.h
Log Message:
-----------
[ELF] Sort DWARF.h sections. NFC
to make it clear whether .debug_names should be added.
And include llvm/ADT/STLFunctionalExtras.h for IWYU.
Commit: eec41d2f8d81b546d7b97648cca6b2d656104bd3
https://github.com/llvm/llvm-project/commit/eec41d2f8d81b546d7b97648cca6b2d656104bd3
Author: Raghu Maddhipatla <7686592+raghavendhra at users.noreply.github.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/test/Lower/OpenMP/FIR/target.f90
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/test/Dialect/OpenMP/invalid.mlir
M mlir/test/Dialect/OpenMP/ops.mlir
Log Message:
-----------
Revert "[Flang] [OpenMP] [Semantics] [MLIR] [Lowering] Add lowering support for IS_DEVICE_PTR and HAS_DEVICE_ADDR clauses on OMP TARGET directive." (#88198)
Reverts llvm/llvm-project#74187
Commit: f04452de1986e4e01296a80231efb212d6c84c42
https://github.com/llvm/llvm-project/commit/f04452de1986e4e01296a80231efb212d6c84c42
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M clang/include/clang/InstallAPI/DylibVerifier.h
M clang/include/clang/InstallAPI/Frontend.h
M clang/include/clang/InstallAPI/FrontendRecords.h
M clang/lib/InstallAPI/DylibVerifier.cpp
M clang/lib/InstallAPI/Frontend.cpp
M clang/tools/clang-installapi/ClangInstallAPI.cpp
Log Message:
-----------
[InstallAPI] Tie lifetime of FE objects to DylibVerifier (#88189)
A few verification checks need to happen until all AST's have been
traversed, specifically for zippered framework checking. To keep source
location until that time valid, hold onto to references of
FrontendRecords + SourceManager.
Commit: 4a04fca9e2f936264bccba58081893c6703de7ec
https://github.com/llvm/llvm-project/commit/4a04fca9e2f936264bccba58081893c6703de7ec
Author: PiJoules <6019989+PiJoules at users.noreply.github.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M compiler-rt/lib/asan/asan_thread.cpp
Log Message:
-----------
[compiler-rt][asan] Fix for flaky asan check (#88177)
This fixes https://github.com/llvm/llvm-project/issues/87324.
We haven't been able to come up with a minimal reproducer but we can
reliabely avoid this failure with the following fix. Prior to the
GetGlobalLowLevelAllocator change, the old LowLevelAllocator aquired a
lock associated with it preventing that specific allocator from being
accessed at the same time by many threads. With the
GetGlobalLowLevelAllocator change, I had accidentally replaced it but
not taken into account the lock, so we can have a data race if the
allocator is used at any point while a thread is being created. The
global allocator can be used for flag parsing or registering asan
globals.
Commit: 788be0d9fc6aeca548c90bac5ebe6990dd3c66ec
https://github.com/llvm/llvm-project/commit/788be0d9fc6aeca548c90bac5ebe6990dd3c66ec
Author: Brooks Davis <brooks at one-eyed-alien.net>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M flang/include/flang/Evaluate/integer.h
M flang/include/flang/Evaluate/real.h
M flang/lib/Decimal/decimal-to-binary.cpp
M flang/lib/Evaluate/fold-implementation.h
Log Message:
-----------
[flang] fix build on *BSD after 4762c6557d15 (#86204)
The HUGE definition collides with the HUGE macro from math.h. Unlike the
fix in 3149c934cb26 (#84478) (largely reverted in f95710c76519), add
another #undef HUGE since there is no practical way to make FreeBSD's
headers not define HUGE and still define XSI interfaces such as isascii
or strnlen.
Update comments above `#undef HUGE` instances to reflect the fact that
all major BSD versions (I checked DragonFly, FreeBSD, NetBSD, and
OpenBSD) leak the HUGE macro from math.h to various degrees.
Fixes #86038
Commit: 9170e3857521324c096240bf38877e0ffe1a402e
https://github.com/llvm/llvm-project/commit/9170e3857521324c096240bf38877e0ffe1a402e
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/include/llvm/IR/IRBuilder.h
M llvm/include/llvm/IR/InstrTypes.h
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/IR/Instruction.cpp
M llvm/lib/IR/Operator.cpp
M llvm/test/Assembler/flags.ll
M llvm/test/Bitcode/flags.ll
M llvm/test/Transforms/InstCombine/freeze.ll
M llvm/test/Transforms/SimplifyCFG/HoistCode.ll
Log Message:
-----------
Add support for `nneg` flag with `uitofp`
As noted when #82404 was pushed (canonicalizing `sitofp` -> `uitofp`),
different signedness on fp casts can have dramatic performance
implications on different backends.
So, it makes to create a reliable means for the backend to pick its
cast signedness if either are correct.
Further, this allows us to start canonicalizing `sitofp`- > `uitofp`
which may easy middle end analysis.
Closes #86141
Commit: e8a3b72272e3e67e94ee9d7144d3c8292c49e868
https://github.com/llvm/llvm-project/commit/e8a3b72272e3e67e94ee9d7144d3c8292c49e868
Author: Evgenii Stepanov <eugenis at google.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
A llvm/test/Instrumentation/MemorySanitizer/overflow.ll
A llvm/test/Instrumentation/MemorySanitizer/saturating.ll
Log Message:
-----------
[msan] Precommit tests.
Precommit tests for overflowing and saturating arithmetic intrinsics.
Commit: 9760872b537ba8e6eee2e68eb81b7d26af5b40e4
https://github.com/llvm/llvm-project/commit/9760872b537ba8e6eee2e68eb81b7d26af5b40e4
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/test/src/math/BUILD.bazel
Log Message:
-----------
[bazel][libc] Add missing fenv dep for rint test template
For 49561181bdc8698aa28ee2a46d2faa4cf6767bbe.
Commit: 36e25772ddd049c8c742e55fbd2b3c9aaceb7060
https://github.com/llvm/llvm-project/commit/36e25772ddd049c8c742e55fbd2b3c9aaceb7060
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M clang/test/APINotes/instancetype.m
Log Message:
-----------
clang/test/APINotes/instancetype.m: Clean the cache dir
It has been incompatible since #87761
Commit: 892f01a7437b20f5df3edf53824a53889f733b06
https://github.com/llvm/llvm-project/commit/892f01a7437b20f5df3edf53824a53889f733b06
Author: Lei Wang <wlei at fb.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/include/llvm/Transforms/Utils/SampleProfileLoaderBaseImpl.h
Log Message:
-----------
Remove the assertion to unblock breakages (#88035)
as titled.
Commit: ee52add6cb4a6a4ba4beb941c1f2cfa82266e0df
https://github.com/llvm/llvm-project/commit/ee52add6cb4a6a4ba4beb941c1f2cfa82266e0df
Author: Shih-Po Hung <shihpo.hung at sifive.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/RISCV/active_lane_mask.ll
Log Message:
-----------
[RISCV][TTI] Implement cost of intrinsic active_lane_mask (#87931)
This patch uses the argument type to infer the LMUL cost for the index
generation, add, and comparison.
Commit: 44c79da3ae90795ca8b252e8a92910eee9d889c0
https://github.com/llvm/llvm-project/commit/44c79da3ae90795ca8b252e8a92910eee9d889c0
Author: hanbeom <kese111 at gmail.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
M llvm/test/Transforms/InstCombine/shl-demand.ll
Log Message:
-----------
[InstCombine] Remove shl if we only demand known signbits of shift source (#79014)
This patch resolve TODO written in commit:
https://github.com/llvm/llvm-project/commit/5909c678831f3a5c1669f6906f777d4ec4532fa1
Proof: https://alive2.llvm.org/ce/z/C3VNoR
Commit: 1aceee7bb6c4423da73f71aff2004493bdf620d1
https://github.com/llvm/llvm-project/commit/1aceee7bb6c4423da73f71aff2004493bdf620d1
Author: Lei Wang <wlei at fb.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/include/llvm/Transforms/Utils/SampleProfileLoaderBaseImpl.h
M llvm/lib/Transforms/IPO/SampleProfile.cpp
Log Message:
-----------
Remove unused variable (#88223)
fix the CI
Commit: e0219f2d53686135b7363450b44877342a960e71
https://github.com/llvm/llvm-project/commit/e0219f2d53686135b7363450b44877342a960e71
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M lldb/cmake/caches/Apple-lldb-Linux.cmake
Log Message:
-----------
[lldb] Overwrite existing LLVM_ENABLE_EXPORTED_SYMBOLS_IN_EXECUTABLES
on apple-linux
Commit: 349327f7e73ab7a314ef08c463dd04fcea623150
https://github.com/llvm/llvm-project/commit/349327f7e73ab7a314ef08c463dd04fcea623150
Author: Eli Friedman <efriedma at quicinc.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M clang/lib/Headers/intrin.h
Log Message:
-----------
[ARM64EC] Make intrin.h include arm64intrin.h.
Fixes compiling windows.h using clang's intrin.h.
Commit: 4c6ae8ebb69525118e7fc3cf57908e9de74ebef9
https://github.com/llvm/llvm-project/commit/4c6ae8ebb69525118e7fc3cf57908e9de74ebef9
Author: Karthika Devi C <quic_kartc at quicinc.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M polly/lib/Support/GICHelper.cpp
M polly/lib/Transform/MatmulOptimizer.cpp
Log Message:
-----------
[polly] Fix cppcheck SA comments reported in #82263 (#85749)
This patch addresses the (performance )suggestions by checkcpp static
analyzer for couple of files. Here we use const reference for the
suggested function arguments.
Fixes #82263.
Commit: 71097e927141e278dd92e847e67f636526510a31
https://github.com/llvm/llvm-project/commit/71097e927141e278dd92e847e67f636526510a31
Author: Eli Friedman <efriedma at quicinc.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
A clang/test/CodeGenCXX/arm64ec-vectorcall.cpp
Log Message:
-----------
[ARM64EC] Add support for parsing __vectorcall (#87725)
MSVC doesn't support generating __vectorcall calls in Arm64EC mode, but
it does treat it as a distinct type. The Microsoft STL depends on this
functionality. (Not sure if this is intentional.) Add support for
parsing the same way as MSVC, and add some checks to ensure we don't try
to actually generate code.
The error handling in CodeGen is ugly, but I can't think of a better way
to do it.
Commit: 000f2b51633d181bf4a5919fc38cf964a83f2091
https://github.com/llvm/llvm-project/commit/000f2b51633d181bf4a5919fc38cf964a83f2091
Author: Longsheng Mou <moulongsheng at huawei.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M clang/lib/CodeGen/Targets/X86.cpp
M clang/test/CodeGen/X86/x86_64-arguments.c
Log Message:
-----------
[X86_64] fix arg pass error in struct. (#86902)
```
typedef long long t67 __attribute__((aligned (4)));
struct s67 {
int a;
t67 b;
};
void f67(struct s67 x) {
}
```
When classify:
a: Lo = Integer, Hi = NoClass
b: Lo = Integer, Hi = NoClass
struct S: Lo = Integer, Hi = NoClass
```
define dso_local void @f67(i64 %x.coerce) {
```
In this case, only one i64 register is used when the structure parameter
is transferred, which is obviously incorrect.So we need to treat the
split case specially. fix
https://github.com/llvm/llvm-project/issues/85387.
Commit: 58323de2e5ed0fec81ccfe421488d7fb27ecbe38
https://github.com/llvm/llvm-project/commit/58323de2e5ed0fec81ccfe421488d7fb27ecbe38
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
M polly/lib/Analysis/ScopDetectionDiagnostic.cpp
Log Message:
-----------
[clang-format] Correctly annotate braces in macros (#87953)
Also fix unit tests and reformat polly.
Fixes #86550.
Commit: bcf849b1e5faea405cfbbd4bc848048651055b25
https://github.com/llvm/llvm-project/commit/bcf849b1e5faea405cfbbd4bc848048651055b25
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] instanceof is a keyword only in Java/JavaScript (#88085)
Fixes #87907.
Commit: 8dc006ea4008c1af298e56c4db6fffe2a40a2ba9
https://github.com/llvm/llvm-project/commit/8dc006ea4008c1af298e56c4db6fffe2a40a2ba9
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
Log Message:
-----------
[RISCV] Make EmitToStreamer return whether Inst is compressed
This is helpful to reduce calls of `RISCVRVC::compress` in #77337.
Reviewers: asb, lukel97, topperc
Reviewed By: topperc
Pull Request: https://github.com/llvm/llvm-project/pull/88120
Commit: 289a2c380e47d64a1e626259c53fc8c7d6c2be66
https://github.com/llvm/llvm-project/commit/289a2c380e47d64a1e626259c53fc8c7d6c2be66
Author: Nhat Nguyen <nhat7203 at gmail.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/spec/linux.td
M libc/src/sys/CMakeLists.txt
A libc/src/sys/ioctl/CMakeLists.txt
A libc/src/sys/ioctl/ioctl.h
A libc/src/sys/ioctl/linux/CMakeLists.txt
A libc/src/sys/ioctl/linux/ioctl.cpp
A libc/test/src/sys/ioctl/CMakeLists.txt
A libc/test/src/sys/ioctl/linux/CMakeLists.txt
A libc/test/src/sys/ioctl/linux/ioctl_test.cpp
Log Message:
-----------
[libc] implement ioctl (#85890)
This PR is to work on the issue #85275
Commit: 87e6f87fe7e343eb656e9b49d30cbb065c086651
https://github.com/llvm/llvm-project/commit/87e6f87fe7e343eb656e9b49d30cbb065c086651
Author: Connor Sughrue <55301806+cpsughrue at users.noreply.github.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/include/llvm/Support/raw_socket_stream.h
M llvm/lib/Support/raw_socket_stream.cpp
M llvm/unittests/Support/raw_socket_stream_test.cpp
Log Message:
-----------
[llvm][Support] Improvements to ListeningSocket functionality and documentation (#84710)
Improvements include
* Enable `ListeningSocket::accept` to timeout after a specified amount
of time or block indefinitely
* Enable `ListeningSocket::createUnix` to handle instances where the
target socket address already exists and differentiate between
situations where the existing file does and does not already have a
bound socket
* Doxygen comments
Functionality added for the module build daemon
---------
Co-authored-by: Michael Spencer <bigcheesegs at gmail.com>
Commit: 3c2feab7d152b7f161b4adaecef4ec81f038a23e
https://github.com/llvm/llvm-project/commit/3c2feab7d152b7f161b4adaecef4ec81f038a23e
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/spec/linux.td
M libc/src/sys/CMakeLists.txt
R libc/src/sys/ioctl/CMakeLists.txt
R libc/src/sys/ioctl/ioctl.h
R libc/src/sys/ioctl/linux/CMakeLists.txt
R libc/src/sys/ioctl/linux/ioctl.cpp
R libc/test/src/sys/ioctl/CMakeLists.txt
R libc/test/src/sys/ioctl/linux/CMakeLists.txt
R libc/test/src/sys/ioctl/linux/ioctl_test.cpp
Log Message:
-----------
Revert "[libc] implement ioctl" (#88226)
Reverts llvm/llvm-project#85890
This fails in full build mode:
https://lab.llvm.org/buildbot/#/builders/163/builds/54478/steps/4/logs/stdio
Commit: 84a5332a68f2b6cb6f48b9483e50d3f821f17119
https://github.com/llvm/llvm-project/commit/84a5332a68f2b6cb6f48b9483e50d3f821f17119
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/test/CodeGen/X86/uint_to_fp.ll
Log Message:
-----------
[X86] Add tests for `uitofp nneg` -> `sitofp`; NFC
Commit: 70136389788b90c2e6bbaef5ad8bb0285d460068
https://github.com/llvm/llvm-project/commit/70136389788b90c2e6bbaef5ad8bb0285d460068
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
Log Message:
-----------
[DAG] Add support for `nneg` flag with `uitofp`
Copy `nneg` flag when building `UINT_TO_FP` from `uitofp` and use
`nneg` flag in the one place we transform `UINT_TO_FP` -> `SINT_TO_FP`
if the operand is non-negative.
Commit: 6c40d463c28e7a6843bea9f6d838cd89e586cbe8
https://github.com/llvm/llvm-project/commit/6c40d463c28e7a6843bea9f6d838cd89e586cbe8
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/uint_to_fp.ll
Log Message:
-----------
[X86] Use `nneg` flag when trying to convert `uitofp` -> `sitofp`
Closes #86694
Commit: 817c832e72f0df3efe1ddd804283c8c89b78639f
https://github.com/llvm/llvm-project/commit/817c832e72f0df3efe1ddd804283c8c89b78639f
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M clang/lib/Sema/SemaExprCXX.cpp
M clang/test/SemaCXX/type-traits.cpp
Log Message:
-----------
[clang] Improve source location in binary type traits diagnostics (#88097)
This patch takes advantage of a recent NFC change that refactored
`EvaluateBinaryTypeTrait()` to accept `TypeSourceInfo` instead of
`QualType` c7db450e5c1a83ea768765dcdedfd50f3358d418.
Before:
```
test2.cpp:105:55: error: variable length arrays are not supported in '__is_layout_compatible'
105 | static_assert(!__is_layout_compatible(int[n], int[n]));
| ^
test2.cpp:125:76: error: incomplete type 'CStructIncomplete' where a complete type is required
125 | static_assert(__is_layout_compatible(CStructIncomplete, CStructIncomplete));
| ^
```
After:
```
test2.cpp:105:41: error: variable length arrays are not supported in '__is_layout_compatible'
105 | static_assert(!__is_layout_compatible(int[n], int[n]));
| ^
test2.cpp:125:40: error: incomplete type 'CStructIncomplete' where a complete type is required
125 | static_assert(__is_layout_compatible(CStructIncomplete, CStructIncomplete));
| ^
```
Commit: b0662a7a7d6d7a4a5339b95d3a20a53390636716
https://github.com/llvm/llvm-project/commit/b0662a7a7d6d7a4a5339b95d3a20a53390636716
Author: Congzhe <congzhe.cao at huawei.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Utils/CodeMoverUtils.cpp
M llvm/unittests/Transforms/Utils/CodeMoverUtilsTest.cpp
Log Message:
-----------
[CodeMoverUtils] Enhance CodeMoverUtils to sink an entire BB (#87857)
When moving an entire basic block after `InsertPoint`, currently we
check each instruction whether their users are dominated by
`InsertPoint`, however, this can be improved such that even a user is
not dominated by `InsertPoint`, as long as it appears as a subsequent
instruction in the same BB, it is safe to move.
This patch is similar to commit 751be2a064f119af74c7b9b1e52bc904d8aa114d
that enhanced hoisting an entire BB, and this patch enhances sinking an
entire BB. Please refer to the added functionality in test case
`llvm/unittests/Transforms/Utils/CodeMoverUtilsTest.cpp` that was not
supported without this patch.
Commit: ee284d2da0720dc21191d6f545504cbfcf5dcbcf
https://github.com/llvm/llvm-project/commit/ee284d2da0720dc21191d6f545504cbfcf5dcbcf
Author: Fangrui Song <i at maskray.me>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M lld/ELF/SyntheticSections.cpp
M lld/ELF/SyntheticSections.h
M lld/ELF/Writer.cpp
Log Message:
-----------
[ELF] Avoid make<GdbIndexSection>. NFC
Commit: 1fda1776e32b5582bfcfcbd8094f3c280d936cec
https://github.com/llvm/llvm-project/commit/1fda1776e32b5582bfcfcbd8094f3c280d936cec
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/include/CMakeLists.txt
A libcxx/include/__chrono/sys_info.h
M libcxx/include/__chrono/time_zone.h
M libcxx/include/chrono
M libcxx/include/libcxx.imp
M libcxx/include/module.modulemap
M libcxx/modules/std/chrono.inc
M libcxx/src/include/tzdb/time_zone_private.h
M libcxx/src/include/tzdb/types_private.h
M libcxx/src/time_zone.cpp
M libcxx/src/tzdb.cpp
M libcxx/test/libcxx/diagnostics/chrono.nodiscard_extensions.compile.pass.cpp
M libcxx/test/libcxx/diagnostics/chrono.nodiscard_extensions.verify.cpp
A libcxx/test/libcxx/time/time.zone/time.zone.timezone/time.zone.members/get_info.sys_time.pass.cpp
A libcxx/test/libcxx/time/time.zone/time.zone.timezone/time.zone.members/get_info.sys_time.rule_selection.pass.cpp
M libcxx/test/libcxx/transitive_includes/cxx23.csv
M libcxx/test/libcxx/transitive_includes/cxx26.csv
A libcxx/test/std/time/time.zone/time.zone.info/time.zone.info.sys/sys_info.members.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.timezone/time.zone.members/get_info.sys_time.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.timezone/time.zone.members/sys_info.zdump.pass.cpp
M libcxx/utils/libcxx/test/features.py
Log Message:
-----------
[libc++][chrono] Adds the sys_info class. (#85619)
Adds the sys_info class and time_zone::get_info(). The code still has a
few quirks and has not been optimized for performance yet.
The returned sys_info is compared against the output of the zdump tool
in the test giving confidence the implementation is correct.
Implements parts of:
- P0355 Extending <chrono> to Calendars and Time Zones
Implements:
- LWGXXXX The sys_info range should be affected by save
Commit: c174d8f46546f7e0e861061256a45570f3bdea75
https://github.com/llvm/llvm-project/commit/c174d8f46546f7e0e861061256a45570f3bdea75
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M libcxx/utils/ci/Dockerfile
Log Message:
-----------
[libc++][CI] Updates Docker LLDB dependencies. (#88174)
In order to test the LLDB data formatters make is required and SWIG
needs to be updated to version 4.
As drive-by, this patch sorts the entries and removes some duplicates.
Commit: 4a93872a4f57d2f205826052150fadc36490445f
https://github.com/llvm/llvm-project/commit/4a93872a4f57d2f205826052150fadc36490445f
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M clang/lib/Driver/ToolChains/MSVC.h
M clang/test/Driver/gcodeview-command-line.c
A clang/test/Misc/win32-elf.c
Log Message:
-----------
Reland "[Win32][ELF] Make CodeView a DebugInfoFormat only for COFF format" (#87987)
This relands #87149.
The previous commit exposed failures on some targets. The reason is only
a few targets support COFF ObjectFormatType on Windows:
https://github.com/llvm/llvm-project/blob/main/llvm/lib/TargetParser/Triple.cpp#L835-L842
With #87149, the targets don't support COFF will report "warning:
argument unused during compilation: '-gcodeview-command-line'
[-Wunused-command-line-argument]" in the test gcodeview-command-line.c
This patch limits gcodeview-command-line.c only run on targets support
COFF.
Commit: 749620ea2c738be88f6c0fd59c7217bca6818d5f
https://github.com/llvm/llvm-project/commit/749620ea2c738be88f6c0fd59c7217bca6818d5f
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M libcxx/utils/ci/run-buildbot
Log Message:
-----------
[lib++][CI] Changes bootstrap build type. (#88175)
The RelWithDebInfo generates a few GB of debug info that is not used.
Instead use the normal Release build for testing.
Commit: 3d985a6f1bfcdb6e6d550003f9a1276fe47f588d
https://github.com/llvm/llvm-project/commit/3d985a6f1bfcdb6e6d550003f9a1276fe47f588d
Author: Shih-Po Hung <shihpo.hung at sifive.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/RISCV/rvv-select.ll
Log Message:
-----------
[RISCV][TTI] Scale the cost of Select with LMUL (#88098)
Use the Val type to estimate the instruction cost for SelectInst.
Commit: 313a33b9dff44dc2b0048484e54f9328d9a0d9db
https://github.com/llvm/llvm-project/commit/313a33b9dff44dc2b0048484e54f9328d9a0d9db
Author: XChy <xxs_chy at outlook.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/test/Transforms/InstCombine/and-or-icmps.ll
M llvm/test/Transforms/InstCombine/logical-select.ll
Log Message:
-----------
[InstCombine] Reduce nested logical operator if poison is implied (#86823)
Fixes #76623
Alive2 proof: https://alive2.llvm.org/ce/z/gX6znJ (I'm not sure how to
write a proof for such transform, maybe there are mistakes)
In most cases, `icmp(a, C1) && (other_cond && icmp(a, C2))` will be
reduced to `icmp(a, C1) & (other_cond && icmp(a, C2))`, since latter
icmp always implies the poison of the former. After reduction, it's
easier to simplify the icmp chain.
Similarly, this patch does the same thing for `(A && B) && C --> A && (B
& C)`. Maybe we could constraint such reduction only on icmps if there
is regression in benchmarks.
Commit: 469caa31e77f1da37434783f9b4f1d87fe8dff71
https://github.com/llvm/llvm-project/commit/469caa31e77f1da37434783f9b4f1d87fe8dff71
Author: Chia <sun1011jacobi at gmail.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/ctlz-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/cttz-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vwadd-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vwsll-sdnode.ll
Log Message:
-----------
[RISCV] Use vwadd.vx for splat vector with extension (#87249)
This patch allows `combineBinOp_VLToVWBinOp_VL` to handle patterns like
`(splat_vector (sext op))` or `(splat_vector (zext op))`. Then we can
use `vwadd.vx` and `vwadd.w` for such a case.
### Source code
```
define <vscale x 8 x i64> @vwadd_vx_splat_sext(<vscale x 8 x i32> %va, i32 %b) {
%sb = sext i32 %b to i64
%head = insertelement <vscale x 8 x i64> poison, i64 %sb, i32 0
%splat = shufflevector <vscale x 8 x i64> %head, <vscale x 8 x i64> poison, <vscale x 8 x i32> zeroinitializer
%vc = sext <vscale x 8 x i32> %va to <vscale x 8 x i64>
%ve = add <vscale x 8 x i64> %vc, %splat
ret <vscale x 8 x i64> %ve
}
```
### Before this patch
[Compiler Explorer](https://godbolt.org/z/sq191PsT4)
```
vwadd_vx_splat_sext:
sext.w a0, a0
vsetvli a1, zero, e64, m8, ta, ma
vmv.v.x v16, a0
vsetvli zero, zero, e32, m4, ta, ma
vwadd.wv v16, v16, v8
vmv8r.v v8, v16
ret
```
### After this patch
```
vwadd_vx_splat_sext
vsetvli a1, zero, e32, m4, ta, ma
vwadd.vx v16, v8, a0
vmv8r.v v8, v16
ret
```
Commit: 299b636a8f1c9cb2382f9dce4cdf6ec6330a79c6
https://github.com/llvm/llvm-project/commit/299b636a8f1c9cb2382f9dce4cdf6ec6330a79c6
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M clang/lib/Driver/ToolChains/MSVC.h
M clang/test/Driver/gcodeview-command-line.c
R clang/test/Misc/win32-elf.c
Log Message:
-----------
Revert "Reland "[Win32][ELF] Make CodeView a DebugInfoFormat only for COFF format" (#87987)"
This reverts commit 4a93872a4f57d2f205826052150fadc36490445f.
Sorry, there're still buildbot failures.
Commit: 4e85e1ffcaf161736e27a24c291c1177be865976
https://github.com/llvm/llvm-project/commit/4e85e1ffcaf161736e27a24c291c1177be865976
Author: Dinar Temirbulatov <Dinar.Temirbulatov at arm.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/test/Sema/aarch64-incompat-sm-builtin-calls.c
M clang/test/Sema/aarch64-sme-func-attrs.c
Log Message:
-----------
[Clang][AArch64] Warn when calling non/streaming about vector size difference (#79842)
The compiler doesn't know in advance if the streaming and non-streaming
vector-lengths are different, so it should be safe to give a warning
diagnostic to warn the user about possible undefined behaviour. If the
user knows the vector lengths are equal, they can disable the warning
separately.
Commit: e50c4c83b6d3f595b0eec9c9600fb3de1147fef7
https://github.com/llvm/llvm-project/commit/e50c4c83b6d3f595b0eec9c9600fb3de1147fef7
Author: Paschalis Mpeis <paschalis.mpeis at arm.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/include/llvm/Analysis/VecFuncs.def
M llvm/test/Transforms/LoopVectorize/AArch64/veclib-function-calls.ll
M llvm/test/Transforms/Util/add-TLI-mappings.ll
Log Message:
-----------
[AArch64][TLI] Add TLI mappings for ArmPL modf, sincos, sincospi (#83143)
ArmPL 24.04 release fixes a bug concerning these methods,
so now they can be re-introduced to TLI mappings.
Commit: b7a93bc1f230fe01f38f3648437cee74f339c5ac
https://github.com/llvm/llvm-project/commit/b7a93bc1f230fe01f38f3648437cee74f339c5ac
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/Context.cpp
M clang/lib/AST/Interp/EvalEmitter.cpp
M clang/lib/AST/Interp/Pointer.cpp
M clang/lib/AST/Interp/Program.cpp
A clang/test/AST/Interp/vectors.cpp
Log Message:
-----------
[clang][Interp] Start implementing vector types
Map them to primtive arrays, much like complex types.
Commit: 0d17e1f0e5d706ac288ac8a62db92b8df64faf4e
https://github.com/llvm/llvm-project/commit/0d17e1f0e5d706ac288ac8a62db92b8df64faf4e
Author: hev <wangrui at loongson.cn>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchFrameLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchFrameLowering.h
M llvm/test/CodeGen/LoongArch/emergency-spill-slot.ll
Log Message:
-----------
[LoongArch] Revert `sp` adjustment in prologue (#88110)
After commit 18c5f3c3 ("[RegisterScavenger][RISCV] Don't search for
FrameSetup instrs if we were searching from Non-FrameSetup instrs"), we
can revert the `sp` adjustment 4e2364a2 ("[LoongArch] Add emergency
spill slot for GPR for large frames") to generate better code, as the
issue with `RegScavenger` has been resolved.
Fixes #88109
Commit: cac4c14ecfcb892201ae8f4b1559909cc22082d0
https://github.com/llvm/llvm-project/commit/cac4c14ecfcb892201ae8f4b1559909cc22082d0
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
Log Message:
-----------
[LAA] Replace std::tuple with struct (NFCI).
As suggested in https://github.com/llvm/llvm-project/pull/88039, replace
the tuple with a struct, to make it easier to extend.
Commit: 0e7d14d2e8ccad8ee1ec60c5c9f434553ec5c6ec
https://github.com/llvm/llvm-project/commit/0e7d14d2e8ccad8ee1ec60c5c9f434553ec5c6ec
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/test/CodeGen/X86/mmx-intrinsics.ll
Log Message:
-----------
[X86] Regenerate mmx-intrinsics.ll test checks
Commit: 990c4bc95f69afb63849898b6b25b13d49d6cdd4
https://github.com/llvm/llvm-project/commit/990c4bc95f69afb63849898b6b25b13d49d6cdd4
Author: Dinar Temirbulatov <Dinar.Temirbulatov at arm.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
A llvm/test/CodeGen/AArch64/sve2-bsl.ll
Log Message:
-----------
[AArch64][SVE2] Generate SVE2 BSL instruction in LLVM for bit-twiddling. (#83514)
Allow to fold or/and-and to BSL instuction for scalable vectors.
Commit: ec40097db28374c1226f0f7e45f18491a596778b
https://github.com/llvm/llvm-project/commit/ec40097db28374c1226f0f7e45f18491a596778b
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/InterpBuiltin.cpp
M clang/test/AST/Interp/builtin-functions.cpp
Log Message:
-----------
[clang][Interp] Implement __builtin_{ctz,clz}g
Commit: 1709eac58fee8f559cd70cfce9e7f09192dcb1bc
https://github.com/llvm/llvm-project/commit/1709eac58fee8f559cd70cfce9e7f09192dcb1bc
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/ByteCodeStmtGen.cpp
M clang/lib/AST/Interp/Descriptor.h
M clang/lib/AST/Interp/FunctionPointer.h
M clang/lib/AST/Interp/Interp.cpp
M clang/lib/AST/Interp/Interp.h
M clang/lib/AST/Interp/InterpBlock.cpp
M clang/lib/AST/Interp/Opcodes.td
M clang/lib/AST/Interp/Pointer.cpp
M clang/lib/AST/Interp/Pointer.h
M clang/lib/AST/Interp/PrimType.h
M clang/test/AST/Interp/c.c
A clang/test/AST/Interp/const-eval.c
M clang/test/AST/Interp/functions.cpp
Log Message:
-----------
[clang][Interp] Integral pointers (#84159)
This turns the current `Pointer` class into a discriminated union of
`BlockPointer` and `IntPointer`. The former is what `Pointer` currently
is while the latter is just an integer value and an optional
`Descriptor*`.
The `Pointer` then has type check functions like
`isBlockPointer()`/`isIntegralPointer()`/`asBlockPointer()`/`asIntPointer()`,
which can be used to access its data.
Right now, the `IntPointer` and `BlockPointer` structs do not have any
methods of their own and everything is instead implemented in Pointer
(like it was before) and the functions now just either assert for the
right type or decide what to do based on it.
This also implements bitcasts by decaying the pointer to an integral
pointer.
`test/AST/Interp/const-eval.c` is a new test testing all kinds of stuff
related to this. It still has a few tests `#ifdef`-ed out but that
mostly depends on other unimplemented things like
`__builtin_constant_p`.
Commit: 89ba7e183e6e2c64370ed1b963e54c06352211db
https://github.com/llvm/llvm-project/commit/89ba7e183e6e2c64370ed1b963e54c06352211db
Author: Utkarsh Saxena <usx at google.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M clang/lib/CodeGen/CGCleanup.cpp
M clang/lib/CodeGen/CGCleanup.h
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprAgg.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
A clang/test/CodeGenCXX/control-flow-in-stmt-expr.cpp
A clang/test/CodeGenCoroutines/coro-suspend-cleanups.cpp
Log Message:
-----------
[codegen] Emit missing cleanups for stmt-expr and coro suspensions [take-2] (#85398)
Fixes https://github.com/llvm/llvm-project/issues/63818 for control flow
out of an expressions.
#### Background
A control flow could happen in the middle of an expression due to
stmt-expr and coroutine suspensions.
Due to branch-in-expr, we missed running cleanups for the temporaries
constructed in the expression before the branch.
Previously, these cleanups were only added as `EHCleanup` during the
expression and as normal expression after the full expression.
Examples of such deferred cleanups include:
`ParenList/InitList`: Cleanups for fields are performed by the
destructor of the object being constructed.
`Array init`: Cleanup for elements of an array is included in the array
cleanup.
`Lifetime-extended temporaries`: reference-binding temporaries in
braced-init are lifetime extended to the parent scope.
`Lambda capture init`: init in the lambda capture list is destroyed by
the lambda object.
---
#### In this PR
In this PR, we change some of the `EHCleanups` cleanups to
`NormalAndEHCleanups` to make sure these are emitted when we see a
branch inside an expression (through statement expressions or coroutine
suspensions).
These are supposed to be deactivated after full expression and destroyed
later as part of the destructor of the aggregate or array being
constructed. To simplify deactivating cleanups, we add two utilities as
well:
* `DeferredDeactivationCleanupStack`: A stack to remember cleanups with
deferred deactivation.
* `CleanupDeactivationScope`: RAII for deactivating cleanups added to
the above stack.
---
#### Deactivating normal cleanups
These were previously `EHCleanups` and not `Normal` and **deactivation**
of **required** `Normal` cleanups had some bugs. These specifically
include deactivating `Normal` cleanups which are not the top of
`EHStack`
[source1](https://github.com/llvm/llvm-project/blob/92b56011e6b61e7dc1628c0431ece432f282b3cb/clang/lib/CodeGen/CGCleanup.cpp#L1319),
[2](https://github.com/llvm/llvm-project/blob/92b56011e6b61e7dc1628c0431ece432f282b3cb/clang/lib/CodeGen/CGCleanup.cpp#L722-L746).
This has not been part of our test suite (maybe it was never required
before statement expressions). In this PR, we also fix the emission of
required-deactivated-normal cleanups.
Commit: a0651db490328a972185e44ff637970b3456406b
https://github.com/llvm/llvm-project/commit/a0651db490328a972185e44ff637970b3456406b
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaTemplateVariadic.cpp
M clang/test/SemaTemplate/alias-templates.cpp
Log Message:
-----------
[clang][Sema] Avoid guessing unexpanded packs' size in getFullyPackExpandedSize (#87768)
There has been an optimization for `SizeOfPackExprs` since c5452ed9, in
which
we overlooked a case where the template arguments were not yet
formed into a `PackExpansionType` at the token annotation stage. This
led to a problem in that a template involving such expressions may
lose its nature of being dependent, causing some false-positive
diagnostics.
Fixes https://github.com/llvm/llvm-project/issues/84220
Commit: 8d206f51497fdf1ceebd6430b2f7d31ef735d0dc
https://github.com/llvm/llvm-project/commit/8d206f51497fdf1ceebd6430b2f7d31ef735d0dc
Author: Edwin Vane <revane at google.com>
Date: 2024-04-10 (Wed, 10 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] Allow renaming macro arguments (#87792)
Although the identifier-naming.cpp lit test expected macro arguments not
to be renamed, the code seemed to already allow it. The code was simply
not being exercised because a SourceManager argument wasn't being
provided. With this change, renaming of macro arguments that expand to
renamable decls is permitted.
Commit: f2ade91a9fe7c222ea919748d30b74397911ecc8
https://github.com/llvm/llvm-project/commit/f2ade91a9fe7c222ea919748d30b74397911ecc8
Author: Jeff Niu <jeff at modular.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M mlir/include/mlir/IR/OpDefinition.h
M mlir/include/mlir/IR/Operation.h
Log Message:
-----------
[mlir] Optimize getting properties on concrete ops (#88259)
This makes retrieving properties on concrete operations faster by
removing a branch when it is known that the operation must have
properties.
Commit: 94ed57dab64ccb248a342a91957f390209c5c7ce
https://github.com/llvm/llvm-project/commit/94ed57dab64ccb248a342a91957f390209c5c7ce
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/test/Transforms/PhaseOrdering/AArch64/hoist-runtime-checks.ll
Log Message:
-----------
[PhaseOrdering] Add test for #85551.
Add test for missed hoisting of checks from std::span
https://github.com/llvm/llvm-project/issues/85551
Commit: a2bdbc6f0da2a9d0cecb23c64bd20423b3fd0340
https://github.com/llvm/llvm-project/commit/a2bdbc6f0da2a9d0cecb23c64bd20423b3fd0340
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M lld/COFF/ICF.cpp
A lld/test/COFF/arm64x-icf.s
Log Message:
-----------
[LLD][COFF] Check machine types in ICF::equalsConstant. (#88140)
Avoid replacing replacing a chunk with one from a different type. It's
mostly a concern for ARM64X, where we don't want to merge aarch64 and
arm64ec chunks, but it may also in theory happen between arm64ec and
x86_64 chunks.
Commit: b47e439559ad03a1b32614f573aad66f145a634d
https://github.com/llvm/llvm-project/commit/b47e439559ad03a1b32614f573aad66f145a634d
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaExprMember.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/TreeTransform.h
M clang/test/SemaTemplate/ms-function-specialization-class-scope.cpp
Log Message:
-----------
Revert "[Clang][Sema] Fix crash when 'this' is used in a dependent class scope function template specialization that instantiates to a static member function" (#88264)
Reverts llvm/llvm-project#87541
Commit: 1ca01958310f2956abd72ece1652c3218bcf27e1
https://github.com/llvm/llvm-project/commit/1ca01958310f2956abd72ece1652c3218bcf27e1
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M clang/lib/AST/TypePrinter.cpp
Log Message:
-----------
[Clang][AST][NFC] Fix printing of dependent PackIndexTypes (#88146)
Dependent `PackIndexType`s currently print the memory address of the
index `Expr*` rather than pretty printing the expression. This patch
fixes that.
Commit: 49ef12a08c4c7d7ae4765929e72fe2320a12b08c
https://github.com/llvm/llvm-project/commit/49ef12a08c4c7d7ae4765929e72fe2320a12b08c
Author: Johannes Reifferscheid <jreiffers at google.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
M mlir/test/Conversion/ComplexToStandard/convert-to-standard.mlir
Log Message:
-----------
Fix complex log1p accuracy with large abs values. (#88260)
This ports https://github.com/openxla/xla/pull/10503 by @pearu. The new
implementation matches mpmath's results for most inputs, see caveats in
the linked pull request. In addition to the filecheck test here, the
accuracy was tested with XLA's complex_unary_op_test and its MLIR
emitters.
Commit: 54a9f0007cb4f19d2e9df30405c5027229f5def0
https://github.com/llvm/llvm-project/commit/54a9f0007cb4f19d2e9df30405c5027229f5def0
Author: annamthomas <anna at azul.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
A llvm/test/Analysis/ScalarEvolution/pr87798.ll
Log Message:
-----------
[SCEV] Fix BinomialCoefficient Iteration to fit in W bits (#88010)
BinomialCoefficient computes the value of W-bit IV at iteration It of a loop. When W is 1, we can call multiplicative inverse on 0 which triggers an assert since 1b76120.
Since the arithmetic is supposed to wrap if It or K does not fit in W bits, do the truncation into W bits after we do the shift.
Fixes #87798
Commit: 938a73422e0b964eba16f272acdfae1d0281772c
https://github.com/llvm/llvm-project/commit/938a73422e0b964eba16f272acdfae1d0281772c
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC]Walk over entries, not single values.
Better to walk over SLP nodes rather than single values. Matching
a value to a node is not a 1-to-1 relation, one value may be part of
several nodes and compiler may get wrong node, when trying to map it.
Currently there are no such issues detected, but they may appear in
future.
Commit: 50d368aee981738cd05f3d16f5d1cfc122c9b0ab
https://github.com/llvm/llvm-project/commit/50d368aee981738cd05f3d16f5d1cfc122c9b0ab
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M clang/test/Driver/linker-wrapper-libs.c
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
Log Message:
-----------
[LinkerWrapper] Relax ordering of static libraries for offloading (#87532)
Summary:
The linker wrapper attempts to maintain consistent semantics with
existing host invocations. Static libraries by default only extract if
there are non-weak symbols that remain undefined. However, we have
situations between linkers that put different meanings on ordering. The
ld.bfd linker requires static libraries to be defined after the symbols,
while `ld.lld` relaxes this rule. The linker wrapper went with the
former as it's the easier solution, however this has caused a lot of
issues as I've had to explain this rule to several people, it also make
it difficult to include things like `libc` in the OpenMP runtime because
it would sometimes be linked before or after.
This patch reworks the logic to more or less perform the following logic
for static libraries.
1. Split library / object inputs.
2. Include every object input and record its undefined symbols
3. Repeatedly try to extract static libraries to resolve these
symbols. If a file is extracted we need to check every library
again to resolve any new undefined symbols.
This allows the following to work and will cause fewer issues when
replacing HIP, which does `--whole-archive` so it's very likely the old
logic will regress.
```console
$ clang -lfoo main.c -fopenmp --offload-arch=native
```
Commit: 6b35cbee3f577d9ee55f7277affa0fe194859b25
https://github.com/llvm/llvm-project/commit/6b35cbee3f577d9ee55f7277affa0fe194859b25
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M clang/include/clang/Sema/Sema.h
A clang/include/clang/Sema/SemaSYCL.h
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaSYCL.cpp
M clang/lib/Sema/TreeTransform.h
Log Message:
-----------
[clang] Introduce `SemaSYCL` (#88086)
This patch moves SYCL-related `Sema` functions into new `SemaSYCL`
class, following the recent example of OpenACC and HLSL. This is a part
of the effort to split `Sema`. Additional context can be found in
#82217, #84184, #87634.
Commit: 0c7b92a42a36563dfd28e3a828e87f4f3a6e4311
https://github.com/llvm/llvm-project/commit/0c7b92a42a36563dfd28e3a828e87f4f3a6e4311
Author: Erich Keane <ekeane at nvidia.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/OpenACCKinds.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/SemaOpenACC/compute-construct-ast.cpp
A clang/test/SemaOpenACC/compute-construct-clause-ast.cpp
A clang/test/SemaOpenACC/compute-construct-default-clause.c
A clang/test/SemaOpenACC/compute-construct-default-clause.cpp
Log Message:
-----------
[OpenACC] Implement Default clause for Compute Constructs (#88135)
As a followup to my previous commits, this is an implementation of a
single clause, in this case the 'default' clause. This implements all
semantic analysis for it on compute clauses, and continues to leave it
rejected for all others (some as 'doesnt appertain', others as 'not
implemented' as appropriate).
This also implements and tests the TreeTransform as requested in the
previous patch.
Commit: 2823d5ed097db2ee95b7165d5a8b4a6d3ca1513b
https://github.com/llvm/llvm-project/commit/2823d5ed097db2ee95b7165d5a8b4a6d3ca1513b
Author: Michael Liao <michael.hliao at gmail.com>
Date: 2024-04-10 (Wed, 10 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
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/OpenACCKinds.h
M clang/include/clang/Frontend/FrontendActions.h
M clang/include/clang/InstallAPI/DylibVerifier.h
M clang/include/clang/InstallAPI/Frontend.h
M clang/include/clang/InstallAPI/FrontendRecords.h
M clang/include/clang/Lex/Preprocessor.h
M clang/include/clang/Lex/PreprocessorOptions.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaOpenACC.h
A clang/include/clang/Sema/SemaSYCL.h
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/ByteCodeStmtGen.cpp
M clang/lib/AST/Interp/Context.cpp
M clang/lib/AST/Interp/Descriptor.h
M clang/lib/AST/Interp/EvalEmitter.cpp
M clang/lib/AST/Interp/FunctionPointer.h
M clang/lib/AST/Interp/Interp.cpp
M clang/lib/AST/Interp/Interp.h
M clang/lib/AST/Interp/InterpBlock.cpp
M clang/lib/AST/Interp/InterpBuiltin.cpp
M clang/lib/AST/Interp/Opcodes.td
M clang/lib/AST/Interp/Pointer.cpp
M clang/lib/AST/Interp/Pointer.h
M clang/lib/AST/Interp/PrimType.h
M clang/lib/AST/Interp/Program.cpp
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGCleanup.cpp
M clang/lib/CodeGen/CGCleanup.h
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprAgg.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/Targets/X86.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Frontend/FrontendActions.cpp
M clang/lib/Headers/intrin.h
M clang/lib/InstallAPI/DylibVerifier.cpp
M clang/lib/InstallAPI/Frontend.cpp
M clang/lib/Lex/PPLexerChange.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaExprMember.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/SemaSYCL.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaTemplateVariadic.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
M clang/test/APINotes/instancetype.m
M clang/test/AST/Interp/builtin-functions.cpp
M clang/test/AST/Interp/c.c
A clang/test/AST/Interp/const-eval.c
M clang/test/AST/Interp/functions.cpp
A clang/test/AST/Interp/vectors.cpp
A clang/test/C/C11/n1514.c
R clang/test/ClangScanDeps/modules-extension.c
A clang/test/ClangScanDeps/modules-minimize-extension.c
A clang/test/ClangScanDeps/modules-minimize-module.c
M clang/test/CodeGen/X86/x86_64-arguments.c
M clang/test/CodeGen/ubsan-bitfield-conversion.c
M clang/test/CodeGenCUDA/offloading-entries.cu
A clang/test/CodeGenCXX/arm64ec-vectorcall.cpp
A clang/test/CodeGenCXX/control-flow-in-stmt-expr.cpp
M clang/test/CodeGenCXX/ubsan-bitfield-conversion.cpp
A clang/test/CodeGenCoroutines/coro-suspend-cleanups.cpp
M clang/test/Driver/linker-wrapper-libs.c
M clang/test/OpenMP/declare_target_link_codegen.cpp
M clang/test/OpenMP/declare_target_visibility_codegen.cpp
M clang/test/OpenMP/target_codegen_registration.cpp
M clang/test/OpenMP/target_indirect_codegen.cpp
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/Sema/aarch64-incompat-sm-builtin-calls.c
M clang/test/Sema/aarch64-sme-func-attrs.c
M clang/test/SemaCXX/type-traits.cpp
M clang/test/SemaOpenACC/compute-construct-ast.cpp
A clang/test/SemaOpenACC/compute-construct-clause-ast.cpp
A clang/test/SemaOpenACC/compute-construct-default-clause.c
A clang/test/SemaOpenACC/compute-construct-default-clause.cpp
M clang/test/SemaTemplate/alias-templates.cpp
M clang/test/SemaTemplate/ms-function-specialization-class-scope.cpp
M clang/tools/clang-installapi/ClangInstallAPI.cpp
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/scan-build/libexec/ccc-analyzer
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
M clang/unittests/Lex/PPDependencyDirectivesTest.cpp
M clang/www/c_status.html
M compiler-rt/lib/asan/asan_thread.cpp
M compiler-rt/lib/memprof/tests/CMakeLists.txt
M compiler-rt/lib/scudo/standalone/allocator_config.def
M compiler-rt/lib/scudo/standalone/primary64.h
M compiler-rt/lib/scudo/standalone/tests/primary_test.cpp
M flang/docs/Extensions.md
M flang/include/flang/Common/Fortran.h
M flang/include/flang/Evaluate/integer.h
M flang/include/flang/Evaluate/real.h
M flang/include/flang/Optimizer/Support/Utils.h
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Semantics/tools.h
M flang/lib/Decimal/decimal-to-binary.cpp
M flang/lib/Evaluate/fold-implementation.h
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Parser/Fortran-parsers.cpp
M flang/lib/Semantics/check-declarations.cpp
M flang/test/Lower/CUDA/cuda-data-attribute.cuf
M flang/test/Semantics/cuf03.cuf
M libc/hdr/CMakeLists.txt
A libc/hdr/fenv_macros.h
M libc/src/__support/FPUtil/CMakeLists.txt
M libc/src/__support/FPUtil/aarch64/FEnvImpl.h
M libc/src/__support/FPUtil/aarch64/fenv_darwin_impl.h
M libc/src/__support/FPUtil/arm/FEnvImpl.h
M libc/src/__support/FPUtil/generic/CMakeLists.txt
M libc/src/__support/FPUtil/riscv/FEnvImpl.h
M libc/src/__support/FPUtil/rounding_mode.h
M libc/src/fenv/CMakeLists.txt
M libc/src/fenv/feholdexcept.cpp
M libc/src/fenv/fesetexceptflag.cpp
M libc/test/UnitTest/RoundingModeUtils.cpp
M libc/test/src/__support/FPUtil/rounding_mode_test.cpp
M libc/test/src/fenv/CMakeLists.txt
M libc/test/src/fenv/enabled_exceptions_test.cpp
M libc/test/src/fenv/exception_status_test.cpp
M libc/test/src/fenv/feclearexcept_test.cpp
M libc/test/src/fenv/feenableexcept_test.cpp
M libc/test/src/fenv/rounding_mode_test.cpp
M libc/test/src/math/RIntTest.h
M libc/test/src/math/smoke/NextTowardTest.h
M libc/test/src/math/smoke/RIntTest.h
M libc/utils/MPFRWrapper/MPFRUtils.cpp
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/include/CMakeLists.txt
A libcxx/include/__chrono/sys_info.h
M libcxx/include/__chrono/time_zone.h
M libcxx/include/__format/escaped_output_table.h
A libcxx/include/__format/indic_conjunct_break_table.h
M libcxx/include/__format/unicode.h
M libcxx/include/__format/width_estimation_table.h
M libcxx/include/chrono
M libcxx/include/libcxx.imp
M libcxx/include/module.modulemap
M libcxx/modules/std/chrono.inc
M libcxx/src/include/tzdb/time_zone_private.h
M libcxx/src/include/tzdb/types_private.h
M libcxx/src/random.cpp
M libcxx/src/time_zone.cpp
M libcxx/src/tzdb.cpp
M libcxx/test/libcxx/diagnostics/chrono.nodiscard_extensions.compile.pass.cpp
M libcxx/test/libcxx/diagnostics/chrono.nodiscard_extensions.verify.cpp
A libcxx/test/libcxx/fuzzing/format_no_args.pass.cpp
A libcxx/test/libcxx/time/time.zone/time.zone.timezone/time.zone.members/get_info.sys_time.pass.cpp
A libcxx/test/libcxx/time/time.zone/time.zone.timezone/time.zone.members/get_info.sys_time.rule_selection.pass.cpp
M libcxx/test/libcxx/transitive_includes/cxx23.csv
M libcxx/test/libcxx/transitive_includes/cxx26.csv
M libcxx/test/libcxx/utilities/format/format.string/format.string.std/extended_grapheme_cluster.h
M libcxx/test/libcxx/utilities/format/format.string/format.string.std/extended_grapheme_cluster.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.info/time.zone.info.sys/sys_info.members.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.timezone/time.zone.members/get_info.sys_time.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.timezone/time.zone.members/sys_info.zdump.pass.cpp
M libcxx/utils/CMakeLists.txt
M libcxx/utils/ci/Dockerfile
M libcxx/utils/ci/run-buildbot
M libcxx/utils/data/unicode/DerivedCoreProperties.txt
M libcxx/utils/data/unicode/DerivedGeneralCategory.txt
M libcxx/utils/data/unicode/EastAsianWidth.txt
M libcxx/utils/data/unicode/GraphemeBreakProperty.txt
M libcxx/utils/data/unicode/GraphemeBreakTest.txt
M libcxx/utils/data/unicode/emoji-data.txt
M libcxx/utils/generate_extended_grapheme_cluster_table.py
A libcxx/utils/generate_indic_conjunct_break_table.py
M libcxx/utils/libcxx/test/features.py
M lld/COFF/ICF.cpp
M lld/ELF/DWARF.h
M lld/ELF/SyntheticSections.cpp
M lld/ELF/SyntheticSections.h
M lld/ELF/Writer.cpp
A lld/test/COFF/arm64x-icf.s
M lldb/cmake/caches/Apple-lldb-Linux.cmake
M llvm/docs/Benchmarking.rst
M llvm/docs/LangRef.rst
R llvm/include/llvm/Analysis/Interval.h
R llvm/include/llvm/Analysis/IntervalIterator.h
R llvm/include/llvm/Analysis/IntervalPartition.h
M llvm/include/llvm/Analysis/VecFuncs.def
M llvm/include/llvm/BinaryFormat/Dwarf.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h
M llvm/include/llvm/ExecutionEngine/Orc/Core.h
M llvm/include/llvm/IR/IRBuilder.h
M llvm/include/llvm/IR/InstrTypes.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/LinkAllPasses.h
M llvm/include/llvm/Support/raw_socket_stream.h
M llvm/include/llvm/Transforms/Utils/SampleProfileLoaderBaseImpl.h
M llvm/lib/Analysis/Analysis.cpp
M llvm/lib/Analysis/CMakeLists.txt
R llvm/lib/Analysis/Interval.cpp
R llvm/lib/Analysis/IntervalPartition.cpp
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/CodeGen/AsmPrinter/AccelTable.cpp
M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp
M llvm/lib/ExecutionEngine/Orc/Core.cpp
M llvm/lib/Frontend/Offloading/Utility.cpp
M llvm/lib/IR/Instruction.cpp
M llvm/lib/IR/Operator.cpp
M llvm/lib/Support/raw_socket_stream.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.cpp
M llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.h
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/Utils/AArch64SMEAttributes.cpp
M llvm/lib/Target/LoongArch/LoongArchFrameLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchFrameLowering.h
M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/lib/Transforms/IPO/SampleProfile.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
M llvm/lib/Transforms/Utils/CodeMoverUtils.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/test/Analysis/CostModel/AArch64/shuffle-other.ll
M llvm/test/Analysis/CostModel/RISCV/active_lane_mask.ll
M llvm/test/Analysis/CostModel/RISCV/rvv-select.ll
A llvm/test/Analysis/ScalarEvolution/pr87798.ll
M llvm/test/Assembler/flags.ll
M llvm/test/Bitcode/flags.ll
A llvm/test/CodeGen/AArch64/streaming-compatible-memory-ops.ll
A llvm/test/CodeGen/AArch64/sve2-bsl.ll
M llvm/test/CodeGen/LoongArch/emergency-spill-slot.ll
M llvm/test/CodeGen/RISCV/rvv/ctlz-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/cttz-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vwadd-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vwsll-sdnode.ll
M llvm/test/CodeGen/X86/mmx-intrinsics.ll
M llvm/test/CodeGen/X86/uint_to_fp.ll
A llvm/test/Instrumentation/MemorySanitizer/overflow.ll
A llvm/test/Instrumentation/MemorySanitizer/saturating.ll
M llvm/test/Transforms/InstCombine/and-or-icmps.ll
M llvm/test/Transforms/InstCombine/freeze.ll
M llvm/test/Transforms/InstCombine/icmp-add.ll
M llvm/test/Transforms/InstCombine/icmp-or.ll
M llvm/test/Transforms/InstCombine/logical-select.ll
M llvm/test/Transforms/InstCombine/shl-demand.ll
M llvm/test/Transforms/LoopVectorize/AArch64/veclib-function-calls.ll
M llvm/test/Transforms/LoopVectorize/PowerPC/vplan-force-tail-with-evl.ll
A llvm/test/Transforms/MemProfContextDisambiguation/overlapping-contexts.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/hoist-runtime-checks.ll
A llvm/test/Transforms/SLPVectorizer/X86/zext-incoming-for-neg-icmp.ll
M llvm/test/Transforms/SimplifyCFG/HoistCode.ll
M llvm/test/Transforms/Util/add-TLI-mappings.ll
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
M llvm/unittests/Support/raw_socket_stream_test.cpp
M llvm/unittests/Transforms/Utils/CodeMoverUtilsTest.cpp
M llvm/utils/gn/secondary/clang/include/clang/Basic/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/Basic/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Analysis/BUILD.gn
M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
M mlir/include/mlir/Dialect/Vector/Transforms/Passes.h
M mlir/include/mlir/Dialect/Vector/Transforms/Passes.td
M mlir/include/mlir/IR/OpDefinition.h
M mlir/include/mlir/IR/Operation.h
M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/CMakeLists.txt
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/LoopEmitter.h
A mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorIterator.cpp
A mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorIterator.h
R mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorLevel.cpp
R mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorLevel.h
M mlir/lib/Dialect/Vector/Transforms/LowerVectorMultiReduction.cpp
M mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp
M mlir/test/Conversion/ComplexToStandard/convert-to-standard.mlir
M mlir/test/Dialect/Linalg/transform-ops-invalid.mlir
M mlir/test/Dialect/Linalg/transform-ops.mlir
M mlir/test/Dialect/Linalg/vectorization.mlir
A mlir/test/Dialect/Vector/vector-multi-reduction-pass-lowering.mlir
M mlir/test/Target/LLVMIR/omptarget-declare-target-llvm-host.mlir
M mlir/test/python/dialects/transform_structured_ext.py
M polly/lib/Analysis/ScopDetectionDiagnostic.cpp
M polly/lib/Support/GICHelper.cpp
M polly/lib/Transform/MatmulOptimizer.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/FPUtil/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/fenv/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/math/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/math/smoke/BUILD.bazel
Log Message:
-----------
rebase
Created using spr 1.3.4
Compare: https://github.com/llvm/llvm-project/compare/f259373ab891...2823d5ed097d
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