[all-commits] [llvm/llvm-project] 31424b: [clang][Interp][NFC] Compare std::optionals directly
Sergio Afonso via All-commits
all-commits at lists.llvm.org
Wed Apr 17 03:48:12 PDT 2024
Branch: refs/heads/users/skatrak/spr/clause-operands-04-compound-lower
Home: https://github.com/llvm/llvm-project
Commit: 31424be3aef4290dd84065b9371fcd0c5014e097
https://github.com/llvm/llvm-project/commit/31424be3aef4290dd84065b9371fcd0c5014e097
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
Log Message:
-----------
[clang][Interp][NFC] Compare std::optionals directly
Commit: a831c54357c2bb7b8b457ccea22836c23e8b8625
https://github.com/llvm/llvm-project/commit/a831c54357c2bb7b8b457ccea22836c23e8b8625
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/FunctionPointer.h
M clang/lib/AST/Interp/Interp.h
M clang/test/AST/Interp/functions.cpp
Log Message:
-----------
[clang][Interp] Avoid calling invalid functions
Check if the non-null function pointer is even valid before calling
the function.
Commit: b0194d2894db49d7cf4d36aed87952c3e0c6a390
https://github.com/llvm/llvm-project/commit/b0194d2894db49d7cf4d36aed87952c3e0c6a390
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
A clang/test/Driver/windows-seh-async-verify.cpp
Log Message:
-----------
[SEH] Ignore async exception flag when the environment is not MSVC (#88101)
Fixes #62449
Commit: f4960da6023b8034ae68925c3223d51624621b37
https://github.com/llvm/llvm-project/commit/f4960da6023b8034ae68925c3223d51624621b37
Author: Jon Chesterfield <jonathanchesterfield at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Analysis/Lint.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/vastart.ll
M llvm/test/Other/lint.ll
R llvm/test/Verifier/variadic.ll
Log Message:
-----------
Revert "[Verifier] Reject va_start in non-variadic function (#88809)"
This reverts commit 61717c1aa1f08eb57839a21fb2d9004739022e0d. Failed a MLIR test
Commit: 01f79899ba349a0200586c8d05f5e22cca2ced31
https://github.com/llvm/llvm-project/commit/01f79899ba349a0200586c8d05f5e22cca2ced31
Author: Jinyang He <hejinyang at loongson.cn>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M lld/ELF/InputSection.cpp
A 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:
-----------
[LoongArch] Use R_LARCH_ALIGN with section symbol (#84741)
In LoongArch psABI v2.30, the R_LARCH_ALIGN requires symbol index to
support the third parameter of alignment directive. Create symbol for
each section is redundant because they have section symbol which can
also be used as symbol index. So use section symbol directly for
R_LARCH_ALIGN.
Commit: c09384e2b419c7b4e4167e0d0295d9018cc6169c
https://github.com/llvm/llvm-project/commit/c09384e2b419c7b4e4167e0d0295d9018cc6169c
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/test/AST/Interp/records.cpp
Log Message:
-----------
[clang][Interp] Support MemberExprs pointing to VarDecls
Commit: 1120d8e6f799121b611aa23bdc128e40cf9c6c58
https://github.com/llvm/llvm-project/commit/1120d8e6f799121b611aa23bdc128e40cf9c6c58
Author: Alex Voicu <alexandru.voicu at amd.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/Basic/Targets/SPIR.h
M clang/test/CodeGen/target-data.c
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp
M llvm/unittests/Bitcode/DataLayoutUpgradeTest.cpp
Log Message:
-----------
[clang][CodeGen] Add AS for Globals to SPIR & SPIRV datalayouts (#88455)
Currently neither the SPIR nor the SPIRV targets specify the AS for
globals in their datalayout strings. This is problematic because
CodeGen/LLVM will default to AS0 in this case, which produces Globals
that end up in the private address space for e.g. OCL, HIPSPV or SYCL.
This patch addresses it by completing the datalayout string.
Commit: 36b3c26451bf9a42f0b6b415993d3942bb73abdd
https://github.com/llvm/llvm-project/commit/36b3c26451bf9a42f0b6b415993d3942bb73abdd
Author: XChy <xxs_chy at outlook.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/test/CodeGen/AArch64/and-sink.ll
M llvm/test/CodeGen/AArch64/combine-comparisons-by-cse.ll
M llvm/test/CodeGen/Hexagon/vect/zext-v4i1.ll
M llvm/test/Transforms/JumpThreading/pr79175.ll
M llvm/test/Transforms/JumpThreading/select.ll
M llvm/test/Transforms/JumpThreading/thread-prob-7.ll
A llvm/test/Transforms/JumpThreading/uncond-no-phi.ll
A llvm/test/Transforms/PhaseOrdering/thread-uncond-bb.ll
Log Message:
-----------
[JumpThreading] Thread over BB with only an unconditional branch (#86312)
Fixes #76609
This patch does:
- relax the phis constraint in `CanRedirectPredsOfEmptyBBToSucc`
- guarantee the BB has multiple different predecessors to redirect, so
that we can handle the case without phis in BB. Without this change and
phi constraint, we may redirect the CommonPred.
The motivation is consistent with JumpThreading. We always want the
branch to jump more direct to the destination, without passing the
middle block. In this way, we can expose more other optimization
opportunities.
An obivous example proposed by @dtcxzyw is like:
```llvm
define i32 @test(...) {
entry:
br i1 %c, label %do.end, label %if.then
if.then: ; preds = %entry
%call2 = call i32 @dummy()
%tobool3.not = icmp eq i32 %call2, 0
br i1 %tobool3.not, label %do.end, label %return
do.end: ; preds = %entry, %if.then
br label %return
return: ; preds = %if.then, %do.end
%retval.0 = phi i32 [ 0, %do.end ], [ %call2, %if.then ]
ret i32 %retval.0
}
```
`entry` can directly jump to return, without passing `do.end`, and then
the if-else pattern can be simplified further:
```llvm
define i32 @test(...) {
entry:
br i1 %c, label %return, label %if.then
if.then: ; preds = %entry
%call2 = call i32 @dummy()
br label %return
return: ; preds = %if.then
%retval.0 = phi i32 [ 0, %entry ], [ %call2, %if.then ]
ret i32 %retval.0
}
```
Commit: 32b74ca6e41768c91eee8b8ca26235b110a65deb
https://github.com/llvm/llvm-project/commit/32b74ca6e41768c91eee8b8ca26235b110a65deb
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/test/AST/Interp/cxx03.cpp
Log Message:
-----------
[clang][Interp] Load value from MemberExpr if required
Commit: 92e96c7bbacbb477265c7e5ff6c49a6de5d4ee69
https://github.com/llvm/llvm-project/commit/92e96c7bbacbb477265c7e5ff6c49a6de5d4ee69
Author: Malay Sanghi <malay.sanghi at intel.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
M llvm/lib/Target/Mips/MipsRegisterBankInfo.cpp
M llvm/lib/Target/PowerPC/GISel/PPCRegisterBankInfo.cpp
M llvm/lib/Target/RISCV/GISel/RISCVRegisterBankInfo.cpp
M llvm/lib/Target/X86/GISel/X86RegisterBankInfo.cpp
M llvm/lib/Target/X86/GISel/X86RegisterBankInfo.h
M llvm/test/CodeGen/X86/GlobalISel/fconstant.ll
A llvm/test/CodeGen/X86/GlobalISel/regbankselect-sse-intrinsics.ll
M llvm/test/CodeGen/X86/GlobalISel/regbankselect-x87.ll
Log Message:
-----------
[X86][GISel] Add DU chain lookups for LOAD & STORE (#87453)
For G_LOAD and G_STORE we want this information during regbankselect.
Today we treat load dest as integer and insert converts.
---------
Co-authored-by: Evgenii Kudriashov <evgenii.kudriashov at intel.com>
Commit: ac6b4c618a52c62cef9b143a767991dbba7453e1
https://github.com/llvm/llvm-project/commit/ac6b4c618a52c62cef9b143a767991dbba7453e1
Author: Jon Chesterfield <jonathanchesterfield at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Analysis/Lint.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/vastart.ll
M llvm/test/Other/lint.ll
A llvm/test/Verifier/variadic.ll
M mlir/test/Target/LLVMIR/Import/intrinsic.ll
Log Message:
-----------
Reapply "[Verifier] Reject va_start in non-variadic function (#88809)"
This reverts commit f4960da6023b8034ae68925c3223d51624621b37.
Includes a fix for the MLIR test case.
Commit: 09e7d7585cf881fb598eb56738579b84d027318c
https://github.com/llvm/llvm-project/commit/09e7d7585cf881fb598eb56738579b84d027318c
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/InterpFrame.cpp
M clang/lib/AST/Interp/State.cpp
M clang/test/AST/Interp/builtin-functions.cpp
Log Message:
-----------
[clang][Interp] Don't add 'in call to' diagnostics for builtin frames
Commit: a8de3ee8994023ea7669397587f8118ae5bba9c9
https://github.com/llvm/llvm-project/commit/a8de3ee8994023ea7669397587f8118ae5bba9c9
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/Disasm.cpp
Log Message:
-----------
[clang][Interp][NFC] Fix some build warnings
Fixes:
/buildbot/worker/arc-folder/llvm-project/clang/lib/AST/Interp/Disasm.cpp:143:25: warning: cast from type 'const clang::interp::Block*' to type 'void*' casts away qualifiers [-Wcast-qual]
/buildbot/worker/arc-folder/llvm-project/clang/lib/AST/Interp/Disasm.cpp:271:23: warning: cast from type 'const clang::interp::Block*' to type 'void*' casts away qualifiers [-Wcast-qual]
Commit: c18a3b6bd30456305cf1b3d78ad5a805577388c1
https://github.com/llvm/llvm-project/commit/c18a3b6bd30456305cf1b3d78ad5a805577388c1
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast.ll
M llvm/test/CodeGen/X86/dpbusd.ll
M llvm/test/CodeGen/X86/dpbusd_i4.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast.ll
Log Message:
-----------
[DAG] Fold extract_subvector(insert_subvector(x,y,c1),c2) --> extract_subvector(y,c2-c1) (#87925) (REAPPLIED)
If the extract_subvector is cheap, attempt to extract directly from an inserted subvector
Reapplied with a check to ensure we only attempt this for fixed vectors
Commit: 71b9f6648222771470473431bc8ef2a2c25e872c
https://github.com/llvm/llvm-project/commit/71b9f6648222771470473431bc8ef2a2c25e872c
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/Index/USRGeneration.cpp
M clang/test/Index/USR/func-type.cpp
Log Message:
-----------
[clang][Index] Use canonical function parameter types in USRs (#68222)
This is necessary to ensure that functions declared in different
translation units whose parameter types only differ in top-level
cv-qualification generate the same USR.
For example:
```
// A.cpp
void f(const int x); // c:@F at f#1I#
// B.cpp
void f(int x); // c:@F at f#I#
```
With this patch, the USR for both functions will be
`c:@F at f#I#`.
Commit: dadcaf82274805456b7d85131cf94f921b5398b7
https://github.com/llvm/llvm-project/commit/dadcaf82274805456b7d85131cf94f921b5398b7
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M mlir/lib/Dialect/ArmSME/Transforms/VectorLegalization.cpp
M mlir/test/Dialect/ArmSME/vector-legalization.mlir
Log Message:
-----------
[mlir][ArmSME] Support decomposing constant splats into ArmSME tiles (#88762)
This adds a simple rewrite/legalization to decompose constant splats
larger than a single ArmSME tile into multiple SME virtual tile sized
splats. E.g. a constant splat to `vector<[8]x[8]xi32>` would decompose
into four `vector<[4]x[4]xi32>` splats.
Commit: 711df7b0ae4a9ea45e431d5c0ff4a0c8b2e732c1
https://github.com/llvm/llvm-project/commit/711df7b0ae4a9ea45e431d5c0ff4a0c8b2e732c1
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
M mlir/test/Dialect/Vector/canonicalize.mlir
M mlir/test/Dialect/Vector/invalid.mlir
Log Message:
-----------
[vector][mlir] Restrict vector.shuffle to fixed-width vectors (#88733)
At the moment there is no support for vector.shuffle for scalable
vectors - various hooks/helpers related to `vector.shuffle` simply
ignore the scalable flags (e.g. ` ShuffleOp::inferReturnTypes`).
This is unlikely to change any time soon (vector shuffles are known to
be tricky for scalable vectors), hence this patch restricts
`vector.shuffle` to fixed width vectors.
Commit: 75244a1043d2be5003dea6914d5edc940c437cd5
https://github.com/llvm/llvm-project/commit/75244a1043d2be5003dea6914d5edc940c437cd5
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/InterpBuiltin.cpp
A clang/test/AST/Interp/builtin-align-cxx.cpp
Log Message:
-----------
[clang][Interp] Implement align builtins
__builtin_is_aligned
__builtin_is_align_up
__builtin_is_align_down
Commit: 91dd844aa499d69c7ff75bf3156e2e3593a88057
https://github.com/llvm/llvm-project/commit/91dd844aa499d69c7ff75bf3156e2e3593a88057
Author: Brandon Wu <brandon.wu at sifive.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/Target/RISCV/GISel/RISCVCallLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/test/CodeGen/RISCV/rvv/calling-conv.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-load.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave.ll
Log Message:
-----------
Recommit [RISCV] RISCV vector calling convention (2/2) (#79096) (#87736)
Bug fix: Handle RVV return type in calling convention correctly.
Return values are handled in a same way as function arguments.
One thing to mention is that if a type can be broken down into
homogeneous
vector types, e.g. {<vscale x 4 x i32>, {<vscale x 4 x i32>, <vscale x 4
x i32>}},
it is considered as a vector tuple type and need to be handled by tuple
type rule.
Commit: ac1f2de7b581c26a768c4d2a2aad36505cc63c31
https://github.com/llvm/llvm-project/commit/ac1f2de7b581c26a768c4d2a2aad36505cc63c31
Author: Frederik Harwath <frederik.harwath at amd.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M mlir/docs/Interfaces.md
Log Message:
-----------
[MLIR][docs] Mention declarePromisedInterface in Interfaces doc (#88689)
Co-authored-by: Frederik Harwath <fharwath at amd.com>
Co-authored-by: Mehdi Amini <joker.eph at gmail.com>
Commit: 1c076b43c294c7d29d99dd50f6853b33a5b99789
https://github.com/llvm/llvm-project/commit/1c076b43c294c7d29d99dd50f6853b33a5b99789
Author: Spenser Bauman <sbauman at mathworks.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaTypesBase.td
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-named.mlir
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
A mlir/test/Integration/Dialect/Tosa/CPU/test-maxpool-dynamic.mlir
Log Message:
-----------
[mlir][tosa] Implement dynamic shape support for tosa.max_pool2d lowering (#87538)
The existing lowering for tosa.max_pool2d only supports dynamic
dimensions when the dynamic dimension is the batch dimension. This
change updates the lowering to support arbitrary dynamic dimensions on
the inputs and outputs of the tosa.max_pool2d operation.
This change also fixes a bug in the implementation of implicit
broadcasting in the tosa-to-linalg pass, which was introducing uses of
constant ops that violated dominance requirements.
Commit: d4602a96b48b00a50c4d891673fc622ca2e37f0a
https://github.com/llvm/llvm-project/commit/d4602a96b48b00a50c4d891673fc622ca2e37f0a
Author: Nico Weber <thakis at chromium.org>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/lldb/test/BUILD.gn
Log Message:
-----------
[gn] port fe48bf672e1ab2
Commit: c309dc6d0759b23b570c563f611530ff1a49e1bd
https://github.com/llvm/llvm-project/commit/c309dc6d0759b23b570c563f611530ff1a49e1bd
Author: mahtohappy <Happy.Kumar at Windriver.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/TreeTransform.h
A clang/test/SemaCXX/instantiate-new-placement-size.cpp
Log Message:
-----------
[Clang][Sema] placement new initializes typedef array with correct size (#83124)
When in-place new-ing a local variable of an array of trivial type, the
generated code calls 'memset' with the correct size of the array,
earlier it was generating size (squared of the typedef array + size).
The cause: `typedef TYPE TArray[8]; TArray x;` The type of declarator is
Tarray[8] and in `SemaExprCXX.cpp::BuildCXXNew` we check if it's of
typedef and of constant size then we get the original type and it works
fine for non-dependent cases.
But in case of template we do `TreeTransform.h:TransformCXXNEWExpr` and
there we again check the allocated type which is TArray[8] and it stays
that way, so ArraySize=(Tarray[8] type, alloc Tarray[8*type]) so the
squared size allocation.
ArraySize gets calculated earlier in `TreeTransform.h` so that
`if(!ArraySize)` condition was failing.
fix: I changed that condition to `if(ArraySize)`.
Fixes #41441
Commit: 34013e7ce25868aa8ddea116f79184e8603af56c
https://github.com/llvm/llvm-project/commit/34013e7ce25868aa8ddea116f79184e8603af56c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512f.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-sse41.ll
Log Message:
-----------
[X86] Add shuffle tests for BLEND(PERMUTE(X),PERMUTE(Y)) patterns
Some very basic tests for a case where we could fold BLEND(PERMUTE(X),PERMUTE(Y)) -> PERMUTE(BLEND(X,Y))
These assume the permute masks are the same, and "complete" (no undefs/duplicate elements) but we could relax that depending on the blend mask
Commit: b73476c7843f21966acb2fb5cab8515d9ec02905
https://github.com/llvm/llvm-project/commit/b73476c7843f21966acb2fb5cab8515d9ec02905
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/trunc-store-value-ty-not-power-of-2.ll
Log Message:
-----------
[SLP] Make sure MinVF is a power-of-2 by using PowerOf2Ceil.
This should ensure we explore the same VFs as before 6d66db3890a18e39.
Fixes https://github.com/llvm/llvm-project/issues/88640.
Commit: e272c37934a06cd80b9b072afc09afae5fd8c218
https://github.com/llvm/llvm-project/commit/e272c37934a06cd80b9b072afc09afae5fd8c218
Author: Nico Weber <thakis at chromium.org>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/test/Driver/windows-seh-async-verify.cpp
Log Message:
-----------
clang; Try to get windows-seh-async-verify.cpp to pass on mac
On macOS, file paths start with /Users/..., which clang-cl interptrets
as the /U switch followed by a preprocessor macro name to undefine.
Put the filename after `--` to prevent this. For consistency, move %s
to the end of the regular `clang` lines (where this isn't needed) as
well.
Commit: f69ded0d9965a6b2b76ce12db876c70f249d96d1
https://github.com/llvm/llvm-project/commit/f69ded0d9965a6b2b76ce12db876c70f249d96d1
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/Sema.h
A clang/include/clang/Sema/SemaOpenMP.h
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Parse/ParseStmt.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprMember.cpp
M clang/lib/Sema/SemaLambda.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/TreeTransform.h
Log Message:
-----------
[clang] Introduce `SemaOpenMP` (#88642)
This patch moves OpenMP-related entities out of `Sema` to a newly
created `SemaOpenMP` class. This is a part of the effort to split `Sema`
up, and follows the recent example of CUDA, OpenACC, SYCL, HLSL.
Additional context can be found in
https://github.com/llvm/llvm-project/pull/82217,
https://github.com/llvm/llvm-project/pull/84184,
https://github.com/llvm/llvm-project/pull/87634.
Commit: 9e7aab951ffba0211193ceb435c6b49e4e19ac24
https://github.com/llvm/llvm-project/commit/9e7aab951ffba0211193ceb435c6b49e4e19ac24
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/include/clang/Basic/Cuda.h
M clang/lib/Basic/Cuda.cpp
M clang/lib/Basic/Targets/NVPTX.cpp
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
Log Message:
-----------
[CUDA] Rename SM_32 to SM_32_ to work around AIX headers (#88779)
Summary:
AIX headers define this, so we need to work around it. In the future
this will be removed but for now we should just rename it to avoid these
issues.
Commit: e7fb49c24e4be4780ee4df9829980c5e8ddd511e
https://github.com/llvm/llvm-project/commit/e7fb49c24e4be4780ee4df9829980c5e8ddd511e
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
Log Message:
-----------
Switch release notes links to using markup for github issues; NFC
Commit: 9d8be2408768912dc113a342050049231e4fc8d1
https://github.com/llvm/llvm-project/commit/9d8be2408768912dc113a342050049231e4fc8d1
Author: Utkarsh Saxena <usx at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGCleanup.cpp
M clang/lib/CodeGen/CGCleanup.h
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprAgg.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
R clang/test/CodeGenCXX/control-flow-in-stmt-expr.cpp
R clang/test/CodeGenCoroutines/coro-suspend-cleanups.cpp
Log Message:
-----------
Revert "[codegen] Emit missing cleanups for stmt-expr and coro suspensions" and related commits (#88884)
The original change caused widespread breakages in msan/ubsan tests and
causes `use-after-free`. Most likely we are adding more cleanups than
necessary.
Commit: 9ce74d6d470437cde82e91631395322ec1c36eeb
https://github.com/llvm/llvm-project/commit/9ce74d6d470437cde82e91631395322ec1c36eeb
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
A llvm/test/CodeGen/AMDGPU/memcpy-libcall.ll
Log Message:
-----------
[AMDGPU][CodeGen] Improve handling of memcpy for -Os/-Oz compilations (#87632)
We had some instances when LLVM would not inline fixed-count memcpy and
ended up
attempting to lower it a a libcall, which would not work on AMDGPU as
the
address space doesn't meet the requirement, causing compiler crash.
The patch relaxes the threshold used for -Os/-Oz compilation so we're
always allowed
to inline memory copy functions.
This patch basically does the same thing as
https://reviews.llvm.org/D158226 for
AMDGPU.
Fix #88497.
Commit: 6ab5927238395798c2e8b657bb59a0304046099d
https://github.com/llvm/llvm-project/commit/6ab5927238395798c2e8b657bb59a0304046099d
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/RISCV/smax-unsigned-operand.ll
Log Message:
-----------
[SLP][NFC]Add a test with the incorrect vectorization of smax with unsigned arg.
Commit: 26ebe16d78b22329d602db0398ce163ad610b0dc
https://github.com/llvm/llvm-project/commit/26ebe16d78b22329d602db0398ce163ad610b0dc
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/RISCV/smax-unsigned-operand.ll
Log Message:
-----------
[SLP]Fix PR88834: check if unsigned arg can be trunced, being used in smax/smin intrinsics.
Need to check that unsigned argument can be safely used in smax/smin
intrinsics by checking if at least single sign bit is cleared, otherwise
its value may be treated as negative instead of positive.
Commit: e185978321db4500d72fb1186476ee4104c5928b
https://github.com/llvm/llvm-project/commit/e185978321db4500d72fb1186476ee4104c5928b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/test/Transforms/VectorCombine/X86/shuffle-of-casts.ll
M llvm/test/Transforms/VectorCombine/X86/shuffle.ll
Log Message:
-----------
[VectorCombine][X86] Regenerate shuffle.ll + shuffle-of-casts.ll
Use v4 of UTC to improve regex matching of argument names to fix a filecheck matching in a future patch
Commit: e84b2fb48df882ee1f49bbbca29d44fba22192a8
https://github.com/llvm/llvm-project/commit/e84b2fb48df882ee1f49bbbca29d44fba22192a8
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/vectorize-force-tail-with-evl.ll
Log Message:
-----------
[LV][NFCI]Use integer for cost/trip count calculations instead of double, fix possible UB.
Using fp type in the compiler is not the best idea, here it used with
the comparison for equal to 0 and may cause undefined behavior in some
cases.
Reviewers: fhahn
Reviewed By: fhahn
Pull Request: https://github.com/llvm/llvm-project/pull/87241
Commit: 254df2e35c14414564d233902b25305ed17d251c
https://github.com/llvm/llvm-project/commit/254df2e35c14414564d233902b25305ed17d251c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
A llvm/test/Transforms/VectorCombine/X86/shuffle-of-binops.ll
M llvm/test/Transforms/VectorCombine/X86/shuffle.ll
Log Message:
-----------
[VectorCombine][X86] shuffle-of-binops.ll - split off foldShuffleOfBinops tests from shuffle.ll
Commit: 6133878227efc30355c02c2f089e06ce58231a3d
https://github.com/llvm/llvm-project/commit/6133878227efc30355c02c2f089e06ce58231a3d
Author: Erich Keane <ekeane at nvidia.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/AST/StmtOpenACC.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/OpenACCClauses.def
M clang/include/clang/Basic/OpenACCKinds.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/SemaOpenACC/compute-construct-clause-ast.cpp
A clang/test/SemaOpenACC/compute-construct-self-clause.c
A clang/test/SemaOpenACC/compute-construct-self-clause.cpp
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
[OpenACC] Implement `self` clause for compute constructs (#88760)
`self` clauses on compute constructs take an optional condition
expression. We again limit the implementation to ONLY compute constructs
to ensure we get all the rules correct for others. However, this one
will be particularly complicated, as it takes a `var-list` for `update`,
so when we get to that construct/clause combination, we need to do that
as well.
This patch also furthers uses of the `OpenACCClauses.def` as it became
useful while implementing this (as well as some other minor refactors as
I went through).
Finally, `self` and `if` clauses have an interaction with each other, if
an `if` clause evaluates to `true`, the `self` clause has no effect.
While this is intended and can be used 'meaningfully', we are warning on
this with a very granular warning, so that this edge case will be
noticed by newer users, but can be disabled trivially.
Commit: ac791888bbbe58651e597cf7a4b2276424b77a92
https://github.com/llvm/llvm-project/commit/ac791888bbbe58651e597cf7a4b2276424b77a92
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Add missing dependency for 1c076b43c294c7d29d99dd50f6853b33a5b99789
Commit: a0f8191af3945482f0f7a7c8f030e8c519a795b7
https://github.com/llvm/llvm-project/commit/a0f8191af3945482f0f7a7c8f030e8c519a795b7
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M libclc/CMakeLists.txt
Log Message:
-----------
[libclc] Give built bytecode objects a .bc extension. NFC
Commit: 3d118f92081ea0c7048749dc5d08c8e8217be4eb
https://github.com/llvm/llvm-project/commit/3d118f92081ea0c7048749dc5d08c8e8217be4eb
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M libclc/CMakeLists.txt
Log Message:
-----------
[libclc] Fix dependencies between targets
We need file-level - not target-level - dependencies for these custom
commands to re-trigger when their dependencies change.
Commit: 60de56c743c414240b293a8b8ee10bc2129d7e10
https://github.com/llvm/llvm-project/commit/60de56c743c414240b293a8b8ee10bc2129d7e10
Author: Harald van Dijk <harald.vandijk at codeplay.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/CodeGen/CGCall.cpp
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/lib/Analysis/BasicAliasAnalysis.cpp
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/LazyValueInfo.cpp
M llvm/lib/Analysis/Loads.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/unittests/Analysis/ValueTrackingTest.cpp
Log Message:
-----------
[ValueTracking] Restore isKnownNonZero parameter order. (#88873)
Prior to #85863, the required parameters of llvm::isKnownNonZero were
Value and DataLayout. After, they are Value, Depth, and SimplifyQuery,
where SimplifyQuery is implicitly constructible from DataLayout. The
change to move Depth before SimplifyQuery needed callers to be updated
unnecessarily, and as commented in #85863, we actually want Depth to be
after SimplifyQuery anyway so that it can be defaulted and the caller
does not need to specify it.
Commit: 5a34ff12b8f4a73f5dcd4be1b2575dc38cf13bee
https://github.com/llvm/llvm-project/commit/5a34ff12b8f4a73f5dcd4be1b2575dc38cf13bee
Author: Jeremy Kun <jkun at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/Polynomial/IR/CMakeLists.txt
Log Message:
-----------
fix Polynomial.td doc filename (#88900)
Not sure how best to test this, but I think it fixes the error
https://github.com/llvm/mlir-www/actions/runs/8699908058/job/23859264085#step:7:1111
Co-authored-by: Jeremy Kun <j2kun at users.noreply.github.com>
Co-authored-by: Jacques Pienaar <jpienaar at google.com>
Commit: b63247627c9e87e898dec5bf0bea255b3f0eec5c
https://github.com/llvm/llvm-project/commit/b63247627c9e87e898dec5bf0bea255b3f0eec5c
Author: Ding Fei <fding at feysh.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaExpr.cpp
A clang/test/Sema/recover-expr-gh88008-nocrash.c
Log Message:
-----------
[AST][RecoveryExpr] Fix a crash on c89/c90 invalid InitListExpr (#88008) (#88014)
Use refactored `CheckForConstantInitializer()` to skip checking expr
with error.
---------
Co-authored-by: Aaron Ballman <aaron at aaronballman.com>
Commit: d2d4a1bbdc455a30d600743eb59fb1c69205967a
https://github.com/llvm/llvm-project/commit/d2d4a1bbdc455a30d600743eb59fb1c69205967a
Author: XChy <xxs_chy at outlook.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/test/CodeGen/AArch64/and-sink.ll
M llvm/test/CodeGen/AArch64/combine-comparisons-by-cse.ll
M llvm/test/CodeGen/Hexagon/vect/zext-v4i1.ll
M llvm/test/Transforms/JumpThreading/pr79175.ll
M llvm/test/Transforms/JumpThreading/select.ll
M llvm/test/Transforms/JumpThreading/thread-prob-7.ll
R llvm/test/Transforms/JumpThreading/uncond-no-phi.ll
R llvm/test/Transforms/PhaseOrdering/thread-uncond-bb.ll
Log Message:
-----------
Revert "[JumpThreading] Thread over BB with only an unconditional branch" (#88907)
Reverts llvm/llvm-project#86312
Commit: 22629bb22a1bea95eebfc9b3171005de107c38f1
https://github.com/llvm/llvm-project/commit/22629bb22a1bea95eebfc9b3171005de107c38f1
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M libcxx/include/__availability
M libcxx/include/__config
M libcxx/include/__expected/bad_expected_access.h
M libcxx/include/__functional/function.h
M libcxx/lib/abi/arm64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/i686-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/powerpc-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/powerpc64-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-freebsd.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.noexceptions.nonew.abilist
M libcxx/src/CMakeLists.txt
A libcxx/src/expected.cpp
M libcxx/src/functional.cpp
Log Message:
-----------
[libc++] Use availability to rely on key functions for bad_expected_access and bad_function_call (#87390)
This patch uses our availability machinery to allow defining a key
function for bad_function_call and bad_expected_access at all times but
only rely on it when we can. This prevents compilers from complaining
about weak vtables and reduces code bloat and the amount of work done by
the dynamic linker.
rdar://111917845
Commit: 9ddedf07ed80076e0e419940753aeaaf719a09ec
https://github.com/llvm/llvm-project/commit/9ddedf07ed80076e0e419940753aeaaf719a09ec
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M libcxx/.clang-format
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/include/__atomic/atomic.h
M libcxx/include/__atomic/atomic_flag.h
M libcxx/include/__config
M libcxx/include/barrier
M libcxx/include/latch
M libcxx/include/semaphore
M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.wait/atomic_notify_all.pass.cpp
M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.wait/atomic_notify_one.pass.cpp
M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.wait/atomic_wait.pass.cpp
M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.wait/atomic_wait_explicit.pass.cpp
M libcxx/test/std/thread/thread.barrier/arrive.pass.cpp
M libcxx/test/std/thread/thread.barrier/arrive_and_drop.pass.cpp
M libcxx/test/std/thread/thread.barrier/arrive_and_wait.pass.cpp
M libcxx/test/std/thread/thread.barrier/completion.pass.cpp
M libcxx/test/std/thread/thread.barrier/ctor.compile.pass.cpp
M libcxx/test/std/thread/thread.barrier/max.pass.cpp
M libcxx/test/std/thread/thread.latch/arrive_and_wait.pass.cpp
M libcxx/test/std/thread/thread.latch/count_down.pass.cpp
M libcxx/test/std/thread/thread.latch/ctor.pass.cpp
M libcxx/test/std/thread/thread.latch/max.pass.cpp
M libcxx/test/std/thread/thread.latch/try_wait.pass.cpp
M libcxx/test/std/thread/thread.semaphore/acquire.pass.cpp
M libcxx/test/std/thread/thread.semaphore/binary.pass.cpp
M libcxx/test/std/thread/thread.semaphore/ctor.compile.pass.cpp
M libcxx/test/std/thread/thread.semaphore/max.pass.cpp
M libcxx/test/std/thread/thread.semaphore/release.pass.cpp
M libcxx/test/std/thread/thread.semaphore/timed.pass.cpp
M libcxx/test/std/thread/thread.semaphore/try_acquire.pass.cpp
Log Message:
-----------
[libc++] Deprecate the C++20 synchronization library before C++20 (#86410)
When we initially implemented the C++20 synchronization library, we
reluctantly accepted for the implementation to be backported to C++03
upon request from the person who provided the patch. This was when we
were only starting to have experience with the issues this can create,
so we flinched. Nowadays, we have a much stricter stance about not
backporting features to previous standards.
We have recently started fixing several bugs (and near bugs) in our
implementation of the synchronization library. A recurring theme during
these reviews has been how difficult to understand the current code is,
and upon inspection it becomes clear that being able to use a few recent
C++ features (in particular lambdas) would help a great deal. The code
would still be pretty intricate, but it would be a lot easier to reason
about the flow of callbacks through things like
__thread_poll_with_backoff.
As a result, this patch deprecates support for the synchronization
library before C++20. In the next release, we can remove that support
entirely.
Commit: bd28889732e14ac6baca686c3ec99a82fc9cd89d
https://github.com/llvm/llvm-project/commit/bd28889732e14ac6baca686c3ec99a82fc9cd89d
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rv64zba.ll
Log Message:
-----------
[RISCV] Add coverage for strength reduction of mul 2^N +/- 3/5/9
Commit: 1334c034a73b7bf8a7af08be1c33d24a58127c47
https://github.com/llvm/llvm-project/commit/1334c034a73b7bf8a7af08be1c33d24a58127c47
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M flang/test/Semantics/OpenMP/clause-validity01.f90
Log Message:
-----------
[flang] Fix test after 4078afc6d23e25df6baedad61b224ef86a94d42f
This tests requires the OpenMP runtime to be present, but the way that
the lit config detects it fails when "openmp" is added to RUNTIMES
instead of PROJECTS. This caused the tests to be skipped as unsupported
in local and upstream tests.
The actual bug was a missing word in the message, and putting the check
at the wrong line.
Commit: bf1ad1d267b1f911cb9846403d2c3d3250a40870
https://github.com/llvm/llvm-project/commit/bf1ad1d267b1f911cb9846403d2c3d3250a40870
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
A llvm/test/Transforms/VectorCombine/X86/shuffle-of-shuffles.ll
Log Message:
-----------
[VectorCombine][X86] Add initial shuffle-of-shuffles.ll test cover for #88743
Commit: f8e2ec13a8c6d33cb7b4f37869b4429ddcf43f01
https://github.com/llvm/llvm-project/commit/f8e2ec13a8c6d33cb7b4f37869b4429ddcf43f01
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M lldb/test/API/functionalities/asan/Makefile
M lldb/test/API/functionalities/asan/TestMemoryHistory.py
M lldb/test/API/functionalities/asan/TestReportData.py
R lldb/test/API/functionalities/libsanitizers/util.py
Log Message:
-----------
Revert "Add asan tests for libsanitizers. (#88349)"
This reverts commit 82f479ba315a417b6cd01a8c2efdc15c26689f2e due to bot breakage.
Commit: 8cee94e989b5bf6fb6455087d48eb6c6e0e23c54
https://github.com/llvm/llvm-project/commit/8cee94e989b5bf6fb6455087d48eb6c6e0e23c54
Author: Harald van Dijk <harald.vandijk at codeplay.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
Log Message:
-----------
[RISCV] Fix obvious copy paste error.
CASE_VFMA_OPCODE_VV and CASE_VFMA_CHANGE_OPCODE_VV need to match up if we are
are to avoid "Unexpected opcode" errors, but in CASE_VFMA_CHANGE_OPCODE_VV,
CASE_VFMA_CHANGE_OPCODE_LMULS_MF2 had mistakenly been used instead of
CASE_VFMA_CHANGE_OPCODE_LMULS_MF4.
Commit: 51b42b762112f2e77d032efd16fa0d9d31cde494
https://github.com/llvm/llvm-project/commit/51b42b762112f2e77d032efd16fa0d9d31cde494
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/Sema/CMakeLists.txt
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/test/AST/ast-dump-attr-json.cpp
M clang/test/Sema/alias-unused-win.cpp
M clang/test/Sema/alias-unused.cpp
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
Revert "[Sema] Mark alias/ifunc targets used and consider mangled names" (#88919)
Reverts llvm/llvm-project#87130
Bot is broken with clang crash:
https://lab.llvm.org/buildbot/#/builders/272/builds/14063/steps/6/logs/stdio
Commit: 9d111286322ec99b32467eef3aeec6b588c49f18
https://github.com/llvm/llvm-project/commit/9d111286322ec99b32467eef3aeec6b588c49f18
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M libclc/CMakeLists.txt
Log Message:
-----------
[libclc] Improve clarity of CMake foreach. NFC.
Should be a bit easier to read.
Commit: 2704ebaf2885a16155ab7144f8dd0dd459d77089
https://github.com/llvm/llvm-project/commit/2704ebaf2885a16155ab7144f8dd0dd459d77089
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M flang/cmake/modules/AddFlangOffloadRuntime.cmake
M flang/lib/Decimal/CMakeLists.txt
M flang/runtime/CMakeLists.txt
Log Message:
-----------
[flang][runtime] Create CUDA PTX OBJECT library target for F18 runtime CUDA build. (#88821)
This is to experiment with distributing F18 runtime CUDA library
in the form of a pure PTX library. The change is under
FLANG_EXPERIMENTAL_CUDA_RUNTIME CMake control.
Commit: a79783d7ad00c4c10c30f637f4bf13551e47f3dd
https://github.com/llvm/llvm-project/commit/a79783d7ad00c4c10c30f637f4bf13551e47f3dd
Author: Robin Caloudis <robin.caloudis at gmx.de>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M libc/src/fenv/fegetexceptflag.h
M libc/src/fenv/fesetexceptflag.h
M libc/src/fenv/feupdateenv.cpp
Log Message:
-----------
[libc][fenv] Use proxy header (#88787)
Include types `fexcept_t` and `fenv_t ` from corresponding proxy
headers, as they are available since
https://github.com/llvm/llvm-project/pull/88467.
Commit: 38895e6578f7728cfb3d41d0880a0e9b358d9afd
https://github.com/llvm/llvm-project/commit/38895e6578f7728cfb3d41d0880a0e9b358d9afd
Author: Robin Caloudis <robin.caloudis at gmx.de>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M libc/src/fenv/CMakeLists.txt
Log Message:
-----------
[libc][fenv] Remove unnecessary dependencies (#88788)
Remove the fenv macro dependency from the CMake files as the underlying targets
do not make use of it. Note that we do not have to worry about
[corresponding Bazel targets](https://github.com/llvm/llvm-project/blob/main/utils/bazel/llvm-project-overlay/libc/BUILD.bazel#L1138-L1288),
as they look good.
Commit: 1c6b0f779f66494cb597884c1a52e377bde4bc54
https://github.com/llvm/llvm-project/commit/1c6b0f779f66494cb597884c1a52e377bde4bc54
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/MachineDebugify.cpp
M llvm/lib/Transforms/Utils/Debugify.cpp
M llvm/test/CodeGen/Generic/MIRDebugify/check-line-and-variables-x.mir
M llvm/test/CodeGen/Generic/MIRDebugify/check-line-and-variables.ll
M llvm/test/CodeGen/Generic/MIRDebugify/check-line-and-variables.mir
M llvm/test/CodeGen/Generic/MIRDebugify/locations-and-values.mir
M llvm/test/CodeGen/Generic/MIRDebugify/multifunction-module.mir
M llvm/test/DebugInfo/debugify-bogus-dbg-value.ll
M llvm/test/DebugInfo/debugify-each.ll
M llvm/test/DebugInfo/debugify-export.ll
M llvm/test/DebugInfo/debugify-ignore-phi.ll
M llvm/test/DebugInfo/debugify-original-no-dbg-info.ll
M llvm/test/DebugInfo/debugify-report-missing-locs-only.ll
M llvm/test/DebugInfo/debugify.ll
M llvm/test/DebugInfo/pr37964.ll
M llvm/test/DebugInfo/salvage-cast-debug-info.ll
M llvm/test/DebugInfo/verify-di-preserve.ll
Log Message:
-----------
[RemoveDI] Add support for debug records to debugify (#87383)
This patch changes debugify to support debug variable records, and
subsequently to no longer convert modules automatically to intrinsics
when entering debugify.
Commit: 45eabd1362527d1b3a27a90f7479865785b763ee
https://github.com/llvm/llvm-project/commit/45eabd1362527d1b3a27a90f7479865785b763ee
Author: YunQiang Su <syq at debian.org>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M flang/test/Driver/msvc-dependent-lib-flags.f90
Log Message:
-----------
[flang,test] Add -resource-dir option to msvc-dependent-lib-flags.f90 (#88894)
For aarch64-windows-msvc, clang_rt.builtins is placed in windows subdir
instead of triple subdir, and the name of clang_rt.builtins is
clang_rt.builtins-aarch64.lib.
So let's use `-resource-dir` option to fix test failure.
Please see talk for PR#87866.
Commit: 22e6bf77ad8781810fc81fff4c447c03cdf6f419
https://github.com/llvm/llvm-project/commit/22e6bf77ad8781810fc81fff4c447c03cdf6f419
Author: Volodymyr Sapsai <vsapsai at apple.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/include/clang/Serialization/ModuleFileExtension.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/lib/Serialization/GeneratePCH.cpp
M clang/lib/Serialization/GlobalModuleIndex.cpp
M clang/lib/Serialization/ModuleFileExtension.cpp
M clang/lib/Serialization/PCHContainerOperations.cpp
Log Message:
-----------
[unused-includes][Serialization] Remove unused includes. NFC. (#88790)
Commit: b566810add5b7c5695bdd2c39710b78af9dc83ba
https://github.com/llvm/llvm-project/commit/b566810add5b7c5695bdd2c39710b78af9dc83ba
Author: Volodymyr Sapsai <vsapsai at apple.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/include/clang/Serialization/PCHContainerOperations.h
Log Message:
-----------
[unused-includes] PCHContainerOperations uses MemoryBufferRef, not MemoryBuffer. NFC. (#88794)
Commit: 454d4496970f665200b5b300578894d78405b6ca
https://github.com/llvm/llvm-project/commit/454d4496970f665200b5b300578894d78405b6ca
Author: Xing Xue <xingxue at outlook.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M openmp/runtime/src/kmp_dispatch.cpp
Log Message:
-----------
[OpenMP] Use a memory fence before incrementing the dispatch buffer index (#87995)
This patch uses a memory fence in function `__kmp_dispatch_next()` to
flush pending memory write invalidates before incrementing the
`volatile` variable `buffer_index` to fix intermittent time-outs of
OpenMP runtime LIT test cases `env/kmp_set_dispatch_buf.c` and
`worksharing/for/kmp_set_dispatch_buf.c`, noting that the same is needed
for incrementing `buffer_index` in function `__kmpc_next_section()`
(line 2600 of `kmp_dispatch.cpp`).
Commit: 22bba85d82637d0446928ff6ff41f98583f3d3b2
https://github.com/llvm/llvm-project/commit/22bba85d82637d0446928ff6ff41f98583f3d3b2
Author: Xing Xue <xingxue at outlook.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M openmp/runtime/test/tasking/hidden_helper_task/capacity_mix_threads.cpp
M openmp/runtime/test/tasking/hidden_helper_task/capacity_nthreads.cpp
Log Message:
-----------
[OpenMP][test][AIX] Make 64 the max number of threads for capacity tests in AIX 32-bit (#88739)
This patch makes 64 the max number of threads for 2 capacity tests in
AIX 32-bit mode rather than `XFAIL`ing them.
Commit: 8137bd9e03d636a27701a85b6efe899f9571cac5
https://github.com/llvm/llvm-project/commit/8137bd9e03d636a27701a85b6efe899f9571cac5
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/include/llvm/ProfileData/MemProf.h
M llvm/include/llvm/ProfileData/MemProfReader.h
M llvm/lib/ProfileData/MemProf.cpp
M llvm/lib/ProfileData/MemProfReader.cpp
M llvm/unittests/ProfileData/MemProfTest.cpp
Log Message:
-----------
[memprof] Use CSId to construct MemProfRecord (#88362)
We are in the process of referring to call stacks with CallStackId in
IndexedMemProfRecord and IndexedAllocationInfo instead of holding call
stacks inline (both in memory and the serialized format). Doing so
deduplicates call stacks and reduces the MemProf profile file size.
Before we can eliminate the two fields holding call stacks inline:
- IndexedAllocationInfo::CallStack
- IndexedMemProfRecord::CallSites
we need to eliminate all the read operations on them.
This patch is a step toward that direction. Specifically, we
eliminate the read operations in the context of MemProfReader and
RawMemProfReader. A subsequent patch will eliminate the read
operations during the serialization.
Commit: 8cd8ebe153391993a3668d2ac8d2994d9491f3ef
https://github.com/llvm/llvm-project/commit/8cd8ebe153391993a3668d2ac8d2994d9491f3ef
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/unittests/CodeGen/RegAllocScoreTest.cpp
Log Message:
-----------
[MLGO] Use double comparison facilities for reg alloc scoring tests (#88862)
This patch switches from using direct equality (ASSERT_EQ) to the
floating point comparison facilities (ASSERT_DOUBLE_EQ) within google
test to avoid weird floating point problems. There is at least one
downstream that maintains a patch for issues cropping up from the direct
equality.
https://gitlab.alpinelinux.org/alpine/aports/-/blob/master/main/llvm17/allocscore.patch
Commit: 75054525ae58f26c86e418382164540760871186
https://github.com/llvm/llvm-project/commit/75054525ae58f26c86e418382164540760871186
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.h
M clang/test/AST/Interp/vectors.cpp
Log Message:
-----------
[clang][Interp] Implement VectorSplat casts
Commit: 184ba038ac1d444980b3e554b0057f3f30c516ab
https://github.com/llvm/llvm-project/commit/184ba038ac1d444980b3e554b0057f3f30c516ab
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/addimm-mulimm.ll
M llvm/test/CodeGen/RISCV/rv64zba.ll
Log Message:
-----------
[RISCV] Avoid matching 3/5/9 * 2^N as 2^N + 2/4/8 (e.g. 24) (#88937)
The former is better as a zero extend can be folded into the sll,
whereas the later currently produces a seperate zext.w due to bad
interactions with other combines.
Commit: 4082a7554521572a65a5a0008c4661a534df659d
https://github.com/llvm/llvm-project/commit/4082a7554521572a65a5a0008c4661a534df659d
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Initialization.h
M clang/include/clang/Sema/Overload.h
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaOverload.cpp
Log Message:
-----------
Improve stack usage to increase recursive initialization depth (#88546)
We were crashing due to stack exhaustion on rather reasonable C++
template code. After some investigation, I found that we have a
stack-allocated object that was huge: `InitializationSequence` was 7016
bytes. This caused an overflow with deep call stacks in initialization
code.
With these change, `InitializationSequence` is now 248 bytes.
With the original code, testing RelWithDebInfo on Windows 10, all the
tests in SemaCXX took about 6s 800ms. The max template depth I could
reach on my machine using the code in the issue was 708. After that, I
would get `-Wstack-exhausted` warnings until crashing at 976
instantiations.
With these changes on the same machine, all the tests in SemaCXX took
about 6s 500ms. The max template depth I could reach was 1492. After
that, I would get `-Wstack-exhausted` warnings until crashing at 2898
instantiations.
This improves the behavior of #88330 but there's still an outstanding
question of why we run out of stack space and crash in some
circumstances before we're able to issue a diagnostic about stack space
exhaustion.
Commit: aefff774a0d6f75565243263555f2513ac3c9fdf
https://github.com/llvm/llvm-project/commit/aefff774a0d6f75565243263555f2513ac3c9fdf
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/test/CXX/drs/dr0xx.cpp
M clang/test/CXX/drs/dr16xx.cpp
M clang/test/CXX/drs/dr1xx.cpp
M clang/test/CXX/drs/dr2xx.cpp
M clang/test/CXX/drs/dr3xx.cpp
M clang/test/CXX/drs/dr4xx.cpp
M clang/test/CXX/drs/dr5xx.cpp
M clang/test/CXX/drs/dr6xx.cpp
Log Message:
-----------
[clang] Migrate DR tests to `static_assert` (#88611)
This patch touches a number of tests that run in C++98 mode that have
been using array size as a context that requires a constant expression,
replacing it with a `static_assert` backported via a macro. This reduces
noise in expected directives that comes from diagnostics around VLAs.
This patch also showcases that DR tests would benefit from folding in
constant expressions in C++98 mode, but I'm not sure it's even on the
table. If it is, I'd be happy to prepare a PR for that, and rebase this
PR on top of it.
CC @AaronBallman
Commit: 6b83fe552990966fdad0e5693a79b02b87d9526e
https://github.com/llvm/llvm-project/commit/6b83fe552990966fdad0e5693a79b02b87d9526e
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rv64zba.ll
Log Message:
-----------
[RISCV] Strength reduce mul by 2^n + 2/4/8 + 1 (#88911)
With zba, we can expand this to (add (shl X, C1), (shXadd X, X)).
Note that this is our first expansion to a three instruction sequence. I
believe this to general be a reasonable tradeoff for most architectures,
but we may want to (someday) consider a tuning flag here.
I plan to support 2^n + (2/4/8 + 1) eventually as well, but that comes
behind 2^N - 2^M. Both are also three instruction sequences.
---------
Co-authored-by: Min-Yih Hsu <min at myhsu.dev>
Commit: 1c2afbae9af22b58190c10e3517242d01d89d612
https://github.com/llvm/llvm-project/commit/1c2afbae9af22b58190c10e3517242d01d89d612
Author: Fangrui Song <i at maskray.me>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/test/CodeGen/alias.cpp
Log Message:
-----------
[CodeGen,test] Test llvm-libc style alias attribute with UsingShadowDecl
The pattern is quite involved and deserves a specific codegen test.
This test would catch the bug in the first attempt of #87130
Commit: 5462b27026dee886fb896980d6ad9487200a6cbe
https://github.com/llvm/llvm-project/commit/5462b27026dee886fb896980d6ad9487200a6cbe
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M libcxx/include/__chrono/formatter.h
Log Message:
-----------
[NFC][libc++][TZDB] Refactors argument order. (#85781)
Putting the output reference argument first looks more sensible.
Commit: a75c9d059791f5d175f6c263d114d59e51b46120
https://github.com/llvm/llvm-project/commit/a75c9d059791f5d175f6c263d114d59e51b46120
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M libcxx/include/__fwd/ios.h
M libcxx/include/iosfwd
M libcxx/utils/libcxx/test/modules.py
Log Message:
-----------
[NFC][libc++] Moves ios_base's forward declaration. (#88027)
According to our synopsis it belonged to ios_fwd. This is not true in
the C++11 version of the Standard, I did not validate against C++98.
Moving this to ios's forward where it's declared in the standard allows
removing a module quirk. An earlier removal of std::vectors forward
declaration allows to remove all quirks for the iosfwd module part.
Since iosfwd includes __fwd/ios.h this does not change the required
includes.
Commit: 9cd3e92f05fcc2c9168a7abc56d08f0d33bfdfdf
https://github.com/llvm/llvm-project/commit/9cd3e92f05fcc2c9168a7abc56d08f0d33bfdfdf
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M libcxx/utils/libcxx/test/modules.py
Log Message:
-----------
[libc++][modules] Removes some validation quirks. (#88031)
Recent unrelated header cleanups caused these quirks to become obsolete.
Commit: 41a830500aa5556a65198607ec751d8e3254c949
https://github.com/llvm/llvm-project/commit/41a830500aa5556a65198607ec751d8e3254c949
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/docs/UsingLibcxx.rst
M libcxx/include/__config
R libcxx/test/libcxx/depr/enable_removed_cpp17_features.compile.pass.cpp
R libcxx/test/libcxx/depr/enable_removed_cpp17_features.deprecated.verify.cpp
R libcxx/test/libcxx/depr/enable_removed_cpp20_features.deprecated.verify.cpp
Log Message:
-----------
[libc++] Removes deprecated _LIBCPP_ENABLE_<VERSION>_REMOVED_FEATURES macros (#88548)
We marked those macros as deprecated in the last release with the intent
of
removing them in LLVM 19. This commit performs the removal.
Commit: 388da6a31b7ba3062f9306b894656e265b9b33eb
https://github.com/llvm/llvm-project/commit/388da6a31b7ba3062f9306b894656e265b9b33eb
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M libcxx/test/libcxx/containers/sequences/vector/asan.pass.cpp
Log Message:
-----------
[libc++][test] Removes Clang 16 validation. (#88558)
Commit: 8e0a4a89f940d17b520bbca040981f54195d3ea4
https://github.com/llvm/llvm-project/commit/8e0a4a89f940d17b520bbca040981f54195d3ea4
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M libcxx/docs/BuildingLibcxx.rst
Log Message:
-----------
[libc++][doc] Documents -DLIBCXX_INSTALL_MODULES=ON. (#88547)
Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>
Commit: 002297bdaa63f3f9f56b0051110ccf48f31c6825
https://github.com/llvm/llvm-project/commit/002297bdaa63f3f9f56b0051110ccf48f31c6825
Author: Nico Weber <thakis at chromium.org>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/src/BUILD.gn
Log Message:
-----------
[gn] port 22629bb22a1b
Commit: 8debcf03c535e14ee47b14fddfcaeae3f32d1317
https://github.com/llvm/llvm-project/commit/8debcf03c535e14ee47b14fddfcaeae3f32d1317
Author: Peiming Liu <peiming at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensor.h
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorAttrDefs.td
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.td
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorTypes.td
M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
M mlir/test/Dialect/SparseTensor/invalid.mlir
M mlir/test/Dialect/SparseTensor/roundtrip.mlir
A mlir/test/Dialect/SparseTensor/sparse_itertion_licm.mlir
Log Message:
-----------
[mlir][sparse] introduce sparse_tensor.iterate operation (#88807)
A `sparse_tensor.iterate` iterates over a sparse iteration space
extracted from `sparse_tensor.extract_iteration_space` operation
introduced in https://github.com/llvm/llvm-project/pull/88554.
*DO NOT MERGE* before https://github.com/llvm/llvm-project/pull/88554
Commit: b9556532c7391a2acb77ab0f7d7b36e1dc382b24
https://github.com/llvm/llvm-project/commit/b9556532c7391a2acb77ab0f7d7b36e1dc382b24
Author: Peiming Liu <peiming at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensor.h
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorAttrDefs.td
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.td
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorTypes.td
M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
M mlir/test/Dialect/SparseTensor/invalid.mlir
M mlir/test/Dialect/SparseTensor/roundtrip.mlir
R mlir/test/Dialect/SparseTensor/sparse_itertion_licm.mlir
Log Message:
-----------
Revert "[mlir][sparse] introduce sparse_tensor.iterate operation" (#88953)
Reverts llvm/llvm-project#88807 (merged by mistake)
Commit: 481bd5d416df7a1d24e18cc81ae782e8701de965
https://github.com/llvm/llvm-project/commit/481bd5d416df7a1d24e18cc81ae782e8701de965
Author: Peiming Liu <peiming at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.td
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorTypes.td
M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
M mlir/test/Dialect/SparseTensor/invalid.mlir
M mlir/test/Dialect/SparseTensor/roundtrip.mlir
Log Message:
-----------
[mlir][sparse] introduce `sparse_tensor.extract_iteration_space` operation. (#88554)
A `sparse_tensor.extract_space %tensor at %iterator` extracts a *sparse*
iteration space defined `%tensor`, the operation to traverse the
iteration space will be introduced in following PRs.
Commit: edb711d2f318b17489692b5f85028fab7ed85b83
https://github.com/llvm/llvm-project/commit/edb711d2f318b17489692b5f85028fab7ed85b83
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/known-bits.ll
Log Message:
-----------
[InstCombine] Update `vector_reduce_and` tests to actually use `llvm.vector.reduce.and`; NFC
Commit: 5c6af605b307213453a9a043532b9293db21b5c6
https://github.com/llvm/llvm-project/commit/5c6af605b307213453a9a043532b9293db21b5c6
Author: mahtohappy <Happy.Kumar at Windriver.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
A clang/test/SemaCXX/PR41441.cpp
R clang/test/SemaCXX/instantiate-new-placement-size.cpp
Log Message:
-----------
[Clang][Sema] placement new initializes typedef array with correct size (#88902)
Build Failure Fix
Fixes build failures due to #83124
Commit: b01879ec1ffbd249f9bf3c4f32308443be6ac36b
https://github.com/llvm/llvm-project/commit/b01879ec1ffbd249f9bf3c4f32308443be6ac36b
Author: Chao Chen <116223022+chencha3 at users.noreply.github.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPU.h
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUAttrs.td
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUTypes.td
M mlir/lib/Dialect/XeGPU/IR/XeGPUDialect.cpp
M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
M mlir/test/Dialect/XeGPU/XeGPUOps.mlir
A mlir/test/Dialect/XeGPU/invalid.mlir
Log Message:
-----------
[MLIR][XeGPU] Add XeGPU scattered ops (#86594)
- Extended TensorDescAttr with scattered attribute
- Add scattered ops: CreateDescOp, PrefetchOp, LoadGatherOp,
StoreScatterOp, UpdateOffsetOp
- Add a block op: UpdateNdOffsetOp
---------
Co-authored-by: Mehdi Amini <joker.eph at gmail.com>
Co-authored-by: Adam Siemieniuk <adam.siemieniuk at intel.com>
Commit: 9ec8c961664de3b3fcc1cbd5238e40ec8c9bdddb
https://github.com/llvm/llvm-project/commit/9ec8c961664de3b3fcc1cbd5238e40ec8c9bdddb
Author: Samira Bazuzi <bazuzi at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/docs/tools/clang-formatted-files.txt
A clang/include/clang/Analysis/FlowSensitive/ASTOps.h
M clang/include/clang/Analysis/FlowSensitive/DataflowAnalysisContext.h
M clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
A clang/lib/Analysis/FlowSensitive/ASTOps.cpp
M clang/lib/Analysis/FlowSensitive/CMakeLists.txt
M clang/lib/Analysis/FlowSensitive/DataflowAnalysisContext.cpp
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/lib/Analysis/FlowSensitive/Transfer.cpp
Log Message:
-----------
[clang][dataflow] Expose getReferencedDecls and relocate free functions. (#88754)
Moves free functions from DataflowEnvironment.h/cc and
DataflowAnalysisContext.h/cc to RecordOps and a new ASTOps and exposes
them as needed for current use and to expose getReferencedDecls for
out-of-tree use.
Minimal change in functionality, only to modify the return type of
getReferenceDecls to return the collected decls instead of using output
params.
Tested with `ninja check-clang-tooling`.
Commit: bbd64c4ddf08be468ab4eb4c161e28bdab6808bb
https://github.com/llvm/llvm-project/commit/bbd64c4ddf08be468ab4eb4c161e28bdab6808bb
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/mul.ll
Log Message:
-----------
[RISCV] Add coverage for strength reduction of mul as 2^N - 2^M
Commit: 8885813ebb0a61014d99ac776b8118d935848cc9
https://github.com/llvm/llvm-project/commit/8885813ebb0a61014d99ac776b8118d935848cc9
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M libcxx/test/std/time/time.zone/time.zone.timezone/time.zone.members/get_info.sys_time.pass.cpp
Log Message:
-----------
[libc++][chrono] Disables a test.
This tests seems problematic on different platforms. There is still a
test that ensures coverage, but in an automatic fashion. This test needs
to be investigated.
Commit: 0665669876cd7f51f7572cff3bb97485d78f5de5
https://github.com/llvm/llvm-project/commit/0665669876cd7f51f7572cff3bb97485d78f5de5
Author: Fangrui Song <i at maskray.me>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/Sema/CMakeLists.txt
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/test/AST/ast-dump-attr-json.cpp
M clang/test/Sema/alias-unused-win.cpp
M clang/test/Sema/alias-unused.cpp
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[Sema] Mark alias/ifunc targets used and consider mangled names
https://reviews.llvm.org/D54188 marked "alias" targets as used in C to
fix -Wunused false positives. This patch extends the approach to handle
mangled names to support global scope names in C++ and the
`overloadable` attribute in C.
(Note: we should skip `UsingShadowDecl`, which would trigger an
assertion failure in `ItaniumMangleContextImpl::mangleCXXName`.
See regression test added by commit 1c2afbae9af22b58190c10e3517242d01d89d612.)
In addition, we mark ifunc targets as used to fix #63957 (temporarily
used by xz; ifunc was removed by
https://github.com/tukaani-project/xz/commit/689ae2427342a2ea1206eb5ca08301baf410e7e0)
While our approach has false negatives for namespace scope names, the
majority of alias/ifunc C++ uses (global scope with no overloads) are
handled.
Note: The following function with internal linkage but C language
linkage type is mangled in Clang but not in GCC. This inconsistency
makes alias/ifunc difficult to use in C++ with portability (#88593).
```
extern "C" {
static void f0() {}
// GCC: void g0() __attribute__((alias("_ZL2f0v")));
// Clang: void g0() __attribute__((alias("f0")));
}
```
Pull Request: https://github.com/llvm/llvm-project/pull/87130
Commit: 5422eb0b841521908c2fc60bd9c7fdc11ded12a1
https://github.com/llvm/llvm-project/commit/5422eb0b841521908c2fc60bd9c7fdc11ded12a1
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/include/llvm/ProfileData/MemProfReader.h
M llvm/unittests/ProfileData/MemProfTest.cpp
Log Message:
-----------
[memprof] Add another constructor to MemProfReader (#88952)
This patch enables users of MemProfReader to directly supply mappings
from CallStackId to actual call stacks.
Once the users of the current constructor without CSIdMap switch to
the new constructor, we'll have fewer users of:
- IndexedAllocationInfo::CallStack
- IndexedMemProfRecord::CallSites
bringing us one step closer to the removal of these fields in favor
of:
- IndexedAllocationInfo::CSId
- IndexedMemProfRecord::CallSiteIds
Commit: c7657cf7d1ee57f9cb9133164536591a1842b43c
https://github.com/llvm/llvm-project/commit/c7657cf7d1ee57f9cb9133164536591a1842b43c
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/extract_in_tree_user.ll
M llvm/test/Transforms/SLPVectorizer/X86/geps-non-pow-2.ll
M llvm/test/Transforms/SLPVectorizer/X86/opaque-ptr.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder-reused-masked-gather2.ll
M llvm/test/Transforms/SLPVectorizer/X86/stacksave-dependence.ll
Log Message:
-----------
[SLP]Keep externally used GEPs as GEPs, if possible instead of extractelement.
If the vectorized GEP instruction can be still kept as a scalar GEP,
better to keep it as scalar instead of extractelement. In many cases it
is more profitable.
Metric: size..text
Program size..text
results results0 diff
test-suite :: SingleSource/Benchmarks/Misc/oourafft.test 18911.00 19695.00 4.1%
test-suite :: SingleSource/Benchmarks/Misc-C++-EH/spirit.test 59987.00 60707.00 1.2%
test-suite :: External/SPEC/CFP2017speed/638.imagick_s/638.imagick_s.test 1392209.00 1392753.00 0.0%
test-suite :: External/SPEC/CFP2017rate/538.imagick_r/538.imagick_r.test 1392209.00 1392753.00 0.0%
test-suite :: External/SPEC/CINT2006/400.perlbench/400.perlbench.test 1087996.00 1088236.00 0.0%
test-suite :: MultiSource/Benchmarks/Bullet/bullet.test 309310.00 309342.00 0.0%
test-suite :: External/SPEC/CINT2017rate/525.x264_r/525.x264_r.test 664661.00 664693.00 0.0%
test-suite :: External/SPEC/CINT2017speed/625.x264_s/625.x264_s.test 664661.00 664693.00 0.0%
test-suite :: External/SPEC/CFP2017rate/526.blender_r/526.blender_r.test 12354636.00 12354908.00 0.0%
test-suite :: External/SPEC/CFP2006/453.povray/453.povray.test 1152748.00 1152716.00 -0.0%
test-suite :: MultiSource/Applications/oggenc/oggenc.test 191787.00 191771.00 -0.0%
test-suite :: SingleSource/UnitTests/matrix-types-spec.test 480796.00 480476.00 -0.1%
Misc/oourafft - Extra code gets vectorized
Misc-C++-EH/spirit - same
CFP2017speed/638.imagick_s
CFP2017rate/538.imagick_r - same, extra code gets vectorized
CINT2006/400.perlbench - some extra 4 x ptr stores vectorized
Bullet/bullet - extra 4 x ptr store vectorized
CINT2017rate/525.x264_r
CINT2017speed/625.x264_s - same
CFP2017rate/526.blender_r - extra 8 x float stores (several), some extra
4 x ptr stores
CFP2006/453.povray - 2 x double loads/stores replaced by 4 x double
loads/stores
Applications/oggenc - extra code is vectorized
UnitTests/matrix-types-spec - extra code gets vectorized
Reviewers: RKSimon
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/88877
Commit: 7d4e8c1f3bbfe976f4871c9cf953f76d771b0eda
https://github.com/llvm/llvm-project/commit/7d4e8c1f3bbfe976f4871c9cf953f76d771b0eda
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/pr46983.ll
Log Message:
-----------
[SLP]Attempt to vectorize long stores, if short one failed.
We can try to vectorize long store sequences, if short ones were
unsuccessful because of the non-profitable vectorization. It should not
increase compile time significantly (stores are sorted already,
complexity is n x log n), but vectorize extra code.
Metric: size..text
Program size..text
results results0 diff
test-suite :: External/SPEC/CINT2006/400.perlbench/400.perlbench.test 1088012.00 1088236.00 0.0%
test-suite :: SingleSource/UnitTests/matrix-types-spec.test 480396.00 480476.00 0.0%
test-suite :: External/SPEC/CINT2017rate/525.x264_r/525.x264_r.test 664613.00 664661.00 0.0%
test-suite :: External/SPEC/CINT2017speed/625.x264_s/625.x264_s.test 664613.00 664661.00 0.0%
test-suite :: External/SPEC/CFP2017rate/510.parest_r/510.parest_r.test 2041105.00 2040961.00 -0.0%
test-suite :: MultiSource/Applications/JM/lencod/lencod.test 836563.00 836387.00 -0.0%
test-suite :: MultiSource/Benchmarks/7zip/7zip-benchmark.test 1035100.00 1032140.00 -0.3%
In all benchmarks extra code gets vectorized
Reviewers: RKSimon
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/88563
Commit: 3eff86f82cb59d7dfc88e0cc3d8df8282f24f028
https://github.com/llvm/llvm-project/commit/3eff86f82cb59d7dfc88e0cc3d8df8282f24f028
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Analysis/FlowSensitive/BUILD.gn
Log Message:
-----------
[gn build] Port 9ec8c961664d
Commit: b0ddbfb77d15e00e08fc36f6ccd8a4fecde465d1
https://github.com/llvm/llvm-project/commit/b0ddbfb77d15e00e08fc36f6ccd8a4fecde465d1
Author: Justin Bogner <mail at justinbogner.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/Basic/Targets/SPIR.h
Log Message:
-----------
[clang][SPIR-V] Set AS for the SPIR-V logical triple (#88939)
This was missed in #88455, causing most of the .hlsl to SPIR-V tests to
fail (such as clang\test\Driver\hlsl-lang-targets-spirv.hlsl)
Commit: c9731a3dccd381849bfede5e09290c0574efa248
https://github.com/llvm/llvm-project/commit/c9731a3dccd381849bfede5e09290c0574efa248
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
Log Message:
-----------
[mlir] Fix a warning about an extraneous semicolon
This patch fixes:
mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp:58:2: error: extra ';'
outside of a function is incompatible with C++98
[-Werror,-Wc++98-compat-extra-semi]
Commit: 0a789ea8a829da345e46d8224d73b2ddaba6969f
https://github.com/llvm/llvm-project/commit/0a789ea8a829da345e46d8224d73b2ddaba6969f
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/test/SemaCXX/PR41441.cpp
Log Message:
-----------
Fix test from #83124 and #88902
This just replaces an '#include<new>' with a declaration of array
placement new.
Commit: 9a0a28f8384b2cb534953df33bf124f01f0e0d0e
https://github.com/llvm/llvm-project/commit/9a0a28f8384b2cb534953df33bf124f01f0e0d0e
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M openmp/libomptarget/plugins-nextgen/common/include/PluginInterface.h
M openmp/libomptarget/plugins-nextgen/common/src/PluginInterface.cpp
Log Message:
-----------
[Libomptarget] Rework Record & Replay to be a plugin member (#88928)
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: ed7038ef334eaccdd4104053005cab52804fbfad
https://github.com/llvm/llvm-project/commit/ed7038ef334eaccdd4104053005cab52804fbfad
Author: Jeremy Kun <jkun at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/Polynomial/IR/CMakeLists.txt
Log Message:
-----------
specify dialect in polynomial docs (#88933)
I figured out how to test this with `make mlir-doc doxygen-mlir`
Commit: 13ea36db166b7007f8b1e84e0827faaf24eb448e
https://github.com/llvm/llvm-project/commit/13ea36db166b7007f8b1e84e0827faaf24eb448e
Author: juan.vazquez <juan.vazquez.test at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/Analysis/UnsafeBufferUsage.cpp
A clang/test/SemaCXX/warn-unsafe-buffer-usage-suggestions-crashes.cpp
Log Message:
-----------
Fix UPCAddressofArraySubscriptGadget::getClaimedVarUseSites() (#88406)
UPCAddressofArraySubscriptGadget::getClaimedVarUseSites should skip
parentheses when accessing the DeclRefExpr, otherwise a crash happens
with parenthesized references.
Commit: f430e374462efd94d891fcf9fa09d606343c780f
https://github.com/llvm/llvm-project/commit/f430e374462efd94d891fcf9fa09d606343c780f
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/include/llvm/ProfileData/InstrProfReader.h
M llvm/include/llvm/ProfileData/MemProf.h
M llvm/lib/MC/MCPseudoProbe.cpp
M llvm/lib/ProfileData/InstrProf.cpp
M llvm/lib/ProfileData/InstrProfReader.cpp
M llvm/lib/ProfileData/MemProf.cpp
M llvm/lib/ProfileData/MemProfReader.cpp
M llvm/lib/ProfileData/SampleProfReader.cpp
Log Message:
-----------
[llvm] Drop unaligned from calls to readNext (NFC) (#88841)
Now readNext defaults to unaligned accesses. This patch drops
unaligned to improve readability.
Commit: 281d71604f418eb952e967d9dc4b26241b7f96aa
https://github.com/llvm/llvm-project/commit/281d71604f418eb952e967d9dc4b26241b7f96aa
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Target/TargetMachine.cpp
M llvm/test/CodeGen/X86/code-model-elf-text-sections.ll
Log Message:
-----------
[X86] Change how we treat functions with explicit sections as small/large (#88172)
Following #78348, we should treat functions with an explicit section as
small, unless the section name is (or has the prefix) ".ltext".
Clang emits global initializers into a ".text.startup" section on Linux.
If we mix small/medium code model object files with large code model
object files, we'll end up mixing sections with and without the large
section flag.
Reland of #87838 with a check for non-ELF platforms in
TargetMachine::isLargeGlobalValue(), otherwise MCJIT on Windows tests
fail.
Commit: 191be2a8a8531129c779bf23c4eec86f32c69bf9
https://github.com/llvm/llvm-project/commit/191be2a8a8531129c779bf23c4eec86f32c69bf9
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
A llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/stable_ir_values_funcs.ll
A llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/stable_ir_values_funcs.ll.expected
A llvm/test/tools/UpdateTestChecks/update_test_checks/stable_ir_values_funcs.test
Log Message:
-----------
update_test_checks: pre-commit a new test
The test shows that name preservation doesn't work properly when
--include-generated-funcs is used.
Commit: e770249d955e06f205e91017cd394d8670996168
https://github.com/llvm/llvm-project/commit/e770249d955e06f205e91017cd394d8670996168
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
A llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/phi-labels.ll
A llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/phi-labels.ll.expected
A llvm/test/tools/UpdateTestChecks/update_test_checks/phi-labels.test
Log Message:
-----------
update_test_checks: add new test
This test is meant to demonstrate an upcoming change that replaces basic
block labels by FileCheck patterns.
Commit: 377a2767a9951659b5ec7309abb78da719a4f93b
https://github.com/llvm/llvm-project/commit/377a2767a9951659b5ec7309abb78da719a4f93b
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/utils/UpdateTestChecks/common.py
Log Message:
-----------
update_test_checks: remove an unused function
Commit: 9ec6c5d26321f5d32d97218f850ae7cafda32b2e
https://github.com/llvm/llvm-project/commit/9ec6c5d26321f5d32d97218f850ae7cafda32b2e
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/test/Fir/cuf-invalid.fir
M flang/test/Fir/cuf.mlir
Log Message:
-----------
[flang][cuda] Add fir.deallocate operation (#88839)
Add the fir.cuda_deallocate operation that perform device deallocation
of data hold by a descriptor. This will replace the call to
AllocatableDeallocate from the runtime.
This is a companion operation to the one added in #88586
Commit: 34777c238b117b52dd41a9d12e8b54fb83677a12
https://github.com/llvm/llvm-project/commit/34777c238b117b52dd41a9d12e8b54fb83677a12
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanValue.h
A llvm/test/Transforms/LoopVectorize/blend-in-header.ll
Log Message:
-----------
[VPlan] Don't mark VPBlendRecipe as phi-like.
VPBlendRecipes don't get lowered to phis and usually do not appear at
the beginning of blocks, due to their masks appearing before them.
This effectively relaxes an over-eager verifier message.
Fixes https://github.com/llvm/llvm-project/issues/88297.
Fixes https://github.com/llvm/llvm-project/issues/88804.
Commit: b6bd41db31c798f3fc82368381fad6d42795f512
https://github.com/llvm/llvm-project/commit/b6bd41db31c798f3fc82368381fad6d42795f512
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/test/Headers/__clang_hip_math.hip
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/test/Transforms/InstCombine/add-sitofp.ll
M llvm/test/Transforms/InstCombine/binop-itofp.ll
M llvm/test/Transforms/InstCombine/clamp-to-minmax.ll
M llvm/test/Transforms/InstCombine/fpcast.ll
M llvm/test/Transforms/InstCombine/minmax-fold.ll
M llvm/test/Transforms/InstCombine/minmax-fp.ll
M llvm/test/Transforms/InstCombine/pr27236.ll
M llvm/test/Transforms/InstCombine/sitofp.ll
M llvm/test/Transforms/LoopVectorize/X86/float-induction-x86.ll
M llvm/test/Transforms/LoopVectorize/float-induction.ll
Log Message:
-----------
[InstCombine] Add canonicalization of `sitofp` -> `uitofp nneg`
This is essentially the same as #82404 but has the `nneg` flag which
allows the backend to reliably undo the transform.
Closes #88299
Commit: 885b8d9bb5192267cb2449a9ddec28e20ac9300e
https://github.com/llvm/llvm-project/commit/885b8d9bb5192267cb2449a9ddec28e20ac9300e
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rv64xtheadba.ll
Log Message:
-----------
[RISCV] Enable mul strength reduction for XTheadBa
This vendor extension has the same shift_add as zba, and most of the same
patterns are duplicated. Enable it here too so the configurations don't
diverge.
Commit: c6e01627acf8591830ee1d211cff4d5388095f3d
https://github.com/llvm/llvm-project/commit/c6e01627acf8591830ee1d211cff4d5388095f3d
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/include/llvm/Transforms/Utils/LoopUtils.h
M llvm/lib/Transforms/Utils/LoopUtils.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/sve-select-cmp.ll
M llvm/test/Transforms/LoopVectorize/RISCV/select-cmp-reduction.ll
M llvm/test/Transforms/LoopVectorize/epilog-vectorization-any-of-reductions.ll
M llvm/test/Transforms/LoopVectorize/select-cmp-predicated.ll
M llvm/test/Transforms/LoopVectorize/select-cmp.ll
M llvm/test/Transforms/LoopVectorize/select-reduction-start-value-may-be-undef-or-poison.ll
Log Message:
-----------
Revert "Reapply "[LV] Improve AnyOf reduction codegen. (#78304)""
This reverts commit c6e38b928c56f562aea68a8e90f02dbdf0eada85.
Causes miscompiles, see comments on #78304.
Commit: 266b2a26408c42ed1ac84ef38dfc41695423d9da
https://github.com/llvm/llvm-project/commit/266b2a26408c42ed1ac84ef38dfc41695423d9da
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
A llvm/test/Transforms/InstCombine/known-fpclass-reduce-signbit.ll
M llvm/test/Transforms/InstSimplify/known-never-infinity.ll
Log Message:
-----------
[ValueTracking] Add tests for `computeKnownFPClass` of `llvm.vector.reduce.{fmin,fmax,fmaximum,fminimum}`; NFC
Commit: 9eeae4421198b99eab3ae9a4ff678fda26bbda2a
https://github.com/llvm/llvm-project/commit/9eeae4421198b99eab3ae9a4ff678fda26bbda2a
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstCombine/known-fpclass-reduce-signbit.ll
M llvm/test/Transforms/InstSimplify/known-never-infinity.ll
Log Message:
-----------
[ValueTracking] Implement `computeKnownFPClass` for `llvm.vector.reduce.{fmin,fmax,fmaximum,fminimum}`
Closes #88408
Commit: d19bd05c79ad3b1a2c3cb439c3fc60825f66bed7
https://github.com/llvm/llvm-project/commit/d19bd05c79ad3b1a2c3cb439c3fc60825f66bed7
Author: Hubert Tong <hubert-reinterpretcast at users.noreply.github.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
Log Message:
-----------
Clang Release Notes: Fix reST formatting
Fix a use of inline code markup to have a non-word character after the ending delimiter as required by reST.
Commit: 3074060d6a1d7d2e74cb767876bd9e5192d12007
https://github.com/llvm/llvm-project/commit/3074060d6a1d7d2e74cb767876bd9e5192d12007
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/unittests/ProfileData/MemProfTest.cpp
Log Message:
-----------
[memprof] Use SizeIs (NFC) (#88984)
Commit: b1385dbd98e877a374ce303fd9d1774faf98e31b
https://github.com/llvm/llvm-project/commit/b1385dbd98e877a374ce303fd9d1774faf98e31b
Author: Michael Jones <michaelrj at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M libc/hdr/types/CMakeLists.txt
Log Message:
-----------
[libc][NFC] fix typo in fenv type proxy headers (#88982)
libc.incude.fenv ->
libc.include.fenv
Commit: 8aa061ffc75adfab4b3084c918e7d4a3ccd5ba43
https://github.com/llvm/llvm-project/commit/8aa061ffc75adfab4b3084c918e7d4a3ccd5ba43
Author: Peiming Liu <peiming at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.td
Log Message:
-----------
[mlir][sparse][NFC] switching to using `let argments/results` in td files (#88994)
followed the same style used in "TensorOps.td".
Commit: 9067070d91e9d8cdd8509ffa56a076f08a3d7281
https://github.com/llvm/llvm-project/commit/9067070d91e9d8cdd8509ffa56a076f08a3d7281
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/Basic/Targets/RISCV.cpp
M clang/lib/Driver/ToolChains/Arch/RISCV.cpp
M clang/test/Driver/riscv-features.c
M llvm/lib/Target/RISCV/RISCVExpandPseudoInsts.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVProcessors.td
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/test/CodeGen/RISCV/memcpy-inline.ll
M llvm/test/CodeGen/RISCV/memcpy.ll
M llvm/test/CodeGen/RISCV/memset-inline.ll
M llvm/test/CodeGen/RISCV/pr56110.ll
M llvm/test/CodeGen/RISCV/riscv-func-target-feature.ll
M llvm/test/CodeGen/RISCV/rvv/concat-vectors-constant-stride.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-load-combine.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-unaligned.ll
M llvm/test/CodeGen/RISCV/rvv/memcpy-inline.ll
M llvm/test/CodeGen/RISCV/rvv/memset-inline.ll
M llvm/test/CodeGen/RISCV/rvv/unaligned-loads-stores.ll
M llvm/test/CodeGen/RISCV/unaligned-load-store.ll
M llvm/utils/TableGen/RISCVTargetDefEmitter.cpp
Log Message:
-----------
[RISCV] Re-separate unaligned scalar and vector memory features in the backend. (#88954)
This is largely a revert of commit
e81796671890b59c110f8e41adc7ca26f8484d20.
As #88029 shows, there exists hardware that only supports unaligned
scalar.
I'm leaving how this gets exposed to the clang interface to a future
patch.
Commit: 988ffd06722e7e056b239efe497345ac97be33db
https://github.com/llvm/llvm-project/commit/988ffd06722e7e056b239efe497345ac97be33db
Author: Usama Hameed <u_hameed at apple.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M lldb/test/API/functionalities/asan/Makefile
M lldb/test/API/functionalities/asan/TestMemoryHistory.py
M lldb/test/API/functionalities/asan/TestReportData.py
Log Message:
-----------
Add asan tests for libsanitizers. (#88349) (#88962)
The previous patch was reverted because the test fails to build when
libsanitizers is not present. This patch catches the BuildError
exception and skips the test appropriately.
This patch tests LLDB integration with libsanitizers for ASan.
rdar://111856681
Commit: 50a371795bcfe0731f8882e42712dff33cbbef9b
https://github.com/llvm/llvm-project/commit/50a371795bcfe0731f8882e42712dff33cbbef9b
Author: darkbuck <michael.hliao at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86InstrCMovSetCC.td
Log Message:
-----------
[X86] Fix instr desc of CFCMOV's 'mr' variants
- With the memory operand as the destination, 'mr' variants of CFCMOV
works like STORE and their memory operands should be input operands
instead of output ones.
Reviewers: XinWang10, arsenm
Pull Request: https://github.com/llvm/llvm-project/pull/88970
Commit: 1bc092181bf50d6be95b165e91bd906710710ca7
https://github.com/llvm/llvm-project/commit/1bc092181bf50d6be95b165e91bd906710710ca7
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
Log Message:
-----------
[bazel] Add support for lldb-server (#88989)
Commit: be50a259f1fe77240b000f6b695b9b6394f4936b
https://github.com/llvm/llvm-project/commit/be50a259f1fe77240b000f6b695b9b6394f4936b
Author: Andy Kaylor <andrew.kaylor at intel.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/include/llvm/IR/InstrTypes.h
M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
M llvm/test/Transforms/InstCombine/fast-math.ll
M llvm/test/Transforms/InstCombine/fmul-pow.ll
M llvm/test/Transforms/InstCombine/fmul.ll
Log Message:
-----------
Update foldFMulReassoc to respect absent fast-math flags (#88589)
This change updates a few of the transformations in foldFMulReassoc to
respect absent fast-math flags in cases where fmul and fdiv, fadd, or fsub
instructions were being folded but the code was only checking for
fast-math flags on the fmul instruction and was transferring flags to
the folded instruction that were not present on the other original
instructions.
This fixes https://github.com/llvm/llvm-project/issues/82857
Commit: ce5381e22a50f354cf3d1763589f1daf155c481b
https://github.com/llvm/llvm-project/commit/ce5381e22a50f354cf3d1763589f1daf155c481b
Author: Prashant Kumar <pk5561 at gmail.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/test/Dialect/Linalg/vectorization-unsupported.mlir
M mlir/test/Dialect/Linalg/vectorization.mlir
Log Message:
-----------
[mlir][vector] Determine vector sizes from the result shape in the ca… (#88249)
…se of tensor pack
When the vector sizes are not passed as inputs to the vector transform
operation, the vector sizes are queried from the static result shape in
the case of tensor.pack op.
Commit: 8c9f45e2decbb68dbf83794f98291b53f59390f8
https://github.com/llvm/llvm-project/commit/8c9f45e2decbb68dbf83794f98291b53f59390f8
Author: Eli Friedman <efriedma at quicinc.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/include/clang/Basic/arm_fp16.td
M clang/include/clang/Basic/arm_neon.td
M clang/utils/TableGen/NeonEmitter.cpp
Log Message:
-----------
[ARM64EC] Fix arm_neon.h on ARM64EC. (#88572)
Since 97fe519d, in ARM64EC mode, we don't define `__aarch64__`. Fix
various preprocessor guards to account for this.
Commit: 8c9d814b66f7df274de41225575817188fbeed4f
https://github.com/llvm/llvm-project/commit/8c9d814b66f7df274de41225575817188fbeed4f
Author: Kai Sasaki <lewuathe at gmail.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
M mlir/test/Conversion/ComplexToStandard/convert-to-standard.mlir
Log Message:
-----------
[mlir][complex] Fastmath flag for complex angle (#88658)
See
https://discourse.llvm.org/t/rfc-fastmath-flags-support-in-complex-dialect/71981
Commit: efd60556f759fbfa0fc0a5984463daeaef20799c
https://github.com/llvm/llvm-project/commit/efd60556f759fbfa0fc0a5984463daeaef20799c
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/pr46983.ll
Log Message:
-----------
Revert "[SLP]Attempt to vectorize long stores, if short one failed."
This reverts commit 7d4e8c1f3bbfe976f4871c9cf953f76d771b0eda.
Contrary to the commit description, this does cause large
compile-time regressions (up to 10% on individual files).
Commit: 7c2688977567ea5ac1203daa3c452b541ef55f67
https://github.com/llvm/llvm-project/commit/7c2688977567ea5ac1203daa3c452b541ef55f67
Author: Michael Liao <michael.hliao at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Target/Sparc/SparcInstrInfo.td
Log Message:
-----------
[Sparc] Fix instr desc of special register stores
- Those special register stores are STORE and their memory operands are
input operands instead of output ones.
Reviewers:
JDevlieghere, arsenm, yinying-lisa-li, koachan, PeimingLiu, jyknight, aartbik, matthias-springer
Reviewed By: arsenm
Pull Request: https://github.com/llvm/llvm-project/pull/88971
Commit: 62853a246ef131c4de73b63a141c85a0b14c75a5
https://github.com/llvm/llvm-project/commit/62853a246ef131c4de73b63a141c85a0b14c75a5
Author: Michael Liao <michael.hliao at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
A llvm/test/TableGen/def-multiple-operands.td
M llvm/utils/TableGen/InstrInfoEmitter.cpp
Log Message:
-----------
[TableGen][InstrInfoEmitter] Count sub-operands on def operands
- If a def operand includes multiple sub-operands, count them when
generating instr info.
- Found issues in x86 and sparc backends, where memory operands of
store or store-like instructions are wrongly placed in the output
list.
Reviewers: jayfoad, arsenm, Pierre-vh
Reviewed By: arsenm
Pull Request: https://github.com/llvm/llvm-project/pull/88972
Commit: d0f718e06848774a4e9d0b253cf75c1408b5f41a
https://github.com/llvm/llvm-project/commit/d0f718e06848774a4e9d0b253cf75c1408b5f41a
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Initialization.h
M clang/include/clang/Sema/Overload.h
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaOverload.cpp
Log Message:
-----------
Revert "Improve stack usage to increase recursive initialization depth" (#89006)
Reverts llvm/llvm-project#88546
Leak and performance regression.
Details in #88546
Commit: 1f35e7227178843679d1d364bc5fc0bcfee2eb95
https://github.com/llvm/llvm-project/commit/1f35e7227178843679d1d364bc5fc0bcfee2eb95
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/include/clang/Basic/Builtins.td
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Sema/SemaChecking.cpp
A clang/test/CodeGen/builtin-allow-runtime-check.cpp
A clang/test/Sema/builtin-allow-runtime-check.c
Log Message:
-----------
[clang][builtin] Implement __builtin_allow_runtime_check (#87568)
RFC:
https://discourse.llvm.org/t/rfc-introduce-new-clang-builtin-builtin-allow-runtime-check/78281
---------
Co-authored-by: Noah Goldstein <goldstein.w.n at gmail.com>
Co-authored-by: Aaron Ballman <aaron at aaronballman.com>
Commit: 52a4d8123c2a9157f2e543945f7b6148da3ecfdb
https://github.com/llvm/llvm-project/commit/52a4d8123c2a9157f2e543945f7b6148da3ecfdb
Author: Maksim Panchenko <maks at fb.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M bolt/include/bolt/Rewrite/RewriteInstance.h
Log Message:
-----------
[BOLT][NFC] Remove unused function (#89009)
getFileOffsetFor() was replaced with getFileOffsetForAddress().
Commit: 0af8caeb2fa4d68fcabe6297383d1cdf1cae8b87
https://github.com/llvm/llvm-project/commit/0af8caeb2fa4d68fcabe6297383d1cdf1cae8b87
Author: Maksim Panchenko <maks at fb.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M bolt/include/bolt/Rewrite/RewriteInstance.h
M bolt/lib/Rewrite/RewriteInstance.cpp
Log Message:
-----------
[BOLT][NFC] Remove another unused function (#89011)
RewriteInstance::isKSymtabSection() is deprecated.
Commit: f40f4fcee506deacda0594362509ee7dddcf5e37
https://github.com/llvm/llvm-project/commit/f40f4fcee506deacda0594362509ee7dddcf5e37
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp
M clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-templates.cpp
M clang/include/clang/Analysis/Analyses/ExprMutationAnalyzer.h
M clang/lib/Analysis/ExprMutationAnalyzer.cpp
M clang/unittests/Analysis/ExprMutationAnalyzerTest.cpp
Log Message:
-----------
[clang analysis] ExprMutationAnalyzer support recursive forwarding reference (#88843)
Reapply for #88765.
Partially fixes: #60895.
Commit: 3204f3e30b8e15ce6e5d10d5d7bfbaa7cf5cd1f4
https://github.com/llvm/llvm-project/commit/3204f3e30b8e15ce6e5d10d5d7bfbaa7cf5cd1f4
Author: Luke Lau <luke at igalia.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
Log Message:
-----------
[RISCV] Convert VTYPE operand check to assert in RISCVInsertVSETVLI. NFC
The VTYPE operands of a vsetvli pseudo are always immediates
Commit: c81e5faa6f55d3e390b5e550f78ab08fc6a65ee9
https://github.com/llvm/llvm-project/commit/c81e5faa6f55d3e390b5e550f78ab08fc6a65ee9
Author: Brandon Wu <brandon.wu at sifive.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/lib/Target/RISCV/RISCVFrameLowering.h
A llvm/test/CodeGen/RISCV/rvv-cfi-info.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert-subvector.ll
Log Message:
-----------
[RISCV] Add CFI information for vector callee-saved registers (#86811)
Currently the CFI offset for RVV registers are not handled entirely,
this patch add those information for either stack unwinding or
debugger to work correctly on RVV callee-saved stack object.
Depends On D154576
Differential Revision: https://reviews.llvm.org/D156846
Commit: e6ecff8d95b9175e70e0d43e14c2975c8f69d718
https://github.com/llvm/llvm-project/commit/e6ecff8d95b9175e70e0d43e14c2975c8f69d718
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/docs/StandardCPlusPlusModules.rst
Log Message:
-----------
[C++20] [Modules] Add Release Notes and Documents for Reduced BMI
See
https://discourse.llvm.org/t/rfc-c-20-modules-introduce-thin-bmi-and-decls-hash/74755,
https://github.com/llvm/llvm-project/pull/75894 and
https://github.com/llvm/llvm-project/pull/85050 for the background.
Commit: eafd515ecaaa100623eebc7fa4d7c36a361bf708
https://github.com/llvm/llvm-project/commit/eafd515ecaaa100623eebc7fa4d7c36a361bf708
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/test/ClangScanDeps/error.cpp
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
Log Message:
-----------
[clang][deps] Support single-file mode for all formats (#88764)
The `clang-scan-deps` tool can be used for fast scanning of batches of
compilation commands passed in via the `-compilation-database` option.
This gets awkward in our tests where we have to resort to using
`.in`/`.template` JSON files and running them through `sed` in order to
embed LIT's `%t` variable into them. However, most of our tests only
need to pass single compilation command, so this dance is entirely
unnecessary.
This patch makes sure the existing "per-file" mode (where the
compilation command is passed in-line after the `--` argument) works for
all output formats, not only `P1689`.
Commit: 6a4eaf9b33d8091b7d09b2a30a3fc8993a01db31
https://github.com/llvm/llvm-project/commit/6a4eaf9b33d8091b7d09b2a30a3fc8993a01db31
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/test/ClangScanDeps/module-format.c
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
M clang/tools/clang-scan-deps/Opts.td
Log Message:
-----------
[clang][deps] Add `-o` flag to specify output path (#88767)
This makes it possible to pass "-o /dev/null" to `clang-scan-deps` and
skip some potentially expensive work, making timings less noisy. Also
removes the need for stream redirection.
Commit: f71e25bb669d662f98823d6d81b3f918538c9239
https://github.com/llvm/llvm-project/commit/f71e25bb669d662f98823d6d81b3f918538c9239
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/include/llvm/ProfileData/MemProf.h
Log Message:
-----------
[memprof] Simplify IndexedMemProfRecord::operator== (NFC) (#88986)
llvm::SmallVector::operator== exactly meets our needs.
Commit: fca2a493251597967d5d758ea0748c66dd29371a
https://github.com/llvm/llvm-project/commit/fca2a493251597967d5d758ea0748c66dd29371a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
Log Message:
-----------
[RISCV] Simplify FindRegWithEncoding in copyPhysRegVector. NFC (#89001)
Instead of searching all encodings, we can convert the encoding back to
a register and use getMatchingSuperReg.
Commit: a6fcbcce8f79adfb2e4338859f3a41fc2538bad1
https://github.com/llvm/llvm-project/commit/a6fcbcce8f79adfb2e4338859f3a41fc2538bad1
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M libcxx/include/__chrono/formatter.h
M libcxx/test/std/time/time.syn/formatter.file_time.pass.cpp
M libcxx/test/std/time/time.syn/formatter.sys_time.pass.cpp
Log Message:
-----------
[libc++][TZDB] Improves time zone format specifiers. (#85797)
Per [tab:time.format.spec]
%z The offset from UTC as specified in ISO 8601-1:2019, subclause
5.3.4.1. For example -0430 refers to 4 hours 30 minutes behind UTC.
If the offset is zero, +0000 is used. The modified commands %Ez and
%Oz insert a : between the hours and minutes: -04:30. If the offset
information is not available, an exception of type format_error is
thrown.
Typically the modified versions Oz or Ez would have wording like
The modified command %OS produces the locale's alternative
representation.
In this case the modified version does not depend on the locale.
This change is a preparation for formatting sys_info which has time zone
information. The function time_put<_CharT>::put() does not have proper
time zone support, therefore it's a manual implementation.
Fixes https://github.com/llvm/llvm-project/issues/78184
Commit: e096c144921daba59963f15e89d2ca6fb32d3a78
https://github.com/llvm/llvm-project/commit/e096c144921daba59963f15e89d2ca6fb32d3a78
Author: Balazs Benics <benicsbalazs at gmail.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/StaticAnalyzer/Checkers/cert/InvalidPtrChecker.cpp
A clang/test/Analysis/invalid-ptr-checker.cpp
Log Message:
-----------
[analyzer] Fix a security.cert.env.InvalidPtr crash
Fixes #88181
Commit: 024281d4d26344f9613b9115ea1fcbdbdba23235
https://github.com/llvm/llvm-project/commit/024281d4d26344f9613b9115ea1fcbdbdba23235
Author: Balazs Benics <benicsbalazs at gmail.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/cert/InvalidPtrChecker.cpp
Log Message:
-----------
[analyzer] Harden security.cert.env.InvalidPtr checker fn matching
Relates to #88181
Commit: b851c7f1fc4fd83ea84d565bbdc30fd0d356788c
https://github.com/llvm/llvm-project/commit/b851c7f1fc4fd83ea84d565bbdc30fd0d356788c
Author: martinboehme <mboehme at google.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
Log Message:
-----------
[clang][dataflow] Support `StmtExpr` in `PropagateResultObject()`. (#88872)
This patch adds a test that assert-fails without the fix.
Commit: 47148832d4e3bf4901430732f1af6673147accb2
https://github.com/llvm/llvm-project/commit/47148832d4e3bf4901430732f1af6673147accb2
Author: Hideto Ueno <uenoku.tokotoko at gmail.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M mlir/include/mlir-c/IR.h
M mlir/include/mlir/Bindings/Python/PybindAdaptors.h
M mlir/lib/Bindings/Python/IRCore.cpp
M mlir/lib/Bindings/Python/IRModule.h
M mlir/lib/CAPI/IR/IR.cpp
M mlir/test/CAPI/ir.c
M mlir/test/python/ir/operation.py
Log Message:
-----------
[mlir][python] Add `walk` method to PyOperationBase (#87962)
This commit adds `walk` method to PyOperationBase that uses a python
object as a callback, e.g. `op.walk(callback)`. Currently callback must
return a walk result explicitly.
We(SiFive) have implemented walk method with python in our internal
python tool for a while. However the overhead of python is expensive and
it didn't scale well for large MLIR files. Just replacing walk with this
version reduced the entire execution time of the tool by 30~40% and
there are a few configs that the tool takes several hours to finish so
this commit significantly improves tool performance.
Commit: 1bccbe1f49abc39b9f980cf3f1b171da5541d1a4
https://github.com/llvm/llvm-project/commit/1bccbe1f49abc39b9f980cf3f1b171da5541d1a4
Author: martinboehme <mboehme at google.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
Log Message:
-----------
[clang][dataflow] Treat `BuiltinBitCastExpr` correctly in `PropagateResultObject()`. (#88875)
This patch includes a test that assert-fails without the fix.
Commit: 64c649585ca23a0c996d8814d2796cd348441d69
https://github.com/llvm/llvm-project/commit/64c649585ca23a0c996d8814d2796cd348441d69
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseObjc.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/SemaDecl.cpp
Log Message:
-----------
[clang][NFC] Move `Sema::SkipBodyInfo` into namespace scope
This makes it forward-declarable, and needed from splitting `Sema` up.
Commit: 16f188761da1df6ba5e6627b8742aacfec8e9ec5
https://github.com/llvm/llvm-project/commit/16f188761da1df6ba5e6627b8742aacfec8e9ec5
Author: YunQiang Su <syq at debian.org>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M compiler-rt/cmake/Modules/CompilerRTUtils.cmake
Log Message:
-----------
CompilerRT: Normalize COMPILER_RT_DEFAULT_TARGET_TRIPLE (#88835)
If LLVM is configured with -DLLVM_DEFAULT_TARGET_TRIPLE, or compiler_rt
is configured with -DCOMPILER_RT_DEFAULT_TARGET_TRIPLE, while the
argument is not normalized, such as Debian-style vendor-less triple,
clang will try to find libclang_rt in lib/<normalized_triple>, while
libclang_rt is placed into lib/<triple_arg>.
Let's also place libclang_rt into lib/<normalized_triple>.
Commit: b090569685699abe4a8031ad442a0f81e373146b
https://github.com/llvm/llvm-project/commit/b090569685699abe4a8031ad442a0f81e373146b
Author: Jesse Huang <jesse.huang at sifive.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M clang/test/Preprocessor/riscv-target-features.c
M llvm/docs/RISCVUsage.rst
M llvm/lib/Support/RISCVISAInfo.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/MC/RISCV/attribute-arch.s
M llvm/unittests/Support/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Support Zama16b1p0 (#88474)
This patch adds the support for Zama16b version 1.0, which has been
added to RVA23U64 optional extensions recently
Commit: d35a64363bb851045387717d2ef7d6449b7b547f
https://github.com/llvm/llvm-project/commit/d35a64363bb851045387717d2ef7d6449b7b547f
Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M clang/test/SemaCXX/PR41441.cpp
Log Message:
-----------
Revert "Fix test from #83124 and #88902"
This reverts commit 0a789ea8a829da345e46d8224d73b2ddaba6969f.
Breaks builds, see discussion in https://github.com/llvm/llvm-project/pull/83124
Commit: dbda478693104f78b142375862d66f3369ad8c78
https://github.com/llvm/llvm-project/commit/dbda478693104f78b142375862d66f3369ad8c78
Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
R clang/test/SemaCXX/PR41441.cpp
A clang/test/SemaCXX/instantiate-new-placement-size.cpp
Log Message:
-----------
Revert "[Clang][Sema] placement new initializes typedef array with correct size (#88902)"
This reverts commit 5c6af605b307213453a9a043532b9293db21b5c6.
Breaks builds, see discussion in https://github.com/llvm/llvm-project/pull/83124
Commit: dd84d23adc84cc0c3d2b8fb8f0c353279d99d27a
https://github.com/llvm/llvm-project/commit/dd84d23adc84cc0c3d2b8fb8f0c353279d99d27a
Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/TreeTransform.h
R clang/test/SemaCXX/instantiate-new-placement-size.cpp
Log Message:
-----------
Revert "[Clang][Sema] placement new initializes typedef array with correct size (#83124)"
This reverts commit c309dc6d0759b23b570c563f611530ff1a49e1bd.
Breaks builds, see discussion in https://github.com/llvm/llvm-project/pull/83124
Commit: bc3620d3a8b1be9534a5635431b0aa09cc50ff3c
https://github.com/llvm/llvm-project/commit/bc3620d3a8b1be9534a5635431b0aa09cc50ff3c
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
A llvm/test/CodeGen/AMDGPU/amdgpu-libcall-sincos-pass-ordering.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sincos.ll
M llvm/test/CodeGen/AMDGPU/simplify-libcalls.ll
Log Message:
-----------
AMDGPU: Move libcall simplify into PeepholeEP (#88853)
We were running this immediately on the incoming IR, which
is still littered with temporary allocas obscuring trivial values.
This needs to run after initial SROA to handle sincos insertion.
Commit: e11b17a4ed90e74147594012207fc35a60515944
https://github.com/llvm/llvm-project/commit/e11b17a4ed90e74147594012207fc35a60515944
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaCast.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaExprObjC.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaPseudoObject.cpp
Log Message:
-----------
[clang][NFC] Refactor `Sema::CheckedConversionKind`
Convert it to scoped enum, and move it to namespace scope to enable forward declarations.
Commit: 49b209d0d1833a339e66735e1288c1805224603e
https://github.com/llvm/llvm-project/commit/49b209d0d1833a339e66735e1288c1805224603e
Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M openmp/libomptarget/plugins-nextgen/common/include/PluginInterface.h
M openmp/libomptarget/plugins-nextgen/common/src/PluginInterface.cpp
Log Message:
-----------
Revert "[Libomptarget] Rework Record & Replay to be a plugin member" (#89028)
Reverts llvm/llvm-project#88928
This broke the AMDGPU buildbots:
https://lab.llvm.org/buildbot/#/builders/193/builds/50201
https://lab.llvm.org/staging/#/builders/185/builds/5565
https://lab.llvm.org/buildbot/#/builders/259/builds/2955
Commit: 9f3334e9932fc9b55cd3590b140913222454c031
https://github.com/llvm/llvm-project/commit/9f3334e9932fc9b55cd3590b140913222454c031
Author: Matthias Springer <me at m-sp.org>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/SparseTensor/Transforms/Passes.td
M mlir/lib/Dialect/SparseTensor/Transforms/SparsificationAndBufferizationPass.cpp
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_block3d.mlir
Log Message:
-----------
[mlir][SparseTensor] Add missing dependent dialect to pass (#88870)
This commit fixes the following error when stopping the sparse compiler
pipeline after bufferization (e.g., with `test-analysis-only`):
```
LLVM ERROR: Building op `vector.print` but it isn't known in this MLIRContext: the dialect may not be loaded or this operation hasn't been added by the dialect. See also https://mlir.llvm.org/getting_started/Faq/#registered-loaded-dependent-whats-up-with-dialects-management
```
Commit: 889dfd4ab35892840f2bd2d6d7fed6fac025e18e
https://github.com/llvm/llvm-project/commit/889dfd4ab35892840f2bd2d6d7fed6fac025e18e
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M libc/src/__support/macros/sanitizer.h
Log Message:
-----------
[libc][msan] Fix "non-constexpr function '__msan_unpoison' cannot be used in a constant expression" (#88719)
Prior to this patch, calling `cpp::bit_cast<T>` in `constexpr`
expressions under `-fsanitize=memory` would fail with the following
message "non-constexpr function '__msan_unpoison' cannot be used in a
constant expression".
This patch makes sure that the `__msan_unpoison` expression is guarded
by `!__builtin_is_constant_evaluated()`.
Commit: 17b86d5978af8d171fa28763a9e5eba3ce93713a
https://github.com/llvm/llvm-project/commit/17b86d5978af8d171fa28763a9e5eba3ce93713a
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/test/CodeGen/X86/combine-ptest.ll
Log Message:
-----------
[X86][NFC] Add test cases for pr88958
Commit: d1a69e4a6ee0b04778da7728123c47eef2290564
https://github.com/llvm/llvm-project/commit/d1a69e4a6ee0b04778da7728123c47eef2290564
Author: shamithoke <152091883+shamithoke at users.noreply.github.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
Move gfni for bitreverse check out of SSSE3. (#88938)
For lowering bitreverse using GFNI, the check is put under SSSE3. This can be pulled out of SSSE3.
Co-authored-by: shami <shami_thoke at yahoo.com>
Commit: a16bb0701409376dee3a587ae351a6019d6de4e0
https://github.com/llvm/llvm-project/commit/a16bb0701409376dee3a587ae351a6019d6de4e0
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M lldb/packages/Python/lldbsuite/test/dotest.py
Log Message:
-----------
[lldb][test] Improve invalid compiler error message
I was debugging space separation issues when passing user arguments
and noticed this error is really hard to read in that scenario.
Put "" around the invalid compiler name so you can tell whether
you have spaces around it that's causing the problem.
Commit: d9a5aa8e2d755643cf4e7fa86aa831ed226fe54d
https://github.com/llvm/llvm-project/commit/d9a5aa8e2d755643cf4e7fa86aa831ed226fe54d
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/include/llvm/IR/PatternMatch.h
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/IR/Constants.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/test/Transforms/InstCombine/X86/x86-vector-shifts.ll
M llvm/test/Transforms/InstCombine/abs-1.ll
M llvm/test/Transforms/InstCombine/add-mask-neg.ll
M llvm/test/Transforms/InstCombine/add.ll
M llvm/test/Transforms/InstCombine/and-or-icmps.ll
M llvm/test/Transforms/InstCombine/and-xor-or.ll
M llvm/test/Transforms/InstCombine/and.ll
M llvm/test/Transforms/InstCombine/and2.ll
M llvm/test/Transforms/InstCombine/ashr-lshr.ll
M llvm/test/Transforms/InstCombine/ashr-or-mul-abs.ll
M llvm/test/Transforms/InstCombine/binop-and-shifts.ll
M llvm/test/Transforms/InstCombine/binop-of-displaced-shifts.ll
M llvm/test/Transforms/InstCombine/canonicalize-clamp-like-pattern-between-zero-and-positive-threshold.ll
M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-eq-to-icmp-ule.ll
M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-ne-to-icmp-ugt.ll
M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-sge-to-icmp-sle.ll
M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-sgt-to-icmp-sgt.ll
M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-sle-to-icmp-sle.ll
M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-slt-to-icmp-sgt.ll
M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-uge-to-icmp-ule.ll
M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-ugt-to-icmp-ugt.ll
M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-ule-to-icmp-ule.ll
M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-ult-to-icmp-ugt.ll
M llvm/test/Transforms/InstCombine/canonicalize-low-bit-mask-and-icmp-eq-to-icmp-ule.ll
M llvm/test/Transforms/InstCombine/canonicalize-low-bit-mask-and-icmp-ne-to-icmp-ugt.ll
M llvm/test/Transforms/InstCombine/canonicalize-low-bit-mask-v2-and-icmp-eq-to-icmp-ule.ll
M llvm/test/Transforms/InstCombine/canonicalize-low-bit-mask-v2-and-icmp-ne-to-icmp-ugt.ll
M llvm/test/Transforms/InstCombine/canonicalize-low-bit-mask-v4-and-icmp-eq-to-icmp-ule.ll
M llvm/test/Transforms/InstCombine/canonicalize-low-bit-mask-v4-and-icmp-ne-to-icmp-ugt.ll
M llvm/test/Transforms/InstCombine/cast-int-icmp-eq-0.ll
M llvm/test/Transforms/InstCombine/cast-unsigned-icmp-eqcmp-0.ll
M llvm/test/Transforms/InstCombine/cast.ll
M llvm/test/Transforms/InstCombine/ctpop-cttz.ll
M llvm/test/Transforms/InstCombine/ctpop.ll
M llvm/test/Transforms/InstCombine/fabs-as-int.ll
M llvm/test/Transforms/InstCombine/fabs.ll
M llvm/test/Transforms/InstCombine/fast-math.ll
M llvm/test/Transforms/InstCombine/fcmp-special.ll
M llvm/test/Transforms/InstCombine/fcmp.ll
M llvm/test/Transforms/InstCombine/fdiv.ll
M llvm/test/Transforms/InstCombine/fma.ll
M llvm/test/Transforms/InstCombine/fmul.ll
M llvm/test/Transforms/InstCombine/fneg-as-int.ll
M llvm/test/Transforms/InstCombine/fneg-fabs-as-int.ll
M llvm/test/Transforms/InstCombine/fneg.ll
M llvm/test/Transforms/InstCombine/fold-inc-of-add-of-not-x-and-y-to-sub-x-from-y.ll
M llvm/test/Transforms/InstCombine/fold-sub-of-not-to-inc-of-add.ll
M llvm/test/Transforms/InstCombine/fpcast.ll
M llvm/test/Transforms/InstCombine/fsub.ll
M llvm/test/Transforms/InstCombine/funnel.ll
M llvm/test/Transforms/InstCombine/get-lowbitmask-upto-and-including-bit.ll
M llvm/test/Transforms/InstCombine/hoist-negation-out-of-bias-calculation.ll
M llvm/test/Transforms/InstCombine/hoist-not-from-ashr-operand.ll
M llvm/test/Transforms/InstCombine/icmp-uge-of-add-of-shl-one-by-bits-to-allones-and-val-to-icmp-eq-of-lshr-val-by-bits-and-0.ll
M llvm/test/Transforms/InstCombine/icmp-uge-of-not-of-shl-allones-by-bits-and-val-to-icmp-eq-of-lshr-val-by-bits-and-0.ll
M llvm/test/Transforms/InstCombine/icmp-ugt-of-shl-1-by-bits-and-val-to-icmp-eq-of-lshr-val-by-bits-and-0.ll
M llvm/test/Transforms/InstCombine/icmp-ule-of-shl-1-by-bits-and-val-to-icmp-ne-of-lshr-val-by-bits-and-0.ll
M llvm/test/Transforms/InstCombine/icmp-ult-of-add-of-shl-one-by-bits-to-allones-and-val-to-icmp-ne-of-lshr-val-by-bits-and-0.ll
M llvm/test/Transforms/InstCombine/icmp-ult-of-not-of-shl-allones-by-bits-and-val-to-icmp-ne-of-lshr-val-by-bits-and-0.ll
M llvm/test/Transforms/InstCombine/icmp.ll
M llvm/test/Transforms/InstCombine/integer-round-up-pow2-alignment.ll
M llvm/test/Transforms/InstCombine/invert-variable-mask-in-masked-merge-vector.ll
M llvm/test/Transforms/InstCombine/lshr-and-negC-icmpeq-zero.ll
M llvm/test/Transforms/InstCombine/lshr-and-signbit-icmpeq-zero.ll
M llvm/test/Transforms/InstCombine/masked-merge-add.ll
M llvm/test/Transforms/InstCombine/masked-merge-or.ll
M llvm/test/Transforms/InstCombine/masked-merge-xor.ll
M llvm/test/Transforms/InstCombine/min-positive.ll
M llvm/test/Transforms/InstCombine/minmax-fold.ll
M llvm/test/Transforms/InstCombine/minmax-intrinsics.ll
M llvm/test/Transforms/InstCombine/mul-inseltpoison.ll
M llvm/test/Transforms/InstCombine/mul.ll
M llvm/test/Transforms/InstCombine/not-add.ll
M llvm/test/Transforms/InstCombine/not.ll
M llvm/test/Transforms/InstCombine/omit-urem-of-power-of-two-or-zero-when-comparing-with-zero.ll
M llvm/test/Transforms/InstCombine/operand-complexity.ll
M llvm/test/Transforms/InstCombine/or.ll
M llvm/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-after-truncation-variant-b.ll
M llvm/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-after-truncation-variant-c.ll
M llvm/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-after-truncation-variant-d.ll
M llvm/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-variant-b.ll
M llvm/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-variant-c.ll
M llvm/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-variant-d.ll
M llvm/test/Transforms/InstCombine/pr53357.ll
M llvm/test/Transforms/InstCombine/redundant-left-shift-input-masking-after-truncation-variant-b.ll
M llvm/test/Transforms/InstCombine/redundant-left-shift-input-masking-after-truncation-variant-c.ll
M llvm/test/Transforms/InstCombine/redundant-left-shift-input-masking-after-truncation-variant-d.ll
M llvm/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-b.ll
M llvm/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-c.ll
M llvm/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-d.ll
M llvm/test/Transforms/InstCombine/reuse-constant-from-select-in-icmp.ll
M llvm/test/Transforms/InstCombine/rotate.ll
M llvm/test/Transforms/InstCombine/saturating-add-sub.ll
M llvm/test/Transforms/InstCombine/select-of-bittest.ll
M llvm/test/Transforms/InstCombine/select.ll
M llvm/test/Transforms/InstCombine/select_meta.ll
M llvm/test/Transforms/InstCombine/set-lowbits-mask-canonicalize.ll
M llvm/test/Transforms/InstCombine/sext.ll
M llvm/test/Transforms/InstCombine/shift-amount-reassociation-in-bittest.ll
M llvm/test/Transforms/InstCombine/shift-amount-reassociation-with-truncation-ashr.ll
M llvm/test/Transforms/InstCombine/shift-amount-reassociation-with-truncation-lshr.ll
M llvm/test/Transforms/InstCombine/shift-amount-reassociation.ll
M llvm/test/Transforms/InstCombine/shift-logic.ll
M llvm/test/Transforms/InstCombine/shl-and-negC-icmpeq-zero.ll
M llvm/test/Transforms/InstCombine/shl-and-signbit-icmpeq-zero.ll
M llvm/test/Transforms/InstCombine/signmask-of-sext-vs-of-shl-of-zext.ll
M llvm/test/Transforms/InstCombine/sub-not.ll
M llvm/test/Transforms/InstCombine/sub.ll
M llvm/test/Transforms/InstCombine/trunc-inseltpoison.ll
M llvm/test/Transforms/InstCombine/trunc-shift-trunc.ll
M llvm/test/Transforms/InstCombine/trunc.ll
M llvm/test/Transforms/InstCombine/unsigned-mul-lack-of-overflow-check-via-udiv-of-allones.ll
M llvm/test/Transforms/InstCombine/unsigned-mul-overflow-check-via-udiv-of-allones.ll
M llvm/test/Transforms/InstCombine/variable-signext-of-variable-high-bit-extraction.ll
M llvm/test/Transforms/InstCombine/vec_sext.ll
M llvm/test/Transforms/InstCombine/vector-casts-inseltpoison.ll
M llvm/test/Transforms/InstCombine/vector-casts.ll
M llvm/test/Transforms/InstCombine/vector-urem.ll
M llvm/test/Transforms/InstCombine/vector-xor.ll
M llvm/test/Transforms/InstCombine/zext-bool-add-sub.ll
M llvm/test/Transforms/InstSimplify/AndOrXor.ll
M llvm/test/Transforms/InstSimplify/call.ll
M llvm/test/Transforms/InstSimplify/compare.ll
M llvm/test/Transforms/InstSimplify/constantfold-add-nuw-allones-to-allones.ll
M llvm/test/Transforms/InstSimplify/constantfold-shl-nuw-C-to-C.ll
M llvm/test/Transforms/InstSimplify/div.ll
M llvm/test/Transforms/InstSimplify/fast-math-strictfp.ll
M llvm/test/Transforms/InstSimplify/fast-math.ll
M llvm/test/Transforms/InstSimplify/fdiv.ll
M llvm/test/Transforms/InstSimplify/floating-point-arithmetic-strictfp.ll
M llvm/test/Transforms/InstSimplify/floating-point-arithmetic.ll
M llvm/test/Transforms/InstSimplify/floating-point-compare.ll
M llvm/test/Transforms/InstSimplify/fminmax-folds.ll
M llvm/test/Transforms/InstSimplify/fp-nan.ll
M llvm/test/Transforms/InstSimplify/icmp-bool-constant.ll
M llvm/test/Transforms/InstSimplify/icmp-not-bool-constant.ll
M llvm/test/Transforms/InstSimplify/ldexp.ll
M llvm/test/Transforms/InstSimplify/mul.ll
M llvm/test/Transforms/InstSimplify/negate.ll
M llvm/test/Transforms/InstSimplify/or.ll
M llvm/test/Transforms/InstSimplify/ptrmask.ll
M llvm/test/Transforms/InstSimplify/rem.ll
M llvm/test/Transforms/InstSimplify/saturating-add-sub.ll
M llvm/test/Transforms/InstSimplify/sdiv.ll
M llvm/test/Transforms/InstSimplify/select-inseltpoison.ll
M llvm/test/Transforms/InstSimplify/select.ll
M llvm/test/Transforms/InstSimplify/shift.ll
M llvm/test/Transforms/InstSimplify/srem.ll
M llvm/test/Transforms/InstSimplify/sub.ll
M llvm/test/Transforms/InstSimplify/xor.ll
M llvm/test/Transforms/Reassociate/inverses.ll
M llvm/test/Transforms/Reassociate/negation.ll
M llvm/unittests/IR/ConstantsTest.cpp
M llvm/unittests/IR/PatternMatch.cpp
Log Message:
-----------
[PatternMatch] Do not accept undef elements in m_AllOnes() and friends (#88217)
Change all the cstval_pred_ty based PatternMatch helpers (things like
m_AllOnes and m_Zero) to only allow poison elements inside vector
splats, not undef elements.
Historically, we used to represent non-demanded elements in vectors
using undef. Nowadays, we use poison instead. As such, I believe that
support for undef in vector splats is no longer useful.
At the same time, while poison splat elements are pretty much always
safe to ignore, this is not generally the case for undef elements. We
have existing miscompiles in our tests due to this (see the
masked-merge-*.ll tests changed here) and it's easy to miss such cases
in the future, now that we write tests using poison instead of undef
elements.
I think overall, keeping support for undef elements no longer makes
sense, and we should drop it. Once this is done consistently, I think we
may also consider allowing poison in m_APInt by default, as doing that
change is much less risky than doing the same with undef.
This change involves a substantial amount of test changes. For most
tests, I've just replaced undef with poison, as I don't think there is
value in retaining both. For some tests (where the distinction between
undef and poison is important), I've duplicated tests.
Commit: 971237dab259bdaa619403fc6472bd1758d4dc18
https://github.com/llvm/llvm-project/commit/971237dab259bdaa619403fc6472bd1758d4dc18
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M flang/include/flang/Lower/CallInterface.h
M flang/include/flang/Optimizer/Dialect/FIROpsSupport.h
M flang/lib/Lower/CallInterface.cpp
M flang/lib/Optimizer/Transforms/ArrayValueCopy.cpp
A flang/test/Lower/HLFIR/internal-procedures-bindc-host.f90
M flang/test/Lower/HLFIR/internal-procedures.f90
M flang/test/Lower/OpenACC/acc-routine04.f90
M flang/test/Lower/OpenMP/threadprivate-host-association-2.f90
M flang/test/Lower/OpenMP/threadprivate-host-association.f90
M flang/test/Lower/character-elemental.f90
M flang/test/Lower/equivalence-with-host-assoc.f90
M flang/test/Lower/explicit-interface-results-2.f90
M flang/test/Lower/host-associated-functions.f90
M flang/test/Lower/host-associated-globals.f90
M flang/test/Lower/host-associated.f90
M flang/test/Lower/polymorphic.f90
Log Message:
-----------
[flang] Retain internal and BIND(C) host procedure link in FIR (#87796)
Currently, it is not possible to find back which fun.func is the host
procedure of some internal procedure because the mangling of the
internal procedure does not contain info about the BIND(C) name of the
host.
This info may be useful to ensure dwarf DW_TAG_subprogram of internal
procedures are nested under DW_TAG_subprogram of host procedures for
instance.
Commit: b512df660ef136f8bbd0895bf862a827923a6714
https://github.com/llvm/llvm-project/commit/b512df660ef136f8bbd0895bf862a827923a6714
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVPostLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVRegisterBankInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVRegisterBanks.td
M llvm/lib/Target/SPIRV/SPIRVRegisterInfo.td
M llvm/test/CodeGen/SPIRV/instructions/select-phi.ll
A llvm/test/CodeGen/SPIRV/instructions/select-ptr-load.ll
M llvm/test/CodeGen/SPIRV/instructions/select.ll
A llvm/test/CodeGen/SPIRV/select-builtin.ll
R llvm/test/CodeGen/SPIRV/select.ll
Log Message:
-----------
[SPIR-V] Improve Tablegen instruction selection and account for a pointer size of the target (#88725)
This PR resolves the issue that SPIR-V Backend uses the notion of a
pointer size of the target, most notably, in legalizer code, but
Tablegen instruction selection in SPIR-V Backend doesn't account for a
pointer size of the target. See
https://github.com/llvm/llvm-project/issues/88723 for a detailed
description. There are 3 test cases attached to the PR that reproduced
the issue, when dealing with spirv32-spirv64 differences, and are
working correctly now with this PR.
Commit: 42d801d4e42ff8c47c3a24d562774851e3a424f5
https://github.com/llvm/llvm-project/commit/42d801d4e42ff8c47c3a24d562774851e3a424f5
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
A llvm/test/CodeGen/SPIRV/transcoding/memcpy-zext.ll
M llvm/test/CodeGen/SPIRV/transcoding/spirv-private-array-initialization.ll
Log Message:
-----------
[SPIR-V] Account for zext in a llvm intrinsic call (#88903)
This PR addresses an issue that may arise when an integer argument size
differs from a machine word size for the target in a call to llvm
intrinsic. The following example demonstrates the issue:
```
@__const.test.arr = private unnamed_addr addrspace(2) constant [3 x i32] [i32 1, i32 2, i32 3]
define spir_func void @test() {
entry:
%arr = alloca [3 x i32], align 4
%dest = bitcast ptr %arr to ptr
call void @llvm.memcpy.p0.p2.i32(ptr align 4 %dest, ptr addrspace(2) align 4 @__const.test.arr, i32 1024, i1 false)
ret void
}
declare void @llvm.memcpy.p0.p2.i32(ptr nocapture writeonly, ptr addrspace(2) nocapture readonly, i32, i1)
```
Depending on the target this code may work or may fail without this PR
due to the fact that IR Translation step introduces additional `zext`
when type of the 3rd argument of `@llvm.memcpy.p0.p2.i32` differs from
machine word.
This PR addresses the issue by adding type deduction for a newly
inserted G_ZEXT generic opcode.
Commit: fa61f062a515be92a98cac64a9193498918c1225
https://github.com/llvm/llvm-project/commit/fa61f062a515be92a98cac64a9193498918c1225
Author: harishch4 <harishcse44 at gmail.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M flang/lib/Semantics/check-omp-structure.cpp
M flang/test/Lower/OpenMP/threadprivate-hlfir.f90
A flang/test/Semantics/OpenMP/threadprivate07.f90
Log Message:
-----------
Fix threadprivate variable scope inside BLOCK construct. (#88921)
When a local variable inside a BLOCK construct is used as threadprivate
variable, llvm-flang throws below error:
> error: The THREADPRIVATE directive and the common block or variable in
it must appear in the same declaration section of a scoping unit
Commit: cbe148b730a04fc95eda9a43903f0af487884a96
https://github.com/llvm/llvm-project/commit/cbe148b730a04fc95eda9a43903f0af487884a96
Author: Mel Chen <mel.chen at sifive.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV][NFC] Remove the declaration of function `fixReduction`. (#88491)
Commit: a9bafe91dd088c5fa6f074c14dd3a1af25f00457
https://github.com/llvm/llvm-project/commit/a9bafe91dd088c5fa6f074c14dd3a1af25f00457
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanValue.h
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/vector-reverse-mask4.ll
M llvm/test/Transforms/LoopVectorize/X86/masked_load_store.ll
M llvm/unittests/Transforms/Vectorize/VPlanHCFGTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
Log Message:
-----------
[VPlan] Split VPWidenMemoryInstructionRecipe (NFCI). (#87411)
This patch introduces a new VPWidenMemoryRecipe base class and distinct
sub-classes to model loads and stores.
This is a first step in an effort to simplify and modularize code
generation for widened loads and stores and enable adding further more
specialized memory recipes.
PR: https://github.com/llvm/llvm-project/pull/87411
Commit: f4737a2edd900df661750116821806bb45e4086a
https://github.com/llvm/llvm-project/commit/f4737a2edd900df661750116821806bb45e4086a
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/stable_ir_values_funcs.ll.expected
M llvm/utils/UpdateTestChecks/common.py
Log Message:
-----------
update_test_checks: keep names stable with generated functions (#87988)
Collect the original check lines in a manner that is independent of
where the check lines appear in the file. This is so that we keep
FileCheck variable names stable even when --include-generated-funcs is
used.
Reported-by: Ruiling Song <ruiling.song at amd.com>
Commit: 3eb0ba34b0a2a29c2f34ead2b84fdf9b62cb29c1
https://github.com/llvm/llvm-project/commit/3eb0ba34b0a2a29c2f34ead2b84fdf9b62cb29c1
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
M flang/test/Lower/OpenMP/FIR/if-clause.f90
M flang/test/Lower/OpenMP/FIR/loop-combined.f90
M flang/test/Lower/OpenMP/FIR/parallel-private-clause.f90
M flang/test/Lower/OpenMP/FIR/simd.f90
M flang/test/Lower/OpenMP/if-clause.f90
M flang/test/Lower/OpenMP/loop-combined.f90
M flang/test/Lower/OpenMP/parallel-private-clause.f90
M flang/test/Lower/OpenMP/simd.f90
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
M mlir/include/mlir/Dialect/OpenMP/OpenMPClauseOperands.h
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/lib/Conversion/OpenMPToLLVM/OpenMPToLLVM.cpp
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Conversion/OpenMPToLLVM/convert-to-llvmir.mlir
M mlir/test/Dialect/OpenMP/invalid.mlir
M mlir/test/Dialect/OpenMP/ops.mlir
M mlir/test/Target/LLVMIR/openmp-llvm.mlir
Log Message:
-----------
[MLIR][Flang][OpenMP] Make omp.simdloop into a loop wrapper (#87365)
This patch updates the definition of `omp.simdloop` to enforce the
restrictions of a wrapper operation. It has been renamed to `omp.simd`,
to better reflect the naming used in the spec. All uses of "simdloop" in
function names have been updated accordingly.
Some changes to Flang lowering and OpenMP to LLVM IR translation are
introduced to prevent the introduction of compilation/test failures. The
eventual long term solution might be different.
Commit: 16b0be613205a37519e2bfec1a904ceaa89636e7
https://github.com/llvm/llvm-project/commit/16b0be613205a37519e2bfec1a904ceaa89636e7
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
Log Message:
-----------
[MLIR][OpenMP] NFC: Remove LoopControl parsing/printing code (#88909)
This patch removes the LoopControl parsing/printing functions that are
no longer used after transitioning `omp.simdloop` and `omp.taskloop`
into loop wrapper operations.
Commit: 00bb3d2b57cfd592cb29fb8751f9f966b2819858
https://github.com/llvm/llvm-project/commit/00bb3d2b57cfd592cb29fb8751f9f966b2819858
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M bolt/include/bolt/Rewrite/RewriteInstance.h
M bolt/lib/Rewrite/RewriteInstance.cpp
M clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp
M clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-templates.cpp
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/StandardCPlusPlusModules.rst
M clang/docs/tools/clang-formatted-files.txt
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/AST/StmtOpenACC.h
M clang/include/clang/Analysis/Analyses/ExprMutationAnalyzer.h
A clang/include/clang/Analysis/FlowSensitive/ASTOps.h
M clang/include/clang/Analysis/FlowSensitive/DataflowAnalysisContext.h
M clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/Cuda.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/OpenACCClauses.def
M clang/include/clang/Basic/OpenACCKinds.h
M clang/include/clang/Basic/arm_fp16.td
M clang/include/clang/Basic/arm_neon.td
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaOpenACC.h
A clang/include/clang/Sema/SemaOpenMP.h
M clang/include/clang/Serialization/ModuleFileExtension.h
M clang/include/clang/Serialization/PCHContainerOperations.h
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.h
M clang/lib/AST/Interp/Disasm.cpp
M clang/lib/AST/Interp/FunctionPointer.h
M clang/lib/AST/Interp/Interp.h
M clang/lib/AST/Interp/InterpBuiltin.cpp
M clang/lib/AST/Interp/InterpFrame.cpp
M clang/lib/AST/Interp/State.cpp
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/Analysis/ExprMutationAnalyzer.cpp
A clang/lib/Analysis/FlowSensitive/ASTOps.cpp
M clang/lib/Analysis/FlowSensitive/CMakeLists.txt
M clang/lib/Analysis/FlowSensitive/DataflowAnalysisContext.cpp
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/lib/Analysis/FlowSensitive/Transfer.cpp
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/lib/Basic/Cuda.cpp
M clang/lib/Basic/Targets/NVPTX.cpp
M clang/lib/Basic/Targets/RISCV.cpp
M clang/lib/Basic/Targets/SPIR.h
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGCleanup.cpp
M clang/lib/CodeGen/CGCleanup.h
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprAgg.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/Driver/ToolChains/Arch/RISCV.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Index/USRGeneration.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseObjc.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Parse/ParseStmt.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaCast.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaExprMember.cpp
M clang/lib/Sema/SemaExprObjC.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaLambda.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaPseudoObject.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/lib/Serialization/GeneratePCH.cpp
M clang/lib/Serialization/GlobalModuleIndex.cpp
M clang/lib/Serialization/ModuleFileExtension.cpp
M clang/lib/Serialization/PCHContainerOperations.cpp
M clang/lib/StaticAnalyzer/Checkers/cert/InvalidPtrChecker.cpp
A clang/test/AST/Interp/builtin-align-cxx.cpp
M clang/test/AST/Interp/builtin-functions.cpp
M clang/test/AST/Interp/cxx03.cpp
M clang/test/AST/Interp/functions.cpp
M clang/test/AST/Interp/records.cpp
M clang/test/AST/Interp/vectors.cpp
A clang/test/Analysis/invalid-ptr-checker.cpp
M clang/test/CXX/drs/dr0xx.cpp
M clang/test/CXX/drs/dr16xx.cpp
M clang/test/CXX/drs/dr1xx.cpp
M clang/test/CXX/drs/dr2xx.cpp
M clang/test/CXX/drs/dr3xx.cpp
M clang/test/CXX/drs/dr4xx.cpp
M clang/test/CXX/drs/dr5xx.cpp
M clang/test/CXX/drs/dr6xx.cpp
M clang/test/ClangScanDeps/error.cpp
M clang/test/ClangScanDeps/module-format.c
M clang/test/CodeGen/alias.cpp
A clang/test/CodeGen/builtin-allow-runtime-check.cpp
M clang/test/CodeGen/target-data.c
R clang/test/CodeGenCXX/control-flow-in-stmt-expr.cpp
R clang/test/CodeGenCoroutines/coro-suspend-cleanups.cpp
M clang/test/Driver/riscv-features.c
A clang/test/Driver/windows-seh-async-verify.cpp
M clang/test/Headers/__clang_hip_math.hip
M clang/test/Index/USR/func-type.cpp
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/Preprocessor/riscv-target-features.c
A clang/test/Sema/builtin-allow-runtime-check.c
A clang/test/Sema/recover-expr-gh88008-nocrash.c
A clang/test/SemaCXX/warn-unsafe-buffer-usage-suggestions-crashes.cpp
M clang/test/SemaOpenACC/compute-construct-clause-ast.cpp
A clang/test/SemaOpenACC/compute-construct-self-clause.c
A clang/test/SemaOpenACC/compute-construct-self-clause.cpp
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
M clang/tools/clang-scan-deps/Opts.td
M clang/tools/libclang/CIndex.cpp
M clang/unittests/Analysis/ExprMutationAnalyzerTest.cpp
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
M clang/utils/TableGen/NeonEmitter.cpp
M compiler-rt/cmake/Modules/CompilerRTUtils.cmake
M flang/cmake/modules/AddFlangOffloadRuntime.cmake
M flang/include/flang/Lower/CallInterface.h
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/Dialect/FIROpsSupport.h
M flang/lib/Decimal/CMakeLists.txt
M flang/lib/Lower/CallInterface.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/Transforms/ArrayValueCopy.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/runtime/CMakeLists.txt
M flang/test/Driver/msvc-dependent-lib-flags.f90
M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
M flang/test/Fir/cuf-invalid.fir
M flang/test/Fir/cuf.mlir
A flang/test/Lower/HLFIR/internal-procedures-bindc-host.f90
M flang/test/Lower/HLFIR/internal-procedures.f90
M flang/test/Lower/OpenACC/acc-routine04.f90
M flang/test/Lower/OpenMP/FIR/if-clause.f90
M flang/test/Lower/OpenMP/FIR/loop-combined.f90
M flang/test/Lower/OpenMP/FIR/parallel-private-clause.f90
M flang/test/Lower/OpenMP/FIR/simd.f90
M flang/test/Lower/OpenMP/if-clause.f90
M flang/test/Lower/OpenMP/loop-combined.f90
M flang/test/Lower/OpenMP/parallel-private-clause.f90
M flang/test/Lower/OpenMP/simd.f90
M flang/test/Lower/OpenMP/threadprivate-hlfir.f90
M flang/test/Lower/OpenMP/threadprivate-host-association-2.f90
M flang/test/Lower/OpenMP/threadprivate-host-association.f90
M flang/test/Lower/character-elemental.f90
M flang/test/Lower/equivalence-with-host-assoc.f90
M flang/test/Lower/explicit-interface-results-2.f90
M flang/test/Lower/host-associated-functions.f90
M flang/test/Lower/host-associated-globals.f90
M flang/test/Lower/host-associated.f90
M flang/test/Lower/polymorphic.f90
M flang/test/Semantics/OpenMP/clause-validity01.f90
A flang/test/Semantics/OpenMP/threadprivate07.f90
M libc/hdr/types/CMakeLists.txt
M libc/src/__support/macros/sanitizer.h
M libc/src/fenv/CMakeLists.txt
M libc/src/fenv/fegetexceptflag.h
M libc/src/fenv/fesetexceptflag.h
M libc/src/fenv/feupdateenv.cpp
M libclc/CMakeLists.txt
M libcxx/.clang-format
M libcxx/docs/BuildingLibcxx.rst
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/docs/UsingLibcxx.rst
M libcxx/include/__atomic/atomic.h
M libcxx/include/__atomic/atomic_flag.h
M libcxx/include/__availability
M libcxx/include/__chrono/formatter.h
M libcxx/include/__config
M libcxx/include/__expected/bad_expected_access.h
M libcxx/include/__functional/function.h
M libcxx/include/__fwd/ios.h
M libcxx/include/barrier
M libcxx/include/iosfwd
M libcxx/include/latch
M libcxx/include/semaphore
M libcxx/lib/abi/arm64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/i686-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/powerpc-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/powerpc64-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-freebsd.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.noexceptions.nonew.abilist
M libcxx/src/CMakeLists.txt
A libcxx/src/expected.cpp
M libcxx/src/functional.cpp
M libcxx/test/libcxx/containers/sequences/vector/asan.pass.cpp
R libcxx/test/libcxx/depr/enable_removed_cpp17_features.compile.pass.cpp
R libcxx/test/libcxx/depr/enable_removed_cpp17_features.deprecated.verify.cpp
R libcxx/test/libcxx/depr/enable_removed_cpp20_features.deprecated.verify.cpp
M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.wait/atomic_notify_all.pass.cpp
M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.wait/atomic_notify_one.pass.cpp
M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.wait/atomic_wait.pass.cpp
M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.wait/atomic_wait_explicit.pass.cpp
M libcxx/test/std/thread/thread.barrier/arrive.pass.cpp
M libcxx/test/std/thread/thread.barrier/arrive_and_drop.pass.cpp
M libcxx/test/std/thread/thread.barrier/arrive_and_wait.pass.cpp
M libcxx/test/std/thread/thread.barrier/completion.pass.cpp
M libcxx/test/std/thread/thread.barrier/ctor.compile.pass.cpp
M libcxx/test/std/thread/thread.barrier/max.pass.cpp
M libcxx/test/std/thread/thread.latch/arrive_and_wait.pass.cpp
M libcxx/test/std/thread/thread.latch/count_down.pass.cpp
M libcxx/test/std/thread/thread.latch/ctor.pass.cpp
M libcxx/test/std/thread/thread.latch/max.pass.cpp
M libcxx/test/std/thread/thread.latch/try_wait.pass.cpp
M libcxx/test/std/thread/thread.semaphore/acquire.pass.cpp
M libcxx/test/std/thread/thread.semaphore/binary.pass.cpp
M libcxx/test/std/thread/thread.semaphore/ctor.compile.pass.cpp
M libcxx/test/std/thread/thread.semaphore/max.pass.cpp
M libcxx/test/std/thread/thread.semaphore/release.pass.cpp
M libcxx/test/std/thread/thread.semaphore/timed.pass.cpp
M libcxx/test/std/thread/thread.semaphore/try_acquire.pass.cpp
M libcxx/test/std/time/time.syn/formatter.file_time.pass.cpp
M libcxx/test/std/time/time.syn/formatter.sys_time.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.timezone/time.zone.members/get_info.sys_time.pass.cpp
M libcxx/utils/libcxx/test/modules.py
M lld/ELF/InputSection.cpp
A lld/test/ELF/loongarch-relax-align-ldr.s
M lld/test/ELF/loongarch-relax-emit-relocs.s
M lldb/packages/Python/lldbsuite/test/dotest.py
M lldb/test/API/functionalities/asan/TestMemoryHistory.py
M lldb/test/API/functionalities/asan/TestReportData.py
R lldb/test/API/functionalities/libsanitizers/util.py
M llvm/docs/RISCVUsage.rst
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
M llvm/include/llvm/IR/InstrTypes.h
M llvm/include/llvm/IR/PatternMatch.h
M llvm/include/llvm/ProfileData/InstrProfReader.h
M llvm/include/llvm/ProfileData/MemProf.h
M llvm/include/llvm/ProfileData/MemProfReader.h
M llvm/include/llvm/Transforms/Utils/LoopUtils.h
M llvm/lib/Analysis/BasicAliasAnalysis.cpp
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/LazyValueInfo.cpp
M llvm/lib/Analysis/Loads.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
M llvm/lib/CodeGen/MachineDebugify.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/IR/Constants.cpp
M llvm/lib/MC/MCPseudoProbe.cpp
M llvm/lib/ProfileData/InstrProf.cpp
M llvm/lib/ProfileData/InstrProfReader.cpp
M llvm/lib/ProfileData/MemProf.cpp
M llvm/lib/ProfileData/MemProfReader.cpp
M llvm/lib/ProfileData/SampleProfReader.cpp
M llvm/lib/Support/RISCVISAInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
M llvm/lib/Target/Mips/MipsRegisterBankInfo.cpp
M llvm/lib/Target/PowerPC/GISel/PPCRegisterBankInfo.cpp
M llvm/lib/Target/RISCV/GISel/RISCVCallLowering.cpp
M llvm/lib/Target/RISCV/GISel/RISCVRegisterBankInfo.cpp
M llvm/lib/Target/RISCV/RISCVExpandPseudoInsts.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/lib/Target/RISCV/RISCVFrameLowering.h
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVProcessors.td
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVPostLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVRegisterBankInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVRegisterBanks.td
M llvm/lib/Target/SPIRV/SPIRVRegisterInfo.td
M llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp
M llvm/lib/Target/Sparc/SparcInstrInfo.td
M llvm/lib/Target/TargetMachine.cpp
M llvm/lib/Target/X86/GISel/X86RegisterBankInfo.cpp
M llvm/lib/Target/X86/GISel/X86RegisterBankInfo.h
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86InstrCMovSetCC.td
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.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/InstCombine/InstCombineMulDivRem.cpp
M llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/lib/Transforms/Utils/Debugify.cpp
M llvm/lib/Transforms/Utils/LoopUtils.cpp
M llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanValue.h
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
A llvm/test/CodeGen/AMDGPU/amdgpu-libcall-sincos-pass-ordering.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sincos.ll
A llvm/test/CodeGen/AMDGPU/memcpy-libcall.ll
M llvm/test/CodeGen/AMDGPU/simplify-libcalls.ll
M llvm/test/CodeGen/Generic/MIRDebugify/check-line-and-variables-x.mir
M llvm/test/CodeGen/Generic/MIRDebugify/check-line-and-variables.ll
M llvm/test/CodeGen/Generic/MIRDebugify/check-line-and-variables.mir
M llvm/test/CodeGen/Generic/MIRDebugify/locations-and-values.mir
M llvm/test/CodeGen/Generic/MIRDebugify/multifunction-module.mir
M llvm/test/CodeGen/RISCV/addimm-mulimm.ll
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/CodeGen/RISCV/memcpy-inline.ll
M llvm/test/CodeGen/RISCV/memcpy.ll
M llvm/test/CodeGen/RISCV/memset-inline.ll
M llvm/test/CodeGen/RISCV/mul.ll
M llvm/test/CodeGen/RISCV/pr56110.ll
M llvm/test/CodeGen/RISCV/riscv-func-target-feature.ll
M llvm/test/CodeGen/RISCV/rv64xtheadba.ll
M llvm/test/CodeGen/RISCV/rv64zba.ll
A llvm/test/CodeGen/RISCV/rvv-cfi-info.ll
M llvm/test/CodeGen/RISCV/rvv/calling-conv.ll
M llvm/test/CodeGen/RISCV/rvv/concat-vectors-constant-stride.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert-subvector.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-load-combine.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-unaligned.ll
M llvm/test/CodeGen/RISCV/rvv/memcpy-inline.ll
M llvm/test/CodeGen/RISCV/rvv/memset-inline.ll
M llvm/test/CodeGen/RISCV/rvv/unaligned-loads-stores.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-load.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave.ll
M llvm/test/CodeGen/RISCV/unaligned-load-store.ll
M llvm/test/CodeGen/SPIRV/instructions/select-phi.ll
A llvm/test/CodeGen/SPIRV/instructions/select-ptr-load.ll
M llvm/test/CodeGen/SPIRV/instructions/select.ll
A llvm/test/CodeGen/SPIRV/select-builtin.ll
R llvm/test/CodeGen/SPIRV/select.ll
A llvm/test/CodeGen/SPIRV/transcoding/memcpy-zext.ll
M llvm/test/CodeGen/SPIRV/transcoding/spirv-private-array-initialization.ll
M llvm/test/CodeGen/X86/GlobalISel/fconstant.ll
A llvm/test/CodeGen/X86/GlobalISel/regbankselect-sse-intrinsics.ll
M llvm/test/CodeGen/X86/GlobalISel/regbankselect-x87.ll
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast.ll
M llvm/test/CodeGen/X86/code-model-elf-text-sections.ll
M llvm/test/CodeGen/X86/combine-ptest.ll
M llvm/test/CodeGen/X86/dpbusd.ll
M llvm/test/CodeGen/X86/dpbusd_i4.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512f.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-sse41.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast.ll
M llvm/test/DebugInfo/debugify-bogus-dbg-value.ll
M llvm/test/DebugInfo/debugify-each.ll
M llvm/test/DebugInfo/debugify-export.ll
M llvm/test/DebugInfo/debugify-ignore-phi.ll
M llvm/test/DebugInfo/debugify-original-no-dbg-info.ll
M llvm/test/DebugInfo/debugify-report-missing-locs-only.ll
M llvm/test/DebugInfo/debugify.ll
M llvm/test/DebugInfo/pr37964.ll
M llvm/test/DebugInfo/salvage-cast-debug-info.ll
M llvm/test/DebugInfo/verify-di-preserve.ll
M llvm/test/MC/LoongArch/Relocations/relax-addsub.s
M llvm/test/MC/LoongArch/Relocations/relax-align.s
M llvm/test/MC/RISCV/attribute-arch.s
A llvm/test/TableGen/def-multiple-operands.td
M llvm/test/Transforms/InstCombine/X86/x86-vector-shifts.ll
M llvm/test/Transforms/InstCombine/abs-1.ll
M llvm/test/Transforms/InstCombine/add-mask-neg.ll
M llvm/test/Transforms/InstCombine/add-sitofp.ll
M llvm/test/Transforms/InstCombine/add.ll
M llvm/test/Transforms/InstCombine/and-or-icmps.ll
M llvm/test/Transforms/InstCombine/and-xor-or.ll
M llvm/test/Transforms/InstCombine/and.ll
M llvm/test/Transforms/InstCombine/and2.ll
M llvm/test/Transforms/InstCombine/ashr-lshr.ll
M llvm/test/Transforms/InstCombine/ashr-or-mul-abs.ll
M llvm/test/Transforms/InstCombine/binop-and-shifts.ll
M llvm/test/Transforms/InstCombine/binop-itofp.ll
M llvm/test/Transforms/InstCombine/binop-of-displaced-shifts.ll
M llvm/test/Transforms/InstCombine/canonicalize-clamp-like-pattern-between-zero-and-positive-threshold.ll
M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-eq-to-icmp-ule.ll
M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-ne-to-icmp-ugt.ll
M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-sge-to-icmp-sle.ll
M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-sgt-to-icmp-sgt.ll
M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-sle-to-icmp-sle.ll
M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-slt-to-icmp-sgt.ll
M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-uge-to-icmp-ule.ll
M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-ugt-to-icmp-ugt.ll
M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-ule-to-icmp-ule.ll
M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-ult-to-icmp-ugt.ll
M llvm/test/Transforms/InstCombine/canonicalize-low-bit-mask-and-icmp-eq-to-icmp-ule.ll
M llvm/test/Transforms/InstCombine/canonicalize-low-bit-mask-and-icmp-ne-to-icmp-ugt.ll
M llvm/test/Transforms/InstCombine/canonicalize-low-bit-mask-v2-and-icmp-eq-to-icmp-ule.ll
M llvm/test/Transforms/InstCombine/canonicalize-low-bit-mask-v2-and-icmp-ne-to-icmp-ugt.ll
M llvm/test/Transforms/InstCombine/canonicalize-low-bit-mask-v4-and-icmp-eq-to-icmp-ule.ll
M llvm/test/Transforms/InstCombine/canonicalize-low-bit-mask-v4-and-icmp-ne-to-icmp-ugt.ll
M llvm/test/Transforms/InstCombine/cast-int-icmp-eq-0.ll
M llvm/test/Transforms/InstCombine/cast-unsigned-icmp-eqcmp-0.ll
M llvm/test/Transforms/InstCombine/cast.ll
M llvm/test/Transforms/InstCombine/clamp-to-minmax.ll
M llvm/test/Transforms/InstCombine/ctpop-cttz.ll
M llvm/test/Transforms/InstCombine/ctpop.ll
M llvm/test/Transforms/InstCombine/fabs-as-int.ll
M llvm/test/Transforms/InstCombine/fabs.ll
M llvm/test/Transforms/InstCombine/fast-math.ll
M llvm/test/Transforms/InstCombine/fcmp-special.ll
M llvm/test/Transforms/InstCombine/fcmp.ll
M llvm/test/Transforms/InstCombine/fdiv.ll
M llvm/test/Transforms/InstCombine/fma.ll
M llvm/test/Transforms/InstCombine/fmul-pow.ll
M llvm/test/Transforms/InstCombine/fmul.ll
M llvm/test/Transforms/InstCombine/fneg-as-int.ll
M llvm/test/Transforms/InstCombine/fneg-fabs-as-int.ll
M llvm/test/Transforms/InstCombine/fneg.ll
M llvm/test/Transforms/InstCombine/fold-inc-of-add-of-not-x-and-y-to-sub-x-from-y.ll
M llvm/test/Transforms/InstCombine/fold-sub-of-not-to-inc-of-add.ll
M llvm/test/Transforms/InstCombine/fpcast.ll
M llvm/test/Transforms/InstCombine/fsub.ll
M llvm/test/Transforms/InstCombine/funnel.ll
M llvm/test/Transforms/InstCombine/get-lowbitmask-upto-and-including-bit.ll
M llvm/test/Transforms/InstCombine/hoist-negation-out-of-bias-calculation.ll
M llvm/test/Transforms/InstCombine/hoist-not-from-ashr-operand.ll
M llvm/test/Transforms/InstCombine/icmp-uge-of-add-of-shl-one-by-bits-to-allones-and-val-to-icmp-eq-of-lshr-val-by-bits-and-0.ll
M llvm/test/Transforms/InstCombine/icmp-uge-of-not-of-shl-allones-by-bits-and-val-to-icmp-eq-of-lshr-val-by-bits-and-0.ll
M llvm/test/Transforms/InstCombine/icmp-ugt-of-shl-1-by-bits-and-val-to-icmp-eq-of-lshr-val-by-bits-and-0.ll
M llvm/test/Transforms/InstCombine/icmp-ule-of-shl-1-by-bits-and-val-to-icmp-ne-of-lshr-val-by-bits-and-0.ll
M llvm/test/Transforms/InstCombine/icmp-ult-of-add-of-shl-one-by-bits-to-allones-and-val-to-icmp-ne-of-lshr-val-by-bits-and-0.ll
M llvm/test/Transforms/InstCombine/icmp-ult-of-not-of-shl-allones-by-bits-and-val-to-icmp-ne-of-lshr-val-by-bits-and-0.ll
M llvm/test/Transforms/InstCombine/icmp.ll
M llvm/test/Transforms/InstCombine/integer-round-up-pow2-alignment.ll
M llvm/test/Transforms/InstCombine/invert-variable-mask-in-masked-merge-vector.ll
M llvm/test/Transforms/InstCombine/known-bits.ll
A llvm/test/Transforms/InstCombine/known-fpclass-reduce-signbit.ll
M llvm/test/Transforms/InstCombine/lshr-and-negC-icmpeq-zero.ll
M llvm/test/Transforms/InstCombine/lshr-and-signbit-icmpeq-zero.ll
M llvm/test/Transforms/InstCombine/masked-merge-add.ll
M llvm/test/Transforms/InstCombine/masked-merge-or.ll
M llvm/test/Transforms/InstCombine/masked-merge-xor.ll
M llvm/test/Transforms/InstCombine/min-positive.ll
M llvm/test/Transforms/InstCombine/minmax-fold.ll
M llvm/test/Transforms/InstCombine/minmax-fp.ll
M llvm/test/Transforms/InstCombine/minmax-intrinsics.ll
M llvm/test/Transforms/InstCombine/mul-inseltpoison.ll
M llvm/test/Transforms/InstCombine/mul.ll
M llvm/test/Transforms/InstCombine/not-add.ll
M llvm/test/Transforms/InstCombine/not.ll
M llvm/test/Transforms/InstCombine/omit-urem-of-power-of-two-or-zero-when-comparing-with-zero.ll
M llvm/test/Transforms/InstCombine/operand-complexity.ll
M llvm/test/Transforms/InstCombine/or.ll
M llvm/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-after-truncation-variant-b.ll
M llvm/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-after-truncation-variant-c.ll
M llvm/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-after-truncation-variant-d.ll
M llvm/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-variant-b.ll
M llvm/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-variant-c.ll
M llvm/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-variant-d.ll
M llvm/test/Transforms/InstCombine/pr27236.ll
M llvm/test/Transforms/InstCombine/pr53357.ll
M llvm/test/Transforms/InstCombine/redundant-left-shift-input-masking-after-truncation-variant-b.ll
M llvm/test/Transforms/InstCombine/redundant-left-shift-input-masking-after-truncation-variant-c.ll
M llvm/test/Transforms/InstCombine/redundant-left-shift-input-masking-after-truncation-variant-d.ll
M llvm/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-b.ll
M llvm/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-c.ll
M llvm/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-d.ll
M llvm/test/Transforms/InstCombine/reuse-constant-from-select-in-icmp.ll
M llvm/test/Transforms/InstCombine/rotate.ll
M llvm/test/Transforms/InstCombine/saturating-add-sub.ll
M llvm/test/Transforms/InstCombine/select-of-bittest.ll
M llvm/test/Transforms/InstCombine/select.ll
M llvm/test/Transforms/InstCombine/select_meta.ll
M llvm/test/Transforms/InstCombine/set-lowbits-mask-canonicalize.ll
M llvm/test/Transforms/InstCombine/sext.ll
M llvm/test/Transforms/InstCombine/shift-amount-reassociation-in-bittest.ll
M llvm/test/Transforms/InstCombine/shift-amount-reassociation-with-truncation-ashr.ll
M llvm/test/Transforms/InstCombine/shift-amount-reassociation-with-truncation-lshr.ll
M llvm/test/Transforms/InstCombine/shift-amount-reassociation.ll
M llvm/test/Transforms/InstCombine/shift-logic.ll
M llvm/test/Transforms/InstCombine/shl-and-negC-icmpeq-zero.ll
M llvm/test/Transforms/InstCombine/shl-and-signbit-icmpeq-zero.ll
M llvm/test/Transforms/InstCombine/signmask-of-sext-vs-of-shl-of-zext.ll
M llvm/test/Transforms/InstCombine/sitofp.ll
M llvm/test/Transforms/InstCombine/sub-not.ll
M llvm/test/Transforms/InstCombine/sub.ll
M llvm/test/Transforms/InstCombine/trunc-inseltpoison.ll
M llvm/test/Transforms/InstCombine/trunc-shift-trunc.ll
M llvm/test/Transforms/InstCombine/trunc.ll
M llvm/test/Transforms/InstCombine/unsigned-mul-lack-of-overflow-check-via-udiv-of-allones.ll
M llvm/test/Transforms/InstCombine/unsigned-mul-overflow-check-via-udiv-of-allones.ll
M llvm/test/Transforms/InstCombine/variable-signext-of-variable-high-bit-extraction.ll
M llvm/test/Transforms/InstCombine/vec_sext.ll
M llvm/test/Transforms/InstCombine/vector-casts-inseltpoison.ll
M llvm/test/Transforms/InstCombine/vector-casts.ll
M llvm/test/Transforms/InstCombine/vector-urem.ll
M llvm/test/Transforms/InstCombine/vector-xor.ll
M llvm/test/Transforms/InstCombine/zext-bool-add-sub.ll
M llvm/test/Transforms/InstSimplify/AndOrXor.ll
M llvm/test/Transforms/InstSimplify/call.ll
M llvm/test/Transforms/InstSimplify/compare.ll
M llvm/test/Transforms/InstSimplify/constantfold-add-nuw-allones-to-allones.ll
M llvm/test/Transforms/InstSimplify/constantfold-shl-nuw-C-to-C.ll
M llvm/test/Transforms/InstSimplify/div.ll
M llvm/test/Transforms/InstSimplify/fast-math-strictfp.ll
M llvm/test/Transforms/InstSimplify/fast-math.ll
M llvm/test/Transforms/InstSimplify/fdiv.ll
M llvm/test/Transforms/InstSimplify/floating-point-arithmetic-strictfp.ll
M llvm/test/Transforms/InstSimplify/floating-point-arithmetic.ll
M llvm/test/Transforms/InstSimplify/floating-point-compare.ll
M llvm/test/Transforms/InstSimplify/fminmax-folds.ll
M llvm/test/Transforms/InstSimplify/fp-nan.ll
M llvm/test/Transforms/InstSimplify/icmp-bool-constant.ll
M llvm/test/Transforms/InstSimplify/icmp-not-bool-constant.ll
M llvm/test/Transforms/InstSimplify/known-never-infinity.ll
M llvm/test/Transforms/InstSimplify/ldexp.ll
M llvm/test/Transforms/InstSimplify/mul.ll
M llvm/test/Transforms/InstSimplify/negate.ll
M llvm/test/Transforms/InstSimplify/or.ll
M llvm/test/Transforms/InstSimplify/ptrmask.ll
M llvm/test/Transforms/InstSimplify/rem.ll
M llvm/test/Transforms/InstSimplify/saturating-add-sub.ll
M llvm/test/Transforms/InstSimplify/sdiv.ll
M llvm/test/Transforms/InstSimplify/select-inseltpoison.ll
M llvm/test/Transforms/InstSimplify/select.ll
M llvm/test/Transforms/InstSimplify/shift.ll
M llvm/test/Transforms/InstSimplify/srem.ll
M llvm/test/Transforms/InstSimplify/sub.ll
M llvm/test/Transforms/InstSimplify/xor.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-select-cmp.ll
M llvm/test/Transforms/LoopVectorize/AArch64/vector-reverse-mask4.ll
M llvm/test/Transforms/LoopVectorize/RISCV/select-cmp-reduction.ll
M llvm/test/Transforms/LoopVectorize/X86/float-induction-x86.ll
M llvm/test/Transforms/LoopVectorize/X86/masked_load_store.ll
A llvm/test/Transforms/LoopVectorize/blend-in-header.ll
M llvm/test/Transforms/LoopVectorize/epilog-vectorization-any-of-reductions.ll
M llvm/test/Transforms/LoopVectorize/float-induction.ll
M llvm/test/Transforms/LoopVectorize/select-cmp-predicated.ll
M llvm/test/Transforms/LoopVectorize/select-cmp.ll
M llvm/test/Transforms/LoopVectorize/select-reduction-start-value-may-be-undef-or-poison.ll
M llvm/test/Transforms/LoopVectorize/vectorize-force-tail-with-evl.ll
M llvm/test/Transforms/Reassociate/inverses.ll
M llvm/test/Transforms/Reassociate/negation.ll
A llvm/test/Transforms/SLPVectorizer/RISCV/smax-unsigned-operand.ll
M llvm/test/Transforms/SLPVectorizer/X86/extract_in_tree_user.ll
M llvm/test/Transforms/SLPVectorizer/X86/geps-non-pow-2.ll
M llvm/test/Transforms/SLPVectorizer/X86/opaque-ptr.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder-reused-masked-gather2.ll
M llvm/test/Transforms/SLPVectorizer/X86/stacksave-dependence.ll
M llvm/test/Transforms/SLPVectorizer/X86/trunc-store-value-ty-not-power-of-2.ll
A llvm/test/Transforms/VectorCombine/X86/shuffle-of-binops.ll
M llvm/test/Transforms/VectorCombine/X86/shuffle-of-casts.ll
A llvm/test/Transforms/VectorCombine/X86/shuffle-of-shuffles.ll
M llvm/test/Transforms/VectorCombine/X86/shuffle.ll
A llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/phi-labels.ll
A llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/phi-labels.ll.expected
A llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/stable_ir_values_funcs.ll
A llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/stable_ir_values_funcs.ll.expected
A llvm/test/tools/UpdateTestChecks/update_test_checks/phi-labels.test
A llvm/test/tools/UpdateTestChecks/update_test_checks/stable_ir_values_funcs.test
M llvm/unittests/Analysis/ValueTrackingTest.cpp
M llvm/unittests/Bitcode/DataLayoutUpgradeTest.cpp
M llvm/unittests/CodeGen/RegAllocScoreTest.cpp
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
M llvm/unittests/IR/ConstantsTest.cpp
M llvm/unittests/IR/PatternMatch.cpp
M llvm/unittests/ProfileData/MemProfTest.cpp
M llvm/unittests/Support/RISCVISAInfoTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanHCFGTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
M llvm/utils/TableGen/InstrInfoEmitter.cpp
M llvm/utils/TableGen/RISCVTargetDefEmitter.cpp
M llvm/utils/UpdateTestChecks/common.py
M llvm/utils/gn/secondary/clang/lib/Analysis/FlowSensitive/BUILD.gn
M llvm/utils/gn/secondary/libcxx/src/BUILD.gn
M llvm/utils/gn/secondary/lldb/test/BUILD.gn
M mlir/docs/Interfaces.md
M mlir/include/mlir-c/IR.h
M mlir/include/mlir/Bindings/Python/PybindAdaptors.h
M mlir/include/mlir/Dialect/OpenMP/OpenMPClauseOperands.h
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/include/mlir/Dialect/Polynomial/IR/CMakeLists.txt
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.td
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorTypes.td
M mlir/include/mlir/Dialect/SparseTensor/Transforms/Passes.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaTypesBase.td
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPU.h
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUAttrs.td
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUTypes.td
M mlir/lib/Bindings/Python/IRCore.cpp
M mlir/lib/Bindings/Python/IRModule.h
M mlir/lib/CAPI/IR/IR.cpp
M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
M mlir/lib/Conversion/OpenMPToLLVM/OpenMPToLLVM.cpp
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp
M mlir/lib/Dialect/ArmSME/Transforms/VectorLegalization.cpp
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparsificationAndBufferizationPass.cpp
M mlir/lib/Dialect/XeGPU/IR/XeGPUDialect.cpp
M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/CAPI/ir.c
M mlir/test/Conversion/ComplexToStandard/convert-to-standard.mlir
M mlir/test/Conversion/OpenMPToLLVM/convert-to-llvmir.mlir
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-named.mlir
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
M mlir/test/Dialect/ArmSME/vector-legalization.mlir
M mlir/test/Dialect/Linalg/vectorization-unsupported.mlir
M mlir/test/Dialect/Linalg/vectorization.mlir
M mlir/test/Dialect/OpenMP/invalid.mlir
M mlir/test/Dialect/OpenMP/ops.mlir
M mlir/test/Dialect/SparseTensor/invalid.mlir
M mlir/test/Dialect/SparseTensor/roundtrip.mlir
M mlir/test/Dialect/Vector/canonicalize.mlir
M mlir/test/Dialect/Vector/invalid.mlir
M mlir/test/Dialect/XeGPU/XeGPUOps.mlir
A mlir/test/Dialect/XeGPU/invalid.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_block3d.mlir
A mlir/test/Integration/Dialect/Tosa/CPU/test-maxpool-dynamic.mlir
M mlir/test/Target/LLVMIR/Import/intrinsic.ll
M mlir/test/Target/LLVMIR/openmp-llvm.mlir
M mlir/test/python/ir/operation.py
M openmp/runtime/src/kmp_dispatch.cpp
M openmp/runtime/test/tasking/hidden_helper_task/capacity_mix_threads.cpp
M openmp/runtime/test/tasking/hidden_helper_task/capacity_nthreads.cpp
M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
Merge branch 'main' into users/skatrak/spr/clause-operands-04-compound-lower
Compare: https://github.com/llvm/llvm-project/compare/386fd88b3f04...00bb3d2b57cf
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