[all-commits] [llvm/llvm-project] f03430: [libc++] LWG3672: `common_iterator::operator->()` ...
Fangrui Song via All-commits
all-commits at lists.llvm.org
Mon May 20 00:12:32 PDT 2024
Branch: refs/heads/users/MaskRay/spr/elf-support-high-address-dw_eh_sdata4-for-elfclass32
Home: https://github.com/llvm/llvm-project
Commit: f03430f5e37e8eb64878dc538b05210adea2d80f
https://github.com/llvm/llvm-project/commit/f03430f5e37e8eb64878dc538b05210adea2d80f
Author: Xiaoyang Liu <siujoeng.lau at gmail.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M libcxx/docs/Status/Cxx23Issues.csv
M libcxx/include/__iterator/common_iterator.h
M libcxx/test/std/iterators/predef.iterators/iterators.common/arrow.pass.cpp
Log Message:
-----------
[libc++] LWG3672: `common_iterator::operator->()` should return by value (#87899)
## Abstract
This pull request implements LWG3672: `common_iterator::operator->()`
should return by value. The current implementation specifies that this
function should return the underlying pointer by reference (`T*
const&`), but it would be more intuitive to return it by value (`T*`).
## Reference
- [Draft C++ Standard:
[common.iter.access]](https://eel.is/c++draft/common.iter.access)
- [LWG3672](https://cplusplus.github.io/LWG/issue3672)
Commit: c7ae8c6639370ccbc583dca019bbb78761ce423d
https://github.com/llvm/llvm-project/commit/c7ae8c6639370ccbc583dca019bbb78761ce423d
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M lldb/test/API/tools/lldb-dap/completions/TestDAP_completions.py
M lldb/test/API/tools/lldb-dap/exception/TestDAP_exception.py
Log Message:
-----------
[lldb] Fixed the DAP tests in case of a remote target (#92416)
These tests are based on dap_server which runs locally. These tests
failed in case of Windows host and Linux target.
Commit: 0dc80e4b2640f80a5b421e6e636d2a7243150917
https://github.com/llvm/llvm-project/commit/0dc80e4b2640f80a5b421e6e636d2a7243150917
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/include/llvm/ProfileData/InstrProfWriter.h
M llvm/include/llvm/ProfileData/MemProf.h
M llvm/lib/ProfileData/InstrProfWriter.cpp
Log Message:
-----------
[memprof] Group MemProf data structures into a struct (NFC) (#92360)
This patch groups the three Memprof data structures into a struct
named IndexedMemProfData and teaches InstrProfWriter to use it. This
way, we can pass IndexedMemProfData to writeMemProf and its helpers
instead of individual data structures.
As a follow-up, we can use the new struct in MemProfReader also. That
in turn allows loadInput in llvm-profdata to move the MemProf data
into the writer context, saving a few seconds for a large MemProf
profile.
Commit: 525bd66fc29fd056ef18118dfff3c9cc05fdd5e3
https://github.com/llvm/llvm-project/commit/525bd66fc29fd056ef18118dfff3c9cc05fdd5e3
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M lldb/docs/index.rst
A lldb/docs/resources/lldbdap.md
M lldb/tools/lldb-dap/README.md
Log Message:
-----------
[lldb-dap] Separate user and developer documentation (#92428)
The README.md is what users see when they look for the extension in the
Marketplace [1]. Right now, it's a mix of developer documentation (for
us) and user documentation. This commit moves the developer docs into
`docs` and the lldb website and refocuses the README on using the
extension.
[1] https://marketplace.visualstudio.com/items?itemName=llvm-vs-code-extensions.lldb-dap
Commit: 80a0a067fb8cc3122f53083fd2fe20f9d5dfc5bf
https://github.com/llvm/llvm-project/commit/80a0a067fb8cc3122f53083fd2fe20f9d5dfc5bf
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/known-bits.ll
Log Message:
-----------
[ValueTracking] Add tests for computing knownbits from `(icmp upred (add/sub nuw X, Y), C)`; NFC
Commit: 05347f8c2fde0cde2fd12f1ec3611eeaf666ece0
https://github.com/llvm/llvm-project/commit/05347f8c2fde0cde2fd12f1ec3611eeaf666ece0
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstCombine/known-bits.ll
Log Message:
-----------
[ValueTracking] Compute knownbits from `(icmp upred (add/sub nuw X, Y), C)`
`(icmp ule/ult (add nuw X, Y), C)` implies both `(icmp ule/ult X, C)` and
`(icmp ule/ult Y, C)`. We can use this to deduce leading zeros in `X`/`Y`.
`(icmp uge/ugt (sub nuw X, Y), C)` implies `(icmp uge/uge X, C)` . We
can use this to deduce leading ones in `X`.
Proofs: https://alive2.llvm.org/ce/z/sc5k22
Closes #87180
Commit: ebbf484e1c62a312d88c7f6482af11a58d40f52d
https://github.com/llvm/llvm-project/commit/ebbf484e1c62a312d88c7f6482af11a58d40f52d
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/icmp-trunc.ll
Log Message:
-----------
[InstCombine] Add tests for folding `(icmp pred (trunc nuw/nsw X), C)`; NFC
Commit: 23f1047daac9702876ca99b53e8fe649fca569fa
https://github.com/llvm/llvm-project/commit/23f1047daac9702876ca99b53e8fe649fca569fa
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/icmp-trunc.ll
Log Message:
-----------
[InstCombine] Fold `(icmp pred (trunc nuw/nsw X), C)` -> `(icmp pred X, (zext/sext C))`
This is valid as long as the sign of the wrap flag doesn't differ from
the sign of the `pred`.
Proofs: https://alive2.llvm.org/ce/z/35NsrR
NB: The online Alive2 hasn't been updated with `trunc nuw/nsw`
support, so the proofs must be reproduced locally.
Closes #87935
Commit: da928c6d6e0e2f619fdaef71cea8747d9aef188d
https://github.com/llvm/llvm-project/commit/da928c6d6e0e2f619fdaef71cea8747d9aef188d
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/ASTContext.cpp
A clang/test/CXX/temp/temp.decls/temp.fct/temp.func.order/p2.cpp
Log Message:
-----------
[Clang][Sema] ASTContext::getUnconstrainedType propagates dependence (#92425)
When the argument passed to `ASTContext::getUnconstrainedType` is an
unconstrained `AutoType`, will return the argument unchanged. However,
when called with a constrained `AutoType`, an unconstrained,
non-dependent `AutoType` will be returned even if the argument was
dependent. Consider the following:
```
template<typename T>
concept C = sizeof(T) == sizeof(int);
template<auto N>
struct A;
template<C auto N>
struct A<N>; // error: class template partial specialization is not more specialized than the primary template
```
When comparing the template parameters for equivalence,
`ASTContext::getUnconstrainedType` is used to remove the constraints per
[temp.over.link] p6 sentence 2. For the template
parameter `N` of the class template, it returns a dependent `AutoType`.
For the template parameter `N` of the class template partial
specialization, it returns a non-dependent `AutoType`. We subsequently
compare the adjusted types and find they are not equivalent, thus we
consider the partial specialization to not be more specialized than the
primary template per [temp.func.order] p6.2.2.
This patch changes `ASTContext::getUnconstrainedType` such that the
dependence of a constrained `AutoType` will propagate to the returned
unconstrained `AutoType`. This causes the above example to be correctly
accepted, fixing #77377.
Commit: 9a7f54ba4878c4e66c99430b52d8c014ab7b2a03
https://github.com/llvm/llvm-project/commit/9a7f54ba4878c4e66c99430b52d8c014ab7b2a03
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M clang/tools/clang-fuzzer/dictionary/dictionary.c
Log Message:
-----------
[clang-fuzzer-dictionary] Skip EmptySpellingName after #89358
The dictionary entry `=""` is invalid.
Commit: a383b3cca3383128123b33bc73ffc0199ec573e4
https://github.com/llvm/llvm-project/commit/a383b3cca3383128123b33bc73ffc0199ec573e4
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaConcept.cpp
M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
Log Message:
-----------
[clang] CTAD alias: Emit a more descriptive diagnostic message when is_deducible constraint is evaluated to false. (#92389)
Fixes https://github.com/llvm/llvm-project/issues/92225
Commit: 476f7f65f9f17fab7e78f395b83dcb7b0bbd5215
https://github.com/llvm/llvm-project/commit/476f7f65f9f17fab7e78f395b83dcb7b0bbd5215
Author: weltschildkroete <65237298+weltschildkroete at users.noreply.github.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaType.cpp
M clang/test/SemaCXX/auto-cxx0x.cpp
Log Message:
-----------
[clang][Sema] Emit more specific diagnostic for auto in lambda before C++14 (#46059) (#68540)
Namely, we specify that `auto` in a lambda parameter is a C++14
extension in the error message, which now reads:
`'auto' not allowed in lambda parameter before C++14`
This does not change the behavior for `decltype(auto)` and `__auto_type`
though.
---------
Co-authored-by: cor3ntin <corentinjabot at gmail.com>
Commit: 174cdeced0fe0da07a03d0d118bd70b93badfbb1
https://github.com/llvm/llvm-project/commit/174cdeced0fe0da07a03d0d118bd70b93badfbb1
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/include/llvm/Passes/PassBuilder.h
M llvm/lib/Passes/PassBuilderPipelines.cpp
Log Message:
-----------
[nfc] Clarify when the various PGO instrumentation passes run (#92330)
The code seems easier to read if it's centered on what the user wants rather than combinations of whatever internal variables.
Commit: b5f6cc9eb4f661816ef264ad41cb703004380636
https://github.com/llvm/llvm-project/commit/b5f6cc9eb4f661816ef264ad41cb703004380636
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/unittests/Support/ErrorTest.cpp
Log Message:
-----------
Unittest for Error forwarding, follow-up to PR #92208 (#92314)
Added a unittest demonstrating Error -> Expected<T> forwarding.
Commit: 9144553207052a868efc5a8ce61a0afbb0eaf236
https://github.com/llvm/llvm-project/commit/9144553207052a868efc5a8ce61a0afbb0eaf236
Author: Evgenii Stepanov <eugenis at google.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMatInt.cpp
Log Message:
-----------
Revert "[RISCV] Remove unneeded casts from int64_t to uint64_t in RISCVMatInt.cpp. NFC"
LLVM is built with C++17, where left shift of any negative value is still UB.
Detected with UBSan on the buildbot.
This reverts commit 0647d1035cb208195e002b38089b82004b6f7b92.
Commit: f42f57b52dd279e6ae19270d063aeb8d59e3f11c
https://github.com/llvm/llvm-project/commit/f42f57b52dd279e6ae19270d063aeb8d59e3f11c
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M offload/plugins-nextgen/common/include/PluginInterface.h
M offload/plugins-nextgen/common/src/PluginInterface.cpp
Log Message:
-----------
[Libomptarget] Rework Record & Replay to be a plugin member (#88928) (#89097)
Summary:
Previously, the R&R support was global state initialized by a global
constructor. This is bad because it prevents us from adequately
constraining the lifetime of the library. Additionally, we want to
minimize the amount of global state floating around.
This patch moves the R&R support into a plugin member like everything
else. This means there will be multiple copies of the R&R implementation
floating around, but this was already the case given the fact that we
currently handle everything with dynamic libraries.
Commit: 9d0a8eda0baca51ce61fd5ce7c59864b2b57dcf8
https://github.com/llvm/llvm-project/commit/9d0a8eda0baca51ce61fd5ce7c59864b2b57dcf8
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M libc/src/time/gpu/time_utils.cpp
M libc/src/time/gpu/time_utils.h
Log Message:
-----------
[libc][NFC] Replace address space with constant GPU utility
Summary:
This was written before we had the address space helpers. Using
numerical address spaces is bad so this should be removed.
Commit: 61565abcdc4d864a8c7aa7ad23ed441a3762b77d
https://github.com/llvm/llvm-project/commit/61565abcdc4d864a8c7aa7ad23ed441a3762b77d
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M libc/src/time/gpu/time_utils.cpp
M libc/src/time/gpu/time_utils.h
Log Message:
-----------
[libc] Fix constant variable initializer
Commit: 479f4a7b68a8b1eb8da7fc3f28638045eaa7dc25
https://github.com/llvm/llvm-project/commit/479f4a7b68a8b1eb8da7fc3f28638045eaa7dc25
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/lib/ProfileData/InstrProfWriter.cpp
Log Message:
-----------
[memprof] Update comments for writeMemProf and its helpers (#92446)
This patch adds comments for writeMemProf{V0,V1,V2} in a
version-specific manner. The mostly repetitive nature of the comments
is somewhat unfortunate but intentional to make it easy to retire
older versions.
Without this patch, the comment just before writeMemProf documents the
Version1 format, which is very confusing.
Commit: f05c068429a86ef2187eae094354c73e8339baa2
https://github.com/llvm/llvm-project/commit/f05c068429a86ef2187eae094354c73e8339baa2
Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/tools/llvm-profdata/llvm-profdata.cpp
Log Message:
-----------
[InstrProf] Remove unused argv in llvm-profdata.cpp (#92435)
https://github.com/llvm/llvm-project/pull/71328 refactored
`llvm-profdata.cpp` to use subcommands (which is super nice), but left
many unused `argv` variables. This opts to use `ProgName` where
necessary, and removes `argv` otherwise.
Commit: 1ede503910d3133ea1af8c084fee96ca98c66464
https://github.com/llvm/llvm-project/commit/1ede503910d3133ea1af8c084fee96ca98c66464
Author: Hugo Trachino <hugo.trachino at huawei.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M mlir/lib/Dialect/Tensor/Transforms/CMakeLists.txt
M mlir/lib/Dialect/Tensor/Transforms/FoldTensorSubsetOps.cpp
M mlir/test/Dialect/Tensor/fold-tensor-subset-ops-into-vector-transfers.mlir
Log Message:
-----------
[MLIR][Vector] Implement TransferReadOfExtractSliceOp as MaskableOpRewritePattern (#91960)
Split of https://github.com/llvm/llvm-project/pull/90835
Adds support for `TransferReadOfExtractSliceOpFolder` when the
`TransferReadOp` is inside a `MaskOp`.
Commit: d311a62e2f1ae34a0329c3812f2969cedac93561
https://github.com/llvm/llvm-project/commit/d311a62e2f1ae34a0329c3812f2969cedac93561
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/lib/Passes/PassBuilderPipelines.cpp
Log Message:
-----------
[ctx_profile] Decouple ctx instrumentation from PGOOpt (#92445)
We currently don't support passing files and don't need frontend involvement either.
Commit: 6d2219acabc1882508d695e23d444d3e1cae4ff3
https://github.com/llvm/llvm-project/commit/6d2219acabc1882508d695e23d444d3e1cae4ff3
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M offload/CMakeLists.txt
M offload/src/CMakeLists.txt
Log Message:
-----------
[Libomptarget] Pass '-Werror=global-constructors' to the libomptarget build (#88531)
Summary:
A runtime library should not have global constructors. Everything is now
expected to go through the init methods. This patch ensures that global
constructors will not accidentally be introduced.
Commit: 47d80ec1802d70082c8fd32b4396c98db2c4dba2
https://github.com/llvm/llvm-project/commit/47d80ec1802d70082c8fd32b4396c98db2c4dba2
Author: Jacob Lalonde <jjjlalonde at gmail.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.cpp
M lldb/source/Target/Process.cpp
M lldb/test/API/functionalities/process_save_core_minidump/TestProcessSaveCoreMinidump.py
Log Message:
-----------
[LLDB/Coredump] Only take the Pthread from stack start to the stackpointer + red_zone (#92002)
Currently in Core dumps, the entire pthread is copied, including the
unused space beyond the stack pointer. This causes large amounts of core
dump inflation when the number of threads is high, but the stack usage
is low. Such as when an application is using a thread pool.
This change will optimize for these situations in addition to generally
improving the core dump performance for all of lldb.
Commit: e5e562361555fc96c768b1dd3dd99f403f500838
https://github.com/llvm/llvm-project/commit/e5e562361555fc96c768b1dd3dd99f403f500838
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Port #91960 (#92458)
Commit: 997eae3673dcd635b60ac63031f01f5dded92f32
https://github.com/llvm/llvm-project/commit/997eae3673dcd635b60ac63031f01f5dded92f32
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
A llvm/test/CodeGen/X86/big-array-init.ll
Log Message:
-----------
[AsmPrinter] Increase upper bound for size in global structs
This is part of the fixes to address #57353
https://reviews.llvm.org/D133845
Pull Request: https://github.com/llvm/llvm-project/pull/92334
Commit: c86a53d75995d65601d5745b2fceb2d50a970645
https://github.com/llvm/llvm-project/commit/c86a53d75995d65601d5745b2fceb2d50a970645
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/test/SemaTemplate/cwg2398.cpp
Log Message:
-----------
[clang] Implement provisional wording for CWG2398 regarding packs (#90820)
This solves some ambuguity introduced in P0522 regarding how
template template parameters are partially ordered, and should reduce
the negative impact of enabling `-frelaxed-template-template-args`
by default.
When performing template argument deduction, a template template
parameter
containing no packs should be more specialized than one that does.
Given the following example:
```C++
template<class T2> struct A;
template<template<class ...T3s> class TT1, class T4> struct A<TT1<T4>>; // #1
template<template<class T5 > class TT2, class T6> struct A<TT2<T6>>; // #2
template<class T1> struct B;
template struct A<B<char>>;
```
Prior to P0522, candidate `#2` would be more specialized.
After P0522, neither is more specialized, so this becomes ambiguous.
With this change, `#2` becomes more specialized again,
maintaining compatibility with pre-P0522 implementations.
The problem is that in P0522, candidates are at least as specialized
when matching packs to fixed-size lists both ways, whereas before,
a fixed-size list is more specialized.
This patch keeps the original behavior when checking template arguments
outside deduction, but restores this aspect of pre-P0522 matching
during deduction.
---
Since this changes provisional implementation of CWG2398 which has
not been released yet, and already contains a changelog entry,
we don't provide a changelog entry here.
Commit: c79690040acf5bb3d857558b0878db47f7f23dc3
https://github.com/llvm/llvm-project/commit/c79690040acf5bb3d857558b0878db47f7f23dc3
Author: DianQK <dianqk at dianqk.net>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/lib/Transforms/IPO/GlobalOpt.cpp
A llvm/test/Transforms/GlobalOpt/alias-weak.ll
Log Message:
-----------
[GlobalOpt] Don't replace aliasee with alias that has weak linkage (#91483)
Fixes #91312.
Don't perform the transform if the alias may be replaced at link time.
Commit: e578314c049bb9ae6dc3983db5cf27513e29517b
https://github.com/llvm/llvm-project/commit/e578314c049bb9ae6dc3983db5cf27513e29517b
Author: Ryan Thomas Lynch <rlynch34 at gatech.edu>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M mlir/docs/DefiningDialects/Operations.md
M mlir/include/mlir/IR/CommonAttrConstraints.td
Log Message:
-----------
[MLIR Attr] add ArrayMaxCount attribute constraint (#92453)
this is the dual of ArrayMinCount. I saw that I needed it but it didn't
exist yet
Commit: 84abe0a6d4face73c15ed6344be74ae231f18718
https://github.com/llvm/llvm-project/commit/84abe0a6d4face73c15ed6344be74ae231f18718
Author: Dan Liew <delcypher at gmail.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M clang/lib/CodeGen/CodeGenFunction.h
Log Message:
-----------
[Bounds-Safety] Reserve slot in SanitizerHandler enum for Bounds-Safety (#91032)
Due to how `CodeGenFunction::EmitTrapCheck` is implemented
`SanitizerHandler` with numeric value 0x19 needs to be reserved because
`-fbounds-safety` generates trap instructions with that value embedded
in the trap instructions for x86_64 and arm64 just like for UBSan traps.
** x86_64 **
```
ud1l 0x19(%eax), %eax
```
** arm64 **
```
brk #0x5519
```
To avoid upstream Clang and AppleClang diverging their ABIs for
`-fbounds-safety` the slot is being reserved in this patch.
`SanitizerHandler::BoundsSafety` currently has no uses in the code but
uses will be introduced when the CodeGen side of `-fbounds-safety`'s
implementation is upstreamed.
rdar://126884014
Co-authored-by: Dan Liew <dan at su-root.co.uk>
Commit: d6f9278ae9e587d2d23a9940a2364aaafba74735
https://github.com/llvm/llvm-project/commit/d6f9278ae9e587d2d23a9940a2364aaafba74735
Author: James Y Knight <jyknight at google.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/atomic-non-integer-fp128.ll
M llvm/test/CodeGen/X86/atomic-non-integer.ll
A llvm/test/CodeGen/X86/atomic-unaligned.ll
M llvm/test/CodeGen/X86/atomic-unordered.ll
M llvm/test/CodeGen/X86/atomic128.ll
M llvm/test/CodeGen/X86/cmpxchg-i128-i1.ll
Log Message:
-----------
[X86] Use plain load/store instead of cmpxchg16b for atomics with AVX (#74275)
In late 2021, both Intel and AMD finally documented that every
AVX-capable CPU has always been guaranteed to execute aligned 16-byte
loads/stores atomically, and further, guaranteed that all future CPUs
with AVX will do so as well.
Therefore, we may use normal SSE 128-bit load/store instructions to
implement atomics, if AVX is enabled.
Per AMD64 Architecture Programmer's manual, 7.3.2 Access Atomicity:
> Processors that report [AVX] extend the atomicity for cacheable,
> naturally-aligned single loads or stores from a quadword to a double
> quadword.
Per Intel's SDM:
> Processors that enumerate support for Intel(R) AVX guarantee that the
> 16-byte memory operations performed by the following instructions will
> always be carried out atomically:
> - MOVAPD, MOVAPS, and MOVDQA.
> - VMOVAPD, VMOVAPS, and VMOVDQA when encoded with VEX.128.
> - VMOVAPD, VMOVAPS, VMOVDQA32, and VMOVDQA64 when encoded with
> EVEX.128 and k0 (masking disabled).
This was also confirmed to be true for Zhaoxin CPUs with AVX, in
https://gcc.gnu.org/PR104688
Commit: f88760f3118a106be847a8d5296931a8e44c72f8
https://github.com/llvm/llvm-project/commit/f88760f3118a106be847a8d5296931a8e44c72f8
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/include/llvm/TableGen/Record.h
Log Message:
-----------
[TableGen] Remove unnecessary StringRef constructor call from LessRecord(). NFC
Record::getName already returns a StringRef. When this code was
originally written getName returned const std::string &.
Commit: 2a4ee605b03bc69c296d0388239d9c837e787995
https://github.com/llvm/llvm-project/commit/2a4ee605b03bc69c296d0388239d9c837e787995
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/lib/TableGen/Record.cpp
Log Message:
-----------
[TableGen] Use LessRecord() for the sort in getAllDerivedDefinitions instead of re-implementing it. NFC
Commit: f210152e5fbcec1c50ff5ccc1f6680ab2c39b46f
https://github.com/llvm/llvm-project/commit/f210152e5fbcec1c50ff5ccc1f6680ab2c39b46f
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
Log Message:
-----------
[clang] constrain `SemaCXX/cxx20-ctad-type-alias.cpp` target triple
The test expectations are otherwise affected by the underlying type of size_t.
Commit: fe4d5f0d0e457a0a7dec2c7dc87996706b30a25e
https://github.com/llvm/llvm-project/commit/fe4d5f0d0e457a0a7dec2c7dc87996706b30a25e
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
Log Message:
-----------
[clang] NFC: stray space cleanup
Commit: fa9b1be45088dce1e4b602d451f118128b94237b
https://github.com/llvm/llvm-project/commit/fa9b1be45088dce1e4b602d451f118128b94237b
Author: Mingming Liu <mingmingl at google.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
A llvm/test/ThinLTO/X86/ref-ifunc.ll
Log Message:
-----------
[ThinLTO]Mark referencers of local ifunc not eligible for import (#92431)
If an ifunc has local linkage, do not add it into ref edges and mark its
referencer (a function or global variable) not eligible for import. An
ifunc doesn't have summary and ThinLTO cannot promote it. Importing the
referencer may cause linkage errors.
To reference a similar fix, https://reviews.llvm.org/D158961 marks
callers of local ifunc not eligible for import to fix
https://github.com/llvm/llvm-project/issues/58740
Commit: 96d2db4ba9016b4512e7cd27d7dfda209d07ce62
https://github.com/llvm/llvm-project/commit/96d2db4ba9016b4512e7cd27d7dfda209d07ce62
Author: wanglei <wanglei at loongson.cn>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
A llvm/test/CodeGen/LoongArch/libcall-extend.ll
Log Message:
-----------
[LoongArch] Pre-commit test for lib call auguments extension
Reviewed By: SixWeining
Pull Request: https://github.com/llvm/llvm-project/pull/92374
Commit: 5a204a5f0a19417c1c0bd71834dee7ba129e6776
https://github.com/llvm/llvm-project/commit/5a204a5f0a19417c1c0bd71834dee7ba129e6776
Author: wanglei <wanglei at loongson.cn>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
M llvm/test/CodeGen/LoongArch/calling-conv-lp64s.ll
M llvm/test/CodeGen/LoongArch/libcall-extend.ll
M llvm/test/CodeGen/LoongArch/sextw-removal.ll
M llvm/test/CodeGen/LoongArch/soft-fp-to-int.ll
Log Message:
-----------
[LoongArch] Use sign extend for i32 arguments in makeLibCall on LA64
The 32 bits arguments and returns on LA64 are always sign extended to
i64. So we should be taking this into account around libcalls.
Reviewed By: heiher, SixWeining
Pull Request: https://github.com/llvm/llvm-project/pull/92375
Commit: bf1d4172335689f62e4f7368446f0026c595330b
https://github.com/llvm/llvm-project/commit/bf1d4172335689f62e4f7368446f0026c595330b
Author: wanglei <wanglei at loongson.cn>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
M llvm/lib/Target/LoongArch/LoongArchSubtarget.h
M llvm/test/CodeGen/LoongArch/calling-conv-lp64s.ll
M llvm/test/CodeGen/LoongArch/libcall-extend.ll
M llvm/test/CodeGen/LoongArch/sextw-removal.ll
M llvm/test/CodeGen/LoongArch/soft-fp-to-int.ll
Log Message:
-----------
[LoongArch] Suppress the unnecessary extensions for arguments in makeLibCall
Reviewed By: SixWeining, heiher
Pull Request: https://github.com/llvm/llvm-project/pull/92376
Commit: 8fe39e64c0ef0a1aefce3c1187c5822343caeedd
https://github.com/llvm/llvm-project/commit/8fe39e64c0ef0a1aefce3c1187c5822343caeedd
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Don't always break before << between string literals (#92214)
Instead, leave the line wrapping as is.
Fixes #43887.
Fixes #44363.
Commit: 88d351e2e62d2ff291f3e6dea6b7e425f683285b
https://github.com/llvm/llvm-project/commit/88d351e2e62d2ff291f3e6dea6b7e425f683285b
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Fix a regression in annotating struct braces (#92352)
Fixes #92350.
Commit: ebf283162f5a0e7e9392c3a825e060856eee0991
https://github.com/llvm/llvm-project/commit/ebf283162f5a0e7e9392c3a825e060856eee0991
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M lldb/bindings/CMakeLists.txt
M lldb/bindings/headers.swig
M lldb/bindings/interfaces.swig
Log Message:
-----------
[lldb] Include SBLanguages in the SWIG bindings (#92470)
Commit: 552927840319572a649cdec2d8bf2e688a5df490
https://github.com/llvm/llvm-project/commit/552927840319572a649cdec2d8bf2e688a5df490
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M lldb/bindings/CMakeLists.txt
M lldb/bindings/headers.swig
M lldb/bindings/interfaces.swig
Log Message:
-----------
Revert "[lldb] Include SBLanguages in the SWIG bindings" (#92490)
Reverts llvm/llvm-project#92470
Commit: 9f15aa009c36d2c108f0f2d09c2e9b283ebc4453
https://github.com/llvm/llvm-project/commit/9f15aa009c36d2c108f0f2d09c2e9b283ebc4453
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/lib/Profile/DataAggregator.cpp
Log Message:
-----------
[BOLT][NFC] Rename DataAggregator::BranchInfo to TakenBranchInfo
Align the name to its counterpart `FTInfo` which avoids name aliasing
with llvm::bolt::BranchInfo and allows to drop namespace specifier.
Test Plan: NFC
Reviewers: maksfb, rafaelauler, ayermolo, dcci
Reviewed By: dcci
Pull Request: https://github.com/llvm/llvm-project/pull/92017
Commit: c33922666ce219fd6cb3341c3394f72050599552
https://github.com/llvm/llvm-project/commit/c33922666ce219fd6cb3341c3394f72050599552
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M lldb/source/Commands/CommandObjectThread.cpp
M lldb/source/Core/FormatEntity.cpp
M lldb/source/Expression/IRExecutionUnit.cpp
M lldb/source/Plugins/ExpressionParser/Clang/IRForTarget.cpp
M lldb/source/Plugins/Language/ObjC/Cocoa.cpp
M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Plugins/SymbolFile/PDB/PDBASTParser.cpp
M lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/Target/PathMappingList.cpp
Log Message:
-----------
[lldb] Use operator==(StringRef, StringRef) instead of StringRef::equals (NFC) (#92476)
Note that StringRef::equals has been deprecated in favor of
operator==(StringRef, StringRef).
Commit: 5d8354c009d5625fa140be47de1f91275f4698d3
https://github.com/llvm/llvm-project/commit/5d8354c009d5625fa140be47de1f91275f4698d3
Author: harishch4 <harishcse44 at gmail.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M flang/lib/Lower/DirectivesCommon.h
M flang/test/Lower/OpenMP/atomic-write.f90
Log Message:
-----------
[Flang][OpenMP]Missing convert to lhsType in atomic write (#92346)
Fixes test.f90 in #83144.
This issue is observed only when a boolean constant is assigned to a
logical variable. In non-openmp flow, a conversion op is inserted before
assigning it to a logical variable. This patch will insert a fir.convert
operation when the types are not the same, before generating the atomic
write operation.
I've proposed another patch(#85059 ) which removes checks at MLIR level
and looks like it's too permissive. I'm planning to abandon this patch
and address it here.
Commit: d395b56a52e9809ec3ea1139f5b30698c9f4e247
https://github.com/llvm/llvm-project/commit/d395b56a52e9809ec3ea1139f5b30698c9f4e247
Author: Pavel Samolysov <samolisov at gmail.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/JITLink/aarch64.h
M llvm/lib/ExecutionEngine/JITLink/ELF_aarch64.cpp
M llvm/test/ExecutionEngine/JITLink/AArch64/ELF_relocations.s
Log Message:
-----------
[JITLink][AArch64] Implement R_AARCH64_LDR_PREL_LO19 (#82172)
This relocation is used for the 32-bit aligned 21-bit immediate in LDR
Literal instructions.
Commit: aaa8a8000009890b79effb0d0f3c6f989a3d5563
https://github.com/llvm/llvm-project/commit/aaa8a8000009890b79effb0d0f3c6f989a3d5563
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/lib/CodeGen/BasicBlockSectionsProfileReader.cpp
Log Message:
-----------
[CodeGen] Use operator==(StringRef, StringRef) (NFC)
The LHS and RHS are of SmallString and StringRef, respectively. We
can safely use operator==(StringRef, SringRef) with one implicit
conversion from SmallString to StringRef.
Commit: a26fbf36a78a703be2da0744131a8d6ecbdb7c67
https://github.com/llvm/llvm-project/commit/a26fbf36a78a703be2da0744131a8d6ecbdb7c67
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M clang/lib/Sema/SemaDeclAttr.cpp
Log Message:
-----------
[Sema] Use SmallString::empty (NFC)
Commit: f4066fa2dd21c65bf0e24a479634c9a2d276cf8e
https://github.com/llvm/llvm-project/commit/f4066fa2dd21c65bf0e24a479634c9a2d276cf8e
Author: Serge Pavlov <sepavloff at gmail.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M clang/include/clang/Lex/LiteralSupport.h
M clang/lib/Lex/LiteralSupport.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/test/AST/const-fpfeatures.c
M clang/test/AST/const-fpfeatures.cpp
Log Message:
-----------
[clang] Use constant rounding mode for floating literals (#90877)
Conversion of floating-point literal to binary representation must be
made using constant rounding mode, which can be changed using pragma
FENV_ROUND. For example, the literal "0.1F" should be representes by
either 0.099999994 or 0.100000001 depending on the rounding direction.
Commit: 14030d71693b046784ff19cc157074e4db23e74f
https://github.com/llvm/llvm-project/commit/14030d71693b046784ff19cc157074e4db23e74f
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/lib/Frontend/OpenMP/OMPContext.cpp
M llvm/lib/Object/MachOObjectFile.cpp
M llvm/lib/Target/Mips/MipsISelLowering.cpp
Log Message:
-----------
[llvm] Drop explicit conversions of string literals to StringRef (NFC)
We routinely rely on implicit conversions of string literals to
StringRef so that we can use operator==(StringRef, StringRef).
Commit: f71749c5ef8667e3fc23820e8e94864653ea9ac9
https://github.com/llvm/llvm-project/commit/f71749c5ef8667e3fc23820e8e94864653ea9ac9
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M clang/lib/Analysis/ThreadSafetyCommon.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Serialization/ASTWriter.cpp
Log Message:
-----------
[clang] Drop explicit conversions of string literals to StringRef (NFC)
We routinely rely on implicit conversions of string literals to
StringRef so that we can use operator==(StringRef, StringRef).
The LHS here are all known to be of StringRef.
Commit: 9bffe790499e99a4110a33988100ba45835e905e
https://github.com/llvm/llvm-project/commit/9bffe790499e99a4110a33988100ba45835e905e
Author: Thorsten Schütt <schuett at gmail.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/combine-select.mir
Log Message:
-----------
[GlobalIsel] Speedup select to integer min/max (#92378)
https://github.com/llvm/llvm-project/issues/92309
Commit: bc9823cf60bf91cc8b45248c4205cd2c67b2a3d5
https://github.com/llvm/llvm-project/commit/bc9823cf60bf91cc8b45248c4205cd2c67b2a3d5
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/bfloat.ll
Log Message:
-----------
[X86][BF16] Change MVT to EVT in combineFP_EXTEND
Fixes: #92471
Commit: f43deca2538b717f5669ce8116cc4c040bde87c8
https://github.com/llvm/llvm-project/commit/f43deca2538b717f5669ce8116cc4c040bde87c8
Author: Johannes Reifferscheid <jreiffers at google.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
M mlir/test/Conversion/ComplexToStandard/convert-to-standard.mlir
Log Message:
-----------
Fix Tan inaccuracies on extreme complex inputs. (#92443)
Specifically, those with small/large absolute values. This ports
https://github.com/openxla/xla/pull/10525 and was verified with XLA's
test suite.
Commit: 5b7088c3619e95eaa8e154765470ddb4d3859fa4
https://github.com/llvm/llvm-project/commit/5b7088c3619e95eaa8e154765470ddb4d3859fa4
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/lib/Analysis/TargetLibraryInfo.cpp
Log Message:
-----------
TargetLibraryInfo: Assume no libcalls in the default constructor (#92400)
The only tricky point here is PlaceSafepoints has an awful hack where
it's creating a legacy PassManager inside it's runImpl, which was not
propagating the incoming TLI. This means there's an implicit bug fix,
where PlaceSafepoints would have been treating too many calls as
builtins.
I'm trying to delete the default constructor altogether, but this seems
to be more difficult.
Commit: 37d00635c4ff1b656a49635e826aeff8063dc1e8
https://github.com/llvm/llvm-project/commit/37d00635c4ff1b656a49635e826aeff8063dc1e8
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
A llvm/test/CodeGen/SPIRV/phi-insert-point.ll
Log Message:
-----------
[SPIR-V] Ensure that internal intrinsic functions for PHI's operand are inserted at the correct positions (#92316)
This PR is to ensure that internal intrinsic functions for PHI's operand
are inserted at the correct positions and don't break rules of
instruction domination and PHI nodes grouping at top of basic block.
Commit: e0a293d12f3fe1c2a284e2e116cfa77d894da49f
https://github.com/llvm/llvm-project/commit/e0a293d12f3fe1c2a284e2e116cfa77d894da49f
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
Log Message:
-----------
[mlir] Fix a warning
This patch fixes:
mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp:964:26:
error: missing 'typename' prior to dependent type name Op::Adaptor;
implicit 'typename' is a C++20 extension
[-Werror,-Wc++20-extensions]
Commit: b27eb0ae8280675fc8fb249d39f1ccafa3ee2187
https://github.com/llvm/llvm-project/commit/b27eb0ae8280675fc8fb249d39f1ccafa3ee2187
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M lldb/test/API/functionalities/completion/TestCompletion.py
Log Message:
-----------
[lldb] Avoid modifying the source tree in TestCompletion.py
This was a side-effect of the "optimization" in #92281. Deoptimize the
code slightly.
Commit: c4bac7f7dcd931a5e561604e95656a24c3d1c9d9
https://github.com/llvm/llvm-project/commit/c4bac7f7dcd931a5e561604e95656a24c3d1c9d9
Author: CarolineConcatto <caroline.concatto at arm.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.h
M llvm/test/CodeGen/AArch64/sme2-intrinsics-ld1.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-ldnt1.ll
A llvm/test/CodeGen/AArch64/sve-callee-save-restore-pairs.ll
Log Message:
-----------
[LLVM][AArch64]Use load/store with consecutive registers in SME2 or S… (#77665)
…VE2.1 for spill/fill
When possible the spill/fill register in Frame Lowering uses the ld/st
consecutive pairs available in sme or sve2.1.
Commit: 5a20a07fce88d54cf01cafde489bfc2fc447acc0
https://github.com/llvm/llvm-project/commit/5a20a07fce88d54cf01cafde489bfc2fc447acc0
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
Log Message:
-----------
[AArch64] Fix -Wunused-variable in AArch64FrameLowering.cpp (NFC)
llvm-project/llvm/lib/Target/AArch64/AArch64FrameLowering.cpp:3084:31:
error: unused variable 'Subtarget' [-Werror,-Wunused-variable]
const AArch64Subtarget &Subtarget = MF.getSubtarget<AArch64Subtarget>();
^
llvm-project/llvm/lib/Target/AArch64/AArch64FrameLowering.cpp:3253:31:
error: unused variable 'Subtarget' [-Werror,-Wunused-variable]
const AArch64Subtarget &Subtarget = MF.getSubtarget<AArch64Subtarget>();
^
2 errors generated.
Commit: ee54c86ef70d7809e7d67cd44de2d3153b31c46e
https://github.com/llvm/llvm-project/commit/ee54c86ef70d7809e7d67cd44de2d3153b31c46e
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M clang/include/clang/Basic/SourceManager.h
M clang/lib/Basic/SourceManager.cpp
Log Message:
-----------
[clang][NFC] Improve const-correctness in `SourceManager` (#92436)
This patch adds several const-qualified variants of existing member
functions to `SourceManager`.
I started with removing const qualification from
`setNumCreatedFIDsForFileID`, and removing `const_cast` in the body of
this function, as I think it doesn't make sense to const-qualify
setters.
Commit: 33bf08ec36efc2fc2df8217eddd751cef9bc6be6
https://github.com/llvm/llvm-project/commit/33bf08ec36efc2fc2df8217eddd751cef9bc6be6
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
A lldb/test/API/tools/lldb-dap/repl-mode/Makefile
A lldb/test/API/tools/lldb-dap/repl-mode/TestDAP_repl_mode_detection.py
A lldb/test/API/tools/lldb-dap/repl-mode/main.cpp
M lldb/tools/lldb-dap/DAP.cpp
Log Message:
-----------
[lldb-dap] Correctly detect alias commands with arguments in repl (#92137)
ResolveCommand will not succeed for an alias command with arguments, and
the code wasn't providing any. Replace that with explicit query(ies) for
the existence of a command with the given name.
Commit: 7a6747939218efbe3b1d2cc0f896dfa97c0ff40f
https://github.com/llvm/llvm-project/commit/7a6747939218efbe3b1d2cc0f896dfa97c0ff40f
Author: Daniel Grumberg <dgrumberg at apple.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M clang/lib/ExtractAPI/DeclarationFragments.cpp
M clang/test/ExtractAPI/class_template.cpp
M clang/test/ExtractAPI/class_template_param_inheritance.cpp
M clang/test/ExtractAPI/class_template_partial_spec.cpp
M clang/test/ExtractAPI/class_template_spec.cpp
M clang/test/ExtractAPI/concept.cpp
M clang/test/ExtractAPI/field_template.cpp
M clang/test/ExtractAPI/global_func_template.cpp
M clang/test/ExtractAPI/global_func_template_spec.cpp
M clang/test/ExtractAPI/global_var_template.cpp
M clang/test/ExtractAPI/global_var_template_partial_spec.cpp
M clang/test/ExtractAPI/global_var_template_spec.cpp
M clang/test/ExtractAPI/method_template.cpp
M clang/test/ExtractAPI/method_template_spec.cpp
A clang/test/ExtractAPI/non_type_template.cpp
Log Message:
-----------
[clang][ExtractAPI] Correctly generate declaration fragments for non-type template parameters (#91958)
Previously we only generated declaration fragments for template type
parameters/arguments, this adds supports for most other possible
template parameters/arguments.
rdar://127732598
Commit: b6fa78d54cf761b232b00222a39fbfe974cb8a16
https://github.com/llvm/llvm-project/commit/b6fa78d54cf761b232b00222a39fbfe974cb8a16
Author: Ramkumar Ramachandra <r at artagnon.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
Log Message:
-----------
[LAA] refactor sortPtrAccesses (NFC) (#92256)
Use the destructuring syntax in C++ and llvm::enumerate to make
sortPtrAccesses a little more readable.
Commit: 2ed8ff3bf84e682b7c6ae9ad6370db629166653c
https://github.com/llvm/llvm-project/commit/2ed8ff3bf84e682b7c6ae9ad6370db629166653c
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/docs/SPIRVUsage.rst
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_variable_length_array/builtin_alloca.ll
Log Message:
-----------
[SPIR-V] Fix types of internal intrinsic functions and add a test case for __builtin_alloca() (#92265)
This PR generation of argument types of internal intrinsic functions
`spv_const_composite` and `spv_track_constant`, so that composite
constants of ConstantVector type preserve their correct type in
transformation passes and can be successfully used further by LLVM
intrinsic functions.
The added test case serves two purposes: it is to check the above
mentioned fix and to demonstrate that a call to __builtin_alloca() maps
to instructions from SPV_INTEL_variable_length_array when this extension
is available.
Commit: e3e06135eb16a1b9d84796a6cbb14cac1c1cf543
https://github.com/llvm/llvm-project/commit/e3e06135eb16a1b9d84796a6cbb14cac1c1cf543
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/test/CodeGen/SPIRV/branching/switch-range-check.ll
Log Message:
-----------
[SPIR-V] Ensure that we don't have a dangling BlockAddress constants after internal intrinsic 'spv_switch' is processed (#92390)
After internal intrinsic 'spv_switch' is processed we need to delete
G_BLOCK_ADDR instructions that were generated to keep track of the
corresponding basic blocks. If we just delete G_BLOCK_ADDR instructions
with BlockAddress operands, this leaves their BasicBlock counterparts in
a "address taken" status. This would make AsmPrinter to generate a
series of unneeded labels of a `"Address of block that was removed by
CodeGen"` kind. This PR is to ensure that we don't have a dangling
BlockAddress constants by zapping the BlockAddress nodes, and only after
that proceed with erasing G_BLOCK_ADDR instructions.
See also https://github.com/llvm/llvm-project/pull/87823 for more
details.
Commit: 7c16e7d9cd37d7d1162866c5ac29fe4ab2e24a5a
https://github.com/llvm/llvm-project/commit/7c16e7d9cd37d7d1162866c5ac29fe4ab2e24a5a
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M flang/include/flang/Optimizer/Transforms/Passes.h
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Tools/CLOptions.inc
M flang/lib/Optimizer/Transforms/AddAliasTags.cpp
Log Message:
-----------
[flang][NFC] Use tablegen to reduce AddAliasTags boilerplate (#92373)
I will make this pass run properly on more top-level operations in a
follow up patch.
Commit: d0e2808f806ece6d2aa8d359a700afab87ded16b
https://github.com/llvm/llvm-project/commit/d0e2808f806ece6d2aa8d359a700afab87ded16b
Author: Shan Huang <52285902006 at stu.ecnu.edu.cn>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopLoadElimination.cpp
A llvm/test/Transforms/LoopLoadElim/update-debugloc-store-forwarded.ll
Log Message:
-----------
[DebugInfo][LoopLoadElim] Fix missing debug location updates (#91839)
Commit: 698cf0176b3146993134354b02c9a67352d9d27e
https://github.com/llvm/llvm-project/commit/698cf0176b3146993134354b02c9a67352d9d27e
Author: Johannes Reifferscheid <jreiffers at google.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
A llvm/test/CodeGen/NVPTX/i1-array-global.ll
Log Message:
-----------
Fix i1 array global crash in NVPTXAsmPrinter. (#92506)
See the test file. At head, this crashes with
```
assertion failed at llvm/lib/Support/APInt.cpp:492 in
uint64_t llvm::APInt::extractBitsAsZExtValue(unsigned int, unsigned int) const:
bitPosition < BitWidth && (numBits + bitPosition) <= BitWidth &&
"Illegal bit extraction"
```
Commit: c93b45aaee62700f61ddc366d971bde594459324
https://github.com/llvm/llvm-project/commit/c93b45aaee62700f61ddc366d971bde594459324
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M mlir/lib/Conversion/ArmSMEToLLVM/ArmSMEToLLVM.cpp
M mlir/test/Conversion/ArmSMEToLLVM/tile-spills-and-fills.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/use-too-many-tiles.mlir
Log Message:
-----------
[mlir][ArmSME] Reword in-memory tile warning (NFC) (#92415)
It did not make sense that this said "all tile operations will go
through memory". Only the operations where the warning is emitted will
go through memory. The message has been updated to reflect that.
Commit: bbe40b9e0a24605e0526475e643312839772294f
https://github.com/llvm/llvm-project/commit/bbe40b9e0a24605e0526475e643312839772294f
Author: Ivan Kosarev <ivan.kosarev at amd.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/lib/MC/MCSectionELF.cpp
M llvm/test/MC/ELF/section-numeric-invalid-type.s
Log Message:
-----------
[MCAsmStreamer] Do not crash on switching to sections of unknown types (#92380)
MCObjectStreamer already accepts unknown types.
Commit: 4349ffb3fa268dba180b7c65fdce20a0be60272b
https://github.com/llvm/llvm-project/commit/4349ffb3fa268dba180b7c65fdce20a0be60272b
Author: David Green <david.green at arm.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
A llvm/test/CodeGen/AArch64/selectopt-not.ll
Log Message:
-----------
[SelectOpt] Add tests for not select conditions. NFC
Commit: 37c6b9ff7245a76056ca3363bdef4e593e7e6c9d
https://github.com/llvm/llvm-project/commit/37c6b9ff7245a76056ca3363bdef4e593e7e6c9d
Author: Paul Walker <paul.walker at arm.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/include/llvm/Analysis/AliasSetTracker.h
M llvm/include/llvm/Analysis/VectorUtils.h
M llvm/lib/IR/ConstantFold.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
Log Message:
-----------
[NFC][LLVM] Mainly whitespace changes.
Also marks AliasSetTracker::size() as const.
Commit: 58bad2862cf136f9483eb005bbfa6915d459b46d
https://github.com/llvm/llvm-project/commit/58bad2862cf136f9483eb005bbfa6915d459b46d
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallDescription.h
M clang/lib/StaticAnalyzer/Core/CallDescription.cpp
M clang/unittests/StaticAnalyzer/BugReportInterestingnessTest.cpp
M clang/unittests/StaticAnalyzer/CallDescriptionTest.cpp
M clang/unittests/StaticAnalyzer/ConflictingEvalCallsTest.cpp
M clang/unittests/StaticAnalyzer/FalsePositiveRefutationBRVisitorTest.cpp
M clang/unittests/StaticAnalyzer/MemRegionDescriptiveNameTest.cpp
M clang/unittests/StaticAnalyzer/NoStateChangeFuncVisitorTest.cpp
Log Message:
-----------
[analyzer][NFC] Require explicit matching mode for CallDescriptions (#92454)
This commit deletes the "simple" constructor of `CallDescription` which
did not require a `CallDescription::Mode` argument and always used the
"wildcard" mode `CDM::Unspecified`.
A few months ago, this vague matching mode was used by many checkers,
which caused bugs like https://github.com/llvm/llvm-project/issues/81597
and https://github.com/llvm/llvm-project/issues/88181. Since then, my
commits improved the available matching modes and ensured that all
checkers explicitly specify the right matching mode.
After those commits, the only remaining references to the "simple"
constructor were some unit tests; this commit updates them to use an
explicitly specified matching mode (often `CDM::SimpleFunc`).
The mode `CDM::Unspecified` was not deleted in this commit because it's
still a reasonable choice in `GenericTaintChecker` and a few unit tests.
Commit: ddb87e0f96c7d23b9b824fa9e2710c0fe11bb86b
https://github.com/llvm/llvm-project/commit/ddb87e0f96c7d23b9b824fa9e2710c0fe11bb86b
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/test/CodeGen/SystemZ/atomicrmw-ops-i128.ll
Log Message:
-----------
SystemZ: Use REG_SEQUENCE for PAIR128 (#90640)
PAIR128 should probably just be removed entirely
Depends #90638
Commit: 1e7d047c71ce0a8076f774b9106cd7a499a1c542
https://github.com/llvm/llvm-project/commit/1e7d047c71ce0a8076f774b9106cd7a499a1c542
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/outer_loop_test1.ll
Log Message:
-----------
[VPlan] Mark LoopInfo preserved in native-path as well (NFC).
LoopInfo is updated during VPlan execution now, so it will also be
updated correctly in the native path.
Commit: ac092925c3fa61144e606c7a9d0d375b96e1abda
https://github.com/llvm/llvm-project/commit/ac092925c3fa61144e606c7a9d0d375b96e1abda
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/test/CodeGen/AMDGPU/cttz.ll
M llvm/test/CodeGen/AMDGPU/cttz_zero_undef.ll
M llvm/test/CodeGen/RISCV/rvv/cttz-vp.ll
Log Message:
-----------
[SelectionDAG] Widen cttz to cttz_zero_undef (#92514)
Instead of widening e.g. i8 cttz(x) to i16 cttz(x | 0x100), use the more
optimizable form cttz_zero_undef(x | 0x100) since the widened operand is
definitely not zero.
Commit: d1cff36e5e37cd552ec049335feb1dd8f94517ea
https://github.com/llvm/llvm-project/commit/d1cff36e5e37cd552ec049335feb1dd8f94517ea
Author: Andi Drebes <47449897+andidr at users.noreply.github.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M mlir/include/mlir/Analysis/DataFlow/SparseAnalysis.h
M mlir/test/lib/Analysis/DataFlow/TestSparseBackwardDataFlowAnalysis.cpp
Log Message:
-----------
[MLIR][analysis] Lattice: Fix automatic delegation of meet to lattice value classes (#82620)
The class `Lattice` should automatically delegate invocations of the
meet operator to the meet operation of the associated lattice value
class if that class provides a static function called `meet`. This
process fails for two reasons:
1. `Lattice::has_meet` checks for a member function `meet` without
arguments of the lattice value class, although it should check for a
static member function.
2. The function template `Lattice::meet<VT>()` implementing the default
meet operation directly in the lattice is always present and takes
precedence over the delegating function template `Lattice::meet<VT,
std::integral_constant<bool, true>>()`.
This change fixes the automatic delegation of the meet operation of a
lattice to the lattice value class in the presence of a static `meet`
function by conditionally enabling either the delegating function
template or the non-delegating function template and by changing
`Lattice::has_meet` so that it checks for a static `meet` member
function in the lattice value type.
The test from `TestSparseBackwardDataFlowAnalysis.cpp` is changed, such
that the `meet` function is not provided directly in the `WrittenTo`
lattice, but by the `Lattice` base class in order to trigger delegation
to a lattice value class.
Commit: a2590e0c145c56928a8870d9a6ea76ccbf4fcfeb
https://github.com/llvm/llvm-project/commit/a2590e0c145c56928a8870d9a6ea76ccbf4fcfeb
Author: Matthias Springer <me at m-sp.org>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M mlir/include/mlir/Transforms/OneToNTypeConversion.h
M mlir/lib/Dialect/Func/Transforms/OneToNFuncConversions.cpp
M mlir/lib/Transforms/Utils/OneToNTypeConversion.cpp
Log Message:
-----------
[mlir][Transforms] Make 1:N function conversion pattern interface-based (#92395)
This commit turns the 1:N dialect conversion pattern for function
signatures into a pattern for `FunctionOpInterface`. This is similar to
the interface-based pattern that is provided with the 1:1 dialect
conversion (`populateFunctionOpInterfaceTypeConversionPattern`). No
change in functionality apart from supporting all `FunctionOpInterface`
ops and not just `func::FuncOp`.
Commit: 98deedae929fce01f0c40d5a55d00e93fb121981
https://github.com/llvm/llvm-project/commit/98deedae929fce01f0c40d5a55d00e93fb121981
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
Log Message:
-----------
[X86][CodeGen] Use switch-case for transform in X86DAGToDAGISel::PostprocessISelDAG, NFCI
This is to simplify code for #91747
Commit: 0ad275c1588065c9f4ef45a6a88f062182ad446b
https://github.com/llvm/llvm-project/commit/0ad275c1588065c9f4ef45a6a88f062182ad446b
Author: David Sherwood <david.sherwood at arm.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/test/Transforms/InstCombine/vector-logical-reductions.ll
M llvm/test/Transforms/InstCombine/vector-reductions.ll
Log Message:
-----------
[InstCombine] Fold vector.reduce.op(vector.reverse(X)) -> vector.reduce.op(X) (#91743)
For all of the following reductions:
vector.reduce.or
vector.reduce.and
vector.reduce.xor
vector.reduce.add
vector.reduce.mul
vector.reduce.umin
vector.reduce.umax
vector.reduce.smin
vector.reduce.smax
vector.reduce.fmin
vector.reduce.fmax
if the input operand is the result of a vector.reverse then we can
perform a reduction on the vector.reverse input instead since the answer
is the same. If the reassociation is permitted we can also do the same
folds for these:
vector.reduce.fadd
vector.reduce.fmul
Commit: a68d20e986053ec571223a9f3ead3e146a27dc82
https://github.com/llvm/llvm-project/commit/a68d20e986053ec571223a9f3ead3e146a27dc82
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Sema.h
M clang/lib/Parse/ParseTemplate.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaType.cpp
M clang/test/CXX/drs/cwg24xx.cpp
M clang/test/SemaCXX/cxx-deprecated.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[clang] Implement CWG2428 "Deprecating a concept" (#92295)
This patch allows attributes to be attached to C++20 concepts,
implementing
[CWG2428](https://cplusplus.github.io/CWG/issues/2428.html).
Commit: 371eccd5dfed88c8e76449233d8388c12be3464b
https://github.com/llvm/llvm-project/commit/371eccd5dfed88c8e76449233d8388c12be3464b
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M clang-tools-extra/clang-query/CMakeLists.txt
M clang-tools-extra/clang-query/Query.cpp
M clang-tools-extra/clang-query/Query.h
M clang-tools-extra/clang-query/QueryParser.cpp
M clang-tools-extra/clang-query/QuerySession.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/unittests/clang-query/QueryParserTest.cpp
M clang/docs/tools/clang-formatted-files.txt
R clang/include/clang/Tooling/NodeIntrospection.h
M clang/lib/Tooling/CMakeLists.txt
R clang/lib/Tooling/DumpTool/APIData.h
R clang/lib/Tooling/DumpTool/ASTSrcLocProcessor.cpp
R clang/lib/Tooling/DumpTool/ASTSrcLocProcessor.h
R clang/lib/Tooling/DumpTool/CMakeLists.txt
R clang/lib/Tooling/DumpTool/ClangSrcLocDump.cpp
R clang/lib/Tooling/DumpTool/generate_cxx_src_locs.py
R clang/lib/Tooling/EmptyNodeIntrospection.inc.in
R clang/lib/Tooling/NodeIntrospection.cpp
M clang/unittests/CMakeLists.txt
R clang/unittests/Introspection/CMakeLists.txt
R clang/unittests/Introspection/IntrospectionTest.cpp
M llvm/utils/gn/secondary/clang/lib/Tooling/BUILD.gn
R llvm/utils/gn/secondary/clang/lib/Tooling/DumpTool/BUILD.gn
M llvm/utils/gn/secondary/clang/unittests/BUILD.gn
R llvm/utils/gn/secondary/clang/unittests/Introspection/BUILD.gn
Log Message:
-----------
[clang-query] Remove support for srcloc output (#92442)
This functionality was added about three years ago, but has been in a
significantly broken state since it was added. It has begun to cause a
maintenance burden for work in Clang (largely due to the complexity of
having two levels of code generation involved), and the original author
is unable to help maintain it. Because it only worked under limited
circumstances and because of the maintenance burden, it is being
removed. If someone wishes to resurrect the functionality, they should
hopefully be able to do so from this one commit.
Fixes #82591
Commit: f5c8242042c959cbf476778e1d8a874fc8747801
https://github.com/llvm/llvm-project/commit/f5c8242042c959cbf476778e1d8a874fc8747801
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
A llvm/test/Transforms/InstCombine/pow-to-ldexp.ll
M llvm/test/Transforms/InstCombine/pow_fp_int.ll
M llvm/test/Transforms/InstCombine/pow_fp_int16.ll
Log Message:
-----------
SimplifyLibCalls: Prefer to emit intrinsic in pow(2, x) -> ldexp(1, x) (#92363)
Commit: 3a32590f25482e283a79dea1f313a226a6dd392f
https://github.com/llvm/llvm-project/commit/3a32590f25482e283a79dea1f313a226a6dd392f
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fcopysign.ll
Log Message:
-----------
[AArch64] Avoid using NEON FCVTXN in Streaming-SVE mode. (#91981)
Commit: 932ca85680db5e4579306f37e55746097fb8ec7f
https://github.com/llvm/llvm-project/commit/932ca85680db5e4579306f37e55746097fb8ec7f
Author: Romaric Jodin <89833130+rjodinchr at users.noreply.github.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/lib/CodeGen/CodeGenFunction.cpp
A clang/test/CodeGen/clspv_libclc_builtin.c
M clang/test/Misc/pragma-attribute-supported-attributes-list.test
M libclc/generic/include/clc/clcfunc.h
Log Message:
-----------
libclc: remove __attribute__((assume)) for clspv targets (#92126)
Instead add a proper attribute in clang, and add convert it to function
metadata to keep the information in the IR. The goal is to remove the
dependency on __attribute__((assume)) that should have not be there in
the first place.
Ref https://github.com/llvm/llvm-project/pull/84934
Commit: 9917f3ce641490ff95a11d22e37754a972c05420
https://github.com/llvm/llvm-project/commit/9917f3ce641490ff95a11d22e37754a972c05420
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_reinterpret_svcount_svbool.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_revd.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfadd.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmax.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmaxnm.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmin.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfminnm.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmla.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmls.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmul.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfsub.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_create2_bool.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_get4_bool.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_undef_bool.c
M clang/test/Sema/aarch64-sme2-sve2p1-diagnostics.c
M clang/test/Sema/aarch64-sme2p1-diagnostics.c
Log Message:
-----------
[Clang][AArch64] Require SVE or SSVE for scalable types. (#91356)
Scalable types are only available when:
* The function is compiled with +sve
* The function is compiled with +sme and the function is executed in
Streaming-SVE mode.
Commit: f39af73f3edcc949bf9dc3535effc59afbcdda22
https://github.com/llvm/llvm-project/commit/f39af73f3edcc949bf9dc3535effc59afbcdda22
Author: Youngsuk Kim <youngsuk.kim at hpe.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaExpr.cpp
M clang/test/Sema/bool-compare.c
M clang/test/Sema/parentheses.cpp
M clang/test/SemaCXX/bool-compare.cpp
M clang/test/SemaCXX/cxx2a-adl-only-template-id.cpp
M clang/test/SemaTemplate/typo-dependent-name.cpp
M clang/test/SemaTemplate/typo-template-name.cpp
Log Message:
-----------
[clang][Sema] Warn consecutive builtin comparisons in an expression (#92200)
Add warning under `-Wparentheses` for consistency with `gcc 14.1`.
Closes #20456
---------
Co-authored-by: Aaron Ballman <aaron at aaronballman.com>
Commit: b1161b2a40d89d4146f6b81fda073a37479edf0f
https://github.com/llvm/llvm-project/commit/b1161b2a40d89d4146f6b81fda073a37479edf0f
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M flang/lib/Semantics/check-omp-structure.cpp
M flang/test/Semantics/OpenMP/nested-distribute.f90
Log Message:
-----------
[Flang][OpenMP] Fix semantics check for nested DISTRIBUTE (#91592)
Composite OpenMP constructs where DISTRIBUTE is the first leaf
construct, as well as standalone DISTRIBUTE constructs, are allowed
inside of TEAMS regions.
Before this patch, nesting a DISTRIBUTE construct inside of a combined
TARGET TEAMS construct was disallowed, which it shouldn't be. Now both
TEAMS and TARGET TEAMS constructs can be immediate parents of DISTRIBUTE
constructs.
Commit: a43d2f686a46fd9d971aa65fde4563375e16f3de
https://github.com/llvm/llvm-project/commit/a43d2f686a46fd9d971aa65fde4563375e16f3de
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.h
Log Message:
-----------
[Flang][OpenMP] NFC: Fix typo in include guard (#91593)
Commit: 502ccd81c6bcf913d2eddf9ed24496a9a634e808
https://github.com/llvm/llvm-project/commit/502ccd81c6bcf913d2eddf9ed24496a9a634e808
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
Log Message:
-----------
[MLIR][OpenMP] NFC: Remove redundant check (#91594)
The check removed by this patch in the OpenMP to LLVM IR translation
pass already exists as part of the op verifier for `omp.loop_nest`.
Commit: d3d5a30021b8df26ac4b2b01e659ab8487fb4080
https://github.com/llvm/llvm-project/commit/d3d5a30021b8df26ac4b2b01e659ab8487fb4080
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M clang/include/clang/Parse/Parser.h
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseObjc.cpp
M clang/lib/Parse/ParseTemplate.cpp
M clang/lib/Parse/Parser.cpp
Log Message:
-----------
[clang][NFC] Remove `const_cast` from `ParseClassSpecifier`
Commit: 89b83d2d3f2ae7b806987143167e8ccb79c6d674
https://github.com/llvm/llvm-project/commit/89b83d2d3f2ae7b806987143167e8ccb79c6d674
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M .github/workflows/issue-release-workflow.yml
M .github/workflows/issue-subscriber.yml
M .github/workflows/merged-prs.yml
M .github/workflows/new-prs.yml
M .github/workflows/pr-request-release-note.yml
M .github/workflows/pr-subscriber.yml
M .github/workflows/release-binaries.yml
M .github/workflows/version-check.yml
M llvm/utils/git/requirements.txt
Log Message:
-----------
[git] Add hashes to requirements.txt for extra security (#92305)
https://pip.pypa.io/en/stable/topics/secure-installs/
Commit: 6677aef28583526c65073bd2406ca1246a41c2a8
https://github.com/llvm/llvm-project/commit/6677aef28583526c65073bd2406ca1246a41c2a8
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclTemplate.h
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/Sema/SemaTemplate.cpp
Log Message:
-----------
[clang][NFC] Remove const-qualification from `FunctionTemplateSpecializationInfo::TemplateArguments` (#92500)
This patch remove const-qualification from pointee type of
`FunctionTemplateSpecializationInfo::TemplateArguments`, because it's
(eventually) used to initialize `MultiLevelTemplateArgumentList`, which
can actually mutate the arguments via
https://github.com/llvm/llvm-project/blob/f42f57b52dd279e6ae19270d063aeb8d59e3f11c/clang/include/clang/Sema/Template.h#L197-L204
Mutation seems to be required to correctly handle packs:
https://github.com/llvm/llvm-project/blob/9144553207052a868efc5a8ce61a0afbb0eaf236/clang/lib/Sema/SemaTemplateInstantiate.cpp#L1440-L1469
Commit: a0cc1ab97888ea15647d9dfb82d51aed7f9e446e
https://github.com/llvm/llvm-project/commit/a0cc1ab97888ea15647d9dfb82d51aed7f9e446e
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M clang/include/clang/Basic/arm_sme.td
A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_add_sub_za16.c
A clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_add_sub_za16.c
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
A llvm/test/CodeGen/AArch64/sme2-intrinsics-add-sub-za16.ll
Log Message:
-----------
[AArch64] Add intrinsics for multi-vector to ZA array vector accumulators (#91606)
[Recommit of e88ba6d975d887ca001cae30bfa0c53d91165148]
According to the specification in
https://github.com/ARM-software/acle/pull/309 this adds the intrinsics
void_svadd_za16_vg1x2_f16(uint32_t slice, svfloat16x2_t zn)
__arm_streaming __arm_inout("za");
void_svadd_za16_vg1x4_f16(uint32_t slice, svfloat16x4_t zn)
__arm_streaming __arm_inout("za");
void_svsub_za16_vg1x2_f16(uint32_t slice, svfloat16x2_t zn)
__arm_streaming __arm_inout("za");
void_svsub_za16_vg1x4_f16(uint32_t slice, svfloat16x4_t zn)
__arm_streaming __arm_inout("za");
as well as the corresponding `bf16` variants.
Commit: fa9881d6a9d0bf3c72754a310c800d424c2db932
https://github.com/llvm/llvm-project/commit/fa9881d6a9d0bf3c72754a310c800d424c2db932
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/test/CodeGen/X86/vector-bitreverse.ll
Log Message:
-----------
[X86] vector-bitreverse.ll - add AVX512BW+AVX512VL test coverage
Commit: c4017cda006c437c8400e280f8473aa65c302b40
https://github.com/llvm/llvm-project/commit/c4017cda006c437c8400e280f8473aa65c302b40
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M offload/CMakeLists.txt
M offload/DeviceRTL/CMakeLists.txt
M offload/cmake/Modules/LibomptargetGetDependencies.cmake
M offload/cmake/Modules/LibomptargetUtils.cmake
M offload/plugins-nextgen/CMakeLists.txt
M offload/plugins-nextgen/amdgpu/CMakeLists.txt
M offload/plugins-nextgen/common/CMakeLists.txt
M offload/plugins-nextgen/cuda/CMakeLists.txt
M offload/src/CMakeLists.txt
M offload/tools/CMakeLists.txt
M offload/tools/deviceinfo/CMakeLists.txt
M offload/tools/kernelreplay/CMakeLists.txt
Log Message:
-----------
[Offload][NFC] Remove header license in CMake files (#92544)
Summary:
No other project has these in the CMake itself, and they're wildly
inconsistent even within the project. These don't really add anything so
I think they should be removed.
Commit: 8c5e487ee3160cf4d40c0680ed40e4b0a494e956
https://github.com/llvm/llvm-project/commit/8c5e487ee3160cf4d40c0680ed40e4b0a494e956
Author: Chris B <chris.bieneman at me.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M clang/cmake/caches/HLSL.cmake
Log Message:
-----------
[HLSL][CMake] Add clangd and distribution settings (#92011)
This just adds some simple distribution settings and includes clangd in
the build for distribution.
Commit: 30d0850e0f780b17a37522e6503c98ebe197c5fa
https://github.com/llvm/llvm-project/commit/30d0850e0f780b17a37522e6503c98ebe197c5fa
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M clang/lib/Parse/ParseCXXInlineMethods.cpp
Log Message:
-----------
[clang][NFC] Improve const-correctness in `ParseLexedMethodDeclaration`
Commit: 9ba0a7725680fec5e071634f814a9d32ba33e852
https://github.com/llvm/llvm-project/commit/9ba0a7725680fec5e071634f814a9d32ba33e852
Author: maxbartel <bartel at roofline.ai>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M mlir/lib/Conversion/ArithToSPIRV/ArithToSPIRV.cpp
A mlir/test/Conversion/ArithToSPIRV/arith-to-spirv-le-specific.mlir
M mlir/test/Conversion/ArithToSPIRV/arith-to-spirv-unsupported.mlir
Log Message:
-----------
[mlir][spirv] Add support for dense_resource in arith to spirv (#91318)
This adds support for `dense_resource` in arith to spirv.
Note that this inlines the blob into the IR. Another possibility would
be to add proper dense_resource support to spirv, but there is a lot of
special handling going on to convert a `DenseElementsAttr` to the
correct SPIRV type. Some of that even iterates over all the values in
the Attribute. For proper support of a `DenseResourceElementsAttr` this
probably needs a redesign. I would like to hear some opinions on that!
The test is disabled on non little Endian machines. See
https://github.com/llvm/llvm-project/issues/63469 for more information.
Commit: 9b6f0735fbff4e9a51f0c76f5630be649490f6ef
https://github.com/llvm/llvm-project/commit/9b6f0735fbff4e9a51f0c76f5630be649490f6ef
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/lib/Support/CommandLine.cpp
Log Message:
-----------
[Support] Drop nop conversions of StringRef to StringRef (NFC)
Both sides here are known to be of StringRef.
Commit: c0cdc1d9569fdb8e3b672befda80cf90db24e814
https://github.com/llvm/llvm-project/commit/c0cdc1d9569fdb8e3b672befda80cf90db24e814
Author: Kelvin Li <kkwli at users.noreply.github.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M flang/test/Transforms/debug-line-table-inc-file.fir
M flang/test/Transforms/debug-line-table.fir
Log Message:
-----------
[flang] Allow flexible producer name in #di_compile_unit (NFC) (#92462)
Commit: 84aee95124549c5d13e22053af254e3fcc02bc84
https://github.com/llvm/llvm-project/commit/84aee95124549c5d13e22053af254e3fcc02bc84
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M clang/include/clang/Lex/Preprocessor.h
M clang/lib/Lex/PPLexerChange.cpp
M clang/lib/Lex/PPMacroExpansion.cpp
Log Message:
-----------
[clang][NFC] Remove `const_cast` from `Preprocessor::addModuleMacro()`
Commit: e919df57770d43217cbd4d05f92de8dc7aac5035
https://github.com/llvm/llvm-project/commit/e919df57770d43217cbd4d05f92de8dc7aac5035
Author: Christian Ulmann <christianulmann at gmail.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M mlir/include/mlir/Transforms/RegionUtils.h
M mlir/lib/Target/LLVMIR/Dialect/OpenACC/OpenACCToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
M mlir/lib/Transforms/Mem2Reg.cpp
M mlir/lib/Transforms/Utils/RegionUtils.cpp
Log Message:
-----------
[MLIR][Transforms] Correct block sorting utils name (NFC) (#92558)
This commit renames the name of the block sorting utility function to
`getBlocksSortedByDominance`. A topological order is not defined on a
general directed graph, so the previous name did not make sense.
Commit: 9e39a0c723ced1aefdb30cece554356644aac148
https://github.com/llvm/llvm-project/commit/9e39a0c723ced1aefdb30cece554356644aac148
Author: Christian Ulmann <christian.ulmann at nextsilicon.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M mlir/lib/Dialect/ArmSME/Transforms/TileAllocation.cpp
Log Message:
-----------
[MLIR][ArmSME] Fix for block sorting refactor
This commit fixes a breakage introduced by changing the name of the
block sorting function.
Related PR: https://github.com/llvm/llvm-project/pull/92558
Commit: 621d0f3e86ecc46c2df302041777e42dfc10171e
https://github.com/llvm/llvm-project/commit/621d0f3e86ecc46c2df302041777e42dfc10171e
Author: Mital Ashok <mital at mitalashok.co.uk>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/test/SemaCXX/cxx2b-deducing-this.cpp
Log Message:
-----------
[Clang][Sema] Fix last argument not being used when comparing function template specializations when one has an explicit object argument (#92263)
Fixes #92188
Commit: 8aa6511f4209bba33a74c4ef6e208fda5c0f3d27
https://github.com/llvm/llvm-project/commit/8aa6511f4209bba33a74c4ef6e208fda5c0f3d27
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M clang/lib/Sema/Sema.cpp
Log Message:
-----------
[clang][NFC] Remove an unnecessary `const_cast`
Commit: e01ff8238cf62c7149de7b8046bccec9adefbe67
https://github.com/llvm/llvm-project/commit/e01ff8238cf62c7149de7b8046bccec9adefbe67
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
M mlir/test/Dialect/Vector/vector-transfer-collapse-inner-most-dims.mlir
Log Message:
-----------
[mlir][vector] Fix scalability issues in drop innermost unit dims transfer patterns (#92402)
Previously, these rewrites would drop scalable dimensions and treated
`[1]` (scalable one dim) as a unit dimension. This patch propagates
scalable dimensions and ensures `[1]` is not treated as a unit
dimension.
Commit: d38ea8c4c84be9496249098053599c24b87f1376
https://github.com/llvm/llvm-project/commit/d38ea8c4c84be9496249098053599c24b87f1376
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M lldb/test/API/tools/lldb-server/attach-wait/TestGdbRemoteAttachWait.py
Log Message:
-----------
[lldb] Fixed the test TestGdbRemoteAttachWait running on a remote target (#92413)
Install `_exe_to_attach` to a remote target if necessary.
Commit: d90159add4140d6f4994f5767fa6ef31cc28897b
https://github.com/llvm/llvm-project/commit/d90159add4140d6f4994f5767fa6ef31cc28897b
Author: Walter Erquinigo <a20012251 at gmail.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M mlir/lib/Tools/lsp-server-support/Transport.cpp
Log Message:
-----------
[LSP] Use std::string for storing the Reply method (#92464)
This was using a StringRef, which is very unsafe because the method name
might just get disposed due to the async nature of the response.
This was causing weird characters being printed in the output logs.
Commit: 45daa4fdc68f5faa5bd5c33da052d2415cd88540
https://github.com/llvm/llvm-project/commit/45daa4fdc68f5faa5bd5c33da052d2415cd88540
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M flang/include/flang/Lower/ConvertVariable.h
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/Builder/HLFIRTools.h
M flang/include/flang/Optimizer/Dialect/CMakeLists.txt
A flang/include/flang/Optimizer/Dialect/CUF/Attributes/CMakeLists.txt
A flang/include/flang/Optimizer/Dialect/CUF/Attributes/CUFAttr.h
A flang/include/flang/Optimizer/Dialect/CUF/Attributes/CUFAttr.td
A flang/include/flang/Optimizer/Dialect/CUF/CMakeLists.txt
A flang/include/flang/Optimizer/Dialect/CUF/CUFDialect.h
A flang/include/flang/Optimizer/Dialect/CUF/CUFDialect.td
A flang/include/flang/Optimizer/Dialect/CUF/CUFOps.h
A flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
M flang/include/flang/Optimizer/Dialect/FIRAttr.td
M flang/include/flang/Optimizer/Dialect/FIROps.h
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/Dialect/FIROpsSupport.h
M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
M flang/include/flang/Optimizer/Support/InitFIR.h
M flang/include/flang/Optimizer/Support/Utils.h
M flang/lib/Frontend/CMakeLists.txt
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/CMakeLists.txt
M flang/lib/Lower/CallInterface.cpp
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/Dialect/CMakeLists.txt
A flang/lib/Optimizer/Dialect/CUF/Attributes/CMakeLists.txt
A flang/lib/Optimizer/Dialect/CUF/Attributes/CUFAttr.cpp
A flang/lib/Optimizer/Dialect/CUF/CMakeLists.txt
A flang/lib/Optimizer/Dialect/CUF/CUFDialect.cpp
A flang/lib/Optimizer/Dialect/CUF/CUFOps.cpp
M flang/lib/Optimizer/Dialect/FIRAttr.cpp
M flang/lib/Optimizer/Dialect/FIRDialect.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/HLFIR/IR/CMakeLists.txt
M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
M flang/lib/Optimizer/HLFIR/Transforms/CMakeLists.txt
M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
M flang/test/Fir/cuf-invalid.fir
M flang/test/Fir/cuf.mlir
M flang/test/Lower/CUDA/cuda-allocatable.cuf
M flang/test/Lower/CUDA/cuda-data-attribute.cuf
M flang/test/Lower/CUDA/cuda-data-transfer.cuf
M flang/test/Lower/CUDA/cuda-kernel-calls.cuf
M flang/test/Lower/CUDA/cuda-kernel-loop-directive.cuf
M flang/test/Lower/CUDA/cuda-mod.cuf
M flang/test/Lower/CUDA/cuda-module-use.cuf
M flang/test/Lower/CUDA/cuda-proc-attribute.cuf
M flang/tools/bbc/CMakeLists.txt
M flang/tools/fir-opt/CMakeLists.txt
M flang/tools/tco/CMakeLists.txt
M flang/unittests/Optimizer/CMakeLists.txt
M flang/unittests/Optimizer/FortranVariableTest.cpp
Log Message:
-----------
[flang][cuda] Move CUDA Fortran operations to a CUF dialect (#92317)
The number of operations dedicated to CUF grew and where all still in
FIR. In order to have a better organization, the CUF operations,
attributes and code is moved into their specific dialect and files. CUF
dialect is tightly coupled with HLFIR/FIR and their types.
The CUF attributes are bundled into their own library since some
HLFIR/FIR operations depend on them and the CUF dialect depends on the
FIR types. Without having the attributes into a separate library there
would be a dependency cycle.
Commit: e3686755eab66604335e246ed7b30033ab71dbbc
https://github.com/llvm/llvm-project/commit/e3686755eab66604335e246ed7b30033ab71dbbc
Author: Jeremy Kun <jkun at google.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.h
M mlir/unittests/Dialect/CMakeLists.txt
A mlir/unittests/Dialect/Polynomial/CMakeLists.txt
A mlir/unittests/Dialect/Polynomial/PolynomialMathTest.cpp
Log Message:
-----------
[mlir][polynomial] implement add for polynomial data structure (#92169)
A change extracted from https://github.com/llvm/llvm-project/pull/91655,
where I'm still trying to get the attributes working for elementwise
constant folding of polynomial ops. This piece is self-contained.
- use CRTP for base classes
- Add unit test
---------
Co-authored-by: Jeremy Kun <j2kun at users.noreply.github.com>
Commit: 874f511ae779a38bd9ad9d80db63c0a10252e526
https://github.com/llvm/llvm-project/commit/874f511ae779a38bd9ad9d80db63c0a10252e526
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/Sema.h
A clang/include/clang/Sema/SemaCodeCompletion.h
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseExprCXX.cpp
M clang/lib/Parse/ParseInit.cpp
M clang/lib/Parse/ParseObjc.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Parse/ParsePragma.cpp
M clang/lib/Parse/ParseStmt.cpp
M clang/lib/Parse/ParseTemplate.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaCodeComplete.cpp
Log Message:
-----------
[clang] Introduce `SemaCodeCompletion` (#92311)
This patch continues previous efforts to split `Sema` up, this time
covering code completion.
Context can be found in #84184.
Dropping `Code` prefix from function names in `SemaCodeCompletion` would
make sense, but I think this PR has enough changes already.
As usual, formatting changes are done as a separate commit. Hopefully
this helps with the review.
Commit: d74bc823beabbb7067a4b4ae2d69a36d874f5132
https://github.com/llvm/llvm-project/commit/d74bc823beabbb7067a4b4ae2d69a36d874f5132
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M lldb/bindings/CMakeLists.txt
M lldb/bindings/headers.swig
M lldb/bindings/interfaces.swig
M lldb/bindings/lua/CMakeLists.txt
M lldb/bindings/python/CMakeLists.txt
Log Message:
-----------
[lldb] Include SBLanguages in the SWIG bindings (#92470)
Commit: dc8d70acf7afd6d8c9eef7d240fb8c917eddab50
https://github.com/llvm/llvm-project/commit/dc8d70acf7afd6d8c9eef7d240fb8c917eddab50
Author: jiajie zhang <56027356+JumpMasterJJ at users.noreply.github.com>
Date: 2024-05-18 (Sat, 18 May 2024)
Changed paths:
A etime-function.mlir
M flang/docs/Intrinsics.md
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Builder/Runtime/Intrinsics.h
M flang/include/flang/Runtime/time-intrinsic.h
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Intrinsics.cpp
M flang/runtime/time-intrinsic.cpp
M flang/runtime/tools.h
A flang/test/Lower/Intrinsics/etime-function.f90
A flang/test/Lower/Intrinsics/etime.f90
A flang/test/Semantics/etime.f90
Log Message:
-----------
[reland][flang] Add ETIME runtime and lowering intrinsics implementation (#92571)
This is same as https://github.com/llvm/llvm-project/pull/90578 with an
added fix. This PR updated tests of etime intrinsic due to Lowering
changes for assigning dummy_scope to hlfir.declare. Referring to
https://github.com/llvm/llvm-project/pull/92472 and
https://github.com/llvm/llvm-project/pull/90989
Commit: a4ad05284e97dd188c44252846486cbfb74a884c
https://github.com/llvm/llvm-project/commit/a4ad05284e97dd188c44252846486cbfb74a884c
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M lldb/test/API/tools/lldb-dap/databreakpoint/TestDAP_setDataBreakpoints.py
M lldb/test/API/tools/lldb-dap/variables/TestDAP_variables.py
Log Message:
-----------
[lldb-dap] Replace `assertEquals` with `assertEqual` (NFC)
Fixes new test that were added or modified after #82073. Also fixes a
formatting issue.
Commit: 932bef23276da05c5eed2ffe7c62b7fc5f39caf1
https://github.com/llvm/llvm-project/commit/932bef23276da05c5eed2ffe7c62b7fc5f39caf1
Author: Jeremy Kun <jkun at google.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.td
M mlir/lib/Dialect/Polynomial/IR/CMakeLists.txt
A mlir/lib/Dialect/Polynomial/IR/PolynomialCanonicalization.td
M mlir/lib/Dialect/Polynomial/IR/PolynomialOps.cpp
A mlir/test/Dialect/Polynomial/canonicalization.mlir
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
Poly canonicalization (#91410)
Adds simple canonicalization rules to the polynomial dialect. Mainly to
get the boilerplate incorporated before more substantial
canonicalization patterns are added.
---------
Co-authored-by: Jeremy Kun <j2kun at users.noreply.github.com>
Commit: e18c4838811f2a6f9592ddeaed585a3830ebc8aa
https://github.com/llvm/llvm-project/commit/e18c4838811f2a6f9592ddeaed585a3830ebc8aa
Author: Jeremy Kun <jkun at google.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M mlir/lib/Dialect/Polynomial/IR/CMakeLists.txt
Log Message:
-----------
[mlir] add arith dialect dep to fix buildbot failure (#92585)
https://lab.llvm.org/buildbot/#/builders/268/builds/14288
```undefined reference to `mlir::detail::TypeIDResolver<mlir::arith::ConstantOp, void>::id'```
Commit: f7516c7f3f00fca7271056cc9abeda2da4687c17
https://github.com/llvm/llvm-project/commit/f7516c7f3f00fca7271056cc9abeda2da4687c17
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M clang/lib/CodeGen/CGExprConstant.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/test/CodeGen/array-init.c
Log Message:
-----------
[CodeGen] Support arrays with initializers of 64-bit size
Based on @OfekShochat's https://reviews.llvm.org/D133648
init.c is the primary test for array initialization, but it uses a
32-bit triple, which would lead to an "array is too large" error. Add
the new test to array-init.c instead.
Fix #57353
Pull Request: https://github.com/llvm/llvm-project/pull/92473
Commit: 487d5af6482ea5f074c12d29d7e376d3fc697706
https://github.com/llvm/llvm-project/commit/487d5af6482ea5f074c12d29d7e376d3fc697706
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M compiler-rt/lib/ctx_profile/CMakeLists.txt
A compiler-rt/test/ctx_profile/TestCases/generate-context.cpp
M compiler-rt/test/ctx_profile/lit.cfg.py
Log Message:
-----------
[ctx_profile] Integration test (#92456)
Compile with clang a program that's instrumented for contextual profiling and verify a profile can be collected.
Commit: 16bb7e89a995dfe8b14a8ddbce3da79c217e884a
https://github.com/llvm/llvm-project/commit/16bb7e89a995dfe8b14a8ddbce3da79c217e884a
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M offload/CMakeLists.txt
M offload/DeviceRTL/CMakeLists.txt
M offload/plugins-nextgen/CMakeLists.txt
M offload/plugins-nextgen/amdgpu/CMakeLists.txt
M offload/plugins-nextgen/common/CMakeLists.txt
M offload/plugins-nextgen/cuda/CMakeLists.txt
M offload/plugins-nextgen/host/CMakeLists.txt
M offload/src/CMakeLists.txt
M offload/test/mapping/array_section_implicit_capture.c
M offload/test/offloading/default_thread_limit.c
M offload/test/offloading/fortran/basic-target-region-1D-array-section.f90
M offload/test/offloading/fortran/basic-target-region-3D-array-section.f90
M offload/test/offloading/fortran/double-target-call-with-declare-target.f90
M offload/test/offloading/fortran/target-map-allocatable-map-scopes.f90
M offload/test/offloading/fortran/target-map-derived-type-full-1.f90
M offload/test/offloading/fortran/target-map-derived-type-full-2.f90
M offload/test/offloading/fortran/target-map-derived-type-full-implicit-1.f90
M offload/test/offloading/fortran/target-map-derived-type-full-implicit-2.f90
M offload/test/offloading/fortran/target-map-double-large-nested-dtype-multi-member.f90
M offload/test/offloading/fortran/target-map-double-nested-dtype-array-bounds.f90
M offload/test/offloading/fortran/target-map-double-nested-dtype-double-array-bounds.f90
M offload/test/offloading/fortran/target-map-double-nested-dtype-single-member.f90
M offload/test/offloading/fortran/target-map-dtype-arr-bounds-member-enter-exit-update.f90
M offload/test/offloading/fortran/target-map-dtype-arr-bounds-member-enter-exit.f90
M offload/test/offloading/fortran/target-map-dtype-explicit-individual-array-member.f90
M offload/test/offloading/fortran/target-map-dtype-multi-explicit-array-3D-member-bounds.f90
M offload/test/offloading/fortran/target-map-dtype-multi-explicit-array-member-bounds.f90
M offload/test/offloading/fortran/target-map-dtype-multi-explicit-array-member.f90
M offload/test/offloading/fortran/target-map-dtype-multi-explicit-member.f90
M offload/test/offloading/fortran/target-map-enter-exit-allocatables.f90
M offload/test/offloading/fortran/target-map-enter-exit-array-2.f90
M offload/test/offloading/fortran/target-map-enter-exit-array-bounds.f90
M offload/test/offloading/fortran/target-map-enter-exit-array.f90
M offload/test/offloading/fortran/target-map-enter-exit-scalar.f90
M offload/test/offloading/fortran/target-map-individual-dtype-member-map.f90
M offload/test/offloading/fortran/target-map-large-nested-dtype-multi-member.f90
M offload/test/offloading/fortran/target-map-nested-dtype-complex-member.f90
M offload/test/offloading/fortran/target-map-nested-dtype-derived-member.f90
M offload/test/offloading/fortran/target-map-nested-dtype-multi-member.f90
M offload/test/offloading/fortran/target-map-nested-dtype-single-member.f90
M offload/test/offloading/fortran/target-map-pointer-scopes-enter-exit.f90
M offload/test/offloading/fortran/target-map-pointer-target-array-section-3d-bounds.f90
M offload/test/offloading/fortran/target-map-pointer-target-scopes.f90
M offload/test/offloading/fortran/target-map-two-dtype-explicit-member.f90
M offload/test/offloading/fortran/target-map-two-dtype-individual-member-array-1D-bounds.f90
M offload/test/offloading/fortran/target-map-two-dtype-mixed-implicit-explicit-capture-1.f90
M offload/test/offloading/fortran/target-map-two-dtype-mixed-implicit-explicit-capture-2.f90
M offload/test/offloading/fortran/target-map-two-dtype-multi-member-array-1D-bounds.f90
M offload/test/offloading/fortran/target-map-two-nested-dtype-member-array-map.f90
M offload/test/offloading/spmdization.c
M offload/test/offloading/thread_limit.c
Log Message:
-----------
[Offload][NFC] Remove all trailing whitespace from offload/ (#92578)
Summary:
This patch cleans up the training whitespace in a bunch of tests and
CMake files. Most just in preparation for other cleanups.
Commit: 770d92830311b21c82ff12ba85bd131950db23d0
https://github.com/llvm/llvm-project/commit/770d92830311b21c82ff12ba85bd131950db23d0
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M offload/CMakeLists.txt
M offload/DeviceRTL/CMakeLists.txt
R offload/cmake/Modules/LibomptargetUtils.cmake
M offload/plugins-nextgen/amdgpu/CMakeLists.txt
M offload/plugins-nextgen/cuda/CMakeLists.txt
M offload/plugins-nextgen/host/CMakeLists.txt
M offload/src/CMakeLists.txt
M offload/test/CMakeLists.txt
M offload/tools/deviceinfo/CMakeLists.txt
M offload/tools/kernelreplay/CMakeLists.txt
M offload/unittests/Plugins/CMakeLists.txt
Log Message:
-----------
[Offload][NFC] Remove 'libomptarget' message helpers (#92581)
Summary:
This isn't `libomptarget` anymore, and these messages were always
unnecessary because no other project uses these prefixed messages. The
effect of this is that no longer will the logs have `LIBOMPTARGET --` in
front of everything. We have a message stating when we start building
the offload project so it'll still be trivial to find.
Commit: 48b23c09c0dd70c4d5645d781caa1e0a7d51e0fc
https://github.com/llvm/llvm-project/commit/48b23c09c0dd70c4d5645d781caa1e0a7d51e0fc
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow.ll
Log Message:
-----------
AMDGPU: Handle undef correctly in isKnownIntegral (#92566)
Commit: 1e5f29af81a5f6fda308074f6345b9fba4faa71c
https://github.com/llvm/llvm-project/commit/1e5f29af81a5f6fda308074f6345b9fba4faa71c
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/test/MC/AsmParser/macro-rept.s
Log Message:
-----------
Revert "[MCAsmParser] .rept/.irp/.irpc: remove excess tail EOL in expansion"
This reverts commit c6e787f771d1f9d6a846b2d9b8db6adcd87e8dba.
parseEOL() would remove \n # after .endr, not recognizing the line marker.
```
// reduced from Linux kernel arch/x86/crypto/sha1_avx2_x86_64_asm.S
.rept 1
nop
.endr
# 512 "a.s"
```
Commit: 0ec3b972e58bcbcdc1bebe1696ea37f2931287c3
https://github.com/llvm/llvm-project/commit/0ec3b972e58bcbcdc1bebe1696ea37f2931287c3
Author: Dan Liew <delcypher at gmail.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/Type.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/Type.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseObjc.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/TreeTransform.h
A clang/test/AST/attr-counted-by-late-parsed-struct-ptrs.c
A clang/test/AST/attr-counted-by-struct-ptrs.c
A clang/test/Sema/attr-counted-by-late-parsed-off.c
A clang/test/Sema/attr-counted-by-late-parsed-struct-ptrs.c
A clang/test/Sema/attr-counted-by-struct-ptrs-sizeless-types.c
A clang/test/Sema/attr-counted-by-struct-ptrs.c
A clang/test/Sema/attr-counted-by-vla-sizeless-types.c
A clang/test/Sema/attr-counted-by-vla.c
R clang/test/Sema/attr-counted-by.c
Log Message:
-----------
[BoundsSafety] Allow 'counted_by' attribute on pointers in structs in C (#90786)
Previously the attribute was only allowed on flexible array members.
This patch patch changes this to also allow the attribute on pointer
fields in structs and also allows late parsing of the attribute in some
contexts.
For example this previously wasn't allowed:
```
struct BufferTypeDeclAttributePosition {
size_t count;
char* buffer __counted_by(count); // Now allowed
}
```
Note the attribute is prevented on pointee types where the size isn't
known at compile time. In particular pointee types that are:
* Incomplete (e.g. `void`) and sizeless types
* Function types (e.g. the pointee of a function pointer)
* Struct types with a flexible array member
This patch also introduces late parsing of the attribute when used in
the declaration attribute position. For example
```
struct BufferTypeDeclAttributePosition {
char* buffer __counted_by(count); // Now allowed
size_t count;
}
```
is now allowed but **only** when passing
`-fexperimental-late-parse-attributes`. The motivation for using late
parsing here is to avoid breaking the data layout of structs in existing
code that want to use the `counted_by` attribute. This patch is the
first use of `LateAttrParseExperimentalExt` in `Attr.td` that was
introduced in a previous patch.
Note by allowing the attribute on struct member pointers this now allows
the possiblity of writing the attribute in the type attribute position.
For example:
```
struct BufferTypeAttributePosition {
size_t count;
char *__counted_by(count) buffer; // Now allowed
}
```
However, the attribute in this position is still currently parsed
immediately rather than late parsed. So this will not parse currently:
```
struct BufferTypeAttributePosition {
char *__counted_by(count) buffer; // Fails to parse
size_t count;
}
```
The intention is to lift this restriction in future patches. It has not
been done in this patch to keep this size of this commit small.
There are also several other follow up changes that will need to be
addressed in future patches:
* Make late parsing working with anonymous structs (see
`on_pointer_anon_buf` in `attr-counted-by-late-parsed-struct-ptrs.c`).
* Allow `counted_by` on more subjects (e.g. parameters, returns types)
when `-fbounds-safety` is enabled.
* Make use of the attribute on pointer types in code gen (e.g. for
`_builtin_dynamic_object_size` and UBSan's array-bounds checks).
This work is heavily based on a patch originally written by Yeoul Na.
rdar://125400257
Co-authored-by: Dan Liew <dan at su-root.co.uk>
Commit: 1b58940c88edaad9320bd21eaa7da65f7e791552
https://github.com/llvm/llvm-project/commit/1b58940c88edaad9320bd21eaa7da65f7e791552
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/test/MC/AsmParser/macro-rept.s
Log Message:
-----------
[MCAsmParser,test] Test line marker after .endr \n
Regression test for 1e5f29af81a5f6fda308074f6345b9fba4faa71c
Reduced from Linux kernel arch/x86/crypto/sha1_avx2_x86_64_asm.S
Commit: 76fdc2e52719c7164e3f2cb05158a74df2b3d22e
https://github.com/llvm/llvm-project/commit/76fdc2e52719c7164e3f2cb05158a74df2b3d22e
Author: Nathan Sidwell <nathan at acm.org>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Passes/Instrumentation.cpp
M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
Log Message:
-----------
[BOLT][NFC] Rename isUnsupportedBranch to isReversibleBranch (#92447)
`isUnsupportedBranch` is not a very informative name, and doesn't match
its corresponding `reverseBranchCondition`, as I noted in PR #92018.
Here's a renaming to a more mnemonic name.
Commit: 112eadd55f06bee15caadff688ea0b45acbfa804
https://github.com/llvm/llvm-project/commit/112eadd55f06bee15caadff688ea0b45acbfa804
Author: Dan Liew <dan at su-root.co.uk>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M clang/test/Misc/pragma-attribute-supported-attributes-list.test
Log Message:
-----------
[Bounds-Safety] Fix `pragma-attribute-supported-attributes-list.test`
0ec3b972e58bcbcdc1bebe1696ea37f2931287c3 changed the `counted_by`
attribute to be `LateAttrParseExperimentalExt`. This means the attribute
is no longer supported by `#pragma clang attribute`. However, the
`pragma-attribute-supported-attributes-list.test` wasn't updated
to account for that.
rdar://125400257
Commit: df575be9d864886684e536cd76c5a96bb0d443a6
https://github.com/llvm/llvm-project/commit/df575be9d864886684e536cd76c5a96bb0d443a6
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaDecl.cpp
Log Message:
-----------
[clang][NFC] Add `const` qualifier in `Sema::isIncompatibleTypedef`
Commit: af7467ce9f447d6fe977b73db1f03a18d6bbd511
https://github.com/llvm/llvm-project/commit/af7467ce9f447d6fe977b73db1f03a18d6bbd511
Author: John Ericson <John.Ericson at Obsidian.Systems>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M libcxx/src/atomic.cpp
M libcxx/src/chrono.cpp
M libcxxabi/src/cxa_guard_impl.h
Log Message:
-----------
[libcxx][libcxxabi] Fix build for OpenBSD (#92186)
- No indirect syscalls on OpenBSD. Instead there is a `futex` function
which issues a direct syscall.
- Monotonic clock is available despite the full POSIX suite of timers
not being available in its entirety.
See https://lists.boost.org/boost-bugs/2015/07/41690.php and
https://github.com/boostorg/log/commit/c98b1f459add14d5ce3e9e63e2469064601d7f71
for a description of an analogous problem and fix for Boost.
Commit: 1a5bc7c895ddeafa0e1d269da67bbeafcd8bc1a4
https://github.com/llvm/llvm-project/commit/1a5bc7c895ddeafa0e1d269da67bbeafcd8bc1a4
Author: Julian Lettner <yln at users.noreply.github.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M compiler-rt/test/tsan/signal_in_mutex_lock.cpp
Log Message:
-----------
Fix flaky test: signal_in_mutex_lock.cpp (#92587)
Fix flaky test: the spawned thread keeps spinning
on `sampler_mutex` which may be released before
the thread is terminated based on termination
ordering.
My understanding of C++ semantics are that the
program here is invalid: the destructors of global
variables are invoked at the time of program
termination, and it is the responsibility of the
program to ensure that invoking those destructors
is safe.
rdar://126768628
Commit: 6d50a79b721760fa5e10b81ebe6d1e37f141f61b
https://github.com/llvm/llvm-project/commit/6d50a79b721760fa5e10b81ebe6d1e37f141f61b
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M flang/include/flang/Semantics/semantics.h
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/semantics.cpp
A flang/module/cudadevice.f90
A flang/test/Semantics/cuf-device-procedures01.cuf
A flang/test/Semantics/cuf-device-procedures02.cuf
M flang/tools/f18/CMakeLists.txt
Log Message:
-----------
[flang][cuda] Implicitly load cudadevice module in device/global subprogram (#92038)
This is a re-worked version of #91668. It adds the `cudadevice` module
and set the `device` attributes on its functions/subroutines so there is
no need for special case in semantic check.
`cudadevice` module is implicitly USE'd in `global`/`device` subprogram.
Commit: bdfb04a63d73c31ee75395064762d0d6ccb45819
https://github.com/llvm/llvm-project/commit/bdfb04a63d73c31ee75395064762d0d6ccb45819
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M lldb/tools/lldb-dap/package.json
Log Message:
-----------
[lldb-dap] Bump the version to 0.2.1
Bump the version to 0.2.1 to test the publishing workflow and update the
extension README and URL.
Commit: e2db08f8f1a7dd37cd18705164f0c1188707e5b6
https://github.com/llvm/llvm-project/commit/e2db08f8f1a7dd37cd18705164f0c1188707e5b6
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_add_sub_za16.c
Log Message:
-----------
[test] Use conventional -emit-llvm-only
Similar to a6d7828f4c50c1ec7b0b5f61fe59d7a768175dcc
Commit: 8da3a8f550d0b266411b2dc177dff8591ee86cb2
https://github.com/llvm/llvm-project/commit/8da3a8f550d0b266411b2dc177dff8591ee86cb2
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
M llvm/lib/Target/NVPTX/NVPTXUtilities.cpp
M llvm/lib/Target/NVPTX/NVPTXUtilities.h
A llvm/test/CodeGen/NVPTX/param-overalign.ll
Log Message:
-----------
[NVPTX] fixup support for over-aligned parameters (#92457)
This extends the NVPTX support for over-aligned parameters and return
values in a few related ways:
- Support for `alignstack` attribute, as an alternative to legacy nvvm
`!"align"` metadata entries. While we still maintain the legacy support,
long term it might be nice to auto-upgrade to `alignstack`.
- Check the alignment info when emitting the parameter list to prevent a
mismatch between alignment of caller and callee, which would previously
cause a fatal error for `ptxas`.
- Check the alignment info when emitting loads for parameters,
potentially enabling better vectorization.
Commit: fe2ff54590c313551e7968179b48988ff0916290
https://github.com/llvm/llvm-project/commit/fe2ff54590c313551e7968179b48988ff0916290
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M flang/runtime/CMakeLists.txt
M flang/runtime/descriptor-io.h
A flang/runtime/io-api-common.h
A flang/runtime/io-api-minimal.cpp
M flang/runtime/io-api.cpp
Log Message:
-----------
[flang][runtime] Decouple scalar output APIs from descriptors (#92444)
For testing purposes the implementations of the output APIs like
OutputInteger32 have been simply constructing descriptors and executing
the operation through the general DescriptorIO template. This patch
decouples those APIs from that mechanism so that programs using simple
"PRINT *" statements for output can link to a smaller portion of the I/O
runtime support library. (This is the only form of I/O accepted in GPU
device code by previous CUDA Fortran and Fortran OpenACC compilers.)
Commit: ab7930bd9f088c4fcdfd438b5207a4052c9669b8
https://github.com/llvm/llvm-project/commit/ab7930bd9f088c4fcdfd438b5207a4052c9669b8
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M flang/include/flang/Semantics/tools.h
M flang/lib/Semantics/check-declarations.cpp
M flang/test/Semantics/bind-c03.f90
M flang/test/Semantics/bind-c09.f90
M flang/test/Semantics/bind-c12.f90
M flang/test/Semantics/resolve81.f90
M flang/test/Semantics/resolve82.f90
Log Message:
-----------
[flang] Relax checking of dummy procedures under BIND(C) (#92474)
As was done recently to allow derived types that are not explicitly
BIND(C), but meet the requirements of BIND(C), to be acceptable for use
in contexts nominally requiring BIND(C), this patch allows procedures
that are not explicitly BIND(C) to be used in contexts that nominally
require BIND(C) so long as (1) they meet the requirements of BIND(C),
and (2) don't use dummy arguments whose implementations may vary under
BIND(C), such as VALUE.
Commit: b80e0fbcfb71b24d762d8b48069153b9e16679be
https://github.com/llvm/llvm-project/commit/b80e0fbcfb71b24d762d8b48069153b9e16679be
Author: Jeremy Kun <jkun at google.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/Polynomial/IR/CMakeLists.txt
M mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.td
A mlir/include/mlir/Dialect/Polynomial/IR/PolynomialAttributes.td
A mlir/include/mlir/Dialect/Polynomial/IR/PolynomialDialect.td
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][polynomial] split attributes into its own tablegen (#92613)
Out of tree we have other dialects that use the ring attribute, but we
get compilation errors when generating ops while pulling in all the
Polynomial tablegen ops (there's no `-dialect` flag in `mlir-tblgen` for
op generation like there is for attributes and types).
This PR simply moves the attributes into its own file, so it can be
included separately, and this also requires moving the dialect
declaration into its own file.
Commit: cef6387e52578366c2332275dad88b9953b55336
https://github.com/llvm/llvm-project/commit/cef6387e52578366c2332275dad88b9953b55336
Author: Dan Liew <dan at su-root.co.uk>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/test/Sema/attr-counted-by-vla.c
Log Message:
-----------
[Bounds-Safety] Temporarily relax a `counted_by` attribute restriction on flexible array members
In 0ec3b972e58bcbcdc1bebe1696ea37f2931287c3 an additional restriction
was added when applying the `counted_by` attribute to flexible array
members in structs. The restriction prevented the element type being
a struct that itself had a flexible array member. E.g.:
```
struct has_unannotated_VLA {
int count;
char buffer[];
};
struct buffer_of_structs_with_unnannotated_vla {
int count;
struct has_unannotated_VLA Arr[] __counted_by(count);
};
```
In this example assuming the size of `Arr` is `sizeof(struct
has_unannotated_VLA)*count` (which is what the attribute says) is wrong
because it doesn't account for the size of
`has_unannotated_VLA::buffer`. This is why this kind of code construct
was treated as an error.
However, it turns out existing Linux kernel code used the attribute
on a flexible array member in this way
(https://github.com/llvm/llvm-project/pull/90786#issuecomment-2118416515).
To unbreak the build this restriction is downgraded to a warning with
the plan to make it an error again once the errornous use of the
attribute in the Linux kernel is resolved.
Commit: 86e511bc145ffe6e08f2f440b329c5ed9cb38532
https://github.com/llvm/llvm-project/commit/86e511bc145ffe6e08f2f440b329c5ed9cb38532
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M flang/runtime/io-api.cpp
Log Message:
-----------
[flang] Fixed https://lab.llvm.org/buildbot/#/builders/270/builds/14406
Commit: 881f20e958e80bd30463fc57d2d3e891bcb8a571
https://github.com/llvm/llvm-project/commit/881f20e958e80bd30463fc57d2d3e891bcb8a571
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M compiler-rt/lib/ctx_profile/CMakeLists.txt
R compiler-rt/test/ctx_profile/TestCases/generate-context.cpp
M compiler-rt/test/ctx_profile/lit.cfg.py
Log Message:
-----------
Revert "[ctx_profile] Integration test (#92456)"
This reverts commit 487d5af6482ea5f074c12d29d7e376d3fc697706.
This was causing failures on some buildbots.
https://lab.llvm.org/buildbot/#/builders/247/builds/18559
Commit: b672d9e3d3aa6f9796c09d691ca5c40dc816ab67
https://github.com/llvm/llvm-project/commit/b672d9e3d3aa6f9796c09d691ca5c40dc816ab67
Author: David Blaikie <dblaikie at gmail.com>
Date: 2024-05-18 (Sat, 18 May 2024)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
A llvm/test/DebugInfo/X86/debug-names-split-dwarf-inlining.ll
Log Message:
-----------
DebugInfo: Don't emit .debug_names entries for split-dwarf-inlining info
Commit: 1e9324a8c734aaa933d2672522cc22d5022c6200
https://github.com/llvm/llvm-project/commit/1e9324a8c734aaa933d2672522cc22d5022c6200
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M lldb/include/lldb/API/SBExpressionOptions.h
M lldb/source/API/SBExpressionOptions.cpp
Log Message:
-----------
[lldb] Namespace SBSourceLanguageName (NFC)
Commit: faf39f45e3107d6bcb5f9cef8b5681c116b261d7
https://github.com/llvm/llvm-project/commit/faf39f45e3107d6bcb5f9cef8b5681c116b261d7
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M lld/ELF/InputSection.cpp
R lld/test/ELF/loongarch-relax-align-ldr.s
M lld/test/ELF/loongarch-relax-emit-relocs.s
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
M llvm/test/MC/LoongArch/Relocations/relax-addsub.s
M llvm/test/MC/LoongArch/Relocations/relax-align.s
Log Message:
-----------
Revert "[LoongArch] Use R_LARCH_ALIGN with section symbol (#84741)"
This reverts commit 01f79899ba349a0200586c8d05f5e22cca2ced31.
This unusual special case has been discussed on the binutils mailing
list. The approach will be revisited:
https://sourceware.org/pipermail/binutils/2024-May/134092.html
Pull Request: https://github.com/llvm/llvm-project/pull/92584
Commit: 702198fc9ac5dba392f9d9ba7c56467996343c0a
https://github.com/llvm/llvm-project/commit/702198fc9ac5dba392f9d9ba7c56467996343c0a
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M flang/lib/Lower/ConvertVariable.cpp
A flang/test/Lower/CUDA/cuda-program-global.cuf
Log Message:
-----------
[flang][cuda] Add data attribute to program globals (#92610)
Commit: cfe9deb1353021a1c1fe4731ec3e90f702dbd43d
https://github.com/llvm/llvm-project/commit/cfe9deb1353021a1c1fe4731ec3e90f702dbd43d
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M .github/dependabot.yml
M compiler-rt/lib/ctx_profile/CMakeLists.txt
A compiler-rt/test/ctx_profile/TestCases/generate-context.cpp
M compiler-rt/test/ctx_profile/lit.cfg.py
Log Message:
-----------
Reapply "[ctx_profile] Integration test (#92456)"
This reverts commit 881f20e958e80bd30463fc57d2d3e891bcb8a571.
Passing -ldl -lpthread explicitly
Commit: 9e98815ef04f055e84d0b1a5cfb877bb1c9cb22a
https://github.com/llvm/llvm-project/commit/9e98815ef04f055e84d0b1a5cfb877bb1c9cb22a
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-05-18 (Sat, 18 May 2024)
Changed paths:
M .github/dependabot.yml
Log Message:
-----------
[Github] Revert accidental changes to dependabot config
f3524e9aebbfabed0c60d0087b39ce14d8f778da accidentally touched the
dependabot config. This patch reverts that change.
Commit: 219476d20fcdb21644944b0c204b4ac6d6ef3760
https://github.com/llvm/llvm-project/commit/219476d20fcdb21644944b0c204b4ac6d6ef3760
Author: jiajie zhang <56027356+JumpMasterJJ at users.noreply.github.com>
Date: 2024-05-18 (Sat, 18 May 2024)
Changed paths:
R etime-function.mlir
Log Message:
-----------
Fix: remove wrongly pushed etime-function.mlir at toplevel (#92634)
The purpose of this PR is to remove the 'etime-function.mlir' file that
I mistakenly committed in
https://github.com/llvm/llvm-project/pull/92571. This file is not
necessary in source code control, and its presence may cause confusion
or misunderstanding.
Commit: 195ba4572129befa25ca56439515d7cb91587c56
https://github.com/llvm/llvm-project/commit/195ba4572129befa25ca56439515d7cb91587c56
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/test/MC/AsmParser/macro-arg.s
M llvm/test/MC/AsmParser/macro-irp.s
M llvm/test/MC/AsmParser/macro-rept.s
Log Message:
-----------
[MCAsmParser] .macro/.rept/.irp/.irpc: remove excess \n after expansion
```
.irp foo,1
nop
.endr
nop
```
expands to an excess EOL between two nop lines. Other loop directives
and .macro have the same issue.
`Lex()` at "Jump to the macro instantiation and prime the lexer"
requires that there is one single \n token in CurTok. Therefore, we
cannot consume the trailing \n when parsing the macro(-like) body.
(commit c6e787f771d1f9d6a846b2d9b8db6adcd87e8dba (reverted by
1e5f29af81a5f6fda308074f6345b9fba4faa71c))
Instead, skip the potential \n after jumpToLoc at handleMacroExit.
Commit: bfeebda3b1cc1a05e435e94f54bf2d2a2570b4e2
https://github.com/llvm/llvm-project/commit/bfeebda3b1cc1a05e435e94f54bf2d2a2570b4e2
Author: Michael Klemm <michael.klemm at amd.com>
Date: 2024-05-18 (Sat, 18 May 2024)
Changed paths:
M flang/test/Driver/include-omp-header.f90
M flang/test/Lower/OpenMP/atomic-capture.f90
M flang/test/Lower/OpenMP/atomic-read.f90
M flang/test/Lower/OpenMP/atomic-update.f90
M flang/test/Lower/OpenMP/atomic-write.f90
M flang/test/Lower/OpenMP/critical.f90
M flang/test/Lower/OpenMP/omp-lib-num-threads.f90
M flang/test/Lower/OpenMP/parallel-sections.f90
M flang/test/Lower/OpenMP/parallel.f90
M flang/test/Lower/OpenMP/sections.f90
M flang/test/Lower/OpenMP/single.f90
M flang/test/Lower/OpenMP/task.f90
M flang/test/Lower/OpenMP/taskgroup.f90
M flang/test/Lower/OpenMP/teams.f90
M flang/test/Lower/OpenMP/threadprivate-default-clause.f90
M flang/test/Parser/OpenMP/allocate-tree-spec-part.f90
M flang/test/Parser/OpenMP/allocate-tree.f90
M flang/test/Parser/OpenMP/target_device_parse.f90
M flang/test/Semantics/OpenMP/allocate-clause01.f90
M flang/test/Semantics/OpenMP/allocate-directive.f90
M flang/test/Semantics/OpenMP/allocate01.f90
M flang/test/Semantics/OpenMP/allocate02.f90
M flang/test/Semantics/OpenMP/allocate03.f90
M flang/test/Semantics/OpenMP/allocate04.f90
M flang/test/Semantics/OpenMP/allocate05.f90
M flang/test/Semantics/OpenMP/allocate06.f90
M flang/test/Semantics/OpenMP/allocate07.f90
M flang/test/Semantics/OpenMP/allocate08.f90
M flang/test/Semantics/OpenMP/allocate09.f90
M flang/test/Semantics/OpenMP/allocators01.f90
M flang/test/Semantics/OpenMP/allocators02.f90
M flang/test/Semantics/OpenMP/allocators03.f90
M flang/test/Semantics/OpenMP/allocators04.f90
M flang/test/Semantics/OpenMP/allocators05.f90
M flang/test/Semantics/OpenMP/allocators06.f90
M flang/test/Semantics/OpenMP/atomic-hint-clause.f90
M flang/test/Semantics/OpenMP/atomic01.f90
M flang/test/Semantics/OpenMP/atomic02.f90
M flang/test/Semantics/OpenMP/atomic03.f90
M flang/test/Semantics/OpenMP/atomic04.f90
M flang/test/Semantics/OpenMP/atomic05.f90
M flang/test/Semantics/OpenMP/clause-validity01.f90
M flang/test/Semantics/OpenMP/critical-hint-clause.f90
M flang/test/Semantics/OpenMP/declare-target01.f90
M flang/test/Semantics/OpenMP/flush02.f90
M flang/test/Semantics/OpenMP/omp-atomic-assignment-stmt.f90
M flang/test/Semantics/OpenMP/parallel-sections01.f90
M flang/test/Semantics/OpenMP/resolve06.f90
M flang/test/Semantics/OpenMP/sections02.f90
M flang/test/Semantics/OpenMP/sync-critical02.f90
M flang/test/Semantics/OpenMP/taskgroup01.f90
M flang/test/Semantics/OpenMP/threadprivate01.f90
M flang/test/lit.cfg.py
M flang/test/lit.site.cfg.py.in
Log Message:
-----------
[flang][OpenMP] Re-enable tests when building OpenMP as a runtime (#89046)
Commit: 2a97b507dc643b7ee3bc651b3f21b754cfba433c
https://github.com/llvm/llvm-project/commit/2a97b507dc643b7ee3bc651b3f21b754cfba433c
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2024-05-18 (Sat, 18 May 2024)
Changed paths:
M flang/include/flang/Lower/AbstractConverter.h
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.h
M flang/lib/Lower/OpenMP/Decomposer.cpp
M flang/lib/Lower/OpenMP/Decomposer.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/test/Lower/OpenMP/Todo/omp-default-clause-inner-loop.f90
M flang/test/Lower/OpenMP/copyin.f90
M flang/test/Lower/OpenMP/critical.f90
M flang/test/Lower/OpenMP/default-clause.f90
M flang/test/Lower/OpenMP/hlfir-seqloop-parallel.f90
M flang/test/Lower/OpenMP/hlfir-wsloop.f90
M flang/test/Lower/OpenMP/lastprivate-iv.f90
M flang/test/Lower/OpenMP/parallel-lastprivate-clause-scalar.f90
M flang/test/Lower/OpenMP/parallel-private-clause-fixes.f90
M flang/test/Lower/OpenMP/parallel-private-clause.f90
M flang/test/Lower/OpenMP/parallel-reduction-allocatable-array.f90
M flang/test/Lower/OpenMP/parallel-reduction3.f90
M flang/test/Lower/OpenMP/parallel-wsloop-firstpriv.f90
M flang/test/Lower/OpenMP/parallel-wsloop.f90
M flang/test/Lower/OpenMP/stop-stmt-in-region.f90
M flang/test/Lower/OpenMP/target.f90
M flang/test/Lower/OpenMP/unstructured.f90
M flang/test/Lower/OpenMP/wsloop-collapse.f90
M flang/test/Lower/OpenMP/wsloop-monotonic.f90
M flang/test/Lower/OpenMP/wsloop-nonmonotonic.f90
M flang/test/Lower/OpenMP/wsloop-reduction-add-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-add-hlfir-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-add-hlfir.f90
M flang/test/Lower/OpenMP/wsloop-reduction-add.f90
M flang/test/Lower/OpenMP/wsloop-reduction-allocatable.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array-assumed-shape.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array2.f90
M flang/test/Lower/OpenMP/wsloop-reduction-iand-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-iand.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ieor-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ieor.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ior-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ior.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-and-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-and.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-or-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-or.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max-hlfir-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max-hlfir.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max.f90
M flang/test/Lower/OpenMP/wsloop-reduction-min-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-min.f90
M flang/test/Lower/OpenMP/wsloop-reduction-min2.f90
M flang/test/Lower/OpenMP/wsloop-reduction-mul-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-mul.f90
M flang/test/Lower/OpenMP/wsloop-reduction-multiple-clauses.f90
M flang/test/Lower/OpenMP/wsloop-variable.f90
M flang/test/Lower/OpenMP/wsloop.f90
Log Message:
-----------
[flang][OpenMP] Try to unify induction var privatization for OMP regions. (#91116)
Commit: 7b4dfec8936f54145297fd2f14bf95a2b8c95f5f
https://github.com/llvm/llvm-project/commit/7b4dfec8936f54145297fd2f14bf95a2b8c95f5f
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/test/MC/AsmParser/macro-irp.s
R llvm/test/MC/AsmParser/macro-rept-err1.s
R llvm/test/MC/AsmParser/macro-rept-err2.s
M llvm/test/MC/AsmParser/macro-rept.s
Log Message:
-----------
[MCAsmParser] Improve .rept/.irp tests
Commit: 2c2e0507e92bdb77a01828f899ff59e44492b537
https://github.com/llvm/llvm-project/commit/2c2e0507e92bdb77a01828f899ff59e44492b537
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2024-05-18 (Sat, 18 May 2024)
Changed paths:
M clang/lib/Analysis/ThreadSafetyCommon.cpp
M clang/test/SemaCXX/warn-thread-safety-analysis.cpp
Log Message:
-----------
[clang][ThreadSafety] Skip past implicit cast in `translateAttrExpr`
Ignore `ImplicitCastExpr` when building `AttrExp` for capability
attribute diagnostics.
Fixes: https://github.com/llvm/llvm-project/issues/92118.
Commit: f7b0b99c52ee36ed6ca8abcce74a752e483768d6
https://github.com/llvm/llvm-project/commit/f7b0b99c52ee36ed6ca8abcce74a752e483768d6
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-05-18 (Sat, 18 May 2024)
Changed paths:
M clang/include/clang/Serialization/ASTWriter.h
M clang/lib/Basic/SourceManager.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
Log Message:
-----------
[clang][NFC] Further improvements to const-correctness
Commit: 778826f0b8fb9f1a595ce8ab23faad6daa9466f5
https://github.com/llvm/llvm-project/commit/778826f0b8fb9f1a595ce8ab23faad6daa9466f5
Author: Thorsten Schütt <schuett at gmail.com>
Date: 2024-05-18 (Sat, 18 May 2024)
Changed paths:
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/combine-select.mir
Log Message:
-----------
[GlobalIsel] Combine select to integer min max more (#92570)
Commit: 4b62afca64a3f18cd57a3b3247330effd4b38098
https://github.com/llvm/llvm-project/commit/4b62afca64a3f18cd57a3b3247330effd4b38098
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-05-18 (Sat, 18 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86FlagsCopyLowering.cpp
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/X86/X86InstrInfo.h
A llvm/test/CodeGen/X86/apx/ccmp-flags-copy-lowering.mir
Log Message:
-----------
[X86][CodeGen] Support flags copy lowering for CCMP/CTEST (#91849)
```
%1:gr64 = COPY $eflags
OP1 may update eflags
$eflags = COPY %1
OP2 may use eflags
```
To use eflags as input at 4th instruction, we need to use SETcc to
preserve the eflags before 2, and update the source condition of OP2
according to value in GPR %1.
In this patch, we support CCMP/CTEST as OP2.
Commit: 33550b43f49a4e5b20e748936278e55f67e4b929
https://github.com/llvm/llvm-project/commit/33550b43f49a4e5b20e748936278e55f67e4b929
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-05-18 (Sat, 18 May 2024)
Changed paths:
M mlir/include/mlir/Analysis/CFGLoopInfo.h
M mlir/include/mlir/IR/Block.h
M mlir/lib/Analysis/CFGLoopInfo.cpp
M mlir/lib/IR/AsmPrinter.cpp
Log Message:
-----------
[mlir] Add operator<< for printing `Block` (#92550)
Turns out it was already in Analysis/CFGLoopInfo, so just move it
to IR/AsmPrinter.
Commit: e90126e0dd6f058e1602bb6c769dfa4c52d7ad47
https://github.com/llvm/llvm-project/commit/e90126e0dd6f058e1602bb6c769dfa4c52d7ad47
Author: Valentin Clement <clementval at gmail.com>
Date: 2024-05-18 (Sat, 18 May 2024)
Changed paths:
M flang/lib/Optimizer/Dialect/CUF/CMakeLists.txt
Log Message:
-----------
[flang][cuf] Add attr gen dependency to fix #92635
Commit: 58c778565cd64a69ea86e7e67e6a87fff3b0b224
https://github.com/llvm/llvm-project/commit/58c778565cd64a69ea86e7e67e6a87fff3b0b224
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-05-18 (Sat, 18 May 2024)
Changed paths:
M compiler-rt/lib/ctx_profile/CtxInstrProfiling.cpp
Log Message:
-----------
[nfc][ctx_profile] Fix printf - related `-Wformat-pedantic`
Commit: c5b11a710e01304908e3f320e40bc9da9f6a8de4
https://github.com/llvm/llvm-project/commit/c5b11a710e01304908e3f320e40bc9da9f6a8de4
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2024-05-18 (Sat, 18 May 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
A llvm/test/CodeGen/NVPTX/st-param-imm.ll
Log Message:
-----------
[NVPTX] support immediate values in st.param instructions (#91523)
Add support for generating `st.param` instructions with direct use of
immediates. This eliminates the need for a `mov` instruction prior to
the `st.param` resulting in more concise emitted PTX.
Commit: 577785c5ca78a9714584b5c99ec085f8aea0a5c0
https://github.com/llvm/llvm-project/commit/577785c5ca78a9714584b5c99ec085f8aea0a5c0
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-18 (Sat, 18 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanValue.h
Log Message:
-----------
[VPlan] Remove unused removeLastOperand (NFC).
The last use of the function has been removed a while ago. Remove the
unused function.
Commit: 003cebdaccc4ad3a3b6f9e177ee5049c8b6a9cbb
https://github.com/llvm/llvm-project/commit/003cebdaccc4ad3a3b6f9e177ee5049c8b6a9cbb
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-18 (Sat, 18 May 2024)
Changed paths:
M llvm/tools/dsymutil/MachODebugMapParser.cpp
Log Message:
-----------
[dsymutil] Use operator==(StringRef, StringRef) (NFC)
Commit: 8d3e1022c8883f2bfe9faccb82ce807c1cf4272c
https://github.com/llvm/llvm-project/commit/8d3e1022c8883f2bfe9faccb82ce807c1cf4272c
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-18 (Sat, 18 May 2024)
Changed paths:
M llvm/lib/DWARFLinker/Parallel/OutputSections.h
Log Message:
-----------
[DWARFLinker] Use an implicit conversion of SmallString to StringRef (NFC)
Commit: ba8a2ade84f4c1bfc531fe3673470377c038f31d
https://github.com/llvm/llvm-project/commit/ba8a2ade84f4c1bfc531fe3673470377c038f31d
Author: Jessica Clarke <jrtc27 at jrtc27.com>
Date: 2024-05-18 (Sat, 18 May 2024)
Changed paths:
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
Log Message:
-----------
[DXIL] Use consistent SmallVector parameters
Fixes: 060df78cdbbf70d5a6dfff3af1d435a5a811b886
Commit: 4c98f5b439ddd204d8ff1e423104215ebd0e1720
https://github.com/llvm/llvm-project/commit/4c98f5b439ddd204d8ff1e423104215ebd0e1720
Author: David Green <david.green at arm.com>
Date: 2024-05-18 (Sat, 18 May 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AArch64/frem-power2.ll
M llvm/test/CodeGen/ARM/frem-power2.ll
Log Message:
-----------
[DAG] Use copysign in frem power-2 fold. (#91751)
As a small addition to #91148, this uses copysign to produce the correct
sign for zero when converting frem to div/trunc/mul when we do not know
that the input is positive (and we care about sign bits). The copysign
lets us get the sign of zero correct.
In testing, the only case this produced different results than fmod was:
frem -inf, 4.0 -> nan vs -nan
Commit: c3677e45222a9461eed0224b99bd8ea19bc52bf6
https://github.com/llvm/llvm-project/commit/c3677e45222a9461eed0224b99bd8ea19bc52bf6
Author: David Green <david.green at arm.com>
Date: 2024-05-18 (Sat, 18 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/VectorCombine/X86/select-shuffle.ll
Log Message:
-----------
[VectorCombine] Don't transform single shuffles in shuffleToIdentity
This will help in later patches where the checks for operands being
instructions is removed, and might help not remove unnecessary poison lanes.
Commit: 597ac471cc7da97ccf957362a7e9f7a52d6910ee
https://github.com/llvm/llvm-project/commit/597ac471cc7da97ccf957362a7e9f7a52d6910ee
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/phi-labels.ll.expected
M llvm/test/tools/UpdateTestChecks/update_test_checks/phi-labels.test
M llvm/utils/UpdateTestChecks/asm.py
M llvm/utils/UpdateTestChecks/common.py
M llvm/utils/UpdateTestChecks/isel.py
M llvm/utils/update_analyze_test_checks.py
M llvm/utils/update_cc_test_checks.py
M llvm/utils/update_llc_test_checks.py
M llvm/utils/update_test_checks.py
Log Message:
-----------
update_test_checks: match IR basic block labels (#88979)
Labels are matched using a regexp of the form '^(pattern):', which
requires the addition of a "suffix" concept to NamelessValue.
Aside from that, the key challenge is that block labels are values, and
we typically capture values including the prefix '%'. However, when
labels appear at the start of a basic block, the prefix '%' is not
included, so we must capture block label values *without* the prefix
'%'.
We don't know ahead of time whether an IR value is a label or not. In
most cases, they are prefixed by the word "label" (their type), but this
isn't the case in phi nodes. We solve this issue by leveraging the
two-phase nature of variable generalization: the first pass finds all
occurences of a variable and determines whether the '%' prefix can be
included or not. The second pass does the actual substitution.
This change also unifies the generalization path for assembly with that
for IR and analysis, in the hope that any future changes avoid diverging
those cases future.
I also considered the alternative of trying to detect the phi node case
using more regular expression special cases but ultimately decided
against that because it seemed more fragile, and perhaps the approach of
keeping a tentative prefix that may later be discarded could also be
eventually applied to some metadata and attribute cases.
Note that an early version of this change was reviewed as
https://reviews.llvm.org/D142452, before version numbers were
introduced. This is a substantially updated version of that change.
Commit: d34be649af1aa849c21a5a0570617c3a89d5f0b8
https://github.com/llvm/llvm-project/commit/d34be649af1aa849c21a5a0570617c3a89d5f0b8
Author: Mingming Liu <mingmingl at google.com>
Date: 2024-05-18 (Sat, 18 May 2024)
Changed paths:
M llvm/lib/LTO/LTO.cpp
Log Message:
-----------
[ThinLTO]Sort imported GUIDs before cache key update (#92622)
Add 'sort' here since it's helpful when container type
changes (for example, https://github.com/llvm/llvm-project/pull/88024
wants to change container type from `unordered_set` to `DenseMap)
@MaskRay points out `std::` doesn't randomize the iteration order of
`unordered_{set,map}`, and the iteration order for single build is
deterministic.
Commit: 7b977e0f644c43232732e149b03d41de321d804e
https://github.com/llvm/llvm-project/commit/7b977e0f644c43232732e149b03d41de321d804e
Author: Mingming Liu <mingmingl at google.com>
Date: 2024-05-18 (Sat, 18 May 2024)
Changed paths:
M llvm/include/llvm/ProfileData/InstrProfWriter.h
M llvm/lib/ProfileData/InstrProfWriter.cpp
Log Message:
-----------
[nfc][InstrFDO]Encapsulate header writes in a class member function (#90142)
The smaller class member are more focused and easier to maintain. This
also paves the way for partial header forward compatibility in
https://github.com/llvm/llvm-project/pull/88212
---------
Co-authored-by: Kazu Hirata <kazu at google.com>
Commit: f87ed54e495eba7b9897654de4c17fbf101cb620
https://github.com/llvm/llvm-project/commit/f87ed54e495eba7b9897654de4c17fbf101cb620
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M compiler-rt/lib/ctx_profile/CMakeLists.txt
Log Message:
-----------
Reformat
Commit: 9d15fc0060b584141674dddfedb06b0b58ad7aae
https://github.com/llvm/llvm-project/commit/9d15fc0060b584141674dddfedb06b0b58ad7aae
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M compiler-rt/cmake/config-ix.cmake
M compiler-rt/lib/ctx_profile/CMakeLists.txt
Log Message:
-----------
Quick fix for a waning in clang_rt.ctx_profile [-Wgnu-anonymous-struct]
`__sanitizer_siginfo` has been introduced in D142117.
(llvmorg-16-init-17950-ged9ef9b4f248)
It is incompatible to -pedantic.
`clang_rt.ctx_profile` has been introduced in #92456.
Commit: b4ba3fe0068b2391e24ebf9a0ec6f56a8ac224b4
https://github.com/llvm/llvm-project/commit/b4ba3fe0068b2391e24ebf9a0ec6f56a8ac224b4
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
A llvm/lib/Target/AMDGPU/AMDGPUCodeGenPassBuilder.cpp
A llvm/lib/Target/AMDGPU/AMDGPUCodeGenPassBuilder.h
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h
M llvm/lib/Target/AMDGPU/CMakeLists.txt
A llvm/lib/Target/AMDGPU/R600CodeGenPassBuilder.cpp
A llvm/lib/Target/AMDGPU/R600CodeGenPassBuilder.h
M llvm/lib/Target/AMDGPU/R600TargetMachine.cpp
M llvm/lib/Target/AMDGPU/R600TargetMachine.h
Log Message:
-----------
[NewPM][AMDGPU] Add CodeGenPassBuilder (#91040)
In order to test SelectionDAG for target AMDGPU, we need
CodeGenPassBuilder.
Commit: ef890572f379273da09db964b9ea1b67aa324762
https://github.com/llvm/llvm-project/commit/ef890572f379273da09db964b9ea1b67aa324762
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/BUILD.gn
Log Message:
-----------
[gn build] Port b4ba3fe0068b
Commit: 9940620f6eab50deeaed0d976b2ea0afd007ba24
https://github.com/llvm/llvm-project/commit/9940620f6eab50deeaed0d976b2ea0afd007ba24
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-constbarrier-rv32.mir
A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-constbarrier-rv64.mir
Log Message:
-----------
[GISel][RISCV] Legalize G_CONSTANT_FOLD_BARRIER (#89960)
This patch supports `G_CONSTANT_FOLD_BARRIER` on RISCV to generate the
following inst seq without crash:
```
define i64 @xor_and_i64(i64 %x) {
entry:
%y = and i64 %x, 16383
%z = xor i64 %y, 16368
ret i64 %z
}
```
Commit: 8b8a38a7b426fc724804602d7635134a0c63f08c
https://github.com/llvm/llvm-project/commit/8b8a38a7b426fc724804602d7635134a0c63f08c
Author: David Green <david.green at arm.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M llvm/test/Transforms/VectorCombine/AArch64/shuffletoidentity.ll
Log Message:
-----------
[VectorCombine] Additional extend tests for shuffleToIdentity. NFC
Commit: 689bba1eec31fa236e2febaa4bcf46bc89ba432b
https://github.com/llvm/llvm-project/commit/689bba1eec31fa236e2febaa4bcf46bc89ba432b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Log Message:
-----------
[DAG] canCreateUndefOrPoison - merge INSERT_VECTOR_ELT/EXTRACT_VECTOR_ELT cases. NFC.
The only difference is the operand index for the element index variable.
Commit: 7fc524fe080a69e79bd1ce8925e680350b7e9d44
https://github.com/llvm/llvm-project/commit/7fc524fe080a69e79bd1ce8925e680350b7e9d44
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M compiler-rt/test/ctx_profile/TestCases/generate-context.cpp
M compiler-rt/test/ctx_profile/lit.cfg.py
Log Message:
-----------
[ctx_profile] Pass lib path into test
Fixes build after cfe9deb1353021a1c1fe4731ec3e90f702dbd43d on
https://lab.llvm.org/buildbot/#/builders/37/builds/34828
Commit: e0217ee7829cf49bc0caa8b814f6acc4c4b0836d
https://github.com/llvm/llvm-project/commit/e0217ee7829cf49bc0caa8b814f6acc4c4b0836d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
A llvm/test/CodeGen/X86/pr92569.ll
Log Message:
-----------
[DAG] canCreateUndefOrPoison - only compute extract/index vector elt index knownbits when not poison
We were calling computeKnownBits to determine the bounds of the element index without ensuring that it wasn't poison, meaning if we did freeze the index, isGuaranteedNotToBeUndefOrPoison would then fail as we can't call computeKnownBits through FREEZE for potentially poison values.
Fixes #92569
Commit: 9f5c8de3864b0be27a8b36cd891c5a28a3acfd27
https://github.com/llvm/llvm-project/commit/9f5c8de3864b0be27a8b36cd891c5a28a3acfd27
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[DAG] visitAVG - rewrite "fold (avgfloor x, 0) -> x >> 1" to use SDPatternMatch
No need for this to be vector specific, and its more likely that scalar cases will appear after #92096
Commit: 7273ad123850a7b44c0625d098ebb49153bf855a
https://github.com/llvm/llvm-project/commit/7273ad123850a7b44c0625d098ebb49153bf855a
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[DAG] visitABD - rewrite "(abs x, 0)" folds to use SDPatternMatch
No need for this to be vector specific, and its more likely that scalar cases will appear after #92576
Commit: ed9007d0d219726db01f211e9c9ab72fbfe4ecb1
https://github.com/llvm/llvm-project/commit/ed9007d0d219726db01f211e9c9ab72fbfe4ecb1
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/test/Sema/attr-counted-by-vla.c
Log Message:
-----------
Revert "[Bounds-Safety] Temporarily relax a `counted_by` attribute restriction on flexible array members"
Together with 0ec3b972e58bcbcdc1bebe1696ea37f2931287c3
breaks https://lab.llvm.org/buildbot/#/builders/5/builds/43403
Issue #92687
This reverts commit cef6387e52578366c2332275dad88b9953b55336.
Commit: 6447abe067c8088a5cc093fe872719374e174068
https://github.com/llvm/llvm-project/commit/6447abe067c8088a5cc093fe872719374e174068
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/Type.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/Type.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseObjc.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/TreeTransform.h
R clang/test/AST/attr-counted-by-late-parsed-struct-ptrs.c
R clang/test/AST/attr-counted-by-struct-ptrs.c
R clang/test/Sema/attr-counted-by-late-parsed-off.c
R clang/test/Sema/attr-counted-by-late-parsed-struct-ptrs.c
R clang/test/Sema/attr-counted-by-struct-ptrs-sizeless-types.c
R clang/test/Sema/attr-counted-by-struct-ptrs.c
R clang/test/Sema/attr-counted-by-vla-sizeless-types.c
R clang/test/Sema/attr-counted-by-vla.c
A clang/test/Sema/attr-counted-by.c
Log Message:
-----------
Revert "[BoundsSafety] Allow 'counted_by' attribute on pointers in structs in C (#90786)"
Memory leak: https://lab.llvm.org/buildbot/#/builders/5/builds/43403
Issue #92687
This reverts commit 0ec3b972e58bcbcdc1bebe1696ea37f2931287c3.
Commit: c587483da0b50efa04146fde205da1d16731e12e
https://github.com/llvm/llvm-project/commit/c587483da0b50efa04146fde205da1d16731e12e
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M clang/test/Misc/pragma-attribute-supported-attributes-list.test
Log Message:
-----------
Revert "[Bounds-Safety] Fix `pragma-attribute-supported-attributes-list.test`"
Issue #92687
This reverts commit 112eadd55f06bee15caadff688ea0b45acbfa804.
Commit: 10edb4991c12738e60843d55cd9edbf6d702d9eb
https://github.com/llvm/llvm-project/commit/10edb4991c12738e60843d55cd9edbf6d702d9eb
Author: Alex Voicu <alexandru.voicu at amd.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M clang/lib/CodeGen/CGException.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenTypeCache.h
M clang/test/CodeGenCXX/dynamic-cast-address-space.cpp
M clang/test/CodeGenCXX/eh.cpp
M clang/test/CodeGenCXX/nrvo.cpp
M clang/test/CodeGenCXX/template-param-objects-address-space.cpp
M clang/test/CodeGenCXX/throw-expression-typeinfo-in-address-space.cpp
M clang/test/CodeGenCXX/try-catch-with-address-space.cpp
M clang/test/CodeGenCXX/typeid-cxx11-with-address-space.cpp
M clang/test/CodeGenCXX/typeid-with-address-space.cpp
M clang/test/CodeGenCXX/typeinfo-with-address-space.cpp
M clang/test/CodeGenCXX/vtable-assume-load-address-space.cpp
M clang/test/CodeGenCXX/vtable-pointer-initialization-address-space.cpp
M clang/test/CodeGenCXX/vtt-address-space.cpp
M clang/test/CodeGenCXX/wasm-eh.cpp
M llvm/examples/ExceptionDemo/ExceptionDemo.cpp
M llvm/include/llvm/IR/Intrinsics.td
M llvm/test/CodeGen/WebAssembly/lower-em-exceptions.ll
M llvm/test/Transforms/GVNHoist/infinite-loop-indirect.ll
M llvm/test/Transforms/Inline/inline_invoke.ll
M llvm/test/Transforms/LICM/scalar-promote-unwind.ll
M llvm/test/Transforms/LowerTypeTests/cfi-unwind-direct-call.ll
M llvm/test/Transforms/NewGVN/2011-09-07-TypeIdFor.ll
M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
M mlir/test/Target/LLVMIR/Import/intrinsic.ll
M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir
Log Message:
-----------
[Clang][CodeGen] Start migrating away from assuming the Default AS is 0 (#88182)
At the moment, Clang is rather liberal in assuming that 0 (and by extension unqualified) is always a safe default. This does not work for targets that actually use a different value for the default / generic AS (for example, the SPIRV that obtains from HIPSPV or SYCL). This patch is a first, fairly safe step towards trying to clear things up by querying a modules' default AS from the target, rather than assuming it's 0, alongside fixing a few places where things break / we encode the 0 == DefaultAS assumption. A bunch of existing tests are extended to check for non-zero default AS usage.
Commit: 0c7d268ba72767b70c7bf0bc8ae6422c509f94d8
https://github.com/llvm/llvm-project/commit/0c7d268ba72767b70c7bf0bc8ae6422c509f94d8
Author: aengelke <engelke at in.tum.de>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
Log Message:
-----------
[CodeGen][SDAG] Skip preferred extend at O0 (#92643)
This is a pure optimization to avoid redundant extensions, but iterating
over all users is expensive, so don't do this at -O0.
Commit: 9e4ef0dee18c0c99325e8d56f16c149020e89d37
https://github.com/llvm/llvm-project/commit/9e4ef0dee18c0c99325e8d56f16c149020e89d37
Author: aengelke <engelke at in.tum.de>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
Log Message:
-----------
[CodeGen][SDAG] Track returntwice in lowering info (#92640)
This saves an extra iteration over the all instructions of the function.
Commit: eab92cb7f33be16a6a17549182e9237112b7a183
https://github.com/llvm/llvm-project/commit/eab92cb7f33be16a6a17549182e9237112b7a183
Author: Nhat Nguyen <nhat7203 at gmail.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M llvm/include/llvm/Support/KnownBits.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/Support/KnownBits.cpp
M llvm/unittests/Support/KnownBitsTest.cpp
Log Message:
-----------
[llvm] Add KnownBits implementations for avgFloor and avgCeil (#86445)
This PR is to address the issue #84640
Commit: c1c1567d60983298a0db0efefd78899985464f19
https://github.com/llvm/llvm-project/commit/c1c1567d60983298a0db0efefd78899985464f19
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
M llvm/test/Transforms/InstCombine/pow-to-ldexp.ll
Log Message:
-----------
SimplifyLibCalls: Permit pow(2, x) -> ldexp(1, x) fold for vectors (#92532)
Commit: b050048d35f6580fb427e6de9063444aa85625c6
https://github.com/llvm/llvm-project/commit/b050048d35f6580fb427e6de9063444aa85625c6
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/masked-call.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll
M llvm/test/Transforms/LoopVectorize/RISCV/uniform-load-store.ll
M llvm/test/Transforms/LoopVectorize/uniform-blend.ll
M llvm/test/Transforms/LoopVectorize/unused-blend-mask-for-first-operand.ll
M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll
Log Message:
-----------
[VPlan] Simplify (X && Y) || (X && !Y) -> X. (#89386)
Simplify a common pattern generated for masks when folding the tail.
PR: https://github.com/llvm/llvm-project/pull/89386
Commit: 643f36184bd3d9a95cbfd608af6f1cccc69e0187
https://github.com/llvm/llvm-project/commit/643f36184bd3d9a95cbfd608af6f1cccc69e0187
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
A clang/docs/HLSL/AvailabilityDiagnostics.rst
M clang/docs/HLSL/HLSLDocs.rst
Log Message:
-----------
HLSL availability diagnostics design doc (#92207)
Design document for the HLSL availability diagnostic modes
Fixes microsoft/hlsl-specs#190
---------
Co-authored-by: Xiang Li <python3kgae at outlook.com>
Commit: c34079c9455515fd1eb4feaa7613a57e88b7209d
https://github.com/llvm/llvm-project/commit/c34079c9455515fd1eb4feaa7613a57e88b7209d
Author: Isaac David <61389980+orion160 at users.noreply.github.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M llvm/docs/ORCv2.rst
Log Message:
-----------
[DOCS] ORCv2.rst Typo (#89482)
Commit: 3f33c4c14e79e68007cf1460e4a0e606eb199da5
https://github.com/llvm/llvm-project/commit/3f33c4c14e79e68007cf1460e4a0e606eb199da5
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/ParsedAttr.h
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/DeclBase.cpp
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/lib/Index/CommentToXML.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Sema/SemaAPINotes.cpp
M clang/lib/Sema/SemaAvailability.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/test/Parser/attr-availability.c
M clang/test/Sema/attr-availability-ios.c
A clang/test/SemaHLSL/Availability/attr-availability-compute.hlsl
A clang/test/SemaHLSL/Availability/attr-availability-errors.hlsl
A clang/test/SemaHLSL/Availability/attr-availability-mesh.hlsl
A clang/test/SemaHLSL/Availability/attr-availability-pixel.hlsl
R clang/test/SemaHLSL/AvailabilityMarkup.hlsl
M clang/test/SemaHLSL/WaveBuiltinAvailability.hlsl
Log Message:
-----------
[Clang][HLSL] Add environment parameter to availability attribute (#89809)
Add `environment` parameter to Clang availability attribute. The allowed
values for this parameter are a subset of values allowed in the
`llvm::Triple` environment component. If the `environment` parameters is
present, the declared availability attribute applies only to targets
with the same platform and environment.
This new parameter will be initially used for annotating HLSL functions
for the `shadermodel` platform because in HLSL built-in function
availability can depend not just on the shader model version (mapped to
`llvm::Triple::OSType`) but also on the target shader stage (mapped to
`llvm::Triple::EnvironmentType`). See example in #89802 and
microsoft/hlsl-specs#204 for more details.
The environment parameter is currently supported only for HLSL.
Fixes #89802
Commit: 0cd2bf3521a52f255c2b0d466f2f48f15d4a89a9
https://github.com/llvm/llvm-project/commit/0cd2bf3521a52f255c2b0d466f2f48f15d4a89a9
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-fdiv.ll
M llvm/test/Transforms/Attributor/nofpclass.ll
M llvm/test/Transforms/InstCombine/and-fcmp.ll
M llvm/test/Transforms/InstCombine/or-fcmp.ll
Log Message:
-----------
ValueTracking: Correct undef handling for constant FP vectors (#92557)
Treat undef as unknown, and poison as ignorable.
Commit: 878642954f5178c55b337afe2bff4e6a92a67a5b
https://github.com/llvm/llvm-project/commit/878642954f5178c55b337afe2bff4e6a92a67a5b
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M bolt/lib/Passes/BinaryPasses.cpp
M bolt/test/X86/bb-with-two-tail-calls.s
Log Message:
-----------
[BOLT] Fix preserved offset in fixDoubleJumps (#92485)
Commit: fb2c6597e39e9e1a775525ea0236b2f89e46acff
https://github.com/llvm/llvm-project/commit/fb2c6597e39e9e1a775525ea0236b2f89e46acff
Author: Leon Clark <PeddleSpam at users.noreply.github.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ctlz-zero-undef.mir
M llvm/test/CodeGen/AMDGPU/ctlz_zero_undef.ll
Log Message:
-----------
[AMDGPU] Use LSH for lowering ctlz_zero_undef.i8/i16 (#88512)
Use LSH to lower ctlz_zero_undef instead of subtracting leading zeros
for i8 and i16.
Related to [77615](https://github.com/llvm/llvm-project/pull/77615).
---------
Co-authored-by: Leon Clark <leoclark at amd.com>
Commit: ad625a407622ba5817ef58e30357139a40cf929e
https://github.com/llvm/llvm-project/commit/ad625a407622ba5817ef58e30357139a40cf929e
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M llvm/utils/TableGen/ARMTargetDefEmitter.cpp
Log Message:
-----------
[TableGen] Avoid std::string copy. NFC
Fix #92702
Commit: 7892d434741ba0ac755e00ae96ca7cdcfaf82d35
https://github.com/llvm/llvm-project/commit/7892d434741ba0ac755e00ae96ca7cdcfaf82d35
Author: Ryuichi Watanabe <ryucrosskey at gmail.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M .github/workflows/llvm-bugs.yml
Log Message:
-----------
Update llvm-bugs.yml (#77243)
Commit: b603237b6c067e82a7c6b73adb7e18c8edfb40dd
https://github.com/llvm/llvm-project/commit/b603237b6c067e82a7c6b73adb7e18c8edfb40dd
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M llvm/lib/Option/OptTable.cpp
M llvm/lib/ProfileData/InstrProfCorrelator.cpp
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
Log Message:
-----------
[llvm] Use operator==(StringRef, StringRef) (NFC) (#92705)
Commit: 2d5e488c98225108aebfe4aa4acfe6ec1f234a37
https://github.com/llvm/llvm-project/commit/2d5e488c98225108aebfe4aa4acfe6ec1f234a37
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M clang/unittests/Format/SortIncludesTest.cpp
Log Message:
-----------
[clang-format][NFC] Clean up SortIncludesTest.cpp
Wherever applicable, replace EXPECT_EQ with verifyFormat and std::string
with StringRef. Also, change a raw string literal to a regular one.
Commit: 2f52bbeb6f6f3b7abef19cb5297773d95aa0b434
https://github.com/llvm/llvm-project/commit/2f52bbeb6f6f3b7abef19cb5297773d95aa0b434
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M mlir/lib/Dialect/SparseTensor/IR/Detail/LvlTypeParser.cpp
Log Message:
-----------
[mlir] Use operator==(StringRef, StringRef) (NFC) (#92706)
Commit: 5d3f296733b66281a53dd451a983e69ae0bb482f
https://github.com/llvm/llvm-project/commit/5d3f296733b66281a53dd451a983e69ae0bb482f
Author: Mingming Liu <mingmingl at google.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M llvm/include/llvm/Transforms/Utils/CallPromotionUtils.h
M llvm/lib/Transforms/Utils/CallPromotionUtils.cpp
M llvm/unittests/Transforms/Utils/CallPromotionUtilsTest.cpp
Log Message:
-----------
[CallPromotionUtils]Implement conditional indirect call promotion with vtable-based comparison (#81378)
* Given the code sequence
```
bb:
%vtable = load ptr, ptr %d, !prof !8
%vfn = getelementptr inbounds ptr, ptr %vtable, i64 1
%1 = load ptr, ptr %vfn
%call = tail call i32 %1(ptr %d), !prof !9
```
The transformation looks like
```
bb:
%vtable = load ptr, ptr %d, align 8
%vfn = getelementptr inbounds i8, ptr %vtable, i64 8 <-- Inst 1
%func-addr = load ptr, ptr %vfn, align 8 <-- Inst 2
# compare loaded pointers with address point of vtables
%1 = icmp eq ptr %vtable, getelementptr inbounds (i8, ptr @_ZTV<VTable>,
i32 16)
br i1 %1, label %if.true.direct_targ, label %if.false.orig_indirect,
!prof !18
if.true.direct_targ: ; preds = %bb
%2 = tail call i32 @<direct-call>(ptr nonnull %d)
br label %if.end.icp
if.false.orig_indirect: ; preds = %bb
%call = tail call i32 %func-addr(ptr nonnull %d)
br label %if.end.icp
if.end.icp: ; preds = %if.false.orig_indirect, %if.true.direct_targ
%4 = phi i32 [ %call, %if.false.orig_indirect ], [ %2,
%if.true.direct_targ ]
```
It's intentional that `Inst 1` and `Inst2` remains in `bb` (not in
`if.false.orig_indirect`). A follow up patch will implement code to sink
them (something like how `instcombine` would
[sink](https://github.com/llvm/llvm-project/blob/2fcfc9754a16805b81e541dc8222a8b5cf17a121/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp#L4293)
instructions along with [debug
intrinsics](https://github.com/llvm/llvm-project/blob/2fcfc9754a16805b81e541dc8222a8b5cf17a121/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp#L4356-L4368)
if possible)
* The parent patch is https://github.com/llvm/llvm-project/pull/81181
Commit: d102ee63e849cdaa586fd1aaae900c1399bf2b76
https://github.com/llvm/llvm-project/commit/d102ee63e849cdaa586fd1aaae900c1399bf2b76
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M clang-tools-extra/modularize/ModularizeUtilities.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/utils/TableGen/ClangAttrEmitter.cpp
Log Message:
-----------
[clang] Use operator==(StringRef, StringRef) (NFC) (#92708)
Commit: 0bced10f290bb96d675874a89f1b6789a2384e30
https://github.com/llvm/llvm-project/commit/0bced10f290bb96d675874a89f1b6789a2384e30
Author: Freddy Ye <freddy.ye at intel.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
A llvm/test/CodeGen/X86/vec-strict-cmp-512-skx.ll
Log Message:
-----------
[SDAG][X86] Extend SplitVecOp_VSETCC for STRICT_FSETCC. (#92509)
Commit: 89d0937348ebd4b55f17d503910be9300aa44a13
https://github.com/llvm/llvm-project/commit/89d0937348ebd4b55f17d503910be9300aa44a13
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M llvm/lib/IR/Mangler.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/TextAPI/Utils.cpp
Log Message:
-----------
[llvm] Use StringRef::contains (NFC) (#92710)
Commit: fc0144a30cf20d6405411da141d11bfde143d3d2
https://github.com/llvm/llvm-project/commit/fc0144a30cf20d6405411da141d11bfde143d3d2
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M clang/lib/Serialization/ASTReaderDecl.cpp
A clang/test/Modules/pr91418.cppm
M clang/test/OpenMP/nvptx_lambda_capturing.cpp
Log Message:
-----------
[Serialization] Read the initializer for interesting static variables before consuming it (#92353)
Close https://github.com/llvm/llvm-project/issues/91418
Since we load the variable's initializers lazily, it'd be problematic if
the initializers dependent on each other. So here we try to load the
initializers of static variables to make sure they are passed to code
generator by order. If we read any thing interesting, we would consume
that before emitting the current declaration.
Commit: 91423d71938d7a1dba27188e6d854148a750a3dd
https://github.com/llvm/llvm-project/commit/91423d71938d7a1dba27188e6d854148a750a3dd
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M bolt/lib/Profile/YAMLProfileReader.cpp
A bolt/test/X86/yaml-non-simple.test
Log Message:
-----------
[BOLT][NFC] Don't assign YAML profile to functions with no CFG (#92487)
YAML profile for non-simple functions without CFG is
1) useless for optimizations,
2) can't be attached, similar to fdata profile,
3) would be reported as invalid/stale even if the profile is valid.
Don't attempt to attach the profile in this case, aligning the behavior
to DataReader.
Test Plan: added yaml-non-simple.test
Commit: 6bf1601a0d9a01fe663442096466d46800483e0c
https://github.com/llvm/llvm-project/commit/6bf1601a0d9a01fe663442096466d46800483e0c
Author: Monad <yanwqmonad at gmail.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/test/Transforms/InstCombine/cast_ptr.ll
Log Message:
-----------
[InstCombine] Fold pointer adding in integer to arithmetic add (#91596)
Fold
``` llvm
define i32 @src(i32 %x, i32 %y) {
%base = inttoptr i32 %x to ptr
%ptr = getelementptr inbounds i8, ptr %base, i32 %y
%r = ptrtoint ptr %ptr to i32
ret i32 %r
}
```
where both `%base` and `%ptr` have only one use, to
``` llvm
define i32 @tgt(i32 %x, i32 %y) {
%r = add i32 %x, %y
ret i32 %r
}
```
The `add` can be `nuw` if the GEP is `inbounds` and the offset is
non-negative. The relevant Alive2 proof is
https://alive2.llvm.org/ce/z/nP3RWy.
### Motivation
It seems unnecessary to convert `int` to `ptr` just to get its offset.
In most cases, they generates the same assembly, but sometimes it may
miss some optimizations since the analysis of `GEP` is not as perfect as
that of arithmetic operation. One example is
https://github.com/dtcxzyw/llvm-opt-benchmark/blob/e3c822bf41df3a88ca38eba884a52b0cc7e70bf2/bench/protobuf/optimized/generated_message_reflection.cc.ll#L39860-L39873
``` llvm
%conv.i188 = zext i32 %145 to i64
%add.i189 = add i64 %conv.i188, %125
%146 = load i16, ptr %num_aux_entries10.i, align 2
%conv2.i191 = zext i16 %146 to i64
%mul.i192 = shl nuw nsw i64 %conv2.i191, 3
%add3.i193 = add i64 %add.i189, %mul.i192
%147 = inttoptr i64 %add3.i193 to ptr
%sub.ptr.lhs.cast.i195 = ptrtoint ptr %144 to i64
%sub.ptr.rhs.cast.i196 = ptrtoint ptr %143 to i64
%sub.ptr.sub.i197 = sub i64 %sub.ptr.lhs.cast.i195, %sub.ptr.rhs.cast.i196
%add.ptr = getelementptr inbounds i8, ptr %147, i64 %sub.ptr.sub.i197
%sub.ptr.lhs.cast = ptrtoint ptr %add.ptr to i64
%sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %125
```
where `%conv.i188` first adds `%125` and then subtracts `%125` (the
result is `%sub.ptr.sub`), which can be optimized.
Commit: ebbbc73667a68dcfbe09392a1d34050592b234fd
https://github.com/llvm/llvm-project/commit/ebbbc73667a68dcfbe09392a1d34050592b234fd
Author: Chaitanya <Krishna.Sankisa at amd.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
Log Message:
-----------
[AMDGPU] Use removeFnAttrFromReachable in lower-module-lds pass. (#92686)
Commit: f6527774569790b5a5236f6e84f3f839ce6c2fff
https://github.com/llvm/llvm-project/commit/f6527774569790b5a5236f6e84f3f839ce6c2fff
Author: Austin Kerbow <Austin.Kerbow at amd.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/preload-kernargs.ll
Log Message:
-----------
[AMDGPU] Fix kernarg preloading crash with some types and alignments (#91625)
Lowering of preloded arguments would fail with half/bfloat if they were
dword aligned in the kernarg segment and not part of a vector. Added
more tests with different alignments and types.
Commit: 8de7890572296830b27b6e6db39b36810bc98c31
https://github.com/llvm/llvm-project/commit/8de7890572296830b27b6e6db39b36810bc98c31
Author: Mingming Liu <mingmingl at google.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/include/llvm/Transforms/IPO/FunctionImport.h
M llvm/lib/LTO/LTO.cpp
M llvm/lib/LTO/LTOBackend.cpp
M llvm/lib/Transforms/IPO/FunctionImport.cpp
M llvm/test/ThinLTO/X86/funcimport-stats.ll
A llvm/test/ThinLTO/X86/import_callee_declaration.ll
M llvm/test/Transforms/FunctionImport/funcimport.ll
M llvm/tools/llvm-link/llvm-link.cpp
Log Message:
-----------
[ThinLTO] Populate declaration import status except for distributed ThinLTO under a default-off new option (#88024)
The goal is to populate `declaration` import status if a new flag`-import-declaration` is on.
* For in-process ThinLTO, the `declaration` status is visible to backend
`function-import` pass, so `FunctionImporter::importFunctions` should
read the import status and be no-op for declaration summaries.
Basically, the postlink pipeline is updated to keep its current behavior
(import definitions), but not updated to handle `declaration` summaries.
Two use cases (better call-graph sort and cross-module auto-init)
would use this bit differently.
* For distributed ThinLTO, the `declaration` status is not serialized to
bitcode. As discussed, https://github.com/llvm/llvm-project/pull/87600
will do this.
[1] https://discourse.llvm.org/t/rfc-for-better-call-graph-sort-build-a-more-complete-call-graph-by-adding-more-indirect-call-edges/74029#support-cross-module-function-declaration-import-5
[2] https://github.com/llvm/llvm-project/pull/87597#discussion_r1556067195
Commit: d316a0bd48ceb4a0ee851d729291a2cdcc8818eb
https://github.com/llvm/llvm-project/commit/d316a0bd48ceb4a0ee851d729291a2cdcc8818eb
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M clang/include/clang/Serialization/ASTWriter.h
M clang/lib/Serialization/ASTCommon.h
M clang/lib/Serialization/ASTWriter.cpp
Log Message:
-----------
[NFC] Remove unused ASTWriter::getTypeID
As the title suggests, the `ASTWriter:getTypeID` method is not used.
This patch removes it.
Commit: b6e102e08cd35543175459494211a3a15f793302
https://github.com/llvm/llvm-project/commit/b6e102e08cd35543175459494211a3a15f793302
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/include/llvm/Analysis/ConstantFolding.h
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/test/Analysis/ScalarEvolution/exhaustive-trip-counts.ll
Log Message:
-----------
[SCEV] Don't use non-deterministic constant folding for trip counts (#90942)
When calculating the exit count exhaustively, if any of the involved
operations is non-deterministic, the exit count we compute at
compile-time and the exit count at run-time may differ. Using these
non-deterministic constant folding results is only correct if we
actually replace all uses of the instruction with the value. SCEV (or
its consumers) generally don't do this.
Handle this by adding a new AllowNonDeterministic flag to the constant
folding API, and disabling it in SCEV. If non-deterministic results are
not allowed, do not fold FP lib calls in general, and FP operations
returning NaNs in particular. This could be made more precise (some FP
libcalls like fabs are fully deterministic), but I don't think this that
precise handling here is worthwhile.
Fixes the interesting part of
https://github.com/llvm/llvm-project/issues/89885.
Commit: 6b0733e3a35350679ea9c6056ecd28652d99017f
https://github.com/llvm/llvm-project/commit/6b0733e3a35350679ea9c6056ecd28652d99017f
Author: Mingming Liu <mingmingl at google.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/include/llvm/Transforms/IPO/FunctionImport.h
M llvm/lib/LTO/LTO.cpp
M llvm/lib/LTO/LTOBackend.cpp
M llvm/lib/Transforms/IPO/FunctionImport.cpp
M llvm/test/ThinLTO/X86/funcimport-stats.ll
R llvm/test/ThinLTO/X86/import_callee_declaration.ll
M llvm/test/Transforms/FunctionImport/funcimport.ll
M llvm/tools/llvm-link/llvm-link.cpp
Log Message:
-----------
Revert "[ThinLTO] Populate declaration import status except for distributed ThinLTO under a default-off new option" (#92715)
Reverts llvm/llvm-project#88024
Build bot failures
(https://lab.llvm.org/buildbot/#/builders/259/builds/4727 and
https://lab.llvm.org/buildbot/#/builders/9/builds/43876)
Commit: 32ae9a28a54f59f2b4e2f32323f53fb107ea1f85
https://github.com/llvm/llvm-project/commit/32ae9a28a54f59f2b4e2f32323f53fb107ea1f85
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/CodeGen/ParallelCG.cpp
M llvm/lib/LTO/LTOBackend.cpp
Log Message:
-----------
[llvm] Use SmallString::str (NFC) (#92712)
Commit: 7529fe2e92e79eef22a528a7168e4dd777d6e9bd
https://github.com/llvm/llvm-project/commit/7529fe2e92e79eef22a528a7168e4dd777d6e9bd
Author: Jessica Clarke <jrtc27 at jrtc27.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
Log Message:
-----------
[AMDGPU] Only set Info.memVT when not later overridden (#92670)
For the amdgcn_*_buffer_load_lds intrinsics this field is later
overriden, so avoid pointlessly calling MVT::getVT in that case.
Importantly, this is also the only case I can find in tree where a
PointerType is passed to MVT::getVT, so this will allow us to forbid
doing so in future, keeping MVT::iPTR as originating solely from
TableGen as was claimed next to its definition in MachineValueType.h
(but lost in the autogeneration conversion).
Commit: 9500a5d02e23f9b43294e5f662ac099f8989c0e4
https://github.com/llvm/llvm-project/commit/9500a5d02e23f9b43294e5f662ac099f8989c0e4
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M clang/tools/driver/cc1as_main.cpp
M llvm/include/llvm/MC/MCStreamer.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
M llvm/lib/MC/MCDwarf.cpp
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/MCStreamer.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
M llvm/test/MC/AsmParser/assembler-expressions-inlineasm.ll
M llvm/tools/llvm-mc/llvm-mc.cpp
M llvm/tools/llvm-ml/llvm-ml.cpp
Log Message:
-----------
[MC] Make UseAssemblerInfoForParsing mostly true
Commit 6c0665e22174d474050e85ca367424f6e02476be
(https://reviews.llvm.org/D45164) enabled certain constant expression
evaluation for `MCObjectStreamer` at parse time (e.g. `.if` directives,
see llvm/test/MC/AsmParser/assembler-expressions.s).
`getUseAssemblerInfoForParsing` was added to make `clang -c` handling
inline assembly similar to `MCAsmStreamer` (e.g. `llvm-mc -filetype=asm`),
where such expression folding (related to
`AttemptToFoldSymbolOffsetDifference`) is unavailable.
I believe this is overly conservative. We can make some parse-time
expression folding work for `clang -c` even if `clang -S` would still
report an error, a MCAsmStreamer issue (we cannot print `.if`
directives) that should not restrict the functionality of
MCObjectStreamer.
```
% cat b.cc
asm(R"(
.pushsection .text,"ax"
.globl _start; _start: ret
.if . -_start == 1
ret
.endif
.popsection
)");
% gcc -S b.cc && gcc -c b.cc
% clang -S -fno-integrated-as b.cc # succeeded
% clang -c b.cc # succeeded with this patch
% clang -S b.cc # still failed
<inline asm>:4:5: error: expected absolute expression
4 | .if . -_start == 1
| ^
1 error generated.
```
However, removing `getUseAssemblerInfoForParsing` would make
MCDwarfFrameEmitter::Emit (for .eh_frame FDE) slow (~4% compile time
regression for sqlite3.c amalgamation) due to expensive
`AttemptToFoldSymbolOffsetDifference`. For now, make
`UseAssemblerInfoForParsing` false in MCDwarfFrameEmitter::Emit.
Close #62520
Link: https://discourse.llvm.org/t/rfc-clang-assembly-object-equivalence-for-files-with-inline-assembly/78841
Pull Request: https://github.com/llvm/llvm-project/pull/91082
Commit: 082377d81eb9a8078696dfa3f2d114559f8f4d77
https://github.com/llvm/llvm-project/commit/082377d81eb9a8078696dfa3f2d114559f8f4d77
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M .github/workflows/issue-release-workflow.yml
M .github/workflows/issue-subscriber.yml
M .github/workflows/llvm-bugs.yml
M .github/workflows/merged-prs.yml
M .github/workflows/new-prs.yml
M .github/workflows/pr-request-release-note.yml
M .github/workflows/pr-subscriber.yml
M .github/workflows/release-binaries.yml
M .github/workflows/version-check.yml
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Passes/BinaryPasses.cpp
M bolt/lib/Passes/Instrumentation.cpp
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Profile/YAMLProfileReader.cpp
M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
M bolt/test/X86/bb-with-two-tail-calls.s
A bolt/test/X86/yaml-non-simple.test
M clang-tools-extra/clang-query/CMakeLists.txt
M clang-tools-extra/clang-query/Query.cpp
M clang-tools-extra/clang-query/Query.h
M clang-tools-extra/clang-query/QueryParser.cpp
M clang-tools-extra/clang-query/QuerySession.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/modularize/ModularizeUtilities.cpp
M clang-tools-extra/unittests/clang-query/QueryParserTest.cpp
M clang/cmake/caches/HLSL.cmake
A clang/docs/HLSL/AvailabilityDiagnostics.rst
M clang/docs/HLSL/HLSLDocs.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/tools/clang-formatted-files.txt
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/SourceManager.h
M clang/include/clang/Basic/arm_sme.td
M clang/include/clang/Lex/LiteralSupport.h
M clang/include/clang/Lex/Preprocessor.h
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/ParsedAttr.h
M clang/include/clang/Sema/Sema.h
A clang/include/clang/Sema/SemaCodeCompletion.h
M clang/include/clang/Serialization/ASTWriter.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallDescription.h
R clang/include/clang/Tooling/NodeIntrospection.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclBase.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/Analysis/ThreadSafetyCommon.cpp
M clang/lib/Basic/SourceManager.cpp
M clang/lib/CodeGen/CGException.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CGExprConstant.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenTypeCache.h
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/ExtractAPI/DeclarationFragments.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/lib/Index/CommentToXML.cpp
M clang/lib/Lex/LiteralSupport.cpp
M clang/lib/Lex/PPLexerChange.cpp
M clang/lib/Lex/PPMacroExpansion.cpp
M clang/lib/Parse/ParseCXXInlineMethods.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseExprCXX.cpp
M clang/lib/Parse/ParseInit.cpp
M clang/lib/Parse/ParseObjc.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Parse/ParsePragma.cpp
M clang/lib/Parse/ParseStmt.cpp
M clang/lib/Parse/ParseTemplate.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaAPINotes.cpp
M clang/lib/Sema/SemaAvailability.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaCodeComplete.cpp
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Serialization/ASTCommon.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/lib/StaticAnalyzer/Core/CallDescription.cpp
M clang/lib/Tooling/CMakeLists.txt
R clang/lib/Tooling/DumpTool/APIData.h
R clang/lib/Tooling/DumpTool/ASTSrcLocProcessor.cpp
R clang/lib/Tooling/DumpTool/ASTSrcLocProcessor.h
R clang/lib/Tooling/DumpTool/CMakeLists.txt
R clang/lib/Tooling/DumpTool/ClangSrcLocDump.cpp
R clang/lib/Tooling/DumpTool/generate_cxx_src_locs.py
R clang/lib/Tooling/EmptyNodeIntrospection.inc.in
R clang/lib/Tooling/NodeIntrospection.cpp
M clang/test/AST/const-fpfeatures.c
M clang/test/AST/const-fpfeatures.cpp
M clang/test/CXX/drs/cwg24xx.cpp
A clang/test/CXX/temp/temp.decls/temp.fct/temp.func.order/p2.cpp
A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_add_sub_za16.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_reinterpret_svcount_svbool.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_revd.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfadd.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmax.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmaxnm.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmin.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfminnm.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmla.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmls.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmul.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfsub.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_create2_bool.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_get4_bool.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_undef_bool.c
M clang/test/CodeGen/array-init.c
A clang/test/CodeGen/clspv_libclc_builtin.c
M clang/test/CodeGenCXX/dynamic-cast-address-space.cpp
M clang/test/CodeGenCXX/eh.cpp
M clang/test/CodeGenCXX/nrvo.cpp
M clang/test/CodeGenCXX/template-param-objects-address-space.cpp
M clang/test/CodeGenCXX/throw-expression-typeinfo-in-address-space.cpp
M clang/test/CodeGenCXX/try-catch-with-address-space.cpp
M clang/test/CodeGenCXX/typeid-cxx11-with-address-space.cpp
M clang/test/CodeGenCXX/typeid-with-address-space.cpp
M clang/test/CodeGenCXX/typeinfo-with-address-space.cpp
M clang/test/CodeGenCXX/vtable-assume-load-address-space.cpp
M clang/test/CodeGenCXX/vtable-pointer-initialization-address-space.cpp
M clang/test/CodeGenCXX/vtt-address-space.cpp
M clang/test/CodeGenCXX/wasm-eh.cpp
M clang/test/ExtractAPI/class_template.cpp
M clang/test/ExtractAPI/class_template_param_inheritance.cpp
M clang/test/ExtractAPI/class_template_partial_spec.cpp
M clang/test/ExtractAPI/class_template_spec.cpp
M clang/test/ExtractAPI/concept.cpp
M clang/test/ExtractAPI/field_template.cpp
M clang/test/ExtractAPI/global_func_template.cpp
M clang/test/ExtractAPI/global_func_template_spec.cpp
M clang/test/ExtractAPI/global_var_template.cpp
M clang/test/ExtractAPI/global_var_template_partial_spec.cpp
M clang/test/ExtractAPI/global_var_template_spec.cpp
M clang/test/ExtractAPI/method_template.cpp
M clang/test/ExtractAPI/method_template_spec.cpp
A clang/test/ExtractAPI/non_type_template.cpp
M clang/test/Misc/pragma-attribute-supported-attributes-list.test
A clang/test/Modules/pr91418.cppm
M clang/test/OpenMP/nvptx_lambda_capturing.cpp
M clang/test/Parser/attr-availability.c
A clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_add_sub_za16.c
M clang/test/Sema/aarch64-sme2-sve2p1-diagnostics.c
M clang/test/Sema/aarch64-sme2p1-diagnostics.c
M clang/test/Sema/attr-availability-ios.c
M clang/test/Sema/bool-compare.c
M clang/test/Sema/parentheses.cpp
M clang/test/SemaCXX/auto-cxx0x.cpp
M clang/test/SemaCXX/bool-compare.cpp
M clang/test/SemaCXX/cxx-deprecated.cpp
M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
M clang/test/SemaCXX/cxx2a-adl-only-template-id.cpp
M clang/test/SemaCXX/cxx2b-deducing-this.cpp
M clang/test/SemaCXX/warn-thread-safety-analysis.cpp
A clang/test/SemaHLSL/Availability/attr-availability-compute.hlsl
A clang/test/SemaHLSL/Availability/attr-availability-errors.hlsl
A clang/test/SemaHLSL/Availability/attr-availability-mesh.hlsl
A clang/test/SemaHLSL/Availability/attr-availability-pixel.hlsl
R clang/test/SemaHLSL/AvailabilityMarkup.hlsl
M clang/test/SemaHLSL/WaveBuiltinAvailability.hlsl
M clang/test/SemaTemplate/cwg2398.cpp
M clang/test/SemaTemplate/typo-dependent-name.cpp
M clang/test/SemaTemplate/typo-template-name.cpp
M clang/tools/clang-fuzzer/dictionary/dictionary.c
M clang/tools/driver/cc1as_main.cpp
M clang/unittests/CMakeLists.txt
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/SortIncludesTest.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
R clang/unittests/Introspection/CMakeLists.txt
R clang/unittests/Introspection/IntrospectionTest.cpp
M clang/unittests/StaticAnalyzer/BugReportInterestingnessTest.cpp
M clang/unittests/StaticAnalyzer/CallDescriptionTest.cpp
M clang/unittests/StaticAnalyzer/ConflictingEvalCallsTest.cpp
M clang/unittests/StaticAnalyzer/FalsePositiveRefutationBRVisitorTest.cpp
M clang/unittests/StaticAnalyzer/MemRegionDescriptiveNameTest.cpp
M clang/unittests/StaticAnalyzer/NoStateChangeFuncVisitorTest.cpp
M clang/utils/TableGen/ClangAttrEmitter.cpp
M clang/www/cxx_dr_status.html
M compiler-rt/cmake/config-ix.cmake
M compiler-rt/lib/ctx_profile/CMakeLists.txt
M compiler-rt/lib/ctx_profile/CtxInstrProfiling.cpp
A compiler-rt/test/ctx_profile/TestCases/generate-context.cpp
M compiler-rt/test/ctx_profile/lit.cfg.py
M compiler-rt/test/tsan/signal_in_mutex_lock.cpp
M flang/docs/Intrinsics.md
M flang/include/flang/Lower/AbstractConverter.h
M flang/include/flang/Lower/ConvertVariable.h
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/Builder/HLFIRTools.h
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Builder/Runtime/Intrinsics.h
M flang/include/flang/Optimizer/Dialect/CMakeLists.txt
A flang/include/flang/Optimizer/Dialect/CUF/Attributes/CMakeLists.txt
A flang/include/flang/Optimizer/Dialect/CUF/Attributes/CUFAttr.h
A flang/include/flang/Optimizer/Dialect/CUF/Attributes/CUFAttr.td
A flang/include/flang/Optimizer/Dialect/CUF/CMakeLists.txt
A flang/include/flang/Optimizer/Dialect/CUF/CUFDialect.h
A flang/include/flang/Optimizer/Dialect/CUF/CUFDialect.td
A flang/include/flang/Optimizer/Dialect/CUF/CUFOps.h
A flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
M flang/include/flang/Optimizer/Dialect/FIRAttr.td
M flang/include/flang/Optimizer/Dialect/FIROps.h
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/Dialect/FIROpsSupport.h
M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
M flang/include/flang/Optimizer/Support/InitFIR.h
M flang/include/flang/Optimizer/Support/Utils.h
M flang/include/flang/Optimizer/Transforms/Passes.h
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Runtime/time-intrinsic.h
M flang/include/flang/Semantics/semantics.h
M flang/include/flang/Semantics/tools.h
M flang/include/flang/Tools/CLOptions.inc
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Frontend/CMakeLists.txt
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/CMakeLists.txt
M flang/lib/Lower/CallInterface.cpp
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Lower/DirectivesCommon.h
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.h
M flang/lib/Lower/OpenMP/Decomposer.cpp
M flang/lib/Lower/OpenMP/Decomposer.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Intrinsics.cpp
M flang/lib/Optimizer/Dialect/CMakeLists.txt
A flang/lib/Optimizer/Dialect/CUF/Attributes/CMakeLists.txt
A flang/lib/Optimizer/Dialect/CUF/Attributes/CUFAttr.cpp
A flang/lib/Optimizer/Dialect/CUF/CMakeLists.txt
A flang/lib/Optimizer/Dialect/CUF/CUFDialect.cpp
A flang/lib/Optimizer/Dialect/CUF/CUFOps.cpp
M flang/lib/Optimizer/Dialect/FIRAttr.cpp
M flang/lib/Optimizer/Dialect/FIRDialect.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/HLFIR/IR/CMakeLists.txt
M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
M flang/lib/Optimizer/HLFIR/Transforms/CMakeLists.txt
M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
M flang/lib/Optimizer/Transforms/AddAliasTags.cpp
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/semantics.cpp
A flang/module/cudadevice.f90
M flang/runtime/CMakeLists.txt
M flang/runtime/descriptor-io.h
A flang/runtime/io-api-common.h
A flang/runtime/io-api-minimal.cpp
M flang/runtime/io-api.cpp
M flang/runtime/time-intrinsic.cpp
M flang/runtime/tools.h
M flang/test/Driver/include-omp-header.f90
M flang/test/Fir/cuf-invalid.fir
M flang/test/Fir/cuf.mlir
M flang/test/Lower/CUDA/cuda-allocatable.cuf
M flang/test/Lower/CUDA/cuda-data-attribute.cuf
M flang/test/Lower/CUDA/cuda-data-transfer.cuf
M flang/test/Lower/CUDA/cuda-kernel-calls.cuf
M flang/test/Lower/CUDA/cuda-kernel-loop-directive.cuf
M flang/test/Lower/CUDA/cuda-mod.cuf
M flang/test/Lower/CUDA/cuda-module-use.cuf
M flang/test/Lower/CUDA/cuda-proc-attribute.cuf
A flang/test/Lower/CUDA/cuda-program-global.cuf
A flang/test/Lower/Intrinsics/etime-function.f90
A flang/test/Lower/Intrinsics/etime.f90
M flang/test/Lower/OpenMP/Todo/omp-default-clause-inner-loop.f90
M flang/test/Lower/OpenMP/atomic-capture.f90
M flang/test/Lower/OpenMP/atomic-read.f90
M flang/test/Lower/OpenMP/atomic-update.f90
M flang/test/Lower/OpenMP/atomic-write.f90
M flang/test/Lower/OpenMP/copyin.f90
M flang/test/Lower/OpenMP/critical.f90
M flang/test/Lower/OpenMP/default-clause.f90
M flang/test/Lower/OpenMP/hlfir-seqloop-parallel.f90
M flang/test/Lower/OpenMP/hlfir-wsloop.f90
M flang/test/Lower/OpenMP/lastprivate-iv.f90
M flang/test/Lower/OpenMP/omp-lib-num-threads.f90
M flang/test/Lower/OpenMP/parallel-lastprivate-clause-scalar.f90
M flang/test/Lower/OpenMP/parallel-private-clause-fixes.f90
M flang/test/Lower/OpenMP/parallel-private-clause.f90
M flang/test/Lower/OpenMP/parallel-reduction-allocatable-array.f90
M flang/test/Lower/OpenMP/parallel-reduction3.f90
M flang/test/Lower/OpenMP/parallel-sections.f90
M flang/test/Lower/OpenMP/parallel-wsloop-firstpriv.f90
M flang/test/Lower/OpenMP/parallel-wsloop.f90
M flang/test/Lower/OpenMP/parallel.f90
M flang/test/Lower/OpenMP/sections.f90
M flang/test/Lower/OpenMP/single.f90
M flang/test/Lower/OpenMP/stop-stmt-in-region.f90
M flang/test/Lower/OpenMP/target.f90
M flang/test/Lower/OpenMP/task.f90
M flang/test/Lower/OpenMP/taskgroup.f90
M flang/test/Lower/OpenMP/teams.f90
M flang/test/Lower/OpenMP/threadprivate-default-clause.f90
M flang/test/Lower/OpenMP/unstructured.f90
M flang/test/Lower/OpenMP/wsloop-collapse.f90
M flang/test/Lower/OpenMP/wsloop-monotonic.f90
M flang/test/Lower/OpenMP/wsloop-nonmonotonic.f90
M flang/test/Lower/OpenMP/wsloop-reduction-add-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-add-hlfir-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-add-hlfir.f90
M flang/test/Lower/OpenMP/wsloop-reduction-add.f90
M flang/test/Lower/OpenMP/wsloop-reduction-allocatable.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array-assumed-shape.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array2.f90
M flang/test/Lower/OpenMP/wsloop-reduction-iand-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-iand.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ieor-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ieor.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ior-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ior.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-and-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-and.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-or-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-or.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max-hlfir-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max-hlfir.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max.f90
M flang/test/Lower/OpenMP/wsloop-reduction-min-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-min.f90
M flang/test/Lower/OpenMP/wsloop-reduction-min2.f90
M flang/test/Lower/OpenMP/wsloop-reduction-mul-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-mul.f90
M flang/test/Lower/OpenMP/wsloop-reduction-multiple-clauses.f90
M flang/test/Lower/OpenMP/wsloop-variable.f90
M flang/test/Lower/OpenMP/wsloop.f90
M flang/test/Parser/OpenMP/allocate-tree-spec-part.f90
M flang/test/Parser/OpenMP/allocate-tree.f90
M flang/test/Parser/OpenMP/target_device_parse.f90
M flang/test/Semantics/OpenMP/allocate-clause01.f90
M flang/test/Semantics/OpenMP/allocate-directive.f90
M flang/test/Semantics/OpenMP/allocate01.f90
M flang/test/Semantics/OpenMP/allocate02.f90
M flang/test/Semantics/OpenMP/allocate03.f90
M flang/test/Semantics/OpenMP/allocate04.f90
M flang/test/Semantics/OpenMP/allocate05.f90
M flang/test/Semantics/OpenMP/allocate06.f90
M flang/test/Semantics/OpenMP/allocate07.f90
M flang/test/Semantics/OpenMP/allocate08.f90
M flang/test/Semantics/OpenMP/allocate09.f90
M flang/test/Semantics/OpenMP/allocators01.f90
M flang/test/Semantics/OpenMP/allocators02.f90
M flang/test/Semantics/OpenMP/allocators03.f90
M flang/test/Semantics/OpenMP/allocators04.f90
M flang/test/Semantics/OpenMP/allocators05.f90
M flang/test/Semantics/OpenMP/allocators06.f90
M flang/test/Semantics/OpenMP/atomic-hint-clause.f90
M flang/test/Semantics/OpenMP/atomic01.f90
M flang/test/Semantics/OpenMP/atomic02.f90
M flang/test/Semantics/OpenMP/atomic03.f90
M flang/test/Semantics/OpenMP/atomic04.f90
M flang/test/Semantics/OpenMP/atomic05.f90
M flang/test/Semantics/OpenMP/clause-validity01.f90
M flang/test/Semantics/OpenMP/critical-hint-clause.f90
M flang/test/Semantics/OpenMP/declare-target01.f90
M flang/test/Semantics/OpenMP/flush02.f90
M flang/test/Semantics/OpenMP/nested-distribute.f90
M flang/test/Semantics/OpenMP/omp-atomic-assignment-stmt.f90
M flang/test/Semantics/OpenMP/parallel-sections01.f90
M flang/test/Semantics/OpenMP/resolve06.f90
M flang/test/Semantics/OpenMP/sections02.f90
M flang/test/Semantics/OpenMP/sync-critical02.f90
M flang/test/Semantics/OpenMP/taskgroup01.f90
M flang/test/Semantics/OpenMP/threadprivate01.f90
M flang/test/Semantics/bind-c03.f90
M flang/test/Semantics/bind-c09.f90
M flang/test/Semantics/bind-c12.f90
A flang/test/Semantics/cuf-device-procedures01.cuf
A flang/test/Semantics/cuf-device-procedures02.cuf
A flang/test/Semantics/etime.f90
M flang/test/Semantics/resolve81.f90
M flang/test/Semantics/resolve82.f90
M flang/test/Transforms/debug-line-table-inc-file.fir
M flang/test/Transforms/debug-line-table.fir
M flang/test/lit.cfg.py
M flang/test/lit.site.cfg.py.in
M flang/tools/bbc/CMakeLists.txt
M flang/tools/f18/CMakeLists.txt
M flang/tools/fir-opt/CMakeLists.txt
M flang/tools/tco/CMakeLists.txt
M flang/unittests/Optimizer/CMakeLists.txt
M flang/unittests/Optimizer/FortranVariableTest.cpp
M libc/src/time/gpu/time_utils.cpp
M libc/src/time/gpu/time_utils.h
M libclc/generic/include/clc/clcfunc.h
M libcxx/docs/Status/Cxx23Issues.csv
M libcxx/include/__iterator/common_iterator.h
M libcxx/src/atomic.cpp
M libcxx/src/chrono.cpp
M libcxx/test/std/iterators/predef.iterators/iterators.common/arrow.pass.cpp
M libcxxabi/src/cxa_guard_impl.h
M lld/ELF/InputSection.cpp
R lld/test/ELF/loongarch-relax-align-ldr.s
M lld/test/ELF/loongarch-relax-emit-relocs.s
M lldb/bindings/CMakeLists.txt
M lldb/bindings/headers.swig
M lldb/bindings/interfaces.swig
M lldb/bindings/lua/CMakeLists.txt
M lldb/bindings/python/CMakeLists.txt
M lldb/docs/index.rst
A lldb/docs/resources/lldbdap.md
M lldb/include/lldb/API/SBExpressionOptions.h
M lldb/source/API/SBExpressionOptions.cpp
M lldb/source/Commands/CommandObjectThread.cpp
M lldb/source/Core/FormatEntity.cpp
M lldb/source/Expression/IRExecutionUnit.cpp
M lldb/source/Plugins/ExpressionParser/Clang/IRForTarget.cpp
M lldb/source/Plugins/Language/ObjC/Cocoa.cpp
M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Plugins/SymbolFile/PDB/PDBASTParser.cpp
M lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/Target/PathMappingList.cpp
M lldb/source/Target/Process.cpp
M lldb/test/API/functionalities/completion/TestCompletion.py
M lldb/test/API/functionalities/process_save_core_minidump/TestProcessSaveCoreMinidump.py
M lldb/test/API/tools/lldb-dap/completions/TestDAP_completions.py
M lldb/test/API/tools/lldb-dap/databreakpoint/TestDAP_setDataBreakpoints.py
M lldb/test/API/tools/lldb-dap/exception/TestDAP_exception.py
A lldb/test/API/tools/lldb-dap/repl-mode/Makefile
A lldb/test/API/tools/lldb-dap/repl-mode/TestDAP_repl_mode_detection.py
A lldb/test/API/tools/lldb-dap/repl-mode/main.cpp
M lldb/test/API/tools/lldb-dap/variables/TestDAP_variables.py
M lldb/test/API/tools/lldb-server/attach-wait/TestGdbRemoteAttachWait.py
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/README.md
M lldb/tools/lldb-dap/package.json
M llvm/docs/ORCv2.rst
M llvm/docs/SPIRVUsage.rst
M llvm/examples/ExceptionDemo/ExceptionDemo.cpp
M llvm/include/llvm/Analysis/AliasSetTracker.h
M llvm/include/llvm/Analysis/ConstantFolding.h
M llvm/include/llvm/Analysis/VectorUtils.h
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/ExecutionEngine/JITLink/aarch64.h
M llvm/include/llvm/IR/Intrinsics.td
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/include/llvm/MC/MCStreamer.h
M llvm/include/llvm/Passes/PassBuilder.h
M llvm/include/llvm/ProfileData/InstrProfWriter.h
M llvm/include/llvm/ProfileData/MemProf.h
M llvm/include/llvm/Support/KnownBits.h
M llvm/include/llvm/TableGen/Record.h
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/include/llvm/Transforms/Utils/CallPromotionUtils.h
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/Analysis/TargetLibraryInfo.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
M llvm/lib/CodeGen/BasicBlockSectionsProfileReader.cpp
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/lib/CodeGen/ParallelCG.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/lib/DWARFLinker/Parallel/OutputSections.h
M llvm/lib/ExecutionEngine/JITLink/ELF_aarch64.cpp
M llvm/lib/Frontend/OpenMP/OMPContext.cpp
M llvm/lib/IR/ConstantFold.cpp
M llvm/lib/IR/Mangler.cpp
M llvm/lib/LTO/LTO.cpp
M llvm/lib/LTO/LTOBackend.cpp
M llvm/lib/MC/MCDwarf.cpp
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/MC/MCSectionELF.cpp
M llvm/lib/MC/MCStreamer.cpp
M llvm/lib/Object/MachOObjectFile.cpp
M llvm/lib/Option/OptTable.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/ProfileData/InstrProfCorrelator.cpp
M llvm/lib/ProfileData/InstrProfWriter.cpp
M llvm/lib/Support/CommandLine.cpp
M llvm/lib/Support/KnownBits.cpp
M llvm/lib/TableGen/Record.cpp
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.h
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
A llvm/lib/Target/AMDGPU/AMDGPUCodeGenPassBuilder.cpp
A llvm/lib/Target/AMDGPU/AMDGPUCodeGenPassBuilder.h
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h
M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h
M llvm/lib/Target/AMDGPU/CMakeLists.txt
A llvm/lib/Target/AMDGPU/R600CodeGenPassBuilder.cpp
A llvm/lib/Target/AMDGPU/R600CodeGenPassBuilder.h
M llvm/lib/Target/AMDGPU/R600TargetMachine.cpp
M llvm/lib/Target/AMDGPU/R600TargetMachine.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
M llvm/lib/Target/LoongArch/LoongArchSubtarget.h
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
M llvm/lib/Target/Mips/MipsISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXUtilities.cpp
M llvm/lib/Target/NVPTX/NVPTXUtilities.h
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMatInt.cpp
M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
M llvm/lib/Target/X86/X86FlagsCopyLowering.cpp
M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/X86/X86InstrInfo.h
M llvm/lib/TextAPI/Utils.cpp
M llvm/lib/Transforms/IPO/GlobalOpt.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/lib/Transforms/Scalar/LoopLoadElimination.cpp
M llvm/lib/Transforms/Utils/CallPromotionUtils.cpp
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanValue.h
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Analysis/ScalarEvolution/exhaustive-trip-counts.ll
M llvm/test/CodeGen/AArch64/GlobalISel/combine-select.mir
M llvm/test/CodeGen/AArch64/frem-power2.ll
A llvm/test/CodeGen/AArch64/selectopt-not.ll
A llvm/test/CodeGen/AArch64/sme2-intrinsics-add-sub-za16.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-ld1.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-ldnt1.ll
A llvm/test/CodeGen/AArch64/sve-callee-save-restore-pairs.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fcopysign.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ctlz-zero-undef.mir
M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-fdiv.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow.ll
M llvm/test/CodeGen/AMDGPU/ctlz_zero_undef.ll
M llvm/test/CodeGen/AMDGPU/cttz.ll
M llvm/test/CodeGen/AMDGPU/cttz_zero_undef.ll
M llvm/test/CodeGen/AMDGPU/preload-kernargs.ll
M llvm/test/CodeGen/ARM/frem-power2.ll
M llvm/test/CodeGen/LoongArch/calling-conv-lp64s.ll
A llvm/test/CodeGen/LoongArch/libcall-extend.ll
M llvm/test/CodeGen/LoongArch/sextw-removal.ll
M llvm/test/CodeGen/LoongArch/soft-fp-to-int.ll
A llvm/test/CodeGen/NVPTX/i1-array-global.ll
A llvm/test/CodeGen/NVPTX/param-overalign.ll
A llvm/test/CodeGen/NVPTX/st-param-imm.ll
A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-constbarrier-rv32.mir
A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-constbarrier-rv64.mir
M llvm/test/CodeGen/RISCV/rvv/cttz-vp.ll
M llvm/test/CodeGen/SPIRV/branching/switch-range-check.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_variable_length_array/builtin_alloca.ll
A llvm/test/CodeGen/SPIRV/phi-insert-point.ll
M llvm/test/CodeGen/SystemZ/atomicrmw-ops-i128.ll
M llvm/test/CodeGen/WebAssembly/lower-em-exceptions.ll
A llvm/test/CodeGen/X86/apx/ccmp-flags-copy-lowering.mir
M llvm/test/CodeGen/X86/atomic-non-integer-fp128.ll
M llvm/test/CodeGen/X86/atomic-non-integer.ll
A llvm/test/CodeGen/X86/atomic-unaligned.ll
M llvm/test/CodeGen/X86/atomic-unordered.ll
M llvm/test/CodeGen/X86/atomic128.ll
M llvm/test/CodeGen/X86/bfloat.ll
A llvm/test/CodeGen/X86/big-array-init.ll
M llvm/test/CodeGen/X86/cmpxchg-i128-i1.ll
A llvm/test/CodeGen/X86/pr92569.ll
A llvm/test/CodeGen/X86/vec-strict-cmp-512-skx.ll
M llvm/test/CodeGen/X86/vector-bitreverse.ll
A llvm/test/DebugInfo/X86/debug-names-split-dwarf-inlining.ll
M llvm/test/ExecutionEngine/JITLink/AArch64/ELF_relocations.s
M llvm/test/MC/AsmParser/assembler-expressions-inlineasm.ll
M llvm/test/MC/AsmParser/macro-arg.s
M llvm/test/MC/AsmParser/macro-irp.s
R llvm/test/MC/AsmParser/macro-rept-err1.s
R llvm/test/MC/AsmParser/macro-rept-err2.s
M llvm/test/MC/AsmParser/macro-rept.s
M llvm/test/MC/ELF/section-numeric-invalid-type.s
M llvm/test/MC/LoongArch/Relocations/relax-addsub.s
M llvm/test/MC/LoongArch/Relocations/relax-align.s
A llvm/test/ThinLTO/X86/ref-ifunc.ll
M llvm/test/Transforms/Attributor/nofpclass.ll
M llvm/test/Transforms/GVNHoist/infinite-loop-indirect.ll
A llvm/test/Transforms/GlobalOpt/alias-weak.ll
M llvm/test/Transforms/Inline/inline_invoke.ll
M llvm/test/Transforms/InstCombine/and-fcmp.ll
M llvm/test/Transforms/InstCombine/cast_ptr.ll
M llvm/test/Transforms/InstCombine/icmp-trunc.ll
M llvm/test/Transforms/InstCombine/known-bits.ll
M llvm/test/Transforms/InstCombine/or-fcmp.ll
A llvm/test/Transforms/InstCombine/pow-to-ldexp.ll
M llvm/test/Transforms/InstCombine/pow_fp_int.ll
M llvm/test/Transforms/InstCombine/pow_fp_int16.ll
M llvm/test/Transforms/InstCombine/vector-logical-reductions.ll
M llvm/test/Transforms/InstCombine/vector-reductions.ll
M llvm/test/Transforms/LICM/scalar-promote-unwind.ll
A llvm/test/Transforms/LoopLoadElim/update-debugloc-store-forwarded.ll
M llvm/test/Transforms/LoopVectorize/AArch64/masked-call.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll
M llvm/test/Transforms/LoopVectorize/RISCV/uniform-load-store.ll
M llvm/test/Transforms/LoopVectorize/outer_loop_test1.ll
M llvm/test/Transforms/LoopVectorize/uniform-blend.ll
M llvm/test/Transforms/LoopVectorize/unused-blend-mask-for-first-operand.ll
M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll
M llvm/test/Transforms/LowerTypeTests/cfi-unwind-direct-call.ll
M llvm/test/Transforms/NewGVN/2011-09-07-TypeIdFor.ll
M llvm/test/Transforms/VectorCombine/AArch64/shuffletoidentity.ll
M llvm/test/Transforms/VectorCombine/X86/select-shuffle.ll
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/phi-labels.ll.expected
M llvm/test/tools/UpdateTestChecks/update_test_checks/phi-labels.test
M llvm/tools/dsymutil/MachODebugMapParser.cpp
M llvm/tools/llvm-mc/llvm-mc.cpp
M llvm/tools/llvm-ml/llvm-ml.cpp
M llvm/tools/llvm-profdata/llvm-profdata.cpp
M llvm/unittests/Support/ErrorTest.cpp
M llvm/unittests/Support/KnownBitsTest.cpp
M llvm/unittests/Transforms/Utils/CallPromotionUtilsTest.cpp
M llvm/utils/TableGen/ARMTargetDefEmitter.cpp
M llvm/utils/UpdateTestChecks/asm.py
M llvm/utils/UpdateTestChecks/common.py
M llvm/utils/UpdateTestChecks/isel.py
M llvm/utils/git/requirements.txt
M llvm/utils/gn/secondary/clang/lib/Tooling/BUILD.gn
R llvm/utils/gn/secondary/clang/lib/Tooling/DumpTool/BUILD.gn
M llvm/utils/gn/secondary/clang/unittests/BUILD.gn
R llvm/utils/gn/secondary/clang/unittests/Introspection/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/BUILD.gn
M llvm/utils/update_analyze_test_checks.py
M llvm/utils/update_cc_test_checks.py
M llvm/utils/update_llc_test_checks.py
M llvm/utils/update_test_checks.py
M mlir/docs/DefiningDialects/Operations.md
M mlir/include/mlir/Analysis/CFGLoopInfo.h
M mlir/include/mlir/Analysis/DataFlow/SparseAnalysis.h
M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
M mlir/include/mlir/Dialect/Polynomial/IR/CMakeLists.txt
M mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.h
M mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.td
A mlir/include/mlir/Dialect/Polynomial/IR/PolynomialAttributes.td
A mlir/include/mlir/Dialect/Polynomial/IR/PolynomialDialect.td
M mlir/include/mlir/IR/Block.h
M mlir/include/mlir/IR/CommonAttrConstraints.td
M mlir/include/mlir/Transforms/OneToNTypeConversion.h
M mlir/include/mlir/Transforms/RegionUtils.h
M mlir/lib/Analysis/CFGLoopInfo.cpp
M mlir/lib/Conversion/ArithToSPIRV/ArithToSPIRV.cpp
M mlir/lib/Conversion/ArmSMEToLLVM/ArmSMEToLLVM.cpp
M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
M mlir/lib/Dialect/ArmSME/Transforms/TileAllocation.cpp
M mlir/lib/Dialect/Func/Transforms/OneToNFuncConversions.cpp
M mlir/lib/Dialect/Polynomial/IR/CMakeLists.txt
A mlir/lib/Dialect/Polynomial/IR/PolynomialCanonicalization.td
M mlir/lib/Dialect/Polynomial/IR/PolynomialOps.cpp
M mlir/lib/Dialect/SparseTensor/IR/Detail/LvlTypeParser.cpp
M mlir/lib/Dialect/Tensor/Transforms/CMakeLists.txt
M mlir/lib/Dialect/Tensor/Transforms/FoldTensorSubsetOps.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
M mlir/lib/IR/AsmPrinter.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenACC/OpenACCToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
M mlir/lib/Tools/lsp-server-support/Transport.cpp
M mlir/lib/Transforms/Mem2Reg.cpp
M mlir/lib/Transforms/Utils/OneToNTypeConversion.cpp
M mlir/lib/Transforms/Utils/RegionUtils.cpp
A mlir/test/Conversion/ArithToSPIRV/arith-to-spirv-le-specific.mlir
M mlir/test/Conversion/ArithToSPIRV/arith-to-spirv-unsupported.mlir
M mlir/test/Conversion/ArmSMEToLLVM/tile-spills-and-fills.mlir
M mlir/test/Conversion/ComplexToStandard/convert-to-standard.mlir
A mlir/test/Dialect/Polynomial/canonicalization.mlir
M mlir/test/Dialect/Tensor/fold-tensor-subset-ops-into-vector-transfers.mlir
M mlir/test/Dialect/Vector/vector-transfer-collapse-inner-most-dims.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/use-too-many-tiles.mlir
M mlir/test/Target/LLVMIR/Import/intrinsic.ll
M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir
M mlir/test/lib/Analysis/DataFlow/TestSparseBackwardDataFlowAnalysis.cpp
M mlir/unittests/Dialect/CMakeLists.txt
A mlir/unittests/Dialect/Polynomial/CMakeLists.txt
A mlir/unittests/Dialect/Polynomial/PolynomialMathTest.cpp
M offload/CMakeLists.txt
M offload/DeviceRTL/CMakeLists.txt
M offload/cmake/Modules/LibomptargetGetDependencies.cmake
R offload/cmake/Modules/LibomptargetUtils.cmake
M offload/plugins-nextgen/CMakeLists.txt
M offload/plugins-nextgen/amdgpu/CMakeLists.txt
M offload/plugins-nextgen/common/CMakeLists.txt
M offload/plugins-nextgen/common/include/PluginInterface.h
M offload/plugins-nextgen/common/src/PluginInterface.cpp
M offload/plugins-nextgen/cuda/CMakeLists.txt
M offload/plugins-nextgen/host/CMakeLists.txt
M offload/src/CMakeLists.txt
M offload/test/CMakeLists.txt
M offload/test/mapping/array_section_implicit_capture.c
M offload/test/offloading/default_thread_limit.c
M offload/test/offloading/fortran/basic-target-region-1D-array-section.f90
M offload/test/offloading/fortran/basic-target-region-3D-array-section.f90
M offload/test/offloading/fortran/double-target-call-with-declare-target.f90
M offload/test/offloading/fortran/target-map-allocatable-map-scopes.f90
M offload/test/offloading/fortran/target-map-derived-type-full-1.f90
M offload/test/offloading/fortran/target-map-derived-type-full-2.f90
M offload/test/offloading/fortran/target-map-derived-type-full-implicit-1.f90
M offload/test/offloading/fortran/target-map-derived-type-full-implicit-2.f90
M offload/test/offloading/fortran/target-map-double-large-nested-dtype-multi-member.f90
M offload/test/offloading/fortran/target-map-double-nested-dtype-array-bounds.f90
M offload/test/offloading/fortran/target-map-double-nested-dtype-double-array-bounds.f90
M offload/test/offloading/fortran/target-map-double-nested-dtype-single-member.f90
M offload/test/offloading/fortran/target-map-dtype-arr-bounds-member-enter-exit-update.f90
M offload/test/offloading/fortran/target-map-dtype-arr-bounds-member-enter-exit.f90
M offload/test/offloading/fortran/target-map-dtype-explicit-individual-array-member.f90
M offload/test/offloading/fortran/target-map-dtype-multi-explicit-array-3D-member-bounds.f90
M offload/test/offloading/fortran/target-map-dtype-multi-explicit-array-member-bounds.f90
M offload/test/offloading/fortran/target-map-dtype-multi-explicit-array-member.f90
M offload/test/offloading/fortran/target-map-dtype-multi-explicit-member.f90
M offload/test/offloading/fortran/target-map-enter-exit-allocatables.f90
M offload/test/offloading/fortran/target-map-enter-exit-array-2.f90
M offload/test/offloading/fortran/target-map-enter-exit-array-bounds.f90
M offload/test/offloading/fortran/target-map-enter-exit-array.f90
M offload/test/offloading/fortran/target-map-enter-exit-scalar.f90
M offload/test/offloading/fortran/target-map-individual-dtype-member-map.f90
M offload/test/offloading/fortran/target-map-large-nested-dtype-multi-member.f90
M offload/test/offloading/fortran/target-map-nested-dtype-complex-member.f90
M offload/test/offloading/fortran/target-map-nested-dtype-derived-member.f90
M offload/test/offloading/fortran/target-map-nested-dtype-multi-member.f90
M offload/test/offloading/fortran/target-map-nested-dtype-single-member.f90
M offload/test/offloading/fortran/target-map-pointer-scopes-enter-exit.f90
M offload/test/offloading/fortran/target-map-pointer-target-array-section-3d-bounds.f90
M offload/test/offloading/fortran/target-map-pointer-target-scopes.f90
M offload/test/offloading/fortran/target-map-two-dtype-explicit-member.f90
M offload/test/offloading/fortran/target-map-two-dtype-individual-member-array-1D-bounds.f90
M offload/test/offloading/fortran/target-map-two-dtype-mixed-implicit-explicit-capture-1.f90
M offload/test/offloading/fortran/target-map-two-dtype-mixed-implicit-explicit-capture-2.f90
M offload/test/offloading/fortran/target-map-two-dtype-multi-member-array-1D-bounds.f90
M offload/test/offloading/fortran/target-map-two-nested-dtype-member-array-map.f90
M offload/test/offloading/spmdization.c
M offload/test/offloading/thread_limit.c
M offload/tools/CMakeLists.txt
M offload/tools/deviceinfo/CMakeLists.txt
M offload/tools/kernelreplay/CMakeLists.txt
M offload/unittests/Plugins/CMakeLists.txt
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
gl
Created using spr 1.3.5-bogner
Compare: https://github.com/llvm/llvm-project/compare/a0a7438eecc8...082377d81eb9
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