[all-commits] [llvm/llvm-project] 390b99: [InstCombine] Handle isNanOrInf idioms (#80414)
Fangrui Song via All-commits
all-commits at lists.llvm.org
Tue Feb 13 11:05:32 PST 2024
Branch: refs/heads/users/MaskRay/spr/aarch64-implement-fno-plt-for-selectiondagglobalisel
Home: https://github.com/llvm/llvm-project
Commit: 390b99743bdd60649414fe470d7a9bacc9992231
https://github.com/llvm/llvm-project/commit/390b99743bdd60649414fe470d7a9bacc9992231
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-02-04 (Sun, 04 Feb 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
A llvm/test/Transforms/InstCombine/fpclass-check-idioms.ll
Log Message:
-----------
[InstCombine] Handle isNanOrInf idioms (#80414)
This patch folds:
```
(icmp eq (and (bitcast X to int), ExponentMask), ExponentMask) --> llvm.is.fpclass(X, fcInf|fcNan)
(icmp ne (and (bitcast X to int), ExponentMask), ExponentMask) --> llvm.is.fpclass(X, ~(fcInf|fcNan))
```
Alive2: https://alive2.llvm.org/ce/z/_hXAAF
Commit: 4e112e5c1c8511056030294af3264da35f95d93c
https://github.com/llvm/llvm-project/commit/4e112e5c1c8511056030294af3264da35f95d93c
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-02-04 (Sun, 04 Feb 2024)
Changed paths:
M libcxx/benchmarks/ContainerBenchmarks.h
M libcxx/benchmarks/vector_operations.bench.cpp
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/include/CMakeLists.txt
M libcxx/include/__memory/uninitialized_algorithms.h
M libcxx/include/__memory/unique_ptr.h
A libcxx/include/__type_traits/is_trivially_relocatable.h
M libcxx/include/libcxx.imp
M libcxx/include/module.modulemap.in
M libcxx/include/string
M libcxx/include/vector
A libcxx/test/libcxx/type_traits/is_trivially_relocatable.compile.pass.cpp
A libcxx/test/std/containers/sequences/vector/vector.modifiers/destory_elements.pass.cpp
M libcxx/test/support/count_new.h
Log Message:
-----------
Reapply "[libc++] Optimize vector growing of trivially relocatable types" (#80558)
This reapplies #76657. Non-trivial elements didn't get destroyed
previously. This fixes the bug and adds tests for all the vector
insertion functions.
Commit: 6ad692b7b3416f632e1d38cef3cc83f618f428b0
https://github.com/llvm/llvm-project/commit/6ad692b7b3416f632e1d38cef3cc83f618f428b0
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-02-03 (Sat, 03 Feb 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port 4e112e5c1c85
Commit: 61ff9f8db8d18002767ea27f83a4bfb8ed47f255
https://github.com/llvm/llvm-project/commit/61ff9f8db8d18002767ea27f83a4bfb8ed47f255
Author: Harald van Dijk <harald at gigawatt.nl>
Date: 2024-02-04 (Sun, 04 Feb 2024)
Changed paths:
M llvm/test/CodeGen/X86/vector-shuffle-combining.ll
Log Message:
-----------
[X86] Add strictfp version of PR43024 test. (#80573)
For the current version of the PR43024 test, we should be able to
optimize away the operations but fail to do so. This commit adds a
strictfp version of the test where we should not be able to optimize
away the operations, as a verification that changes to improve the other
effect have no adverse effect.
Commit: 1da2921bbdff847eb57184f3d5e7ae5c363b9e88
https://github.com/llvm/llvm-project/commit/1da2921bbdff847eb57184f3d5e7ae5c363b9e88
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-02-03 (Sat, 03 Feb 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/xtheadmemidx.ll
Log Message:
-----------
[RISCV] Add missing extload test cases to xtheadmemidx.ll. NFC
We had the isel patterns, but no tests that used them. We only had
sextload and zextload tests.
Also reduce the alignment on some of the test cases that were
unnecessarily over aligned.
Commit: f2cf8da636ee2b27b54f14fea540d7ef75cebc05
https://github.com/llvm/llvm-project/commit/f2cf8da636ee2b27b54f14fea540d7ef75cebc05
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-02-03 (Sat, 03 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXTHead.td
A llvm/test/CodeGen/RISCV/rv64-legal-i32/xtheadmemidx.ll
Log Message:
-----------
[RISCV] Add more XTheadMemIdx patterns for -riscv-experimental-rv64-legal-i32.
Commit: a3d8b78333b80b47209ad0dc8f8159d70c7fcb39
https://github.com/llvm/llvm-project/commit/a3d8b78333b80b47209ad0dc8f8159d70c7fcb39
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-02-04 (Sun, 04 Feb 2024)
Changed paths:
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/test/CodeGenCXX/dynamic-cast-address-space.cpp
A clang/test/CodeGenCXX/dynamic-cast-dead.cpp
M clang/test/CodeGenCXX/dynamic-cast.cpp
Log Message:
-----------
[Clang][CodeGen] Mark `__dynamic_cast` as `willreturn` (#80409)
According to the C++ standard, `dynamic_cast` of pointers either returns
a pointer (7.6.1.7) or results in undefined behavior (11.9.5). This
patch marks `__dynamic_cast` as `willreturn` to remove unused calls.
Fixes #77606.
Commit: 9dfdea6fbddfa871dab32c3322259babcc13dcdc
https://github.com/llvm/llvm-project/commit/9dfdea6fbddfa871dab32c3322259babcc13dcdc
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-02-03 (Sat, 03 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXTHead.td
A llvm/test/CodeGen/RISCV/rv64-legal-i32/xtheadmac.ll
Log Message:
-----------
[RISCV] Add XTheadMac patterns for -riscv-experimental-rv64-legal-i32.
Commit: b0f0babff22e9c0af74535b05e2c6424392bb24a
https://github.com/llvm/llvm-project/commit/b0f0babff22e9c0af74535b05e2c6424392bb24a
Author: Koakuma <koachan at protonmail.com>
Date: 2024-02-04 (Sun, 04 Feb 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
A clang/test/Driver/sparc64-codemodel.c
Log Message:
-----------
[clang] Add GCC-compatible code model names for sparc64
This adds GCC-compatible names for code model selection on 64-bit SPARC
with absolute code.
Testing with a 2-stage build then running codegen tests works okay under
all of the supported code models.
(32-bit target does not have selectable code models)
Reviewed By: @brad0, @MaskRay
Commit: b4eb7a10c01162b17cb5dc94a97d9d137bb6fe57
https://github.com/llvm/llvm-project/commit/b4eb7a10c01162b17cb5dc94a97d9d137bb6fe57
Author: Serge Pavlov <sepavloff at gmail.com>
Date: 2024-02-04 (Sun, 04 Feb 2024)
Changed paths:
M llvm/lib/Target/ARM/ARMLegalizerInfo.cpp
M llvm/lib/Target/ARM/ARMRegisterBankInfo.cpp
A llvm/test/CodeGen/ARM/GlobalISel/fpenv.ll
Log Message:
-----------
[GlobalISel][ARM] Legalze set_fpenv and get_fpenv (#79852)
Implement handling of get/set floating point environment for ARM in
Global Instruction Selector. Lowering of these intrinsics to operations
on FPSCR was previously inplemented in DAG selector, in GlobalISel it is
reused.
Commit: d25022bb689b9bf48a24c0ae6c29c1d3c2f32823
https://github.com/llvm/llvm-project/commit/d25022bb689b9bf48a24c0ae6c29c1d3c2f32823
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-02-03 (Sat, 03 Feb 2024)
Changed paths:
M .github/workflows/llvm-project-tests.yml
Log Message:
-----------
[workflows] Stop using the build-test-llvm-project action (#80580)
This action is really just a wrapper around cmake and ninja. It doesn't
add any value to the builds, and I don't think we need it now that there
are reusable workflows.
Commit: 2193c95e2459887e7e6e4f9f4aacf9252e99858f
https://github.com/llvm/llvm-project/commit/2193c95e2459887e7e6e4f9f4aacf9252e99858f
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-02-03 (Sat, 03 Feb 2024)
Changed paths:
M .github/workflows/pr-code-format.yml
Log Message:
-----------
[workflows] Only run code formatter on the main branch (#80348)
Modifying a cherry-picked patch to fix code formatting issues can be
risky, so we don't typically do this. Therefore, it's not necessary to
run this job on the release branches.
Commit: 7d269a484142459a1154ba81c68bf0c31f291fc8
https://github.com/llvm/llvm-project/commit/7d269a484142459a1154ba81c68bf0c31f291fc8
Author: Kazu Hirata <kazu at google.com>
Date: 2024-02-03 (Sat, 03 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/MachineBlockPlacement.cpp
M llvm/lib/CodeGen/MachinePipeliner.cpp
Log Message:
-----------
[CodeGen] Use range-based for loops (NFC)
Commit: 3be989e8c30f3cad61e5e1fa54199fc45edf7ff7
https://github.com/llvm/llvm-project/commit/3be989e8c30f3cad61e5e1fa54199fc45edf7ff7
Author: Kazu Hirata <kazu at google.com>
Date: 2024-02-03 (Sat, 03 Feb 2024)
Changed paths:
M llvm/lib/FileCheck/FileCheck.cpp
Log Message:
-----------
[FileCheck] Use StringRef::rtrim (NFC)
Commit: 3c93c037c9ede2eaa0bdea6924c92d646ca0cfe5
https://github.com/llvm/llvm-project/commit/3c93c037c9ede2eaa0bdea6924c92d646ca0cfe5
Author: Kazu Hirata <kazu at google.com>
Date: 2024-02-03 (Sat, 03 Feb 2024)
Changed paths:
M clang/lib/Basic/Targets/X86.cpp
Log Message:
-----------
[Basic] Use StringRef::ends_with (NFC)
Commit: 34fba4fb1e32f06237e5024373cc0163cecc3fd5
https://github.com/llvm/llvm-project/commit/34fba4fb1e32f06237e5024373cc0163cecc3fd5
Author: Kazu Hirata <kazu at google.com>
Date: 2024-02-03 (Sat, 03 Feb 2024)
Changed paths:
M clang/lib/Basic/Sarif.cpp
Log Message:
-----------
[Basic] Use StringRef::contains (NFC)
Commit: a37e8b85ee5187bc7a1fed7adce8ed5693215795
https://github.com/llvm/llvm-project/commit/a37e8b85ee5187bc7a1fed7adce8ed5693215795
Author: Kazu Hirata <kazu at google.com>
Date: 2024-02-03 (Sat, 03 Feb 2024)
Changed paths:
M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp
Log Message:
-----------
[ExecutionEngine] Simplify a string comparison (NFC)
Commit: 1b33b3f27f8bf3902d754ed83da29f9a6f15e4e1
https://github.com/llvm/llvm-project/commit/1b33b3f27f8bf3902d754ed83da29f9a6f15e4e1
Author: Kazu Hirata <kazu at google.com>
Date: 2024-02-03 (Sat, 03 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/MIRParser/MIRParser.cpp
Log Message:
-----------
[MIRParser] Simplify a string comparison (NFC)
Commit: 9d2e8dca12c8bbb70223eeb74330fe603e215ce3
https://github.com/llvm/llvm-project/commit/9d2e8dca12c8bbb70223eeb74330fe603e215ce3
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-02-04 (Sun, 04 Feb 2024)
Changed paths:
M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmTypeCheck.cpp
M llvm/test/MC/WebAssembly/tables.s
M llvm/test/MC/WebAssembly/type-checker-errors.s
Log Message:
-----------
[WebAssembly] fix `table.grow` type checker (#80572)
table.grow is valid with type `[t i32] -> [i32]`.
Fixes: #79966.
Commit: 3bcb1f2bdd5c70b2ac4aff3290996486d9ae0236
https://github.com/llvm/llvm-project/commit/3bcb1f2bdd5c70b2ac4aff3290996486d9ae0236
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-02-03 (Sat, 03 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVOptWInstrs.cpp
M llvm/test/CodeGen/RISCV/opt-w-instrs.mir
Log Message:
-----------
[RISCV] Rework isSignExtendingOpW to store Register in the worklist.
Previously we stored MachineInstr which restricted the implementation
to only handle operand 0.
The TH_LWD instruction has two sign extended destinations.
Commit: bc9c2be3577c58d3daabff995360bd9bea44b0b9
https://github.com/llvm/llvm-project/commit/bc9c2be3577c58d3daabff995360bd9bea44b0b9
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-02-04 (Sun, 04 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
M llvm/test/Transforms/ConstraintElimination/minmax.ll
Log Message:
-----------
[ConstraintElim] Simplify `MinMaxIntrinsic` (#75306)
This patch replaces min/max intrinsic with one of its operands if
possible.
Alive2: https://alive2.llvm.org/ce/z/LoHfYf
Fixes #75155.
Commit: 72105605d1fbc816c1219bb1d719693291322011
https://github.com/llvm/llvm-project/commit/72105605d1fbc816c1219bb1d719693291322011
Author: Freddy Ye <freddy.ye at intel.com>
Date: 2024-02-04 (Sun, 04 Feb 2024)
Changed paths:
M clang/test/CodeGen/target-builtin-noerror.c
M compiler-rt/lib/builtins/cpu_model/x86.c
M llvm/include/llvm/TargetParser/X86TargetParser.def
M llvm/lib/TargetParser/X86TargetParser.cpp
Log Message:
-----------
[X86] Support more ISAs to enable __builtin_cpu_supports (#79086)
This patch will also expand supports for attribute/target, while
the priority of newly supported ISAs will be set to zero.
Commit: d71ef3e75c6325f0c10c19ee34e2c0337a0fd452
https://github.com/llvm/llvm-project/commit/d71ef3e75c6325f0c10c19ee34e2c0337a0fd452
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-04 (Sun, 04 Feb 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] Merge identical setOperationAction calls. NFC.
Commit: 114a33be4751328c549c6b8b05e9ece19e452189
https://github.com/llvm/llvm-project/commit/114a33be4751328c549c6b8b05e9ece19e452189
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-04 (Sun, 04 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
Log Message:
-----------
[DAG] getStackAlignedMMO - return the getMachineMemOperand result directly (style). NFC.
Commit: dea855de46bd4d3e103646a7f459856d88dd7488
https://github.com/llvm/llvm-project/commit/dea855de46bd4d3e103646a7f459856d88dd7488
Author: Marius Brehler <marius.brehler at iml.fraunhofer.de>
Date: 2024-02-04 (Sun, 04 Feb 2024)
Changed paths:
M mlir/include/mlir/Conversion/SCFToEmitC/SCFToEmitC.h
M mlir/lib/Conversion/SCFToEmitC/SCFToEmitC.cpp
Log Message:
-----------
[mlir][EmitC] Drop unused code (NFC) (#80325)
To register the conversion the autogenerated function
`registerSCFToEmitC()` calls `createSCFToEmitC()`, which itself is also
autogenerated. The removed function, however, isn't used in the upstream
codebase.
Commit: 859b09da08c2a47026ba0a7d2f21b7dca705864d
https://github.com/llvm/llvm-project/commit/859b09da08c2a47026ba0a7d2f21b7dca705864d
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-02-04 (Sun, 04 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
A llvm/test/CodeGen/RISCV/rv64-legal-i32/vararg.ll
Log Message:
-----------
[RISCV] Promote i32 ISD::VAARG to i64 for -riscv-experimental-rv64-legal-i32.
Commit: 9ff83f12fe406f9c3c6b2cd0ee96660a7485f29f
https://github.com/llvm/llvm-project/commit/9ff83f12fe406f9c3c6b2cd0ee96660a7485f29f
Author: Dave Lee <davelee.com at gmail.com>
Date: 2024-02-04 (Sun, 04 Feb 2024)
Changed paths:
M lldb/include/lldb/DataFormatters/FormatCache.h
M lldb/source/DataFormatters/FormatCache.cpp
Log Message:
-----------
[lldb] Remove unnecessary FormatCache::GetEntry (NFC) (#80603)
The implementation of `FormatCache::Entry
&FormatCache::GetEntry(ConstString)` is effectively a duplication of
`std::map::operator[]`. This change deletes `GetEntry` and replaces its
use with `operator[]`.
Commit: 256200732111afd03bb7437564f3a3d77c0ec3f5
https://github.com/llvm/llvm-project/commit/256200732111afd03bb7437564f3a3d77c0ec3f5
Author: rmarker <37921131+rmarker at users.noreply.github.com>
Date: 2024-02-04 (Sun, 04 Feb 2024)
Changed paths:
M clang/docs/ClangFormatStyleOptions.rst
M clang/include/clang/Format/Format.h
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/Format.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Add Automatic and ExceptShortType options for AlwaysBreakAfterReturnType. (#78011)
The RTBS_None option in Clang-format avoids breaking after a short
return type.
However, there was an issue with the behaviour in that it wouldn't take
the leading indentation of the line into account.
This meant that the behaviour wasn't applying when intended.
In order to address this situation without breaking the existing
formatting, RTBS_None has been deprecated.
In its place are two new options for AlwaysBreakAfterReturnType.
The option RTBS_Automatic will break after the return type based on
PenaltyReturnTypeOnItsOwnLine.
The option RTBS_ExceptShortType will take the leading indentation into
account and prevent breaking after short return types.
This allows the inconsistent behaviour of RTBS_None to be avoided and
users to decide whether they want to allow breaking after short return
types or not.
Resolves #78010
Commit: 32b99617acbc4773caee45df10a7fd602b8db0ff
https://github.com/llvm/llvm-project/commit/32b99617acbc4773caee45df10a7fd602b8db0ff
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-02-04 (Sun, 04 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
A llvm/test/CodeGen/RISCV/rv64-legal-i32/uadd_sat.ll
A llvm/test/CodeGen/RISCV/rv64-legal-i32/uadd_sat_plus.ll
A llvm/test/CodeGen/RISCV/rv64-legal-i32/usub_sat.ll
A llvm/test/CodeGen/RISCV/rv64-legal-i32/usub_sat_plus.ll
Log Message:
-----------
[RISCV] Custom promote i32 UADDSAT/USUBSAT for -riscv-experimental-rv64-legal-i32 with Zbb.
Commit: 146e5ce481f3a9232f2188cc664a65e98f8a0985
https://github.com/llvm/llvm-project/commit/146e5ce481f3a9232f2188cc664a65e98f8a0985
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-02-04 (Sun, 04 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
M llvm/test/CodeGen/RISCV/rv64-legal-i32/rv64zbb.ll
M llvm/test/CodeGen/RISCV/rv64-legal-i32/uadd_sat_plus.ll
M llvm/test/CodeGen/RISCV/rv64-legal-i32/usub_sat_plus.ll
Log Message:
-----------
[RISCV] Add i32 zext.h pattern for -riscv-experimental-rv64-legal-i32.
Commit: ae36790be4a2a6c9dc8900f659c861647cab66d5
https://github.com/llvm/llvm-project/commit/ae36790be4a2a6c9dc8900f659c861647cab66d5
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M llvm/test/tools/llvm-cov/Inputs/mcdc-const-folding.cpp
M llvm/test/tools/llvm-cov/Inputs/mcdc-const-folding.o
M llvm/test/tools/llvm-cov/Inputs/mcdc-const-folding.proftext
M llvm/test/tools/llvm-cov/Inputs/mcdc-const.cpp
M llvm/test/tools/llvm-cov/Inputs/mcdc-const.o
M llvm/test/tools/llvm-cov/Inputs/mcdc-const.proftext
M llvm/test/tools/llvm-cov/Inputs/mcdc-general.cpp
M llvm/test/tools/llvm-cov/Inputs/mcdc-general.o
M llvm/test/tools/llvm-cov/Inputs/mcdc-general.proftext
M llvm/test/tools/llvm-cov/mcdc-const.test
M llvm/test/tools/llvm-cov/mcdc-general-none.test
M llvm/test/tools/llvm-cov/mcdc-general.test
Log Message:
-----------
test/llvm-cov: Regenerate MC/DC tests (#80610)
* Revise instructions for regeneration, not to create executables.
* Add instructions to regenerate both object files and test vectors
(except for `mcdc-general-none.proftext`)
* Reformat
Commit: dcb83692cdeaf7fb620fd14992848b6cbc94f773
https://github.com/llvm/llvm-project/commit/dcb83692cdeaf7fb620fd14992848b6cbc94f773
Author: Kazu Hirata <kazu at google.com>
Date: 2024-02-04 (Sun, 04 Feb 2024)
Changed paths:
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
Log Message:
-----------
[Bitcode] Use range-based for loops (NFC)
Commit: 90e9c6e36e8b928240dfd61c2dfd30cf26108c07
https://github.com/llvm/llvm-project/commit/90e9c6e36e8b928240dfd61c2dfd30cf26108c07
Author: Kazu Hirata <kazu at google.com>
Date: 2024-02-04 (Sun, 04 Feb 2024)
Changed paths:
M llvm/lib/Object/COFFModuleDefinition.cpp
M llvm/lib/Passes/StandardInstrumentations.cpp
M llvm/lib/Support/FormatVariadic.cpp
Log Message:
-----------
[llvm] Use StringRef::consume_front (NFC)
Commit: ffaedc2735cfcf2595fe65a75ed910a9c661391b
https://github.com/llvm/llvm-project/commit/ffaedc2735cfcf2595fe65a75ed910a9c661391b
Author: Kazu Hirata <kazu at google.com>
Date: 2024-02-04 (Sun, 04 Feb 2024)
Changed paths:
M clang/lib/Basic/Targets/AMDGPU.h
Log Message:
-----------
[Basic] Simplify uses of StringRef::consume_front (NFC)
Commit: e7d3a4f34adbe9ea183c2ec4aea97691d4ec06f5
https://github.com/llvm/llvm-project/commit/e7d3a4f34adbe9ea183c2ec4aea97691d4ec06f5
Author: Kazu Hirata <kazu at google.com>
Date: 2024-02-04 (Sun, 04 Feb 2024)
Changed paths:
M llvm/lib/FileCheck/FileCheck.cpp
Log Message:
-----------
[FileCheck] Simplify a use of StringRef::consume_front (NFC)
Commit: 92d5f644281cba56baa9b42dfc298db7f2c30003
https://github.com/llvm/llvm-project/commit/92d5f644281cba56baa9b42dfc298db7f2c30003
Author: Kazu Hirata <kazu at google.com>
Date: 2024-02-04 (Sun, 04 Feb 2024)
Changed paths:
M clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
Log Message:
-----------
[clang-tidy] Use StringRef::contains (NFC)
Commit: f72da9f4fd389951c4d65055f5471e208f256212
https://github.com/llvm/llvm-project/commit/f72da9f4fd389951c4d65055f5471e208f256212
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-02-04 (Sun, 04 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
Log Message:
-----------
[SelectionDAG] Use getShiftAmountConstant to simplify code. NFC (#80561)
Replace calls to getShiftAmountTy+getConstant with
getShiftAmountContant.
Commit: 6590d0fed5180a403c32c991baed56f9d39e045a
https://github.com/llvm/llvm-project/commit/6590d0fed5180a403c32c991baed56f9d39e045a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-02-04 (Sun, 04 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/ARM/shift-combine.ll
M llvm/test/CodeGen/X86/h-registers-2.ll
Log Message:
-----------
[DAGCombiner][ARM] Teach reduceLoadWidth to handle (and (srl (load), C, ShiftedMask)) (#80342)
If we have a shifted mask, we may be able to reduce the load width
to the width of the non-zero part of the mask and use an offset
to the base address to remove the srl. The offset is given by
C+trailingzeros(ShiftedMask).
Then we add a final shl to restore the trailing zero bits.
I've use the ARM test because that's where the existing (and (srl
(load))) tests were.
The X86 test was modified to keep the H register.
Commit: 34c4a0fa2b9c2181bfdbd3009e7956a50a28dab6
https://github.com/llvm/llvm-project/commit/34c4a0fa2b9c2181bfdbd3009e7956a50a28dab6
Author: ZijunZhaoCCK <88353225+ZijunZhaoCCK at users.noreply.github.com>
Date: 2024-02-04 (Sun, 04 Feb 2024)
Changed paths:
M clang-tools-extra/test/clang-tidy/checkers/bugprone/implicit-widening-of-multiplication-result-char.cpp
M clang/lib/Driver/Driver.cpp
M clang/test/CodeGen/fp128_complex.c
M clang/test/Driver/mips-features.c
M clang/test/Frontend/fixed_point_bit_widths.c
M llvm/include/llvm/TargetParser/Triple.h
M llvm/lib/TargetParser/Triple.cpp
Log Message:
-----------
[Driver] Report invalid target triple versions for all environment types. (#78655)
Followup for https://github.com/llvm/llvm-project/pull/75373
1. Make this feature not just available for android, but everyone.
2. Correct some target triples.
3. Add opencl to the environment type list.
Commit: b53169dfec89d89b292c550d6f6dec3ed6a61ba5
https://github.com/llvm/llvm-project/commit/b53169dfec89d89b292c550d6f6dec3ed6a61ba5
Author: Sheng <ox59616e at gmail.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M mlir/include/mlir/IR/AffineMap.h
Log Message:
-----------
[NFC][mlir] Fix Typo.
Commit: 067882cfe970a4ad7fef1432f5fa24fa33150d25
https://github.com/llvm/llvm-project/commit/067882cfe970a4ad7fef1432f5fa24fa33150d25
Author: Anton Korobeynikov <anton at korobeynikov.info>
Date: 2024-02-04 (Sun, 04 Feb 2024)
Changed paths:
A .github/workflows/email-check.yaml
Log Message:
-----------
Add github workflow that checks if a private email address was used to contribute to the repo and warn in this case (#80514)
Following the Discourse discussion, warn in case of a private email address was used in a PR.
Commit: 4926f12ff53fd4e67ac08b7355aeffed15584088
https://github.com/llvm/llvm-project/commit/4926f12ff53fd4e67ac08b7355aeffed15584088
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
M llvm/include/llvm/ProfileData/InstrProfReader.h
M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
M llvm/lib/ProfileData/InstrProfReader.cpp
Log Message:
-----------
[Coverage] ProfileData: Handle MC/DC Bitmap as BitVector. NFC. (#80608)
* `getFunctionBitmap()` stores not `std::vector<uint8_t>` but
`BitVector`.
* `CounterMappingContext` holds `Bitmap` (instead of the ref of bytes)
* `Bitmap` and `BitmapIdx` are used instead of `evaluateBitmap()`.
FIXME: `InstrProfRecord` itself should handle `Bitmap` as `BitVector`.
Commit: 115c0c6513d538ace464887414d1d8f1da7d7208
https://github.com/llvm/llvm-project/commit/115c0c6513d538ace464887414d1d8f1da7d7208
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M llvm/lib/Target/X86/X86InstrAVX512.td
A llvm/test/CodeGen/X86/fold-broadcast.ll
Log Message:
-----------
[X86][test] Remove useless pattern for VDPBF16PSZmb and add a test for broadcast folding (#80629)
llvm-issue: https://github.com/llvm/llvm-project/issues/68810
Commit: db060ab0531dd7d8fce9003c0047fb51ec7e4b5d
https://github.com/llvm/llvm-project/commit/db060ab0531dd7d8fce9003c0047fb51ec7e4b5d
Author: Chia <sun1011jacobi at gmail.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsub-mask.ll
A llvm/test/CodeGen/RISCV/rvv/vwsub-mask-sdnode.ll
Log Message:
-----------
[RISCV][ISel] Remove redundant vmerge for vwsub(u).wv. (#80523)
Commit: 4b34558f43121df9b863ff2492f74fb2e65a5af1
https://github.com/llvm/llvm-project/commit/4b34558f43121df9b863ff2492f74fb2e65a5af1
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2024-02-04 (Sun, 04 Feb 2024)
Changed paths:
M .github/workflows/pr-code-format.yml
Log Message:
-----------
[Github] Fix triggers formatting in code format action
A recent comment modified the job to only run on the main branch, but
the formatting was slightly off, causing the job to not run. This patch
fixes the formatting so the job will run as expected.
Commit: 5afeba051e5c3ad1860cf1642a99e60452d514de
https://github.com/llvm/llvm-project/commit/5afeba051e5c3ad1860cf1642a99e60452d514de
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-02-04 (Sun, 04 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
A llvm/test/CodeGen/RISCV/rv64-legal-i32/sadd_sat.ll
A llvm/test/CodeGen/RISCV/rv64-legal-i32/sadd_sat_plus.ll
A llvm/test/CodeGen/RISCV/rv64-legal-i32/ssub_sat.ll
A llvm/test/CodeGen/RISCV/rv64-legal-i32/ssub_sat_plus.ll
Log Message:
-----------
[RISCV] Custom legalize i32 UADDSAT/USUBSAT for -riscv-experimental-rv64-legal-i32 with Zbb.
This matches the codegen we get from type legalization without
-riscv-experimental-rv64-legal-i32.
Commit: a9670fb0de1cb87fb1556e8cf28d528171f5bd9b
https://github.com/llvm/llvm-project/commit/a9670fb0de1cb87fb1556e8cf28d528171f5bd9b
Author: Kai Luo <lkail at cn.ibm.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
Log Message:
-----------
[PowerPC] Fix assertion of InstDisp for local-exec TLS. NFC.
Fixes https://github.com/llvm/llvm-project/issues/80557.
Commit: f035c018a6a581c38680651d4856631d9c6ccb0a
https://github.com/llvm/llvm-project/commit/f035c018a6a581c38680651d4856631d9c6ccb0a
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M llvm/lib/ProfileData/InstrProfReader.cpp
Log Message:
-----------
InstrProf::getFunctionBitmap: Fix BE hosts (#80608)
Commit: ae5ed2a5d873e1785f06bd74cb583a4e88604317
https://github.com/llvm/llvm-project/commit/ae5ed2a5d873e1785f06bd74cb583a4e88604317
Author: Brandon Wu <brandon.wu at sifive.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M clang/include/clang/Basic/riscv_vector.td
M clang/include/clang/Support/RISCVVIntrinsicUtils.h
M clang/lib/Sema/SemaRISCVVectorLookup.cpp
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vfwmaccbf16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vfwmaccbf16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vfwmaccbf16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vfwmaccbf16.c
M clang/test/Sema/rvv-required-features-invalid.c
M clang/utils/TableGen/RISCVVEmitter.cpp
Log Message:
-----------
[RISCV][clang] Add Zvfbfwma C intrinsics support (#79615)
Commit: 8ed046fc15eae08a9cf7ec02974330d52606c663
https://github.com/llvm/llvm-project/commit/8ed046fc15eae08a9cf7ec02974330d52606c663
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-02-04 (Sun, 04 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/sadd_sat.ll
M llvm/test/CodeGen/RISCV/sadd_sat_plus.ll
M llvm/test/CodeGen/RISCV/ssub_sat.ll
M llvm/test/CodeGen/RISCV/ssub_sat_plus.ll
Log Message:
-----------
[RISCV] Custom type legalize i32 SADDSAT/SSUBSAT without Zbb.
While working on -riscv-experimental-rv64-legal-i32, I noticed this
missed optimization in our current codegen.
This expands to SADDO/SSUBO+select while still in i32. These will
be type legalized individually.
Commit: 500846d2f542c93e349161a39a1baae0f1f6fad0
https://github.com/llvm/llvm-project/commit/500846d2f542c93e349161a39a1baae0f1f6fad0
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Driver/Options.td
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/test/CodeGenCUDA/amdgpu-code-object-version-linking.cu
M clang/test/CodeGenCUDA/amdgpu-code-object-version.cu
M clang/test/CodeGenCUDA/amdgpu-workgroup-size.cu
A clang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_abi_version_600.bc
M clang/test/Driver/hip-code-object-version.hip
M clang/test/Driver/hip-device-libs.hip
M clang/test/Misc/warning-flags.c
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/test/Lower/AMD/code-object-version.f90
M lld/ELF/Arch/AMDGPU.cpp
M lld/test/ELF/amdgpu-tid.s
M llvm/include/llvm/BinaryFormat/ELF.h
M llvm/include/llvm/Support/AMDGPUMetadata.h
M llvm/include/llvm/Support/ScopedPrinter.h
M llvm/include/llvm/Target/TargetOptions.h
M llvm/lib/ObjectYAML/ELFYAML.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.cpp
M llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.h
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/test/CodeGen/AMDGPU/GlobalISel/implicit-kernarg-backend-usage-global-isel.ll
M llvm/test/CodeGen/AMDGPU/call-graph-register-usage.ll
M llvm/test/CodeGen/AMDGPU/codegen-internal-only-func.ll
M llvm/test/CodeGen/AMDGPU/elf-header-osabi.ll
M llvm/test/CodeGen/AMDGPU/enable-scratch-only-dynamic-stack.ll
M llvm/test/CodeGen/AMDGPU/implicit-kernarg-backend-usage.ll
M llvm/test/CodeGen/AMDGPU/implicitarg-offset-attributes.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.implicitarg.ptr.ll
M llvm/test/CodeGen/AMDGPU/non-entry-alloca.ll
M llvm/test/CodeGen/AMDGPU/recursion.ll
M llvm/test/CodeGen/AMDGPU/resource-usage-dead-function.ll
M llvm/test/CodeGen/AMDGPU/tid-mul-func-xnack-all-any.ll
M llvm/test/CodeGen/AMDGPU/tid-mul-func-xnack-all-not-supported.ll
M llvm/test/CodeGen/AMDGPU/tid-mul-func-xnack-all-off.ll
M llvm/test/CodeGen/AMDGPU/tid-mul-func-xnack-all-on.ll
M llvm/test/CodeGen/AMDGPU/tid-mul-func-xnack-any-off-1.ll
M llvm/test/CodeGen/AMDGPU/tid-mul-func-xnack-any-off-2.ll
M llvm/test/CodeGen/AMDGPU/tid-mul-func-xnack-any-on-1.ll
M llvm/test/CodeGen/AMDGPU/tid-mul-func-xnack-any-on-2.ll
M llvm/test/CodeGen/AMDGPU/tid-one-func-xnack-not-supported.ll
M llvm/test/CodeGen/AMDGPU/tid-one-func-xnack-off.ll
M llvm/test/CodeGen/AMDGPU/tid-one-func-xnack-on.ll
M llvm/test/MC/AMDGPU/hsa-v5-uses-dynamic-stack.s
A llvm/test/tools/llvm-readobj/ELF/AMDGPU/elf-headers.test
A llvm/test/tools/llvm-readobj/ELF/AMDGPU/generic_versions.s
A llvm/test/tools/llvm-readobj/ELF/AMDGPU/generic_versions.test
R llvm/test/tools/llvm-readobj/ELF/amdgpu-elf-headers.test
M llvm/tools/llvm-readobj/ELFDumper.cpp
Log Message:
-----------
[AMDGPU] Introduce Code Object V6 (#76954)
Introduce Code Object V6 in Clang, LLD, Flang and LLVM. This is the same
as V5 except a new "generic version" flag can be present in EFLAGS. This
is related to new generic targets that'll be added in a follow-up patch.
It's also likely V6 will have new changes (possibly new metadata
entries) added later.
Docs change are part of the follow-up patch #76955
Commit: 6e3e8856d442295d8912d8e0c87f6018b4553972
https://github.com/llvm/llvm-project/commit/6e3e8856d442295d8912d8e0c87f6018b4553972
Author: Dani <DanielKristofKiss at users.noreply.github.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M clang/lib/CodeGen/CodeGenModule.cpp
Log Message:
-----------
[NFC][Clang] Replace Arch with Triplet. (#80465)
Commit: 0f8680b9d87fa9e8839bd8e39ce605d64148ace6
https://github.com/llvm/llvm-project/commit/0f8680b9d87fa9e8839bd8e39ce605d64148ace6
Author: pvanhout <pierre.vanhoutryve at amd.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M llvm/test/tools/llvm-readobj/ELF/AMDGPU/generic_versions.s
Log Message:
-----------
[llvm-readobj] Require AMDGPU target for generic_version.s
Commit: cfa0833ccc7450a322e709583e894e4c96ce682e
https://github.com/llvm/llvm-project/commit/cfa0833ccc7450a322e709583e894e4c96ce682e
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M llvm/utils/TableGen/GlobalISel/CMakeLists.txt
A llvm/utils/TableGen/GlobalISel/CombinerUtils.cpp
M llvm/utils/TableGen/GlobalISel/CombinerUtils.h
A llvm/utils/TableGen/GlobalISel/PatternParser.cpp
A llvm/utils/TableGen/GlobalISel/PatternParser.h
M llvm/utils/TableGen/GlobalISel/Patterns.cpp
M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
Log Message:
-----------
[NFC][TableGen][GlobalISel] Move MIR Pattern Parsing out of Combiner Impl (#80257)
This just moves code around so the MIR pattern parsing logic is
separated and reusable.
Commit: a73baf620b8374805b7e927cc79cc157a30e0ac8
https://github.com/llvm/llvm-project/commit/a73baf620b8374805b7e927cc79cc157a30e0ac8
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M clang/lib/Analysis/ReachableCode.cpp
A clang/test/SemaCXX/coroutine-unreachable-warning.cpp
Log Message:
-----------
[coroutine] Suppress unreachable-code warning on coroutine statements. (#77454)
This fixes #69219.
Consider an example:
```
CoTask my_coroutine() {
std::abort();
co_return 1; // unreachable code warning.
}
```
Clang emits a CFG-based unreachable warning on the `co_return` statement
(precisely the `1` subexpr). If we remove this statement, the program
semantic is changed (my_coroutine is not a coroutine anymore).
This patch fixes this issue by never considering coroutine statements as
dead statements.
Commit: ab460797f3af80bd262648d4dd306ef751d4e0f6
https://github.com/llvm/llvm-project/commit/ab460797f3af80bd262648d4dd306ef751d4e0f6
Author: pvanhout <pierre.vanhoutryve at amd.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M llvm/utils/TableGen/GlobalISel/CMakeLists.txt
Log Message:
-----------
[TableGen] Trying fix for PatternParser linker error
There is an implicit dependency here and we can't call CodeGenIntrinsics.cpp functions from PatternParser.cpp reliably, so some build bots were failing.
Try to add LLVMTableGenCommon to the list of source files to see if it fixes it, if it doesn't , I'll revert.
Commit: 0a888fade2600dce737bc356a158e44c8f59b616
https://github.com/llvm/llvm-project/commit/0a888fade2600dce737bc356a158e44c8f59b616
Author: Nathan Ridge <zeratul976 at hotmail.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M clang-tools-extra/clangd/SemanticHighlighting.cpp
M clang-tools-extra/clangd/unittests/SemanticHighlightingTests.cpp
Log Message:
-----------
[clangd] Handle IndirectFieldDecl in kindForDecl (#80588)
Fixes https://github.com/clangd/clangd/issues/1925
Commit: d11c912f42113764074cf3c8f0aae49f2d288303
https://github.com/llvm/llvm-project/commit/d11c912f42113764074cf3c8f0aae49f2d288303
Author: David Green <david.green at arm.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/sadd_sat.ll
M llvm/test/CodeGen/AArch64/sadd_sat_plus.ll
M llvm/test/CodeGen/AArch64/sadd_sat_vec.ll
M llvm/test/CodeGen/AArch64/ssub_sat.ll
M llvm/test/CodeGen/AArch64/ssub_sat_plus.ll
M llvm/test/CodeGen/AArch64/ssub_sat_vec.ll
M llvm/test/CodeGen/AArch64/uadd_sat.ll
M llvm/test/CodeGen/AArch64/uadd_sat_plus.ll
M llvm/test/CodeGen/AArch64/uadd_sat_vec.ll
M llvm/test/CodeGen/AArch64/usub_sat.ll
M llvm/test/CodeGen/AArch64/usub_sat_plus.ll
M llvm/test/CodeGen/AArch64/usub_sat_vec.ll
Log Message:
-----------
[AArch64][GlobalISel] Addition GISel testing for u/s add_sat and sub_sat. NFC
Commit: 722db781d090fc2fd636c299e5f75a0b72c22372
https://github.com/llvm/llvm-project/commit/722db781d090fc2fd636c299e5f75a0b72c22372
Author: pvanhout <pierre.vanhoutryve at amd.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M llvm/utils/TableGen/GlobalISel/CMakeLists.txt
Log Message:
-----------
[TableGen] Exclude LLVMTableGenGlobalISel from "all"
Commit: 991d04d7213bf2747583413ac9b98c7163cf679d
https://github.com/llvm/llvm-project/commit/991d04d7213bf2747583413ac9b98c7163cf679d
Author: pvanhout <pierre.vanhoutryve at amd.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M llvm/utils/TableGen/GlobalISel/CMakeLists.txt
R llvm/utils/TableGen/GlobalISel/CombinerUtils.cpp
M llvm/utils/TableGen/GlobalISel/CombinerUtils.h
R llvm/utils/TableGen/GlobalISel/PatternParser.cpp
R llvm/utils/TableGen/GlobalISel/PatternParser.h
M llvm/utils/TableGen/GlobalISel/Patterns.cpp
M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
Log Message:
-----------
Revert "[NFC][TableGen][GlobalISel] Move MIR Pattern Parsing out of Combiner Impl (#80257)"
This reverts commit cfa0833ccc7450a322e709583e894e4c96ce682e.
Commit: d2b0e23247832c472fe9a96a6bb5784addc92de5
https://github.com/llvm/llvm-project/commit/d2b0e23247832c472fe9a96a6bb5784addc92de5
Author: pvanhout <pierre.vanhoutryve at amd.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M llvm/utils/TableGen/GlobalISel/CMakeLists.txt
Log Message:
-----------
Revert "[TableGen] Trying fix for PatternParser linker error"
This reverts commit ab460797f3af80bd262648d4dd306ef751d4e0f6.
Commit: 6deb7cfd74cacda4b460a7f8e1e7a1be012b1b9e
https://github.com/llvm/llvm-project/commit/6deb7cfd74cacda4b460a7f8e1e7a1be012b1b9e
Author: pvanhout <pierre.vanhoutryve at amd.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M llvm/utils/TableGen/GlobalISel/CMakeLists.txt
Log Message:
-----------
Revert "[TableGen] Exclude LLVMTableGenGlobalISel from "all""
This reverts commit 722db781d090fc2fd636c299e5f75a0b72c22372.
Commit: 7d2b6f0b355bc98bbe3aa5bae83316a708da33ee
https://github.com/llvm/llvm-project/commit/7d2b6f0b355bc98bbe3aa5bae83316a708da33ee
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyIndVar.cpp
M llvm/test/Transforms/IndVarSimplify/pr55925.ll
M llvm/test/Transforms/IndVarSimplify/pr79861.ll
Log Message:
-----------
[IndVarSimplify] Fix poison-safety when reusing instructions (#80458)
IndVars may replace an instruction with one of its operands, if they
have the same SCEV expression. However, such a replacement may be more
poisonous.
First, check whether the operand being poison implies that the
instruction is also poison, in which case the replacement is always
safe. If this fails, check whether SCEV can determine that reusing the
instruction is safe, using the same check as SCEVExpander.
Fixes https://github.com/llvm/llvm-project/issues/79861.
Commit: 0a45d172d3229074d414e1942d6bafa2b4ae9126
https://github.com/llvm/llvm-project/commit/0a45d172d3229074d414e1942d6bafa2b4ae9126
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M flang/include/flang/Lower/PFTBuilder.h
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Lower/PFTBuilder.cpp
M flang/test/Lower/OpenACC/acc-bounds.f90
M flang/test/Lower/allocatable-polymorphic.f90
M flang/test/Lower/nullify-polymorphic.f90
Log Message:
-----------
[flang] Do not instantiate runtime info globals in functions (#80447)
Runtime globals are compiler generated globals injected in user scopes.
They are never referred to directly in lowering code, we only need th
fur.global for them. Yet lowering was creating hlfir.declare for them in
module procedures. In modern fortran apps, this blows up the generated
IR for nothing (Types with dozens of components, type bound procedures
and parents can create in the order of 10 000 runtime info globals to
describe them, if there is a 100 module procedure, that is that is a few
million operations generated and processed in each pass for nothing).
Commit: d91bb2fcd35e6fc8fe325d5da035295e34b146ca
https://github.com/llvm/llvm-project/commit/d91bb2fcd35e6fc8fe325d5da035295e34b146ca
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M llvm/lib/AsmParser/LLParser.cpp
M llvm/test/Assembler/incomplete-ir-declarations.ll
Log Message:
-----------
[AsmParser] Check whether use is callee when determining function type
The code ended up treating a use in a call argument as if it were
a call. Make sure this is actually the callee use.
Commit: 25ab2fc06b6780335c291fa1fc23c2aec01c34a6
https://github.com/llvm/llvm-project/commit/25ab2fc06b6780335c291fa1fc23c2aec01c34a6
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M libc/src/__support/FPUtil/FPBits.h
M libc/test/src/__support/FPUtil/fpbits_test.cpp
Log Message:
-----------
[libc][NFC] Make FPRep more testable (#80453)
Commit: f33a0a483550e3441aae4059d6b3d81eab6a398c
https://github.com/llvm/llvm-project/commit/f33a0a483550e3441aae4059d6b3d81eab6a398c
Author: Guray Ozen <guray.ozen at gmail.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/NVGPU/IR/NVGPUDialect.h
M mlir/lib/Dialect/NVGPU/IR/NVGPUDialect.cpp
M mlir/test/Conversion/NVGPUToNVVM/nvgpu-to-nvvm.mlir
M mlir/test/Dialect/NVGPU/invalid.mlir
M mlir/test/Dialect/NVGPU/tmaload-transform.mlir
Log Message:
-----------
[mlir][nvgpu] Improve `tensormap.descriptor` Type Verifier (#77904)
This PR improves the verifier for the `nvgpu.tensormap.descriptor` type.
The descriptor contains information for TMA, and the compile-time check
ensures its restrictions, such as the last memory dimension being
128-byte. This prevents runtime crashes.
See cuda driver for more explanation:
https://docs.nvidia.com/cuda/cuda-driver-api/group__CUDA__TENSOR__MEMORY.html#group__CUDA__TENSOR__MEMORY_1ga7c7d2aaac9e49294304e755e6f341d7
Commit: 3e230bb6e1a2668e920ee496121e5e40baeb4552
https://github.com/llvm/llvm-project/commit/3e230bb6e1a2668e920ee496121e5e40baeb4552
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
Log Message:
-----------
[CodeGen] Return ArrayRef from TargetRegisterClass::getRegisters. NFCI. (#80411)
This will allow future patches to use indexing and methods like
drop_front on the result.
Commit: 95403b42da0de500f4f86add7a60b0daf8ec98d0
https://github.com/llvm/llvm-project/commit/95403b42da0de500f4f86add7a60b0daf8ec98d0
Author: Dmitry Polukhin <34227995+dmpolukhin at users.noreply.github.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M clang-tools-extra/clang-apply-replacements/tool/ClangApplyReplacementsMain.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/test/clang-apply-replacements/Inputs/format_header/no.cpp
A clang-tools-extra/test/clang-apply-replacements/Inputs/format_header/no.yaml
A clang-tools-extra/test/clang-apply-replacements/Inputs/format_header/yes.cpp
A clang-tools-extra/test/clang-apply-replacements/Inputs/format_header/yes.yaml
A clang-tools-extra/test/clang-apply-replacements/format-header.cpp
Log Message:
-----------
Apply format only if --format is specified (#79466)
clang-apply-replacements used to apply format even without --format is
specified. This because, methods like createReplacementsForHeaders only
takes the Spec.Style and would re-order the headers even when it was not
requested. The fix is to set up Spec.Style only if --format is provided.
Also added note to ReleaseNotes.rst
Based on https://github.com/llvm/llvm-project/pull/70801
---------
Co-authored-by: Kugan <34810920+kuganv at users.noreply.github.com>
Co-authored-by: Aaron Ballman <aaron at aaronballman.com>
Commit: b05ba231bf79c43ac7914920b893511b5e362eb2
https://github.com/llvm/llvm-project/commit/b05ba231bf79c43ac7914920b893511b5e362eb2
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M libc/src/__support/FPUtil/CMakeLists.txt
M libc/src/__support/FPUtil/FPBits.h
M libc/test/src/__support/FPUtil/fpbits_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc] Add `next_toward_inf` fo `FPBits` (#80654)
It is needed to provide correct rounding when building FPRep from
greater precision representations.
Commit: 04c1cce33cc9a3f78898a86567459481f02068bb
https://github.com/llvm/llvm-project/commit/04c1cce33cc9a3f78898a86567459481f02068bb
Author: Alex Bradbury <asb at igalia.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M llvm/docs/ReleaseNotes.rst
Log Message:
-----------
[docs][RISCV] Remove Zicond from release notes now it was backported
Zicond's graduation to non-experimental was backported to 18.x in #80018,
so remove the release note.
Commit: 7d879bc85129cba6608145d9ae5ccfc9d2fcfa1c
https://github.com/llvm/llvm-project/commit/7d879bc85129cba6608145d9ae5ccfc9d2fcfa1c
Author: Anatoly Trosinenko <atrosinenko at accesssoftek.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64PointerAuth.cpp
M llvm/test/CodeGen/AArch64/sign-return-address-tailcall.ll
Log Message:
-----------
[AArch64][PAC] Refine authenticated pointer check methods (#74074)
Align the values of the immediate operand of BRK instruction with those
used by the existing arm64e implementation.
Make AuthCheckMethod::DummyLoad use the requested register
instead of LR.
Commit: 2d69827c5c754f0eca98e497ecf0e52ed54b4fd3
https://github.com/llvm/llvm-project/commit/2d69827c5c754f0eca98e497ecf0e52ed54b4fd3
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M llvm/test/Transforms/AggressiveInstCombine/AArch64/or-load.ll
M llvm/test/Transforms/AggressiveInstCombine/X86/or-load.ll
M llvm/test/Transforms/ArgumentPromotion/X86/thiscall.ll
M llvm/test/Transforms/ArgumentPromotion/store-into-inself.ll
M llvm/test/Transforms/Attributor/convergent.ll
M llvm/test/Transforms/Attributor/dereferenceable-2-inseltpoison.ll
M llvm/test/Transforms/Attributor/dereferenceable-2.ll
M llvm/test/Transforms/Attributor/value-simplify-pointer-info.ll
M llvm/test/Transforms/CodeGenPrepare/AArch64/combine-address-mode.ll
M llvm/test/Transforms/CodeGenPrepare/X86/sink-addrmode-base.ll
M llvm/test/Transforms/ConstraintElimination/reproducer-remarks.ll
M llvm/test/Transforms/Coroutines/coro-async-addr-lifetime-infinite-loop-bug.ll
M llvm/test/Transforms/Coroutines/coro-async-addr-lifetime-start-bug.ll
M llvm/test/Transforms/Coroutines/coro-async-coro-id-async-bug.ll
M llvm/test/Transforms/Coroutines/coro-async-end-bug.ll
M llvm/test/Transforms/Coroutines/coro-async-no-cse-swift-async-context-addr.ll
M llvm/test/Transforms/Coroutines/coro-async-phi.ll
M llvm/test/Transforms/Coroutines/coro-async-unreachable.ll
M llvm/test/Transforms/CorrelatedValuePropagation/basic.ll
M llvm/test/Transforms/CorrelatedValuePropagation/minmaxabs.ll
M llvm/test/Transforms/CorrelatedValuePropagation/range.ll
M llvm/test/Transforms/CorrelatedValuePropagation/select.ll
M llvm/test/Transforms/CorrelatedValuePropagation/sub.ll
M llvm/test/Transforms/DeadArgElim/byref.ll
M llvm/test/Transforms/DeadArgElim/fct_ptr.ll
M llvm/test/Transforms/GVN/condprop-memdep-invalidation.ll
M llvm/test/Transforms/GVN/pr17732.ll
M llvm/test/Transforms/GVNHoist/hoist-recursive-geps.ll
M llvm/test/Transforms/GVNHoist/infinite-loop-direct.ll
M llvm/test/Transforms/GVNHoist/infinite-loop-indirect.ll
M llvm/test/Transforms/GlobalOpt/2007-06-04-PackedStruct.ll
M llvm/test/Transforms/GlobalOpt/2008-07-17-addrspace.ll
M llvm/test/Transforms/GlobalOpt/GSROA-section.ll
M llvm/test/Transforms/GlobalOpt/cleanup-pointer-root-users-gep-constexpr.ll
M llvm/test/Transforms/GlobalOpt/cleanup-pointer-root-users-other-constexpr.ll
M llvm/test/Transforms/GlobalOpt/cleanup-pointer-root-users-ptrtoint-add-constexpr.ll
M llvm/test/Transforms/GlobalOpt/externally-initialized-aggregate.ll
M llvm/test/Transforms/GlobalOpt/globalsra-partial.ll
M llvm/test/Transforms/GlobalOpt/globalsra.ll
M llvm/test/Transforms/GlobalOpt/invariant.ll
M llvm/test/Transforms/GlobalOpt/malloc-promote-opaque-ptr.ll
M llvm/test/Transforms/GlobalOpt/sra-many-stores-initializers.ll
M llvm/test/Transforms/GlobalOpt/sra-many-stores-once.ll
M llvm/test/Transforms/GlobalOpt/sra-many-stores.ll
M llvm/test/Transforms/IROutliner/nooutline-attribute.ll
M llvm/test/Transforms/InferAddressSpaces/AMDGPU/insert-pos-assert.ll
M llvm/test/Transforms/Inline/call-intrinsic-objectsize.ll
M llvm/test/Transforms/Inline/inline-byval-bonus.ll
M llvm/test/Transforms/Inline/inlined-loop-metadata-inseltpoison.ll
M llvm/test/Transforms/Inline/inlined-loop-metadata.ll
M llvm/test/Transforms/InstCombine/alloca.ll
M llvm/test/Transforms/InstCombine/call.ll
M llvm/test/Transforms/InstCombine/fmul.ll
M llvm/test/Transforms/InstCombine/memchr-8.ll
M llvm/test/Transforms/InstCombine/scalable-vector-struct.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/opaque_ptr.ll
M llvm/test/Transforms/LoopDistribute/symbolic-stride.ll
M llvm/test/Transforms/LoopFlatten/loop-flatten-negative.ll
M llvm/test/Transforms/LoopFlatten/loop-flatten-version.ll
M llvm/test/Transforms/LoopFlatten/widen-iv.ll
M llvm/test/Transforms/LoopIdiom/lir-heurs-multi-block-loop.ll
M llvm/test/Transforms/LoopInterchange/profitability.ll
M llvm/test/Transforms/LoopLoadElim/type-mismatch-opaque-ptr.ll
M llvm/test/Transforms/LoopSimplify/do-preheader-dbg-inseltpoison.ll
M llvm/test/Transforms/LoopSimplify/do-preheader-dbg.ll
M llvm/test/Transforms/LoopStrengthReduce/Power/memory-intrinsic.ll
M llvm/test/Transforms/LoopStrengthReduce/X86/2012-01-13-phielim.ll
M llvm/test/Transforms/LoopStrengthReduce/lsr-term-fold-negative-testcase.ll
M llvm/test/Transforms/LoopUnroll/ARM/mve-nounroll.ll
M llvm/test/Transforms/LoopUnroll/peel-loop-conditions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/consecutive-ptr-uniforms.ll
M llvm/test/Transforms/LoopVectorize/lcssa-crashes.ll
M llvm/test/Transforms/LoopVectorize/runtime-checks-difference.ll
M llvm/test/Transforms/MemCpyOpt/vscale-crashes.ll
M llvm/test/Transforms/MoveAutoInit/clobber.ll
M llvm/test/Transforms/NewGVN/flags-simplify.ll
M llvm/test/Transforms/NewGVN/no_speculative_loads_with_asan.ll
M llvm/test/Transforms/NewGVN/pr17732.ll
M llvm/test/Transforms/NewGVN/unreachable_block_infinite_loop.ll
M llvm/test/Transforms/PGOProfile/coverage.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/slp-abs.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/reductions.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/strided-loads-vectorized.ll
M llvm/test/Transforms/SLPVectorizer/X86/arith-fshl-rot.ll
M llvm/test/Transforms/SLPVectorizer/X86/arith-fshl.ll
M llvm/test/Transforms/SLPVectorizer/X86/arith-fshr-rot.ll
M llvm/test/Transforms/SLPVectorizer/X86/arith-fshr.ll
M llvm/test/Transforms/SLPVectorizer/X86/horizontal.ll
M llvm/test/Transforms/SLPVectorizer/X86/opaque-ptr.ll
M llvm/test/Transforms/SLPVectorizer/X86/stackrestore-dependence.ll
M llvm/test/Transforms/SROA/invariant-group.ll
M llvm/test/Transforms/SROA/phi-gep.ll
M llvm/test/Transforms/SROA/scalable-vector-struct.ll
M llvm/test/Transforms/SROA/sroa-common-type-fail-promotion.ll
M llvm/test/Transforms/SROA/vector-promotion.ll
M llvm/test/Transforms/ScalarizeMaskedMemIntrin/AArch64/streaming-compatible-expand-masked-gather-scatter.ll
M llvm/test/Transforms/Util/pr49185.ll
M llvm/test/Transforms/VectorCombine/AArch64/select-shuffle.ll
M llvm/test/Transforms/VectorCombine/X86/load-widening.ll
Log Message:
-----------
[Transforms] Convert tests to opaque pointers (NFC)
Commit: ddd95b15d102331ecb7ce94dcf3a7280e0a133fa
https://github.com/llvm/llvm-project/commit/ddd95b15d102331ecb7ce94dcf3a7280e0a133fa
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/test/Transforms/SimplifyCFG/X86/pr39187-g.ll
M llvm/test/Transforms/SimplifyCFG/hoist-dbgvalue-inlined.ll
M llvm/test/Transforms/SimplifyCFG/hoist-dbgvalue.ll
Log Message:
-----------
[RemoveDIs] Handle DPValues in hoistCommonCodeFromSuccessors (#79476)
Hoist DPValues attached to each instruction being considered for hoisting if
they are identical in lock-step. This includes the final instructions which
are considered but not hoisted, because the corresponding dbg.values would
appear before those instruction and thus hoisted if identical.
Identical debug records hoisted:
llvm/test/Transforms/SimplifyCFG/hoist-dbgvalue.ll
Non-identical debug records not hoisted:
llvm/test/Transforms/SimplifyCFG/X86/pr39187-g.ll
Debug records attached to first not-hoisted instructions are hoisted:
llvm/test/Transforms/SimplifyCFG/hoist-dbgvalue-inlined.ll
Commit: 9dd40f8c85a30b247dfa47d7ec4353eb69522876
https://github.com/llvm/llvm-project/commit/9dd40f8c85a30b247dfa47d7ec4353eb69522876
Author: Alex Bradbury <asb at igalia.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M llvm/docs/ReleaseNotes.rst
Log Message:
-----------
[docs][RISCV] Update release notes to include Zalasr and S* extensions from profiles spec
Also reflow the line for Zabha, as we normally line-wrap this file.
Commit: 1aee1e1f4c4b504becc06521546de992a662694b
https://github.com/llvm/llvm-project/commit/1aee1e1f4c4b504becc06521546de992a662694b
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M llvm/test/Analysis/BasicAA/assume-index-positive.ll
M llvm/test/Analysis/BasicAA/index-size.ll
M llvm/test/Analysis/BasicAA/noalias-bugs.ll
M llvm/test/Analysis/BasicAA/vscale.ll
M llvm/test/Analysis/BlockFrequencyInfo/basic.ll
M llvm/test/Analysis/BlockFrequencyInfo/irreducible_loop_crash.ll
M llvm/test/Analysis/BlockFrequencyInfo/irreducible_pgo.ll
M llvm/test/Analysis/BlockFrequencyInfo/loop_with_invoke.ll
M llvm/test/Analysis/BlockFrequencyInfo/loops_with_profile_info.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-f32-stride-2.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-f32-stride-3.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-f32-stride-4.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-f32-stride-5.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-f32-stride-6.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-f32-stride-7.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-f32-stride-8.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-f64-stride-2.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-f64-stride-3.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-f64-stride-4.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-f64-stride-5.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-f64-stride-6.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-f64-stride-7.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-f64-stride-8.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-i16-stride-2.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-i16-stride-3.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-i16-stride-4.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-i16-stride-5.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-i16-stride-6.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-i16-stride-7.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-i16-stride-8.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-i32-stride-2.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-i32-stride-3.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-i32-stride-4.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-i32-stride-5.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-i32-stride-6.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-i32-stride-7.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-i32-stride-8.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-i64-stride-2.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-i64-stride-3.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-i64-stride-4.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-i64-stride-5.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-i64-stride-6.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-i64-stride-7.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-i64-stride-8.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-i8-stride-2.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-i8-stride-3.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-i8-stride-4.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-i8-stride-5.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-i8-stride-6.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-i8-stride-7.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-i8-stride-8.ll
M llvm/test/Analysis/Dominators/2007-01-14-BreakCritEdges.ll
M llvm/test/Analysis/Dominators/2007-07-12-SplitBlock.ll
M llvm/test/Analysis/Dominators/invoke.ll
M llvm/test/Analysis/FunctionPropertiesAnalysis/matmul.ll
M llvm/test/Analysis/IVUsers/deep_recursion_in_scev.ll
M llvm/test/Analysis/LazyCallGraph/non-leaf-intrinsics.ll
M llvm/test/Analysis/LazyValueAnalysis/invalidation.ll
M llvm/test/Analysis/LoopAccessAnalysis/forked-pointers.ll
M llvm/test/Analysis/LoopAccessAnalysis/underlying-objects-2.ll
M llvm/test/Analysis/LoopCacheAnalysis/PowerPC/LoopnestFixedSize.ll
M llvm/test/Analysis/LoopCacheAnalysis/PowerPC/compute-cost-m32.ll
M llvm/test/Analysis/LoopCacheAnalysis/PowerPC/compute-cost.ll
M llvm/test/Analysis/LoopCacheAnalysis/PowerPC/loads-store.ll
M llvm/test/Analysis/LoopCacheAnalysis/PowerPC/matmul.ll
M llvm/test/Analysis/LoopCacheAnalysis/PowerPC/matvecmul.ll
M llvm/test/Analysis/LoopCacheAnalysis/PowerPC/single-store.ll
M llvm/test/Analysis/LoopCacheAnalysis/PowerPC/stencil.ll
M llvm/test/Analysis/LoopCacheAnalysis/compute-cost.ll
M llvm/test/Analysis/LoopInfo/annotated-parallel-complex.ll
M llvm/test/Analysis/LoopInfo/annotated-parallel-simple.ll
M llvm/test/Analysis/LoopNestAnalysis/duplicate-successors.ll
M llvm/test/Analysis/LoopNestAnalysis/imperfectnest.ll
M llvm/test/Analysis/LoopNestAnalysis/infinite.ll
M llvm/test/Analysis/LoopNestAnalysis/perfectnest.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/always-uniform-gmir.mir
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/hidden-diverge-gmir.mir
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/atomics.ll
Log Message:
-----------
[Analysis] Convert tests to opaque pointers (NFC)
Commit: 0940be158104e055ab255ccb5c1af9c7ccc7358f
https://github.com/llvm/llvm-project/commit/0940be158104e055ab255ccb5c1af9c7ccc7358f
Author: Matthias Springer <me at m-sp.org>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M mlir/docs/Bufferization.md
M mlir/include/mlir/Dialect/Bufferization/Pipelines/Passes.h
M mlir/lib/Dialect/Bufferization/Transforms/OwnershipBasedBufferDeallocation.cpp
M mlir/test/Dialect/Bufferization/Transforms/OwnershipBasedBufferDeallocation/dealloc-callop-interface.mlir
M mlir/test/Dialect/Bufferization/Transforms/OwnershipBasedBufferDeallocation/dealloc-function-boundaries.mlir
Log Message:
-----------
[mlir][bufferization] Never pass ownership to functions (#80655)
Even when `private-function-dynamic-ownership` is set, ownership should
never be passed to the callee. This can lead to double deallocs (#77096)
or use-after-free in the caller because ownership is currently passed
regardless of whether there are any further uses of the buffer in the
caller or not.
Note: This is consistent with the fact that ownership is never passed to
nested regions.
This commit fixes #77096.
Commit: 13e52b32790e3c3d2fb16139f082a588b4e0f4db
https://github.com/llvm/llvm-project/commit/13e52b32790e3c3d2fb16139f082a588b4e0f4db
Author: Alex Bradbury <asb at igalia.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M llvm/docs/ReleaseNotes.rst
Log Message:
-----------
[docs][RISCV] Add missed release note for Zimop codegen support
Commit: 84ea236af9f36d409d2c45c66f8a8b6eb027935d
https://github.com/llvm/llvm-project/commit/84ea236af9f36d409d2c45c66f8a8b6eb027935d
Author: David Green <david.green at arm.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M llvm/lib/Analysis/BasicAliasAnalysis.cpp
M llvm/test/Analysis/AliasSet/memloc-vscale.ll
M llvm/test/Analysis/BasicAA/vscale.ll
Log Message:
-----------
[BasicAA] Handle scalable type sizes with constant offsets (#80445)
This is a separate, but related issue to #69152 that was attempting to improve
AA with scalable dependency distances. This patch attempts to improve when
there are scalable accesses with a constant offset between them. We happen to
get a report of such a thing recently, where so long as the vscale_range is
known, the maximum size of the access can be assessed and better aliasing
results can be returned.
The Upper range of the vscale_range, along with known part of the typesize are
used to prove that Off >= CR.upper * LSize. It does not try to produce
PartialAlias results at the moment from the lower vscale_range. It also enables
the added benefit of allowing better alias analysis when the RHS of the two
values is scalable, but the LHS is normal and can be treated like any other
aliasing query.
Commit: 1ee315ae7964c8433b772e0b5d667834994ba753
https://github.com/llvm/llvm-project/commit/1ee315ae7964c8433b772e0b5d667834994ba753
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/GlobalISel/arm64-regbankselect.mir
M llvm/test/CodeGen/AArch64/GlobalISel/combine-ext-debugloc.mir
M llvm/test/CodeGen/AArch64/GlobalISel/combine-sext-debugloc.mir
M llvm/test/CodeGen/AArch64/GlobalISel/fp128-legalize-crash-pr35690.mir
M llvm/test/CodeGen/AArch64/GlobalISel/fp16-copy-gpr.mir
M llvm/test/CodeGen/AArch64/GlobalISel/inline-memcpy-forced.mir
M llvm/test/CodeGen/AArch64/GlobalISel/inline-memcpy.mir
M llvm/test/CodeGen/AArch64/GlobalISel/inline-memmove.mir
M llvm/test/CodeGen/AArch64/GlobalISel/inline-memset.mir
M llvm/test/CodeGen/AArch64/GlobalISel/inline-small-memcpy.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-atomicrmw.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-blockaddress.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-cmpxchg-with-success.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-cmpxchg.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-dyn-alloca.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-global-pic.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-global.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-load-store-vector-of-ptr.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-memlib-debug-loc.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-phi-insertpt-decrement.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-s128-div.mir
M llvm/test/CodeGen/AArch64/GlobalISel/load-addressing-modes.mir
M llvm/test/CodeGen/AArch64/GlobalISel/localizer.mir
M llvm/test/CodeGen/AArch64/GlobalISel/non-pow-2-extload-combine.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizercombiner-extending-loads.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postselectopt-xclass-copies.mir
M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizer-combiner-icmp-to-true-false-known-bits.mir
M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-copy-prop-disabled.mir
M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-extending-loads-cornercases.mir
M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-extending-loads-s1.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-add-low.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-atomic-load-store.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-atomicrmw.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-blockaddress.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-cmpxchg.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-constant.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-extload.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-ldaxr-intrin.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-ldxr-intrin.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-load-store-vector-of-ptr.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-load.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-phi.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-pr32733.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-returnaddress-liveins.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-sextload.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-static.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-stlxr-intrin.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-store-truncating-float.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-store.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-stx.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select.mir
M llvm/test/CodeGen/AArch64/GlobalISel/sext-inreg-ldrow-16b.mir
M llvm/test/CodeGen/AArch64/GlobalISel/store-addressing-modes.mir
M llvm/test/CodeGen/AArch64/GlobalISel/store-merging.mir
M llvm/test/CodeGen/AArch64/PBQP-csr.ll
M llvm/test/CodeGen/AArch64/a55-fuse-address.mir
M llvm/test/CodeGen/AArch64/aarch64-dup-ext-crash.ll
M llvm/test/CodeGen/AArch64/aarch64-ldst-no-premature-sp-pop.mir
M llvm/test/CodeGen/AArch64/aarch64-matrix-umull-smull.ll
M llvm/test/CodeGen/AArch64/aarch64-mov-debug-locs.mir
M llvm/test/CodeGen/AArch64/aarch64-p2align-max-bytes-neoverse.ll
M llvm/test/CodeGen/AArch64/aarch64-p2align-max-bytes.ll
M llvm/test/CodeGen/AArch64/add-i256.ll
M llvm/test/CodeGen/AArch64/addrsig-macho.ll
M llvm/test/CodeGen/AArch64/align-down.ll
M llvm/test/CodeGen/AArch64/arm64-collect-loh.ll
M llvm/test/CodeGen/AArch64/arm64-homogeneous-prolog-epilog-bad-outline.mir
M llvm/test/CodeGen/AArch64/arm64-homogeneous-prolog-epilog.ll
M llvm/test/CodeGen/AArch64/arm64-ldp.ll
M llvm/test/CodeGen/AArch64/arm64-misched-basic-A53.ll
M llvm/test/CodeGen/AArch64/arm64-misched-basic-A57.ll
M llvm/test/CodeGen/AArch64/arm64-non-pow2-ldst.ll
M llvm/test/CodeGen/AArch64/arm64-preserve-all.ll
M llvm/test/CodeGen/AArch64/arm64-zip.ll
M llvm/test/CodeGen/AArch64/branch-relax-block-size.mir
M llvm/test/CodeGen/AArch64/compute-call-frame-size-unreachable-pass.ll
M llvm/test/CodeGen/AArch64/concat_vector-truncate-combine.ll
M llvm/test/CodeGen/AArch64/dag-combine-lifetime-end-store-typesize.ll
M llvm/test/CodeGen/AArch64/dag-combine-trunc-build-vec.ll
M llvm/test/CodeGen/AArch64/debug-info-sve-dbg-declare.mir
M llvm/test/CodeGen/AArch64/divrem.ll
M llvm/test/CodeGen/AArch64/dont-shrink-wrap-stack-mayloadorstore.mir
M llvm/test/CodeGen/AArch64/early-ifcvt-regclass-mismatch.mir
M llvm/test/CodeGen/AArch64/elim-dead-mi.mir
M llvm/test/CodeGen/AArch64/expand-blr-rvmarker-pseudo.mir
M llvm/test/CodeGen/AArch64/fmov-imm-licm.ll
M llvm/test/CodeGen/AArch64/inline-asm-constraints-bad-sve.ll
M llvm/test/CodeGen/AArch64/insert-subvector-res-legalization.ll
M llvm/test/CodeGen/AArch64/irg-nomem.mir
M llvm/test/CodeGen/AArch64/ldradr.ll
M llvm/test/CodeGen/AArch64/ldst-nopreidx-sp-redzone.mir
M llvm/test/CodeGen/AArch64/ldst-opt-aa.mir
M llvm/test/CodeGen/AArch64/ldst-opt-non-imm-offset.mir
M llvm/test/CodeGen/AArch64/ldst-opt-zr-clobber.mir
M llvm/test/CodeGen/AArch64/machine-combiner-fmul-dup.mir
M llvm/test/CodeGen/AArch64/machine-outliner-bti.mir
M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-sp-mod.mir
M llvm/test/CodeGen/AArch64/machine-scheduler.mir
M llvm/test/CodeGen/AArch64/memcpy-scoped-aa.ll
M llvm/test/CodeGen/AArch64/merge-scoped-aa-store.ll
M llvm/test/CodeGen/AArch64/merge-store.ll
M llvm/test/CodeGen/AArch64/multi-vector-load-size.ll
M llvm/test/CodeGen/AArch64/nontemporal-load.ll
M llvm/test/CodeGen/AArch64/pre-indexed-addrmode-with-constant-offset.ll
M llvm/test/CodeGen/AArch64/ragreedy-local-interval-cost.ll
M llvm/test/CodeGen/AArch64/rvmarker-pseudo-expansion-and-outlining.mir
M llvm/test/CodeGen/AArch64/sched-movprfx.ll
M llvm/test/CodeGen/AArch64/settag-merge.mir
M llvm/test/CodeGen/AArch64/sme-intrinsics-mova-extract.ll
M llvm/test/CodeGen/AArch64/speculation-hardening-sls.mir
M llvm/test/CodeGen/AArch64/speculation-hardening.mir
M llvm/test/CodeGen/AArch64/spillfill-sve.ll
M llvm/test/CodeGen/AArch64/stack-guard-reassign-sve.mir
M llvm/test/CodeGen/AArch64/stack-guard-reassign.mir
M llvm/test/CodeGen/AArch64/stack-guard-sve.ll
M llvm/test/CodeGen/AArch64/stack-probing-64k.ll
M llvm/test/CodeGen/AArch64/stack-tagging-cfi.ll
M llvm/test/CodeGen/AArch64/stp-opt-with-renaming-ld3.mir
M llvm/test/CodeGen/AArch64/stp-opt-with-renaming-undef-assert.mir
M llvm/test/CodeGen/AArch64/sub-of-bias.ll
M llvm/test/CodeGen/AArch64/sve-alloca-stackid.ll
M llvm/test/CodeGen/AArch64/sve-alloca.ll
M llvm/test/CodeGen/AArch64/sve-calling-convention-mixed.ll
M llvm/test/CodeGen/AArch64/sve-dead-masked-store.ll
M llvm/test/CodeGen/AArch64/sve-extract-fixed-vector.ll
M llvm/test/CodeGen/AArch64/sve-fold-vscale.ll
M llvm/test/CodeGen/AArch64/sve-forward-st-to-ld.ll
M llvm/test/CodeGen/AArch64/sve-fp.ll
M llvm/test/CodeGen/AArch64/sve-fpext-load.ll
M llvm/test/CodeGen/AArch64/sve-fptrunc-store.ll
M llvm/test/CodeGen/AArch64/sve-gather-scatter-dag-combine.ll
M llvm/test/CodeGen/AArch64/sve-gep.ll
M llvm/test/CodeGen/AArch64/sve-insert-vector.ll
M llvm/test/CodeGen/AArch64/sve-int-arith.ll
M llvm/test/CodeGen/AArch64/sve-intrinsics-contiguous-prefetches.ll
M llvm/test/CodeGen/AArch64/sve-intrinsics-ld1-addressing-mode-reg-imm.ll
M llvm/test/CodeGen/AArch64/sve-intrinsics-ldN-sret-reg+imm-addr-mode.ll
M llvm/test/CodeGen/AArch64/sve-intrinsics-ldst-ext.ll
M llvm/test/CodeGen/AArch64/sve-intrinsics-loads-nf.ll
M llvm/test/CodeGen/AArch64/sve-intrinsics-mask-ldst-ext.ll
M llvm/test/CodeGen/AArch64/sve-intrinsics-st1-addressing-mode-reg-imm.ll
M llvm/test/CodeGen/AArch64/sve-intrinsics-stN-reg-imm-addr-mode.ll
M llvm/test/CodeGen/AArch64/sve-ld1-addressing-mode-reg-imm.ll
M llvm/test/CodeGen/AArch64/sve-ld1-addressing-mode-reg-reg.ll
M llvm/test/CodeGen/AArch64/sve-ld1r.ll
M llvm/test/CodeGen/AArch64/sve-masked-gather.ll
M llvm/test/CodeGen/AArch64/sve-masked-ldst-nonext.ll
M llvm/test/CodeGen/AArch64/sve-masked-ldst-sext.ll
M llvm/test/CodeGen/AArch64/sve-masked-ldst-trunc.ll
M llvm/test/CodeGen/AArch64/sve-masked-ldst-zext.ll
M llvm/test/CodeGen/AArch64/sve-masked-scatter.ll
M llvm/test/CodeGen/AArch64/sve-pred-contiguous-ldst-addressing-mode-reg-imm.ll
M llvm/test/CodeGen/AArch64/sve-pred-contiguous-ldst-addressing-mode-reg-reg.ll
M llvm/test/CodeGen/AArch64/sve-pred-non-temporal-ldst-addressing-mode-reg-imm.ll
M llvm/test/CodeGen/AArch64/sve-redundant-store.ll
M llvm/test/CodeGen/AArch64/sve-setcc.ll
M llvm/test/CodeGen/AArch64/sve-split-load.ll
M llvm/test/CodeGen/AArch64/sve-split-store.ll
M llvm/test/CodeGen/AArch64/sve-st1-addressing-mode-reg-imm.ll
M llvm/test/CodeGen/AArch64/sve-st1-addressing-mode-reg-reg.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-ptest.ll
M llvm/test/CodeGen/AArch64/sve-trunc.ll
M llvm/test/CodeGen/AArch64/sve-uunpklo-load-uzp1-store-combine.ll
M llvm/test/CodeGen/AArch64/sve-varargs-callee-broken.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-ld1-single.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-multivec-loads.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-multivec-stores.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-st1-single.ll
M llvm/test/CodeGen/AArch64/swift-error-unreachable-use.ll
M llvm/test/CodeGen/AArch64/taildup-addrtaken.mir
M llvm/test/CodeGen/AArch64/tailmerging_in_mbp.ll
M llvm/test/CodeGen/AArch64/tiny-model-pic.ll
M llvm/test/CodeGen/AArch64/tiny-model-static.ll
M llvm/test/CodeGen/AArch64/unwind-preserved-from-mir.mir
M llvm/test/CodeGen/AArch64/v3f-to-int.ll
M llvm/test/CodeGen/AArch64/win-catchpad-nested-cxx.ll
M llvm/test/CodeGen/AArch64/wineh-frame5.mir
M llvm/test/CodeGen/AArch64/wineh-frame6.mir
M llvm/test/CodeGen/AArch64/wineh-frame7.mir
M llvm/test/CodeGen/AArch64/wineh-frame8.mir
M llvm/test/CodeGen/AArch64/wineh5.mir
M llvm/test/CodeGen/AArch64/wineh_shrinkwrap.mir
M llvm/test/CodeGen/AArch64/wrong-callee-save-size-after-livedebugvariables.mir
M llvm/test/CodeGen/AArch64/zero-reg.ll
Log Message:
-----------
[AArch64] Convert tests to opaque pointers (NFC)
Commit: 1d3d8936baf9f15e23603bbb1cfe0a5610d458d3
https://github.com/llvm/llvm-project/commit/1d3d8936baf9f15e23603bbb1cfe0a5610d458d3
Author: Yi Wu <yi.wu2 at arm.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
A flang/test/Lower/Intrinsics/atan2d.f90
A flang/test/Lower/Intrinsics/atan2pi.f90
M flang/test/Lower/Intrinsics/atand.f90
A flang/test/Lower/Intrinsics/atanpi.f90
Log Message:
-----------
[flang] Fix for atand(Y,X), and implment atan2d(Y,X), atanpi(X), atanpi(Y,X), atan2pi(Y,X) (#79002)
Fix: https://github.com/llvm/llvm-project/issues/78568
---------
Co-authored-by: jeanPerier <jean.perier.polytechnique at gmail.com>
Commit: 00a4e248dc65d3a60fd900b342d4ba410bf70af0
https://github.com/llvm/llvm-project/commit/00a4e248dc65d3a60fd900b342d4ba410bf70af0
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/GlobalISel/addsubu64.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/prelegalizer-combiner-divrem.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/wmma-gfx12-w32-f16-f32-matrix-modifiers.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/wmma-gfx12-w64-f16-f32-matrix-modifiers.ll
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/branch-relaxation-debug-info.mir
M llvm/test/CodeGen/AMDGPU/cvt_f32_ubyte.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.iglp.opt.single.2b.mir
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.iglp.opt.single.2c.mir
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.rcp.ll
M llvm/test/CodeGen/AMDGPU/load-global-f32.ll
M llvm/test/CodeGen/AMDGPU/lower-ctor-dtor-constexpr-alias.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-multiple-mem-operands-nontemporal-1.mir
M llvm/test/CodeGen/AMDGPU/memory-legalizer-multiple-mem-operands-nontemporal-2.mir
M llvm/test/CodeGen/AMDGPU/merge-flat-load-store.mir
M llvm/test/CodeGen/AMDGPU/merge-flat-with-global-load-store.mir
M llvm/test/CodeGen/AMDGPU/merge-global-load-store.mir
M llvm/test/CodeGen/AMDGPU/merge-load-store-vreg.mir
M llvm/test/CodeGen/AMDGPU/omod.ll
M llvm/test/CodeGen/AMDGPU/opencl-printf-unsupported.ll
M llvm/test/CodeGen/AMDGPU/opencl-printf.ll
M llvm/test/CodeGen/AMDGPU/promote-alloca-array-aggregate.ll
M llvm/test/CodeGen/AMDGPU/sched-crash-dbg-value.mir
M llvm/test/CodeGen/AMDGPU/sdwa-scalar-ops.mir
M llvm/test/CodeGen/AMDGPU/wmma-gfx12-w32-f16-f32-matrix-modifiers.ll
M llvm/test/CodeGen/AMDGPU/wmma-gfx12-w64-f16-f32-matrix-modifiers.ll
Log Message:
-----------
[AMDGPU] Convert tests to opaque pointers (NFC)
Commit: 6e83c0a1cbfdb0c0f13c282312c47c7945970f55
https://github.com/llvm/llvm-project/commit/6e83c0a1cbfdb0c0f13c282312c47c7945970f55
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M llvm/test/CodeGen/X86/AMX/amx-combine.ll
M llvm/test/CodeGen/X86/AMX/amx-tile-complex-internals.ll
M llvm/test/CodeGen/X86/GlobalISel/x86_64-irtranslator-struct-return.ll
M llvm/test/CodeGen/X86/MergeConsecutiveStores.ll
M llvm/test/CodeGen/X86/PR37310.mir
M llvm/test/CodeGen/X86/atomic-dagsched.ll
M llvm/test/CodeGen/X86/atomic-nocx16.ll
M llvm/test/CodeGen/X86/avoid-sfb-g-no-change.mir
M llvm/test/CodeGen/X86/avoid-sfb-g-no-change2.mir
M llvm/test/CodeGen/X86/avoid-sfb-g-no-change3.mir
M llvm/test/CodeGen/X86/avoid-sfb-kill-flags.mir
M llvm/test/CodeGen/X86/avoid-sfb-offset.mir
M llvm/test/CodeGen/X86/avx512f-256-set0.mir
M llvm/test/CodeGen/X86/basic-block-address-map-with-basic-block-sections.ll
M llvm/test/CodeGen/X86/basic-block-labels-mir-parse.mir
M llvm/test/CodeGen/X86/basic-block-sections-module1.ll
M llvm/test/CodeGen/X86/basic-block-sections-module2.ll
M llvm/test/CodeGen/X86/block-placement.ll
M llvm/test/CodeGen/X86/callbr-asm-sink.ll
M llvm/test/CodeGen/X86/cmp.ll
M llvm/test/CodeGen/X86/code-model-kernel.ll
M llvm/test/CodeGen/X86/code_placement.ll
M llvm/test/CodeGen/X86/complex-asm.ll
M llvm/test/CodeGen/X86/crash.ll
M llvm/test/CodeGen/X86/fastisel-memset-flush.ll
M llvm/test/CodeGen/X86/function-alias.ll
M llvm/test/CodeGen/X86/funnel-shift.ll
M llvm/test/CodeGen/X86/large-constants-x32.ll
M llvm/test/CodeGen/X86/lsr-loop-exit-cond.ll
M llvm/test/CodeGen/X86/madd.ll
M llvm/test/CodeGen/X86/memcpy-scoped-aa.ll
M llvm/test/CodeGen/X86/merge-store-partially-alias-loads.ll
M llvm/test/CodeGen/X86/min-legal-vector-width.ll
M llvm/test/CodeGen/X86/post-ra-sched-with-debug.mir
M llvm/test/CodeGen/X86/pr44140.ll
M llvm/test/CodeGen/X86/pr48064.mir
M llvm/test/CodeGen/X86/pre-coalesce-2.ll
M llvm/test/CodeGen/X86/sad.ll
M llvm/test/CodeGen/X86/select-neg.ll
M llvm/test/CodeGen/X86/sse-intrinsics-fast-isel.ll
M llvm/test/CodeGen/X86/stack-protector-dbginfo.ll
M llvm/test/CodeGen/X86/statepoint-cmp-sunk-past-statepoint.ll
M llvm/test/CodeGen/X86/tail-dup-merge-loop-headers.ll
M llvm/test/CodeGen/X86/tailcc-dwarf.ll
M llvm/test/CodeGen/X86/threadlocal_address.ll
M llvm/test/CodeGen/X86/win64-byval.ll
M llvm/test/CodeGen/X86/windows-seh-EHa-CppCatchDotDotDot.ll
M llvm/test/CodeGen/X86/windows-seh-EHa-CppCondiTemps.ll
M llvm/test/CodeGen/X86/windows-seh-EHa-CppDtors01.ll
M llvm/test/CodeGen/X86/windows-seh-EHa-TryInFinally.ll
Log Message:
-----------
[X86] Convert tests to opaque pointers (NFC)
Commit: 60732c0fae56829c5475091de678ad46f0ce6287
https://github.com/llvm/llvm-project/commit/60732c0fae56829c5475091de678ad46f0ce6287
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/EvaluationResult.cpp
Log Message:
-----------
[clang][Interp][NFC] Remove superfluous return statement
Commit: 69ffa7be3bda5547d7a41233f86b88539616e386
https://github.com/llvm/llvm-project/commit/69ffa7be3bda5547d7a41233f86b88539616e386
Author: Simon Pilgrim <RKSimon at users.noreply.github.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M llvm/lib/Target/X86/MCTargetDesc/X86InstComments.cpp
M llvm/lib/Target/X86/X86FixupVectorConstants.cpp
M llvm/lib/Target/X86/X86MCInstLower.cpp
M llvm/test/CodeGen/X86/avx2-vector-shifts.ll
M llvm/test/CodeGen/X86/bitcast-int-to-vector-bool-sext.ll
M llvm/test/CodeGen/X86/bitcast-int-to-vector-bool-zext.ll
M llvm/test/CodeGen/X86/bitcast-int-to-vector-bool.ll
M llvm/test/CodeGen/X86/combine-mul.ll
M llvm/test/CodeGen/X86/combine-srl.ll
M llvm/test/CodeGen/X86/i64-to-float.ll
M llvm/test/CodeGen/X86/icmp-abs-C-vec.ll
M llvm/test/CodeGen/X86/icmp-pow2-mask.ll
M llvm/test/CodeGen/X86/masked_store_trunc.ll
M llvm/test/CodeGen/X86/masked_store_trunc_usat.ll
M llvm/test/CodeGen/X86/midpoint-int-vec-128.ll
M llvm/test/CodeGen/X86/omit-urem-of-power-of-two-or-zero-when-comparing-with-zero.ll
M llvm/test/CodeGen/X86/pmul.ll
M llvm/test/CodeGen/X86/pr62014.ll
M llvm/test/CodeGen/X86/psubus.ll
M llvm/test/CodeGen/X86/sadd_sat_vec.ll
M llvm/test/CodeGen/X86/sext-vsetcc.ll
M llvm/test/CodeGen/X86/srem-seteq-vec-nonsplat.ll
M llvm/test/CodeGen/X86/sse41.ll
M llvm/test/CodeGen/X86/ssub_sat_vec.ll
M llvm/test/CodeGen/X86/urem-seteq-vec-nonsplat.ll
M llvm/test/CodeGen/X86/var-permute-256.ll
M llvm/test/CodeGen/X86/vec_cmp_sint-128.ll
M llvm/test/CodeGen/X86/vec_compare-sse4.ll
M llvm/test/CodeGen/X86/vec_minmax_sint.ll
M llvm/test/CodeGen/X86/vec_saddo.ll
M llvm/test/CodeGen/X86/vec_setcc-2.ll
M llvm/test/CodeGen/X86/vec_smulo.ll
M llvm/test/CodeGen/X86/vec_ssubo.ll
M llvm/test/CodeGen/X86/vec_umulo.ll
M llvm/test/CodeGen/X86/vector-bo-select.ll
M llvm/test/CodeGen/X86/vector-fshl-256.ll
M llvm/test/CodeGen/X86/vector-fshl-rot-128.ll
M llvm/test/CodeGen/X86/vector-fshl-rot-256.ll
M llvm/test/CodeGen/X86/vector-fshr-128.ll
M llvm/test/CodeGen/X86/vector-fshr-256.ll
M llvm/test/CodeGen/X86/vector-fshr-rot-128.ll
M llvm/test/CodeGen/X86/vector-fshr-rot-256.ll
M llvm/test/CodeGen/X86/vector-idiv-sdiv-128.ll
M llvm/test/CodeGen/X86/vector-idiv-udiv-128.ll
M llvm/test/CodeGen/X86/vector-mul.ll
M llvm/test/CodeGen/X86/vector-reduce-add-mask.ll
M llvm/test/CodeGen/X86/vector-reduce-smax.ll
M llvm/test/CodeGen/X86/vector-reduce-smin.ll
M llvm/test/CodeGen/X86/vector-reduce-xor-bool.ll
M llvm/test/CodeGen/X86/vector-rotate-128.ll
M llvm/test/CodeGen/X86/vector-rotate-256.ll
M llvm/test/CodeGen/X86/vector-sext.ll
M llvm/test/CodeGen/X86/vector-shift-shl-128.ll
M llvm/test/CodeGen/X86/vector-shift-shl-256.ll
M llvm/test/CodeGen/X86/vector-shuffle-128-v16.ll
M llvm/test/CodeGen/X86/vector-shuffle-512-v64.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-sse41.ll
M llvm/test/CodeGen/X86/vector-trunc-math.ll
M llvm/test/CodeGen/X86/vector-trunc-packus.ll
M llvm/test/CodeGen/X86/vector-trunc-ssat.ll
M llvm/test/CodeGen/X86/vector-trunc-usat.ll
M llvm/test/CodeGen/X86/vector-trunc.ll
M llvm/test/CodeGen/X86/vector-unsigned-cmp.ll
M llvm/test/CodeGen/X86/vselect-pcmp.ll
M llvm/test/CodeGen/X86/vselect-post-combine.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast_from_memory.ll
Log Message:
-----------
[X86] X86FixupVectorConstants - load+zero vector constants that can be stored in a truncated form (#80428)
Further develops the vsextload support added in #79815 / b5d35feacb7246573c6a4ab2bddc4919a4228ed5 - reduces the size of the vector constant by storing it in the constant pool in a truncated form, and zero-extend it as part of the load.
Commit: bc82d1a6b7f8a795e923b10e8ef0fdc34628a48e
https://github.com/llvm/llvm-project/commit/bc82d1a6b7f8a795e923b10e8ef0fdc34628a48e
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M mlir/test/Target/LLVMIR/omptarget-parallel-wsloop.mlir
M mlir/test/Target/LLVMIR/openmp-llvm.mlir
M mlir/test/Target/LLVMIR/openmp-teams.mlir
Log Message:
-----------
[OpenMPIRBuilder][MLIR] Pass target-cpu and target-features to outlined functions (#80283)
This patch adds support for forwarding the target-cpu and
target-features attributes to functions outlined in the OpenMPIRBuilder.
This, in turn, results in the addition of these attributes for functions
created during the translation of the `omp.parallel`, `omp.task` and
`omp.teams` operations, and for the `omp.wsloop` operation when doing
codegen for an OpenMP target device.
Commit: c391f285afdfd800a251b4ef6d0bbadbbe9069ff
https://github.com/llvm/llvm-project/commit/c391f285afdfd800a251b4ef6d0bbadbbe9069ff
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
A clang/test/AST/Interp/atomic.cpp
Log Message:
-----------
[clang][Interp][NFC] Add simple test case for atomic types
Commit: 6ba9d2988ba471d3a1620da64d5a08f2edfe91ed
https://github.com/llvm/llvm-project/commit/6ba9d2988ba471d3a1620da64d5a08f2edfe91ed
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/math/index.rst
M libc/spec/stdc.td
M libc/src/math/CMakeLists.txt
A libc/src/math/ceilf128.h
A libc/src/math/floorf128.h
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/ceilf128.cpp
A libc/src/math/generic/floorf128.cpp
A libc/src/math/generic/roundf128.cpp
A libc/src/math/generic/truncf128.cpp
A libc/src/math/roundf128.h
A libc/src/math/truncf128.h
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/ceilf128_test.cpp
A libc/test/src/math/smoke/floorf128_test.cpp
A libc/test/src/math/smoke/roundf128_test.cpp
A libc/test/src/math/smoke/truncf128_test.cpp
Log Message:
-----------
[libc][math] Add float128 rounding functions (ceilf128, floorf128, roundf128, truncf128). (#80634)
Commit: d4ef4b818929732bcb68a536ef2c91891c0ad179
https://github.com/llvm/llvm-project/commit/d4ef4b818929732bcb68a536ef2c91891c0ad179
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/api.td
M libc/include/CMakeLists.txt
M libc/include/llvm-libc-types/CMakeLists.txt
A libc/include/llvm-libc-types/float128.h
M libc/spec/spec.td
M libc/spec/stdc.td
M libc/src/__support/FPUtil/generic/sqrt.h
M libc/src/__support/macros/properties/CMakeLists.txt
M libc/src/__support/macros/properties/float.h
Log Message:
-----------
[libc] Fix generated float128 header for aarch64 target. (#78017)
Commit: 7bdc80f35c325d148b1ddbdfce7dea8c6ba7af84
https://github.com/llvm/llvm-project/commit/7bdc80f35c325d148b1ddbdfce7dea8c6ba7af84
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M llvm/test/CodeGen/AVR/PR37143.ll
M llvm/test/CodeGen/AVR/alloca.ll
M llvm/test/CodeGen/AVR/atomics/load-store-16-unexpected-register-bug.ll
M llvm/test/CodeGen/AVR/atomics/load16.ll
M llvm/test/CodeGen/AVR/atomics/load32.ll
M llvm/test/CodeGen/AVR/atomics/load64.ll
M llvm/test/CodeGen/AVR/atomics/load8.ll
M llvm/test/CodeGen/AVR/atomics/store.ll
M llvm/test/CodeGen/AVR/atomics/store16.ll
M llvm/test/CodeGen/AVR/atomics/swap.ll
M llvm/test/CodeGen/AVR/avr-rust-issue-123.ll
M llvm/test/CodeGen/AVR/block-address-is-in-progmem-space.ll
M llvm/test/CodeGen/AVR/brind.ll
M llvm/test/CodeGen/AVR/call.ll
M llvm/test/CodeGen/AVR/calling-conv/c/basic.ll
M llvm/test/CodeGen/AVR/calling-conv/c/basic_aggr.ll
M llvm/test/CodeGen/AVR/calling-conv/c/stack.ll
M llvm/test/CodeGen/AVR/ctors.ll
M llvm/test/CodeGen/AVR/directmem.ll
M llvm/test/CodeGen/AVR/dynalloca.ll
M llvm/test/CodeGen/AVR/elpm.ll
M llvm/test/CodeGen/AVR/features/avr-tiny.ll
M llvm/test/CodeGen/AVR/features/xmega_io.ll
M llvm/test/CodeGen/AVR/frmidx-iterator-bug.ll
M llvm/test/CodeGen/AVR/high-pressure-on-ptrregs.ll
M llvm/test/CodeGen/AVR/icall-func-pointer-correct-addr-space.ll
M llvm/test/CodeGen/AVR/inline-asm/inline-asm-invalid.ll
M llvm/test/CodeGen/AVR/inline-asm/inline-asm.ll
M llvm/test/CodeGen/AVR/inline-asm/inline-asm3.ll
M llvm/test/CodeGen/AVR/inline-asm/loadstore.ll
M llvm/test/CodeGen/AVR/integration/blink.ll
M llvm/test/CodeGen/AVR/interrupts.ll
M llvm/test/CodeGen/AVR/intrinsics/stacksave-restore.ll
M llvm/test/CodeGen/AVR/io.ll
M llvm/test/CodeGen/AVR/issue-regalloc-stackframe-folding-earlyclobber.ll
M llvm/test/CodeGen/AVR/load.ll
M llvm/test/CodeGen/AVR/lpmx.ll
M llvm/test/CodeGen/AVR/pr43443-ctor-alias.ll
M llvm/test/CodeGen/AVR/progmem-extended.ll
M llvm/test/CodeGen/AVR/progmem.ll
M llvm/test/CodeGen/AVR/rust-avr-bug-112.ll
M llvm/test/CodeGen/AVR/rust-avr-bug-37.ll
M llvm/test/CodeGen/AVR/rust-avr-bug-95.ll
M llvm/test/CodeGen/AVR/rust-avr-bug-99.ll
M llvm/test/CodeGen/AVR/rust-trait-object.ll
M llvm/test/CodeGen/AVR/std-ldd-immediate-overflow.ll
M llvm/test/CodeGen/AVR/store-undef.ll
M llvm/test/CodeGen/AVR/store.ll
M llvm/test/CodeGen/AVR/struct.ll
M llvm/test/CodeGen/AVR/umul.with.overflow.i16-bug.ll
M llvm/test/CodeGen/AVR/unaligned-atomic-ops.ll
M llvm/test/CodeGen/AVR/varargs.ll
M llvm/test/CodeGen/AVR/zeroreg.ll
Log Message:
-----------
[AVR] Convert tests to opaque pointers (NFC)
Commit: b31fffbc7f1e0491bf599e82b7195e320d26e140
https://github.com/llvm/llvm-project/commit/b31fffbc7f1e0491bf599e82b7195e320d26e140
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M llvm/test/CodeGen/ARM/2008-03-07-RegScavengerAssert.ll
M llvm/test/CodeGen/ARM/2009-07-18-RewriterBug.ll
M llvm/test/CodeGen/ARM/Windows/wineh-basic.ll
M llvm/test/CodeGen/ARM/aes-erratum-fix.ll
M llvm/test/CodeGen/ARM/aliases.ll
M llvm/test/CodeGen/ARM/code-placement.ll
M llvm/test/CodeGen/ARM/constant-island-movwt.mir
M llvm/test/CodeGen/ARM/cortex-a57-misched-basic.ll
M llvm/test/CodeGen/ARM/debug-info-blocks.ll
M llvm/test/CodeGen/ARM/debug-info-d16-reg.ll
M llvm/test/CodeGen/ARM/debug-info-s16-reg.ll
M llvm/test/CodeGen/ARM/dwarf-eh.ll
M llvm/test/CodeGen/ARM/ldrcppic.ll
M llvm/test/CodeGen/ARM/misched-copy-arm.ll
M llvm/test/CodeGen/ARM/no-register-coalescing-in-returnsTwice.mir
M llvm/test/CodeGen/ARM/readonly-aliases.ll
M llvm/test/CodeGen/ARM/tail-dup-kill-flags.ll
M llvm/test/CodeGen/Thumb/PR36658.mir
M llvm/test/CodeGen/Thumb/branch-to-return.ll
M llvm/test/CodeGen/Thumb/tbb-reuse.mir
M llvm/test/CodeGen/Thumb2/2012-01-13-CBNZBug.ll
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/add_reduce.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/arm_cmplx_dot_prod_f32.ll
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/biquad-cascade-default.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/biquad-cascade-optsize-strd-lr.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/biquad-cascade-optsize.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/constbound.ll
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/count_dominates_start.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/disjoint-vcmp.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/dont-remove-loop-update.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/emptyblock.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/extract-element.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/incorrect-sub-16.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/incorrect-sub-32.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/incorrect-sub-8.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/inloop-vpnot-1.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/inloop-vpnot-2.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/inloop-vpnot-3.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/inloop-vpsel-1.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/inloop-vpsel-2.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/invariant-qreg.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/it-block-chain-store.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/iv-two-vcmp-reordered.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/iv-two-vcmp.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/iv-vcmp.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/livereg-no-loop-def.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/loop-dec-copy-chain.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/loop-dec-copy-prev-iteration.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/loop-dec-liveout.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/lstp-insertion-position.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/matrix-debug.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/matrix.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/mov-after-dlstp.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/mov-lr-terminator.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/mov-operand.ll
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/move-def-before-start.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/move-start-after-def.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/multi-block-cond-iter-count.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/multi-cond-iter-count.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/multiple-do-loops.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/mve-tail-data-types.ll
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/no-dec-cbnz.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/no-dec-reorder.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/no-dec.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/no-vpsel-liveout.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/non-masked-load.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/non-masked-store.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/predicated-invariant.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/predicated-liveout-unknown-lanes.ll
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/predicated-liveout.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/reductions-vpt-liveout.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/reductions.ll
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/revert-non-header.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/skip-debug.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/skip-vpt-debug.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/subreg-liveness.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/tp-multiple-vpst.ll
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/unpredicated-max.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/unpredload.ll
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/unrolled-and-vector.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/vaddv.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/vcmp-vpst-combination.ll
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/vctp-add-operand-liveout.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/vctp-in-vpt-2.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/vctp-in-vpt.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/vctp-subi3.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/vctp-subri.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/vctp-subri12.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/vctp16-reduce.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/vector-arith-codegen.ll
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/vmaxmin_vpred_r.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/vmldava_in_vpt.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/vpt-block-debug.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/wls-revert-placement.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/wlstp.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/wrong-liveout-lsr-shift.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/wrong-vctp-opcode-liveout.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/wrong-vctp-operand-liveout.mir
M llvm/test/CodeGen/Thumb2/mve-gather-optimisation-deep.ll
M llvm/test/CodeGen/Thumb2/mve-gather-scatter-optimisation.ll
M llvm/test/CodeGen/Thumb2/mve-gather-scatter-tailpred.ll
M llvm/test/CodeGen/Thumb2/mve-phireg.ll
M llvm/test/CodeGen/Thumb2/mve-postinc-distribute.ll
M llvm/test/CodeGen/Thumb2/mve-postinc-lsr.ll
M llvm/test/CodeGen/Thumb2/mve-pred-vctpvpsel.ll
M llvm/test/CodeGen/Thumb2/mve-qrintrsplat.ll
M llvm/test/CodeGen/Thumb2/mve-vecreduce-add-combine.ll
M llvm/test/CodeGen/Thumb2/mve-vecreduce-loops.ll
M llvm/test/CodeGen/Thumb2/mve-vmaxnma-commute.ll
M llvm/test/CodeGen/Thumb2/mve-vmovlloop.ll
M llvm/test/CodeGen/Thumb2/scavenge-lr.mir
M llvm/test/CodeGen/Thumb2/t2-teq-reduce.mir
Log Message:
-----------
[ARM] Convert tests to opaque pointers (NFC)
Commit: 89ec940b4a8020e1399e019d845be1a2d2217f69
https://github.com/llvm/llvm-project/commit/89ec940b4a8020e1399e019d845be1a2d2217f69
Author: Christudasan Devadasan <christudasan.devadasan at amd.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
M llvm/test/CodeGen/AMDGPU/preserve-wwm-copy-dst-reg.ll
A llvm/test/CodeGen/AMDGPU/spill-sgpr-used-for-exec-copy.mir
M llvm/test/CodeGen/AMDGPU/whole-wave-register-copy.ll
Log Message:
-----------
[AMDGPU] Insert spill codes for the SGPRs used for EXEC copy (#79428)
The SGPR registers used for preserving EXEC mask while lowering the
whole-wave register spills and copies should be preserved at the prolog
and epilog if they are in the CSR range. It isn't happening when there
is only wwm-copy lowered and there are no wwm-spills. This patch
addresses that problem.
Commit: 06f711a906be85e141bcce9a88ab304dc81e74ef
https://github.com/llvm/llvm-project/commit/06f711a906be85e141bcce9a88ab304dc81e74ef
Author: Petar Avramovic <Petar.Avramovic at amd.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M llvm/include/llvm/CodeGen/MachineRegisterInfo.h
M llvm/include/llvm/CodeGen/MachineUniformityAnalysis.h
M llvm/lib/CodeGen/MachineRegisterInfo.cpp
M llvm/lib/CodeGen/MachineUniformityAnalysis.cpp
M llvm/lib/Target/AMDGPU/AMDGPUGlobalISelDivergenceLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/SILowerI1Copies.cpp
M llvm/lib/Target/AMDGPU/SILowerI1Copies.h
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-phis-no-lane-mask-merging.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-phis-no-lane-mask-merging.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-used-outside-loop.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-used-outside-loop.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-structurizer.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-structurizer.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-temporal-divergent-i1.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-temporal-divergent-i1.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-temporal-divergent-reg.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-temporal-divergent-reg.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergent-control-flow.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-phi.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.div.fmas.ll
Log Message:
-----------
AMDGPU/GlobalISelDivergenceLowering: select divergent i1 phis (#80003)
Implement PhiLoweringHelper for GlobalISel in DivergenceLoweringHelper.
Use machine uniformity analysis to find divergent i1 phis and select
them as lane mask phis in same way SILowerI1Copies select VReg_1 phis.
Note that divergent i1 phis include phis created by LCSSA and all cases
of uses outside of cycle are actually covered by "lowering LCSSA phis".
GlobalISel lane masks are registers with sgpr register class and S1 LLT.
TODO: General goal is that instructions created in this pass are fully
instruction-selected so that selection of lane mask phis is not split
across multiple passes.
patch 3 from: https://github.com/llvm/llvm-project/pull/73337
Commit: ff9af4c43ad71eeba2cabe99609cfaa0fd54c1d0
https://github.com/llvm/llvm-project/commit/ff9af4c43ad71eeba2cabe99609cfaa0fd54c1d0
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M llvm/test/CodeGen/BPF/BTF/builtin-btf-type-id.ll
M llvm/test/CodeGen/BPF/BTF/static-var-zerolen-array.ll
M llvm/test/CodeGen/BPF/BTF/type-tag-fixup-fwd.ll
M llvm/test/CodeGen/BPF/BTF/type-tag-fixup-resolved.ll
M llvm/test/CodeGen/BPF/CORE/offset-reloc-cast-array-1.ll
M llvm/test/CodeGen/BPF/CORE/offset-reloc-cast-array-2.ll
M llvm/test/CodeGen/BPF/CORE/offset-reloc-cast-struct-3.ll
M llvm/test/CodeGen/BPF/CORE/offset-reloc-cast-union-1.ll
M llvm/test/CodeGen/BPF/CORE/offset-reloc-cast-union-2.ll
M llvm/test/CodeGen/BPF/ex1.ll
M llvm/test/CodeGen/BPF/reloc.ll
M llvm/test/CodeGen/BPF/remove_truncate_3.ll
M llvm/test/CodeGen/BPF/sockex2.ll
M llvm/test/CodeGen/BPF/xadd.ll
M llvm/test/CodeGen/BPF/xadd_legal.ll
M llvm/test/CodeGen/Generic/DbgValueAggregate.ll
M llvm/test/CodeGen/Generic/MIRDebugify/check-line-and-variables-x.mir
M llvm/test/CodeGen/Generic/MIRDebugify/check-line-and-variables.mir
M llvm/test/CodeGen/Generic/MIRStripDebug/all.mir
M llvm/test/CodeGen/Generic/MIRStripDebug/dont-strip-real-debug-info.mir
M llvm/test/CodeGen/Generic/MIRStripDebug/multiple-moduleflags.mir
M llvm/test/CodeGen/Hexagon/autohvx/fsplat.ll
M llvm/test/CodeGen/Hexagon/autohvx/hfsplat.ll
M llvm/test/CodeGen/Hexagon/cmpy-round.ll
M llvm/test/CodeGen/Hexagon/const-pool-tf.ll
M llvm/test/CodeGen/Hexagon/debug-prologue-loc.ll
M llvm/test/CodeGen/Hexagon/fixed-spill-mutable.ll
M llvm/test/CodeGen/Hexagon/machine-sink-float-usr.mir
M llvm/test/CodeGen/Hexagon/memcpy-likely-aligned.ll
M llvm/test/CodeGen/Hexagon/swp-carried-dep1.mir
M llvm/test/CodeGen/Hexagon/swp-carried-dep2.mir
M llvm/test/CodeGen/Hexagon/swp-memrefs-epilog.ll
M llvm/test/CodeGen/Hexagon/swp-new-phi.ll
M llvm/test/CodeGen/Hexagon/v5_insns.ll
M llvm/test/CodeGen/Hexagon/v60Vasr.ll
M llvm/test/CodeGen/Hexagon/vdmpy-halide-test.ll
M llvm/test/CodeGen/Hexagon/vect-regpairs.ll
M llvm/test/CodeGen/Hexagon/vect_setcc_v2i16.ll
M llvm/test/CodeGen/Hexagon/vmpa-halide-test.ll
M llvm/test/CodeGen/Lanai/codemodel.ll
M llvm/test/CodeGen/Lanai/inlineasm-output-template.ll
M llvm/test/CodeGen/Lanai/lanai-misched-trivial-disjoint.ll
M llvm/test/CodeGen/Lanai/mem_alu_combiner.ll
M llvm/test/CodeGen/Lanai/peephole-compare.mir
M llvm/test/CodeGen/Lanai/set_and_hi.ll
M llvm/test/CodeGen/Lanai/sub-cmp-peephole.ll
M llvm/test/CodeGen/Lanai/subword.ll
M llvm/test/CodeGen/LoongArch/frame.ll
M llvm/test/CodeGen/LoongArch/lasx/intrinsic-ld-invalid-imm.ll
M llvm/test/CodeGen/LoongArch/lasx/intrinsic-ld-non-imm.ll
M llvm/test/CodeGen/LoongArch/lasx/intrinsic-ld.ll
M llvm/test/CodeGen/LoongArch/lasx/intrinsic-ldrepl-invalid-imm.ll
M llvm/test/CodeGen/LoongArch/lasx/intrinsic-ldrepl-non-imm.ll
M llvm/test/CodeGen/LoongArch/lasx/intrinsic-ldrepl.ll
M llvm/test/CodeGen/LoongArch/lasx/intrinsic-st-invalid-imm.ll
M llvm/test/CodeGen/LoongArch/lasx/intrinsic-st-non-imm.ll
M llvm/test/CodeGen/LoongArch/lasx/intrinsic-st.ll
M llvm/test/CodeGen/LoongArch/lasx/intrinsic-stelm-invalid-imm.ll
M llvm/test/CodeGen/LoongArch/lasx/intrinsic-stelm-non-imm.ll
M llvm/test/CodeGen/LoongArch/lasx/intrinsic-stelm.ll
M llvm/test/CodeGen/LoongArch/lsx/intrinsic-ld-invalid-imm.ll
M llvm/test/CodeGen/LoongArch/lsx/intrinsic-ld-non-imm.ll
M llvm/test/CodeGen/LoongArch/lsx/intrinsic-ld.ll
M llvm/test/CodeGen/LoongArch/lsx/intrinsic-ldrepl-invalid-imm.ll
M llvm/test/CodeGen/LoongArch/lsx/intrinsic-ldrepl-non-imm.ll
M llvm/test/CodeGen/LoongArch/lsx/intrinsic-ldrepl.ll
M llvm/test/CodeGen/LoongArch/lsx/intrinsic-st-invalid-imm.ll
M llvm/test/CodeGen/LoongArch/lsx/intrinsic-st-non-imm.ll
M llvm/test/CodeGen/LoongArch/lsx/intrinsic-st.ll
M llvm/test/CodeGen/LoongArch/lsx/intrinsic-stelm-invalid-imm.ll
M llvm/test/CodeGen/LoongArch/lsx/intrinsic-stelm-non-imm.ll
M llvm/test/CodeGen/LoongArch/lsx/intrinsic-stelm.ll
M llvm/test/CodeGen/LoongArch/tail-calls.ll
M llvm/test/CodeGen/MIR/AArch64/expected-target-flag-name.mir
M llvm/test/CodeGen/MIR/AArch64/invalid-target-flag-name.mir
M llvm/test/CodeGen/MIR/AArch64/machine-metadata-error.mir
M llvm/test/CodeGen/MIR/AArch64/machine-metadata.mir
M llvm/test/CodeGen/MIR/AArch64/stack-object-local-offset.mir
M llvm/test/CodeGen/MIR/AArch64/swp.mir
M llvm/test/CodeGen/MIR/AArch64/target-flags.mir
M llvm/test/CodeGen/MIR/AArch64/unnamed-stack.ll
M llvm/test/CodeGen/MIR/AMDGPU/expected-target-index-name.mir
M llvm/test/CodeGen/MIR/AMDGPU/invalid-target-index-operand.mir
M llvm/test/CodeGen/MIR/AMDGPU/machine-metadata-error.mir
M llvm/test/CodeGen/MIR/AMDGPU/machine-metadata.mir
M llvm/test/CodeGen/MIR/AMDGPU/mircanon-memoperands.mir
M llvm/test/CodeGen/MIR/AMDGPU/syncscopes.mir
M llvm/test/CodeGen/MIR/AMDGPU/target-index-operands.mir
M llvm/test/CodeGen/MIR/ARM/cfi-same-value.mir
M llvm/test/CodeGen/MIR/ARM/expected-closing-brace.mir
M llvm/test/CodeGen/MIR/ARM/thumb2-sub-sp-t3.mir
M llvm/test/CodeGen/MIR/Generic/frame-info.mir
M llvm/test/CodeGen/MIR/Generic/llvm-ir-error-reported.mir
M llvm/test/CodeGen/MIR/Mips/memory-operands.mir
M llvm/test/CodeGen/MIR/Mips/setRegClassOrRegBank.mir
M llvm/test/CodeGen/MIR/PowerPC/unordered-implicit-registers.mir
M llvm/test/CodeGen/MIR/X86/block-address-operands.mir
M llvm/test/CodeGen/MIR/X86/branch-folder-with-label.mir
M llvm/test/CodeGen/MIR/X86/callee-saved-info.mir
M llvm/test/CodeGen/MIR/X86/diexpr-win32.mir
M llvm/test/CodeGen/MIR/X86/duplicate-memory-operand-flag.mir
M llvm/test/CodeGen/MIR/X86/expected-align-in-memory-operand.mir
M llvm/test/CodeGen/MIR/X86/expected-alignment-after-align-in-memory-operand.mir
M llvm/test/CodeGen/MIR/X86/expected-block-reference-in-blockaddress.mir
M llvm/test/CodeGen/MIR/X86/expected-comma-after-memory-operand.mir
M llvm/test/CodeGen/MIR/X86/expected-different-implicit-operand.mir
M llvm/test/CodeGen/MIR/X86/expected-different-implicit-register-flag.mir
M llvm/test/CodeGen/MIR/X86/expected-function-reference-after-blockaddress.mir
M llvm/test/CodeGen/MIR/X86/expected-global-value-after-blockaddress.mir
M llvm/test/CodeGen/MIR/X86/expected-integer-after-offset-sign.mir
M llvm/test/CodeGen/MIR/X86/expected-load-or-store-in-memory-operand.mir
M llvm/test/CodeGen/MIR/X86/expected-metadata-node-after-debug-location.mir
M llvm/test/CodeGen/MIR/X86/expected-metadata-node-after-exclaim.mir
M llvm/test/CodeGen/MIR/X86/expected-metadata-node-in-stack-object.mir
M llvm/test/CodeGen/MIR/X86/expected-named-register-in-callee-saved-register.mir
M llvm/test/CodeGen/MIR/X86/expected-number-after-bb.mir
M llvm/test/CodeGen/MIR/X86/expected-pointer-value-in-memory-operand.mir
M llvm/test/CodeGen/MIR/X86/expected-positive-alignment-after-align.mir
M llvm/test/CodeGen/MIR/X86/expected-size-integer-after-memory-operation.mir
M llvm/test/CodeGen/MIR/X86/expected-size-integer-after-memory-operation2.mir
M llvm/test/CodeGen/MIR/X86/expected-stack-object.mir
M llvm/test/CodeGen/MIR/X86/expected-target-flag-name.mir
M llvm/test/CodeGen/MIR/X86/expected-value-in-memory-operand.mir
M llvm/test/CodeGen/MIR/X86/external-symbol-operands.mir
M llvm/test/CodeGen/MIR/X86/fixed-stack-di.mir
M llvm/test/CodeGen/MIR/X86/fixed-stack-memory-operands.mir
M llvm/test/CodeGen/MIR/X86/fixed-stack-objects.mir
M llvm/test/CodeGen/MIR/X86/frame-info-save-restore-points.mir
M llvm/test/CodeGen/MIR/X86/frame-info-stack-references.mir
M llvm/test/CodeGen/MIR/X86/global-value-operands.mir
M llvm/test/CodeGen/MIR/X86/instr-heap-alloc-operands.mir
M llvm/test/CodeGen/MIR/X86/instr-pcsections.mir
M llvm/test/CodeGen/MIR/X86/instructions-debug-location.mir
M llvm/test/CodeGen/MIR/X86/invalid-metadata-node-type.mir
M llvm/test/CodeGen/MIR/X86/invalid-target-flag-name.mir
M llvm/test/CodeGen/MIR/X86/large-index-number-error.mir
M llvm/test/CodeGen/MIR/X86/large-offset-number-error.mir
M llvm/test/CodeGen/MIR/X86/large-size-in-memory-operand-error.mir
M llvm/test/CodeGen/MIR/X86/machine-basic-block-operands.mir
M llvm/test/CodeGen/MIR/X86/machine-metadata-error.mir
M llvm/test/CodeGen/MIR/X86/machine-metadata.mir
M llvm/test/CodeGen/MIR/X86/machine-verifier-address.mir
M llvm/test/CodeGen/MIR/X86/metadata-operands.mir
M llvm/test/CodeGen/MIR/X86/missing-closing-quote.mir
M llvm/test/CodeGen/MIR/X86/missing-implicit-operand.mir
M llvm/test/CodeGen/MIR/X86/null-register-operands.mir
M llvm/test/CodeGen/MIR/X86/pr38773.mir
M llvm/test/CodeGen/MIR/X86/register-operands-target-flag-error.mir
M llvm/test/CodeGen/MIR/X86/spill-slot-fixed-stack-object-aliased.mir
M llvm/test/CodeGen/MIR/X86/spill-slot-fixed-stack-object-immutable.mir
M llvm/test/CodeGen/MIR/X86/spill-slot-fixed-stack-objects.mir
M llvm/test/CodeGen/MIR/X86/stack-object-debug-info.mir
M llvm/test/CodeGen/MIR/X86/stack-object-invalid-name.mir
M llvm/test/CodeGen/MIR/X86/stack-object-operand-name-mismatch-error.mir
M llvm/test/CodeGen/MIR/X86/stack-object-operands.mir
M llvm/test/CodeGen/MIR/X86/stack-object-redefinition-error.mir
M llvm/test/CodeGen/MIR/X86/stack-objects.mir
M llvm/test/CodeGen/MIR/X86/undefined-fixed-stack-object.mir
M llvm/test/CodeGen/MIR/X86/undefined-global-value.mir
M llvm/test/CodeGen/MIR/X86/undefined-ir-block-in-blockaddress.mir
M llvm/test/CodeGen/MIR/X86/undefined-ir-block-slot-in-blockaddress.mir
M llvm/test/CodeGen/MIR/X86/undefined-named-global-value.mir
M llvm/test/CodeGen/MIR/X86/undefined-stack-object.mir
M llvm/test/CodeGen/MIR/X86/undefined-value-in-memory-operand.mir
M llvm/test/CodeGen/MIR/X86/unknown-machine-basic-block.mir
M llvm/test/CodeGen/MIR/X86/unknown-metadata-keyword.mir
M llvm/test/CodeGen/MIR/X86/unknown-metadata-node.mir
M llvm/test/CodeGen/MIR/X86/unknown-named-machine-basic-block.mir
M llvm/test/CodeGen/MIR/X86/variable-sized-stack-object-size-error.mir
M llvm/test/CodeGen/MIR/X86/variable-sized-stack-objects.mir
M llvm/test/CodeGen/MSP430/2009-05-10-CyclicDAG.ll
M llvm/test/CodeGen/MSP430/2009-05-17-Rot.ll
M llvm/test/CodeGen/MSP430/2009-05-17-Shift.ll
M llvm/test/CodeGen/MSP430/2009-08-25-DynamicStackAlloc.ll
M llvm/test/CodeGen/MSP430/2009-09-18-AbsoluteAddr.ll
M llvm/test/CodeGen/MSP430/2009-10-10-OrImpDef.ll
M llvm/test/CodeGen/MSP430/2009-11-08-InvalidResNo.ll
M llvm/test/CodeGen/MSP430/2009-12-21-FrameAddr.ll
M llvm/test/CodeGen/MSP430/2009-12-22-InlineAsm.ll
M llvm/test/CodeGen/MSP430/2010-05-01-CombinerAnd.ll
M llvm/test/CodeGen/MSP430/AddrMode-bis-rx.ll
M llvm/test/CodeGen/MSP430/AddrMode-bis-xr.ll
M llvm/test/CodeGen/MSP430/AddrMode-mov-rx.ll
M llvm/test/CodeGen/MSP430/AddrMode-mov-xr.ll
M llvm/test/CodeGen/MSP430/BranchSelector.ll
M llvm/test/CodeGen/MSP430/Inst16mi.ll
M llvm/test/CodeGen/MSP430/Inst16mm.ll
M llvm/test/CodeGen/MSP430/Inst16mr.ll
M llvm/test/CodeGen/MSP430/Inst16rm.ll
M llvm/test/CodeGen/MSP430/Inst8mi.ll
M llvm/test/CodeGen/MSP430/Inst8mm.ll
M llvm/test/CodeGen/MSP430/Inst8mr.ll
M llvm/test/CodeGen/MSP430/Inst8rm.ll
M llvm/test/CodeGen/MSP430/InstII.ll
M llvm/test/CodeGen/MSP430/bit.ll
M llvm/test/CodeGen/MSP430/byval.ll
M llvm/test/CodeGen/MSP430/callee-saved.ll
M llvm/test/CodeGen/MSP430/calls.ll
M llvm/test/CodeGen/MSP430/cc_args.ll
M llvm/test/CodeGen/MSP430/cc_ret.ll
M llvm/test/CodeGen/MSP430/fp.ll
M llvm/test/CodeGen/MSP430/hwmult16.ll
M llvm/test/CodeGen/MSP430/hwmult32.ll
M llvm/test/CodeGen/MSP430/hwmultf5.ll
M llvm/test/CodeGen/MSP430/indirectbr.ll
M llvm/test/CodeGen/MSP430/indirectbr2.ll
M llvm/test/CodeGen/MSP430/inline-asm-absolute-addressing.ll
M llvm/test/CodeGen/MSP430/inline-asm.ll
M llvm/test/CodeGen/MSP430/inlineasm-output-template.ll
M llvm/test/CodeGen/MSP430/interrupt.ll
M llvm/test/CodeGen/MSP430/jumptable.ll
M llvm/test/CodeGen/MSP430/libcalls.ll
M llvm/test/CodeGen/MSP430/memset.ll
M llvm/test/CodeGen/MSP430/misched-msp430.ll
M llvm/test/CodeGen/MSP430/mult-alt-generic-msp430.ll
M llvm/test/CodeGen/MSP430/postinc.ll
M llvm/test/CodeGen/MSP430/promote-i8-mul.ll
M llvm/test/CodeGen/MSP430/spill-to-stack.ll
M llvm/test/CodeGen/MSP430/stacksave_restore.ll
M llvm/test/CodeGen/MSP430/struct-return.ll
M llvm/test/CodeGen/MSP430/struct_layout.ll
M llvm/test/CodeGen/MSP430/transient-stack-alignment.ll
M llvm/test/CodeGen/MSP430/vararg.ll
M llvm/test/CodeGen/Mips/GlobalISel/instruction-select/var_arg.mir
M llvm/test/CodeGen/Mips/GlobalISel/irtranslator/sret_pointer.ll
M llvm/test/CodeGen/Mips/GlobalISel/legalizer/store_split_because_of_memsize_or_align.mir
M llvm/test/CodeGen/Mips/GlobalISel/legalizer/var_arg.mir
M llvm/test/CodeGen/Mips/GlobalISel/mips-prelegalizer-combiner/inline-memcpy.mir
M llvm/test/CodeGen/Mips/GlobalISel/regbankselect/var_arg.mir
M llvm/test/CodeGen/Mips/hf16call32.ll
M llvm/test/CodeGen/Mips/hfptrcall.ll
M llvm/test/CodeGen/Mips/mips16_fpret.ll
M llvm/test/CodeGen/Mips/msa/emergency-spill.mir
M llvm/test/CodeGen/Mips/mulull.ll
M llvm/test/CodeGen/NVPTX/addrspacecast.ll
M llvm/test/CodeGen/NVPTX/bf16x2-instructions.ll
M llvm/test/CodeGen/NVPTX/ld-addrspace.ll
M llvm/test/CodeGen/NVPTX/ldu-ldg.ll
M llvm/test/CodeGen/NVPTX/noreturn.ll
M llvm/test/CodeGen/NVPTX/nvvm-reflect-ocl.ll
M llvm/test/CodeGen/NVPTX/nvvm-reflect-opaque.ll
M llvm/test/CodeGen/NVPTX/short-ptr.ll
M llvm/test/CodeGen/NVPTX/st-addrspace.ll
M llvm/test/CodeGen/PowerPC/2007-11-04-CoalescerCrash.ll
M llvm/test/CodeGen/PowerPC/aix-alias-alignment-2.ll
M llvm/test/CodeGen/PowerPC/aix-alias-alignment.ll
M llvm/test/CodeGen/PowerPC/aix-complex.ll
M llvm/test/CodeGen/PowerPC/aix-tls-gd-target-flags.ll
M llvm/test/CodeGen/PowerPC/block-placement.mir
M llvm/test/CodeGen/PowerPC/convert-rr-to-ri-instrs-R0-special-handling.mir
M llvm/test/CodeGen/PowerPC/convert-rr-to-ri-instrs.mir
M llvm/test/CodeGen/PowerPC/expand-foldable-isel.ll
M llvm/test/CodeGen/PowerPC/fast-isel-branch.ll
M llvm/test/CodeGen/PowerPC/lsr-insns-cost.ll
M llvm/test/CodeGen/PowerPC/ppc-TOC-stats.ll
M llvm/test/CodeGen/PowerPC/ppc32-selectcc-i64.ll
M llvm/test/CodeGen/PowerPC/preincprep-i64-check.ll
M llvm/test/CodeGen/PowerPC/preincprep-nontrans-crash.ll
M llvm/test/CodeGen/PowerPC/sink-down-more-instructions-1.mir
M llvm/test/CodeGen/PowerPC/sink-down-more-instructions-regpressure-high.mir
M llvm/test/CodeGen/PowerPC/sms-phi-1.ll
M llvm/test/CodeGen/PowerPC/sms-phi-3.ll
M llvm/test/CodeGen/PowerPC/stack-coloring-vararg.mir
M llvm/test/CodeGen/PowerPC/toc-load-sched-bug.ll
M llvm/test/CodeGen/PowerPC/vsx-infl-copy1.ll
M llvm/test/CodeGen/PowerPC/vsx-infl-copy2.ll
M llvm/test/CodeGen/RISCV/calling-conv-ilp32e.ll
M llvm/test/CodeGen/RISCV/copy-frameindex.mir
M llvm/test/CodeGen/RISCV/copyprop.ll
M llvm/test/CodeGen/RISCV/ctz_zero_return_test.ll
M llvm/test/CodeGen/RISCV/fli-licm.ll
M llvm/test/CodeGen/RISCV/live-sp.mir
M llvm/test/CodeGen/RISCV/make-compressible-rv64.mir
M llvm/test/CodeGen/RISCV/make-compressible.mir
M llvm/test/CodeGen/RISCV/misched-load-clustering.ll
M llvm/test/CodeGen/RISCV/out-of-reach-emergency-slot.mir
M llvm/test/CodeGen/RISCV/prefetch.ll
M llvm/test/CodeGen/RISCV/push-pop-popret.ll
M llvm/test/CodeGen/RISCV/regalloc-last-chance-recoloring-failure.ll
M llvm/test/CodeGen/RISCV/rv64-legal-i32/xtheadmemidx.ll
M llvm/test/CodeGen/RISCV/rv64-patchpoint.ll
M llvm/test/CodeGen/RISCV/rv64-stackmap-frame-setup.ll
M llvm/test/CodeGen/RISCV/rv64-stackmap.ll
M llvm/test/CodeGen/RISCV/rvv/access-fixed-objects-by-rvv.ll
M llvm/test/CodeGen/RISCV/rvv/addi-rvv-stack-object.mir
M llvm/test/CodeGen/RISCV/rvv/addi-scalable-offset.mir
M llvm/test/CodeGen/RISCV/rvv/alloca-load-store-scalable-struct.ll
M llvm/test/CodeGen/RISCV/rvv/calling-conv-fastcc.ll
M llvm/test/CodeGen/RISCV/rvv/dont-sink-splat-operands.ll
M llvm/test/CodeGen/RISCV/rvv/extload-truncstore.ll
M llvm/test/CodeGen/RISCV/rvv/extractelt-fp.ll
M llvm/test/CodeGen/RISCV/rvv/extractelt-i1.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-emergency-slot.mir
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-buildvec.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert-subvector.ll
M llvm/test/CodeGen/RISCV/rvv/frameindex-addr.ll
M llvm/test/CodeGen/RISCV/rvv/implicit-def-copy.ll
M llvm/test/CodeGen/RISCV/rvv/insert-subvector.ll
M llvm/test/CodeGen/RISCV/rvv/legalize-load-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/legalize-store-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/load-mask.ll
M llvm/test/CodeGen/RISCV/rvv/localvar.ll
M llvm/test/CodeGen/RISCV/rvv/masked-load-fp.ll
M llvm/test/CodeGen/RISCV/rvv/masked-load-int.ll
M llvm/test/CodeGen/RISCV/rvv/masked-store-fp.ll
M llvm/test/CodeGen/RISCV/rvv/masked-store-int.ll
M llvm/test/CodeGen/RISCV/rvv/masked-tama.ll
M llvm/test/CodeGen/RISCV/rvv/masked-tamu.ll
M llvm/test/CodeGen/RISCV/rvv/masked-tuma.ll
M llvm/test/CodeGen/RISCV/rvv/masked-tumu.ll
M llvm/test/CodeGen/RISCV/rvv/memory-args.ll
M llvm/test/CodeGen/RISCV/rvv/mgather-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/narrow-shift-extend.ll
M llvm/test/CodeGen/RISCV/rvv/rvv-framelayout.ll
M llvm/test/CodeGen/RISCV/rvv/rvv-out-arguments.ll
M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-masked-vops.ll
M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops-mir.ll
M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops.ll
M llvm/test/CodeGen/RISCV/rvv/rvv-stack-align.mir
M llvm/test/CodeGen/RISCV/rvv/scalable-vector-struct.ll
M llvm/test/CodeGen/RISCV/rvv/scalar-stack-align.ll
M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll
M llvm/test/CodeGen/RISCV/rvv/strided-vpload.ll
M llvm/test/CodeGen/RISCV/rvv/tail-agnostic-impdef-copy.mir
M llvm/test/CodeGen/RISCV/rvv/unaligned-loads-stores.ll
M llvm/test/CodeGen/RISCV/rvv/unmasked-tu.ll
M llvm/test/CodeGen/RISCV/rvv/vle.ll
M llvm/test/CodeGen/RISCV/rvv/vleff-vlseg2ff-output.ll
M llvm/test/CodeGen/RISCV/rvv/vleff.ll
M llvm/test/CodeGen/RISCV/rvv/vlm.ll
M llvm/test/CodeGen/RISCV/rvv/vloxei-rv64.ll
M llvm/test/CodeGen/RISCV/rvv/vloxei.ll
M llvm/test/CodeGen/RISCV/rvv/vlse.ll
M llvm/test/CodeGen/RISCV/rvv/vluxei-rv64.ll
M llvm/test/CodeGen/RISCV/rvv/vluxei.ll
M llvm/test/CodeGen/RISCV/rvv/vpload.ll
M llvm/test/CodeGen/RISCV/rvv/vpstore.ll
M llvm/test/CodeGen/RISCV/rvv/vse.ll
M llvm/test/CodeGen/RISCV/rvv/vselect-fp.ll
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.ll
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.mir
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert.ll
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert.mir
M llvm/test/CodeGen/RISCV/rvv/vsetvli-intrinsics.ll
M llvm/test/CodeGen/RISCV/rvv/vsetvli-regression.ll
M llvm/test/CodeGen/RISCV/rvv/vsm.ll
M llvm/test/CodeGen/RISCV/rvv/vsoxei-rv64.ll
M llvm/test/CodeGen/RISCV/rvv/vsoxei.ll
M llvm/test/CodeGen/RISCV/rvv/vsse.ll
M llvm/test/CodeGen/RISCV/rvv/vsuxei-rv64.ll
M llvm/test/CodeGen/RISCV/rvv/vsuxei.ll
M llvm/test/CodeGen/RISCV/rvv/vxrm-insert.ll
M llvm/test/CodeGen/RISCV/rvv/wrong-stack-offset-for-rvv-object.mir
M llvm/test/CodeGen/RISCV/rvv/zve32-types.ll
M llvm/test/CodeGen/RISCV/rvv/zvlsseg-spill.mir
M llvm/test/CodeGen/RISCV/stack-realignment.ll
M llvm/test/CodeGen/RISCV/vararg-ilp32e.ll
M llvm/test/CodeGen/RISCV/xtheadfmemidx.ll
M llvm/test/CodeGen/RISCV/xtheadmemidx.ll
M llvm/test/CodeGen/RISCV/xtheadmempair.ll
M llvm/test/CodeGen/SPARC/2008-10-10-InlineAsmMemoryOperand.ll
M llvm/test/CodeGen/SPARC/2008-10-10-InlineAsmRegOperand.ll
M llvm/test/CodeGen/SPARC/2009-08-28-PIC.ll
M llvm/test/CodeGen/SPARC/2011-01-11-CC.ll
M llvm/test/CodeGen/SPARC/2011-01-11-FrameAddr.ll
M llvm/test/CodeGen/SPARC/2011-01-19-DelaySlot.ll
M llvm/test/CodeGen/SPARC/2011-01-21-ByValArgs.ll
M llvm/test/CodeGen/SPARC/2011-01-22-SRet.ll
M llvm/test/CodeGen/SPARC/2011-12-03-TailDuplication.ll
M llvm/test/CodeGen/SPARC/2012-05-01-LowerArguments.ll
M llvm/test/CodeGen/SPARC/2013-05-17-CallFrame.ll
M llvm/test/CodeGen/SPARC/32abi.ll
M llvm/test/CodeGen/SPARC/64abi.ll
M llvm/test/CodeGen/SPARC/64atomics.ll
M llvm/test/CodeGen/SPARC/64bit.ll
M llvm/test/CodeGen/SPARC/64cond.ll
M llvm/test/CodeGen/SPARC/LeonCASAInstructionUT.ll
M llvm/test/CodeGen/SPARC/LeonFixAllFDIVSQRTPassUT.ll
M llvm/test/CodeGen/SPARC/LeonInsertNOPLoadPassUT.ll
M llvm/test/CodeGen/SPARC/LeonItinerariesUT.ll
M llvm/test/CodeGen/SPARC/LeonSMACUMACInstructionUT.ll
M llvm/test/CodeGen/SPARC/atomics.ll
M llvm/test/CodeGen/SPARC/basictest.ll
M llvm/test/CodeGen/SPARC/bigreturn.ll
M llvm/test/CodeGen/SPARC/blockaddr.ll
M llvm/test/CodeGen/SPARC/cast-sret-func.ll
M llvm/test/CodeGen/SPARC/constructor.ll
M llvm/test/CodeGen/SPARC/exception.ll
M llvm/test/CodeGen/SPARC/fail-alloca-align.ll
M llvm/test/CodeGen/SPARC/float.ll
M llvm/test/CodeGen/SPARC/fp128.ll
M llvm/test/CodeGen/SPARC/fp16-promote.ll
M llvm/test/CodeGen/SPARC/func-addr.ll
M llvm/test/CodeGen/SPARC/globals.ll
M llvm/test/CodeGen/SPARC/inlineasm-output-template.ll
M llvm/test/CodeGen/SPARC/inlineasm-v9.ll
M llvm/test/CodeGen/SPARC/inlineasm.ll
M llvm/test/CodeGen/SPARC/leafproc.ll
M llvm/test/CodeGen/SPARC/missing-sret.ll
M llvm/test/CodeGen/SPARC/mult-alt-generic-sparc.ll
M llvm/test/CodeGen/SPARC/obj-relocs.ll
M llvm/test/CodeGen/SPARC/overflow-intrinsic-optimizations.ll
M llvm/test/CodeGen/SPARC/pic.ll
M llvm/test/CodeGen/SPARC/private.ll
M llvm/test/CodeGen/SPARC/reserved-regs.ll
M llvm/test/CodeGen/SPARC/select-mask.ll
M llvm/test/CodeGen/SPARC/setjmp.ll
M llvm/test/CodeGen/SPARC/spillsize.ll
M llvm/test/CodeGen/SPARC/sret-secondary.ll
M llvm/test/CodeGen/SPARC/stack-align.ll
M llvm/test/CodeGen/SPARC/stack-protector.ll
M llvm/test/CodeGen/SPARC/tailcall.ll
M llvm/test/CodeGen/SPARC/thread-pointer.ll
M llvm/test/CodeGen/SPARC/tls.ll
M llvm/test/CodeGen/SPARC/varargs-v8.ll
M llvm/test/CodeGen/SPARC/varargs.ll
M llvm/test/CodeGen/SPARC/vector-extract-elt.ll
M llvm/test/CodeGen/SPARC/zerostructcall.ll
M llvm/test/CodeGen/SystemZ/Large/branch-01.ll
M llvm/test/CodeGen/SystemZ/RAbasic-invalid-LR-update.mir
M llvm/test/CodeGen/SystemZ/clear-liverange-spillreg.mir
M llvm/test/CodeGen/SystemZ/cond-move-04.mir
M llvm/test/CodeGen/SystemZ/cond-move-05.mir
M llvm/test/CodeGen/SystemZ/cond-move-08.mir
M llvm/test/CodeGen/SystemZ/cond-move-regalloc-hints-02.mir
M llvm/test/CodeGen/SystemZ/cond-move-regalloc-hints.mir
M llvm/test/CodeGen/SystemZ/dag-combine-02.ll
M llvm/test/CodeGen/SystemZ/debuginstr-00.mir
M llvm/test/CodeGen/SystemZ/debuginstr-01.mir
M llvm/test/CodeGen/SystemZ/debuginstr-cgp.mir
M llvm/test/CodeGen/SystemZ/foldmemop-imm-02.mir
M llvm/test/CodeGen/SystemZ/foldmemop-msc.mir
M llvm/test/CodeGen/SystemZ/foldmemop-vec-binops.mir
M llvm/test/CodeGen/SystemZ/foldmemop-vec-cc.mir
M llvm/test/CodeGen/SystemZ/foldmemop-vec-cmp.mir
M llvm/test/CodeGen/SystemZ/foldmemop-vec-fusedfp.mir
M llvm/test/CodeGen/SystemZ/fp-conv-17.mir
M llvm/test/CodeGen/SystemZ/frame-26.mir
M llvm/test/CodeGen/SystemZ/int-cmp-56.mir
M llvm/test/CodeGen/SystemZ/isel-debug.ll
M llvm/test/CodeGen/SystemZ/load-and-test-RA-hints.mir
M llvm/test/CodeGen/SystemZ/loop-04.ll
M llvm/test/CodeGen/SystemZ/multiselect-02.mir
M llvm/test/CodeGen/SystemZ/postra-sched-expandedops.mir
M llvm/test/CodeGen/SystemZ/regalloc-GR128-02.mir
M llvm/test/CodeGen/SystemZ/selectcc-04.ll
M llvm/test/CodeGen/SystemZ/subregliveness-06.mir
M llvm/test/CodeGen/SystemZ/zos-landingpad.ll
M llvm/test/CodeGen/VE/Scalar/pic_access_data.ll
M llvm/test/CodeGen/VE/Scalar/pic_indirect_func_call.ll
M llvm/test/CodeGen/WebAssembly/cfg-stackify.ll
M llvm/test/CodeGen/WebAssembly/global.ll
M llvm/test/CodeGen/WebAssembly/userstack.ll
M llvm/test/CodeGen/WinCFGuard/cfguard-cast.ll
M llvm/test/CodeGen/WinCFGuard/cfguard-giats.ll
M llvm/test/CodeGen/WinCFGuard/cfguard.ll
M llvm/test/CodeGen/XCore/threads.ll
Log Message:
-----------
[CodeGen] Convert tests to opaque pointers (NFC)
Commit: 4e958abf2f44d08129eafd5b6a4ee2bd3584ed22
https://github.com/llvm/llvm-project/commit/4e958abf2f44d08129eafd5b6a4ee2bd3584ed22
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
M llvm/test/CodeGen/AMDGPU/promote-alloca-memset.ll
Log Message:
-----------
[AMDGPU][PromoteAlloca] Support memsets to ptr allocas (#80678)
Fixes #80366
Commit: a5d206df792b61a0b6c5ac44343a97696fc6071d
https://github.com/llvm/llvm-project/commit/a5d206df792b61a0b6c5ac44343a97696fc6071d
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/div_i128.ll
A llvm/test/CodeGen/AMDGPU/div_v2i128.ll
Log Message:
-----------
AMDGPU: Set max supported div/rem size to 64 (#80669)
This enables IR expansion for i128 divisions. The vector case is still
broken because ExpandLargeDivRem doesn't try to handle them.
Fixes: SWDEV-426193
Commit: a826a0c234c38eab194119bebcab91aabc2e3759
https://github.com/llvm/llvm-project/commit/a826a0c234c38eab194119bebcab91aabc2e3759
Author: Shih-Po Hung <shihpo.hung at sifive.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
A llvm/test/Analysis/CostModel/RISCV/reduce-fmaximum.ll
A llvm/test/Analysis/CostModel/RISCV/reduce-fminimum.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-fp.ll
Log Message:
-----------
[RISCV] Add tests for reduce.fmaximum/fminimum. NFC (#80553)
This is to add test coverage for crash report in #80340
Commit: 66397435ed83c2247f49d302246ba5a87f4dd85f
https://github.com/llvm/llvm-project/commit/66397435ed83c2247f49d302246ba5a87f4dd85f
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M llvm/lib/Target/X86/X86MCInstLower.cpp
Log Message:
-----------
[X86] Add common getSrcIdx helper to determine source index after AVX512 masked predicates. NFC.
Commit: bc6370abd3f1e6b02100927095a2797472d6ff70
https://github.com/llvm/llvm-project/commit/bc6370abd3f1e6b02100927095a2797472d6ff70
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M llvm/lib/Target/X86/X86MCInstLower.cpp
Log Message:
-----------
[X86] addConstantComments - split VPERMILPS/VPERMILPD handling to reduce repeated switch cases etc. NFC.
Commit: 992d8527585817af685bba0d82ed4e808bc613bb
https://github.com/llvm/llvm-project/commit/992d8527585817af685bba0d82ed4e808bc613bb
Author: Mats Petersson <mats.petersson at arm.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/CommonArgs.h
M clang/lib/Driver/ToolChains/Flang.cpp
A flang/test/Driver/aarch64-outline-atomics.f90
M flang/test/Driver/driver-help-hidden.f90
M flang/test/Driver/driver-help.f90
A flang/test/Integration/aarch64-outline-atomics.f90
Log Message:
-----------
[flang]Add support for -moutline-atomics and -mno-outline-atomics (#78755)
This adds the support to add the target-feature to outline atomic operations (calling the
runtime library instead).
Commit: 825658856d94776889399a07a3939610ee1aa299
https://github.com/llvm/llvm-project/commit/825658856d94776889399a07a3939610ee1aa299
Author: Hui <hui.xie1990 at gmail.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M libcxx/include/__atomic/atomic_sync.h
M libcxx/include/semaphore
A libcxx/test/std/thread/thread.semaphore/lost_wakeup.pass.cpp
Log Message:
-----------
[libc++] fix `counting_semaphore` lost wakeups (#79265)
Fixes #77659
Fixes #46357
Picked up from https://reviews.llvm.org/D114119
Commit: a40d68b6de30a7fda44a2905e83df3d80fca2abf
https://github.com/llvm/llvm-project/commit/a40d68b6de30a7fda44a2905e83df3d80fca2abf
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M libc/docs/index.rst
A libc/docs/libc_search.rst
R libc/docs/search.rst
M libc/docs/stdbit.rst
Log Message:
-----------
[libc] tiny fix for doc (#80512)
Commit: 8e00fc33ebabccf60388288c07201706ca3efd71
https://github.com/llvm/llvm-project/commit/8e00fc33ebabccf60388288c07201706ca3efd71
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/ArmSME/IR/ArmSMEOps.td
Log Message:
-----------
[mlir][ArmSME][nfc] Fix docs for 2-way ops
The "Refer to" and table shouldn't be in the example code sequence.
Commit: 5f5b3bb22b2e4ffcd14a8fc8a5edc14bc098a47e
https://github.com/llvm/llvm-project/commit/5f5b3bb22b2e4ffcd14a8fc8a5edc14bc098a47e
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M mlir/lib/Dialect/ArmSME/Transforms/OuterProductFusion.cpp
M mlir/test/Dialect/ArmSME/outer-product-fusion.mlir
Log Message:
-----------
[mlir][ArmSME] Add rewrites to swap extract of extend (#80407)
In mixed matmul lowering (e.g., i8 to i32) we're seeing the following
sequence:
%0 = arith.extsi %src : vector<4x[8]xi8> to vector<4x[8]xi32>
%1 = vector.extract %0[0] : vector<[8]xi32> from vector<4x[8]xi32>
%lhs = vector.scalable.extract %1[0] : vector<[4]xi32> from
vector<[8]xi32>
... (same for rhs)
%2 = vector.outerproduct %lhs, %rhs, %acc vector<[4]xi32>,
vector<[4]xi32>
// x4 chained by accumulator
This chain of 4 outer products can be fused into a single 4-way widening
variant but the pass doesn't match on the IR, as it expects the source
of the inputs to be an extend and it can't look through the extracts.
This patch fixes this with two rewrites that swaps extract(extend) into
extend(extract).
Related to #78975, #79288.
Commit: abea3b27991dd73cad251f623a2a8f25a3e786ff
https://github.com/llvm/llvm-project/commit/abea3b27991dd73cad251f623a2a8f25a3e786ff
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/RDFGraph.cpp
Log Message:
-----------
[RDF] Skip over NoRegister. NFCI. (#80672)
This just avoids useless work of adding NoRegister to BaseSet, for
consistency with other places that iterate over all physical registers.
Commit: daea0820829bf5bbca9ab50fc118012a2508fab3
https://github.com/llvm/llvm-project/commit/daea0820829bf5bbca9ab50fc118012a2508fab3
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M libcxx/include/__support/xlocale/__posix_l_fallback.h
Log Message:
-----------
[libc++] Add missing include of <string.h> in POSIX fallbacks for locale
Commit: 1af05363d6353d7edd0d00e37ae0eb70f54b4b64
https://github.com/llvm/llvm-project/commit/1af05363d6353d7edd0d00e37ae0eb70f54b4b64
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M llvm/lib/Target/X86/X86MCInstLower.cpp
Log Message:
-----------
[X86] getShuffleComment - use MI description to determine AVX512 masked predicates instead of src index offsets.
Commit: d15c454bedc05775b5080e1d2130b0554d5e5a81
https://github.com/llvm/llvm-project/commit/d15c454bedc05775b5080e1d2130b0554d5e5a81
Author: Kevin P. Neal <kevin.neal at sas.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/fsub-as-fneg-src-modifier.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fadd.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fsub.ll
M llvm/test/CodeGen/AMDGPU/llvm.get.fpmode.ll
M llvm/test/CodeGen/AMDGPU/strict_fptrunc.ll
M llvm/test/CodeGen/AMDGPU/strictfp_f16_abi_promote.ll
Log Message:
-----------
[FPEnv][AMDGPU] Correct strictfp tests.
Correct AMDGPU strictfp tests to follow the rules documented in the
LangRef:
https://llvm.org/docs/LangRef.html#constrained-floating-point-intrinsics
These tests needed the strictfp attribute added to function calls and
some declarations.
Some of the tests now pass with D146845, others get farther along and
fail with D146845. The tests revealed that further work is required
in mostly AMDGPU atomics to get the tests passing.
Since I was here anyway I removed the strictfp attribute from some
constrained intrinsic declarations. They have this attribute by default.
Test changes verified with D146845.
Commit: 3bf881635c9ca7398ba6a451e30a2156b22d59b5
https://github.com/llvm/llvm-project/commit/3bf881635c9ca7398ba6a451e30a2156b22d59b5
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M llvm/lib/Frontend/Offloading/Utility.cpp
Log Message:
-----------
[Offload] Fix entry global names on NVPTX target
Summary:
The PTX language rejects globals with `.` in the name. We need to change
the global name if we are targeting NVPTX to prevent the toolchain from
complaining.
Commit: 5249379d742148728f654665e113084c6b93cdf2
https://github.com/llvm/llvm-project/commit/5249379d742148728f654665e113084c6b93cdf2
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/test/SemaOpenCL/builtins-amdgcn-error-wave64.cl
Log Message:
-----------
[AMDGPU] Allow w64 ballot to be used on w32 targets (#80183)
Summary:
Currently we cannot compile `__builtin_amdgcn_ballot_w64` on non-wave64
targets even though it is valid. This is relevant for making library
code that can handle both without needing to check the wavefront size.
This patch relaxes the semantic check for w64 so it can be used
normally.
Commit: e4f1ef85fd60c08c9ece4982fccf76e8101011b8
https://github.com/llvm/llvm-project/commit/e4f1ef85fd60c08c9ece4982fccf76e8101011b8
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/Interp.h
M clang/lib/AST/Interp/PrimType.h
A clang/test/AST/Interp/atomic.c
M clang/test/Sema/atomic-expr.c
Log Message:
-----------
[clang][Interp] Reject bitcasts to atomic types
The current interpreter does this, so follow suit to match its
diagnostics.
Commit: de46dc97b11b06c7efc225cfa08cf3cb68a8a75e
https://github.com/llvm/llvm-project/commit/de46dc97b11b06c7efc225cfa08cf3cb68a8a75e
Author: Natalie Chouinard <sudonatalie at google.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M .github/workflows/spirv-tests.yml
Log Message:
-----------
[SPIR-V] Include SPIRV-Tools tests in CI (#80479)
Commit: e524ada6cbc6912156a713ffa179cb92e5362ebb
https://github.com/llvm/llvm-project/commit/e524ada6cbc6912156a713ffa179cb92e5362ebb
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/test/AST/Interp/complex.cpp
Log Message:
-----------
[clang][Interp] Support zero init for complex types (#79728)
Initialize both elements to 0.
Commit: d1722868d34a69df8466b72098176f54a7af8823
https://github.com/llvm/llvm-project/commit/d1722868d34a69df8466b72098176f54a7af8823
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M clang/test/SemaOpenCL/builtins-amdgcn-error-wave32.cl
M clang/test/SemaOpenCL/builtins-amdgcn-error-wave64.cl
Log Message:
-----------
[Clang] Make AMDGPU OpenCL tests require AMD registered target
Summary:
These tests likely always failed but was hidden by the expected return
value. Simply make them require AMDGPU as a registered target so they
don't fail on other machines.
Commit: ae92f6e8aeb97e39b95a40fde8a176f6aff94063
https://github.com/llvm/llvm-project/commit/ae92f6e8aeb97e39b95a40fde8a176f6aff94063
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M lldb/docs/use/python-reference.rst
Log Message:
-----------
[lldb][Docs] Remove unnecessary colon in title
Commit: 2614672cc12258d2b07db2657e475ad70e01d5ba
https://github.com/llvm/llvm-project/commit/2614672cc12258d2b07db2657e475ad70e01d5ba
Author: elhewaty <mohamedatef1698 at gmail.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/test/Transforms/InstCombine/and.ll
Log Message:
-----------
[InstCombine] Fold ((cst << x) & 1) --> x == 0 when cst is odd (#79772)
Fold ((cst << x) & 1) to zext(x == 0) when cst is odd.
Fixes: https://github.com/llvm/llvm-project/issues/73384
Alive2: https://alive2.llvm.org/ce/z/5RbaK6
Commit: 41ea02261224446dadb1b1561d70137699255518
https://github.com/llvm/llvm-project/commit/41ea02261224446dadb1b1561d70137699255518
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M clang/lib/AST/Type.cpp
M clang/test/SemaCXX/cxx2c-pack-indexing.cpp
Log Message:
-----------
[Clang] Fix crash when recovering from an invalid pack indexing type. (#80652)
If the pattern of a pack indexing type did not contain a pack, we would
still construct a pack indexing type (to improve error messages) but we
would fail to make the type as dependent, leading to infinite recursion
when trying to extract a canonical type.
Commit: 4881cbd407e73f940a8e9ede501c2eee190ec9dd
https://github.com/llvm/llvm-project/commit/4881cbd407e73f940a8e9ede501c2eee190ec9dd
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/test/AST/Interp/cxx98.cpp
M clang/test/SemaCXX/pr72025.cpp
Log Message:
-----------
[clang][Interp] Fix MemberExpr initializing an existing value (#79973)
This is similar to c1ad363e6eba308fa94c47374ee98b3c79693a35, but with
the additional twist that initializing an existing value from a
`MemberExpr` was not working correctly.
Commit: 8cb2de7faecdd4e053dfc8468b2be84e2d8afb4e
https://github.com/llvm/llvm-project/commit/8cb2de7faecdd4e053dfc8468b2be84e2d8afb4e
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/test/Transforms/LoopVectorize/cast-induction.ll
Log Message:
-----------
[VPlan] Implement type inference for ICmp.
This fixes a crash in the attached test case due to missing type
inference for ICmp VPInstructions.
Commit: 0881d0f009427427509e5592b875d3fd702c595a
https://github.com/llvm/llvm-project/commit/0881d0f009427427509e5592b875d3fd702c595a
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M libc/CMakeLists.txt
M libc/cmake/modules/LLVMLibCObjectRules.cmake
M libc/cmake/modules/prepare_libc_gpu_build.cmake
M libc/startup/gpu/CMakeLists.txt
M libc/startup/gpu/amdgpu/CMakeLists.txt
M libc/startup/gpu/nvptx/CMakeLists.txt
M libc/test/IntegrationTest/CMakeLists.txt
M libc/test/src/CMakeLists.txt
Log Message:
-----------
[libc] Refactor _build_gpu_objects cmake function. (#80631)
Commit: 702664e7870c27f197dfb744a4db54aa259ce452
https://github.com/llvm/llvm-project/commit/702664e7870c27f197dfb744a4db54aa259ce452
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
A flang/test/Analysis/AliasAnalysis/alias-analysis-8.fir
Log Message:
-----------
[flang] Improve alias analysis to be precise for box and box.base_addr (#80335)
After PR#68727 the source for both the fir.box_addr and a box became the
same. Thus the detection that only one of the sources was direct and the
special logic around it was being skipped. As a result, the test
included would show a "MayAlias" result instead of a "NoAlias" result.
Commit: 9a87c5d440ec16a1116e060829df10bc2a6965ce
https://github.com/llvm/llvm-project/commit/9a87c5d440ec16a1116e060829df10bc2a6965ce
Author: Marius Brehler <marius.brehler at iml.fraunhofer.de>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
M mlir/lib/Conversion/FuncToEmitC/FuncToEmitC.cpp
M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
M mlir/lib/Target/Cpp/TranslateToCpp.cpp
M mlir/test/Conversion/FuncToEmitC/func-to-emitc.mlir
M mlir/test/Dialect/EmitC/invalid_ops.mlir
M mlir/test/Dialect/EmitC/ops.mlir
M mlir/test/Target/Cpp/func.mlir
Log Message:
-----------
[mlir][EmitC] Add support for external functions (#80547)
This adds a conversion from an externaly defined `func.func`, a
`func.func` without function body, to an `emitc.func` with an `extern`
specifier.
Commit: 0ac44385603ca67ceb969eb271d8c2075a8c14b4
https://github.com/llvm/llvm-project/commit/0ac44385603ca67ceb969eb271d8c2075a8c14b4
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M openmp/libomptarget/include/Shared/PluginAPI.h
M openmp/libomptarget/include/Shared/PluginAPI.inc
M openmp/libomptarget/plugins-nextgen/common/include/PluginInterface.h
M openmp/libomptarget/plugins-nextgen/common/src/PluginInterface.cpp
M openmp/libomptarget/src/omptarget.cpp
Log Message:
-----------
[Libomptarget] Remove unused 'SupportsEmptyImages' API function (#80316)
Summary:
This function is always false in the current implementation and is not
even considered required. Just remove it and if someone needs it in the
future they can add it back in. This is done to simplify the interface
prior to other changes
Commit: ae354c5a45d319b3117c2822b8f6988461f3cb33
https://github.com/llvm/llvm-project/commit/ae354c5a45d319b3117c2822b8f6988461f3cb33
Author: Loïc Joly <loic.joly at sonarsource.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/BuiltinFunctionChecker.cpp
M clang/test/Analysis/builtin-functions.cpp
Log Message:
-----------
[analyzer] Model Microsoft "__assume" in the same way as clang "__builtin_assume"
Commit: f2c84211d2834c73ff874389c6bb47b1c76d391a
https://github.com/llvm/llvm-project/commit/f2c84211d2834c73ff874389c6bb47b1c76d391a
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M libcxx/include/version
M libcxx/test/std/language.support/support.limits/support.limits.general/filesystem.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/fstream.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/iomanip.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/mutex.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/utils/generate_feature_test_macro_components.py
Log Message:
-----------
[libc++] Add missing conditionals for feature-test macros (#80168)
We noticed that some feature-test macros were not conditional on
configuration flags like _LIBCPP_HAS_NO_FILESYSTEM. As a result, code
attempting to use FTMs would not work as intended.
This patch adds conditionals for a few feature-test macros, but more
issues may exist.
rdar://122020466
Commit: fee204f0c9b3b77898c1faa2a7415b0f64f5e7f0
https://github.com/llvm/llvm-project/commit/fee204f0c9b3b77898c1faa2a7415b0f64f5e7f0
Author: NagyDonat <donat.nagy at ericsson.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp
M clang/test/Analysis/out-of-bounds-diagnostics.c
A clang/test/Analysis/out-of-bounds-notes.c
Log Message:
-----------
[analyzer] Support interestingness in ArrayBoundV2 (#78315)
This commit improves alpha.security.ArrayBoundV2 in two connected areas:
(1) It calls `markInteresting()` on the symbolic values that are
responsible for the out of bounds access.
(2) Its index-is-in-bounds assumptions are reported in note tags if they
provide information about the value of an interesting symbol.
This commit is limited to "display" changes: it introduces new
diagnostic pieces (potentially to bugs found by other checkers), but
ArrayBoundV2 will make the same assumptions and detect the same bugs
before and after this change.
As a minor unrelated change, this commit also updates/removes some very
old comments which became obsolete due to my previous changes.
Commit: 78a12f94904b69dd8b13f3e3fd258334b77ee7b8
https://github.com/llvm/llvm-project/commit/78a12f94904b69dd8b13f3e3fd258334b77ee7b8
Author: Sirui Mu <msrlancern at gmail.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/libc_search.rst
M libc/spec/posix.td
M libc/src/__support/CMakeLists.txt
A libc/src/__support/intrusive_list.h
M libc/src/search/CMakeLists.txt
A libc/src/search/insque.cpp
A libc/src/search/insque.h
A libc/src/search/remque.cpp
A libc/src/search/remque.h
M libc/test/src/search/CMakeLists.txt
A libc/test/src/search/insque_test.cpp
Log Message:
-----------
[libc] implement insque and remque (#80305)
This PR implements the `insque` and `remque` entrypoint functions.
Commit: 30f776f8149dcbda0b6467176488e6551d068e40
https://github.com/llvm/llvm-project/commit/30f776f8149dcbda0b6467176488e6551d068e40
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M libcxx/include/__thread/support/c11.h
Log Message:
-----------
[libc++] Add missing <errno.h> include in threading support headers (#80311)
This was incorrectly removed when I split up the header.
Commit: c08d972a0043fe67de65ba331a144425c8cea449
https://github.com/llvm/llvm-project/commit/c08d972a0043fe67de65ba331a144425c8cea449
Author: Matthias Springer <me at m-sp.org>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/Bufferization/Pipelines/Passes.h
M mlir/include/mlir/Dialect/Bufferization/Transforms/Passes.h
M mlir/lib/Dialect/Bufferization/Pipelines/BufferizationPipelines.cpp
M mlir/lib/Dialect/Bufferization/Pipelines/CMakeLists.txt
M mlir/lib/Dialect/Bufferization/Transforms/OwnershipBasedBufferDeallocation.cpp
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][bufferization][NFC] Pass `DeallocationOptions` instead of flags (#80675)
Pass `DeallocationOptions` instead of `privateFuncDynamicOwnership`.
This will make it easier to add new options in the future.
Commit: 58f3a77efb633d56a48e031240fc8a37ba2b7557
https://github.com/llvm/llvm-project/commit/58f3a77efb633d56a48e031240fc8a37ba2b7557
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M libcxxabi/src/private_typeinfo.cpp
Log Message:
-----------
[libc++abi] Replace usage of raw assert by _LIBCXXABI_ASSERT (#80689)
We strive not to use raw assert(...) anymore in libc++abi in preparation
for using the hardening framework.
Commit: de9a87301aefda9538eab7fcd563cc6ceec44e0a
https://github.com/llvm/llvm-project/commit/de9a87301aefda9538eab7fcd563cc6ceec44e0a
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M llvm/lib/Target/X86/X86MCInstLower.cpp
Log Message:
-----------
[X86] Split up getShuffleComment into printShuffleMask and printDstRegisterName helpers. NFC.
This will allow us to easily use printDstRegisterName for other mask predicate destination registers, and printout shuffle masks from other instruction types.
Commit: f4714204d0527269e037d85ed998a54678e3895f
https://github.com/llvm/llvm-project/commit/f4714204d0527269e037d85ed998a54678e3895f
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M llvm/lib/Target/X86/MCTargetDesc/X86InstComments.cpp
M llvm/lib/Target/X86/X86MCInstLower.cpp
Log Message:
-----------
[X86] printExtend - add support for mask predicated instructions
Remove handling from EmitAnyX86InstComments and handle all VPMOVSX/VPMOVZX comments in addConstantComments now that we can generically handle the destination + mask register and shuffle mask comment
Commit: 47dcf5d5dc54e62c59fedbef1e8ec3a02c77cb83
https://github.com/llvm/llvm-project/commit/47dcf5d5dc54e62c59fedbef1e8ec3a02c77cb83
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M llvm/lib/Target/X86/X86MCInstLower.cpp
M llvm/test/CodeGen/X86/avx512-vec-cmp.ll
Log Message:
-----------
[X86] printBroadcast - add support for mask predicated instructions
Handle masked predicated load/broadcasts in addConstantComments now that we can generically handle the destination + mask register
This will more significantly help improve 'fixup constant' comments from #73509
Commit: f958ad3b89c38be84dcf263ef9f9508a5cd3a6e3
https://github.com/llvm/llvm-project/commit/f958ad3b89c38be84dcf263ef9f9508a5cd3a6e3
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M llvm/lib/Target/X86/X86MCInstLower.cpp
M llvm/test/CodeGen/X86/apx/kmov-postrapseudos.ll
Log Message:
-----------
[X86] printZeroUpperMove - add support for mask predicated instructions
Handle masked predicated movss/movsd in addConstantComments now that we can generically handle the destination + mask register
This will more significantly help improve 'fixup constant' comments from #73509
Commit: 66cd768504b349f7bd16d236a3b4f611ffabf78f
https://github.com/llvm/llvm-project/commit/66cd768504b349f7bd16d236a3b4f611ffabf78f
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/InterpBuiltin.cpp
M clang/test/AST/Interp/builtins.cpp
Log Message:
-----------
[clang][Interp] Handle __assume like __builtin_assume.
Commit: 29d47513b3ce706b5df66409170e40ba39f3795a
https://github.com/llvm/llvm-project/commit/29d47513b3ce706b5df66409170e40ba39f3795a
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M flang/include/flang/Optimizer/Support/InitFIR.h
A flang/test/Fir/OpenACC/legalize-data.fir
M mlir/include/mlir/Dialect/OpenACC/CMakeLists.txt
A mlir/include/mlir/Dialect/OpenACC/Transforms/CMakeLists.txt
A mlir/include/mlir/Dialect/OpenACC/Transforms/Passes.h
A mlir/include/mlir/Dialect/OpenACC/Transforms/Passes.td
M mlir/include/mlir/InitAllPasses.h
M mlir/lib/Dialect/OpenACC/CMakeLists.txt
A mlir/lib/Dialect/OpenACC/IR/CMakeLists.txt
A mlir/lib/Dialect/OpenACC/Transforms/CMakeLists.txt
A mlir/lib/Dialect/OpenACC/Transforms/LegalizeData.cpp
A mlir/test/Dialect/OpenACC/legalize-data.mlir
Log Message:
-----------
[mlir][openacc] Add legalize data pass for compute operation (#80351)
This patch adds a simple pass to replace the uses inside compute
operation. It replaces the `varPtr` values with their corresponding
`accPtr` values gathered through the dataClauseOperands.
private and reductions variables are not included in this pass since
they will normally be replace when they are materialized.
---------
Co-authored-by: Slava Zakharin <szakharin at nvidia.com>
Commit: 1ec252298925de50b27930c557ba9de3cc397afe
https://github.com/llvm/llvm-project/commit/1ec252298925de50b27930c557ba9de3cc397afe
Author: Dimitry Andric <dimitry at andric.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M libcxx/include/__bit_reference
Log Message:
-----------
[libc++] Rename __bit_reference template parameter to avoid conflict (#80661)
As of 4d20cfcf4eb08217ed37c4d4c38dc395d7a66d26, `__bit_reference`
contains a template `__fill_n` with a bool `_FillValue` parameter.
Unfortunately there is a relatively widely used piece of scientific
software called NetCDF, which exposes a (C) macro `_FillValue` in its
public headers.
When building the NetCDF C++ bindings, this quickly leads to compilation
errors when the macro interferes with the template in `__bit_reference`.
Rename the parameter to `_FillVal` to avoid the conflict.
Commit: 341d3a59999dec56f51804a5356b2e38256ab55c
https://github.com/llvm/llvm-project/commit/341d3a59999dec56f51804a5356b2e38256ab55c
Author: Rajveer Singh Bharadwaj <rajveer.developer at icloud.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M libcxx/include/scoped_allocator
M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.cnstr/allocs.pass.cpp
Log Message:
-----------
[libc++] Fix ambiguity when using std::scoped_allocator constructor (#80261)
Fixes #78754
Commit: e2bb91b25c8740625fecd127c1d908a2fabd0102
https://github.com/llvm/llvm-project/commit/e2bb91b25c8740625fecd127c1d908a2fabd0102
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M flang/include/flang/Optimizer/Support/InitFIR.h
R flang/test/Fir/OpenACC/legalize-data.fir
M mlir/include/mlir/Dialect/OpenACC/CMakeLists.txt
R mlir/include/mlir/Dialect/OpenACC/Transforms/CMakeLists.txt
R mlir/include/mlir/Dialect/OpenACC/Transforms/Passes.h
R mlir/include/mlir/Dialect/OpenACC/Transforms/Passes.td
M mlir/include/mlir/InitAllPasses.h
M mlir/lib/Dialect/OpenACC/CMakeLists.txt
R mlir/lib/Dialect/OpenACC/IR/CMakeLists.txt
R mlir/lib/Dialect/OpenACC/Transforms/CMakeLists.txt
R mlir/lib/Dialect/OpenACC/Transforms/LegalizeData.cpp
R mlir/test/Dialect/OpenACC/legalize-data.mlir
Log Message:
-----------
Revert "[mlir][openacc] Add legalize data pass for compute operation" (#80710)
Reverts llvm/llvm-project#80351
Breaks some buildbot
Commit: 09531e34eec121e9c2319d58bb9fb7edc304027e
https://github.com/llvm/llvm-project/commit/09531e34eec121e9c2319d58bb9fb7edc304027e
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M libcxx/include/__support/xlocale/__posix_l_fallback.h
Log Message:
-----------
[libc++] Add missing include of <wchar.h> in POSIX locale fallbacks
Commit: 2d416219af5c0091f7887e4d4463e63f5a37d811
https://github.com/llvm/llvm-project/commit/2d416219af5c0091f7887e4d4463e63f5a37d811
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M flang/docs/fstack-arrays.md
Log Message:
-----------
[flang][docs] fix stack arrays docs page name (#80708)
The website renders this `<h1>` as the page title in the index. This
patch updates the title to better fit with the names of the other pages.
See the index here https://flang.llvm.org/docs/
Commit: 04f99bec9af495c2571c9e7dcb14face3cfea4ce
https://github.com/llvm/llvm-project/commit/04f99bec9af495c2571c9e7dcb14face3cfea4ce
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M libcxx/docs/Status/Cxx20Issues.csv
Log Message:
-----------
[libc++][doc] Updates LWG3346 status. (#80536)
The issue addresses an obvious wording issue. Implementing the
constructors as specified in the synposis, as libc++ did, already
implements the fixed behaviour.
Updates:
- LWG3346 pair and tuple copy and move constructor have backwards
specification
Commit: c5f68a711c62aa1748c03215d95ad9b8c7dff9dd
https://github.com/llvm/llvm-project/commit/c5f68a711c62aa1748c03215d95ad9b8c7dff9dd
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M libcxxabi/src/cxa_exception_storage.cpp
M libcxxabi/src/cxa_guard_impl.h
M libcxxabi/src/cxa_thread_atexit.cpp
M libcxxabi/src/fallback_malloc.cpp
M libcxxabi/test/test_fallback_malloc.pass.cpp
Log Message:
-----------
[libc++abi] Revert temporary workaround to unblock Chrome
This reverts commit 372f7dd48f016, which is not needed by Chrome anymore.
Commit: 5e8626c920a8cffff4e286cd8521528cc80c0a3e
https://github.com/llvm/llvm-project/commit/5e8626c920a8cffff4e286cd8521528cc80c0a3e
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.h
M clang/test/AST/Interp/c.c
M clang/test/AST/Interp/literals.cpp
M clang/test/Sema/objc-bool-constant-conversion.m
Log Message:
-----------
[clang][Interp] Handle ObjCBoolLiteralExprs
Emit them just like the others, but these are integer typed.
Commit: 8f070144e3711ad0e5556eaebc72069c0d869342
https://github.com/llvm/llvm-project/commit/8f070144e3711ad0e5556eaebc72069c0d869342
Author: Billy Laws <blaws05 at gmail.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
M llvm/test/CodeGen/AArch64/arm64ec-entry-thunks.ll
Log Message:
-----------
[AArch64] Fix generated types for ARM64EC variadic entry thunk targets (#80595)
ISel handles filling in x4/x5 when calling variadic functions as they
don't correspond to the 5th/6th X64 arguments but rather to the end of
the shadow space on the stack and the size in bytes of all stack
parameters (ignored and written as 0 for calls from entry thunks).
Will PR a follow up with ISel handling after this is merged.
Commit: 8f4d8945536e9fc45db0e349b91c2f4b3a9cae29
https://github.com/llvm/llvm-project/commit/8f4d8945536e9fc45db0e349b91c2f4b3a9cae29
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[bazel] Port d4ef4b818929732bcb68a536ef2c91891c0ad179
Commit: cb8d83a77c25e529f58eba17bb1ec76069a04e90
https://github.com/llvm/llvm-project/commit/cb8d83a77c25e529f58eba17bb1ec76069a04e90
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
A llvm/test/Transforms/InstCombine/pr80597.ll
Log Message:
-----------
[InstCombine] Fix assertion failure in issue80597 (#80614)
The assertion in #80597 failed when we were trying to compute known bits
of a value in an unreachable BB.
https://github.com/llvm/llvm-project/blob/859b09da08c2a47026ba0a7d2f21b7dca705864d/llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp#L749-L810
In this case, `SignBits` is 30 (deduced from instr info), but `Known` is
`10000101010111010011110101000?0?00000000000000000000000000000000`
(deduced from dom cond). Setting high bits of `lshr Known, 1` will lead
to conflict.
This patch masks out high bits of `Known.Zero` to address this problem.
Fixes #80597.
Commit: b4c7152eb4f7971c111e3e2f60b55892def58d5d
https://github.com/llvm/llvm-project/commit/b4c7152eb4f7971c111e3e2f60b55892def58d5d
Author: Han-Chung Wang <hanhan0912 at gmail.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
M mlir/test/Dialect/Vector/vector-transfer-collapse-inner-most-dims.mlir
Log Message:
-----------
Revert "[mlir][vector] Drop inner unit dims for transfer ops on dynamic shapes." (#80712)
Reverts llvm/llvm-project#79752 because it is causing regressions in
downstream projects.
Commit: d0b5d32ce6a6287ddab96b028db534cc1bd9a929
https://github.com/llvm/llvm-project/commit/d0b5d32ce6a6287ddab96b028db534cc1bd9a929
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.fp8.dpp.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.fp8.ll
Log Message:
-----------
[AMDGPU] Fixed byte_sel of v_cvt_f32_bf8/v_cvt_f32_fp8 (#80502)
Opsel bits are swapped. Actual byte select table:
Byte OPSEL
0 0
1 2
2 1
3 3
Commit: ea9276d47efb22e26483bd5ad31c2e249ed9846f
https://github.com/llvm/llvm-project/commit/ea9276d47efb22e26483bd5ad31c2e249ed9846f
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.fp8.ll
Log Message:
-----------
[AMDGPU] GlobalISel for f8 conversions (#80503)
Commit: 95fe47ca7e99d999108705640e49075f4c5f39a7
https://github.com/llvm/llvm-project/commit/95fe47ca7e99d999108705640e49075f4c5f39a7
Author: agozillon <Andrew.Gozillon at amd.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
A flang/docs/OpenMP-descriptor-management.md
A flang/include/flang/Optimizer/CodeGen/CodeGenOpenMP.h
M flang/include/flang/Optimizer/Dialect/FIRType.h
M flang/include/flang/Optimizer/Transforms/Passes.h
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Tools/CLOptions.inc
M flang/lib/Lower/OpenMP.cpp
M flang/lib/Optimizer/CodeGen/CMakeLists.txt
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
A flang/lib/Optimizer/CodeGen/CodeGenOpenMP.cpp
M flang/lib/Optimizer/Dialect/FIRType.cpp
M flang/lib/Optimizer/Transforms/CMakeLists.txt
A flang/lib/Optimizer/Transforms/OMPDescriptorMapInfoGen.cpp
M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
M flang/test/Integration/OpenMP/map-types-and-sizes.f90
M flang/test/Lower/OpenMP/FIR/array-bounds.f90
M flang/test/Lower/OpenMP/FIR/target.f90
A flang/test/Lower/OpenMP/allocatable-array-bounds.f90
A flang/test/Lower/OpenMP/allocatable-map.f90
M flang/test/Lower/OpenMP/array-bounds.f90
M flang/test/Lower/OpenMP/target.f90
A flang/test/Transforms/omp-descriptor-map-info-gen.fir
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/include/mlir/Dialect/OpenMP/OpenMPOpsInterfaces.td
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Dialect/OpenMP/ops.mlir
A mlir/test/Target/LLVMIR/omptarget-fortran-allocatable-types-host.mlir
A openmp/libomptarget/test/offloading/fortran/target-map-allocatable-array-section-1d-bounds.f90
A openmp/libomptarget/test/offloading/fortran/target-map-allocatable-array-section-3d-bounds.f90
A openmp/libomptarget/test/offloading/fortran/target-map-allocatable-map-scopes.f90
A openmp/libomptarget/test/offloading/fortran/target-map-enter-exit-allocatables.f90
A openmp/libomptarget/test/offloading/fortran/target-map-enter-exit-array.f90
A openmp/libomptarget/test/offloading/fortran/target-map-pointer-scopes-enter-exit.f90
A openmp/libomptarget/test/offloading/fortran/target-map-pointer-target-array-section-3d-bounds.f90
A openmp/libomptarget/test/offloading/fortran/target-map-pointer-target-scopes.f90
Log Message:
-----------
[Flang][OpenMP] Initial mapping of Fortran pointers and allocatables for target devices (#71766)
This patch seeks to add an initial lowering for pointers and allocatable variables
captured by implicit and explicit map in Flang OpenMP for Target operations that
take map clauses e.g. Target, Target Update. Target Exit/Enter etc.
Currently this is done by treating the type that lowers to a descriptor
(allocatable/pointer/assumed shape) as a map of a record type (e.g. a structure) as that's
effectively what descriptor types lower to in LLVM-IR and what they're represented as
in the Fortran runtime (written in C/C++). The descriptor effectively lowers to a structure
containing scalar and array elements that represent various aspects of the underlying
data being mapped (lower bound, upper bound, extent being the main ones of interest
in most cases) and a pointer to the allocated data. In this current iteration of the mapping
we map the structure in it's entirety and then attach the underlying data pointer and map
the data to the device, this allows most of the required data to be resident on the device
for use. Currently we do not support the addendum (another block of pointer data), but
it shouldn't be too difficult to extend this to support it.
The MapInfoOp generation for descriptor types is primarily handled in an optimization
pass, where it expands BoxType (descriptor types) map captures into two maps, one for
the structure (scalar elements) and the other for the pointer data (base address) and
links them in a Parent <-> Child relationship. The later lowering processes will then treat
them as a conjoined structure with a pointer member map.
Commit: 1a6426067fb33a8a789978f6e229108787a041be
https://github.com/llvm/llvm-project/commit/1a6426067fb33a8a789978f6e229108787a041be
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M .github/workflows/llvm-project-tests.yml
Log Message:
-----------
[workflows] Use /mnt as the build directory on Linux (#80583)
There is more space available on /mnt (~56G) than on / (~30G), and we
are starting to see some of the CI jobs run out of disk space on Linux.
Commit: bdc5a87f158577fd65fde555d956637f3f2b10ac
https://github.com/llvm/llvm-project/commit/bdc5a87f158577fd65fde555d956637f3f2b10ac
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M .github/workflows/email-check.yaml
Log Message:
-----------
[GitHub][Workflows] Prevent multiple private email comments (temporarily) (#80648)
Seems the easiest way to quiet this workflow while we figure out the final form of it.
Commit: ee06678a7500d5d8f6aa8d2442389cdb90417c38
https://github.com/llvm/llvm-project/commit/ee06678a7500d5d8f6aa8d2442389cdb90417c38
Author: Anton Korobeynikov <anton at korobeynikov.info>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M .github/workflows/email-check.yaml
Log Message:
-----------
Add some clarification to email check message
Commit: 5942868a215ce4dbd927a7f0b06432e1eeaed698
https://github.com/llvm/llvm-project/commit/5942868a215ce4dbd927a7f0b06432e1eeaed698
Author: Mészáros Gergely <gergely at streamhpc.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGGPUBuiltin.cpp
A clang/test/CodeGenCUDA/printf-builtin.cu
A clang/test/CodeGenHIP/printf-builtin.hip
Log Message:
-----------
[clang][AMDGPU][CUDA] Handle __builtin_printf for device printf (#68515)
Previously `__builtin_printf` would result to emitting call to `printf`,
even though directly calling `printf` was translated.
Ref: #68478
Commit: 8fa1e5771bbd080c8a2a11c0579a3082cedbf94a
https://github.com/llvm/llvm-project/commit/8fa1e5771bbd080c8a2a11c0579a3082cedbf94a
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M llvm/test/CodeGen/X86/avx512-broadcast-unfold.ll
M llvm/test/CodeGen/X86/avx512-bugfix-23634.ll
M llvm/test/CodeGen/X86/avx512-cmp.ll
M llvm/test/CodeGen/X86/avx512-ext.ll
M llvm/test/CodeGen/X86/bitcast-int-to-vector-bool-zext.ll
M llvm/test/CodeGen/X86/combine-sdiv.ll
M llvm/test/CodeGen/X86/divrem-by-select.ll
M llvm/test/CodeGen/X86/fp128-cast.ll
M llvm/test/CodeGen/X86/fp128-i128.ll
M llvm/test/CodeGen/X86/var-permute-256.ll
M llvm/test/CodeGen/X86/vselect-zero.ll
Log Message:
-----------
[X86] Regenerate some vector constant comments missed in recent patches to improve mask predicate handling in addConstantComments
These were missed as filecheck just ignores what's after the end of the check pattern for each line
Commit: 2096e57905a20903f668848ffd11e6130bfa58e2
https://github.com/llvm/llvm-project/commit/2096e57905a20903f668848ffd11e6130bfa58e2
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M llvm/lib/Target/X86/X86MCInstLower.cpp
M llvm/test/CodeGen/X86/avx512fp16-fma-intrinsics.ll
M llvm/test/CodeGen/X86/avx512fp16-mov.ll
M llvm/test/CodeGen/X86/stack-folding-fp-avx512fp16.ll
Log Message:
-----------
[X86] addConstantComments - add FP16 MOVSH asm comments support
Commit: dd70aef05a86bb0c1e04c49cc1bd0457ca362ce3
https://github.com/llvm/llvm-project/commit/dd70aef05a86bb0c1e04c49cc1bd0457ca362ce3
Author: Alex Lorenz <arphaman at gmail.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M llvm/lib/Target/X86/X86FrameLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.h
M llvm/lib/Target/X86/X86ISelLoweringCall.cpp
M llvm/test/CodeGen/X86/swift-async-win64.ll
Log Message:
-----------
[x86_64][windows][swift] do not use Swift async extended frame for wi… (#80468)
…ndows x86_64
targets that use windows 64 prologue
Windows x86_64 stack frame layout is currently not compatible with
Swift's async extended frame, which reserves the slot right below RBP
(RBP-8) for the async context pointer, as it doesn't account for the
fact that a stack object in a win64 frame can be allocated at the same
location. This can cause issues at runtime, for instance, Swift's TCA
test code has functions that fail because of this issue, as they spill a
value to that slack slot, which then gets overwritten by a store into
address returned by the @llvm.swift.async.context.addr() intrinsic (that
ends up being RBP - 8), leading to an incorrect value being used at a
later point when that stack slot is being read from again. This change
drops the use of async extended frame for windows x86_64 subtargets and
instead uses the x32 based approach of allocating a separate stack slot
for the stored async context pointer.
Additionally, LLDB which is the primary consumer of the extended frame
makes assumptions like checking for a saved previous frame pointer at
the current frame pointer address, which is also incompatible with the
windows x86_64 frame layout, as the previous frame pointer is not
guaranteed to be stored at the current frame pointer address. Therefore
the extended frame layout can be turned off to fix the current
miscompile without introducing regression into LLDB for windows x86_64
as it already doesn't work correctly. I am still investigating what
should be made for LLDB to support using an allocated stack slot to
store the async frame context instead of being located at RBP - 8 for
windows.
Commit: 930996e9e442d69a321cd5c945543d37c97f4c0e
https://github.com/llvm/llvm-project/commit/930996e9e442d69a321cd5c945543d37c97f4c0e
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
Log Message:
-----------
[ValueTracking][NFC] Pass `SimplifyQuery` to `computeKnownFPClass` family (#80657)
This patch refactors the interface of the `computeKnownFPClass` family
to pass `SimplifyQuery` directly.
The motivation of this patch is to compute known fpclass with
`DomConditionCache`, which was introduced by
https://github.com/llvm/llvm-project/pull/73662. With
`DomConditionCache`, we can do more optimization with context-sensitive
information.
Example (extracted from
[fmt/format.h](https://github.com/fmtlib/fmt/blob/e17bc67547a66cdd378ca6a90c56b865d30d6168/include/fmt/format.h#L3555-L3566)):
```
define float @test(float %x, i1 %cond) {
%i32 = bitcast float %x to i32
%cmp = icmp slt i32 %i32, 0
br i1 %cmp, label %if.then1, label %if.else
if.then1:
%fneg = fneg float %x
br label %if.end
if.else:
br i1 %cond, label %if.then2, label %if.end
if.then2:
br label %if.end
if.end:
%value = phi float [ %fneg, %if.then1 ], [ %x, %if.then2 ], [ %x, %if.else ]
%ret = call float @llvm.fabs.f32(float %value)
ret float %ret
}
```
We can prove the signbit of `%value` is always zero. Then the fabs can
be eliminated.
Commit: 214536b0d8b68f826589600472e28bbb903d6d7a
https://github.com/llvm/llvm-project/commit/214536b0d8b68f826589600472e28bbb903d6d7a
Author: Mats Petersson <mats.petersson at arm.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M flang/test/Driver/target-cpu-features.f90
Log Message:
-----------
Fix broken ARM processor features test (#80717)
This should fix failed build bots, so pushing before Windows build is done.
Commit: 032a70ee1183dba5b942778f855e1d58244e8077
https://github.com/llvm/llvm-project/commit/032a70ee1183dba5b942778f855e1d58244e8077
Author: stephenpeckham <118857872+stephenpeckham at users.noreply.github.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M llvm/include/llvm/MC/MCObjectStreamer.h
M llvm/include/llvm/MC/MCStreamer.h
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/MCStreamer.cpp
Log Message:
-----------
[NFC] Fix typo (#80703)
Commit: d00e6d07b18dbc80b843e332a66d2777c6564523
https://github.com/llvm/llvm-project/commit/d00e6d07b18dbc80b843e332a66d2777c6564523
Author: Aart Bik <39774503+aartbik at users.noreply.github.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/SparseTensor/Transforms/Passes.td
M mlir/lib/Dialect/SparseTensor/Transforms/SparseAssembler.cpp
M mlir/test/Dialect/SparseTensor/external.mlir
A mlir/test/Dialect/SparseTensor/torch_linalg.mlir
Log Message:
-----------
[mlir][sparse] refine sparse assembler strategy (#80521)
Rewrite *all* public methods, making original internal, private methods,
and exposing wrappers under the original name. This works a bit better
in practice (when combined with c-interface mechanism of torch-mlir for
example).
Commit: ac585ab71470d4f20c96a95b49e852ee1c967003
https://github.com/llvm/llvm-project/commit/ac585ab71470d4f20c96a95b49e852ee1c967003
Author: Dave Lee <davelee.com at gmail.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M lldb/include/lldb/DataFormatters/TypeCategoryMap.h
Log Message:
-----------
[lldb] Remove unused private TypeCategoryMap methods (NFC) (#80602)
Commit: 0c02ea05c8414e72339e2521d1fdae54e91569bb
https://github.com/llvm/llvm-project/commit/0c02ea05c8414e72339e2521d1fdae54e91569bb
Author: Dave Lee <davelee.com at gmail.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
Log Message:
-----------
[lldb] Cleanup regex in libcxx formatters (NFC) (#80618)
I noticed a number of regex for libcxx formatters use an unnecessary regex grouping.
This change removes those parentheses.
Commit: 0bf165e383ac9c58dcb1764aef9f35334afa0cc7
https://github.com/llvm/llvm-project/commit/0bf165e383ac9c58dcb1764aef9f35334afa0cc7
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M clang/test/Preprocessor/riscv-target-features.c
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.rst
M llvm/lib/Support/RISCVISAInfo.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/unittests/Support/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Add support for RISC-V Pointer Masking (#79929)
This patch implements the v0.8.1 specification. This patch reports
version 0.8 in llvm since `RISCVISAInfo::ExtensionVersion` only has a
`Major` and `Minor` version number. This patch includes includes support
of the `Ssnpm`, `Smnpm`, `Smmpm`, `Sspm` and `Supm` extensions that make
up RISC-V pointer masking.
All of these extensions require emitting attribute containing correct
`march` string.
`Ssnpm`, `Smnpm`, `Smmpm` extensions introduce a 2-bit WARL field (PMM).
The extension does not specify how PMM is set, and therefore this patch
does not need to address this. One example of how it *could* be set is
using the Zicsr instructions to update the PMM bits of the described
registers.
The full specification can be found at
https://github.com/riscv/riscv-j-extension/blob/master/zjpm-spec.pdf
Commit: 9805c051f7d3a09a629c51461b49f8070c01de62
https://github.com/llvm/llvm-project/commit/9805c051f7d3a09a629c51461b49f8070c01de62
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M llvm/utils/git/github-automation.py
Log Message:
-----------
[workflows] Close issues used for backports once the PR has been created (#80394)
This will allow us to track the state of the backport request in the PR,
rather than in the issue. The state updates for PRs can be automated, so
this will save us some triage work.
Commit: 37462944513731af2743d95e5dd40bdbeefd6460
https://github.com/llvm/llvm-project/commit/37462944513731af2743d95e5dd40bdbeefd6460
Author: AtariDreams <83477269+AtariDreams at users.noreply.github.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
M llvm/test/Transforms/InstCombine/cos-1.ll
Log Message:
-----------
[Transforms] Add more cos combinations to SimplifyLibCalls and InstCombine (#79699)
Add cos(fabs(x)) -> cos(x) and cos(copysign(x, y)) -> cos(x).
Commit: 93fd05c0891caa8c68cb37b64217467a0ef60412
https://github.com/llvm/llvm-project/commit/93fd05c0891caa8c68cb37b64217467a0ef60412
Author: Andrew Gozillon <Andrew.Gozillon at amd.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M flang/test/Integration/OpenMP/map-types-and-sizes.f90
Log Message:
-----------
[Flang][OpenMP] Attempt to make map-types-and-sizes.f90 test more agnostic to other architectures
This test was updated by me recently, however, the newly
added CHECK-LABEL checks are breaking one of the RHEL
PowerPC buildbots as the functions appear to be generated
slightly different (in this case added attributes I think).
Commit: 64a317ad0765a2b3748d2b74b9a0d4738250787a
https://github.com/llvm/llvm-project/commit/64a317ad0765a2b3748d2b74b9a0d4738250787a
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/load.pass.cpp
Log Message:
-----------
[libc++][NFC] Fix typo in comment
Commit: 22544e2a54370a3c0b12765981c312f9ec04f1cc
https://github.com/llvm/llvm-project/commit/22544e2a54370a3c0b12765981c312f9ec04f1cc
Author: Alex Bradbury <asb at igalia.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M flang/include/flang/Optimizer/Transforms/Passes.h
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Tools/CLOptions.inc
M flang/include/flang/Tools/CrossToolHelpers.h
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Optimizer/Transforms/FunctionAttr.cpp
A flang/test/Driver/func-attr-fast-math.f90
Log Message:
-----------
[flang] Set fast math related function attributes for -Ofast/-ffast-math (#79301)
The implemented logic matches the logic used for Clang in emitting these
attributes. Although it's hoped that function attributes won't be needed
in the future (vs using fast math flags in individual IR instructions),
there are codegen differences currently with/without these attributes,
as can be seen in issues like #79257 or by hacking Clang to avoid
producing these attributes and observing codegen changes.
Commit: b99163fe8feeacba7797d5479bbcd5d8f327dd2d
https://github.com/llvm/llvm-project/commit/b99163fe8feeacba7797d5479bbcd5d8f327dd2d
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFeatures.td
Log Message:
-----------
[RISCV] Fix description of Ssstrict to have a closing parenthesis.
Commit: dd22140e21f2ef51cf031354966a3d41c191c6e7
https://github.com/llvm/llvm-project/commit/dd22140e21f2ef51cf031354966a3d41c191c6e7
Author: Zequan Wu <zequanwu at google.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M compiler-rt/lib/profile/InstrProfilingPlatformWindows.c
Log Message:
-----------
[Profile][Windows] Drop extern for __buildid. (#80700)
Commit: fa7d0d3e35f74486ccb0faa88ec706defe7dd2d2
https://github.com/llvm/llvm-project/commit/fa7d0d3e35f74486ccb0faa88ec706defe7dd2d2
Author: Valentin Clement <clementval at gmail.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M flang/include/flang/Optimizer/Support/InitFIR.h
A flang/test/Fir/OpenACC/legalize-data.fir
M mlir/include/mlir/Dialect/OpenACC/CMakeLists.txt
A mlir/include/mlir/Dialect/OpenACC/Transforms/CMakeLists.txt
A mlir/include/mlir/Dialect/OpenACC/Transforms/Passes.h
A mlir/include/mlir/Dialect/OpenACC/Transforms/Passes.td
M mlir/include/mlir/InitAllPasses.h
M mlir/lib/Dialect/OpenACC/CMakeLists.txt
A mlir/lib/Dialect/OpenACC/IR/CMakeLists.txt
A mlir/lib/Dialect/OpenACC/Transforms/CMakeLists.txt
A mlir/lib/Dialect/OpenACC/Transforms/LegalizeData.cpp
A mlir/test/Dialect/OpenACC/legalize-data.mlir
Log Message:
-----------
[mlir][openacc] Add legalize data pass for compute operation (#80351)
This patch adds a simple pass to replace the uses inside compute operation. It
replaces the `varPtr` values with their corresponding `accPtr` values gathered
through the dataClauseOperands.
private and reductions variables are not included in this pass since they will
normally be replace when they are materialized.
Commit: 9ac6eb5bec2367b34f4b839a051e49318adf9dd1
https://github.com/llvm/llvm-project/commit/9ac6eb5bec2367b34f4b839a051e49318adf9dd1
Author: Valentin Clement <clementval at gmail.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M mlir/lib/Dialect/OpenACC/Transforms/CMakeLists.txt
Log Message:
-----------
[mlir][openacc] Add MLIRSupport to MLIROpenACCTransforms
Commit: 152325d342ae430872bb587ed3892253f23f782a
https://github.com/llvm/llvm-project/commit/152325d342ae430872bb587ed3892253f23f782a
Author: S. Bharadwaj Yadavalli <Bharadwaj.Yadavalli at microsoft.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M llvm/lib/Target/DirectX/DXIL.td
M llvm/utils/TableGen/DXILEmitter.cpp
Log Message:
-----------
[DirectX][NFC] Change all DXIL TableGen tokens to CamelCase (#80714)
These changes are in preparation for potential improvement of DXIL
operation description and addition of more DXIL operations to `DXIL.td`.
Commit: 4b6062619acf1cdc7b426520dd908d9fab70ed49
https://github.com/llvm/llvm-project/commit/4b6062619acf1cdc7b426520dd908d9fab70ed49
Author: Valentin Clement <clementval at gmail.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M flang/include/flang/Optimizer/Support/InitFIR.h
R flang/test/Fir/OpenACC/legalize-data.fir
M mlir/include/mlir/Dialect/OpenACC/CMakeLists.txt
R mlir/include/mlir/Dialect/OpenACC/Transforms/CMakeLists.txt
R mlir/include/mlir/Dialect/OpenACC/Transforms/Passes.h
R mlir/include/mlir/Dialect/OpenACC/Transforms/Passes.td
M mlir/include/mlir/InitAllPasses.h
M mlir/lib/Dialect/OpenACC/CMakeLists.txt
R mlir/lib/Dialect/OpenACC/IR/CMakeLists.txt
R mlir/lib/Dialect/OpenACC/Transforms/CMakeLists.txt
R mlir/lib/Dialect/OpenACC/Transforms/LegalizeData.cpp
R mlir/test/Dialect/OpenACC/legalize-data.mlir
Log Message:
-----------
Revert "[mlir][openacc] Add legalize data pass for compute operation (#80351)"
This reverts commit fa7d0d3e35f74486ccb0faa88ec706defe7dd2d2.
Commit: 76706090c2f672ae933798292bfa889f9e3dac3d
https://github.com/llvm/llvm-project/commit/76706090c2f672ae933798292bfa889f9e3dac3d
Author: jeffreytan81 <jeffreytan at meta.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M lldb/include/lldb/API/SBCommandInterpreter.h
M lldb/include/lldb/API/SBStructuredData.h
M lldb/include/lldb/Interpreter/CommandInterpreter.h
M lldb/source/API/SBCommandInterpreter.cpp
M lldb/source/Commands/CommandObjectCommands.cpp
M lldb/source/Interpreter/CommandInterpreter.cpp
M lldb/source/Interpreter/CommandObject.cpp
M lldb/source/Target/Statistics.cpp
M lldb/test/API/commands/statistics/basic/TestStats.py
M lldb/test/API/functionalities/stats_api/TestStatisticsAPI.py
Log Message:
-----------
Add commands frequency to statistics dump (#80375)
Adding command interpreter statistics into "statistics dump" command so
that we can track the command usage frequency for telemetry purpose.
This is useful to answer questions like what is the most frequently used
lldb commands across all our users.
---------
Co-authored-by: jeffreytan81 <jeffreytan at fb.com>
Commit: c166a43c6e6157b1309ea757324cc0a71c078e66
https://github.com/llvm/llvm-project/commit/c166a43c6e6157b1309ea757324cc0a71c078e66
Author: weiguozhi <57237827+weiguozhi at users.noreply.github.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M clang/include/clang-c/Index.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/Specifiers.h
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/Basic/Targets/X86.h
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaType.cpp
M clang/test/CodeGen/debug-info-cc.c
M clang/test/CodeGen/preserve-call-conv.c
M clang/test/Misc/pragma-attribute-supported-attributes-list.test
M clang/test/Sema/no_callconv.cpp
A clang/test/Sema/preserve-none-call-conv.c
M clang/tools/libclang/CXType.cpp
M llvm/docs/LangRef.rst
M llvm/include/llvm/AsmParser/LLToken.h
M llvm/include/llvm/BinaryFormat/Dwarf.def
M llvm/include/llvm/IR/CallingConv.h
M llvm/lib/AsmParser/LLLexer.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/DebugInfo/DWARF/DWARFTypePrinter.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/Target/X86/X86CallingConv.td
M llvm/lib/Target/X86/X86ISelLoweringCall.cpp
M llvm/lib/Target/X86/X86RegisterInfo.cpp
M llvm/test/Bitcode/compatibility.ll
A llvm/test/CodeGen/X86/dynamic-regmask-preserve-none.ll
M llvm/test/CodeGen/X86/ipra-reg-usage.ll
M llvm/test/CodeGen/X86/ipra-transform.ll
A llvm/test/CodeGen/X86/preserve_none_swift.ll
A llvm/test/CodeGen/X86/preserve_nonecc64-ret-double.ll
A llvm/test/CodeGen/X86/preserve_nonecc64.ll
A llvm/test/CodeGen/X86/preserve_nonecc_call.ll
A llvm/test/CodeGen/X86/preserve_nonecc_musttail.ll
Log Message:
-----------
New calling convention preserve_none (#76868)
The new experimental calling convention preserve_none is the opposite
side of existing preserve_all. It tries to preserve as few general
registers as possible. So all general registers are caller saved
registers. It can also uses more general registers to pass arguments.
This attribute doesn't impact floating-point registers. Floating-point
registers still follow the c calling convention.
Currently preserve_none is supported on X86-64 only. It changes the c
calling convention in following fields:
* RSP and RBP are the only preserved general registers, all other
general registers are caller saved registers.
* We can use [RDI, RSI, RDX, RCX, R8, R9, R11, R12, R13, R14, R15, RAX]
to pass arguments.
It can improve the performance of hot tailcall chain, because many
callee saved registers' save/restore instructions can be removed if the
tail functions are using preserve_none. In my experiment in protocol
buffer, the parsing functions are improved by 3% to 10%.
Commit: 0d091206dd656c2a9d31d6088a4aa6f9c2cc7156
https://github.com/llvm/llvm-project/commit/0d091206dd656c2a9d31d6088a4aa6f9c2cc7156
Author: Valentin Clement <clementval at gmail.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M flang/include/flang/Optimizer/Support/InitFIR.h
A flang/test/Fir/OpenACC/legalize-data.fir
M mlir/include/mlir/Dialect/OpenACC/CMakeLists.txt
A mlir/include/mlir/Dialect/OpenACC/Transforms/CMakeLists.txt
A mlir/include/mlir/Dialect/OpenACC/Transforms/Passes.h
A mlir/include/mlir/Dialect/OpenACC/Transforms/Passes.td
M mlir/include/mlir/InitAllPasses.h
M mlir/lib/Dialect/OpenACC/CMakeLists.txt
A mlir/lib/Dialect/OpenACC/IR/CMakeLists.txt
A mlir/lib/Dialect/OpenACC/Transforms/CMakeLists.txt
A mlir/lib/Dialect/OpenACC/Transforms/LegalizeData.cpp
A mlir/test/Dialect/OpenACC/legalize-data.mlir
Log Message:
-----------
[mlir][openacc] Add legalize data pass for compute operation (#80351)
This patch adds a simple pass to replace the uses inside compute operation. It
replaces the `varPtr` values with their corresponding `accPtr` values gathered
through the dataClauseOperands.
private and reductions variables are not included in this pass since they will
normally be replace when they are materialized.
Reland with fix for dependencies
Commit: cd481fa827b76953cd12dae9319face96670c0b3
https://github.com/llvm/llvm-project/commit/cd481fa827b76953cd12dae9319face96670c0b3
Author: Yinying Li <107574043+yinying-lisa-li at users.noreply.github.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M mlir/include/mlir-c/Dialect/SparseTensor.h
M mlir/include/mlir/Dialect/SparseTensor/IR/Enums.h
M mlir/lib/Bindings/Python/DialectSparseTensor.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/CodegenUtils.h
M mlir/test/CAPI/sparse_tensor.c
M mlir/test/Dialect/SparseTensor/conversion.mlir
M mlir/test/Dialect/SparseTensor/sparse_fill_zero.mlir
M mlir/test/python/dialects/sparse_tensor/dialect.py
Log Message:
-----------
[mlir][sparse] Change LevelType enum to 64 bit (#80501)
1. C++ enum is set through enum class LevelType : uint_64.
2. C enum is set through typedef uint_64 level_type. It is due to the
limitations in Windows build: setting enum width to ui64 is not
supported in C.
Commit: ae9e1fd2edb6eb11dfd6816d1e9013e39e21aa04
https://github.com/llvm/llvm-project/commit/ae9e1fd2edb6eb11dfd6816d1e9013e39e21aa04
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
Log Message:
-----------
[clang] Fix extractAPI typo in comments, NFC
Commit: 6b42625b1f983f6aafb9f4fe2953970c73963603
https://github.com/llvm/llvm-project/commit/6b42625b1f983f6aafb9f4fe2953970c73963603
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M flang/test/Lower/OpenACC/acc-kernels-loop.f90
M flang/test/Lower/OpenACC/acc-loop.f90
M flang/test/Lower/OpenACC/acc-parallel-loop.f90
M flang/test/Lower/OpenACC/acc-serial-loop.f90
M flang/test/Lower/OpenACC/acc-update.f90
M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
M mlir/test/Dialect/OpenACC/canonicalize.mlir
M mlir/test/Dialect/OpenACC/invalid.mlir
M mlir/test/Dialect/OpenACC/legalize-data.mlir
M mlir/test/Dialect/OpenACC/ops.mlir
Log Message:
-----------
[mlir][openacc] Simplify IR with acc.loop control (#80387)
When the new `acc.loop` design was introduced some of the loop
information like `gang`/`vector`/`worker` were also updated to support
`device_type`.
With a conflict in parsing/printing, the keyword only value for
`async`/`gang`/`vector`/`worker` were printed/parsed with an empty set
of parenthesis `()`. To make the IR clearer to read and similar across
the operations, the loop control part of is now prefixed by `control`
and this allow to remove the need of the empty `()`.
Commit: e722d9662dd8cdd3be9e434b057593e97a7d4417
https://github.com/llvm/llvm-project/commit/e722d9662dd8cdd3be9e434b057593e97a7d4417
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/RISCV/and-add-lsr.ll
Log Message:
-----------
[DAG] Avoid a crash when checking size of scalable type in visitANDLike
Fixes https://github.com/llvm/llvm-project/issues/80744. This transform
doesn't handled vectors at all, The fixed length ones pass the first
check, but would fail the constant operand checks which immediate follow.
This patch takes the simplest approach, and just guards the transform
for scalar integers.
Commit: dfdea4d5fb18ddf928b043a359e50c3f015dae71
https://github.com/llvm/llvm-project/commit/dfdea4d5fb18ddf928b043a359e50c3f015dae71
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M llvm/test/MC/RISCV/attribute-arch.s
Log Message:
-----------
[RISCV] Update llvm/test/MC/RISCV/attribute-arch.s for RISC-V Pointer Masking (#80748)
I forgot to update this test in #79929
Commit: 8ce036d539cdaaee50ce7c63f963b7d68c43282e
https://github.com/llvm/llvm-project/commit/8ce036d539cdaaee50ce7c63f963b7d68c43282e
Author: ChiaHungDuan <chiahungduan at google.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M compiler-rt/lib/scudo/standalone/combined.h
M compiler-rt/lib/scudo/standalone/tests/combined_test.cpp
M compiler-rt/lib/scudo/standalone/tests/tsd_test.cpp
M compiler-rt/lib/scudo/standalone/tsd_exclusive.h
M compiler-rt/lib/scudo/standalone/tsd_shared.h
Log Message:
-----------
[scudo] Add ScopedTSD to avoid releasing TSD manually (#80061)
This makes the use of TSD be RAII style and avoid the exposing of the
type of TSDs.
Also move some thread safety analyses from static to runtime because of
its limitation. Even we mark some code path as NO_THREAD_SAFETY_ANALYSIS
but we still have the `assertLocked()` cover the correctness.
Commit: a7bc9cb6ffa91ff0ebabc45c0c7263c7c2c3a4de
https://github.com/llvm/llvm-project/commit/a7bc9cb6ffa91ff0ebabc45c0c7263c7c2c3a4de
Author: Shafik Yaghmour <shafik.yaghmour at intel.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M clang/include/clang/Sema/Lookup.h
M clang/test/CXX/class.derived/class.member.lookup/p11.cpp
Log Message:
-----------
[Clang][Sema] Fix regression due to missing ambiguity check before attempting access check. (#80730)
Previously when fixing ambiguous lookup diagnostics in
cc1b6668c57170cd440d321037ced89d6a61a9cb The change refactored
`LookupResult` to split out diagnosing access and ambiguous lookups. The
call to `getSema().CheckLookupAccess(...)` should have guarded by a
check for isAmbiguous(). This change adds that guard.
Fixes: https://github.com/llvm/llvm-project/issues/80435
Commit: 6ce03ff3fef8fb6fa9afe8eb22c6d98bced26d48
https://github.com/llvm/llvm-project/commit/6ce03ff3fef8fb6fa9afe8eb22c6d98bced26d48
Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/IR/DebugInfo.cpp
M llvm/lib/IR/Function.cpp
M llvm/lib/IR/ProfDataUtils.cpp
M llvm/lib/IR/Verifier.cpp
Log Message:
-----------
Revert "[IR] Use range-based for loops (NFC)"
This reverts commit e8512786fedbfa6ddba70ceddc29d7122173ba5e.
This revert is done because llvm::drop_begin over an empty ArrayRef
doesn't return an empty range, and therefore can lead to an invalid
address returned instead.
See discussion in https://github.com/llvm/llvm-project/pull/80737 for
more context.
Commit: e2cfdf7b6a09a2159a2ce3cf4fff022b6d98b928
https://github.com/llvm/llvm-project/commit/e2cfdf7b6a09a2159a2ce3cf4fff022b6d98b928
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M libcxx/include/__memory/uninitialized_algorithms.h
A libcxx/test/libcxx/containers/sequences/vector/const_T.compile.pass.cpp
Log Message:
-----------
[libc++] Fix vector<const T> (#80711)
#80558 introduced code that assumed that the element type of `vector` is
never const. This fixes it and adds a test. Eventually we should remove
the `allocator<const T>` extension.
Commit: dbed89814e5b9ba25a349a5b9acf4a7164e33834
https://github.com/llvm/llvm-project/commit/dbed89814e5b9ba25a349a5b9acf4a7164e33834
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/test/CodeGenOpenCL/builtins-amdgcn.cl
Log Message:
-----------
[AMDGPU] Add missing `__builtin_amdgcn_wavefrontsize` builtin (#80741)
Summary:
The backend supports the wavefrontsize intrinsic, and suggests that it
is tied to a corresponding clang builtin, but it is not actually
present. This simply adds it in so it can be used from clang. This
attribute likely isn't the best to rely on, but for the `libc` use-case
we will need to detect a struct's differing size in a way that will
depend on the wavefront size.
Commit: 5a9af39aab40bba52d4e46cabf4b1ab47f614fa2
https://github.com/llvm/llvm-project/commit/5a9af39aab40bba52d4e46cabf4b1ab47f614fa2
Author: Aart Bik <39774503+aartbik at users.noreply.github.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M mlir/lib/Dialect/SparseTensor/Transforms/SparseVectorization.cpp
M mlir/test/Dialect/SparseTensor/sparse_vector_mv.mlir
Log Message:
-----------
[mlir][sparse] made sparse vectorizer more robust on position of invariants (#80766)
Because the sparse vectorizer relies on the code coming out of the
sparsifier, the "patterns" are not always made very general. However, a
recent change in the generated code revealed an obvious situation where
the subscript analysis could be made a bit more robust.
Fixes:
https://github.com/llvm/llvm-project/issues/79897
Commit: 792d928e15aa30c8b686eff465598ceea0b03891
https://github.com/llvm/llvm-project/commit/792d928e15aa30c8b686eff465598ceea0b03891
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M .github/workflows/libclc-tests.yml
M .github/workflows/lldb-tests.yml
M .github/workflows/llvm-project-tests.yml
Log Message:
-----------
[workflows] Fix lldb-tests and libclc-tests (#80751)
This was broken by d25022bb689b9bf48a24c0ae6c29c1d3c2f32823, which
caused the workflow to pass an empty string to ninja as the target. The
'all' target is probably not the right target for these tests, but this
is what the behavior was before
d25022bb689b9bf48a24c0ae6c29c1d3c2f32823.
Commit: eff77d8456a5ba9a05a0c3a29113643fbb180230
https://github.com/llvm/llvm-project/commit/eff77d8456a5ba9a05a0c3a29113643fbb180230
Author: Florian Mayer <fmayer at google.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M compiler-rt/lib/scudo/standalone/combined.h
M compiler-rt/lib/scudo/standalone/fuzz/get_error_info_fuzzer.cpp
M compiler-rt/lib/scudo/standalone/platform.h
M compiler-rt/lib/scudo/standalone/stack_depot.h
M compiler-rt/lib/scudo/standalone/tests/combined_test.cpp
M compiler-rt/lib/scudo/standalone/wrappers_c_bionic.cpp
Log Message:
-----------
[scudo] [MTE] resize stack depot for allocation ring buffer (#74515)
Co-authored-by: ChiaHungDuan <f103119 at gmail.com>
Commit: c175157dc158d1e4ebdf60c6af75a5106c474780
https://github.com/llvm/llvm-project/commit/c175157dc158d1e4ebdf60c6af75a5106c474780
Author: Aart Bik <39774503+aartbik at users.noreply.github.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/SparseTensor/IR/Enums.h
Log Message:
-----------
[mlir][sparse] fix windows build issue with hex literals (#80770)
Fixes:
https://github.com/llvm/llvm-project/issues/73828
Commit: c3291253c3b5d1794492ccebe39b7c2c5f74c378
https://github.com/llvm/llvm-project/commit/c3291253c3b5d1794492ccebe39b7c2c5f74c378
Author: Florian Mayer <fmayer at google.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M compiler-rt/lib/scudo/standalone/combined.h
M compiler-rt/lib/scudo/standalone/fuzz/get_error_info_fuzzer.cpp
M compiler-rt/lib/scudo/standalone/platform.h
M compiler-rt/lib/scudo/standalone/stack_depot.h
M compiler-rt/lib/scudo/standalone/tests/combined_test.cpp
M compiler-rt/lib/scudo/standalone/wrappers_c_bionic.cpp
Log Message:
-----------
Revert "[scudo] [MTE] resize stack depot for allocation ring buffer" (#80777)
Reverts llvm/llvm-project#74515
Broke build: https://lab.llvm.org/buildbot/#/builders/75/builds/42512
Commit: 99ddd77ed9e12f55f8d4b66eec02154a0b3a6bf0
https://github.com/llvm/llvm-project/commit/99ddd77ed9e12f55f8d4b66eec02154a0b3a6bf0
Author: modiking <modiking213 at gmail.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
A llvm/test/Transforms/LoopUnroll/pr77842.ll
Log Message:
-----------
[LoopUnroll] Introduce PragmaUnrollFullMaxIterations as a hard cap on how many iterations we try to unroll (#78648)
Fixes [PR77842](https://github.com/llvm/llvm-project/issues/77842) where
UBSAN causes pragma full unroll to try and unroll INT_MAX times. This
sets a cap to make sure we don't attempt this and crash the compiler.
Testing:
ninja check-all with new test
---------
Co-authored-by: Nikita Popov <github at npopov.com>
Commit: a71147dd28c6676fc46e4ec0a5d6e0b0823cced5
https://github.com/llvm/llvm-project/commit/a71147dd28c6676fc46e4ec0a5d6e0b0823cced5
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyFastISel.cpp
A llvm/test/CodeGen/WebAssembly/suboptimal-compare.ll
Log Message:
-----------
[WebAssembly] improve getRegForPromotedValue to avoid meanless value copy (#80469)
When promoted value, it is meaningless to copy value from reg to another
reg with the same type.
This PR add additional check for this cases to reduce the code size.
Fixes: #80053.
Commit: 06a728f3feab876f9195738b5774e82dadc0f3a7
https://github.com/llvm/llvm-project/commit/06a728f3feab876f9195738b5774e82dadc0f3a7
Author: Jinyang He <hejinyang at loongson.cn>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M lld/ELF/Arch/LoongArch.cpp
M lld/ELF/Arch/RISCV.cpp
M lld/ELF/InputSection.cpp
M lld/ELF/InputSection.h
M lld/ELF/Target.h
M lld/ELF/Writer.cpp
A lld/test/ELF/loongarch-relax-align.s
A lld/test/ELF/loongarch-relax-emit-relocs.s
Log Message:
-----------
[lld][ELF] Support relax R_LARCH_ALIGN (#78692)
Refer to commit 6611d58f5bbc ("Relax R_RISCV_ALIGN"), we can relax
R_LARCH_ALIGN by same way. Reuse `SymbolAnchor`, `RISCVRelaxAux` and
`initSymbolAnchors` to simplify codes. As `riscvFinalizeRelax` is an
arch-specific function, put it override on `TargetInfo::finalizeRelax`,
so that LoongArch can override it, too.
The flow of relax R_LARCH_ALIGN is almost consistent with RISCV. The
difference is that LoongArch only has 4-bytes NOP and all executable
insn is 4-bytes aligned. So LoongArch not need rewrite NOP sequence.
Alignment maxBytesEmit parameter is supported in psABI v2.30.
Commit: abe102b87204a8b5bb637b675ed58ee6695016af
https://github.com/llvm/llvm-project/commit/abe102b87204a8b5bb637b675ed58ee6695016af
Author: Enna1 <xumingjie.enna1 at bytedance.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M compiler-rt/lib/asan/asan_descriptions.cpp
M compiler-rt/lib/hwasan/hwasan_report.cpp
M compiler-rt/lib/memprof/memprof_descriptions.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_stacktrace_libcdep.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_stacktrace_printer.cpp
Log Message:
-----------
[Sanitizer][NFC] Replaces a few `InternalScopedString::AppendF` with `InternalScopedString::Append` (#80574)
Commit: c1c5b854adc9414ee3d8c55ddd07bdb4cc5b7171
https://github.com/llvm/llvm-project/commit/c1c5b854adc9414ee3d8c55ddd07bdb4cc5b7171
Author: Nilanjana Basu <n_basu at apple.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopDistribute/basic-with-memchecks.ll
M llvm/test/Transforms/LoopVectorize/AArch64/deterministic-type-shrinkage.ll
M llvm/test/Transforms/LoopVectorize/AArch64/interleave_count_for_estimated_tc.ll
M llvm/test/Transforms/LoopVectorize/AArch64/interleave_count_for_known_tc.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-inductions-unusual-types.ll
M llvm/test/Transforms/LoopVectorize/SystemZ/zero_unroll.ll
M llvm/test/Transforms/LoopVectorize/X86/imprecise-through-phis.ll
M llvm/test/Transforms/LoopVectorize/X86/interleave_short_tc.ll
M llvm/test/Transforms/LoopVectorize/X86/limit-vf-by-tripcount.ll
M llvm/test/Transforms/LoopVectorize/X86/load-deref-pred.ll
M llvm/test/Transforms/LoopVectorize/X86/metadata-enable.ll
M llvm/test/Transforms/LoopVectorize/X86/strided_load_cost.ll
M llvm/test/Transforms/LoopVectorize/X86/unroll-small-loops.ll
M llvm/test/Transforms/LoopVectorize/X86/vect.omp.force.small-tc.ll
M llvm/test/Transforms/LoopVectorize/X86/vectorization-remarks-loopid-dbg.ll
M llvm/test/Transforms/LoopVectorize/X86/vectorization-remarks.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/quant_4x4.ll
M llvm/test/Transforms/PhaseOrdering/X86/excessive-unrolling.ll
Log Message:
-----------
[LV] Remove loop trip count threshold for deciding whether to interleave a loop (#67725)
A set of microbenchmarks (https://github.com/llvm/llvm-test-suite/pull/26) showed that loop interleaving can be beneficial for loops with low trip count as well. Loop interleaving count computation is updated accordingly in prior patches while this patch removes the loop trip count threshold for interleaving.
Commit: c0cb0be85ca7aa3f9c14f2c8272f581a20474619
https://github.com/llvm/llvm-project/commit/c0cb0be85ca7aa3f9c14f2c8272f581a20474619
Author: Derek Schuff <dschuff at chromium.org>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M llvm/test/CodeGen/WebAssembly/immediates.ll
Log Message:
-----------
Mark llvm/test/CodeGen/WebAssembly/immediates.ll as passing on MIPS (#80771)
Fixes #80533
Commit: 0123cefc00177e4fc7daa0dadf98ca8336760785
https://github.com/llvm/llvm-project/commit/0123cefc00177e4fc7daa0dadf98ca8336760785
Author: jeffreytan81 <jeffreytan at meta.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M lldb/include/lldb/API/SBProcess.h
M lldb/include/lldb/Target/PostMortemProcess.h
M lldb/include/lldb/Target/Process.h
M lldb/include/lldb/Target/ProcessTrace.h
M lldb/source/API/SBProcess.cpp
M lldb/source/Plugins/Process/FreeBSDKernel/ProcessFreeBSDKernel.cpp
M lldb/source/Plugins/Process/FreeBSDKernel/ProcessFreeBSDKernel.h
M lldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp
M lldb/source/Plugins/Process/elf-core/ProcessElfCore.h
M lldb/source/Plugins/Process/mach-core/ProcessMachCore.cpp
M lldb/source/Plugins/Process/mach-core/ProcessMachCore.h
M lldb/source/Plugins/Process/minidump/ProcessMinidump.cpp
M lldb/source/Plugins/Process/minidump/ProcessMinidump.h
M lldb/source/Target/ProcessTrace.cpp
M lldb/test/API/functionalities/postmortem/elf-core/TestLinuxCore.py
Log Message:
-----------
Add a new SBProcess:: GetCoreFile() API (#80767)
We have a Python script that needs to locate coredump path during
debugging so that we can retrieve certain metadata files associated with
it. Currently, there is no API for this.
This patch adds a new `SBProcess::GetCoreFile()` to retrieve target dump
file spec used for dump debugging. Note: this is different from the main
executable module spec. To achieve this, the patch hoists m_core_file
into PostMortemProcess for sharing.
---------
Co-authored-by: jeffreytan81 <jeffreytan at fb.com>
Commit: 2c2d291b4568381999442e47fc77f949f19be0bc
https://github.com/llvm/llvm-project/commit/2c2d291b4568381999442e47fc77f949f19be0bc
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/test/SemaTemplate/concepts-out-of-line-def.cpp
Log Message:
-----------
[concepts] Extract function template pack arguments from the current instantiation if possible (#80594)
Before the constraint substitution, we employ
`getTemplateInstantiationArgs`, which in turn attempts to inspect
`TemplateArgument`s from the function template. For parameter packs from
their parent contexts, we used to extract the arguments from the
specialization type, in which could result in non-canonical argument
types e.g. `PackExpansionType`.
This may break the contract that, during a tree transformation, in
`TreeTransform::TryExpandParameterPacks`, the corresponding
`TemplateArgument`s for an `UnexpandedParameterPack` are expected to be
of `Pack` kinds if we're expanding template parameters.
Fixes https://github.com/llvm/llvm-project/issues/72557.
Commit: 62838b872f1d8c6ffd88c355ece9324258169bdd
https://github.com/llvm/llvm-project/commit/62838b872f1d8c6ffd88c355ece9324258169bdd
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M mlir/test/CAPI/sparse_tensor.c
Log Message:
-----------
[mlir][test] Fix -Wformat in sparse_tensor.c (NFC)
llvm-project/mlir/test/CAPI/sparse_tensor.c:50:42:
error: format specifies type 'unsigned long' but the argument has type 'MlirSparseTensorLevelType' (aka 'unsigned long long') [-Werror,-Wformat]
50 | fprintf(stderr, "level_type: %lu\n", lvlTypes[l]);
| ~~~ ^~~~~~~~~~~
| %llu
1 error generated.
Commit: 8f80df0f52c4294d23d0510b01be6d6491714058
https://github.com/llvm/llvm-project/commit/8f80df0f52c4294d23d0510b01be6d6491714058
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M .github/workflows/build-ci-container.yml
R .github/workflows/containers/github-action-ci/Dockerfile
A .github/workflows/containers/github-action-ci/bootstrap.patch
A .github/workflows/containers/github-action-ci/stage1.Dockerfile
A .github/workflows/containers/github-action-ci/stage2.Dockerfile
A .github/workflows/containers/github-action-ci/storage.conf
Log Message:
-----------
[Github] Use building LLVM as perf-training for CI container (#80713)
This patch adjusts the build process for building the toolchain for the
CI container to perform more rigorous perf-training for PGO,
particularly building the entirety of LLVM as that is what showed the
best results while benchmarking. This patch also splits the job into two
stages to avoid timeouts due to the large increase in buildtime. There
are a couple other hacks added in here to make things work that we can
do away with eventually once we're able to run jobs like this on more
powerful self-hosted runners.
Commit: 5953532615595918d006ace2ad83fe33d1cd3915
https://github.com/llvm/llvm-project/commit/5953532615595918d006ace2ad83fe33d1cd3915
Author: Jason Molenda <jmolenda at apple.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M lldb/docs/lldb-gdb-remote.txt
M lldb/include/lldb/Breakpoint/WatchpointAlgorithms.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/include/lldb/lldb-private-enumerations.h
M lldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py
M lldb/source/Breakpoint/WatchpointAlgorithms.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/test/API/functionalities/watchpoint/large-watchpoint/TestLargeWatchpoint.py
M lldb/tools/debugserver/source/RNBRemote.cpp
Log Message:
-----------
[lldb] Add QSupported key to report watchpoint types supported (#80376)
debugserver on arm64 devices can manage both Byte Address Select
watchpoints (1-8 bytes) and MASK watchpoints (8 bytes-2 gigabytes). This
adds a SupportedWatchpointTypes key to the QSupported response from
debugserver with a list of these, so lldb can take full advantage of
them when creating larger regions with a single hardware watchpoint.
Also add documentation for this, and two other lldb extensions, to the
lldb-gdb-remote.txt documentation.
Re-enable TestLargeWatchpoint.py on Darwin systems when testing with the
in-tree built debugserver. I can remove the "in-tree built debugserver"
in the future when this new key is handled by an Xcode debugserver.
Commit: 87ff65b07c82337d99b0dc0ca562e394ecedc11b
https://github.com/llvm/llvm-project/commit/87ff65b07c82337d99b0dc0ca562e394ecedc11b
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M mlir/test/CAPI/sparse_tensor.c
Log Message:
-----------
[mlir][test] Fix -Wformat in sparse_tensor.c (NFC)
llvm-project/mlir/test/CAPI/sparse_tensor.c:50:43:
error: format specifies type 'unsigned long long' but the argument has type 'MlirSparseTensorLevelType' (aka 'unsigned long') [-Werror,-Wformat]
fprintf(stderr, "level_type: %llu\n", lvlTypes[l]);
~~~~ ^~~~~~~~~~~
%lu
1 error generated.
Commit: c1ac2cfac7f160107041758f458aaf1087f5cac2
https://github.com/llvm/llvm-project/commit/c1ac2cfac7f160107041758f458aaf1087f5cac2
Author: Oleksandr "Alex" Zinenko <zinenko at google.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M mlir/docs/Dialects/Affine.md
Log Message:
-----------
Use a markdown list in Affine dialect docs
Commit: 9a5fb74fd162da70609fe5f81864d01cdc776df1
https://github.com/llvm/llvm-project/commit/9a5fb74fd162da70609fe5f81864d01cdc776df1
Author: Artem Tyurin <artem.tyurin at gmail.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M mlir/lib/Dialect/SPIRV/IR/SPIRVDialect.cpp
M mlir/test/Dialect/SPIRV/Transforms/inlining.mlir
Log Message:
-----------
[mlir][spirv] Handle a missing case when inlining spirv.ReturnValue (#80733)
Fixes https://github.com/llvm/llvm-project/issues/73285.
Commit: d193ac4f7180d8242c25d941cf3ff8a150538af6
https://github.com/llvm/llvm-project/commit/d193ac4f7180d8242c25d941cf3ff8a150538af6
Author: Han-Chung Wang <hanhan0912 at gmail.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
M mlir/test/Dialect/Vector/vector-transfer-collapse-inner-most-dims.mlir
Log Message:
-----------
[mlir][vector] Drop inner unit dims for xWrite on dynamic shapes. (#80725)
This is part of
https://github.com/llvm/llvm-project/commit/66347e516e22f9159b86024071fb92f364ac4418
The regression in downstream projects is about transfer_read patterns,
which needs more investigation. Add the support for transfer_write for
now.
Commit: 942cb2427a0e19f63b2f5b7da3d3fa6a594df3fe
https://github.com/llvm/llvm-project/commit/942cb2427a0e19f63b2f5b7da3d3fa6a594df3fe
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/include/llvm/Target/TargetMachine.h
M llvm/lib/Passes/CodeGenPassBuilder.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/unittests/MIR/PassBuilderCallbacksTest.cpp
Log Message:
-----------
[CodeGen][NewPM] Consolidate PASS_NAME and CONSTRUCTOR in MachinePassRegistry.def (#80779)
This matches the optimization pipeline's PassRegistry.def.
I ran into a bug where CONSTRUCTOR wasn't always being used (in
PassBuilder::registerMachineFunctionAnalyses()).
Make DUMMY_* just accept a pass name, there's no point in having proper
constructors if the generated dummy class has a templated constructor
accepting arbitrary arguments.
Remove unused getPassNameFromLegacyName() as it was using this but for
no purpose.
Remove DUMMY_MACHINE_FUNCTION_ANALYSIS, we can just add those as we port
them.
This for some reason exposed missing mock calls in existing unittests.
Commit: 617602d4f23e89e56afd0f550bcf72deb83ed0cb
https://github.com/llvm/llvm-project/commit/617602d4f23e89e56afd0f550bcf72deb83ed0cb
Author: sstwcw <su3e8a96kzlver at posteo.net>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M clang/lib/Format/ContinuationIndenter.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Handle generic selections inside parentheses (#79785)
new
```C
while (_Generic(x, //
long: x)(x) > x) {
}
while (_Generic(x, //
long: x)(x)) {
}
```
old
```C
while (_Generic(x, //
long: x)(x) > x) {
}
while (_Generic(x, //
long: x)(x)) {
}
```
In the first case above, the second line previously aligned to the open
parenthesis. The 4 spaces did not get added by the fallback line near
the end of getNewLineColumn because there was already some indentaton.
Now the spaces get added explicitly.
In the second case above, without the fake parentheses, the second line
did not respect the outer parentheses, because the LastSpace field did
not get set without the fake parentheses. Now the indentation of the
outer level is used instead.
Commit: 1442b0e65370b603dcd4c7cfc300f19937c3bc79
https://github.com/llvm/llvm-project/commit/1442b0e65370b603dcd4c7cfc300f19937c3bc79
Author: Jason Eckhardt <jeckhardt at nvidia.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M llvm/utils/TableGen/DecoderEmitter.cpp
Log Message:
-----------
[TableGen] Remove redundant buffer copies for ULEB128 decode calls. (#80199)
This patch removes a couple of redundant buffer copies in emitTable for
setting up calls to decodeULEB128. Instead, provide the Table.data
buffer directly to the calls-- where decodeULEB128 does its own buffer
overflow checking.
Factor out 7 explicit loops to emit ULEB128 bytes into emitULEB128. Also
factor out 4 copies of 24-bit numtoskip emission into emitNumToSkip.
The functionality is already covered by existing unit tests and by
virtue of most of the in-tree back-ends exercising the decoder emitter.
Commit: fa70b5d1309f15244cb5528d545d42865cbf8e18
https://github.com/llvm/llvm-project/commit/fa70b5d1309f15244cb5528d545d42865cbf8e18
Author: Yuxuan Chen <yuxuanchen1997 at outlook.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
Log Message:
-----------
[Coroutines][NFC] Refactor CoroSplit for Switch Resume ABI (#80758)
Commit: 397e91f0f387bf2db0cc320a9078a60d2334545e
https://github.com/llvm/llvm-project/commit/397e91f0f387bf2db0cc320a9078a60d2334545e
Author: Enna1 <xumingjie.enna1 at bytedance.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M compiler-rt/lib/memprof/memprof_mapping.h
Log Message:
-----------
[MemProf][NFC] Compute SHADOW_ENTRY_SIZE from MEM_GRANULARITY and SHA… (#80589)
…DOW_SCALE
As MEM_GRANULARITY represents the size of memory block mapped to a
single shadow entry, and SHADOW_SCALE represents the scale of shadow
mapping, so the single shadow entry size can be computed as
(MEM_GRANULARITY >> SHADOW_SCALE).
This patch replaces the hardcoded SHADOW_ENTRY_SIZE with
(MEM_GRANULARITY >> SHADOW_SCALE).
Commit: 0716d31649c44dd622cca6632b0c46a8dcafaa2d
https://github.com/llvm/llvm-project/commit/0716d31649c44dd622cca6632b0c46a8dcafaa2d
Author: Yeting Kuo <46629943+yetingk at users.noreply.github.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/RISCV/RISCVFoldMasks.cpp
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
Log Message:
-----------
[RISCV][NFC] Use maybe_unused instead of casting to void to fix unused variable warning. (#80651)
Commit: d53043fa8b2223a1c985e4c74794aa248b4c9e6b
https://github.com/llvm/llvm-project/commit/d53043fa8b2223a1c985e4c74794aa248b4c9e6b
Author: Adrian Kuegel <akuegel at google.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][Bazel] Adjust BUILD.bazel according to 0d091206dd656c2a9d31d6088a4aa6f9c2cc7156
Commit: 7d055af14b7dd7e782b87fb883205eda65e8bd44
https://github.com/llvm/llvm-project/commit/7d055af14b7dd7e782b87fb883205eda65e8bd44
Author: Joshua Cao <cao.joshua at yahoo.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M mlir/include/mlir/IR/SymbolInterfaces.td
M mlir/test/Dialect/LLVMIR/global.mlir
M mlir/test/Dialect/Linalg/transform-op-replace.mlir
M mlir/test/Dialect/Transform/ops-invalid.mlir
M mlir/test/IR/invalid-func-op.mlir
M mlir/test/IR/region.mlir
M mlir/test/IR/traits.mlir
M mlir/test/Transforms/canonicalize-dce.mlir
M mlir/test/Transforms/canonicalize.mlir
M mlir/test/Transforms/constant-fold.mlir
M mlir/test/Transforms/cse.mlir
M mlir/test/Transforms/test-legalizer-full.mlir
M mlir/test/python/ir/value.py
Log Message:
-----------
[mlir][Symbol] Add verification that symbol's parent is a SymbolTable (#80590)
Following the discussion in
https://discourse.llvm.org/t/symboltable-and-symbol-parent-child-relationship/75446,
we should enforce that a symbol's immediate parent is a symbol table.
I changed some tests to pass the verification. In most cases, we can
wrap the func with a module, change the func to another op with regions
i.e. scf.if, or change the expected error message.
---------
Co-authored-by: Mehdi Amini <joker.eph at gmail.com>
Commit: 47a12cca442cb52c33fc592183998f3b7bdd5094
https://github.com/llvm/llvm-project/commit/47a12cca442cb52c33fc592183998f3b7bdd5094
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
Log Message:
-----------
CoverageMapping.cpp: s/MaxBitmapID/MaxBitmapIdx/ in getMaxBitmapSize()
Commit: 03881dc0a7695f4c499cc07042b8c59ad7b7335a
https://github.com/llvm/llvm-project/commit/03881dc0a7695f4c499cc07042b8c59ad7b7335a
Author: Marius Brehler <marius.brehler at iml.fraunhofer.de>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
M mlir/lib/Target/Cpp/TranslateToCpp.cpp
M mlir/test/Dialect/EmitC/invalid_ops.mlir
M mlir/test/Dialect/EmitC/ops.mlir
A mlir/test/Target/Cpp/declare_func.mlir
Log Message:
-----------
[mlir][emitc] Add a `declare_func` operation (#80297)
This adds the `emitc.declare_func` operation that allows to emit the
declaration of an `emitc.func` at a specific location.
Commit: 38476b063f164995b85e47472e3c2e0a9c5f9075
https://github.com/llvm/llvm-project/commit/38476b063f164995b85e47472e3c2e0a9c5f9075
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
A llvm/utils/count_running_jobs.py
Log Message:
-----------
[Github] Add script to count running jobs (#80250)
This patch adds a script to automatically query the number of running
jobs and print them to the terminal as this functionality isn't
available through the Github UI (unless you are a Github administrator).
Commit: 0b62218110f0945c6957e549f9fc1a2f2f87a604
https://github.com/llvm/llvm-project/commit/0b62218110f0945c6957e549f9fc1a2f2f87a604
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
Log Message:
-----------
Anonymize `MCDCRecordProcessor`
Commit: 933247d9d6a2aee66de49e84077ce116630e76cd
https://github.com/llvm/llvm-project/commit/933247d9d6a2aee66de49e84077ce116630e76cd
Author: Anton Sidorenko <anton.sidorenko at syntacore.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M llvm/include/llvm/Transforms/Utils/SimplifyLibCalls.h
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
M llvm/test/Transforms/InstCombine/sqrt.ll
Log Message:
-----------
[SimplifyLibCalls] Merge sqrt into the power of exp (#79146)
Under fast-math flags it's possible to convert `sqrt(exp(X)) `into
`exp(X * 0.5)`. I suppose that this transformation is always profitable.
This is similar to the optimization existing in GCC.
Commit: 984dd15d4da33337b2800d4776aa8ecc168b145e
https://github.com/llvm/llvm-project/commit/984dd15d4da33337b2800d4776aa8ecc168b145e
Author: j-jorge <j-jorge at users.noreply.github.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M clang/docs/ClangFormatStyleOptions.rst
M clang/include/clang/Format/Format.h
M clang/include/clang/Tooling/Inclusions/IncludeStyle.h
M clang/lib/Format/Format.cpp
M clang/lib/Tooling/Inclusions/HeaderIncludes.cpp
M clang/lib/Tooling/Inclusions/IncludeStyle.cpp
M clang/unittests/Format/SortIncludesTest.cpp
Log Message:
-----------
[clang-format] Add MainIncludeChar option. (#78752)
Resolves #27008, #39735, #53013, #63619.
Hello, this PR adds the MainIncludeChar option to clang-format, allowing
to select which include syntax must be considered when searching for the
main header: quotes (`#include "foo.hpp"`, the default), brackets
(`#include <foo.hpp>`), or both.
The lack of support for brackets has been reported many times, see the
linked issues, so I am pretty sure there is a need for it :)
A short note about why I did not implement a regex approach as discussed
in #53013: while a regex would have allowed many extra ways to describe
the main header, the bug descriptions listed above suggest a very simple
need: support brackets for the main header. This PR answers this needs
in a quite simple way, with a very simple style option. IMHO the feature
space covered by the regex (again, for which there is no demand :)) can
be implemented latter, in addition to the proposed option.
The PR also includes tests for the option with and without grouped
includes.
Commit: edfc21a5759e9f5f5025885da9b0b879204aff22
https://github.com/llvm/llvm-project/commit/edfc21a5759e9f5f5025885da9b0b879204aff22
Author: vigbalu <70995650+vigbalu at users.noreply.github.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M openmp/runtime/src/include/omp-tools.h.var
Log Message:
-----------
[OMPD] Runtime Entry Point functions for OMPD in libomp.so need C linkage as per standard. (#79246)
Adding extern "C" to all the entry point functions to make sure that
these functions are not mangled.
Commit: 42b5b720caf62e0710b9c1e32e894d8606106a19
https://github.com/llvm/llvm-project/commit/42b5b720caf62e0710b9c1e32e894d8606106a19
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.trig.preop.ll
Log Message:
-----------
AMDGPU/GlobalISel: Fix not running -global-isel in global isel test
Commit: 0473e322f67228a9c2dbf462357e5b4a2b3799be
https://github.com/llvm/llvm-project/commit/0473e322f67228a9c2dbf462357e5b4a2b3799be
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M mlir/lib/Dialect/ArmSME/Transforms/VectorLegalization.cpp
M mlir/test/Dialect/ArmSME/vector-legalization.mlir
Log Message:
-----------
[mlir][ArmSME] Add rewrite to lift illegal vector.transposes to memory (#80170)
When unrolling the reduction dimension of something like a matmul for
SME, you can end up with transposed reads of illegal types, like so:
```mlir
%illegalRead = vector.transfer_read %memref[%a, %b]
: memref<?x?xf32>, vector<[8]x4xf32>
%legalType = vector.transpose %illegalRead, [1, 0]
: vector<[8]x4xf32> to vector<4x[8]xf32>
```
Here the `vector<[8]x4xf32>` is an illegal type, there's no way to lower
a scalable vector of fixed vectors. However, as the final type
`vector<4x[8]xf32>` is legal, we can instead lift the transpose to
memory (producing a strided memref), and eliminate all the illegal
types. This is shown below.
```mlir
%readSubview = memref.subview %memref[%a, %b] [%c8_vscale, %c4] [%c1, %c1]
: memref<?x?xf32> to memref<?x?xf32>
%transpose = memref.transpose %readSubview (d0, d1) -> (d1, d0)
: memref<?x?xf32> to memref<?x?xf32>
%legalType = vector.transfer_read %transpose[%c0, %c0]
: memref<?x?xf32>, vector<4x[8]xf32>
```
Commit: 3eb1e6d8e930f5aff17b8d6bcc160f5bbf8cabc7
https://github.com/llvm/llvm-project/commit/3eb1e6d8e930f5aff17b8d6bcc160f5bbf8cabc7
Author: michaelrj-google <71531609+michaelrj-google at users.noreply.github.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M libc/src/errno/libc_errno.cpp
M libc/src/errno/libc_errno.h
M libc/test/IntegrationTest/test.h
M libc/test/UnitTest/ErrnoSetterMatcher.h
M libc/test/UnitTest/FPMatcher.h
M libc/test/UnitTest/FuchsiaTest.h
M libc/test/UnitTest/LibcTest.h
M libc/test/integration/src/pthread/pthread_create_test.cpp
M libc/test/integration/src/pthread/pthread_join_test.cpp
M libc/test/integration/src/unistd/getcwd_test.cpp
M libc/test/src/__support/str_to_double_test.cpp
M libc/test/src/__support/str_to_float_test.cpp
M libc/test/src/__support/str_to_fp_test.h
M libc/test/src/dirent/dirent_test.cpp
M libc/test/src/errno/errno_test.cpp
M libc/test/src/math/RoundToIntegerTest.h
M libc/test/src/math/acosf_test.cpp
M libc/test/src/math/acoshf_test.cpp
M libc/test/src/math/asinf_test.cpp
M libc/test/src/math/asinhf_test.cpp
M libc/test/src/math/atanf_test.cpp
M libc/test/src/math/atanhf_test.cpp
M libc/test/src/math/cosf_test.cpp
M libc/test/src/math/coshf_test.cpp
M libc/test/src/math/exp10_test.cpp
M libc/test/src/math/exp10f_test.cpp
M libc/test/src/math/exp2_test.cpp
M libc/test/src/math/exp2f_test.cpp
M libc/test/src/math/exp_test.cpp
M libc/test/src/math/expf_test.cpp
M libc/test/src/math/expm1_test.cpp
M libc/test/src/math/expm1f_test.cpp
M libc/test/src/math/log10_test.cpp
M libc/test/src/math/log1p_test.cpp
M libc/test/src/math/log1pf_test.cpp
M libc/test/src/math/log2_test.cpp
M libc/test/src/math/log2f_test.cpp
M libc/test/src/math/log_test.cpp
M libc/test/src/math/powf_test.cpp
M libc/test/src/math/sincosf_test.cpp
M libc/test/src/math/sinf_test.cpp
M libc/test/src/math/sinhf_test.cpp
M libc/test/src/math/smoke/RoundToIntegerTest.h
M libc/test/src/math/smoke/acosf_test.cpp
M libc/test/src/math/smoke/acoshf_test.cpp
M libc/test/src/math/smoke/asinf_test.cpp
M libc/test/src/math/smoke/asinhf_test.cpp
M libc/test/src/math/smoke/atanf_test.cpp
M libc/test/src/math/smoke/atanhf_test.cpp
M libc/test/src/math/smoke/cosf_test.cpp
M libc/test/src/math/smoke/coshf_test.cpp
M libc/test/src/math/smoke/exp10f_test.cpp
M libc/test/src/math/smoke/exp2f_test.cpp
M libc/test/src/math/smoke/expf_test.cpp
M libc/test/src/math/smoke/expm1f_test.cpp
M libc/test/src/math/smoke/sincosf_test.cpp
M libc/test/src/math/smoke/sinf_test.cpp
M libc/test/src/math/smoke/sinhf_test.cpp
M libc/test/src/math/smoke/tanf_test.cpp
M libc/test/src/math/smoke/tanhf_test.cpp
M libc/test/src/math/tanf_test.cpp
M libc/test/src/math/tanhf_test.cpp
M libc/test/src/sched/affinity_test.cpp
M libc/test/src/sched/cpu_count_test.cpp
M libc/test/src/sched/get_priority_test.cpp
M libc/test/src/sched/param_and_scheduler_test.cpp
M libc/test/src/sched/sched_rr_get_interval_test.cpp
M libc/test/src/sched/yield_test.cpp
M libc/test/src/signal/sigaltstack_test.cpp
M libc/test/src/signal/signal_test.cpp
M libc/test/src/signal/sigprocmask_test.cpp
M libc/test/src/stdio/fgetc_test.cpp
M libc/test/src/stdio/fgetc_unlocked_test.cpp
M libc/test/src/stdio/fgets_test.cpp
M libc/test/src/stdio/fileop_test.cpp
M libc/test/src/stdio/fopencookie_test.cpp
M libc/test/src/stdio/remove_test.cpp
M libc/test/src/stdio/setvbuf_test.cpp
M libc/test/src/stdio/unlocked_fileop_test.cpp
M libc/test/src/stdlib/StrtolTest.h
M libc/test/src/stdlib/atof_test.cpp
M libc/test/src/stdlib/strtod_test.cpp
M libc/test/src/stdlib/strtof_test.cpp
M libc/test/src/stdlib/strtoint32_test.cpp
M libc/test/src/stdlib/strtoint64_test.cpp
M libc/test/src/stdlib/strtold_test.cpp
M libc/test/src/string/strdup_test.cpp
M libc/test/src/sys/mman/linux/madvise_test.cpp
M libc/test/src/sys/mman/linux/mincore_test.cpp
M libc/test/src/sys/mman/linux/mlock_test.cpp
M libc/test/src/sys/mman/linux/mmap_test.cpp
M libc/test/src/sys/mman/linux/mprotect_test.cpp
M libc/test/src/sys/mman/linux/posix_madvise_test.cpp
M libc/test/src/sys/prctl/linux/prctl_test.cpp
M libc/test/src/sys/random/linux/getrandom_test.cpp
M libc/test/src/sys/resource/getrlimit_setrlimit_test.cpp
M libc/test/src/sys/select/select_ui_test.cpp
M libc/test/src/sys/sendfile/sendfile_test.cpp
M libc/test/src/sys/stat/chmod_test.cpp
M libc/test/src/sys/stat/fchmod_test.cpp
M libc/test/src/sys/stat/fchmodat_test.cpp
M libc/test/src/sys/stat/fstat_test.cpp
M libc/test/src/sys/stat/lstat_test.cpp
M libc/test/src/sys/stat/stat_test.cpp
M libc/test/src/termios/termios_test.cpp
M libc/test/src/time/gmtime_test.cpp
M libc/test/src/time/nanosleep_test.cpp
M libc/test/src/unistd/access_test.cpp
M libc/test/src/unistd/chdir_test.cpp
M libc/test/src/unistd/dup2_test.cpp
M libc/test/src/unistd/dup3_test.cpp
M libc/test/src/unistd/dup_test.cpp
M libc/test/src/unistd/fchdir_test.cpp
M libc/test/src/unistd/ftruncate_test.cpp
M libc/test/src/unistd/isatty_test.cpp
M libc/test/src/unistd/link_test.cpp
M libc/test/src/unistd/linkat_test.cpp
M libc/test/src/unistd/readlink_test.cpp
M libc/test/src/unistd/readlinkat_test.cpp
M libc/test/src/unistd/symlink_test.cpp
M libc/test/src/unistd/symlinkat_test.cpp
M libc/test/src/unistd/syscall_test.cpp
M libc/test/src/unistd/truncate_test.cpp
Log Message:
-----------
[libc] Move libc_errno inside of LIBC_NAMESPACE (#80774)
Having libc_errno outside of the namespace causes versioning issues when
trying to link the tests against LLVM-libc. Most of this patch is just
moving libc_errno inside the namespace in tests. This isn't necessary in
the function implementations since those are already inside the
namespace.
Commit: 6ec926df739b0f0ac0d970b0181d62ad6e564784
https://github.com/llvm/llvm-project/commit/6ec926df739b0f0ac0d970b0181d62ad6e564784
Author: wangpc <wangpengcheng.pp at bytedance.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M llvm/docs/CommandGuide/llvm-mca.rst
Log Message:
-----------
[llvm-mca] Fix doc error
Commit: 168002ece26269a4a6fcfce96ac8e66f6414c9e7
https://github.com/llvm/llvm-project/commit/168002ece26269a4a6fcfce96ac8e66f6414c9e7
Author: Nilanjana Basu <n_basu at apple.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M llvm/test/Transforms/LoopDistribute/basic-with-memchecks.ll
Log Message:
-----------
[Tests][LoopDistribute] Fixes failing unit test (#80809)
Removed target-triple in target-independent test case to fix failing test caused by https://github.com/llvm/llvm-project/pull/67725.
Commit: c9fd738388810aeaac99454989a150eb29f08521
https://github.com/llvm/llvm-project/commit/c9fd738388810aeaac99454989a150eb29f08521
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
A llvm/include/llvm/CodeGen/DeadMachineInstructionElim.h
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/CodeGen/DeadMachineInstructionElim.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/test/CodeGen/AArch64/elim-dead-mi.mir
Log Message:
-----------
[CodeGen] Port DeadMachineInstructionElim to new pass manager (#80582)
A simple enough op pass so we can test standard instrumentations in
future.
Commit: c6b5ea339d9f257b64f4ca468e447f0e29a909a4
https://github.com/llvm/llvm-project/commit/c6b5ea339d9f257b64f4ca468e447f0e29a909a4
Author: AtariDreams <83477269+AtariDreams at users.noreply.github.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M llvm/include/llvm/Transforms/Utils/SimplifyLibCalls.h
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
R llvm/test/Transforms/InstCombine/tan-nofastmath.ll
R llvm/test/Transforms/InstCombine/tan.ll
A llvm/test/Transforms/InstCombine/trig.ll
Log Message:
-----------
[Transforms] Expand optimizeTan to fold more inverse trig pairs (#77799)
optimizeTan has been renamed to optimizeTrigInversionPairs as a result.
Sadly, this is not mathematically true that all inverse pairs fold to x.
For example, asin(sin(x)) does not fold to x if x is over 2pi.
Commit: 35904ec4e1fca8d26c37a7f6aafd6c32f0ef9b09
https://github.com/llvm/llvm-project/commit/35904ec4e1fca8d26c37a7f6aafd6c32f0ef9b09
Author: Sjoerd Meijer <smeijer at nvidia.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/test/CodeGen/AArch64/arm64-ldp-cluster.ll
Log Message:
-----------
[AArch64] MI Scheduler STP combine (#80188)
Add opcodes for different store instructions to the target hook that can
enable more STP pairs. This is split off from the patch that does the
same for some load instructions (#79003).
Patch co-authored by Cameron McInally.
Commit: 2f7d9abf7c2ba1e697d46ffca0bf2f5a2bf8ba0c
https://github.com/llvm/llvm-project/commit/2f7d9abf7c2ba1e697d46ffca0bf2f5a2bf8ba0c
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/ArmSME/IR/ArmSMEOps.td
Log Message:
-----------
[mlir][ArmSME][nfc] Fix broken doc links to fmopa_2way op
Commit: bc569f6eb3848361ae637de0a873e1c442958a71
https://github.com/llvm/llvm-project/commit/bc569f6eb3848361ae637de0a873e1c442958a71
Author: Luke Lau <luke at igalia.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll
Log Message:
-----------
[RISCV] Add test case for shufflevector that gets scalarized. NFC
This shufflevector gets scalarized into a build_vector of extract_vector_elts
because the output type doesn't match the input vector type.
Normally this is combined back into a vector_shuffle in DAGCombine, but this
one fails because we don't consider a extract_subvector to be cheap,
specifically because it's at an index > 31.
This should be canonicalized back into a vector_shuffle at some point so we can
lower it as a vrgather.vv.
Commit: 726cf604569d893d3bcb2c50d7905a95db92ddfd
https://github.com/llvm/llvm-project/commit/726cf604569d893d3bcb2c50d7905a95db92ddfd
Author: wangpc <wangpengcheng.pp at bytedance.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M llvm/docs/CommandGuide/llvm-mca.rst
Log Message:
-----------
[llvm-mca] Add an empty line to fix doc error
Commit: 292d9e869fcfc2ece694848db4022b0b939847e3
https://github.com/llvm/llvm-project/commit/292d9e869fcfc2ece694848db4022b0b939847e3
Author: Qiu Chaofan <qiucofan at cn.ibm.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
A llvm/test/CodeGen/PowerPC/pr59074.ll
Log Message:
-----------
[PowerPC] Mask constant operands in ValueBit tracking (#67653)
In IR or C code, shift amount larger than value size is undefined
behavior. But in practice, backend lowering for shift_parts produces
add/sub of shift amounts, thus constant shift amounts might be
negative or larger than value size, which depends on ISA definition.
PowerPC ISA says, the lowest 7 bits (6 bits for 32-bit instruction)
will be taken, and if the highest among them is 1, result will be
zero, otherwise the low 6 bits (or 5 on 32-bit) are used as shift
amount.
This commit emulates the behavior and avoids array overflow in bit
permutation's value bits calculator.
Commit: 6dfb31adf6ca17d05c3832f1e43252a4c0c9f2af
https://github.com/llvm/llvm-project/commit/6dfb31adf6ca17d05c3832f1e43252a4c0c9f2af
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M clang/test/AST/Interp/literals.cpp
Log Message:
-----------
[clang][Interp][NFC] Simplify test case
By checking using verify={ref,expected},both.
Commit: 3d186a77cf1aa979014a6443cb423a633c167d9f
https://github.com/llvm/llvm-project/commit/3d186a77cf1aa979014a6443cb423a633c167d9f
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M clang/include/clang/Basic/arm_sme.td
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_add-i32.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_add-i64.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_cnt.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_ld1.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_ld1_vnum.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_ldr.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_mopa-za32.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_mopa-za64.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_mops-za32.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_mops-za64.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_read.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_st1.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_st1_vnum.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_str.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_write.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_zero.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_add.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_bmop.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_clamp.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_cvt.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_cvtn.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_frint.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti2_lane_zt.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti2_lane_zt_x2.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti2_lane_zt_x4.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti4_lane_zt.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti4_lane_zt_x2.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti4_lane_zt_x4.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_max.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_maxnm.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_min.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_minnm.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mop.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_read.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_reinterpret_svcount_svbool.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_sub.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_unpkx2.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_unpkx4.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_add.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_qrshr.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_rshl.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_selx2.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_selx4.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_uzpx2.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_uzpx4.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_zipx2.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_zipx4.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_write.c
Log Message:
-----------
[Clang][AArch64] Fix some target guards and remove +sve from tests. (#80681)
The TargetGuard fields for 'svldr[_vnum]_za' and 'svstr[_vnum]_za' were
incorrectly set to `+sve` instead of `+sme`. This means that compiling
code that uses these intrinsics requires compiling for both `+sve` as
well as `+sme`.
This PR also fixes the target guards for the `svadd` and `svsub`
builtins that are enabled under `+sme2,+sme-i16i64` and
`+sme2,+sme-f64f64`, as it initially did the following:
```
let TargetGuard = "+sme2" in {
let TargetGuard = "+sme-i16i64" in {
// Builtins defined here will be predicated only by
// '+sme-i16i64', and not '+sme2,+sme-i16i64'.
}
}
```
This PR also removes `-target-feature +sve` from all the SME tests, to
ensure that the SME features are sufficient to build the tests.
Commit: c302909760d67a6d149fece3b79c90e47a25ba4d
https://github.com/llvm/llvm-project/commit/c302909760d67a6d149fece3b79c90e47a25ba4d
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/test/Transforms/SimplifyCFG/X86/sink-common-code.ll
Log Message:
-----------
[RemoveDIs] Fix DPValue hoisting in hoistSuccIdenticalTerminatorToSwitchOrIf (#80822)
Follow up to #79476 - that patch added a call to hoistLockstepIdenticalDPValues
which hoists identical DPValues in lockstep, matching dbg intrinsic hoisting
behaviour. The code deleted in this patch, which unconditionally hoists
DPValues, should have been deleted in that patch.
Update test with --try-experimental-debuginfo-iterators to check the behaviour.
Follow up to #79476 - that change introduces a call to
hoistLockstepIdenticalDPValues.
Commit: 7f292b8fb12aed094b8422aad9fcb7b2907c54c9
https://github.com/llvm/llvm-project/commit/7f292b8fb12aed094b8422aad9fcb7b2907c54c9
Author: Rin Dobrescu <irina.dobrescu at arm.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/avoid-pre-trunc.ll
A llvm/test/CodeGen/AArch64/concat-vector-add-combine.ll
Log Message:
-----------
[AArch64] Convert concat(uhadd(a,b), uhadd(c,d)) to uhadd(concat(a,c), concat(b,d)) (#80674)
We can convert concat(v4i16 uhadd(a,b), v4i16 uhadd(c,d)) to v8i16
uhadd(concat(a,c), concat(b,d)), which can lead to further
simplifications.
Commit: 8924a9ffcb3696288cca3334cd60a099d3fcda79
https://github.com/llvm/llvm-project/commit/8924a9ffcb3696288cca3334cd60a099d3fcda79
Author: Simon Camphausen <simon.camphausen at iml.fraunhofer.de>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M mlir/lib/Target/Cpp/TranslateToCpp.cpp
Log Message:
-----------
[mlir][EmitC] Remove unreachable code and fix Windows build warning (#80677)
Commit: de8ba2f60334dc44f6906a0722435db41564b421
https://github.com/llvm/llvm-project/commit/de8ba2f60334dc44f6906a0722435db41564b421
Author: Francesco Petrogalli <francesco.petrogalli at apple.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M llvm/include/llvm/CodeGen/ValueTypes.td
Log Message:
-----------
[CodeGen] Update comments for ValueType.td. [NFC] (#80670)
The enums needed by the file MachineValueType.h are auto-generated since commit
ddaf085e7bcb903d5ae1cafc4667b8c3d302897e
Commit: 82950a695ddbd92beb07bf58b48067a1f67d57e3
https://github.com/llvm/llvm-project/commit/82950a695ddbd92beb07bf58b48067a1f67d57e3
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/Interp.cpp
M clang/lib/AST/Interp/Interp.h
M clang/lib/AST/Interp/Pointer.h
M clang/test/Sema/fp-eval-pragma-with-float-double_t-1.c
M clang/test/Sema/fp-eval-pragma-with-float-double_t-2.c
M clang/test/Sema/fp-eval-pragma-with-float-double_t-3.c
Log Message:
-----------
[clang][Interp] Protect ArrayElemPtr ops from dummy pointers
Change the semantics of Pointer::isDummy() to check for a null
Pointee and returnd false in that case. Then call CheckDummy()
in ArrayElemPtr{,Pop} to protect those ops from operating on
dummy pointers and enable a few tests in test/Sema/ that now
work with the new constant interpreter.
Commit: ccc77f1194f894db8ec93131124a7a2848e3e079
https://github.com/llvm/llvm-project/commit/ccc77f1194f894db8ec93131124a7a2848e3e079
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/Interp.h
M clang/lib/AST/Interp/Pointer.h
Log Message:
-----------
[clang][Interp][NFC] Fix comment typos
Commit: cf94e0082e5e0a9be43a69d9fae588bc2aafab91
https://github.com/llvm/llvm-project/commit/cf94e0082e5e0a9be43a69d9fae588bc2aafab91
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Add missing dependency for 0473e322f67228a9c2dbf462357e5b4a2b3799be
Commit: b8cdc2638e4c067fd633b345aba75fee81c4054f
https://github.com/llvm/llvm-project/commit/b8cdc2638e4c067fd633b345aba75fee81c4054f
Author: Simon Pilgrim <RKSimon at users.noreply.github.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AMDGPU/ctpop64.ll
M llvm/test/CodeGen/X86/ctpop-mask.ll
Log Message:
-----------
[DAG] visitCTPOP - if only the upper half of the ctpop operand is zero then see if its profitable to only count the lower half. (#80473)
Commit: 29fa64f845df6b1ba3f562564ab97a07aa7077ee
https://github.com/llvm/llvm-project/commit/29fa64f845df6b1ba3f562564ab97a07aa7077ee
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M flang/lib/Lower/OpenMP.cpp
Log Message:
-----------
[flang][OpenMP][NFC] Outline `genOpWithBody` & `createBodyOfOp` args (#80817)
This PR outlines the arguments of the open CodeGen functions into 2
separate structs. This was, in part, motivated by the delayed
privatization WIP #79862 where we had to extend the signatures of both
functions containing quite a bit of default values (`nullptr`, `false`).
This PR does not add any new arguments yet though, just outlines the
existing ones.
Commit: 2e3de997ab7cd8728c484bc39e24fecbb97dfae8
https://github.com/llvm/llvm-project/commit/2e3de997ab7cd8728c484bc39e24fecbb97dfae8
Author: David Green <david.green at arm.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/test/CodeGen/AArch64/setcc_knownbits.ll
M llvm/test/CodeGen/WebAssembly/xor_reassociate.ll
M llvm/test/CodeGen/X86/lzcnt-cmp.ll
M llvm/test/CodeGen/X86/umul_fix_sat.ll
M llvm/test/CodeGen/X86/xor.ll
Log Message:
-----------
[DAG] Generalize setcc(setcc) fold to use known bits.
If we have a `SETCC (SETCC), 0, NE` and ZeroOrOneBooleanContent, we can remove
the outer setcc as it will produce the same value as the inner. This can be
generalized to anything where the top bits are known to be 0, as the value will
remain as 1 or 0.
Commit: a2e5287d5a499521aaf093f812cbedcbbc2a4bc8
https://github.com/llvm/llvm-project/commit/a2e5287d5a499521aaf093f812cbedcbbc2a4bc8
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M lld/test/COFF/def-export-cpp.s
M lld/test/COFF/def-export-stdcall.s
M lld/test/COFF/dllexport.s
M llvm/include/llvm/Object/COFFImportFile.h
M llvm/lib/Object/COFFImportFile.cpp
M llvm/test/tools/llvm-dlltool/coff-decorated.def
M llvm/test/tools/llvm-dlltool/coff-exports.def
M llvm/test/tools/llvm-dlltool/coff-noname.def
M llvm/test/tools/llvm-dlltool/no-leading-underscore.def
M llvm/test/tools/llvm-lib/arm64ec-implib.test
M llvm/test/tools/llvm-readobj/COFF/file-headers.test
M llvm/tools/llvm-readobj/COFFImportDumper.cpp
Log Message:
-----------
[llvm-readobj][Object][COFF] Print COFF import library symbol export name. (#78769)
getExportName implementation is based on lld-link. In its current form,
it's mostly about convenience, but it will be more useful for EXPORTAS
support, for which export name is not possible to deduce from other
printed properties.
Commit: a18e92d020b895b712175a3b13a3d021608115a7
https://github.com/llvm/llvm-project/commit/a18e92d020b895b712175a3b13a3d021608115a7
Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaExpr.cpp
M clang/test/Sema/warn-int-in-bool-context.c
Log Message:
-----------
[clang] Fix unexpected `-Wconstant-logical-operand` in C23 (#80724)
C23 has `bool`, but logical operators still return int. Check that
we're not in C to avoid false-positive -Wconstant-logical-operand.
Fixes https://github.com/llvm/llvm-project/issues/64356
Commit: e6866955f637634f439f7004a38be32b1c5185e2
https://github.com/llvm/llvm-project/commit/e6866955f637634f439f7004a38be32b1c5185e2
Author: Leandro Lupori <leandro.lupori at linaro.org>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M flang/lib/Semantics/resolve-directives.cpp
M flang/test/Semantics/OpenMP/copyprivate03.f90
Log Message:
-----------
[flang][OpenMP] Accept firstprivate vars in copyprivate (#80467)
This is patch 1 of 4, to add support for COPYPRIVATE.
Original PR: https://github.com/llvm/llvm-project/pull/73128
Commit: 48927e9592e8bb70f85ff6431c7bf514fe5d1c07
https://github.com/llvm/llvm-project/commit/48927e9592e8bb70f85ff6431c7bf514fe5d1c07
Author: Leandro Lupori <leandro.lupori at linaro.org>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M flang/lib/Lower/OpenMP.cpp
A flang/test/Lower/OpenMP/threadprivate-commonblock-use.f90
Log Message:
-----------
[flang][OpenMP] Fix privatization of threadprivate common block (#77821)
In some cases, when privatizing a threadprivate common block, the
original symbol will correspond to the common block, instead of
its threadprivate version. This can happen, for instance, with a
common block, declared in a separate module, used by a parent
procedure and privatized in its child procedure. In this case,
symbol lookup won't find a symbol in the parent procedure, but
only in the module where the common block was defined.
Fixes https://github.com/llvm/llvm-project/issues/65028
Commit: b06568fa623c746d40638137504d52e19911bf32
https://github.com/llvm/llvm-project/commit/b06568fa623c746d40638137504d52e19911bf32
Author: Kevin P. Neal <kevin.neal at sas.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M llvm/test/tools/llvm-reduce/remove-attributes-strictfp.ll
Log Message:
-----------
[FPEnv][llvm-reduce] Correct strictfp test.
Correct llvm-reduce strictfp test to follow the rules documented in the
LangRef:
https://llvm.org/docs/LangRef.html#constrained-floating-point-intrinsics
This test needed the strictfp attribute added to a function call.
Note that attributes of intrinsics cannot be changed in declarations,
but attributes can be changed in call sites. Thus the changes to the
declarations. And the constrained intrinsics have strictfp attributes
by default.
Test changes verified with D146845.
Commit: 026f3c1bbc1fbd9d7c25fc3a97b1c29d7ae7e2b5
https://github.com/llvm/llvm-project/commit/026f3c1bbc1fbd9d7c25fc3a97b1c29d7ae7e2b5
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M libc/src/__support/GPU/amdgpu/utils.h
M libc/src/math/gpu/vendor/amdgpu/platform.h
Log Message:
-----------
[libc] Remove CPU dependent AMDGPU instructions (#80707)
Summary:
Some recent changes allowed us to remove target level divergence one
these instructions. This patch removes the wavefront dependent
divergence for the ballot and thread ID functions, as well as the clock.
The changes to the "Vendor" library simply disables target specific
optimizations in the implementation. This should be removed in its
entirety when the LLVM `libm` is sufficiently implemented.
The remaining areas of divergence is only the RPC packet size and the
fixed frequency counter.
Commit: ddc493579fa1b7eed058c7ed8a5a6b5755a31953
https://github.com/llvm/llvm-project/commit/ddc493579fa1b7eed058c7ed8a5a6b5755a31953
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M llvm/include/llvm/IR/Instruction.h
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/IR/DebugProgramInstruction.cpp
M llvm/lib/IR/Instruction.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/LoopRotationUtils.cpp
M llvm/unittests/IR/BasicBlockDbgInfoTest.cpp
Log Message:
-----------
[DebugInfo][RemoveDIs] Don't allocate one DPMarker per instruction (#79345)
This is an optimisation patch that shouldn't have any functional effect.
There's no need for all instructions to have a DPMarker attached to them,
because not all instructions have adjacent DPValues (aka dbg.values).
This patch inserts the appropriate conditionals into functions like
BasicBlock::spliceDebugInfo to ensure we don't step on a null pointer when
there isn't a DPMarker allocated. Mostly, this is a case of calling
createMarker occasionally, which will create a marker on an instruction
if there isn't one there already.
Also folded into this is the use of adoptDbgValues, which is a natural
extension: if we have a sequence of instructions and debug records:
%foo = add i32 %0,...
# dbg_value { %foo, ...
# dbg_value { %bar, ...
%baz = add i32 %...
%qux = add i32 %...
and delete, for example, the %baz instruction, then the dbg_value records
would naturally be transferred onto the %qux instruction (they "fall down"
onto it). There's no point in creating and splicing DPMarkers in the case
shown when %qux doesn't have a DPMarker already, we can instead just change
the owner of %baz's DPMarker from %baz to %qux. This also avoids calling
setParent on every DPValue.
Update LoopRotationUtils: it was relying on each instruction having it's
own distinct end(), so that we could express ranges and lack-of-ranges.
That's no longer true though: so switch to storing the range of DPValues on
the next instruction when we want to consider it's range next time around
the loop (see the nearby comment).
Commit: 54c29e01c2bf6980bf999496e221f214e521d3ff
https://github.com/llvm/llvm-project/commit/54c29e01c2bf6980bf999496e221f214e521d3ff
Author: ostannard <oliver.stannard at arm.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/MC/AArch64/no-fp-errors.s
Log Message:
-----------
[AArch64] Set predicates for FP/SIMD InstAliases (#79033)
These are aliases for instructions which are are only available when the
fp-armv8 or neon features are enabled, so their predicates should be set
appropriately.
Commit: 26db3c3b72d3c915ad296a5a5313210bde8ce3e1
https://github.com/llvm/llvm-project/commit/26db3c3b72d3c915ad296a5a5313210bde8ce3e1
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/test/AST/Interp/cxx20.cpp
M clang/test/SemaCXX/cxx11-default-member-initializers.cpp
Log Message:
-----------
[clang][Interp] Handle discarding ConstantExprs
Assume no side-effects in the presence of a cashed result in the form
of an APValue. This is also what the current interpreter does.
Commit: 83eb8126dd0c7457d43f5e6bce8911a528f93af9
https://github.com/llvm/llvm-project/commit/83eb8126dd0c7457d43f5e6bce8911a528f93af9
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M libc/src/math/gpu/vendor/amdgpu/platform.h
Log Message:
-----------
[libc] Fix accidentally deleted braces after change
Summary:
Oops.
Commit: f89fe08d770d912bc1e7b9b52c1859a44abea69a
https://github.com/llvm/llvm-project/commit/f89fe08d770d912bc1e7b9b52c1859a44abea69a
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
M llvm/test/Transforms/LowerMatrixIntrinsics/dot-product-int.ll
Log Message:
-----------
[Matrix] Convert column-vector ops feeding dot product to row-vectors. (#72647)
Generalize the logic used to convert column-vector ops to row-vectors to
support converting chains of operations.
A potential next step is to further generalize this to convert
column-vector ops to row-vector ops in general, not just for operands of
dot products. Dot-product handling would then be driven by the general
conversion, rather than the other way around.
PR: https://github.com/llvm/llvm-project/pull/72647
Commit: ffd79b3312cea51c0787aad479ce285771470397
https://github.com/llvm/llvm-project/commit/ffd79b3312cea51c0787aad479ce285771470397
Author: Sergey Kachkov <109674256+skachkov-sc at users.noreply.github.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
M llvm/test/Transforms/LoopUnroll/AMDGPU/unroll-cost-addrspacecast.ll
A llvm/test/Transforms/LoopUnroll/RISCV/unroll-Os.ll
Log Message:
-----------
[LoopUnroll] Consider simplified operands while retrieving TTI instruction cost (#70929)
Get more precise cost of instruction after LoopUnroll considering that
some operands of it can be simplified, e.g. induction variable will be
replaced by constant after full unrolling.
Commit: 62c352e13c145b5606ace88ecbe9164ff011b5cf
https://github.com/llvm/llvm-project/commit/62c352e13c145b5606ace88ecbe9164ff011b5cf
Author: Zahira Ammarguellat <zahira.ammarguellat at intel.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticCommonKinds.td
M clang/include/clang/Basic/DiagnosticDocs.td
M clang/include/clang/Lex/Preprocessor.h
M clang/lib/Lex/PPDirectives.cpp
M clang/lib/Lex/PPExpressions.cpp
M clang/test/Sema/warn-infinity-nan-disabled-lnx.cpp
M clang/test/Sema/warn-infinity-nan-disabled-win.cpp
Log Message:
-----------
[CLANG] Fix INF/NAN warning. (#80290)
In https://github.com/llvm/llvm-project/pull/76873 a warning was added
when the macros INFINITY and NAN are used in binary expressions when
-menable-no-nans or -menable-no-infs are used. If the user uses an
option that nullifies these two options, the warning will still be
generated. This patch adds an additional information to the warning
comment to let the user know about this. It also suppresses the warning
when #ifdef INFINITY, #ifdef NAN, #ifdef NAN or #ifndef NAN are used in
the code.
Commit: d5a3de4aeef4f4f1c52692533ddb9fdf45aef9d3
https://github.com/llvm/llvm-project/commit/d5a3de4aeef4f4f1c52692533ddb9fdf45aef9d3
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/llvm-libc-macros/stdbit-macros.h
M libc/spec/stdc.td
M libc/src/stdbit/CMakeLists.txt
A libc/src/stdbit/stdc_trailing_zeros_uc.cpp
A libc/src/stdbit/stdc_trailing_zeros_uc.h
A libc/src/stdbit/stdc_trailing_zeros_ui.cpp
A libc/src/stdbit/stdc_trailing_zeros_ui.h
A libc/src/stdbit/stdc_trailing_zeros_ul.cpp
A libc/src/stdbit/stdc_trailing_zeros_ul.h
A libc/src/stdbit/stdc_trailing_zeros_ull.cpp
A libc/src/stdbit/stdc_trailing_zeros_ull.h
A libc/src/stdbit/stdc_trailing_zeros_us.cpp
A libc/src/stdbit/stdc_trailing_zeros_us.h
M libc/test/include/stdbit_test.cpp
M libc/test/src/stdbit/CMakeLists.txt
A libc/test/src/stdbit/stdc_trailing_zeros_uc_test.cpp
A libc/test/src/stdbit/stdc_trailing_zeros_ui_test.cpp
A libc/test/src/stdbit/stdc_trailing_zeros_ul_test.cpp
A libc/test/src/stdbit/stdc_trailing_zeros_ull_test.cpp
A libc/test/src/stdbit/stdc_trailing_zeros_us_test.cpp
Log Message:
-----------
[libc][stdbit] implement stdc_trailing_zeros (C23) (#80344)
Commit: ca1da36aec963c5504ae7ae2e834b37856c476db
https://github.com/llvm/llvm-project/commit/ca1da36aec963c5504ae7ae2e834b37856c476db
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M libc/include/CMakeLists.txt
M libc/include/inttypes.h.def
M libc/include/llvm-libc-macros/CMakeLists.txt
A libc/include/llvm-libc-macros/inttypes-macros.h
M libc/test/src/stdio/CMakeLists.txt
M libc/test/src/stdio/sprintf_test.cpp
Log Message:
-----------
[libc] add inttypes macros (#80726)
Standard file:
https://pubs.opengroup.org/onlinepubs/9699919799.2018edition/
Notice that we are not quite the same as other implementations:
1. MUSL: https://github.com/bminor/musl/blob/master/include/inttypes.h
2. GLIBC:
https://github.com/bminor/glibc/blob/bbd248ac0d75efdef8fe61ea69b1fb25fb95b6e7/stdlib/inttypes.h#L57
3. CheriBSD:
https://github.com/CTSRD-CHERI/cheribsd/blob/698d1636dd1fe2322e5bc7029e415928c80b76b1/sys/arm64/include/_inttypes.h
fixes #80186
Commit: 364f781344e11d6a781ebdd0a4d9689bc9c51cfb
https://github.com/llvm/llvm-project/commit/364f781344e11d6a781ebdd0a4d9689bc9c51cfb
Author: Thorsten Schütt <schuett at gmail.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/include/llvm/CodeGen/GlobalISel/GenericMachineInstrs.h
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
A llvm/test/CodeGen/AArch64/GlobalISel/combine-logic-of-compare.mir
M llvm/test/CodeGen/AArch64/arm64-ccmp.ll
M llvm/test/CodeGen/AMDGPU/llvm.is.fpclass.f16.ll
Log Message:
-----------
[GlobalIsel] Combine logic of icmps (#77855)
Inspired by InstCombinerImpl::foldAndOrOfICmpsUsingRanges with some
adaptations to MIR.
Commit: b1acb7a315e903ee340a33dbc9b2b61b0450bb67
https://github.com/llvm/llvm-project/commit/b1acb7a315e903ee340a33dbc9b2b61b0450bb67
Author: stephenpeckham <118857872+stephenpeckham at users.noreply.github.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M llvm/include/llvm/BinaryFormat/XCOFF.h
M llvm/include/llvm/MC/MCAssembler.h
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/XCOFFObjectWriter.cpp
M llvm/test/CodeGen/PowerPC/aix-alias-alignment-2.ll
M llvm/test/CodeGen/PowerPC/aix-alias-alignment.ll
M llvm/test/CodeGen/PowerPC/aix-available-externally-linkage-fun.ll
M llvm/test/CodeGen/PowerPC/aix-extern-weak.ll
M llvm/test/CodeGen/PowerPC/aix-extern.ll
M llvm/test/CodeGen/PowerPC/aix-filename-c.ll
M llvm/test/CodeGen/PowerPC/aix-filename-cpp.ll
M llvm/test/CodeGen/PowerPC/aix-filename-f.ll
M llvm/test/CodeGen/PowerPC/aix-func-dsc-gen.ll
M llvm/test/CodeGen/PowerPC/aix-llvm-intrinsic.ll
M llvm/test/CodeGen/PowerPC/aix-overflow-toc.py
M llvm/test/CodeGen/PowerPC/aix-relro-section.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-exec-tls-largeaccess.ll
M llvm/test/CodeGen/PowerPC/aix-tls-ie-xcoff-reloc.ll
M llvm/test/CodeGen/PowerPC/aix-tls-le-xcoff-reloc-large.ll
M llvm/test/CodeGen/PowerPC/aix-tls-le-xcoff-reloc-large32.ll
M llvm/test/CodeGen/PowerPC/aix-tls-le-xcoff-reloc.ll
M llvm/test/CodeGen/PowerPC/aix-tls-le-xcoff-reloc32.ll
M llvm/test/CodeGen/PowerPC/aix-tls-xcoff-reloc-large.ll
M llvm/test/CodeGen/PowerPC/aix-tls-xcoff-reloc.ll
M llvm/test/CodeGen/PowerPC/aix-tls-xcoff-variables.ll
M llvm/test/CodeGen/PowerPC/aix-user-defined-memcpy.ll
M llvm/test/CodeGen/PowerPC/aix-weak.ll
M llvm/test/CodeGen/PowerPC/aix-xcoff-cold.ll
M llvm/test/CodeGen/PowerPC/aix-xcoff-data-sections.ll
M llvm/test/CodeGen/PowerPC/aix-xcoff-data.ll
M llvm/test/CodeGen/PowerPC/aix-xcoff-exception-section-debug.ll
M llvm/test/CodeGen/PowerPC/aix-xcoff-exception-section.ll
M llvm/test/CodeGen/PowerPC/aix-xcoff-explicit-section.ll
M llvm/test/CodeGen/PowerPC/aix-xcoff-funcsect.ll
M llvm/test/CodeGen/PowerPC/aix-xcoff-lcomm.ll
M llvm/test/CodeGen/PowerPC/aix-xcoff-reloc-large.ll
M llvm/test/CodeGen/PowerPC/aix-xcoff-reloc.ll
M llvm/test/CodeGen/PowerPC/aix-xcoff-rodata.ll
M llvm/test/CodeGen/PowerPC/aix-xcoff-symbol-rename.ll
M llvm/test/CodeGen/PowerPC/basic-toc-data-def.ll
M llvm/test/CodeGen/PowerPC/basic-toc-data-extern.ll
M llvm/test/CodeGen/PowerPC/builtins-ppc-xlcompat-trap-annotations-td.ll
M llvm/test/CodeGen/PowerPC/builtins-ppc-xlcompat-trap-annotations-tw.ll
M llvm/test/CodeGen/PowerPC/pgo-ref-directive.ll
M llvm/test/CodeGen/PowerPC/toc-data-const.ll
M llvm/test/MC/PowerPC/aix-file-symbols.s
M llvm/test/tools/llvm-objdump/XCOFF/symbol-table.test
Log Message:
-----------
[XCOFF] Add compiler version to an auxiliary symbol table entry (#80162)
C_FILE symbols. To match the behavior of the assembler and the legacy
compiler, this includes using the generic ".file" name for the C_FILE
symbol and generating the actual file name in an auxiliary entry.
Commit: d4c5acac99e83ffa12d2d720c9e502a181cbd7ea
https://github.com/llvm/llvm-project/commit/d4c5acac99e83ffa12d2d720c9e502a181cbd7ea
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M llvm/lib/ExecutionEngine/GDBRegistrationListener.cpp
Log Message:
-----------
[ExecutionEngine] Fix a couple of typos (NFC)
Commit: d6c7253d32e4bdff619c39708170f1c1fa01ff95
https://github.com/llvm/llvm-project/commit/d6c7253d32e4bdff619c39708170f1c1fa01ff95
Author: David Stuttard <david.stuttard at amd.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
A llvm/test/CodeGen/AMDGPU/pal-metadata-3.0-callable.ll
Log Message:
-----------
[AMDGPU] Add pal metadata 3.0 support to callable pal funcs (#67104)
PAL Metadata 3.0 introduces an explicit structure in metadata for the
programmable registers written out by the compiler backend.
The previous approach used opaque registers which can change between different
architectures and required encoding the bitfield information in the backend,
which may change between versions.
This change is an extension the previously added support - which only handled
entry functions. This adds support for all functions.
The change also includes some re-factoring to separate common code.
Commit: 40fd17a90d4dcfb4bada663d73111a43c4c6ccb1
https://github.com/llvm/llvm-project/commit/40fd17a90d4dcfb4bada663d73111a43c4c6ccb1
Author: hlivin01 <110549819+hlivin01 at users.noreply.github.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M clang/include/clang/Basic/arm_neon.td
M clang/test/CodeGen/aarch64-neon-intrinsics.c
Log Message:
-----------
[ARM][AARCH64][NEON]: Wrong return type of NEON intrinsic vqrshrunh_n_s16, vqrshruns_n_s32, and vqrshrund_n_s64 in arm_neon.h (#80819)
* fixes https://github.com/llvm/llvm-project/issues/71751
* changed return types in the table gen file responsible for generation
of the problematic intrinsics
* this is to ensure that the return type for the functions is the same
as specified in the Arm Developer Documentation and avoid casting
bugs
(https://developer.arm.com/architectures/instruction-sets/intrinsics/vqrshrunh_n_s16)
* updated lit tests to reflect the change in return type, worth noting
that LLVM does not seems to differentiate signed and unsigned ints in
the IR, hence the change in type cannot be checked in IR as far as I am
aware
Commit: 9ea34be3e4c9deeabfc21cced1acb7f9593ffe93
https://github.com/llvm/llvm-project/commit/9ea34be3e4c9deeabfc21cced1acb7f9593ffe93
Author: Vinayak Dev <104419489+vinayakdsci at users.noreply.github.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M llvm/lib/MC/MCObjectStreamer.cpp
Log Message:
-----------
[MC]: Fix typo in MCObjectStreamer.cpp (#80856)
Fixes a typo in llvm/lib/MC/MCObjectStreamer.cpp introduced in #80162
Commit: e5638c5a00682243b1ee012d7dd8292aa221dff8
https://github.com/llvm/llvm-project/commit/e5638c5a00682243b1ee012d7dd8292aa221dff8
Author: choikwa <5455710+choikwa at users.noreply.github.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/sdiv.i64.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/srem.i64.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/udiv.i32.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/urem.i32.ll
M llvm/test/CodeGen/AMDGPU/bypass-div.ll
M llvm/test/CodeGen/AMDGPU/sdiv64.ll
M llvm/test/CodeGen/AMDGPU/srem64.ll
M llvm/test/CodeGen/AMDGPU/udiv.ll
M llvm/test/CodeGen/AMDGPU/udiv64.ll
M llvm/test/CodeGen/AMDGPU/urem64.ll
Log Message:
-----------
[AMDGPU] Use correct number of bits needed for div/rem shrinking (#80622)
There was an error where dividend of type i64 and actual used number of
bits of 32 fell into path that assumes only 24 bits being used. Check
that AtLeast field is used correctly when using computeNumSignBits and
add necessary extend/trunc for 32 bits path.
Regolden and update testcases.
@jrbyrnes @bcahoon @arsenm @rampitec
Commit: 36e8db7d8c9183c66363e76517772b074b4f53be
https://github.com/llvm/llvm-project/commit/36e8db7d8c9183c66363e76517772b074b4f53be
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC]Extract main part of GetGEPCostDiff to a function, NFC.
Commit: 388548359f5049b88a9738d8a9e67691503fbdef
https://github.com/llvm/llvm-project/commit/388548359f5049b88a9738d8a9e67691503fbdef
Author: Chelsea Cassanova <chelsea_cassanova at apple.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M lldb/unittests/TestingSupport/TestUtilities.cpp
M lldb/unittests/TestingSupport/TestUtilities.h
Log Message:
-----------
[lldb][unittest] Add call_once flag to initialize debugger (#80786)
I tried adding a new unit test to the core test
suite (https://github.com/llvm/llvm-project/pull/79533) but it broke the
test suite on AArch64 Linux due to hitting an assertion for calling
`Debugger::Initialize` more than once. When the unit test suite is
invoked as a standalone binary the test suite state is shared, and
`Debugger::Initialize` gets called in `DiagnosticEventTest.cpp` before
being called in `ProgressReportTest.cpp`.
`DiagnosticEventTest.cpp` uses a call_once flag to initialize the
debugger but it's local to that test. This commit adds a once_flag to
`TestUtilities` so that `Debugger::Initialize` can be called once by the
tests that use it.
Commit: 299e5fef9dee3f2d3af8f9162075b8f1cfa34446
https://github.com/llvm/llvm-project/commit/299e5fef9dee3f2d3af8f9162075b8f1cfa34446
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC]Simplify/unify vectors for scattered/vectorized loads from
gathers, NFC.
Commit: 6ce418113746c1d8a85012d1f8e22270eb5fdaf1
https://github.com/llvm/llvm-project/commit/6ce418113746c1d8a85012d1f8e22270eb5fdaf1
Author: Jan Patrick Lehr <jplehr at users.noreply.github.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M openmp/libomptarget/test/lit.cfg
Log Message:
-----------
[OpenMP] HSA_ENABLE_SDMA visible in libomptarget tests (#80860)
Enable the environment variable inside the test environment. This allows
to disable SDMA engine transfers as a potential mitigation of flaky
OpenMP offloading tests on AMDGPU.
Motivated by the open ticket https://github.com/ROCm/ROCm/issues/2616
about a missed synchronization signal.
Commit: 93a2a8cb7f6ab815849e8320bff54c965edd09e7
https://github.com/llvm/llvm-project/commit/93a2a8cb7f6ab815849e8320bff54c965edd09e7
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
A clang/test/Analysis/Checkers/WebKit/member-function-pointer-crash.cpp
Log Message:
-----------
Fix a crash in clang::isGetterOfRefCounted by checking nullptr in tryToFindPtrOrigin (#80768)
Commit: 56900278b578b4f7beedb8ac1e52c541d347f401
https://github.com/llvm/llvm-project/commit/56900278b578b4f7beedb8ac1e52c541d347f401
Author: Chelsea Cassanova <chelsea_cassanova at apple.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M lldb/unittests/Core/DiagnosticEventTest.cpp
Log Message:
-----------
[lldb][unittest] Use shared once_flag in DiagnosticEventTest (#80788)
Incorporates the changes from
https://github.com/llvm/llvm-project/pull/80786 to use a once_flag from
`TestUtilities` instead of a local flag in order to prevent hitting an
assertion that the debugger was initialized again in another test.
Commit: a628f68a9c4ce6f3dcd0c8bb3650db45671ed15a
https://github.com/llvm/llvm-project/commit/a628f68a9c4ce6f3dcd0c8bb3650db45671ed15a
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M clang/test/Format/clang-format-ignore.cpp
Log Message:
-----------
Revert "[clang] Mark clang-format-ignore.cpp as unsupported on Windows"
This reverts commit dc61ebb44c11d2f5d03b7dd9cb80a0644a30775e.
See https://github.com/llvm/llvm-project/pull/76733#issuecomment-1890311152.
Commit: 8ea858b96787578e814723a009f443808f446378
https://github.com/llvm/llvm-project/commit/8ea858b96787578e814723a009f443808f446378
Author: Mingming Liu <mingmingl at google.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M llvm/include/llvm/Analysis/TypeMetadataUtils.h
M llvm/lib/Analysis/TypeMetadataUtils.cpp
M llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
M llvm/lib/Transforms/Utils/CallPromotionUtils.cpp
Log Message:
-----------
[CallPromotionUtil] See through function alias when devirtualizing a virtual call on an alloca. (#80736)
- Extract utility function from
`DevirtModule::tryFindVirtualCallTargets` [1], which sees through an alias to a function. Call this utility function in
the WPD callsite.
- For type profiling work, this helper function will be used by indirect-call-promotion pass to find the function pointer at a specified vtable offset (an example in [2])
[1] https://github.com/llvm/llvm-project/blob/b99163fe8feeacba7797d5479bbcd5d8f327dd2d/llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp#L1069-L1082
[2] https://github.com/minglotus-6/llvm-project/blob/77a0ef12de82d11f448f7f9de6f2dcf87d9b74af/llvm/lib/Transforms/Instrumentation/IndirectCallPromotion.cpp#L347
Commit: 6b2fd7aed66d592738f26c76caa8fff95e168598
https://github.com/llvm/llvm-project/commit/6b2fd7aed66d592738f26c76caa8fff95e168598
Author: Fangrui Song <i at maskray.me>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M llvm/lib/Target/Mips/MipsAsmPrinter.cpp
M llvm/lib/Target/Mips/MipsAsmPrinter.h
M llvm/test/CodeGen/Mips/Fast-ISel/pr40325.ll
M llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/jump_table_and_brjt.ll
M llvm/test/CodeGen/Mips/compactbranches/unsafe-in-forbidden-slot.ll
M llvm/test/CodeGen/Mips/indirect-jump-hazard/jumptables.ll
M llvm/test/CodeGen/Mips/jump-table-mul.ll
M llvm/test/CodeGen/Mips/pseudo-jump-fill.ll
Log Message:
-----------
[MIPS] Use generic isBlockOnlyReachableByFallthrough (#80799)
FastISel may create a redundant BGTZ terminal which fallthroughes.
```
BGTZ %2:gpr32, %bb.1, implicit-def $at
bb.1.bb1:
; predecessors: %bb.0
```
The `!I->isBarrier()` check in
MipsAsmPrinter::isBlockOnlyReachableByFallthrough
will incorrectly not print a label, leading to a `Undefined temporary
symbol `
error when we try assembling the output assembly file. See the updated
`Fast-ISel/pr40325.ll` and
https://github.com/rust-lang/rust/issues/108835
In addition, the `SwitchInst` condition is too conservative and prints
many unneeded labels (see the updated tests).
Just use the generic isBlockOnlyReachableByFallthrough, updated by
commit 1995b9fead62f2f6c0ad217bd00ce3184f741fdb for SPARC, which also
handles MIPS.
Commit: cca49663a56d90f6773f140269940d606aa61430
https://github.com/llvm/llvm-project/commit/cca49663a56d90f6773f140269940d606aa61430
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/Target/X86/X86FastISel.cpp
M llvm/test/CodeGen/X86/avx512-intrinsics-fast-isel.ll
M llvm/test/CodeGen/X86/avx512bwvl-intrinsics-fast-isel.ll
M llvm/test/CodeGen/X86/avx512vl-intrinsics-fast-isel.ll
M llvm/test/CodeGen/X86/fast-isel-fcmp.ll
M llvm/test/CodeGen/X86/fast-isel-ret-ext.ll
M llvm/test/CodeGen/X86/keylocker-intrinsics-fast-isel.ll
M llvm/test/CodeGen/X86/xaluo.ll
M llvm/test/CodeGen/X86/xmulo.ll
M llvm/test/DebugInfo/X86/convert-debugloc.ll
Log Message:
-----------
[FastISel][X86] Use getTypeForExtReturn in GetReturnInfo. (#80803)
The comment and code here seems to match getTypeForExtReturn. The
history shows that at the time this code was added, similar code existed
in SelectionDAGBuilder. SelectionDAGBuiler code has since been
refactored into getTypeForExtReturn.
This patch makes FastISel match SelectionDAGBuilder.
The test changes are because X86 has customization of
getTypeForExtReturn. So now we only extend returns to i8.
Stumbled onto this difference by accident.
Commit: 2a4f715b0797f235b58f6dfefbc369c2374c44c1
https://github.com/llvm/llvm-project/commit/2a4f715b0797f235b58f6dfefbc369c2374c44c1
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
M llvm/lib/Target/RISCV/RISCVScheduleV.td
Log Message:
-----------
[RISCV] Adjust a few vector scheduler class names. NFC (#80795)
Shortening Iota to Iot seemed strange to me.
I also remove the M from VMIota and VMIdx. The instruction for viota
does have an m at the end of it, but vid.v does not. The M didn't seem
very important for viota.
Commit: 0fb9f68bae4743dbabbccf3bbc575ac569730840
https://github.com/llvm/llvm-project/commit/0fb9f68bae4743dbabbccf3bbc575ac569730840
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
Log Message:
-----------
[SelectionDAG] Use getRegisterType instead of getTypeToTransformTo in ComputePHILiveOutRegInfo. (#80773)
Since we used getNumRegisters right before this, I think this is the
correct interface we should be using here.
I'm experimenting with making i32 legal on RISC-V 64, but using i64 for
the register type between basic blocks. This was one of the first issues
I found trying to do that.
Commit: 1833de3ee364a996d03bb23b19fe472e3e2ddf3b
https://github.com/llvm/llvm-project/commit/1833de3ee364a996d03bb23b19fe472e3e2ddf3b
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Utils/CodeExtractor.cpp
M llvm/test/Transforms/HotColdSplit/split-out-dbg-label.ll
M llvm/test/Transforms/IROutliner/gvn-phi-debug.ll
Log Message:
-----------
[Extractor][DebugInfo] Don't pick DebugLocs from dbg intrinsics (#80863)
When picking the source location for a branch instruction in the
CodeExtractor, we can end up picking the source location of a debugging
intrinsic. This never makes sense because any variable assignment
information (or labels) might originate from completely different
lexical scopes that have been inlined, and also makes the line tables
change between -g and -gmlt. Fix this by skipping debug intrinsics when
looking for branch source locations.
Detected because of test differences with RemoveDIs, the non-intrinsinc
form of debug-info -- fixing in intrinsic form to avoid there being
spurious test differences when we turn it on.
Commit: 6eb7273b11e6a3ec7c5ddb2d55bc585a25c0a923
https://github.com/llvm/llvm-project/commit/6eb7273b11e6a3ec7c5ddb2d55bc585a25c0a923
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M llvm/lib/TextAPI/BinaryReader/DylibReader.cpp
M llvm/tools/llvm-readtapi/llvm-readtapi.cpp
Log Message:
-----------
[readtapi] Ensure universal dylibs record the same input path location across slices (#80875)
resolves: https://github.com/llvm/llvm-project/issues/80868
Commit: 2faeea313fef284fa933e7adb1d4c44a33e943e5
https://github.com/llvm/llvm-project/commit/2faeea313fef284fa933e7adb1d4c44a33e943e5
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M clang/test/Preprocessor/riscv-target-features.c
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.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] Add Ssqosid support to -march. (#80747)
Commit: c7d181cc67a7af122835bc51159baa0eb6c5ac7c
https://github.com/llvm/llvm-project/commit/c7d181cc67a7af122835bc51159baa0eb6c5ac7c
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M llvm/unittests/TargetParser/TargetParserTest.cpp
Log Message:
-----------
[llvm][unittests] Put human-readable names on TargetParserTests. NFC (#80749)
Before:
```
[----------] 65 tests from AArch64CPUTests/AArch64CPUTestFixture
[ RUN ] AArch64CPUTests/AArch64CPUTestFixture.testAArch64CPU/0
[ OK ] AArch64CPUTests/AArch64CPUTestFixture.testAArch64CPU/0 (0 ms)
[ RUN ] AArch64CPUTests/AArch64CPUTestFixture.testAArch64CPU/1
[ OK ] AArch64CPUTests/AArch64CPUTestFixture.testAArch64CPU/1 (0 ms)
[ RUN ] AArch64CPUTests/AArch64CPUTestFixture.testAArch64CPU/2
[ OK ] AArch64CPUTests/AArch64CPUTestFixture.testAArch64CPU/2 (0 ms)
[ RUN ] AArch64CPUTests/AArch64CPUTestFixture.testAArch64CPU/3
[ OK ] AArch64CPUTests/AArch64CPUTestFixture.testAArch64CPU/3 (0 ms)
[ RUN ] AArch64CPUTests/AArch64CPUTestFixture.testAArch64CPU/4
[ OK ] AArch64CPUTests/AArch64CPUTestFixture.testAArch64CPU/4 (0 ms)
[ RUN ] AArch64CPUTests/AArch64CPUTestFixture.testAArch64CPU/5
[ OK ] AArch64CPUTests/AArch64CPUTestFixture.testAArch64CPU/5 (0 ms)
[ RUN ] AArch64CPUTests/AArch64CPUTestFixture.testAArch64CPU/6
[ OK ] AArch64CPUTests/AArch64CPUTestFixture.testAArch64CPU/6 (0 ms)
[ RUN ] AArch64CPUTests/AArch64CPUTestFixture.testAArch64CPU/7
[ OK ] AArch64CPUTests/AArch64CPUTestFixture.testAArch64CPU/7 (0 ms)
[ RUN ] AArch64CPUTests/AArch64CPUTestFixture.testAArch64CPU/8
...
```
After:
```
[----------] 65 tests from AArch64CPUTests/AArch64CPUTestFixture
[ RUN ] AArch64CPUTests/AArch64CPUTestFixture.testAArch64CPU/cortex_a34
[ OK ] AArch64CPUTests/AArch64CPUTestFixture.testAArch64CPU/cortex_a34 (0 ms)
[ RUN ] AArch64CPUTests/AArch64CPUTestFixture.testAArch64CPU/cortex_a35
[ OK ] AArch64CPUTests/AArch64CPUTestFixture.testAArch64CPU/cortex_a35 (0 ms)
[ RUN ] AArch64CPUTests/AArch64CPUTestFixture.testAArch64CPU/cortex_a53
[ OK ] AArch64CPUTests/AArch64CPUTestFixture.testAArch64CPU/cortex_a53 (0 ms)
[ RUN ] AArch64CPUTests/AArch64CPUTestFixture.testAArch64CPU/cortex_a55
[ OK ] AArch64CPUTests/AArch64CPUTestFixture.testAArch64CPU/cortex_a55 (0 ms)
[ RUN ] AArch64CPUTests/AArch64CPUTestFixture.testAArch64CPU/cortex_a510
[ OK ] AArch64CPUTests/AArch64CPUTestFixture.testAArch64CPU/cortex_a510 (0 ms)
[ RUN ] AArch64CPUTests/AArch64CPUTestFixture.testAArch64CPU/cortex_a520
[ OK ] AArch64CPUTests/AArch64CPUTestFixture.testAArch64CPU/cortex_a520 (0 ms)
[ RUN ] AArch64CPUTests/AArch64CPUTestFixture.testAArch64CPU/cortex_a57
[ OK ] AArch64CPUTests/AArch64CPUTestFixture.testAArch64CPU/cortex_a57 (0 ms)
[ RUN ] AArch64CPUTests/AArch64CPUTestFixture.testAArch64CPU/cortex_a65
[ OK ] AArch64CPUTests/AArch64CPUTestFixture.testAArch64CPU/cortex_a65 (0 ms)
...
```
Which improves the experience of finding and running this:
```
$ ./unittests/TargetParser/TargetParserTests --gtest_filter=AArch64CPUTests/AArch64CPUTestFixture.testAArch64CPU/cortex_a65
Note: Google Test filter = AArch64CPUTests/AArch64CPUTestFixture.testAArch64CPU/cortex_a65
[==========] Running 1 test from 1 test suite.
[----------] Global test environment set-up.
[----------] 1 test from AArch64CPUTests/AArch64CPUTestFixture
[ RUN ] AArch64CPUTests/AArch64CPUTestFixture.testAArch64CPU/cortex_a65
[ OK ] AArch64CPUTests/AArch64CPUTestFixture.testAArch64CPU/cortex_a65 (0 ms)
[----------] 1 test from AArch64CPUTests/AArch64CPUTestFixture (0 ms total)
[----------] Global test environment tear-down
[==========] 1 test from 1 test suite ran. (0 ms total)
[ PASSED ] 1 test.
```
Commit: a4531108da358500939af95b53794591432aaf74
https://github.com/llvm/llvm-project/commit/a4531108da358500939af95b53794591432aaf74
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Utils/Debugify.cpp
M llvm/test/Transforms/Util/Debugify/loc-only-original-mode.ll
Log Message:
-----------
[DebugInfo][RemoveDIs] Extend intrinsic-conversion in debugify (#80861)
A while back the entry/exit points of debugify were instrumented with
conversion functions to/from non-intrinsic-form debug-info. This is the
path of least resistance to incrementally converting parts of LLVM to
use the new format. However, it turns out that debugify registers
callbacks with the pass manager and can be fed non-intrinsic form
debug-info. Thus: this patch wraps each of the four major debugify
functions with the convertion utilities, and extends test coverage to a
test that exposes this problem.
(An alternative would be to put this code in the callback lambdas, but
then it would be fighting pass manager abstractions of what type the IR
has).
Handily debugify has been designed to record the /meaning/ of debug-info
rather than take pointers to intrinsics and the like, so the storage
mechanism for debug-info is transparent to it!
Commit: 33cfc1341fab1af8d0f2a8270332fcc91895f473
https://github.com/llvm/llvm-project/commit/33cfc1341fab1af8d0f2a8270332fcc91895f473
Author: Davide Italiano <davidino at fb.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M .github/CODEOWNERS
Log Message:
-----------
[github][CODEOWNERS] Add BOLT.
Commit: f2508d0a406c8978636eafeb9a23e15984e68836
https://github.com/llvm/llvm-project/commit/f2508d0a406c8978636eafeb9a23e15984e68836
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M llvm/docs/RISCVUsage.rst
Log Message:
-----------
[RISCV][Docs] Use double underscore for external links in RISCVUsage.rst.
Using a single underscore creates a reference target. If the target
name has the same name as another link, we get a "Duplicate target name"
warning. This is currently happening for Ssqosid.
Using __ prevents this. I've converted all links so no one trips over
this in the future.
One link was missing any underscores so wasn't a link at all in the
generated html.
Commit: 5ac2320824fd545a0d746a1d989543ec4bbd03fa
https://github.com/llvm/llvm-project/commit/5ac2320824fd545a0d746a1d989543ec4bbd03fa
Author: michaelrj-google <71531609+michaelrj-google at users.noreply.github.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M libc/src/errno/libc_errno.cpp
M libc/src/errno/libc_errno.h
Log Message:
-----------
[libc][NFC] Fix extraneous namespace on Errno (#80894)
The Errno type doesn't need to be explicitly namespaced now that it's
enclosed in a namespace.
Commit: a8ab8306069e8e53b5148ceec7624d7d36ffb459
https://github.com/llvm/llvm-project/commit/a8ab8306069e8e53b5148ceec7624d7d36ffb459
Author: Chelsea Cassanova <chelsea_cassanova at apple.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M lldb/unittests/Core/CMakeLists.txt
A lldb/unittests/Core/ProgressReportTest.cpp
Log Message:
-----------
Reland "[lldb][progress][NFC] Add unit test for progress reports" (#80791)
This file was previously approved and merged from this PR:
https://github.com/llvm/llvm-project/pull/79533 but caused a test
failure on the Linux AArch64 bots due to hitting an assertion that
`Debugger::Initialize` was already called.
To fix this, this commit uses the
changes made here: https://github.com/llvm/llvm-project/pull/80786 to
use a shared call_once flag to initialize the debugger.
Commit: cdd9221489ec4ed6afc0e5146c2fae4daa8ab260
https://github.com/llvm/llvm-project/commit/cdd9221489ec4ed6afc0e5146c2fae4daa8ab260
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
A llvm/test/Transforms/InstCombine/umulo-square.ll
Log Message:
-----------
[InstCombine] Simplify the overflow result of `umulov X, X` (#80796)
This patch does the following folds if only the overflow result is used:
```
extractvalue (umul.with.overflow iN X, X), 1 -> icmp ugt X, 2^(N/2)-1
```
Alive2: https://alive2.llvm.org/ce/z/a8yPC6
Commit: 6812bc40bd6c70f7cae10d1e0a2aeac31cfaef03
https://github.com/llvm/llvm-project/commit/6812bc40bd6c70f7cae10d1e0a2aeac31cfaef03
Author: michaelrj-google <71531609+michaelrj-google at users.noreply.github.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M libc/src/__support/float_to_string.h
Log Message:
-----------
[libc] Fix off by one in long double buffer size (#80889)
The size for the long double BLOCK_BUFFER_LEN is calculated based on the
properties of the long double type. Somewhere in the calculation, the
result was mis-rounded so that the buffer was one element too small.
This patch fixes the issue and adds asserts to catch it sooner in the
future.
Commit: 5f87957fefb21d454f2fd7e6b4891350170d8690
https://github.com/llvm/llvm-project/commit/5f87957fefb21d454f2fd7e6b4891350170d8690
Author: Adam Magier <83226568+AdamMagierFOSS at users.noreply.github.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M clang/lib/CodeGen/CGExprScalar.cpp
A clang/test/CodeGen/ubsan-shift-bitint.c
Log Message:
-----------
[clang][CodeGen][UBSan] Fixing shift-exponent generation for _BitInt (#80515)
Testing the shift-exponent check with small width _BitInt values exposed
a bug in ScalarExprEmitter::GetWidthMinusOneValue when using the result
to determine valid exponent sizes. False positives were reported for
some left shifts when width(LHS)-1 > range(RHS) and false negatives were
reported for right shifts when value(RHS) > range(LHS). This patch caps
the maximum value of GetWidthMinusOneValue to fit within range(RHS) to
fix the issue with left shifts and fixes a code generation in EmitShr to
fix the issue with right shifts and renames the function to
GetMaximumShiftAmount to better reflect the new behaviour.
Fixes #80135.
Co-authored-by: Adam Magier <adam.magier at ericsson.com>
Commit: c6691f689e9aa787b809fd3493bae8a5ca845cea
https://github.com/llvm/llvm-project/commit/c6691f689e9aa787b809fd3493bae8a5ca845cea
Author: michaelrj-google <71531609+michaelrj-google at users.noreply.github.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M libc/src/unistd/linux/CMakeLists.txt
M libc/src/unistd/linux/pread.cpp
Log Message:
-----------
[libc] Fix pread under msan (#80893)
The pread function wasn't properly unpoisoning its result under msan,
causing test failures downstream when I tried to roll it out. This patch
adds the msan unpoison call that fixes the issue.
Commit: ce00fdc91cb7a466054c3ffd8788ae2f9f5100f3
https://github.com/llvm/llvm-project/commit/ce00fdc91cb7a466054c3ffd8788ae2f9f5100f3
Author: Heejin Ahn <aheejin at gmail.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M clang/test/Driver/wasm-features.c
M clang/test/Preprocessor/wasm-target-features.c
Log Message:
-----------
[WebAssembly] Cleanup feature tests (#80780)
This adds missing features to the tests and removes a stale feature
(unimplemented_simd128) from them.
Commit: 5b780c8c6c558ec283a9eec485a4f172df0f9fe1
https://github.com/llvm/llvm-project/commit/5b780c8c6c558ec283a9eec485a4f172df0f9fe1
Author: PiJoules <6019989+PiJoules at users.noreply.github.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M clang/include/clang/AST/Type.h
M clang/lib/Sema/SemaOverload.cpp
M clang/test/Frontend/fixed_point_errors.cpp
Log Message:
-----------
Diagnose invalid fixed point conversion (#80763)
Commit: 5ce2f73b2e5e6664d74b49ee45f11505f8306577
https://github.com/llvm/llvm-project/commit/5ce2f73b2e5e6664d74b49ee45f11505f8306577
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/stack-tagging-dbg.ll
Log Message:
-----------
[DebugInfo][RemoveDIs] Add some missing test coverage
In github PR #78731 it looks like I added test coverage for RemoveDIs to
either the wrong test, or not enough. Adding
--try-experimental-debuginfo-iterators to this particular test is enough to
restore some coverage it seems.
Commit: c13e271a38363d354294e2af1651470bed8facb3
https://github.com/llvm/llvm-project/commit/c13e271a38363d354294e2af1651470bed8facb3
Author: Bhuminjay Soni <Soni5Happy at gmail.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M clang-tools-extra/clang-tidy/readability/CMakeLists.txt
M clang-tools-extra/clang-tidy/readability/ReadabilityTidyModule.cpp
A clang-tools-extra/clang-tidy/readability/UseStdMinMaxCheck.cpp
A clang-tools-extra/clang-tidy/readability/UseStdMinMaxCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
A clang-tools-extra/docs/clang-tidy/checks/readability/use-std-min-max.rst
A clang-tools-extra/test/clang-tidy/checkers/readability/use-std-min-max.cpp
Log Message:
-----------
Add clang-tidy check to suggest replacement of conditional statement with std::min/std::max (#77816)
This pull request fixes #64914 where author suggests adding a
readability check to propose the replacement of conditional statements
with std::min/std::max for improved code readability. Additionally,
reference is made to PyLint's similar checks:
[consider-using-min-builtin](https://pylint.pycqa.org/en/latest/user_guide/messages/refactor/consider-using-min-builtin.html)
and
[consider-using-max-builtin](https://pylint.pycqa.org/en/latest/user_guide/messages/refactor/consider-using-max-builtin.html)
Commit: e197b957ce1061cb1bfbd586b703065367cce5dc
https://github.com/llvm/llvm-project/commit/e197b957ce1061cb1bfbd586b703065367cce5dc
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
Log Message:
-----------
[RISCV] Fix typo in call to clearFeatureBits.
We had "+zca" instead of "zca". The previous line used "c", not "+c".
This may not be a functional change. I think the function we pass this
to strips any '+' or '-'.
Commit: 8bb827c0e67e51adba1252d23edc58197e025cf7
https://github.com/llvm/llvm-project/commit/8bb827c0e67e51adba1252d23edc58197e025cf7
Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
A llvm/test/Verifier/verify-dwarf-no-operands.ll
Log Message:
-----------
Add test for iterating over MDNode operands when they are empty (#80737)
With e8512786fedbfa6ddba70ceddc29d7122173ba5e the for loop that iterates
over MDNode operands was changed to a range-based for loop. This change
surfaces a bug where if the result of MD->operands() is an ArrayRef that
has a size of 0, then iterating over that ArrayRef leads to a
segmentation fault, due to accessing invalid addresses.
This was reverted with 6ce03ff3fef8fb6fa9afe8eb22c6d98bced26d48 but this
test should be added to test that codepath in the future.
Commit: 4858e9c9feb94d65acdb284fc2eaa5fe131c6584
https://github.com/llvm/llvm-project/commit/4858e9c9feb94d65acdb284fc2eaa5fe131c6584
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
A llvm/test/Transforms/InstCombine/fcmp-range-check-idiom.ll
Log Message:
-----------
[InstCombine] Canonicalize the fcmp range check idiom into `fabs + fcmp` (#76367)
This patch canonicalizes the fcmp range check idiom into `fabs + fcmp`
since the canonicalized form is better than the original form for the
backends.
Godbolt: https://godbolt.org/z/x3eqPb1fz
```
and (fcmp olt/ole/ult/ule x, C), (fcmp ogt/oge/ugt/uge x, -C) --> fabs(x) olt/ole/ult/ule C
or (fcmp ogt/oge/ugt/uge x, C), (fcmp olt/ole/ult/ule x, -C) --> fabs(x) ogt/oge/ugt/uge C
```
Alive2: https://alive2.llvm.org/ce/z/MRtoYq
Commit: 90e8dc0f7cbd09cc653b497eb2dfc68edd800f48
https://github.com/llvm/llvm-project/commit/90e8dc0f7cbd09cc653b497eb2dfc68edd800f48
Author: stephenpeckham <118857872+stephenpeckham at users.noreply.github.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M llvm/test/CodeGen/PowerPC/aix-small-local-exec-tls-largeaccess2.ll
M llvm/test/CodeGen/PowerPC/aix-xcoff-reloc.ll
Log Message:
-----------
Fix failing testcases (#80902)
Commit: 672fb27b267edc5dec4939b0295c8eebcdc57467
https://github.com/llvm/llvm-project/commit/672fb27b267edc5dec4939b0295c8eebcdc57467
Author: Yitzhak Mandelbaum <ymand at users.noreply.github.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/unittests/Analysis/FlowSensitive/SignAnalysisTest.cpp
M clang/unittests/Analysis/FlowSensitive/TypeErasedDataflowAnalysisTest.cpp
Log Message:
-----------
[clang][dataflow] Add new `join` API and replace existing `merge` implementations. (#80361)
This patch adds a new interface for the join operation, now properly
called `join`. Originally, the framework offered a single `merge`
operation, which could serve either as a join or a widening. In
practice, though we found this conflation didn't work for non-trivial
anlyses, and split of the widening operation (`widen`). This change
completes the transition by introducing a proper `join` with strict join
semantics.
In the process, it drops an odd (and often misused) aspect of `merge`
wherein callees could implictly instruct the framework to drop the
current entry by returning `false`. This features was never used
correctly in analyses and doesn't belong in a join operation, so it is
omitted.
---------
Co-authored-by: Dmitri Gribenko <gribozavr at gmail.com>
Co-authored-by: martinboehme <mboehme at google.com>
Commit: 4607f385e005b3792b5669683d2c9b50d83e4e61
https://github.com/llvm/llvm-project/commit/4607f385e005b3792b5669683d2c9b50d83e4e61
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
Log Message:
-----------
[RISCV] Use hasStdExtCOrZca instead of FeatureStdExtC to determine NOP size in RISCVAsmPrinter.cpp.
Found while auditing places where we only check C and not Zca.
Commit: 3f1e95a9d4cc1fdb933390247d0bd4391cf93f60
https://github.com/llvm/llvm-project/commit/3f1e95a9d4cc1fdb933390247d0bd4391cf93f60
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeEmitter.cpp
M clang/test/AST/ms-constexpr.cpp
Log Message:
-----------
[clang][Interp] consider "MS constexpr" functions as well
This implements the minimum amout of support for this feature
to get the test/AST/ms-constexpr.cpp test working. More has to
be added to get SemaCXX tests to work.
Commit: cd0d11be7a6de335dcfcf2788a97d915f017e25e
https://github.com/llvm/llvm-project/commit/cd0d11be7a6de335dcfcf2788a97d915f017e25e
Author: Fangrui Song <i at maskray.me>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M llvm/test/CodeGen/M68k/Alloc/dyn_alloca_aligned.ll
M llvm/test/CodeGen/M68k/Arith/add-with-overflow.ll
M llvm/test/CodeGen/M68k/Arith/add.ll
M llvm/test/CodeGen/M68k/Arith/bitwise.ll
M llvm/test/CodeGen/M68k/Arith/smul-with-overflow.ll
M llvm/test/CodeGen/M68k/Arith/sub-with-overflow.ll
M llvm/test/CodeGen/M68k/Atomics/load-store.ll
M llvm/test/CodeGen/M68k/CConv/c-args-inreg.ll
M llvm/test/CodeGen/M68k/CConv/c-args.ll
M llvm/test/CodeGen/M68k/CConv/fastcc-args.ll
M llvm/test/CodeGen/M68k/CConv/fastcc-call.ll
M llvm/test/CodeGen/M68k/CodeModel/medium-pic.ll
M llvm/test/CodeGen/M68k/CodeModel/medium-pie-global-access.ll
M llvm/test/CodeGen/M68k/CodeModel/medium-static.ll
M llvm/test/CodeGen/M68k/CodeModel/small-pic.ll
M llvm/test/CodeGen/M68k/CodeModel/small-pie-global-access.ll
M llvm/test/CodeGen/M68k/CodeModel/small-static.ll
M llvm/test/CodeGen/M68k/Control/cmp.ll
M llvm/test/CodeGen/M68k/GlobalISel/irtranslator-call.ll
M llvm/test/CodeGen/M68k/GlobalISel/irtranslator-ret.ll
M llvm/test/CodeGen/M68k/inline-asm.ll
M llvm/test/CodeGen/M68k/link-unlnk.ll
M llvm/test/CodeGen/M68k/reserved-regs.ll
M llvm/test/CodeGen/M68k/varargs.ll
Log Message:
-----------
[M68k] Convert tests to opaque pointers (NFC)
Commit: 423ac3d9ee82ff48da91b35ec80497089bc55b9e
https://github.com/llvm/llvm-project/commit/423ac3d9ee82ff48da91b35ec80497089bc55b9e
Author: Fangrui Song <i at maskray.me>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M llvm/test/CodeGen/CSKY/atomic-cmpxchg-flag.ll
M llvm/test/CodeGen/CSKY/atomic-cmpxchg.ll
M llvm/test/CodeGen/CSKY/atomic-load-store.ll
M llvm/test/CodeGen/CSKY/atomic-rmw.ll
M llvm/test/CodeGen/CSKY/call-16bit.ll
M llvm/test/CodeGen/CSKY/call.ll
M llvm/test/CodeGen/CSKY/constantpool.ll
M llvm/test/CodeGen/CSKY/dwarf-eh.ll
M llvm/test/CodeGen/CSKY/fpu/ldst-d.ll
M llvm/test/CodeGen/CSKY/fpu/ldst-f.ll
M llvm/test/CodeGen/CSKY/frameaddr-returnaddr.ll
M llvm/test/CodeGen/CSKY/indirectbr.ll
M llvm/test/CodeGen/CSKY/inline-asm-d-constraint-f.ll
M llvm/test/CodeGen/CSKY/inline-asm-f-constraint-f.ll
M llvm/test/CodeGen/CSKY/inline-asm.ll
M llvm/test/CodeGen/CSKY/ldst-i.ll
M llvm/test/CodeGen/CSKY/tls-models.ll
Log Message:
-----------
[CSKY] Convert tests to opaque pointers (NFC)
Commit: 1c22d3f55df852985c155742bbe96ab5e86aa6f0
https://github.com/llvm/llvm-project/commit/1c22d3f55df852985c155742bbe96ab5e86aa6f0
Author: Fangrui Song <i at maskray.me>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M llvm/test/CodeGen/ARC/addrmode.ll
M llvm/test/CodeGen/ARC/call.ll
M llvm/test/CodeGen/ARC/ldst.ll
Log Message:
-----------
[ARC] Convert tests to opaque pointers (NFC)
Commit: 92b33822e989884d29465d34769b07d78aeb1a84
https://github.com/llvm/llvm-project/commit/92b33822e989884d29465d34769b07d78aeb1a84
Author: Fangrui Song <i at maskray.me>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M llvm/test/DebugInfo/MIR/AArch64/clobber-sp.mir
M llvm/test/DebugInfo/MIR/AArch64/dbgcall-site-expr-chain.mir
M llvm/test/DebugInfo/MIR/AArch64/dbgcall-site-indirect-param-with-offset.mir
M llvm/test/DebugInfo/MIR/AArch64/dbgcall-site-indirect-param.mir
M llvm/test/DebugInfo/MIR/AArch64/dbgcall-site-interpretation.mir
M llvm/test/DebugInfo/MIR/AArch64/dbgcall-site-orr-moves.mir
M llvm/test/DebugInfo/MIR/AArch64/implicit-def-dead-scope.mir
M llvm/test/DebugInfo/MIR/ARM/call-site-info-vmovd.mir
M llvm/test/DebugInfo/MIR/ARM/call-site-info-vmovs.mir
M llvm/test/DebugInfo/MIR/ARM/dbgcall-site-interpretation.mir
M llvm/test/DebugInfo/MIR/ARM/dbgcall-site-propagated-value.mir
M llvm/test/DebugInfo/MIR/ARM/if-coverter-call-site-info.mir
M llvm/test/DebugInfo/MIR/ARM/live-debug-values-reg-copy.mir
M llvm/test/DebugInfo/MIR/ARM/param-reg-const-mix.mir
M llvm/test/DebugInfo/MIR/ARM/split-superreg-complex.mir
M llvm/test/DebugInfo/MIR/ARM/split-superreg-piece.mir
M llvm/test/DebugInfo/MIR/ARM/split-superreg.mir
M llvm/test/DebugInfo/MIR/Hexagon/dbgcall-site-instr-before-bundled-call.mir
M llvm/test/DebugInfo/MIR/InstrRef/follow-spill-of-indir-value.mir
M llvm/test/DebugInfo/MIR/InstrRef/follow-spill-of-live-value.mir
M llvm/test/DebugInfo/MIR/InstrRef/memory-operand-folding-tieddef.mir
M llvm/test/DebugInfo/MIR/InstrRef/out-of-scope-blocks.mir
M llvm/test/DebugInfo/MIR/InstrRef/restore-clobber-with-indirectness.mir
M llvm/test/DebugInfo/MIR/InstrRef/stack-coloring-dbg-phi.mir
M llvm/test/DebugInfo/MIR/InstrRef/win32-chkctk-modifies-esp.mir
M llvm/test/DebugInfo/MIR/InstrRef/x86-drop-compare-inst.mir
M llvm/test/DebugInfo/MIR/InstrRef/x86-fp-stackifier-drop-locations.mir
M llvm/test/DebugInfo/MIR/InstrRef/x86-lea-fixup.mir
M llvm/test/DebugInfo/MIR/Mips/dbg-call-site-copy-sub-reg.mir
M llvm/test/DebugInfo/MIR/Mips/dbg-call-site-delay-slot-interpretation-64bit.mir
M llvm/test/DebugInfo/MIR/Mips/dbg-call-site-delay-slot-interpretation.mir
M llvm/test/DebugInfo/MIR/Mips/dbg-call-site-param-addiu-64bit.mir
M llvm/test/DebugInfo/MIR/Mips/dbg-call-site-param-addiu.mir
M llvm/test/DebugInfo/MIR/Mips/last-inst-bundled.mir
M llvm/test/DebugInfo/MIR/Mips/live-debug-values-reg-copy.mir
M llvm/test/DebugInfo/MIR/X86/avoid-single-entry-value-location.mir
M llvm/test/DebugInfo/MIR/X86/backup-entry-values-usage.mir
M llvm/test/DebugInfo/MIR/X86/call-site-gnu-vs-dwarf5-attrs.mir
M llvm/test/DebugInfo/MIR/X86/clobbered-fragments.mir
M llvm/test/DebugInfo/MIR/X86/dbg-call-site-spilled-arg-multiple-defs.mir
M llvm/test/DebugInfo/MIR/X86/dbg-call-site-spilled-arg.mir
M llvm/test/DebugInfo/MIR/X86/dbg-stack-value-range.mir
M llvm/test/DebugInfo/MIR/X86/dbgcall-site-interpretation.mir
M llvm/test/DebugInfo/MIR/X86/dbgcall-site-lea-interpretation.mir
M llvm/test/DebugInfo/MIR/X86/dbgcall-site-reference.mir
M llvm/test/DebugInfo/MIR/X86/dbgcall-site-two-fwd-reg-defs.mir
M llvm/test/DebugInfo/MIR/X86/debug-call-site-param.mir
M llvm/test/DebugInfo/MIR/X86/debug-entry-value-operation.mir
M llvm/test/DebugInfo/MIR/X86/debug-loc-0.mir
M llvm/test/DebugInfo/MIR/X86/dvl-livedebugvars-movements.mir
M llvm/test/DebugInfo/MIR/X86/dvl-livedebugvars-stackptr.mir
M llvm/test/DebugInfo/MIR/X86/empty-inline.mir
M llvm/test/DebugInfo/MIR/X86/kill-after-spill.mir
M llvm/test/DebugInfo/MIR/X86/ldv_unreachable_blocks.mir
M llvm/test/DebugInfo/MIR/X86/ldv_unreachable_blocks2.mir
M llvm/test/DebugInfo/MIR/X86/live-debug-values-entry-transfer.mir
M llvm/test/DebugInfo/MIR/X86/live-debug-values-fragments.mir
M llvm/test/DebugInfo/MIR/X86/live-debug-values-reg-copy.mir
M llvm/test/DebugInfo/MIR/X86/live-debug-values-restore.mir
M llvm/test/DebugInfo/MIR/X86/live-debug-values-spill.mir
M llvm/test/DebugInfo/MIR/X86/live-debug-values.mir
M llvm/test/DebugInfo/MIR/X86/livedebugvalues-limit.mir
M llvm/test/DebugInfo/MIR/X86/livedebugvars-crossbb-interval.mir
M llvm/test/DebugInfo/MIR/X86/machine-cse.mir
M llvm/test/DebugInfo/MIR/X86/machinesink-subreg.mir
M llvm/test/DebugInfo/MIR/X86/machinesink.mir
M llvm/test/DebugInfo/MIR/X86/mlicm-hoist-post-regalloc.mir
M llvm/test/DebugInfo/MIR/X86/mlicm-hoist-pre-regalloc.mir
M llvm/test/DebugInfo/MIR/X86/multiple-param-dbg-value-entry.mir
M llvm/test/DebugInfo/MIR/X86/no-cfi-loc.mir
M llvm/test/DebugInfo/MIR/X86/postra-subreg-sink.mir
M llvm/test/DebugInfo/MIR/X86/prolog-epilog-indirection.mir
M llvm/test/DebugInfo/MIR/X86/regcoalescing-clears-dead-dbgvals.mir
M llvm/test/DebugInfo/MIR/X86/remove-redundant-dbg-vals.mir
M llvm/test/DebugInfo/MIR/X86/sink-leaves-undef.mir
Log Message:
-----------
[DebugInfo/MIR] Convert tests to opaque pointers (NFC)
Link: https://discourse.llvm.org/t/enabling-opaque-pointers-by-default/61322
Commit: cc55af777a19b69f466875683655810f5d485386
https://github.com/llvm/llvm-project/commit/cc55af777a19b69f466875683655810f5d485386
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/test/Sema/struct-cast.c
Log Message:
-----------
[clang][Interp] Only check ComparisonCategoryInfo in C++ (#80131)
Binary operators are also of struct type in C, when assigning. Don't try to get the ComparisonCategoryInfo in that case.
Commit: 3a05e01d1a76984fe1532bd237edbbb7ed9db6ea
https://github.com/llvm/llvm-project/commit/3a05e01d1a76984fe1532bd237edbbb7ed9db6ea
Author: Fangrui Song <i at maskray.me>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M llvm/test/DebugInfo/AArch64/asan-stack-vars.mir
M llvm/test/DebugInfo/AArch64/compiler-gen-bbs-livedebugvalues.mir
M llvm/test/DebugInfo/AArch64/fallthrough-branch.ll
M llvm/test/DebugInfo/AArch64/frameindices.ll
M llvm/test/DebugInfo/AArch64/machine-outliner.ll
M llvm/test/DebugInfo/ARM/cfi-eof-prologue.mir
M llvm/test/DebugInfo/ARM/machine-cp-updates-dbg-reg.mir
M llvm/test/DebugInfo/COFF/function-options.ll
M llvm/test/DebugInfo/COFF/global_rust.ll
M llvm/test/DebugInfo/COFF/nrvo.ll
M llvm/test/DebugInfo/COFF/thunk.ll
M llvm/test/DebugInfo/COFF/type-quals.ll
M llvm/test/DebugInfo/COFF/types-basic.ll
M llvm/test/DebugInfo/COFF/types-cvarargs.ll
M llvm/test/DebugInfo/COFF/types-data-members.ll
M llvm/test/DebugInfo/COFF/vftables.ll
M llvm/test/DebugInfo/COFF/virtual-methods.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/dse/dse-after-memcpyopt-merge.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/dse/shorten-offset.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/dse/shorten.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/inline/id.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/inline/inline-stores.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/instcombine/memset.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/instcombine/sink-store.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/instcombine/sink.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/instcombine/storemerge.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/licm/multi-exit.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/loop-deletion/dead-loop.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/memcpyopt/merge-stores.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/mldst-motion/diamond.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/remove-redundant-fwd-scan-linked.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/simplifycfg/empty-block.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/simplifycfg/speculated-store.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/slp-vectorizer/merge-scalars.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/after-inlining.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/alloca-single-slice.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/complex.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/frag-2.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/frag.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/id.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/memcpy.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/rewrite.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/store.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/unspecified-var-size.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/user-memcpy.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/vec-2.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/track-assignments.ll
M llvm/test/DebugInfo/Generic/import-inlined-declaration.ll
M llvm/test/DebugInfo/Generic/licm-hoist-debug-loc.ll
M llvm/test/DebugInfo/Generic/licm-hoist-intrinsic-debug-loc.ll
M llvm/test/DebugInfo/Generic/split-dwarf-local-import.ll
M llvm/test/DebugInfo/MSP430/dwarf-basics.ll
M llvm/test/DebugInfo/MSP430/fp-vla-callee-saved.ll
M llvm/test/DebugInfo/X86/DW_AT_calling-convention.ll
M llvm/test/DebugInfo/X86/PR37234.ll
M llvm/test/DebugInfo/X86/containing-type-extension-rust.ll
M llvm/test/DebugInfo/X86/dbg-value-list-selectiondag-salvage.ll
M llvm/test/DebugInfo/X86/dbg_entity_calc_ignores_KILL_instruction_at_return.mir
M llvm/test/DebugInfo/X86/dbg_entity_calc_ignores_KILL_instruction_still_clobbers.mir
M llvm/test/DebugInfo/X86/debug-info-blocks.ll
M llvm/test/DebugInfo/X86/debug-loc-asan.mir
M llvm/test/DebugInfo/X86/debug-loc-frame.ll
M llvm/test/DebugInfo/X86/debug-loc-offset.mir
M llvm/test/DebugInfo/X86/dw_op_minus.mir
M llvm/test/DebugInfo/X86/empty-and-one-elem-array.ll
M llvm/test/DebugInfo/X86/fragment-offset-order.ll
M llvm/test/DebugInfo/X86/global-sra-struct-part-overlap-segment.ll
M llvm/test/DebugInfo/X86/linkage-name.ll
M llvm/test/DebugInfo/X86/live-debug-values-constprop.mir
M llvm/test/DebugInfo/X86/live-debug-vars-discard-invalid.mir
M llvm/test/DebugInfo/X86/live-debug-vars-dse.mir
M llvm/test/DebugInfo/X86/live-debug-vars-intervals.mir
M llvm/test/DebugInfo/X86/location-range-inlined-xblock.mir
M llvm/test/DebugInfo/X86/location-range.mir
M llvm/test/DebugInfo/X86/pr19307.mir
M llvm/test/DebugInfo/X86/prolog-params.mir
M llvm/test/DebugInfo/X86/single-location-inlined-param.mir
M llvm/test/DebugInfo/X86/single-location-interrupted-scope.mir
M llvm/test/DebugInfo/X86/single-location.mir
M llvm/test/DebugInfo/assignment-tracking/X86/lower-offset-expression.ll
M llvm/test/DebugInfo/assignment-tracking/X86/lower-to-value.ll
M llvm/test/DebugInfo/assignment-tracking/X86/mem-loc-frag-fill-cfg.ll
M llvm/test/DebugInfo/assignment-tracking/X86/mem-loc-frag-fill.ll
M llvm/test/DebugInfo/assignment-tracking/X86/single-memory-location-2.ll
M llvm/test/DebugInfo/assignment-tracking/X86/single-memory-location.ll
Log Message:
-----------
[DebugInfo] Convert tests to opaque pointers (NFC)
Link: https://discourse.llvm.org/t/enabling-opaque-pointers-by-default/61322
Commit: 51a3019e4d096d93820f921af20d7a0bf3fffc48
https://github.com/llvm/llvm-project/commit/51a3019e4d096d93820f921af20d7a0bf3fffc48
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaDecl.cpp
A clang/test/CXX/drs/dr28xx.cpp
Log Message:
-----------
[Clang][Sema] Implement proposed resolution for CWG2847 (#80899)
Per the approved resolution for CWG2847, [temp.expl.spec] p8 will state:
> An explicit specialization shall not have a trailing _requires-clause_ unless it declares a function template.
We already implement this _partially_ insofar that a diagnostic is issued upon instantiation of `A<int>` in the following example:
```
template<typename>
struct A
{
template<typename>
void f();
template<>
void f<int>() requires true; // error: non-templated function cannot have a requires clause
};
template struct A<int>; // note: in instantiation of template class 'A<int>' requested here
```
This patch adds a bespoke diagnostic for such declarations, and moves the point of diagnosis for non-templated functions with trailing requires-clauses from `CheckFunctionDeclaration` to `ActOnFunctionDeclarator` (there is no point in diagnosing this during instantiation since we already have all the necessary information when parsing the declaration).
Commit: 12aad1a53c7ae70b88e7cb3fa3d04b6a3532f669
https://github.com/llvm/llvm-project/commit/12aad1a53c7ae70b88e7cb3fa3d04b6a3532f669
Author: carlobertolli <carlo.bertolli at amd.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M openmp/libomptarget/src/omptarget.cpp
A openmp/libomptarget/test/mapping/auto_zero_copy_globals.cpp
Log Message:
-----------
[OpenMP] Support for global variables when in auto zero-copy. (#80876)
When building without unified_shared_memory, global variables are
declared in the device binary and allocated upon loading onto GPU
memory. However, when running in zero-copy mode (same as with
unified_shared_memory) D2H and H2D copies for mapped local and global
variables are turned off. This patch turns back on H2D and D2H copies
when they refer to global variables, enabling an application built
without unified_shared_memory to work correctly with global variables
when run under automatic zero-copy.
Co-authored-by: Doru Bercea <doru.bercea at amd.com>
Co-authored-by: Jan-Patrick Lehr <janpatrick.lehr at amd.com>
Commit: 4c9717c3bee3525c2bf0251469191cc65e246a14
https://github.com/llvm/llvm-project/commit/4c9717c3bee3525c2bf0251469191cc65e246a14
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M mlir/lib/Dialect/OpenACC/Transforms/LegalizeData.cpp
M mlir/test/Dialect/OpenACC/legalize-data.mlir
Log Message:
-----------
[mlir][openacc] Add private/reduction in legalize data pass (#80882)
This is a follow up to #80351 and adds private and reduction operands
from acc.loop, acc.parallel and acc.serial operations.
Commit: e96ba2509d5a1a3ba4ebba806828fc62cd2c34de
https://github.com/llvm/llvm-project/commit/e96ba2509d5a1a3ba4ebba806828fc62cd2c34de
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/readability/BUILD.gn
Log Message:
-----------
[gn build] Port c13e271a3836
Commit: 091fc81d485594d4b751c10518230769c905430c
https://github.com/llvm/llvm-project/commit/091fc81d485594d4b751c10518230769c905430c
Author: Konstantin Varlamov <varconsteq at gmail.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M libcxx/include/__config
Log Message:
-----------
[libc++][hardening] Check that `_LIBCPP_HARDENING_MODE_DEFAULT` is defined (#80353)
If the `_LIBCPP_HARDENING_MODE_DEFAULT` macro is not defined,
`_LIBCPP_HARDENING_MODE` will be considered defined but fail the check
for a valid hardening mode, resulting in a slightly less understandable
error (that error is really meant more to prevent users from passing
incorrect values such as `0` or `1` directly rather than catching
configuration issues).
Commit: c8a97c0f30f3da86e892bf68d572068634994a1e
https://github.com/llvm/llvm-project/commit/c8a97c0f30f3da86e892bf68d572068634994a1e
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
Log Message:
-----------
[RISCV] Use hasStdExtCOrZca instead of hasStdExtC in estimateFunctionSizeInBytes. (#80905)
Commit: 1dd9162b95d29367635f32c7be24779b1ddaa7e5
https://github.com/llvm/llvm-project/commit/1dd9162b95d29367635f32c7be24779b1ddaa7e5
Author: Greg Clayton <gclayton at fb.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M lldb/source/Target/TargetList.cpp
M lldb/test/API/python_api/target/TestTargetAPI.py
Log Message:
-----------
[lldb] Fix a crasher when using the public API. (#80508)
A user found a crash when they would do code like:
```
(lldb) script
>>> target = lldb.SBTarget()
>>> lldb.debugger.SetSelectedTarget(target)
```
We were not checking if the target was valid in and it caused a crash..
Commit: 1b5fae9118ab3450f22fb45f686a2cd0d979cbb4
https://github.com/llvm/llvm-project/commit/1b5fae9118ab3450f22fb45f686a2cd0d979cbb4
Author: Björn Pettersson <bjorn.a.pettersson at ericsson.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M llvm/docs/UserGuides.rst
M llvm/docs/WritingAnLLVMNewPMPass.rst
M llvm/docs/WritingAnLLVMPass.rst
Log Message:
-----------
[docs] Try to make it easier to find info about new PM vs legacy PM (#80834)
Seen several beginner questions popping up in discourse about how to
implement and run custom passes. And then it turns out that they are
following the old "Writing an LLVM Pass" guide that describe legacy
passes, and then things are mixed up when they try to run that pass
using opt that nowadays default to the new pass manager.
This is an attempt to make it slightly clearer in the User Guides that
there are two different "Writing an LLVM Pass" pages depending on which
pass manager that should be used. This is done by renaming the legacy
version of "Writing an LLVM Pass" as "Writing an LLVM Pass (legacy PM
version)".
Also reordered the links to put the link to the new pass manager
documentation first.
This patch also moves the warning text that cross references the
description on how to write a pass for legacy/new PM to make sure it
ends up already in the beginning of the descriptions.
Also adding a new warning in the "Running a pass with opt" section of
the legacy PM version of the guide, to inform that those examples are
outdated.
Commit: e976385415da45650952316db63c4ccd370e4030
https://github.com/llvm/llvm-project/commit/e976385415da45650952316db63c4ccd370e4030
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M llvm/lib/Transforms/IPO/GlobalOpt.cpp
A llvm/test/Transforms/GlobalOpt/resolve-static-ifunc.ll
Log Message:
-----------
[llvm][GlobalOpt] Optimize statically resolvable IFuncs (#80606)
Commit: 16d890ced68aafae4cc8ba3efc9213bfab84ba54
https://github.com/llvm/llvm-project/commit/16d890ced68aafae4cc8ba3efc9213bfab84ba54
Author: Kojo Acquah <KoolJBlack at users.noreply.github.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/ArmNeon/ArmNeon.td
M mlir/test/Dialect/ArmNeon/invalid.mlir
M mlir/test/Dialect/ArmNeon/roundtrip.mlir
M mlir/test/Target/LLVMIR/arm-neon.mlir
Log Message:
-----------
[mlir][ArmNeon] Adds Arm Neon SMMLA, UMMLA, and USMMLA Intrinsics (#80511)
This adds the SMMLA, UMMLA, and USMMLA intrinsics to Neon dialect bringing it in line with the SVE dialect.
These ops enable matrix multiply-accumulate instructions with two e 2x8 matrix inputs of respective signage into a 2x2 32-bit integer accumulator. This is equivalent to performing an 8-way dot product per destination element.
Op details:
https://developer.arm.com/architectures/instruction-sets/intrinsics/#f:@navigationhierarchiessimdisa=[Neon]&q=mmla
Commit: 8075f0db16f3291beed65cbcd034b047cc7373bf
https://github.com/llvm/llvm-project/commit/8075f0db16f3291beed65cbcd034b047cc7373bf
Author: Maksim Panchenko <maks at fb.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M bolt/lib/Core/BinarySection.cpp
Log Message:
-----------
[BOLT] Use new contents when emitting sections with relocations (#80782)
We can use BinarySection::updateContents() to change section contents.
However, if we also add relocations for new contents, then the original
data (i.e. not updated) is going to be used. Fix that. A follow-up diff
will use the update interface and will include a test case.
Commit: b98db441f01ee8e0cdab8df1ef8a9b0aff2f6e5a
https://github.com/llvm/llvm-project/commit/b98db441f01ee8e0cdab8df1ef8a9b0aff2f6e5a
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M bolt/test/AArch64/ifunc.c
Log Message:
-----------
[BOLT] Make ifunc test not statically-resolvable. NFC
This fixes a breakage caused by e976385415da
Commit: 4d8e849dfbf3ca1301f208a7286b31215d2a94db
https://github.com/llvm/llvm-project/commit/4d8e849dfbf3ca1301f208a7286b31215d2a94db
Author: Alexander Shaposhnikov <6532716+alexander-shaposhnikov at users.noreply.github.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
M llvm/test/Transforms/ConstraintElimination/abs.ll
Log Message:
-----------
[ConstraintElim] Add facts for llvm.abs >= 0 (#79070)
Add facts for llvm.abs >= 0.
https://alive2.llvm.org/ce/z/GXnMHu
Commit: fbded6663fb04d12f451c18bc8018989d2db3a87
https://github.com/llvm/llvm-project/commit/fbded6663fb04d12f451c18bc8018989d2db3a87
Author: ZijunZhaoCCK <88353225+ZijunZhaoCCK at users.noreply.github.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M clang/lib/Driver/Driver.cpp
R clang/test/Driver/android-version.cpp
A clang/test/Driver/invalid-version.cpp
Log Message:
-----------
[Driver] Check the environment version except wasm case. (#80783)
Add isWasm() check for here:
https://github.com/llvm/llvm-project/pull/78655#issuecomment-1928075569
Commit: 08457e1f7693bdafe5330cde2bf41290cad4cade
https://github.com/llvm/llvm-project/commit/08457e1f7693bdafe5330cde2bf41290cad4cade
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M libcxx/test/libcxx/containers/sequences/deque/abi.compile.pass.cpp
A libcxx/test/libcxx/containers/sequences/list/abi.compile.pass.cpp
A libcxx/test/libcxx/containers/sequences/vector.bool/abi.compile.pass.cpp
A libcxx/test/libcxx/containers/sequences/vector/abi.compile.pass.cpp
Log Message:
-----------
[libc++] Add tests to pin down the ABI of deque, list and vector (#80191)
This patch adds tests that lock down the ABI of types like deque, list
and vector.
An upcoming patch will replace the usage of __compressed_pair in these
classes
by [[no_unique_address]], so we are adding these tests to pin down their
ABI
before making the change. That way, we can be confident that the patch
making
the actual ABI-sensitive change is safe if it doesn't break these tests.
Commit: 42357df2df4977c80aba77fcab706638a121bde0
https://github.com/llvm/llvm-project/commit/42357df2df4977c80aba77fcab706638a121bde0
Author: PiJoules <6019989+PiJoules at users.noreply.github.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M clang/lib/AST/ExprConstant.cpp
A clang/test/AST/fixed-point-zero-init.cpp
Log Message:
-----------
[clang] Add zero-initialization for fixed point types (#80781)
Commit: 2f490583c368627f552c71e340c39f2b55c0526c
https://github.com/llvm/llvm-project/commit/2f490583c368627f552c71e340c39f2b55c0526c
Author: jkorous-apple <32549412+jkorous-apple at users.noreply.github.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-debug.cpp
Log Message:
-----------
[-Wunsafe-buffer-usage] Fix debug notes for unclaimed DREs (#80787)
Debug notes for unclaimed DeclRefExpr should report any DRE of an unsafe
variable that is not covered by a Fixable (i. e. fixit for the
particular AST pattern isn't implemented for whatever reason). Currently
not all unclaimed DeclRefExpr-s are reported which is a bug. The debug
notes report only those DREs where the referred VarDecl has at least one
other DeclRefExpr which is claimed (covered by a fixit). If there is an
unsafe VarDecl that has exactly one DRE and the DRE isn't claimed then
the debug note about missing fixit won't be emitted. That is because the
debug note is emitted from within a loop over set of successfully
matched FixableGadgets which by-definition is missing those DRE that are
not matched at all.
The new code simply iterates over all unsafe VarDecls and all of their
unclaimed DREs.
Commit: 1b03cbc93989c84ad0b78c27d4427a7eaa5842f1
https://github.com/llvm/llvm-project/commit/1b03cbc93989c84ad0b78c27d4427a7eaa5842f1
Author: Fernando Tagawa <tagawafernando at gmail.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M clang/lib/Format/BreakableToken.cpp
M clang/unittests/Format/FormatTestComments.cpp
Log Message:
-----------
[clang-format] Handle doxygen commands starting with \ (#80381)
Fixes llvm/llvm-project#63241
Doxygen commands can start with `@` or `\`.
Commit: 2217837c3377c22bffb6c498a732ce4672b8b535
https://github.com/llvm/llvm-project/commit/2217837c3377c22bffb6c498a732ce4672b8b535
Author: Wanyi <kusmour at gmail.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M lldb/bindings/headers.swig
A lldb/bindings/interface/SBStatisticsOptionsDocStrings.i
M lldb/bindings/interfaces.swig
M lldb/include/lldb/API/LLDB.h
M lldb/include/lldb/API/SBDefines.h
A lldb/include/lldb/API/SBStatisticsOptions.h
M lldb/include/lldb/API/SBTarget.h
M lldb/include/lldb/Target/Statistics.h
M lldb/include/lldb/Target/Target.h
M lldb/include/lldb/lldb-forward.h
M lldb/source/API/CMakeLists.txt
A lldb/source/API/SBStatisticsOptions.cpp
M lldb/source/API/SBTarget.cpp
M lldb/source/Commands/CommandObjectStats.cpp
M lldb/source/Commands/Options.td
M lldb/source/Target/Statistics.cpp
M lldb/source/Target/Target.cpp
M lldb/test/API/functionalities/stats_api/TestStatisticsAPI.py
M lldb/test/API/functionalities/stats_api/main.c
Log Message:
-----------
Support statistics dump summary only mode (#80745)
Add a new --summary option to statistics dump command so that it is
much more light weight than the full version.
Introduce a new SBStatisticsOptions API setting the verbosity of statistics dump.
[PR
#80218](https://github.com/llvm/llvm-project/pull/80218#discussion_r1473639878)
Commit: bcd1490496a5bf06ce98470ef622db29a8eebbf7
https://github.com/llvm/llvm-project/commit/bcd1490496a5bf06ce98470ef622db29a8eebbf7
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/API/BUILD.gn
Log Message:
-----------
[gn build] Port 2217837c3377
Commit: 44767278650227b30cf969170dc139197ce4338d
https://github.com/llvm/llvm-project/commit/44767278650227b30cf969170dc139197ce4338d
Author: Heejin Ahn <aheejin at gmail.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M clang/test/Preprocessor/wasm-target-features.c
Log Message:
-----------
[WebAssembly] Add tests for generic CPU config (#80775)
This adds tests for `generic` cpu configuration. We had tests for `mvp`
and `bleeding-edge` configs but not `generic`.
Commit: 897297e8b09ed6076f5dc6883b459b209bb9e29f
https://github.com/llvm/llvm-project/commit/897297e8b09ed6076f5dc6883b459b209bb9e29f
Author: Heejin Ahn <aheejin at gmail.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M clang/test/Driver/wasm-features.c
Log Message:
-----------
[WebAssembly] Fix CPU tests in wasm-features.c (#80900)
The CPU tests in this file are not working as intended. Specifying
`-mcpu=[mvp|generic|bleeding-edge]` in `clang` command line does NOT add
arguments like `-target-feature`, `+feature-name`, ... to `clang-14`
command line. Specifying `-mcpu=[mvp|generic|bleeding-edge]` in `clang`
command line will just add `-target-cpu` `[mvp|generic|bleeding-edge]`
to `clang-14` command line, and individual features are added here
within `clang-14` invocation:
https://github.com/llvm/llvm-project/blob/5b780c8c6c558ec283a9eec485a4f172df0f9fe1/clang/lib/Basic/Targets/WebAssembly.cpp#L150-L163
The reason these CPU tests are passing is because they only have `-NOT`
checks, and we don't emit `-target-feature` arguments for them anyway,
the test passes, but they don't check what they are supposed to check.
This make CPU tests only check `-target-cpu` lines instead of individual
features, which will not be emitted.
Commit: 055ac72ecca4b56826ac02851f8a18f20a8557df
https://github.com/llvm/llvm-project/commit/055ac72ecca4b56826ac02851f8a18f20a8557df
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
M llvm/unittests/CodeGen/GlobalISel/GISelUtilsTest.cpp
Log Message:
-----------
[GISel] Add support for scalable vectors in getLCMType (#80306)
This function can be called from buildCopyToRegs where at least one of
the types is a scalable vector type. This function crashed because it
did not know how to handle scalable vector types.
This patch extends the functionality of getLCMType to handle when at
least one of the types is a scalable vector. getLCMType between a fixed
and scalable vector is not implemented since the docstring of the
function explains that getLCMType is used to build MERGE/UNMERGE
instructions and we will never build a MERGE/UNMERGE between fixed and
scalable vectors.
Commit: 6d268577259071cb1d9cccd89006bae8570f6c51
https://github.com/llvm/llvm-project/commit/6d268577259071cb1d9cccd89006bae8570f6c51
Author: Wanyi <kusmour at gmail.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
R lldb/bindings/interface/SBStatisticsOptionsDocStrings.i
A lldb/bindings/interface/SBStatisticsOptionsDocstrings.i
Log Message:
-----------
Fix the Docstring.i filename (#80917)
The typo DocStrings.i broke linux buildbots
Commit: bd1324113e90884a4a83d6232ecf0c623e2e113e
https://github.com/llvm/llvm-project/commit/bd1324113e90884a4a83d6232ecf0c623e2e113e
Author: Enna1 <xumingjie.enna1 at bytedance.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M compiler-rt/lib/memprof/memprof_allocator.cpp
M compiler-rt/lib/memprof/memprof_allocator.h
M compiler-rt/lib/memprof/memprof_interceptors.cpp
M compiler-rt/lib/memprof/memprof_internal.h
M compiler-rt/lib/memprof/memprof_malloc_linux.cpp
Log Message:
-----------
[MemProf][NFC] Clean up runtime code (#80581)
Commit: c5bf1f4b8f5ba1912f18729f0726c9227f567c9d
https://github.com/llvm/llvm-project/commit/c5bf1f4b8f5ba1912f18729f0726c9227f567c9d
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/clamped-trip-count.ll
Log Message:
-----------
[test] Autogen a test for ease of update in forthcoming patch
Commit: 1aafe7605b295bdb6e9951f4ca86390d306152d2
https://github.com/llvm/llvm-project/commit/1aafe7605b295bdb6e9951f4ca86390d306152d2
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M llvm/test/Transforms/LoopVectorize/RISCV/short-trip-count.ll
Log Message:
-----------
[test] Regen a test for naming changes
Commit: 69a661cbae10495e9556d195fa683c0100ae299c
https://github.com/llvm/llvm-project/commit/69a661cbae10495e9556d195fa683c0100ae299c
Author: Visoiu Mistrih Francis <890283+francisvm at users.noreply.github.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/lib/Target/RISCV/RISCVFrameLowering.h
A llvm/test/CodeGen/RISCV/zcmp-cm-push-pop.mir
Log Message:
-----------
[RISCV] Remove CalleeSavedInfo for Zcmp/save-restore-libcalls registers (#79535)
Registers that are pushed/popped by Zcmp or libcalls have pre-defined
frame indices that are never allocated in MachineFrameInfo. They're
being used throughout PEI, but the rest of codegen doesn't work that way
and expects each frame index to be a valid index in MFI.
This patch keeps it local to PEI and removes them from the
CalleeSavedInfo list at the end of the pass.
Before this pass, any MIR testing post-PEI is broken and asserts (see
issue #79491).
Commit: cf0773fb14e18e97de3f66b4f21f286ca4f97eae
https://github.com/llvm/llvm-project/commit/cf0773fb14e18e97de3f66b4f21f286ca4f97eae
Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/include/llvm/Target/TargetSchedule.td
Log Message:
-----------
[TableGen][NFC] Remove EponymousProcResourceKind (#80812)
We can use `!cast` to cast `NAME` to `ProcResourceKind`.
Commit: c7fa25f0b2398f7037af6e10b18456b69178f7c5
https://github.com/llvm/llvm-project/commit/c7fa25f0b2398f7037af6e10b18456b69178f7c5
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFStreamer.cpp
M llvm/test/MC/RISCV/elf-flags.s
Log Message:
-----------
[RISCV] Set the RVC bit in the ELF EFlags for C or Zca. (#80913)
Commit: 8ea7f1d20ad8ab8c381800eefda948d85c6860cc
https://github.com/llvm/llvm-project/commit/8ea7f1d20ad8ab8c381800eefda948d85c6860cc
Author: Maksim Panchenko <maks at fb.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M bolt/lib/Passes/BinaryPasses.cpp
Log Message:
-----------
[BOLT][NFCI] Keep instruction annotations (#80382)
We used to delete most instruction annotations before code emission. It
was done to release memory taken by annotations and to reduce overall
memory consumption. However, since the implementation of annotations has
moved to using existing instruction operands, the memory overhead
associated with them has reduced drastically. I measured that savings
are less than 0.5% on large binaries and processing time is just
slightly reduced if we keep them. Additionally, I plan to use
annotations in pre-emission passes for the Linux kernel rewriter.
Commit: 8ae048507086cc3a2ceb6974506d3048c516a726
https://github.com/llvm/llvm-project/commit/8ae048507086cc3a2ceb6974506d3048c516a726
Author: Jason Eckhardt <jeckhardt at nvidia.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/docs/TableGen/BackEnds.rst
M llvm/test/TableGen/generic-tables-instruction.td
M llvm/utils/TableGen/CodeGenTarget.cpp
M llvm/utils/TableGen/CodeGenTarget.h
M llvm/utils/TableGen/SearchableTableEmitter.cpp
Log Message:
-----------
[TableGen] Extend direct lookup to instruction values in generic tables. (#80486)
Currently, for some tables involving a single primary key field which is
integral and densely numbered, a direct lookup is generated rather than
a binary search. This patch extends the direct lookup function
generation to instructions, where the integral value corresponds to the
instruction's enum value.
While this isn't as common as for other tables, it does occur in at
least one downstream backend and one in-tree backend.
Added a unit test and minimally updated the documentation.
Commit: adbf21f12b3069b2554efb39f2e92c6cf6f24940
https://github.com/llvm/llvm-project/commit/adbf21f12b3069b2554efb39f2e92c6cf6f24940
Author: Boian Petkantchin <boian.petkantchin at amd.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
A mlir/include/mlir/Dialect/Func/Extensions/MeshShardingExtensions.h
M mlir/include/mlir/Dialect/Mesh/IR/MeshOps.h
M mlir/include/mlir/Dialect/Mesh/Interfaces/ShardingInterface.h
M mlir/include/mlir/Dialect/Mesh/Interfaces/ShardingInterface.td
A mlir/include/mlir/Dialect/Mesh/Interfaces/ShardingInterfaceImpl.h
M mlir/include/mlir/Dialect/Mesh/Transforms/Passes.td
M mlir/include/mlir/Dialect/Mesh/Transforms/Spmdization.h
M mlir/lib/Dialect/Func/Extensions/AllExtensions.cpp
M mlir/lib/Dialect/Func/Extensions/CMakeLists.txt
A mlir/lib/Dialect/Func/Extensions/MeshShardingExtensions.cpp
M mlir/lib/Dialect/Mesh/IR/MeshOps.cpp
M mlir/lib/Dialect/Mesh/Interfaces/ShardingInterface.cpp
M mlir/lib/Dialect/Mesh/Transforms/ShardingPropagation.cpp
M mlir/lib/Dialect/Mesh/Transforms/Spmdization.cpp
M mlir/lib/Dialect/Tosa/IR/ShardingInterfaceImpl.cpp
M mlir/test/Dialect/Mesh/resharding-spmdization.mlir
A mlir/test/Dialect/Mesh/spmdization.mlir
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][mesh] Add spmdization pass (#80518)
Add a pass that converts a function that has sharding annotations into
SPMD form.
Commit: b0785cd1cbf97dbd4eb39647ff22771ef0a7cfea
https://github.com/llvm/llvm-project/commit/b0785cd1cbf97dbd4eb39647ff22771ef0a7cfea
Author: Serge Pavlov <sepavloff at gmail.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/lib/Target/ARM/ARMInstrInfo.td
M llvm/lib/Target/ARM/ARMInstructionSelector.cpp
A llvm/test/CodeGen/ARM/GlobalISel/select-const.mir
Log Message:
-----------
[GlobalISel][ARM] Support missing case for G_CONSTANT (#80555)
Global Instruction Selector could not select the code:
%0:gprb(s32) = G_CONSTANT i32 -1
In DAG selector the similar code is selected to the instruction MVNi
using custom operand `mod_imm_not`. Changing its definition from
`PatLeaf` to `ImmLeaf` and providing counterpart for `imm_not_XFORM`
make the relevant rule available for GlobalISel too.
Commit: 966f78bdf849d1ae4ce205f93f5967df71e95f4c
https://github.com/llvm/llvm-project/commit/966f78bdf849d1ae4ce205f93f5967df71e95f4c
Author: AtariDreams <83477269+AtariDreams at users.noreply.github.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
M llvm/test/Transforms/InstCombine/fdiv.ll
Log Message:
-----------
[InstCombine] Resolve TODO: nnan nsz X / -0.0 -> copysign(inf, X) (#79766)
Commit: 86fa21e93efe6d8079d202bf30e7e8db66cc32a0
https://github.com/llvm/llvm-project/commit/86fa21e93efe6d8079d202bf30e7e8db66cc32a0
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M mlir/lib/Dialect/Mesh/Interfaces/ShardingInterface.cpp
Log Message:
-----------
[mlir] Fix -Wunused-function in ShardingInterface.cpp (NFC)
llvm-project/mlir/lib/Dialect/Mesh/Interfaces/ShardingInterface.cpp:522:1:
error: unused function 'isValueCompatibleWithFullReplicationSharding' [-Werror,-Wunused-function]
isValueCompatibleWithFullReplicationSharding(Value value,
^
1 error generated.
Commit: 679d0d70295cab1f3692fc1919299d8c16070863
https://github.com/llvm/llvm-project/commit/679d0d70295cab1f3692fc1919299d8c16070863
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M llvm/docs/RISCVUsage.rst
Log Message:
-----------
[RISCV][Docs] Fix link to Zjpm spec in RISCVUsage.rst.
Commit: c5e5661591a90094eeb5831de86d701419c74f07
https://github.com/llvm/llvm-project/commit/c5e5661591a90094eeb5831de86d701419c74f07
Author: Freddy Ye <freddy.ye at intel.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M clang/lib/Headers/cpuid.h
Log Message:
-----------
[X86] Add missing MACROs in cpuid.h (#80815)
Relate gcc file:
https://github.com/gcc-mirror/gcc/blob/master/gcc/config/i386/cpuid.h
Commit: 8c84096da195ae38336ba9aa700dc35e567157ba
https://github.com/llvm/llvm-project/commit/8c84096da195ae38336ba9aa700dc35e567157ba
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/Interp.h
M clang/lib/AST/Interp/Opcodes.td
M clang/test/AST/Interp/complex.cpp
Log Message:
-----------
[clang][Interp] Fix initializing _Complex values from DeclRefExpr
See the comment I added. When initializing a complex value from a
DeclRefExpr, we need to manually copy both array elements.
This adds some unfortunate code duplication that I'm still pondering
on how to get rid of best.
Commit: 28b82075ff3e58ba9c6959a585d3d0fc5d0325e5
https://github.com/llvm/llvm-project/commit/28b82075ff3e58ba9c6959a585d3d0fc5d0325e5
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/test/AST/Interp/complex.cpp
Log Message:
-----------
[clang][Interp] Support ImplicitValueInitExpr for complex types
Initialize both elements to 0, once again.
Commit: cb7561ac5a8445f5c526c949efd50f45f55bb089
https://github.com/llvm/llvm-project/commit/cb7561ac5a8445f5c526c949efd50f45f55bb089
Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/MachineScheduler.cpp
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
Log Message:
-----------
[Sched] Add MacroFusion mutation if fusions are not empty (#72227)
We can get the fusions list by `getMacroFusions` and if it is not
empty, then we will add the MacroFusion mutation automatically.
Commit: ea4f44e85f7ca884d42b9b12bd13bab47c3e5d3c
https://github.com/llvm/llvm-project/commit/ea4f44e85f7ca884d42b9b12bd13bab47c3e5d3c
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
Log Message:
-----------
[RISCV] Remove unused variable 'ST' in RISCVTargetMachine.cpp (NFC)
llvm-project/llvm/lib/Target/RISCV/RISCVTargetMachine.cpp:358:27:
error: unused variable 'ST' [-Werror,-Wunused-variable]
const RISCVSubtarget &ST = C->MF->getSubtarget<RISCVSubtarget>();
^
1 error generated.
Commit: 9bda1de0b6096d26e87fed18cb681cc3e5b8319a
https://github.com/llvm/llvm-project/commit/9bda1de0b6096d26e87fed18cb681cc3e5b8319a
Author: Carl Ritson <carl.ritson at amd.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/TwoAddressInstructionPass.cpp
A llvm/test/CodeGen/AMDGPU/GlobalISel/twoaddr-extract-dyn-v7f64.mir
Log Message:
-----------
[TwoAddressInstruction] Propagate undef flags for partial defs (#79286)
If part of a register (lowered from REG_SEQUENCE) is undefined then we
should propagate undef flags to uses of those lanes. This is only
performed when live intervals are present as it requires live intervals
to correctly match uses to defs, and the primary goal is to allow
precise computation of subrange intervals.
Commit: e7c0e59bbcf713d09ca7a09cd513399d66a94ca5
https://github.com/llvm/llvm-project/commit/e7c0e59bbcf713d09ca7a09cd513399d66a94ca5
Author: Job Noorman <jnoorman at igalia.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M bolt/lib/Rewrite/RewriteInstance.cpp
Log Message:
-----------
[BOLT] Fix crash for relocs in data sections against ABS symbols (#76026)
Fixes #75771
Commit: 93962ea1176b91239496378e7141a44dc95a5efd
https://github.com/llvm/llvm-project/commit/93962ea1176b91239496378e7141a44dc95a5efd
Author: Björn Pettersson <bjorn.a.pettersson at ericsson.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/docs/Passes.rst
Log Message:
-----------
[docs][passes] Update documentation of Analysis and Transform Passes (#80835)
- Added a warning about the pass list being incomplete (and hint about
"opt -print-passes" listing known passes).
- Removed legacy PM example involving "opt -analyze".
- print-function and print-module does not exist with those names in the
new PM. Since the document has been updated to reflect the new PM names
earlier, those names were changed into referring to function(print) and
module(print) instead.
- Resolved some FIXME:s around strip* passes.
Commit: 9a028afdd655f8e378819e4125292d973985f3f4
https://github.com/llvm/llvm-project/commit/9a028afdd655f8e378819e4125292d973985f3f4
Author: Matthias Springer <me at m-sp.org>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/Transform/IR/TransformInterfaces.h
M mlir/include/mlir/IR/PatternMatch.h
M mlir/include/mlir/Transforms/DialectConversion.h
M mlir/lib/Dialect/Transform/IR/TransformInterfaces.cpp
M mlir/lib/Transforms/Utils/DialectConversion.cpp
M mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp
Log Message:
-----------
[mlir][IR][NFC] `Listener::notifyMatchFailure` returns `void` (#80704)
There are two `notifyMatchFailure` methods: one in the rewriter and one
in the listener. The one in the rewriter notifies the listener and
returns "failure" for convenience. The one in the listener should not
return anything; it is just a notification. It can currently be abused
to return "success" from the rewriter function. That would be a
violation of the rewriter API rules.
Also make sure that the listener is always notified about match
failures, not just with `NDEBUG`. The current implementation is
consistent: one `notifyMatchFailure` overload notifies only in debug
mode and another one notifies all the time.
Commit: 2ad6fd6735150e44e2170368968c0006df4d8387
https://github.com/llvm/llvm-project/commit/2ad6fd6735150e44e2170368968c0006df4d8387
Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
A llvm/lib/Target/RISCV/RISCVInstrInfoSFB.td
Log Message:
-----------
[RISCV][NFC] Move SFB pseudos and patterns to RISCVInstrInfoSFB.td (#80945)
To make the structure of TableGen files clear.
Commit: 7d508eb5d38f4bbbab4230a666d9e742e271af61
https://github.com/llvm/llvm-project/commit/7d508eb5d38f4bbbab4230a666d9e742e271af61
Author: Carl Ritson <carl.ritson at amd.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
R llvm/test/CodeGen/AMDGPU/pal-metadata-3.0-callable.ll
Log Message:
-----------
Revert "[AMDGPU] Add pal metadata 3.0 support to callable pal funcs (#67104)"
This reverts commit d6c7253d32e4bdff619c39708170f1c1fa01ff95.
Change causing CTS failures due to incomplete metadata.
Commit: fff86c6111b6d3ed68a8ea57ab5e7d3d716472c6
https://github.com/llvm/llvm-project/commit/fff86c6111b6d3ed68a8ea57ab5e7d3d716472c6
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/ArmSME/IR/ArmSMEOps.td
M mlir/lib/Conversion/ArmSMEToLLVM/ArmSMEToLLVM.cpp
M mlir/lib/Dialect/ArmSME/Transforms/OuterProductFusion.cpp
M mlir/test/Conversion/ArmSMEToLLVM/arm-sme-to-llvm.mlir
M mlir/test/Dialect/ArmSME/invalid.mlir
M mlir/test/Dialect/ArmSME/outer-product-fusion.mlir
M mlir/test/Dialect/ArmSME/roundtrip.mlir
A mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-outerproduct-i8i8i32.mlir
Log Message:
-----------
[mlir][ArmSME] Support 4-way widening outer products (#79288)
This patch introduces support for 4-way widening outer products. This
enables the fusion of 4 'arm_sme.outerproduct' operations that are
chained via the accumulator into single widened operations.
Changes:
- Adds the following operations:
- smopa_4way, smops_4way
- umopa_4way, umops_4way
- sumopa_4way, sumops_4way
- sumopa_4way, sumops_4way
- Implements conversions for the above ops to intrinsics in ArmSMEToLLVM.
- Extends 'arm-sme-outer-product' pass.
For a detailed description of these operations see the
'arm_sme.smopa_4way' description.
Commit: 67402fe5e4bf7a706d47bc106113f599a8d59947
https://github.com/llvm/llvm-project/commit/67402fe5e4bf7a706d47bc106113f599a8d59947
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M flang/include/flang/Lower/ConvertCall.h
M flang/include/flang/Optimizer/Builder/MutableBox.h
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Lower/ConvertExpr.cpp
M flang/lib/Optimizer/Builder/MutableBox.cpp
M flang/test/Lower/HLFIR/function-return-as-expr.f90
Log Message:
-----------
[flang] Do not move finalized function results in lowering (#80683)
Fortran requires finalizing function results when the result type have
final procedures.
Lowering was unconditionally "moving" function results into values
"hlfir.expr". This is not correct when the results are finalized because
it means the function result storage will be used after the hlfir.expr.
Only move function results that are not finalized.
Commit: 1b87ebce924e507cbc27c2e0dc623941d16388c9
https://github.com/llvm/llvm-project/commit/1b87ebce924e507cbc27c2e0dc623941d16388c9
Author: Yi Kong <yikong at google.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/docs/CommandGuide/llvm-objcopy.rst
M llvm/include/llvm/ObjCopy/CommonConfig.h
M llvm/lib/ObjCopy/ConfigManager.cpp
M llvm/lib/ObjCopy/ELF/ELFObjcopy.cpp
A llvm/test/tools/llvm-objcopy/ELF/prefix-symbols-remove.test
M llvm/tools/llvm-objcopy/ObjcopyOptions.cpp
M llvm/tools/llvm-objcopy/ObjcopyOpts.td
Log Message:
-----------
[llvm-objcopy] Add --remove-symbol-prefix (#79415)
Commit: e1d564ac130fb6ec14d1e237a123373d64249e55
https://github.com/llvm/llvm-project/commit/e1d564ac130fb6ec14d1e237a123373d64249e55
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/test/tools/llvm-exegesis/X86/latency/middle-half.s
Log Message:
-----------
[llvm-exegesis] Allow retries on flaky middle half test
The middle half repetition mode test sometimes fails on the avx512
buildbots due to a negative value being produced. This needs more
investigation, but add a retry count temporarily to alleviate
false-positive errors on the buildbots.
This is being tracked in #80957.
Commit: 0f439f374f9cec73466c5166b9a8764214a74069
https://github.com/llvm/llvm-project/commit/0f439f374f9cec73466c5166b9a8764214a74069
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M flang/lib/Optimizer/HLFIR/Transforms/BufferizeHLFIR.cpp
A flang/test/HLFIR/as_expr-codegen-polymorphic.fir
M flang/test/HLFIR/bufferize-poly-expr.fir
Log Message:
-----------
[flang] Fix hlfir.as_expr codegen for polymorphic entities (#80824)
https://github.com/llvm/llvm-project/pull/80683 revealed that
hlfir.as_expr was propagating the temporary buffer for polymorphic
values as an allocatable while codegen later expects to be working with
fir.box/fir.class but not fir.ref<box/class> when processing the
operations using the hlfir.as_expr result.
Dereference the temporary allocatable as soon as it is created.
Commit: 88c830a1a5687bec597ca947159e4dd9a3f2ac2d
https://github.com/llvm/llvm-project/commit/88c830a1a5687bec597ca947159e4dd9a3f2ac2d
Author: Thomas Preud'homme <thomas.preudhomme at arm.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-named.mlir
Log Message:
-----------
[TOSA] Fix avgpool2d accum in wider type (#80849)
Truncate result of avgpool when accumulation is done in a wider type
than the result element type, such as when doing a f16 avgpool2d with a
f32 accumulator type.
Commit: f8562e245c0c3ebaa8c75575fac566497a0c9245
https://github.com/llvm/llvm-project/commit/f8562e245c0c3ebaa8c75575fac566497a0c9245
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M flang/lib/Lower/OpenMP.cpp
Log Message:
-----------
[flang][OpenMP][NFC] Further refactoring for `genOpWithBody` & (#80839)
`createBodyOfOp`
This refactors the arguments to the above functions in 2 ways:
- Combines the 2 structs of arguments into one since they were almost
identical.
- Replaces the `args` argument with a callback to a rebion-body
generation function. This is a preparation for delayed privatization as
we will need different callbacks for ws loops and parallel ops with
delayed privatization.
Commit: 365bf43b8b290ab64b5b82879bc9d1dfdd5d6aa9
https://github.com/llvm/llvm-project/commit/365bf43b8b290ab64b5b82879bc9d1dfdd5d6aa9
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/test/Transforms/LoopStrengthReduce/Power/incomplete-phi.ll
Log Message:
-----------
[LSR] Regenerate test checks (NFC)
Check output IR instead of debug output. The debug output will
change in an upcoming patch in an irrecoverable way.
Commit: e60c4b61f8bab25a137a481e4d2d3dbfa656807b
https://github.com/llvm/llvm-project/commit/e60c4b61f8bab25a137a481e4d2d3dbfa656807b
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
Log Message:
-----------
[InstCombine] Change order of checks for dominating conditions (NFC)
Check whether the condition is in the expected format before
performing more expensive dominator checks.
Commit: bec7181d5b9d1828129d78d440fd9e02d5cb63e8
https://github.com/llvm/llvm-project/commit/bec7181d5b9d1828129d78d440fd9e02d5cb63e8
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
A llvm/test/Transforms/LoopIdiom/pr80954.ll
Log Message:
-----------
[SCEVExpander] Don't use recursive expansion for ptr IV inc
Similar to the non-ptr case, directly create the getelementptr
instruction. Going through expandAddToGEP() no longer makes sense
with opaque pointers, where generating the necessary instruction
is trivial.
This avoids recursive expansion of (the SCEV of) StepV while the
IR is in an inconsistent state, in particular with an incomplete
IV phi node, which utilities may not be prepared to deal with.
Fixes https://github.com/llvm/llvm-project/issues/80954.
Commit: eeb60e335e4fecb9ce3ed62cf081568cecf1d4ac
https://github.com/llvm/llvm-project/commit/eeb60e335e4fecb9ce3ed62cf081568cecf1d4ac
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SOPInstructions.td
Log Message:
-----------
[AMDGPU] Remove unused multiclass
Commit: 7760006d8d39e7624601936e2b1b428d850726b8
https://github.com/llvm/llvm-project/commit/7760006d8d39e7624601936e2b1b428d850726b8
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/llvm-libc-macros/stdbit-macros.h
M libc/spec/stdc.td
M libc/src/stdbit/CMakeLists.txt
A libc/src/stdbit/stdc_trailing_ones_uc.cpp
A libc/src/stdbit/stdc_trailing_ones_uc.h
A libc/src/stdbit/stdc_trailing_ones_ui.cpp
A libc/src/stdbit/stdc_trailing_ones_ui.h
A libc/src/stdbit/stdc_trailing_ones_ul.cpp
A libc/src/stdbit/stdc_trailing_ones_ul.h
A libc/src/stdbit/stdc_trailing_ones_ull.cpp
A libc/src/stdbit/stdc_trailing_ones_ull.h
A libc/src/stdbit/stdc_trailing_ones_us.cpp
A libc/src/stdbit/stdc_trailing_ones_us.h
M libc/test/include/stdbit_test.cpp
M libc/test/src/stdbit/CMakeLists.txt
A libc/test/src/stdbit/stdc_trailing_ones_uc_test.cpp
A libc/test/src/stdbit/stdc_trailing_ones_ui_test.cpp
A libc/test/src/stdbit/stdc_trailing_ones_ul_test.cpp
A libc/test/src/stdbit/stdc_trailing_ones_ull_test.cpp
A libc/test/src/stdbit/stdc_trailing_ones_us_test.cpp
Log Message:
-----------
[libc][stdbit] implement stdc_trailing_ones (C23) (#80459)
Commit: 670c2529bb97f53a5b73e1eedb736ac6e070e1d9
https://github.com/llvm/llvm-project/commit/670c2529bb97f53a5b73e1eedb736ac6e070e1d9
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[DAG] Use DAGCombiner::SimplifyDemandedBits wrappers with default (all) DemandedElts. NFC.
Don't call TLI.SimplifyDemandedVectorElts directly from every SimplifyDemandedBits call, use the more expressive wrappers instead first.
This reduces the number of places we call TLI.SimplifyDemandedVectorElts and CommitTargetLoweringOpt to make it easier to track.
Part of the work to process DAG nodes in topological order.
Commit: c2a91d4a33af49cd77c6d6ec731ae25538f746b8
https://github.com/llvm/llvm-project/commit/c2a91d4a33af49cd77c6d6ec731ae25538f746b8
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/test/CodeGen/X86/combine-movmsk-avx.ll
Log Message:
-----------
[X86] combine-movmsk-avx.ll - add full AVX1/AVX2 VTEST/MOVMSK test coverage
Test all combos of avx1/avx2 and prefer-movmsk-over-vtest
Commit: 89ad31fd9356e2f999eb63fbac88d1338b8b3592
https://github.com/llvm/llvm-project/commit/89ad31fd9356e2f999eb63fbac88d1338b8b3592
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/test/Assembler/DIDefaultTemplateParam.ll
M llvm/test/Transforms/Attributor/ArgumentPromotion/pr33641_remove_arg_dbgvalue.ll
M llvm/test/Transforms/Scalarizer/dbginfo.ll
Log Message:
-----------
[RemoveDIs][DebugInfo] Perform some pre-turn-on test maintenence (#80885)
As we'll hopefully move away from using intrinsics for debug-info
shortly, this commit stabilizes a few tests to avoid spurious changes in
the process. Briefly, there are differences in output when we don't use
intrinsics that we're going to suppress in case we have to revert, these
are:
* The attributor test gets different attributes for the dbg.value
intrinsic because it's not present during optimisation. This has no
functional effect and there's no need to test for it.
* The Scalarizer test exposes a "debug-info affects codegen" problem,
but fixing it is fiddly (updating 20 IRBuilder object calls). Pin this
test to not change with RemoveDIs, we can relax it later and get the
correct behaviour.
* DIDefaultTemplateParam.ll tests for explicit metadata node numbers
which is generally bad. Add explicit node-number capturing CHECK lines.
Commit: fb581adbdd2264b3ab28394b5e8539d4d2c05fbd
https://github.com/llvm/llvm-project/commit/fb581adbdd2264b3ab28394b5e8539d4d2c05fbd
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/test/Transforms/SROA/select-gep.ll
Log Message:
-----------
[SROA] Add tests with gep of index select (NFC)
Commit: af6656c375b8aa9c9156575f7c0ac678a57070d5
https://github.com/llvm/llvm-project/commit/af6656c375b8aa9c9156575f7c0ac678a57070d5
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/Descriptor.cpp
Log Message:
-----------
[clang][Interp][NFC] Fix moveArrayTy byte offset
We need to account for the InitMapPtr here. This is NFC right now since
no test is affected by it.
Commit: df856e49773d0569741117cfd856818b7644ea85
https://github.com/llvm/llvm-project/commit/df856e49773d0569741117cfd856818b7644ea85
Author: Alexey Bataev <5361294+alexey-bataev at users.noreply.github.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/RISCV/complex-loads.ll
Log Message:
-----------
[SLP]Add GEP cost estimation for gathered loads.
When doing estimation for vectorization of gathered loads, need to
estimate the cost of the pointer (vectorization), as it is done for the
actual vectorized loads. Otherwise may be too optimistic about the cost
of the gathered loads.
Reviewers: preames
Reviewed By: preames
Pull Request: https://github.com/llvm/llvm-project/pull/80867
Commit: 61c7a69fa0c020e92b1b10882d5d2957f3b8da21
https://github.com/llvm/llvm-project/commit/61c7a69fa0c020e92b1b10882d5d2957f3b8da21
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/test/AST/Interp/literals.cpp
Log Message:
-----------
[clang][Interp] Fix sizeof of reference types
Commit: a97ff2d35af0a5c640c20abf4215c08e0e69aa41
https://github.com/llvm/llvm-project/commit/a97ff2d35af0a5c640c20abf4215c08e0e69aa41
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M clang/test/AST/Interp/literals.cpp
Log Message:
-----------
[clang][Interp] Add missing static_assert message
This breaks builders:
https://lab.llvm.org/buildbot/#/builders/139/builds/58960
Commit: d109f94f29e2bc2fc31c8870b1e41759f524fe77
https://github.com/llvm/llvm-project/commit/d109f94f29e2bc2fc31c8870b1e41759f524fe77
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/dbg-value-swift-async.ll
M llvm/test/DebugInfo/X86/debug_value_list_selectiondag.ll
M llvm/test/Transforms/IROutliner/legal-debug.ll
M llvm/test/Transforms/InstCombine/cast-mul-select.ll
M llvm/test/Transforms/InstCombine/debuginfo_add.ll
M llvm/test/Transforms/InstCombine/sink-instruction-introduces-unnecessary-poison-value.ll
Log Message:
-----------
[DebugInfo][RemoveDIs] Re-enable some test coverage
We disabled these extra-special RUNlines due to unexpected interactions
between the various things we've been fixing. Re-enable them (they'll run
on the llvm-new-debug-iterators buildbot) as they all now pass.
Commit: f37d81f8a3e1475f30bec63bfc0b703fc9509d7c
https://github.com/llvm/llvm-project/commit/f37d81f8a3e1475f30bec63bfc0b703fc9509d7c
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/include/llvm/IR/PatternMatch.h
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Transforms/InstSimplify/cast-unsigned-icmp-cmp-0.ll
M llvm/unittests/IR/PatternMatch.cpp
Log Message:
-----------
[PatternMatch] Add a matching helper `m_ElementWiseBitCast`. NFC. (#80764)
This patch introduces a matching helper `m_ElementWiseBitCast`, which is
used for matching element-wise int <-> fp casts.
The motivation of this patch is to avoid duplicating checks in
https://github.com/llvm/llvm-project/pull/80740 and
https://github.com/llvm/llvm-project/pull/80414.
Commit: 6cb66ee5f8827040c5178fc2a479c138f4838eca
https://github.com/llvm/llvm-project/commit/6cb66ee5f8827040c5178fc2a479c138f4838eca
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/lib/IR/DebugProgramInstruction.cpp
M llvm/lib/IR/Metadata.cpp
Log Message:
-----------
[RemoveDIs][DebugInfo] Handle RAUW from dead constants (#80837)
Ensure that when a constant value dies, all ValueAsMetadata uses of that
constant in a DebugValueUser will be replaced with a PoisonValue instead
of a nullptr. This has little visible effect currently, as any nullptr metadata
uses in a DebugValueUser would be converted to an empty MDNode in
the end anyway, but this patch adds an assert that would be triggered by
two existing tests without the functional component of this patch:
llvm/test/Transforms/Inline/delete-function-with-metadata-use.ll
llvm/test/DebugInfo/X86/array2.ll
Commit: accbcb9578959b86cadc901a57ffa4a0c3f23ead
https://github.com/llvm/llvm-project/commit/accbcb9578959b86cadc901a57ffa4a0c3f23ead
Author: Dmitri Gribenko <gribozavr at gmail.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/test/tools/llvm-objcopy/ELF/prefix-symbols-remove.test
Log Message:
-----------
[llvm-objcopy][test] Use actual temporary file names in the test for --remove-symbol-prefix
Commit: b0c6fc81fe132f20eed38bd836620dfcb5ac17e9
https://github.com/llvm/llvm-project/commit/b0c6fc81fe132f20eed38bd836620dfcb5ac17e9
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeStmtGen.cpp
M clang/test/SemaCXX/cxx20-using-enum.cpp
Log Message:
-----------
[clang][Interp] Ignore UsingEnumDecls
We previously aborted compilation when seeing one of them. Ignore
them instead, they have no effect on the generated bytecode.
Commit: 7ab0a871431375cb966b0653b9f5caaba15cb6d9
https://github.com/llvm/llvm-project/commit/7ab0a871431375cb966b0653b9f5caaba15cb6d9
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Transforms/InstCombine/free-inversion.ll
Log Message:
-----------
[InstCombine] Try to freely invert phi nodes (#80804)
This patch tries to invert phi nodes if all incoming values are either
constants or nots.
Commit: 0aacd44a4698da012ee0704815123b28f2a06d0f
https://github.com/llvm/llvm-project/commit/0aacd44a4698da012ee0704815123b28f2a06d0f
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/SpeculativeExecution.cpp
M llvm/test/Transforms/SpeculativeExecution/PR46267.ll
Log Message:
-----------
[RemoveDIs][DebugInfo] Hoist DPValues in SpeculativeExecution (#80886)
This patch modifies `SpeculativeExecutionPass::considerHoistingFromTo`
to treat DPValues the same way that it treats debug intrinsics, which is
to hoist them iff all of their instruction operands within the FromBlock
are also being hoisted. This is probably not the ideal behaviour, which
would be to not hoist debug info at all in this case, but this patch
simply ensures that DPValue behaviour is consistent with debug intrinsic
behaviour rather than trying to create new functional changes.
Commit: de7beb06e7b3864feec165f84f02e24f6c18870a
https://github.com/llvm/llvm-project/commit/de7beb06e7b3864feec165f84f02e24f6c18870a
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
Log Message:
-----------
[DAG] ExpandShiftWithKnownAmountBit - reduce number of repeated getOpcode / getOperand calls. NFC.
Commit: 50d38cf934861205768de9e3cf32827e73764001
https://github.com/llvm/llvm-project/commit/50d38cf934861205768de9e3cf32827e73764001
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/lib/Target/X86/X86FixupVectorConstants.cpp
Log Message:
-----------
[X86] X86FixupVectorConstants.cpp - update comment to describe all the constant load ops performed by the pass
Commit: 4e58f03f298eb5c74877942c1c68911341c678bd
https://github.com/llvm/llvm-project/commit/4e58f03f298eb5c74877942c1c68911341c678bd
Author: Shourya Goel <114918019+Sh0g0-1758 at users.noreply.github.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticFrontendKinds.td
M clang/lib/Frontend/VerifyDiagnosticConsumer.cpp
M clang/test/Frontend/verify.c
Log Message:
-----------
[Clang] Fix : More Detailed "No expected directives found" (#78338)
Updated the error message to use the proper prefix when
no expected directives are found by changing the hard coded expected in
the message to a dynamic value in two error messages.
Fixes #58290
Commit: c76b0eb898d1e5edc416b658a6902163d64db1ce
https://github.com/llvm/llvm-project/commit/c76b0eb898d1e5edc416b658a6902163d64db1ce
Author: Stephen Tozer <Stephen.Tozer at Sony.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/SpeculativeExecution.cpp
M llvm/test/Transforms/SpeculativeExecution/PR46267.ll
Log Message:
-----------
Revert "[RemoveDIs][DebugInfo] Hoist DPValues in SpeculativeExecution (#80886)"
Reverted due to buildbot failures resulting from failed compile due to a
missing brace error that got into the original commit.
This reverts commit 0aacd44a4698da012ee0704815123b28f2a06d0f.
Commit: 52bf531630d19e115d30b4ca46f1ef03b9a724c6
https://github.com/llvm/llvm-project/commit/52bf531630d19e115d30b4ca46f1ef03b9a724c6
Author: Sirraide <74590115+Sirraide at users.noreply.github.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaOverload.cpp
M clang/test/SemaCXX/cxx2b-deducing-this.cpp
Log Message:
-----------
[Clang][Sema] Fix out-of-bounds access (#80978)
Trying to compile a C-style variadic member function with an explicit
object parameter was crashing in Sema because of an out-of-bounds
access.
This fixes #80971.
Commit: 5c84054223102b00cc0dd343a4023e3c6cba42b2
https://github.com/llvm/llvm-project/commit/5c84054223102b00cc0dd343a4023e3c6cba42b2
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M clang/docs/ClangLinkerWrapper.rst
M clang/docs/OffloadingDesign.rst
M clang/test/Driver/linker-wrapper-image.c
M clang/test/Driver/linker-wrapper.c
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/clang-linker-wrapper/LinkerWrapperOpts.td
M llvm/include/llvm/Frontend/Offloading/OffloadWrapper.h
M llvm/lib/Frontend/Offloading/OffloadWrapper.cpp
M llvm/lib/Object/OffloadBinary.cpp
Log Message:
-----------
[LinkerWrapper] Support relocatable linking for offloading (#80066)
Summary:
The standard GPU compilation process embeds each intermediate object
file into the host file at the `.llvm.offloading` section so it can be
linked later. We also use a special section called something like
`omp_offloading_entries` to store all the globals that need to be
registered by the runtime. The linker-wrapper's job is to link the
embedded device code stored at this section and then emit code to
register the linked image and the kernels and globals in the offloading
entry section.
One downside to RDC linking is that it can become quite big for very
large projects that wish to make use of static linking. This patch
changes the support for relocatable linking via `-r` to support a kind
of "partial" RDC compilation for offloading languages.
This primarily requires manually editing the embedded data in the
output object file for the relocatable link. We need to rename the
output section to make it distinct from the input sections that will be
merged. We then delete the old embedded object code so it won't be
linked further. We then need to rename the old offloading section so
that it is private to the module. A runtime solution could also be done
to defer entries that don't belong to the given GPU executable, but this
is easier. Note that this does not work with COFF linking, only the ELF
method for handling offloading entries, that could be made to work
similarly.
Given this support, the following compilation path should produce two
distinct images for OpenMP offloading.
```
$ clang foo.c -fopenmp --offload-arch=native -c
$ clang foo.c -lomptarget.devicertl --offload-link -r -o merged.o
$ clang main.c merged.o -fopenmp --offload-arch=native
$ ./a.out
```
Or similarly for HIP to effectively perform non-RDC mode compilation for
a subset of files.
```
$ clang -x hip foo.c --offload-arch=native --offload-new-driver -fgpu-rdc -c
$ clang -x hip foo.c -lomptarget.devicertl --offload-link -r -o merged.o
$ clang -x hip main.c merged.o --offload-arch=native --offload-new-driver -fgpu-rdc
$ ./a.out
```
One question is whether or not this should be the default behavior of
`-r` when run through the linker-wrapper or a special option. Standard
`-r` behavior is still possible if used without invoking the
linker-wrapper and it guaranteed to be correct.
Commit: 5d8a7318b2192ce8e396ec420f3f4d8f1a07cc10
https://github.com/llvm/llvm-project/commit/5d8a7318b2192ce8e396ec420f3f4d8f1a07cc10
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/InterpBuiltin.cpp
M clang/test/AST/Interp/builtin-functions.cpp
Log Message:
-----------
[clang][Interp] Support __builtin_eh_return_data_regno
Commit: 66d4fe97d8d46195672117797b663c21cf576f33
https://github.com/llvm/llvm-project/commit/66d4fe97d8d46195672117797b663c21cf576f33
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/test/Analysis/CostModel/X86/free-intrinsics.ll
M llvm/test/Analysis/CostModel/free-intrinsics-datalayout.ll
M llvm/test/Analysis/CostModel/free-intrinsics-no_info.ll
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values.ll
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values.ll.expected
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values.ll.funcsig.expected
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values.ll.funcsig.globals.expected
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values.ll.funcsig.noglobals.expected
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values.ll.funcsig.transitiveglobals.expected
M llvm/unittests/Transforms/Utils/DebugifyTest.cpp
Log Message:
-----------
[DebugInfo][RemoveDIs] Final final test-maintenence patch (#80988)
This should be the final portion of shaping-up the test suite to be
ready for turning on non-intrinsic debug-info:
* Pin CostModel tests that expect to see intrinsics in their -debug
output to not use RemoveDIs. This is a spurious test output difference.
* Add 'tail' to a bunch of intrinsics in UpdateTestChecks. We're
cannonicalising intrinsics to be printed with "tail" in RemoveDI
conversion as dbg.values usually pick that up while being optimised.
This is another spurious output difference.
* The "DebugInfoDrop" pass used in the debugify unit-tests happens to
operate inside the pass manager, thus it sees non-intrinsic debug-info.
Update it to correctly drop it.
Commit: d42f3957cea0a8f45d5f3c11db229e2ea1e6d614
https://github.com/llvm/llvm-project/commit/d42f3957cea0a8f45d5f3c11db229e2ea1e6d614
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M clang/test/AST/Interp/switch.cpp
Log Message:
-----------
[clang][Interp][NFC] Convert test to verify=expected,both style
Commit: 7718ac38a0c23597d7d02f0022eb89afe6d1b35f
https://github.com/llvm/llvm-project/commit/7718ac38a0c23597d7d02f0022eb89afe6d1b35f
Author: Uday Bondhugula <uday at polymagelabs.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M mlir/lib/IR/AffineExpr.cpp
Log Message:
-----------
[MLIR] NFC. Fix remaining clang-tidy warnings in AffineExpr.cpp (#80933)
NFC. Fix remaining clang-tidy warnings in AffineExpr.cpp.
Commit: d4a2c7f95297d1865a457955dcf7b679dabb5e0e
https://github.com/llvm/llvm-project/commit/d4a2c7f95297d1865a457955dcf7b679dabb5e0e
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/test/AST/Interp/records.cpp
M clang/test/SemaCXX/cxx1z-copy-omission.cpp
Log Message:
-----------
[clang][Interp] Fix record initialization from temporary in initlist
Commit: 7a71ac2b00cd6ec06c113f8813f085d5ed346ad9
https://github.com/llvm/llvm-project/commit/7a71ac2b00cd6ec06c113f8813f085d5ed346ad9
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/and-fcmp.ll
A llvm/test/Transforms/InstCombine/canonicalize-fcmp-inf.ll
M llvm/test/Transforms/InstCombine/create-class-from-logic-fcmp.ll
M llvm/test/Transforms/InstCombine/fold-select-fmul-if-zero.ll
Log Message:
-----------
[InstCombine] Canonicalize fcmp with inf (#80986)
This patch canonicalizes floating-point comparisons with inf:
```
fcmp olt X, +inf -> fcmp one X, +inf
fcmp ole X, +inf -> fcmp ord X, 0
fcmp ogt X, +inf -> false
fcmp oge X, +inf -> fcmp oeq X, +inf
fcmp ult X, +inf -> fcmp une X, +inf
fcmp ule X, +inf -> true
fcmp ugt X, +inf -> fcmp uno X, 0
fcmp uge X, +inf -> fcmp ueq X, +inf
fcmp olt X, -inf -> false
fcmp ole X, -inf -> fcmp oeq X, -inf
fcmp ogt X, -inf -> fcmp one X, -inf
fcmp oge X, -inf -> fcmp ord X, 0
fcmp ult X, -inf -> fcmp uno X, 0
fcmp ule X, -inf -> fcmp ueq X, -inf
fcmp ugt X, -inf -> fcmp une X, -inf
fcmp uge X, -inf -> true
```
Alive2: https://alive2.llvm.org/ce/z/FRqqDg
The motivation of this patch is to fix the regression found in
https://github.com/dtcxzyw/llvm-opt-benchmark/pull/199#discussion_r1480974120.
Commit: aeb58844dd6673417ebd7fb83f3acdf7282397fb
https://github.com/llvm/llvm-project/commit/aeb58844dd6673417ebd7fb83f3acdf7282397fb
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Linker/IRMover.cpp
M llvm/test/ThinLTO/X86/crash_debuginfo.ll
Log Message:
-----------
[RemoveDIs] Don't convert debug-info in bitcode-loading just now (#80865)
We've been building and testing this no-debug-intrinsic work inside of
the pass manager for a while, so that optimisation passes get exercised
and tested when we turn it on. However, by converting to the
non-intrinsic form in the bitcode loader, we accidentally caused all
parts of LLVM to potentially see non-intrinsic debug-info.
Seeing how we're trying to turn things on incrementally, it was a
mistake to go this far this fast: we can instead just focus on enabling
during optimisations for the moment, then all the other parts of LLVM
later.
Commit: c954986fec97ab22a9658b496731d0c280938a64
https://github.com/llvm/llvm-project/commit/c954986fec97ab22a9658b496731d0c280938a64
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
M llvm/unittests/CodeGen/GlobalISel/GISelUtilsTest.cpp
Log Message:
-----------
[GISel] Add support for scalable vectors in getGCDType (#80307)
This function can be called from buildCopyToRegs where at least one of
the types is a scalable vector type. This function crashed because it
did not know how to handle scalable vector types.
This patch extends the functionality of getGCDType to handle when at
least one of the types is a scalable vector. getGCDType between a fixed
and scalable vector is not implemented since the docstring of the
function explains that getGCDType is used to build MERGE/UNMERGE
instructions and we will never build a MERGE/UNMERGE between fixed and
scalable vectors.
---------
Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>
Commit: 4d12292c2ac5caf93cd325a1516cbeacfc87b2e9
https://github.com/llvm/llvm-project/commit/4d12292c2ac5caf93cd325a1516cbeacfc87b2e9
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SOPInstructions.td
Log Message:
-----------
[AMDGPU] Clean up and share SOP Real instruction definitions (#80990)
The aim is to share definitions for all architectures that have the same
instruction (ignoring renaming) with the same opcode. Overall this saves
about 60 lines of tablegen.
Commit: 4f381afa09c2e60f48a65b10074f8b862a0b6738
https://github.com/llvm/llvm-project/commit/4f381afa09c2e60f48a65b10074f8b862a0b6738
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/or.ll
Log Message:
-----------
[InstCombine] Add additional multi-use test for and/or replacement (NFC)
Commit: 934ba0d59e650644fe69462935982318b265ad2c
https://github.com/llvm/llvm-project/commit/934ba0d59e650644fe69462935982318b265ad2c
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
Log Message:
-----------
[InstCombine] Handle missing cases in `visitFCmpInst`
Fiix buildbot failures.
Commit: 8c37e3e64bb1432f771ec4d191837e6b3be5bf0c
https://github.com/llvm/llvm-project/commit/8c37e3e64bb1432f771ec4d191837e6b3be5bf0c
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/lib/ExecutionEngine/JITLink/ELF_riscv.cpp
M llvm/lib/Object/ELFObjectFile.cpp
M llvm/test/ExecutionEngine/JITLink/RISCV/ELF_relax_align_rvc.s
M llvm/test/ExecutionEngine/JITLink/RISCV/ELF_relax_call_boundary.s
M llvm/test/ExecutionEngine/JITLink/RISCV/ELF_relax_call_rvc.s
Log Message:
-----------
[RISCV] Only set Zca flag for EF_RISCV_RVC in ELFObjectFileBase::getRISCVFeatures(). (#80928)
This code appears to be a hack to set the features to include compressed
instructions if the ELF EFLAGS flags bit is present, but the ELF
attribute for the ISA string is no present or not accurate.
We can't remove the hack because llvm-mc doesn't create ELF attributes
by default so a lot of tests fail to disassembler properly. Using clang
as the assembler does set the attributes.
This patch changes the hack to only set Zca since that is the minimum
implied by the flag. Setting anything else potentially conflicts with
the ISA string containing Zcmp or Zcmt.
JITLink also needs to be updated to recognize Zca in addition to C.
Commit: 79fec2f8ba8ea0b0b1c2f13fb6355cb395e1d3af
https://github.com/llvm/llvm-project/commit/79fec2f8ba8ea0b0b1c2f13fb6355cb395e1d3af
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/AtomicExpandPass.cpp
Log Message:
-----------
[AtomicExpand][RISCV] Call shouldExpandAtomicRMWInIR before widenPartwordAtomicRMW (#80947)
This gives the target a chance to keep an atomicrmw op that is smaller
than the minimum cmpxchg size. This is needed to support the Zabha
extension for RISC-V which provides i8/i16 atomicrmw operations, but
does not provide an i8/i16 cmpxchg or LR/SC instructions.
This moves the widening until after the target requests
LLSC/CmpXChg/MaskedIntrinsic expansion. Once we widen, we call
shouldExpandAtomicRMWInIR again to give the target another chance to
make a decision about the widened operation.
I considered making the targets return AtomicExpansionKind::Expand or a
new expansion kind for And/Or/Xor, but that required the targets to
special case And/Or/Xor which they weren't currently doing.
Commit: 7212b4ae09abe5ba0f9a6ea608ebb6dbfad48b73
https://github.com/llvm/llvm-project/commit/7212b4ae09abe5ba0f9a6ea608ebb6dbfad48b73
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/lib/IR/AsmWriter.cpp
Log Message:
-----------
[RemoveDIs] Remove unused debug-printing facility for DPMarkers
We originally thought that printing the DPMarker pointer after each
instruction was going to be useful, but it turns out it only serves to
generate spurious test output differences now. As it stands, the cannonical
way to debug RemoveDIs metadata is "dumpDbgValues".
Commit: 7e4ac8541dcc389ca8f0d11614e19ea7bae07af7
https://github.com/llvm/llvm-project/commit/7e4ac8541dcc389ca8f0d11614e19ea7bae07af7
Author: Daniel Chen <cdchen at ca.ibm.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M flang/lib/Semantics/resolve-names.cpp
Log Message:
-----------
[Flang] Use specific symbol rather than generic symbol as procInterface to declare procedure pointer. (#80738)
Flang crashes when lowering the type of `p1` with the following code.
The problem is when it sets up the `procInterface`, it uses the generic
symbol `int`, not the specific `int`. This PR is to correct that.
```
INTERFACE Int
integer FUNCTION Int(arg)
integer :: arg
END FUNCTION
END INTERFACE
integer :: res
procedure(int), pointer :: p1
p1 => int
res = p1(4)
end
```
Commit: ab92f6274b7c3a4b4445d47017bc481aa919545f
https://github.com/llvm/llvm-project/commit/ab92f6274b7c3a4b4445d47017bc481aa919545f
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M .github/workflows/llvm-project-tests.yml
Log Message:
-----------
[workflows] Fix libclc CI tests (#80942)
This was broken by 1a6426067fb33a8a789978f6e229108787a041be.
Commit: 65bf93dd7b4cfe96b549fd8248455ba4869ba27c
https://github.com/llvm/llvm-project/commit/65bf93dd7b4cfe96b549fd8248455ba4869ba27c
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/test/Transforms/InstCombine/or-xor.ll
M llvm/test/Transforms/InstCombine/or.ll
Log Message:
-----------
[InstCombine] Clean up bitwise folds without one-use check (#80587)
This patch removes some bitwise folds that fail to check the one-use
constraint on the operands.
See also the comments
https://github.com/llvm/llvm-project/pull/77231#issuecomment-1904090035.
Commit: bb531c9a0068a078c5bbe95298769b235aa1ad75
https://github.com/llvm/llvm-project/commit/bb531c9a0068a078c5bbe95298769b235aa1ad75
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/include/llvm/CodeGen/MachineModuleInfo.h
M llvm/lib/CodeGen/MachineModuleInfo.cpp
M llvm/lib/CodeGen/MachinePassManager.cpp
M llvm/tools/llc/NewPMDriver.cpp
M llvm/unittests/CodeGen/PassManagerTest.cpp
M llvm/unittests/MIR/PassBuilderCallbacksTest.cpp
Log Message:
-----------
[NewPM/Codegen] Move MachineModuleInfo ownership outside of analysis (#80937)
With the legacy pass manager, MachineModuleInfoWrapperPass owned the
MachineModuleInfo used in the codegen pipeline. It can do this since
it's an ImmutablePass that doesn't get invalidated.
However, with the new pass manager, it is legal for the
ModuleAnalysisManager to clear all of its analyses, regardless of if the
analysis does not want to be invalidated. So we must move ownership of
the MachineModuleInfo outside of the analysis (this is similar to
PassInstrumentation). For now, make the PassBuilder user register a
MachineModuleAnalysis that returns a reference to a MachineModuleInfo
that the user owns. Perhaps we can find a better place to own the
MachineModuleInfo to make using the codegen pass manager less cumbersome
in the future.
Commit: 5a83bccb35d6b0e6914b52af6db067aa01dd3efb
https://github.com/llvm/llvm-project/commit/5a83bccb35d6b0e6914b52af6db067aa01dd3efb
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/tls-models.ll
Log Message:
-----------
[X86] Fix lowering TLS under darwin large code model (#80907)
OpFlag and WrapperKind should be chosen consistently with each other in
regards to PIC, otherwise we hit asserts later on.
Broken by c04a05d8.
Fixes #80831.
Commit: eaab6abd79bf1a377bf034e1cf652a93d10b45fb
https://github.com/llvm/llvm-project/commit/eaab6abd79bf1a377bf034e1cf652a93d10b45fb
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
A llvm/test/tools/llc/new-pm/pipeline.mir
M llvm/tools/llc/NewPMDriver.cpp
Log Message:
-----------
[llc] Respect --print-pipeline-passes when using -passes (#80940)
Commit: c1f7f4df01f48e771e501ea14fbef80a23c0e700
https://github.com/llvm/llvm-project/commit/c1f7f4df01f48e771e501ea14fbef80a23c0e700
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M libc/src/__support/FPUtil/CMakeLists.txt
R libc/src/__support/FPUtil/XFloat.h
Log Message:
-----------
[libc][NFC] Remove dead code (#81005)
Commit: e71a5f54d86be3ddf66d4a4e53d5083ef7f7a118
https://github.com/llvm/llvm-project/commit/e71a5f54d86be3ddf66d4a4e53d5083ef7f7a118
Author: Mariusz Sikora <mariusz.sikora at amd.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/include/llvm/CodeGen/Register.h
Log Message:
-----------
[NFC] Typo in Register.h
Commit: 34f61cfa6656acffc1a969a21c934c24ad0073c3
https://github.com/llvm/llvm-project/commit/34f61cfa6656acffc1a969a21c934c24ad0073c3
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/lib/Transforms/IPO/MergeFunctions.cpp
M llvm/test/Transforms/MergeFunc/mergefunc-preserve-debug-info.ll
Log Message:
-----------
[DebugInfo][RemoveDIs] Instrument MergeFunctions for DPValues (#80974)
The MergeFunctions pass has a "preserve some debug-info" mode that tries
to preserve parameter values. This patch generalises its decision-making
so that it applies to both debug-info stored in intrinsics, and
debug-info stored in DPValue objects. For the most part this involves
using a generic lambda and applying it to each type of object.
(Normally we avoid debug-info affecting the code generated, but this is
hidden behind a command line switch, so won't usually be encountered by
users).
Note that this diff is messy, but that's because I'm hoisting some code
into lambdas. The actual decision making processes here are identical.
Commit: e28ca2dd46c137fd33dd327aed1afb1e66a32908
https://github.com/llvm/llvm-project/commit/e28ca2dd46c137fd33dd327aed1afb1e66a32908
Author: Artem Tyurin <artem.tyurin at gmail.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M libc/src/stdio/printf_core/converter.cpp
M libc/src/stdio/printf_core/int_converter.h
M libc/src/stdio/printf_core/parser.h
M libc/test/src/stdio/printf_core/converter_test.cpp
M libc/test/src/stdio/sprintf_test.cpp
Log Message:
-----------
[libc] Support C23 'b' (binary) modifier in printf (#80851)
Reference: https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2612.pdf.
Fixes https://github.com/llvm/llvm-project/issues/80727.
Commit: bcc1635c7f8cf25c05ca9ef1f4995ad3e01ddda4
https://github.com/llvm/llvm-project/commit/bcc1635c7f8cf25c05ca9ef1f4995ad3e01ddda4
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/docs/math/index.rst
Log Message:
-----------
[libc] Enable float128 entrypoints on aarch64 and riscv64. (#80682)
Commit: 9eed89908cc906850ef9c6a97ed7a5642ecd6599
https://github.com/llvm/llvm-project/commit/9eed89908cc906850ef9c6a97ed7a5642ecd6599
Author: Teresa Johnson <tejohnson at google.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
A llvm/test/ThinLTO/X86/memprof-import-fix.ll
Log Message:
-----------
[MemProf] Handle empty stack context during ThinLTO cloning (#81008)
Fix for assert after PR#78264.
Handle the case where the MIB context is empty after skipping the
callsite context, because the callsite context is actually longer than
the MIB context. Presumably this happened as a result of inlining, but
in theory the metadata should have been replaced with an attribute in
that case. Need to investigate why this is occuring, but for now handle
this gracefully to fix the build regression.
Commit: 7c16cb6b3361ff4217004d0cc43f158dea221620
https://github.com/llvm/llvm-project/commit/7c16cb6b3361ff4217004d0cc43f158dea221620
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M mlir/tools/mlir-opt/mlir-opt.cpp
Log Message:
-----------
[mlir-opt][nfc] Remove dead function decls
This removes 3 dead function decls from mlir-opt:
- registerTestLowerToNVVM - recently removed in #75775 when NVVM was
productized.
- registerTestPreparationPassWithAllowedMemrefResults - removed in
D90778 (f7bc56826616).
- registerTestGenericIRVisitorsInterruptPass - added in D116230
(8067ced144a2) but never existed. Pass is registered by
registerTestGenericIRVisitorsPass.
Commit: b0b0bf6d579f26962ac29592feaacd54ae04b60d
https://github.com/llvm/llvm-project/commit/b0b0bf6d579f26962ac29592feaacd54ae04b60d
Author: YAMAMOTO Takashi <yamamoto at midokura.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
Log Message:
-----------
WebAssemblyTargetMachine.cpp: fix a typo in a message (#80958)
Commit: 347ab99a5c6d096beb7378794c6255dca2a866e6
https://github.com/llvm/llvm-project/commit/347ab99a5c6d096beb7378794c6255dca2a866e6
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M clang/docs/ClangLinkerWrapper.rst
M clang/docs/OffloadingDesign.rst
Log Message:
-----------
[Clang][Docs] Fix trailing whitespace warnings
Commit: 7880b2c8586eade00a4aa5ac11007317a61e376c
https://github.com/llvm/llvm-project/commit/7880b2c8586eade00a4aa5ac11007317a61e376c
Author: Max191 <44243577+Max191 at users.noreply.github.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/Tensor/Utils/Utils.h
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/lib/Dialect/Tensor/Utils/Utils.cpp
M mlir/test/Dialect/Linalg/vectorization.mlir
Log Message:
-----------
[mlir] Add direct vectorization lowering for `tensor.pack` ops (#78660)
This PR adds a direct vectorization lowering of `tensor.pack` into
`mask(vector.transfer_read)`->`vector.shape_cast`->`vector.transpose`->`vector.transfer_write`.
Commit: 3115ad8980e7d36adca95b5449db8ebf9bd94bf2
https://github.com/llvm/llvm-project/commit/3115ad8980e7d36adca95b5449db8ebf9bd94bf2
Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/idot4u.ll
M llvm/test/CodeGen/AMDGPU/insert_vector_elt.v2i16.ll
M llvm/test/CodeGen/AMDGPU/load-hi16.ll
M llvm/test/CodeGen/AMDGPU/permute.ll
M llvm/test/CodeGen/AMDGPU/permute_i8.ll
Log Message:
-----------
[AMDGPU] Accept arbitrary sized sources in CalculateByteProvider (#70240)
Reland the original patch with additional commit containing fix for two
issues:
1. Attempting to bitcast using MVTs with no corresponding LLVM type.
getDWordFromOffset now works directly with the original vector to get
the corresponding elements given the DWordOffset.
2. Improper bit tracking in CalculateByteProvider for vector types using
certain ops. Previously, bit tracking for certain ops (e.g.
ISD::TRUNCATE) assumed operands were scalar types, which is not correct
since these ops have different semantics depending on vector / scalar.
CalculateByteProvider / CalculateSrcByte now exit on vector types,
handling which is a TODO.
Commit: b89eb9790a8962ca634965d05491a93c58773faf
https://github.com/llvm/llvm-project/commit/b89eb9790a8962ca634965d05491a93c58773faf
Author: Shourya Goel <114918019+Sh0g0-1758 at users.noreply.github.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M clang/lib/Sema/SemaOpenMP.cpp
A clang/test/OpenMP/bug69085.c
Log Message:
-----------
[Clang][OpenMP] Fix `!isNull() && "Cannot retrieve a NULL type pointer"' fail. (#81015)
Fixes : #69085 , #69200
**PR SUMMARY**: "Added Null check for negative sized array and a test
for the same"
Commit: 9c75a981554d5de4b909e6493f2c3dda03395aa2
https://github.com/llvm/llvm-project/commit/9c75a981554d5de4b909e6493f2c3dda03395aa2
Author: Ilya Leoshkevich <iii at linux.ibm.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
M llvm/test/CodeGen/SystemZ/asm-01.ll
Log Message:
-----------
[SystemZ] Implement A, O and R inline assembly format flags (#80685)
Implement the following assembly format flags, which are already
supported by GCC:
'A': On z14 or higher: If operand is a mem print the alignment
hint usable with vl/vst prefixed by a comma.
'O': print only the displacement of a memory reference or address.
'R': print only the base register of a memory reference or address.
Implement 'A' conservatively, since the memory operand alignment
information is not available for INLINEASM at the moment.
Commit: 2ecf608829252d7d5b530a03b87817cd948a3386
https://github.com/llvm/llvm-project/commit/2ecf608829252d7d5b530a03b87817cd948a3386
Author: lonely eagle <2020382038 at qq.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M mlir/lib/Dialect/MemRef/Transforms/ComposeSubView.cpp
M mlir/test/Transforms/compose-subview.mlir
Log Message:
-----------
[mlir]Fix compose subview (#80551)
I found a bug in `test-compose-subview`,You can see the example I gave.
```
#map = affine_map<() -> ()>
module {
func.func private @fun(%arg0: memref<10x10xf32>, %arg1: memref<5x5xf32>) -> memref<5x5xf32> {
%c0 = arith.constant 0 : index
%c5 = arith.constant 5 : index
%c1 = arith.constant 1 : index
%subview = memref.subview %arg0[0, 0] [5, 5] [1, 1] : memref<10x10xf32> to memref<5x5xf32, strided<[10, 1]>>
%alloc = memref.alloc() : memref<5x5xf32>
scf.for %arg2 = %c0 to %c5 step %c1 {
scf.for %arg3 = %c0 to %c5 step %c1 {
%subview_0 = memref.subview %subview[%arg2, %arg3] [1, 1] [1, 1] : memref<5x5xf32, strided<[10, 1]>> to memref<f32, strided<[], offset: ?>>
%subview_1 = memref.subview %arg1[%arg2, %arg3] [1, 1] [1, 1] : memref<5x5xf32> to memref<f32, strided<[], offset: ?>>
%alloc_2 = memref.alloc() : memref<f32>
linalg.generic {indexing_maps = [#map, #map, #map], iterator_types = []} ins(%subview_0, %subview_1 : memref<f32, strided<[], offset: ?>>, memref<f32, strided<[], offset: ?>>) outs(%alloc_2 : memref<f32>) {
^bb0(%in: f32, %in_4: f32, %out: f32):
%0 = arith.addf %in, %in_4 : f32
linalg.yield %0 : f32
}
%subview_3 = memref.subview %alloc[%arg2, %arg3] [1, 1] [1, 1] : memref<5x5xf32> to memref<f32, strided<[], offset: ?>>
memref.copy %alloc_2, %subview_3 : memref<f32> to memref<f32, strided<[], offset: ?>>
}
}
return %alloc : memref<5x5xf32>
}
func.func @test(%arg0: memref<10x10xf32>, %arg1: memref<5x5xf32>) -> memref<5x5xf32> {
%0 = call @fun(%arg0, %arg1) : (memref<10x10xf32>, memref<5x5xf32>) -> memref<5x5xf32>
return %0 : memref<5x5xf32>
}
}
```
When I run `mlir-opt test.mlir ---test-compose-subview`.
```
test.mlir:14:9: error: 'linalg.generic' op expected operand rank (2) to match the result rank of indexing_map #0 (0)
linalg.generic {indexing_maps = [#map, #map, #map], iterator_types = []} ins(%subview_0, %subview_1 : memref<f32, strided<[], offset: ?>>, memref<f32, strided<[], offset: ?>>) outs(%alloc_2 : memref<f32>) {
^
test1.mlir:14:9: note: see current operation:
"linalg.generic"(%4, %5, %6) <{indexing_maps = [affine_map<() -> ()>, affine_map<() -> ()>, affine_map<() -> ()>], iterator_types = [], operandSegmentSizes = array<i32: 2, 1>}> ({
^bb0(%arg4: f32, %arg5: f32, %arg6: f32):
%8 = "arith.addf"(%arg4, %arg5) <{fastmath = #arith.fastmath<none>}> : (f32, f32) -> f32
"linalg.yield"(%8) : (f32) -> ()
}) : (memref<1x1xf32, strided<[10, 1], offset: ?>>, memref<f32, strided<[], offset: ?>>, memref<f32>) -> ()
```
This PR fixes that.In the meantime I've extended this PR to handle cases
where stride is greater than 1.
```
func.func private @Unknown0(%arg0: memref<10x10xf32>, %arg1: memref<5x5xf32>) -> memref<5x5xf32> {
%c0 = arith.constant 0 : index
%c5 = arith.constant 5 : index
%c1 = arith.constant 1 : index
%subview = memref.subview %arg0[0, 0] [5, 5] [2, 2] : memref<10x10xf32> to memref<5x5xf32, strided<[20, 2]>>
%alloc = memref.alloc() : memref<5x5xf32>
scf.for %arg2 = %c0 to %c5 step %c1 {
scf.for %arg3 = %c0 to %c5 step %c1 {
%subview_0 = memref.subview %subview[%arg2, %arg3] [1, 1] [1, 1] : memref<5x5xf32, strided<[20, 2]>> to memref<f32, strided<[], offset: ?>>
%subview_1 = memref.subview %arg1[%arg2, %arg3] [1, 1] [1, 1] : memref<5x5xf32> to memref<f32, strided<[], offset: ?>>
%alloc_2 = memref.alloc() : memref<f32>
linalg.generic {indexing_maps = [affine_map<() -> ()>, affine_map<() -> ()>, affine_map<() -> ()>], iterator_types = []} ins(%subview_0, %subview_1 : memref<f32, strided<[], offset: ?>>, memref<f32, strided<[], offset: ?>>) outs(%alloc_2 : memref<f32>) {
^bb0(%in: f32, %in_4: f32, %out: f32):
%0 = arith.addf %in, %in_4 : f32
linalg.yield %0 : f32
}
%subview_3 = memref.subview %alloc[%arg2, %arg3] [1, 1] [1, 1] : memref<5x5xf32> to memref<f32, strided<[], offset: ?>>
memref.copy %alloc_2, %subview_3 : memref<f32> to memref<f32, strided<[], offset: ?>>
}
}
return %alloc : memref<5x5xf32>
}
$ mlir-opt test.mlir -test-compose-subview
#map = affine_map<()[s0] -> (s0 * 2)>
#map1 = affine_map<() -> ()>
module {
func.func private @Unknown0(%arg0: memref<10x10xf32>, %arg1: memref<5x5xf32>) -> memref<5x5xf32> {
%c0 = arith.constant 0 : index
%c5 = arith.constant 5 : index
%c1 = arith.constant 1 : index
%alloc = memref.alloc() : memref<5x5xf32>
scf.for %arg2 = %c0 to %c5 step %c1 {
scf.for %arg3 = %c0 to %c5 step %c1 {
%0 = affine.apply #map()[%arg2]
%1 = affine.apply #map()[%arg3]
%subview = memref.subview %arg0[%0, %1] [1, 1] [2, 2] : memref<10x10xf32> to memref<f32, strided<[], offset: ?>>
%subview_0 = memref.subview %arg1[%arg2, %arg3] [1, 1] [1, 1] : memref<5x5xf32> to memref<f32, strided<[], offset: ?>>
%alloc_1 = memref.alloc() : memref<f32>
linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = []} ins(%subview, %subview_0 : memref<f32, strided<[], offset: ?>>, memref<f32, strided<[], offset: ?>>) outs(%alloc_1 : memref<f32>) {
^bb0(%in: f32, %in_3: f32, %out: f32):
%2 = arith.addf %in, %in_3 : f32
linalg.yield %2 : f32
}
%subview_2 = memref.subview %alloc[%arg2, %arg3] [1, 1] [1, 1] : memref<5x5xf32> to memref<f32, strided<[], offset: ?>>
memref.copy %alloc_1, %subview_2 : memref<f32> to memref<f32, strided<[], offset: ?>>
}
}
return %alloc : memref<5x5xf32>
}
}
```
Commit: 8b0f47bfa4b6aa1bafa10261444c93aba5a2d31d
https://github.com/llvm/llvm-project/commit/8b0f47bfa4b6aa1bafa10261444c93aba5a2d31d
Author: Derek Schuff <dschuff at chromium.org>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M lld/test/wasm/build-id.test
M lld/test/wasm/merge-string-debug.s
M lld/test/wasm/startstop.ll
M llvm/lib/Object/WasmObjectFile.cpp
M llvm/lib/Target/WebAssembly/Disassembler/WebAssemblyDisassembler.cpp
M llvm/test/tools/llvm-objdump/wasm/executable-without-symbols-debugnames.test
M llvm/test/tools/llvm-objdump/wasm/executable-without-symbols.test
M llvm/test/tools/llvm-objdump/wasm/no-codesec.test
M llvm/tools/llvm-objdump/llvm-objdump.cpp
Log Message:
-----------
[Object][Wasm] Use file offset for section addresses in linked wasm files (#80529)
Wasm has no unified virtual memory space as other object formats and
architectures do, so previously WasmObjectFile reported 0 for all
section addresses, and until 428cf71ff used section offsets for function
symbols. Now we use file offsets for function symbols, and this change
switches section addresses to do the same (in linked files). The main
result of this is that objdump now reports VMAs in section listings, and
also uses file offets rather than section offsets when disassembling
linked binaries (matching the behavior of other disassemblers and stack
traces produced by browwsers). To make this work, this PR also updates
objdump's generation of synthetics fallback symbols to match lib/Object
and also correctly plumbs symbol types for regular and dummy symbols
through to the backend to avoid needing special knowledge of address 0.
This also paves the way for generating symbols from name sections rather
than symbol tables or imports (see #76107) by allowing the
disassembler's synthetic fallback symbols match the name-section
generated symbols (in a followup PR).
Commit: caf537ea493a7583bbc369c6a692842819daee74
https://github.com/llvm/llvm-project/commit/caf537ea493a7583bbc369c6a692842819daee74
Author: Stephen Tozer <Stephen.Tozer at Sony.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/SpeculativeExecution.cpp
M llvm/test/Transforms/SpeculativeExecution/PR46267.ll
Log Message:
-----------
Reapply "[RemoveDIs][DebugInfo] Hoist DPValues in SpeculativeExecution (#80886)"
Reapply the original commit, 0aacd44, which had a missing brace resulting in
an error in compilation.
This reverts commit c76b0eb898d1e5edc416b658a6902163d64db1ce.
Commit: 9f6c00565a82fc375d415804d54da1113f719b17
https://github.com/llvm/llvm-project/commit/9f6c00565a82fc375d415804d54da1113f719b17
Author: Kolya Panchenko <87679760+nikolaypanchenko at users.noreply.github.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/CMakeLists.txt
A mlir/include/mlir/Dialect/LLVMIR/VCIXDialect.h
A mlir/include/mlir/Dialect/LLVMIR/VCIXOps.td
M mlir/include/mlir/Target/LLVMIR/Dialect/All.h
A mlir/include/mlir/Target/LLVMIR/Dialect/VCIX/VCIXToLLVMIRTranslation.h
M mlir/lib/Dialect/LLVMIR/CMakeLists.txt
A mlir/lib/Dialect/LLVMIR/IR/VCIXDialect.cpp
M mlir/lib/Target/LLVMIR/CMakeLists.txt
M mlir/lib/Target/LLVMIR/Dialect/CMakeLists.txt
A mlir/lib/Target/LLVMIR/Dialect/VCIX/CMakeLists.txt
A mlir/lib/Target/LLVMIR/Dialect/VCIX/VCIXToLLVMIRTranslation.cpp
A mlir/test/Conversion/MathToVCIX/math-to-vcix.mlir
A mlir/test/Target/LLVMIR/vcix-rv32.mlir
A mlir/test/Target/LLVMIR/vcix-rv64.mlir
M mlir/test/lib/Conversion/CMakeLists.txt
A mlir/test/lib/Conversion/MathToVCIX/CMakeLists.txt
A mlir/test/lib/Conversion/MathToVCIX/TestMathToVCIXConversion.cpp
M mlir/tools/mlir-opt/CMakeLists.txt
M mlir/tools/mlir-opt/mlir-opt.cpp
Log Message:
-----------
[MLIR][VCIX] Support VCIX intrinsics in LLVMIR dialect (#75875)
The changeset extends LLVMIR intrinsics with VCIX intrinsics.
The VCIX intrinsics allow MLIR users to interact with RISC-V
co-processors that are compatible with `XSfvcp` extension
Source:
https://www.sifive.com/document-file/sifive-vector-coprocessor-interface-vcix-software
Commit: 7a9b0e4acb3b5ee15f8eb138aad937cfa4763fb8
https://github.com/llvm/llvm-project/commit/7a9b0e4acb3b5ee15f8eb138aad937cfa4763fb8
Author: Xing Xue <xingxue at outlook.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M openmp/runtime/src/kmp.h
M openmp/runtime/test/tasking/bug_nested_proxy_task.c
M openmp/runtime/test/tasking/bug_proxy_task_dep_waiting.c
M openmp/runtime/test/tasking/hidden_helper_task/common.h
Log Message:
-----------
[OpenMP][test]Flip bit-fields in 'struct flags' for big-endian in test cases (#79895)
This patch flips bit-fields in `struct flags` for big-endian in test
cases to be consistent with the definition of the structure in libomp
`kmp.h`.
Commit: 369b82218419a0218400e7483255523b8dfd6cf0
https://github.com/llvm/llvm-project/commit/369b82218419a0218400e7483255523b8dfd6cf0
Author: Vijay Kandiah <vkandiah at nvidia.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIRDialect.h
M flang/include/flang/Optimizer/Support/InitFIR.h
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Optimizer/Dialect/FIRDialect.cpp
M flang/tools/bbc/bbc.cpp
M flang/tools/fir-opt/fir-opt.cpp
M flang/tools/tco/tco.cpp
Log Message:
-----------
[flang] Introducing a method to dynamically and conditionally register dialect interfaces. (#80881)
This change introduces the `addFIRExtensions` method to dynamically and
conditionally register dialect interfaces. As a use case of
`addFIRExtensions`, this change moves the static registration of
`FIRInlinerInterface` out of the constructor of `FIROpsDialect` to be
dynamically registered while loading the necessary MLIR dialects
required by Flang. This registration of `FIRInlinerInterface` is also
guarded by a boolean `addFIRInlinerInterface` which defaults to true.
---------
Co-authored-by: Vijay Kandiah <vkandiah at nvidia.com>
Commit: c95693c74601521463e12ff358fed6fb9ee736b9
https://github.com/llvm/llvm-project/commit/c95693c74601521463e12ff358fed6fb9ee736b9
Author: Pranav Kant <prka at google.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
Log Message:
-----------
[NFC][AMDGPU] Fix unused-variable warning (#81040)
This is only used in assert statement.
Commit: bb3ea6c810ccdffd176589e608bfa79dd25268ff
https://github.com/llvm/llvm-project/commit/bb3ea6c810ccdffd176589e608bfa79dd25268ff
Author: Teresa Johnson <tejohnson at google.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/include/llvm/IR/ModuleSummaryIndex.h
Log Message:
-----------
[MemProf] Switch to DenseMap for performance (NFC) (#81035)
Some profiling showed that the accesses to this map during bitcode
reading was incurring over 10% of the time in a large thin link. There
is no need for it to be std::map, and I measured around 8.5% time
reduction in the same thin link from switching to DenseMap.
Commit: b1ac052ab07ea091c90c2b7c89445b2bfcfa42ab
https://github.com/llvm/llvm-project/commit/b1ac052ab07ea091c90c2b7c89445b2bfcfa42ab
Author: Arnold Schwaighofer <aschwaighofer at apple.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
M llvm/test/Transforms/Coroutines/coro-async-addr-lifetime-infinite-loop-bug.ll
M llvm/test/Transforms/Coroutines/coro-async-addr-lifetime-start-bug.ll
M llvm/test/Transforms/Coroutines/coro-async-dyn-align.ll
A llvm/test/Transforms/Coroutines/coro-async-mutal-recursive.ll
M llvm/test/Transforms/Coroutines/coro-async-unreachable.ll
M llvm/test/Transforms/Coroutines/coro-async.ll
M llvm/test/Transforms/Coroutines/swift-async-dbg.ll
Log Message:
-----------
[Coro] [async] Disable inlining in async coroutine splitting (#80904)
The call to the inlining utility does not update the call graph. Leading
to assertion failures when calling the call graph utility to update the
call graph.
Instead rely on an inline pass to run after coro splitting and use
alwaysinline annotations.
github.com/apple/swift/issues/68708
Commit: d05bd34a1814f7b60265207b1b805572f79aca6d
https://github.com/llvm/llvm-project/commit/d05bd34a1814f7b60265207b1b805572f79aca6d
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/include/llvm/CodeGen/MachineFunction.h
M llvm/lib/CodeGen/MachinePassManager.cpp
M llvm/lib/CodeGen/MachineVerifier.cpp
Log Message:
-----------
[NFC][NewPM/Codegen] Remove unused parameter from verifyMachineFunction
The MachineFunctionAnalysisManager forward declaration is messing with upcoming changes.
Commit: 50ffc53e4708f3484939ef82e7b0309600a8e19f
https://github.com/llvm/llvm-project/commit/50ffc53e4708f3484939ef82e7b0309600a8e19f
Author: jimingham <jingham at apple.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M lldb/source/Plugins/SymbolVendor/MacOSX/SymbolVendorMacOSX.cpp
Log Message:
-----------
Don't search for separate debug files for mach-o object files (#81041)
mach-o object files never have separate debug info, and in a big app
there can be quite a large number of object files, so even a few stats
per object file can slow launches considerably.
This patch avoids this search for Mach-o symbol files of object type.
I don't have a way to test this, the only effect is that you didn't do a
bunch of stats that weren't going to do any good anyway.
Commit: 514686acfda66401869f9599954d731619c12c99
https://github.com/llvm/llvm-project/commit/514686acfda66401869f9599954d731619c12c99
Author: Visoiu Mistrih Francis <890283+francisvm at users.noreply.github.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZc.td
M llvm/lib/Target/RISCV/RISCVPushPopOptimizer.cpp
A llvm/test/CodeGen/RISCV/zcmp-cm-popretz.mir
M llvm/test/CodeGen/RISCV/zcmp-cm-push-pop.mir
Log Message:
-----------
[RISCV] Add correct Uses, Defs, isReturn to Zcmp (#81039)
* they all do stack adjustments, so they all use and def x2.
* popret and popretz also return
* popretz also defines x10
This adds that to the TD file and updates the PushPopOptimizer to
preserve the extra implicit operands added during frame lowering when
converting to popret(z).
Commit: d6c2cbbc6513bd412b34f3bf70e21b5a363b2fd9
https://github.com/llvm/llvm-project/commit/d6c2cbbc6513bd412b34f3bf70e21b5a363b2fd9
Author: Yi Kong <yikong at google.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M llvm/utils/UpdateTestChecks/common.py
Log Message:
-----------
Fix test failure if CLANG_VENDOR contains spaces (#81017)
Commit: ff8c865838b46d0202963b816fbed50aaf96a7f4
https://github.com/llvm/llvm-project/commit/ff8c865838b46d0202963b816fbed50aaf96a7f4
Author: Daniel Hoekwater <hoekwater at google.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/fbasic-block-sections.c
Log Message:
-----------
[Driver] Allow -fbasic-block-sections for AArch64 ELF (#80916)
Basic block sections "all" doesn't work on AArch64 since branch
relaxation may create new basic blocks. However, the other basic
block section modes should work out of the box since machine function
splitting already uses the basic block sections pass.
Commit: 43badc0a9644d032fe0176410fabda6ac1fddf19
https://github.com/llvm/llvm-project/commit/43badc0a9644d032fe0176410fabda6ac1fddf19
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M llvm/include/llvm/CodeGen/MachineModuleInfo.h
Log Message:
-----------
[NewPM/CodeGen] Move MachineModuleInfo::invalidate() to MachineModuleAnalysis::Result
Missed in #80937 since it's not currently being used.
Commit: 78b9dd6b206a151fe09b56fcb157f38321b84340
https://github.com/llvm/llvm-project/commit/78b9dd6b206a151fe09b56fcb157f38321b84340
Author: quanwanandy <150498259+quanwanandy at users.noreply.github.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
Fix Bazel build (#81064)
Commit: 4520b478d2512b0f39764e0464dcb4cb961845b5
https://github.com/llvm/llvm-project/commit/4520b478d2512b0f39764e0464dcb4cb961845b5
Author: YunQiang Su <syq at debian.org>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M libunwind/CMakeLists.txt
Log Message:
-----------
MIPS/libunwind: Use -mfp64 if compiler is FPXX (#68521)
Libunwind supports FP64 and FP32 modes, but not FPXX. The reason is
that, FP64 and FP32 have different way to save/restore FPRs. If
libunwind is built as FPXX, we have no idea which one should we use.
It's not due to the code bug, but rather the nature of FPXX.
FPXX is an ABI which uses only a common subset of FR=1(FP64) and FR=0
(FP32).
So that FPXX binaries can link with both FP64 and FP32 ones, aka.
FPXX + FP32 -> FP32
FPXX + FP64 -> FP64
While for libunwind, we should save/restore all of FPRs. If we use FPXX,
we can only save/restore a common subset of FPRs, instead of superset.
If libunwind is built as FP64, it will interoperatable with FPXX/FP64
APPs, and if it is built as FP32, it will interoperatable with
FP32/FPXX. Currently most of O32 APPs are FPXX or FP64, while few are
FP32.
So if the compiler is FPXX, which is the default value of most
toolchain, let's switch it to FP64.
Co-authored-by: YunQiang Su <yunqiang.su at cipunited.com>
Commit: 0d7f232baf6103529844c8977324bd45b21ad923
https://github.com/llvm/llvm-project/commit/0d7f232baf6103529844c8977324bd45b21ad923
Author: dhruvachak <Dhruva.Chakrabarti at amd.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M openmp/libomptarget/include/OpenMP/OMPT/Interface.h
M openmp/libomptarget/src/LegacyAPI.cpp
M openmp/libomptarget/src/OpenMP/API.cpp
M openmp/libomptarget/src/OpenMP/OMPT/Callback.cpp
M openmp/libomptarget/src/device.cpp
M openmp/libomptarget/src/interface.cpp
M openmp/libomptarget/test/ompt/callbacks.h
A openmp/libomptarget/test/ompt/target_memcpy.c
M openmp/libomptarget/test/ompt/veccopy.c
M openmp/libomptarget/test/ompt/veccopy_data.c
M openmp/libomptarget/test/ompt/veccopy_emi.c
Log Message:
-----------
[libomptarget] [OMPT] Fixed return address computation for OMPT events. (#80498)
Currently, __builtin_return_address is used to generate the return
address when the callback invoker is created. However, this may result
in the return address pointing to an internal runtime function. This is
not what a tool would typically want. A tool would want to know the
corresponding user code from where the runtime entry point is invoked.
This change adds a thread local variable that is assigned the return
address at the OpenMP runtime entry points. An RAII is used to manage
the modifications to the thread local variable. Whenever the return
address is required for OMPT events, it is read from the thread local
variable.
Commit: ece66dbc60971cf43a96f63e05c5a507feae3854
https://github.com/llvm/llvm-project/commit/ece66dbc60971cf43a96f63e05c5a507feae3854
Author: Luke Lau <luke at igalia.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/RISCV/rvv/stepvector.ll
Log Message:
-----------
[SelectionDAG] Add computeKnownBits support for ISD::STEP_VECTOR (#80452)
This handles two cases where we can work out some known-zero bits for
ISD::STEP_VECTOR.
The first case handles when we know the low bits are zero because the
step
amount is a power of two. This is taken from
https://reviews.llvm.org/D128159,
and even though the original patch didn't end up landing this case due
to it
not having any test difference, I've included it here for completeness's
sake.
The second case handles the case when we have an upper bound on
vscale_range.
We can use this to work out the upper bound on the number of elements,
and thus
what the maximum step will be. From the maximum step we then know which
hi bits
are zero.
On its own, computing the known hi bits results in some small
improvements for
RVV with -mrvv-vector-bits=zvl across the llvm-test-suite. However I'm
hoping
to be able to use this later to reduce the LMUL in index calculations
for
vrgather/indexed accesses.
---------
Co-authored-by: Philip Reames <preames at rivosinc.com>
Commit: 2df42fe0efd92a89ae191a598e2727c7b63de80b
https://github.com/llvm/llvm-project/commit/2df42fe0efd92a89ae191a598e2727c7b63de80b
Author: Jason Molenda <jmolenda at apple.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M lldb/docs/lldb-gdb-remote.txt
M lldb/tools/debugserver/source/RNBRemote.cpp
Log Message:
-----------
[lldb] [NFC] Remove min pkt size for compression setting (#81075)
debugserver will not compress small packets; the overhead of the
compression header makes this useful for larger packets. I default to
384 bytes in debugserver, and added an option for lldb to request a
different cutoff. This option has never been used in lldb in the past
nine years, so I don't think there's any point to keeping it around.
Commit: 7da1dda01eff708decbbb0b4cd52b2b95d89ea2a
https://github.com/llvm/llvm-project/commit/7da1dda01eff708decbbb0b4cd52b2b95d89ea2a
Author: David Green <david.green at arm.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/GlobalISel/select-insert-vector-elt.mir
M llvm/test/CodeGen/AArch64/arm64-fminv.ll
M llvm/test/CodeGen/AArch64/arm64-indexed-vector-ldst.ll
M llvm/test/CodeGen/AArch64/arm64-neon-copy.ll
M llvm/test/CodeGen/AArch64/arm64-vaddv.ll
Log Message:
-----------
[AArch64][GlobalISel] Update GISel check line and regenerate tests. NFC
Commit: 567d304e5344dfb408f2453390886fc229c09481
https://github.com/llvm/llvm-project/commit/567d304e5344dfb408f2453390886fc229c09481
Author: Jason Eckhardt <jeckhardt at nvidia.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/utils/TableGen/GlobalISelMatchTable.cpp
M llvm/utils/TableGen/InstrInfoEmitter.cpp
Log Message:
-----------
[TableGen][NFC] Replace hardcoded opcode numbering. (#81065)
This patch uses the recently introduced CodeGenTarget::getInstrIntValue
to replace hardcoded opcode enum value numbering in a few places.
Commit: 5c4a630ab70f98138d6f95d19712bb114d92323d
https://github.com/llvm/llvm-project/commit/5c4a630ab70f98138d6f95d19712bb114d92323d
Author: Alexandre Ganea <aganea at havenstudios.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M lld/ELF/Arch/LoongArch.cpp
Log Message:
-----------
[LLD][ELF] Silence warning when building with latest MSVC
This fixes:
```
[193/3517] Building CXX object
tools\lld\ELF\CMakeFiles\lldELF.dir\Arch\LoongArch.cpp.obj
C:\git\llvm-project\lld\ELF\Arch\LoongArch.cpp(683): warning C4334:
'<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit
shift intended?
```
Commit: d01864eb2f21d56cf432da7d80c505f510533c46
https://github.com/llvm/llvm-project/commit/d01864eb2f21d56cf432da7d80c505f510533c46
Author: Jason Eckhardt <jeckhardt at nvidia.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/utils/TableGen/CodeGenInstruction.h
M llvm/utils/TableGen/CodeGenTarget.cpp
M llvm/utils/TableGen/CodeGenTarget.h
Log Message:
-----------
[TableGen] Remove map CodeGenTarget::InstrToIntMap. (#81079)
This patch removes CodeGenTarget::InstrToIntMap, using instead a new
member CodeGenInstruction::EnumVal to store each enum value. This value
is computed and set by CodeGenTarget::computeInstrsByEnum and queried by
CodeGenTarget::getInstrIntValue.
Commit: 05091aa3ac53a13d08c78882c0c2035e58a1b4c4
https://github.com/llvm/llvm-project/commit/05091aa3ac53a13d08c78882c0c2035e58a1b4c4
Author: Mingming Liu <mingmingl at google.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M llvm/include/llvm/ProfileData/InstrProf.h
M llvm/lib/ProfileData/InstrProf.cpp
M llvm/tools/llvm-profdata/llvm-profdata.cpp
M llvm/unittests/ProfileData/InstrProfTest.cpp
Log Message:
-----------
[NFC][InstrProf]Generalize getParsedIRPGOFuncName to getParsedIRPGOName (#81054)
- Function getParsedIRPGOFuncName splits name by delimiter. The `[filename;]mangled-name` format could be generalized for non-function global values (e.g., vtables for type profiling). So rename the
function.
- Use kGlobalIdentifierDelimiter rather than semicolon directly for defragmentation.
Commit: d033799050b7bda70d80a933d5d99b7088a72a95
https://github.com/llvm/llvm-project/commit/d033799050b7bda70d80a933d5d99b7088a72a95
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M clang/docs/ClangFormatStyleOptions.rst
M clang/include/clang/Format/Format.h
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/Format.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Add Leave to AlwaysBreakTemplateDeclarations (#80569)
Closes #78067.
Commit: 351f94d981f363909ae6e76ed57cd0a75c3f5688
https://github.com/llvm/llvm-project/commit/351f94d981f363909ae6e76ed57cd0a75c3f5688
Author: Rageking8 <106309953+Rageking8 at users.noreply.github.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M clang/lib/Sema/SemaChecking.cpp
Log Message:
-----------
[clang][NFC] resolve redundant predicates (#79701)
Fixes #79686
Commit: 8f6e13e6da84510c8321717860fd506e12118514
https://github.com/llvm/llvm-project/commit/8f6e13e6da84510c8321717860fd506e12118514
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
M clang/test/Format/dump-config-objc-stdin.m
M clang/test/Format/verbose.cpp
M clang/tools/clang-format/ClangFormat.cpp
Log Message:
-----------
[clang-format] Fix a regression in dumping the config (#80628)
Commit d813af73f70f addressed a regression introduced by commit
3791b3fca6ea
but caused `clang-format -dump-config` to "hang".
This patch reverts changes to ClangFormat.cpp by both commits and
reworks the cleanup.
Fixes #80621.
Commit: c8ca98a2a9796797f2eab00cc6516610c133633a
https://github.com/llvm/llvm-project/commit/c8ca98a2a9796797f2eab00cc6516610c133633a
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/fpclass-check-idioms.ll
Log Message:
-----------
[InstCombine] Handle IsInf/IsZero idioms (#80607)
This patch does the following folds:
```
icmp eq/ne (bitcast X to int), (bitcast +/-inf to int) -> llvm.is.fpclass(X, (~)fcPosInf/fcNegInf)
icmp eq/ne (bitcast X to int), (bitcast +0/-0 to int) -> llvm.is.fpclass(X, (~)fcPosZero/fcNegZero)
```
Alive2: https://alive2.llvm.org/ce/z/JJmEE9
Commit: e17dded8d712fb13c30fd88f7810edaa0ee3e60d
https://github.com/llvm/llvm-project/commit/e17dded8d712fb13c30fd88f7810edaa0ee3e60d
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/test/Transforms/InstCombine/create-class-from-logic-fcmp.ll
M llvm/test/Transforms/InstSimplify/logic-of-fcmps.ll
Log Message:
-----------
[InstSimplify] Generalize `simplifyAndOrOfFCmps` (#81027)
This patch generalizes `simplifyAndOrOfFCmps` to simplify patterns like:
```
define i1 @src(float %x, float %y) {
%or.cond.i = fcmp ord float %x, 0.000000e+00
%cmp.i.i34 = fcmp olt float %x, %y
%cmp.i2.sink.i = and i1 %or.cond.i, %cmp.i.i34
ret i1 %cmp.i2.sink.i
}
define i1 @tgt(float %x, float %y) {
%cmp.i.i34 = fcmp olt float %x, %y
ret i1 %cmp.i.i34
}
```
Alive2: https://alive2.llvm.org/ce/z/9rydcx
This patch and #80986 will fix the regression introduced by #80941.
See also the IR diff
https://github.com/dtcxzyw/llvm-opt-benchmark/pull/199#discussion_r1480974120.
Commit: 9ff3b82948c90c54f2f6ec20798c529cb93fab3b
https://github.com/llvm/llvm-project/commit/9ff3b82948c90c54f2f6ec20798c529cb93fab3b
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M llvm/include/llvm/Support/AMDGPUMetadata.h
M llvm/test/CodeGen/AMDGPU/codegen-internal-only-func.ll
M llvm/test/CodeGen/AMDGPU/tid-mul-func-xnack-all-any.ll
M llvm/test/CodeGen/AMDGPU/tid-mul-func-xnack-all-not-supported.ll
M llvm/test/CodeGen/AMDGPU/tid-mul-func-xnack-all-off.ll
M llvm/test/CodeGen/AMDGPU/tid-mul-func-xnack-all-on.ll
M llvm/test/CodeGen/AMDGPU/tid-mul-func-xnack-any-off-1.ll
M llvm/test/CodeGen/AMDGPU/tid-mul-func-xnack-any-off-2.ll
M llvm/test/CodeGen/AMDGPU/tid-mul-func-xnack-any-on-1.ll
M llvm/test/CodeGen/AMDGPU/tid-mul-func-xnack-any-on-2.ll
M llvm/test/CodeGen/AMDGPU/tid-one-func-xnack-not-supported.ll
M llvm/test/CodeGen/AMDGPU/tid-one-func-xnack-off.ll
M llvm/test/CodeGen/AMDGPU/tid-one-func-xnack-on.ll
Log Message:
-----------
[AMDGPU] Revert Metadata Version Upgrade (#80995)
Metadata is still 1.2, not 1.3 after V6.
I thought that amdhsa.version mapped to the COV version but it's
separate, and there are no MD changes in V6, hence it doesn't need to be
updated.
Commit: a446c9bf69b4797da329977366ca62e55a429a90
https://github.com/llvm/llvm-project/commit/a446c9bf69b4797da329977366ca62e55a429a90
Author: martinboehme <mboehme at google.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M clang/lib/Analysis/FlowSensitive/Transfer.cpp
M clang/unittests/Analysis/FlowSensitive/UncheckedOptionalAccessModelTest.cpp
Log Message:
-----------
[clang][dataflow] Add support for `CXXRewrittenBinaryOperator`. (#81086)
This occurs in rewritten candidates for binary operators (a C++20
feature).
The patch modifies UncheckedOptionalAccessModelTest to run in C++20 mode
(as
well as C++17 mode, as before) and to use rewritten candidates. The
modified
test fails without the newly added support for
`CXXRewrittenBinaryOperator`.
Commit: a24b0c351a75a87410203dd3777c0d8ee87f65c1
https://github.com/llvm/llvm-project/commit/a24b0c351a75a87410203dd3777c0d8ee87f65c1
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M clang/test/Headers/__clang_hip_cmath.hip
M clang/test/Headers/__clang_hip_math.hip
Log Message:
-----------
clang/AMDGPU: Regenerate test checks in hip header tests
Commit: decbd29f9e9be50756a083cd677f7fea22cd3c91
https://github.com/llvm/llvm-project/commit/decbd29f9e9be50756a083cd677f7fea22cd3c91
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass.ll
Log Message:
-----------
Reapply "InstCombine: Introduce SimplifyDemandedUseFPClass"" (#74056)
This reverts commit ef388334ee5a3584255b9ef5b3fefdb244fa3fd7.
The referenced issue violates the spec for finite-only math only by
using a return value for a constant infinity. If the interpretation
is results and arguments cannot violate nofpclass, then any
std::numeric_limits<T>::infinity() result is invalid under
-ffinite-math-only. Without this interpretation the utility of
nofpclass is slashed.
Commit: 35d6ae8110e082e9a4704416dfbe83d5a3b16ed1
https://github.com/llvm/llvm-project/commit/35d6ae8110e082e9a4704416dfbe83d5a3b16ed1
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/test/Transforms/InstCombine/or.ll
Log Message:
-----------
[InstCombine] Handle multi-use in simplifyAndOrWithOpReplaced() (#81006)
Slightly generalize simplifyAndOrWithOpReplaced() by allowing it to
perform simplifications (without creating new instructions) in multi-use
cases. This way we can remove existing patterns without worrying about
multi-use edge cases.
I've opted to change the general way the implementation works to be more
similar to the standard simplifyWithOpReplaced(). We perform the operand
replacement generically, and then try to simplify the result or create a
new instruction if we're allowed to do so.
Commit: 7c0d52ca91d32e693ca245fb82f2402a34212fc3
https://github.com/llvm/llvm-project/commit/7c0d52ca91d32e693ca245fb82f2402a34212fc3
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M llvm/lib/Analysis/DomConditionCache.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstCombine/known-bits.ll
M llvm/test/Transforms/LoopVectorize/induction.ll
Log Message:
-----------
[ValueTracking] Support dominating known bits condition in and/or (#74728)
This extends computeKnownBits() support for dominating conditions to
also handle and/or conditions. We'll look through either and or or
depending on which edge we're considering.
This change is mainly for the sake of completeness, so we don't start
missing optimizations if SimplifyCFG decides to merge some branches.
Commit: 7ec6e7351458924946e9afaadf9788cb233095b9
https://github.com/llvm/llvm-project/commit/7ec6e7351458924946e9afaadf9788cb233095b9
Author: Sven van Haastregt <sven.vanhaastregt at arm.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAG.h
Log Message:
-----------
[DAG] Fix typos in comments; NFC
Commit: dd9511d3e46094ec15282bce6eba163fed2226a4
https://github.com/llvm/llvm-project/commit/dd9511d3e46094ec15282bce6eba163fed2226a4
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M clang/test/AST/Interp/builtin-functions.cpp
Log Message:
-----------
[clang][Interp][NFC] Convert test case to verify=expected,both style
Commit: ef05b4b520ee342db6a3d6c5607f8e8729246316
https://github.com/llvm/llvm-project/commit/ef05b4b520ee342db6a3d6c5607f8e8729246316
Author: David Green <david.green at arm.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M llvm/test/Analysis/BasicAA/vscale.ll
Log Message:
-----------
[BasicAA] More vscale tests. NFC
This time with i8 geps and scale intrinsics, along with mutiple vscale
intrinsics that can be treated as identical.
Commit: 9ac82f0d3ecf6c13669b0c7940920460c037a292
https://github.com/llvm/llvm-project/commit/9ac82f0d3ecf6c13669b0c7940920460c037a292
Author: Martin Storsjö <martin at martin.st>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M openmp/cmake/OpenMPTesting.cmake
Log Message:
-----------
[OpenMP] [cmake] In standalone mode, make Python3_EXECUTABLE available (#80828)
When running the tests, we try to invoke them as
"${Python3_EXECUTABLE} ${OPENMP_LLVM_LIT_EXECUTABLE}", but when running
"find_package(Python3)" within the function
"find_standalone_test_dependencies", the variable "Python3_EXECUTABLE"
only gets set within the function scope.
Tests have worked regardless of this in many cases, where executing the
python script directly succeeds. But for consistency, and for working in
cases when the python script can't be executed as such, make the
Python3_EXECUTABLE variable available as intended.
Commit: 49ee2ffc65b7660bfe84cd842e083d6c0ee3e991
https://github.com/llvm/llvm-project/commit/49ee2ffc65b7660bfe84cd842e083d6c0ee3e991
Author: Evgeniy <evgeniy.tyurin at intel.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
R llvm/test/CodeGen/X86/GlobalISel/br.ll
R llvm/test/CodeGen/X86/GlobalISel/brcond.ll
R llvm/test/CodeGen/X86/fast-isel-cmp-branch2.ll
R llvm/test/CodeGen/X86/fast-isel-cmp-branch3.ll
A llvm/test/CodeGen/X86/isel-br.ll
A llvm/test/CodeGen/X86/isel-brcond-fcmp.ll
A llvm/test/CodeGen/X86/isel-brcond-icmp.ll
Log Message:
-----------
[X86][GlobalISel] Reorganize br/brcond tests (NFC) (#80204)
Removing duplicating tests under GlobalISel, consolidating to perform
checks with all three selectors.
Commit: b85fe40cb88a6b4f640c2b757bd0d254ff1d032c
https://github.com/llvm/llvm-project/commit/b85fe40cb88a6b4f640c2b757bd0d254ff1d032c
Author: Balázs Kéri <balazs.keri at ericsson.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
M clang/test/Analysis/Inputs/std-c-library-functions-POSIX.h
M clang/test/Analysis/std-c-library-functions-POSIX.c
M clang/test/Analysis/std-c-library-functions.c
M clang/test/Analysis/stream-error.c
M clang/test/Analysis/stream-noopen.c
M clang/test/Analysis/stream.c
Log Message:
-----------
[clang][analyzer] Add missing stream related functions to StdLibraryFunctionsChecker. (#76979)
Some stream functions were recently added to `StreamChecker` that were
not modeled by `StdCLibraryFunctionsChecker`. To ensure consistency
these functions are added to the other checker too.
Some of the related tests are re-organized.
Commit: 8f2378d7fcf19ea00fbd3366c2125569ef084f93
https://github.com/llvm/llvm-project/commit/8f2378d7fcf19ea00fbd3366c2125569ef084f93
Author: Simon Camphausen <simon.camphausen at iml.fraunhofer.de>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
Log Message:
-----------
[mlir][EmitC] Add builders for call_opaque op (#80879)
This allows to omit the default valued attributes and therefore write
more compact code.
Commit: 1a42b3804f0ed1c4958c4f17216543a1623e3452
https://github.com/llvm/llvm-project/commit/1a42b3804f0ed1c4958c4f17216543a1623e3452
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M llvm/lib/IR/BasicBlock.cpp
Log Message:
-----------
[DebugInfo][RemoveDIs] Erase ranges of instructions individually (#81007)
The BasicBlock::erase method simply removes a range of instructions from
the instlist by unlinking them. However, now that we're attaching
debug-info directly to instructions, some cleanup is required, so use
eraseFromParent on each instruction instead.
This is less efficient, but rare, and seemingly only WASM EH Prepare
uses this method of BasicBlock. Detected via a memory leak check in
asan.
(asan is always the final boss for whatever I do).
Commit: faa2f9658a0cd276f3415fad2676f8d90df51268
https://github.com/llvm/llvm-project/commit/faa2f9658a0cd276f3415fad2676f8d90df51268
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
A llvm/test/DebugInfo/X86/dont-drop-dbg-assigns-in-isels.ll
Log Message:
-----------
[DebugInfo] Handle dbg.assigns in FastISel (#80734)
There are some rare circumstances where dbg.assign intrinsics can reach
FastISel. They are a more specialised kind of dbg.value intrinsic with
more information about the originating alloca. They only occur during
optimisation, but might reach FastISel through always_inlining an
optimised function into an optnone function.
This is a slight problem as it's not safe (for debug-info accuracy) to
ignore any intrinsics, and for RemoveDIs (the intrinsic-replacement
project) it causes a crash through an unhandled switch case. To get
around this, we can just treat the dbg.assign as a dbg.value (it's an
actual subclass) and use the variable location information from the
dbg.value fields. This loses a small amount of debug-info about stack
locations, but is more accurate than just ignoring the intrinsic.
(This has popped up deep in an LTO build of a large codebase while
testing RemoveDIs, I figured it'd be good to fix it for the
intrinsic-form at the same time, just to demonstrate the correct
behaviour).
Commit: 878234b3202c9fe343cd59c71b50c4c4c5dc1b8c
https://github.com/llvm/llvm-project/commit/878234b3202c9fe343cd59c71b50c4c4c5dc1b8c
Author: David Green <david.green at arm.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M llvm/lib/Analysis/BasicAliasAnalysis.cpp
M llvm/test/Analysis/BasicAA/vscale.ll
Log Message:
-----------
[BasicAA] Scalable offset with scalable typesize. (#80818)
This patch adds a simple alias analysis check for accesses that are scalable
with a offset between them that is also trivially scalable (there are no other
constant/variable offsets). We essentially divide each side by vscale and are
left needing to check that the offset >= typesize.
Commit: 455c3966cd7305b40d6941b544a16c22120b4512
https://github.com/llvm/llvm-project/commit/455c3966cd7305b40d6941b544a16c22120b4512
Author: Alex Bradbury <asb at igalia.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M llvm/unittests/Target/RISCV/RISCVInstrInfoTest.cpp
Log Message:
-----------
[RISCV][test] Add test coverage for RISCVInstrInfo::isCopyInstrImpl
Commit: d7fb94b6daa643a764e9a756bc544f26c248dafd
https://github.com/llvm/llvm-project/commit/d7fb94b6daa643a764e9a756bc544f26c248dafd
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M lldb/include/lldb/DataFormatters/TypeSynthetic.h
M lldb/include/lldb/DataFormatters/VectorIterator.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/source/Core/ValueObjectSyntheticFilter.cpp
M lldb/source/DataFormatters/TypeSynthetic.cpp
M lldb/source/DataFormatters/VectorType.cpp
M lldb/source/Plugins/Language/CPlusPlus/BlockPointer.cpp
M lldb/source/Plugins/Language/CPlusPlus/Coroutines.cpp
M lldb/source/Plugins/Language/CPlusPlus/Coroutines.h
M lldb/source/Plugins/Language/CPlusPlus/GenericBitset.cpp
M lldb/source/Plugins/Language/CPlusPlus/GenericOptional.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.h
M lldb/source/Plugins/Language/CPlusPlus/LibCxxAtomic.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxInitializerList.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxList.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxQueue.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxRangesRefView.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxSpan.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxTuple.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxUnorderedMap.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxVariant.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxVector.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcpp.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcppTuple.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcppUniquePointer.cpp
M lldb/source/Plugins/Language/ObjC/Cocoa.cpp
M lldb/source/Plugins/Language/ObjC/NSArray.cpp
M lldb/source/Plugins/Language/ObjC/NSDictionary.cpp
M lldb/source/Plugins/Language/ObjC/NSError.cpp
M lldb/source/Plugins/Language/ObjC/NSException.cpp
M lldb/source/Plugins/Language/ObjC/NSIndexPath.cpp
M lldb/source/Plugins/Language/ObjC/NSSet.cpp
Log Message:
-----------
[lldb][TypeSynthetic][NFC] Make SyntheticChildrenFrontend::Update() return an enum (#80167)
This patch changes the return value of
`SyntheticChildrenFrontend::Update` to a scoped enum that aims to
describe what the return value means.
Commit: b35c5197629494cb675948fe33d2fdcd75b5aafa
https://github.com/llvm/llvm-project/commit/b35c5197629494cb675948fe33d2fdcd75b5aafa
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[DAG] tryToFoldExtendOfConstant - share the same SDLoc argument instead of recreating it over and over again.
Commit: a643ab852a63a14dba86e031247734c5e3d5adb9
https://github.com/llvm/llvm-project/commit/a643ab852a63a14dba86e031247734c5e3d5adb9
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/Transforms/Scalar/SROA.cpp
M llvm/test/DebugInfo/Generic/assignment-tracking/codegenprepare/sunk-addr.ll
M llvm/test/Transforms/GlobalOpt/localize-constexpr-debuginfo.ll
M llvm/test/Transforms/SROA/vector-promotion.ll
M llvm/unittests/IR/BasicBlockDbgInfoTest.cpp
Log Message:
-----------
[DebugInfo][RemoveDIs] Final omnibus test fixing for RemoveDIs (#81125)
With this, I get a clean test suite running under RemoveDIs, the
non-intrinsic representation of debug-info, including under asan. We've
previously established that we generate identical binaries for some
large projects, so this i just edge-case cleanup. The changes:
* CodeGenPrepare fixups need to apply to dbg.assigns as well as
dbg.values (a dbg.assign is a dbg.value).
* Pin a test for constant-deletion to intrinsic debug-info: this very
rare scenario uses a different kill-location sigil in dbg.value mode to
RemoveDIs mode, which generates spurious test differences.
* Suppress a memory leak in a unit test: the code for dealing with
trailing debug-info in a block is necessarily fiddly, leading to this
leak when testing it. Developer-facing interfaces for moving
instructions around always deal with this behind the scenes.
* SROA, when replacing some vector-loads, needs to insert the
replacement loads ahead of any debug-info records so that their values
remain dominated by a definition. Set the head-bit indicating our
insertion should come before debug-info.
Commit: 7d4733a267cafa2109dc43b151dbae5716f372e4
https://github.com/llvm/llvm-project/commit/7d4733a267cafa2109dc43b151dbae5716f372e4
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] LowerBUILD_VECTOR - share the same SDLoc argument instead of recreating it over and over again.
Commit: 8e707f8444692762b35fde3e94bbcb02686272a5
https://github.com/llvm/llvm-project/commit/8e707f8444692762b35fde3e94bbcb02686272a5
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M flang/test/Lower/target-features-amdgcn.f90
M flang/test/Lower/target-features-x86_64.f90
Log Message:
-----------
[Flang][Lower] NFC: Update target-features/target-cpu tests (#80984)
Previously, some of these lowering tests inadvertently relied on a
default triple not introducing any target features. This caused failures
when compiling on a ppc64le-linux-unknown-gnu system.
This patch updates these lowering tests to always explicitly set the
target triple and check that the -target-cpu and -target-features
compiler options are processed as expected.
Commit: 42902d22d1272c1bc10132b06be2d5251b17f225
https://github.com/llvm/llvm-project/commit/42902d22d1272c1bc10132b06be2d5251b17f225
Author: Zain Jaffal <zain at jjaffal.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
A llvm/test/Transforms/InstCombine/fdiv-sqrt.ll
Log Message:
-----------
[InstCombine] Add tests for x / sqrt(y / z) with fast-math
Commit: e50189b0fdf382e3e0d5fc5e58fe81a78d0de7c8
https://github.com/llvm/llvm-project/commit/e50189b0fdf382e3e0d5fc5e58fe81a78d0de7c8
Author: Zain Jaffal <zain at jjaffal.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/fdiv-sqrt.ll
Log Message:
-----------
[InstCombine] Add additional tests for fdiv-sqrt
Add more tests where some of the instructions have missing flags.
Commit: 4b72c5e8277f8688f7ce0bc953f9f3ea54420358
https://github.com/llvm/llvm-project/commit/4b72c5e8277f8688f7ce0bc953f9f3ea54420358
Author: whisperity <whisperity at gmail.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/test/Sema/conversion-64-32.c
A clang/test/Sema/conversion-implicit-int-includes-64-to-32.c
Log Message:
-----------
[clang][Sema] Subclass `-Wshorten-64-to-32` under `-Wimplicit-int-conversion` (#80814)
Although "implicit int conversions" is supposed to be a superset
containing the more specific "64-to-32" case, previously they were a
disjoint set, only enabled in common in the much larger `-Wconversion`.
Commit: 448fe73428a810eb67617e07c23510033a21de5a
https://github.com/llvm/llvm-project/commit/448fe73428a810eb67617e07c23510033a21de5a
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/X86/X86InstrInfo.h
M llvm/lib/Target/X86/X86MCInstLower.cpp
Log Message:
-----------
[X86] Add X86::getVectorRegisterWidth helper. NFC.
Replaces internal helper used by addConstantComments to allow reuse in a future patch.
Commit: 6ea76c1328e04799981c78b3661a175a2ba47cec
https://github.com/llvm/llvm-project/commit/6ea76c1328e04799981c78b3661a175a2ba47cec
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M llvm/CMakeLists.txt
Log Message:
-----------
[NFCI][RemoveDIs] Build LLVM with RemoveDIs iterators
This commit flips a bit to make LLVM build with "debuginfo iterators",
causing BasicBlock::iterator to contain a bit that's used for debug-info
purposes. More about this can be read on Discourse [0], but the runtime
impact of this should be negligable (iterators usually end up being
inlined), and there should be no change to LLVMs behaviour as a result of
this commit.
What this does mean though, is that roughly 400 debug-info tests where
we've added "--try-experimental-debuginfo-iterators" to RUNlines are going
to start operating in RemoveDIs mode. These are already tested on the
new-debug-iterators buildbot [1], and I've even tested with asan, so I'm
not _expecting_ any turbulence.
[0] https://discourse.llvm.org/t/rfc-instruction-api-changes-needed-to-eliminate-debug-intrinsics-from-ir/68939
[1] https://lab.llvm.org/buildbot/#/builders/275
Commit: ec1fcb381d884ca53e2e0dd4075f946c8f002de2
https://github.com/llvm/llvm-project/commit/ec1fcb381d884ca53e2e0dd4075f946c8f002de2
Author: agozillon <Andrew.Gozillon at amd.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M flang/tools/bbc/bbc.cpp
Log Message:
-----------
[Flang][bbc] Prevent bbc -emit-fir command invoking OpenMP passes twice (#80927)
Currently when the bbc tool is invoked with the emit-fir command the pass pipeline will be invoked twice for verification causing the previously added OpenMP pass pipeline to be invoked multiple times.
This change seeks to prevent that from occurring by using a seperate pass manager and run command immediately when it is necessary for the OpenMP passes to be executed.
Commit: 72f04fa0734f8559ad515f507a4a3ce3f461f196
https://github.com/llvm/llvm-project/commit/72f04fa0734f8559ad515f507a4a3ce3f461f196
Author: Martin Storsjö <martin at martin.st>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M openmp/cmake/HandleOpenMPOptions.cmake
Log Message:
-----------
[OpenMP] [cmake] Don't use -fno-semantic-interposition on Windows (#81113)
This was added in 4b7beab4187ab0766c3d7b272511d5751431a8da. When the
flag was added implicitly elsewhere, it was added via
llvm/cmake/modules/HandleLLVMOptions.cmake, where it wasn't added on
Windows/Cygwin targets.
This avoids one warning per object file in OpenMP.
Commit: 8697bbe2d4aed109520e83c6beab52196ec5b702
https://github.com/llvm/llvm-project/commit/8697bbe2d4aed109520e83c6beab52196ec5b702
Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M clang/lib/Sema/SemaChecking.cpp
M clang/test/SemaOpenCL/operators.cl
Log Message:
-----------
[clang] Use CPlusPlus language option instead of Bool (#80975)
As it was pointed out in
https://github.com/llvm/llvm-project/pull/80724, we should not be
checking `getLangOpts().Bool` when determining something related to
logical operators, since it only indicates that bool keyword is present,
not which semantic logical operators have. As a side effect a missing
`-Wpointer-bool-conversion` in OpenCL C was restored since like C23,
OpenCL C has bool keyword but logical operators still return int.
Commit: fe8a62c46365f5ef0c15df2265bbf0026d0a4047
https://github.com/llvm/llvm-project/commit/fe8a62c46365f5ef0c15df2265bbf0026d0a4047
Author: Uday Bondhugula <uday at polymagelabs.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/Affine/IR/AffineOps.td
M mlir/include/mlir/Dialect/Utils/StructuredOpsUtils.h
M mlir/include/mlir/IR/AffineMap.h
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/lib/Conversion/VectorToGPU/VectorToGPU.cpp
M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/Split.cpp
M mlir/lib/Dialect/Linalg/Utils/Utils.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseGPUCodegen.cpp
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorContract.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorTransferSplitRewritePatterns.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
M mlir/lib/IR/AffineMap.cpp
M mlir/lib/IR/BuiltinTypes.cpp
A mlir/unittests/IR/AffineMapTest.cpp
M mlir/unittests/IR/CMakeLists.txt
Log Message:
-----------
[MLIR] Fix crash in AffineMap::replace for zero result maps (#80930)
Fix obvious bug in AffineMap::replace for the case of zero result maps.
Extend/complete inferExprsFromList to work with empty expression lists.
Commit: d63c8bee58b5d4dad9f1c550a342e782e0038f28
https://github.com/llvm/llvm-project/commit/d63c8bee58b5d4dad9f1c550a342e782e0038f28
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M clang/lib/AST/ExprConstant.cpp
Log Message:
-----------
[clang][ExprConst] Remove unnecessary cast
FD is a FunctionDecl, so no need to cast a FunctionDecl to a
CXXMethodDecl just to assign it to a FunctionDecl.
Commit: 3ad63593dac390e320808f3de0e1906c5fa45c8a
https://github.com/llvm/llvm-project/commit/3ad63593dac390e320808f3de0e1906c5fa45c8a
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M llvm/include/llvm/IR/PatternMatch.h
M llvm/unittests/IR/PatternMatch.cpp
Log Message:
-----------
[PatternMatch] Add m_PtrAdd() matcher (NFC)
This matches a getelementptr i8 instruction or constant expression,
with a given pointer operand and index.
Commit: d9e92765c5f9b0fa7adafa769dd13d37b6bca038
https://github.com/llvm/llvm-project/commit/d9e92765c5f9b0fa7adafa769dd13d37b6bca038
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M llvm/lib/IR/ConstantRange.cpp
A llvm/test/Transforms/SCCP/pr79696.ll
M llvm/unittests/IR/ConstantRangeTest.cpp
Log Message:
-----------
[ConstantRange] Improve ConstantRange::binaryXor (#80146)
`ConstantRange::binaryXor` gives poor results as it currently depends on
`KnownBits::operator^`.
Since `sub A, B` is canonicalized into `xor A, B` if `B` is the subset
of `A`, this patch reverts the transform in `ConstantRange::binaryXor`,
which will give better results.
Alive2: https://alive2.llvm.org/ce/z/bmTMV9
Fixes #79696.
Commit: 06774d6bbf32aff45b67d8c3753524ec36bf8869
https://github.com/llvm/llvm-project/commit/06774d6bbf32aff45b67d8c3753524ec36bf8869
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.h
M clang/test/AST/Interp/records.cpp
Log Message:
-----------
[clang][Interp] Handle CXXInheritedCtorInitExprs
We need to forward all arguments of the current function and
call the ctor function.
Commit: c4b0dfcc99da7506bff6b57d563e5cbce9caf4cd
https://github.com/llvm/llvm-project/commit/c4b0dfcc99da7506bff6b57d563e5cbce9caf4cd
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
Log Message:
-----------
[Clang] Fix a non-effective assertion (#81083)
`PTy` here is literally `FTy->getParamType(i)`, which makes this
assertion not
work as expected.
Commit: fb6ef4233968ffefb616d1c779a5483ef1f140d3
https://github.com/llvm/llvm-project/commit/fb6ef4233968ffefb616d1c779a5483ef1f140d3
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M clang/test/AST/Interp/records.cpp
Log Message:
-----------
[clang][Interp][NFC] Convert records test to verify=expected,both style
Commit: 10cd0e7a8bdcd80c0b017f8d0b6b71dd61973b54
https://github.com/llvm/llvm-project/commit/10cd0e7a8bdcd80c0b017f8d0b6b71dd61973b54
Author: Tarun Prabhu <tarun at lanl.gov>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M flang/docs/FortranLLVMTestSuite.md
Log Message:
-----------
[flang][docs] Update flang documentation regarding the test suite (#80755)
Remove redundant reference to flang not being able to generate code. Add
a reference to the gfortran tests that are part of the LLVM Test Suite.
Commit: cd183428a9af6d7dda2018a88aeb495f268716b5
https://github.com/llvm/llvm-project/commit/cd183428a9af6d7dda2018a88aeb495f268716b5
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeEmitter.cpp
M clang/test/AST/Interp/lambda.cpp
Log Message:
-----------
[clang][Interp] Fix handling of generic lambdas
When compiling their static invoker, we need to get the
right specialization.
Commit: 3e33b6f5de6905c98395a77b41d474b87ef9e677
https://github.com/llvm/llvm-project/commit/3e33b6f5de6905c98395a77b41d474b87ef9e677
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M libcxx/include/ostream
M libcxx/include/scoped_allocator
M libcxx/include/shared_mutex
M libcxx/include/string
M libcxx/include/valarray
M libcxx/include/vector
Log Message:
-----------
[libc++][NFC] Reformat a few files that had gotten mis-formatted
Those appear to be oversights when committing patches
in the last few months.
Commit: 5452cbc4a6bfb905fedeacaa6f27895e249da1e5
https://github.com/llvm/llvm-project/commit/5452cbc4a6bfb905fedeacaa6f27895e249da1e5
Author: ostannard <oliver.stannard at arm.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64RegisterInfo.td
M llvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
M llvm/test/CodeGen/AArch64/branch-target-enforcement-indirect-calls.ll
M llvm/test/CodeGen/AArch64/kcfi-bti.ll
Log Message:
-----------
[AArch64] Indirect tail-calls cannot use x16 with pac-ret+pc (#81020)
When using -mbranch-protection=pac-ret+pc, x16 is used in the function
epilogue to hold the address of the signing instruction. This is used by
a HINT instruction which can only use x16, so we can't change this. This
means that we can't use it to hold the function pointer for an indirect
tail-call.
There is existing code to force indirect tail-calls to use x16 or x17
when BTI is enabled, so there are now 4 combinations:
bti pac-ret+pc Valid function pointer registers
off off Any non callee-saved register
on off x16 or x17
off on Any non callee-saved register except x16
on on x17
Commit: 0802596df3d1ffd15f6b828a0f5c1e5b687a730f
https://github.com/llvm/llvm-project/commit/0802596df3d1ffd15f6b828a0f5c1e5b687a730f
Author: Daniel Chen <cdchen at ca.ibm.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M flang/lib/Semantics/resolve-names.cpp
Log Message:
-----------
[Flang] Update the fix of PR 80738 to cover generic interface inside modules (#81087)
The following test cases crashes. The problem is that the fix for PR
https://github.com/llvm/llvm-project/pull/80738 is not quite complete.
It should `GetUltimate()` of the `interface_` before check if it is
generic.
```
MODULE M
CONTAINS
FUNCTION Int(Arg)
INTEGER :: Int, Arg
Int = Arg
END FUNCTION
FUNCTION Int8(Arg)
INTEGER(8) :: Int8, Arg
Int8 = 8_8
END FUNCTION
END MODULE
MODULE M1
USE M
INTERFACE Int8
MODULE PROCEDURE Int
MODULE PROCEDURE Int8
END INTERFACE
END MODULE
PROGRAM PtrAssignGen
USE M
USE M1
IMPLICIT NONE
INTERFACE Int
MODULE PROCEDURE Int
MODULE PROCEDURE Int8
END INTERFACE
PROCEDURE(Int8), POINTER :: PtrInt8
PtrInt8 => Int8
IF ( PtrInt8(100_8) .NE. 8_8 ) ERROR STOP 12
END
```
Commit: dc5da4851de5d29dd040d85a8387e2e5b4b12b7b
https://github.com/llvm/llvm-project/commit/dc5da4851de5d29dd040d85a8387e2e5b4b12b7b
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
A llvm/test/Transforms/InstCombine/dependent-ivs.ll
Log Message:
-----------
[InstCombine] Add tests for #77108 (NFC)
Commit: fffcc5ca83ad2700a3586c1b849a36c6081e2023
https://github.com/llvm/llvm-project/commit/fffcc5ca83ad2700a3586c1b849a36c6081e2023
Author: Francesco Petrogalli <francesco.petrogalli at apple.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M llvm/include/llvm/CodeGen/ValueTypes.td
M llvm/lib/CodeGen/ValueTypes.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
Log Message:
-----------
[CodeGen] Add ValueType v3i8 (NFCI). (#80826)
Commit: b14731fe93d0db9a59984783051880795ae0992d
https://github.com/llvm/llvm-project/commit/b14731fe93d0db9a59984783051880795ae0992d
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M clang/lib/Parse/ParseOpenACC.cpp
Log Message:
-----------
[OpenACC][NFC] Fix parse result from 'set'
Apparently 'set' was being parsed as 'shutdown'. There isn't really any
way of detecting this without getting into a Sema implementation,
however fixing this now as I noticed it.
Commit: 067d2779fcfc62dd429177f350b8cefe49b65b51
https://github.com/llvm/llvm-project/commit/067d2779fcfc62dd429177f350b8cefe49b65b51
Author: ian Bearman <ianb at microsoft.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/Bufferization/IR/BufferizableOpInterface.h
M mlir/lib/Dialect/Arith/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/lib/Dialect/Bufferization/IR/BufferizableOpInterface.cpp
M mlir/lib/Dialect/Bufferization/IR/BufferizationOps.cpp
M mlir/lib/Dialect/Bufferization/Transforms/Bufferize.cpp
M mlir/lib/Dialect/Bufferization/Transforms/FuncBufferizableOpInterfaceImpl.cpp
M mlir/lib/Dialect/Tensor/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/test/lib/Dialect/Bufferization/TestTensorCopyInsertion.cpp
Log Message:
-----------
[MLIR] Setting MemorySpace During Bufferization (#78484)
Collection of changes with the goal of being able to convert `encoding`
to `memorySpace` during bufferization
- new API for encoder to allow implementation to select destination
memory space
- update existing bufferization implementations to support the new
interface
Commit: 92eaf036bf22ecc276146cd073208e6a867af8d4
https://github.com/llvm/llvm-project/commit/92eaf036bf22ecc276146cd073208e6a867af8d4
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M llvm/CMakeLists.txt
M llvm/cmake/modules/HandleLLVMOptions.cmake
M llvm/include/llvm/ADT/ilist_iterator.h
M llvm/tools/llc/llc.cpp
M llvm/tools/llvm-link/llvm-link.cpp
M llvm/tools/llvm-lto/llvm-lto.cpp
M llvm/tools/llvm-lto2/llvm-lto2.cpp
M llvm/tools/llvm-reduce/llvm-reduce.cpp
M llvm/tools/opt/optdriver.cpp
M llvm/unittests/ADT/IListIteratorBitsTest.cpp
M llvm/unittests/IR/BasicBlockDbgInfoTest.cpp
Log Message:
-----------
[NFC][RemoveDIs] Remove conditional compilation for RemoveDIs (#81149)
A colleague observes that switching the default value of
LLVM_EXPERIMENTAL_DEBUGINFO_ITERATORS to "On" hasn't flipped the value
in their CMakeCache.txt. This probably means that everyone with an
existing build tree is going to not have support built in, meaning
everyone in LLVM would need to clean+rebuild their worktree when we flip
the switch on... which doesn't sound good.
So instead, just delete the flag and everything it does, making everyone
build and run ~400 lit tests in RemoveDIs mode. None of the buildbots
have had trouble with this, so it Should Be Fine (TM).
(Sending for review as this is changing various comments, and touches
several different areas -- I don't want to get too punchy).
Commit: 7d19dc50de2c81ead6af750bcddd139ac99a48b5
https://github.com/llvm/llvm-project/commit/7d19dc50de2c81ead6af750bcddd139ac99a48b5
Author: Ivan Kosarev <ivan.kosarev at amd.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fceil.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-ffloor.s16.mir
M llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-f16.mir
A llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vop1.s
A llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop1.s
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8_from_vop1.txt
Log Message:
-----------
[AMDGPU][True16] Support VOP3 source DPP operands. (#80892)
Commit: b846613837d83989d99d33f4b90db7bad019aa8c
https://github.com/llvm/llvm-project/commit/b846613837d83989d99d33f4b90db7bad019aa8c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M llvm/lib/Target/X86/X86FixupVectorConstants.cpp
Log Message:
-----------
[X86] X86FixupVectorConstants - add destination register width to rebuildSplatCst/rebuildZeroUpperCst/rebuildExtCst callbacks
As found on #81136 - we aren't correctly handling for cases where the constant pool entry is wider than the destination register width, causing incorrect scaling of the truncated constant for load-extension cases.
This first patch just pulls out the destination register width argument, its still currently driven by the constant pool entry but that will be addressed in a followup.
Commit: eb85c8edf576d27254fa37bf9ed72ec0867756f7
https://github.com/llvm/llvm-project/commit/eb85c8edf576d27254fa37bf9ed72ec0867756f7
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
A llvm/test/CodeGen/X86/pr81136.ll
Log Message:
-----------
[X86] Add test case for #81136
Commit: f407be32fe8084fe02c4f16842548d21afdb447f
https://github.com/llvm/llvm-project/commit/f407be32fe8084fe02c4f16842548d21afdb447f
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M llvm/lib/Target/X86/X86FixupVectorConstants.cpp
Log Message:
-----------
[X86] X86FixupVectorConstants - rename FixupEntry::BitWidth to FixupEntry::MemBitWidth NFC.
Make it clearer that this refers to the width of the constant element stored in memory - which won't match the register element width after a sext/zextload
Commit: 5aeabf2df92b92c71b5dbdb9ae82a37431aa2ee4
https://github.com/llvm/llvm-project/commit/5aeabf2df92b92c71b5dbdb9ae82a37431aa2ee4
Author: stephenpeckham <118857872+stephenpeckham at users.noreply.github.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M llvm/include/llvm/ObjectYAML/XCOFFYAML.h
M llvm/lib/ObjectYAML/XCOFFEmitter.cpp
M llvm/lib/ObjectYAML/XCOFFYAML.cpp
M llvm/test/tools/obj2yaml/XCOFF/aix.yaml
M llvm/test/tools/obj2yaml/XCOFF/aux-symbols.yaml
A llvm/test/tools/yaml2obj/XCOFF/aux-aligntype.yaml
M llvm/test/tools/yaml2obj/XCOFF/aux-symbols.yaml
M llvm/tools/obj2yaml/xcoff2yaml.cpp
Log Message:
-----------
[XCOFF][obj2yaml] Support SymbolAlignmentAndType as 2 separate fields in YAML. (#76828)
XCOFF encodes a symbol type and alignment in a single 8-bit field. It is
easier to read and write YAML files if the fields can be specified
separately. This PR causes obj2yaml to write the fields separately and
allows yaml2obj to read either the single combined field or the separate
fields.
Commit: 58e8147d1690485ed0a6fcb59c7b6ea4b8cd2936
https://github.com/llvm/llvm-project/commit/58e8147d1690485ed0a6fcb59c7b6ea4b8cd2936
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M flang/lib/Lower/DirectivesCommon.h
M flang/lib/Lower/OpenACC.cpp
M flang/test/Lower/OpenACC/acc-bounds.f90
Log Message:
-----------
[flang][openacc] Use original input for base address with optional (#80931)
In #80317 the data op generation was updated to use correctly the #0
result from the hlfir.delcare op. In case of optional that are not
descriptor, it is preferable to use the original input for the varPtr
value of the OpenACC data op.
This patch also make sure that the descriptor value of optional is only
accessed when present.
Commit: 66d462d0a1ba1e510fff479baff8f21ecb924b1f
https://github.com/llvm/llvm-project/commit/66d462d0a1ba1e510fff479baff8f21ecb924b1f
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M clang/include/module.modulemap
Log Message:
-----------
Add missing textual header to module map
Commit: 750981f1a2c6069cded709b75cc87d7abd05277a
https://github.com/llvm/llvm-project/commit/750981f1a2c6069cded709b75cc87d7abd05277a
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M lldb/test/API/macosx/universal/Makefile
Log Message:
-----------
Fix a truly strange triple in testcase
Commit: bdde5f9bea75e897bcc31a95b9c3376988c211cc
https://github.com/llvm/llvm-project/commit/bdde5f9bea75e897bcc31a95b9c3376988c211cc
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M llvm/lib/IR/BasicBlock.cpp
Log Message:
-----------
[DebugInfo][RemoveDIs] Turn on non-instrinsic debug-info by default
This patch causes all variable-location debug-info to be converted into
non-intrinsic records as they passes through the optimisation /
instrumentation passes. There's a brief introduction here [0] and a more
detailed thread on what this means on discourse at [1].
If this commit is breaking your downstream tests, please see comment 12 in
[1], which documents the kind of variation in tests we'd expect to see from
this change and what to do about it.
[0] https://llvm.org/docs/RemoveDIsDebugInfo.html
[1] https://discourse.llvm.org/t/rfc-instruction-api-changes-needed-to-eliminate-debug-intrinsics-from-ir/68939
Commit: f219cda7bd43696792ca4668ca5a9fbf55a9f09f
https://github.com/llvm/llvm-project/commit/f219cda7bd43696792ca4668ca5a9fbf55a9f09f
Author: Jason Molenda <jmolenda at apple.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/chrono/TestDataFormatterLibcxxChrono.py
Log Message:
-----------
[lldb] Fix printf formatting of std::time_t seconds (#81078)
This formatter
https://github.com/llvm/llvm-project/pull/78609
was originally passing the signed seconds (which can refer to times in
the past) with an unsigned printf formatter, and had tests that expected
to see negative values from the printf which always failed on macOS. I'm
not clear how they ever passed on any platform.
Fix the printf to print seconds as a signed value, and re-enable the
tests.
Commit: af97edff70b0d9cb89729dc0d8af1d1ea101686e
https://github.com/llvm/llvm-project/commit/af97edff70b0d9cb89729dc0d8af1d1ea101686e
Author: Dave Lee <davelee.com at gmail.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M lldb/include/lldb/DataFormatters/FormatManager.h
M lldb/source/Core/FormatEntity.cpp
M lldb/source/DataFormatters/FormatManager.cpp
M lldb/source/Interpreter/OptionArgParser.cpp
Log Message:
-----------
[lldb] Refactor GetFormatFromCString to always check for partial matches (NFC) (#81018)
Refactors logic in `ParseInternal` that was previously calling
`GetFormatFromCString` twice, once with `partial_match_ok` set to false,
and the second time set to true.
With this change, lldb formats (ie `%@`, `%S`, etc) are checked first.
If a format is not one of those, then `GetFormatFromCString` is called
once, and now always checks for partial matches.
Commit: bef25ae297d6d246bf0fa8667c8b08f9d5e8dae7
https://github.com/llvm/llvm-project/commit/bef25ae297d6d246bf0fa8667c8b08f9d5e8dae7
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M llvm/lib/Target/X86/X86FixupVectorConstants.cpp
M llvm/test/CodeGen/X86/pr81136.ll
Log Message:
-----------
[X86] X86FixupVectorConstants - use explicit register bitwidth for the loaded vector instead of using constant pool bitwidth
Fixes #81136 - we might be loading from a constant pool entry wider than the destination register bitwidth, affecting the vextload scale calculation.
ConvertToBroadcastAVX512 doesn't yet set an explicit bitwidth (it will default to the constant pool bitwidth) due to difficulties in looking up the original register width through the fold tables, but as we only use rebuildSplatCst this shouldn't cause any miscompilations, although it might prevent folding to broadcast if only the lower bits match a splatable pattern.
Commit: c8d431e0ed6ab6276bf45d1c36466faad8e4e4d1
https://github.com/llvm/llvm-project/commit/c8d431e0ed6ab6276bf45d1c36466faad8e4e4d1
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-buildvec-of-binop.ll
Log Message:
-----------
[riscv] Add test coverage in advance of a upcoming fix
This is a reduced test case for a fix for the issue identified in
https://github.com/llvm/llvm-project/issues/80910.
Commit: 16d1a6486c25769d264a6ddb70a48bbb1c23c077
https://github.com/llvm/llvm-project/commit/16d1a6486c25769d264a6ddb70a48bbb1c23c077
Author: Cooper Partin <coopp at microsoft.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M clang/lib/CodeGen/CGExprScalar.cpp
A clang/test/CodeGenHLSL/shift-mask.hlsl
Log Message:
-----------
[DirectX] Fix HLSL bitshifts to leverage the OpenCL pipeline for bitshifting (#81030)
Fixes #55106
In HLSL bit shifts are defined to shift by shift size % type size. This
contains the following changes:
HLSL codegen bit shifts will be emitted as x << (y & (sizeof(x) - 1) and
bitshift masking leverages the OpenCL pipeline for this.
Tests were also added to validate this behavior.
Before this change the following was being emitted:
; Function Attrs: noinline nounwind optnone
define noundef i32 @"?shl32@@YAHHH at Z"(i32 noundef %V, i32 noundef %S) #0
{
entry:
%S.addr = alloca i32, align 4
%V.addr = alloca i32, align 4
store i32 %S, ptr %S.addr, align 4
store i32 %V, ptr %V.addr, align 4
%0 = load i32, ptr %V.addr, align 4
%1 = load i32, ptr %S.addr, align 4
%shl = shl i32 %0, %1
ret i32 %shl
}
After this change:
; Function Attrs: noinline nounwind optnone
define noundef i32 @"?shl32@@YAHHH at Z"(i32 noundef %V, i32 noundef %S) #0
{
entry:
%S.addr = alloca i32, align 4
%V.addr = alloca i32, align 4
store i32 %S, ptr %S.addr, align 4
store i32 %V, ptr %V.addr, align 4
%0 = load i32, ptr %V.addr, align 4
%1 = load i32, ptr %S.addr, align 4
%shl.mask = and i32 %1, 31
%shl = shl i32 %0, %shl.mask
ret i32 %shl
}
---------
Co-authored-by: Cooper Partin <coopp at ntdev.microsoft.com>
Commit: 758fd59d018fe01262dd246e3e1e3d4389cb82e4
https://github.com/llvm/llvm-project/commit/758fd59d018fe01262dd246e3e1e3d4389cb82e4
Author: S. Bharadwaj Yadavalli <Bharadwaj.Yadavalli at microsoft.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M llvm/lib/Target/DirectX/DXIL.td
M llvm/lib/Target/DirectX/DXILMetadata.cpp
M llvm/utils/TableGen/DXILEmitter.cpp
Log Message:
-----------
[DirectX][NFC] Change usage pattern *Dxil* to *DXIL* for uniformity (#80778)
Match DXIL TableGen class names with structure names in DXIL Emitter.
Delete unnecessary Name field.
Commit: abc4f74df7ab3b324b7bf9d171e8a22a92d7dda5
https://github.com/llvm/llvm-project/commit/abc4f74df7ab3b324b7bf9d171e8a22a92d7dda5
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M flang/include/flang/Lower/ConvertVariable.h
M flang/include/flang/Optimizer/Builder/HLFIRTools.h
M flang/include/flang/Optimizer/Dialect/FIRAttr.td
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/Dialect/FIRAttr.cpp
M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
A flang/test/Lower/CUDA/cuda-data-attribute.cuf
M flang/unittests/Optimizer/FortranVariableTest.cpp
Log Message:
-----------
[flang][cuda] Lower attribute for local variable (#81076)
This is a first simple patch to introduce a new FIR attribute to carry
the CUDA variable attribute information to hlfir.declare and fir.declare
operations. It currently lowers this information for local variables.
The texture attribute is omitted since it is rejected by semantic and
will not make its way to MLIR.
This new attribute is added as optional attribute to the hlfir.declare
and fir.declare operations.
Commit: 17f0680f69f44d340fd0205f7763b2830357c0d5
https://github.com/llvm/llvm-project/commit/17f0680f69f44d340fd0205f7763b2830357c0d5
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/DeclTemplate.h
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/test/AST/ast-print-method-decl.cpp
A clang/test/CXX/dcl.decl/dcl.meaning/dcl.fct/p23.cpp
M clang/test/OpenMP/for_loop_auto.cpp
Log Message:
-----------
[Clang][Sema] Abbreviated function templates do not append invented parameters to empty template parameter lists (#80864)
According to [dcl.fct] p23:
> An abbreviated function template can have a _template-head_. The
invented _template-parameters_ are appended to the
_template-parameter-list_ after the explicitly declared
_template-parameters_.
`template<>` is not a _template-head_ -- a _template-head_ must have at
least one _template-parameter_. This patch corrects our current behavior
of appending the invented template parameters to the innermost template
parameter list, regardless of whether it is empty. Example:
```
template<typename T>
struct A
{
void f(auto);
};
template<>
void A<int>::f(auto); // ok
template<>
template<> // warning: extraneous template parameter list in template specialization
void A<int>::f(auto);
```
Commit: 35fae044c5faf8ddb9be7b47bb7573e839f77472
https://github.com/llvm/llvm-project/commit/35fae044c5faf8ddb9be7b47bb7573e839f77472
Author: Peiming Liu <36770114+PeimingLiu at users.noreply.github.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/LoopEmitter.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/LoopEmitter.h
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorLevel.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorLevel.h
Log Message:
-----------
[mlir][sparse] using non-static field to avoid data races. (#81165)
Commit: da95d926f6fce4ed9707c77908ad96624268f134
https://github.com/llvm/llvm-project/commit/da95d926f6fce4ed9707c77908ad96624268f134
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M clang-tools-extra/clang-move/Move.cpp
M clang-tools-extra/clang-tidy/ExpandModularHeadersPPCallbacks.cpp
M clang-tools-extra/clang-tidy/ExpandModularHeadersPPCallbacks.h
M clang-tools-extra/clang-tidy/altera/KernelNameRestrictionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SuspiciousIncludeCheck.cpp
M clang-tools-extra/clang-tidy/llvm/IncludeOrderCheck.cpp
M clang-tools-extra/clang-tidy/llvmlibc/RestrictSystemLibcHeadersCheck.cpp
M clang-tools-extra/clang-tidy/misc/HeaderIncludeCycleCheck.cpp
M clang-tools-extra/clang-tidy/modernize/DeprecatedHeadersCheck.cpp
M clang-tools-extra/clang-tidy/modernize/MacroToEnumCheck.cpp
M clang-tools-extra/clang-tidy/portability/RestrictSystemIncludesCheck.cpp
M clang-tools-extra/clang-tidy/portability/RestrictSystemIncludesCheck.h
M clang-tools-extra/clang-tidy/readability/DuplicateIncludeCheck.cpp
M clang-tools-extra/clang-tidy/utils/IncludeInserter.cpp
M clang-tools-extra/clangd/Headers.cpp
M clang-tools-extra/clangd/ParsedAST.cpp
M clang-tools-extra/clangd/index/IndexAction.cpp
M clang-tools-extra/clangd/unittests/ReplayPeambleTests.cpp
M clang-tools-extra/include-cleaner/lib/Record.cpp
M clang-tools-extra/modularize/CoverageChecker.cpp
M clang-tools-extra/modularize/PreprocessorTracker.cpp
M clang-tools-extra/pp-trace/PPCallbacksTracker.cpp
M clang-tools-extra/pp-trace/PPCallbacksTracker.h
M clang-tools-extra/test/pp-trace/pp-trace-include.cpp
M clang/include/clang/Lex/PPCallbacks.h
M clang/include/clang/Lex/PreprocessingRecord.h
M clang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h
M clang/lib/CodeGen/MacroPPCallbacks.cpp
M clang/lib/CodeGen/MacroPPCallbacks.h
M clang/lib/Frontend/DependencyFile.cpp
M clang/lib/Frontend/DependencyGraph.cpp
M clang/lib/Frontend/ModuleDependencyCollector.cpp
M clang/lib/Frontend/PrecompiledPreamble.cpp
M clang/lib/Frontend/PrintPreprocessedOutput.cpp
M clang/lib/Frontend/Rewrite/InclusionRewriter.cpp
M clang/lib/Lex/PPDirectives.cpp
M clang/lib/Lex/PreprocessingRecord.cpp
M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
M clang/tools/libclang/Indexing.cpp
M clang/unittests/Lex/PPCallbacksTest.cpp
Log Message:
-----------
[clang][lex] Always pass suggested module to `InclusionDirective()` callback (#81061)
This patch provides more information to the
`PPCallbacks::InclusionDirective()` hook. We now always pass the
suggested module, regardless of whether it was actually imported or not.
The extra `bool ModuleImported` parameter then denotes whether the
header `#include` will be automatically translated into import the the
module.
The main change is in `clang/lib/Lex/PPDirectives.cpp`, where we take
care to not modify `SuggestedModule` after it's been populated by
`LookupHeaderIncludeOrImport()`. We now exclusively use the `SM`
(`ModuleToImport`) variable instead, which has been equivalent to
`SuggestedModule` until now. This allows us to use the original
non-modified `SuggestedModule` for the callback itself.
(This patch turns out to be necessary for
https://github.com/apple/llvm-project/pull/8011).
Commit: 13c14ad42c65e154dc079332dd5dd58e8925d26c
https://github.com/llvm/llvm-project/commit/13c14ad42c65e154dc079332dd5dd58e8925d26c
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M llvm/lib/IR/BasicBlock.cpp
Log Message:
-----------
Revert "[DebugInfo][RemoveDIs] Turn on non-instrinsic debug-info by default"
This reverts commit bdde5f9bea75e897bcc31a95b9c3376988c211cc.
Two situations that are tripping a few buildbots:
https://lab.llvm.org/buildbot/#/builders/205/builds/25126
Here, polly is currently presenting a DebugLoc attached to a debugging
intrinsic as a "true" source location in a user report, something that's
unreliable.
https://lab.llvm.org/buildbot/#/builders/184/builds/10242
These HWAsan failures are probably (97% confidence) because in
StackInfoBuilder::visit we're not observing DPValues attached to lifetime
intrinsics because they're delt with higher up the function.
But it's late-o'clock here, so revert for now.
Commit: 544f610d5310e1c1e7dd7a081d5a2a2607225740
https://github.com/llvm/llvm-project/commit/544f610d5310e1c1e7dd7a081d5a2a2607225740
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M libcxx/include/vector
Log Message:
-----------
[libc++] Use __is_pointer_in_range inside vector::insert (#80624)
Commit: d272d944de9f0cb274752f77e97d4ceab2401ec5
https://github.com/llvm/llvm-project/commit/d272d944de9f0cb274752f77e97d4ceab2401ec5
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M libcxx/include/limits
Log Message:
-----------
[libc++][NFC] Simplify the implementation of `numeric_limits` (#80425)
The cv specializations for `numeric_limits` inherited privately for some
reason. We can simplify the implementation by inheriting publicly and
removing the members that just replicate the values from the base class.
Commit: 1b5f6916199ce09244cdb52c6911f2028e6ca95a
https://github.com/llvm/llvm-project/commit/1b5f6916199ce09244cdb52c6911f2028e6ca95a
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M libcxx/include/__compare/strong_order.h
M libcxx/include/__compare/weak_order.h
M libcxx/include/compare
M libcxx/test/libcxx/transitive_includes/cxx23.csv
M libcxx/test/libcxx/transitive_includes/cxx26.csv
Log Message:
-----------
[libc++] Avoid including <cmath> in <compare> (#80418)
This reduces the time to include `<compare>` from 84ms to 36ms.
Commit: b92e0a31dab5917f31b4672430004add34b5e775
https://github.com/llvm/llvm-project/commit/b92e0a31dab5917f31b4672430004add34b5e775
Author: Valentin Clement <clementval at gmail.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M flang/lib/Lower/ConvertVariable.cpp
Log Message:
-----------
[flang][cuda] Fix warning in switch
Commit: c0ff10814fb056369cd2bbf0e672498b4cc9c1d4
https://github.com/llvm/llvm-project/commit/c0ff10814fb056369cd2bbf0e672498b4cc9c1d4
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M llvm/docs/CMake.rst
M llvm/docs/GettingStarted.rst
Log Message:
-----------
docs/GettingStarted: document linker-related cmake options (#80932)
Both LLVM_LINK_LLVM_DYLIB and LLVM_PARALLEL_LINK_JOBS help with some
common gotchas. It seems worth documenting them here explicitly.
Based on a review comment, also "refactor" the documentation to avoid duplication.
Commit: 687304a018d36c4b0def4618a98fee6975172453
https://github.com/llvm/llvm-project/commit/687304a018d36c4b0def4618a98fee6975172453
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M clang/lib/Lex/PPDirectives.cpp
Log Message:
-----------
[clang][lex] Fix build failure after da95d926
Commit: ab4a793e8bc78f50f9f104c9c732e2dd91bf70a2
https://github.com/llvm/llvm-project/commit/ab4a793e8bc78f50f9f104c9c732e2dd91bf70a2
Author: Chelsea Cassanova <chelsea_cassanova at apple.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M lldb/include/lldb/API/SBDebugger.h
M lldb/include/lldb/Core/Debugger.h
Log Message:
-----------
[lldb][debugger][NFC] Add broadcast bit for category-based progress events. (#81169)
This commit adds a new broadcast bit to the debugger. When in use, it
will be listened to for progress events that will be delivered and kept
track of by category as opposed to the current behaviour of coming in
one by one.
Commit: a1ed821b49d9a189c3a0a11228c0de517020feca
https://github.com/llvm/llvm-project/commit/a1ed821b49d9a189c3a0a11228c0de517020feca
Author: Fangrui Song <i at maskray.me>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M llvm/lib/TableGen/TGLexer.cpp
M llvm/lib/TableGen/TGLexer.h
Log Message:
-----------
[TableGen] Simplify prepSkipToLineEnd for preprocessing
The MemoryBuffer is created using `RequiresNullTerminator`, so we can
safely skip the `CurPtr != CurBuf.end()` check. The redundant check
causes a cppcheck report. In addition, elsewhere, including `*CurPtr ==
'#'` below, makes the null terminator assumption as well.
Close #81120
Commit: a56fa161ab2617fa3aab3f91285fc757b6a8e09b
https://github.com/llvm/llvm-project/commit/a56fa161ab2617fa3aab3f91285fc757b6a8e09b
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M clang-tools-extra/test/clang-tidy/infrastructure/diagnostic.cpp
Log Message:
-----------
[clang-tidy] Fix failing test after #80864 (#81171)
The following test case in
`clang-tools-extra/test/clang-tidy/infrastructure/diagnostic.cpp` is
failing:
```
#ifdef PR64602 // Should not crash
template <class T = void>
struct S
{
auto foo(auto);
};
template <>
auto S<>::foo(auto)
{
return 1;
}
// CHECK8: error: template parameter list matching the non-templated nested type 'S<>' should be empty ('template<>') [clang-diagnostic-error]
#endif
```
#80864 fixes a bug where we would (incorrectly) append invented template
parameters to empty template parameter lists, which causes this test to
fail.
Commit: 3d71e4166de81bc3b86d127d9ac6607bda2b2755
https://github.com/llvm/llvm-project/commit/3d71e4166de81bc3b86d127d9ac6607bda2b2755
Author: Jeremy Kun <2467754+j2kun at users.noreply.github.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M mlir/docs/Diagnostics.md
Log Message:
-----------
[docs]: Add a note about using custom types with diagnostics (#73818)
Commit: 74fc16aaaa227b84e22706d2c5e376287f560b9e
https://github.com/llvm/llvm-project/commit/74fc16aaaa227b84e22706d2c5e376287f560b9e
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M lldb/include/lldb/Core/ModuleList.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/source/Core/CoreProperties.td
M lldb/source/Core/ModuleList.cpp
M lldb/source/Host/common/Host.cpp
M lldb/source/Symbol/SymbolLocator.cpp
Log Message:
-----------
[lldb] Expand background symbol download (#80890)
LLDB has a setting (symbols.enable-background-lookup) that calls
dsymForUUID on a background thread for images as they appear in the
current backtrace. Originally, the laziness of only looking up symbols
for images in the backtrace only existed to bring the number of
dsymForUUID calls down to a manageable number.
Users have requesting the same functionality but blocking. This gives
them the same user experience as enabling dsymForUUID globally, but
without the massive upfront cost of having to download all the images,
the majority of which they'll likely not need.
This patch renames the setting to have a more generic name
(symbols.auto-download) and changes its values from a boolean to an
enum. Users can now specify "off", "background" and "foreground". The
default remains "off" although I'll probably change that in the near
future.
Commit: 88e52511ca71165f1ff3d7c42229aeacb2c16db3
https://github.com/llvm/llvm-project/commit/88e52511ca71165f1ff3d7c42229aeacb2c16db3
Author: alex-t <alex-t at users.noreply.github.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
M llvm/lib/Target/AMDGPU/SIFrameLowering.h
M llvm/test/CodeGen/AMDGPU/GlobalISel/call-outgoing-stack-args.ll
M llvm/test/CodeGen/AMDGPU/abi-attribute-hints-undefined-behavior.ll
M llvm/test/CodeGen/AMDGPU/blender-no-live-segment-at-def-implicit-def.ll
M llvm/test/CodeGen/AMDGPU/branch-folding-implicit-def-subreg.ll
M llvm/test/CodeGen/AMDGPU/call-argument-types.ll
M llvm/test/CodeGen/AMDGPU/call-reqd-group-size.ll
M llvm/test/CodeGen/AMDGPU/call-waitcnt.ll
M llvm/test/CodeGen/AMDGPU/callee-special-input-vgprs.ll
M llvm/test/CodeGen/AMDGPU/cc-update.ll
M llvm/test/CodeGen/AMDGPU/cross-block-use-is-not-abi-copy.ll
M llvm/test/CodeGen/AMDGPU/indirect-call-known-callees.ll
M llvm/test/CodeGen/AMDGPU/indirect-call.ll
M llvm/test/CodeGen/AMDGPU/kernel-vgpr-spill-mubuf-with-voffset.ll
M llvm/test/CodeGen/AMDGPU/lds-frame-extern.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.lds.kernel.id.ll
M llvm/test/CodeGen/AMDGPU/lower-module-lds-via-hybrid.ll
M llvm/test/CodeGen/AMDGPU/lower-module-lds-via-table.ll
M llvm/test/CodeGen/AMDGPU/machine-sink-temporal-divergence-swdev407790.ll
M llvm/test/CodeGen/AMDGPU/need-fp-from-vgpr-spills.ll
M llvm/test/CodeGen/AMDGPU/simple-indirect-call.ll
M llvm/test/CodeGen/AMDGPU/tuple-allocation-failure.ll
M llvm/test/CodeGen/AMDGPU/vgpr_constant_to_sgpr.ll
Log Message:
-----------
[AMDGPU] Compiler should synthesize private buffer resource descriptor from flat_scratch_init (#79586)
This change implements synthesizing the private buffer resource
descriptor in the kernel prolog instead of using the preloaded kernel
argument.
Commit: d0f72f88606b78447fb7b61214651854c787c26f
https://github.com/llvm/llvm-project/commit/d0f72f88606b78447fb7b61214651854c787c26f
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-buildvec-of-binop.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vselect.ll
M llvm/test/CodeGen/RISCV/urem-seteq-illegal-types.ll
Log Message:
-----------
[RISCV] Consider truncate semantics in performBUILD_VECTORCombine (#81168)
Fixes https://github.com/llvm/llvm-project/issues/80910.
Per the documentation in ISDOpcodes.h, for BUILD_VECTOR "The types of
the operands must match the vector element type, except that integer
types are allowed to be larger than the element type, in which case the
operands are implicitly truncated."
This transform was assuming that the scalar operand type matched the
result type. This resulted in essentially performing a truncate before a
binop, instead of after. As demonstrated by the test case changes, this
is often not legal.
Commit: 35c4f025f9d4c398eff0c8e49a47a5c7067939ba
https://github.com/llvm/llvm-project/commit/35c4f025f9d4c398eff0c8e49a47a5c7067939ba
Author: Jacob Lambert <jacob.lambert at amd.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
Log Message:
-----------
[NFC][clang][Driver] Specify options for <arg> with -save-temps=<arg> (#80921)
Commit: 3b57b647a9bb821137f91dfbc2172a9947f620cc
https://github.com/llvm/llvm-project/commit/3b57b647a9bb821137f91dfbc2172a9947f620cc
Author: Natalie Chouinard <sudonatalie at google.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M clang/lib/Basic/Targets/SPIR.h
M clang/test/CodeGenHLSL/builtins/RWBuffer-constructor.hlsl
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/lib/IR/Function.cpp
M llvm/lib/TargetParser/Triple.cpp
Log Message:
-----------
[HLSL][SPIR-V] Add create.handle intrinsic (#81038)
Add a SPIR-V target-specific intrinsic for creating handles, which is
used for lowering HLSL resources types like RWBuffer.
`llvm/lib/TargetParser/Triple.cpp`: SPIR-V intrinsics use "spv" as the
target prefix, not "spirv". As far as I can tell, this is the first one
that is used via the `CGBuiltin` codepath, which relies on
`getArchTypePrefix`, so I've corrected it here.
`clang/lib/Basic/Targets/SPIR.h`: When records are laid out in the
lowering from AST to IR, they were incorrectly offset because these
Pointer attributes were defaulting to 32.
Related to #81036
Commit: e5924d64991abb4da111317ff5e8d9147265354a
https://github.com/llvm/llvm-project/commit/e5924d64991abb4da111317ff5e8d9147265354a
Author: Yinying Li <107574043+yinying-lisa-li at users.noreply.github.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M mlir/include/mlir-c/Dialect/SparseTensor.h
M mlir/include/mlir/Dialect/SparseTensor/IR/Enums.h
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorAttrDefs.td
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorType.h
M mlir/include/mlir/Dialect/SparseTensor/Utils/Merger.h
M mlir/include/mlir/ExecutionEngine/SparseTensor/Storage.h
M mlir/lib/Bindings/Python/DialectSparseTensor.cpp
M mlir/lib/CAPI/Dialect/SparseTensor.cpp
M mlir/lib/Dialect/SparseTensor/IR/Detail/LvlTypeParser.cpp
M mlir/lib/Dialect/SparseTensor/IR/Detail/LvlTypeParser.h
M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseGPUCodegen.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorCodegen.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorLevel.cpp
M mlir/lib/Dialect/SparseTensor/Utils/Merger.cpp
M mlir/lib/ExecutionEngine/SparseTensor/Storage.cpp
M mlir/test/CAPI/sparse_tensor.c
M mlir/test/Dialect/SparseTensor/GPU/gpu_matmul24_lib.mlir
M mlir/test/Dialect/SparseTensor/roundtrip_encoding.mlir
M mlir/test/Dialect/SparseTensor/sparse_fill_zero.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_block_matmul.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_ds.mlir
M mlir/test/Integration/Dialect/SparseTensor/GPU/CUDA/sm80-lt/sparse-matmul-2-4-lib.mlir
M mlir/test/Integration/Dialect/SparseTensor/GPU/CUDA/sm80-lt/sparse-matmul-2-4-prune.mlir
M mlir/test/python/dialects/sparse_tensor/dialect.py
Log Message:
-----------
[mlir][sparse] Implement parsing n out of m (#79935)
1. Add parsing methods for block[n, m].
2. Encode n and m with the newly extended 64-bit LevelType enum.
3. Update 2:4 methods names/comments to n:m.
Commit: d1fdb416299c0efa5979ed989f7c1f39973dcb73
https://github.com/llvm/llvm-project/commit/d1fdb416299c0efa5979ed989f7c1f39973dcb73
Author: John Demme <john.demme at microsoft.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M mlir/lib/Bindings/Python/IRCore.cpp
M mlir/lib/Bindings/Python/IRModule.h
M mlir/python/mlir/_mlir_libs/_mlir/ir.pyi
M mlir/test/python/ir/module.py
Log Message:
-----------
[MLIR][Python] Add method for getting the live operation objects (#78663)
Currently, a method exists to get the count of the operation objects
which are still alive. This helps for sanity checking, but isn't
terribly useful for debugging. This new method returns the actual
operation objects which are still alive.
This allows Python code like the following:
```
gc.collect()
live_ops = ir.Context.current._get_live_operation_objects()
for op in live_ops:
print(f"Warning: {op} is still live. Referrers:")
for referrer in gc.get_referrers(op)[0]:
print(f" {referrer}")
```
Commit: 705fcd4e0addee6e9e13541dbcbc81cec9748a83
https://github.com/llvm/llvm-project/commit/705fcd4e0addee6e9e13541dbcbc81cec9748a83
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M lldb/include/lldb/Core/ModuleList.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/source/Core/CoreProperties.td
M lldb/source/Core/ModuleList.cpp
M lldb/source/Host/common/Host.cpp
M lldb/source/Symbol/SymbolLocator.cpp
Log Message:
-----------
Revert "[lldb] Expand background symbol lookup" (#81182)
Reverts llvm/llvm-project#80890
Commit: b8545e1ece271df16185d446503474c105d6398a
https://github.com/llvm/llvm-project/commit/b8545e1ece271df16185d446503474c105d6398a
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll
Log Message:
-----------
[RISCV] Consider all subvector extracts within a single VREG cheap (#81032)
This adjusts the isSubVectorExtractCheap callback to consider any
extract which fits entirely within the first VLEN bits of the src vector
(and uses a 5 bit immediate for the slide) as cheap. These can be done
via a single m1 vslide1down.vi instruction.
This allows our generic DAG combine logic to kick in and recognize a few
more cases where shuffle source is longer than the dest, but that using
a wider shuffle is still profitable. (Or as shown in the test diff, we
can split the wider source and do two narrower shuffles.)
Commit: 5f4b40c90a51248b097de7b5bc89c6976d4c3298
https://github.com/llvm/llvm-project/commit/5f4b40c90a51248b097de7b5bc89c6976d4c3298
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M lldb/include/lldb/Core/ModuleList.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/source/Core/CoreProperties.td
M lldb/source/Core/ModuleList.cpp
M lldb/source/Symbol/SymbolLocator.cpp
Log Message:
-----------
[lldb] Expand background symbol download (#80890)
LLDB has a setting (symbols.enable-background-lookup) that calls
dsymForUUID on a background thread for images as they appear in the
current backtrace. Originally, the laziness of only looking up symbols
for images in the backtrace only existed to bring the number of
dsymForUUID calls down to a manageable number.
Users have requesting the same functionality but blocking. This gives
them the same user experience as enabling dsymForUUID globally, but
without the massive upfront cost of having to download all the images,
the majority of which they'll likely not need.
This patch renames the setting to have a more generic name
(symbols.auto-download) and changes its values from a boolean to an
enum. Users can now specify "off", "background" and "foreground". The
default remains "off" although I'll probably change that in the near
future.
Commit: 3f9d8d892e2de2ac2542cb8e88ae5317f3282244
https://github.com/llvm/llvm-project/commit/3f9d8d892e2de2ac2542cb8e88ae5317f3282244
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
M llvm/test/tools/llvm-cov/mcdc-const.test
M llvm/test/tools/llvm-cov/mcdc-general.test
Log Message:
-----------
[Coverage] MCDCRecordProcessor: Find `ExecVectors` directly (#80816)
Deprecate `TestVectors`, since no one uses it.
This affects the output order of ExecVectors.
The current impl emits sorted by binary value of ExecVector. This impl
emits along the traversal of `buildTestVector()`.
Commit: 581857278961b41bc1676499f92167b97a5e4c58
https://github.com/llvm/llvm-project/commit/581857278961b41bc1676499f92167b97a5e4c58
Author: Derek Schuff <dschuff at chromium.org>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M llvm/lib/Object/WasmObjectFile.cpp
A llvm/test/Object/wasm-linked-namesec-with-linkingsec.yaml
A llvm/test/Object/wasm-linked-symbol-table.yaml
A llvm/test/tools/llvm-objdump/wasm/linked-symbol-table-namesec.yaml
R llvm/test/tools/llvm-objdump/wasm/linked-symbol-table.yaml
Log Message:
-----------
[Object][Wasm] Generate symbol info from name section names (#81063)
Currently symbol info is generated from a linking section or from export
names. This PR generates symbols in a WasmObjectFile from the name
section as well, which allows tools like objdump and nm to show useful
information for more linked binaries. There are some limitations:
most notably that we don't assume any particular ABI, so we don't get
detailed information about data symbols if the segments are merged
(which is the default).
Covers most of the desired functionality from #76107
Commit: cdde0d9602217eb0bc091b4de16197e6aa5bb132
https://github.com/llvm/llvm-project/commit/cdde0d9602217eb0bc091b4de16197e6aa5bb132
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/Interp.h
Log Message:
-----------
[clang][Interp][NFC] Make a local variable const
Commit: 7c9c4983b1d493c2fdea76f99591f9ab49877306
https://github.com/llvm/llvm-project/commit/7c9c4983b1d493c2fdea76f99591f9ab49877306
Author: Fangrui Song <i at maskray.me>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M llvm/lib/DWARFLinker/Parallel/DWARFLinkerImpl.h
Log Message:
-----------
[DWARFLinkerParallel] Fix member initialization order (#81179)
DWARFLinkerImpl::DWARFLinkerImpl initializes
DebugStrStrings/DebugLineStrStrings/CommonSections using GlobalData
but GlobalData is initialized after the three members.
Move GlobalData before.
Fix #81110
Commit: f78c9b88b7a1a54cf67037f9088a3e48779b1e44
https://github.com/llvm/llvm-project/commit/f78c9b88b7a1a54cf67037f9088a3e48779b1e44
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
Log Message:
-----------
[RISCV] Use MCPhysReg for AllPopRegs. NFC
MCPhysReg is 2 bytes, while Register is 4 bytes.
Commit: 4b54b474aa0ffb355faa63cc2d8f95fd321c887f
https://github.com/llvm/llvm-project/commit/4b54b474aa0ffb355faa63cc2d8f95fd321c887f
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
Log Message:
-----------
[NVPTX][NFC] cleanup dead vars, use MAKE_CASE (#81161)
Cleanup some dead variables. In addition, switch to a `MAKE_CASE` macro,
similar to other targets, to reduce boilerplate.
Commit: 0572dabb71147fdc156d90a3ecd036d1652c2006
https://github.com/llvm/llvm-project/commit/0572dabb71147fdc156d90a3ecd036d1652c2006
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/include/llvm/IR/BUILD.gn
Log Message:
-----------
[gn build] Add IntrinsicsSPIRV.h generator
This was missing in the gn build for some reason, causing build errors like http://45.33.8.238/linux/130337/step_4.txt after 3b57b647.
Commit: a6f42adf9ba03d69e8bf2eaf5af2e7f8f6294b37
https://github.com/llvm/llvm-project/commit/a6f42adf9ba03d69e8bf2eaf5af2e7f8f6294b37
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[Bazel] Update for SPIRV
Commit: 7fe97f042036407a124bf1646a3f1124ddac3de5
https://github.com/llvm/llvm-project/commit/7fe97f042036407a124bf1646a3f1124ddac3de5
Author: Maksim Panchenko <maks at fb.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M bolt/lib/Passes/BinaryPasses.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
Log Message:
-----------
[BOLT] Always run CheckLargeFunctions in non-relocation mode (#80922)
We run CheckLargeFunctions pass in non-relocation mode to prevent the
emission of functions that later could not be written to the output due
to their large size. The main reason behind the pass is to prevent the
emission of metadata for such functions since this metadata becomes
incorrect if the function is left unmodified.
Currently, the pass is enabled in non-relocation mode only when debug
info output is also enabled. As we emit increasingly more kinds of
metadata, e.g. for the Linux kernel, it becomes more challenging to
track metadata that needs to be fixed. Hence, I'm enabling the pass to
always run in non-relocation mode.
Commit: 7b5a9bb8f0f58b188655252f74b0941512e44389
https://github.com/llvm/llvm-project/commit/7b5a9bb8f0f58b188655252f74b0941512e44389
Author: Davide Italiano <davidino at fb.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M .github/CODEOWNERS
Log Message:
-----------
[github/CODEOWNERS] Add Alexander as BOLT reviewer.
Commit: 3c42e10afdc518f6d8be5620289ef0da0bf03c5f
https://github.com/llvm/llvm-project/commit/3c42e10afdc518f6d8be5620289ef0da0bf03c5f
Author: Reid Kleckner <rnk at google.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/Expr.cpp
M clang/test/SemaCXX/compound-literal.cpp
M clang/unittests/AST/ASTExprTest.cpp
Log Message:
-----------
Consider aggregate bases when checking if an InitListExpr is constant (#80519)
This code was correct as written prior to C++17, which allowed bases to
appear in the initializer list.
This was observable by creating non-constant aggregate initialization at
file scope in a compound literal, but since that behavior will change
soon if we implement support for dynamic initialization, I also added a
unit test for `isConstantInitializer`.
This fixes at least one part of issue #80510 .
---------
Co-authored-by: Aaron Ballman <aaron at aaronballman.com>
Commit: 06c89bd59ca2279f76a41e851b7b2df634a6191e
https://github.com/llvm/llvm-project/commit/06c89bd59ca2279f76a41e851b7b2df634a6191e
Author: Luke Lau <luke at igalia.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
Log Message:
-----------
[RISCV] Check type is legal before combining mgather to vlse intrinsic (#81107)
Otherwise we will crash since target intrinsics don't have their types
legalized. Let the mgather get legalized first, then do the combine on
the legal type.
Fixes #81088
Co-authored-by: Craig Topper <craig.topper at sifive.com>
Commit: f7201505a6ec7a0f904d2f09cece5c770058a991
https://github.com/llvm/llvm-project/commit/f7201505a6ec7a0f904d2f09cece5c770058a991
Author: Jerry Wu <cheyuw at google.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/SCF/Transforms/Transforms.h
M mlir/lib/Dialect/SCF/Transforms/CMakeLists.txt
A mlir/lib/Dialect/SCF/Transforms/WrapInZeroTripCheck.cpp
A mlir/test/Dialect/SCF/wrap-while-loop-in-zero-trip-check.mlir
M mlir/test/lib/Dialect/SCF/CMakeLists.txt
A mlir/test/lib/Dialect/SCF/TestSCFWrapInZeroTripCheck.cpp
M mlir/tools/mlir-opt/mlir-opt.cpp
Log Message:
-----------
[mlir] Add transformation to wrap scf::while in zero-trip-check (#81050)
Add `scf::wrapWhileLoopInZeroTripCheck` to wrap scf while loop in
zero-trip-check.
Commit: 8c106a15156857d23ba9e61c55b49b1e2b6c1583
https://github.com/llvm/llvm-project/commit/8c106a15156857d23ba9e61c55b49b1e2b6c1583
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/test/Fir/fir-ops.fir
Log Message:
-----------
[flang] Fix attribute printing for fir.global op (#81197)
The custom printer for `fir.global` was eluding all the attributes
present on the op when printing the attribute dictionary. So any
attribute that is not part of the pretty printing was therefore
discarded.
This patch fix the printer and also make use of the getters for the
attribute names when they are hardcoded.
Commit: 9affa177b526459beddafad30474d2e3186376e4
https://github.com/llvm/llvm-project/commit/9affa177b526459beddafad30474d2e3186376e4
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M llvm/include/llvm/CodeGen/AsmPrinter.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.h
M llvm/test/CodeGen/NVPTX/alias.ll
Log Message:
-----------
[NVPTX] Add support for calling aliases (#81170)
The current implementation of aliases tries to remove all the aliases in
the module to prevent the generic version of `AsmPrinter` from emitting
them incorrectly. Unfortunately, if the aliases are used this will fail.
Instead let's override the function to print aliases directly.
In addition, the declarations of the alias functions must occur before
the uses. To fix this we emit alias declarations as part of
`emitDeclarations` and only emit the `.alias` directives at the end
(where we can assume the aliasee has also already been declared).
Commit: 9211e67da36782db44a46ccb9ac06734ccf2570f
https://github.com/llvm/llvm-project/commit/9211e67da36782db44a46ccb9ac06734ccf2570f
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M llvm/docs/NVPTXUsage.rst
M llvm/lib/Target/NVPTX/NVVMReflect.cpp
A llvm/test/CodeGen/NVPTX/nvvm-reflect-arch-O0.ll
M llvm/test/CodeGen/NVPTX/nvvm-reflect-arch.ll
Log Message:
-----------
[NVVMReflect] Force dead branch elimination in NVVMReflect (#81189)
Summary:
The `__nvvm_reflect` function is used to guard invalid code that varies
between architectures. One problem with this feature is that if it is
used without optimizations, it will leave invalid code in the module
that will then make it to the backend. The `__nvvm_reflect` pass is
already mandatory, so it should do some trivial branch removal to ensure
that constants are handled correctly. This dead branch elimination only
works in the trivial case of a compare on a branch and does not touch
any conditionals that were not realted to the `__nvvm_reflect` call in
order to preserve `O0` semantics as much as possible. This should allow
the following to work on NVPTX targets
```c
int foo() {
if (__nvvm_reflect("__CUDA_ARCH") >= 700)
asm("valid;\n");
}
```
Commit: 42230e213e11a0cf9cdbdcd49225eb0d325ef007
https://github.com/llvm/llvm-project/commit/42230e213e11a0cf9cdbdcd49225eb0d325ef007
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M clang/test/Driver/linker-wrapper.c
M llvm/lib/Object/OffloadBinary.cpp
Log Message:
-----------
[LinkerWrapper] Allow 'all' as a generic bundled architecture (#81193)
Summary:
Currently, the linker wrapper sorts input files into different link
jobs according to their architectures. Here we assume each architecture
is a unique and incompatible link job unless they are specifically
marked compatible. This patch simply adds an `all` target to represent
an architecture that should be linked against every single other
architecture.
This will be useful for modelling generic IR such as the ROCm device
libraries or the NVPTX libdevice.
Commit: c429f48b56714f9366eee8490061bd008635cbc0
https://github.com/llvm/llvm-project/commit/c429f48b56714f9366eee8490061bd008635cbc0
Author: Sam Clegg <sbc at chromium.org>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M llvm/lib/Object/WasmObjectFile.cpp
A llvm/test/Object/wasm-bad-relocation.yaml
Log Message:
-----------
[Object][WebAssembly] Improve error on invalid relocation (#81203)
See https://github.com/emscripten-core/emscripten/issues/21140
Commit: 0800a36053943beabe1c3f98fe4ecccbc192a2a7
https://github.com/llvm/llvm-project/commit/0800a36053943beabe1c3f98fe4ecccbc192a2a7
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M llvm/docs/NVPTXUsage.rst
M llvm/lib/Target/NVPTX/NVVMReflect.cpp
R llvm/test/CodeGen/NVPTX/nvvm-reflect-arch-O0.ll
M llvm/test/CodeGen/NVPTX/nvvm-reflect-arch.ll
Log Message:
-----------
Revert "[NVVMReflect] Force dead branch elimination in NVVMReflect (#81189)"
This reverts commit 9211e67da36782db44a46ccb9ac06734ccf2570f.
Summary:
This seemed to crash one one of the CUDA math tests. Revert until it can
be fixed.
Commit: 2572f45c7d6c081ba9b4fa344e928182f8df7773
https://github.com/llvm/llvm-project/commit/2572f45c7d6c081ba9b4fa344e928182f8df7773
Author: Valentin Clement <clementval at gmail.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M flang/lib/Optimizer/Dialect/CMakeLists.txt
Log Message:
-----------
[flang] Fix missing generated header
Fix buildbot failing because of missing HLFIRTypes.h.inc
Commit: 93471466be65cf78330782d461a821ffb82e070a
https://github.com/llvm/llvm-project/commit/93471466be65cf78330782d461a821ffb82e070a
Author: David Blaikie <dblaikie at gmail.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M llvm/docs/CodeReview.rst
M llvm/docs/GitHub.rst
Log Message:
-----------
Document use of `skip-precommit-approval` label for non-review pull requests (#81053)
Derived from this discussion:
https://discourse.llvm.org/t/prs-without-approvals-muddy-the-waters/76656
Commit: 1d4fc381d3da4317cc2cfa59b2d59d53decddf71
https://github.com/llvm/llvm-project/commit/1d4fc381d3da4317cc2cfa59b2d59d53decddf71
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp
A llvm/test/tools/llvm-dwarfdump/X86/verify_empty_debug_line_sequence.yaml
Log Message:
-----------
[DWARFVerifier] Fix verification of empty line tables (#81162)
A line table whose sole entry is an end sequence should not have the
entry's file index verified, as that value corresponds to the initial
value of the state machine, not to a real file index. In DWARF 5, this
is particularly problematic as it uses 0-based indexing, and the state
machine specifies a starting index of 1; in other words, you'd need to
have _two_ files before such index became legal "by default".
A previous attempt to fix this problem was done [1], but it was too
specific in its condition, and did not capture all possible cases where
this issue can happen.
[1]: https://github.com/llvm/llvm-project/pull/77004
Commit: 1389260805ec2ffb74a4fb311e7327c64d9b8f54
https://github.com/llvm/llvm-project/commit/1389260805ec2ffb74a4fb311e7327c64d9b8f54
Author: Lang Hames <lhames at gmail.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M llvm/lib/ExecutionEngine/JITLink/MachO_arm64.cpp
Log Message:
-----------
[JITLink][MachO][arm64] Fix error-check order.
The error check should be performed after the iterator increment, not before
it. Thanks to @dcb314 for catching this!
Fixes github.com/apple/swift/issues/81119
Commit: fbf43b0121006e371fbf50ad8642e4c62405e5cc
https://github.com/llvm/llvm-project/commit/fbf43b0121006e371fbf50ad8642e4c62405e5cc
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M libc/include/math.h.def
M libc/spec/spec.td
M libc/spec/stdc.td
M libc/utils/HdrGen/PublicAPICommand.cpp
Log Message:
-----------
[libc] Only declare float128 math functions in the generated math.h if float128 type is supported. (#81010)
Commit: 4759890f859277cd798648a9a333573cd088d98a
https://github.com/llvm/llvm-project/commit/4759890f859277cd798648a9a333573cd088d98a
Author: Alexey Z <alexey.zhikhar at gmail.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/test/Dialect/Tensor/canonicalize.mlir
Log Message:
-----------
[mlir][tensor] Fix bug in insert_slice canonical. with tensor encoding (#81045)
Previously, `InsertSliceOpSourceCastInserter` was incorrectly applied to
a case when tensor types have an encoding attribute attached to them.
The type `newSrcType` was missing that attribute from the old `srcType`,
which made the expression `srcType == newSrcType` false, since
`tensor<2x2xf32, "foo">` is not equal to `tensor<2x2xf32>`. That lead to
an endless back and forth between `InsertSliceOpSourceCastInserter` that
would introduce a cast and `InsertSliceOpCastFolder` that would remove
it right after.
Commit: 6e1f438528b6e1ece2f6ef331905c352ccc2fcfd
https://github.com/llvm/llvm-project/commit/6e1f438528b6e1ece2f6ef331905c352ccc2fcfd
Author: Fangrui Song <i at maskray.me>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M lld/test/ELF/segments.s
Log Message:
-----------
[ELF] Improve --ro-rosegment/--omagic/--nmagic tests
Notably, test that --ro-rosegment with a linker script may unnecessarily
make a read-only PT_LOAD executable.
Commit: f60826917aff102450a470dee85208fd578685c4
https://github.com/llvm/llvm-project/commit/f60826917aff102450a470dee85208fd578685c4
Author: Abdurrahman Akkas <abdurrahmanakkas at gmail.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M mlir/lib/IR/AsmPrinter.cpp
Log Message:
-----------
[MLIR] Fix a small formatting issue in AsmPrinter.cpp (#81214)
Introduced in 76ce4736721a6e9030210bda6df0ad8a8f478a19
Commit: ffabcbcf8f9fc7ef5fd29e2a711f95aba0ef7808
https://github.com/llvm/llvm-project/commit/ffabcbcf8f9fc7ef5fd29e2a711f95aba0ef7808
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M llvm/docs/NVPTXUsage.rst
M llvm/lib/Target/NVPTX/NVVMReflect.cpp
A llvm/test/CodeGen/NVPTX/nvvm-reflect-arch-O0.ll
M llvm/test/CodeGen/NVPTX/nvvm-reflect-arch.ll
Log Message:
-----------
[NVVMReflect][Reland] Force dead branch elimination in NVVMReflect (#81189)
Summary:
The `__nvvm_reflect` function is used to guard invalid code that varies
between architectures. One problem with this feature is that if it is
used without optimizations, it will leave invalid code in the module
that will then make it to the backend. The `__nvvm_reflect` pass is
already mandatory, so it should do some trivial branch removal to ensure
that constants are handled correctly. This dead branch elimination only
works in the trivial case of a compare on a branch and does not touch
any conditionals that were not realted to the `__nvvm_reflect` call in
order to preserve `O0` semantics as much as possible. This should allow
the following to work on NVPTX targets
```c
int foo() {
if (__nvvm_reflect("__CUDA_ARCH") >= 700)
asm("valid;\n");
}
```
Relanding after fixing a bug.
Commit: c560ce464ae486e86e3d2d9684df3f714317f502
https://github.com/llvm/llvm-project/commit/c560ce464ae486e86e3d2d9684df3f714317f502
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIROpsSupport.h
M flang/include/flang/Optimizer/Support/Utils.h
M flang/lib/Lower/CallInterface.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/test/Lower/CUDA/cuda-data-attribute.cuf
Log Message:
-----------
[flang][cuda] Lower attribute for dummy argument (#81212)
Lower CUDA attribute for simple dummy argument. This is done in a
similar way than `TARGET`, `OPTIONAL` and so on.
This patch also move the `Fortran::common::CUDADataAttr` to
`fir::CUDAAttributeAttr` mapping to
`flang/include/flang/Optimizer/Support/Utils.h` so that it can be reused
where needed.
Commit: 8e297c779635d7f22626c1a9dd1cb9dc86ea6540
https://github.com/llvm/llvm-project/commit/8e297c779635d7f22626c1a9dd1cb9dc86ea6540
Author: Fangrui Song <i at maskray.me>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M lld/test/ELF/segments.s
Log Message:
-----------
[ELF] Improve --ro-rosegment tests
Commit: ac0577177f053ba7e7016e1b7e44cf5932d00b03
https://github.com/llvm/llvm-project/commit/ac0577177f053ba7e7016e1b7e44cf5932d00b03
Author: Abinaya Saravanan <quic_asaravan at quicinc.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonOptAddrMode.cpp
M llvm/lib/Target/Hexagon/HexagonRDFOpt.cpp
M llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
Log Message:
-----------
[HEXAGON] Add basic block limit for RDF optimizations (#81071)
Skip RDF optimizations if a function contains a number of basic blocks
that is more than a limit
---------
Co-authored-by: Yashas Andaluri <quic_yandalur at quicinc.com>
Commit: db88f3015867ca569ae78a30f20a944c8e1b8afc
https://github.com/llvm/llvm-project/commit/db88f3015867ca569ae78a30f20a944c8e1b8afc
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/push-pop-popret.ll
Log Message:
-----------
[RISCV] Add test for saving s10 with cm.push. NFC
If cm.push saves s10, it must also save s11 due to an encoding
limitation. We handle this in the code, but had no test for it.
Commit: 763139afc19ddf2e0f0265dc828ce8e5fbe92530
https://github.com/llvm/llvm-project/commit/763139afc19ddf2e0f0265dc828ce8e5fbe92530
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M clang/include/clang/Format/Format.h
M clang/lib/Format/FormatToken.cpp
M clang/lib/Format/FormatTokenLexer.cpp
M clang/lib/Format/FormatTokenLexer.h
Log Message:
-----------
[clang-format] Update FormatToken::isSimpleTypeSpecifier() (#80241)
Now with a8279a8bc541, we can make the update.
Commit: b2cd50dbe78c0f0328fe208ab8c4d6005d9272dd
https://github.com/llvm/llvm-project/commit/b2cd50dbe78c0f0328fe208ab8c4d6005d9272dd
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
Log Message:
-----------
[RISCV] Use replace XLenVT with i64 in some isel patterns that are only used for RV64. NFC
Commit: 95b14da678f4670283240ef4cf60f3a39bed97b4
https://github.com/llvm/llvm-project/commit/95b14da678f4670283240ef4cf60f3a39bed97b4
Author: Quentin Dian <dianqk at dianqk.net>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/RegisterCoalescer.cpp
A llvm/test/CodeGen/LoongArch/register-coalescer-crash-pr79718.mir
A llvm/test/CodeGen/X86/PR71178-register-coalescer-crash.ll
Log Message:
-----------
[RegisterCoalescer] Clear instructions not recorded in `ErasedInstrs` but erased (#79820)
Fixes #79718. Fixes #71178.
The same instructions may exist in an iteration. We cannot immediately
delete instructions in `ErasedInstrs`.
Commit: abc39f9aa750634973fe8ba5519d6bbdd70567c4
https://github.com/llvm/llvm-project/commit/abc39f9aa750634973fe8ba5519d6bbdd70567c4
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoD.td
M llvm/lib/Target/RISCV/RISCVInstrInfoF.td
M llvm/lib/Target/RISCV/RISCVInstrInfoM.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXTHead.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZfh.td
Log Message:
-----------
[RISCV] Add casts to isel patterns that produce more than 1 instruction.
We need explicitly cast to XLenVT to avoid tablegen picking i32.
If the SelectionDAG scheduler is used it can't find a register
class for i32 if i32 isn't a legal type.
Fixes #81192, but I might have missed some patterns.
Commit: 0079136f7d2454ef2889061bb214741163ba232d
https://github.com/llvm/llvm-project/commit/0079136f7d2454ef2889061bb214741163ba232d
Author: David Green <david.green at arm.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M llvm/lib/Analysis/BasicAliasAnalysis.cpp
M llvm/test/Analysis/BasicAA/vscale.ll
Log Message:
-----------
[BasicAA] Fix Scale check in vscale aliasing. (#81174)
This is a fix for #80818, as pointed out in #81144 it should be checking
the abs of Scale. The added test changes from NoAlias to MayAlias.
Commit: 8316bf34ac21117f35bc8e6fafa2b3e7da75e1d5
https://github.com/llvm/llvm-project/commit/8316bf34ac21117f35bc8e6fafa2b3e7da75e1d5
Author: DianQK <dianqk at dianqk.net>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/RegisterCoalescer.cpp
R llvm/test/CodeGen/LoongArch/register-coalescer-crash-pr79718.mir
R llvm/test/CodeGen/X86/PR71178-register-coalescer-crash.ll
Log Message:
-----------
Revert "[RegisterCoalescer] Clear instructions not recorded in `ErasedInstrs` but erased (#79820)"
This reverts commit 95b14da678f4670283240ef4cf60f3a39bed97b4.
Commit: ccb46e8365787c446236df20c068d101c637346a
https://github.com/llvm/llvm-project/commit/ccb46e8365787c446236df20c068d101c637346a
Author: DianQK <dianqk at dianqk.net>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/RegisterCoalescer.cpp
A llvm/test/CodeGen/LoongArch/register-coalescer-crash-pr79718.mir
A llvm/test/CodeGen/X86/PR71178-register-coalescer-crash.ll
Log Message:
-----------
Reapply "[RegisterCoalescer] Clear instructions not recorded in `ErasedInstrs` but erased (#79820)"
This reverts commit 8316bf34ac21117f35bc8e6fafa2b3e7da75e1d5.
Commit: b477d39bf6811ac12a1e7e98f308cf4c9a8de26f
https://github.com/llvm/llvm-project/commit/b477d39bf6811ac12a1e7e98f308cf4c9a8de26f
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M flang/include/flang/Evaluate/characteristics.h
M flang/lib/Evaluate/characteristics.cpp
M flang/lib/Lower/CallInterface.cpp
M flang/lib/Semantics/runtime-type-info.cpp
A flang/test/Semantics/typeinfo09.f90
Log Message:
-----------
[flang] Align runtime info and lowering regarding passing ABIs (#81166)
Runtime derived type info contains information to tell the runtime if
some argument in a user defined assignment must be passed with a
descriptor or not. This information was not properly build, it would
tell the runtime that TARGET argument must be passed via descriptor,
which is incorrect.
Share the logic between lowering and runtime info generation to
determine if an argument must be passed by descriptor or not.
Commit: bc6955f18ced3ca89d49bc28eeb58cd6d367e136
https://github.com/llvm/llvm-project/commit/bc6955f18ced3ca89d49bc28eeb58cd6d367e136
Author: Diana Picus <Diana-Magda.Picus at amd.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/call-outgoing-stack-args.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/crash-stack-address-O0.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-scratch-init.gfx.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-scratch.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/insertelement-stack-lower.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-cs-chain-cc.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-cs-chain-preserve-cc.ll
M llvm/test/CodeGen/AMDGPU/amdgpu.private-memory.ll
M llvm/test/CodeGen/AMDGPU/array-ptr-calc-i32.ll
M llvm/test/CodeGen/AMDGPU/call-argument-types.ll
M llvm/test/CodeGen/AMDGPU/callee-special-input-vgprs-packed.ll
M llvm/test/CodeGen/AMDGPU/callee-special-input-vgprs.ll
M llvm/test/CodeGen/AMDGPU/captured-frame-index.ll
M llvm/test/CodeGen/AMDGPU/cc-update.ll
M llvm/test/CodeGen/AMDGPU/cf-loop-on-constant.ll
M llvm/test/CodeGen/AMDGPU/cgp-addressing-modes.ll
M llvm/test/CodeGen/AMDGPU/chain-hi-to-lo.ll
M llvm/test/CodeGen/AMDGPU/collapse-endcf.ll
M llvm/test/CodeGen/AMDGPU/commute-compares.ll
M llvm/test/CodeGen/AMDGPU/control-flow-fastregalloc.ll
M llvm/test/CodeGen/AMDGPU/extload-private.ll
M llvm/test/CodeGen/AMDGPU/extract_vector_dynelt.ll
M llvm/test/CodeGen/AMDGPU/flat-scratch-init.ll
M llvm/test/CodeGen/AMDGPU/flat-scratch-svs.ll
M llvm/test/CodeGen/AMDGPU/flat-scratch.ll
M llvm/test/CodeGen/AMDGPU/frame-index-elimination-tied-operand.mir
M llvm/test/CodeGen/AMDGPU/frame-index-elimination.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fadd.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fsub.ll
M llvm/test/CodeGen/AMDGPU/huge-private-buffer.ll
M llvm/test/CodeGen/AMDGPU/insert_vector_dynelt.ll
M llvm/test/CodeGen/AMDGPU/kernarg-stack-alignment.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.implicit.ptr.buffer.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readfirstlane.ll
M llvm/test/CodeGen/AMDGPU/load-global-i16.ll
M llvm/test/CodeGen/AMDGPU/load-global-i32.ll
M llvm/test/CodeGen/AMDGPU/memory_clause.ll
M llvm/test/CodeGen/AMDGPU/mubuf-offset-private.ll
M llvm/test/CodeGen/AMDGPU/partial-regcopy-and-spill-missed-at-regalloc.ll
M llvm/test/CodeGen/AMDGPU/partial-sgpr-to-vgpr-spills.ll
M llvm/test/CodeGen/AMDGPU/pei-amdgpu-cs-chain-preserve.mir
M llvm/test/CodeGen/AMDGPU/pei-amdgpu-cs-chain.mir
M llvm/test/CodeGen/AMDGPU/regalloc-introduces-copy-sgpr-to-agpr.mir
M llvm/test/CodeGen/AMDGPU/scratch-simple.ll
M llvm/test/CodeGen/AMDGPU/sgpr-spill-no-vgprs.ll
M llvm/test/CodeGen/AMDGPU/sgpr-spill.mir
M llvm/test/CodeGen/AMDGPU/si-spill-sgpr-stack.ll
M llvm/test/CodeGen/AMDGPU/spill-agpr.ll
M llvm/test/CodeGen/AMDGPU/spill-m0.ll
M llvm/test/CodeGen/AMDGPU/spill-offset-calculation.ll
M llvm/test/CodeGen/AMDGPU/spill-scavenge-offset.ll
M llvm/test/CodeGen/AMDGPU/spill-special-sgpr.mir
M llvm/test/CodeGen/AMDGPU/stack-realign-kernel.ll
M llvm/test/CodeGen/AMDGPU/stack-size-overflow.ll
M llvm/test/CodeGen/AMDGPU/stacksave_stackrestore.ll
M llvm/test/CodeGen/AMDGPU/vgpr-mark-last-scratch-load.ll
M llvm/test/CodeGen/AMDGPU/vgpr-spill-emergency-stack-slot.ll
M llvm/test/CodeGen/AMDGPU/vgpr-spill-placement-issue61083.ll
M llvm/test/CodeGen/AMDGPU/vni8-across-blocks.ll
M llvm/test/CodeGen/AMDGPU/wqm.ll
M llvm/test/CodeGen/AMDGPU/wwm-reserved.ll
M llvm/test/CodeGen/MIR/AMDGPU/long-branch-reg-all-sgpr-used.ll
M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-after-pei.ll
M llvm/test/DebugInfo/AMDGPU/variable-locations.ll
Log Message:
-----------
[AMDGPU] Don't fix the scavenge slot at offset 0 (#79136)
At the moment, the emergency spill slot is a fixed object for entry
functions and chain functions, and a regular stack object otherwise.
This patch adopts the latter behaviour for entry/chain functions too. It
seems this was always the intention [1] and it will also save us a bit
of stack space in cases where the first stack object has a large
alignment.
[1]
https://github.com/llvm/llvm-project/commit/34c8b835b16fb3879f1b9770e91df21883356bb6
Commit: 0d9decc6694c188e2f7fa17d140ba9bd7cc98b6b
https://github.com/llvm/llvm-project/commit/0d9decc6694c188e2f7fa17d140ba9bd7cc98b6b
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeStmtGen.cpp
M clang/test/AST/Interp/records.cpp
Log Message:
-----------
[clang][Interp] Handle invalid CXXCtorInitializer expressions
Their type might be a null type, in which case we need to abort here.
Commit: 173e674ba55eb93e8af43f2eece7feffe9954b34
https://github.com/llvm/llvm-project/commit/173e674ba55eb93e8af43f2eece7feffe9954b34
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M clang/unittests/Format/QualifierFixerTest.cpp
Log Message:
-----------
[clang-format] Fix an out-of-bounds bug uncovered by 763139afc19d
Commit: b9079baaddfed5e604fbfaa1d81a7a1c38e78c26
https://github.com/llvm/llvm-project/commit/b9079baaddfed5e604fbfaa1d81a7a1c38e78c26
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M llvm/utils/TableGen/AsmMatcherEmitter.cpp
M llvm/utils/TableGen/AsmWriterEmitter.cpp
M llvm/utils/TableGen/AsmWriterInst.cpp
M llvm/utils/TableGen/AsmWriterInst.h
M llvm/utils/TableGen/CTagsEmitter.cpp
M llvm/utils/TableGen/CallingConvEmitter.cpp
M llvm/utils/TableGen/CodeEmitterGen.cpp
M llvm/utils/TableGen/CodeGenDAGPatterns.cpp
M llvm/utils/TableGen/CodeGenDAGPatterns.h
M llvm/utils/TableGen/CodeGenHwModes.cpp
M llvm/utils/TableGen/CodeGenHwModes.h
M llvm/utils/TableGen/CodeGenInstruction.cpp
M llvm/utils/TableGen/CodeGenInstruction.h
M llvm/utils/TableGen/CodeGenIntrinsics.h
M llvm/utils/TableGen/CodeGenMapTable.cpp
M llvm/utils/TableGen/CodeGenRegisters.cpp
M llvm/utils/TableGen/CodeGenRegisters.h
M llvm/utils/TableGen/CodeGenSchedule.cpp
M llvm/utils/TableGen/CodeGenSchedule.h
M llvm/utils/TableGen/CodeGenTarget.cpp
M llvm/utils/TableGen/CodeGenTarget.h
M llvm/utils/TableGen/DAGISelEmitter.cpp
M llvm/utils/TableGen/DAGISelMatcher.cpp
M llvm/utils/TableGen/DAGISelMatcher.h
M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
M llvm/utils/TableGen/DAGISelMatcherGen.cpp
M llvm/utils/TableGen/DAGISelMatcherOpt.cpp
M llvm/utils/TableGen/DFAEmitter.cpp
M llvm/utils/TableGen/DFAPacketizerEmitter.cpp
M llvm/utils/TableGen/DXILEmitter.cpp
M llvm/utils/TableGen/DecoderEmitter.cpp
M llvm/utils/TableGen/DisassemblerEmitter.cpp
M llvm/utils/TableGen/FastISelEmitter.cpp
M llvm/utils/TableGen/InfoByHwMode.cpp
M llvm/utils/TableGen/InfoByHwMode.h
M llvm/utils/TableGen/InstrDocsEmitter.cpp
M llvm/utils/TableGen/InstrInfoEmitter.cpp
M llvm/utils/TableGen/IntrinsicEmitter.cpp
M llvm/utils/TableGen/OptParserEmitter.cpp
M llvm/utils/TableGen/PredicateExpander.cpp
M llvm/utils/TableGen/PseudoLoweringEmitter.cpp
M llvm/utils/TableGen/RegisterBankEmitter.cpp
M llvm/utils/TableGen/RegisterInfoEmitter.cpp
M llvm/utils/TableGen/SDNodeProperties.h
M llvm/utils/TableGen/SearchableTableEmitter.cpp
M llvm/utils/TableGen/SequenceToOffsetTable.h
M llvm/utils/TableGen/SubtargetEmitter.cpp
M llvm/utils/TableGen/SubtargetFeatureInfo.cpp
M llvm/utils/TableGen/SubtargetFeatureInfo.h
M llvm/utils/TableGen/TableGenBackends.h
M llvm/utils/TableGen/Types.cpp
M llvm/utils/TableGen/Types.h
M llvm/utils/TableGen/WebAssemblyDisassemblerEmitter.cpp
M llvm/utils/TableGen/X86CompressEVEXTablesEmitter.cpp
M llvm/utils/TableGen/X86DisassemblerShared.h
M llvm/utils/TableGen/X86DisassemblerTables.cpp
M llvm/utils/TableGen/X86DisassemblerTables.h
M llvm/utils/TableGen/X86ModRMFilters.cpp
M llvm/utils/TableGen/X86ModRMFilters.h
M llvm/utils/TableGen/X86RecognizableInstr.cpp
M llvm/utils/TableGen/X86RecognizableInstr.h
Log Message:
-----------
[NFC] clang-format utils/TableGen (#80973)
```
find llvm/utils/TableGen -iname "*.h" -o -iname "*.cpp" | xargs clang-format-16 -i
```
Split from #80847
Commit: 2f8e37d20114ecb223caaa5a72e8b7c13daf9f34
https://github.com/llvm/llvm-project/commit/2f8e37d20114ecb223caaa5a72e8b7c13daf9f34
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/SROA.cpp
M llvm/test/Transforms/SROA/select-gep.ll
Log Message:
-----------
[SROA] Unfold gep of index select (#80983)
SROA currently supports converting a gep of select into select of gep if
the select is in the pointer operand. This patch expands support to
selects in an index operand.
This is intended to address the regression reported in
https://github.com/llvm/llvm-project/pull/68882#issuecomment-1924909922.
Commit: 38b54c72ca83fd56830b13d2a8d7749887b77922
https://github.com/llvm/llvm-project/commit/38b54c72ca83fd56830b13d2a8d7749887b77922
Author: Jean Perier <jperier at nvidia.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M flang/lib/Evaluate/characteristics.cpp
Log Message:
-----------
[flang] fix shared library builds after #81166
Fix https://lab.llvm.org/buildbot/#/builders/268/builds/7826
IsDerivedTypeWithLengthParameter cannot be used here, it would make
libFortranEvaluate dependent on linFortranSemantics.
Replace by loop through parameter values.
Commit: f6610578653fd47535a18284c688d725943ee8c3
https://github.com/llvm/llvm-project/commit/f6610578653fd47535a18284c688d725943ee8c3
Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
M llvm/lib/Target/AMDGPU/SIFrameLowering.h
M llvm/test/CodeGen/AMDGPU/GlobalISel/call-outgoing-stack-args.ll
M llvm/test/CodeGen/AMDGPU/abi-attribute-hints-undefined-behavior.ll
M llvm/test/CodeGen/AMDGPU/blender-no-live-segment-at-def-implicit-def.ll
M llvm/test/CodeGen/AMDGPU/branch-folding-implicit-def-subreg.ll
M llvm/test/CodeGen/AMDGPU/call-argument-types.ll
M llvm/test/CodeGen/AMDGPU/call-reqd-group-size.ll
M llvm/test/CodeGen/AMDGPU/call-waitcnt.ll
M llvm/test/CodeGen/AMDGPU/callee-special-input-vgprs.ll
M llvm/test/CodeGen/AMDGPU/cc-update.ll
M llvm/test/CodeGen/AMDGPU/cross-block-use-is-not-abi-copy.ll
M llvm/test/CodeGen/AMDGPU/indirect-call-known-callees.ll
M llvm/test/CodeGen/AMDGPU/indirect-call.ll
M llvm/test/CodeGen/AMDGPU/kernel-vgpr-spill-mubuf-with-voffset.ll
M llvm/test/CodeGen/AMDGPU/lds-frame-extern.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.lds.kernel.id.ll
M llvm/test/CodeGen/AMDGPU/lower-module-lds-via-hybrid.ll
M llvm/test/CodeGen/AMDGPU/lower-module-lds-via-table.ll
M llvm/test/CodeGen/AMDGPU/machine-sink-temporal-divergence-swdev407790.ll
M llvm/test/CodeGen/AMDGPU/need-fp-from-vgpr-spills.ll
M llvm/test/CodeGen/AMDGPU/simple-indirect-call.ll
M llvm/test/CodeGen/AMDGPU/tuple-allocation-failure.ll
M llvm/test/CodeGen/AMDGPU/vgpr_constant_to_sgpr.ll
Log Message:
-----------
Revert "[AMDGPU] Compiler should synthesize private buffer resource descriptor from flat_scratch_init" (#81234)
Reverts llvm/llvm-project#79586
This broke the AMDGPU OpenMP Offload buildbot.
The typical error message was that the GPU attempted to read beyong the
largest legal address.
Error message:
AMDGPU fatal error 1: Received error in queue 0x7f8363f22000:
HSA_STATUS_ERROR_MEMORY_APERTURE_VIOLATION: The agent attempted to
access memory beyond the largest legal address.
Commit: d72e8c259637991c8d0be642a5ab2bfeb19b1c6e
https://github.com/llvm/llvm-project/commit/d72e8c259637991c8d0be642a5ab2bfeb19b1c6e
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M .git-blame-ignore-revs
Log Message:
-----------
[NFC] Add b9079ba to git-blame-ignore-revs (#81233)
Commit: df2513c80bbd444ce97d28961bd5c20ffd7d3c44
https://github.com/llvm/llvm-project/commit/df2513c80bbd444ce97d28961bd5c20ffd7d3c44
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/test/SemaCXX/conditional-expr.cpp
Log Message:
-----------
[clang][Interp] Fix three-way comparison detection
Instead of using !T && CPlusPlus, just check the BinaryOperator's
opcode. Turns out we also hit this code path for some assignments
of structs in C++.
Commit: 79e43eb3e20484bdb6f32eecc336742dd721fcc9
https://github.com/llvm/llvm-project/commit/79e43eb3e20484bdb6f32eecc336742dd721fcc9
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/Interp.h
M clang/test/AST/Interp/arrays.cpp
M clang/test/SemaCXX/self-comparison.cpp
Log Message:
-----------
[clang][Interp] Protect ArrayDecay ops against dummy pointers
Commit: 9e73656af524a2c592978aec91de67316c5ce69f
https://github.com/llvm/llvm-project/commit/9e73656af524a2c592978aec91de67316c5ce69f
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.h
M clang/test/SemaCXX/expression-traits.cpp
Log Message:
-----------
[clang][Interp] Support ExpressionTraitExprs
Just push a constant bool value.
Commit: 5609bd83c3bd39a7522b05b32decc9e3c8ad08ae
https://github.com/llvm/llvm-project/commit/5609bd83c3bd39a7522b05b32decc9e3c8ad08ae
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M clang/include/clang/Format/Format.h
M clang/lib/Format/FormatToken.cpp
M clang/lib/Format/FormatTokenLexer.cpp
M clang/lib/Format/FormatTokenLexer.h
Log Message:
-----------
Revert "[clang-format] Update FormatToken::isSimpleTypeSpecifier() (#80241)"
This reverts commit 763139afc19ddf2e0f0265dc828ce8e5fbe92530.
It seems that LangOpts is not initialized before use.
Commit: 245d7727d51548c3d5d867b69b1f9b1efff2502e
https://github.com/llvm/llvm-project/commit/245d7727d51548c3d5d867b69b1f9b1efff2502e
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M clang/unittests/Format/QualifierFixerTest.cpp
Log Message:
-----------
Revert "[clang-format] Fix an out-of-bounds bug uncovered by 763139afc19d"
This reverts commit 173e674ba55eb93e8af43f2eece7feffe9954b34.
Actually, NotTokens[5] in QualifierFixerTest.cpp is not out of bounds.
Commit: c227eca73970c65d9663e6d65abe3f9daef2a25f
https://github.com/llvm/llvm-project/commit/c227eca73970c65d9663e6d65abe3f9daef2a25f
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M clang/test/AST/Interp/arrays.cpp
Log Message:
-----------
[clang][Interp][NFC] Convert test case to verify=expected,both style
Commit: 02362b1ad1c07a01714b195d769400dd40dbfd04
https://github.com/llvm/llvm-project/commit/02362b1ad1c07a01714b195d769400dd40dbfd04
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M clang/unittests/Format/QualifierFixerTest.cpp
Log Message:
-----------
[clang-format] Check token size in QualifierFixerTest.cpp
Commit: ac3bd2bd530127786741bd9f164d66a3c3f40961
https://github.com/llvm/llvm-project/commit/ac3bd2bd530127786741bd9f164d66a3c3f40961
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
R llvm/include/llvm/Transforms/Scalar/LoopReroll.h
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Transforms/Scalar/CMakeLists.txt
R llvm/lib/Transforms/Scalar/LoopRerollPass.cpp
R llvm/test/Transforms/LoopReroll/basic.ll
R llvm/test/Transforms/LoopReroll/basic32iters.ll
R llvm/test/Transforms/LoopReroll/complex_reroll.ll
R llvm/test/Transforms/LoopReroll/external_use.ll
R llvm/test/Transforms/LoopReroll/extra_instr.ll
R llvm/test/Transforms/LoopReroll/indvar_with_ext.ll
R llvm/test/Transforms/LoopReroll/negative.ll
R llvm/test/Transforms/LoopReroll/nonconst_lb.ll
R llvm/test/Transforms/LoopReroll/ptrindvar.ll
R llvm/test/Transforms/LoopReroll/reduction.ll
R llvm/test/Transforms/LoopReroll/reroll_with_dbg.ll
Log Message:
-----------
[LoopReroll] Remove unused and unmaintained pass (#80972)
Remove the LoopReroll pass, which is both unused (in any default
pipeline) and unmaintained, with numerous open correctness issues
(https://github.com/llvm/llvm-project/issues?q=is%3Aissue+is%3Aopen+loop-reroll).
The removal is in line with
https://discourse.llvm.org/t/rfc-disallow-unmaintained-unused-passes/75151.
There is also a defunct `-freroll-loops` option in clang, which I'll
remove separately.
Migrated from https://reviews.llvm.org/D150684.
Commit: 75798f21ca7626419ed341cf723ba51889e85500
https://github.com/llvm/llvm-project/commit/75798f21ca7626419ed341cf723ba51889e85500
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Transforms/Scalar/BUILD.gn
Log Message:
-----------
[gn build] Port ac3bd2bd5301
Commit: 1198c3aaff63d4ce63b760b4effc14babc0bdd8a
https://github.com/llvm/llvm-project/commit/1198c3aaff63d4ce63b760b4effc14babc0bdd8a
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] PromoteMaskArithmetic - use ISD::isBitwiseLogicOp wrapper. NFC.
Commit: 713fe6dfd4803fba41f2102479580bed058ca0b3
https://github.com/llvm/llvm-project/commit/713fe6dfd4803fba41f2102479580bed058ca0b3
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] PromoteMaskArithmetic - consistently use SDValue instead of underlying SDNode. NFC.
Commit: 3902f9b6e2d925d50f9a4861d78e5aba07b6ef11
https://github.com/llvm/llvm-project/commit/3902f9b6e2d925d50f9a4861d78e5aba07b6ef11
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] PromoteMaskArithmetic - explicitly attempt to constant fold zext(c) instead of relying on getNode()
Don't rely on isBuildVectorOfConstantSDNodes/getNode to constant fold, this could also help in cases where the constant is behind a bitcast.
Noticed while investigating #80668
Commit: 2cb61a1d117e2c20e3372bc23bf12b919feaaca2
https://github.com/llvm/llvm-project/commit/2cb61a1d117e2c20e3372bc23bf12b919feaaca2
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/test/Sema/ms_predefined_expr.cpp
Log Message:
-----------
[clang][Interp] Fix initializing PredefinedExprs
Commit: 316373abcc2abde414d4b9601f4752b6939a2133
https://github.com/llvm/llvm-project/commit/316373abcc2abde414d4b9601f4752b6939a2133
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
Log Message:
-----------
[llvm][AArch64] Refactor expansion of CALL_BTI and CALL_RVMARKER (#80419)
After a lot of churn in expandCALL_BTI, it ended up doing the exact same
thing that expandCALL_RVMARKER does. This change factors out the common
code to make that clear.
Commit: b5a273a1cfe6f509f8d2541e04d9186438f33348
https://github.com/llvm/llvm-project/commit/b5a273a1cfe6f509f8d2541e04d9186438f33348
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M polly/lib/Analysis/ScopDetectionDiagnostic.cpp
M polly/lib/Support/ScopLocation.cpp
M polly/test/ScopDetectionDiagnostics/ReportLoopBound-01.ll
M polly/test/ScopDetectionDiagnostics/loop_has_multiple_exits.ll
Log Message:
-----------
[Polly][DebugInfo] Use getStableDebugLoc to avoid intrinsic-dependent behaviour (#81246)
Polly currently uses `getDebugLoc` in a few places to produce diagnostic
output; this is correct when interacting with specific instructions, but
may be incorrect when dealing with instruction ranges if debug
intrinsics are included. As a general rule, the debug locations attached
to debug intrinsics may be misleading compared to the surrounding
instructions, and are not generally used for anything other than
determining variable scope info; the recommended approach is therefore
to use `getStableDebugLoc` instead, which skips over debug intrinsics.
This is necessary to fix test failures that occur when enabling
non-instruction debug info, which removes debug intrinsics from basic
blocks and thus alters the diagnostic output of Polly (despite causing
no functional change).
Commit: 614fab49b0b47c6463fb4d9d788790345bfdb6ce
https://github.com/llvm/llvm-project/commit/614fab49b0b47c6463fb4d9d788790345bfdb6ce
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] PromoteMaskArithmetic - share the same SDLoc argument instead of recreating it over and over again.
Commit: 047f8321f14a53caad7b564f7f654a470fdca8a9
https://github.com/llvm/llvm-project/commit/047f8321f14a53caad7b564f7f654a470fdca8a9
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M llvm/test/CodeGen/X86/ctpop-mask.ll
Log Message:
-----------
[X86] ctpop-mask.ll - add 32-bit with SSE2 test coverage
32-bit targets will try to use SSE2 <2 x i64> CTPOP expansion for i64 CTPOP
Commit: 9ba265636f3310b5b5b39767715e1843a06ea603
https://github.com/llvm/llvm-project/commit/9ba265636f3310b5b5b39767715e1843a06ea603
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/ctpop-mask.ll
Log Message:
-----------
[X86] ReplaceNodeResults - shrink i64 CTPOP to (shifted) CTPOP i32 if 32 or less active bits to avoid SSE2 codegen
32-bit targets perform i64 CTPOP as a v2i64 CTPOP - if we can perform this as a i32 CTPOP by shifting the source bits, then do so to avoid the gpr<->xmm
This also triggers on non-SSE2 capable targets, as can be seen with the minor codegen diffs in ctpop_shifted_mask16
Commit: eb9cd800b3c8c787f75c00e7d9de3ae6a2e5f876
https://github.com/llvm/llvm-project/commit/eb9cd800b3c8c787f75c00e7d9de3ae6a2e5f876
Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M clang/include/clang/Basic/BuiltinsBase.td
M clang/utils/TableGen/ClangBuiltinsEmitter.cpp
Log Message:
-----------
[Clang][TableGen] Add Features to TargetBuiltin
RISCV target will use this parameter, so we need a way to specify
it.
Reviewers: AaronBallman, philnik777
Reviewed By: AaronBallman
Pull Request: https://github.com/llvm/llvm-project/pull/80279
Commit: a8d4a024e6bea3ae71d6187f0c040b2b25e4bf69
https://github.com/llvm/llvm-project/commit/a8d4a024e6bea3ae71d6187f0c040b2b25e4bf69
Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
R clang/include/clang/Basic/BuiltinsRISCV.def
A clang/include/clang/Basic/BuiltinsRISCV.td
M clang/include/clang/Basic/CMakeLists.txt
M clang/include/clang/Basic/TargetBuiltins.h
M clang/include/module.modulemap
M clang/lib/Basic/Targets/RISCV.cpp
Log Message:
-----------
[Clang][RISCV] Refactor builtins to TableGen
This mechanism is introduced by #68324.
This refactor makes the prototype and attributes clear.
Reviewers: asb, kito-cheng, philnik777, topperc, preames
Reviewed By: topperc
Pull Request: https://github.com/llvm/llvm-project/pull/80280
Commit: 1f780bfac919dc34deface0f8e276d3573240291
https://github.com/llvm/llvm-project/commit/1f780bfac919dc34deface0f8e276d3573240291
Author: Nico Weber <thakis at chromium.org>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/include/clang/Basic/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/Basic/BUILD.gn
Log Message:
-----------
[gn] port a8d4a024e6bea3a (BuiltinsRISCV.td)
Commit: 413e82a0875222e19993b1038ea803814e5ee48c
https://github.com/llvm/llvm-project/commit/413e82a0875222e19993b1038ea803814e5ee48c
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/ArmSVE/IR/ArmSVE.td
M mlir/test/Target/LLVMIR/arm-sve.mlir
Log Message:
-----------
[mlir][ArmSVE] Add intrinsics for the SME2 multi-vector zips (#80985)
These are added to the ArmSVE dialect for consistency with LLVM, which
registers SME2 intrinsics that don't require ZA under SVE.
Commit: a9e546cc71e72f9febda174ed1ada70c584628c2
https://github.com/llvm/llvm-project/commit/a9e546cc71e72f9febda174ed1ada70c584628c2
Author: Tomas Matheson <76168689+tmatheson-arm at users.noreply.github.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M llvm/utils/TableGen/CodeGenDAGPatterns.cpp
M llvm/utils/TableGen/CodeGenDAGPatterns.h
M llvm/utils/TableGen/DAGISelEmitter.cpp
M llvm/utils/TableGen/DAGISelMatcher.cpp
M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
M llvm/utils/TableGen/DAGISelMatcherGen.cpp
M llvm/utils/TableGen/DAGISelMatcherOpt.cpp
M llvm/utils/TableGen/FastISelEmitter.cpp
M llvm/utils/TableGen/GlobalISelEmitter.cpp
Log Message:
-----------
[TableGen][NFC] convert TreePatternNode pointers to references (#81134)
Almost all uses of `*TreePatternNode` expect it to be non-null. There
was the occasional check that it wasn't, which I have removed. Making
them references makes it clear that they exist.
This was attempted in 2018 (1b465767d6ca69f4b7201503f5f21e6125fe049a)
for `TreePatternNode::getChild()` but that was reverted.
Commit: 0de859c8f22669ab7a816afdf975c7b012e511b9
https://github.com/llvm/llvm-project/commit/0de859c8f22669ab7a816afdf975c7b012e511b9
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M llvm/include/llvm/MC/MCRegisterInfo.h
Log Message:
-----------
[MC] Fix operator++ for various MCRegister iterators (#81250)
Return *this from operator++. NFC, this just allows using ++Iter in
an expression in future patches.
Commit: b5abaea3c0de605c8145035b21a5ee492883ebd7
https://github.com/llvm/llvm-project/commit/b5abaea3c0de605c8145035b21a5ee492883ebd7
Author: stephenpeckham <118857872+stephenpeckham at users.noreply.github.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M llvm/lib/ObjectYAML/XCOFFEmitter.cpp
M llvm/test/tools/llvm-objcopy/XCOFF/invalid-read.test
M llvm/test/tools/llvm-objdump/XCOFF/disassemble-traceback-table.test
M llvm/test/tools/llvm-objdump/XCOFF/section-headers.test
M llvm/test/tools/llvm-readobj/XCOFF/file-header.test
M llvm/test/tools/llvm-readobj/XCOFF/sections.test
M llvm/test/tools/obj2yaml/XCOFF/aix.yaml
M llvm/test/tools/obj2yaml/XCOFF/invalid-section.yaml
M llvm/test/tools/yaml2obj/XCOFF/aux-hdr-defaults.yaml
M llvm/test/tools/yaml2obj/XCOFF/basic-doc.yaml
A llvm/test/tools/yaml2obj/XCOFF/offset-check.yaml
Log Message:
-----------
[yaml2obj][XOFF] Update yaml2obj for XCOFF to create valid XCOFF files in more cases. (#77620)
yaml2obj creates invalid object files even when the input was created by
obj2yaml using a valid object file. On the other hand, yaml2obj is used
to intentionally create invalid object files for testing purposes.
This update balances using specified input values when provided and
computing file offsets and sizes if necessary.
Commit: b1b8a383fcdab007ccd1a5daa08cb33ce7cbc6c0
https://github.com/llvm/llvm-project/commit/b1b8a383fcdab007ccd1a5daa08cb33ce7cbc6c0
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/icmp-custom-dl.ll
M llvm/test/Transforms/InstCombine/icmp-gep.ll
Log Message:
-----------
[InstCombine] Remove one-use restriction on icmp of gep fold (#76730)
The fold for icmp (gep (p, i1), gep (p, i2)) to icmp (i1, i2) is
currently limited to one of the GEPs either having one use or a constant
offset. I believe this is to avoid duplicating complex arithmetic both
in the GEP and the offset comparison.
This patch instead does the same thing that the indexed compare fold
does, which is to rewrite the GEP into i8 form if necessary, so that the
offset arithmetic is not repeated after the transform.
I ran into this problem in a case where there are multiple conditions on
the same pointer, which prevents them from getting folded.
Commit: fcb59203c8b883aa39d22cf9788c48dbbb734932
https://github.com/llvm/llvm-project/commit/fcb59203c8b883aa39d22cf9788c48dbbb734932
Author: Corbin Robeck <corbin.robeck at amd.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
Log Message:
-----------
[AMDGPU][DOC] Add MI200 Names to AMDGPUUsage Doc (#81252)
Commit: 50c5107f42a88a1d2ab66dc6cd1f2cfee6707f7d
https://github.com/llvm/llvm-project/commit/50c5107f42a88a1d2ab66dc6cd1f2cfee6707f7d
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M clang/test/CXX/drs/dr11xx.cpp
M clang/test/CXX/drs/dr14xx.cpp
M clang/test/CXX/drs/dr15xx.cpp
M clang/test/CXX/drs/dr17xx.cpp
M clang/test/CXX/drs/dr22xx.cpp
M clang/test/CXX/drs/dr23xx.cpp
A clang/test/CXX/drs/dr2504.cpp
M clang/test/CXX/drs/dr25xx.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[clang] Add tests for DRs about inheriting constructors (#79981)
Covers CWG issues
[1150](https://cplusplus.github.io/CWG/issues/1150.html),
[1487](https://cplusplus.github.io/CWG/issues/1487.html),
[1567](https://cplusplus.github.io/CWG/issues/1567.html),
[1738](https://cplusplus.github.io/CWG/issues/1738.html),
[2273](https://cplusplus.github.io/CWG/issues/2273.html),
[2277](https://cplusplus.github.io/CWG/issues/2277.html),
[2356](https://cplusplus.github.io/CWG/issues/2356.html),
[2504](https://cplusplus.github.io/CWG/issues/2504.html).
On top of the wording in proposed resolutions,
[P0136R1](https://wg21.link/p0136r1) "Rewording inheriting constructors
(core issue 1941 et al)" is a very relevant paper.
Note that status for 1738 `sup P0136R1` is not officially recognized by
CWG, but saying `yes` or `no` seems even more confusing to me. Official
resolution is to reject certain code, but Clang is the only
implementation that still rejects it to this day:
https://godbolt.org/z/b1W8jc1o5. GCC rejected it until 9, now it's
accepted: https://godbolt.org/z/of6oh4sdT
Commit: d05483288465a87e75cfab51792801cfee43914c
https://github.com/llvm/llvm-project/commit/d05483288465a87e75cfab51792801cfee43914c
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/Interp.h
M clang/test/AST/Interp/c.c
Log Message:
-----------
[clang][Interp] Handle dummy pointers in ArrayElemPtr{,Pop} differently
Instead of returning false, just ignore the operation and return true;
This gives us the desired diagnostic behavior in the added test case.
Commit: 356fdc31edd1734ef8dc8f010d5f805345157c49
https://github.com/llvm/llvm-project/commit/356fdc31edd1734ef8dc8f010d5f805345157c49
Author: Christian Sigg <csigg at google.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[bazel][clang] Fix BUILD after a8d4a024e6bea3ae71d6187f0c040b2b25e4bf69.
Commit: a9700904765590ca2fbf08c0cc36d0da1107d3a7
https://github.com/llvm/llvm-project/commit/a9700904765590ca2fbf08c0cc36d0da1107d3a7
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M clang/test/AST/Interp/c.c
Log Message:
-----------
[clang][Interp][NFC] Convert test case to verify=expected,all style
Commit: a0635edc5980218ad210da25a5c9afe346110ccb
https://github.com/llvm/llvm-project/commit/a0635edc5980218ad210da25a5c9afe346110ccb
Author: Florian Hahn <florian_hahn at apple.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
A llvm/test/Transforms/PhaseOrdering/AArch64/extra-unroll-simplifications.ll
A llvm/test/Transforms/PhaseOrdering/AArch64/hoist-runtime-checks.ll
Log Message:
-----------
[PhaseOrdering] Add tests showing missed simplifications.
Add tests showing missed simplifications due to phase ordering.
Commit: fdb16e6fd81b38835795f22730b39b30ddd90f07
https://github.com/llvm/llvm-project/commit/fdb16e6fd81b38835795f22730b39b30ddd90f07
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M clang/test/AST/Interp/c.c
Log Message:
-----------
[clang][Interp] Only use __int128 in test case if supported
Commit: b081e9d4cafe2563c513ed7b5ae3ced6d177b657
https://github.com/llvm/llvm-project/commit/b081e9d4cafe2563c513ed7b5ae3ced6d177b657
Author: Daniel Chen <cdchen at ca.ibm.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M flang/lib/Lower/Bridge.cpp
Log Message:
-----------
[Flang] Fix NULLIFY statement that returns too early for multiple procedure pointer objects. (#81164)
The current code that handles NULLIFY statement for procedure pointer
returns after the 1st object.
This PR is to remove the `return` so it can nullify multiple procedure
pointer objects.
Commit: 935f7d633374f7073fec14927922a2d534c8795f
https://github.com/llvm/llvm-project/commit/935f7d633374f7073fec14927922a2d534c8795f
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M clang/test/AST/Interp/complex.cpp
Log Message:
-----------
[clang][Interp][NFC] We do support complex bitint now
Remove a stale FIXME comment and improve the test.
Commit: 99d743320c5dddb780f1fb2f49414b10e6a52a05
https://github.com/llvm/llvm-project/commit/99d743320c5dddb780f1fb2f49414b10e6a52a05
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M clang/include/clang/AST/Decl.h
M clang/include/clang/Basic/AttrDocs.td
M clang/lib/AST/Decl.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/test/CodeGen/attr-target-version.c
M clang/test/CodeGenCXX/attr-target-version.cpp
Log Message:
-----------
[clang][fmv] Drop .ifunc from target_version's entrypoint's mangling (#81194)
Fixes: https://github.com/llvm/llvm-project/issues/81043
Commit: 99446df3f5357b327b388bbbb4adf6465999ea60
https://github.com/llvm/llvm-project/commit/99446df3f5357b327b388bbbb4adf6465999ea60
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/chrono/TestDataFormatterLibcxxChrono.py
Log Message:
-----------
Bump the minimum LLVM version for chrono datatformatters tests
Commit: 2095655f8e2324971f11be61b88ef1644d5796b8
https://github.com/llvm/llvm-project/commit/2095655f8e2324971f11be61b88ef1644d5796b8
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M clang/include/clang/AST/Decl.h
M clang/lib/AST/Decl.cpp
M clang/lib/Sema/Sema.cpp
M clang/test/SemaCXX/warn-unused-filescoped.cpp
Log Message:
-----------
[clang][sema] Fix -Wunused-function on target_version'd file-scope Fn's (#81167)
We should only warn if the default version is the one that is unused.
Fixes: https://github.com/llvm/llvm-project/issues/80227
Commit: 7ddc32052546abd41656d2e670f3902b1bf805a7
https://github.com/llvm/llvm-project/commit/7ddc32052546abd41656d2e670f3902b1bf805a7
Author: quic-areg <aregmi at quicinc.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M llvm/docs/CommandGuide/llvm-objcopy.rst
M llvm/include/llvm/ObjCopy/CommonConfig.h
M llvm/lib/ObjCopy/ELF/ELFObjcopy.cpp
M llvm/lib/ObjCopy/ELF/ELFObject.cpp
M llvm/lib/ObjCopy/ELF/ELFObject.h
M llvm/test/tools/llvm-objcopy/ELF/ihex-writer.test
A llvm/test/tools/llvm-objcopy/ELF/srec-writer.test
M llvm/tools/llvm-objcopy/ObjcopyOptions.cpp
M llvm/tools/llvm-objcopy/llvm-objcopy.cpp
Log Message:
-----------
[llvm-objcopy] Support SREC output format (#75874)
Adds a new output target "srec" to write SREC files from ELF inputs.
https://en.wikipedia.org/wiki/SREC_(file_format)
Commit: 1f20bc2cd273dd21459b9007a10c6aa67e5da1e2
https://github.com/llvm/llvm-project/commit/1f20bc2cd273dd21459b9007a10c6aa67e5da1e2
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/math/index.rst
M libc/spec/stdc.td
M libc/src/math/CMakeLists.txt
A libc/src/math/fdimf128.h
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/fdimf128.cpp
M libc/test/src/math/smoke/CMakeLists.txt
M libc/test/src/math/smoke/FDimTest.h
M libc/test/src/math/smoke/fdim_test.cpp
A libc/test/src/math/smoke/fdimf128_test.cpp
M libc/test/src/math/smoke/fdimf_test.cpp
M libc/test/src/math/smoke/fdiml_test.cpp
Log Message:
-----------
[libc][math] Add C23 math function fdimf128. (#81074)
Commit: 088773b0d1c1ee99d78f0b68bf50029637fbead7
https://github.com/llvm/llvm-project/commit/088773b0d1c1ee99d78f0b68bf50029637fbead7
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M clang/test/AST/Interp/c.c
Log Message:
-----------
[clang][Interp] Specify triple in C test
This is what test/Sema/const-eval.c does as well and without specifying
it, some windows builders are broken:
https://lab.llvm.org/buildbot/#/builders/265/builds/2453
Commit: e973ab150a802a9503ca34753589d29863df30cc
https://github.com/llvm/llvm-project/commit/e973ab150a802a9503ca34753589d29863df30cc
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M libc/test/src/__support/FPUtil/fpbits_test.cpp
M libc/test/src/sys/socket/linux/bind_test.cpp
Log Message:
-----------
[libc][NFC] Fix few warnings in tests. (#81262)
```
/usr/local/google/home/lntue/experiment/llvm/llvm-project/libc/test/src/__support/FPUtil/fpbits_test.cpp:268:2: warning: extra ';' outside of a function is incompatible with C++98 [-Wc++98-compat-extra-semi]
};
^
1 warning generated.
```
```
In file included from /usr/local/google/home/lntue/experiment/llvm/llvm-project/libc/test/src/sys/socket/linux/bind_test.cpp:17:
/usr/local/google/home/lntue/experiment/llvm/llvm-project/libc/test/UnitTest/Test.h:17:9: warning: 'libc_make_test_file_path' macro redefined [-Wmacro-redefined]
#define libc_make_test_file_path(file_name) (file_name)
^
/usr/local/google/home/lntue/experiment/llvm/llvm-project/libc/test/UnitTest/LibcTest.h:20:9: note: previous definition is here
#define libc_make_test_file_path(file_name) \
^
1 warning generated.
```
Commit: 4f423e4989056316f9d807abb92c14b188490e30
https://github.com/llvm/llvm-project/commit/4f423e4989056316f9d807abb92c14b188490e30
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M libcxx/utils/libcxx/test/features.py
Log Message:
-----------
[libc++][test] Adds backdeployment shorthands. (#78204)
Some changes in libc++ affect the dylib. These changes are not present
on systems that use the system dylib. Currently that are the Apple
backdeployment targets. Figuring out which MacOS versions to target is
not trivial for non-Apple engineers. These shorthands make it easier to
select the proper feature make a test UNSUPPORTED or XFAIL.
During the design discussion with Louis we considered whether or not to
add preprocessor definitions to allow partial disabling of a test. This
would be useful when an existing feature is changed by modifying the
dylib. In the end we decided not to add this feature to avoid additional
complexity in the tests. Instead the test will be disabled for that
target.
Commit: a5cc1dc82d61c156f75edc72eccacdb6776bf3f1
https://github.com/llvm/llvm-project/commit/a5cc1dc82d61c156f75edc72eccacdb6776bf3f1
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M libcxx/test/tools/clang_tidy_checks/header_exportable_declarations.cpp
Log Message:
-----------
[NFC][libc++] Removes obsolete compiler support. (#80481)
These work-arounds were slated for removal in LLVM-18, but missed the
deadline.
Commit: 7291761669dd63624ccaab30887aca7e9c7d3273
https://github.com/llvm/llvm-project/commit/7291761669dd63624ccaab30887aca7e9c7d3273
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M libcxx/test/std/utilities/charconv/charconv.syn/from_chars_result.operator_bool.pass.cpp
M libcxx/test/std/utilities/charconv/charconv.syn/to_chars_result.operator_bool.pass.cpp
Log Message:
-----------
[libc++] Fixes charconv operator bool tests. (#80598)
This was spotted by @philnik.
Commit: b33b91a21788d439f49d6db4e7224c20f740f1a7
https://github.com/llvm/llvm-project/commit/b33b91a21788d439f49d6db4e7224c20f740f1a7
Author: Oleksandr "Alex" Zinenko <zinenko at google.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M mlir/docs/Tutorials/transform/Ch1.md
M mlir/docs/Tutorials/transform/Ch2.md
M mlir/docs/Tutorials/transform/Ch3.md
M mlir/docs/Tutorials/transform/Ch4.md
M mlir/examples/transform/Ch2/transform-opt/transform-opt.cpp
M mlir/examples/transform/Ch3/transform-opt/transform-opt.cpp
M mlir/examples/transform/Ch4/transform-opt/transform-opt.cpp
M mlir/include/mlir/Dialect/Transform/Transforms/Passes.td
M mlir/include/mlir/Dialect/Transform/Transforms/TransformInterpreterUtils.h
M mlir/include/mlir/Dialect/Transform/Utils/RaggedArray.h
M mlir/lib/Dialect/Transform/Transforms/InterpreterPass.cpp
M mlir/lib/Dialect/Transform/Transforms/TransformInterpreterUtils.cpp
M mlir/test/Examples/transform/Ch1/invalidation-1.mlir
M mlir/test/Examples/transform/Ch1/invalidation-2.mlir
M mlir/test/Examples/transform/Ch1/sequence.mlir
M mlir/test/Examples/transform/Ch2/invalid.mlir
M mlir/test/Examples/transform/Ch2/ops.mlir
M mlir/test/Examples/transform/Ch2/sequence.mlir
M mlir/test/Examples/transform/Ch3/invalid.mlir
M mlir/test/Examples/transform/Ch3/ops.mlir
M mlir/test/Examples/transform/Ch3/sequence.mlir
M mlir/test/Examples/transform/ChH/full.mlir
Log Message:
-----------
[mlir] update transform dialect tutorials (#81199)
Use the "main" transform-interpreter pass instead of the test pass.
This, along with the previously introduced debug extension, now allow
tutorials to no longer depend on test passes and extensions.
Commit: 6d1396148977ca275df243a965ac504448bf5faa
https://github.com/llvm/llvm-project/commit/6d1396148977ca275df243a965ac504448bf5faa
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M libcxx/test/configs/apple-libc++-backdeployment.cfg.in
M libcxx/test/configs/apple-libc++-shared.cfg.in
M libcxx/test/configs/armv7m-picolibc-libc++.cfg.in
M libcxx/test/configs/cmake-bridge.cfg.in
M libcxx/test/configs/ibm-libc++-shared.cfg.in
M libcxx/test/configs/llvm-libc++-android-ndk.cfg.in
M libcxx/test/configs/llvm-libc++-mingw.cfg.in
M libcxx/test/configs/llvm-libc++-shared-clangcl.cfg.in
M libcxx/test/configs/llvm-libc++-shared-gcc.cfg.in
M libcxx/test/configs/llvm-libc++-shared-no-vcruntime-clangcl.cfg.in
M libcxx/test/configs/llvm-libc++-shared.cfg.in
M libcxx/test/configs/llvm-libc++-static-clangcl.cfg.in
M libcxx/test/configs/llvm-libc++-static.cfg.in
M libcxx/test/libcxx/assertions/headers_declare_verbose_abort.gen.py
M libcxx/test/libcxx/clang_modules_include.gen.py
M libcxx/test/libcxx/clang_tidy.gen.py
M libcxx/test/libcxx/double_include.gen.py
M libcxx/test/libcxx/header_inclusions.gen.py
M libcxx/test/libcxx/headers_in_modulemap.sh.py
M libcxx/test/libcxx/libcpp_version.gen.py
M libcxx/test/libcxx/module_std.gen.py
M libcxx/test/libcxx/module_std_compat.gen.py
M libcxx/test/libcxx/no_assert_include.gen.py
M libcxx/test/libcxx/system_reserved_names.gen.py
M libcxx/test/libcxx/transitive_includes.gen.py
M libcxx/test/libcxx/vendor/apple/system-install-properties.sh.cpp
M libcxx/test/libcxx/vendor/clang-cl/static-lib-exports.sh.cpp
M libcxx/test/libcxx/vendor/mingw/static-lib-exports.sh.cpp
M libcxx/utils/libcxx/test/features.py
M libcxx/utils/libcxx/test/format.py
Log Message:
-----------
[libc++][test] Improves substitution naming (#80471)
Using the `-dir` suffix for directories makes it easier to understand.
Fixes: https://github.com/llvm/llvm-project/issues/78310
Commit: 4bf9fa5fb50497878edf8e277574ea9fb7d6bb7f
https://github.com/llvm/llvm-project/commit/4bf9fa5fb50497878edf8e277574ea9fb7d6bb7f
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M libcxx/modules/std.compat.cppm.in
M libcxx/modules/std.cppm.in
M libcxx/utils/generate_libcxx_cppm_in.py
Log Message:
-----------
[libc++][modules] Guard missing header validation on Windows. (#80478)
On Windows the libc++ test suite sees the MSVC STL headers and may
conclude these are libc++ headers when inspecting the name. Modules
guard against forgetting to export new headers. Finding MSVC STL's
headers gives false positives. Since the CI tests non-Windows platforms
too, the validation will be disabled on Windows.
Fixes: https://github.com/llvm/llvm-project/issues/79010
---------
Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>
Commit: a7520d9727d2638047e5c464b2937581f64e2ce5
https://github.com/llvm/llvm-project/commit/a7520d9727d2638047e5c464b2937581f64e2ce5
Author: Shourya Goel <shouryagoel10000 at gmail.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/TooSmallLoopVariableCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/too-small-loop-variable.rst
M clang-tools-extra/test/clang-tidy/checkers/bugprone/too-small-loop-variable.cpp
Log Message:
-----------
[Clang-tidy] bugprone-too-small-loop-variable - false-negative when const variable is used as loop bound (#81183)
Changed LibASTMatcher to give an appropriate warning
when a const loop bound is initialized with a function declaration.
Fixes: #79580
Commit: 5afbed1968588fe443a8a55053c2f1eaa321d28e
https://github.com/llvm/llvm-project/commit/5afbed1968588fe443a8a55053c2f1eaa321d28e
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M llvm/lib/ObjCopy/ELF/ELFObject.cpp
Log Message:
-----------
[llvm-objcopy] Fix the build after 7ddc32052546abd41656d2e670f3902b1bf805a7. NFCI
Commit: 1245f5f4da8f88d031c0a69388d97e8a6d7f00b5
https://github.com/llvm/llvm-project/commit/1245f5f4da8f88d031c0a69388d97e8a6d7f00b5
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/Darwin.h
A clang/test/Driver/xros-driver-requires-darwin-host.c
Log Message:
-----------
[clang][Driver] Add support for XROS_DEPLOYMENT_TARGET env var (#81011)
Commit: 94272a5a5d1549b32818805b82805e42c62ccfb4
https://github.com/llvm/llvm-project/commit/94272a5a5d1549b32818805b82805e42c62ccfb4
Author: Daniil Fukalov <1671137+dfukalov at users.noreply.github.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M openmp/runtime/src/CMakeLists.txt
Log Message:
-----------
[OpenMP] Fix libomp debug build. (#81029)
Disable libstdc++ assertions in the runtime library just like in
https://reviews.llvm.org/D143168.
Commit: c58c6aac7715d720358e317c26b6768940430ce9
https://github.com/llvm/llvm-project/commit/c58c6aac7715d720358e317c26b6768940430ce9
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaDeclCXX.cpp
A clang/test/SemaCXX/crash-GH10518.cpp
A clang/test/SemaCXX/crash-GH49103-2.cpp
A clang/test/SemaCXX/crash-GH67914.cpp
A clang/test/SemaCXX/crash-GH78388.cpp
M libcxx/test/libcxx/utilities/expected/expected.void/transform_error.mandates.verify.cpp
Log Message:
-----------
[clang][Sema] Add checks for validity of default ctor's class (#78898)
Fixes #10518
Fixes #67914
Fixes #78388
Also addresses the second example in #49103
This patch is based on suggestion from @cor3ntin in
https://github.com/llvm/llvm-project/issues/67914#issuecomment-1896011898
Commit: 9bb54b2aa006e3bf5df5eb8672075dd589fb9ba5
https://github.com/llvm/llvm-project/commit/9bb54b2aa006e3bf5df5eb8672075dd589fb9ba5
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
A clang/test/SemaCXX/warn-unused-filescoped-fmv.cpp
M clang/test/SemaCXX/warn-unused-filescoped.cpp
Log Message:
-----------
Move the new test added in 2095655f to its own file
... and set an explicit target triple.
Should fix buildbot issues like:
https://lab.llvm.org/buildbot/#/builders/245/builds/20379/steps/5/logs/FAIL__Clang__warn-unused-filescoped_cpp
Commit: 9dd8ba4429fc22063e6ce18017e7bdbd7552a927
https://github.com/llvm/llvm-project/commit/9dd8ba4429fc22063e6ce18017e7bdbd7552a927
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/struct-assign-tbaa.ll
Log Message:
-----------
[InstCombine] Add memcpy test with !tbaa.struct with multiple fields.
Add an additional test with a struct with multiple fields.
Commit: 0d72f0beabc180754eae334f22f01e48a5032bbe
https://github.com/llvm/llvm-project/commit/0d72f0beabc180754eae334f22f01e48a5032bbe
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorDropLeadUnitDim.cpp
M mlir/test/Dialect/Vector/vector-dropleadunitdim-transforms.mlir
Log Message:
-----------
[mlir][Vector] Fix "scalability" in CastAwayExtractStridedSliceLeadingOneDim (#81187)
Makes sure that "scalability" flags in the
`CastAwayExtractStridedSliceLeadingOneDim` pattern are correctly
updated.
Commit: 2884d048396abc82c8356c4e350ef968fb24a0d7
https://github.com/llvm/llvm-project/commit/2884d048396abc82c8356c4e350ef968fb24a0d7
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
A llvm/test/Transforms/SROA/tbaa-struct3.ll
Log Message:
-----------
[SROA] Add additional tests for splitting up ops with !tbaa.struct.
Commit: bb5c3899d1936ebdf7ebf5ca4347ee2e057bee7f
https://github.com/llvm/llvm-project/commit/bb5c3899d1936ebdf7ebf5ca4347ee2e057bee7f
Author: Zain Jaffal <zain at jjaffal.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
M llvm/test/Transforms/InstCombine/fdiv-sqrt.ll
Log Message:
-----------
[InstCombine] Optimise x / sqrt(y / z) with fast-math pattern. (#76737)
Replace the pattern with
x * sqrt(z/y)
---------
Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>
Commit: 301f6840522e3d924cf00ab6a04f93f1354142f5
https://github.com/llvm/llvm-project/commit/301f6840522e3d924cf00ab6a04f93f1354142f5
Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M flang/lib/Lower/OpenMP.cpp
Log Message:
-----------
[Flang][OpenMP] NFC: Refactor reduction code (#79876)
Introduces a new enumeration to list all Fortran reduction identifiers.
Moves the combiner code-generation into a separate function for possible
reuse in array context in future.
Commit: b2b3a5248540320e74347fcdaffbd148d1e9d494
https://github.com/llvm/llvm-project/commit/b2b3a5248540320e74347fcdaffbd148d1e9d494
Author: Mats Petersson <mats.petersson at arm.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M flang/lib/Semantics/canonicalize-omp.cpp
M flang/test/Semantics/OpenMP/loop-association.f90
Log Message:
-----------
Skip compiler directives between OMP PARALLEL DO and the loop (#81021)
This fixes a compilation error when code like this is presented to the
compiler:
!$OMP PARALLEL DO
!DIR$ VECTOR ALIGNED
DO 20 i=1,N
a = a + 0.5
20 CONTINUE
The directive itself is later ignored (with a warning that this is
happening), but because the compiler already errored out before that
point, it completely fails to compile this code. Other compilers accept
the code without complaints.
Commit: d86f21693c5fb8eaa597cfcb15813ffc52d00847
https://github.com/llvm/llvm-project/commit/d86f21693c5fb8eaa597cfcb15813ffc52d00847
Author: Piotr Zegar <me at piotrzegar.pl>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/avoid-return-with-void-value.rst
Log Message:
-----------
[clang-tidy][NFC] Fixes in release notes and documentation
Minor fixes in documentation & release notes.
Commit: 407f9c06ea2a4f3fc32647ba22e5b60f695ca4b3
https://github.com/llvm/llvm-project/commit/407f9c06ea2a4f3fc32647ba22e5b60f695ca4b3
Author: Paul Kirth <paulkirth at google.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M clang/test/Driver/tls-dialect.c
M llvm/include/llvm/TargetParser/Triple.h
Log Message:
-----------
[clang][driver] Set TLSDESC as the default for Android on RISC-V (#81198)
Commit: 0329c1b6d838ec983f215244549b3c5ff2d5fb51
https://github.com/llvm/llvm-project/commit/0329c1b6d838ec983f215244549b3c5ff2d5fb51
Author: Fangrui Song <i at maskray.me>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M lld/ELF/Writer.cpp
M lld/test/ELF/segments.s
Log Message:
-----------
[ELF] --no-rosegment: don't mark read-only PT_LOAD segments executable (#81223)
Once we move `.lrodata` after .bss (#78521), or if we use `SECTIONS`
commands, certain read-only sections may be in their own PT_LOAD, not in
the traditional "text segment". Current --no-rosegment code may
unnecessarily mark read-only PT_LOAD executable. Fix it.
Commit: 314ef9617e87b2cba9dd278e228ab03453500054
https://github.com/llvm/llvm-project/commit/314ef9617e87b2cba9dd278e228ab03453500054
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/test/Lower/CUDA/cuda-data-attribute.cuf
Log Message:
-----------
[flang][cuda] Lower attribute for module variables (#81226)
Propagate the CUDA attribute to fir.global operation for simple module
variables.
Commit: 2e4d2762b5f8c6b0ae02c2a9d517e009f470b8a6
https://github.com/llvm/llvm-project/commit/2e4d2762b5f8c6b0ae02c2a9d517e009f470b8a6
Author: Pranav Kant <prka at google.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/test/CodeGen/X86/GlobalISel/roundeven.ll
M llvm/test/CodeGen/X86/fp128-libcalls-strict.ll
M llvm/test/CodeGen/X86/fp128-libcalls.ll
M llvm/test/CodeGen/X86/frem.ll
Log Message:
-----------
[X86][CodeGen] Emit float128 libcalls for math functions (#79611)
Make LLVM emit libcalls to proper float128 variants for float128 types.
Commit: 647010a06f3af725a2e674f025bc0e04aa1fbbff
https://github.com/llvm/llvm-project/commit/647010a06f3af725a2e674f025bc0e04aa1fbbff
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
Log Message:
-----------
[RISCV] Remove unnecessary check for RVE from determineCalleeSaves. NFCI
The SavedRegs BitVector is checks against the CSR list later. We have
a separate CSR list for RVE that excludes X16-31 so we don't need
to filter here.
If it was needed, it would be needed for the next block of code too
which didn't have an RVE check.
Commit: 5948d4de1d965d88c8ca05cc84bd94a28fa53ba4
https://github.com/llvm/llvm-project/commit/5948d4de1d965d88c8ca05cc84bd94a28fa53ba4
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-buildvec.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-buildvec.ll
Log Message:
-----------
[RISCV] Add test coverage for buildvectors with long vslidedown sequences
In advance of an upcoming change.
Commit: 2a6b521b36fb538a49564323ecd457d7b08b1325
https://github.com/llvm/llvm-project/commit/2a6b521b36fb538a49564323ecd457d7b08b1325
Author: Yinying Li <107574043+yinying-lisa-li at users.noreply.github.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M mlir/include/mlir-c/Dialect/SparseTensor.h
M mlir/lib/Bindings/Python/DialectSparseTensor.cpp
M mlir/lib/CAPI/Dialect/SparseTensor.cpp
M mlir/lib/Dialect/SparseTensor/IR/Detail/LvlTypeParser.cpp
M mlir/lib/Dialect/SparseTensor/IR/Detail/LvlTypeParser.h
M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
M mlir/test/Dialect/SparseTensor/invalid_encoding.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_ds.mlir
M mlir/test/python/dialects/sparse_tensor/dialect.py
Log Message:
-----------
[mlir][sparse] Add more tests and verification for n:m (#81186)
1. Add python test for n out of m
2. Add more methods for python binding
3. Add verification for n:m and invalid encoding tests
4. Add e2e test for n:m
Previous PRs for n:m #80501 #79935
Commit: 07dc85ba0cc84e7034ad2a0575c644cfeab60b39
https://github.com/llvm/llvm-project/commit/07dc85ba0cc84e7034ad2a0575c644cfeab60b39
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M llvm/docs/NVPTXUsage.rst
M llvm/lib/Target/NVPTX/NVVMReflect.cpp
M llvm/test/CodeGen/NVPTX/nvvm-reflect-arch-O0.ll
Log Message:
-----------
[NVVMReflect] Improve folding inside of the NVVMReflect pass (#81253)
Summary:
The previous patch did very simple folding that only worked for driectly
used branches. This patch improves this by traversing the use-def chain
to sipmlify every constant subexpression until it reaches a terminator
we can delete. The support should work for all expected cases now.
Commit: 9d9cc3706f59499f443ce4ebaeb24f7c8417e797
https://github.com/llvm/llvm-project/commit/9d9cc3706f59499f443ce4ebaeb24f7c8417e797
Author: Björn Schäpers <bjoern at hazardy.de>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M clang/docs/ClangFormatStyleOptions.rst
M clang/include/clang/Tooling/Inclusions/IncludeStyle.h
Log Message:
-----------
[clang-format][docs] Fix version (#81185)
#78752 was not merged in time for clang-format 18.
Commit: 7ad7db0d9960859de10d23fa84aa581c154d152c
https://github.com/llvm/llvm-project/commit/7ad7db0d9960859de10d23fa84aa581c154d152c
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/push-pop-opt-crash.ll
Log Message:
-----------
[RISCV] Fix typo in ABI name in test. NFC
ilp64->lp64.
Commit: 81c4bf946a377b1dc90c02ff3ff8240e78db0edb
https://github.com/llvm/llvm-project/commit/81c4bf946a377b1dc90c02ff3ff8240e78db0edb
Author: Fangrui Song <i at maskray.me>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M lld/test/ELF/riscv-section-layout.s
M lld/test/ELF/x86-64-section-layout.s
Log Message:
-----------
[ELF] Improve _etext/_edata tests
Commit: bb180856ec28efe305dc77ca4bb3db12d8932edf
https://github.com/llvm/llvm-project/commit/bb180856ec28efe305dc77ca4bb3db12d8932edf
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M llvm/test/CodeGen/NVPTX/intrinsics.ll
Log Message:
-----------
[NVPTX][Fix] Update minimum CPU for NVPTX intrinsics test
Summary:
This test requires at least sm_30 to run, but that is still below the
minimum supported version of sm_52 currently. Just set this to sm_60 so
the tests pass in the future.
Commit: 5f26b902d59b98ffa450f7bae508b330d0184d0d
https://github.com/llvm/llvm-project/commit/5f26b902d59b98ffa450f7bae508b330d0184d0d
Author: Fangrui Song <i at maskray.me>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M lld/ELF/Writer.cpp
Log Message:
-----------
[ELF] Apply forgotten change to #81223
Commit: 3c707310a3e0233c1bc364a408e6fb43e56e1b78
https://github.com/llvm/llvm-project/commit/3c707310a3e0233c1bc364a408e6fb43e56e1b78
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M clang/include/clang/Basic/BuiltinsNVPTX.def
M clang/test/CodeGen/builtins-nvptx.c
A clang/test/CodeGenOpenCL/reflect.cl
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/test/CodeGen/NVPTX/nvvm-reflect-opaque.ll
M llvm/test/CodeGen/NVPTX/nvvm-reflect.ll
Log Message:
-----------
[NVPTX] Add clang builtin for `__nvvm_reflect` intrinsic (#81277)
Summary:
Some recent support made usage of `__nvvm_reflect` more consistent. We
should expose it as a builtin rather than forcing users to externally
define the function.
Commit: 2cbe5a33a5fda257747d75863bd9ccb8920b9249
https://github.com/llvm/llvm-project/commit/2cbe5a33a5fda257747d75863bd9ccb8920b9249
Author: Maksim Panchenko <maks at fb.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M llvm/lib/ObjCopy/ELF/ELFObject.cpp
Log Message:
-----------
[llvm-objcopy] Fix the build again after 7ddc320
Commit: 228e9d5bcfcb6411d2a257b560464323d0248c35
https://github.com/llvm/llvm-project/commit/228e9d5bcfcb6411d2a257b560464323d0248c35
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
Log Message:
-----------
[clang] Document the type_visibility attribute (#79157)
I was looking for the documentation of that attribute, and the best I
could find was a Stackoverflow answer or the commit message that
originally introduced the attribute. I figured I might as well document
what I find to save everyone time in the future.
Commit: bd65547805a4b02be8f8c9e7acf1df850164da53
https://github.com/llvm/llvm-project/commit/bd65547805a4b02be8f8c9e7acf1df850164da53
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M .github/workflows/issue-release-workflow.yml
M llvm/utils/git/github-automation.py
Log Message:
-----------
[workflows] Create a more descriptive title and body when creating a PR for backports (#80396)
When a backport request is made, the resulting pull request will have a
title like this:
<release branch>: <First line of HEAD commit for the branch>
And a body that says:
Backport <commit0> <commit1> ..
Requested By: <user>
Commit: 967374123bd6eee23db9a57fcac7324e420648c5
https://github.com/llvm/llvm-project/commit/967374123bd6eee23db9a57fcac7324e420648c5
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M libc/cmake/modules/LLVMLibCObjectRules.cmake
Log Message:
-----------
[libc] Bump up minimum PTX version to 6.3
Summary:
I neglected the fact that `activemask` is a 6.2 or 6.3 feature, so
building this on older machines is incorrect. Bump this up to 6.3 for
now so it works. In the future we will try to get rid of the N
architecture business.
Commit: 7fd1466433a05f4e2e183914a8bd7c372bb0b8a7
https://github.com/llvm/llvm-project/commit/7fd1466433a05f4e2e183914a8bd7c372bb0b8a7
Author: Richard Dzenis <dzenis at richard.lv>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M mlir/include/mlir/Interfaces/CallInterfaces.td
Log Message:
-----------
[mlir] Fix CallOpInterface extraClassDeclaration to be fully namespace qualified (#81258)
`extraClassDeclaration` of `CallOpInterface` can be inherited by other
`OpInterfaces` into foreign namespaces, thus types must be fully
qualified to prevent compiler errors, for example:
def MyCaller : OpInterface<"MyCaller", [CallOpInterface]> {
let cppNamespace = "::MyNamespace";
}
Commit: 1d0f86ba80543931d467d6ce3f2ad8cdde514710
https://github.com/llvm/llvm-project/commit/1d0f86ba80543931d467d6ce3f2ad8cdde514710
Author: Fangrui Song <i at maskray.me>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M clang/lib/AST/Decl.cpp
A clang/test/SemaCXX/attr-target-mv-warn-unused.cpp
Log Message:
-----------
[Sema] Warn unused functions for FMV based on the target attribute (#81302)
The spurious -Wunused-function warning issue for `target_version` #80227
also applied to `__attribute__((target(...)))` based FMV. #81167 removed
warnings for all `target`-based FMV. This patch restores the warnings
for `__attribute__((target("default")))`.
Commit: c7a0db1e20251f436e3d500eac03bd9be1d88b45
https://github.com/llvm/llvm-project/commit/c7a0db1e20251f436e3d500eac03bd9be1d88b45
Author: yozhu <101743168+yozhu at users.noreply.github.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
A llvm/test/Transforms/LowerTypeTests/cfi-annotation.ll
Log Message:
-----------
[CFI][annotation] Leave alone function pointers in function annotations (#80173)
Function annotation, as part of llvm.metadata, is for the function
itself and doesn't apply to its corresponding jump table entry, so with
CFI we shouldn't replace function pointer in function annotation with
pointer to its corresponding jump table entry.
Commit: 7ff488708c0caa1b31af7ad677b9b321209f6738
https://github.com/llvm/llvm-project/commit/7ff488708c0caa1b31af7ad677b9b321209f6738
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M flang/include/flang/Lower/ConvertVariable.h
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/Builder/HLFIRTools.h
M flang/include/flang/Optimizer/Dialect/FIRAttr.td
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
M flang/include/flang/Optimizer/Support/Utils.h
M flang/lib/Lower/CallInterface.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/Dialect/FIRAttr.cpp
M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
M flang/unittests/Optimizer/FortranVariableTest.cpp
Log Message:
-----------
[flang][cuda][NFC] Rename CUDAAttribute to CUDADataAttribute (#81323)
The newly introduced `CUDAAttribute` is meant for CUDA attributes
associated with variable. In order to not clash with the future
attribute for function/subroutine, rename `CUDAAttribute` to
`CUDADataAttribute`.
Commit: 0b77b19292457b9f2020e290980f1803a16eea34
https://github.com/llvm/llvm-project/commit/0b77b19292457b9f2020e290980f1803a16eea34
Author: choikwa <5455710+choikwa at users.noreply.github.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
A llvm/test/CodeGen/AMDGPU/uniform-select.ll
Log Message:
-----------
[AMDGPU] Add test to show s_cselect generation from uniform select (#79384)
Commit: 01706e767777aeac9d5a22617d522826b64fce3e
https://github.com/llvm/llvm-project/commit/01706e767777aeac9d5a22617d522826b64fce3e
Author: Derek Schuff <dschuff at chromium.org>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M llvm/include/llvm/Object/Wasm.h
M llvm/lib/Object/WasmObjectFile.cpp
M llvm/test/MC/WebAssembly/alias-offset.s
M llvm/test/MC/WebAssembly/alias.s
M llvm/test/Object/wasm-linked-namesec-with-linkingsec.yaml
M llvm/test/Object/wasm-linked-symbol-table.yaml
M llvm/test/tools/llvm-nm/wasm/linked.yaml
M llvm/test/tools/llvm-nm/wasm/print-size.test
M llvm/test/tools/llvm-objdump/wasm/dylink-symbol-table.yaml
M llvm/test/tools/llvm-objdump/wasm/linked-symbol-table-namesec.yaml
M llvm/test/tools/llvm-objdump/wasm/symbol-table.test
M llvm/tools/llvm-nm/llvm-nm.cpp
M llvm/tools/llvm-objdump/llvm-objdump.cpp
Log Message:
-----------
[llvm-nm][WebAssembly] Print function symbol sizes (#81315)
nm already prints sizes for data symbols. Do that for function symbols
too, and update objdump to also print size information.
Implements item 3 from https://github.com/llvm/llvm-project/issues/76107
Commit: 9397d23671f26ab8631e90f688ae2ea212f3c770
https://github.com/llvm/llvm-project/commit/9397d23671f26ab8631e90f688ae2ea212f3c770
Author: Fangrui Song <i at maskray.me>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
Log Message:
-----------
[docs] --save-temps=: add single quotes after #80921 and update --save-temps
Commit: 0267f9800ea23921120faa4b1d46ac5806e5eca1
https://github.com/llvm/llvm-project/commit/0267f9800ea23921120faa4b1d46ac5806e5eca1
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
A .github/workflows/llvm-project-workflow-tests.yml
Log Message:
-----------
[workflows] Add a new workflow for testing release branch CI (#81073)
Since we commit all changes to the release branch CI to main first, we
need someway to test that these changes to main don't break the CI.
Commit: fbba818a78f591d89f25768ba31783714d526532
https://github.com/llvm/llvm-project/commit/fbba818a78f591d89f25768ba31783714d526532
Author: Philipp Tomsich <philipp.tomsich at vrull.eu>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M clang/test/Driver/aarch64-cssc.c
M clang/test/Misc/target-invalid-cpu-note.c
M llvm/include/llvm/TargetParser/AArch64TargetParser.h
M llvm/lib/Target/AArch64/AArch64.td
M llvm/lib/Target/AArch64/AArch64Subtarget.cpp
M llvm/lib/Target/AArch64/AArch64Subtarget.h
M llvm/lib/TargetParser/Host.cpp
M llvm/test/CodeGen/AArch64/cpus.ll
M llvm/test/CodeGen/AArch64/neon-dot-product.ll
M llvm/test/CodeGen/AArch64/remat.ll
M llvm/test/MC/AArch64/armv8.2a-dotprod.s
M llvm/test/MC/Disassembler/AArch64/armv8.3a-rcpc.txt
M llvm/unittests/TargetParser/Host.cpp
M llvm/unittests/TargetParser/TargetParserTest.cpp
Log Message:
-----------
[AArch64] Add the Ampere1B core (#81297)
The Ampere1B is Ampere's third-generation core implementing a
superscalar, out-of-order microarchitecture with nested virtualization,
speculative side-channel mitigation and architectural support for
defense against ROP/JOP style software attacks.
Ampere1B is an ARMv8.7+ implementation, adding support for the FEAT
WFxT, FEAT CSSC, FEAT PAN3 and FEAT AFP extensions. It also includes all
features of the second-generation Ampere1A, such as the Memory Tagging
Extension and SM3/SM4 cryptography instructions.
Commit: 7b2eff6306c1a20f69f16bc485dbc229c8ada40d
https://github.com/llvm/llvm-project/commit/7b2eff6306c1a20f69f16bc485dbc229c8ada40d
Author: Philipp Tomsich <philipp.tomsich at vrull.eu>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64.td
Log Message:
-----------
[AArch64] Add FeatureFuseAddSub2RegAndConstOne for Ampere1A (#81295)
Ampere1A introduced the Fusion for A+B+1/A-B-1.
However, the Feature flag to enable that fusion-case never was added to
TuneAmpere1A. This commit corrects that omission.
Commit: ff2e8788d277cbb8c47fa2a8ea87dec7e06307aa
https://github.com/llvm/llvm-project/commit/ff2e8788d277cbb8c47fa2a8ea87dec7e06307aa
Author: Philipp Tomsich <philipp.tomsich at vrull.eu>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64.td
Log Message:
-----------
[AArch64] Add FeatureFuseAdrpAdd for Ampere1/1A (#81293)
Both Ampere1 and Ampere1A support fusion of ADRP+ADD.
This adds the missing feature to enable fusion-aware scheduling for this
case.
Commit: 4f0ee665b58f3f70cd7e8edad6704b2b053b7ea9
https://github.com/llvm/llvm-project/commit/4f0ee665b58f3f70cd7e8edad6704b2b053b7ea9
Author: Philipp Tomsich <philipp.tomsich at vrull.eu>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64.td
Log Message:
-----------
[AArch64] [NFC] Remove duplicate FeatureFuseLiterals from Ampere1A (#81292)
Commit: 014401158bbbc6899144905c1eb9e44fac86867e
https://github.com/llvm/llvm-project/commit/014401158bbbc6899144905c1eb9e44fac86867e
Author: Philipp Tomsich <philipp.tomsich at vrull.eu>
Date: 2024-02-10 (Sat, 10 Feb 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64.td
A llvm/lib/Target/AArch64/AArch64SchedAmpere1B.td
Log Message:
-----------
[AArch64] Add Ampere1B scheduling/pipeline model (#81338)
The Ampere1B core is enabled with a new scheduling/pipeline model, as it
provides significant updates over the Ampere1 core; it reduces latencies
on many instructions, has some micro-ops reassigned between the XY and X
units, and provides modelling for the instructions added since Ampere1
and Ampere1A.
Commit: 78145a6bd0023ff1c218dda59b192345d773ebe5
https://github.com/llvm/llvm-project/commit/78145a6bd0023ff1c218dda59b192345d773ebe5
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIRAttr.td
M flang/include/flang/Optimizer/Support/Utils.h
M flang/lib/Lower/CallInterface.cpp
M flang/lib/Optimizer/Dialect/FIRAttr.cpp
A flang/test/Lower/CUDA/cuda-proc-attribute.cuf
Log Message:
-----------
[flang][cuda] Lower attribute for procedure (#81336)
This PR adds a new attribute to represent the CUDA attribute attached to
procedure. This attribute is attached to the func.func operation during
lowering.
Other procedures information such as `launch_bounds` and `cluster_dims`
will be added separately.
Commit: 8509f75d618a41b946391a73cdbfee53565fbf85
https://github.com/llvm/llvm-project/commit/8509f75d618a41b946391a73cdbfee53565fbf85
Author: Philipp Tomsich <philipp.tomsich at vrull.eu>
Date: 2024-02-10 (Sat, 10 Feb 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64.td
R llvm/lib/Target/AArch64/AArch64SchedAmpere1B.td
Log Message:
-----------
Revert "[AArch64] Add Ampere1B scheduling/pipeline model (#81338)"
This reverts commit 014401158bbbc6899144905c1eb9e44fac86867e.
Commit: 8f23464a5d957242c89ca6f33d4379c42519cd81
https://github.com/llvm/llvm-project/commit/8f23464a5d957242c89ca6f33d4379c42519cd81
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-02-10 (Sat, 10 Feb 2024)
Changed paths:
M llvm/include/llvm/BinaryFormat/COFF.h
M llvm/include/llvm/Object/COFFImportFile.h
M llvm/lib/Object/COFFImportFile.cpp
M llvm/lib/Object/COFFModuleDefinition.cpp
A llvm/test/tools/llvm-lib/exportas.test
M llvm/tools/llvm-readobj/COFFImportDumper.cpp
Log Message:
-----------
[llvm-lib][llvm-dlltool][Object] Add support for EXPORTAS name types. (#78772)
EXPORTAS is a new name type in import libraries. It's used by default on ARM64EC,
but it's allowed on other platforms as well.
Commit: 224145ee882e32aaa1fae9ae88698cf1b07b22e4
https://github.com/llvm/llvm-project/commit/224145ee882e32aaa1fae9ae88698cf1b07b22e4
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
Log Message:
-----------
[DWARFDump][nfc] Fix incorrect comment (#81276)
It claimed to dump all sections by default, but this hasn't been true
since 2017: https://reviews.llvm.org/D37717
Commit: 3a3302ef7b48f7907d0fb62b380d9d515a5f35e4
https://github.com/llvm/llvm-project/commit/3a3302ef7b48f7907d0fb62b380d9d515a5f35e4
Author: Fangrui Song <i at maskray.me>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M flang/test/Driver/driver-help-hidden.f90
M flang/test/Driver/driver-help.f90
Log Message:
-----------
[flang][test] Update driver-help*.f90 after 9397d23671f26ab8631e90f688ae2ea212f3c770
Commit: eb1b428750181ea742c547db0bc7136cd5b8f732
https://github.com/llvm/llvm-project/commit/eb1b428750181ea742c547db0bc7136cd5b8f732
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64.td
Log Message:
-----------
[llvm][aarch64] Apple A16 & A17 had adrp-add fusion, but A14 did not (#81325)
Commit: b7cc401df5ac714f5de0cbc64e6c7083d2c1d712
https://github.com/llvm/llvm-project/commit/b7cc401df5ac714f5de0cbc64e6c7083d2c1d712
Author: Enna1 <xumingjie.enna1 at bytedance.com>
Date: 2024-02-10 (Sat, 10 Feb 2024)
Changed paths:
M compiler-rt/lib/hwasan/hwasan_report.cpp
Log Message:
-----------
[hwasan] Call user provided callback function for both fatal and non-… (#80429)
…fatal error report
This makes the behavior of HWASan matching with ASan: always call user
provided callback function for an error report, but only call
`SetAbortMessage()` on Android when `flags()->halt_on_error` is true.
Commit: c344953ae78b0e9545b7374a2bea35abaee18c38
https://github.com/llvm/llvm-project/commit/c344953ae78b0e9545b7374a2bea35abaee18c38
Author: Derek Schuff <dschuff at chromium.org>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M llvm/tools/llvm-objdump/llvm-objdump.cpp
Log Message:
-----------
Fix 01706e7 on 32-bit platforms
Make the type match the printf format.
Commit: cc02e50e77419475fa958b2626600a48f8208098
https://github.com/llvm/llvm-project/commit/cc02e50e77419475fa958b2626600a48f8208098
Author: Pete Steinfeld <47540744+psteinfeld at users.noreply.github.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M flang/lib/Semantics/resolve-names.cpp
Log Message:
-----------
Revert "[Flang] Update the fix of PR 80738 to cover generic interface… (#81321)
… inside modules (#81087)"
This reverts commit 0802596df3d1ffd15f6b828a0f5c1e5b687a730f.
See comments in PR #81087 for a test case that shows why I'm reverting.
Commit: 637c37025d2a9747d440034fff7b4d549dead6f3
https://github.com/llvm/llvm-project/commit/637c37025d2a9747d440034fff7b4d549dead6f3
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/math/index.rst
M libc/spec/stdc.td
M libc/src/math/CMakeLists.txt
A libc/src/math/frexpf128.h
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/frexpf128.cpp
M libc/test/src/math/smoke/CMakeLists.txt
M libc/test/src/math/smoke/FrexpTest.h
M libc/test/src/math/smoke/frexp_test.cpp
A libc/test/src/math/smoke/frexpf128_test.cpp
M libc/test/src/math/smoke/frexpf_test.cpp
M libc/test/src/math/smoke/frexpl_test.cpp
Log Message:
-----------
[libc][math] Add C23 math function frexpf128. (#81337)
Commit: c5cbfc5689a26651634e1990b430e917d1ae85da
https://github.com/llvm/llvm-project/commit/c5cbfc5689a26651634e1990b430e917d1ae85da
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M clang/docs/ClangFormatStyleOptions.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/tools/dump_format_style.py
M clang/include/clang/Format/Format.h
M clang/lib/Format/Format.cpp
M clang/unittests/Format/ConfigParseTest.cpp
Log Message:
-----------
[clang-format] Rename option AlwaysBreakTemplateDeclarations (#81093)
Drop the "Always" prefix to remove the self-contradiction.
Commit: 7664ddf8811242295abb837640cad8dd8cefb5e8
https://github.com/llvm/llvm-project/commit/7664ddf8811242295abb837640cad8dd8cefb5e8
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M clang/include/clang/Format/Format.h
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/Format.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format][NFC] Drop "Always" in "AlwaysBreakTemplateDeclarations"
Commit: e165bea1d4ec2de96ee0548cece79d71a75ce8f8
https://github.com/llvm/llvm-project/commit/e165bea1d4ec2de96ee0548cece79d71a75ce8f8
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M lld/test/COFF/lto-cache-errors.ll
M lld/test/COFF/thinlto-emit-imports.ll
M lld/test/ELF/lto/resolution-err.ll
M lld/test/ELF/lto/thinlto-cant-write-index.ll
M lld/test/ELF/lto/thinlto-emit-imports.ll
M lld/test/MachO/invalid/invalid-lto-object-path.ll
M lld/test/MachO/thinlto-emit-imports.ll
Log Message:
-----------
[lld] Fix test failures when running as root user (#81339)
This makes it easier to run the tests in a containerized environment.
Commit: 7192c22ee43500b1a6313d1ade38e002463944a6
https://github.com/llvm/llvm-project/commit/7192c22ee43500b1a6313d1ade38e002463944a6
Author: Mikhail Gudim <mgudim at gmail.com>
Date: 2024-02-10 (Sat, 10 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.h
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-bitreverse-rv64.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-const-rv64.mir
Log Message:
-----------
[GlobalISel][RISCV] Use constant pool for large integer constants. (#81101)
We apply custom lowering to 64 bit constants where we use the same logic
as in non-global isel: if materializing in registers is too expensive,
we emit a load from constant pool. Later, during instruction selection,
constant pool address is generated using `selectAddr`.
Commit: c08b90c50bcac9f3f563c79491c8dbcbe7c3b574
https://github.com/llvm/llvm-project/commit/c08b90c50bcac9f3f563c79491c8dbcbe7c3b574
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/test/CodeGen/RISCV/callee-saved-gprs.ll
M llvm/test/CodeGen/RISCV/calling-conv-ilp32e.ll
M llvm/test/CodeGen/RISCV/rv64-legal-i32/vararg.ll
M llvm/test/CodeGen/RISCV/vararg.ll
Log Message:
-----------
[RISCV] Lower the TransientStackAlignment to the ABI alignment for rv32e/rv64e.
I don't think the transient alignment needs to be larger than the
ABI alignment.
Commit: 2a4a2558f1533a91519fcc4e7abf04f845f067bd
https://github.com/llvm/llvm-project/commit/2a4a2558f1533a91519fcc4e7abf04f845f067bd
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-02-10 (Sat, 10 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
Log Message:
-----------
Fix -Wunused-variable warning in Release build.
Commit: 9308d6688c673606fee1625d777a52539ae72015
https://github.com/llvm/llvm-project/commit/9308d6688c673606fee1625d777a52539ae72015
Author: David Green <david.green at arm.com>
Date: 2024-02-10 (Sat, 10 Feb 2024)
Changed paths:
M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
M flang/test/HLFIR/maxloc-elemental.fir
M flang/test/HLFIR/minloc-elemental.fir
Log Message:
-----------
[Flang] Correct initial limit value in float min/maxloc reductions. (#81260)
I was looking through to check whether Nan was being handled correctly,
and couldn't work out why simple cases were behaving differently than
they should. It turns out the initial limit values was backwards for
minloc/maxloc reductions in general. This fixes that, introduced in
#79469.
Commit: d26b43ff4f7396f79de4b099160262c750d6aba7
https://github.com/llvm/llvm-project/commit/d26b43ff4f7396f79de4b099160262c750d6aba7
Author: Alexander Shaposhnikov <6532716+alexander-shaposhnikov at users.noreply.github.com>
Date: 2024-02-10 (Sat, 10 Feb 2024)
Changed paths:
A llvm/include/llvm/Transforms/Scalar/JumpTableToSwitch.h
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Transforms/Scalar/CMakeLists.txt
A llvm/lib/Transforms/Scalar/JumpTableToSwitch.cpp
M llvm/test/Other/new-pm-defaults.ll
A llvm/test/Transforms/JumpTableToSwitch/basic.ll
A llvm/test/Transforms/JumpTableToSwitch/max_function_size.ll
A llvm/test/Transforms/JumpTableToSwitch/remarks.ll
A llvm/test/Transforms/JumpTableToSwitch/skip.ll
A llvm/test/Transforms/JumpTableToSwitch/stride.ll
A llvm/test/Transforms/JumpTableToSwitch/struct.ll
Log Message:
-----------
Add JumpTableToSwitch pass (#77709)
Add a pass to convert jump tables to switches.
The new pass replaces an indirect call with a switch + direct calls if all the functions in the jump table are smaller than the provided threshold.
The pass is currently disabled by default and can be enabled by -enable-jump-table-to-switch.
Test plan: ninja check-all
Commit: fd140d4283652ff7a906f4ebaaa75c8fcf00d39b
https://github.com/llvm/llvm-project/commit/fd140d4283652ff7a906f4ebaaa75c8fcf00d39b
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-02-10 (Sat, 10 Feb 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Transforms/Scalar/BUILD.gn
Log Message:
-----------
[gn build] Port d26b43ff4f73
Commit: f022aaf4e722eae9d0feaf7715a5d8960f4d017b
https://github.com/llvm/llvm-project/commit/f022aaf4e722eae9d0feaf7715a5d8960f4d017b
Author: Martin Storsjö <martin at martin.st>
Date: 2024-02-10 (Sat, 10 Feb 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
M llvm/test/Transforms/InstCombine/fdiv-sqrt.ll
Log Message:
-----------
Revert "[InstCombine] Optimise x / sqrt(y / z) with fast-math pattern. (#76737)"
This reverts commit bb5c3899d1936ebdf7ebf5ca4347ee2e057bee7f.
That commit caused failed asserts like this:
$ cat repro.c
float a, b;
double sqrt();
void c() { b = a / sqrt(a); }
$ clang -target x86_64-linux-gnu -c -O2 -ffast-math repro.c
clang: ../lib/IR/Instruction.cpp:522: bool llvm::Instruction::hasAllowReassoc() const: Assertion `isa<FPMathOperator>(this) && "getting fast-math flag on invalid op"' failed.
Commit: 8884ba43a8485bebef5c4d41e7ed457e3fa84f07
https://github.com/llvm/llvm-project/commit/8884ba43a8485bebef5c4d41e7ed457e3fa84f07
Author: David CARLIER <devnexen at gmail.com>
Date: 2024-02-10 (Sat, 10 Feb 2024)
Changed paths:
M lldb/source/Plugins/Process/FreeBSDKernel/ProcessFreeBSDKernel.cpp
Log Message:
-----------
[lldb] Fix FreeBSD build. (#81353)
Commit: 33c6b77d2a18862fb5b16160ef9d600382e93f19
https://github.com/llvm/llvm-project/commit/33c6b77d2a18862fb5b16160ef9d600382e93f19
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-02-10 (Sat, 10 Feb 2024)
Changed paths:
M llvm/include/llvm/Object/COFF.h
M llvm/include/llvm/Object/COFFImportFile.h
M llvm/lib/Object/COFFImportFile.cpp
M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
M llvm/lib/Target/AArch64/AArch64MCInstLower.cpp
M llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h
M llvm/test/tools/llvm-lib/arm64ec-implib.test
Log Message:
-----------
[llvm-lib][Object] Add support for EC importlib symbols. (#81059)
ARM64EC import libraries expose two additional symbols: mangled thunk
symbol (like `#func`) and auxiliary import symbol (like`__imp_aux_func`).
The main functional change with this patch is that those symbols are
properly added to static library ECSYMBOLS.
Commit: 7d9540ea96ecb1e83f19cc68a202e8fa697c513d
https://github.com/llvm/llvm-project/commit/7d9540ea96ecb1e83f19cc68a202e8fa697c513d
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-02-10 (Sat, 10 Feb 2024)
Changed paths:
M libcxx/docs/Status/Cxx20Issues.csv
M libcxx/include/__chrono/duration.h
M libcxx/include/chrono
M libcxx/test/std/time/rep.h
M libcxx/test/std/time/time.duration/time.duration.nonmember/op_divide_duration.pass.cpp
M libcxx/test/std/time/time.duration/time.duration.nonmember/op_mod_duration.pass.cpp
M libcxx/test/std/time/time.duration/time.duration.nonmember/op_times_rep.pass.cpp
Log Message:
-----------
[libc++][chrono] Implements duration Rep constraints. (#80539)
Applies LWG3050 to the constraints of operator*, operator/, and
operator%. The changes to the constructor were done in
https://reviews.llvm.org/D118902, but that patch did not identify the
related LWG-issue, and only adjusted the constructor to the wording in
the Standard.
Implements:
- LWG 3050: Conversion specification problem in chrono::duration
constructor
---------
Co-authored-by: h-vetinari <h.vetinari at gmx.com>
Commit: 9981f5a72e998e5334852695164731b01bf0307b
https://github.com/llvm/llvm-project/commit/9981f5a72e998e5334852695164731b01bf0307b
Author: David Green <david.green at arm.com>
Date: 2024-02-10 (Sat, 10 Feb 2024)
Changed paths:
M llvm/test/Analysis/BasicAA/vscale.ll
Log Message:
-----------
[BasicAA] Add extra onevscale test for multiple dependent geps that lose the NSW flag. NFC
Commit: 59037c0975de51ae29a5f9bd4260131ba3b7c22a
https://github.com/llvm/llvm-project/commit/59037c0975de51ae29a5f9bd4260131ba3b7c22a
Author: Yeting Kuo <46629943+yetingk at users.noreply.github.com>
Date: 2024-02-10 (Sat, 10 Feb 2024)
Changed paths:
M clang/docs/ShadowCallStack.rst
M clang/include/clang/Driver/Options.td
M clang/test/Driver/riscv-features.c
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/test/CodeGen/RISCV/shadowcallstack.ll
Log Message:
-----------
[RISCV] Add Zicfiss support to the shadow call stack implementation. (#68075)
This patch enable hardware shadow stack with `Zicifss` and
`mno-forced-sw-shadow-stack`. New feature forced-sw-shadow-stack
disables hardware shadow stack even when `Zicfiss` enabled.
Commit: 30cd1838dc334775f7a29f57b581f2bdda3f0ea1
https://github.com/llvm/llvm-project/commit/30cd1838dc334775f7a29f57b581f2bdda3f0ea1
Author: Po-yao Chang <poyaoc97 at gmail.com>
Date: 2024-02-10 (Sat, 10 Feb 2024)
Changed paths:
M libcxx/modules/std/ostream.inc
Log Message:
-----------
[libc++][modules] Fix disabling Unicode (#81294)
-DLIBCXX_ENABLE_UNICODE=OFF or -D_LIBCPP_HAS_NO_UNICODE doesn't build
without this change.
Commit: f66f44eb0c194f6bd0b6387d778624b303b6edc1
https://github.com/llvm/llvm-project/commit/f66f44eb0c194f6bd0b6387d778624b303b6edc1
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-02-10 (Sat, 10 Feb 2024)
Changed paths:
M libcxx/modules/std.compat.cppm.in
M libcxx/modules/std.cppm.in
M libcxx/utils/generate_libcxx_cppm_in.py
Log Message:
-----------
[libc++][modules] Regenerates files.
After applying the review comments of
https://github.com/llvm/llvm-project/pull/80478
I've forgotten to update the generated files. This fixes the issue and
removes trailing whitespace.
Commit: a4ac099487d057dde8151700b3802eaeb69cead2
https://github.com/llvm/llvm-project/commit/a4ac099487d057dde8151700b3802eaeb69cead2
Author: Daniel Chen <cdchen at ca.ibm.com>
Date: 2024-02-10 (Sat, 10 Feb 2024)
Changed paths:
M flang/lib/Lower/ConvertCall.cpp
Log Message:
-----------
[Flang] Support passing a function that returns procedure pointer as actual corresponding to a procedure dummy. (#80891)
Flang crashes with the following case. The problem is we missed the case
when passing a reference to a function that returns a procedure pointer
as actual that corresponds to a procedure dummy. This PR is to fix that.
```
PROGRAM main
IMPLICIT NONE
INTERFACE
FUNCTION IntF(Arg)
integer :: Arg, IntF
END FUNCTION
END INTERFACE
INTERFACE
FUNCTION RetPtr(Arg)
IMPORT
PROCEDURE(IntF) :: Arg
PROCEDURE(IntF), POINTER :: RetPtr
END FUNCTION
END INTERFACE
CALL ModSub(RetPtr(IntF))
contains
SUBROUTINE ModSub(Fun1)
PROCEDURE(IntF) :: Fun1
END SUBROUTINE
END
```
Commit: 4fb7b3301bfbd439eb3d30d6a36c7cdb26941a0d
https://github.com/llvm/llvm-project/commit/4fb7b3301bfbd439eb3d30d6a36c7cdb26941a0d
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-02-10 (Sat, 10 Feb 2024)
Changed paths:
M libcxx/include/print
M libcxx/lib/abi/CHANGELOG.TXT
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/print.cpp
Log Message:
-----------
[libc++][print] Moves is_terminal to the dylib. (#80464)
Having the test in the header requires including unistd.h on POSIX
platforms. This header has other declarations which may conflict with
code that uses named declarations provided by this header. For example
code using "int pipe;" would conflict with the function pipe in this
header.
Moving the code to the dylib means std::print would not be available on
Apple backdeployment targets. On POSIX platforms there is no transcoding
required so a not Standard conforming implementation is still a useful
and the observable differences are minimal. This behaviour has been done
for print before https://github.com/llvm/llvm-project/pull/76293.
Note questions have been raised in LWG4044 "Confusing requirements for
std::print on POSIX platforms", whether or not the isatty check on POSIX
platforms is required. When this LWG issue is resolved the
backdeployment targets could become Standard compliant.
This patch is intended to be backported to the LLVM-18 branch.
Fixes: https://github.com/llvm/llvm-project/issues/79782
Commit: b4c6ab600f2ef6f3a842afee569dcf86bce7a43a
https://github.com/llvm/llvm-project/commit/b4c6ab600f2ef6f3a842afee569dcf86bce7a43a
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-10 (Sat, 10 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
Log Message:
-----------
[clang][Interp][NFC] Don't use visitLocalInitializer in visitExpr
We were unnecessarily getting the pointer of the local variable twice.
Commit: d2e4a725da5b4cbef8b5c1446f29fed1487aeab0
https://github.com/llvm/llvm-project/commit/d2e4a725da5b4cbef8b5c1446f29fed1487aeab0
Author: Frederic Cambus <fred at statdns.com>
Date: 2024-02-10 (Sat, 10 Feb 2024)
Changed paths:
M clang/tools/scan-build/man/scan-build.1
Log Message:
-----------
[clang] Update Clang version from 18 to 19 in scan-build.1.
Similar to D110763.
Commit: dce77a357948709e335910ddc07f9c3f2eb2ac4b
https://github.com/llvm/llvm-project/commit/dce77a357948709e335910ddc07f9c3f2eb2ac4b
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-02-10 (Sat, 10 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyIndVar.cpp
M llvm/test/Transforms/IndVarSimplify/X86/pr27133.ll
M llvm/test/Transforms/IndVarSimplify/lftr-reuse.ll
M llvm/test/Transforms/IndVarSimplify/pr30806-phi-scev.ll
M llvm/test/Transforms/IndVarSimplify/preserve-nsw-during-expansion.ll
M llvm/test/Transforms/IndVarSimplify/widen-i32-i8ptr.ll
M llvm/test/Transforms/LoopFlatten/widen-iv.ll
M llvm/test/Transforms/LoopFlatten/widen-iv2.ll
M llvm/test/Transforms/LoopFlatten/widen-iv3.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/indvars-vectorization.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/loopflatten.ll
Log Message:
-----------
[IndVars] Preserve flags of narrow IV inc if replacing with wider inc. (#80446)
We are replacing a narrow IV increment with a wider one. If the original
(narrow) increment did not wrap, the wider one should not wrap either.
Set the flags to be the union of both wide increment and original
increment; this ensures we preserve flags SCEV could infer for the wider
increment.
Fixes https://github.com/llvm/llvm-project/issues/71517.
Commit: ba451c80ba67ab6834305f35d47e36b6b446ce83
https://github.com/llvm/llvm-project/commit/ba451c80ba67ab6834305f35d47e36b6b446ce83
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-10 (Sat, 10 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/EvalEmitter.cpp
Log Message:
-----------
[clang][Interp][NFC] Only set result invalid if empty
This is currently NFC but required for later changes. A Ret op
might fail and set the result to invalid, causing another setInvalid()
call, which asserts that the result is still empty.
Commit: bc034baaff1f6ce4e18b68c20df3be45bfb5104f
https://github.com/llvm/llvm-project/commit/bc034baaff1f6ce4e18b68c20df3be45bfb5104f
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-10 (Sat, 10 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/Interp.h
A clang/test/AST/Interp/complex.c
Log Message:
-----------
[clang][Interp] Protect InitPtr from non-initializable pointers
This can happen when an initializer returns a dummy pointer.
Commit: 0a255fcf4a90f9e864ae9321b28e4956f7c865fb
https://github.com/llvm/llvm-project/commit/0a255fcf4a90f9e864ae9321b28e4956f7c865fb
Author: David CARLIER <devnexen at gmail.com>
Date: 2024-02-10 (Sat, 10 Feb 2024)
Changed paths:
M compiler-rt/lib/profile/InstrProfilingFile.c
Log Message:
-----------
[compiler-rt][profile] Fix InstrProfilingFile possible resource leak. (#81363)
close #79708
Commit: 5e9eaf87b374c3f6638543682b523827834494a8
https://github.com/llvm/llvm-project/commit/5e9eaf87b374c3f6638543682b523827834494a8
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-02-10 (Sat, 10 Feb 2024)
Changed paths:
M lldb/source/Plugins/Language/CPlusPlus/CMakeLists.txt
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.h
A lldb/source/Plugins/Language/CPlusPlus/LibCxxValarray.cpp
A lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/valarray/Makefile
A lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/valarray/TestDataFormatterLibcxxValarray.py
A lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/valarray/main.cpp
Log Message:
-----------
[lldb][libc++] Adds valarray data formatters. (#80609)
The code is heavily based on the vector data formatter.
Commit: 2a51c56d8e0e410bf896be2c6bebe37344a996e1
https://github.com/llvm/llvm-project/commit/2a51c56d8e0e410bf896be2c6bebe37344a996e1
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-02-10 (Sat, 10 Feb 2024)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/Plugins/Language/CPlusPlus/BUILD.gn
Log Message:
-----------
[gn build] Port 5e9eaf87b374
Commit: 3a05e7651bc71b3c71757bb406f211645c1c1a37
https://github.com/llvm/llvm-project/commit/3a05e7651bc71b3c71757bb406f211645c1c1a37
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-02-10 (Sat, 10 Feb 2024)
Changed paths:
M clang/include/clang/Sema/DeclSpec.h
Log Message:
-----------
[clang][NFC] Annotate `Sema/DeclSpec.h` with `preferred_type`
This helps debuggers to display values in bit-fields in a more helpful way.
Commit: 76e3759d8d2dc5af755737a764b237ff04aaf7f4
https://github.com/llvm/llvm-project/commit/76e3759d8d2dc5af755737a764b237ff04aaf7f4
Author: Ikhlas Ajbar <iajbar at quicinc.com>
Date: 2024-02-10 (Sat, 10 Feb 2024)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp
M llvm/lib/Target/Hexagon/HexagonFrameLowering.h
M llvm/test/CodeGen/Hexagon/hvx-reuse-fi-base.ll
A llvm/test/CodeGen/Hexagon/order-stack-object.ll
M llvm/test/CodeGen/Hexagon/store-imm-stack-object.ll
M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/hexagon_generated_funcs.ll.generated.expected
M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/hexagon_generated_funcs.ll.nogenerated.expected
Log Message:
-----------
[Hexagon] Order objects on the stack by their alignments (#81280)
This patch sorts stack objects by their alignment value from the largest
to the smallest. If two objects have the same alignment, then they are
sorted by their size from the largest to the smallest. This minimizes
padding and reduces run time stack size.
Commit: 4e16a75902d5718f4932fae9b2a07c410cd0ba34
https://github.com/llvm/llvm-project/commit/4e16a75902d5718f4932fae9b2a07c410cd0ba34
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-02-10 (Sat, 10 Feb 2024)
Changed paths:
M clang/include/clang/Sema/ScopeInfo.h
Log Message:
-----------
[clang][NFC] Annotate `Sema/ScopeInfo.h` with `preferred_type`
This helps debuggers to display values in bit-fields in a more helpful way.
Commit: d2812d2d1a9b4edb64e95a9a86a2599a24bcb5ec
https://github.com/llvm/llvm-project/commit/d2812d2d1a9b4edb64e95a9a86a2599a24bcb5ec
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-02-11 (Sun, 11 Feb 2024)
Changed paths:
M clang/include/clang/Sema/Overload.h
Log Message:
-----------
[clang][NFC] Annotate `Sema/Overload.h` with `preferred_type`
This helps debuggers to display values in bit-fields in a more helpful way.
Commit: 425fd3eb10f29e73d722b4c2bc9cb50798de18e8
https://github.com/llvm/llvm-project/commit/425fd3eb10f29e73d722b4c2bc9cb50798de18e8
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-02-11 (Sun, 11 Feb 2024)
Changed paths:
M clang/include/clang/Sema/ScopeInfo.h
Log Message:
-----------
[clang][NFC] Rename FirstCoroutineStmtKind enumerators
So that they do not use coroutine keywords.
Fixed buildbot failure https://lab.llvm.org/buildbot/#/builders/86/builds/74100
Commit: 6a7cf806a66c67df01818fda01116a2dd2d90b0d
https://github.com/llvm/llvm-project/commit/6a7cf806a66c67df01818fda01116a2dd2d90b0d
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-02-11 (Sun, 11 Feb 2024)
Changed paths:
M clang/include/clang/Sema/ParsedAttr.h
Log Message:
-----------
[clang][NFC] Annotate `Sema/ParsedAttr.h` with `preferred_type`
This helps debuggers to display values in bit-fields in a more helpful way.
Commit: 0df8aed6c30f08ded526038a6bbb4daf113a31c1
https://github.com/llvm/llvm-project/commit/0df8aed6c30f08ded526038a6bbb4daf113a31c1
Author: Martin Storsjö <martin at martin.st>
Date: 2024-02-10 (Sat, 10 Feb 2024)
Changed paths:
M lld/COFF/Driver.cpp
M lld/test/COFF/timestamp.test
Log Message:
-----------
[LLD] [COFF] Pick timestamps from the SOURCE_DATE_EPOCH variable (#81326)
The SOURCE_DATE_EPOCH environment variable can be set in order to get
reproducible build.
When linking PE/COFF modules with LLD, the timestamp field is set to the
current time, unless either the /timestamp: or /Brepro option is set. If
neither of them is set, check the SOURCE_DATE_EPOCH variable, before
resorting to using the actual current date and time.
See https://reproducible-builds.org/docs/source-date-epoch/ for reference
on the use of this variable.
Commit: b17348c3b541d7fc7ec441c98db75c18d8959910
https://github.com/llvm/llvm-project/commit/b17348c3b541d7fc7ec441c98db75c18d8959910
Author: Kai Sasaki <lewuathe at gmail.com>
Date: 2024-02-11 (Sun, 11 Feb 2024)
Changed paths:
M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
M mlir/test/Conversion/ComplexToStandard/convert-to-standard.mlir
M mlir/test/Conversion/ComplexToStandard/full-conversion.mlir
M mlir/test/Integration/Dialect/Complex/CPU/correctness.mlir
Log Message:
-----------
[mlir][complex] Prevent underflow in complex.abs (#79786) (#81092)
Commit: d70b1c1206d93b5cdf31fa330d5717eb73e8794a
https://github.com/llvm/llvm-project/commit/d70b1c1206d93b5cdf31fa330d5717eb73e8794a
Author: Po-yao Chang <poyaoc97 at gmail.com>
Date: 2024-02-11 (Sun, 11 Feb 2024)
Changed paths:
M lldb/docs/resources/build.rst
Log Message:
-----------
[LLDB][Docs] Replace LLDB_RELOCATABLE_PYTHON with LLDB_EMBED_PYTHON_HOME (#81310)
LLDB_RELOCATABLE_PYTHON was removed in LLVM 11
(https://github.com/llvm/llvm-project/commit/3ec3f62f0a0b1ac13230922c91ffc988c1b1e8d5).
Commit: d0f4663f488dee869ed797b684d4c3361539ac1c
https://github.com/llvm/llvm-project/commit/d0f4663f488dee869ed797b684d4c3361539ac1c
Author: darkbuck <michael.hliao at gmail.com>
Date: 2024-02-10 (Sat, 10 Feb 2024)
Changed paths:
M llvm/include/llvm/Target/GlobalISel/SelectionDAGCompat.td
M llvm/lib/Target/Mips/MipsInstructionSelector.cpp
M llvm/test/CodeGen/Mips/GlobalISel/instruction-select/branch.mir
M llvm/test/CodeGen/Mips/GlobalISel/instruction-select/jump_table_and_brjt.mir
M llvm/test/CodeGen/Mips/GlobalISel/instruction-select/phi.mir
Log Message:
-----------
[GlobalISel][Mips] Global ISel for `brcond`
- Enable equivalent between `brcond` and `G_BRCOND`.
- Remove the manual selection of `G_BRCOND` in Mips. Revise test cases.
Reviewers: petar-avramovic, bcardosolopes, arsenm
Reviewed By: arsenm
Pull Request: https://github.com/llvm/llvm-project/pull/81306
Commit: 2c3ba9f6225612caf7d2d5ba6613ba1454d52dc3
https://github.com/llvm/llvm-project/commit/2c3ba9f6225612caf7d2d5ba6613ba1454d52dc3
Author: Quinn Dawkins <quinn.dawkins at gmail.com>
Date: 2024-02-10 (Sat, 10 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/Transforms/Hoisting.h
M mlir/lib/Dialect/Linalg/Transforms/Hoisting.cpp
Log Message:
-----------
[mlir][Linalg] Unrestrict redundant transfer hoisting from func.func (#79516)
All the hoistRedundantVectorTransfers op does is walk the target
operation, which does not have to be restricted to func.func.
Commit: c2f9885a8aa3a820eefdacccf3fcc6b9d87e3284
https://github.com/llvm/llvm-project/commit/c2f9885a8aa3a820eefdacccf3fcc6b9d87e3284
Author: Koakuma <koachan at protonmail.com>
Date: 2024-02-11 (Sun, 11 Feb 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Arch/Sparc.cpp
A clang/test/Driver/sparc-fixed-register.c
M llvm/lib/Target/Sparc/Sparc.td
M llvm/lib/Target/Sparc/SparcISelLowering.cpp
M llvm/lib/Target/Sparc/SparcRegisterInfo.cpp
M llvm/lib/Target/Sparc/SparcRegisterInfo.h
M llvm/lib/Target/Sparc/SparcRegisterInfo.td
M llvm/lib/Target/Sparc/SparcSubtarget.cpp
M llvm/lib/Target/Sparc/SparcSubtarget.h
A llvm/test/CodeGen/SPARC/reserved-arg-regs.ll
A llvm/test/CodeGen/SPARC/reserved-regs-named.ll
A llvm/test/CodeGen/SPARC/reserved-regs-unavailable.ll
M llvm/test/CodeGen/SPARC/reserved-regs.ll
Log Message:
-----------
[SPARC] Support reserving arbitrary general purpose registers (#74927)
This adds support for marking arbitrary general purpose registers -
except for those with special purpose (G0, I6-I7, O6-O7) - as reserved,
as needed by some software like the Linux kernel.
Commit: d9124332aa3b95725b149617066fdd1f525b530d
https://github.com/llvm/llvm-project/commit/d9124332aa3b95725b149617066fdd1f525b530d
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-02-11 (Sun, 11 Feb 2024)
Changed paths:
M clang/include/clang/Sema/DelayedDiagnostic.h
Log Message:
-----------
[clang][NFC] Annotate `Sema/DelayedDiagnostic.h` with `preferred_type`
This helps debuggers to display values in bit-fields in a more helpful way.
Commit: c0ed1b2c08ab3b75e79d90fcda7e949ca50400a5
https://github.com/llvm/llvm-project/commit/c0ed1b2c08ab3b75e79d90fcda7e949ca50400a5
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-02-11 (Sun, 11 Feb 2024)
Changed paths:
M clang/include/clang/Basic/Visibility.h
Log Message:
-----------
[clang][NFC] Annotate `Basic/Visibility.h` with `preferred_type`
This helps debuggers to display values in bit-fields in a more helpful way.
Commit: 07ec9a3799fa1e80888f8bd0c1101ad6dd546842
https://github.com/llvm/llvm-project/commit/07ec9a3799fa1e80888f8bd0c1101ad6dd546842
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-02-11 (Sun, 11 Feb 2024)
Changed paths:
M clang/include/clang/CodeGen/CGFunctionInfo.h
Log Message:
-----------
[clang][NFC] Partially annotate `CGFunctionInfo.h` with `preferred_type`
`CallingConvention` and `EffectiveCallingConvention` bit-fields that hold `llvm::CallingConv` are impossible to annotate at the moment, as `llvm::CallingConv` is actually a namespace with an unnamed enum inside.
Commit: c112f963ce2b2efc8da765a1161402cebfa379b8
https://github.com/llvm/llvm-project/commit/c112f963ce2b2efc8da765a1161402cebfa379b8
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-02-11 (Sun, 11 Feb 2024)
Changed paths:
M clang/include/clang/Sema/AnalysisBasedWarnings.h
Log Message:
-----------
[clang][NFC] Annotate `AnalysisBasedWarning.h` with `preferred_type`
This helps debuggers to display values in bit-fields in a more helpful way.
Commit: 0764254e014db8783a31e84a322636c651bc7d6d
https://github.com/llvm/llvm-project/commit/0764254e014db8783a31e84a322636c651bc7d6d
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-02-11 (Sun, 11 Feb 2024)
Changed paths:
M clang/include/clang/AST/StmtOpenMP.h
Log Message:
-----------
[clang][NFC] Annotate `StmtOpenMP.h` with `preferred_type`
This helps debuggers to display values in bit-fields in a more helpful way.
Commit: c8a12ed413aae2c2602c880395270acbdbb15e70
https://github.com/llvm/llvm-project/commit/c8a12ed413aae2c2602c880395270acbdbb15e70
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-02-11 (Sun, 11 Feb 2024)
Changed paths:
M clang/include/clang/AST/CommentCommandTraits.h
Log Message:
-----------
[clang][NFC] Annotate `CommentCommandTraits.h` with `preferred_type`
This helps debuggers to display values in bit-fields in a more helpful way.
Commit: ab2cef5391cc3434bc54b755810c51b55e9a04fc
https://github.com/llvm/llvm-project/commit/ab2cef5391cc3434bc54b755810c51b55e9a04fc
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-02-11 (Sun, 11 Feb 2024)
Changed paths:
M clang/include/clang/Analysis/CFG.h
Log Message:
-----------
[clang][NFC] Annotate `Analysis/CFG.h` with `preferred_type`
This helps debuggers to display values in bit-fields in a more helpful way.
Commit: 535da10842c7309e9eeaf9828cf6bb034fecaf16
https://github.com/llvm/llvm-project/commit/535da10842c7309e9eeaf9828cf6bb034fecaf16
Author: David CARLIER <devnexen at gmail.com>
Date: 2024-02-11 (Sun, 11 Feb 2024)
Changed paths:
M lldb/source/Plugins/Process/FreeBSD/NativeProcessFreeBSD.cpp
Log Message:
-----------
[lldb] checks if lldb can trace/attach/set a breakpoint a process or load a file to debug on FreeBSD.
before having the generic EINVAL message, we check if the
`security.bsd.unprivileged_proc_debug` allows process debugging.
close #79634
Commit: 6496948a427fc8f815f7c21cd068acd046873cca
https://github.com/llvm/llvm-project/commit/6496948a427fc8f815f7c21cd068acd046873cca
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-02-11 (Sun, 11 Feb 2024)
Changed paths:
M clang/include/clang/APINotes/Types.h
Log Message:
-----------
[clang][NFC] Partially annotate `APINotes/Types.h` with `preferred_type`
`RawRetainCountConversion` bit-field requires a new enumerator in `RetainCountConventionKind` to be annotated.
Commit: fcd21624b082b0c42777f6047cdfbc8a59057001
https://github.com/llvm/llvm-project/commit/fcd21624b082b0c42777f6047cdfbc8a59057001
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-02-11 (Sun, 11 Feb 2024)
Changed paths:
M clang/include/clang/Driver/Driver.h
Log Message:
-----------
[clang][NFC] Annotate `Driver.h` with `preferred_type`
This helps debuggers to display values in bit-fields in a more helpful way.
Commit: 956722698172a806652ca8e2dba0a783a1c3d593
https://github.com/llvm/llvm-project/commit/956722698172a806652ca8e2dba0a783a1c3d593
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-02-11 (Sun, 11 Feb 2024)
Changed paths:
M clang/include/clang/Sema/CodeCompleteConsumer.h
Log Message:
-----------
[clang][NFC] Annotate `CodeCompletionConsumer.h` with `preferred_type`
This helps debuggers to display values in bit-fields in a more helpful way.
Commit: 04812c72dee2c1c211306a4dd6d51e783f0c5015
https://github.com/llvm/llvm-project/commit/04812c72dee2c1c211306a4dd6d51e783f0c5015
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-02-11 (Sun, 11 Feb 2024)
Changed paths:
M clang/include/clang/Sema/CodeCompleteOptions.h
Log Message:
-----------
[clang][NFC] Annotate `CodeCompletionOptions.h` with `preferred_type`
This helps debuggers to display values in bit-fields in a more helpful way.
Commit: 1ee81076388078cb0cb1fbc90ad374fceafd0c98
https://github.com/llvm/llvm-project/commit/1ee81076388078cb0cb1fbc90ad374fceafd0c98
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-02-11 (Sun, 11 Feb 2024)
Changed paths:
M clang/include/clang/Serialization/ASTReader.h
Log Message:
-----------
[clang][NFC] Annotate `ASTReader.h` with `preferred_type`
This helps debuggers to display values in bit-fields in a more helpful way.
Commit: 3bf89e5883ff0ea82ca4ad5cd511b77826b7bb71
https://github.com/llvm/llvm-project/commit/3bf89e5883ff0ea82ca4ad5cd511b77826b7bb71
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-02-11 (Sun, 11 Feb 2024)
Changed paths:
M clang/lib/AST/Linkage.h
Log Message:
-----------
[clang][NFC] Annotate `AST/Linkage.h` with `preferred_type`
This helps debuggers to display values in bit-fields in a more helpful way.
Commit: 1366e4f594bdb4cd429423a1e07509e984838fa0
https://github.com/llvm/llvm-project/commit/1366e4f594bdb4cd429423a1e07509e984838fa0
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-02-11 (Sun, 11 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/Descriptor.h
Log Message:
-----------
[clang][NFC] Annotate `Interp/Descriptor.h` with `preferred_type`
This helps debuggers to display values in bit-fields in a more helpful way.
Commit: ee56d494974311049e055c73e4feb2e4098f1da8
https://github.com/llvm/llvm-project/commit/ee56d494974311049e055c73e4feb2e4098f1da8
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-02-11 (Sun, 11 Feb 2024)
Changed paths:
M clang/lib/Basic/Targets/ARM.h
Log Message:
-----------
[clang][NFC] Annotate `Targets/ARM.h` with `preferred_type`
This helps debuggers to display values in bit-fields in a more helpful way.
Commit: ba0d35181cef094209306207dc6e3fa816ddde36
https://github.com/llvm/llvm-project/commit/ba0d35181cef094209306207dc6e3fa816ddde36
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-02-11 (Sun, 11 Feb 2024)
Changed paths:
M clang/lib/CodeGen/CGCall.h
Log Message:
-----------
[clang][NFC] Annotate `CGCall.h` with `preferred_type`
This helps debuggers to display values in bit-fields in a more helpful way.
Commit: fd80304763a41f86b877c91b750551d7e6bd852d
https://github.com/llvm/llvm-project/commit/fd80304763a41f86b877c91b750551d7e6bd852d
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-02-11 (Sun, 11 Feb 2024)
Changed paths:
M clang/lib/CodeGen/CGCUDARuntime.h
Log Message:
-----------
[clang][NFC] Annotate `CGCUDARuntime.h` with `preferred_type`
This helps debuggers to display values in bit-fields in a more helpful way.
Commit: 35737beaef1452b6ecdb0e6d7a359d48c8e9236a
https://github.com/llvm/llvm-project/commit/35737beaef1452b6ecdb0e6d7a359d48c8e9236a
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-02-11 (Sun, 11 Feb 2024)
Changed paths:
M clang/lib/CodeGen/CodeGenFunction.h
Log Message:
-----------
[clang][NFC] Annotate `CodeGenFunction.h` with `preferred_type`
This helps debuggers to display values in bit-fields in a more helpful way.
Commit: 866e073c2851bd4180cc0c64ce5a3d7f109e21dc
https://github.com/llvm/llvm-project/commit/866e073c2851bd4180cc0c64ce5a3d7f109e21dc
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-02-11 (Sun, 11 Feb 2024)
Changed paths:
M clang/lib/CodeGen/CGRecordLayout.h
Log Message:
-----------
[clang][NFC] Annotate `CGRecordLayout.h` with `preferred_type`
This helps debuggers to display values in bit-fields in a more helpful way.
Commit: 1ed37606ca4bda4659b33a7f570d273b5afd16ea
https://github.com/llvm/llvm-project/commit/1ed37606ca4bda4659b33a7f570d273b5afd16ea
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-02-11 (Sun, 11 Feb 2024)
Changed paths:
M clang/lib/CodeGen/CGCleanup.h
Log Message:
-----------
[clang][NFC] Annotate `CGCleanup.h` with `preferred_type`
This helps debuggers to display values in bit-fields in a more helpful way.
Commit: bf571059f3bcf50bf8d3b39dc6aadeb14ede14bf
https://github.com/llvm/llvm-project/commit/bf571059f3bcf50bf8d3b39dc6aadeb14ede14bf
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-02-11 (Sun, 11 Feb 2024)
Changed paths:
M clang/include/clang/Basic/LangOptions.h
Log Message:
-----------
[clang][NFC] Annotate `LangOptions.h` with `preferred_type`
This helps debuggers to display values in bit-fields in a more helpful way.
Commit: 4502dc416f40e0165ef988ded7db2673ac35670e
https://github.com/llvm/llvm-project/commit/4502dc416f40e0165ef988ded7db2673ac35670e
Author: Andrzej Warzynski <andrzej.warzynski at arm.com>
Date: 2024-02-11 (Sun, 11 Feb 2024)
Changed paths:
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSVE/matmul.mlir
Log Message:
-----------
[mlir][nfc] Remove leftover print stmt in a test
Commit: 5aec9392674572fa5a06283173a6a739742d261d
https://github.com/llvm/llvm-project/commit/5aec9392674572fa5a06283173a6a739742d261d
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-02-11 (Sun, 11 Feb 2024)
Changed paths:
M clang/include/clang/Format/Format.h
Log Message:
-----------
[clang-format][NFC] Keep Operator== sorted in Format.h
Commit: 5932fcc47855fdd209784f38820422d2369b84b2
https://github.com/llvm/llvm-project/commit/5932fcc47855fdd209784f38820422d2369b84b2
Author: Quentin Dian <dianqk at dianqk.net>
Date: 2024-02-11 (Sun, 11 Feb 2024)
Changed paths:
M llvm/include/llvm/Analysis/InlineModelFeatureMaps.h
M llvm/include/llvm/IR/Instructions.h
M llvm/lib/Analysis/InlineCost.cpp
A llvm/test/Transforms/Inline/inline-switch-default-2.ll
A llvm/test/Transforms/Inline/inline-switch-default.ll
Log Message:
-----------
[InlineCost] Consider the default branch when calculating cost (#77856)
First step in fixing #76772.
This PR considers the default branch as a case branch. This will give
the unreachable default branch fair consideration.
Commit: c3dfbb6f49845edd4b953055f5fe14257fad6b58
https://github.com/llvm/llvm-project/commit/c3dfbb6f49845edd4b953055f5fe14257fad6b58
Author: David Green <david.green at arm.com>
Date: 2024-02-11 (Sun, 11 Feb 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Combine.td
M llvm/test/CodeGen/AArch64/GlobalISel/arm64-atomic.ll
M llvm/test/CodeGen/AArch64/vecreduce-fadd-strict.ll
M llvm/test/CodeGen/AArch64/vecreduce-fmul-strict.ll
Log Message:
-----------
[AArch64][GlobalISel] Add commute_constant_to_rhs to post legalizer combiners (#81103)
This helps the fp reductions, moving the constant operands to the RHS
which in turn helps simplify away fadd -0.0 and fmul 1.0.
Commit: 887ed6d2876156ade8a382e521130feae4b91b82
https://github.com/llvm/llvm-project/commit/887ed6d2876156ade8a382e521130feae4b91b82
Author: David Green <david.green at arm.com>
Date: 2024-02-11 (Sun, 11 Feb 2024)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
Log Message:
-----------
[AArch64][GlobalISel] Remove mulh c++ lowering (#81105)
I believe these should be selectable via tablegen patterns nowadays.
Commit: b985d4179a882892ce009fb3668cdc917e27f5d5
https://github.com/llvm/llvm-project/commit/b985d4179a882892ce009fb3668cdc917e27f5d5
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-02-11 (Sun, 11 Feb 2024)
Changed paths:
M clang/lib/AST/ExprConstant.cpp
Log Message:
-----------
[clang][NFC] Annotate `ExprConstant.cpp` with `preferred_type`
This helps debuggers to display values in bit-fields in a more helpful way.
Commit: 63b414e4977d6e19f05947c88f57cd127fa328e3
https://github.com/llvm/llvm-project/commit/63b414e4977d6e19f05947c88f57cd127fa328e3
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-02-11 (Sun, 11 Feb 2024)
Changed paths:
M clang/lib/AST/RecordLayoutBuilder.cpp
Log Message:
-----------
[clang][NFC] Annotate `RecordLayoutBuilder.cpp` with `preferred_type`
This helps debuggers to display values in bit-fields in a more helpful way.
Commit: eaff01f4fc1b3f1ccdc5fc6dafb39af959d00f6d
https://github.com/llvm/llvm-project/commit/eaff01f4fc1b3f1ccdc5fc6dafb39af959d00f6d
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-02-11 (Sun, 11 Feb 2024)
Changed paths:
M clang/lib/CodeGen/CGExprCXX.cpp
Log Message:
-----------
[clang][NFC] Annotate `CGExprCXX.cpp` with `preferred_type`
This helps debuggers to display values in bit-fields in a more helpful way.
Commit: bcc4c8231fbee46f1b16f8b9db7d9926745db9bb
https://github.com/llvm/llvm-project/commit/bcc4c8231fbee46f1b16f8b9db7d9926745db9bb
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-02-11 (Sun, 11 Feb 2024)
Changed paths:
M clang/lib/CodeGen/CGObjC.cpp
Log Message:
-----------
[clang][NFC] Annotate `CGObjC.cpp` with `preferred_type`
This helps debuggers to display values in bit-fields in a more helpful way.
Commit: 6884657de8da3024b50d8737219c1f24ab075c4c
https://github.com/llvm/llvm-project/commit/6884657de8da3024b50d8737219c1f24ab075c4c
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-02-11 (Sun, 11 Feb 2024)
Changed paths:
M clang/lib/Sema/SemaChecking.cpp
Log Message:
-----------
[clang][NFC] Annotate `SemaChecking.cpp` with `preferred_type`
This helps debuggers to display values in bit-fields in a more helpful way.
Commit: f0b2bcfe91e70816b33973bc50a2cb63144ba77a
https://github.com/llvm/llvm-project/commit/f0b2bcfe91e70816b33973bc50a2cb63144ba77a
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-02-11 (Sun, 11 Feb 2024)
Changed paths:
M clang/lib/Sema/SemaStmt.cpp
Log Message:
-----------
[clang][NFC] Annotate `SemaStmt.cpp` with `preferred_type`
This helps debuggers to display values in bit-fields in a more helpful way.
Commit: 83269a04def26fe9890036857d3e1a8c6c1f770d
https://github.com/llvm/llvm-project/commit/83269a04def26fe9890036857d3e1a8c6c1f770d
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-02-11 (Sun, 11 Feb 2024)
Changed paths:
M clang/tools/driver/cc1as_main.cpp
Log Message:
-----------
[clang][NFC] Annotate `cc1as_main.cpp` with `preferred_type`
This helps debuggers to display values in bit-fields in a more helpful way.
Commit: bc1d61cbf8759f5144217af50d2309b5dddd5538
https://github.com/llvm/llvm-project/commit/bc1d61cbf8759f5144217af50d2309b5dddd5538
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-02-11 (Sun, 11 Feb 2024)
Changed paths:
M clang/unittests/Basic/SourceManagerTest.cpp
Log Message:
-----------
[clang][NFC] Annotate `SourceManagerTest.cpp` with `preferred_type`
This helps debuggers to display values in bit-fields in a more helpful way.
Commit: 23bdca2c6737f25f1d184f03021f61157bac6196
https://github.com/llvm/llvm-project/commit/23bdca2c6737f25f1d184f03021f61157bac6196
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-02-11 (Sun, 11 Feb 2024)
Changed paths:
M clang/utils/TableGen/RISCVVEmitter.cpp
Log Message:
-----------
[clang][NFC] Annotate `RISCVVEmitter.cpp` with `preferred_type`
This helps debuggers to display values in bit-fields in a more helpful way.
Commit: 4bbae068d704752acbd7c5d8652c11b0954742be
https://github.com/llvm/llvm-project/commit/4bbae068d704752acbd7c5d8652c11b0954742be
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-02-11 (Sun, 11 Feb 2024)
Changed paths:
M clang/include/clang/Support/RISCVVIntrinsicUtils.h
Log Message:
-----------
[clang][NFC] Annotate `RISCVVIntrinsicUtils.h` with `preferred_type`
This helps debuggers to display values in bit-fields in a more helpful way.
Commit: 803374994602910aae2cb483d03bcbdb294b21bb
https://github.com/llvm/llvm-project/commit/803374994602910aae2cb483d03bcbdb294b21bb
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-02-11 (Sun, 11 Feb 2024)
Changed paths:
M clang/lib/Basic/DiagnosticIDs.cpp
Log Message:
-----------
[clang][NFC] Annotate `DiagnosticID.cpp` with `preferred_type`
This helps debuggers to display values in bit-fields in a more helpful way.
Commit: fe0d277f31d3369de1fd92ad8dd8044f5b1d4ed7
https://github.com/llvm/llvm-project/commit/fe0d277f31d3369de1fd92ad8dd8044f5b1d4ed7
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-02-11 (Sun, 11 Feb 2024)
Changed paths:
M libcxx/include/ratio
A libcxx/test/std/utilities/ratio/ratio.arithmetic/R1_R2_requirement.verify.cpp
A libcxx/test/std/utilities/ratio/ratio.comparison/R1_R2_requirement.verify.cpp
A libcxx/test/std/utilities/ratio/ratio.comparison/R1_R2_requirement_v.verify.cpp
Log Message:
-----------
[libc++][ratio] Avoids accepting unrelated types. (#80491)
The arithmetic and comparison operators are ill-formed when R1 or R2 is
not a std::ratio.
Fixes: https://github.com/llvm/llvm-project/issues/63753
Commit: 1503db86d65ee2bcc8ec1c2a5a4d00dea02aae0d
https://github.com/llvm/llvm-project/commit/1503db86d65ee2bcc8ec1c2a5a4d00dea02aae0d
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-02-11 (Sun, 11 Feb 2024)
Changed paths:
M clang/include/clang/AST/RawCommentList.h
Log Message:
-----------
[clang][NFC] Refactor bit-fields in `RawComment`
Make them all of the same `unsigned` type, which brings `sizeof(RawComment)` down from 12 to 4 when compiling Clang for Microsoft ABI.
Commit: 082439c33fa76ad4df267600472695d24ad53821
https://github.com/llvm/llvm-project/commit/082439c33fa76ad4df267600472695d24ad53821
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-02-11 (Sun, 11 Feb 2024)
Changed paths:
M clang/include/clang/AST/StmtObjC.h
Log Message:
-----------
[clang][NFC] Refactor bit-fields in `ObjCAtTryStmt`
Make all bit-fields of type `unsigned`, which reduces amoung of padding on Microsoft ABI, resulting in potentially lesser size of the object.
Commit: 15279e7569108cccb49ca1fcfdfae420124d3fac
https://github.com/llvm/llvm-project/commit/15279e7569108cccb49ca1fcfdfae420124d3fac
Author: Carlos Galvez <carlosgalvezp at gmail.com>
Date: 2024-02-11 (Sun, 11 Feb 2024)
Changed paths:
M openmp/cmake/HandleOpenMPOptions.cmake
M openmp/cmake/config-ix.cmake
Log Message:
-----------
[OpenMP] Remove -Wno-enum-constexpr-conversion (#81318)
This effectively reverts commit
9ff0cc7e0fa7e99163610d2fcb58e96f3315e343. For some reason "git revert"
lead to "no changes" after fixing conflicts, so a clean revert was not
possible.
The original issue (#57022) is no longer reproducible even with this
patch, so we can remove the suppression.
This is in line with our goal to make -Wenum-constexpr-conversion a
non-downgradeable error, see #59036.
Co-authored-by: Carlos Gálvez <carlos.galvez at zenseact.com>
Commit: e3f684d86b308bc2576d813aad1a230aa6b295ab
https://github.com/llvm/llvm-project/commit/e3f684d86b308bc2576d813aad1a230aa6b295ab
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-02-11 (Sun, 11 Feb 2024)
Changed paths:
M clang/include/clang/Sema/Sema.h
Log Message:
-----------
[clang][NFC] Refactor bit-fields in `DefaultedFunctionKind`
This patch makes all bit-fields in `DefaultedFunctionKind` of type `unsigned`, which brings `sizeof(DefaultedFunctionKind)` down from 8 to 4 when compiling Clang for Microsoft ABI.
Commit: b45de48be24695b613f48ed21bb35f844454193b
https://github.com/llvm/llvm-project/commit/b45de48be24695b613f48ed21bb35f844454193b
Author: Simon Pilgrim <RKSimon at users.noreply.github.com>
Date: 2024-02-11 (Sun, 11 Feb 2024)
Changed paths:
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/test/CodeGen/Thumb2/mve-fptosi-sat-vector.ll
M llvm/test/CodeGen/Thumb2/mve-fptoui-sat-vector.ll
Log Message:
-----------
[MVE] Expand64BitShift - handle all constant shift amounts less than 32 (#81261)
Expand64BitShift was always dropping to generic shift legalization if the shift amount type was larger than i64, even if the constant shift amount was actually very small. I've adjusted the constant bounds checks to work with APInt types so we can always perform the comparison.
This results in the MVE long shift instructions being used more often, and it looks like this is preventing some additional combines from happening. This could be addressed in the future.
This came about while I was trying to extend the DAGTypeLegalizer::ExpandShift* helpers and need to move to consistently using the legal shift amount types instead of reusing the shift amount type from the original wider shift.
Commit: 00e80fbfb9151a68e7383dcec7da69c867225e54
https://github.com/llvm/llvm-project/commit/00e80fbfb9151a68e7383dcec7da69c867225e54
Author: Danny Mösch <danny.moesch at icloud.com>
Date: 2024-02-11 (Sun, 11 Feb 2024)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/DeprecatedHeadersCheck.cpp
M clang-tools-extra/docs/clang-tidy/checks/modernize/deprecated-headers.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-override.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/container-contains.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/use-anyofallof.rst
M clang/include/clang/Basic/Module.h
M clang/lib/Basic/Module.cpp
M clang/lib/Headers/stdatomic.h
M clang/lib/Lex/DependencyDirectivesScanner.cpp
M clang/test/Analysis/bitwise-shift-common.c
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
M clang/unittests/Lex/DependencyDirectivesScannerTest.cpp
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/include/__locale_dir/locale_base_api/ibm.h
M libcxx/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/pointer.volatile.pass.cpp
M libcxx/utils/generate_feature_test_macro_components.py
M llvm/docs/CMake.rst
Log Message:
-----------
[NFC] Correct C++ standard names (#81421)
Commit: ffab5a089b1e94b3305fbdfdf1547b751121c090
https://github.com/llvm/llvm-project/commit/ffab5a089b1e94b3305fbdfdf1547b751121c090
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2024-02-11 (Sun, 11 Feb 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/misched-fusion-addadrp.ll
Log Message:
-----------
Add a test for the A16/A17 parts of eb1b428750181ea742c547db0bc7136cd5b8f732
There are a couple of open questions on what we should do for A14, so I'll
leave that off for now.
https://github.com/llvm/llvm-project/pull/81325#issuecomment-1937489565
Commit: 03f571995b4f0c260254955afd16ec44d0764794
https://github.com/llvm/llvm-project/commit/03f571995b4f0c260254955afd16ec44d0764794
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-02-11 (Sun, 11 Feb 2024)
Changed paths:
M clang/include/clang/Format/Format.h
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatTokenLexer.cpp
M clang/lib/Format/FormatTokenLexer.h
M clang/lib/Format/IntegerLiteralSeparatorFixer.cpp
M clang/lib/Format/TokenAnalyzer.cpp
M clang/lib/Format/TokenAnalyzer.h
M clang/unittests/Format/TestLexer.h
Log Message:
-----------
[clang-format][NFC] Make LangOpts global in namespace Format (#81390)
Commit: 3dc8ef677d7d05116a0bf6524eb38b02ca6ba042
https://github.com/llvm/llvm-project/commit/3dc8ef677d7d05116a0bf6524eb38b02ca6ba042
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-02-11 (Sun, 11 Feb 2024)
Changed paths:
M clang/include/clang/Format/Format.h
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatTokenLexer.cpp
M clang/lib/Format/FormatTokenLexer.h
M clang/lib/Format/IntegerLiteralSeparatorFixer.cpp
M clang/lib/Format/TokenAnalyzer.cpp
M clang/lib/Format/TokenAnalyzer.h
M clang/unittests/Format/TestLexer.h
Log Message:
-----------
Revert "[clang-format][NFC] Make LangOpts global in namespace Format (#81390)"
This reverts commit 03f571995b4f0c260254955afd16ec44d0764794.
We can't hide getFormattingLangOpts() as it's used by other tools.
Commit: b1771475da91805a4ac1831810b62a7b3655ccca
https://github.com/llvm/llvm-project/commit/b1771475da91805a4ac1831810b62a7b3655ccca
Author: David Green <david.green at arm.com>
Date: 2024-02-11 (Sun, 11 Feb 2024)
Changed paths:
A llvm/test/CodeGen/AArch64/insertextract.ll
Log Message:
-----------
[AArch64][GlobalISel] Additional insert and extract GISel tests. NFC
Commit: 1a988869319bb4cfe04b3d2618818180b3cfb28c
https://github.com/llvm/llvm-project/commit/1a988869319bb4cfe04b3d2618818180b3cfb28c
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-02-11 (Sun, 11 Feb 2024)
Changed paths:
M libc/spec/stdc.td
Log Message:
-----------
[libc] Remove extra ] in stdc.td. (#81438)
Commit: 5da801386c2b820a4596fc6d8da6b5f4a6da94b4
https://github.com/llvm/llvm-project/commit/5da801386c2b820a4596fc6d8da6b5f4a6da94b4
Author: Fangrui Song <i at maskray.me>
Date: 2024-02-11 (Sun, 11 Feb 2024)
Changed paths:
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/test/MC/AArch64/arm64-adr.s
M llvm/test/MC/AArch64/arm64-branch-encoding.s
M llvm/test/MC/AArch64/basic-a64-diagnostics.s
Log Message:
-----------
[AArch64AsmParser] Allow branch target symbol to have a shift/extend modifier name (#80571)
Shift and extend modifiers are parsed as separate operands. When a
symbol operand of a branch instruction has such a "bad" name,
AArch64AsmParser will report an error.
```
% cat a.c
void lsl(); void lsr(); void asr(); void ror(); void uxtb(); void sxtx();
void foo() { lsl(); asr(); asr(); ror(); uxtb(); sxtx(); }
% clang --target=aarch64 -c -save-temps a.c
a.s:15:8: error: expected #imm after shift specifier
bl lsl
^
a.s:16:8: error: expected #imm after shift specifier
bl asr
^
a.s:17:8: error: expected #imm after shift specifier
bl asr
^
a.s:18:8: error: expected #imm after shift specifier
bl ror
^
a.s:19:5: error: expected label or encodable integer pc offset
bl uxtb
^
a.s:20:5: error: expected label or encodable integer pc offset
bl sxtx
^
```
In contrast, gas correctly parses these instructions.
Fix #79729 by parsing shift/extend modifier after an immediate
value/register
Commit: 32e65b0b8a743678974c7ca7913c1d6c41bb0772
https://github.com/llvm/llvm-project/commit/32e65b0b8a743678974c7ca7913c1d6c41bb0772
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-02-11 (Sun, 11 Feb 2024)
Changed paths:
M clang/lib/Format/FormatTokenLexer.cpp
M clang/lib/Format/FormatTokenLexer.h
M clang/lib/Format/IntegerLiteralSeparatorFixer.cpp
M clang/lib/Format/TokenAnalyzer.cpp
M clang/lib/Format/TokenAnalyzer.h
M clang/unittests/Format/TestLexer.h
Log Message:
-----------
Reland "[clang-format][NFC] Make LangOpts global in namespace Format (#81390)"
Restore getFormattingLangOpts().
Commit: da9559d69a856ba668b659609a0ab73322fc738a
https://github.com/llvm/llvm-project/commit/da9559d69a856ba668b659609a0ab73322fc738a
Author: Adrian Kuegel <akuegel at google.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/test/CodeGen/NVPTX/extractelement.ll
Log Message:
-----------
Do not use PerformEXTRACTCombine for v8i8 types (#81242)
Same as with v4i8 types, we should not be using PerformEXTRACTCombine
for v8i8 types.
Commit: 00918933fc4e181fe3c74006d81d7a598c2227b3
https://github.com/llvm/llvm-project/commit/00918933fc4e181fe3c74006d81d7a598c2227b3
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-02-11 (Sun, 11 Feb 2024)
Changed paths:
M clang/unittests/Format/TestLexer.h
Log Message:
-----------
[clang-format] Undo the change to TestLexer() in commit 32e65b0b8a74
We can't skip calling getFormattingLangOpts() because LangOpts is not
initialized in the unit tests.
Commit: 373d9d72145cd40c9dc00abefd14632763a2987b
https://github.com/llvm/llvm-project/commit/373d9d72145cd40c9dc00abefd14632763a2987b
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCV.td
M llvm/lib/Target/RISCV/RISCVProcessors.td
A llvm/lib/Target/RISCV/RISCVSchedXiangShanNanHu.td
A llvm/test/tools/llvm-mca/RISCV/XiangShan/cascade-fma.s
A llvm/test/tools/llvm-mca/RISCV/XiangShan/gpr-bypass.s
A llvm/test/tools/llvm-mca/RISCV/XiangShan/load-to-alu.s
Log Message:
-----------
[RISCV] Add sched model for XiangShan-NanHu (#70232)
[XiangShan](https://github.com/OpenXiangShan/XiangShan) is an
open-source high-performance RISC-V processor.
This PR adds the schedule model for XiangShan-NanHu, the 2nd Gen core of
the XiangShan processor series.
Overview:
https://xiangshan-doc.readthedocs.io/zh-cn/latest/integration/overview/
It is based on the patch [D122556](https://reviews.llvm.org/D122556) by
@SForeKeeper. The original patch hasn't been updated for a long time and
it is out of sync with the current RTL design.
---------
Co-authored-by: SForeKeeper <zkliu6 at gmail.com>
Commit: f9d6d6fbcc23e0227d6b065f5723d80cd332cb1d
https://github.com/llvm/llvm-project/commit/f9d6d6fbcc23e0227d6b065f5723d80cd332cb1d
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M libcxx/include/CMakeLists.txt
M libcxx/include/__fwd/array.h
R libcxx/include/__fwd/get.h
M libcxx/include/__fwd/pair.h
M libcxx/include/__fwd/subrange.h
M libcxx/include/__fwd/tuple.h
M libcxx/include/__memory/compressed_pair.h
M libcxx/include/__ranges/elements_view.h
M libcxx/include/__ranges/subrange.h
M libcxx/include/__tuple/tuple_like.h
M libcxx/include/__utility/pair.h
M libcxx/include/istream
M libcxx/include/module.modulemap.in
M libcxx/include/streambuf
M libcxx/include/tuple
M libcxx/test/libcxx/transitive_includes/cxx03.csv
M libcxx/test/libcxx/transitive_includes/cxx11.csv
M libcxx/test/libcxx/transitive_includes/cxx14.csv
M libcxx/test/libcxx/transitive_includes/cxx17.csv
M libcxx/test/libcxx/transitive_includes/cxx20.csv
M libcxx/test/libcxx/transitive_includes/cxx23.csv
M libcxx/test/libcxx/transitive_includes/cxx26.csv
Log Message:
-----------
[libc++] Move the contents of `__fwd/get.h` into the forward declaration headers they actually belong to (#81368)
This brings us closer to one forward declaring header per public header.
Commit: 1c48c9234b3e30e6ed5b9a0ce68320579bb6fec7
https://github.com/llvm/llvm-project/commit/1c48c9234b3e30e6ed5b9a0ce68320579bb6fec7
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port f9d6d6fbcc23
Commit: f5d71b79fe978f1e70f4a41adfd15f65dec6e210
https://github.com/llvm/llvm-project/commit/f5d71b79fe978f1e70f4a41adfd15f65dec6e210
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M clang/lib/Format/FormatToken.cpp
Log Message:
-----------
Reland "[clang-format][NFC] Make LangOpts global in namespace Format (#81390)"
Commit: 33108fae9020cb49577fc3ee0aed219cc581f82a
https://github.com/llvm/llvm-project/commit/33108fae9020cb49577fc3ee0aed219cc581f82a
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M clang/lib/Format/FormatToken.cpp
Log Message:
-----------
Reverted due to wrong commit message
This reverts commit f5d71b79fe978f1e70f4a41adfd15f65dec6e210.
Commit: 7f40c5cc4e15a0a67b031f13370afc342a5dc14b
https://github.com/llvm/llvm-project/commit/7f40c5cc4e15a0a67b031f13370afc342a5dc14b
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M clang/lib/Format/FormatToken.cpp
Log Message:
-----------
Reland "[clang-format] Update FormatToken::isSimpleTypeSpecifier() (#80241)"
Commit: f5399e89a27d8c64849a1631958952f4dfe14692
https://github.com/llvm/llvm-project/commit/f5399e89a27d8c64849a1631958952f4dfe14692
Author: pvanhout <pierre.vanhoutryve at amd.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
Log Message:
-----------
Remove trailing whitespaces in AMDGPUUsage.rst
Commit: 074f7c2235a7d39f59f5c4d85b8fb87d3459b90d
https://github.com/llvm/llvm-project/commit/074f7c2235a7d39f59f5c4d85b8fb87d3459b90d
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
Log Message:
-----------
[InstCombine] Remove redundant fold (NFCI)
This has been subsumed by simplifyAndOrWithOpReplaced().
Commit: 92d79922051f732560acf3791b543df1e6580689
https://github.com/llvm/llvm-project/commit/92d79922051f732560acf3791b543df1e6580689
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/vec-combine-compare-to-bitmask.ll
Log Message:
-----------
[AArch64] Only apply bool vector bitcast opt if result is scalar (#81256)
This optimization tries to optimize bitcasts from `<N x i1>` to iN, but
currently also triggers for `<N x i1>` to `<M x iK>` bitcasts, if custom
lowering has been requested for these for an unrelated reason. Fix this
by explicitly checking that the result type is scalar.
Fixes https://github.com/llvm/llvm-project/issues/81216.
Commit: 1e36d92b705b7977c867dc3afa90da76dee6effd
https://github.com/llvm/llvm-project/commit/1e36d92b705b7977c867dc3afa90da76dee6effd
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Utils/LowerMemIntrinsics.cpp
M llvm/test/CodeGen/AMDGPU/lower-mem-intrinsics.ll
M llvm/test/CodeGen/AMDGPU/memcpy-crash-issue63986.ll
Log Message:
-----------
[LowerMemIntrinsics] Avoid udiv/urem when type size is a power of 2 (#81238)
See #64620 - does not fix the issue but improves the generated code a
bit.
Commit: b221b9733688d149dc288339e304e48af609ad75
https://github.com/llvm/llvm-project/commit/b221b9733688d149dc288339e304e48af609ad75
Author: Vyacheslav Levytskyy <89994100+VyacheslavLevytskyy at users.noreply.github.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.td
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp
M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_subgroups/cl_intel_sub_groups.ll
Log Message:
-----------
Add support for SPIR-V extension: SPV_INTEL_subgroups (#81023)
The goal of this PR is to implement SPV_INTEL_subgroups extension in
SPIR-V Backend.
Commit: f93aa5157a3317b24cff660ac972814ee9ed4dbc
https://github.com/llvm/llvm-project/commit/f93aa5157a3317b24cff660ac972814ee9ed4dbc
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M clang/lib/Basic/Targets/AMDGPU.cpp
M clang/test/Driver/amdgpu-macros.cl
M clang/test/Driver/amdgpu-mcpu.cl
M clang/test/Misc/target-invalid-cpu-note.c
M llvm/docs/AMDGPUUsage.rst
M llvm/include/llvm/BinaryFormat/ELF.h
M llvm/include/llvm/TargetParser/TargetParser.h
M llvm/lib/Object/ELFObjectFile.cpp
M llvm/lib/ObjectYAML/ELFYAML.cpp
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/lib/Target/AMDGPU/AMDGPURemoveIncompatibleFunctions.cpp
M llvm/lib/Target/AMDGPU/GCNProcessors.td
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/lib/TargetParser/TargetParser.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.workitem.id.ll
M llvm/test/CodeGen/AMDGPU/directive-amdgcn-target.ll
M llvm/test/CodeGen/AMDGPU/elf-header-flags-mach.ll
M llvm/test/CodeGen/AMDGPU/gds-allocation.ll
M llvm/test/CodeGen/AMDGPU/gds-atomic.ll
A llvm/test/CodeGen/AMDGPU/generic-targets-require-v6.ll
A llvm/test/CodeGen/AMDGPU/hsa-generic-target-features.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.gather4.d16.dim.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.sample.dim.ll
M llvm/test/CodeGen/AMDGPU/mad-mix.ll
M llvm/test/CodeGen/AMDGPU/unsupported-image-sample.ll
M llvm/test/Object/AMDGPU/elf-header-flags-mach.yaml
M llvm/test/tools/llvm-objdump/ELF/AMDGPU/subtarget.ll
M llvm/test/tools/llvm-readobj/ELF/AMDGPU/elf-headers.test
M llvm/tools/llvm-readobj/ELFDumper.cpp
Log Message:
-----------
[AMDGPU] Introduce GFX9/10.1/10.3/11 Generic Targets (#76955)
These generic targets include multiple GPUs and will, in the future,
provide a way to build once and run on multiple GPU, at the cost of less
optimization opportunities.
Note that this is just doing the compiler side of things, device libs an
runtimes/loader/etc. don't know about these targets yet, so none of them
actually work in practice right now. This is just the initial commit to
make LLVM aware of them.
This contains the documentation changes for both this change and #76954
as well.
Commit: f7f947e6208cb65ab1a29c4573bf927f967b9d5d
https://github.com/llvm/llvm-project/commit/f7f947e6208cb65ab1a29c4573bf927f967b9d5d
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
Log Message:
-----------
[InstCombine] Remove some uninteresting FIXMEs (NFC)
If there are two undef operands, the select would get folded away
entirely. One undef operand can occur if the other two operands
do not satisfy the poison implication check. However, I don't think
that handling this edge case is worthwhile in this fold. If we
wanted to handle this, it would be more natural to do so in the
simplifyValueKnownNonZero() fold (as this is actually the property
we would be exploiting -- this doesn't really have any relation
to taking the log2).
Commit: 8a2a65ffdf7fb2bb0195dcc0d1dc6705cef8bce5
https://github.com/llvm/llvm-project/commit/8a2a65ffdf7fb2bb0195dcc0d1dc6705cef8bce5
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/multi-tile-matmul.mlir
Log Message:
-----------
[mlir][ArmSME][test] Unroll reduction dimension in multi-tile-matmul.mlir (#81160)
This tests both #80148 and #80170 work together to allow unrolling the
reduction dimension of a matmul.
Commit: c90114c993ec1443360769a4d51963e3536de0ef
https://github.com/llvm/llvm-project/commit/c90114c993ec1443360769a4d51963e3536de0ef
Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/ScopeInfo.h
M clang/lib/Sema/SemaDecl.cpp
M clang/test/SemaCXX/warn-shadow-in-lambdas.cpp
Log Message:
-----------
[clang] Avoid -Wshadow warning when init-capture named same as class field (#74512)
Shadowing warning doesn't make much sense since field is not available
in lambda's body without capturing this.
Fixes https://github.com/llvm/llvm-project/issues/71976
Commit: b726a81947c40521e047385c5217933c18162187
https://github.com/llvm/llvm-project/commit/b726a81947c40521e047385c5217933c18162187
Author: Benji Smith <6193112+Benjins at users.noreply.github.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M llvm/docs/ReleaseNotes.rst
M llvm/include/llvm-c/Core.h
M llvm/lib/IR/Core.cpp
M llvm/unittests/IR/ConstantsTest.cpp
Log Message:
-----------
[C API] Add blockaddress getters to C API (#81382)
This allows for accessing the function/basic block that a blockaddress
constant refers to
Due to the difficulties of fully supporting cloning BlockAddress values
in echo.cpp, tests are instead done using a unit test.
This previously was up for review at
https://github.com/llvm/llvm-project/pull/77390.
Commit: 53c260d99e375f666c6cffa15f5fa261858147a2
https://github.com/llvm/llvm-project/commit/53c260d99e375f666c6cffa15f5fa261858147a2
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M flang/lib/Semantics/runtime-type-info.cpp
A flang/test/Semantics/typeinfo10.f90
Log Message:
-----------
[flang] ensure parent component are first in runtime type info (#81259)
Static info generated to describe derived types contain an array listing
the components of some derived type.
The parent component must be first for the runtime to properly works.
The current sort was only relying on the offset, but if the parent is an
empty type, this did not work properly because its offset did not
compare smaller than the first component and the parent was not added
first
Commit: 9d8a236164082a6d92a58eaafce1f733ce2e81a7
https://github.com/llvm/llvm-project/commit/9d8a236164082a6d92a58eaafce1f733ce2e81a7
Author: David Green <david.green at arm.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M llvm/lib/Analysis/BasicAliasAnalysis.cpp
M llvm/test/Analysis/BasicAA/vscale.ll
Log Message:
-----------
[BasicAA] Check for Overflow using vscale_range (#81144)
This extends #80818 when IsNSW is lost (possibly due to looking through
multiple GEPs), to check the vscale_range for an access that will not
overflow even with the maximum range.
Commit: d153ef6a34956e0fc580c0f4b8e4b9b76b93b522
https://github.com/llvm/llvm-project/commit/d153ef6a34956e0fc580c0f4b8e4b9b76b93b522
Author: Vyacheslav Levytskyy <89994100+VyacheslavLevytskyy at users.noreply.github.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVCallLowering.h
M llvm/lib/Target/SPIRV/SPIRVDuplicatesTracker.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
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/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.h
M llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp
M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_function_pointers/fp_const.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_function_pointers/fp_two_calls.ll
Log Message:
-----------
Add support for SPIR-V extension: SPV_INTEL_function_pointers (#80759)
This PR adds initial support for "SPV_INTEL_function_pointers" SPIR-V
extension:
https://github.com/intel/llvm/blob/sycl/sycl/doc/design/spirv-extensions/SPV_INTEL_function_pointers.asciidoc
The goal of the extension is to support indirect function calls and
translation of function pointers into SPIR-V.
Commit: 213b0ae4978581d382ba99107040122c5e69662b
https://github.com/llvm/llvm-project/commit/213b0ae4978581d382ba99107040122c5e69662b
Author: Serge Pavlov <sepavloff at gmail.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M llvm/lib/Target/ARM/ARMLegalizerInfo.cpp
M llvm/test/CodeGen/ARM/GlobalISel/fpenv.ll
Log Message:
-----------
[GlobalISel][ARM] legalize G_FPENV_RESET for soft-float mode (#81456)
Commit: c609846155279090a4f9e659f63fb851e4946cb7
https://github.com/llvm/llvm-project/commit/c609846155279090a4f9e659f63fb851e4946cb7
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M llvm/include/llvm/IR/Metadata.h
M llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
Log Message:
-----------
[TBAA] Extract logic to use TBAA tag for field of !tbaa.struct (NFC). (#81284)
Commit: 0bf4ff29816c0eead99ba576a2df2e3c4d214b1f
https://github.com/llvm/llvm-project/commit/0bf4ff29816c0eead99ba576a2df2e3c4d214b1f
Author: Martin Storsjö <martin at martin.st>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M lld/test/COFF/timestamp.test
Log Message:
-----------
[LLD] [test] Avoid printing timestamps past INT32_MAX with llvm-readobj (#81463)
If llvm-readobj is built with a 32 bit time_t, it can't print such
timestamps correctly.
Commit: b0958bd9dee3920f15ae266b276a6ad43022b4b5
https://github.com/llvm/llvm-project/commit/b0958bd9dee3920f15ae266b276a6ad43022b4b5
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M mlir/test/Dialect/Vector/vector-dropleadunitdim-transforms.mlir
Log Message:
-----------
[mlir][Vector] Add missing test (scalable vec + strided access) (#81296)
This is a follow-up for #81187, it simply adds missing tests for
scalable vectors.
Commit: 0c634537148f594203fbe946822cc38deca20ae3
https://github.com/llvm/llvm-project/commit/0c634537148f594203fbe946822cc38deca20ae3
Author: Mariusz Sikora <mariusz.sikora at amd.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
Log Message:
-----------
[AMDGPU][NFC] Docs - remove duplicates (#81465)
Commit: 5e6b4be5cbddbc7538cdae0f0889b116e386fcca
https://github.com/llvm/llvm-project/commit/5e6b4be5cbddbc7538cdae0f0889b116e386fcca
Author: David Green <david.green at arm.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M llvm/lib/Analysis/BasicAliasAnalysis.cpp
M llvm/test/Analysis/BasicAA/vscale.ll
Log Message:
-----------
[BasicAA] Treat different VScale intrinsics as the same value. (#81152)
The IR may contain multiple llvm.vscale intrinsics that have not been CSEd.
This patch ensures that multiple vscales can be treated the same, either in the
decomposition of geps and when we subtract one decomposition from another.
Commit: b21e3282864c9f7ad656c64bc375f5869ef76d19
https://github.com/llvm/llvm-project/commit/b21e3282864c9f7ad656c64bc375f5869ef76d19
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M llvm/lib/IR/Operator.cpp
Log Message:
-----------
[IR] Add ptradd fast path in accumulateConstantOffset() (NFC)
For getelementptr i8 (aka ptradd) we can skip the whole logic and
directly use the offset. As we're now canonicalizing to this form,
it's pretty common and worth having a fast-path for.
Commit: 7bc079c85219ad6e954fb6071cd108151203c85e
https://github.com/llvm/llvm-project/commit/7bc079c85219ad6e954fb6071cd108151203c85e
Author: Alexey Bataev <5361294+alexey-bataev at users.noreply.github.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AArch64/reduce-fadd.ll
M llvm/test/Analysis/CostModel/AArch64/reduce-minmax.ll
M llvm/test/Analysis/CostModel/X86/shuffle-extract_subvector-codesize.ll
M llvm/test/Analysis/CostModel/X86/shuffle-extract_subvector-latency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-extract_subvector-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-extract_subvector.ll
M llvm/test/Transforms/LowerMatrixIntrinsics/dot-product-float.ll
Log Message:
-----------
[TTI]Fallback to SingleSrcPermute shuffle kind, if no direct estimation for
extract subvector.
Many targets do not have cost for extractsubvector shuffle kind, but
have the costs for single source permute. If there are no costs
estimation for extractsubvector, better to switchto single source
permute for better cost estimation.
Reviewers: RKSimon, davemgreen, arsenm
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/79837
Commit: 268799cc59ef7af237278d058c6e2ee2c8eb227d
https://github.com/llvm/llvm-project/commit/268799cc59ef7af237278d058c6e2ee2c8eb227d
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/Pointer.cpp
Log Message:
-----------
[clang][Interp][NFC] Refactor Pointer::toAPValue()
Use early-out style rather than letting control flow through
the entire function.
Commit: 0940f9083e68bda78bcbb323c2968a4294092e21
https://github.com/llvm/llvm-project/commit/0940f9083e68bda78bcbb323c2968a4294092e21
Author: Alexey Bataev <5361294+alexey-bataev at users.noreply.github.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/RISCV/complex-loads.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/strided-loads-vectorized.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/strided-loads-with-external-use-ptr.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/strided-loads.ll
M llvm/test/Transforms/SLPVectorizer/X86/gep-nodes-with-non-gep-inst.ll
M llvm/test/Transforms/SLPVectorizer/X86/remark_gather-load-redux-cost.ll
Log Message:
-----------
[SLP]Add support for strided loads.
Added basic support for strided loads support in SLP vectorizer.
Supports constant strides only. If the strided load must be
reversed, applies -stride to avoid extra reverse shuffle.
Reviewers: preames, lukel97
Reviewed By: preames
Pull Request: https://github.com/llvm/llvm-project/pull/80310
Commit: 45260bf23b802047ab4fd888b8bf2b32e4c5eb69
https://github.com/llvm/llvm-project/commit/45260bf23b802047ab4fd888b8bf2b32e4c5eb69
Author: Petr <piter.zh at gmail.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVVMReflect.cpp
Log Message:
-----------
Fix use after free error in NVVMReflect (#81471)
I have a Triton kernel, which triggered a heap-use-after-free error in
LLVM.
The problem was that the same instruction may be added to the
`ToSimplify` array multiple times. If this duplicate instruction is
trivially dead, it gets deleted on the first pass. Then, on the second
pass, the freed instruction is passed.
To fix this, I'm adding the instructions to the `ToRemove` array and
filter it out for duplicates to avoid possible double frees.
Commit: 2ac8e6b7f5b8f495f496a55512e5ea452beb0bca
https://github.com/llvm/llvm-project/commit/2ac8e6b7f5b8f495f496a55512e5ea452beb0bca
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/test/CodeGen/NVPTX/intrinsics.ll
Log Message:
-----------
[NVPTX] Implement `__builtin_readcyclecounter` on NVPTX (#81344)
Summary:
This patch simply states that `__builtin_readcyclecounter` is legal on
NVPTX and makes it return the value from the `clock64` sreg. The timer
intrinsics are marked as having side effects, which is desireable for
timing primitives and required to pattern match the instrinic DAG.
Commit: d1c481d27db07acb6fa68a244bb110bd7ad57a05
https://github.com/llvm/llvm-project/commit/d1c481d27db07acb6fa68a244bb110bd7ad57a05
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M llvm/test/CodeGen/X86/tailcall-cgp-dup.ll
Log Message:
-----------
[CGP] Precommit tests for PR76613 (NFC)
Commit: 8373ceef8f2ee377d6daf884e2f3ea11408a7fe2
https://github.com/llvm/llvm-project/commit/8373ceef8f2ee377d6daf884e2f3ea11408a7fe2
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/test/CodeGen/X86/tailcall-cgp-dup.ll
Log Message:
-----------
[CGP] Extend `dupRetToEnableTailCallOpts` to known intrinsics
Hint further tail call optimization opportunities when the examined
returned value is the return value of a known intrinsic or library
function, and it appears as first function argument.
Fixes: https://github.com/llvm/llvm-project/issues/75455.
Commit: afa413a132c0959295df36c28814ee83948e4931
https://github.com/llvm/llvm-project/commit/afa413a132c0959295df36c28814ee83948e4931
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
M llvm/test/Instrumentation/HWAddressSanitizer/dbg-declare-tag-offset.ll
Log Message:
-----------
[RemoveDIs][DebugInfo] Correctly visit DPValues in StackInfoBuilder::visit (#81247)
In `StackInfoBuilder::visit(Instruction &Inst)`, operations are
performed on memory-related instructions, including debug intrinsics
that refer to "interesting" allocas. There is a block that also visits
DPValues attached to the instruction, but this block is near the end of
the function; this has two problems:
1. The DPValues attached to an instruction precede that instruction, so
they should always be processed before the instruction itself.
2. More importantly, some of the paths for visiting other instructions
contain early returns, which will result in the DPValues not being
visited at all.
This patch simply moves the DPValue-visiting block to the top of the
function, which should resolve both of these problems.
Commit: f5fd0deb2371d0bae3bef2563f50e005a140fc6d
https://github.com/llvm/llvm-project/commit/f5fd0deb2371d0bae3bef2563f50e005a140fc6d
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M clang/docs/ClangLinkerWrapper.rst
M clang/test/Driver/linker-wrapper.c
M llvm/lib/Object/OffloadBinary.cpp
Log Message:
-----------
[LinkerWrapper][NFC] Rename 'all' to 'generic' for architecture agnostic IR
Summary:
A previous patch introduced `all` as a special architecture. I have
decided I do not like this name and have changed it to `generic`.
Commit: 50ed98f1cf2516c59de0351fa683639c937782ea
https://github.com/llvm/llvm-project/commit/50ed98f1cf2516c59de0351fa683639c937782ea
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M clang/lib/Format/FormatToken.cpp
Log Message:
-----------
Revert "Reland "[clang-format] Update FormatToken::isSimpleTypeSpecifier() (#80241)""
The change caused an asan crash when running the `QualifierFixerTest.IsQualifierType` unittest, see
details: https://github.com/llvm/llvm-project/pull/80241#issuecomment-1938749844
This reverts commit 7f40c5cc4e15a0a67b031f13370afc342a5dc14b.
Commit: 6a471611a4b98396abb0680229aa0694ffe88a43
https://github.com/llvm/llvm-project/commit/6a471611a4b98396abb0680229aa0694ffe88a43
Author: Hirofumi Nakamura <k.nakamura.hirofumi at gmail.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M clang/lib/Format/FormatToken.h
M clang/lib/Format/FormatTokenLexer.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Support of TableGen value annotations. (#80299)
This implements the annotation of the values in TableGen.
The main changes are,
- parseTableGenValue(), the simplified parser method for the syntax of
values.
- modified consumeToken() to parseTableGenValue in 'if', 'assert' and
after '='.
- modified parseParens() to call parseTableGenValue inside.
- modified parseSquare() to to call parseTableGenValue inside, with
skipping separator tokens.
- modified parseAngle() to call parseTableGenValue inside, with skipping
separator tokens.
Commit: 2b5e4eeb26ce57a8d7c2835cffc80388f43f044a
https://github.com/llvm/llvm-project/commit/2b5e4eeb26ce57a8d7c2835cffc80388f43f044a
Author: Balázs Kéri <balazs.keri at ericsson.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M clang/docs/analyzer/checkers.rst
M clang/www/analyzer/alpha_checks.html
Log Message:
-----------
[clang][analyzer] Remove 'alpha.core.CallAndMessageUnInitRefArg' from documentation (NFC). (#81138)
This checker does not exist (any more?) but appeared in the
documentation. No other references to CallAndMessageUnInitRefArg are
found in the full clang code.
Commit: 15b0cc1212701908400e8059c6581ffe85d8070f
https://github.com/llvm/llvm-project/commit/15b0cc1212701908400e8059c6581ffe85d8070f
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
Log Message:
-----------
[clang][Interp][NFC] Move a declaration into an if statement
Commit: ea8de6e4336cf82aa541c6ad951b62585c3ea55c
https://github.com/llvm/llvm-project/commit/ea8de6e4336cf82aa541c6ad951b62585c3ea55c
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/Pointer.cpp
Log Message:
-----------
[clang][Interp][NFC] Make two local variables const
Commit: 635dfd5d69c6be52a8a2bb612f3483d9a1226cfa
https://github.com/llvm/llvm-project/commit/635dfd5d69c6be52a8a2bb612f3483d9a1226cfa
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/Interp.h
M clang/lib/AST/Interp/Pointer.cpp
M clang/test/AST/Interp/c.c
Log Message:
-----------
[clang][Interp] Fix a designated initializer testcase
This protected GetPtrField and ArrayDecay ops from dummy pointers
which fixes the attached test case for designated initializers in C.
Commit: 85598ae35aa61f1f5fcf9fd19657768985806d9f
https://github.com/llvm/llvm-project/commit/85598ae35aa61f1f5fcf9fd19657768985806d9f
Author: Tarun Prabhu <tarun at lanl.gov>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M flang/docs/GettingInvolved.md
Log Message:
-----------
[flang][docs] Update meeting link for technical call and some cleanup (#81147)
Added the meeting numbers and passcodes for both the technical and
community calls, just in case. Removed an obsolete reference to "LLVM
flang and current flang". Some minor stylistic edits.
Commit: 32eb95cc40d93bc5fb67e0b52531f7620204ec8c
https://github.com/llvm/llvm-project/commit/32eb95cc40d93bc5fb67e0b52531f7620204ec8c
Author: nikitalita <69168929+nikitalita at users.noreply.github.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M llvm/include/llvm/DebugInfo/CodeView/CodeView.h
M llvm/lib/DebugInfo/CodeView/EnumTables.cpp
M llvm/lib/DebugInfo/CodeView/TypeDumpVisitor.cpp
M llvm/lib/DebugInfo/PDB/PDBExtras.cpp
M llvm/lib/ObjectYAML/CodeViewYAMLTypes.cpp
M llvm/test/DebugInfo/COFF/swift.ll
M llvm/tools/llvm-pdbutil/MinimalSymbolDumper.cpp
M llvm/tools/llvm-pdbutil/MinimalTypeDumper.cpp
Log Message:
-----------
[DebugInfo] Update CodeView enums (#71038)
This adds the following values to the CodeView.h enums (and updates the
various functions that use them):
* CPUType:
* Added `Unknown`
* This is not currently documented in the online documentation, but this
is present in `cvconst.h` in the latest DIA SDK (Visual Studio 2022,
17.7.6)
* `Unknown` is the CPUType that is emitted by `aliasobj.exe` in the
Compile3Sym records, and can be found in objects that link with
`oldnames.lib`
![image](https://github.com/llvm/llvm-project/assets/69168929/8ee7b032-761b-45da-8439-d07aba797940)
* SourceLanguage (All of these are documented at
https://learn.microsoft.com/en-us/visualstudio/debugger/debug-interface-access/cv-cfl-lang?view=vs-2022
and are present in `cvconst.h` in the latest DIA SDK (Visual Studio
2022, 17.7.6))
* Added Go
* Added AliasObj
* emitted by `aliasobj.exe` in certain records, can be found in PDBs
that link with `oldnames.lib`
* Changed Swift to the official Microsoft enumeration
* Added `OldSwift`
* The old Swift enumeration of `S` was changed to `OldSwift` to allow
pdb dumping utilities to continue to emit correct source language
information for old PDBs
### WARNING
The `Swift` change is a potentially breaking change, as the swift
compiler will now emit `0x13` for the SourceLanguage type in PDB records
instead of `S`. This could potentially break utilities that relied on
the old enum value.
* CallType
* Added Swift
* This is not currently documented in the online documentation, but this
is present in `cvconst.h` in the latest DIA SDK (Visual Studio 2022,
17.7.6)
Commit: c9afeaa6434a61b3b3a57c8eda6d2cfb25ab675b
https://github.com/llvm/llvm-project/commit/c9afeaa6434a61b3b3a57c8eda6d2cfb25ab675b
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
Log Message:
-----------
[format] Remove an unused variable.
Commit: 69ddf1eb4dc27331083dff49e60033265ae4b568
https://github.com/llvm/llvm-project/commit/69ddf1eb4dc27331083dff49e60033265ae4b568
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M llvm/test/CodeGen/X86/load-combine.ll
Log Message:
-----------
[X86] Add test for #80911 (NFC)
Commit: d08d3159d5ee0ee127d3581776ef569b8a6113af
https://github.com/llvm/llvm-project/commit/d08d3159d5ee0ee127d3581776ef569b8a6113af
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/test/Sema/aarch64-sme-func-attrs.c
Log Message:
-----------
[clang][sema][FMV] Forbid multi-versioning arm_streaming functions. (#81268)
The streaming mode change is incompatible with the ifunc mechanism used
to implement FMV: we can't conditionally change it based on the
particular callee that is resolved at runtime.
Fixes: https://github.com/llvm/llvm-project/issues/80077
Commit: 5c9f7682b090124d9a8b69f92d3f7c269dca25fc
https://github.com/llvm/llvm-project/commit/5c9f7682b090124d9a8b69f92d3f7c269dca25fc
Author: Stephen Tozer <Stephen.Tozer at Sony.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M llvm/lib/IR/BasicBlock.cpp
Log Message:
-----------
Reapply "[DebugInfo][RemoveDIs] Turn on non-instrinsic debug-info by default"
This reapplies commit bdde5f9bea75e897bcc31a95b9c3376988c211cc.
The above commit previously failed due to buildbot errors:
https://lab.llvm.org/buildbot/#/builders/205/builds/25126
https://lab.llvm.org/buildbot/#/builders/184/builds/10242
These failures should have been respectively resolved by the commits:
afa413a132c0959295df36c28814ee83948e4931
b5a273a1cfe6f509f8d2541e04d9186438f33348
As noted in the original commit, this commit may break downstream tests.
If this commit is breaking your downstream tests, please see comment 12 in
[0], which documents the kind of variation in tests we'd expect to see from
this change and what to do about it.
[0] https://discourse.llvm.org/t/rfc-instruction-api-changes-needed-to-eliminate-debug-intrinsics-from-ir/68939
Commit: 70caa316e955a35904e34961c79d75935b7d906f
https://github.com/llvm/llvm-project/commit/70caa316e955a35904e34961c79d75935b7d906f
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
Log Message:
-----------
[Matrix] Refactor shape info computation (NFCI).
Factor our forward shape computation for a given instruction. This
allows re-use in a follow-up fix.
Commit: 76eb8e35d6631827c0450e9d5f4743e410d4151a
https://github.com/llvm/llvm-project/commit/76eb8e35d6631827c0450e9d5f4743e410d4151a
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/Pointer.cpp
Log Message:
-----------
[clang][Interp] Fix marking results as nullptr
I screwed this up in an earlier NFC commit, but the isZero()
case needs to set IsNullPtr to true of course.
Commit: 1da7f410bcd831d4b2c3166b672d93c8110edfc0
https://github.com/llvm/llvm-project/commit/1da7f410bcd831d4b2c3166b672d93c8110edfc0
Author: Paul T Robinson <paul.robinson at sony.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M clang/lib/Headers/ia32intrin.h
Log Message:
-----------
[Headers][X86] Editorial fixes to ia32intrin.h descriptions (#80490)
Use indicative not imperative; fix missing capitalization; spell out
some abbreviations; "time-stamp" not "time stamp"; and similar.
Commit: 673e5e34b40071b2762c5ac1fea32c3596fe4dd3
https://github.com/llvm/llvm-project/commit/673e5e34b40071b2762c5ac1fea32c3596fe4dd3
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
A llvm/test/Transforms/LowerMatrixIntrinsics/transpose-opts-lifting.ll
Log Message:
-----------
[Matrix] Add dedicated tests for transpose lifting.
Add extra test coverage for transpose lifting using
-matrix-print-after-transpose-opt.
The added tests show a mis-compile.
Commit: ab702513f1ee2268ce216d11c310a08cae24a0e7
https://github.com/llvm/llvm-project/commit/ab702513f1ee2268ce216d11c310a08cae24a0e7
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
M mlir/test/Dialect/Vector/ops.mlir
Log Message:
-----------
[mlir][VectorOps] Add vector.interleave operation (#80965)
The interleave operation constructs a new vector by interleaving the
elements from the trailing (or final) dimension of two input vectors,
returning a new vector where the trailing dimension is twice the size.
Note that for the n-D case this differs from the interleaving possible
with `vector.shuffle`, which would only operate on the leading
dimension.
Another key difference is this operation supports scalable vectors,
though currently a general LLVM lowering is limited to the case where
only the trailing dimension is scalable.
Example:
```mlir
%0 = vector.interleave %a, %b
: vector<[4]xi32> ; yields vector<[8]xi32>
%1 = vector.interleave %c, %d
: vector<8xi8> ; yields vector<16xi8>
%2 = vector.interleave %e, %f
: vector<f16> ; yields vector<2xf16>
%3 = vector.interleave %g, %h
: vector<2x4x[2]xf64> ; yields vector<2x4x[4]xf64>
%4 = vector.interleave %i, %j
: vector<6x3xf32> ; yields vector<6x6xf32>
```
Note: This change alone does not add any lowerings.
Commit: d2d6b368a17547a847baf2c9767ad8c1686e58d1
https://github.com/llvm/llvm-project/commit/d2d6b368a17547a847baf2c9767ad8c1686e58d1
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/llvm-libc-macros/stdbit-macros.h
M libc/spec/stdc.td
M libc/src/__support/CPP/bit.h
M libc/src/stdbit/CMakeLists.txt
A libc/src/stdbit/stdc_first_leading_zero_uc.cpp
A libc/src/stdbit/stdc_first_leading_zero_uc.h
A libc/src/stdbit/stdc_first_leading_zero_ui.cpp
A libc/src/stdbit/stdc_first_leading_zero_ui.h
A libc/src/stdbit/stdc_first_leading_zero_ul.cpp
A libc/src/stdbit/stdc_first_leading_zero_ul.h
A libc/src/stdbit/stdc_first_leading_zero_ull.cpp
A libc/src/stdbit/stdc_first_leading_zero_ull.h
A libc/src/stdbit/stdc_first_leading_zero_us.cpp
A libc/src/stdbit/stdc_first_leading_zero_us.h
M libc/test/include/stdbit_test.cpp
M libc/test/src/__support/CPP/bit_test.cpp
M libc/test/src/stdbit/CMakeLists.txt
A libc/test/src/stdbit/stdc_first_leading_zero_uc_test.cpp
A libc/test/src/stdbit/stdc_first_leading_zero_ui_test.cpp
A libc/test/src/stdbit/stdc_first_leading_zero_ul_test.cpp
A libc/test/src/stdbit/stdc_first_leading_zero_ull_test.cpp
A libc/test/src/stdbit/stdc_first_leading_zero_us_test.cpp
Log Message:
-----------
[libc][stdbit] implement stdc_first_leading_zero (C23) (#81340)
Commit: cf55e61dd916d7ba042b9d072d07c3a0b50a815f
https://github.com/llvm/llvm-project/commit/cf55e61dd916d7ba042b9d072d07c3a0b50a815f
Author: Konstantin Zhuravlyov <kzhuravl_dev at outlook.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SOPInstructions.td
M llvm/test/MC/AMDGPU/gfx12_asm_sopp.s
M llvm/test/MC/AMDGPU/gfx12_unsupported.s
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sopp.txt
Log Message:
-----------
AMDGPU: Don't allow s_barrier on gfx12 (#81317)
- s_barrier is not present on gfx12
Commit: 30338223e461a00463cef665ec29d8f5a8ef2cda
https://github.com/llvm/llvm-project/commit/30338223e461a00463cef665ec29d8f5a8ef2cda
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M clang/include/clang/Basic/IdentifierTable.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
Log Message:
-----------
[clang] Refactor `IdentifierInfo::ObjcOrBuiltinID` (#71709)
This patch refactors how values are stored inside
`IdentifierInfo::ObjcOrBuiltinID` bit-field, and annotates it with
`preferred_type`. In order to make the value easier to interpret by
debuggers, a new `ObjCKeywordOrInterestingOrBuiltin` enum is added.
Previous "layout" of this fields couldn't be represented with this new enum,
because it skipped over some arbitrary enumerators, so a new "layout"
was invented, which is reflected in `ObjCKeywordOrInterestingOrBuiltin` enum. I
believe the new layout is simpler than the new one.
Commit: b5046a7fa9b38cfcc3980b83a93db678871ad350
https://github.com/llvm/llvm-project/commit/b5046a7fa9b38cfcc3980b83a93db678871ad350
Author: Andrei Safronov <safronov at espressif.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M llvm/lib/Target/Xtensa/CMakeLists.txt
A llvm/lib/Target/Xtensa/Xtensa.h
A llvm/lib/Target/Xtensa/XtensaAsmPrinter.cpp
A llvm/lib/Target/Xtensa/XtensaAsmPrinter.h
A llvm/lib/Target/Xtensa/XtensaFrameLowering.cpp
A llvm/lib/Target/Xtensa/XtensaFrameLowering.h
A llvm/lib/Target/Xtensa/XtensaISelDAGToDAG.cpp
A llvm/lib/Target/Xtensa/XtensaISelLowering.cpp
A llvm/lib/Target/Xtensa/XtensaISelLowering.h
A llvm/lib/Target/Xtensa/XtensaInstrInfo.cpp
A llvm/lib/Target/Xtensa/XtensaInstrInfo.h
A llvm/lib/Target/Xtensa/XtensaRegisterInfo.cpp
A llvm/lib/Target/Xtensa/XtensaRegisterInfo.h
A llvm/lib/Target/Xtensa/XtensaSubtarget.cpp
A llvm/lib/Target/Xtensa/XtensaSubtarget.h
M llvm/lib/Target/Xtensa/XtensaTargetMachine.cpp
M llvm/lib/Target/Xtensa/XtensaTargetMachine.h
A llvm/test/CodeGen/Xtensa/lit.local.cfg
A llvm/test/CodeGen/Xtensa/simple.ll
Log Message:
-----------
[Xtensa] Initial codegen support from IR (#78548)
This PR provides implementation of the basic codegen infra such as
TargetFrameLowering, MCInstLower,
AsmPrinter, RegisterInfo, InstructionInfo, TargetLowering,
SelectionDAGISel.
Migrated from https://reviews.llvm.org/D145658
Commit: 595d8d4e856217f69dc05448ae852c24e65cc181
https://github.com/llvm/llvm-project/commit/595d8d4e856217f69dc05448ae852c24e65cc181
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M llvm/utils/TableGen/CodeGenRegisters.cpp
Log Message:
-----------
[TableGen] Make use of find_if. NFC.
Commit: 6a3a5cad2e1249f1b685546ebe71b2ead9a27541
https://github.com/llvm/llvm-project/commit/6a3a5cad2e1249f1b685546ebe71b2ead9a27541
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/RISCV/complex-loads.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/strided-loads-vectorized.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/strided-loads-with-external-use-ptr.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/strided-loads.ll
M llvm/test/Transforms/SLPVectorizer/X86/gep-nodes-with-non-gep-inst.ll
M llvm/test/Transforms/SLPVectorizer/X86/remark_gather-load-redux-cost.ll
Log Message:
-----------
Revert "[SLP]Add support for strided loads."
This reverts commit 0940f9083e68bda78bcbb323c2968a4294092e21 to fix
issues reported in https://github.com/llvm/llvm-project/pull/80310.
Commit: 7d9c38a040d778338131fbbcc094aa412dc9306a
https://github.com/llvm/llvm-project/commit/7d9c38a040d778338131fbbcc094aa412dc9306a
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/Transforms/ArrayValueCopy.cpp
Log Message:
-----------
[flang][NFC] Remove hardcoded attr name for fir.global op (#81347)
These hardcoded attribute name are a leftover from the upstreaming
period when there was no way to get the attribute name without an
instance of the operation. It is since possible to do without them and
they should be removed to avoid duplication.
This PR cleanup the fir.global op of these hardcoded attribute name and
use their generated getters. Some other PRs will follow to cleanup other
operations.
Commit: 165fdaab213d3e3e7461344b4fc504f04dcba571
https://github.com/llvm/llvm-project/commit/165fdaab213d3e3e7461344b4fc504f04dcba571
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/lib/Optimizer/Dialect/FIROps.cpp
Log Message:
-----------
[flang][NFC] Remove hardcoded attr name for fir.dispatch and fid.dt_entry ops (#81348)
These hardcoded attribute name are a leftover from the upstreaming
period when there was no way to get the attribute name without an
instance of the operation. It is since possible to do without them and
they should be removed to avoid duplication.
This PR cleanup the fir.dt_entry and fir.dispatch ops of these hardcoded
attribute name and use their generated getters. Some other PRs will
follow to cleanup other operations.
Commit: f559c2efe195b54ebc0f0a0077918483a25a6ae4
https://github.com/llvm/llvm-project/commit/f559c2efe195b54ebc0f0a0077918483a25a6ae4
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M clang/lib/Sema/SemaChecking.cpp
Log Message:
-----------
[clang][Sema][NFC] Use auto for dyn_cast<>
Commit: 44d85c5b15bbf6226f442126735b764d81cbf6e3
https://github.com/llvm/llvm-project/commit/44d85c5b15bbf6226f442126735b764d81cbf6e3
Author: Usman Nadeem <mnadeem at quicinc.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
Log Message:
-----------
[AArch64][SVE2] Use a PatFrag for URSHR (#81304)
Follow-up for #78374
Commit: 0b6e04005ca0eab7c5566950d8595379a9f72d41
https://github.com/llvm/llvm-project/commit/0b6e04005ca0eab7c5566950d8595379a9f72d41
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
Log Message:
-----------
[RISCV] Exclude X1 and X5 from register scavenging for long branch. (#80215)
When a branch target is too far away we need to emit an indirect branch.
We scavenge a register for this since we don't know we need this until
after register allocation.
Jumps using X1 and X5 as the source are hints to the hardware to pop the
return-address stack. We should avoiding using them for jumps that
aren't a return or tail call.
Commit: 1114ac4399a8a5725a7ce79a5189f3467e43ba7a
https://github.com/llvm/llvm-project/commit/1114ac4399a8a5725a7ce79a5189f3467e43ba7a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/zcmp-with-float.ll
Log Message:
-----------
[RISCV] Remove stale comment from test. NFC (#81098)
The bug mentioned in the comment has been committed and did change the
cfi_offset.
Commit: 9ecf4d20bbfabdcd11c9058363903f975a652e7b
https://github.com/llvm/llvm-project/commit/9ecf4d20bbfabdcd11c9058363903f975a652e7b
Author: David Truby <david.truby at arm.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M flang/lib/Lower/OpenMP.cpp
M flang/test/Lower/OpenMP/FIR/parallel-reduction-add.f90
M flang/test/Lower/OpenMP/parallel-reduction-add.f90
A flang/test/Lower/OpenMP/parallel-reduction.f90
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Dialect/OpenMP/ops.mlir
M mlir/test/Target/LLVMIR/openmp-reduction.mlir
Log Message:
-----------
[mlir][flang][openmp] Rework parallel reduction operations (#79308)
This patch reworks the way that parallel reduction operations function
to better match the expected semantics from the OpenMP specification.
Previously specific omp.reduction operations were used inside the
region, meaning that the reduction only applied when the correct
operation was used, whereas the specification states that any change to
the variable inside the region should be taken into account for the
reduction.
The new semantics create a private reduction variable as a block
argument which should be used normally for all operations on that
variable in the region; this private variable is then combined with the
others into the shared variable. This way no special omp.reduction
operations are needed inside the region.
This patch only makes the change for the `parallel` operation, the
change for the `wsloop` operation will be in a separate patch.
---------
Co-authored-by: Kiran Chandramohan <kiran.chandramohan at arm.com>
Commit: a8b4c11f9d51f3d735f76c98367c87d6ff328a32
https://github.com/llvm/llvm-project/commit/a8b4c11f9d51f3d735f76c98367c87d6ff328a32
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M llvm/include/llvm/ObjectYAML/DWARFEmitter.h
M llvm/include/llvm/ObjectYAML/DWARFYAML.h
M llvm/lib/ObjectYAML/DWARFEmitter.cpp
M llvm/lib/ObjectYAML/DWARFYAML.cpp
M llvm/unittests/DebugInfo/DWARF/DWARFAcceleratorTableTest.cpp
Log Message:
-----------
[DWARFYAML] Implement debug_names support (#79666)
This commit brings support for debug_names in DWARFYAML. It parses YAML
and generates emits a DWARF5 Accelerator table with the following
limitations:
1. All forms must have a fixed length (zero length is also ok).
2. Hard-coded support for DWARF 5 and DWARF32.
3. The generated table does not contain a hash index
All of these limitations can be lifted in the future, but for now this
is good enough to enable testing.
Commit: dfbe2bca1d8ccee87f032562fd60214ca8ea0d22
https://github.com/llvm/llvm-project/commit/dfbe2bca1d8ccee87f032562fd60214ca8ea0d22
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/TemplateDeduction.h
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
Log Message:
-----------
[clang][NFC] Refactor `Sema::TemplateDeductionResult` (#81398)
This patch converts `Sema::TemplateDeductionResult` into a scoped enum
in namespace scope, making it eligible for forward declaring. This is
useful in certain contexts, such as `preferred_type` annotations on
bit-fields.
Commit: 20948df25d0401f248ec754dfa22422e20377662
https://github.com/llvm/llvm-project/commit/20948df25d0401f248ec754dfa22422e20377662
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M llvm/include/llvm/DebugInfo/DWARF/DWARFVerifier.h
M llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp
A llvm/test/tools/llvm-dwarfdump/X86/debug-str-offsets-mixed-dwarf-4-5.yaml
M llvm/test/tools/llvm-dwarfdump/X86/verify_invalid_str_offsets.yaml
Log Message:
-----------
[DWARFVerifier] Fix debug_str_offsets DWARF version detection (#81303)
The DWARF 5 debug_str_offsets section starts with a header, which must
be skipped in order to access the underlying `strp`s.
However, the verifier supports some pre-standardization version of this
section (with the same section name), which does not have a header. In
this case, the offsets start on the first byte of the section. More in
[1] and [2] about this legacy section.
How does The DWARF verifier figure out which version to use? It manually
reads the **first** header in debug_info and uses that. This is wrong
when multiple debug_str_offset sections have been linked together, in
particular it is wrong in the following two cases:
1. A standard DWARF 4 object file (i.e. no debug_str_offsets) linked
with a standard DWARF 5 object file.
2. A non-standard DWARF 4 object file (i.e. containing the header-less
debug_str_offsets section) linked with a standard DWARF 5 object file.
Based on discussions in https://github.com/llvm/llvm-project/pull/81210,
the legacy version is only possible with dwo files, and dwo files cannot
mix the legacy version with the dwarf 5 version. As such, we change the
verifier to only check the debug_info header in the case of dwo files.
If it sees a dwarf 4 version, it handles it the legacy way.
Note: the modified test was technically testing an unsupported
combination of dwarf version + non-dwo sections. To see why, simply note
that the test contained no `debug_info.dwo` sections, so the call to
DWARFObject::forEachInfoDWOSections was doing nothing. We were finding
the error through the "standard version", which shouldn't happen.
[1]: https://gcc.gnu.org/wiki/DebugFission
[2]: https://gcc.gnu.org/wiki/DebugFissionDWP
Commit: 5fdd094837c6d8437803ebf3ccc91c3d494a2ac8
https://github.com/llvm/llvm-project/commit/5fdd094837c6d8437803ebf3ccc91c3d494a2ac8
Author: Logikable <seanluchen at google.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M clang/lib/CodeGen/CGAtomic.cpp
M clang/test/CodeGen/LoongArch/atomics.c
M clang/test/CodeGen/PowerPC/quadword-atomics.c
M clang/test/CodeGen/RISCV/riscv-atomics.c
M clang/test/CodeGen/SystemZ/gnu-atomic-builtins-i128-8Al.c
M clang/test/CodeGen/arm-atomics-m.c
M clang/test/CodeGen/arm-atomics-m0.c
M clang/test/CodeGen/atomic-ops-libcall.c
M clang/test/CodeGen/atomic-ops.c
M clang/test/CodeGen/atomics-inlining.c
M clang/test/CodeGen/c11atomics.c
M clang/test/CodeGenCXX/atomic-inline.cpp
M clang/test/CodeGenOpenCL/atomic-ops-libcall.cl
Log Message:
-----------
[clang][CodeGen] Emit atomic IR in place of optimized libcalls. (#73176)
In the beginning, Clang only emitted atomic IR for operations it knew
the
underlying microarch had instructions for, meaning it required
significant
knowledge of the target. Later, the backend acquired the ability to
lower
IR to libcalls. To avoid duplicating logic and improve logic locality,
we'd like to move as much as possible to the backend.
There are many ways to describe this change. For example, this change
reduces the variables Clang uses to decide whether to emit libcalls or
IR, down to only the atomic's size.
Commit: 4c654b7b91aff61728619fc3cc955fa5169d17c6
https://github.com/llvm/llvm-project/commit/4c654b7b91aff61728619fc3cc955fa5169d17c6
Author: Rolf Morel <rolfmorel at gmail.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M mlir/python/mlir/dialects/transform/loop.py
M mlir/test/python/dialects/transform_loop_ext.py
Log Message:
-----------
[MLIR][Python] Add missing peel_front argument to LoopPeelOp's extension class (#81424)
Commit: 833a1cadeb7d2b173e5658d7516a2f8435fe7770
https://github.com/llvm/llvm-project/commit/833a1cadeb7d2b173e5658d7516a2f8435fe7770
Author: Alexey Bataev <5361294+alexey-bataev at users.noreply.github.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/RISCV/complex-loads.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/strided-loads-vectorized.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/strided-loads-with-external-use-ptr.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/strided-loads.ll
M llvm/test/Transforms/SLPVectorizer/X86/gep-nodes-with-non-gep-inst.ll
M llvm/test/Transforms/SLPVectorizer/X86/remark_gather-load-redux-cost.ll
Log Message:
-----------
[SLP]Add support for strided loads.
Added basic support for strided loads support in SLP vectorizer.
Supports constant strides only. If the strided load must be
reversed, applies -stride to avoid extra reverse shuffle.
Reviewers: preames, lukel97
Reviewed By: preames
Pull Request: https://github.com/llvm/llvm-project/pull/80310
Commit: 73ce0aed35eaeaf7e2d5c464a68fca7d946834bf
https://github.com/llvm/llvm-project/commit/73ce0aed35eaeaf7e2d5c464a68fca7d946834bf
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Port for 9ecf4d20bbfabdcd11c9058363903f975a652e7b
Commit: a3dcc7ab3a4121a4185eab102fdbe39bbd7bf89f
https://github.com/llvm/llvm-project/commit/a3dcc7ab3a4121a4185eab102fdbe39bbd7bf89f
Author: J. Ryan Stinnett <jryans at gmail.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M llvm/docs/RemoveDIsDebugInfo.md
Log Message:
-----------
[Docs][DebugInfo][RemoveDIs] Revise debug info migration guide title (#81480)
Commit: 815e0485a47fa0794e0eccf93a4f4dc928881c6f
https://github.com/llvm/llvm-project/commit/815e0485a47fa0794e0eccf93a4f4dc928881c6f
Author: Mirko Brkušanin <Mirko.Brkusanin at amd.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/lib/Target/AMDGPU/VOPCInstructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
M llvm/test/MC/AMDGPU/gfx11-promotions.s
Log Message:
-----------
[AMDGPU][MC] Fix printing vcc(_lo) twice for VOPC DPP instrucitons (#81158)
Commit: fb48fd18c240574841378defacadff34238089bb
https://github.com/llvm/llvm-project/commit/fb48fd18c240574841378defacadff34238089bb
Author: Fangrui Song <i at maskray.me>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M clang/test/Driver/hlsl-lang-targets.hlsl
Log Message:
-----------
[Driver,test] Fix hlsl-lang-targets.hlsl after #78655
Commit: b04dd5d187306df9cc7e53ec5a84c1324be63eb8
https://github.com/llvm/llvm-project/commit/b04dd5d187306df9cc7e53ec5a84c1324be63eb8
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/SystemZ/reorder-same-node.ll
Log Message:
-----------
[SLP]FIx PR81403: compiler crah because wrongly resized vector value.
The mask for the reshuffling/resizing might be calculated incorrectly,
fixed.
Commit: a9845d602288263a5e2c260ac1a9655ae6b7b119
https://github.com/llvm/llvm-project/commit/a9845d602288263a5e2c260ac1a9655ae6b7b119
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
A clang/test/CXX/drs/dr124.cpp
A clang/test/CXX/drs/dr185.cpp
A clang/test/CXX/drs/dr193.cpp
A clang/test/CXX/drs/dr199.cpp
M clang/test/CXX/drs/dr1xx.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[clang] Add some CodeGen tests for CWG 1xx issues (#80338)
Covers CWG issues
[124](https://cplusplus.github.io/CWG/issues/124.html)
[185](https://cplusplus.github.io/CWG/issues/185.html),
[193](https://cplusplus.github.io/CWG/issues/193.html),
[199](https://cplusplus.github.io/CWG/issues/199.html).
I also looked at [190](https://cplusplus.github.io/CWG/issues/190.html),
but concluded that we should try to test it via C++20
`std::is_layout_compatible` first.
I tried to group tests under `dr1xx-codegen.cpp`, but found out that
CodeGen can arbitrarily reorder function definitions in LLVM module. In
particular, interleaving between regular function definitions and
destructor definitions present in the source might not be preserved,
which messes up FileCheck directives. `CHECK-DAG` can help with that,
but its interaction with `CHECK-LABEL` (lack of thereof) would require
me to relax tests too much.
Commit: 75a1c4e10be179536153cdd3462055cb32ddcb0c
https://github.com/llvm/llvm-project/commit/75a1c4e10be179536153cdd3462055cb32ddcb0c
Author: Konstantin Zhuravlyov <kzhuravl_dev at outlook.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
M llvm/include/llvm/BinaryFormat/ELF.h
Log Message:
-----------
AMDGPU/NFC: Reserve 0x055 MACH in e_flag for future use (#81501)
Commit: dbe4143f23ff27a058c4e7c551a0fa70b93b438e
https://github.com/llvm/llvm-project/commit/dbe4143f23ff27a058c4e7c551a0fa70b93b438e
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
M llvm/test/Transforms/LowerMatrixIntrinsics/propagate-backward.ll
M llvm/test/Transforms/LowerMatrixIntrinsics/transpose-opts-lifting.ll
Log Message:
-----------
[Matrix] Fix dimensions when hoisting transpose across add. (#81507)
Row and column arguments for matrix_transpose indicate the shape of the
operand. When hoisting the transpose to the result of the add, the add
operates on the original operand's shape, and so does the hoisted
transpose.
This patch also adds an assert that the shape for the original add and
the transpose match, as well as the shape of the new add matches the
cached shape for it.
The assert could potentially be moved to
updateShapeAndReplaceAllUsesWith.
Commit: 78f39dc70c1feaea5130b90ea3fb7b3ddd62446b
https://github.com/llvm/llvm-project/commit/78f39dc70c1feaea5130b90ea3fb7b3ddd62446b
Author: Jonas Hahnfeld <hahnjo at hahnjo.de>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M llvm/lib/ExecutionEngine/JITLink/ELF_riscv.cpp
Log Message:
-----------
[JITLink][RISCV] Use hashmap to find PCREL_HI20 edge (#78849)
As noted in issues #68594 and #73935, `JITLink/RISCV/ELF_ehframe.s`
fails with libstdc++'s expensive checks because `getRISCVPCRelHi20`
calls `std::equal_range` on the edges which may not be ordered by their
offset. Instead let `ELFJITLinker_riscv` build a hashmap of all edges
with type `R_RISCV_PCREL_HI20` that can be looked up in constant time.
Closes #73935
Commit: d9c3066a587fa81bc0086aa1cf6afa1e04581e77
https://github.com/llvm/llvm-project/commit/d9c3066a587fa81bc0086aa1cf6afa1e04581e77
Author: Mariusz Borsa <wrotki at msn.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
Log Message:
-----------
[Sanitizers][ABI] Build ASAN shim for arm64_32 arch (#81066)
Turns out this arch is needed by the ABI impls
rdar://121963634
Co-authored-by: Mariusz Borsa <m_borsa at apple.com>
Commit: 50b8a3c01c6a20327dc3f65d2ee175ce73cdcc73
https://github.com/llvm/llvm-project/commit/50b8a3c01c6a20327dc3f65d2ee175ce73cdcc73
Author: srcarroll <50210727+srcarroll at users.noreply.github.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/test/Dialect/Linalg/canonicalize.mlir
Log Message:
-----------
[mlir][linalg] Refactor `EraseIdentityGenericOp` to be reused by other `LinalgOp`s (#80466)
This refactored pattern rewrite is intended to be reused by any
`LinalgOp`'s canonicalization pattern for removing identity ops.
Additionally, this canonicalization has been applied to `BroadCastOp`.
Commit: 54226e234fa4fd00b58e7550329f1645ca37a0a1
https://github.com/llvm/llvm-project/commit/54226e234fa4fd00b58e7550329f1645ca37a0a1
Author: Ben Langmuir <blangmuir at apple.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/EPCGenericDylibManager.h
M llvm/include/llvm/ExecutionEngine/Orc/ExecutorProcessControl.h
M llvm/include/llvm/ExecutionEngine/Orc/SimpleRemoteEPC.h
M llvm/lib/ExecutionEngine/Orc/EPCDynamicLibrarySearchGenerator.cpp
M llvm/lib/ExecutionEngine/Orc/EPCGenericDylibManager.cpp
M llvm/lib/ExecutionEngine/Orc/ExecutorProcessControl.cpp
M llvm/lib/ExecutionEngine/Orc/SimpleRemoteEPC.cpp
M llvm/unittests/ExecutionEngine/Orc/ObjectLinkingLayerTest.cpp
Log Message:
-----------
[ORC] Make EPCDynamicLibrarySearchGenerator async
Switch the primary implementation of EPC lookupSymbols to be async,
keeping a synchronous wrapper for compatibility. Use the new async
implementation inside EPCDynamicLibrarySearchGenerator to work
working towards a fully async search generator.
Provide an asynchronous lookup API for EPCGenericDylibManager and adopt
that from the SimpleRemoteEPC. This enables an end-to-end async
EPCDynamicLibrarySearchGenerator. Note: currently we keep the current
per-dlhandle lookup model, but a future improvement could do a single
async call for a given lookup operation.
Commit: 2fcfc9754a16805b81e541dc8222a8b5cf17a121
https://github.com/llvm/llvm-project/commit/2fcfc9754a16805b81e541dc8222a8b5cf17a121
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M utils/bazel/WORKSPACE
M utils/bazel/examples/http_archive/WORKSPACE
M utils/bazel/examples/submodule/WORKSPACE
M utils/bazel/llvm-project-overlay/bolt/BUILD.bazel
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
M utils/bazel/llvm-project-overlay/compiler-rt/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/libc_build_rules.bzl
M utils/bazel/llvm-project-overlay/libc/utils/MPFRWrapper/BUILD.bazel
M utils/bazel/llvm-project-overlay/lld/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
M utils/bazel/llvm-project-overlay/third-party/unittest/BUILD.bazel
M utils/bazel/third_party_build/zlib-ng.BUILD
M utils/bazel/third_party_build/zstd.BUILD
Log Message:
-----------
[NFC] Reformat bzl files with buildifier
Commit: 73159a994abcbf82881ee15b0df5cf13c9671f31
https://github.com/llvm/llvm-project/commit/73159a994abcbf82881ee15b0df5cf13c9671f31
Author: Andy Kaylor <andrew.kaylor at intel.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
Log Message:
-----------
[NFC] Refactor fast-math handling for clang driver (#81173)
This refactors the fast-math handling in the clang driver, moving the
settings into a lambda that is shared by the -ffp-model=fast and
-ffast-math code. Previously the -ffp-model=fast handler changed the
local option variable and fell through to the -ffast-math handler.
This refactoring is intended to prepare the way for decoupling the
-ffp-model=fast settings from the -ffast-math settings and possibly
introduce a less aggressive fp-model.
Commit: 8799d7143f8b75ba722f438d0d2388bfaefa793b
https://github.com/llvm/llvm-project/commit/8799d7143f8b75ba722f438d0d2388bfaefa793b
Author: Artem Belevich <tra at google.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/test/CodeGen/NVPTX/i8x4-instructions.ll
Log Message:
-----------
[NVPTX] Fix the error in a pattern match in v4i8 comparisons. (#81308)
The replacement should've had BFE() as the arguments for the comparison,
not the source register.
While at that, tighten the patterns a bit, and expand them to cover
variants with immediate arguments. Also change the default lowering of
bfe() to use unsigned variant, so the value of the upper bits is
predictable.
Commit: fa6850a9981b65972294e13021f82b96d460b3ec
https://github.com/llvm/llvm-project/commit/fa6850a9981b65972294e13021f82b96d460b3ec
Author: Rishi Surendran <142182875+rishisurendran at users.noreply.github.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M llvm/include/llvm/IR/Metadata.h
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/include/mlir/Target/LLVMIR/LLVMTranslationInterface.h
M mlir/include/mlir/Target/LLVMIR/ModuleTranslation.h
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
M mlir/lib/Target/LLVMIR/AttrKindDetail.h
M mlir/lib/Target/LLVMIR/Dialect/NVVM/NVVMToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
M mlir/test/Dialect/LLVMIR/nvvm.mlir
M mlir/test/Target/LLVMIR/nvvmir.mlir
Log Message:
-----------
[mlir][nvvm]Add support for grid_constant attribute on LLVM function arguments (#78228)
Add support for attribute nvvm.grid_constant on LLVM function arguments.
The attribute can be attached only to arguments of type llvm.ptr that
have llvm.byval attribute.
Generate LLVM metadata for functions with nvvm.grid_constant arguments.
The metadata node is a list of integers, where each integer n denotes
that the nth parameter has the
grid_constant annotation (numbering from 1). The generated metadata node
will be handled by NVVM compiler. See
https://docs.nvidia.com/cuda/nvvm-ir-spec/index.html#supported-properties
for documentation on grid_constant property.
This patch also adds convertParameterAttr to
LLVMTranslationDialectInterface for supporting the translation of
derived dialect attributes on function parameters
Commit: 61a0fc794789e5bf9f850436926700c3ad56682b
https://github.com/llvm/llvm-project/commit/61a0fc794789e5bf9f850436926700c3ad56682b
Author: Artem Belevich <tra at google.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M llvm/test/CodeGen/NVPTX/nanosleep.ll
Log Message:
-----------
[NVPTX] pass correct GPU arch to ptxas test (#81535)
Commit: 537042577252ce84774aa4f7fbafef8c39b4032c
https://github.com/llvm/llvm-project/commit/537042577252ce84774aa4f7fbafef8c39b4032c
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M mlir/lib/Dialect/SCF/IR/SCF.cpp
Log Message:
-----------
Apply clang-tidy fixes for bugprone-argument-comment in SCF.cpp (NFC)
Commit: 8189db978fa73a09c040a1e698d85f8b4a63cd37
https://github.com/llvm/llvm-project/commit/8189db978fa73a09c040a1e698d85f8b4a63cd37
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M mlir/lib/Dialect/SCF/Transforms/BufferizableOpInterfaceImpl.cpp
Log Message:
-----------
Apply clang-tidy fixes for performance-unnecessary-value-param in BufferizableOpInterfaceImpl.cpp (NFC)
Commit: e546a6e95da62b39ba7903e0371fdaa210417e8d
https://github.com/llvm/llvm-project/commit/e546a6e95da62b39ba7903e0371fdaa210417e8d
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M mlir/lib/Dialect/SCF/Utils/Utils.cpp
Log Message:
-----------
Apply clang-tidy fixes for modernize-loop-convert in Utils.cpp (NFC)
Commit: 56c385cd677bcc4f191e8c09044155159bc9bf7b
https://github.com/llvm/llvm-project/commit/56c385cd677bcc4f191e8c09044155159bc9bf7b
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M mlir/lib/Dialect/SparseTensor/Transforms/SparseGPUCodegen.cpp
Log Message:
-----------
Apply clang-tidy fixes for modernize-loop-convert in SparseGPUCodegen.cpp (NFC)
Commit: 61f64d1c237be75bed5d717aec4de0f9df5ab2e7
https://github.com/llvm/llvm-project/commit/61f64d1c237be75bed5d717aec4de0f9df5ab2e7
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
Log Message:
-----------
Apply clang-tidy fixes for llvm-qualified-auto in SparseTensorRewriting.cpp (NFC)
Commit: aef36ebb3b74c81589885c61b4fc066052dd9498
https://github.com/llvm/llvm-project/commit/aef36ebb3b74c81589885c61b4fc066052dd9498
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M clang/tools/driver/cc1_main.cpp
Log Message:
-----------
[clang] Remove old Linux kernel workaround for ensuring stack space (#81533)
PR #71709 broke the Linux PIE build with `undefined symbol: alloca`
errors. With the newly included `clang/Basic/Builtins.h` in that PR, it
surfaces an issue with a combination of two previous patches.
26670dcba1609574cba5942aff78ff97b567c5f3 added `#undef alloca` so clang
builtins handling of alloca would work under MSVC (unsure if this is
still necessary).
194b6a3b1b1a99cc3c12c466a04320f271ebd8aa added code that calls `alloca`
to workaround a Linux kernel < 4.1 bug. Given that Linux 4.1 was EOL in
2018, it should be ok to remove this workaround.
Commit: fcef407aa21ad5a79d66a088e6f2a66a5745725d
https://github.com/llvm/llvm-project/commit/fcef407aa21ad5a79d66a088e6f2a66a5745725d
Author: Konstantin Zhuravlyov <kzhuravl_dev at outlook.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/SIDefines.h
M llvm/lib/Target/AMDGPU/SIInstrFormats.td
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/AMDGPU/SIShrinkInstructions.cpp
M llvm/lib/Target/AMDGPU/SOPInstructions.td
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
Log Message:
-----------
AMDGPU/NFC: Remove some bits from TSFlags (#81525)
- AMDGPU/NFC: Purge SOPK_ZEXT from TSFlags
- Moved to helper function in SIInstInfo
- AMDGPU/NFC: Purge VOPAsmPrefer32Bit from TSFlags
- This flag did not make sense / remnants of something else I think
Commit: 283feb42ee509cc56fb75316b4fd86b53a714cf4
https://github.com/llvm/llvm-project/commit/283feb42ee509cc56fb75316b4fd86b53a714cf4
Author: Karthika Devi C <quic_kartc at quicinc.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M polly/lib/Analysis/ScopBuilder.cpp
M polly/test/ScopInfo/NonAffine/non-affine-loop-condition-dependent-access_2.ll
M polly/test/ScopInfo/NonAffine/non-affine-loop-condition-dependent-access_3.ll
M polly/test/ScopInfo/int2ptr_ptr2int.ll
Log Message:
-----------
[polly] Make reduction detection checks more robust - part 2 (#80721)
Existing reduction detection algorithm does two types of memory checks
before marking a load store pair as reduction.
Second check is to verify there is no other memory access in ScopStmt
overlapping with the memory of load and store that forms the reduction.
Existing check misses cases where there could be probable overlap such
as
A[V] += A[P];
In the above case there is chance of overlap between A[V] and A[P] which
is missed.
This commit addresses this by removing the parameter from space before
checking for compatible space.
Part 1 of this patch :
[75297](https://github.com/llvm/llvm-project/pull/75297)
Commit: a5f3d1a803020167bd9d494a8a3921e7dcc1550a
https://github.com/llvm/llvm-project/commit/a5f3d1a803020167bd9d494a8a3921e7dcc1550a
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M bolt/include/bolt/Passes/ADRRelaxationPass.h
M bolt/include/bolt/Passes/Aligner.h
M bolt/include/bolt/Passes/AllocCombiner.h
M bolt/include/bolt/Passes/AsmDump.h
M bolt/include/bolt/Passes/BinaryPasses.h
M bolt/include/bolt/Passes/CMOVConversion.h
M bolt/include/bolt/Passes/FixRISCVCallsPass.h
M bolt/include/bolt/Passes/FixRelaxationPass.h
M bolt/include/bolt/Passes/FrameOptimizer.h
M bolt/include/bolt/Passes/Hugify.h
M bolt/include/bolt/Passes/IdenticalCodeFolding.h
M bolt/include/bolt/Passes/IndirectCallPromotion.h
M bolt/include/bolt/Passes/Inliner.h
M bolt/include/bolt/Passes/Instrumentation.h
M bolt/include/bolt/Passes/JTFootprintReduction.h
M bolt/include/bolt/Passes/LongJmp.h
M bolt/include/bolt/Passes/LoopInversionPass.h
M bolt/include/bolt/Passes/PLTCall.h
M bolt/include/bolt/Passes/PatchEntries.h
M bolt/include/bolt/Passes/RegReAssign.h
M bolt/include/bolt/Passes/ReorderData.h
M bolt/include/bolt/Passes/ReorderFunctions.h
M bolt/include/bolt/Passes/RetpolineInsertion.h
M bolt/include/bolt/Passes/SplitFunctions.h
M bolt/include/bolt/Passes/StokeInfo.h
M bolt/include/bolt/Passes/TailDuplication.h
M bolt/include/bolt/Passes/ThreeWayBranch.h
M bolt/include/bolt/Passes/ValidateInternalCalls.h
M bolt/include/bolt/Passes/ValidateMemRefs.h
M bolt/include/bolt/Passes/VeneerElimination.h
M bolt/lib/Passes/ADRRelaxationPass.cpp
M bolt/lib/Passes/Aligner.cpp
M bolt/lib/Passes/AllocCombiner.cpp
M bolt/lib/Passes/AsmDump.cpp
M bolt/lib/Passes/BinaryPasses.cpp
M bolt/lib/Passes/CMOVConversion.cpp
M bolt/lib/Passes/FixRISCVCallsPass.cpp
M bolt/lib/Passes/FixRelaxationPass.cpp
M bolt/lib/Passes/FrameOptimizer.cpp
M bolt/lib/Passes/Hugify.cpp
M bolt/lib/Passes/IdenticalCodeFolding.cpp
M bolt/lib/Passes/IndirectCallPromotion.cpp
M bolt/lib/Passes/Inliner.cpp
M bolt/lib/Passes/Instrumentation.cpp
M bolt/lib/Passes/JTFootprintReduction.cpp
M bolt/lib/Passes/LongJmp.cpp
M bolt/lib/Passes/LoopInversionPass.cpp
M bolt/lib/Passes/PLTCall.cpp
M bolt/lib/Passes/PatchEntries.cpp
M bolt/lib/Passes/RegReAssign.cpp
M bolt/lib/Passes/ReorderData.cpp
M bolt/lib/Passes/ReorderFunctions.cpp
M bolt/lib/Passes/RetpolineInsertion.cpp
M bolt/lib/Passes/SplitFunctions.cpp
M bolt/lib/Passes/StokeInfo.cpp
M bolt/lib/Passes/TailDuplication.cpp
M bolt/lib/Passes/ThreeWayBranch.cpp
M bolt/lib/Passes/ValidateInternalCalls.cpp
M bolt/lib/Passes/ValidateMemRefs.cpp
M bolt/lib/Passes/VeneerElimination.cpp
M bolt/lib/Rewrite/BinaryPassManager.cpp
M bolt/lib/Rewrite/BoltDiff.cpp
Log Message:
-----------
[BOLT][NFC] Return Error from BinaryFunctionPass::runOnFunctions (#81521)
As part of the effort to refactor old error handling code that
would directly call exit(1), in this patch we change the
interface to `BinaryFunctionPass` to return an Error on
`runOnFunctions()`. This gives passes the ability to report a
serious problem to the caller (RewriteInstance class), so the
caller may decide how to best handle the exceptional situation.
Co-authored-by: Rafael Auler <rafaelauler at fb.com>
Test Plan: NFC
Commit: fa7dd4919aa705f18f268fab5b2887d45f89d8dd
https://github.com/llvm/llvm-project/commit/fa7dd4919aa705f18f268fab5b2887d45f89d8dd
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M bolt/include/bolt/Core/BinaryContext.h
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Passes/ADRRelaxationPass.cpp
M bolt/lib/Passes/BinaryPasses.cpp
M bolt/lib/Passes/Instrumentation.cpp
M bolt/lib/Passes/PatchEntries.cpp
M bolt/lib/Passes/ReorderFunctions.cpp
M bolt/lib/Passes/VeneerElimination.cpp
Log Message:
-----------
[BOLT][NFC] Add BOLTError and return it from passes (1/2) (#81522)
As part of the effort to refactor old error handling code that
would directly call exit(1), in this patch we add a new class
BOLTError and auxiliary functions `createFatalBOLTError()` and
`createNonFatalBOLTError()` that allow BOLT code to bubble up the
problem to the caller by using the Error class as a return
type (or Expected). Also changes passes to use these.
Co-authored-by: Rafael Auler <rafaelauler at fb.com>
Test Plan: NFC
Commit: 13d60ce2f262ef9055389908b63824e53b3054a1
https://github.com/llvm/llvm-project/commit/13d60ce2f262ef9055389908b63824e53b3054a1
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M bolt/include/bolt/Core/BinaryFunction.h
M bolt/include/bolt/Core/BinarySection.h
M bolt/include/bolt/Passes/FrameOptimizer.h
M bolt/include/bolt/Passes/LongJmp.h
M bolt/include/bolt/Passes/ReorderFunctions.h
M bolt/include/bolt/Passes/ShrinkWrapping.h
M bolt/include/bolt/Rewrite/BinaryPassManager.h
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Core/BinarySection.cpp
M bolt/lib/Core/Exceptions.cpp
M bolt/lib/Passes/BinaryPasses.cpp
M bolt/lib/Passes/FrameOptimizer.cpp
M bolt/lib/Passes/LongJmp.cpp
M bolt/lib/Passes/ReorderFunctions.cpp
M bolt/lib/Passes/ShrinkWrapping.cpp
M bolt/lib/Rewrite/BinaryPassManager.cpp
M bolt/lib/Rewrite/MachORewriteInstance.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/lib/Target/X86/X86MCSymbolizer.cpp
M bolt/lib/Target/X86/X86MCSymbolizer.h
Log Message:
-----------
[BOLT][NFC] Propagate BOLTErrors from Core, RewriteInstance, and passes (2/2) (#81523)
As part of the effort to refactor old error handling code that
would directly call exit(1), in this patch continue the migration
on libCore, libRewrite and libPasses to use the new BOLTError
class whenever a failure occurs.
Test Plan: NFC
Co-authored-by: Rafael Auler <rafaelauler at fb.com>
Commit: 93cdd1b5cfa3735c599949b77e24dbfbe570441a
https://github.com/llvm/llvm-project/commit/93cdd1b5cfa3735c599949b77e24dbfbe570441a
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M clang/lib/CodeGen/BackendUtil.cpp
M llvm/include/llvm/Support/PGOOptions.h
A llvm/include/llvm/Transforms/Instrumentation/PGOForceFunctionAttrs.h
M llvm/lib/LTO/LTOBackend.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Support/PGOOptions.cpp
M llvm/lib/Transforms/Instrumentation/CMakeLists.txt
A llvm/lib/Transforms/Instrumentation/PGOForceFunctionAttrs.cpp
A llvm/test/Instrumentation/PGOForceFunctionAttrs/basic.ll
M llvm/tools/opt/NewPMDriver.cpp
M llvm/utils/gn/secondary/llvm/lib/Transforms/Instrumentation/BUILD.gn
Log Message:
-----------
[PGO] Add ability to mark cold functions as optsize/minsize/optnone (#69030)
The performance of cold functions shouldn't matter too much, so if we
care about binary sizes, add an option to mark cold functions as
optsize/minsize for binary size, or optnone for compile times [1]. Clang
patch will be in a future patch.
This is intended to replace `shouldOptimizeForSize(Function&, ...)`.
We've seen multiple cases where calls to this expensive function, if not
careful, can blow up compile times. I will clean up users of that
function in a followup patch.
Initial version: https://reviews.llvm.org/D149800
[1]
https://discourse.llvm.org/t/rfc-new-feature-proposal-de-optimizing-cold-functions-using-pgo-info/56388
Commit: 52cf07116bf0a8cab87b0f55176d198bcaa02575
https://github.com/llvm/llvm-project/commit/52cf07116bf0a8cab87b0f55176d198bcaa02575
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M bolt/include/bolt/Core/BinaryContext.h
M bolt/include/bolt/Core/DIEBuilder.h
M bolt/include/bolt/Core/DynoStats.h
M bolt/include/bolt/Core/Exceptions.h
M bolt/include/bolt/Passes/BinaryPasses.h
M bolt/include/bolt/Passes/CMOVConversion.h
M bolt/include/bolt/Passes/CacheMetrics.h
M bolt/include/bolt/Passes/ReorderData.h
M bolt/include/bolt/Passes/ReorderFunctions.h
M bolt/include/bolt/Passes/ShrinkWrapping.h
M bolt/include/bolt/Profile/BoltAddressTranslation.h
M bolt/include/bolt/Rewrite/RewriteInstance.h
M bolt/lib/Core/BinaryBasicBlock.cpp
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Core/BinaryEmitter.cpp
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Core/DIEBuilder.cpp
M bolt/lib/Core/DebugData.cpp
M bolt/lib/Core/DynoStats.cpp
M bolt/lib/Core/Exceptions.cpp
M bolt/lib/Core/ParallelUtilities.cpp
M bolt/lib/Passes/ADRRelaxationPass.cpp
M bolt/lib/Passes/AllocCombiner.cpp
M bolt/lib/Passes/AsmDump.cpp
M bolt/lib/Passes/BinaryFunctionCallGraph.cpp
M bolt/lib/Passes/BinaryPasses.cpp
M bolt/lib/Passes/CMOVConversion.cpp
M bolt/lib/Passes/CacheMetrics.cpp
M bolt/lib/Passes/FrameAnalysis.cpp
M bolt/lib/Passes/FrameOptimizer.cpp
M bolt/lib/Passes/IdenticalCodeFolding.cpp
M bolt/lib/Passes/IndirectCallPromotion.cpp
M bolt/lib/Passes/Inliner.cpp
M bolt/lib/Passes/Instrumentation.cpp
M bolt/lib/Passes/JTFootprintReduction.cpp
M bolt/lib/Passes/LongJmp.cpp
M bolt/lib/Passes/LoopInversionPass.cpp
M bolt/lib/Passes/PLTCall.cpp
M bolt/lib/Passes/PatchEntries.cpp
M bolt/lib/Passes/RegAnalysis.cpp
M bolt/lib/Passes/RegReAssign.cpp
M bolt/lib/Passes/ReorderData.cpp
M bolt/lib/Passes/ReorderFunctions.cpp
M bolt/lib/Passes/RetpolineInsertion.cpp
M bolt/lib/Passes/ShrinkWrapping.cpp
M bolt/lib/Passes/SplitFunctions.cpp
M bolt/lib/Passes/StokeInfo.cpp
M bolt/lib/Passes/TailDuplication.cpp
M bolt/lib/Passes/ThreeWayBranch.cpp
M bolt/lib/Passes/ValidateInternalCalls.cpp
M bolt/lib/Passes/ValidateMemRefs.cpp
M bolt/lib/Passes/VeneerElimination.cpp
M bolt/lib/Profile/BoltAddressTranslation.cpp
M bolt/lib/Rewrite/BinaryPassManager.cpp
M bolt/lib/Rewrite/BoltDiff.cpp
M bolt/lib/Rewrite/DWARFRewriter.cpp
M bolt/lib/Rewrite/MachORewriteInstance.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/lib/Target/X86/X86MCSymbolizer.cpp
A bolt/test/X86/fatal-error.s
A bolt/test/X86/log.test
M bolt/tools/bat-dump/bat-dump.cpp
M bolt/tools/driver/llvm-bolt.cpp
M bolt/unittests/Core/BinaryContext.cpp
M bolt/unittests/Core/MCPlusBuilder.cpp
Log Message:
-----------
[BOLT][NFC] Log through JournalingStreams (#81524)
Make core BOLT functionality more friendly to being used as a
library instead of in our standalone driver llvm-bolt. To
accomplish this, we augment BinaryContext with journaling streams
that are to be used by most BOLT code whenever something needs to
be logged to the screen. Users of the library can decide if logs
should be printed to a file, no file or to the screen, as
before. To illustrate this, this patch adds a new option
`--log-file` that allows the user to redirect BOLT logging to a
file on disk or completely hide it by using
`--log-file=/dev/null`. Future BOLT code should now use
`BinaryContext::outs()` for printing important messages instead of
`llvm::outs()`. A new test log.test enforces this by verifying that
no strings are print to screen once the `--log-file` option is
used.
In previous patches we also added a new BOLTError class to report
common and fatal errors, so code shouldn't call exit(1) now. To
easily handle problems as before (by quitting with exit(1)),
callers can now use
`BinaryContext::logBOLTErrorsAndQuitOnFatal(Error)` whenever code
needs to deal with BOLT errors. To test this, we have fatal.s
that checks we are correctly quitting and printing a fatal error
to the screen.
Because this is a significant change by itself, not all code was
yet ported. Code from Profiler libs (DataAggregator and friends)
still print errors directly to screen.
Co-authored-by: Rafael Auler <rafaelauler at fb.com>
Test Plan: NFC
Commit: 85507f17cfc42e29f956de6b3e0924c3cf7b4469
https://github.com/llvm/llvm-project/commit/85507f17cfc42e29f956de6b3e0924c3cf7b4469
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedCallArgsChecker.cpp
A clang/test/Analysis/Checkers/WebKit/assignment-to-refptr.cpp
M clang/test/Analysis/Checkers/WebKit/mock-types.h
Log Message:
-----------
[analyzer] Ignore assignment to Ref / RefPtr in alpha.webkit.UncountedCallArgsChecker. (#80810)
Commit: 7ff5dfbaa0c971048da0f37ec6f05f5395562c21
https://github.com/llvm/llvm-project/commit/7ff5dfbaa0c971048da0f37ec6f05f5395562c21
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/LICM.cpp
A llvm/test/Transforms/LICM/expr-reassociate-int.ll
Log Message:
-----------
[LICM] Support integer mul/add in hoistFPAssociation. (#67736)
The reassociation this is trying to repair can happen for integer types
too.
This patch adds support for integer mul/add to hoistFPAssociation. The
function has been renamed to hoistMulAddAssociation. I've used separate
statistics and limits for integer to allow tuning flexibility.
Commit: 82568046e6761f961002ea6c48b5160ba6c7576f
https://github.com/llvm/llvm-project/commit/82568046e6761f961002ea6c48b5160ba6c7576f
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/test/Analysis/Checkers/WebKit/mock-types.h
A clang/test/Analysis/Checkers/WebKit/ref-ptr-accessor.cpp
Log Message:
-----------
[analyzer] Add the support for calling Ref::ptr accessor. (#80919)
This accessor returns a pointer from Ref type and is therefore safe.
Commit: 9df71899bd5dbbaf0640c74cc82a6330dc7760cf
https://github.com/llvm/llvm-project/commit/9df71899bd5dbbaf0640c74cc82a6330dc7760cf
Author: Fangrui Song <i at maskray.me>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M clang/test/CodeGen/aarch64-ABI-align-packed-assembly.c
M clang/test/CodeGen/aarch64-ABI-align-packed.c
M clang/test/CodeGen/aarch64-fix-cortex-a53-835769.c
M clang/test/CodeGen/aarch64-ls64-inline-asm.c
M clang/test/CodeGen/aarch64-ls64.c
M clang/test/CodeGen/aarch64-matmul.cpp
M clang/test/CodeGen/aarch64-neon-ldst-one-rcpc3.c
M clang/test/CodeGen/aarch64-targetattr-arch.c
M clang/test/CodeGen/aarch64-targetattr-crypto.c
M clang/test/CodeGen/aarch64-targetattr.c
M clang/test/CodeGen/aarch64-tme.cpp
M clang/test/CodeGen/arm64-mte.c
M clang/test/CodeGen/fp128_complex.c
M clang/test/CodeGen/fp16-ops-strictfp.c
M clang/test/CodeGen/fp16-ops.c
M clang/test/CodeGenCXX/debug-info-structured-binding-bitfield.cpp
M clang/test/Driver/aarch64-fix-cortex-a53-835769.c
M clang/test/Driver/aarch64-mgeneral_regs_only.c
M clang/test/Driver/aarch64-pauth-lr.c
M clang/test/Driver/aarch64-target-as-march.s
M clang/test/Driver/arm-alignment.c
M clang/test/Driver/arm-no-neg-immediates.c
M clang/test/Driver/linux-ld.c
M clang/test/Frontend/embed-bitcode.ll
M clang/test/Frontend/gnu-mcount.c
M clang/test/Headers/arm-acle-header.c
M clang/test/Headers/xmmintrin-unsupported.c
M clang/test/Preprocessor/aarch64-target-features.c
M clang/test/Sema/aarch64-tme-errors.c
M clang/test/Sema/aarch64-tme-tcancel-errors.c
M clang/test/SemaCXX/warn-overaligned-type-thrown.cpp
Log Message:
-----------
[test] Replace aarch64-*-{eabi,gnueabi} with aarch64
Similar to d39b4ce3ce8a3c256e01bdec2b140777a332a633
Using "eabi" or "gnueabi" for aarch64 targets is a common mistake and
warned by Clang Driver. We want to avoid them elsewhere as well. Just
use the common "aarch64" without other triple components.
Commit: f63da479ae2f5e0d747430f268ae7b458c02455c
https://github.com/llvm/llvm-project/commit/f63da479ae2f5e0d747430f268ae7b458c02455c
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
A clang/test/Analysis/Checkers/WebKit/implicit-cast-to-base-class-with-deref-in-superclass.cpp
Log Message:
-----------
[analyzer] Fix an implicit cast to a base ref counted class generates a false positive. (#80934)
The bug was caused by isRefCountable erroneously returning false for a
class with both ref() and deref() functions defined because we were not
resetting the base paths results between looking for "ref()" and
"deref()"
Commit: 2dbfa8407e7d2f4293add33b5ead3f2d5fcd04e9
https://github.com/llvm/llvm-project/commit/2dbfa8407e7d2f4293add33b5ead3f2d5fcd04e9
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedCallArgsChecker.cpp
A clang/test/Analysis/Checkers/WebKit/ref-countable-default-arg-nullptr.cpp
Log Message:
-----------
[analyzer] Allow default arguments to be evaluated like other arguments. (#80956)
This PR aligns the evaluation of default arguments with other kinds of
arguments by extracting the expressions within them as argument values
to be evaluated.
Commit: c2b01c87dcc3ab59e7d466cbec795310a3d43fde
https://github.com/llvm/llvm-project/commit/c2b01c87dcc3ab59e7d466cbec795310a3d43fde
Author: jimingham <jingham at apple.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M lldb/include/lldb/DataFormatters/ValueObjectPrinter.h
M lldb/source/Commands/CommandObjectFrame.cpp
M lldb/source/Core/ValueObject.cpp
M lldb/source/DataFormatters/TypeSummary.cpp
M lldb/source/DataFormatters/ValueObjectPrinter.cpp
Log Message:
-----------
Make ValueObjectPrinter's handling of its ValueObject pointers more principled (NFC) (#81314)
I get a small but fairly steady stream of crash reports which I can only
explain by ValueObjectPrinter trying to access its m_valobj field, and
finding it NULL. I have never been able to reproduce any of these, and
the reports show a state too long after the fact to know what went
wrong.
I've read through this section of lldb a bunch of times trying to figure
out how this could happen, but haven't ever found anything actually
wrong that could cause this. OTOH, ValueObjectPrinter is somewhat sloppy
about how it handles the ValueObject it is printing.
a) lldb allows you to make a ValueObjectPrinter with a Null incoming
ValueObject. However, there's no affordance to set the ValueObject in
the Printer after the fact, and it doesn't really make sense to do that.
So I change the ValueObjectPrinter API's to take a ValueObject
reference, rather than a pointer. All the places that make
ValueObjectPrinters already check the non-null status of their
ValueObject's before making the ValueObjectPrinter, so sadly, I didn't
find the bug, but this will enforce the intent.
b) The next step in printing the ValueObject is deciding which of the
associated DynamicValue/SyntheticValue we are actually printing (based
on the use_dynamic and use_synthetic settings in the original
ValueObject. This was put in a pointer by GetMostSpecializedValue, but
most of the printer code just accessed the pointer, and it was hard to
reason out whether we were guaranteed to always call this before using
m_valobj. So far as I could see we always do (sigh, didn't find the bug
there either) but this was way too hard to reason about.
In fact, we figure out once which ValueObject we're going to print and
don't change that through the life of the printer. So I changed this to
both set the "most specialized value" in the constructor, and then to
always access it through GetMostSpecializedValue(). That makes it easier
to reason about the use of this ValueObject as well.
This is an NFC change, all it does is make the code easier to reason
about.
Commit: 11e5e22c41f6611591a591f58c1e73cc3721ef5f
https://github.com/llvm/llvm-project/commit/11e5e22c41f6611591a591f58c1e73cc3721ef5f
Author: michaelrj-google <71531609+michaelrj-google at users.noreply.github.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][bazel] mark read and write as weak (#81330)
Downstream there's a user that intercepts these functions and overlays
them. This causes symbol conflicts if neither function is marked weak.
In future the intent is to move to this to being a downstream
configuration
option.
Commit: fac6d3d98ba1bac24acc5b19c84d07af25c1b755
https://github.com/llvm/llvm-project/commit/fac6d3d98ba1bac24acc5b19c84d07af25c1b755
Author: michaelrj-google <71531609+michaelrj-google at users.noreply.github.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][bazel] mark epoll funcitons as weak (#81327)
Downstream there's a user that intercepts these functions and overlays
them. This causes symbol conflicts if neither function is marked weak.
In future the intent is to move to this to being a downstream
configuration
option.
Commit: 644ac2a018c9bf83c9ba256074e552ad7f1fe941
https://github.com/llvm/llvm-project/commit/644ac2a018c9bf83c9ba256074e552ad7f1fe941
Author: jkorous-apple <32549412+jkorous-apple at users.noreply.github.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M clang/include/clang/Analysis/Analyses/UnsafeBufferUsage.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/lib/Sema/AnalysisBasedWarnings.cpp
A clang/test/SemaCXX/warn-unsafe-buffer-usage-array.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-debug.cpp
A clang/test/SemaCXX/warn-unsafe-buffer-usage-fixits-local-var-array.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage.cpp
Log Message:
-----------
[-Wunsafe-buffer-usage] Introduce std::array fixits (#80084)
Array subscript on a const size array is not bounds-checked. The idiomatic
replacement is std::array which is bounds-safe in hardened mode of libc++.
This commit extends the fixit-producing machine to consider std::array as a
transformation target type and teaches it to handle the array subscript on const
size arrays with a trivial (empty) fixit.
Commit: 3a080a0195ed21b8e12f825cfa00c8fa79f851a6
https://github.com/llvm/llvm-project/commit/3a080a0195ed21b8e12f825cfa00c8fa79f851a6
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
A llvm/include/llvm/TextAPI/FileTypes.h
M llvm/include/llvm/TextAPI/InterfaceFile.h
M llvm/include/llvm/TextAPI/RecordsSlice.h
M llvm/lib/TextAPI/BinaryReader/DylibReader.cpp
M llvm/lib/TextAPI/InterfaceFile.cpp
M llvm/lib/TextAPI/RecordsSlice.cpp
M llvm/lib/TextAPI/TextAPIContext.h
M llvm/lib/TextAPI/TextStubCommon.h
Log Message:
-----------
[TextAPI] Refactor BinaryAttrs to InterfaceFile assignment (#81551)
Create a helper method for this operation, so it can be reused in
multiple places.
Additonally move FileType enum into its own header to avoid include
cycles.
Commit: ecd63afafd635d3f37ec25e3ded1db0410e97de3
https://github.com/llvm/llvm-project/commit/ecd63afafd635d3f37ec25e3ded1db0410e97de3
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/LICM.cpp
R llvm/test/Transforms/LICM/expr-reassociate-int.ll
Log Message:
-----------
Revert "[LICM] Support integer mul/add in hoistFPAssociation. (#67736)"
This reverts commit 7ff5dfbaa0c971048da0f37ec6f05f5395562c21.
Causing crashes on Mac build bots.
Commit: a38152e2156a467520dae29fa3760802c308d54c
https://github.com/llvm/llvm-project/commit/a38152e2156a467520dae29fa3760802c308d54c
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
M lld/COFF/Driver.cpp
M llvm/include/llvm/Object/COFFImportFile.h
M llvm/lib/Object/COFFImportFile.cpp
M llvm/lib/ToolDrivers/llvm-dlltool/DlltoolDriver.cpp
M llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp
M llvm/lib/ToolDrivers/llvm-lib/Options.td
M llvm/test/tools/llvm-lib/arm64ec-implib.test
Log Message:
-----------
[llvm-lib] Add support for -defArm64Native argument. (#81426)
This can be used to create import libraries that contain both ARM64EC
and native exports. The implementation follows observed MSVC lib.exe
behaviour. It's ignored on targets other than ARM64EC.
Commit: 3bdc4c702dfdd1f2fb513943f034d49bb79ded29
https://github.com/llvm/llvm-project/commit/3bdc4c702dfdd1f2fb513943f034d49bb79ded29
Author: Kevin Frei <kevinfrei at users.noreply.github.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M llvm/include/llvm/DebugInfo/GSYM/DwarfTransformer.h
M llvm/include/llvm/DebugInfo/GSYM/GsymCreator.h
M llvm/include/llvm/DebugInfo/GSYM/ObjectFileTransformer.h
A llvm/include/llvm/DebugInfo/GSYM/OutputAggregator.h
M llvm/lib/DebugInfo/GSYM/DwarfTransformer.cpp
M llvm/lib/DebugInfo/GSYM/GsymCreator.cpp
M llvm/lib/DebugInfo/GSYM/ObjectFileTransformer.cpp
M llvm/test/tools/llvm-gsymutil/X86/elf-dwo.yaml
M llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp
M llvm/unittests/DebugInfo/GSYM/GSYMTest.cpp
Log Message:
-----------
Gsymutil aggregation similar to DwarfDump --verify (#81154)
GsymUtil, like DwarfDump --verify, spews a *lot* of data necessary to
understand/diagnose issues with DWARF data. The trouble is that the kind
of information necessary to make the messages useful also makes them
nearly impossible to easily categorize. I put together a similar output
categorizer (https://github.com/llvm/llvm-project/pull/79648) that will
emit a summary of issues identified at the bottom of the (very verbose)
output, enabling easier tracking of issues as they arise or are
addressed.
There's a single output change, where a message "warning: Unable to
retrieve DWO .debug_info section for some object files. (Remove the
--quiet flag for full output)" was being dumped the first time it was
encountered (in what looks like an attempt to make something easily
grep-able), but rather than keep the output in the same order, that
message is now a 'category' so gets emitted at the end of the output.
The test 'tools/llvm-gsymutil/X86/elf-dwo.yaml' was changed to reflect
this difference.
---------
Co-authored-by: Kevin Frei <freik at meta.com>
Commit: bc66e0cf9feb8f3c38fa2e33850b6c6e5477fb21
https://github.com/llvm/llvm-project/commit/bc66e0cf9feb8f3c38fa2e33850b6c6e5477fb21
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
M llvm/lib/IR/BasicBlock.cpp
Log Message:
-----------
Revert "Reapply "[DebugInfo][RemoveDIs] Turn on non-instrinsic debug-info by default""
This reverts commit 5c9f7682b090124d9a8b69f92d3f7c269dca25fc.
Causes crashes, see comments on https://github.com/llvm/llvm-project/commit/5c9f7682b090124d9a8b69f92d3f7c269dca25fc.
Commit: 1af073a11cb2ae5a52205e66f33d0ec9bbcbb5e0
https://github.com/llvm/llvm-project/commit/1af073a11cb2ae5a52205e66f33d0ec9bbcbb5e0
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M flang/include/flang/Lower/OpenMP.h
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/OpenMP.cpp
Log Message:
-----------
[flang][OpenMP] Pass semantics context to all generating functions in… (#81269)
… lower
The convention is to pass it after "symTable" if present, otherwise
after "converter":
- converter, symTable, semaCtx
- converter, semaCtx
This makes the interfaces more uniform---some of these functions were
already taking the semantics context, while others were not.
The context will be used in future patches.
Commit: f7c2c32c019275e88fd14e401aaa68b760f32a28
https://github.com/llvm/llvm-project/commit/f7c2c32c019275e88fd14e401aaa68b760f32a28
Author: Fangrui Song <i at maskray.me>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M lld/ELF/Target.cpp
A lld/test/ELF/unsupported-emachine.test
Log Message:
-----------
[ELF] Properly reject unsupported e_machine
Fix an incorrect llvm_unreachable.
Commit: 25cec33521ba1c67f5e939ceea277be18b2d0fb7
https://github.com/llvm/llvm-project/commit/25cec33521ba1c67f5e939ceea277be18b2d0fb7
Author: Fangrui Song <i at maskray.me>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M lld/ELF/Writer.cpp
M lld/test/ELF/x86-64-section-layout.s
Log Message:
-----------
[ELF] Place _edata before .bss in the presence of .ldata
This minor issue is identified while working on #81224.
Commit: 3d18c8cd265c0c0bf1d85226c4770a2dd0f86e8f
https://github.com/llvm/llvm-project/commit/3d18c8cd265c0c0bf1d85226c4770a2dd0f86e8f
Author: Fangrui Song <i at maskray.me>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M llvm/test/Analysis/CostModel/AArch64/cast.ll
M llvm/test/Analysis/CostModel/AArch64/fptoi_sat.ll
M llvm/test/Analysis/LoopAccessAnalysis/number-of-memchecks.ll
M llvm/test/Analysis/LoopAccessAnalysis/reverse-memcheck-bounds.ll
M llvm/test/CodeGen/AArch64/Redundantstore.ll
M llvm/test/CodeGen/AArch64/aarch64-a57-fp-load-balancing.ll
M llvm/test/CodeGen/AArch64/aarch64-addv.ll
M llvm/test/CodeGen/AArch64/aarch64-tbz.ll
M llvm/test/CodeGen/AArch64/aarch64-unroll-and-jam.ll
M llvm/test/CodeGen/AArch64/aarch64-vcvtfp2fxs-combine.ll
M llvm/test/CodeGen/AArch64/arm64-build-vector.ll
M llvm/test/CodeGen/AArch64/arm64-movi.ll
M llvm/test/CodeGen/AArch64/arm64-popcnt.ll
M llvm/test/CodeGen/AArch64/arm64-rev.ll
M llvm/test/CodeGen/AArch64/asm-large-immediate.ll
M llvm/test/CodeGen/AArch64/bf16-shuffle.ll
M llvm/test/CodeGen/AArch64/bf16.ll
M llvm/test/CodeGen/AArch64/bitreverse.ll
M llvm/test/CodeGen/AArch64/cmpwithshort.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-i16-add-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-i16-mul-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-i32-add-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-i32-mul-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-i64-add-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-i64-mul-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-i8-add-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-splat-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-splat.ll
M llvm/test/CodeGen/AArch64/cond-br-tuning.ll
M llvm/test/CodeGen/AArch64/consthoist-gep.ll
M llvm/test/CodeGen/AArch64/extbinopload.ll
M llvm/test/CodeGen/AArch64/extract-sext-zext.ll
M llvm/test/CodeGen/AArch64/fabs.ll
M llvm/test/CodeGen/AArch64/faddsub.ll
M llvm/test/CodeGen/AArch64/fcmp.ll
M llvm/test/CodeGen/AArch64/fcopysign.ll
M llvm/test/CodeGen/AArch64/fcvt.ll
M llvm/test/CodeGen/AArch64/fdiv.ll
M llvm/test/CodeGen/AArch64/fence-singlethread.ll
M llvm/test/CodeGen/AArch64/fexplog.ll
M llvm/test/CodeGen/AArch64/fminimummaximum.ll
M llvm/test/CodeGen/AArch64/fminmax.ll
M llvm/test/CodeGen/AArch64/fmla.ll
M llvm/test/CodeGen/AArch64/fmul.ll
M llvm/test/CodeGen/AArch64/fneg.ll
M llvm/test/CodeGen/AArch64/fp16_intrinsic_lane.ll
M llvm/test/CodeGen/AArch64/fp16_intrinsic_scalar_1op.ll
M llvm/test/CodeGen/AArch64/fp16_intrinsic_scalar_2op.ll
M llvm/test/CodeGen/AArch64/fp16_intrinsic_scalar_3op.ll
M llvm/test/CodeGen/AArch64/fp16_intrinsic_vector_1op.ll
M llvm/test/CodeGen/AArch64/fp16_intrinsic_vector_2op.ll
M llvm/test/CodeGen/AArch64/fp16_intrinsic_vector_3op.ll
M llvm/test/CodeGen/AArch64/fpext.ll
M llvm/test/CodeGen/AArch64/fpow.ll
M llvm/test/CodeGen/AArch64/fpowi.ll
M llvm/test/CodeGen/AArch64/fptoi.ll
M llvm/test/CodeGen/AArch64/fptrunc.ll
M llvm/test/CodeGen/AArch64/frem.ll
M llvm/test/CodeGen/AArch64/frintn.ll
M llvm/test/CodeGen/AArch64/fsincos.ll
M llvm/test/CodeGen/AArch64/fsqrt.ll
M llvm/test/CodeGen/AArch64/hints.ll
M llvm/test/CodeGen/AArch64/icmp.ll
M llvm/test/CodeGen/AArch64/insertextract.ll
M llvm/test/CodeGen/AArch64/intrinsics-memory-barrier.ll
M llvm/test/CodeGen/AArch64/itofp.ll
M llvm/test/CodeGen/AArch64/ldp-stp-scaled-unscaled-pairs.ll
M llvm/test/CodeGen/AArch64/legalize-bug-bogus-cpu.ll
M llvm/test/CodeGen/AArch64/merge-scoped-aa-store.ll
M llvm/test/CodeGen/AArch64/merge-store-dependency.ll
M llvm/test/CodeGen/AArch64/merge-store.ll
M llvm/test/CodeGen/AArch64/min-max-combine.ll
M llvm/test/CodeGen/AArch64/min-max.ll
M llvm/test/CodeGen/AArch64/mul_pow2.ll
M llvm/test/CodeGen/AArch64/neon-extadd-extract.ll
M llvm/test/CodeGen/AArch64/neon_rbit.ll
M llvm/test/CodeGen/AArch64/no-quad-ldp-stp.ll
M llvm/test/CodeGen/AArch64/nzcv-save.ll
M llvm/test/CodeGen/AArch64/pacbti-module-attrs.ll
M llvm/test/CodeGen/AArch64/postra-mi-sched.ll
M llvm/test/CodeGen/AArch64/rbit.ll
M llvm/test/CodeGen/AArch64/rcpc3-sve.ll
M llvm/test/CodeGen/AArch64/rcpc3.ll
M llvm/test/CodeGen/AArch64/rem_crash.ll
M llvm/test/CodeGen/AArch64/rotate.ll
M llvm/test/CodeGen/AArch64/setcc_knownbits.ll
M llvm/test/CodeGen/AArch64/sls-stackprotector-outliner.ll
M llvm/test/CodeGen/AArch64/stack-probing-64k.ll
M llvm/test/CodeGen/AArch64/stack-probing-dynamic.ll
M llvm/test/CodeGen/AArch64/stack-probing-sve.ll
M llvm/test/CodeGen/AArch64/stack-probing.ll
M llvm/test/CodeGen/AArch64/sve-fcopysign.ll
M llvm/test/CodeGen/AArch64/sve2-fcopysign.ll
M llvm/test/CodeGen/AArch64/tailmerging_in_mbp.ll
M llvm/test/CodeGen/AArch64/tbz-tbnz.ll
M llvm/test/CodeGen/AArch64/v3f-to-int.ll
M llvm/test/CodeGen/AArch64/v8.5a-neon-frint3264-intrinsic.ll
M llvm/test/CodeGen/AArch64/v8.5a-scalar-frint3264-intrinsic.ll
M llvm/test/CodeGen/AArch64/vecreduce-fadd-strict.ll
M llvm/test/CodeGen/AArch64/vecreduce-fadd.ll
M llvm/test/CodeGen/AArch64/vecreduce-fmul-strict.ll
M llvm/test/CodeGen/AArch64/vecreduce-fmul.ll
M llvm/test/CodeGen/AArch64/xar.ll
M llvm/test/Transforms/LICM/sink-foldable.ll
M llvm/test/Transforms/LoopVectorize/AArch64/arbitrary-induction-step.ll
M llvm/test/Transforms/LoopVectorize/AArch64/backedge-overflow.ll
M llvm/test/Transforms/LoopVectorize/AArch64/interleaved_cost.ll
Log Message:
-----------
[test] Replace aarch64-*-{eabi,gnueabi}{,hf} with aarch64
Similar to d39b4ce3ce8a3c256e01bdec2b140777a332a633
Using "eabi" or "gnueabi" for aarch64 targets is a common mistake and
warned by Clang Driver. We want to avoid them elsewhere as well. Just
use the common "aarch64" without other triple components.
Commit: 78f2eb8d0f9cf5e8a79b64f6d64deeb487502e38
https://github.com/llvm/llvm-project/commit/78f2eb8d0f9cf5e8a79b64f6d64deeb487502e38
Author: Fangrui Song <i at maskray.me>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/aarch64-gep-opt.ll
M llvm/test/CodeGen/AArch64/cond-br-tuning.ll
M llvm/test/Transforms/CallSiteSplitting/callsite-split-or-phi.ll
M llvm/test/Transforms/CallSiteSplitting/callsite-split.ll
M llvm/test/Transforms/CalledValuePropagation/simple-arguments.ll
M llvm/test/Transforms/CalledValuePropagation/simple-memory.ll
M llvm/test/Transforms/CalledValuePropagation/simple-select.ll
M llvm/test/Transforms/ConstantHoisting/AArch64/const-hoist-gep.ll
Log Message:
-----------
[test] Replace aarch64-*-{eabi,gnueabi}{,hf} with aarch64
Commit: 95a204cf34c410c2be5f152daec2d476f1e06d84
https://github.com/llvm/llvm-project/commit/95a204cf34c410c2be5f152daec2d476f1e06d84
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
Log Message:
-----------
[CodeGenPassBuilder] Remove analysis registering interfaces (#81439)
PassBuilder already can do this.
Commit: 542a3cb9cc89c3d6fca68374bf6c35ac6c229300
https://github.com/llvm/llvm-project/commit/542a3cb9cc89c3d6fca68374bf6c35ac6c229300
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
M llvm/lib/Analysis/DomConditionCache.cpp
M llvm/lib/Analysis/ValueTracking.cpp
A llvm/test/Transforms/InstCombine/fpclass-from-dom-cond.ll
Log Message:
-----------
[ValueTracking] Compute known FPClass from dominating condition (#80941)
This patch improves `computeKnownFPClass` by using context-sensitive
information from `DomConditionCache`.
Commit: 4af24d4ab76539706bfbceec4b3923426fb1b9e7
https://github.com/llvm/llvm-project/commit/4af24d4ab76539706bfbceec4b3923426fb1b9e7
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Don't remove parentheses in macro definitions (#81444)
Closes #81399.
Commit: c43ad6c0fddac0bbed5e881801dd2bc2f9eeba2d
https://github.com/llvm/llvm-project/commit/c43ad6c0fddac0bbed5e881801dd2bc2f9eeba2d
Author: yonghong-song <ys114321 at gmail.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M llvm/lib/Target/BPF/AsmParser/BPFAsmParser.cpp
M llvm/lib/Target/BPF/BPFInstrInfo.td
M llvm/test/MC/BPF/insn-unit.s
Log Message:
-----------
BPF: Change callx insn encoding (#81546)
Currently, the kernel verifier unsupported callx insn used the 32-bit
imm field to store the target register. On the other hand, gcc used the
dst_reg field to store the target register. The gcc encoding is better.
This patch adjusted the coding to be the same as gcc.
Signed-off-by: Yonghong Song <yonghong.song at linux.dev>
Commit: 070fad422834faab1f0ffc90e21e25d2f524b17b
https://github.com/llvm/llvm-project/commit/070fad422834faab1f0ffc90e21e25d2f524b17b
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/test/Dialect/OpenMP/invalid.mlir
A mlir/test/Dialect/OpenMP/roundtrip.mlir
Log Message:
-----------
[MLIR][OpenMP] Add `omp.private` op (#80955)
This PR adds a new op to the OpenMP dialect: `PrivateClauseOp`. This op
will be later used to model `[first]private` clauses for differnt OpenMP
directives.
This is part of productizing the "delayed privatization" PoC which can
be found in #79862.
Commit: 91dcf53abd34fa836a126c706f87b810d299d802
https://github.com/llvm/llvm-project/commit/91dcf53abd34fa836a126c706f87b810d299d802
Author: rmarker <37921131+rmarker at users.noreply.github.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M clang/docs/ClangFormatStyleOptions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Format/Format.h
M clang/lib/Format/Format.cpp
M clang/unittests/Format/ConfigParseTest.cpp
Log Message:
-----------
[clang-format] Rename option AlwaysBreakAfterReturnType. (#80827)
Changes the option to BreakAfterReturnType option, with a more relevant
name, deprecating and replacing AlwaysBreakAfterReturnType.
Following up on #78010.
Commit: 2dd52046816ac706a25d588efac77705793d8778
https://github.com/llvm/llvm-project/commit/2dd52046816ac706a25d588efac77705793d8778
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/LICM.cpp
A llvm/test/Transforms/LICM/expr-reassociate-int.ll
Log Message:
-----------
Recommit "[LICM] Support integer mul/add in hoistFPAssociation. (#67736)"
With a fix for build bot failure. I was accessing the type of a deleted
Instruction.
Original message:
The reassociation this is trying to repair can happen for integer types
too.
This patch adds support for integer mul/add to hoistFPAssociation. The
function has been renamed to hoistMulAddAssociation. I've used separate
statistics and limits for integer to allow tuning flexibility.
Commit: bc8910d272e3f9ed58b21af2e7c7a9125e4b25ea
https://github.com/llvm/llvm-project/commit/bc8910d272e3f9ed58b21af2e7c7a9125e4b25ea
Author: Luke Lau <luke at igalia.com>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFoldMasks.cpp
Log Message:
-----------
[RISCV] Mark RISCVFoldMasks methods as const. NFC
Commit: b56b3d75b04cda762ac8e15b7ec6fa4f52a6735a
https://github.com/llvm/llvm-project/commit/b56b3d75b04cda762ac8e15b7ec6fa4f52a6735a
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/test/CXX/over/over.match/over.match.best/p1-2a.cpp
Log Message:
-----------
[Clang][Sema] Don't consider top-level cv-qualifiers in template partial orderings (#81449)
This fixes a regression since
https://github.com/llvm/llvm-project/commit/340eac01f7dad6c24cee35dd35f2484098dd6b1a,
from which we compared function parameter types with cv-qualifiers taken
into account. However, as per [dcl.fct]/p5:
> After producing the list of parameter types, any top-level
cv-qualifiers modifying
> a parameter type are deleted when forming the function type.
Thus, I think we should use `hasSameUnqualifiedType` for type
comparison.
This fixes https://github.com/llvm/llvm-project/issues/75404.
Commit: 85e6e71eb09cb9e75bbd475e5f54f876653c3f16
https://github.com/llvm/llvm-project/commit/85e6e71eb09cb9e75bbd475e5f54f876653c3f16
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/test/AST/Interp/c.c
Log Message:
-----------
[clang][Interp] Handle discarded PointerToIntegral casts
Resolve an old TODO comment.
Commit: bb77047a3b93e332be9cb3d85ad658e0ffa25525
https://github.com/llvm/llvm-project/commit/bb77047a3b93e332be9cb3d85ad658e0ffa25525
Author: Luke Lau <luke at igalia.com>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract-subvector.ll
Log Message:
-----------
[RISCV] Handle fixed length vectors with exact VLEN in loweringEXTRACT_SUBVECTOR (#79949)
This is a revival of #65392. When we lower an extract_subvector, we
extract the
subregister that the subvector is contained in first and then do a
vslidedown
with LMUL=1. We can currently only do this for scalable vectors though
because
the index is scaled by vscale and thus we will know what subregister the
subvector lies in.
For fixed length vectors, the index isn't scaled by vscale and so the
subvector
could lie in any arbitrary subregister, so we have to do a vslidedown
with the
full LMUL.
The exception to this is when we know the exact VLEN: in which case, we
can
still work out the exact subregister and do the LMUL=1 vslidedown on it.
This patch handles this case by scaling the index by 1/vscale before
computing
the subregister, and extending the LMUL=1 path to handle fixed length
vectors.
Commit: 4bcbeaed63af8f1e18c1c74d3ef2a5a6ff7a22ac
https://github.com/llvm/llvm-project/commit/4bcbeaed63af8f1e18c1c74d3ef2a5a6ff7a22ac
Author: Austin Kerbow <Austin.Kerbow at amd.com>
Date: 2024-02-12 (Mon, 12 Feb 2024)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerKernelArguments.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/preload-kernarg-header.ll
M llvm/test/CodeGen/AMDGPU/preload-kernargs.ll
Log Message:
-----------
[AMDGPU] Enable kernel arg preloading with gfx90a (#81180)
Add a trap instruction to the beginning of the kernel prologue to handle
cases where preloading is attempted on HW loaded with incompatible
firmware.
Commit: 785eddd7a786b798427e336b79bc0f2495a49984
https://github.com/llvm/llvm-project/commit/785eddd7a786b798427e336b79bc0f2495a49984
Author: sstipanovic <146831748+sstipanovic at users.noreply.github.com>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
A llvm/test/CodeGen/AMDGPU/GlobalISel/bitcast_38_i16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-build-vector.mir
Log Message:
-----------
[AMDGPU][GlobalIsel] Introduce isRegisterClassType to check for legal types, instead of checking bit width. (#68189)
In D151116 it was suggested to have a set of classes to cover every
possible case. This does it for bitcast first.
closes #79578
Commit: d7f59c8fb83cc00c58a826d542b81f98e7bd9526
https://github.com/llvm/llvm-project/commit/d7f59c8fb83cc00c58a826d542b81f98e7bd9526
Author: Guray Ozen <guray.ozen at gmail.com>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
M mlir/lib/Dialect/GPU/Pipelines/GPUToNVVMPipeline.cpp
A mlir/test/Dialect/GPU/test-nvvm-pipeline.mlir
Log Message:
-----------
[mlir] Lower math dialect later in gpu-lower-to-nvvm-pipeline (#81489)
This PR moves lowering of math dialect later in the pipeline. Because
math dialect is lowered correctly by createConvertGpuOpsToNVVMOps for
GPU target, and it needs to run it first.
Reland #78556
Commit: d033366bd2189e33343ca93d276b40341dc39770
https://github.com/llvm/llvm-project/commit/d033366bd2189e33343ca93d276b40341dc39770
Author: Martin Storsjö <martin at martin.st>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
M lld/MinGW/Driver.cpp
M lld/MinGW/Options.td
M lld/test/MinGW/driver.test
Log Message:
-----------
[LLD] [MinGW] Implement the --lto-emit-asm and -plugin-opt=emit-llvm options (#81475)
These were implemented in the COFF linker in
3923e61b96cf90123762f0e0381504efaba2d77a and
d12b99a4313816cf99e97cb5f579e2d51ba72b0b.
This matches the corresponding options in the ELF linker.
Commit: 66f73100b8c758248724d53598165d850fdaf364
https://github.com/llvm/llvm-project/commit/66f73100b8c758248724d53598165d850fdaf364
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/Pointer.cpp
M clang/test/AST/Interp/literals.cpp
Log Message:
-----------
[clang][Interp] Fix ltor conversion for pointer types
This special case is wrong, we need to handle pointer types here
just like anything else.
Commit: d2ccf3393363f3bbcfd46e58a0ed2a6bd9170099
https://github.com/llvm/llvm-project/commit/d2ccf3393363f3bbcfd46e58a0ed2a6bd9170099
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
M libcxx/include/sstream
A libcxx/test/std/input.output/string.streams/istringstream/types.compile.pass.cpp
R libcxx/test/std/input.output/string.streams/istringstream/types.pass.cpp
A libcxx/test/std/input.output/string.streams/ostringstream/types.compile.pass.cpp
R libcxx/test/std/input.output/string.streams/ostringstream/types.pass.cpp
A libcxx/test/std/input.output/string.streams/stringbuf/types.compile.pass.cpp
R libcxx/test/std/input.output/string.streams/stringbuf/types.pass.cpp
A libcxx/test/std/input.output/string.streams/stringstream/types.compile.pass.cpp
R libcxx/test/std/input.output/string.streams/stringstream/types.pass.cpp
Log Message:
-----------
[libc++][sstream] Explicitly delete special member functions (#80254)
The standard declares the copy constructors and copy assign operators as
deleted.
References:
- https://eel.is/c++draft/string.streams
Commit: d30e941a03f7e70fb7875ede7b5d80342982e3a8
https://github.com/llvm/llvm-project/commit/d30e941a03f7e70fb7875ede7b5d80342982e3a8
Author: Simon Pilgrim <RKSimon at users.noreply.github.com>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Log Message:
-----------
[DAG] Add SelectionDAG::getShiftAmountConstant APInt variant (#81484)
Asserts that the shift amount is in range and update ExpandShiftByConstant to use getShiftAmountConstant (and legal shift amount types).
Commit: a1efe56ace6099959ac97fcb09b9a7837b6d0255
https://github.com/llvm/llvm-project/commit/a1efe56ace6099959ac97fcb09b9a7837b6d0255
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
Log Message:
-----------
Remove an unused variable in release build.
Commit: 87d771193490e6604f132752438bd8404c83498c
https://github.com/llvm/llvm-project/commit/87d771193490e6604f132752438bd8404c83498c
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
M llvm/lib/Target/AMDGPU/SIMemoryLegalizer.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_udec_wrap.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_uinc_wrap.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/memory-legalizer-atomic-fence.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
M llvm/test/CodeGen/AMDGPU/atomicrmw-expand.ll
M llvm/test/CodeGen/AMDGPU/global-atomics-fp.ll
M llvm/test/CodeGen/AMDGPU/global-saddr-atomics-min-max-system.ll
M llvm/test/CodeGen/AMDGPU/global-saddr-atomics.ll
M llvm/test/CodeGen/AMDGPU/global-saddr-load.ll
M llvm/test/CodeGen/AMDGPU/insert-waitcnts-crash.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-fence.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-agent.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-system.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-agent.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-system.ll
Log Message:
-----------
[AMDGPU][SIMemoryLegalizer] Fix order of GL0/1_INV on GFX10/11 (#81450)
Fixes SWDEV-443292
Commit: e892f323ea234a997888b0fa44356b0678eda5f0
https://github.com/llvm/llvm-project/commit/e892f323ea234a997888b0fa44356b0678eda5f0
Author: Guray Ozen <guray.ozen at gmail.com>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
M mlir/lib/Dialect/NVGPU/IR/NVGPUDialect.cpp
Log Message:
-----------
[mlir][nvgpu] Allow TMA's last dim to be non-128B without swizzling (#81499)
Allow TMA's last dimension to be non-128B when swizzling mode is not
set.
Test `tma_load_64x8_8x128_noswizzle.mlir` is failing due to the
verifier. This PR will fix that
Commit: 346e7c7f6881afaade5a71ad97475d70639dadcf
https://github.com/llvm/llvm-project/commit/346e7c7f6881afaade5a71ad97475d70639dadcf
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
A clang/test/CXX/drs/dr201.cpp
A clang/test/CXX/drs/dr210.cpp
A clang/test/CXX/drs/dr292.cpp
M clang/test/CXX/drs/dr2xx.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[clang] Add some CodeGen tests for CWG 2xx issues (#80823)
This patch covers CWG issues
[201](https://cplusplus.github.io/CWG/issues/201.html),
[210](https://cplusplus.github.io/CWG/issues/210.html),
[292](https://cplusplus.github.io/CWG/issues/292.html).
[CWG208](https://cplusplus.github.io/CWG/issues/208.html) is not
covered, as it actually requires a libcxxabi test.
Resolution of CWG292 has been superseded by
[P0145R3](https://wg21.link/p0145r3) "Refining Expression Evaluation
Order for Idiomatic C++"
(see changes to paragraph 5.3.4/18).
Commit: d57515bd107bc76df5a042ffee2b7dc6125ffef1
https://github.com/llvm/llvm-project/commit/d57515bd107bc76df5a042ffee2b7dc6125ffef1
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/LegalizerInfo.h
M llvm/include/llvm/CodeGenTypes/LowLevelType.h
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/unittests/CodeGen/LowLevelTypeTest.cpp
Log Message:
-----------
[LLT] Add and use isPointerVector and isPointerOrPointerVector. NFC. (#81283)
Commit: 0e16950e741aee7ffec865c81596e1411471475e
https://github.com/llvm/llvm-project/commit/0e16950e741aee7ffec865c81596e1411471475e
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
M llvm/lib/Target/X86/X86SchedIceLake.td
M llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512.s
M llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512dq.s
Log Message:
-----------
[X86] IceLakeServer - ZMM FADD/FMUL can only use Port0
Fix discrepancy from when this was forked from the SkylakeServer model
This also fixes VRANGEPS/VRANGEPD instructions which typically match FADD characteristics
Confirmed with Agner + uops.info
Fixes #81504
Commit: 070848c17c2944afa494d42d3ad42929f3379842
https://github.com/llvm/llvm-project/commit/070848c17c2944afa494d42d3ad42929f3379842
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-xtn.mir
Log Message:
-----------
[AArch64][GISel] Don't pointlessly lower G_TRUNC (#81479)
If we have something like G_TRUNC from v2s32 to v2s16, then lowering
this to a concat of two G_TRUNC s32 to s16 followed by G_TRUNC from
v2s16 to v2s8 does not bring us any closer to legality. In fact, the
first part of that is a G_BUILD_VECTOR whose legalization will produce a
new G_TRUNC from v2s32 to v2s16, and both G_TRUNCs will then get
combined to the original, causing a legalization cycle.
Make the lowering condition more precise, by requiring that the original
vector is >128 bits, which is I believe the only case where this
specific splitting approach is useful.
Note that this doesn't actually produce a legal result (the alwaysLegal
is a lie, as before), but it will cause a proper globalisel abort
instead of an infinite legalization loop.
Fixes https://github.com/llvm/llvm-project/issues/81244.
Commit: 815a84655262ac569db11357fef1651f3571e7ee
https://github.com/llvm/llvm-project/commit/815a84655262ac569db11357fef1651f3571e7ee
Author: David Green <david.green at arm.com>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
M flang/include/flang/Optimizer/Support/Utils.h
A flang/include/flang/Optimizer/Transforms/Utils.h
M flang/lib/Optimizer/Dialect/CMakeLists.txt
M flang/lib/Optimizer/HLFIR/Transforms/CMakeLists.txt
M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
M flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp
Log Message:
-----------
[Flang] Move genMinMaxlocReductionLoop to Transforms/Utils.cpp (#81380)
This is one option for attempting to move genMinMaxlocReductionLoop to a
better location. It moves it into Transforms and makes HLFIRTranforms
depend upon FIRTransforms.
It passes a build locally, both with and without -DBUILD_SHARED_LIBS,
and does OK on the windows CI.
Commit: f0db35b93f31ea5d6ff9bd4791fb6755b5a5bb9b
https://github.com/llvm/llvm-project/commit/f0db35b93f31ea5d6ff9bd4791fb6755b5a5bb9b
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
M clang/lib/CodeGen/CoverageMappingGen.cpp
M llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
A llvm/include/llvm/ProfileData/Coverage/MCDCTypes.h
M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
M llvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp
M llvm/unittests/ProfileData/CoverageMappingTest.cpp
Log Message:
-----------
[MC/DC] Refactor: Introduce `MCDCTypes.h` for `coverage::mcdc` (#81459)
They can be also used in `clang`.
Introduce the lightweight header instead of `CoverageMapping.h`.
This includes for now:
* `mcdc::ConditionID`
* `mcdc::Parameters`
Commit: 05ad0d46325732e2f7759cb93c94f3e15b41d110
https://github.com/llvm/llvm-project/commit/05ad0d46325732e2f7759cb93c94f3e15b41d110
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
M llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
Log Message:
-----------
CoverageMapping.cpp: Apply std::move to MCDCRecord (#81220)
Commit: 0a600c34c8c1fe87c9661b6020e5044b24da3dc7
https://github.com/llvm/llvm-project/commit/0a600c34c8c1fe87c9661b6020e5044b24da3dc7
Author: Guray Ozen <guray.ozen at gmail.com>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/NVGPU/IR/NVGPU.td
M mlir/lib/Conversion/NVGPUToNVVM/NVGPUToNVVM.cpp
M mlir/lib/Dialect/NVGPU/TransformOps/NVGPUTransformOps.cpp
M mlir/test/Conversion/NVGPUToNVVM/nvgpu-to-nvvm.mlir
M mlir/test/Dialect/NVGPU/tmaload-transform.mlir
M mlir/test/Integration/GPU/CUDA/sm90/gemm_f32_f16_f16_128x128x128.mlir
M mlir/test/Integration/GPU/CUDA/sm90/gemm_pred_f32_f16_f16_128x128x128.mlir
M mlir/test/Integration/GPU/CUDA/sm90/tma_load_128x64_swizzle128b.mlir
M mlir/test/Integration/GPU/CUDA/sm90/tma_load_64x64_swizzle128b.mlir
M mlir/test/Integration/GPU/CUDA/sm90/tma_load_64x8_8x128_noswizzle.mlir
Log Message:
-----------
[mlir][nvgpu] Make `phaseParity` of `mbarrier.try_wait` `i1` (#81460)
Currently, `phaseParity` argument of `nvgpu.mbarrier.try_wait.parity` is
index. This can cause a problem if it's passed any value different than
0 or 1. Because the PTX instruction only accepts even or odd phase. This
PR makes phaseParity argument i1 to avoid misuse.
Here is the information from PTX doc:
```
The .parity variant of the instructions test for the completion of the phase indicated
by the operand phaseParity, which is the integer parity of either the current phase or
the immediately preceding phase of the mbarrier object. An even phase has integer
parity 0 and an odd phase has integer parity of 1. So the valid values of phaseParity
operand are 0 and 1.
```
See for more information:
https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#parallel-synchronization-and-communication-instructions-mbarrier-test-wait-mbarrier-try-wait
Commit: 4588525d7edbc0d14c41f5fa8f3e23a3241a502e
https://github.com/llvm/llvm-project/commit/4588525d7edbc0d14c41f5fa8f3e23a3241a502e
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
M llvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp
M llvm/lib/ProfileData/Coverage/CoverageMappingWriter.cpp
Log Message:
-----------
CoverageMappingReader/Writer: MCDCConditionID shouldn't be zero
Commit: 270f2c5575dc5dd001e91ddc2c71b0f2d23f567c
https://github.com/llvm/llvm-project/commit/270f2c5575dc5dd001e91ddc2c71b0f2d23f567c
Author: martinboehme <mboehme at google.com>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
M clang/include/clang/Analysis/FlowSensitive/DataflowAnalysisContext.h
M clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
Log Message:
-----------
[clang][dataflow] Add `Environment::initializeFieldsWithValues()`. (#81239)
This function will be useful when we change the behavior of record-type
prvalues
so that they directly initialize the associated result object. See also
the
comment here for more details:
https://github.com/llvm/llvm-project/blob/9e73656af524a2c592978aec91de67316c5ce69f/clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h#L354
As part of this patch, we document and assert that synthetic fields may
not have
reference type.
There is no practical use case for this: A `StorageLocation` may not
have
reference type, and a synthetic field of the corresponding non-reference
type
can serve the same purpose.
Commit: 5b015229b77d6ea7916a503d88661b04d4867e7c
https://github.com/llvm/llvm-project/commit/5b015229b77d6ea7916a503d88661b04d4867e7c
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
Log Message:
-----------
[AMDGPU] Use LLT::isPointerOrPointerVector in legalizer (#81582)
Commit: d860ea96b1d4bcc13bf269e9b108d8f5e0c21d93
https://github.com/llvm/llvm-project/commit/d860ea96b1d4bcc13bf269e9b108d8f5e0c21d93
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
M llvm/lib/IR/DebugInfo.cpp
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
A llvm/test/CodeGen/AArch64/dbg-assign-tag-offset-mix-loc.ll
A llvm/test/CodeGen/AArch64/dbg-assign-tag-offset.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/declare-to-assign/hwasan.ll
A llvm/test/Instrumentation/HWAddressSanitizer/dbg-assign-tag-offset.ll
Log Message:
-----------
[HWASAN] Update dbg.assign intrinsics in HWAsan pass (#79864)
llvm.dbg.assign intrinsics have 2 {value, expression} pairs; fix hwasan to
update the second expression.
Fixes #76545. This is #78606 rebased and with the addition of DPValue handling.
Note the addition of --try-experimental-debuginfo-iterators in the tests and
some shuffling of code in MemoryTaggingSupport.cpp.
Commit: 44706bd4f0e26f86eda24e4888044897fd4f92a8
https://github.com/llvm/llvm-project/commit/44706bd4f0e26f86eda24e4888044897fd4f92a8
Author: ostannard <oliver.stannard at arm.com>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/test/Transforms/InstCombine/fpclass-check-idioms.ll
Log Message:
-----------
[InstCombine] Don't add fcmp instructions to strictfp functions (#81498)
The strictfp attribute has the requirement that "LLVM will not introduce
any new floating-point instructions that may trap". The llvm.is.fpclass
intrinsic is documented as "The function never raises floating-point
exceptions", and the fcmp instruction may raise one, so we can't
transform the former into the latter in functions with the strictfp
attribute.
Commit: ca61e6a71dbe622593b27ab6c6f3bfd058069772
https://github.com/llvm/llvm-project/commit/ca61e6a71dbe622593b27ab6c6f3bfd058069772
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
M llvm/test/Transforms/CorrelatedValuePropagation/basic.ll
R llvm/test/Transforms/CorrelatedValuePropagation/switch.ll
Log Message:
-----------
Revert "[CVP] Check whether the default case is reachable (#79993)" (#81585)
This reverts commit a034e65e972175a2465deacb8c78bc7efc99bd23.
Some protobuf users reported that this patch caused a significant
compile-time regression because `TailDuplicator` works poorly with a
specific pattern.
We will reland it once the codegen issue is fixed.
Commit: ebe77cc320a1bcc8e2cec44f4f388fb43b72016d
https://github.com/llvm/llvm-project/commit/ebe77cc320a1bcc8e2cec44f4f388fb43b72016d
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/UnusedLocalNonTrivialVariableCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/unused-local-non-trivial-variable.rst
M clang-tools-extra/test/clang-tidy/checkers/bugprone/unused-local-non-trivial-variable.cpp
Log Message:
-----------
[clang-tidy] ignore local variable with [maybe_unused] attribute in bugprone-unused-local-non-trivial-variable (#81563)
Commit: 8c6e96d9eb35849762fa3ab4d3cc9517c4e14e74
https://github.com/llvm/llvm-project/commit/8c6e96d9eb35849762fa3ab4d3cc9517c4e14e74
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
Log Message:
-----------
[clang][Dataflow] Fix unnecessary copy in `initializeFieldsWithValues` (NFC)
Commit: f506192c016fb6909eb2c17e183f6223db012f8c
https://github.com/llvm/llvm-project/commit/f506192c016fb6909eb2c17e183f6223db012f8c
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
M libc/src/__support/FPUtil/BasicOperations.h
M libc/src/math/generic/acoshf.cpp
M libc/src/math/generic/asinhf.cpp
Log Message:
-----------
[libc][NFC] Small `abs` related simplifications (#79858)
Commit: 4c931091a344e3284bd449710defdabe8fab1c22
https://github.com/llvm/llvm-project/commit/4c931091a344e3284bd449710defdabe8fab1c22
Author: Ivan Kosarev <ivan.kosarev at amd.com>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
Log Message:
-----------
[AMDGPU][NFC] Get rid of some operand decoders defined using macros. (#81482)
Use templates instead.
Part of <https://github.com/llvm/llvm-project/issues/62629>.
Commit: fe3406e349884e4ef61480dd0607f1e237102c74
https://github.com/llvm/llvm-project/commit/fe3406e349884e4ef61480dd0607f1e237102c74
Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
A lld/ELF/Arch/SystemZ.cpp
M lld/ELF/CMakeLists.txt
M lld/ELF/Driver.cpp
M lld/ELF/InputFiles.cpp
M lld/ELF/InputSection.cpp
M lld/ELF/Relocations.cpp
M lld/ELF/Relocations.h
M lld/ELF/ScriptParser.cpp
M lld/ELF/SyntheticSections.cpp
M lld/ELF/Target.cpp
M lld/ELF/Target.h
A lld/test/ELF/Inputs/systemz-init.s
A lld/test/ELF/basic-systemz.s
A lld/test/ELF/emulation-systemz.s
A lld/test/ELF/lto/systemz.ll
A lld/test/ELF/systemz-got.s
A lld/test/ELF/systemz-gotent-relax-align.s
A lld/test/ELF/systemz-gotent-relax-und-dso.s
A lld/test/ELF/systemz-gotent-relax.s
A lld/test/ELF/systemz-ifunc-nonpreemptible.s
A lld/test/ELF/systemz-init-padding.s
A lld/test/ELF/systemz-pie.s
A lld/test/ELF/systemz-plt.s
A lld/test/ELF/systemz-reloc-abs.s
A lld/test/ELF/systemz-reloc-disp12.s
A lld/test/ELF/systemz-reloc-disp20.s
A lld/test/ELF/systemz-reloc-got.s
A lld/test/ELF/systemz-reloc-gotrel.s
A lld/test/ELF/systemz-reloc-pc16.s
A lld/test/ELF/systemz-reloc-pc32.s
A lld/test/ELF/systemz-reloc-pcdbl.s
A lld/test/ELF/systemz-tls-gd.s
A lld/test/ELF/systemz-tls-ie.s
A lld/test/ELF/systemz-tls-ld.s
A lld/test/ELF/systemz-tls-le.s
M lld/test/lit.cfg.py
Log Message:
-----------
[lld] Add target support for SystemZ (s390x) (#75643)
This patch adds full support for linking SystemZ (ELF s390x) object
files. Support should be generally complete:
- All relocation types are supported.
- Full shared library support (DYNAMIC, GOT, PLT, ifunc).
- Relaxation of TLS and GOT relocations where appropriate.
- Platform-specific test cases.
In addition to new platform code and the obvious changes, there were a
few additional changes to common code:
- Add three new RelExpr members (R_GOTPLT_OFF, R_GOTPLT_PC, and
R_PLT_GOTREL) needed to support certain s390x relocations. I chose not
to use a platform-specific name since nothing in the definition of these
relocs is actually platform-specific; it is well possible that other
platforms will need the same.
- A couple of tweaks to TLS relocation handling, as the particular
semantics of the s390x versions differ slightly. See comments in the
code.
This was tested by building and testing >1500 Fedora packages, with only
a handful of failures; as these also have issues when building with LLD
on other architectures, they seem unrelated.
Co-authored-by: Tulio Magno Quites Machado Filho <tuliom at redhat.com>
Commit: 9ca1a1575a337931d0e49859f83a0d5b70916abd
https://github.com/llvm/llvm-project/commit/9ca1a1575a337931d0e49859f83a0d5b70916abd
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Driver/ToolChains/Flang.h
A flang/test/Driver/masm.f90
Log Message:
-----------
[flang][Driver] Add -masm option to flang (#81490)
The motivation here was a suggestion over in Compiler Explorer. You can
use `-mllvm` already to do this but since gfortran supports `-masm`, I
figured I'd try to add it.
This is done by flang expanding `-masm` into `-mllvm x86-asm-syntax=`,
then passing that to fc1. Which then collects all the `-mllvm` options
and forwards them on.
The code to expand it comes from clang `Clang::AddX86TargetArgs` (there
are some other places doing the same thing too). However I've removed
the `-inline-asm` that clang adds, as fortran doesn't have inline
assembly.
So `-masm` for flang purely changes the style of assembly output.
```
$ ./bin/flang-new /tmp/test.f90 -o - -S -target x86_64-linux-gnu
<...>
pushq %rbp
$ ./bin/flang-new /tmp/test.f90 -o - -S -target x86_64-linux-gnu -masm=att
<...>
pushq %rbp
$ ./bin/flang-new /tmp/test.f90 -o - -S -target x86_64-linux-gnu -masm=intel
<...>
push rbp
```
The test is adapted from `clang/test/Driver/masm.c` by removing the
clang-cl related lines and changing the 32 bit triples to 64 bit triples
since flang doesn't support 32 bit targets.
Commit: a8fb0dcc41bf355a3bff9ad7165715a8b6012059
https://github.com/llvm/llvm-project/commit/a8fb0dcc41bf355a3bff9ad7165715a8b6012059
Author: Paul Semel <semelpaul at gmail.com>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
M clang/lib/Analysis/FlowSensitive/Transfer.cpp
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
Log Message:
-----------
[dataflow] CXXOperatorCallExpr equal operator might not be a glvalue (#80991)
Although in a normal implementation the assumption is reasonable, it
seems that some esoteric implementation are not returning a T&. This
should be handled correctly and the values be propagated.
---------
Co-authored-by: martinboehme <mboehme at google.com>
Commit: 79ce2c93aeb4686ef687b19867dbfe0e8cf40673
https://github.com/llvm/llvm-project/commit/79ce2c93aeb4686ef687b19867dbfe0e8cf40673
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
Log Message:
-----------
[mlir][VectorOps] Add conversion of 1-D vector.interleave ops to LLVM (#80966)
The 1-D case directly maps to LLVM intrinsics. The n-D case will be
handled by unrolling to 1-D first (in a later patch).
Depends on: #80965
Commit: e678e6edec8d2672eb848b7453bd10e16cc54958
https://github.com/llvm/llvm-project/commit/e678e6edec8d2672eb848b7453bd10e16cc54958
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
M llvm/utils/gn/secondary/lld/ELF/BUILD.gn
Log Message:
-----------
[gn build] Port fe3406e34988
Commit: 8456e0c290f759807023924481712767a19464c2
https://github.com/llvm/llvm-project/commit/8456e0c290f759807023924481712767a19464c2
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
M llvm/include/llvm/ADT/BitVector.h
M llvm/unittests/ADT/BitVectorTest.cpp
Log Message:
-----------
[ADT] Allow std::next to work on BitVector's set_bits_iterator (#80830)
Without this I would hit errors with libstdc++-12 like:
/usr/include/c++/12/bits/stl_iterator_base_funcs.h:230:5: note:
candidate template ignored: substitution failure [with _InputIterator =
llvm::const_set_bits_iterator_impl<llvm::BitVector>]: argument may not
have 'void' type
next(_InputIterator __x, typename
^
Commit: 55d6643ccf6f9394d88d3d6359492000c58c2357
https://github.com/llvm/llvm-project/commit/55d6643ccf6f9394d88d3d6359492000c58c2357
Author: Pranav Bhandarkar <153014763+bhandarkar-pranav at users.noreply.github.com>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
M flang/lib/Lower/OpenMP.cpp
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/test/Dialect/OpenMP/invalid.mlir
M mlir/test/Dialect/OpenMP/ops.mlir
Log Message:
-----------
[mlir][openmp] - Add the depend clause to omp.target and related offloading directives (#81081)
This patch adds support for the depend clause in a number of OpenMP
directives/constructs related to offloading. Specifically, it adds the
handling of the depend clause when it is used with the following
constructs
- target
- target enter data
- target update data
- target exit data
Commit: e79ad7bb94611666a23764459098574bc0394d56
https://github.com/llvm/llvm-project/commit/e79ad7bb94611666a23764459098574bc0394d56
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
M flang/docs/FortranLLVMTestSuite.md
M flang/docs/index.md
Log Message:
-----------
[flang][docs] Fix a couple of warnings
Commit: 97088b2ab2184ad4bd64f59fba0b92b70468b10d
https://github.com/llvm/llvm-project/commit/97088b2ab2184ad4bd64f59fba0b92b70468b10d
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Utils/ValueMapper.cpp
A llvm/test/DebugInfo/Generic/ipsccp-remap-assign-id.ll
Log Message:
-----------
[RemoveDIs][ValueMapper] Remap DIAssignIDs in DPValues (#81595)
Fix crash raised in comments for 5c9f7682b090124d9a8b69f92d3f7c269dca25fc
Commit: bfc0b7c6891896ee8e9818f22800472510093864
https://github.com/llvm/llvm-project/commit/bfc0b7c6891896ee8e9818f22800472510093864
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
A mlir/test/Dialect/Linalg/vectorization-unsupported.mlir
Log Message:
-----------
[mlir][linalg] Document ops not supported by the vectoriser (nfc) (#81500)
Adds a test to help document Linalg Ops that are currently not supported
by the vectoriser (i.e. the logic to vectorise these is missing). The
list is not exhaustive.
Commit: 35ef3994bf738318b59ce640910fb1ccd3bb7dcb
https://github.com/llvm/llvm-project/commit/35ef3994bf738318b59ce640910fb1ccd3bb7dcb
Author: Ivan Butygin <ivan.butygin at gmail.com>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/Vector/Transforms/VectorRewritePatterns.h
M mlir/include/mlir/Transforms/DialectConversion.h
M mlir/lib/Dialect/Math/Transforms/LegalizeToF32.cpp
M mlir/lib/Dialect/Vector/Transforms/CMakeLists.txt
A mlir/lib/Dialect/Vector/Transforms/VectorLinearize.cpp
M mlir/lib/Transforms/Utils/DialectConversion.cpp
A mlir/test/Dialect/Vector/linearize.mlir
M mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp
Log Message:
-----------
[mlir][vector] ND vectors linearization pass (#81159)
Common backends (LLVM, SPIR-V) only supports 1D vectors, LLVM conversion
handles ND vectors (N >= 2) as `array<array<... vector>>` and SPIR-V
conversion doesn't handle them at all at the moment. Sometimes it's
preferable to treat multidim vectors as linearized 1D. Add pass to do
this. Only constants and simple elementwise ops are supported for now.
@krzysz00 I've extracted yours result type conversion code from
LegalizeToF32 and moved it to common place.
Also, add ConversionPattern class operating on traits.
Commit: 990896a591b0b042cdf552900b92016ed253970d
https://github.com/llvm/llvm-project/commit/990896a591b0b042cdf552900b92016ed253970d
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/Program.h
Log Message:
-----------
[clang][Interp][NFC] Fix a prototype argument name
Commit: 208edf7672cd2e84ae5da4df423adccd752ee1f1
https://github.com/llvm/llvm-project/commit/208edf7672cd2e84ae5da4df423adccd752ee1f1
Author: Luke Lau <luke at igalia.com>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract-subvector.ll
Log Message:
-----------
[RISCV] Fix assertion in lowerEXTRACT_SUBVECTOR
This fixes a crash when lowering an extract_subvector like:
t0:v1i64 = extract_subvector t1:v2i64, 1
Whilst we never need a vslidedown with M1 on scalable vector types, we might
need to do it for v1i64/v1f64, since the smallest container type for it is
nxv1i64/nxv1f64.
The lowering code is still correct for this case, but the assertion was too
strict. The actual invariant we're relying on is that ContainerSubVecVT's LMUL
<= M1, not < M1. Hence why we handled v2i32 fine, because its container type
was nxv1i32 and MF2.
Commit: 9b718c0d5d0f1f146957753b7785f87f58cccfec
https://github.com/llvm/llvm-project/commit/9b718c0d5d0f1f146957753b7785f87f58cccfec
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.h
M clang/lib/AST/Interp/Program.cpp
M clang/test/AST/Interp/literals.cpp
M clang/test/SemaCXX/PR40395.cpp
M clang/test/SemaCXX/ms-uuid.cpp
Log Message:
-----------
[clang][Interp] Handle CXXUuidofExprs
Allocate storage and initialize it with the given APValue contents.
Commit: a70077ed8cdf7c7c2879c18c1c67917cd88e64ef
https://github.com/llvm/llvm-project/commit/a70077ed8cdf7c7c2879c18c1c67917cd88e64ef
Author: Abhina Sree <69635948+abhina-sree at users.noreply.github.com>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align.except.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align_nothrow.except.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_align.except.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_align_nothrow.except.pass.cpp
Log Message:
-----------
[SystemZ][z/OS][libcxx] mark aligned allocation tests XFAIL on z/OS (#80735)
zOS doesn't support aligned allocation, so mark these testcases as
unsupported.
Continuation of https://reviews.llvm.org/D102798
Commit: a17a3e9d9a6b4baefd96e19ee5e8ce04cead8ab5
https://github.com/llvm/llvm-project/commit/a17a3e9d9a6b4baefd96e19ee5e8ce04cead8ab5
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
M clang/lib/CodeGen/CoverageMappingGen.cpp
M llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
M llvm/include/llvm/ProfileData/Coverage/MCDCTypes.h
M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
M llvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp
M llvm/lib/ProfileData/Coverage/CoverageMappingWriter.cpp
M llvm/unittests/ProfileData/CoverageMappingTest.cpp
Log Message:
-----------
[MC/DC] Refactor: Make `MCDCParams` as `std::variant` (#81227)
Introduce `mcdc::DecisionParameters` and `mcdc::BranchParameters` and make
sure them not initialized as zero.
FIXME: Could we make `CoverageMappingRegion` as a smart tagged union?
Commit: 880afa1c5d1b099eed5034340a67e56b9dda4c09
https://github.com/llvm/llvm-project/commit/880afa1c5d1b099eed5034340a67e56b9dda4c09
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
M llvm/utils/TableGen/AsmMatcherEmitter.cpp
M llvm/utils/TableGen/CodeGenRegisters.cpp
Log Message:
-----------
[TableGen] Use vectors instead of sets for testing intersection. NFC. (#81602)
In a few places we test whether sets (i.e. sorted ranges) intersect by
computing the set_intersection and then testing whether it is empty. For
this purpose it should be more efficient to use a std:vector instead of
a std::set to hold the result of the set_intersection, since insertion
is simpler.
Commit: bb60c066a24eda6e6276fba9021cad85c4892343
https://github.com/llvm/llvm-project/commit/bb60c066a24eda6e6276fba9021cad85c4892343
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.h
M clang/test/SemaCXX/concept-crash-on-diagnostic.cpp
Log Message:
-----------
[clang][Interp] Handle Requires- and ConceptSpecializationExprs
Just emit their satisfaction state, which is what the current
interpreter does as well.
Commit: f6557783007377a80a4dc0c5e3c8e2513ed36b2f
https://github.com/llvm/llvm-project/commit/f6557783007377a80a4dc0c5e3c8e2513ed36b2f
Author: Erich Keane <ekeane at nvidia.com>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
M clang/include/clang-c/Index.h
M clang/include/clang/AST/RecursiveASTVisitor.h
A clang/include/clang/AST/StmtOpenACC.h
M clang/include/clang/AST/StmtVisitor.h
M clang/include/clang/AST/TextNodeDumper.h
M clang/include/clang/Basic/OpenACCKinds.h
M clang/include/clang/Basic/StmtNodes.td
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/lib/AST/ASTStructuralEquivalence.cpp
M clang/lib/AST/CMakeLists.txt
M clang/lib/AST/Stmt.cpp
A clang/lib/AST/StmtOpenACC.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/Sema/SemaExceptionSpec.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
M clang/tools/libclang/CIndex.cpp
M clang/tools/libclang/CXCursor.cpp
Log Message:
-----------
[OpenACC] Implement AST for OpenACC Compute Constructs (#81188)
'serial', 'parallel', and 'kernel' constructs are all considered
'Compute' constructs. This patch creates the AST type, plus the required
infrastructure for such a type, plus some base types that will be useful
in the future for breaking this up.
The only difference between the three is the 'kind'( plus some minor
clause legalization rules, but those can be differentiated easily
enough), so rather than representing them as separate AST nodes, it
seems
to make sense to make them the same.
Additionally, no clause AST functionality is being implemented yet, as
that fits better in a separate patch, and this is enough to get the
'naked' constructs implemented.
This is otherwise an 'NFC' patch, as it doesn't alter execution at all,
so there aren't any tests. I did this to break up the review workload
and to get feedback on the layout.
Commit: af56beac45692bb25b62383b78ee0b50c40e1f60
https://github.com/llvm/llvm-project/commit/af56beac45692bb25b62383b78ee0b50c40e1f60
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/AST/BUILD.gn
Log Message:
-----------
[gn build] Port f65577830073
Commit: 742ec3abb876cccf122de4cd92dbbc82dd6f52b2
https://github.com/llvm/llvm-project/commit/742ec3abb876cccf122de4cd92dbbc82dd6f52b2
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
M llvm/include/llvm/ProfileData/Coverage/MCDCTypes.h
Log Message:
-----------
MCDCTypes.h: Add ctors, fixup for #81227
Commit: 46122082a61ef5bb2871d2d9158739133ad0e113
https://github.com/llvm/llvm-project/commit/46122082a61ef5bb2871d2d9158739133ad0e113
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
M lld/COFF/Driver.cpp
M llvm/include/llvm/Object/COFFImportFile.h
M llvm/lib/Object/COFFImportFile.cpp
M llvm/lib/ToolDrivers/llvm-dlltool/DlltoolDriver.cpp
M llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp
Log Message:
-----------
[Object][COFF][NFC] Make writeImportLibrary NativeExports argument optional. (#81600)
It's not interesting for majority of downstream users.
Commit: d759618df76361a8e490eeae5c5399e0738cbfd0
https://github.com/llvm/llvm-project/commit/d759618df76361a8e490eeae5c5399e0738cbfd0
Author: OCHyams <orlando.hyams at sony.com>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
M llvm/lib/IR/BasicBlock.cpp
Log Message:
-----------
Reapply "[DebugInfo][RemoveDIs] Turn on non-instrinsic debug-info by default"
This reapplies commit bdde5f9 by undoing the revert bc66e0c.
The previous reapplication 5c9f768 was reverted due to a crash
(reproducer in comments for 5c9f768) which was fixed in #81595.
As noted in the original commit, this commit may break downstream tests.
If this commit is breaking your downstream tests, please see comment 12 in
[0], which documents the kind of variation in tests we'd expect to see from
this change and what to do about it.
[0] https://discourse.llvm.org/t/rfc-instruction-api-changes-needed-to-eliminate-debug-intrinsics-from-ir/68939
Commit: f7cddf80062848fbbb358d7e913650cc550d2547
https://github.com/llvm/llvm-project/commit/f7cddf80062848fbbb358d7e913650cc550d2547
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
M llvm/utils/TableGen/AsmMatcherEmitter.cpp
M llvm/utils/TableGen/CodeGenRegisters.cpp
M llvm/utils/TableGen/CodeGenSchedule.cpp
M llvm/utils/TableGen/GlobalISelMatchTable.cpp
M llvm/utils/TableGen/SubtargetEmitter.cpp
Log Message:
-----------
[TableGen] Use std::move instead of swap. NFC. (#81606)
Historically TableGen has used `A.swap(B)` to move containers without
the expense of copying them. Perhaps this predated rvalue references. In
any case `A = std::move(B)` seems like a more direct way to implement
this when only A is required after the operation.
Commit: d1f510cca8e966bd1742bf17256bfec99dcdf229
https://github.com/llvm/llvm-project/commit/d1f510cca8e966bd1742bf17256bfec99dcdf229
Author: Mats Petersson <mats.petersson at arm.com>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
M flang/lib/Semantics/canonicalize-omp.cpp
Log Message:
-----------
Fix warning by removing unused variable (#81604)
Apparently, some compilers [correctly] warn that the variable that was
created prior to this change is unused.
This reemoves the variable.
Commit: 5e5e51e9062895bed9fcf0dbb157d868be0adf8d
https://github.com/llvm/llvm-project/commit/5e5e51e9062895bed9fcf0dbb157d868be0adf8d
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
M llvm/lib/Support/DeltaAlgorithm.cpp
M llvm/utils/TableGen/AsmMatcherEmitter.cpp
Log Message:
-----------
Make use of std::inserter. NFC.
Commit: 38c706e30f5f339bfb0bfb26fd7b5c2d5086064a
https://github.com/llvm/llvm-project/commit/38c706e30f5f339bfb0bfb26fd7b5c2d5086064a
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
A .github/workflows/approved-prs.yml
M llvm/utils/git/github-automation.py
Log Message:
-----------
[GitHub][workflows] Ask reviewers to merge PRs when author cannot (#81142)
This uses
https://pygithub.readthedocs.io/en/stable/github_objects/Repository.html?highlight=get_collaborator_permission#github.Repository.Repository.get_collaborator_permission.
Which does
https://docs.github.com/en/rest/collaborators/collaborators?apiVersion=2022-11-28#get-repository-permissions-for-a-user
and returns the top level "permission" key.
This is less detailed than the user/permissions key but should be fine
for this
use case.
When a review is submitted we check:
* If it's an approval.
* Whether we have already left a merge on behalf comment (by looking for
a hidden HTML comment).
* Whether the author has permissions to merge their own PR.
* Whether the reviewer has permissions to merge.
If needed we leave a comment tagging the reviewer. If the reviewer also
doesn't have merge permission, then it asks them to find someone else
who does.
Commit: 89c1bf1230e011f2f0e43554c278205fa1819de5
https://github.com/llvm/llvm-project/commit/89c1bf1230e011f2f0e43554c278205fa1819de5
Author: James Westwood <james.westwood at arm.com>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/Basic/Targets/ARM.cpp
M clang/lib/Basic/Targets/ARM.h
M clang/test/Preprocessor/arm-target-features.c
M llvm/include/llvm/TargetParser/ARMTargetParser.h
M llvm/lib/TargetParser/ARMTargetParser.cpp
M llvm/unittests/TargetParser/TargetParserTest.cpp
Log Message:
-----------
[ARM] __ARM_ARCH macro definition fix (#81493)
This patch changes how the macro __ARM_ARCH is defined to match its
defintion in the ACLE. In ACLE 5.4.1, __ARM_ARCH is defined as equal to
the major architecture version for ISAs up to and including v8. From
v8.1 onwards, its definition is changed to include minor versions, such
that for an architecture vX.Y, __ARM_ARCH = X*100 + Y. Before this
patch, LLVM defined __ARM_ARCH using only the major architecture version
for all architecture versions. This patch adds functionality to define
__ARM_ARCH correctly for architectures greater than or equal to v8.1.
Commit: 25b9ed6e4964344e3710359bec4c831e5a8448b9
https://github.com/llvm/llvm-project/commit/25b9ed6e4964344e3710359bec4c831e5a8448b9
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/X86/load-combine.ll
Log Message:
-----------
[DAGCombine] Fix multi-use miscompile in load combine (#81586)
The load combine replaces a number of original loads with one new loads
and also replaces the output chains of the original loads with the
output chain of the new load. This is incorrect if the original load is
retained (due to multi-use), as it may get incorrectly reordered.
Fix this by using makeEquivalentMemoryOrdering() instead, which will
create a TokenFactor with both chains.
Fixes https://github.com/llvm/llvm-project/issues/80911.
Commit: 4ad9f5be8348374ed2bfff32842f395f6e5f41a4
https://github.com/llvm/llvm-project/commit/4ad9f5be8348374ed2bfff32842f395f6e5f41a4
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
M .ci/generate-buildkite-pipeline-premerge
Log Message:
-----------
ci: Temporarily disable the buildkite job on Windows (#81538)
The failure rate is too high.
See
https://discourse.llvm.org/t/rfc-future-of-windows-pre-commit-ci/76840
Commit: 192c23b0c7e5d3daefc2ad7d86c095509749eacd
https://github.com/llvm/llvm-project/commit/192c23b0c7e5d3daefc2ad7d86c095509749eacd
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/X86/vec3-base.ll
A llvm/test/Transforms/SLPVectorizer/X86/vec3-calls.ll
A llvm/test/Transforms/SLPVectorizer/X86/vec3-gather-some-loads.ll
A llvm/test/Transforms/SLPVectorizer/X86/vec3-reorder-reshuffle.ll
Log Message:
-----------
[SLP] Add X86 version of non-power-of-2 vectorization tests.
Extra X86 tests for https://github.com/llvm/llvm-project/pull/77790.
Commit: 485ebbff55f41bd12ad768c2974d3280cb581307
https://github.com/llvm/llvm-project/commit/485ebbff55f41bd12ad768c2974d3280cb581307
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
M llvm/utils/TableGen/CodeGenRegisters.cpp
M llvm/utils/TableGen/CodeGenRegisters.h
M llvm/utils/TableGen/SubtargetEmitter.cpp
Log Message:
-----------
[TableGen] Use emplace_back instead of resize to size() + 1. NFC.
Commit: 4f13f353cc8dc472a3f00932bc42179776f0f684
https://github.com/llvm/llvm-project/commit/4f13f353cc8dc472a3f00932bc42179776f0f684
Author: Paul Walker <paul.walker at arm.com>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
M llvm/lib/IR/AsmWriter.cpp
Log Message:
-----------
[NFC][LLVM][AsmWriter] Extract logic to write out ConstantFP from WriteConstantInternal.
This makes is easier to extend the code to support vector types.
Commit: 987258f5c7801ebb4f7ce7c6a035634b275a5759
https://github.com/llvm/llvm-project/commit/987258f5c7801ebb4f7ce7c6a035634b275a5759
Author: Daniel Chen <cdchen at ca.ibm.com>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/module/iso_c_binding.f90
A flang/test/Driver/predefined-macros-powerpc.f90
Log Message:
-----------
[Flang] Add __powerpc__ macro to set c_intmax_t to c_int64_t rather than c_int128_t as PowerPC only supports up to c_int64_t. (#81222)
PowerPC only supports up to `c_int64_t`. Add macro `__powerpc__` and
preprocess it for setting `c_intmax_t` in `iso_c_binding` intrinsic
module.
Commit: 381a00de4fdcccd904dac6a0856fb44f12ba0abb
https://github.com/llvm/llvm-project/commit/381a00de4fdcccd904dac6a0856fb44f12ba0abb
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
Log Message:
-----------
[clang][Driver][HLSL] Fix formatting of clang-dxc options group title
Some extra `<>` and a missing full stop.
Commit: 11fcae69dbea4860e20ab799ecca9b0432d7f19d
https://github.com/llvm/llvm-project/commit/11fcae69dbea4860e20ab799ecca9b0432d7f19d
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/Builtins.td
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/test/CodeGen/builtins.c
M llvm/include/llvm/CodeGen/ISDOpcodes.h
M llvm/include/llvm/IR/Intrinsics.td
M llvm/include/llvm/Support/TargetOpcodes.def
M llvm/include/llvm/Target/GenericOpcodes.td
M llvm/include/llvm/Target/GlobalISel/SelectionDAGCompat.td
M llvm/include/llvm/Target/TargetSelectionDAG.td
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/IntrinsicLowering.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SMInstructions.td
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
A llvm/test/CodeGen/AMDGPU/readsteadycounter.ll
M llvm/test/CodeGen/NVPTX/intrinsics.ll
M llvm/test/TableGen/GlobalISelCombinerEmitter/builtins/match-table-replacerreg.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-imms.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-intrinsics.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-patfrag-root.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table.td
M llvm/test/TableGen/GlobalISelEmitter.td
Log Message:
-----------
[LLVM] Add `__builtin_readsteadycounter` intrinsic and builtin for realtime clocks (#81331)
Summary:
This patch adds a new intrinsic and builtin function mirroring the
existing `__builtin_readcyclecounter`. The difference is that this
implementation targets a separate counter that some targets have which
returns a fixed frequency clock that can be used to determine elapsed
time, this is different compared to the cycle counter which often has
variable frequency.
This patch only adds support for the NVPTX and AMDGPU targets.
This is done as a new and separate builtin rather than an argument to
`readcyclecounter` to avoid needing to change existing code and to make
the separation more explicit.
Commit: 1f90af183d7a007584fac041eaca9f126a1a942f
https://github.com/llvm/llvm-project/commit/1f90af183d7a007584fac041eaca9f126a1a942f
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
M llvm/utils/TableGen/CodeGenRegisters.cpp
Log Message:
-----------
[TableGen] Do not speculatively grow RegUnitSets. NFC.
This seems to be a trick to avoid copying a RegUnitSet, but it can be
done more simply using std::move.
Commit: 8ba4ff392538dac7b803cfdf5bde217ff538a644
https://github.com/llvm/llvm-project/commit/8ba4ff392538dac7b803cfdf5bde217ff538a644
Author: S. Bharadwaj Yadavalli <Bharadwaj.Yadavalli at microsoft.com>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
M llvm/lib/Target/DirectX/DXIL.td
M llvm/utils/TableGen/DXILEmitter.cpp
Log Message:
-----------
[DirectX][NFC] Change specification of overload types and attribute in DXIL.td (#81184)
- Specify overload types of DXIL Operation as list of types instead of a
string.
- Add supported DXIL type record definitions to `DXIL.td` leveraging
`LLVMType` to avoid duplicate definitions.
- Spell out DXIL Operation Attribute specification string.
- Make corresponding changes to process the records in DXILEmitter.cpp
Commit: 1d8479225a8c1efc8c90511e6c7fe608ff38163c
https://github.com/llvm/llvm-project/commit/1d8479225a8c1efc8c90511e6c7fe608ff38163c
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
Log Message:
-----------
[clang][Driver] Small correction to print-runtime-dir
Commit: d58c128bc42b8a9cc45516ba9fe9e6a3c322d7b3
https://github.com/llvm/llvm-project/commit/d58c128bc42b8a9cc45516ba9fe9e6a3c322d7b3
Author: Zequan Wu <zequanwu at google.com>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
A lldb/tools/lldb-dap/Breakpoint.cpp
A lldb/tools/lldb-dap/Breakpoint.h
M lldb/tools/lldb-dap/BreakpointBase.cpp
M lldb/tools/lldb-dap/BreakpointBase.h
M lldb/tools/lldb-dap/CMakeLists.txt
M lldb/tools/lldb-dap/FunctionBreakpoint.cpp
M lldb/tools/lldb-dap/FunctionBreakpoint.h
M lldb/tools/lldb-dap/JSONUtils.cpp
M lldb/tools/lldb-dap/JSONUtils.h
M lldb/tools/lldb-dap/SourceBreakpoint.cpp
M lldb/tools/lldb-dap/SourceBreakpoint.h
M lldb/tools/lldb-dap/lldb-dap.cpp
M llvm/utils/gn/secondary/lldb/tools/lldb-dap/BUILD.gn
Log Message:
-----------
[lldb-dap][NFC] Add Breakpoint struct to share common logic. (#80753)
This adds a layer between `SounceBreakpoint`/`FunctionBreakpoint` and
`BreakpointBase` to have better separation and encapsulation so we are
not directly operating on `SBBreakpoint`.
I basically moved the `SBBreakpoint` and the methods that requires it
from `BreakpointBase` to `Breakpoint`. This allows adding support for
data watchpoint easier by sharing the logic inside `BreakpointBase`.
Commit: 7a5c1a4abc750fef335c2ee5191d59ebe9e4bf18
https://github.com/llvm/llvm-project/commit/7a5c1a4abc750fef335c2ee5191d59ebe9e4bf18
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
M clang/docs/LanguageExtensions.rst
Log Message:
-----------
[clang][docs] Fix warning in LanguageExtensions
build-llvm/tools/clang/docs/LanguageExtensions.rst:2768: WARNING: Title underline too short.
Commit: 7a471133ef56bf6059b3e35125f86420ebbf3a33
https://github.com/llvm/llvm-project/commit/7a471133ef56bf6059b3e35125f86420ebbf3a33
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
M mlir/test/Dialect/Linalg/invalid.mlir
M mlir/test/Dialect/Linalg/named-ops.mlir
A mlir/test/Dialect/Linalg/transform-op-mmt4d-to-fma.mlir
M mlir/test/Dialect/Linalg/vectorization.mlir
Log Message:
-----------
[mlir][nfc] Add tests for linalg.mmt4d (#81422)
linalg.mmt4d was added a while back (https://reviews.llvm.org/D105244),
but there are virtually no tests in-tree. In the spirit of documenting
through test, this PR adds a few basic examples.
Commit: f879ac0385d4c5f7b2b9f4807cd7bd4a78556c1c
https://github.com/llvm/llvm-project/commit/f879ac0385d4c5f7b2b9f4807cd7bd4a78556c1c
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
M libc/src/__support/GPU/amdgpu/utils.h
M libc/src/__support/GPU/generic/utils.h
M libc/src/__support/GPU/nvptx/utils.h
M libc/src/__support/RPC/rpc.h
M libc/test/src/__support/RPC/rpc_smoke_test.cpp
M libc/utils/gpu/server/rpc_server.cpp
Log Message:
-----------
[libc] Rework the RPC interface to accept runtime wave sizes (#80914)
Summary:
The RPC interface needs to handle an entire warp or wavefront at once.
This is currently done by using a compile time constant indicating the
size of the buffer, which right now defaults to some value on the client
(GPU) side. However, there are currently attempts to move the `libc`
library to a single IR build. This is problematic as the size of the
wave fronts changes between ISAs on AMDGPU. The builitin
`__builtin_amdgcn_wavefrontsize()` will return the appropriate value,
but it is only known at runtime now.
In order to support this, this patch restructures the packet. Now
instead of having an array of arrays, we simply have a large array of
buffers and slice it according to the runtime value if we don't know it
ahead of time. This also somewhat has the advantage of making the buffer
contiguous within a page now that the header has been moved out of it.
Commit: d79c3c50c45f2bd0acc0269dbedde9ddeed2d50e
https://github.com/llvm/llvm-project/commit/d79c3c50c45f2bd0acc0269dbedde9ddeed2d50e
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIRAttr.td
M flang/include/flang/Optimizer/Dialect/FIROpsSupport.h
M flang/lib/Lower/CallInterface.cpp
M flang/lib/Optimizer/Dialect/FIRAttr.cpp
M flang/test/Lower/CUDA/cuda-proc-attribute.cuf
Log Message:
-----------
[flang][cuda] Lower launch_bounds values (#81537)
This PR adds a new attribute to carry over the information from
`launch_bounds`. The new attribute `CUDALaunchBoundsAttr` holds 2 to 3
integer attrinbutes and is added to `func.func` operation.
Commit: 1dacfd119071af50eaef21a97a46076ee6ff20fd
https://github.com/llvm/llvm-project/commit/1dacfd119071af50eaef21a97a46076ee6ff20fd
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
M libc/src/time/gpu/nanosleep.cpp
Log Message:
-----------
[libc] Round up time for GPU nanosleep implementation (#81630)
Summary:
The GPU `nanosleep` tests would occasionally fail. This was due to the
fact that we used integer division to determine how many ticks we had to
sleep for. This would then truncate, leaving us with a value just
slightly below the requested value. This would then occasionally leave
us with a return value of `-1`. This patch just changes the code to
round up by 1 so we always sleep for at least the requested value.
Commit: e847abc5b47210de63455f67e58225121617873b
https://github.com/llvm/llvm-project/commit/e847abc5b47210de63455f67e58225121617873b
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
M llvm/utils/TableGen/CodeGenRegisters.cpp
Log Message:
-----------
[TableGen] Remove trivial helper function hasRegUnit. NFC.
Commit: a7cebadc10948ca1b9df1a740370f8ef7cef7e77
https://github.com/llvm/llvm-project/commit/a7cebadc10948ca1b9df1a740370f8ef7cef7e77
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
M llvm/utils/TableGen/CodeGenRegisters.cpp
Log Message:
-----------
[TableGen] Trivial simplification in computeRegUnitSets. NFC.
Commit: 9be7b0a539f673081bf8d1d5a5b08135190fd46d
https://github.com/llvm/llvm-project/commit/9be7b0a539f673081bf8d1d5a5b08135190fd46d
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/test/CodeGen/attr-riscv-rvv-vector-bits-bitcast.c
M clang/test/CodeGen/attr-riscv-rvv-vector-bits-call.c
M clang/test/CodeGen/attr-riscv-rvv-vector-bits-cast.c
M clang/test/CodeGen/attr-riscv-rvv-vector-bits-codegen.c
M clang/test/CodeGen/attr-riscv-rvv-vector-bits-globals.c
Log Message:
-----------
[IRGen][AArch64][RISCV] Generalize bitcast between i1 predicate vector and i8 fixed vector. (#76548)
Instead of only handling vscale x 16 x i1 predicate vectors, handle any
scalable i1 vector where the known minimum is divisible by 8.
This is used on RISC-V where we have multiple sizes of predicate
types.
Commit: 742a06f577b4c3b1c1f994e91bb6579ae89fe4b0
https://github.com/llvm/llvm-project/commit/742a06f577b4c3b1c1f994e91bb6579ae89fe4b0
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
M clang/include/clang/Basic/Builtins.h
Log Message:
-----------
[clang] Remove #undef alloca workaround (#81534)
Added in 26670dcba1609574cba5942aff78ff97b567c5f3 to workaround #4885.
Windows CI and a local Windows build are happy with this change, so it
seems like this has been properly fixed at some point. If this does
break somebody, this can be easily reverted. (Also, Linux does the same
`#define alloca` in system headers, so I'm not sure why it'd be
different on Windows)
This is tech debt that caused breakages, see comments on #71709.
Commit: 9838c8512bc29e3a1b8edeb0eb2541160e4c727f
https://github.com/llvm/llvm-project/commit/9838c8512bc29e3a1b8edeb0eb2541160e4c727f
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
A llvm/test/CodeGen/RISCV/typepromotion-overflow.ll
Log Message:
-----------
[RISCV] Copy typepromotion-overflow.ll from AArch64. NFC
Commit: 7d40ea85d5ea5cc837536f61e3b4f80ea69f14d0
https://github.com/llvm/llvm-project/commit/7d40ea85d5ea5cc837536f61e3b4f80ea69f14d0
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/TypePromotion.cpp
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/test/CodeGen/RISCV/O3-pipeline.ll
M llvm/test/CodeGen/RISCV/lack-of-signed-truncation-check.ll
M llvm/test/CodeGen/RISCV/signbit-test.ll
M llvm/test/CodeGen/RISCV/signed-truncation-check.ll
M llvm/test/CodeGen/RISCV/typepromotion-overflow.ll
Log Message:
-----------
[RISCV] Enable the TypePromotion pass from AArch64/ARM.
This pass looks for unsigned icmps that have illegal types and tries
to widen the use/def graph to improve the placement of the zero
extends that type legalization would need to insert.
I've explicitly disabled it for i32 by adding a check for
isSExtCheaperThanZExt to the pass.
The generated code isn't perfect, but my data shows a net
dynamic instruction count improvement on spec2017 for both base and
Zba+Zbb+Zbs.
Commit: 5e3c7e3aa48356a62a4b70d5d9d3e4ddd055a390
https://github.com/llvm/llvm-project/commit/5e3c7e3aa48356a62a4b70d5d9d3e4ddd055a390
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIRAttr.td
M flang/include/flang/Optimizer/Dialect/FIROpsSupport.h
M flang/lib/Lower/CallInterface.cpp
M flang/lib/Optimizer/Dialect/FIRAttr.cpp
M flang/test/Lower/CUDA/cuda-proc-attribute.cuf
Log Message:
-----------
[flang][cuda] Lower cluster_dims values (#81636)
This PR adds a new attribute to carry over the information from
`cluster_dims`. The new attribute `CUDAClusterDimsAttr` holds 3 integer
attributes and is added to `func.func` operation.
Commit: 502a88bae799694d0ed90e1839cd7a0aacb6bc9d
https://github.com/llvm/llvm-project/commit/502a88bae799694d0ed90e1839cd7a0aacb6bc9d
Author: Alex Langford <alangford at apple.com>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
M lldb/source/Plugins/Platform/MacOSX/PlatformRemoteAppleXR.h
Log Message:
-----------
[lldb][NFCI] Add header guard to PlatformRemoteAppleXR.h (#81565)
Commit: d1e4789b9cc4eb02cf4ef4f15437bbe1bfd0656f
https://github.com/llvm/llvm-project/commit/d1e4789b9cc4eb02cf4ef4f15437bbe1bfd0656f
Author: Fangrui Song <i at maskray.me>
Date: 2024-02-13 (Tue, 13 Feb 2024)
Changed paths:
M .ci/generate-buildkite-pipeline-premerge
M .git-blame-ignore-revs
M .github/CODEOWNERS
M .github/new-prs-labeler.yml
A .github/workflows/approved-prs.yml
M .github/workflows/build-ci-container.yml
R .github/workflows/containers/github-action-ci/Dockerfile
A .github/workflows/containers/github-action-ci/bootstrap.patch
A .github/workflows/containers/github-action-ci/stage1.Dockerfile
A .github/workflows/containers/github-action-ci/stage2.Dockerfile
A .github/workflows/containers/github-action-ci/storage.conf
A .github/workflows/email-check.yaml
M .github/workflows/issue-release-workflow.yml
M .github/workflows/libclc-tests.yml
M .github/workflows/lldb-tests.yml
M .github/workflows/llvm-project-tests.yml
A .github/workflows/llvm-project-workflow-tests.yml
A .github/workflows/merged-prs.yml
M .github/workflows/pr-code-format.yml
M .github/workflows/spirv-tests.yml
M bolt/include/bolt/Core/BinaryContext.h
M bolt/include/bolt/Core/BinaryFunction.h
M bolt/include/bolt/Core/BinarySection.h
M bolt/include/bolt/Core/DIEBuilder.h
M bolt/include/bolt/Core/DynoStats.h
M bolt/include/bolt/Core/Exceptions.h
M bolt/include/bolt/Passes/ADRRelaxationPass.h
M bolt/include/bolt/Passes/Aligner.h
M bolt/include/bolt/Passes/AllocCombiner.h
M bolt/include/bolt/Passes/AsmDump.h
M bolt/include/bolt/Passes/BinaryPasses.h
M bolt/include/bolt/Passes/CMOVConversion.h
M bolt/include/bolt/Passes/CacheMetrics.h
M bolt/include/bolt/Passes/FixRISCVCallsPass.h
M bolt/include/bolt/Passes/FixRelaxationPass.h
M bolt/include/bolt/Passes/FrameOptimizer.h
M bolt/include/bolt/Passes/Hugify.h
M bolt/include/bolt/Passes/IdenticalCodeFolding.h
M bolt/include/bolt/Passes/IndirectCallPromotion.h
M bolt/include/bolt/Passes/Inliner.h
M bolt/include/bolt/Passes/Instrumentation.h
M bolt/include/bolt/Passes/JTFootprintReduction.h
M bolt/include/bolt/Passes/LongJmp.h
M bolt/include/bolt/Passes/LoopInversionPass.h
M bolt/include/bolt/Passes/PLTCall.h
M bolt/include/bolt/Passes/PatchEntries.h
M bolt/include/bolt/Passes/RegReAssign.h
M bolt/include/bolt/Passes/ReorderData.h
M bolt/include/bolt/Passes/ReorderFunctions.h
M bolt/include/bolt/Passes/RetpolineInsertion.h
M bolt/include/bolt/Passes/ShrinkWrapping.h
M bolt/include/bolt/Passes/SplitFunctions.h
M bolt/include/bolt/Passes/StokeInfo.h
M bolt/include/bolt/Passes/TailDuplication.h
M bolt/include/bolt/Passes/ThreeWayBranch.h
M bolt/include/bolt/Passes/ValidateInternalCalls.h
M bolt/include/bolt/Passes/ValidateMemRefs.h
M bolt/include/bolt/Passes/VeneerElimination.h
M bolt/include/bolt/Profile/BoltAddressTranslation.h
M bolt/include/bolt/Rewrite/BinaryPassManager.h
M bolt/include/bolt/Rewrite/RewriteInstance.h
M bolt/include/bolt/Utils/CommandLineOpts.h
M bolt/lib/Core/BinaryBasicBlock.cpp
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Core/BinaryEmitter.cpp
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Core/BinarySection.cpp
M bolt/lib/Core/DIEBuilder.cpp
M bolt/lib/Core/DebugData.cpp
M bolt/lib/Core/DynoStats.cpp
M bolt/lib/Core/Exceptions.cpp
M bolt/lib/Core/ParallelUtilities.cpp
M bolt/lib/Passes/ADRRelaxationPass.cpp
M bolt/lib/Passes/Aligner.cpp
M bolt/lib/Passes/AllocCombiner.cpp
M bolt/lib/Passes/AsmDump.cpp
M bolt/lib/Passes/BinaryFunctionCallGraph.cpp
M bolt/lib/Passes/BinaryPasses.cpp
M bolt/lib/Passes/CMOVConversion.cpp
M bolt/lib/Passes/CacheMetrics.cpp
M bolt/lib/Passes/FixRISCVCallsPass.cpp
M bolt/lib/Passes/FixRelaxationPass.cpp
M bolt/lib/Passes/FrameAnalysis.cpp
M bolt/lib/Passes/FrameOptimizer.cpp
M bolt/lib/Passes/Hugify.cpp
M bolt/lib/Passes/IdenticalCodeFolding.cpp
M bolt/lib/Passes/IndirectCallPromotion.cpp
M bolt/lib/Passes/Inliner.cpp
M bolt/lib/Passes/Instrumentation.cpp
M bolt/lib/Passes/JTFootprintReduction.cpp
M bolt/lib/Passes/LongJmp.cpp
M bolt/lib/Passes/LoopInversionPass.cpp
M bolt/lib/Passes/PLTCall.cpp
M bolt/lib/Passes/PatchEntries.cpp
M bolt/lib/Passes/RegAnalysis.cpp
M bolt/lib/Passes/RegReAssign.cpp
M bolt/lib/Passes/ReorderData.cpp
M bolt/lib/Passes/ReorderFunctions.cpp
M bolt/lib/Passes/RetpolineInsertion.cpp
M bolt/lib/Passes/ShrinkWrapping.cpp
M bolt/lib/Passes/SplitFunctions.cpp
M bolt/lib/Passes/StokeInfo.cpp
M bolt/lib/Passes/TailDuplication.cpp
M bolt/lib/Passes/ThreeWayBranch.cpp
M bolt/lib/Passes/ValidateInternalCalls.cpp
M bolt/lib/Passes/ValidateMemRefs.cpp
M bolt/lib/Passes/VeneerElimination.cpp
M bolt/lib/Profile/BoltAddressTranslation.cpp
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Profile/StaleProfileMatching.cpp
M bolt/lib/Profile/YAMLProfileReader.cpp
M bolt/lib/Rewrite/BinaryPassManager.cpp
M bolt/lib/Rewrite/BoltDiff.cpp
M bolt/lib/Rewrite/DWARFRewriter.cpp
M bolt/lib/Rewrite/LinuxKernelRewriter.cpp
M bolt/lib/Rewrite/MachORewriteInstance.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
M bolt/lib/Target/X86/X86MCSymbolizer.cpp
M bolt/lib/Target/X86/X86MCSymbolizer.h
M bolt/lib/Utils/CommandLineOpts.cpp
M bolt/test/AArch64/ifunc.c
A bolt/test/X86/fatal-error.s
M bolt/test/X86/linux-orc.s
A bolt/test/X86/log.test
A bolt/test/X86/phdr-out-of-order.test
M bolt/tools/bat-dump/bat-dump.cpp
M bolt/tools/driver/llvm-bolt.cpp
M bolt/unittests/Core/BinaryContext.cpp
M bolt/unittests/Core/MCPlusBuilder.cpp
M clang-tools-extra/clang-apply-replacements/tool/ClangApplyReplacementsMain.cpp
M clang-tools-extra/clang-move/Move.cpp
M clang-tools-extra/clang-tidy/ExpandModularHeadersPPCallbacks.cpp
M clang-tools-extra/clang-tidy/ExpandModularHeadersPPCallbacks.h
M clang-tools-extra/clang-tidy/add_new_check.py
M clang-tools-extra/clang-tidy/altera/KernelNameRestrictionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/DynamicStaticInitializersCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/DynamicStaticInitializersCheck.h
M clang-tools-extra/clang-tidy/bugprone/ReservedIdentifierCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SuspiciousIncludeCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SuspiciousIncludeCheck.h
M clang-tools-extra/clang-tidy/bugprone/TooSmallLoopVariableCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/UnusedLocalNonTrivialVariableCheck.cpp
M clang-tools-extra/clang-tidy/cert/CERTTidyModule.cpp
M clang-tools-extra/clang-tidy/cert/CMakeLists.txt
R clang-tools-extra/clang-tidy/cert/PostfixOperatorCheck.cpp
R clang-tools-extra/clang-tidy/cert/PostfixOperatorCheck.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/PreferMemberInitializerCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/PreferMemberInitializerCheck.h
M clang-tools-extra/clang-tidy/google/GlobalNamesInHeadersCheck.cpp
M clang-tools-extra/clang-tidy/google/GlobalNamesInHeadersCheck.h
M clang-tools-extra/clang-tidy/google/UnnamedNamespaceInHeaderCheck.cpp
M clang-tools-extra/clang-tidy/google/UnnamedNamespaceInHeaderCheck.h
M clang-tools-extra/clang-tidy/llvm/HeaderGuardCheck.h
M clang-tools-extra/clang-tidy/llvm/IncludeOrderCheck.cpp
M clang-tools-extra/clang-tidy/llvmlibc/RestrictSystemLibcHeadersCheck.cpp
M clang-tools-extra/clang-tidy/misc/DefinitionsInHeadersCheck.cpp
M clang-tools-extra/clang-tidy/misc/DefinitionsInHeadersCheck.h
M clang-tools-extra/clang-tidy/misc/HeaderIncludeCycleCheck.cpp
M clang-tools-extra/clang-tidy/misc/UnusedUsingDeclsCheck.cpp
M clang-tools-extra/clang-tidy/misc/UseAnonymousNamespaceCheck.cpp
M clang-tools-extra/clang-tidy/misc/UseAnonymousNamespaceCheck.h
M clang-tools-extra/clang-tidy/modernize/AvoidCArraysCheck.cpp
M clang-tools-extra/clang-tidy/modernize/AvoidCArraysCheck.h
M clang-tools-extra/clang-tidy/modernize/DeprecatedHeadersCheck.cpp
M clang-tools-extra/clang-tidy/modernize/MacroToEnumCheck.cpp
M clang-tools-extra/clang-tidy/portability/RestrictSystemIncludesCheck.cpp
M clang-tools-extra/clang-tidy/portability/RestrictSystemIncludesCheck.h
M clang-tools-extra/clang-tidy/readability/CMakeLists.txt
M clang-tools-extra/clang-tidy/readability/DuplicateIncludeCheck.cpp
M clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
M clang-tools-extra/clang-tidy/readability/ReadabilityTidyModule.cpp
A clang-tools-extra/clang-tidy/readability/UseStdMinMaxCheck.cpp
A clang-tools-extra/clang-tidy/readability/UseStdMinMaxCheck.h
M clang-tools-extra/clang-tidy/utils/HeaderGuard.cpp
M clang-tools-extra/clang-tidy/utils/HeaderGuard.h
M clang-tools-extra/clang-tidy/utils/IncludeInserter.cpp
M clang-tools-extra/clangd/Headers.cpp
M clang-tools-extra/clangd/InlayHints.cpp
M clang-tools-extra/clangd/ParsedAST.cpp
M clang-tools-extra/clangd/SemanticHighlighting.cpp
M clang-tools-extra/clangd/TidyFastChecks.inc
M clang-tools-extra/clangd/index/IndexAction.cpp
M clang-tools-extra/clangd/unittests/ReplayPeambleTests.cpp
M clang-tools-extra/clangd/unittests/SemanticHighlightingTests.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/suspicious-include.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/too-small-loop-variable.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/unused-local-non-trivial-variable.rst
R clang-tools-extra/docs/clang-tidy/checks/cert/dcl21-cpp.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/prefer-member-initializer.rst
M clang-tools-extra/docs/clang-tidy/checks/google/build-namespaces.rst
M clang-tools-extra/docs/clang-tidy/checks/google/global-names-in-headers.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
M clang-tools-extra/docs/clang-tidy/checks/llvm/header-guard.rst
M clang-tools-extra/docs/clang-tidy/checks/misc/definitions-in-headers.rst
M clang-tools-extra/docs/clang-tidy/checks/misc/unused-using-decls.rst
M clang-tools-extra/docs/clang-tidy/checks/misc/use-anonymous-namespace.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/avoid-c-arrays.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/deprecated-headers.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-override.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/avoid-return-with-void-value.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/container-contains.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/use-anyofallof.rst
A clang-tools-extra/docs/clang-tidy/checks/readability/use-std-min-max.rst
M clang-tools-extra/include-cleaner/lib/Record.cpp
M clang-tools-extra/modularize/CoverageChecker.cpp
M clang-tools-extra/modularize/PreprocessorTracker.cpp
M clang-tools-extra/pp-trace/PPCallbacksTracker.cpp
M clang-tools-extra/pp-trace/PPCallbacksTracker.h
A clang-tools-extra/test/clang-apply-replacements/Inputs/format_header/no.cpp
A clang-tools-extra/test/clang-apply-replacements/Inputs/format_header/no.yaml
A clang-tools-extra/test/clang-apply-replacements/Inputs/format_header/yes.cpp
A clang-tools-extra/test/clang-apply-replacements/Inputs/format_header/yes.yaml
A clang-tools-extra/test/clang-apply-replacements/format-header.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/implicit-widening-of-multiplication-result-char.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/too-small-loop-variable.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/unused-local-non-trivial-variable.cpp
R clang-tools-extra/test/clang-tidy/checkers/cert/dcl21-cpp.cpp
R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/prefer-member-initializer-modernize-use-default-member-init-assignment.cpp
R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/prefer-member-initializer-modernize-use-default-member-init.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-arrays-ignores-strings.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-arrays.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/use-std-min-max.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/diagnostic.cpp
M clang-tools-extra/test/pp-trace/pp-trace-include.cpp
M clang/docs/ClangFormatStyleOptions.rst
M clang/docs/ClangLinkerWrapper.rst
M clang/docs/HIPSupport.rst
M clang/docs/LanguageExtensions.rst
M clang/docs/OffloadingDesign.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/ShadowCallStack.rst
M clang/docs/StandardCPlusPlusModules.rst
M clang/docs/UsersManual.rst
M clang/docs/analyzer/checkers.rst
M clang/docs/tools/clang-formatted-files.txt
M clang/docs/tools/dump_format_style.py
M clang/include/clang-c/Index.h
M clang/include/clang/APINotes/Types.h
M clang/include/clang/AST/ASTNodeTraverser.h
M clang/include/clang/AST/CommentCommandTraits.h
M clang/include/clang/AST/ComparisonCategories.h
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/AST/Expr.h
M clang/include/clang/AST/JSONNodeDumper.h
M clang/include/clang/AST/OpenMPClause.h
M clang/include/clang/AST/RawCommentList.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/StmtObjC.h
A clang/include/clang/AST/StmtOpenACC.h
M clang/include/clang/AST/StmtOpenMP.h
M clang/include/clang/AST/StmtVisitor.h
M clang/include/clang/AST/TextNodeDumper.h
M clang/include/clang/AST/Type.h
M clang/include/clang/AST/TypeLoc.h
M clang/include/clang/Analysis/Analyses/PostOrderCFGView.h
M clang/include/clang/Analysis/Analyses/UnsafeBufferUsage.h
M clang/include/clang/Analysis/CFG.h
M clang/include/clang/Analysis/FlowSensitive/DataflowAnalysisContext.h
M clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/Builtins.h
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/include/clang/Basic/BuiltinsBase.td
M clang/include/clang/Basic/BuiltinsNVPTX.def
R clang/include/clang/Basic/BuiltinsRISCV.def
A clang/include/clang/Basic/BuiltinsRISCV.td
M clang/include/clang/Basic/CMakeLists.txt
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Basic/DiagnosticCommonKinds.td
M clang/include/clang/Basic/DiagnosticDocs.td
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Basic/DiagnosticFrontendKinds.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/DiagnosticSerializationKinds.td
M clang/include/clang/Basic/FileManager.h
M clang/include/clang/Basic/IdentifierTable.h
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/LangOptions.h
M clang/include/clang/Basic/Module.h
M clang/include/clang/Basic/OpenACCKinds.h
M clang/include/clang/Basic/Specifiers.h
M clang/include/clang/Basic/StmtNodes.td
M clang/include/clang/Basic/TargetBuiltins.h
M clang/include/clang/Basic/TokenKinds.def
M clang/include/clang/Basic/Visibility.h
M clang/include/clang/Basic/arm_neon.td
M clang/include/clang/Basic/arm_sme.td
M clang/include/clang/Basic/riscv_vector.td
M clang/include/clang/CodeGen/CGFunctionInfo.h
M clang/include/clang/Driver/Driver.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/Format/Format.h
M clang/include/clang/Lex/HeaderSearch.h
M clang/include/clang/Lex/HeaderSearchOptions.h
M clang/include/clang/Lex/PPCallbacks.h
M clang/include/clang/Lex/PreprocessingRecord.h
M clang/include/clang/Lex/Preprocessor.h
M clang/include/clang/Lex/Token.h
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Rewrite/Core/HTMLRewrite.h
M clang/include/clang/Sema/AnalysisBasedWarnings.h
M clang/include/clang/Sema/CodeCompleteConsumer.h
M clang/include/clang/Sema/CodeCompleteOptions.h
M clang/include/clang/Sema/DeclSpec.h
M clang/include/clang/Sema/DelayedDiagnostic.h
M clang/include/clang/Sema/Lookup.h
M clang/include/clang/Sema/Overload.h
M clang/include/clang/Sema/ParsedAttr.h
M clang/include/clang/Sema/ScopeInfo.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/TemplateDeduction.h
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/Serialization/ASTWriter.h
M clang/include/clang/Serialization/ModuleFile.h
M clang/include/clang/StaticAnalyzer/Core/BugReporter/BugSuppression.h
M clang/include/clang/Support/RISCVVIntrinsicUtils.h
M clang/include/clang/Tooling/DependencyScanning/DependencyScanningFilesystem.h
M clang/include/clang/Tooling/DependencyScanning/DependencyScanningService.h
M clang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h
M clang/include/clang/Tooling/Inclusions/IncludeStyle.h
M clang/include/module.modulemap
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTDumper.cpp
M clang/lib/AST/ASTStructuralEquivalence.cpp
M clang/lib/AST/ASTTypeTraits.cpp
M clang/lib/AST/CMakeLists.txt
M clang/lib/AST/ComparisonCategories.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/Interp/ByteCodeEmitter.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.h
M clang/lib/AST/Interp/ByteCodeStmtGen.cpp
M clang/lib/AST/Interp/Context.cpp
M clang/lib/AST/Interp/Context.h
M clang/lib/AST/Interp/Descriptor.cpp
M clang/lib/AST/Interp/Descriptor.h
M clang/lib/AST/Interp/Disasm.cpp
M clang/lib/AST/Interp/EvalEmitter.cpp
M clang/lib/AST/Interp/EvaluationResult.cpp
M clang/lib/AST/Interp/IntegralAP.h
M clang/lib/AST/Interp/Interp.cpp
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/Opcodes.td
M clang/lib/AST/Interp/Pointer.cpp
M clang/lib/AST/Interp/Pointer.h
M clang/lib/AST/Interp/PrimType.h
M clang/lib/AST/Interp/Program.cpp
M clang/lib/AST/Interp/Program.h
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/JSONNodeDumper.cpp
M clang/lib/AST/Linkage.h
M clang/lib/AST/OpenMPClause.cpp
M clang/lib/AST/RecordLayoutBuilder.cpp
M clang/lib/AST/Stmt.cpp
A clang/lib/AST/StmtOpenACC.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypeLoc.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/Analysis/CFG.cpp
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/lib/Analysis/FlowSensitive/HTMLLogger.cpp
M clang/lib/Analysis/FlowSensitive/HTMLLogger.css
M clang/lib/Analysis/FlowSensitive/HTMLLogger.html
M clang/lib/Analysis/FlowSensitive/Transfer.cpp
M clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp
M clang/lib/Analysis/ReachableCode.cpp
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/lib/Basic/DiagnosticIDs.cpp
M clang/lib/Basic/FileManager.cpp
M clang/lib/Basic/Module.cpp
M clang/lib/Basic/Sarif.cpp
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/Basic/Targets/AArch64.h
M clang/lib/Basic/Targets/AMDGPU.cpp
M clang/lib/Basic/Targets/AMDGPU.h
M clang/lib/Basic/Targets/ARM.cpp
M clang/lib/Basic/Targets/ARM.h
M clang/lib/Basic/Targets/NVPTX.cpp
M clang/lib/Basic/Targets/NVPTX.h
M clang/lib/Basic/Targets/RISCV.cpp
M clang/lib/Basic/Targets/SPIR.h
M clang/lib/Basic/Targets/X86.cpp
M clang/lib/Basic/Targets/X86.h
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CGAtomic.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCUDARuntime.h
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGCall.h
M clang/lib/CodeGen/CGCleanup.h
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CGExprConstant.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CGGPUBuiltin.cpp
M clang/lib/CodeGen/CGObjC.cpp
M clang/lib/CodeGen/CGObjCMac.cpp
M clang/lib/CodeGen/CGRecordLayout.h
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenPGO.cpp
M clang/lib/CodeGen/CoverageMappingGen.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/MacroPPCallbacks.cpp
M clang/lib/CodeGen/MacroPPCallbacks.h
M clang/lib/CodeGen/Targets/RISCV.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/AMDGPU.h
M clang/lib/Driver/ToolChains/AMDGPUOpenMP.cpp
M clang/lib/Driver/ToolChains/Arch/Sparc.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/CommonArgs.h
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/Darwin.h
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Driver/ToolChains/Flang.h
M clang/lib/Driver/ToolChains/HIPAMD.cpp
M clang/lib/Driver/ToolChains/MinGW.cpp
M clang/lib/Format/BreakableToken.cpp
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatToken.h
M clang/lib/Format/FormatTokenLexer.cpp
M clang/lib/Format/FormatTokenLexer.h
M clang/lib/Format/IntegerLiteralSeparatorFixer.cpp
M clang/lib/Format/TokenAnalyzer.cpp
M clang/lib/Format/TokenAnalyzer.h
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/DependencyFile.cpp
M clang/lib/Frontend/DependencyGraph.cpp
M clang/lib/Frontend/FrontendActions.cpp
M clang/lib/Frontend/ModuleDependencyCollector.cpp
M clang/lib/Frontend/PrecompiledPreamble.cpp
M clang/lib/Frontend/PrintPreprocessedOutput.cpp
M clang/lib/Frontend/Rewrite/InclusionRewriter.cpp
M clang/lib/Frontend/TextDiagnostic.cpp
M clang/lib/Frontend/VerifyDiagnosticConsumer.cpp
M clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
M clang/lib/Headers/cpuid.h
M clang/lib/Headers/ia32intrin.h
M clang/lib/Headers/stdatomic.h
M clang/lib/Lex/DependencyDirectivesScanner.cpp
M clang/lib/Lex/HeaderSearch.cpp
M clang/lib/Lex/Lexer.cpp
M clang/lib/Lex/PPDirectives.cpp
M clang/lib/Lex/PPExpressions.cpp
M clang/lib/Lex/PPMacroExpansion.cpp
M clang/lib/Lex/PreprocessingRecord.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/ParseTemplate.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Rewrite/HTMLRewrite.cpp
M clang/lib/Sema/AnalysisBasedWarnings.cpp
M clang/lib/Sema/JumpDiagnostics.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExceptionSpec.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaRISCVVectorLookup.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateInstantiate.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/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp
M clang/lib/StaticAnalyzer/Checkers/BuiltinFunctionChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedCallArgsChecker.cpp
M clang/lib/StaticAnalyzer/Core/BugReporter.cpp
M clang/lib/StaticAnalyzer/Core/BugSuppression.cpp
M clang/lib/StaticAnalyzer/Core/Environment.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
M clang/lib/StaticAnalyzer/Core/HTMLDiagnostics.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningFilesystem.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
M clang/lib/Tooling/Inclusions/HeaderIncludes.cpp
M clang/lib/Tooling/Inclusions/IncludeStyle.cpp
M clang/test/AST/Interp/arrays.cpp
A clang/test/AST/Interp/atomic.c
A clang/test/AST/Interp/atomic.cpp
M clang/test/AST/Interp/builtin-functions.cpp
M clang/test/AST/Interp/builtins.cpp
M clang/test/AST/Interp/c.c
A clang/test/AST/Interp/complex.c
M clang/test/AST/Interp/complex.cpp
M clang/test/AST/Interp/cxx11.cpp
M clang/test/AST/Interp/cxx17.cpp
M clang/test/AST/Interp/cxx20.cpp
M clang/test/AST/Interp/cxx23.cpp
M clang/test/AST/Interp/cxx98.cpp
M clang/test/AST/Interp/functions.cpp
M clang/test/AST/Interp/intap.cpp
M clang/test/AST/Interp/lambda.cpp
M clang/test/AST/Interp/literals.cpp
M clang/test/AST/Interp/records.cpp
M clang/test/AST/Interp/switch.cpp
M clang/test/AST/ast-dump-for-range-lifetime.cpp
A clang/test/AST/ast-dump-pack-indexing-crash.cpp
A clang/test/AST/ast-dump-static-operators.cpp
M clang/test/AST/ast-print-method-decl.cpp
A clang/test/AST/fixed-point-zero-init.cpp
M clang/test/AST/ms-constexpr.cpp
A clang/test/Analysis/Checkers/WebKit/assignment-to-refptr.cpp
M clang/test/Analysis/Checkers/WebKit/call-args.cpp
A clang/test/Analysis/Checkers/WebKit/implicit-cast-to-base-class-with-deref-in-superclass.cpp
A clang/test/Analysis/Checkers/WebKit/member-function-pointer-crash.cpp
M clang/test/Analysis/Checkers/WebKit/mock-types.h
A clang/test/Analysis/Checkers/WebKit/ref-countable-default-arg-nullptr.cpp
A clang/test/Analysis/Checkers/WebKit/ref-ptr-accessor.cpp
M clang/test/Analysis/Inputs/std-c-library-functions-POSIX.h
M clang/test/Analysis/bitwise-shift-common.c
M clang/test/Analysis/builtin-functions.cpp
M clang/test/Analysis/copypaste/suspicious-clones.cpp
M clang/test/Analysis/errno-stdlibraryfunctions.c
A clang/test/Analysis/html_diagnostics/counter.c
M clang/test/Analysis/out-of-bounds-diagnostics.c
A clang/test/Analysis/out-of-bounds-notes.c
M clang/test/Analysis/std-c-library-functions-POSIX.c
M clang/test/Analysis/std-c-library-functions.c
M clang/test/Analysis/stream-error.c
M clang/test/Analysis/stream-noopen.c
M clang/test/Analysis/stream.c
M clang/test/Analysis/templates.cpp
M clang/test/C/C2x/n3042.c
M clang/test/CXX/class.access/p4.cpp
M clang/test/CXX/class.derived/class.member.lookup/p11.cpp
A clang/test/CXX/dcl.dcl/dcl.enum/p1.cpp
M clang/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.type.elab/p1.cpp
A clang/test/CXX/dcl.decl/dcl.meaning/dcl.fct/p23.cpp
A clang/test/CXX/dcl.decl/dcl.meaning/dcl.meaning.general/p3.cpp
M clang/test/CXX/drs/dr11xx.cpp
A clang/test/CXX/drs/dr124.cpp
M clang/test/CXX/drs/dr14xx.cpp
M clang/test/CXX/drs/dr15xx.cpp
M clang/test/CXX/drs/dr16xx.cpp
M clang/test/CXX/drs/dr17xx.cpp
A clang/test/CXX/drs/dr185.cpp
A clang/test/CXX/drs/dr193.cpp
A clang/test/CXX/drs/dr199.cpp
M clang/test/CXX/drs/dr1xx.cpp
A clang/test/CXX/drs/dr201.cpp
A clang/test/CXX/drs/dr210.cpp
M clang/test/CXX/drs/dr22xx.cpp
M clang/test/CXX/drs/dr23xx.cpp
A clang/test/CXX/drs/dr2504.cpp
M clang/test/CXX/drs/dr25xx.cpp
A clang/test/CXX/drs/dr28xx.cpp
A clang/test/CXX/drs/dr292.cpp
M clang/test/CXX/drs/dr2xx.cpp
M clang/test/CXX/drs/dr7xx.cpp
M clang/test/CXX/module/module.interface/p2-2.cpp
M clang/test/CXX/over/over.match/over.match.best/p1-2a.cpp
M clang/test/CXX/temp/p3.cpp
M clang/test/CXX/temp/temp.decls/temp.class/temp.mem.func/p1.cpp
A clang/test/CXX/temp/temp.names/p5.cpp
M clang/test/CXX/temp/temp.spec/part.spec.cpp
A clang/test/ClangScanDeps/empty.cpp
A clang/test/ClangScanDeps/missing-vfs.m
A clang/test/ClangScanDeps/optimize-fmodulemap.m
A clang/test/ClangScanDeps/optimize-vfs-edgecases.m
A clang/test/ClangScanDeps/optimize-vfs-leak.m
A clang/test/ClangScanDeps/optimize-vfs-pch.m
A clang/test/ClangScanDeps/optimize-vfs.m
M clang/test/CodeGen/LoongArch/atomics.c
M clang/test/CodeGen/PowerPC/quadword-atomics.c
M clang/test/CodeGen/RISCV/riscv-atomics.c
M clang/test/CodeGen/RISCV/riscv-inline-asm.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vfncvtbf16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vfwcvtbf16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vfwmaccbf16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vget.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vset.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg2ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg2ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg2ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg2ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg3ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg3ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg3ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg3ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg4ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg4ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg4ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg4ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg5ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg5ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg5ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg5ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg6ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg6ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg6ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg6ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg7ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg7ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg7ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg7ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg8ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg8ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg8ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg2e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg2e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg2e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg2e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg3e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg3e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg3e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg3e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg4e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg4e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg4e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg4e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg5e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg5e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg5e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg5e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg6e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg6e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg6e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg6e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg7e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg7e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg7e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg7e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg8e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg8e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg8e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg8e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg2e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg2e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg2e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg2e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg3e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg3e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg3e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg3e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg4e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg4e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg4e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg4e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg5e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg5e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg5e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg5e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg6e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg6e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg6e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg6e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg7e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg7e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg7e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg7e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg8e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg8e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg8e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg8e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg2ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg2ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg2ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg2ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg3ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg3ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg3ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg3ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg4ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg4ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg4ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg4ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg5ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg5ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg5ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg5ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg6ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg6ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg6ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg6ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg7ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg7ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg7ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg7ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg8ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg8ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg8ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vfncvtbf16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vfwcvtbf16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vfwmaccbf16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vget.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vset.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg2ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg2ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg2ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg2ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg3ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg3ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg3ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg3ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg4ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg4ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg4ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg4ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg5ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg5ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg5ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg5ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg6ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg6ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg6ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg6ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg7ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg7ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg7ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg7ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg8ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg8ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg8ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg2e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg2e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg2e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg2e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg3e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg3e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg3e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg3e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg4e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg4e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg4e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg4e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg5e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg5e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg5e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg5e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg6e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg6e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg6e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg6e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg7e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg7e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg7e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg7e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg8e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg8e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg8e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg8e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg2e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg2e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg2e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg2e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg3e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg3e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg3e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg3e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg4e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg4e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg4e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg4e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg5e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg5e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg5e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg5e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg6e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg6e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg6e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg6e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg7e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg7e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg7e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg7e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg8e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg8e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg8e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg8e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg2ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg2ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg2ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg2ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg3ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg3ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg3ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg3ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg4ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg4ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg4ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg4ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg5ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg5ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg5ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg5ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg6ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg6ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg6ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg6ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg7ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg7ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg7ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg7ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg8ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg8ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg8ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vfncvtbf16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vfwcvtbf16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vfwmaccbf16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg2ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg2ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg2ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg2ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg3ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg3ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg3ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg3ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg4ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg4ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg4ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg4ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg5ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg5ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg5ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg5ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg6ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg6ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg6ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg6ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg7ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg7ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg7ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg7ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg8ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg8ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg8ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg2e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg2e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg2e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg2e32ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg2e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg2e64ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg2e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg2e8ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg3e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg3e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg3e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg3e32ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg3e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg3e64ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg3e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg3e8ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg4e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg4e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg4e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg4e32ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg4e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg4e64ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg4e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg4e8ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg5e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg5e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg5e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg5e32ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg5e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg5e64ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg5e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg5e8ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg6e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg6e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg6e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg6e32ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg6e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg6e64ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg6e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg6e8ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg7e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg7e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg7e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg7e32ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg7e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg7e64ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg7e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg7e8ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg8e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg8e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg8e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg8e32ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg8e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg8e64ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg8e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg8e8ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg2e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg2e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg2e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg2e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg3e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg3e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg3e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg3e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg4e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg4e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg4e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg4e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg5e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg5e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg5e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg5e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg6e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg6e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg6e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg6e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg7e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg7e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg7e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg7e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg8e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg8e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg8e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg8e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg2ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg2ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg2ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg2ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg3ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg3ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg3ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg3ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg4ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg4ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg4ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg4ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg5ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg5ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg5ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg5ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg6ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg6ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg6ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg6ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg7ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg7ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg7ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg7ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg8ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg8ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg8ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vfncvtbf16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vfwcvtbf16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vfwmaccbf16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg2ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg2ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg2ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg2ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg3ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg3ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg3ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg3ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg4ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg4ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg4ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg4ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg5ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg5ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg5ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg5ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg6ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg6ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg6ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg6ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg7ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg7ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg7ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg7ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg8ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg8ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg8ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg2e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg2e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg2e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg2e32ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg2e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg2e64ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg2e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg2e8ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg3e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg3e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg3e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg3e32ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg3e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg3e64ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg3e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg3e8ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg4e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg4e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg4e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg4e32ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg4e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg4e64ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg4e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg4e8ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg5e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg5e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg5e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg5e32ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg5e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg5e64ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg5e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg5e8ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg6e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg6e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg6e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg6e32ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg6e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg6e64ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg6e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg6e8ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg7e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg7e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg7e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg7e32ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg7e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg7e64ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg7e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg7e8ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg8e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg8e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg8e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg8e32ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg8e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg8e64ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg8e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg8e8ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg2e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg2e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg2e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg2e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg3e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg3e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg3e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg3e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg4e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg4e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg4e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg4e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg5e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg5e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg5e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg5e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg6e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg6e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg6e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg6e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg7e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg7e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg7e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg7e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg8e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg8e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg8e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg8e8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg2ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg2ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg2ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg2ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg3ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg3ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg3ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg3ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg4ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg4ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg4ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg4ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg5ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg5ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg5ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg5ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg6ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg6ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg6ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg6ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg7ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg7ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg7ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg7ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg8ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg8ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg8ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-handcrafted/rvv-tuple-type.c
M clang/test/CodeGen/SystemZ/gnu-atomic-builtins-i128-8Al.c
M clang/test/CodeGen/aarch64-ABI-align-packed-assembly.c
M clang/test/CodeGen/aarch64-ABI-align-packed.c
M clang/test/CodeGen/aarch64-fix-cortex-a53-835769.c
M clang/test/CodeGen/aarch64-inline-asm.c
M clang/test/CodeGen/aarch64-ls64-inline-asm.c
M clang/test/CodeGen/aarch64-ls64.c
M clang/test/CodeGen/aarch64-matmul.cpp
M clang/test/CodeGen/aarch64-neon-intrinsics.c
M clang/test/CodeGen/aarch64-neon-ldst-one-rcpc3.c
M clang/test/CodeGen/aarch64-sme-intrinsics/aarch64-sme-attrs.cpp
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_add-i32.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_add-i64.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_cnt.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_ld1.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_ld1_vnum.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_ldr.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_mopa-za32.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_mopa-za64.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_mops-za32.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_mops-za64.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_read.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_st1.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_st1_vnum.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_str.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_write.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_zero.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_add.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_bmop.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_clamp.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_cvt.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_cvtn.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_frint.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti2_lane_zt.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti2_lane_zt_x2.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti2_lane_zt_x4.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti4_lane_zt.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti4_lane_zt_x2.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti4_lane_zt_x4.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_max.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_maxnm.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_min.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_minnm.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mop.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_read.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_reinterpret_svcount_svbool.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_sub.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_unpkx2.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_unpkx4.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_add.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_qrshr.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_rshl.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_selx2.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_selx4.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_uzpx2.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_uzpx4.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_zipx2.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_zipx4.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_write.c
M clang/test/CodeGen/aarch64-targetattr-arch.c
M clang/test/CodeGen/aarch64-targetattr-crypto.c
M clang/test/CodeGen/aarch64-targetattr.c
M clang/test/CodeGen/aarch64-tme.cpp
M clang/test/CodeGen/arm-atomics-m.c
M clang/test/CodeGen/arm-atomics-m0.c
M clang/test/CodeGen/arm64-mte.c
M clang/test/CodeGen/atomic-ops-libcall.c
M clang/test/CodeGen/atomic-ops.c
M clang/test/CodeGen/atomics-inlining.c
M clang/test/CodeGen/attr-riscv-rvv-vector-bits-bitcast.c
M clang/test/CodeGen/attr-riscv-rvv-vector-bits-call.c
M clang/test/CodeGen/attr-riscv-rvv-vector-bits-cast.c
M clang/test/CodeGen/attr-riscv-rvv-vector-bits-codegen.c
M clang/test/CodeGen/attr-riscv-rvv-vector-bits-globals.c
M clang/test/CodeGen/attr-target-version.c
M clang/test/CodeGen/builtins-nvptx.c
M clang/test/CodeGen/builtins.c
M clang/test/CodeGen/c11atomics.c
M clang/test/CodeGen/debug-info-cc.c
M clang/test/CodeGen/fp128_complex.c
M clang/test/CodeGen/fp16-ops-strictfp.c
M clang/test/CodeGen/fp16-ops.c
M clang/test/CodeGen/preserve-call-conv.c
M clang/test/CodeGen/target-builtin-noerror.c
A clang/test/CodeGen/ubsan-shift-bitint.c
M clang/test/CodeGenCUDA/amdgpu-code-object-version-linking.cu
M clang/test/CodeGenCUDA/amdgpu-code-object-version.cu
M clang/test/CodeGenCUDA/amdgpu-workgroup-size.cu
A clang/test/CodeGenCUDA/printf-builtin.cu
M clang/test/CodeGenCXX/atomic-inline.cpp
M clang/test/CodeGenCXX/attr-target-version.cpp
M clang/test/CodeGenCXX/cxx2b-static-call-operator.cpp
M clang/test/CodeGenCXX/cxx2b-static-subscript-operator.cpp
M clang/test/CodeGenCXX/debug-info-structured-binding-bitfield.cpp
M clang/test/CodeGenCXX/dynamic-cast-address-space.cpp
A clang/test/CodeGenCXX/dynamic-cast-dead.cpp
M clang/test/CodeGenCXX/dynamic-cast.cpp
A clang/test/CodeGenHIP/printf-builtin.hip
M clang/test/CodeGenHLSL/builtins/RWBuffer-constructor.hlsl
A clang/test/CodeGenHLSL/shift-mask.hlsl
M clang/test/CodeGenOpenCL/atomic-ops-libcall.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-wave32.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-wave64.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-wmma-w32-gfx10-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-wmma-w64-gfx10-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-wmma-w64.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn.cl
A clang/test/CodeGenOpenCL/reflect.cl
M clang/test/CoverageMapping/if.cpp
M clang/test/CoverageMapping/templates.cpp
A clang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_abi_version_600.bc
M clang/test/Driver/aarch64-cssc.c
M clang/test/Driver/aarch64-fix-cortex-a53-835769.c
M clang/test/Driver/aarch64-mgeneral_regs_only.c
M clang/test/Driver/aarch64-pauth-lr.c
M clang/test/Driver/aarch64-target-as-march.s
M clang/test/Driver/amdgpu-macros.cl
M clang/test/Driver/amdgpu-mcpu.cl
M clang/test/Driver/amdgpu-openmp-toolchain.c
M clang/test/Driver/amdgpu-toolchain-opencl.cl
R clang/test/Driver/android-version.cpp
M clang/test/Driver/arm-alignment.c
M clang/test/Driver/arm-no-neg-immediates.c
A clang/test/Driver/basic-block-address-map.c
M clang/test/Driver/cuda-cross-compiling.c
M clang/test/Driver/fbasic-block-sections.c
M clang/test/Driver/hip-code-object-version.hip
M clang/test/Driver/hip-device-libs.hip
M clang/test/Driver/hip-options.hip
M clang/test/Driver/hip-toolchain-mllvm.hip
M clang/test/Driver/hlsl-lang-targets.hlsl
A clang/test/Driver/invalid-version.cpp
M clang/test/Driver/linker-wrapper-image.c
M clang/test/Driver/linker-wrapper.c
M clang/test/Driver/linux-ld.c
M clang/test/Driver/mingw.cpp
M clang/test/Driver/mips-features.c
A clang/test/Driver/modules-skip-odr-check-in-gmf.cpp
M clang/test/Driver/range.c
M clang/test/Driver/riscv-arch.c
M clang/test/Driver/riscv-features.c
M clang/test/Driver/rocm-detect.hip
A clang/test/Driver/sparc-fixed-register.c
A clang/test/Driver/sparc64-codemodel.c
M clang/test/Driver/tls-dialect.c
M clang/test/Driver/wasm-features.c
A clang/test/Driver/xros-driver-requires-darwin-host.c
M clang/test/Format/clang-format-ignore.cpp
M clang/test/Format/dump-config-objc-stdin.m
M clang/test/Format/verbose.cpp
M clang/test/Frontend/embed-bitcode.ll
M clang/test/Frontend/fixed_point_bit_widths.c
M clang/test/Frontend/fixed_point_errors.cpp
M clang/test/Frontend/gnu-mcount.c
M clang/test/Frontend/verify.c
M clang/test/Headers/__clang_hip_cmath.hip
M clang/test/Headers/__clang_hip_math.hip
M clang/test/Headers/arm-acle-header.c
M clang/test/Headers/xmmintrin-unsupported.c
M clang/test/Import/cxx-default-init-expr/test.cpp
M clang/test/Interpreter/cxx20-modules.cppm
M clang/test/Misc/pragma-attribute-supported-attributes-list.test
M clang/test/Misc/target-invalid-cpu-note.c
M clang/test/Misc/warning-flags.c
M clang/test/Modules/aarch64-sme-keywords.cppm
M clang/test/Modules/concept.cppm
M clang/test/Modules/polluted-operator.cppm
M clang/test/Modules/pr76638.cppm
A clang/test/Modules/skip-odr-check-in-gmf.cppm
M clang/test/OpenMP/atomic_ast_print.cpp
M clang/test/OpenMP/atomic_messages.cpp
A clang/test/OpenMP/bug69085.c
M clang/test/OpenMP/declare_simd_messages.cpp
M clang/test/OpenMP/for_loop_auto.cpp
M clang/test/ParserOpenACC/parse-clauses.c
A clang/test/ParserOpenACC/parse-wait-clause.c
M clang/test/Preprocessor/aarch64-target-features.c
M clang/test/Preprocessor/arm-target-features.c
A clang/test/Preprocessor/has_builtin_cpuid.c
M clang/test/Preprocessor/init-aarch64.c
M clang/test/Preprocessor/predefined-arch-macros.c
M clang/test/Preprocessor/riscv-target-features.c
M clang/test/Preprocessor/wasm-target-features.c
M clang/test/Sema/PR2919-builtin-types-compat-strips-crv.c
M clang/test/Sema/aarch64-sme-func-attrs.c
M clang/test/Sema/aarch64-tme-errors.c
M clang/test/Sema/aarch64-tme-tcancel-errors.c
M clang/test/Sema/atomic-expr.c
M clang/test/Sema/attr-aligned.c
M clang/test/Sema/auto-type.c
M clang/test/Sema/c2x-auto.c
M clang/test/Sema/c2x-bool.c
M clang/test/Sema/check-increment.c
M clang/test/Sema/conversion-64-32.c
A clang/test/Sema/conversion-implicit-int-includes-64-to-32.c
M clang/test/Sema/fp-eval-pragma-with-float-double_t-1.c
M clang/test/Sema/fp-eval-pragma-with-float-double_t-2.c
M clang/test/Sema/fp-eval-pragma-with-float-double_t-3.c
M clang/test/Sema/inline-asm-validate-aarch64.c
M clang/test/Sema/inline-asm-validate-riscv.c
M clang/test/Sema/ms_predefined_expr.cpp
M clang/test/Sema/no_callconv.cpp
M clang/test/Sema/objc-bool-constant-conversion.m
A clang/test/Sema/preserve-none-call-conv.c
M clang/test/Sema/rvv-required-features-invalid.c
M clang/test/Sema/struct-cast.c
M clang/test/Sema/warn-cast-qual.c
M clang/test/Sema/warn-infinity-nan-disabled-lnx.cpp
M clang/test/Sema/warn-infinity-nan-disabled-win.cpp
M clang/test/Sema/warn-int-in-bool-context.c
M clang/test/SemaCXX/PR40395.cpp
A clang/test/SemaCXX/attr-target-mv-warn-unused.cpp
M clang/test/SemaCXX/builtin-std-move.cpp
M clang/test/SemaCXX/compound-literal.cpp
M clang/test/SemaCXX/concept-crash-on-diagnostic.cpp
M clang/test/SemaCXX/conditional-expr.cpp
A clang/test/SemaCXX/coroutine-unreachable-warning.cpp
A clang/test/SemaCXX/crash-GH10518.cpp
A clang/test/SemaCXX/crash-GH49103-2.cpp
A clang/test/SemaCXX/crash-GH67914.cpp
A clang/test/SemaCXX/crash-GH78388.cpp
M clang/test/SemaCXX/cxx11-default-member-initializers.cpp
M clang/test/SemaCXX/cxx1z-copy-omission.cpp
M clang/test/SemaCXX/cxx20-using-enum.cpp
M clang/test/SemaCXX/cxx2b-deducing-this.cpp
A clang/test/SemaCXX/cxx2b-static-operator.cpp
M clang/test/SemaCXX/cxx2c-pack-indexing.cpp
M clang/test/SemaCXX/datasizeof.cpp
M clang/test/SemaCXX/decomposition-openmp.cpp
M clang/test/SemaCXX/enum-scoped.cpp
M clang/test/SemaCXX/expression-traits.cpp
M clang/test/SemaCXX/function-type-qual.cpp
A clang/test/SemaCXX/libstdcxx_is_nothrow_convertible_hack.cpp
M clang/test/SemaCXX/ms-uuid.cpp
M clang/test/SemaCXX/nested-name-spec.cpp
M clang/test/SemaCXX/pr72025.cpp
M clang/test/SemaCXX/self-comparison.cpp
M clang/test/SemaCXX/static-assert.cpp
M clang/test/SemaCXX/type-traits.cpp
M clang/test/SemaCXX/warn-overaligned-type-thrown.cpp
M clang/test/SemaCXX/warn-shadow-in-lambdas.cpp
A clang/test/SemaCXX/warn-unsafe-buffer-usage-array.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-debug.cpp
A clang/test/SemaCXX/warn-unsafe-buffer-usage-fixits-local-var-array.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-fixits-pointer-access.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage.cpp
A clang/test/SemaCXX/warn-unused-filescoped-fmv.cpp
M clang/test/SemaOpenCL/builtins-amdgcn-error-wave32.cl
M clang/test/SemaOpenCL/builtins-amdgcn-error-wave64.cl
M clang/test/SemaOpenCL/operators.cl
M clang/test/SemaTemplate/class-template-spec.cpp
M clang/test/SemaTemplate/concepts-out-of-line-def.cpp
M clang/test/SemaTemplate/concepts-recovery-expr.cpp
M clang/test/SemaTemplate/deduction.cpp
M clang/test/SemaTemplate/default-parm-init.cpp
M clang/test/SemaTemplate/elaborated-type-specifier.cpp
M clang/test/SemaTemplate/qualified-id.cpp
M clang/test/SemaTemplate/temp_arg_nontype_cxx20.cpp
M clang/tools/clang-format/ClangFormat.cpp
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/clang-linker-wrapper/LinkerWrapperOpts.td
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
M clang/tools/driver/cc1_main.cpp
M clang/tools/driver/cc1as_main.cpp
M clang/tools/libclang/CIndex.cpp
M clang/tools/libclang/CXCursor.cpp
M clang/tools/libclang/CXType.cpp
M clang/tools/libclang/Indexing.cpp
M clang/tools/scan-build/man/scan-build.1
A clang/unittests/AST/ASTDumperTest.cpp
M clang/unittests/AST/ASTExprTest.cpp
M clang/unittests/AST/CMakeLists.txt
M clang/unittests/AST/Interp/Descriptor.cpp
M clang/unittests/Analysis/CFGTest.cpp
M clang/unittests/Analysis/FlowSensitive/LoggerTest.cpp
M clang/unittests/Analysis/FlowSensitive/SignAnalysisTest.cpp
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
M clang/unittests/Analysis/FlowSensitive/TypeErasedDataflowAnalysisTest.cpp
M clang/unittests/Analysis/FlowSensitive/UncheckedOptionalAccessModelTest.cpp
M clang/unittests/Basic/SourceManagerTest.cpp
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/FormatTestComments.cpp
M clang/unittests/Format/QualifierFixerTest.cpp
M clang/unittests/Format/SortIncludesTest.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
M clang/unittests/Lex/DependencyDirectivesScannerTest.cpp
M clang/unittests/Lex/PPCallbacksTest.cpp
M clang/utils/TableGen/ClangBuiltinsEmitter.cpp
M clang/utils/TableGen/RISCVVEmitter.cpp
M clang/utils/perf-training/CMakeLists.txt
M clang/utils/perf-training/perf-helper.py
M clang/www/analyzer/alpha_checks.html
M clang/www/cxx_dr_status.html
M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
M compiler-rt/lib/asan/asan_descriptions.cpp
M compiler-rt/lib/builtins/cpu_model/aarch64/fmv/apple.inc
M compiler-rt/lib/builtins/cpu_model/x86.c
M compiler-rt/lib/builtins/i386/chkstk.S
M compiler-rt/lib/builtins/x86_64/chkstk.S
M compiler-rt/lib/dfsan/dfsan_custom.cpp
M compiler-rt/lib/dfsan/done_abilist.txt
M compiler-rt/lib/dfsan/libc_ubuntu1404_abilist.txt
M compiler-rt/lib/hwasan/hwasan_report.cpp
M compiler-rt/lib/memprof/memprof_allocator.cpp
M compiler-rt/lib/memprof/memprof_allocator.h
M compiler-rt/lib/memprof/memprof_descriptions.cpp
M compiler-rt/lib/memprof/memprof_interceptors.cpp
M compiler-rt/lib/memprof/memprof_internal.h
M compiler-rt/lib/memprof/memprof_malloc_linux.cpp
M compiler-rt/lib/memprof/memprof_mapping.h
M compiler-rt/lib/profile/InstrProfilingFile.c
M compiler-rt/lib/profile/InstrProfilingPlatformWindows.c
M compiler-rt/lib/sanitizer_common/sanitizer_stacktrace_libcdep.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_stacktrace_printer.cpp
M compiler-rt/lib/scudo/standalone/combined.h
M compiler-rt/lib/scudo/standalone/tests/combined_test.cpp
M compiler-rt/lib/scudo/standalone/tests/tsd_test.cpp
M compiler-rt/lib/scudo/standalone/tsd_exclusive.h
M compiler-rt/lib/scudo/standalone/tsd_shared.h
M flang/docs/AliasingAnalysisFIR.md
M flang/docs/FIRArrayOperations.md
M flang/docs/FlangDriver.md
M flang/docs/FortranLLVMTestSuite.md
M flang/docs/GettingInvolved.md
M flang/docs/HighLevelFIR.md
M flang/docs/Intrinsics.md
M flang/docs/OpenACC-descriptor-management.md
A flang/docs/OpenMP-descriptor-management.md
M flang/docs/Overview.md
M flang/docs/ParameterizedDerivedTypes.md
M flang/docs/PolymorphicEntities.md
M flang/docs/ProcedurePointer.md
M flang/docs/conf.py
M flang/docs/fstack-arrays.md
M flang/docs/index.md
M flang/include/flang/Common/Fortran-features.h
M flang/include/flang/Evaluate/characteristics.h
M flang/include/flang/Lower/AbstractConverter.h
M flang/include/flang/Lower/Bridge.h
M flang/include/flang/Lower/ConvertCall.h
M flang/include/flang/Lower/ConvertVariable.h
M flang/include/flang/Lower/OpenMP.h
M flang/include/flang/Lower/PFTBuilder.h
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/Builder/HLFIRTools.h
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Builder/MutableBox.h
M flang/include/flang/Optimizer/CodeGen/CGPasses.td
A flang/include/flang/Optimizer/CodeGen/CodeGenOpenMP.h
M flang/include/flang/Optimizer/CodeGen/Target.h
M flang/include/flang/Optimizer/Dialect/FIRAttr.td
M flang/include/flang/Optimizer/Dialect/FIRDialect.h
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/Dialect/FIROpsSupport.h
M flang/include/flang/Optimizer/Dialect/FIRType.h
M flang/include/flang/Optimizer/Dialect/Support/FIRContext.h
M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
M flang/include/flang/Optimizer/Support/InitFIR.h
M flang/include/flang/Optimizer/Support/Utils.h
M flang/include/flang/Optimizer/Transforms/Passes.h
M flang/include/flang/Optimizer/Transforms/Passes.td
A flang/include/flang/Optimizer/Transforms/Utils.h
M flang/include/flang/Runtime/io-api.h
M flang/include/flang/Tools/CLOptions.inc
M flang/include/flang/Tools/CrossToolHelpers.h
M flang/lib/Evaluate/characteristics.cpp
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/CallInterface.cpp
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Lower/ConvertExpr.cpp
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Lower/ConvertType.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Lower/DirectivesCommon.h
M flang/lib/Lower/IO.cpp
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Lower/OpenMP.cpp
M flang/lib/Lower/PFTBuilder.cpp
M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/MutableBox.cpp
M flang/lib/Optimizer/CodeGen/CMakeLists.txt
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
A flang/lib/Optimizer/CodeGen/CodeGenOpenMP.cpp
M flang/lib/Optimizer/CodeGen/Target.cpp
M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
M flang/lib/Optimizer/CodeGen/TypeConverter.cpp
M flang/lib/Optimizer/Dialect/FIRAttr.cpp
M flang/lib/Optimizer/Dialect/FIRDialect.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/Dialect/FIRType.cpp
M flang/lib/Optimizer/Dialect/Support/FIRContext.cpp
M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
M flang/lib/Optimizer/HLFIR/Transforms/BufferizeHLFIR.cpp
M flang/lib/Optimizer/HLFIR/Transforms/CMakeLists.txt
M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
M flang/lib/Optimizer/Transforms/ArrayValueCopy.cpp
M flang/lib/Optimizer/Transforms/CMakeLists.txt
M flang/lib/Optimizer/Transforms/FunctionAttr.cpp
A flang/lib/Optimizer/Transforms/OMPDescriptorMapInfoGen.cpp
M flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp
M flang/lib/Parser/preprocessor.cpp
M flang/lib/Semantics/canonicalize-omp.cpp
M flang/lib/Semantics/check-call.cpp
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/runtime-type-info.cpp
M flang/module/iso_c_binding.f90
M flang/runtime/io-api.cpp
M flang/runtime/numeric.cpp
A flang/test/Analysis/AliasAnalysis/alias-analysis-8.fir
A flang/test/Driver/aarch64-outline-atomics.f90
M flang/test/Driver/driver-help-hidden.f90
M flang/test/Driver/driver-help.f90
A flang/test/Driver/func-attr-fast-math.f90
A flang/test/Driver/masm.f90
A flang/test/Driver/predefined-macros-powerpc.f90
M flang/test/Driver/prescanner-diag.f90
M flang/test/Driver/save-mlir-temps.f90
M flang/test/Driver/target-cpu-features.f90
A flang/test/Fir/OpenACC/legalize-data.fir
A flang/test/Fir/OpenACC/propagate-attr-folding.fir
M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
M flang/test/Fir/fir-ops.fir
A flang/test/Fir/target-rewrite-target-cpu.fir
A flang/test/Fir/target-rewrite-target-features.fir
A flang/test/HLFIR/as_expr-codegen-polymorphic.fir
M flang/test/HLFIR/bufferize-poly-expr.fir
M flang/test/HLFIR/invalid.fir
M flang/test/HLFIR/maxloc-elemental.fir
M flang/test/HLFIR/minloc-elemental.fir
M flang/test/Integration/OpenMP/map-types-and-sizes.f90
A flang/test/Integration/aarch64-outline-atomics.f90
M flang/test/Lower/AMD/code-object-version.f90
A flang/test/Lower/CUDA/cuda-data-attribute.cuf
A flang/test/Lower/CUDA/cuda-proc-attribute.cuf
M flang/test/Lower/HLFIR/array-ctor-character.f90
M flang/test/Lower/HLFIR/function-return-as-expr.f90
M flang/test/Lower/HLFIR/minval.f90
M flang/test/Lower/HLFIR/procedure-pointer.f90
A flang/test/Lower/Intrinsics/acosd.f90
A flang/test/Lower/Intrinsics/asind.f90
M flang/test/Lower/Intrinsics/associated-proc-pointers.f90
A flang/test/Lower/Intrinsics/atan2d.f90
A flang/test/Lower/Intrinsics/atan2pi.f90
M flang/test/Lower/Intrinsics/atand.f90
A flang/test/Lower/Intrinsics/atanpi.f90
M flang/test/Lower/OpenACC/acc-bounds.f90
M flang/test/Lower/OpenACC/acc-data-operands.f90
M flang/test/Lower/OpenACC/acc-data.f90
M flang/test/Lower/OpenACC/acc-declare.f90
M flang/test/Lower/OpenACC/acc-enter-data.f90
M flang/test/Lower/OpenACC/acc-exit-data.f90
M flang/test/Lower/OpenACC/acc-host-data.f90
M flang/test/Lower/OpenACC/acc-kernels-loop.f90
M flang/test/Lower/OpenACC/acc-kernels.f90
M flang/test/Lower/OpenACC/acc-loop.f90
M flang/test/Lower/OpenACC/acc-parallel-loop.f90
M flang/test/Lower/OpenACC/acc-parallel.f90
M flang/test/Lower/OpenACC/acc-private.f90
M flang/test/Lower/OpenACC/acc-reduction.f90
M flang/test/Lower/OpenACC/acc-serial-loop.f90
M flang/test/Lower/OpenACC/acc-serial.f90
M flang/test/Lower/OpenACC/acc-update.f90
M flang/test/Lower/OpenMP/FIR/array-bounds.f90
M flang/test/Lower/OpenMP/FIR/parallel-reduction-add.f90
M flang/test/Lower/OpenMP/FIR/target.f90
M flang/test/Lower/OpenMP/FIR/target_cpu_features.f90
A flang/test/Lower/OpenMP/allocatable-array-bounds.f90
A flang/test/Lower/OpenMP/allocatable-map.f90
M flang/test/Lower/OpenMP/array-bounds.f90
M flang/test/Lower/OpenMP/parallel-reduction-add.f90
A flang/test/Lower/OpenMP/parallel-reduction.f90
M flang/test/Lower/OpenMP/target.f90
M flang/test/Lower/OpenMP/target_cpu_features.f90
A flang/test/Lower/OpenMP/threadprivate-commonblock-use.f90
M flang/test/Lower/allocatable-polymorphic.f90
M flang/test/Lower/derived-pointer-components.f90
A flang/test/Lower/derived-types-kind-params-2.f90
A flang/test/Lower/io-asynchronous.f90
M flang/test/Lower/io-statement-1.f90
M flang/test/Lower/nullify-polymorphic.f90
A flang/test/Lower/target-features-amdgcn.f90
A flang/test/Lower/target-features-x86_64.f90
M flang/test/Preprocessing/include-comment.F90
A flang/test/Preprocessing/macro-in-include.F90
M flang/test/Semantics/OpenACC/acc-loop.f90
M flang/test/Semantics/OpenMP/copyprivate03.f90
M flang/test/Semantics/OpenMP/loop-association.f90
A flang/test/Semantics/image_index01.f90
A flang/test/Semantics/image_index02.f90
M flang/test/Semantics/local-vs-global.f90
A flang/test/Semantics/typeinfo09.f90
A flang/test/Semantics/typeinfo10.f90
A flang/test/Transforms/omp-descriptor-map-info-gen.fir
M flang/tools/bbc/bbc.cpp
M flang/tools/fir-opt/fir-opt.cpp
M flang/tools/tco/tco.cpp
M flang/unittests/Optimizer/FIRContextTest.cpp
M flang/unittests/Optimizer/FortranVariableTest.cpp
M libc/CMakeLists.txt
M libc/cmake/modules/LLVMLibCFlagRules.cmake
M libc/cmake/modules/LLVMLibCLibraryRules.cmake
M libc/cmake/modules/LLVMLibCObjectRules.cmake
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/cmake/modules/prepare_libc_gpu_build.cmake
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/aarch64/headers.txt
M libc/config/linux/api.td
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/arm/headers.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/riscv/headers.txt
M libc/config/linux/syscall_numbers.h.inc
M libc/config/linux/x86_64/entrypoints.txt
M libc/config/linux/x86_64/headers.txt
M libc/docs/index.rst
A libc/docs/libc_search.rst
M libc/docs/math/index.rst
A libc/docs/stdbit.rst
M libc/include/CMakeLists.txt
M libc/include/errno.h.def
M libc/include/inttypes.h.def
M libc/include/llvm-libc-macros/CMakeLists.txt
A libc/include/llvm-libc-macros/inttypes-macros.h
M libc/include/llvm-libc-macros/stdbit-macros.h
M libc/include/llvm-libc-types/CMakeLists.txt
A libc/include/llvm-libc-types/float128.h
A libc/include/llvm-libc-types/struct_epoll_data.h
A libc/include/llvm-libc-types/struct_epoll_event.h
M libc/include/math.h.def
A libc/include/sys/epoll.h.def
M libc/spec/gnu_ext.td
M libc/spec/linux.td
M libc/spec/posix.td
M libc/spec/spec.td
M libc/spec/stdc.td
M libc/src/__support/CMakeLists.txt
M libc/src/__support/CPP/bit.h
M libc/src/__support/CPP/expected.h
M libc/src/__support/FPUtil/BasicOperations.h
M libc/src/__support/FPUtil/CMakeLists.txt
M libc/src/__support/FPUtil/DivisionAndRemainderOperations.h
M libc/src/__support/FPUtil/FPBits.h
R libc/src/__support/FPUtil/XFloat.h
M libc/src/__support/FPUtil/generic/FMod.h
M libc/src/__support/FPUtil/generic/sqrt.h
M libc/src/__support/FPUtil/generic/sqrt_80_bit_long_double.h
M libc/src/__support/GPU/amdgpu/utils.h
M libc/src/__support/GPU/generic/utils.h
M libc/src/__support/GPU/nvptx/utils.h
M libc/src/__support/RPC/rpc.h
M libc/src/__support/float_to_string.h
A libc/src/__support/intrusive_list.h
M libc/src/__support/macros/properties/CMakeLists.txt
M libc/src/__support/macros/properties/float.h
M libc/src/__support/str_to_float.h
M libc/src/errno/CMakeLists.txt
M libc/src/errno/libc_errno.cpp
M libc/src/errno/libc_errno.h
M libc/src/math/CMakeLists.txt
A libc/src/math/ceilf128.h
A libc/src/math/fdimf128.h
A libc/src/math/floorf128.h
A libc/src/math/frexpf128.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/acosf.cpp
M libc/src/math/generic/acoshf.cpp
M libc/src/math/generic/asinf.cpp
M libc/src/math/generic/asinhf.cpp
M libc/src/math/generic/atanhf.cpp
A libc/src/math/generic/ceilf128.cpp
M libc/src/math/generic/cosf.cpp
M libc/src/math/generic/explogxf.h
A libc/src/math/generic/fdimf128.cpp
A libc/src/math/generic/floorf128.cpp
A libc/src/math/generic/frexpf128.cpp
M libc/src/math/generic/hypotf.cpp
M libc/src/math/generic/log.cpp
M libc/src/math/generic/log10.cpp
M libc/src/math/generic/log10f.cpp
M libc/src/math/generic/log1p.cpp
M libc/src/math/generic/log1pf.cpp
M libc/src/math/generic/log2.cpp
M libc/src/math/generic/log2f.cpp
M libc/src/math/generic/logf.cpp
M libc/src/math/generic/powf.cpp
M libc/src/math/generic/range_reduction_fma.h
A libc/src/math/generic/roundf128.cpp
M libc/src/math/generic/sincosf.cpp
M libc/src/math/generic/sinf.cpp
M libc/src/math/generic/tanf.cpp
A libc/src/math/generic/truncf128.cpp
M libc/src/math/gpu/vendor/amdgpu/platform.h
A libc/src/math/roundf128.h
A libc/src/math/truncf128.h
M libc/src/search/CMakeLists.txt
A libc/src/search/insque.cpp
A libc/src/search/insque.h
A libc/src/search/remque.cpp
A libc/src/search/remque.h
M libc/src/stdbit/CMakeLists.txt
A libc/src/stdbit/stdc_first_leading_zero_uc.cpp
A libc/src/stdbit/stdc_first_leading_zero_uc.h
A libc/src/stdbit/stdc_first_leading_zero_ui.cpp
A libc/src/stdbit/stdc_first_leading_zero_ui.h
A libc/src/stdbit/stdc_first_leading_zero_ul.cpp
A libc/src/stdbit/stdc_first_leading_zero_ul.h
A libc/src/stdbit/stdc_first_leading_zero_ull.cpp
A libc/src/stdbit/stdc_first_leading_zero_ull.h
A libc/src/stdbit/stdc_first_leading_zero_us.cpp
A libc/src/stdbit/stdc_first_leading_zero_us.h
A libc/src/stdbit/stdc_leading_ones_uc.cpp
A libc/src/stdbit/stdc_leading_ones_uc.h
A libc/src/stdbit/stdc_leading_ones_ui.cpp
A libc/src/stdbit/stdc_leading_ones_ui.h
A libc/src/stdbit/stdc_leading_ones_ul.cpp
A libc/src/stdbit/stdc_leading_ones_ul.h
A libc/src/stdbit/stdc_leading_ones_ull.cpp
A libc/src/stdbit/stdc_leading_ones_ull.h
A libc/src/stdbit/stdc_leading_ones_us.cpp
A libc/src/stdbit/stdc_leading_ones_us.h
M libc/src/stdbit/stdc_leading_zeros_uc.cpp
M libc/src/stdbit/stdc_leading_zeros_uc.h
M libc/src/stdbit/stdc_leading_zeros_ul.cpp
M libc/src/stdbit/stdc_leading_zeros_ul.h
M libc/src/stdbit/stdc_leading_zeros_ull.cpp
M libc/src/stdbit/stdc_leading_zeros_ull.h
M libc/src/stdbit/stdc_leading_zeros_us.cpp
M libc/src/stdbit/stdc_leading_zeros_us.h
A libc/src/stdbit/stdc_trailing_ones_uc.cpp
A libc/src/stdbit/stdc_trailing_ones_uc.h
A libc/src/stdbit/stdc_trailing_ones_ui.cpp
A libc/src/stdbit/stdc_trailing_ones_ui.h
A libc/src/stdbit/stdc_trailing_ones_ul.cpp
A libc/src/stdbit/stdc_trailing_ones_ul.h
A libc/src/stdbit/stdc_trailing_ones_ull.cpp
A libc/src/stdbit/stdc_trailing_ones_ull.h
A libc/src/stdbit/stdc_trailing_ones_us.cpp
A libc/src/stdbit/stdc_trailing_ones_us.h
A libc/src/stdbit/stdc_trailing_zeros_uc.cpp
A libc/src/stdbit/stdc_trailing_zeros_uc.h
A libc/src/stdbit/stdc_trailing_zeros_ui.cpp
A libc/src/stdbit/stdc_trailing_zeros_ui.h
A libc/src/stdbit/stdc_trailing_zeros_ul.cpp
A libc/src/stdbit/stdc_trailing_zeros_ul.h
A libc/src/stdbit/stdc_trailing_zeros_ull.cpp
A libc/src/stdbit/stdc_trailing_zeros_ull.h
A libc/src/stdbit/stdc_trailing_zeros_us.cpp
A libc/src/stdbit/stdc_trailing_zeros_us.h
M libc/src/stdio/printf_core/converter.cpp
M libc/src/stdio/printf_core/int_converter.h
M libc/src/stdio/printf_core/parser.h
M libc/src/stdio/scanf_core/float_converter.cpp
M libc/src/sys/CMakeLists.txt
A libc/src/sys/epoll/CMakeLists.txt
A libc/src/sys/epoll/epoll_pwait.h
A libc/src/sys/epoll/epoll_pwait2.h
A libc/src/sys/epoll/epoll_wait.h
A libc/src/sys/epoll/linux/CMakeLists.txt
A libc/src/sys/epoll/linux/epoll_pwait.cpp
A libc/src/sys/epoll/linux/epoll_pwait2.cpp
A libc/src/sys/epoll/linux/epoll_wait.cpp
M libc/src/sys/mman/CMakeLists.txt
M libc/src/sys/mman/linux/CMakeLists.txt
A libc/src/sys/mman/linux/mlock.cpp
A libc/src/sys/mman/linux/mlock2.cpp
A libc/src/sys/mman/linux/mlockall.cpp
A libc/src/sys/mman/linux/munlock.cpp
A libc/src/sys/mman/linux/munlockall.cpp
A libc/src/sys/mman/mlock.h
A libc/src/sys/mman/mlock2.h
A libc/src/sys/mman/mlockall.h
A libc/src/sys/mman/munlock.h
A libc/src/sys/mman/munlockall.h
M libc/src/time/gpu/nanosleep.cpp
M libc/src/unistd/linux/CMakeLists.txt
M libc/src/unistd/linux/pread.cpp
M libc/src/unistd/linux/read.cpp
M libc/startup/gpu/CMakeLists.txt
M libc/startup/gpu/amdgpu/CMakeLists.txt
M libc/startup/gpu/nvptx/CMakeLists.txt
M libc/test/IntegrationTest/CMakeLists.txt
M libc/test/IntegrationTest/test.h
M libc/test/UnitTest/ErrnoSetterMatcher.h
M libc/test/UnitTest/FPMatcher.h
M libc/test/UnitTest/FuchsiaTest.h
M libc/test/UnitTest/LibcTest.h
M libc/test/include/CMakeLists.txt
M libc/test/include/stdbit_test.cpp
M libc/test/integration/src/pthread/pthread_create_test.cpp
M libc/test/integration/src/pthread/pthread_join_test.cpp
M libc/test/integration/src/unistd/getcwd_test.cpp
M libc/test/integration/startup/linux/tls_test.cpp
M libc/test/src/CMakeLists.txt
M libc/test/src/__support/CPP/bit_test.cpp
M libc/test/src/__support/FPUtil/fpbits_test.cpp
M libc/test/src/__support/RPC/rpc_smoke_test.cpp
M libc/test/src/__support/str_to_double_test.cpp
M libc/test/src/__support/str_to_float_test.cpp
M libc/test/src/__support/str_to_fp_test.h
M libc/test/src/dirent/dirent_test.cpp
M libc/test/src/errno/errno_test.cpp
M libc/test/src/math/FDimTest.h
M libc/test/src/math/FmaTest.h
M libc/test/src/math/HypotTest.h
M libc/test/src/math/ILogbTest.h
M libc/test/src/math/LdExpTest.h
M libc/test/src/math/NextAfterTest.h
M libc/test/src/math/RIntTest.h
M libc/test/src/math/RemQuoTest.h
M libc/test/src/math/RoundToIntegerTest.h
M libc/test/src/math/acosf_test.cpp
M libc/test/src/math/acoshf_test.cpp
M libc/test/src/math/asinf_test.cpp
M libc/test/src/math/asinhf_test.cpp
M libc/test/src/math/atanf_test.cpp
M libc/test/src/math/atanhf_test.cpp
M libc/test/src/math/cosf_test.cpp
M libc/test/src/math/coshf_test.cpp
M libc/test/src/math/exp10_test.cpp
M libc/test/src/math/exp10f_test.cpp
M libc/test/src/math/exp2_test.cpp
M libc/test/src/math/exp2f_test.cpp
M libc/test/src/math/exp_test.cpp
M libc/test/src/math/expf_test.cpp
M libc/test/src/math/expm1_test.cpp
M libc/test/src/math/expm1f_test.cpp
M libc/test/src/math/log10_test.cpp
M libc/test/src/math/log1p_test.cpp
M libc/test/src/math/log1pf_test.cpp
M libc/test/src/math/log2_test.cpp
M libc/test/src/math/log2f_test.cpp
M libc/test/src/math/log_test.cpp
M libc/test/src/math/powf_test.cpp
M libc/test/src/math/sincosf_test.cpp
M libc/test/src/math/sinf_test.cpp
M libc/test/src/math/sinhf_test.cpp
M libc/test/src/math/smoke/CMakeLists.txt
M libc/test/src/math/smoke/FDimTest.h
M libc/test/src/math/smoke/FmaTest.h
M libc/test/src/math/smoke/FrexpTest.h
M libc/test/src/math/smoke/HypotTest.h
M libc/test/src/math/smoke/ILogbTest.h
M libc/test/src/math/smoke/LdExpTest.h
M libc/test/src/math/smoke/NextAfterTest.h
M libc/test/src/math/smoke/NextTowardTest.h
M libc/test/src/math/smoke/RIntTest.h
M libc/test/src/math/smoke/RemQuoTest.h
M libc/test/src/math/smoke/RoundToIntegerTest.h
M libc/test/src/math/smoke/acosf_test.cpp
M libc/test/src/math/smoke/acoshf_test.cpp
M libc/test/src/math/smoke/asinf_test.cpp
M libc/test/src/math/smoke/asinhf_test.cpp
M libc/test/src/math/smoke/atanf_test.cpp
M libc/test/src/math/smoke/atanhf_test.cpp
A libc/test/src/math/smoke/ceilf128_test.cpp
M libc/test/src/math/smoke/cosf_test.cpp
M libc/test/src/math/smoke/coshf_test.cpp
M libc/test/src/math/smoke/exp10f_test.cpp
M libc/test/src/math/smoke/exp2f_test.cpp
M libc/test/src/math/smoke/expf_test.cpp
M libc/test/src/math/smoke/expm1f_test.cpp
M libc/test/src/math/smoke/fdim_test.cpp
A libc/test/src/math/smoke/fdimf128_test.cpp
M libc/test/src/math/smoke/fdimf_test.cpp
M libc/test/src/math/smoke/fdiml_test.cpp
A libc/test/src/math/smoke/floorf128_test.cpp
M libc/test/src/math/smoke/frexp_test.cpp
A libc/test/src/math/smoke/frexpf128_test.cpp
M libc/test/src/math/smoke/frexpf_test.cpp
M libc/test/src/math/smoke/frexpl_test.cpp
M libc/test/src/math/smoke/nan_test.cpp
M libc/test/src/math/smoke/nanf_test.cpp
A libc/test/src/math/smoke/roundf128_test.cpp
M libc/test/src/math/smoke/sincosf_test.cpp
M libc/test/src/math/smoke/sinf_test.cpp
M libc/test/src/math/smoke/sinhf_test.cpp
M libc/test/src/math/smoke/tanf_test.cpp
M libc/test/src/math/smoke/tanhf_test.cpp
A libc/test/src/math/smoke/truncf128_test.cpp
M libc/test/src/math/tanf_test.cpp
M libc/test/src/math/tanhf_test.cpp
M libc/test/src/sched/affinity_test.cpp
M libc/test/src/sched/cpu_count_test.cpp
M libc/test/src/sched/get_priority_test.cpp
M libc/test/src/sched/param_and_scheduler_test.cpp
M libc/test/src/sched/sched_rr_get_interval_test.cpp
M libc/test/src/sched/yield_test.cpp
M libc/test/src/search/CMakeLists.txt
A libc/test/src/search/insque_test.cpp
M libc/test/src/signal/sigaltstack_test.cpp
M libc/test/src/signal/signal_test.cpp
M libc/test/src/signal/sigprocmask_test.cpp
M libc/test/src/stdbit/CMakeLists.txt
A libc/test/src/stdbit/stdc_first_leading_zero_uc_test.cpp
A libc/test/src/stdbit/stdc_first_leading_zero_ui_test.cpp
A libc/test/src/stdbit/stdc_first_leading_zero_ul_test.cpp
A libc/test/src/stdbit/stdc_first_leading_zero_ull_test.cpp
A libc/test/src/stdbit/stdc_first_leading_zero_us_test.cpp
A libc/test/src/stdbit/stdc_leading_ones_uc_test.cpp
A libc/test/src/stdbit/stdc_leading_ones_ui_test.cpp
A libc/test/src/stdbit/stdc_leading_ones_ul_test.cpp
A libc/test/src/stdbit/stdc_leading_ones_ull_test.cpp
A libc/test/src/stdbit/stdc_leading_ones_us_test.cpp
M libc/test/src/stdbit/stdc_leading_zeros_uc_test.cpp
M libc/test/src/stdbit/stdc_leading_zeros_ul_test.cpp
M libc/test/src/stdbit/stdc_leading_zeros_ull_test.cpp
M libc/test/src/stdbit/stdc_leading_zeros_us_test.cpp
A libc/test/src/stdbit/stdc_trailing_ones_uc_test.cpp
A libc/test/src/stdbit/stdc_trailing_ones_ui_test.cpp
A libc/test/src/stdbit/stdc_trailing_ones_ul_test.cpp
A libc/test/src/stdbit/stdc_trailing_ones_ull_test.cpp
A libc/test/src/stdbit/stdc_trailing_ones_us_test.cpp
A libc/test/src/stdbit/stdc_trailing_zeros_uc_test.cpp
A libc/test/src/stdbit/stdc_trailing_zeros_ui_test.cpp
A libc/test/src/stdbit/stdc_trailing_zeros_ul_test.cpp
A libc/test/src/stdbit/stdc_trailing_zeros_ull_test.cpp
A libc/test/src/stdbit/stdc_trailing_zeros_us_test.cpp
M libc/test/src/stdio/CMakeLists.txt
M libc/test/src/stdio/fgetc_test.cpp
M libc/test/src/stdio/fgetc_unlocked_test.cpp
M libc/test/src/stdio/fgets_test.cpp
M libc/test/src/stdio/fileop_test.cpp
M libc/test/src/stdio/fopencookie_test.cpp
M libc/test/src/stdio/printf_core/converter_test.cpp
M libc/test/src/stdio/remove_test.cpp
M libc/test/src/stdio/setvbuf_test.cpp
M libc/test/src/stdio/sprintf_test.cpp
M libc/test/src/stdio/sscanf_test.cpp
M libc/test/src/stdio/unlocked_fileop_test.cpp
M libc/test/src/stdlib/StrtolTest.h
M libc/test/src/stdlib/atof_test.cpp
M libc/test/src/stdlib/strtod_test.cpp
M libc/test/src/stdlib/strtof_test.cpp
M libc/test/src/stdlib/strtoint32_test.cpp
M libc/test/src/stdlib/strtoint64_test.cpp
M libc/test/src/stdlib/strtold_test.cpp
M libc/test/src/string/strdup_test.cpp
M libc/test/src/sys/CMakeLists.txt
A libc/test/src/sys/epoll/CMakeLists.txt
A libc/test/src/sys/epoll/linux/CMakeLists.txt
A libc/test/src/sys/epoll/linux/epoll_pwait2_test.cpp
A libc/test/src/sys/epoll/linux/epoll_pwait_test.cpp
A libc/test/src/sys/epoll/linux/epoll_wait_test.cpp
M libc/test/src/sys/mman/linux/CMakeLists.txt
M libc/test/src/sys/mman/linux/madvise_test.cpp
M libc/test/src/sys/mman/linux/mincore_test.cpp
A libc/test/src/sys/mman/linux/mlock_test.cpp
M libc/test/src/sys/mman/linux/mmap_test.cpp
M libc/test/src/sys/mman/linux/mprotect_test.cpp
M libc/test/src/sys/mman/linux/posix_madvise_test.cpp
M libc/test/src/sys/prctl/linux/prctl_test.cpp
M libc/test/src/sys/random/linux/getrandom_test.cpp
M libc/test/src/sys/resource/getrlimit_setrlimit_test.cpp
M libc/test/src/sys/select/select_ui_test.cpp
M libc/test/src/sys/sendfile/sendfile_test.cpp
M libc/test/src/sys/socket/linux/bind_test.cpp
M libc/test/src/sys/stat/chmod_test.cpp
M libc/test/src/sys/stat/fchmod_test.cpp
M libc/test/src/sys/stat/fchmodat_test.cpp
M libc/test/src/sys/stat/fstat_test.cpp
M libc/test/src/sys/stat/lstat_test.cpp
M libc/test/src/sys/stat/mkdirat_test.cpp
M libc/test/src/sys/stat/stat_test.cpp
M libc/test/src/termios/termios_test.cpp
M libc/test/src/time/asctime_r_test.cpp
M libc/test/src/time/asctime_test.cpp
M libc/test/src/time/gmtime_test.cpp
M libc/test/src/time/nanosleep_test.cpp
M libc/test/src/unistd/CMakeLists.txt
M libc/test/src/unistd/access_test.cpp
M libc/test/src/unistd/chdir_test.cpp
M libc/test/src/unistd/dup2_test.cpp
M libc/test/src/unistd/dup3_test.cpp
M libc/test/src/unistd/dup_test.cpp
M libc/test/src/unistd/fchdir_test.cpp
M libc/test/src/unistd/ftruncate_test.cpp
M libc/test/src/unistd/isatty_test.cpp
M libc/test/src/unistd/link_test.cpp
M libc/test/src/unistd/linkat_test.cpp
M libc/test/src/unistd/lseek_test.cpp
M libc/test/src/unistd/pread_pwrite_test.cpp
M libc/test/src/unistd/read_write_test.cpp
M libc/test/src/unistd/readlink_test.cpp
M libc/test/src/unistd/readlinkat_test.cpp
M libc/test/src/unistd/rmdir_test.cpp
M libc/test/src/unistd/symlink_test.cpp
M libc/test/src/unistd/symlinkat_test.cpp
M libc/test/src/unistd/syscall_test.cpp
M libc/test/src/unistd/truncate_test.cpp
M libc/test/src/unistd/unlink_test.cpp
M libc/test/src/unistd/unlinkat_test.cpp
M libc/utils/HdrGen/PublicAPICommand.cpp
M libc/utils/gpu/server/rpc_server.cpp
M libc/utils/gpu/server/rpc_server.h
M libcxx/benchmarks/ContainerBenchmarks.h
M libcxx/benchmarks/vector_operations.bench.cpp
M libcxx/docs/Contributing.rst
M libcxx/docs/DesignDocs/ThreadingSupportAPI.rst
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/docs/Status/Cxx20Issues.csv
M libcxx/docs/Status/Cxx23Papers.csv
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/include/CMakeLists.txt
M libcxx/include/__atomic/atomic_flag.h
M libcxx/include/__atomic/atomic_sync.h
M libcxx/include/__bit_reference
M libcxx/include/__chrono/duration.h
M libcxx/include/__compare/strong_order.h
M libcxx/include/__compare/weak_order.h
M libcxx/include/__condition_variable/condition_variable.h
M libcxx/include/__config
M libcxx/include/__format/format_functions.h
M libcxx/include/__format/formatter_bool.h
M libcxx/include/__format/formatter_integral.h
M libcxx/include/__fwd/array.h
R libcxx/include/__fwd/get.h
M libcxx/include/__fwd/pair.h
M libcxx/include/__fwd/subrange.h
M libcxx/include/__fwd/tuple.h
M libcxx/include/__locale
A libcxx/include/__locale_dir/locale_base_api.h
A libcxx/include/__locale_dir/locale_base_api/android.h
A libcxx/include/__locale_dir/locale_base_api/fuchsia.h
A libcxx/include/__locale_dir/locale_base_api/ibm.h
A libcxx/include/__locale_dir/locale_base_api/musl.h
A libcxx/include/__locale_dir/locale_base_api/newlib.h
A libcxx/include/__locale_dir/locale_base_api/openbsd.h
A libcxx/include/__locale_dir/locale_base_api/win32.h
M libcxx/include/__memory/allocate_at_least.h
M libcxx/include/__memory/allocator_traits.h
M libcxx/include/__memory/compressed_pair.h
M libcxx/include/__memory/temporary_buffer.h
M libcxx/include/__memory/uninitialized_algorithms.h
M libcxx/include/__memory/unique_ptr.h
M libcxx/include/__mutex/mutex.h
M libcxx/include/__ranges/elements_view.h
M libcxx/include/__ranges/subrange.h
M libcxx/include/__string/char_traits.h
R libcxx/include/__support/android/locale_bionic.h
R libcxx/include/__support/fuchsia/xlocale.h
R libcxx/include/__support/ibm/xlocale.h
R libcxx/include/__support/musl/xlocale.h
R libcxx/include/__support/newlib/xlocale.h
R libcxx/include/__support/openbsd/xlocale.h
R libcxx/include/__support/win32/locale_win32.h
M libcxx/include/__support/xlocale/__posix_l_fallback.h
M libcxx/include/__thread/formatter.h
M libcxx/include/__thread/id.h
M libcxx/include/__thread/jthread.h
A libcxx/include/__thread/support.h
A libcxx/include/__thread/support/c11.h
A libcxx/include/__thread/support/external.h
A libcxx/include/__thread/support/pthread.h
A libcxx/include/__thread/support/windows.h
M libcxx/include/__thread/this_thread.h
M libcxx/include/__thread/thread.h
M libcxx/include/__thread/timed_backoff_policy.h
R libcxx/include/__threading_support
M libcxx/include/__tuple/sfinae_helpers.h
M libcxx/include/__tuple/tuple_like.h
M libcxx/include/__type_traits/is_nothrow_convertible.h
A libcxx/include/__type_traits/is_trivially_relocatable.h
M libcxx/include/__utility/pair.h
M libcxx/include/chrono
M libcxx/include/compare
M libcxx/include/deque
R libcxx/include/experimental/__memory
M libcxx/include/istream
M libcxx/include/libcxx.imp
M libcxx/include/limits
M libcxx/include/memory
M libcxx/include/module.modulemap.in
M libcxx/include/mutex
M libcxx/include/ostream
M libcxx/include/print
M libcxx/include/ratio
M libcxx/include/scoped_allocator
M libcxx/include/semaphore
M libcxx/include/shared_mutex
M libcxx/include/sstream
M libcxx/include/streambuf
M libcxx/include/string
M libcxx/include/thread
M libcxx/include/tuple
M libcxx/include/valarray
M libcxx/include/vector
M libcxx/include/version
M libcxx/lib/abi/CHANGELOG.TXT
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/modules/std.compat.cppm.in
M libcxx/modules/std.cppm.in
M libcxx/modules/std/atomic.inc
M libcxx/modules/std/iosfwd.inc
M libcxx/modules/std/memory.inc
M libcxx/modules/std/ostream.inc
M libcxx/modules/std/string.inc
M libcxx/modules/std/string_view.inc
M libcxx/src/call_once.cpp
M libcxx/src/condition_variable_destructor.cpp
M libcxx/src/locale.cpp
M libcxx/src/mutex_destructor.cpp
M libcxx/src/print.cpp
M libcxx/src/support/win32/thread_win32.cpp
M libcxx/test/configs/apple-libc++-backdeployment.cfg.in
M libcxx/test/configs/apple-libc++-shared.cfg.in
M libcxx/test/configs/armv7m-picolibc-libc++.cfg.in
M libcxx/test/configs/cmake-bridge.cfg.in
M libcxx/test/configs/ibm-libc++-shared.cfg.in
M libcxx/test/configs/llvm-libc++-android-ndk.cfg.in
M libcxx/test/configs/llvm-libc++-mingw.cfg.in
M libcxx/test/configs/llvm-libc++-shared-clangcl.cfg.in
M libcxx/test/configs/llvm-libc++-shared-gcc.cfg.in
M libcxx/test/configs/llvm-libc++-shared-no-vcruntime-clangcl.cfg.in
M libcxx/test/configs/llvm-libc++-shared.cfg.in
M libcxx/test/configs/llvm-libc++-static-clangcl.cfg.in
M libcxx/test/configs/llvm-libc++-static.cfg.in
M libcxx/test/libcxx/assertions/headers_declare_verbose_abort.gen.py
M libcxx/test/libcxx/atomics/atomics.align/align.pass.cpp
M libcxx/test/libcxx/atomics/atomics.types.generic/atomics.types.float/lockfree.pass.cpp
M libcxx/test/libcxx/clang_modules_include.gen.py
M libcxx/test/libcxx/clang_tidy.gen.py
M libcxx/test/libcxx/containers/sequences/deque/abi.compile.pass.cpp
M libcxx/test/libcxx/containers/sequences/deque/asan_caterpillar.pass.cpp
A libcxx/test/libcxx/containers/sequences/deque/assert.pass.cpp
A libcxx/test/libcxx/containers/sequences/list/abi.compile.pass.cpp
A libcxx/test/libcxx/containers/sequences/vector.bool/abi.compile.pass.cpp
A libcxx/test/libcxx/containers/sequences/vector/abi.compile.pass.cpp
A libcxx/test/libcxx/containers/sequences/vector/const_T.compile.pass.cpp
M libcxx/test/libcxx/double_include.gen.py
M libcxx/test/libcxx/header_inclusions.gen.py
M libcxx/test/libcxx/headers_in_modulemap.sh.py
M libcxx/test/libcxx/libcpp_version.gen.py
M libcxx/test/libcxx/module_std.gen.py
M libcxx/test/libcxx/module_std_compat.gen.py
M libcxx/test/libcxx/no_assert_include.gen.py
A libcxx/test/libcxx/numerics/numarray/class.gslice.array/assert.get.pass.cpp
A libcxx/test/libcxx/numerics/numarray/class.gslice.array/get.pass.cpp
A libcxx/test/libcxx/numerics/numarray/class.indirect.array/assert.get.pass.cpp
A libcxx/test/libcxx/numerics/numarray/class.indirect.array/get.pass.cpp
A libcxx/test/libcxx/numerics/numarray/class.mask.array/assert.get.pass.cpp
A libcxx/test/libcxx/numerics/numarray/class.mask.array/get.pass.cpp
A libcxx/test/libcxx/numerics/numarray/class.slice.array/assert.get.pass.cpp
A libcxx/test/libcxx/numerics/numarray/class.slice.array/get.pass.cpp
R libcxx/test/libcxx/strings/char.traits/char.traits.specializations/arbitrary_char_type.deprecated.verify.cpp
R libcxx/test/libcxx/strings/char.traits/char.traits.specializations/arbitrary_char_type.pass.cpp
M libcxx/test/libcxx/system_reserved_names.gen.py
M libcxx/test/libcxx/transitive_includes.gen.py
M libcxx/test/libcxx/transitive_includes/cxx03.csv
M libcxx/test/libcxx/transitive_includes/cxx11.csv
M libcxx/test/libcxx/transitive_includes/cxx14.csv
M libcxx/test/libcxx/transitive_includes/cxx17.csv
M libcxx/test/libcxx/transitive_includes/cxx20.csv
M libcxx/test/libcxx/transitive_includes/cxx23.csv
M libcxx/test/libcxx/transitive_includes/cxx26.csv
A libcxx/test/libcxx/type_traits/is_trivially_relocatable.compile.pass.cpp
M libcxx/test/libcxx/utilities/expected/expected.void/transform_error.mandates.verify.cpp
M libcxx/test/libcxx/utilities/tuple/tuple.tuple/tuple.assign/tuple_array_template_depth.pass.cpp
M libcxx/test/libcxx/vendor/apple/system-install-properties.sh.cpp
M libcxx/test/libcxx/vendor/clang-cl/static-lib-exports.sh.cpp
M libcxx/test/libcxx/vendor/mingw/static-lib-exports.sh.cpp
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/assign.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/compare_exchange_strong.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/compare_exchange_weak.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/ctor.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/exchange.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_add.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_sub.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/load.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/lockfree.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/notify_all.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/notify_one.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.float.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.minus_equals.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.plus_equals.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/store.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/wait.pass.cpp
M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong.pass.cpp
M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong_explicit.pass.cpp
M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak.pass.cpp
M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak_explicit.pass.cpp
M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_exchange.pass.cpp
M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_exchange_explicit.pass.cpp
M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_init.pass.cpp
M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_is_lock_free.pass.cpp
M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_load.pass.cpp
M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_load_explicit.pass.cpp
M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_store.pass.cpp
M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_store_explicit.pass.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
A libcxx/test/std/containers/sequences/vector/vector.modifiers/destory_elements.pass.cpp
M libcxx/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/pointer.volatile.pass.cpp
A libcxx/test/std/input.output/string.streams/istringstream/types.compile.pass.cpp
R libcxx/test/std/input.output/string.streams/istringstream/types.pass.cpp
A libcxx/test/std/input.output/string.streams/ostringstream/types.compile.pass.cpp
R libcxx/test/std/input.output/string.streams/ostringstream/types.pass.cpp
A libcxx/test/std/input.output/string.streams/stringbuf/types.compile.pass.cpp
R libcxx/test/std/input.output/string.streams/stringbuf/types.pass.cpp
A libcxx/test/std/input.output/string.streams/stringstream/types.compile.pass.cpp
R libcxx/test/std/input.output/string.streams/stringstream/types.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align.except.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align_nothrow.except.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_align.except.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_align_nothrow.except.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/filesystem.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/fstream.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/iomanip.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/memory.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/mutex.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/test/std/numerics/numarray/template.valarray/valarray.cassign/and_valarray.pass.cpp
M libcxx/test/std/numerics/numarray/template.valarray/valarray.cassign/divide_valarray.pass.cpp
M libcxx/test/std/numerics/numarray/template.valarray/valarray.cassign/minus_valarray.pass.cpp
M libcxx/test/std/numerics/numarray/template.valarray/valarray.cassign/modulo_valarray.pass.cpp
M libcxx/test/std/numerics/numarray/template.valarray/valarray.cassign/or_valarray.pass.cpp
M libcxx/test/std/numerics/numarray/template.valarray/valarray.cassign/plus_valarray.pass.cpp
M libcxx/test/std/numerics/numarray/template.valarray/valarray.cassign/shift_left_valarray.pass.cpp
M libcxx/test/std/numerics/numarray/template.valarray/valarray.cassign/shift_right_valarray.pass.cpp
M libcxx/test/std/numerics/numarray/template.valarray/valarray.cassign/times_valarray.pass.cpp
M libcxx/test/std/numerics/numarray/template.valarray/valarray.cassign/xor_valarray.pass.cpp
A libcxx/test/std/thread/thread.semaphore/lost_wakeup.pass.cpp
M libcxx/test/std/time/rep.h
M libcxx/test/std/time/time.duration/time.duration.nonmember/op_divide_duration.pass.cpp
M libcxx/test/std/time/time.duration/time.duration.nonmember/op_mod_duration.pass.cpp
M libcxx/test/std/time/time.duration/time.duration.nonmember/op_times_rep.pass.cpp
M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.cnstr/allocs.pass.cpp
M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.cnstr/converting_copy.pass.cpp
M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.cnstr/converting_move.pass.cpp
M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.cnstr/copy.pass.cpp
M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.cnstr/deduct.pass.cpp
M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.cnstr/default.pass.cpp
M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.members/allocate_size.pass.cpp
M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.members/allocate_size.verify.cpp
M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.members/allocate_size_hint.pass.cpp
M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.members/allocate_size_hint.verify.cpp
M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct.pass.cpp
M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct_pair.pass.cpp
M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct_pair_const_lvalue_pair.pass.cpp
M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct_pair_piecewise.pass.cpp
M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct_pair_rvalue.pass.cpp
M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct_pair_values.pass.cpp
M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct_type.pass.cpp
M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.members/deallocate.pass.cpp
M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.members/destroy.pass.cpp
M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.members/inner_allocator.pass.cpp
M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.members/max_size.pass.cpp
M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.members/outer_allocator.pass.cpp
M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.members/select_on_container_copy_construction.pass.cpp
M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.types/allocator_pointers.pass.cpp
M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.types/inner_allocator_type.pass.cpp
M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.types/is_always_equal.pass.cpp
M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.types/propagate_on_container_copy_assignment.pass.cpp
M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.types/propagate_on_container_move_assignment.pass.cpp
M libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.types/propagate_on_container_swap.pass.cpp
M libcxx/test/std/utilities/allocator.adaptor/scoped.adaptor.operators/copy_assign.pass.cpp
M libcxx/test/std/utilities/allocator.adaptor/scoped.adaptor.operators/eq.pass.cpp
M libcxx/test/std/utilities/allocator.adaptor/scoped.adaptor.operators/move_assign.pass.cpp
A libcxx/test/std/utilities/allocator.adaptor/types.compile.pass.cpp
R libcxx/test/std/utilities/allocator.adaptor/types.pass.cpp
M libcxx/test/std/utilities/charconv/charconv.syn/from_chars_result.operator_bool.pass.cpp
M libcxx/test/std/utilities/charconv/charconv.syn/to_chars_result.operator_bool.pass.cpp
M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.bool.pass.cpp
M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.c_string.pass.cpp
M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.char.pass.cpp
M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.char_array.pass.cpp
M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.floating_point.pass.cpp
M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.handle.pass.cpp
M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.pointer.pass.cpp
M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.signed_integral.pass.cpp
M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.string.pass.cpp
M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.unsigned_integral.pass.cpp
R libcxx/test/std/utilities/memory/allocator.traits/allocate_at_least.pass.cpp
A libcxx/test/std/utilities/memory/allocator.traits/allocator.traits.members/allocate_at_least.pass.cpp
A libcxx/test/std/utilities/ratio/ratio.arithmetic/R1_R2_requirement.verify.cpp
A libcxx/test/std/utilities/ratio/ratio.comparison/R1_R2_requirement.verify.cpp
A libcxx/test/std/utilities/ratio/ratio.comparison/R1_R2_requirement_v.verify.cpp
M libcxx/test/support/atomic_helpers.h
M libcxx/test/support/count_new.h
M libcxx/test/tools/clang_tidy_checks/header_exportable_declarations.cpp
M libcxx/utils/generate_feature_test_macro_components.py
M libcxx/utils/generate_iwyu_mapping.py
M libcxx/utils/generate_libcxx_cppm_in.py
M libcxx/utils/libcxx/test/features.py
M libcxx/utils/libcxx/test/format.py
M libcxx/utils/libcxx/test/modules.py
M libcxxabi/src/cxa_exception_storage.cpp
M libcxxabi/src/cxa_guard_impl.h
M libcxxabi/src/cxa_thread_atexit.cpp
M libcxxabi/src/fallback_malloc.cpp
M libcxxabi/src/private_typeinfo.cpp
M libcxxabi/test/test_fallback_malloc.pass.cpp
M libunwind/CMakeLists.txt
M lld/COFF/DLL.cpp
M lld/COFF/Driver.cpp
M lld/Common/DriverDispatcher.cpp
M lld/ELF/Arch/AMDGPU.cpp
M lld/ELF/Arch/LoongArch.cpp
M lld/ELF/Arch/RISCV.cpp
A lld/ELF/Arch/SystemZ.cpp
M lld/ELF/CMakeLists.txt
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/InputFiles.cpp
M lld/ELF/InputSection.cpp
M lld/ELF/InputSection.h
M lld/ELF/LTO.cpp
M lld/ELF/Options.td
M lld/ELF/Relocations.cpp
M lld/ELF/Relocations.h
M lld/ELF/ScriptParser.cpp
M lld/ELF/SyntheticSections.cpp
M lld/ELF/Target.cpp
M lld/ELF/Target.h
M lld/ELF/Writer.cpp
M lld/MachO/Arch/ARM64.cpp
M lld/MachO/Arch/ARM64Common.h
M lld/MachO/Arch/ARM64_32.cpp
M lld/MachO/Arch/X86_64.cpp
M lld/MachO/Driver.cpp
M lld/MachO/ObjC.cpp
M lld/MachO/SyntheticSections.cpp
M lld/MachO/SyntheticSections.h
M lld/MachO/Target.h
M lld/MachO/Writer.cpp
M lld/MinGW/Driver.cpp
M lld/MinGW/Options.td
M lld/test/COFF/def-export-cpp.s
M lld/test/COFF/def-export-stdcall.s
M lld/test/COFF/dllexport.s
M lld/test/COFF/imports.test
M lld/test/COFF/lto-cache-errors.ll
M lld/test/COFF/pdb-publics-import.test
M lld/test/COFF/thinlto-emit-imports.ll
M lld/test/COFF/timestamp.test
A lld/test/ELF/Inputs/systemz-init.s
M lld/test/ELF/amdgpu-tid.s
A lld/test/ELF/basic-systemz.s
A lld/test/ELF/emulation-systemz.s
M lld/test/ELF/linkerscript/insert-before.test
A lld/test/ELF/loongarch-relax-align.s
A lld/test/ELF/loongarch-relax-emit-relocs.s
A lld/test/ELF/lto/basic-block-address-map.ll
M lld/test/ELF/lto/resolution-err.ll
A lld/test/ELF/lto/systemz.ll
M lld/test/ELF/lto/thinlto-cant-write-index.ll
M lld/test/ELF/lto/thinlto-emit-imports.ll
M lld/test/ELF/riscv-section-layout.s
M lld/test/ELF/segments.s
A lld/test/ELF/systemz-got.s
A lld/test/ELF/systemz-gotent-relax-align.s
A lld/test/ELF/systemz-gotent-relax-und-dso.s
A lld/test/ELF/systemz-gotent-relax.s
A lld/test/ELF/systemz-ifunc-nonpreemptible.s
A lld/test/ELF/systemz-init-padding.s
A lld/test/ELF/systemz-pie.s
A lld/test/ELF/systemz-plt.s
A lld/test/ELF/systemz-reloc-abs.s
A lld/test/ELF/systemz-reloc-disp12.s
A lld/test/ELF/systemz-reloc-disp20.s
A lld/test/ELF/systemz-reloc-got.s
A lld/test/ELF/systemz-reloc-gotrel.s
A lld/test/ELF/systemz-reloc-pc16.s
A lld/test/ELF/systemz-reloc-pc32.s
A lld/test/ELF/systemz-reloc-pcdbl.s
A lld/test/ELF/systemz-tls-gd.s
A lld/test/ELF/systemz-tls-ie.s
A lld/test/ELF/systemz-tls-ld.s
A lld/test/ELF/systemz-tls-le.s
A lld/test/ELF/unsupported-emachine.test
M lld/test/ELF/x86-64-section-layout.s
M lld/test/MachO/arm64-32-stubs.s
A lld/test/MachO/arm64-objc-stubs-dead.s
M lld/test/MachO/arm64-stubs.s
M lld/test/MachO/dyld-stub-binder.s
M lld/test/MachO/icf-safe.ll
M lld/test/MachO/invalid/chained-fixups-incompatible.s
M lld/test/MachO/invalid/invalid-lto-object-path.ll
M lld/test/MachO/objc-category-conflicts.s
M lld/test/MachO/objc-selrefs.s
M lld/test/MachO/thinlto-emit-imports.ll
M lld/test/MachO/x86-64-objc-stubs.s
M lld/test/MinGW/driver.test
M lld/test/lit.cfg.py
M lld/test/wasm/build-id.test
M lld/test/wasm/merge-string-debug.s
M lld/test/wasm/startstop.ll
M lld/wasm/InputFiles.cpp
M lldb/bindings/headers.swig
A lldb/bindings/interface/SBStatisticsOptionsDocstrings.i
M lldb/bindings/interfaces.swig
M lldb/docs/lldb-gdb-remote.txt
M lldb/docs/resources/build.rst
M lldb/docs/use/python-reference.rst
M lldb/include/lldb/API/LLDB.h
M lldb/include/lldb/API/SBCommandInterpreter.h
M lldb/include/lldb/API/SBDebugger.h
M lldb/include/lldb/API/SBDefines.h
M lldb/include/lldb/API/SBProcess.h
A lldb/include/lldb/API/SBStatisticsOptions.h
M lldb/include/lldb/API/SBStructuredData.h
M lldb/include/lldb/API/SBTarget.h
M lldb/include/lldb/Breakpoint/Breakpoint.h
M lldb/include/lldb/Breakpoint/BreakpointLocation.h
M lldb/include/lldb/Breakpoint/Watchpoint.h
A lldb/include/lldb/Breakpoint/WatchpointAlgorithms.h
M lldb/include/lldb/Core/Debugger.h
M lldb/include/lldb/Core/DebuggerEvents.h
M lldb/include/lldb/Core/ModuleList.h
M lldb/include/lldb/Core/Progress.h
M lldb/include/lldb/DataFormatters/FormatCache.h
M lldb/include/lldb/DataFormatters/FormatManager.h
M lldb/include/lldb/DataFormatters/TypeCategoryMap.h
M lldb/include/lldb/DataFormatters/TypeSynthetic.h
M lldb/include/lldb/DataFormatters/ValueObjectPrinter.h
M lldb/include/lldb/DataFormatters/VectorIterator.h
M lldb/include/lldb/Interpreter/CommandInterpreter.h
M lldb/include/lldb/Target/PostMortemProcess.h
M lldb/include/lldb/Target/Process.h
M lldb/include/lldb/Target/ProcessTrace.h
M lldb/include/lldb/Target/Statistics.h
M lldb/include/lldb/Target/Target.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/include/lldb/lldb-forward.h
M lldb/include/lldb/lldb-private-enumerations.h
M lldb/packages/Python/lldbsuite/test/concurrent_base.py
M lldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py
M lldb/source/API/CMakeLists.txt
M lldb/source/API/SBCommandInterpreter.cpp
M lldb/source/API/SBProcess.cpp
A lldb/source/API/SBStatisticsOptions.cpp
M lldb/source/API/SBTarget.cpp
M lldb/source/Breakpoint/Breakpoint.cpp
M lldb/source/Breakpoint/BreakpointLocation.cpp
M lldb/source/Breakpoint/CMakeLists.txt
M lldb/source/Breakpoint/Watchpoint.cpp
A lldb/source/Breakpoint/WatchpointAlgorithms.cpp
M lldb/source/Breakpoint/WatchpointResource.cpp
M lldb/source/Commands/CommandObjectCommands.cpp
M lldb/source/Commands/CommandObjectFrame.cpp
M lldb/source/Commands/CommandObjectStats.cpp
M lldb/source/Commands/CommandObjectWatchpoint.cpp
M lldb/source/Commands/Options.td
M lldb/source/Core/CoreProperties.td
M lldb/source/Core/DebuggerEvents.cpp
M lldb/source/Core/FormatEntity.cpp
M lldb/source/Core/ModuleList.cpp
M lldb/source/Core/Progress.cpp
M lldb/source/Core/ValueObject.cpp
M lldb/source/Core/ValueObjectSyntheticFilter.cpp
M lldb/source/DataFormatters/FormatCache.cpp
M lldb/source/DataFormatters/FormatManager.cpp
M lldb/source/DataFormatters/TypeSummary.cpp
M lldb/source/DataFormatters/TypeSynthetic.cpp
M lldb/source/DataFormatters/ValueObjectPrinter.cpp
M lldb/source/DataFormatters/VectorType.cpp
M lldb/source/Interpreter/CommandInterpreter.cpp
M lldb/source/Interpreter/CommandObject.cpp
M lldb/source/Interpreter/OptionArgParser.cpp
M lldb/source/Plugins/Language/CPlusPlus/BlockPointer.cpp
M lldb/source/Plugins/Language/CPlusPlus/CMakeLists.txt
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/Language/CPlusPlus/Coroutines.cpp
M lldb/source/Plugins/Language/CPlusPlus/Coroutines.h
M lldb/source/Plugins/Language/CPlusPlus/GenericBitset.cpp
M lldb/source/Plugins/Language/CPlusPlus/GenericOptional.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.h
M lldb/source/Plugins/Language/CPlusPlus/LibCxxAtomic.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxInitializerList.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxList.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxQueue.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxRangesRefView.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxSpan.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxTuple.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxUnorderedMap.cpp
A lldb/source/Plugins/Language/CPlusPlus/LibCxxValarray.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxVariant.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxVector.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcpp.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcppTuple.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcppUniquePointer.cpp
M lldb/source/Plugins/Language/ObjC/Cocoa.cpp
M lldb/source/Plugins/Language/ObjC/NSArray.cpp
M lldb/source/Plugins/Language/ObjC/NSDictionary.cpp
M lldb/source/Plugins/Language/ObjC/NSError.cpp
M lldb/source/Plugins/Language/ObjC/NSException.cpp
M lldb/source/Plugins/Language/ObjC/NSIndexPath.cpp
M lldb/source/Plugins/Language/ObjC/NSSet.cpp
M lldb/source/Plugins/Platform/MacOSX/PlatformRemoteAppleXR.h
M lldb/source/Plugins/Process/FreeBSD/NativeProcessFreeBSD.cpp
M lldb/source/Plugins/Process/FreeBSDKernel/ProcessFreeBSDKernel.cpp
M lldb/source/Plugins/Process/FreeBSDKernel/ProcessFreeBSDKernel.h
M lldb/source/Plugins/Process/Utility/StopInfoMachException.cpp
M lldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp
M lldb/source/Plugins/Process/elf-core/ProcessElfCore.h
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Plugins/Process/mach-core/ProcessMachCore.cpp
M lldb/source/Plugins/Process/mach-core/ProcessMachCore.h
M lldb/source/Plugins/Process/minidump/ProcessMinidump.cpp
M lldb/source/Plugins/Process/minidump/ProcessMinidump.h
M lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfo.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfo.h
M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.h
M lldb/source/Plugins/SymbolVendor/MacOSX/SymbolVendorMacOSX.cpp
M lldb/source/Symbol/SymbolLocator.cpp
M lldb/source/Target/ProcessTrace.cpp
M lldb/source/Target/Statistics.cpp
M lldb/source/Target/StopInfo.cpp
M lldb/source/Target/Target.cpp
M lldb/source/Target/TargetList.cpp
M lldb/source/Utility/ConstString.cpp
M lldb/test/API/commands/statistics/basic/TestStats.py
A lldb/test/API/commands/target/debuginfo/TestDebugInfoSize.py
A lldb/test/API/commands/target/debuginfo/a.out-foo.dwo.yaml
A lldb/test/API/commands/target/debuginfo/a.out-main.dwo.yaml
A lldb/test/API/commands/target/debuginfo/a.out.yaml
M lldb/test/API/functionalities/breakpoint/hardware_breakpoints/require_hw_breakpoints/TestRequireHWBreakpoints.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/chrono/TestDataFormatterLibcxxChrono.py
A lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/valarray/Makefile
A lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/valarray/TestDataFormatterLibcxxValarray.py
A lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/valarray/main.cpp
M lldb/test/API/functionalities/postmortem/elf-core/TestLinuxCore.py
M lldb/test/API/functionalities/stats_api/TestStatisticsAPI.py
M lldb/test/API/functionalities/stats_api/main.c
A lldb/test/API/functionalities/watchpoint/unaligned-large-watchpoint/Makefile
A lldb/test/API/functionalities/watchpoint/unaligned-large-watchpoint/TestUnalignedLargeWatchpoint.py
A lldb/test/API/functionalities/watchpoint/unaligned-large-watchpoint/main.c
M lldb/test/API/macosx/universal/Makefile
M lldb/test/API/python_api/target/TestTargetAPI.py
M lldb/test/Shell/SymbolFile/DWARF/x86/dwp-separate-debug-file.cpp
M lldb/tools/debugserver/source/MacOSX/arm64/DNBArchImplARM64.cpp
M lldb/tools/debugserver/source/RNBRemote.cpp
A lldb/tools/lldb-dap/Breakpoint.cpp
A lldb/tools/lldb-dap/Breakpoint.h
M lldb/tools/lldb-dap/BreakpointBase.cpp
M lldb/tools/lldb-dap/BreakpointBase.h
M lldb/tools/lldb-dap/CMakeLists.txt
M lldb/tools/lldb-dap/FunctionBreakpoint.cpp
M lldb/tools/lldb-dap/FunctionBreakpoint.h
M lldb/tools/lldb-dap/JSONUtils.cpp
M lldb/tools/lldb-dap/JSONUtils.h
M lldb/tools/lldb-dap/SourceBreakpoint.cpp
M lldb/tools/lldb-dap/SourceBreakpoint.h
M lldb/tools/lldb-dap/lldb-dap.cpp
M lldb/unittests/Breakpoint/CMakeLists.txt
A lldb/unittests/Breakpoint/WatchpointAlgorithmsTests.cpp
M lldb/unittests/Core/CMakeLists.txt
M lldb/unittests/Core/DiagnosticEventTest.cpp
A lldb/unittests/Core/ProgressReportTest.cpp
M lldb/unittests/TestingSupport/TestUtilities.cpp
M lldb/unittests/TestingSupport/TestUtilities.h
M llvm/CMakeLists.txt
M llvm/cmake/modules/HandleLLVMOptions.cmake
M llvm/cmake/modules/LLVMExternalProjectUtils.cmake
M llvm/docs/AArch64SME.rst
M llvm/docs/AMDGPUUsage.rst
M llvm/docs/AdvancedBuilds.rst
M llvm/docs/CMake.rst
M llvm/docs/CodeReview.rst
M llvm/docs/CommandGuide/llvm-exegesis.rst
M llvm/docs/CommandGuide/llvm-mca.rst
M llvm/docs/CommandGuide/llvm-objcopy.rst
A llvm/docs/DirectX/DXILArchitecture.rst
M llvm/docs/DirectXUsage.rst
M llvm/docs/GettingInvolved.rst
M llvm/docs/GettingStarted.rst
M llvm/docs/GitHub.rst
M llvm/docs/GlobalISel/MIRPatterns.rst
M llvm/docs/LangRef.rst
M llvm/docs/MyFirstTypoFix.rst
M llvm/docs/NVPTXUsage.rst
M llvm/docs/Passes.rst
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.rst
M llvm/docs/RemoveDIsDebugInfo.md
M llvm/docs/SecurityTransparencyReports.rst
M llvm/docs/TableGen/BackEnds.rst
M llvm/docs/TableGen/ProgRef.rst
M llvm/docs/UserGuides.rst
M llvm/docs/WritingAnLLVMNewPMPass.rst
M llvm/docs/WritingAnLLVMPass.rst
M llvm/include/llvm-c/Core.h
M llvm/include/llvm-c/Orc.h
M llvm/include/llvm/ADT/BitVector.h
M llvm/include/llvm/ADT/SmallPtrSet.h
M llvm/include/llvm/ADT/StringMap.h
M llvm/include/llvm/ADT/ilist_iterator.h
M llvm/include/llvm/Analysis/AliasAnalysis.h
M llvm/include/llvm/Analysis/BasicAliasAnalysis.h
M llvm/include/llvm/Analysis/CGSCCPassManager.h
M llvm/include/llvm/Analysis/InlineModelFeatureMaps.h
M llvm/include/llvm/Analysis/ScalarEvolution.h
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/Analysis/TypeMetadataUtils.h
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/include/llvm/Analysis/VecFuncs.def
M llvm/include/llvm/AsmParser/LLParser.h
M llvm/include/llvm/AsmParser/LLToken.h
A llvm/include/llvm/AsmParser/NumberedValues.h
M llvm/include/llvm/AsmParser/SlotMapping.h
M llvm/include/llvm/BinaryFormat/COFF.h
M llvm/include/llvm/BinaryFormat/Dwarf.def
M llvm/include/llvm/BinaryFormat/ELF.h
M llvm/include/llvm/BinaryFormat/Wasm.h
M llvm/include/llvm/BinaryFormat/XCOFF.h
M llvm/include/llvm/CodeGen/AsmPrinter.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/include/llvm/CodeGen/CommandFlags.h
A llvm/include/llvm/CodeGen/DeadMachineInstructionElim.h
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutor.h
M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutorImpl.h
M llvm/include/llvm/CodeGen/GlobalISel/GenericMachineInstrs.h
M llvm/include/llvm/CodeGen/GlobalISel/LegalizerInfo.h
M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
M llvm/include/llvm/CodeGen/ISDOpcodes.h
M llvm/include/llvm/CodeGen/LivePhysRegs.h
M llvm/include/llvm/CodeGen/MIRPrinter.h
M llvm/include/llvm/CodeGen/MachineBasicBlock.h
M llvm/include/llvm/CodeGen/MachineFunction.h
M llvm/include/llvm/CodeGen/MachineModuleInfo.h
M llvm/include/llvm/CodeGen/MachinePassManager.h
M llvm/include/llvm/CodeGen/MachineRegisterInfo.h
M llvm/include/llvm/CodeGen/MachineUniformityAnalysis.h
M llvm/include/llvm/CodeGen/Register.h
M llvm/include/llvm/CodeGen/RegisterClassInfo.h
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/TargetInstrInfo.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
M llvm/include/llvm/CodeGen/ValueTypes.td
M llvm/include/llvm/CodeGenTypes/LowLevelType.h
M llvm/include/llvm/DebugInfo/CodeView/CodeView.h
M llvm/include/llvm/DebugInfo/DIContext.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFVerifier.h
M llvm/include/llvm/DebugInfo/GSYM/DwarfTransformer.h
M llvm/include/llvm/DebugInfo/GSYM/GsymCreator.h
M llvm/include/llvm/DebugInfo/GSYM/ObjectFileTransformer.h
A llvm/include/llvm/DebugInfo/GSYM/OutputAggregator.h
M llvm/include/llvm/ExecutionEngine/Orc/Core.h
M llvm/include/llvm/ExecutionEngine/Orc/DebugUtils.h
M llvm/include/llvm/ExecutionEngine/Orc/EPCGenericDylibManager.h
M llvm/include/llvm/ExecutionEngine/Orc/ExecutorProcessControl.h
M llvm/include/llvm/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.h
M llvm/include/llvm/ExecutionEngine/Orc/SimpleRemoteEPC.h
M llvm/include/llvm/Frontend/Offloading/OffloadWrapper.h
M llvm/include/llvm/Frontend/OpenMP/OMP.td
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
A llvm/include/llvm/IR/Analysis.h
M llvm/include/llvm/IR/CallingConv.h
M llvm/include/llvm/IR/Instruction.h
M llvm/include/llvm/IR/Instructions.h
M llvm/include/llvm/IR/Intrinsics.td
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/include/llvm/IR/Metadata.h
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/include/llvm/IR/Operator.h
M llvm/include/llvm/IR/PassManager.h
M llvm/include/llvm/IR/PassManagerInternal.h
M llvm/include/llvm/IR/PatternMatch.h
M llvm/include/llvm/MC/MCAssembler.h
M llvm/include/llvm/MC/MCDisassembler/MCDisassembler.h
M llvm/include/llvm/MC/MCObjectStreamer.h
M llvm/include/llvm/MC/MCRegisterInfo.h
M llvm/include/llvm/MC/MCStreamer.h
M llvm/include/llvm/ObjCopy/CommonConfig.h
M llvm/include/llvm/Object/COFF.h
M llvm/include/llvm/Object/COFFImportFile.h
M llvm/include/llvm/Object/ELFObjectFile.h
M llvm/include/llvm/Object/ELFTypes.h
M llvm/include/llvm/Object/Wasm.h
M llvm/include/llvm/ObjectYAML/DWARFEmitter.h
M llvm/include/llvm/ObjectYAML/DWARFYAML.h
M llvm/include/llvm/ObjectYAML/ELFYAML.h
M llvm/include/llvm/ObjectYAML/XCOFFYAML.h
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
A llvm/include/llvm/ProfileData/Coverage/MCDCTypes.h
M llvm/include/llvm/ProfileData/InstrProf.h
M llvm/include/llvm/ProfileData/InstrProfReader.h
M llvm/include/llvm/Support/AMDGPUMetadata.h
M llvm/include/llvm/Support/PGOOptions.h
M llvm/include/llvm/Support/RISCVAttributes.h
M llvm/include/llvm/Support/ScopedPrinter.h
M llvm/include/llvm/Support/TargetOpcodes.def
M llvm/include/llvm/Support/VirtualFileSystem.h
M llvm/include/llvm/Support/raw_ostream.h
M llvm/include/llvm/Target/GenericOpcodes.td
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/include/llvm/Target/GlobalISel/SelectionDAGCompat.td
M llvm/include/llvm/Target/TargetMachine.h
M llvm/include/llvm/Target/TargetOptions.h
M llvm/include/llvm/Target/TargetSchedule.td
M llvm/include/llvm/Target/TargetSelectionDAG.td
M llvm/include/llvm/TargetParser/AArch64TargetParser.h
M llvm/include/llvm/TargetParser/ARMTargetParser.h
M llvm/include/llvm/TargetParser/TargetParser.h
M llvm/include/llvm/TargetParser/Triple.h
M llvm/include/llvm/TargetParser/X86TargetParser.def
A llvm/include/llvm/TextAPI/FileTypes.h
M llvm/include/llvm/TextAPI/InterfaceFile.h
M llvm/include/llvm/TextAPI/RecordsSlice.h
M llvm/include/llvm/TextAPI/Symbol.h
M llvm/include/llvm/TextAPI/Utils.h
A llvm/include/llvm/Transforms/Instrumentation/PGOForceFunctionAttrs.h
A llvm/include/llvm/Transforms/Scalar/JumpTableToSwitch.h
M llvm/include/llvm/Transforms/Scalar/LoopPassManager.h
R llvm/include/llvm/Transforms/Scalar/LoopReroll.h
M llvm/include/llvm/Transforms/Utils/SimplifyLibCalls.h
M llvm/lib/Analysis/BasicAliasAnalysis.cpp
M llvm/lib/Analysis/DomConditionCache.cpp
M llvm/lib/Analysis/InlineCost.cpp
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/LoopInfo.cpp
M llvm/lib/Analysis/MemoryProfileInfo.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/Analysis/StackSafetyAnalysis.cpp
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp
M llvm/lib/Analysis/TypeMetadataUtils.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/AsmParser/LLLexer.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/AtomicExpandPass.cpp
M llvm/lib/CodeGen/BasicBlockSections.cpp
M llvm/lib/CodeGen/BranchFolding.cpp
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/CommandFlags.cpp
M llvm/lib/CodeGen/DeadMachineInstructionElim.cpp
M llvm/lib/CodeGen/GlobalISel/CallLowering.cpp
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/GlobalISel/InstructionSelect.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
M llvm/lib/CodeGen/IntrinsicLowering.cpp
M llvm/lib/CodeGen/MIRParser/MIParser.cpp
M llvm/lib/CodeGen/MIRParser/MIRParser.cpp
M llvm/lib/CodeGen/MIRPrinter.cpp
M llvm/lib/CodeGen/MIRPrintingPass.cpp
M llvm/lib/CodeGen/MachineBlockPlacement.cpp
M llvm/lib/CodeGen/MachineFunction.cpp
M llvm/lib/CodeGen/MachineModuleInfo.cpp
M llvm/lib/CodeGen/MachinePassManager.cpp
M llvm/lib/CodeGen/MachinePipeliner.cpp
M llvm/lib/CodeGen/MachineRegisterInfo.cpp
M llvm/lib/CodeGen/MachineScheduler.cpp
M llvm/lib/CodeGen/MachineUniformityAnalysis.cpp
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/lib/CodeGen/RDFGraph.cpp
M llvm/lib/CodeGen/RegisterClassInfo.cpp
M llvm/lib/CodeGen/RegisterCoalescer.cpp
M llvm/lib/CodeGen/SelectOptimize.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
M llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/CodeGen/StackSlotColoring.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/CodeGen/TargetPassConfig.cpp
M llvm/lib/CodeGen/TwoAddressInstructionPass.cpp
M llvm/lib/CodeGen/TypePromotion.cpp
M llvm/lib/CodeGen/ValueTypes.cpp
M llvm/lib/DWARFLinker/Parallel/DWARFLinkerImpl.h
M llvm/lib/DebugInfo/CodeView/EnumTables.cpp
M llvm/lib/DebugInfo/CodeView/TypeDumpVisitor.cpp
M llvm/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp
M llvm/lib/DebugInfo/DWARF/DWARFContext.cpp
M llvm/lib/DebugInfo/DWARF/DWARFTypePrinter.cpp
M llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp
M llvm/lib/DebugInfo/GSYM/DwarfTransformer.cpp
M llvm/lib/DebugInfo/GSYM/GsymCreator.cpp
M llvm/lib/DebugInfo/GSYM/ObjectFileTransformer.cpp
M llvm/lib/DebugInfo/PDB/PDBExtras.cpp
M llvm/lib/ExecutionEngine/GDBRegistrationListener.cpp
M llvm/lib/ExecutionEngine/JITLink/ELF_riscv.cpp
M llvm/lib/ExecutionEngine/JITLink/MachO_arm64.cpp
M llvm/lib/ExecutionEngine/Orc/Core.cpp
M llvm/lib/ExecutionEngine/Orc/DebugUtils.cpp
M llvm/lib/ExecutionEngine/Orc/EPCDynamicLibrarySearchGenerator.cpp
M llvm/lib/ExecutionEngine/Orc/EPCGenericDylibManager.cpp
M llvm/lib/ExecutionEngine/Orc/ExecutorProcessControl.cpp
M llvm/lib/ExecutionEngine/Orc/IndirectionUtils.cpp
M llvm/lib/ExecutionEngine/Orc/LazyReexports.cpp
M llvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp
M llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
M llvm/lib/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.cpp
M llvm/lib/ExecutionEngine/Orc/SimpleRemoteEPC.cpp
M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp
M llvm/lib/FileCheck/FileCheck.cpp
M llvm/lib/Frontend/Offloading/OffloadWrapper.cpp
M llvm/lib/Frontend/Offloading/Utility.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/IR/ConstantRange.cpp
M llvm/lib/IR/Core.cpp
M llvm/lib/IR/DebugInfo.cpp
M llvm/lib/IR/DebugInfoMetadata.cpp
M llvm/lib/IR/DebugProgramInstruction.cpp
M llvm/lib/IR/Function.cpp
M llvm/lib/IR/Instruction.cpp
M llvm/lib/IR/Instructions.cpp
M llvm/lib/IR/Metadata.cpp
M llvm/lib/IR/Operator.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/LTO/LTOBackend.cpp
M llvm/lib/Linker/IRMover.cpp
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/lib/MC/MCContext.cpp
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/MCSectionXCOFF.cpp
M llvm/lib/MC/MCStreamer.cpp
M llvm/lib/MC/XCOFFObjectWriter.cpp
M llvm/lib/ObjCopy/ConfigManager.cpp
M llvm/lib/ObjCopy/ELF/ELFObjcopy.cpp
M llvm/lib/ObjCopy/ELF/ELFObject.cpp
M llvm/lib/ObjCopy/ELF/ELFObject.h
M llvm/lib/Object/COFFImportFile.cpp
M llvm/lib/Object/COFFModuleDefinition.cpp
M llvm/lib/Object/ELF.cpp
M llvm/lib/Object/ELFObjectFile.cpp
M llvm/lib/Object/OffloadBinary.cpp
M llvm/lib/Object/WasmObjectFile.cpp
M llvm/lib/ObjectYAML/CodeViewYAMLTypes.cpp
M llvm/lib/ObjectYAML/DWARFEmitter.cpp
M llvm/lib/ObjectYAML/DWARFYAML.cpp
M llvm/lib/ObjectYAML/ELFEmitter.cpp
M llvm/lib/ObjectYAML/ELFYAML.cpp
M llvm/lib/ObjectYAML/XCOFFEmitter.cpp
M llvm/lib/ObjectYAML/XCOFFYAML.cpp
M llvm/lib/Passes/CodeGenPassBuilder.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Passes/StandardInstrumentations.cpp
M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
M llvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp
M llvm/lib/ProfileData/Coverage/CoverageMappingWriter.cpp
M llvm/lib/ProfileData/InstrProf.cpp
M llvm/lib/ProfileData/InstrProfReader.cpp
M llvm/lib/Support/CommandLine.cpp
M llvm/lib/Support/DeltaAlgorithm.cpp
M llvm/lib/Support/FormatVariadic.cpp
M llvm/lib/Support/PGOOptions.cpp
M llvm/lib/Support/Process.cpp
M llvm/lib/Support/RISCVISAInfo.cpp
M llvm/lib/Support/StringMap.cpp
M llvm/lib/Support/StringRef.cpp
M llvm/lib/Support/Unix/Process.inc
M llvm/lib/Support/VirtualFileSystem.cpp
M llvm/lib/Support/Windows/Process.inc
M llvm/lib/TableGen/TGLexer.cpp
M llvm/lib/TableGen/TGLexer.h
M llvm/lib/TableGen/TGParser.cpp
M llvm/lib/TableGen/TGParser.h
M llvm/lib/Target/AArch64/AArch64.td
M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64Combine.td
M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.h
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64MCInstLower.cpp
M llvm/lib/Target/AArch64/AArch64PointerAuth.cpp
M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
M llvm/lib/Target/AArch64/AArch64RegisterInfo.td
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/AArch64SchedA510.td
M llvm/lib/Target/AArch64/AArch64StackTagging.cpp
M llvm/lib/Target/AArch64/AArch64Subtarget.cpp
M llvm/lib/Target/AArch64/AArch64Subtarget.h
M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
M llvm/lib/Target/AArch64/SMEABIPass.cpp
M llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h
M llvm/lib/Target/AArch64/Utils/AArch64SMEAttributes.cpp
M llvm/lib/Target/AArch64/Utils/AArch64SMEAttributes.h
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
M llvm/lib/Target/AMDGPU/AMDGPUGlobalISelDivergenceLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.cpp
M llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.h
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerKernelArguments.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPURemoveIncompatibleFunctions.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/BUFInstructions.td
M llvm/lib/Target/AMDGPU/DSInstructions.td
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h
M llvm/lib/Target/AMDGPU/FLATInstructions.td
M llvm/lib/Target/AMDGPU/GCNProcessors.td
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.h
M llvm/lib/Target/AMDGPU/R600OptimizeVectorRegisters.cpp
M llvm/lib/Target/AMDGPU/R600TargetMachine.cpp
M llvm/lib/Target/AMDGPU/R600TargetMachine.h
M llvm/lib/Target/AMDGPU/SIDefines.h
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstrFormats.td
Log Message:
-----------
simplify intrinsic call in AArch64CallLowering.cpp
Created using spr 1.3.4
Compare: https://github.com/llvm/llvm-project/compare/3fb6535bc059...d1e4789b9cc4
More information about the All-commits
mailing list