[all-commits] [llvm/llvm-project] 7fc259: [DebugInfo][RemoveDIs] "Final" cleanup for non-ins...
Wang Pengcheng via All-commits
all-commits at lists.llvm.org
Thu Feb 1 03:55:25 PST 2024
Branch: refs/heads/users/wangpc-pp/spr/riscvnfc-simplify-callsll-and-autogenerate-checks-for-tail-callsll
Home: https://github.com/llvm/llvm-project
Commit: 7fc25928233c133a4af1dadf0e060fb5d42ebd4e
https://github.com/llvm/llvm-project/commit/7fc25928233c133a4af1dadf0e060fb5d42ebd4e
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/include/llvm/IR/Function.h
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/IR/DebugInfo.cpp
M llvm/lib/IR/Instruction.cpp
M llvm/test/DebugInfo/salvage-limit-expr-size.ll
M llvm/test/Transforms/Util/strip-nonlinetable-debuginfo-localvars.ll
Log Message:
-----------
[DebugInfo][RemoveDIs] "Final" cleanup for non-instr debug-info (#79121)
Here's a raft of minor fixes for the RemoveDIs project that's replacing
dbg.value intrinsics with DPValue objects, all IMO trivial:
* When inserting functions or blocks and calling setIsNewDbgInfoFormat,
do that after setting the Parent pointer, just in case conversion from
(or to) dbg.value mode is triggered.
* When transferring DPValues from an empty range in a splice call, don't
transfer if there are no DPValues attached to the source block at all.
* stripNonLineTableDebugInfo should drop DPValues.
* In insertBefore, don't try to transfer DPValues if there aren't any.
Commit: a16f81f5e3313e88f96de35e5edfe8bee463d308
https://github.com/llvm/llvm-project/commit/a16f81f5e3313e88f96de35e5edfe8bee463d308
Author: Thurston Dang <thurston at google.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M libcxx/include/string
R libcxx/test/libcxx/containers/strings/basic.string/asan_deque_integration.pass.cpp
R libcxx/test/libcxx/containers/strings/basic.string/asan_short.pass.cpp
R libcxx/test/libcxx/containers/strings/basic.string/asan_vector_integration.pass.cpp
M libcxx/test/support/asan_testing.h
Log Message:
-----------
Revert "[ASan][libc++] Turn on ASan annotations for short strings (#79049)"
This reverts commit cb528ec5e6331ce207c7b835d7ab963bd5e13af7.
Reason: buildbot breakage (https://lab.llvm.org/buildbot/#/builders/5/builds/40364):
SUMMARY: AddressSanitizer: container-overflow /b/sanitizer-x86_64-linux-fast/build/libcxx_build_asan_ubsan/include/c++/v1/string:1870:29 in __get_long_pointer
Commit: 22da8096020fcf54bae2f885882bbd088a4dcd9b
https://github.com/llvm/llvm-project/commit/22da8096020fcf54bae2f885882bbd088a4dcd9b
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
A llvm/docs/RemoveDIsDebugInfo.md
M llvm/docs/UserGuides.rst
Log Message:
-----------
[Docs][DebugInfo][RemoveDIs] Document some debug-info transition info (#79167)
This is a high level description and FAQ for what we're doing in
RemoveDIs, and how old code should be behave with new debug-info
(exactly the same 99% of the time).
Commit: 6a3ace20c80191159009668fff82fc3feeeca0a6
https://github.com/llvm/llvm-project/commit/6a3ace20c80191159009668fff82fc3feeeca0a6
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
R libc/src/threads/linux/call_once.cpp
R libc/src/threads/linux/thread_start_args.h.def
Log Message:
-----------
[libc] remove redundant call_once (#79226)
Missed cleanup from https://reviews.llvm.org/D134716.
Fixes: #79220
Commit: 2a61be4e4ca481016516403f634b475197221991
https://github.com/llvm/llvm-project/commit/2a61be4e4ca481016516403f634b475197221991
Author: Jeffrey Byrnes <Jeffrey.Byrnes at amd.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/SROA.cpp
Log Message:
-----------
[SROA] NFC: Extract code to checkVectorTypesForPromotion
Change-Id: Ib6f237cc791a097f8f2411bc1d6502f11d4a748e
Commit: 25e1916d88ebeef786956b678a4eb9a757e219d9
https://github.com/llvm/llvm-project/commit/25e1916d88ebeef786956b678a4eb9a757e219d9
Author: Alan Zhao <alanzhao1 at users.noreply.github.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M clang/test/CodeGenCXX/new-array-init.cpp
Log Message:
-----------
[nfc][clang] Fix test in new-array-init.cpp (#79225)
This test was originally introduced in
https://github.com/llvm/llvm-project/pull/76976, but it incorrectly
tests braced-list initialization instead of parenthesized
initialization.
Commit: d657519838e4b2310e13ec5ff52599e041860825
https://github.com/llvm/llvm-project/commit/d657519838e4b2310e13ec5ff52599e041860825
Author: Pete Lawrence <plawrence at apple.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M lldb/source/Core/ValueObject.cpp
Log Message:
-----------
[lldb] Improve maintainability and readability for ValueObject methods (#75865)
As I worked through changes to another PR
(https://github.com/llvm/llvm-project/pull/74912), I couldn't help but
rewrite a few methods for readability, maintainability, and possibly
some behavior correctness too.
1. Exiting early instead of nested `if`-statements, which:
- Reduces indentation levels for all subsequent lines
- Treats missing pre-conditions similar to an error
- Clearly indicates that the full length of the method is the "happy
path".
2. Explicitly return empty Value Object shared pointers for those error
(like) situations, which
- Reduces the time it takes a maintainer to figure out what the method
actually returns based on those conditions.
3. Converting a mix of `if` and `if`-`else`-statements around an enum
into one `switch` statement, which:
- Consolidates the former branching logic
- Lets the compiler warn you of a (future) missing enum case
- This one may actually change behavior slightly, because what was an
early test for one enum case, now happens later on in the `switch`.
4. Consolidating near-identical, "copy-pasta" logic into one place,
which:
- Separates the common code to the diverging paths.
- Highlights the differences between the code paths.
rdar://119833526
Commit: 03a61d34ebf4f8eeaa6861bec3ab39c75bb41778
https://github.com/llvm/llvm-project/commit/03a61d34ebf4f8eeaa6861bec3ab39c75bb41778
Author: Paul Kirth <paulkirth at google.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/include/llvm/BinaryFormat/ELFRelocs/RISCV.def
M llvm/include/llvm/CodeGen/CommandFlags.h
M llvm/include/llvm/Target/TargetMachine.h
M llvm/include/llvm/Target/TargetOptions.h
M llvm/include/llvm/TargetParser/Triple.h
M llvm/lib/CodeGen/CommandFlags.cpp
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVFixupKinds.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.h
M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
M llvm/lib/Target/RISCV/RISCVExpandPseudoInsts.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/TargetMachine.cpp
M llvm/test/CodeGen/RISCV/tls-models.ll
M llvm/test/MC/RISCV/relocations.s
A llvm/test/MC/RISCV/tlsdesc.s
Log Message:
-----------
[RISCV] Support TLSDESC in the RISC-V backend (#66915)
This patch adds basic TLSDESC support in the RISC-V backend.
Specifically, we add new relocation types for TLSDESC, as prescribed in
https://github.com/riscv-non-isa/riscv-elf-psabi-doc/pull/373, and add a
new pseudo instruction to simplify code generation.
This patch does not try to optimize the local dynamic case, which can be
improved in separate patches.
Linker side changes will also be handled separately.
The current implementation is only enabled when passing the new
`-enable-tlsdesc` codegen flag.
Commit: df1e01b316b174b5aa10727bd2ee0ec1082a9f65
https://github.com/llvm/llvm-project/commit/df1e01b316b174b5aa10727bd2ee0ec1082a9f65
Author: Jeff Niu <jeff at modular.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M mlir/test/IR/print-attr-type-aliases.mlir
M mlir/test/lib/Dialect/Test/TestAttrDefs.td
M mlir/test/lib/Dialect/Test/TestAttributes.cpp
Log Message:
-----------
[mlir] Add example of `printAlias` to test dialect (NFC) (#79232)
Follow-up from previous pull request. Motivate the API change with an
attribute that decides between sugaring a sub-attribute or using an
alias
Commit: 766e645d8d1e9e999386b90e3e19554d72324a66
https://github.com/llvm/llvm-project/commit/766e645d8d1e9e999386b90e3e19554d72324a66
Author: Jeffrey Byrnes <Jeffrey.Byrnes at amd.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/test/Transforms/SROA/vector-promotion.ll
Log Message:
-----------
[SROA] NFC: Precommit test for pull/77678
Change-Id: I6b2346301f9bd840a0adceba4a0d03e9932af245
Commit: b1778c7d7b9ec07c075118546b85a7cc9741e1f1
https://github.com/llvm/llvm-project/commit/b1778c7d7b9ec07c075118546b85a7cc9741e1f1
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/include/llvm/CodeGen/AsmPrinter.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
R llvm/test/CodeGen/Generic/bb-profile-dump.ll
Log Message:
-----------
[AsmPrinter] Remove mbb-profile-dump flag (#76595)
Now that the work embedding PGO information in SHT_LLVM_BB_ADDR_MAP ELF
sections has landed, there is no longer a need to keep around the
mbb-profile-dump flag.
Commit: c41472dbafd0dcacd943a95a9a099c1942d50394
https://github.com/llvm/llvm-project/commit/c41472dbafd0dcacd943a95a9a099c1942d50394
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M .github/workflows/libclang-python-tests.yml
Log Message:
-----------
[Github] Only run libclang-python-tests on monorepo main
The libclang python binding test CI job currently doesn't have any
restrictions on what branches it will run on when something is pushed
and also isn't restricted to the monorepo. This patch adds a branch
restriction for the push event, only running the CI job when something
is pushed to the main branch (and the path filter is met), and also adds
a filter to ensure that the job comes from a PR against the monorepo or
a push to a branch in the monorepo.
Commit: c51ab483e6c2d991a01179584705b83fbea1940d
https://github.com/llvm/llvm-project/commit/c51ab483e6c2d991a01179584705b83fbea1940d
Author: Jinyang He <hejinyang at loongson.cn>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.h
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchFixupKinds.h
A llvm/test/MC/LoongArch/Relocations/align-non-executable.s
M llvm/test/MC/LoongArch/Relocations/relax-addsub.s
A llvm/test/MC/LoongArch/Relocations/relax-align.s
Log Message:
-----------
[LoongArch] Insert nops and emit align reloc when handle alignment directive (#72962)
Refer to RISCV, we will fix up the alignment if linker relaxation
changes code size and breaks alignment. Insert enough Nops and emit
R_LARCH_ALIGN relocation type so that linker could satisfy the alignment
by removing Nops.
It does so only in sections with the SHF_EXECINSTR flag.
In LoongArch psABI v2.30, R_LARCH_ALIGN requires symbol index. The
lowest 8 bits of addend represent alignment and the other bits of addend
represent the maximum number of bytes to emit.
Commit: f709fbb1bb5e6240aad4edeb2f0e417df74cfa27
https://github.com/llvm/llvm-project/commit/f709fbb1bb5e6240aad4edeb2f0e417df74cfa27
Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/SROA.cpp
M llvm/test/Transforms/SROA/vector-promotion.ll
Log Message:
-----------
[SROA] Only try additional vector type candidates when needed (#77678)
https://github.com/llvm/llvm-project/commit/f9c2a341b94ca71508dcefa109ece843459f7f13
causes regressions when we have a slice with integer vector type that is
the same size as the partition, and a ptr load/store slice that is not
the size of the element type.
Ref `vector-promotion.ll:ptrLoadStoreTys`.
Before the patch, we would only consider `<4 x i32>` as a candidate type
for vector promotion, and would find that it is a viable type for all
the slices.
After the patch, we now add `<2 x ptr>` as a candidate type due to slice
with user `store ptr %val0, ptr %obj, align 8` -- and flag that we
`HaveVecPtrTy`. The pre-existing behavior of this flag results in
removing the viable `<4 x i32>` and keeping only the unviable `<2 x
ptr>`, which results in a failure to promote.
The end result is failing to promote an alloca that was previously
promoted -- this does not appear to be the intent of that patch, which
has the goal of increasing promotions by providing more promotion
opportunities.
This PR preserves this behavior via a simple reorganization of the
implemention: try first the slice types with same size as the partition,
then, if there is no promotable type, try the `LoadStoreTys.`
Commit: c663c8b8839e8a3e780426c1ab4d0005df90a116
https://github.com/llvm/llvm-project/commit/c663c8b8839e8a3e780426c1ab4d0005df90a116
Author: Fangrui Song <i at maskray.me>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M lld/test/ELF/dead-reloc-in-nonalloc.s
Log Message:
-----------
[ELF,test] Improve dead-reloc-in-nonalloc.s
Test an absolute relocation referencing a DSO symbol, relocating a
non-SHF_ALLOC section. Also test --gc-sections.
Commit: 7e50f006f7f652b9a5ac5ddd64deba5f1c9388a8
https://github.com/llvm/llvm-project/commit/7e50f006f7f652b9a5ac5ddd64deba5f1c9388a8
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/include/llvm/CodeGen/CodeGenPassBuilder.h
M llvm/include/llvm/CodeGen/TargetPassConfig.h
M llvm/include/llvm/Target/CGPassBuilderOption.h
M llvm/lib/CodeGen/TargetPassConfig.cpp
M llvm/lib/Target/X86/CMakeLists.txt
A llvm/lib/Target/X86/X86CodeGenPassBuilder.cpp
M llvm/lib/Target/X86/X86TargetMachine.h
A llvm/test/tools/llc/new-pm/lit.local.cfg
A llvm/test/tools/llc/new-pm/option-conflict.ll
A llvm/test/tools/llc/new-pm/pipeline.ll
A llvm/test/tools/llc/new-pm/start-stop.ll
M llvm/tools/llc/CMakeLists.txt
A llvm/tools/llc/NewPMDriver.cpp
A llvm/tools/llc/NewPMDriver.h
M llvm/tools/llc/llc.cpp
M llvm/unittests/CodeGen/CMakeLists.txt
R llvm/unittests/CodeGen/CodeGenPassBuilderTest.cpp
Log Message:
-----------
[NewPM][CodeGen][llc] Add NPM support (#70922)
Add new pass manager support to `llc`. Users can use
`--passes=pass1,pass2...` to run mir passes, and use `--enable-new-pm`
to run default codegen pipeline.
This patch is taken from [D83612](https://reviews.llvm.org/D83612), the
original author is @yuanfang-chen.
---------
Co-authored-by: Yuanfang Chen <455423+yuanfang-chen at users.noreply.github.com>
Commit: 230c13d59d0843c3b738920b85c341cc78a61fa9
https://github.com/llvm/llvm-project/commit/230c13d59d0843c3b738920b85c341cc78a61fa9
Author: Christudasan Devadasan <christudasan.devadasan at amd.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
M llvm/lib/Target/AMDGPU/SILowerSGPRSpills.cpp
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow-codegen.ll
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/callee-frame-setup.ll
M llvm/test/CodeGen/AMDGPU/dwarf-multi-register-use-crash.ll
M llvm/test/CodeGen/AMDGPU/gfx-callable-argument-types.ll
M llvm/test/CodeGen/AMDGPU/gfx-callable-preserved-registers.ll
M llvm/test/CodeGen/AMDGPU/gfx-callable-return-types.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_i32_system.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_i64_system.ll
M llvm/test/CodeGen/AMDGPU/identical-subrange-spill-infloop.ll
M llvm/test/CodeGen/AMDGPU/indirect-call.ll
M llvm/test/CodeGen/AMDGPU/insert-waitcnts-crash.ll
M llvm/test/CodeGen/AMDGPU/ipra.ll
M llvm/test/CodeGen/AMDGPU/mul24-pass-ordering.ll
M llvm/test/CodeGen/AMDGPU/s-getpc-b64-remat.ll
M llvm/test/CodeGen/AMDGPU/sgpr-spill-overlap-wwm-reserve.mir
M llvm/test/CodeGen/AMDGPU/sgpr-spills-split-regalloc.ll
M llvm/test/CodeGen/AMDGPU/sibling-call.ll
M llvm/test/CodeGen/AMDGPU/spill-sgpr-csr-live-ins.mir
M llvm/test/CodeGen/AMDGPU/spill-sgpr-to-virtual-vgpr.mir
M llvm/test/CodeGen/AMDGPU/spill_more_than_wavesize_csr_sgprs.ll
M llvm/test/CodeGen/AMDGPU/stacksave_stackrestore.ll
M llvm/test/CodeGen/AMDGPU/strictfp_f16_abi_promote.ll
M llvm/test/CodeGen/AMDGPU/unstructured-cfg-def-use-issue.ll
M llvm/test/CodeGen/AMDGPU/vgpr-large-tuple-alloc-error.ll
M llvm/test/CodeGen/AMDGPU/vgpr-tuple-allocation.ll
M llvm/test/CodeGen/AMDGPU/wwm-reserved-spill.ll
Log Message:
-----------
[AMDGPU] Pick available high VGPR for CSR SGPR spilling (#78669)
CSR SGPR spilling currently uses the early available physical VGPRs. It
currently imposes a high register pressure while trying to allocate
large VGPR tuples within the default register budget.
This patch changes the spilling strategy by picking the VGPRs in the
reverse order, the highest available VGPR first and later after regalloc
shift them back to the lowest available range. With that, the initial
VGPRs would be available for allocation and possibility
of finding large number of contiguous registers will be more.
Commit: 3dea0aa8f4607888d0c32cd7a691d8090b1b73c7
https://github.com/llvm/llvm-project/commit/3dea0aa8f4607888d0c32cd7a691d8090b1b73c7
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
Log Message:
-----------
[LSR] Fix incorrect comment. NFC (#79207)
Commit: ecde13b1a861696dec5c4ccae792abe25df07db9
https://github.com/llvm/llvm-project/commit/ecde13b1a861696dec5c4ccae792abe25df07db9
Author: Nico Weber <thakis at chromium.org>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/X86/BUILD.gn
M llvm/utils/gn/secondary/llvm/tools/llc/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/CodeGen/BUILD.gn
Log Message:
-----------
[gn build] port 7e50f006f7f6
Commit: f0c387038854d61a632520a4073d1b6ebf4997ed
https://github.com/llvm/llvm-project/commit/f0c387038854d61a632520a4073d1b6ebf4997ed
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M clang/lib/Lex/HeaderSearch.cpp
A clang/test/Modules/pr73023.cpp
Log Message:
-----------
[Modules] [HeaderSearch] Don't reenter headers if it is pragma once (#76119)
Close https://github.com/llvm/llvm-project/issues/73023
The direct issue of https://github.com/llvm/llvm-project/issues/73023 is
that we entered a header which is marked as pragma once since the
compiler think it is OK if there is controlling macro.
It doesn't make sense. I feel like it should be sufficient to skip it
after we see the '#pragma once'.
>From the context, it looks like the workaround is primarily for
ObjectiveC. So we might need reviewers from OC.
Commit: 7bda0ce15a2874ad74fb1a451a174084094ccc34
https://github.com/llvm/llvm-project/commit/7bda0ce15a2874ad74fb1a451a174084094ccc34
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/tools/llc/llc.cpp
Log Message:
-----------
[llc] Remove C backend support (#79237)
C backend is removed in 3.1.
Commit: 63f742c15f01a25c60f0090a3aceb15bb8985e5e
https://github.com/llvm/llvm-project/commit/63f742c15f01a25c60f0090a3aceb15bb8985e5e
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M clang/test/Driver/riscv-cpus.c
M clang/test/Misc/target-invalid-cpu-note.c
M llvm/docs/ReleaseNotes.rst
M llvm/lib/Target/RISCV/RISCVProcessors.td
Log Message:
-----------
[RISCV] Add sifive-p670 processor (#79015)
This is an OOO core that has a vector unit. For more information see
https://www.sifive.com/cores/performance-p650-670.
Scheduler model and other tuning will come in separate patches.
Commit: 93248729cfae82a5ca2323d4a8e15aa3b9b9c707
https://github.com/llvm/llvm-project/commit/93248729cfae82a5ca2323d4a8e15aa3b9b9c707
Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
R llvm/test/MC/RISCV/rv32a-invalid.s
R llvm/test/MC/RISCV/rv32a-valid.s
A llvm/test/MC/RISCV/rv32zaamo-invalid.s
A llvm/test/MC/RISCV/rv32zaamo-valid.s
A llvm/test/MC/RISCV/rv32zalrsc-invalid.s
A llvm/test/MC/RISCV/rv32zalrsc-valid.s
R llvm/test/MC/RISCV/rv64a-invalid.s
R llvm/test/MC/RISCV/rv64a-valid.s
A llvm/test/MC/RISCV/rv64zaamo-invalid.s
A llvm/test/MC/RISCV/rv64zaamo-valid.s
A llvm/test/MC/RISCV/rv64zalrsc-invalid.s
A llvm/test/MC/RISCV/rv64zalrsc-valid.s
Log Message:
-----------
[RISCV][MC] Split tests for A into Zaamo and Zalrsc parts
So that we don't duplicate tests in later patch.
Reviewers: topperc, dtcxzyw, asb
Reviewed By: asb
Pull Request: https://github.com/llvm/llvm-project/pull/79111
Commit: 987087df90026605fc8d03ebda5a1cd31b71e609
https://github.com/llvm/llvm-project/commit/987087df90026605fc8d03ebda5a1cd31b71e609
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M clang-tools-extra/docs/ReleaseNotes.rst
M clang/docs/ReleaseNotes.rst
M libcxx/include/__config
M lld/docs/ReleaseNotes.rst
M llvm/CMakeLists.txt
M llvm/docs/ReleaseNotes.rst
M llvm/utils/gn/secondary/llvm/version.gni
M llvm/utils/lit/lit/__init__.py
M openmp/docs/ReleaseNotes.rst
M pstl/docs/ReleaseNotes.rst
Log Message:
-----------
Bump trunk version to 19.0.0git
Commit: baba7e4175b6ca21e83b1cf8229f29dbba02e979
https://github.com/llvm/llvm-project/commit/baba7e4175b6ca21e83b1cf8229f29dbba02e979
Author: Weining Lu <luweining at loongson.cn>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/test/DebugInfo/LoongArch/dwarf-loongarch-relocs.ll
Log Message:
-----------
[test] Update dwarf-loongarch-relocs.ll
Address buildbot faiures:
http://45.33.8.238/macm1/77360/step_11.txt
http://45.33.8.238/linux/128902/step_12.txt
Commit: 7251243315ef66f9b3f32e6f8e9536f701aa0d0a
https://github.com/llvm/llvm-project/commit/7251243315ef66f9b3f32e6f8e9536f701aa0d0a
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
R llvm/include/llvm/CodeGen/CodeGenPassBuilder.h
R llvm/include/llvm/CodeGen/MachinePassRegistry.def
A llvm/include/llvm/Passes/CodeGenPassBuilder.h
A llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/include/module.modulemap
M llvm/lib/CodeGen/CMakeLists.txt
R llvm/lib/CodeGen/CodeGenPassBuilder.cpp
M llvm/lib/Passes/CMakeLists.txt
A llvm/lib/Passes/CodeGenPassBuilder.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Target/X86/X86CodeGenPassBuilder.cpp
M llvm/tools/llc/NewPMDriver.cpp
Log Message:
-----------
[CodeGen][Passes] Move `CodeGenPassBuilder.h` to Passes (#79242)
`CodeGenPassBuilder` is not very tightly coupled to CodeGen, it may need
to reference some method in pass builder in future, so move
`CodeGenPassBuilder.h` to Passes.
Commit: 33d804c6c2786cbbbc13743060f08d679941e0a4
https://github.com/llvm/llvm-project/commit/33d804c6c2786cbbbc13743060f08d679941e0a4
Author: Brandon Wu <brandon.wu at sifive.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInstrInfoXSf.td
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
M llvm/lib/Target/RISCV/RISCVRegisterInfo.td
M llvm/test/CodeGen/RISCV/pr69586.ll
Log Message:
-----------
[RISCV] Allow VCIX with SE to reorder (#77049)
This patch allows VCIX instructions that have side effect to be
reordered
with memory and other side effecting instructions. However we don't want
VCIX instructions to be reordered with each other, so we propose a dummy
register called VCIX_STATE and make these instructions implicitly define
and use
it.
Commit: 502ec2e5a0e5922e09e69b7da08f3e7a8c7aacac
https://github.com/llvm/llvm-project/commit/502ec2e5a0e5922e09e69b7da08f3e7a8c7aacac
Author: Weining Lu <luweining at loongson.cn>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/test/DebugInfo/LoongArch/dwarf-loongarch-relocs.ll
Log Message:
-----------
[test] Make dwarf-loongarch-relocs.ll non-sensitive of function alignment
Commit: 4c3de45ecf9eea6b4ad850a042706f7865a2aab2
https://github.com/llvm/llvm-project/commit/4c3de45ecf9eea6b4ad850a042706f7865a2aab2
Author: leecheechen <chenli at loongson.cn>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M clang/test/CodeGen/LoongArch/lasx/builtin-error.c
M clang/test/CodeGen/LoongArch/lsx/builtin-error.c
Log Message:
-----------
[LoongArch][test] Add tests reporting error if lsx/lasx feature is missing when lsx/lasx builtins are called (#79250)
Commit: 218bb21eaa2f3c08ec24de1f5d88f4d5265068bf
https://github.com/llvm/llvm-project/commit/218bb21eaa2f3c08ec24de1f5d88f4d5265068bf
Author: Luke Lau <luke at igalia.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
Log Message:
-----------
[RISCV] Update performCombineVMergeAndVOps comments. NFC (#78472)
The current comment was written whenever we had separate TU/TA variants
for
each pseudo, and hasn't been accurate for a while.
This method has grown rather complicated over time so rather than
enumerate all
the different possible cases now (which must be a lot), this updates the
comment to list the different rules that are required for us to be able
to fold
a vmerge.
Commit: f7b61f81b5c4710fe089c357ef57ac0afcaf4b56
https://github.com/llvm/llvm-project/commit/f7b61f81b5c4710fe089c357ef57ac0afcaf4b56
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/test/CodeGen/X86/apx/adc.ll
M llvm/test/CodeGen/X86/apx/sbb.ll
M llvm/test/CodeGen/X86/apx/sub.ll
Log Message:
-----------
[X86][CodeGen] Transform NDD SUB to CMP if dest reg is dead (#79135)
Commit: a01195ff5cc3d7fd084743b1f47007645bb385f4
https://github.com/llvm/llvm-project/commit/a01195ff5cc3d7fd084743b1f47007645bb385f4
Author: Douglas Yung <douglas.yung at sony.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/test/CodeGen/SystemZ/zos-ppa2.ll
Log Message:
-----------
Update compiler version expected that seems to be embedded in CHECK line of test at llvm/test/CodeGen/SystemZ/zos-ppa2.ll.
The test contains a CHECK line which verifies an .ascii line which originally checks
for 18001970010100000000. After the bump of the compiler version to 19, the test
started to fail with the string now being 19001970010100000000.
This should fix this failing test on bots.
Commit: b4785cebfb0a756e19ff4ae3e41d2563f10cd292
https://github.com/llvm/llvm-project/commit/b4785cebfb0a756e19ff4ae3e41d2563f10cd292
Author: Uday Bondhugula <uday at polymagelabs.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M mlir/include/mlir/Dialect/Affine/Analysis/Utils.h
M mlir/include/mlir/Dialect/Affine/LoopFusionUtils.h
M mlir/lib/Dialect/Affine/Utils/LoopFusionUtils.cpp
M mlir/lib/Dialect/Affine/Utils/Utils.cpp
Log Message:
-----------
[MLIR] NFC. Clean up stale TODO comments and style deviations in affine utils (#79079)
NFC. Clean up stale TODO comments and style deviations in affine utils
and
affine fusion utils.
Commit: bc182ea7c2e86aea27268a08311438f8093a6a45
https://github.com/llvm/llvm-project/commit/bc182ea7c2e86aea27268a08311438f8093a6a45
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/CodeGen/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Passes/BUILD.gn
Log Message:
-----------
[gn build] Port 7251243315ef
Commit: 7e3fb372b0e8899958ec7e9241797e7e136a7a23
https://github.com/llvm/llvm-project/commit/7e3fb372b0e8899958ec7e9241797e7e136a7a23
Author: kadir çetinkaya <kadircet at google.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M clang-tools-extra/include-cleaner/test/tool.cpp
M clang-tools-extra/include-cleaner/tool/IncludeCleaner.cpp
Log Message:
-----------
[include-cleaner] Check emptiness instead of occurences (#79154)
Our internal integration relies on injecting some default values to
ignore/keep lists.
That means we can have filters, despite of not having occurences
for the flag.
Commit: d119ecb958ebc0a82e7bca01a21115ced8e0b13d
https://github.com/llvm/llvm-project/commit/d119ecb958ebc0a82e7bca01a21115ced8e0b13d
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/test/CodeGen/X86/apx/mul-i1024.ll
Log Message:
-----------
[X86][NFC] Pre-commit test for RA hints for APX NDD instructions
Commit: 5355857038cf6f9e3831504804e973508ffc2d01
https://github.com/llvm/llvm-project/commit/5355857038cf6f9e3831504804e973508ffc2d01
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M clang/include/clang/Basic/CharInfo.h
Log Message:
-----------
[Clang][NFC] Optimize isAsciiIdentifierContinue (#78699)
Precompute the isAsciiIdentifierContinue table which is on the hot path.
https://llvm-compile-time-tracker.com/compare.php?from=30da0f5a359ab4a684c5fdf0f4dbed20bae10f99&to=cb0e48db2b8193d2ee59c2a6e998317cb220d513&stat=instructions:u
Commit: 7a6c2628e99f70edf6ee46a6b4b4d3d7301353c6
https://github.com/llvm/llvm-project/commit/7a6c2628e99f70edf6ee46a6b4b4d3d7301353c6
Author: martinboehme <mboehme at google.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
Log Message:
-----------
[clang][dataflow] Eliminate two uses of `RecordValue::getLoc()`. (#79163)
This is a small step towards eventually eliminating `RecordValue`
entirely.
Commit: 78b00c116be8b3b53ff13552e31eb305b11cb169
https://github.com/llvm/llvm-project/commit/78b00c116be8b3b53ff13552e31eb305b11cb169
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M lldb/source/Core/ValueObject.cpp
Log Message:
-----------
Revert "[lldb] Improve maintainability and readability for ValueObject methods (#75865)"
This reverts commit d657519838e4b2310e13ec5ff52599e041860825 as it
breaks two dozen tests. The breakages are related to variable path
expression parsing and summary string parsing (possibly the same code).
Commit: dd3e6c87f3f4affd17d05a4d25fa77d224a98d94
https://github.com/llvm/llvm-project/commit/dd3e6c87f3f4affd17d05a4d25fa77d224a98d94
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/LangOptions.def
M clang/lib/Serialization/ASTReaderDecl.cpp
A clang/test/Interpreter/cxx20-modules.cppm
Log Message:
-----------
Support C++20 Modules in clang-repl (#79261)
This comes from when I playing around clang-repl with moduels : )
I succeeded to import std with https://libcxx.llvm.org/Modules.html and
calling `std::printf` after this patch.
I want to put the documentation part to
https://clang.llvm.org/docs/StandardCPlusPlusModules.html in a separate
commit.
Commit: 71d64ed80f8b7556be6954b2c4d663c7d89f476d
https://github.com/llvm/llvm-project/commit/71d64ed80f8b7556be6954b2c4d663c7d89f476d
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86InstrInfo.cpp
A llvm/test/CodeGen/X86/apx/optimize-compare.mir
A llvm/test/CodeGen/X86/apx/shift-eflags.ll
Log Message:
-----------
[X86][Peephole] Add NDD entries for EFLAGS optimization
Commit: c1259650e742e7b3053f6520729b4c1f44c27814
https://github.com/llvm/llvm-project/commit/c1259650e742e7b3053f6520729b4c1f44c27814
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M clang/test/Interpreter/cxx20-modules.cppm
Log Message:
-----------
[NFC] Add more requirement to clang/test/Interpreter/cxx20-modules.cppm
The previous test can't work on other platforms like PS4.
Address the comments in
https://github.com/llvm/llvm-project/pull/79261#issuecomment-1907589030
Commit: 11ca56eaf1aaf4f7fba5d94562c6b6c0d4444bc3
https://github.com/llvm/llvm-project/commit/11ca56eaf1aaf4f7fba5d94562c6b6c0d4444bc3
Author: Felix Kellenbenz <107758057+felixkellenbenz at users.noreply.github.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/ObjCopy/ELF/ELFObjcopy.cpp
M llvm/test/tools/llvm-objcopy/ELF/strip-all.test
Log Message:
-----------
[llvm-objcopy] Don't remove .gnu_debuglink section when using --strip-all (#78919)
This fixes the issue mentioned here:
https://github.com/llvm/llvm-project/issues/57407
It prevents `llvm-objcopy` from removing the `.gnu _debuglink` section
when used with the `--strip-all` flag. Since `--strip-all` is the
default of `llvm-strip` the patch also prevents `llvm-strip` from
removing the `.gnu_debuglink` section.
Commit: bae1adae1c7cdf3b0bd618fc9cd5af251dc901ed
https://github.com/llvm/llvm-project/commit/bae1adae1c7cdf3b0bd618fc9cd5af251dc901ed
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M clang/docs/StandardCPlusPlusModules.rst
Log Message:
-----------
[docs] [C++20] [Modules] Document how to import modules in clang-repl
We support to import C++20 named modules now in in clang-repl in
https://github.com/llvm/llvm-project/commit/dd3e6c87f3f4affd17d05a4d25fa77d224a98d94.
Then we should document how can we do that.
Commit: d50705ed5d482ccd9b9afabea2b6358d056b7543
https://github.com/llvm/llvm-project/commit/d50705ed5d482ccd9b9afabea2b6358d056b7543
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Dialect/Vector/canonicalize.mlir
Log Message:
-----------
[mlir][vector] Support scalable vec in `TransferReadAfterWriteToBroadcast` (#79162)
Makes `TransferReadAfterWriteToBroadcast` correctly propagate
scalability flags.
Commit: f3b495f5842bd3c8a5433ba4b784d49c663f84af
https://github.com/llvm/llvm-project/commit/f3b495f5842bd3c8a5433ba4b784d49c663f84af
Author: Luke Lau <luke at igalia.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/test/Analysis/CostModel/RISCV/shuffle-reverse.ll
Log Message:
-----------
[RISCV] Add tests for reverse shuffles of i1 vectors. NFC
This is to add test coverage for a change in #73342
Commit: 34466019e74fe455f6c67bab1d48222a08bede4d
https://github.com/llvm/llvm-project/commit/34466019e74fe455f6c67bab1d48222a08bede4d
Author: Adrian Kuegel <akuegel at google.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][Bazel] Add missing dependency after 750e90e4403df23d6b271afb90e6b4d463739965
Commit: 5404a3792ed58b94b938bbf5cfe6eeb23c664efc
https://github.com/llvm/llvm-project/commit/5404a3792ed58b94b938bbf5cfe6eeb23c664efc
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/Hexagon.cpp
Log Message:
-----------
[Driver] Use StringRef::consume_front (NFC)
Commit: 873a7bb12949709ea406c8adc82cd69fc372527d
https://github.com/llvm/llvm-project/commit/873a7bb12949709ea406c8adc82cd69fc372527d
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/JumpThreading.cpp
Log Message:
-----------
[Transforms] Use llvm::pred_size and llvm::predecessors (NFC)
Commit: 18a3c7a01ed983d19e47a03e664200ffff53689c
https://github.com/llvm/llvm-project/commit/18a3c7a01ed983d19e47a03e664200ffff53689c
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUImageIntrinsicOptimizer.cpp
Log Message:
-----------
[AMDGPU] Use llvm::none_of (NFC)
Commit: b0763a1ae940d60d8f558f85216382bc6695a1e3
https://github.com/llvm/llvm-project/commit/b0763a1ae940d60d8f558f85216382bc6695a1e3
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/DebugInfo/DWARF/DWARFFormValue.cpp
Log Message:
-----------
[DebugInfo] Use std::size (NFC)
Commit: 33ecef9812e2c9bfadef035b8e34a949acae2abc
https://github.com/llvm/llvm-project/commit/33ecef9812e2c9bfadef035b8e34a949acae2abc
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/test/CodeGen/X86/commute-blend-avx2.ll
Log Message:
-----------
[X86][CodeGen] Fix crash when commute operands of Instruction for code size (#79245)
Reported in 134fcc62786d31ab73439201dce2d73808d1785a
Incorrect opcode is used b/c there is a `[[fallthrough]]` at line 2386.
Commit: a7a1b8b17e264fb0f2d2b4165cf9a7f5094b08b3
https://github.com/llvm/llvm-project/commit/a7a1b8b17e264fb0f2d2b4165cf9a7f5094b08b3
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/Analysis/MemorySSAUpdater.cpp
M llvm/test/Transforms/SimpleLoopUnswitch/memssa-readnone-access.ll
Log Message:
-----------
[MSSAUpdater] Handle simplified accesses when updating phis (#78272)
This is a followup to #76819. After those changes, we can still run into
an assertion failure for a slight variation of the test case: When
fixing up MemoryPhis, we map the incoming access to the access of the
cloned instruction -- which may now no longer exist.
Fix this by reusing the getNewDefiningAccessForClone() helper, which
will look upwards for a new defining access in that case.
Commit: 303e64826b79af0c0e67ba06d5d8e1385adc32b5
https://github.com/llvm/llvm-project/commit/303e64826b79af0c0e67ba06d5d8e1385adc32b5
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86FlagsCopyLowering.cpp
Log Message:
-----------
[X86][NFC] Remove dead code for "_REV" instructions
ADC/SBB with reverse encoding is never emitted by compiler before
encoding optimization, which is called after flag-copy lowering.
This is a partial reland for 8bbf100799a97f8342bf1a8409c6fb48f03e837f
Commit: 543cf08636f3a3bb55dddba2e8cad787601647ba
https://github.com/llvm/llvm-project/commit/543cf08636f3a3bb55dddba2e8cad787601647ba
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
A llvm/test/Transforms/PhaseOrdering/X86/loop-vectorizer-noalias.ll
Log Message:
-----------
[PhaseOrdering] Add additional test for #79161 (NFC)
Commit: cd7ea4ea657ea41b42fcbd0e6b33faa46608d18e
https://github.com/llvm/llvm-project/commit/cd7ea4ea657ea41b42fcbd0e6b33faa46608d18e
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/test/Analysis/LoopAccessAnalysis/noalias-scope-decl.ll
M llvm/test/Transforms/PhaseOrdering/X86/loop-vectorizer-noalias.ll
Log Message:
-----------
[LAA] Drop alias scope metadata that is not valid across iterations (#79161)
LAA currently adds memory locations with their original AATags to AST.
However, scoped alias AATags may be valid only within one loop
iteration, while LAA reasons across iterations.
Fix this by determining which alias scopes are defined inside the loop,
and drop AATags that reference these scopes.
Fixes https://github.com/llvm/llvm-project/issues/79137.
Commit: 4a582845597e97d245e8ffdc14281f922b835e56
https://github.com/llvm/llvm-project/commit/4a582845597e97d245e8ffdc14281f922b835e56
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M clang/include/clang/AST/Expr.h
M clang/include/clang/Basic/Builtins.def
M clang/include/clang/Basic/Builtins.h
A clang/include/clang/Basic/Builtins.td
R clang/include/clang/Basic/BuiltinsBPF.def
A clang/include/clang/Basic/BuiltinsBPF.td
A clang/include/clang/Basic/BuiltinsBase.td
M clang/include/clang/Basic/CMakeLists.txt
M clang/include/clang/Basic/TargetBuiltins.h
M clang/include/module.modulemap
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/Basic/Builtins.cpp
M clang/lib/Basic/Targets/BPF.cpp
M clang/lib/Sema/OpenCLBuiltins.td
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/test/Analysis/bstring.c
M clang/test/CodeGen/callback_pthread_create.c
M clang/utils/TableGen/CMakeLists.txt
A clang/utils/TableGen/ClangBuiltinsEmitter.cpp
M clang/utils/TableGen/MveEmitter.cpp
M clang/utils/TableGen/TableGen.cpp
M clang/utils/TableGen/TableGenBackends.h
Log Message:
-----------
[clang] Refactor Builtins.def to be a tablegen file (#68324)
This makes the builtins list quite a bit more verbose, but IMO this is a
huge win in terms of readability.
Commit: 416b079336c6d6e48858f951cd494a7a3577deb8
https://github.com/llvm/llvm-project/commit/416b079336c6d6e48858f951cd494a7a3577deb8
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M .github/workflows/issue-release-workflow.yml
M llvm/utils/git/github-automation.py
Log Message:
-----------
Fix release issue workflow (#79268)
Remove the `--phab-token` argument (which currently eats the subsequent
"auto" as the token no longer exists) and related code.
I think this will fix the workflow failure in
https://github.com/llvm/llvm-project/issues/79253#issuecomment-1907679229.
Commit: fe0e632b00e63bda75155a8d1aa16d271d4af728
https://github.com/llvm/llvm-project/commit/fe0e632b00e63bda75155a8d1aa16d271d4af728
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/include/llvm/Transforms/Utils/MemoryTaggingSupport.h
M llvm/lib/Target/AArch64/AArch64StackTagging.cpp
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
M llvm/test/Instrumentation/HWAddressSanitizer/RISCV/alloca.ll
M llvm/test/Instrumentation/HWAddressSanitizer/alloca.ll
Log Message:
-----------
[DebugInfo][RemoveDIs] Support DPValues in HWAsan (#78731)
This patch extends HWASAN to support maintenance of debug-info that
isn't stored as intrinsics, but is instead in a DPValue object. This is
straight-forwards: we collect any such objects in StackInfoBuilder, and
apply the same operations to them as we would to dbg.value and similar
intrinsics.
I've also replaced some calls to getNextNode with debug-info skipping
next calls, and use iterators for instruction insertion rather than
instruction pointers. This avoids any difference in output between
intrinsic / non-intrinsic debug-info, but also means that any debug-info
comes before code inserted by HWAsan, rather than afterwards. See the
test modifications, where the variable assignment (presented as a
dbg.value) jumps up over all the code inserted by HWAsan. Seeing how the
code inserted by HWAsan is always (AFAIUI) given the source-location of
the instruction being instrumented, I don't believe this will have any
effect on which lines variable assignments become visible on; it may
extend the number of instructions covered by the assignments though.
Commit: fb9a82b0235713782c1cf9d1eba20ce8d95766f7
https://github.com/llvm/llvm-project/commit/fb9a82b0235713782c1cf9d1eba20ce8d95766f7
Author: Stefan Gränitz <stefan.graenitz at gmail.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M clang/tools/clang-repl/CMakeLists.txt
Log Message:
-----------
[clang-repl] Refine fix for linker error: PLT offset too large
This is a follow-up improvement after the discussion in #78959
Commit: 383d488b0bd68f1abd58c2d0114f82c54ee286d1
https://github.com/llvm/llvm-project/commit/383d488b0bd68f1abd58c2d0114f82c54ee286d1
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M openmp/libomptarget/test/offloading/fortran/target_map_common_block1.f90
Log Message:
-----------
[openmp][flang][offloading] Do not use fixed device IDs in checks (#78973)
Fixes a small issues in an offloading test where the test dependec on
the host and device being assigned certains numeric IDs. This however is
not stable and fails in situations where any of the devices is assigned
an ID different from the expected value. The fix just checks that
offloading succeeded by making sure the IDs are different.
The test was failing locally for me.
Commit: 91ddcba83ae4385fe771e918c096e6074b411de3
https://github.com/llvm/llvm-project/commit/91ddcba83ae4385fe771e918c096e6074b411de3
Author: Petar Avramovic <Petar.Avramovic at amd.com>
Date: 2024-01-24 (Wed, 24 Jan 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 (#78482)
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: 149ed9d2c58095f87745f8696ef96b5076c91fca
https://github.com/llvm/llvm-project/commit/149ed9d2c58095f87745f8696ef96b5076c91fca
Author: Petar Avramovic <Petar.Avramovic at amd.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
M llvm/test/CodeGen/AMDGPU/wmma-hazards.mir
Log Message:
-----------
AMDGPU: update GFX11 wmma hazards (#76143)
One V_NOP or unrelated VALU instruction in between is required for
correctness when matrix A or B of current WMMA instruction overlaps with
matrix D of previous WMMA instruction.
Remaining cases of WMMA operand overlaps are handled by the hardware and
do not require handling in hazard recognizer.
Hardware may stall in cases where:
- matrix C of current WMMA instruction overlaps with matrix D of
previous WMMA instruction
- VALU instruction reads matrix D of previous WMMA instruction
- matrix A,B or C of WMMA instruction reads result of previous VALU
instruction
Commit: 9dddb3d5f3bf323b7b7f8281bb848731f69fddfa
https://github.com/llvm/llvm-project/commit/9dddb3d5f3bf323b7b7f8281bb848731f69fddfa
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M clang/lib/Sema/SemaCoroutine.cpp
M clang/test/AST/ast-dump-coroutine.cpp
Log Message:
-----------
[AST] Mark the fallthrough coreturn statement implicit. (#77465)
This is a followup of #77311.
Commit: c46109d0d78863ff5e4e23c8f9fd85eb1220a42e
https://github.com/llvm/llvm-project/commit/c46109d0d78863ff5e4e23c8f9fd85eb1220a42e
Author: Petar Avramovic <Petar.Avramovic at amd.com>
Date: 2024-01-24 (Wed, 24 Jan 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:
-----------
Revert "AMDGPU/GlobalISelDivergenceLowering: select divergent i1 phis" (#79274)
Reverts llvm/llvm-project#78482
Commit: cfddb59be2124f7ec615f48a2d0395c6fdb1bb56
https://github.com/llvm/llvm-project/commit/cfddb59be2124f7ec615f48a2d0395c6fdb1bb56
Author: Mariusz Sikora <mariusz.sikora at amd.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M clang/test/CodeGenOpenCL/amdgpu-features.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-fp8.cl
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
M llvm/lib/TargetParser/TargetParser.cpp
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.fp8.dpp.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.fp8.dpp.mir
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.fp8.ll
M llvm/test/MC/AMDGPU/gfx12_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp8.s
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1_dpp8.txt
Log Message:
-----------
[AMDGPU][GFX12] VOP encoding and codegen - add support for v_cvt fp8/… (#78414)
…bf8 instructions
Add VOP1, VOP1_DPP8, VOP1_DPP16, VOP3, VOP3_DPP8, VOP3_DPP16
instructions that were supported on GFX940 (MI300):
- V_CVT_F32_FP8
- V_CVT_F32_BF8
- V_CVT_PK_F32_FP8
- V_CVT_PK_F32_BF8
- V_CVT_PK_FP8_F32
- V_CVT_PK_BF8_F32
- V_CVT_SR_FP8_F32
- V_CVT_SR_BF8_F32
---------
Co-authored-by: Mateja Marjanovic <mateja.marjanovic at amd.com>
Co-authored-by: Mirko Brkušanin <Mirko.Brkusanin at amd.com>
Commit: 78d8ce316ff6f06f58a7f3eb7f633c4bf3bf3285
https://github.com/llvm/llvm-project/commit/78d8ce316ff6f06f58a7f3eb7f633c4bf3bf3285
Author: Ivan Kosarev <ivan.kosarev at amd.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/SMInstructions.td
Log Message:
-----------
[AMDGPU] Require explicit immediate offsets for SGPR+IMM SMEM instructions. (#79131)
As otherwise SGPR+IMM instructions are not distinguishable to SGPR-only
ones in AsmParser, leading to ambiguities.
GFX12 doesn't have special SGPR-only variants, so we still allow
optional immediate offsets for the subtarget.
Also rename the offset operand classes while there.
Part of <https://github.com/llvm/llvm-project/issues/69256>.
Commit: c83180c1248615cf6ea8842eb4e0cebebba4ab57
https://github.com/llvm/llvm-project/commit/c83180c1248615cf6ea8842eb4e0cebebba4ab57
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
A llvm/test/Transforms/ConstraintElimination/umin-result-may-be-poison.ll
Log Message:
-----------
[ConstraintElim] Add tests for #78621.
Tests with umin where the result may be poison for
https://github.com/llvm/llvm-project/issues/78621.
Commit: dee02ee9f8ffc74fea6c54f4c00df16e7ca4c8a1
https://github.com/llvm/llvm-project/commit/dee02ee9f8ffc74fea6c54f4c00df16e7ca4c8a1
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.h
Log Message:
-----------
[clang][Interp][NFC] Complex elements can only be primitives
So, return a PrimType directly from classifyComplexElementType().
Commit: 17cfc15d6b9b3773db8353937aac9878d7777b21
https://github.com/llvm/llvm-project/commit/17cfc15d6b9b3773db8353937aac9878d7777b21
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
Fix spelling typo. NFC
commutatvity -> commutativity
Commit: 6255bae6c9afe89470f264f903051f64bc15135f
https://github.com/llvm/llvm-project/commit/6255bae6c9afe89470f264f903051f64bc15135f
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
A llvm/test/CodeGen/X86/icmp-pow2-mask.ll
Log Message:
-----------
[X86] Add test coverage based on #78888
Commit: 72f10f7eb536da58cb79e13974895cd97d4e1a5f
https://github.com/llvm/llvm-project/commit/72f10f7eb536da58cb79e13974895cd97d4e1a5f
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/icmp-pow2-mask.ll
Log Message:
-----------
[X86] Fold not(pcmpeq(and(X,CstPow2),0)) -> pcmpeq(and(X,CstPow2),CstPow2)
Fixes #78888
Commit: 27cfe7a07fc858bd890f2e0980f530a8573748b0
https://github.com/llvm/llvm-project/commit/27cfe7a07fc858bd890f2e0980f530a8573748b0
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
R flang/include/flang/Optimizer/Builder/Array.h
M flang/include/flang/Optimizer/Builder/BoxValue.h
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Lower/DirectivesCommon.h
M flang/lib/Lower/OpenMP.cpp
M flang/lib/Optimizer/Builder/BoxValue.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Transforms/ArrayValueCopy.cpp
A flang/test/Lower/HLFIR/assumed-size-cray-pointee.f90
M flang/test/Lower/HLFIR/cray-pointers.f90
M flang/test/Lower/Intrinsics/lbound.f90
M flang/test/Lower/Intrinsics/ubound.f90
M flang/test/Lower/array-expression-assumed-size.f90
M flang/test/Lower/cray-pointer.f90
Log Message:
-----------
[flang] Set assumed-size last extent to -1 (#79156)
Currently lowering sets the extents of assumed-size array to "undef"
which was OK as long as the value was not expected to be read.
But when interfacing with the runtime and when passing assumed-size to
assumed-rank, this last extent may be read and must be -1 as specified
in the BIND(C) case in 18.5.3 point 5.
Set this value to -1, and update all the lowering code that was looking
for an undef defining op to identify assumed-size: much safer to
propagate and use semantic info here, the previous check actually did
not work if the array was used in an internal procedure (defining op not
visible anymore).
@clementval and @agozillon, I left assumed-size extent to zero in the
acc/omp bounds op as it was, please double check that is what you want
(I can imagine -1 may create troubles here, and 0 makes some sense as it
would lead to no data transfer).
This also allows removing special cases in UBOUND/LBOUND lowering.
Also disable allocation of cray pointee. This was never intended and
would now lead to crashes with the -1 value for assumed-size cray
pointee.
Commit: 7fdf608cefa0d9051eb3146ee19c3750e237c799
https://github.com/llvm/llvm-project/commit/7fdf608cefa0d9051eb3146ee19c3750e237c799
Author: Mirko Brkušanin <Mirko.Brkusanin at amd.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/lib/CodeGen/CGBuiltin.cpp
A clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12-wmma-w32.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12-wmma-w64.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-swmmac-w32.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-swmmac-w64.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-wmma-w32-gfx10-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-wmma-w32.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-wmma-w64.cl
A cross-project-tests/amdgpu/builtins-amdgcn-gfx12-wmma-w32.cl
A cross-project-tests/amdgpu/builtins-amdgcn-gfx12-wmma-w64.cl
A cross-project-tests/amdgpu/builtins-amdgcn-swmmac-w32.cl
A cross-project-tests/amdgpu/builtins-amdgcn-swmmac-w64.cl
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUGISel.td
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.h
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSearchableTables.td
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.h
M llvm/lib/Target/AMDGPU/SIDefines.h
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstrFormats.td
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/intrinsics.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/wmma-gfx12-w32-f16-f32-matrix-modifiers.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/wmma-gfx12-w32-imm.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/wmma-gfx12-w32-iu-modifiers.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/wmma-gfx12-w32-swmmac-index_key.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/wmma-gfx12-w32.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/wmma-gfx12-w64-f16-f32-matrix-modifiers.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/wmma-gfx12-w64-imm.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/wmma-gfx12-w64-iu-modifiers.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/wmma-gfx12-w64-swmmac-index_key.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/wmma-gfx12-w64.ll
A llvm/test/CodeGen/AMDGPU/wmma-gfx12-w32-f16-f32-matrix-modifiers.ll
A llvm/test/CodeGen/AMDGPU/wmma-gfx12-w32-imm.ll
A llvm/test/CodeGen/AMDGPU/wmma-gfx12-w32-iu-modifiers.ll
A llvm/test/CodeGen/AMDGPU/wmma-gfx12-w32-swmmac-index_key.ll
A llvm/test/CodeGen/AMDGPU/wmma-gfx12-w32.ll
A llvm/test/CodeGen/AMDGPU/wmma-gfx12-w64-f16-f32-matrix-modifiers.ll
A llvm/test/CodeGen/AMDGPU/wmma-gfx12-w64-imm.ll
A llvm/test/CodeGen/AMDGPU/wmma-gfx12-w64-iu-modifiers.ll
A llvm/test/CodeGen/AMDGPU/wmma-gfx12-w64-swmmac-index_key.ll
A llvm/test/CodeGen/AMDGPU/wmma-gfx12-w64.ll
A llvm/test/CodeGen/AMDGPU/wmma-hazards-gfx12-w32.mir
A llvm/test/CodeGen/AMDGPU/wmma-hazards-gfx12-w64.mir
A llvm/test/MC/AMDGPU/gfx12_asm_wmma_w32.s
A llvm/test/MC/AMDGPU/gfx12_asm_wmma_w64.s
A llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_wmma_w32.txt
A llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_wmma_w64.txt
M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
M mlir/test/Target/LLVMIR/rocdl.mlir
Log Message:
-----------
[AMDGPU] Add GFX12 WMMA and SWMMAC instructions (#77795)
Co-authored-by: Petar Avramovic <Petar.Avramovic at amd.com>
Co-authored-by: Piotr Sobczak <piotr.sobczak at amd.com>
Commit: 89dae798cc77789a43e9a60173f647dae03a65fe
https://github.com/llvm/llvm-project/commit/89dae798cc77789a43e9a60173f647dae03a65fe
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/include/llvm/Analysis/Loads.h
M llvm/lib/Analysis/Lint.cpp
M llvm/lib/Analysis/Loads.cpp
M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
M llvm/lib/Transforms/Scalar/JumpThreading.cpp
Log Message:
-----------
[Loads] Use BatchAAResults for available value APIs (NFCI)
This allows caching AA queries both within and across the calls,
and enables us to use a custom AAQI configuration.
Commit: d1b473c7956c080fe4d784bb89f720fbd28024a6
https://github.com/llvm/llvm-project/commit/d1b473c7956c080fe4d784bb89f720fbd28024a6
Author: Danial Klimkin <dklimkin at users.noreply.github.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
Fix bazel build past 7251243315ef66f9b3f32e6f8e9536f701aa0d0a (#79282)
Fix bazel build past 7251243315ef66f9b3f32e6f8e9536f701aa0d0a
Commit: 5469010ba73701d47498576a433aea5c6e16ba2c
https://github.com/llvm/llvm-project/commit/5469010ba73701d47498576a433aea5c6e16ba2c
Author: ostannard <oliver.stannard at arm.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64.td
M llvm/test/MC/AArch64/armv8.1a-rdma.s
M llvm/test/MC/AArch64/armv8.2a-dotprod-errors.s
M llvm/test/MC/AArch64/armv8.2a-dotprod.s
M llvm/test/MC/AArch64/armv8r-sysreg.s
M llvm/test/MC/Disassembler/AArch64/armv8.3a-complex.txt
M llvm/test/MC/Disassembler/AArch64/armv8.3a-js.txt
Log Message:
-----------
[AArch64] FP/SIMD is not mandatory for v8-R (#79004)
The FP/SIMD instructions are optional for v8-R, so they should not be
marked as a dependency of HasV8_0rOps. This had the effect of disabling
some v8R-specific system registers when any of these features was
disabled.
I've moved these features to be enabled by default for Cortex-R82
(currently the only v8-R AArch64 core), matching the previous behavior,
and clang's default.
Based on a patch by Simi Pallipurath <simi.pallipurath at arm.com>
Commit: 182ab1c7034b951433fb8831b67e7758fe61d4e8
https://github.com/llvm/llvm-project/commit/182ab1c7034b951433fb8831b67e7758fe61d4e8
Author: Rainer Orth <ro at gcc.gnu.org>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/Support/BLAKE3/blake3_avx2_x86-64_unix.S
M llvm/lib/Support/BLAKE3/blake3_avx512_x86-64_unix.S
M llvm/lib/Support/BLAKE3/blake3_sse2_x86-64_unix.S
M llvm/lib/Support/BLAKE3/blake3_sse41_x86-64_unix.S
Log Message:
-----------
[Support] Adjust .note.GNU-stack guard in Support/BLAKE3/blake3_*_x86-64_unix.S (#76229)
When using GNU ld 2.41 on FreeBSD 14.0/amd64, there are linker warnings
like
```
/vol/gcc/bin/gld-2.41: warning: blake3_avx512_x86-64_unix.S.o: missing .note.GNU-stack section implies executable stack
/vol/gcc/bin/gld-2.41: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
```
This can be fixed by adjusting the guard of the `.note.GNU-stack`
sections in `blake3_*_x86-64_unix.S` to match `llvm/lib/MC/MCAsmInfoELF.cpp:MCAsmInfoELF::getNonexecutableStackSection` which emits the section on all ELF targets
but Solaris.
Tested on `amd64-pc-freebsd14.0`.
Commit: 8b43c1be23119c1024bed0a8ce392bc73727e2e2
https://github.com/llvm/llvm-project/commit/8b43c1be23119c1024bed0a8ce392bc73727e2e2
Author: Simon Pilgrim <RKSimon at users.noreply.github.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86FixupVectorConstants.cpp
M llvm/test/CodeGen/X86/2011-20-21-zext-ui2fp.ll
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast.ll
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast_from_memory.ll
M llvm/test/CodeGen/X86/avx-load-store.ll
M llvm/test/CodeGen/X86/avx2-arith.ll
M llvm/test/CodeGen/X86/avx512-shuffles/shuffle-chained-bf16.ll
M llvm/test/CodeGen/X86/bitreverse.ll
M llvm/test/CodeGen/X86/combine-srl.ll
M llvm/test/CodeGen/X86/combine-subo.ll
M llvm/test/CodeGen/X86/constant-pool-sharing.ll
M llvm/test/CodeGen/X86/dpbusd.ll
M llvm/test/CodeGen/X86/dpbusd_const.ll
M llvm/test/CodeGen/X86/expand-vp-cast-intrinsics.ll
M llvm/test/CodeGen/X86/fcmp-constant.ll
M llvm/test/CodeGen/X86/fold-vector-sext-zext.ll
M llvm/test/CodeGen/X86/half.ll
M llvm/test/CodeGen/X86/icmp-pow2-mask.ll
M llvm/test/CodeGen/X86/insert-into-constant-vector.ll
M llvm/test/CodeGen/X86/insertelement-ones.ll
M llvm/test/CodeGen/X86/masked_gather_scatter_widen.ll
M llvm/test/CodeGen/X86/masked_store_trunc.ll
M llvm/test/CodeGen/X86/memcmp-more-load-pairs.ll
M llvm/test/CodeGen/X86/memcmp.ll
M llvm/test/CodeGen/X86/pmaddubsw.ll
M llvm/test/CodeGen/X86/pr46532.ll
M llvm/test/CodeGen/X86/pr63108.ll
M llvm/test/CodeGen/X86/pr74736.ll
M llvm/test/CodeGen/X86/prefer-avx256-lzcnt.ll
M llvm/test/CodeGen/X86/pshufb-mask-comments.ll
M llvm/test/CodeGen/X86/ret-mmx.ll
M llvm/test/CodeGen/X86/sad.ll
M llvm/test/CodeGen/X86/sext-vsetcc.ll
M llvm/test/CodeGen/X86/shrink_vmul.ll
M llvm/test/CodeGen/X86/shuffle-half.ll
M llvm/test/CodeGen/X86/shuffle-strided-with-offset-256.ll
M llvm/test/CodeGen/X86/shuffle-vs-trunc-256.ll
M llvm/test/CodeGen/X86/shuffle-vs-trunc-512.ll
M llvm/test/CodeGen/X86/sse2-intrinsics-x86.ll
M llvm/test/CodeGen/X86/vec_anyext.ll
M llvm/test/CodeGen/X86/vec_fp_to_int.ll
M llvm/test/CodeGen/X86/vec_set-A.ll
M llvm/test/CodeGen/X86/vector-blend.ll
M llvm/test/CodeGen/X86/vector-constrained-fp-intrinsics.ll
M llvm/test/CodeGen/X86/vector-fshl-128.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-fshl-rot-sub128.ll
M llvm/test/CodeGen/X86/vector-fshl-sub128.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-fshr-rot-sub128.ll
M llvm/test/CodeGen/X86/vector-fshr-sub128.ll
M llvm/test/CodeGen/X86/vector-half-conversions.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-8.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-8.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-2.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-8.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-8.ll
M llvm/test/CodeGen/X86/vector-lzcnt-128.ll
M llvm/test/CodeGen/X86/vector-lzcnt-256.ll
M llvm/test/CodeGen/X86/vector-mulfix-legalize.ll
M llvm/test/CodeGen/X86/vector-reduce-add-mask.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-shift-ashr-sub128.ll
M llvm/test/CodeGen/X86/vector-shift-lshr-sub128.ll
M llvm/test/CodeGen/X86/vector-shift-shl-sub128.ll
M llvm/test/CodeGen/X86/vector-shuffle-128-v16.ll
M llvm/test/CodeGen/X86/vector-shuffle-256-v16.ll
M llvm/test/CodeGen/X86/vector-shuffle-256-v32.ll
M llvm/test/CodeGen/X86/vector-shuffle-256-v8.ll
M llvm/test/CodeGen/X86/vector-shuffle-512-v32.ll
M llvm/test/CodeGen/X86/vector-shuffle-512-v64.ll
M llvm/test/CodeGen/X86/vector-shuffle-512-v8.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining.ll
M llvm/test/CodeGen/X86/vector-shuffle-v1.ll
M llvm/test/CodeGen/X86/vector-trunc.ll
M llvm/test/CodeGen/X86/vector-tzcnt-128.ll
M llvm/test/CodeGen/X86/vselect-constants.ll
M llvm/test/CodeGen/X86/vselect-post-combine.ll
M llvm/test/CodeGen/X86/widen_bitcnt.ll
M llvm/test/CodeGen/X86/x86-interleaved-access.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 - shrink vector load to movsd/movsd/movd/movq 'zero upper' instructions (#79000)
If we're loading a vector constant that is known to be zero in the upper elements, then attempt to shrink the constant and just scalar load the lower 32/64 bits.
Always chose the vzload/broadcast with the smallest constant load, and prefer vzload over broadcasts for same bitwidth to avoid domain flips (mainly a AVX1 issue).
Fixes #73783
Commit: 7143b451d71fe314730f7610d7908e3b9611815c
https://github.com/llvm/llvm-project/commit/7143b451d71fe314730f7610d7908e3b9611815c
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
A llvm/test/Transforms/JumpThreading/pr79175.ll
Log Message:
-----------
[JumpThreading] Add test for #79175 (NFC)
Commit: c3e77070489979788788ef479f8932ac460b675b
https://github.com/llvm/llvm-project/commit/c3e77070489979788788ef479f8932ac460b675b
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M clang/lib/AST/ExprCXX.cpp
Log Message:
-----------
[clang][AST][NFC] Turn a isa<> + cast<> into dynamic_cast<>
Commit: 98509c7f9792c79b05a41b95c24607f6dd489c5a
https://github.com/llvm/llvm-project/commit/98509c7f9792c79b05a41b95c24607f6dd489c5a
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/vec3-loads-ext-trunc-stores.ll
Log Message:
-----------
[AArch64] Add vec3 tests with different load/store alignments.
Add extra tests with different load/store alignments for
https://github.com/llvm/llvm-project/pull/78637.
Commit: 90ba33099cbb17e7c159e9ebc5a512037db99d6d
https://github.com/llvm/llvm-project/commit/90ba33099cbb17e7c159e9ebc5a512037db99d6d
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M clang/test/CodeGen/PowerPC/builtins-ppc-pair-mma.c
M clang/test/CodeGen/aarch64-ls64-inline-asm.c
M clang/test/CodeGen/attr-arm-sve-vector-bits-bitcast.c
M clang/test/CodeGen/attr-counted-by.c
M clang/test/CodeGen/attr-riscv-rvv-vector-bits-bitcast.c
M clang/test/CodeGen/cleanup-destslot-simple.c
M clang/test/CodeGen/hexagon-brev-ld-ptr-incdec.c
M clang/test/CodeGen/ms-intrinsics.c
M clang/test/CodeGen/nofpclass.c
M clang/test/CodeGen/union-tbaa1.c
M clang/test/CodeGenCXX/RelativeVTablesABI/dynamic-cast.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/type-info.cpp
M clang/test/CodeGenCXX/microsoft-abi-dynamic-cast.cpp
M clang/test/CodeGenCXX/microsoft-abi-typeid.cpp
M clang/test/CodeGenObjC/arc-foreach.m
M clang/test/CodeGenObjCXX/arc-cxx11-init-list.mm
M clang/test/Headers/__clang_hip_math.hip
M clang/test/OpenMP/bug57757.cpp
M flang/test/HLFIR/no-block-merging.fir
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Analysis/BasicAA/featuretest.ll
M llvm/test/CodeGen/AMDGPU/vector-alloca-bitcast.ll
M llvm/test/CodeGen/BPF/preserve-static-offset/load-inline.ll
M llvm/test/CodeGen/BPF/preserve-static-offset/load-unroll-inline.ll
M llvm/test/CodeGen/BPF/preserve-static-offset/load-unroll.ll
M llvm/test/CodeGen/BPF/preserve-static-offset/store-unroll-inline.ll
M llvm/test/CodeGen/Hexagon/autohvx/vector-align-tbaa.ll
M llvm/test/Transforms/Coroutines/coro-async.ll
M llvm/test/Transforms/Coroutines/coro-retcon-alloca-opaque-ptr.ll
M llvm/test/Transforms/Coroutines/coro-retcon-alloca.ll
M llvm/test/Transforms/Coroutines/coro-retcon-once-value.ll
M llvm/test/Transforms/Coroutines/coro-retcon-resume-values.ll
M llvm/test/Transforms/Coroutines/coro-swifterror.ll
M llvm/test/Transforms/InstCombine/2007-03-25-BadShiftMask.ll
M llvm/test/Transforms/InstCombine/2009-01-08-AlignAlloca.ll
M llvm/test/Transforms/InstCombine/2009-02-20-InstCombine-SROA.ll
M llvm/test/Transforms/InstCombine/X86/x86-addsub-inseltpoison.ll
M llvm/test/Transforms/InstCombine/X86/x86-addsub.ll
M llvm/test/Transforms/InstCombine/add3.ll
M llvm/test/Transforms/InstCombine/array.ll
M llvm/test/Transforms/InstCombine/assume.ll
M llvm/test/Transforms/InstCombine/cast_phi.ll
M llvm/test/Transforms/InstCombine/catchswitch-phi.ll
M llvm/test/Transforms/InstCombine/compare-alloca.ll
M llvm/test/Transforms/InstCombine/extractvalue.ll
M llvm/test/Transforms/InstCombine/gep-addrspace.ll
M llvm/test/Transforms/InstCombine/gep-canonicalize-constant-indices.ll
M llvm/test/Transforms/InstCombine/gep-combine-loop-invariant.ll
M llvm/test/Transforms/InstCombine/gep-custom-dl.ll
M llvm/test/Transforms/InstCombine/gep-merge-constant-indices.ll
M llvm/test/Transforms/InstCombine/gep-vector-indices.ll
M llvm/test/Transforms/InstCombine/gep-vector.ll
M llvm/test/Transforms/InstCombine/gepphigep.ll
M llvm/test/Transforms/InstCombine/getelementptr.ll
M llvm/test/Transforms/InstCombine/icmp-custom-dl.ll
M llvm/test/Transforms/InstCombine/icmp-gep.ll
M llvm/test/Transforms/InstCombine/indexed-gep-compares.ll
M llvm/test/Transforms/InstCombine/intptr1.ll
M llvm/test/Transforms/InstCombine/intptr2.ll
M llvm/test/Transforms/InstCombine/intptr3.ll
M llvm/test/Transforms/InstCombine/intptr4.ll
M llvm/test/Transforms/InstCombine/intptr5.ll
M llvm/test/Transforms/InstCombine/intptr7.ll
M llvm/test/Transforms/InstCombine/load-store-forward.ll
M llvm/test/Transforms/InstCombine/load.ll
M llvm/test/Transforms/InstCombine/loadstore-metadata.ll
M llvm/test/Transforms/InstCombine/memchr-5.ll
M llvm/test/Transforms/InstCombine/memchr-9.ll
M llvm/test/Transforms/InstCombine/memcmp-3.ll
M llvm/test/Transforms/InstCombine/memcmp-4.ll
M llvm/test/Transforms/InstCombine/memcmp-5.ll
M llvm/test/Transforms/InstCombine/memcmp-6.ll
M llvm/test/Transforms/InstCombine/memcmp-7.ll
M llvm/test/Transforms/InstCombine/memcpy_alloca.ll
M llvm/test/Transforms/InstCombine/memrchr-5.ll
M llvm/test/Transforms/InstCombine/memset2.ll
M llvm/test/Transforms/InstCombine/multi-size-address-space-pointer.ll
M llvm/test/Transforms/InstCombine/non-integral-pointers.ll
M llvm/test/Transforms/InstCombine/opaque-ptr.ll
M llvm/test/Transforms/InstCombine/phi-equal-incoming-pointers.ll
M llvm/test/Transforms/InstCombine/phi-timeout.ll
M llvm/test/Transforms/InstCombine/phi.ll
M llvm/test/Transforms/InstCombine/pr39908.ll
M llvm/test/Transforms/InstCombine/pr44242.ll
M llvm/test/Transforms/InstCombine/pr58901.ll
M llvm/test/Transforms/InstCombine/ptr-replace-alloca.ll
M llvm/test/Transforms/InstCombine/select-cmp-br.ll
M llvm/test/Transforms/InstCombine/select-gep.ll
M llvm/test/Transforms/InstCombine/shift.ll
M llvm/test/Transforms/InstCombine/sink_sideeffecting_instruction.ll
M llvm/test/Transforms/InstCombine/sprintf-2.ll
M llvm/test/Transforms/InstCombine/statepoint-cleanup.ll
M llvm/test/Transforms/InstCombine/str-int-3.ll
M llvm/test/Transforms/InstCombine/str-int-4.ll
M llvm/test/Transforms/InstCombine/str-int-5.ll
M llvm/test/Transforms/InstCombine/str-int.ll
M llvm/test/Transforms/InstCombine/strcall-bad-sig.ll
M llvm/test/Transforms/InstCombine/strcall-no-nul.ll
M llvm/test/Transforms/InstCombine/strlen-7.ll
M llvm/test/Transforms/InstCombine/strlen-9.ll
M llvm/test/Transforms/InstCombine/strncmp-4.ll
M llvm/test/Transforms/InstCombine/strncmp-5.ll
M llvm/test/Transforms/InstCombine/strncmp-6.ll
M llvm/test/Transforms/InstCombine/sub.ll
M llvm/test/Transforms/InstCombine/unpack-fca.ll
M llvm/test/Transforms/InstCombine/vec_demanded_elts-inseltpoison.ll
M llvm/test/Transforms/InstCombine/vec_demanded_elts.ll
M llvm/test/Transforms/InstCombine/vec_gep_scalar_arg-inseltpoison.ll
M llvm/test/Transforms/InstCombine/vec_gep_scalar_arg.ll
M llvm/test/Transforms/InstCombine/vscale_gep.ll
M llvm/test/Transforms/InstCombine/wcslen-5.ll
M llvm/test/Transforms/LoopUnroll/ARM/upperbound.ll
M llvm/test/Transforms/LoopUnroll/peel-loop.ll
M llvm/test/Transforms/LoopVectorize/AArch64/deterministic-type-shrinkage.ll
M llvm/test/Transforms/LoopVectorize/AArch64/intrinsiccost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-cond-inv-loads.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-phi.ll
M llvm/test/Transforms/LoopVectorize/AArch64/vector-reverse-mask4.ll
M llvm/test/Transforms/LoopVectorize/AMDGPU/packed-math.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-qabs.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-reductions.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-selectandorcost.ll
M llvm/test/Transforms/LoopVectorize/ARM/pointer_iv.ll
M llvm/test/Transforms/LoopVectorize/X86/float-induction-x86.ll
M llvm/test/Transforms/LoopVectorize/X86/interleaving.ll
M llvm/test/Transforms/LoopVectorize/X86/intrinsiccost.ll
M llvm/test/Transforms/LoopVectorize/X86/invariant-store-vectorization.ll
M llvm/test/Transforms/LoopVectorize/X86/metadata-enable.ll
M llvm/test/Transforms/LoopVectorize/X86/pr23997.ll
M llvm/test/Transforms/LoopVectorize/X86/small-size.ll
M llvm/test/Transforms/LoopVectorize/X86/x86-interleaved-store-accesses-with-gaps.ll
M llvm/test/Transforms/LoopVectorize/consecutive-ptr-uniforms.ll
M llvm/test/Transforms/LoopVectorize/extract-last-veclane.ll
M llvm/test/Transforms/LoopVectorize/float-induction.ll
M llvm/test/Transforms/LoopVectorize/induction.ll
M llvm/test/Transforms/LoopVectorize/interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop-uf4.ll
M llvm/test/Transforms/LoopVectorize/runtime-check.ll
M llvm/test/Transforms/LoopVectorize/scalar_after_vectorization.ll
M llvm/test/Transforms/LoopVectorize/vector-geps.ll
M llvm/test/Transforms/LowerMatrixIntrinsics/multiply-fused-dominance.ll
M llvm/test/Transforms/LowerMatrixIntrinsics/multiply-fused-loops.ll
M llvm/test/Transforms/LowerMatrixIntrinsics/multiply-fused-multiple-blocks.ll
M llvm/test/Transforms/LowerMatrixIntrinsics/multiply-fused.ll
M llvm/test/Transforms/LowerMatrixIntrinsics/multiply-minimal.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/hoisting-sinking-required-for-vectorization.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/peel-multiple-unreachable-exits-for-vectorization.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/quant_4x4.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/sinking-vs-if-conversion.ll
M llvm/test/Transforms/PhaseOrdering/ARM/arm_mult_q15.ll
M llvm/test/Transforms/PhaseOrdering/X86/excessive-unrolling.ll
M llvm/test/Transforms/PhaseOrdering/X86/hoist-load-of-baseptr.ll
M llvm/test/Transforms/PhaseOrdering/X86/pixel-splat.ll
M llvm/test/Transforms/PhaseOrdering/X86/pr48844-br-to-switch-vectorization.ll
M llvm/test/Transforms/PhaseOrdering/X86/pr50555.ll
M llvm/test/Transforms/PhaseOrdering/X86/speculation-vs-tbaa.ll
M llvm/test/Transforms/PhaseOrdering/X86/spurious-peeling.ll
M llvm/test/Transforms/PhaseOrdering/X86/vdiv.ll
M llvm/test/Transforms/PhaseOrdering/X86/vec-shift.ll
M llvm/test/Transforms/PhaseOrdering/basic.ll
M llvm/test/Transforms/PhaseOrdering/loop-access-checks.ll
M llvm/test/Transforms/PhaseOrdering/pr39282.ll
M llvm/test/Transforms/PhaseOrdering/simplifycfg-options.ll
M llvm/test/Transforms/PhaseOrdering/switch_with_geps.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/gather-cost.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/gather-reduce.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/loadorder.ll
M llvm/test/Transforms/SLPVectorizer/WebAssembly/no-vectorize-rotate.ll
M llvm/test/Transforms/SLPVectorizer/X86/operandorder.ll
M llvm/test/Transforms/SLPVectorizer/X86/opt.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr46983.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr47629-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr47629.ll
M llvm/test/Transforms/SampleProfile/pseudo-probe-instcombine.ll
M llvm/test/Transforms/Util/strip-gc-relocates.ll
Log Message:
-----------
[InstCombine] Canonicalize constant GEPs to i8 source element type (#68882)
This patch canonicalizes getelementptr instructions with constant
indices to use the `i8` source element type. This makes it easier for
optimizations to recognize that two GEPs are identical, because they
don't need to see past many different ways to express the same offset.
This is a first step towards
https://discourse.llvm.org/t/rfc-replacing-getelementptr-with-ptradd/68699.
This is limited to constant GEPs only for now, as they have a clear
canonical form, while we're not yet sure how exactly to deal with
variable indices.
The test llvm/test/Transforms/PhaseOrdering/switch_with_geps.ll gives
two representative examples of the kind of optimization improvement we
expect from this change. In the first test SimplifyCFG can now realize
that all switch branches are actually the same. In the second test it
can convert it into simple arithmetic. These are representative of
common optimization failures we see in Rust.
Fixes https://github.com/llvm/llvm-project/issues/69841.
Commit: 3d91d9613e294b242d853039209b40a0cb7853f2
https://github.com/llvm/llvm-project/commit/3d91d9613e294b242d853039209b40a0cb7853f2
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
M llvm/test/Transforms/ConstraintElimination/minmax.ll
M llvm/test/Transforms/ConstraintElimination/umin-result-may-be-poison.ll
Log Message:
-----------
[ConstraintElim] Make sure min/max intrinsic results are not poison.
The result of umin may be poison and in that case the added constraints
are not be valid in contexts where poison doesn't cause UB. Only queue
facts for min/max intrinsics if the result is guaranteed to not be
poison.
This could be improved in the future, by only adding the fact when
solving conditions using the result value.
Fixes https://github.com/llvm/llvm-project/issues/78621.
Commit: 382f70a877f00ab71f3cb5ba461b52e1b59cd292
https://github.com/llvm/llvm-project/commit/382f70a877f00ab71f3cb5ba461b52e1b59cd292
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M libcxx/include/string
Log Message:
-----------
[libc++][NFC] Rewrite function call on two lines for clarity (#79141)
Previously, there was a ternary conditional with a less-than comparison
appearing inside a template argument, which was really confusing because
of the <...> of the function template. This patch rewrites the same
statement on two lines for clarity.
Commit: 03a9f07e189db792b001c4001981d6e2da880221
https://github.com/llvm/llvm-project/commit/03a9f07e189db792b001c4001981d6e2da880221
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M libcxx/include/__algorithm/ranges_max.h
M libcxx/include/__algorithm/ranges_min.h
Log Message:
-----------
[libc++][NFC] Fix leftover && in comment
Commit: 5db2e5801dfec79bad3c804da0f53871a2664373
https://github.com/llvm/llvm-project/commit/5db2e5801dfec79bad3c804da0f53871a2664373
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M .github/workflows/issue-release-workflow.yml
Log Message:
-----------
Add necessary permissions to release issue workflow (#79272)
The `/cherry-pick` command needs `issues: write` to post a comment on
the issue. The `/branch` command also posts a comment, and also needs
`pull-requests: write` to open a PR.
This should fix the failure encountered at
https://github.com/llvm/llvm-project/issues/79253#issuecomment-1907850027.
Commit: 380ac53dfa05792c6f9fd0a4aba542f8c7e5e17c
https://github.com/llvm/llvm-project/commit/380ac53dfa05792c6f9fd0a4aba542f8c7e5e17c
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h
M llvm/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp
A llvm/test/CodeGen/X86/dwarf-headers.o
M llvm/test/DebugInfo/Generic/debug-names-one-cu.ll
M llvm/test/DebugInfo/X86/debug-names-dwarf64.ll
M llvm/test/DebugInfo/X86/debug-names-parents-same-offset.ll
M llvm/test/DebugInfo/X86/debug-names-types.ll
M llvm/test/tools/dsymutil/ARM/accel-imported-declarations.test
Log Message:
-----------
[DebugNames] Implement Entry::GetParentEntry query (#78760)
This commit introduces a helper function to DWARFAcceleratorTable::Entry
which follows DW_IDX_Parent attributes to returns the corresponding
parent Entry in the table.
It is tested by enhancing dwarfdump so that it now prints:
1. When data is corrupt.
2. When parent information is present, but the parent is not indexed.
3. The parent entry offset, when the parent is present and indexed. This
is printed in terms a real entry offset (the same that gets printed at
the start of each entry: "Entry @ 0x..."), instead of the encoded number
in the table (which is an offset from the start off the Entry list).
This makes it easy to visually inspect the dwarfdump and check what the
parent is.
Commit: f03a60d4d2fc687059c8bb667d1de37713a5a64b
https://github.com/llvm/llvm-project/commit/f03a60d4d2fc687059c8bb667d1de37713a5a64b
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M .github/workflows/issue-release-workflow.yml
Log Message:
-----------
Use correct tokens in release issue workflow (#79300)
We should use the normal github.token for interacting with issues/PRs on
the repo, and separately pass the `--branch-repo-token` for creating the
branch in the llvmbot repo.
Commit: 70fc9703788e8965813c5b677a85cb84b66671b6
https://github.com/llvm/llvm-project/commit/70fc9703788e8965813c5b677a85cb84b66671b6
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h
M llvm/test/CodeGen/AMDGPU/indirect-call-known-callees.ll
A llvm/test/CodeGen/AMDGPU/lower-work-group-id-intrinsics-hsa.ll
A llvm/test/CodeGen/AMDGPU/lower-work-group-id-intrinsics-pal.ll
R llvm/test/CodeGen/AMDGPU/lower-work-group-id-intrinsics.ll
M llvm/test/CodeGen/AMDGPU/workgroup-id-in-arch-sgprs.ll
Log Message:
-----------
[AMDGPU] Move architected SGPR implementation into isel (#79120)
Commit: aaa93ce7323332d8290b8f563d4d71689c1094c5
https://github.com/llvm/llvm-project/commit/aaa93ce7323332d8290b8f563d4d71689c1094c5
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M compiler-rt/lib/builtins/CMakeLists.txt
Log Message:
-----------
compiler-rt: Fix FLOAT16 feature detection
CMAKE_TRY_COMPILE_TARGET_TYPE defaults to EXECUTABLE, which causes
any feature detection code snippet without a main function to fail,
so we need to make sure it gets explicitly set to STATIC_LIBRARY.
Bug: https://github.com/ROCm/rocFFT/issues/439
Bug: https://github.com/ROCm/rocBLAS/issues/1350
Bug: https://bugs.gentoo.org/916069
Closes: https://github.com/llvm/llvm-project/pull/69842
Reviewed by: thesamesam, mgorny
Commit: 777eb35614eff30f8fe8ca7729b9c04846a09476
https://github.com/llvm/llvm-project/commit/777eb35614eff30f8fe8ca7729b9c04846a09476
Author: felixh5678 <157516335+felixh5678 at users.noreply.github.com>
Date: 2024-01-24 (Wed, 24 Jan 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
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/sqrtf128.cpp
A libc/src/math/sqrtf128.h
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/generic_sqrtf128_test.cpp
A libc/test/src/math/smoke/sqrtf128_test.cpp
Log Message:
-----------
[libc] Add sqrtf128 implementation for Linux x86_64. (#79195)
Co-authored-by: Tue Ly <lntue at google.com>
Co-authored-by: Felix <felix at Dirks-MacBook-Pro.local>
Commit: 9fc890b5a06c5e4a014951a1dd7ad7ba592ceaaf
https://github.com/llvm/llvm-project/commit/9fc890b5a06c5e4a014951a1dd7ad7ba592ceaaf
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M clang/lib/Parse/ParseDeclCXX.cpp
Log Message:
-----------
[clang][Parse][NFC] Make a local variable const
Commit: 0065d06760c0fba786b7b5ff061b3b3efa08bfbc
https://github.com/llvm/llvm-project/commit/0065d06760c0fba786b7b5ff061b3b3efa08bfbc
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/Transforms/IPO/Attributor.cpp
M llvm/test/Transforms/Attributor/ArgumentPromotion/alignment.ll
Log Message:
-----------
[NFC][DebugInfo] Maintain RemoveDIs flag when attributor creates functions (#79143)
We're using this flag (IsNewDbgInfoFormat) to detect the boundaries in
LLVM of what's treating debug-info as intrinsics (i.e. dbg.value), and
what's using DPValue objects (the non-intrinsic replacement). The
attributor tends to create new wrapper functions and doesn't insert them
into Modules in the usual way, thus we have to manually update that flag
to signal what debug-info mode it's using.
I've added some --try-experimental-debuginfo-iterators RUN lines to
tests that would otherwise crash because of this, so that they're
exercised by our new-debuginfo-iterators buildbot.
NB: there's an attributor test with a dbg.value in it, however
attributes re-order themselves in RemoveDIs mode for various reasons, so
we're going to address that in a different patch.
Commit: dc5b4daae7077b644753e53f175d0f5785fede49
https://github.com/llvm/llvm-project/commit/dc5b4daae7077b644753e53f175d0f5785fede49
Author: quic-asaravan <156995626+quic-asaravan at users.noreply.github.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonISelDAGToDAG.cpp
M llvm/lib/Target/Hexagon/HexagonISelDAGToDAG.h
M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
M llvm/lib/Target/Hexagon/HexagonISelLowering.h
A llvm/test/CodeGen/Hexagon/inline-division-space.ll
A llvm/test/CodeGen/Hexagon/inline-division.ll
Log Message:
-----------
[HEXAGON] Inlining Division (#79021)
This patch inlines float division function calls for hexagon.
Co-authored-by: Awanish Pandey <awanpand at codeaurora.org>
Commit: 31f41f0984303655acf4eaa8d09643a624b1ccb0
https://github.com/llvm/llvm-project/commit/31f41f0984303655acf4eaa8d09643a624b1ccb0
Author: Christian Sigg <csigg at google.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[clang][bazel] Fix BUILD after 4a582845597e97d245e8ffdc14281f922b835e56.
Commit: 2e81ac25b4e2bfdc71aac19a911525a7f35680be
https://github.com/llvm/llvm-project/commit/2e81ac25b4e2bfdc71aac19a911525a7f35680be
Author: Ivan Kosarev <ivan.kosarev at amd.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
Log Message:
-----------
[AMDGPU][NFC] Simplify AGPR/VGPR load/store operand definitions. (#79289)
Part of <https://github.com/llvm/llvm-project/issues/62629>.
Commit: ca8605a78b8dd531c164f6a48a180ccf2770d042
https://github.com/llvm/llvm-project/commit/ca8605a78b8dd531c164f6a48a180ccf2770d042
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M .ci/generate-buildkite-pipeline-premerge
Log Message:
-----------
[ci] Remove bits that are unused since we stopped using Phabricator
Commit: 17db9efe9274e72f42e7e68103dab920ee494ac8
https://github.com/llvm/llvm-project/commit/17db9efe9274e72f42e7e68103dab920ee494ac8
Author: Jan Leyonberg <jan_sjodin at yahoo.com>
Date: 2024-01-24 (Wed, 24 Jan 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
M mlir/test/Dialect/OpenMP/ops.mlir
Log Message:
-----------
[OpenMP][MLIR] Add omp.distribute op to the OMP dialect (#67720)
This patch adds the omp.distribute operation to the OMP dialect. The
purpose is to be able to represent the distribute construct in OpenMP
with the associated clauses. The effect of the operation is to
distributes the loop iterations of the loop(s) contained inside the
region across multiple teams.
Commit: 8d43dad9b86ad0f72100b6f75450f2982f2663b9
https://github.com/llvm/llvm-project/commit/8d43dad9b86ad0f72100b6f75450f2982f2663b9
Author: Christian Sigg <chsigg at users.noreply.github.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[clang][bazel] Fix BUILD after 4a582845597e97d245e8ffdc14281f922b835e56.
Commit: 6a0118cec079f5963dc5a7a3d9423c55f08b6dad
https://github.com/llvm/llvm-project/commit/6a0118cec079f5963dc5a7a3d9423c55f08b6dad
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M libcxx/docs/index.rst
Log Message:
-----------
[libc++][docs] Remove mention of Phabricator on the landing page
Commit: fc364e26845ce5529caf9f88abcc5a5531d1f59f
https://github.com/llvm/llvm-project/commit/fc364e26845ce5529caf9f88abcc5a5531d1f59f
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M libunwind/docs/index.rst
Log Message:
-----------
[libunwind][doc] Remove reference to Phabricator from the landing page
Commit: 56aa77e1193b7abe65bf3ec16e0f37972345b9f2
https://github.com/llvm/llvm-project/commit/56aa77e1193b7abe65bf3ec16e0f37972345b9f2
Author: Danial Klimkin <dklimkin at users.noreply.github.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
Fix bazel build past 4a582845597e97d245e8ffdc14281f922b835e56 (#79318)
and keep things sorted.
Commit: 396b6bbc5ecef93fce09d6463f47b44dc501d2aa
https://github.com/llvm/llvm-project/commit/396b6bbc5ecef93fce09d6463f47b44dc501d2aa
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleaved-access.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-exact-vlen.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-transpose.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shufflevector-vnsrl.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-fixed.ll
Log Message:
-----------
[RISCV] Recurse on second operand of two operand shuffles (#79197)
This builds on bdc41106ee48dce59c500c9a3957af947f30c8c3.
This change completes the migration to a recursive shuffle lowering
strategy where when we encounter an unknown two argument shuffle, we
lower each operand as a single source permute, and then use a vselect
(i.e. a vmerge) to combine the results. This relies for code quality on
the post-isel combine which will aggressively fold that vmerge back into
the materialization of the second operand if possible.
Note: The change includes only the most immediately obvious of the
stylistic cleanup. There's a bunch of code movement that this enables
that I'll do as a separate patch as rolling it into this creates an
unreadable diff.
Commit: 611843d24bd1cfa8b6bf62b48635dbd3a6281759
https://github.com/llvm/llvm-project/commit/611843d24bd1cfa8b6bf62b48635dbd3a6281759
Author: Christian Sigg <chsigg at users.noreply.github.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[llvm][bazel] Fix BUILD.
Commit: 4079aab8d80233586a9cd3f7be27bece4c21ea16
https://github.com/llvm/llvm-project/commit/4079aab8d80233586a9cd3f7be27bece4c21ea16
Author: Christian Sigg <chsigg at users.noreply.github.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[llvm][bazel] Fix BUILD
Commit: 56444d5687818938a6ce798e7221aa920c54098e
https://github.com/llvm/llvm-project/commit/56444d5687818938a6ce798e7221aa920c54098e
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/utils/git/github-automation.py
Log Message:
-----------
Remove fork handling from release issue workflow (#79310)
This is currently broken, because the check is performed on the wrong
repository. repo here is llvm/llvm-project, which is not a fork (so this
will always trigger), then we'll push a new branch to
llvmbot/llvm-project, and then again set the wrong owner, so we'll look
for the branch in llvm/llvm-project rather than llvmbot/llvm-project.
Rather than fixing this, I'm removing the code entirely, as it shouldn't
be needed anymore (llvmbot/llvm-project is a fork of llvm/llvm-project).
Commit: 6c1dbd5359c4336d03b11faeaea8459b421f2c5c
https://github.com/llvm/llvm-project/commit/6c1dbd5359c4336d03b11faeaea8459b421f2c5c
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M clang/include/clang/Basic/DirectoryEntry.h
M clang/include/clang/Basic/FileEntry.h
M clang/lib/Basic/FileManager.cpp
M clang/unittests/Basic/FileManagerTest.cpp
M llvm/include/llvm/Support/VirtualFileSystem.h
M llvm/lib/Support/VirtualFileSystem.cpp
M llvm/unittests/Support/VirtualFileSystemTest.cpp
Log Message:
-----------
[clang] NFC: Remove `{File,Directory}Entry::getName()` (#74910)
The files and directories that Clang accesses are uniqued by their
inode. For each inode `FileManager` will create exactly one `FileEntry`
or `DirectoryEntry` object, which makes answering the question _"Are
these two files/directories the same?"_ a simple pointer equality check.
However, since the same inode can be accessed through multiple different
paths, asking the `FileEntry` or `DirectoryEntry` object _"What is your
name?"_ doesn't have clear semantics. In c0ff9908 we started reporting
the most recent name used to access the entry, which turned out to be
necessary for Clang modules. However, the long-term solution has always
been to explicitly track the as-requested name. This has been
implemented in 4dc5573a as `FileEntryRef` and `DirectoryEntryRef`.
The `DirectoryEntry::getName()` interface has been deprecated since the
Clang 17 release and `FileEntry::getName()` since Clang 18. We have
replaced uses of these deprecated APIs in `main` with
`DirectoryEntryRef::getName()` and `FileEntryRef::getName()`
respectively.
This makes it possible to remove `{File,Directory}Entry::getName()` for
good along with the `FileManager` code that implements them.
Commit: fd817249f4d50caa7a8986a37cdf712dfdf5ad70
https://github.com/llvm/llvm-project/commit/fd817249f4d50caa7a8986a37cdf712dfdf5ad70
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Sink code into using branch in shuffle lowering [nfc]
Follow up to 396b6bbc, sink code into consuming branch, and fix one
comment I realized used the misleading wording. (Permute is a specific
sub-type of single source shuffle.)
Commit: 8abf8d124ae346016c56209de7f57b85671d4367
https://github.com/llvm/llvm-project/commit/8abf8d124ae346016c56209de7f57b85671d4367
Author: Fangrui Song <i at maskray.me>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M lld/ELF/InputSection.cpp
M lld/test/ELF/dead-reloc-in-nonalloc.s
Log Message:
-----------
[ELF] Don't resolve relocations referencing SHN_ABS to tombstone in non-SHF_ALLOC sections (#79238)
A SHN_ABS symbol has never been considered for
InputSection::relocateNonAlloc.
Before #74686, the code did made it work in the absence of `-z
dead-reloc-in-nonalloc=`.
There is now a report about such SHN_ABS uses
(https://github.com/llvm/llvm-project/pull/74686#issuecomment-1904101711)
and I think it makes sense for non-SHF_ALLOC to support SHN_ABS, like
SHF_ALLOC sections do.
```
// clang -g
__attribute__((weak)) int symbol;
int *foo() { return &symbol; }
0x00000023: DW_TAG_variable [2] (0x0000000c)
...
DW_AT_location [DW_FORM_exprloc] (DW_OP_addrx 0x0)
```
.debug_addr references `symbol`, which can be redefined by a symbol
assignment or --defsym to become a SHN_ABS symbol.
The problem is that `!sym.getOutputSection()` cannot discern SHN_ABS
from a symbol whose section has been discarded. Since commit
1981b1b6b92f7579a30c9ed32dbdf3bc749c1b40, a symbol relative to a
discarded section is changed to `Undefined`, so the `SHN_ABS` check
become trivial.
We currently apply tombstone for a relocation referencing
`SharedSymbol`. This patch does not change the behavior.
Commit: e99c8aef5d618f5fe0baf643e3a31ee911e909f1
https://github.com/llvm/llvm-project/commit/e99c8aef5d618f5fe0baf643e3a31ee911e909f1
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M flang/lib/Lower/OpenACC.cpp
M flang/test/Lower/OpenACC/acc-loop.f90
Log Message:
-----------
[flang][openacc] Lower DO CONCURRENT with acc loop (#79223)
Lower basic DO CONCURRENT with acc loop construct. The DO CONCURRENT is
lowered to an acc.loop operation.
This does not currently cover the DO CONCURRENT with locality specs.
Commit: 5e894771d9517a0cec3bc12480c1549080aaf5b2
https://github.com/llvm/llvm-project/commit/5e894771d9517a0cec3bc12480c1549080aaf5b2
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
R .ci/generate-buildkite-pipeline-scheduled
Log Message:
-----------
[ci] Remove unused generate-buildkite-pipeline-scheduled script (#79320)
The "scheduled build" pipeline on BuildKite had been disabled for months
and doesn't exist anymore, so this script is effectively dead code. When
we set up a cron-activated build again, we should do it using Github
actions (which could trigger a BK pipeline if needed).
Keeping this script around just creates additional confusion about
what's used and what's not used for doing CI.
Commit: 56602a48c735a1c906a9ec4e03a64fd9c937def3
https://github.com/llvm/llvm-project/commit/56602a48c735a1c906a9ec4e03a64fd9c937def3
Author: ostannard <oliver.stannard at arm.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/docs/TableGen/BackEnds.rst
M llvm/lib/TableGen/JSONBackend.cpp
A llvm/test/TableGen/JSON-locs.td
M llvm/test/TableGen/JSON.td
Log Message:
-----------
[TableGen] Include source location in JSON dump (#79028)
This adds a '!loc' field to each record containing the file name and
line number of the record declaration.
Commit: b801b607e38ca9113394a918f475e5a521b7ec13
https://github.com/llvm/llvm-project/commit/b801b607e38ca9113394a918f475e5a521b7ec13
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M clang-tools-extra/clangd/xpc/cmake/modules/CreateClangdXPCFramework.cmake
Log Message:
-----------
[clangd] Make sure ninja can clean "ClangdXPC.framework" (#75669)
After building the ClangdXPC target, `ninja clean` fails with the
following error:
```
ninja: error: remove(lib/ClangdXPC.framework): Directory not empty
ninja: error: remove(<build>/lib/ClangdXPC.framework): Directory not empty
```
I did not find better way to make this work. I guess we could list all
generated files (and directories) in `OUTPUT` of the custom command, but
that seems fairly tedious/fragile.
Commit: e9311f9c5acd3d9f282c351721bb911e5b519531
https://github.com/llvm/llvm-project/commit/e9311f9c5acd3d9f282c351721bb911e5b519531
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Separate single source and dual source lowering code [nfc]
The two single source cases aren't effected by the swap or select matching
as those are dual operand specific. Similarly, a two source shuffle can't
be a rotate.
We can extend this idea for some of the shuffle types above, but some of
them are validly either single or dual source. We don't want to loose that
and the code complexity of versioning early and having to repeat some shuffle
kinds doesn't (currently) seem worth it.
Commit: 1605bf58151bc357780fee5553beee2b404772a7
https://github.com/llvm/llvm-project/commit/1605bf58151bc357780fee5553beee2b404772a7
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
Log Message:
-----------
[ConstraintElimination] Use std::move in the constructor (NFC) (#79259)
Moving the contents of Coefficients saves 0.43% of heap allocations
during the compilation of a large preprocessed file, namely
X86ISelLowering.cpp, for the X86 target.
Commit: 3b8539c9dc0bc38ebea903e038257ed4328f290b
https://github.com/llvm/llvm-project/commit/3b8539c9dc0bc38ebea903e038257ed4328f290b
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
A llvm/test/CodeGen/NVPTX/global-incomplete-init.ll
M llvm/test/CodeGen/NVPTX/globals_init.ll
M llvm/test/CodeGen/NVPTX/i128-global.ll
Log Message:
-----------
[NVPTX] use incomplete aggregate initializers (#79062)
The PTX ISA specifies that initializers may be incomplete ([5.4.4.
Initializers](https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#initializers))
> As in C, array initializers may be incomplete, i.e., the number of
initializer elements may be less than the extent of the corresponding
array dimension, with remaining array locations initialized to the
default value for the specified array type.
Emitting initializers in this form is preferable because it reduces the
size of the PTX, in some cases significantly, and can improve compile
time of ptxas as a result.
Commit: ca654acc16c43191228eadfec8f7241dca10b0c3
https://github.com/llvm/llvm-project/commit/ca654acc16c43191228eadfec8f7241dca10b0c3
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/extract-subvector-long-input.ll
Log Message:
-----------
[SLP]Fix PR79321: SLPVectorizer's PHICompare doesn't provide a strict
weak ordering.
Compared NumUses to meet the reaquirements of the strict weak ordering.
Commit: 2a77d92e2e942fb1c7e23b046581531ec464cce5
https://github.com/llvm/llvm-project/commit/2a77d92e2e942fb1c7e23b046581531ec464cce5
Author: Vojislav Tomasevic <vojislav.tomasevic at syrmia.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/test/CodeGen/builtins.c
Log Message:
-----------
[clang] Incorrect IR involving the use of bcopy (#79298)
This patch addresses the issue regarding the call of bcopy function in a
conditional expression.
It is analogous to the already accepted patch which deals with the same
problem, just regarding the bzero function [0].
Here is the testcase which illustrates the issue:
```
void bcopy(const void *, void *, unsigned long);
void foo(void);
void test_bcopy() {
char dst[20];
char src[20];
int _sz = 20, len = 20;
return (_sz
? ((_sz >= len)
? bcopy(src, dst, len)
: foo())
: bcopy(src, dst, len));
}
```
When processing it with clang, following issue occurs:
Instruction does not dominate all uses!
%arraydecay2 = getelementptr inbounds [20 x i8], ptr %dst, i64 0, i64 0,
!dbg !38
%cond = phi ptr [ %arraydecay2, %cond.end ], [ %arraydecay5,
%cond.false3 ], !dbg !33
fatal error: error in backend: Broken module found, compilation aborted!
This happens because an incorrect phi node is created. It is created
because bcopy function call is lowered to the call of llvm.memmove
intrinsic and function memmove returns void *. Since llvm.memmove is
called in two places in the same return statement, clang creates a phi
node in the final basic block for the return value and that phi node is
incorrect. However, bcopy function should return void in the first
place, so this phi node is unnecessary. This is what this patch
addresses. An appropriate test is also added and no existing tests fail
when applying this patch.
Also, this crash only happens when LLVM is configured with
-DLLVM_ENABLE_ASSERTIONS=On option.
[0] https://reviews.llvm.org/D39746
Commit: 4a9a1d83bee91418c649eccc9537dcbf6a745a65
https://github.com/llvm/llvm-project/commit/4a9a1d83bee91418c649eccc9537dcbf6a745a65
Author: Nico Weber <thakis at chromium.org>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/include/clang/Basic/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/Basic/BUILD.gn
M llvm/utils/gn/secondary/clang/utils/TableGen/BUILD.gn
Log Message:
-----------
[gn build] port 4a582845597e (tablegen'd clang builtins)
Commit: 604a6c409e8473b212952b8633d92bbdb22a45c9
https://github.com/llvm/llvm-project/commit/604a6c409e8473b212952b8633d92bbdb22a45c9
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/include/llvm/Analysis/BranchProbabilityInfo.h
Log Message:
-----------
[BPI] Transfer value-handles when assign/move constructing BPI (#77774)
Background: BPI stores a collection of edge branch-probabilities, and
also a set of Callback value-handles for the blocks in the
edge-collection. When a block is deleted, BPI's eraseBlock method is
called to clear the edge-collection of references to that block, to
avoid dangling pointers.
However, when move-constructing or assigning a BPI object, the
edge-collection gets moved, but the value-handles are discarded. This
can lead to to stale entries in the edge-collection when blocks are
deleted without the callback -- not normally a problem, but if a new
block is allocated with the same address as an old block, spurious
branch probabilities will be recorded about it. The fix is to transfer
the handles from the source BPI object.
This was exposed by an unrelated debug-info change, it probably just
shifted around allocation orders to expose this. Detected as
nondeterminism and reduced by Zequan Wu:
https://github.com/llvm/llvm-project/commit/f1b0a544514f3d343f32a41de9d6fb0b6cbb6021#commitcomment-136737090
(No test because IMHO testing for a behaviour that varies with memory
allocators is likely futile; I can add the reproducer with a CHECK for
the relevant branch weights if it's desired though)
Commit: ed7cee90f7849594ba9a3ebc2271cb9b5d172004
https://github.com/llvm/llvm-project/commit/ed7cee90f7849594ba9a3ebc2271cb9b5d172004
Author: Fangrui Song <i at maskray.me>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
A clang/test/Driver/unsupported-option-gpu.c
Log Message:
-----------
[Driver] Test ignored target-specific options for AMDGPU/NVPTX (#79222)
Fix missing test coverage after #70740 #70760
When compiling for CUDA/HIP, the driver creates a cc1 job to compile for
amdgcn/nvptx triple using most options.
Certain target-specific options should be ignored, not lead to an error
(`err_drv_unsupported_opt_for_target`).
Commit: e099e7b278c774338c7019e38fbbca9ef2c8dd74
https://github.com/llvm/llvm-project/commit/e099e7b278c774338c7019e38fbbca9ef2c8dd74
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M clang/include/clang/Basic/Builtins.td
Log Message:
-----------
[Clang] Fix the signature of __builtin___stpncpy_chk
Commit: c1cb0b80f00888920050068a8c6b4f78ca40dd43
https://github.com/llvm/llvm-project/commit/c1cb0b80f00888920050068a8c6b4f78ca40dd43
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M libc/cmake/modules/LLVMLibCObjectRules.cmake
M libc/cmake/modules/LLVMLibCTestRules.cmake
Log Message:
-----------
[libc][NFC] Fix `-DSHOW_INTERMEDIATE_OBJECTS=DEPS` to work properly for entry points and unit tests. (#79254)
Commit: 32f7922646d5903f63d16c9fbfe3d508b0f8cda7
https://github.com/llvm/llvm-project/commit/32f7922646d5903f63d16c9fbfe3d508b0f8cda7
Author: William Moses <gh at wsmoses.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/tools/opt/CMakeLists.txt
M llvm/tools/opt/NewPMDriver.cpp
M llvm/tools/opt/NewPMDriver.h
M llvm/tools/opt/opt.cpp
A llvm/tools/opt/optdriver.cpp
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[CMake/Bazel] Support usage of opt driver as a library (#79205)
In Bazel, Clang current separates the clang executable into a
clang-driver library, and the actual clang executable. This allows
downstream users to make their own variations of clang, without having
to redo/maintain separate build pipelines.
This adds the same for opt for both CMake and Bazel.
Commit: 7e09239e24b339f45f63a670e2e831150826bf70
https://github.com/llvm/llvm-project/commit/7e09239e24b339f45f63a670e2e831150826bf70
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/CodeGen/MachineScheduler.cpp
M llvm/unittests/CodeGen/SchedBoundary.cpp
Log Message:
-----------
[CodeGen][MISched] Handle empty sized resource usage. (#75951)
TargetSchedule.td explicitly allows the usage of a ProcResource for zero
cycles, in order to represent that the ProcResource must be available
but is not consumed by the instruction. On the other hand,
ResourceSegments explicitly does not allow for a zero sized interval. In
order to remedy this, this patch handles the special case of when there
is an empty interval usage of a resource by not adding an empty
interval.
We ran into this issue downstream, but it makes sense to have
this upstream since it is explicitly allowed by TargetSchedule.td.
Commit: 048041f19719758976f454cb02b662f7d5ded1dd
https://github.com/llvm/llvm-project/commit/048041f19719758976f454cb02b662f7d5ded1dd
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/spec/linux.td
M libc/spec/spec.td
M libc/src/sys/mman/CMakeLists.txt
M libc/src/sys/mman/linux/CMakeLists.txt
A libc/src/sys/mman/linux/mincore.cpp
A libc/src/sys/mman/mincore.h
M libc/test/src/sys/mman/linux/CMakeLists.txt
A libc/test/src/sys/mman/linux/mincore_test.cpp
Log Message:
-----------
[libc] reland mincore (#79309)
Commit: be08be5d5de97cd593fb99affa1fa994d104eb70
https://github.com/llvm/llvm-project/commit/be08be5d5de97cd593fb99affa1fa994d104eb70
Author: Nico Weber <thakis at chromium.org>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/tools/opt/CMakeLists.txt
M llvm/tools/opt/NewPMDriver.cpp
M llvm/tools/opt/NewPMDriver.h
M llvm/tools/opt/opt.cpp
R llvm/tools/opt/optdriver.cpp
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
Revert "[CMake/Bazel] Support usage of opt driver as a library (#79205)"
This reverts commit 32f7922646d5903f63d16c9fbfe3d508b0f8cda7.
Doesn't build, see
https://github.com/llvm/llvm-project/pull/79205#issuecomment-1908730527
Commit: d2d42dcfde7e9bf58e49b376ae7488ffac97f4c8
https://github.com/llvm/llvm-project/commit/d2d42dcfde7e9bf58e49b376ae7488ffac97f4c8
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/CodeGen/MachineScheduler.cpp
Log Message:
-----------
[CodeGen][MISched] Rename instance of Cycle -> ReleaseAtCycle
b1ae461a5358932851de42b66ffde8748da51a83 renamed Cycle ->
ReleaseAtCycle.
7e09239e24b339f45f63a670e2e831150826bf70 was committed without rebasing
but used the old Cycle syntax.
This caused a build failure when
7e09239e24b339f45f63a670e2e831150826bf70 was squash-and-merged. This
patch fixes this problem.
Commit: 31359840247b7d458ea8104373eea3f0cef95e16
https://github.com/llvm/llvm-project/commit/31359840247b7d458ea8104373eea3f0cef95e16
Author: Nico Weber <thakis at chromium.org>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/tools/opt/CMakeLists.txt
M llvm/tools/opt/NewPMDriver.cpp
M llvm/tools/opt/NewPMDriver.h
M llvm/tools/opt/opt.cpp
A llvm/tools/opt/optdriver.cpp
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
Reland "[CMake/Bazel] Support usage of opt driver as a library (#79205)"
This reverts commit be08be5d5de97cd593fb99affa1fa994d104eb70.
The build error was due to a different change, apologies!
Commit: 609695b23e1cba538f90969afbb1b80367f2d5da
https://github.com/llvm/llvm-project/commit/609695b23e1cba538f90969afbb1b80367f2d5da
Author: Nico Weber <thakis at chromium.org>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/tools/opt/BUILD.gn
Log Message:
-----------
[gn] port 32f7922646d5 (LLVMOptDriver)
Commit: 123c83ddc71048fb0a682218e6961d71ec08c2ea
https://github.com/llvm/llvm-project/commit/123c83ddc71048fb0a682218e6961d71ec08c2ea
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[mlgo] bazel rules for mlgo-utils (#79217)
Akin the `py_binary` rules for `lit`, these are scoped to binaries,
rather than exposing the library - binary split. The latter is available
to the package (pip package) users.
Tested:
```
cd utils/bazel
bazel build @llvm-project//llvm:extract_ir
bazel-bin/external/llvm-project/llvm/extract_ir --help
```
...and observed expected output (rather than import not found errors)
(Same for the other 2 targets).
Commit: 2e52e13c1e7e9a41d47b808fc5d668b7b738b94c
https://github.com/llvm/llvm-project/commit/2e52e13c1e7e9a41d47b808fc5d668b7b738b94c
Author: Wei Wang <apollo.mobility at gmail.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M clang/include/clang/AST/Type.h
M clang/test/AST/ast-dump-using.cpp
Log Message:
-----------
[clang] Make sure the same UsingType is searched and inserted (#79182)
When creating a new UsingType, the underlying type may change if it is a
declaration. This creates an inconsistency between the type searched and
type created. Update member and non-member Profile functions so that
they return the same ID.
Commit: d8a34c25bcfe67243b4347e169a2a57a6da95321
https://github.com/llvm/llvm-project/commit/d8a34c25bcfe67243b4347e169a2a57a6da95321
Author: Nico Weber <thakis at chromium.org>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/tools/opt/CMakeLists.txt
Log Message:
-----------
[opt] Remove trailing space that accidentally got added
Commit: 4b4763ffebaed9f1fee94b8ad5a1a450a9726683
https://github.com/llvm/llvm-project/commit/4b4763ffebaed9f1fee94b8ad5a1a450a9726683
Author: Reid Kleckner <rnk at google.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M lld/test/wasm/signature-mismatch.s
Log Message:
-----------
[lld][WebAssembly] Fix test on Windows, use llvm-ar instead of ar
Commit: 7b11c08c664863fbcd7a3058179b0af3de5d28e4
https://github.com/llvm/llvm-project/commit/7b11c08c664863fbcd7a3058179b0af3de5d28e4
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M libc/test/src/sys/mman/linux/mincore_test.cpp
Log Message:
-----------
[libc] remove unstable mincore test for invalid vec (#79348)
The faults on invalid vec range in mincore seems to be handled
differently by the OS (it is an erroneous edge case after all). Remove
the tests for now.
Commit: 84dcf3d35b6ea8d8b6c34bc9cf21135863c47b8c
https://github.com/llvm/llvm-project/commit/84dcf3d35b6ea8d8b6c34bc9cf21135863c47b8c
Author: Jonas Paulsson <paulson1 at linux.ibm.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/test/CodeGen/SystemZ/loop-01.ll
Log Message:
-----------
[SystemZ] Require D12 for i128 accesses in isLegalAddressingMode() (#79221)
Machines with vector support handle i128 in vector registers and
therefore only have the small displacement available for memory
accesses. Update isLegalAddressingMode() to reflect this.
Commit: bb65f5a5d95736cf08b282c1ded7f5cceed5fd7e
https://github.com/llvm/llvm-project/commit/bb65f5a5d95736cf08b282c1ded7f5cceed5fd7e
Author: Andy Kaylor <andrew.kaylor at intel.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/Support/raw_ostream.cpp
M llvm/lib/Support/raw_socket_stream.cpp
Log Message:
-----------
Move raw_string_ostream back to raw_ostream.cpp (#79224)
The implementation of raw_string_ostream::write_impl() was moved to
raw_socket_stream.cpp when the raw_socket_ostream support was separated.
This patch moves it back to facilitate disabling socket support in
downstream projects.
Commit: 48bbd7658710ef1699bf2a6532ff5830230aacc5
https://github.com/llvm/llvm-project/commit/48bbd7658710ef1699bf2a6532ff5830230aacc5
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/extractelement-single-use-many-nodes.ll
Log Message:
-----------
[SLP]Fix PR79229: Check that extractelement is used only in a single node
before erasing.
Before trying to erase the extractelement instruction, not enough to
check for single use, need to check that it is not used in several nodes
because of the preliminary nodes reordering.
Commit: 298412b5786cf9d65f01d90bf38402b11bf87b4f
https://github.com/llvm/llvm-project/commit/298412b5786cf9d65f01d90bf38402b11bf87b4f
Author: Peiming Liu <36770114+PeimingLiu at users.noreply.github.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp
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
M mlir/test/Dialect/SparseTensor/dense.mlir
M mlir/test/Dialect/SparseTensor/sorted_coo.mlir
M mlir/test/Dialect/SparseTensor/sparse_2d.mlir
M mlir/test/Dialect/SparseTensor/sparse_3d.mlir
M mlir/test/Dialect/SparseTensor/sparse_affine.mlir
M mlir/test/Dialect/SparseTensor/sparse_conv_2d_slice_based.mlir
M mlir/test/Dialect/SparseTensor/sparse_foreach.mlir
M mlir/test/Dialect/SparseTensor/sparse_index.mlir
M mlir/test/Dialect/SparseTensor/sparse_nd.mlir
M mlir/test/Dialect/SparseTensor/sparse_perm.mlir
M mlir/test/Dialect/SparseTensor/sparse_perm_lower.mlir
M mlir/test/Dialect/SparseTensor/sparse_vector_mv.mlir
M mlir/test/Dialect/SparseTensor/spy_sddmm_bsr.mlir
Log Message:
-----------
[mlir][sparse] setup `SparseIterator` to help generating code to traverse a sparse tensor level. (#78345)
Commit: 0f8b52955c219e42e87162fd8c99c3cea6e35d21
https://github.com/llvm/llvm-project/commit/0f8b52955c219e42e87162fd8c99c3cea6e35d21
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M clang/test/Driver/linker-wrapper.c
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/clang-linker-wrapper/LinkerWrapperOpts.td
Log Message:
-----------
[LinkerWrapper] Do not link device code under a relocatable link (#79314)
Summary:
A relocatable link through `clang -r` can go through the
clang-linker-wrapper if offloading is enabled. This will have the effect
of linking the device code and creating the wrapper module. It will then
be merged into the final file. This is useful behavior on its own, but
is likely not what is expected for a `-r` job.
This patch makes the linker wrapper ignore the device code when doing a
reloctable link. This has the effect of the linker merging the
`.llvm.offloading` sections in the output object. These will then be
parsed as normal when the executable is finally created.
Even though this doesn't actually perform a reloctable link on the
device code itself, it has a similar effect of combining multiple files
into a single one.
Commit: a551703cb5d171d24303de9d20bfdedfe46d49cf
https://github.com/llvm/llvm-project/commit/a551703cb5d171d24303de9d20bfdedfe46d49cf
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M clang/test/Driver/linker-wrapper-image.c
M llvm/lib/Frontend/Offloading/Utility.cpp
Log Message:
-----------
[Offload] Fix the offloading wrapper when merged multiple times. (#79231)
Summary:
The offloading wrapper is a object file that contains code necessary to
register offloading entries for the given runtime. Currently, we
expected only one of these to be present when we make the final
executable. However, in the case of redistributable linking with `-r` we
can end up with multiple of these being generated before finally
creating the executable.
This patch simply changes the defintiions of these globals to be
mergable. This allows multiples of these to participate in a single link
job. For ELF, we just make the dummy variable internal and used so it
sets up the section as expected. For COFF we make the entries weak_odr
so they merge to a single symbol
Commit: 04ce0baf015ced39e994b8839e30bd5cef6c995e
https://github.com/llvm/llvm-project/commit/04ce0baf015ced39e994b8839e30bd5cef6c995e
Author: Eric <eric at efcs.ca>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M libcxx/docs/ReleaseNotes/18.rst
M libcxx/include/__config
M libcxx/include/string
M libcxx/test/libcxx/strings/basic.string/string.capacity/allocation_size.pass.cpp
M libcxx/test/libcxx/strings/basic.string/string.capacity/max_size.pass.cpp
M libcxx/test/std/strings/basic.string/string.capacity/max_size.pass.cpp
Log Message:
-----------
Unconditionally lower std::string's alignment requirement from 16 to 8. (#68925)
Unconditionally change std::string's alignment to 8.
This change saves memory by providing the allocator more freedom to
allocate the most
efficient size class by dropping the alignment requirements for
std::string's
pointer from 16 to 8. This changes the output of std::string::max_size,
which makes it ABI breaking.
That said, the discussion concluded that we don't care about this ABI
break. and would like this change enabled universally.
The ABI break isn't one of layout or "class size", but rather the value
of "max_size()" changes, which in turn changes whether `std::bad_alloc`
or `std::length_error` is thrown for large allocations.
This change is the child of PR #68807, which enabled the change behind
an ABI flag.
Commit: e6f576b0c3fdddcd5916dcce24d17e36d2dbe2e6
https://github.com/llvm/llvm-project/commit/e6f576b0c3fdddcd5916dcce24d17e36d2dbe2e6
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M clang/docs/ShadowCallStack.rst
Log Message:
-----------
[Docs] Mention RISC-V in the introductory paragraph in ShadowCallStack.rst. (#79241)
RISC-V is mentioned elsewhere in the document it seems like it should be
mentioned in the introduction.
Commit: e3ee3762304aa81e4a240500844bfdd003401b36
https://github.com/llvm/llvm-project/commit/e3ee3762304aa81e4a240500844bfdd003401b36
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M clang/lib/AST/TemplateBase.cpp
M clang/test/SemaTemplate/temp_arg_nontype_cxx20.cpp
Log Message:
-----------
Fix comparison of Structural Values
Fixes a regression from #78041 as reported in the review. The original
patch failed to compare the canonical type, which this adds. A slightly
modified test of the original report is added.
Commit: 260e45cff0c3b2e95eea9752d64f7a3a31432c0a
https://github.com/llvm/llvm-project/commit/260e45cff0c3b2e95eea9752d64f7a3a31432c0a
Author: Peiming Liu <36770114+PeimingLiu at users.noreply.github.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorLevel.cpp
Log Message:
-----------
[mlir][sparse] fix stack UAF (#79353)
Commit: 4a9b5aa1164c1eff68c98c1513cab3ac0c52b4af
https://github.com/llvm/llvm-project/commit/4a9b5aa1164c1eff68c98c1513cab3ac0c52b4af
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M libc/startup/linux/do_start.cpp
Log Message:
-----------
[libc][NFC] remove TODO about AppProperties (#79356)
```
AppProperties app;
```
is marked as a weak symbol in header now. One can just use `&app !=
nullptr` to check if `app` is defined. There is no need to define it for
overlay mode.
Commit: 22c22d6182e0ee456ff1141be8e178ede6df47bb
https://github.com/llvm/llvm-project/commit/22c22d6182e0ee456ff1141be8e178ede6df47bb
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M libc/src/__support/HashTable/table.h
Log Message:
-----------
[libc][NFC] mark hashtable as resizable (#79354)
It is not fix-sized anymore.
Commit: 48570a6feb62c897dc4cdcd1dab3e99a0aa46d48
https://github.com/llvm/llvm-project/commit/48570a6feb62c897dc4cdcd1dab3e99a0aa46d48
Author: Fangrui Song <i at maskray.me>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M clang/test/Driver/unsupported-option-gpu.c
Log Message:
-----------
[Driver,test] Add --target= to unsupported-option-gpu.c
Commit: f6ca6ed528b4ab0507f5099efd8902e0c076a327
https://github.com/llvm/llvm-project/commit/f6ca6ed528b4ab0507f5099efd8902e0c076a327
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M compiler-rt/lib/builtins/CMakeLists.txt
Log Message:
-----------
Revert "compiler-rt: Fix FLOAT16 feature detection"
This reverts commit aaa93ce7323332d8290b8f563d4d71689c1094c5.
This commit was not properly reviewed.
Commit: 6e4930c67508a90bdfd756f6e45417b5253cd741
https://github.com/llvm/llvm-project/commit/6e4930c67508a90bdfd756f6e45417b5253cd741
Author: Alexander Kornienko <alexfh at google.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/test/CXX/drs/dr14xx.cpp
M clang/test/CXX/drs/dr21xx.cpp
M clang/test/CXX/drs/dr23xx.cpp
M clang/www/cxx_dr_status.html
M libcxx/test/std/utilities/utility/pairs/pairs.pair/ctor.pair_U_V_move.pass.cpp
Log Message:
-----------
Revert "[SemaCXX] Implement CWG2137 (list-initialization from objects of the same type) (#77768)"
This reverts commit 924701311aa79180e86ad8ce43d253f27d25ec7d. Causes compilation
errors on valid code, see
https://github.com/llvm/llvm-project/pull/77768#issuecomment-1908062472.
Commit: 3967510032bc50062128e9ec078d930d7d5151ce
https://github.com/llvm/llvm-project/commit/3967510032bc50062128e9ec078d930d7d5151ce
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVCallLowering.cpp
M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/vec-args.ll
M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/vec-ret.ll
Log Message:
-----------
[RISCV][GISel] First mask argument placed in v0 according to RISCV Ve… (#79343)
…ctor CC.
Commit: fe9f3903f2d61bc67bfee66b44872339c8c767bb
https://github.com/llvm/llvm-project/commit/fe9f3903f2d61bc67bfee66b44872339c8c767bb
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
Log Message:
-----------
[AMDGPU] Update isLegalAddressingMode for GFX12 SMEM loads (#78728)
Commit: 72ce6294157964042b7ed5576ce2c99257eeea9d
https://github.com/llvm/llvm-project/commit/72ce6294157964042b7ed5576ce2c99257eeea9d
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M libc/cmake/modules/LLVMLibCLibraryRules.cmake
M libc/config/darwin/arm/headers.txt
M libc/config/darwin/x86_64/headers.txt
M libc/config/gpu/headers.txt
M libc/config/linux/aarch64/headers.txt
M libc/config/linux/riscv/headers.txt
M libc/config/linux/x86_64/headers.txt
M libc/include/CMakeLists.txt
A libc/include/limits.h.def
M libc/include/llvm-libc-macros/CMakeLists.txt
M libc/include/llvm-libc-macros/float-macros.h
A libc/include/llvm-libc-macros/limits-macros.h
M libc/spec/stdc.td
M libc/src/__support/CMakeLists.txt
M libc/src/__support/CPP/CMakeLists.txt
M libc/src/__support/CPP/limits.h
M libc/src/__support/FPUtil/CMakeLists.txt
M libc/src/__support/FPUtil/ManipulationFunctions.h
M libc/src/__support/math_extras.h
M libc/src/__support/str_to_integer.h
M libc/src/__support/threads/linux/CMakeLists.txt
M libc/src/__support/threads/linux/callonce.cpp
M libc/src/time/CMakeLists.txt
M libc/src/time/mktime.cpp
M libc/src/time/time_utils.cpp
M libc/test/src/math/CMakeLists.txt
M libc/test/src/math/ILogbTest.h
M libc/test/src/math/LdExpTest.h
M libc/test/src/math/smoke/CMakeLists.txt
M libc/test/src/math/smoke/ILogbTest.h
M libc/test/src/math/smoke/LdExpTest.h
M libc/test/src/stdlib/AtoiTest.h
M libc/test/src/stdlib/CMakeLists.txt
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/strtold_test.cpp
M libc/test/src/time/CMakeLists.txt
M libc/test/src/time/clock_test.cpp
M libc/test/src/time/gmtime_test.cpp
M libc/test/src/time/mktime_test.cpp
M libc/test/src/time/time_test.cpp
Log Message:
-----------
[libc] Add C23 limits.h header. (#78887)
Commit: 62a384ca66993b449c5accedbebf7af191fbe52c
https://github.com/llvm/llvm-project/commit/62a384ca66993b449c5accedbebf7af191fbe52c
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M clang/include/clang/Basic/OpenACCKinds.h
M clang/include/clang/Parse/Parser.h
M clang/lib/Parse/ParseOpenACC.cpp
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/ParserOpenACC/parse-clauses.cpp
Log Message:
-----------
[OpenACC} Implement 'async' parsing.
async just takes an integral value, but it has a little bit of special
rules in sema, so it is implemented slightly differently than int-expr.
This patch implements async parsing.
Commit: 36e4a7ecca8a79fe8960a1e2afa78fbbd643dc7f
https://github.com/llvm/llvm-project/commit/36e4a7ecca8a79fe8960a1e2afa78fbbd643dc7f
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP]Fix PR79321: SLPVectorizer's PHICompare doesn't provide a strict
weak ordering.
Try to make PHICompare to meat strict weak ordering criteria.
Commit: ce21721d1dd0f11c3ff38d16050e65861908a395
https://github.com/llvm/llvm-project/commit/ce21721d1dd0f11c3ff38d16050e65861908a395
Author: arthurqiu <qiurenjie at msn.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M mlir/test/IR/properties.mlir
M mlir/tools/mlir-tblgen/OpFormatGen.cpp
Log Message:
-----------
[MLIR] Fix tblgen properties printing to filter them out of discardable attrs dict (#79243)
This is to fix the bug reported in
https://discourse.llvm.org/t/whats-the-recommended-way-to-use-prop-dict/75921
When `prop-dict` is used in the assembly format, `attr-dict` should
print discardable attributes only.
Co-authored-by: Arthurq Qiu <arthurq at nvidia.com>
Commit: 3a92b20cb0e61bec886d07c3f7280b8b2a4b8d49
https://github.com/llvm/llvm-project/commit/3a92b20cb0e61bec886d07c3f7280b8b2a4b8d49
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M libc/include/llvm-libc-macros/limits-macros.h
Log Message:
-----------
[libc] Add backup definition for LONG_WIDTH in limits-macros.h. (#79375)
Commit: 23faa81d3f0b701aec3731a7fce4d65c57a752b9
https://github.com/llvm/llvm-project/commit/23faa81d3f0b701aec3731a7fce4d65c57a752b9
Author: Micah Weston <micahsweston at gmail.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/ObjectYAML/ELFEmitter.cpp
M llvm/test/tools/llvm-objdump/X86/elf-bbaddrmap-disassemble-symbolize-operands.yaml
M llvm/test/tools/llvm-objdump/X86/elf-bbaddrmap-symbolize-relocatable.yaml
M llvm/test/tools/llvm-objdump/X86/elf-pgoanalysismap.yaml
M llvm/test/tools/llvm-readobj/ELF/bb-addr-map-relocatable.test
M llvm/test/tools/llvm-readobj/ELF/bb-addr-map.test
M llvm/test/tools/obj2yaml/ELF/bb-addr-map.yaml
M llvm/test/tools/yaml2obj/ELF/bb-addr-map.yaml
M llvm/unittests/Object/ELFObjectFileTest.cpp
Log Message:
-----------
[SHT_LLVM_BB_ADDR_MAP] Avoids side-effects in addition since order is unspecified. (#79168)
Turns out the problem with
https://github.com/llvm/llvm-project/issues/60013 is due to the fact
that order of operation is unspecified in C++:
https://en.cppreference.com/w/cpp/language/eval_order. A small example
of where this manifests with MSVC can be seen here
https://ooo.godbolt.org/z/bxqKeqzqn.
This patch does the following:
* Removes the addition operations where we sequence more than one
side-effect based expression.
* Removes test guards to now run on Windows
Commit: 6384b6239b45f67aa6591d911376cc224b256c8d
https://github.com/llvm/llvm-project/commit/6384b6239b45f67aa6591d911376cc224b256c8d
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
Log Message:
-----------
[AMDGPU] Simplify VOP3PWMMA_Profile. NFC. (#79377)
Commit: a0c1b5bdda91920a66f58b0a891c551acff2d2a1
https://github.com/llvm/llvm-project/commit/a0c1b5bdda91920a66f58b0a891c551acff2d2a1
Author: DianQK <dianqk at dianqk.net>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
A llvm/test/Transforms/SimplifyCFG/unreachable-eliminate-on-ret.ll
Log Message:
-----------
Reland "[SimplifyCFG] Check if the return instruction causes undefined behavior"
This relands commit b6a0be8ce3114d0c57e7a7d6c3c222986ca506ad.
Return undefined to a noundef return value is undefined.
Example:
```
define noundef i32 @test_ret_noundef(i1 %cond) {
entry:
br i1 %cond, label %bb1, label %bb2
bb1:
br label %bb2
bb2:
%r = phi i32 [ undef, %entry ], [ 1, %bb1 ]
ret i32 %r
}
```
Commit: a58dcc5e08665f2d58a28c9d4510cf94de6ed3bf
https://github.com/llvm/llvm-project/commit/a58dcc5e08665f2d58a28c9d4510cf94de6ed3bf
Author: DianQK <dianqk at dianqk.net>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/test/Transforms/SimplifyCFG/UnreachableEliminate.ll
M llvm/test/Transforms/SimplifyCFG/unreachable-eliminate-on-ret.ll
Log Message:
-----------
Reland "[SimplifyCFG] Improve the precision of `PtrValueMayBeModified`"
This relands commit f890f010f6a70addbd885acd0c8d1b9578b6246f.
The result value of `getelementptr inbounds (TY, null, not zero)` is a poison value.
We can think of it as undefined behavior.
Commit: 16a1ef86cbc5e6c829919ec6c73325413b0cd21b
https://github.com/llvm/llvm-project/commit/16a1ef86cbc5e6c829919ec6c73325413b0cd21b
Author: David CARLIER <devnexen at gmail.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
M compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
R compiler-rt/test/sanitizer_common/TestCases/FreeBSD/hexdump.cc
Log Message:
-----------
[compiler-rt] remove hexdump interception. (#79378)
a freebsd dev member reported a symbol conflict and intercepting this
had little value anyway.
Commit: bddeef54cb66609ad0a32d840051713cd8487adb
https://github.com/llvm/llvm-project/commit/bddeef54cb66609ad0a32d840051713cd8487adb
Author: Jason Molenda <jmolenda at apple.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
R lldb/include/lldb/Breakpoint/WatchpointResourceList.h
M lldb/source/Breakpoint/CMakeLists.txt
R lldb/source/Breakpoint/WatchpointResourceList.cpp
Log Message:
-----------
[lldb] [NFC] Remove unused WatchpointResourceList class (#79385)
In `[lldb] [mostly NFC] Large WP foundation: WatchpointResources
(#68845)` I added a new template StopPointSiteList to combine
WatchpointResourceList and BreakpointSiteList. But I didn't remove the
now-unused WatchpointResourceList class. This patch fixes that.
Commit: 56da7991ead442b7c0ef9ec47d625253ed6b926e
https://github.com/llvm/llvm-project/commit/56da7991ead442b7c0ef9ec47d625253ed6b926e
Author: Jason Molenda <jmolenda at apple.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M lldb/include/lldb/Breakpoint/WatchpointResource.h
M lldb/source/Breakpoint/WatchpointResource.cpp
Log Message:
-----------
[lldb] [NFC] Remove unused WatchpointResource::SetID method (#79389)
I originally thought to try to guesstimate the hardware watchpoint index
number that a Resource was associated with, but gdb remote serial
protocol doesn't give us the hardware register index used so it was only
a guess. I changed my mind and simply use ever-incrementing ID numbers
for the WatchpointResources, but forgot to remove the SetID method.
Commit: 45950f6e27efaba0aa5ab67d5ea7d6df5e8edc5f
https://github.com/llvm/llvm-project/commit/45950f6e27efaba0aa5ab67d5ea7d6df5e8edc5f
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/Breakpoint/BUILD.gn
Log Message:
-----------
[gn build] Port bddeef54cb66
Commit: 1ae0448ed37654529b7172aa643ce7ba5735fb3a
https://github.com/llvm/llvm-project/commit/1ae0448ed37654529b7172aa643ce7ba5735fb3a
Author: Fangrui Song <i at maskray.me>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/test/Instrumentation/MemorySanitizer/msan_asm_conservative.ll
Log Message:
-----------
[msan] Enable msan-handle-asm-conservative for userspace by default (#79251)
msan-handle-asm-conservative is enabled by KMSAN by default.
Enable the userspace by default as well after #77393.
Commit: bb6a4850553dd4140a5bd63187ec1b14d0b731f9
https://github.com/llvm/llvm-project/commit/bb6a4850553dd4140a5bd63187ec1b14d0b731f9
Author: Alexander Yermolovich <43973793+ayermolo at users.noreply.github.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M bolt/include/bolt/Rewrite/DWARFRewriter.h
M bolt/lib/Rewrite/DWARFRewriter.cpp
A bolt/test/X86/Inputs/dwarf4-debug-line-offset-change-after-bolt-helper.s
A bolt/test/X86/Inputs/dwarf4-debug-line-offset-change-after-bolt-main.s
A bolt/test/X86/Inputs/dwarf5-debug-line-offset-change-after-bolt-main.s
A bolt/test/X86/dwarf-debug-line-stmt-list-offset-change.test
Log Message:
-----------
[BOLT] Fix updating DW_AT_stmt_list for DWARF5 TUs (#79374)
Changed so that we also update DW_AT_stmt_list for DWARF5 TUs. BOLT was
doing it for DWARF4, but it wasn't doing it for DWARF5.
Commit: e9355b1b3e36616bb86575270ff3a4664d2cf4f7
https://github.com/llvm/llvm-project/commit/e9355b1b3e36616bb86575270ff3a4664d2cf4f7
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M libc/include/llvm-libc-macros/limits-macros.h
Log Message:
-----------
[libc] Use __SIZEOF_LONG__ to define LONG_WIDTH instead of sizeof(long). (#79391)
The standard requires `limits.h` constants to be used in preprocessors.
So we use `__SIZEOF_LONG__` instead of `sizeof(long)` to define
`LONG_WIDTH`. The macro `__SIZEOF_LONG__` seems to be available on both
clang and gcc since at least version 9.
Commit: 7386aa02efafc260ad8b2d0c9ca19d39e16cfd07
https://github.com/llvm/llvm-project/commit/7386aa02efafc260ad8b2d0c9ca19d39e16cfd07
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
A llvm/test/CodeGen/RISCV/rvv/fixed-vector-i8-index-cornercase.ll
Log Message:
-----------
[RISCV] Add test coverage for shuffle index > i8 cornercase
Triggered by discussion on https://github.com/llvm/llvm-project/pull/79330. In the process of writing this, realized one of my recent refactorings appears to have broken the legalization for the single source case here. Fix to follow in separate patch.
Commit: 795090739cf3b295be750dfba0af2ba993e60cdd
https://github.com/llvm/llvm-project/commit/795090739cf3b295be750dfba0af2ba993e60cdd
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vector-i8-index-cornercase.ll
Log Message:
-----------
[RISCV] Fix a bug accidentally introduced in e9311f9
If we're lowering an e8 m8 shuffle and we have an index value greater than
255, we have no available space to generate an e16 index vector. The
code had originally handled this correctly, but in a recent refactoring
I had moved the single source code above the check, and thus broke the
single source by accident.
I have a change on review to rework this (https://github.com/llvm/llvm-project/pull/79330), but for now, go with the most obvious fix.
Commit: b7f986d987edd50f8b16ae90d38358b01f0272ac
https://github.com/llvm/llvm-project/commit/b7f986d987edd50f8b16ae90d38358b01f0272ac
Author: Ben Shi <2283975856 at qq.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
M clang/test/Analysis/errno-stdlibraryfunctions.c
Log Message:
-----------
[clang][analyzer] Improve modeling of 'execv' and 'execvp' in StdLibraryFunctionsChecker (#78930)
These functions always return -1 and set 'errno'.
Commit: 549bee8a55b0abb1232411d1c23d595f605ae1ee
https://github.com/llvm/llvm-project/commit/549bee8a55b0abb1232411d1c23d595f605ae1ee
Author: gulfemsavrun <gulfem at google.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M clang/lib/Lex/HeaderSearch.cpp
R clang/test/Modules/pr73023.cpp
Log Message:
-----------
Revert "[Modules] [HeaderSearch] Don't reenter headers if it is pragm… (#79396)
…a once (#76119)"
This reverts commit f0c387038854d61a632520a4073d1b6ebf4997ed because it
causes an lldb test to fail on a missing import on Mac.
https://logs.chromium.org/logs/fuchsia/buildbucket/cr-buildbucket/8758053465398947297/+/u/lldb/test/stdout
Commit: 28db4017b0b12eb9cf9bbe85afe46a9cf783d2c2
https://github.com/llvm/llvm-project/commit/28db4017b0b12eb9cf9bbe85afe46a9cf783d2c2
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-rotate.ll
Log Message:
-----------
[RISCV] Add test coverage for bad interaction of exact vlen and rotate shuffles
Commit: a7395891a797b3cf61a136aea9a82c4c2325b2b3
https://github.com/llvm/llvm-project/commit/a7395891a797b3cf61a136aea9a82c4c2325b2b3
Author: Enna1 <xumingjie.enna1 at bytedance.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemProfiler.cpp
Log Message:
-----------
[MemProf][NFC] remove unneeded TypeSize in InterestingMemoryAccess (#79244)
Unlike ASan, MemProf uses the same memory access callback(inline
sequence) for different size memory access, remove unneeded TypeSize
stored in InterestingMemoryAccess.
Commit: f8262cae69a616b98774d4c669e11246fe3a9a05
https://github.com/llvm/llvm-project/commit/f8262cae69a616b98774d4c669e11246fe3a9a05
Author: Enna1 <xumingjie.enna1 at bytedance.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemProfiler.cpp
Log Message:
-----------
[MemProf][NFC] remove unneeded sized memory access callback (#79260)
As discussed in https://github.com/llvm/llvm-project/pull/79244, the
sized memory access callback is leftover stuff carried over from Asan,
can removed from the instrumentation.
Commit: a6161a2524c5146a982abc4d580a61f95344edbf
https://github.com/llvm/llvm-project/commit/a6161a2524c5146a982abc4d580a61f95344edbf
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemProfiler.cpp
Log Message:
-----------
[Instrumentation] Remove unused variable 'DL' in MemProfiler.cpp (NFC)
llvm-project/llvm/lib/Transforms/Instrumentation/MemProfiler.cpp:375:21:
error: unused variable 'DL' [-Werror,-Wunused-variable]
const DataLayout &DL = I->getModule()->getDataLayout();
^
1 error generated.
Commit: 816cc9d24b8716367e85d582c7afdfb1cdfcdbf3
https://github.com/llvm/llvm-project/commit/816cc9d24b8716367e85d582c7afdfb1cdfcdbf3
Author: XinWang10 <108658776+XinWang10 at users.noreply.github.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
M llvm/lib/Target/X86/X86InstrArithmetic.td
M llvm/lib/Target/X86/X86InstrMisc.td
M llvm/test/MC/Disassembler/X86/apx/andn.txt
M llvm/test/MC/Disassembler/X86/apx/bextr.txt
M llvm/test/MC/Disassembler/X86/apx/blsi.txt
M llvm/test/MC/Disassembler/X86/apx/blsmsk.txt
M llvm/test/MC/Disassembler/X86/apx/blsr.txt
M llvm/test/MC/Disassembler/X86/apx/bzhi.txt
M llvm/test/MC/X86/apx/andn-att.s
M llvm/test/MC/X86/apx/andn-intel.s
M llvm/test/MC/X86/apx/bextr-att.s
M llvm/test/MC/X86/apx/bextr-intel.s
M llvm/test/MC/X86/apx/blsi-att.s
M llvm/test/MC/X86/apx/blsi-intel.s
M llvm/test/MC/X86/apx/blsmsk-att.s
M llvm/test/MC/X86/apx/blsmsk-intel.s
M llvm/test/MC/X86/apx/blsr-att.s
M llvm/test/MC/X86/apx/blsr-intel.s
M llvm/test/MC/X86/apx/bzhi-att.s
M llvm/test/MC/X86/apx/bzhi-intel.s
M llvm/test/TableGen/x86-fold-tables.inc
Log Message:
-----------
[X86][MC] Support Enc/Dec for NF BMI instructions (#76709)
Promoted BMI instructions were supported in #73899
Commit: f59eef6515433577d757cf64d2d2f402d95a689e
https://github.com/llvm/llvm-project/commit/f59eef6515433577d757cf64d2d2f402d95a689e
Author: Han-Chung Wang <hanhan0912 at gmail.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M mlir/lib/Dialect/Tensor/Transforms/PackAndUnpackPatterns.cpp
M mlir/test/Dialect/Tensor/simplify-pack-unpack.mlir
Log Message:
-----------
[mlir][tensor] Enhance SimplifyPackToExpandShape for unit dim cases. (#79247)
Progress on https://github.com/openxla/iree/issues/16181
Commit: 84be954cb26ebde58d4ddd2255dfd99904d9ae1b
https://github.com/llvm/llvm-project/commit/84be954cb26ebde58d4ddd2255dfd99904d9ae1b
Author: Shih-Po Hung <shihpo.hung at sifive.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/RISCV/reduce-add.ll
M llvm/test/Analysis/CostModel/RISCV/reduce-and.ll
M llvm/test/Analysis/CostModel/RISCV/reduce-fadd.ll
M llvm/test/Analysis/CostModel/RISCV/reduce-or.ll
M llvm/test/Analysis/CostModel/RISCV/reduce-scalable-fp.ll
M llvm/test/Analysis/CostModel/RISCV/reduce-scalable-int.ll
M llvm/test/Analysis/CostModel/RISCV/reduce-xor.ll
M llvm/test/Analysis/CostModel/RISCV/rvv-intrinsics.ll
Log Message:
-----------
[RISCV][CostModel] Refine Arithmetic reduction costs (#79103)
This patch is split off from #77342
- Correct for CodeSize cost that 1 instruction is not included. 3 is
from {VMV.S, ReductionOp, VMV.X}
- Add SplitCost
Unordered reduction chain a series of VADD/VFADD/... which scales with
LMUL.
Ordered reductions chain a series of VFREDOSUMs.
- Use MVT to estimate VL.
Commit: 65e0dc68f5add3579b4a582ca03755cd28d38d09
https://github.com/llvm/llvm-project/commit/65e0dc68f5add3579b4a582ca03755cd28d38d09
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/atomic-signext.ll
Log Message:
-----------
[RISCV] Add test cases showing missed opportunity to remove sext.w after amocas.w. NFC
Commit: 5446902cf2cda4fb17078d04207d2544518a49be
https://github.com/llvm/llvm-project/commit/5446902cf2cda4fb17078d04207d2544518a49be
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZa.td
M llvm/test/CodeGen/RISCV/atomic-signext.ll
Log Message:
-----------
[RISCV] Add IsSignExtendingOpW to amocas.w. (#79351)
Commit: aa64a8277366973705b748e532bfae694b4262aa
https://github.com/llvm/llvm-project/commit/aa64a8277366973705b748e532bfae694b4262aa
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
Log Message:
-----------
[AMDGPU] Rename AMDGPULoadTr intrinsic class. NFC. (#79394)
This class is not specific to "Tr"(Transpose). It is
just for a normal load.
Commit: 96ec447a6ae39edff92674e9849de2bf21bfd430
https://github.com/llvm/llvm-project/commit/96ec447a6ae39edff92674e9849de2bf21bfd430
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M clang-tools-extra/test/clang-tidy/checkers/abseil/Inputs/absl/external-file.h
M clang-tools-extra/test/clang-tidy/checkers/abseil/faster-strsplit-delimiter.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/concat-nested-namespaces.cpp
M clang/lib/StaticAnalyzer/Checkers/DebugContainerModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/DebugIteratorModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/InvalidatedIteratorChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/IteratorRangeChecker.cpp
M clang/test/CXX/drs/dr23xx.cpp
M clang/test/CXX/over/over.match/over.match.funcs/over.match.oper/p3-2a.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_hash.h
M llvm/lib/ExecutionEngine/IntelJITEvents/IntelJITEventsWrapper.h
Log Message:
-----------
[NFC] Fix various unintentional `//namespace` formatting
Commit: 29c9009d23de1a2a395995d559c08c102fa46f48
https://github.com/llvm/llvm-project/commit/29c9009d23de1a2a395995d559c08c102fa46f48
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/docs/RISCVUsage.rst
Log Message:
-----------
[Docs] Capitalize the first letter of Zi* extensions in RISCVUsage.rst. NFC
Commit: c52a8dcdc88eaf066ca269fc851da1558467f24c
https://github.com/llvm/llvm-project/commit/c52a8dcdc88eaf066ca269fc851da1558467f24c
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/Analysis/MemorySSA.cpp
Log Message:
-----------
[Analysis] Use llvm::pred_size (NFC)
Commit: 196a71ec4bc9176ae9ac2d0475a074336e1b736b
https://github.com/llvm/llvm-project/commit/196a71ec4bc9176ae9ac2d0475a074336e1b736b
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M clang/lib/Sema/SemaDeclAttr.cpp
Log Message:
-----------
[Sema] Use StringRef::consume_front (NFC)
Commit: 5b2772e1fad3fc8b44400b91de4d5bd0724bba75
https://github.com/llvm/llvm-project/commit/5b2772e1fad3fc8b44400b91de4d5bd0724bba75
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M clang-tools-extra/clangd/CompileCommands.cpp
M clang-tools-extra/clangd/Diagnostics.cpp
M clang-tools-extra/clangd/ExpectedTypes.cpp
M clang-tools-extra/clangd/FS.cpp
M clang-tools-extra/clangd/XRefs.cpp
M clang-tools-extra/clangd/index/BackgroundIndexStorage.cpp
Log Message:
-----------
[clangd] Use SmallString::operator std::string (NFC)
Commit: a13b7df7f2d19f0798dbb6c1c7aeac8c84002338
https://github.com/llvm/llvm-project/commit/a13b7df7f2d19f0798dbb6c1c7aeac8c84002338
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/CodeGen/CodeGenPrepare.cpp
Log Message:
-----------
[CodeGen] Use llvm::successors (NFC)
Commit: df08350dcfc515c5a7c08e1e08047467263cb701
https://github.com/llvm/llvm-project/commit/df08350dcfc515c5a7c08e1e08047467263cb701
Author: Yeting Kuo <46629943+yetingk at users.noreply.github.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInsertReadWriteCSR.cpp
A llvm/test/CodeGen/RISCV/rvv/frm-insert.ll
Log Message:
-----------
[RISCV] Implement foward inserting save/restore FRM instructions. (#77744)
Previously, RISCVInsertReadWriteCSR inserted an FRM swap for any value
other than 7 and restored the original value right after the vector
instruction. This is inefficient if multiple vector instructions use the
same rounding mode if the next vector instruction uses a different
explicit rounding mode.
This patch implements a local optimization to solve the above problem.
We assume the starting rounding mode of the basic block is "dynamic."
When iterating through a basic block and encountering an instruction
whose rounding mode is not the same as the current rounding mode, we
change the current rounding mode and save the current rounding mode if
needed. And we may need to restore FRM when encountering function call,
inline asm and some uses of FRM.
The advanced version of this is to perform cross basic block analysis
for the starting rounding mode of each basic block.
Commit: 90c326b198080c5c208f62f6755d54d7b69b291d
https://github.com/llvm/llvm-project/commit/90c326b198080c5c208f62f6755d54d7b69b291d
Author: Mikael Holmen <mikael.holmen at ericsson.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
Log Message:
-----------
[AArch64] Fix gcc warning about mix of enumeral and non-enumeral types [NFC]
Change the return type of
findScratchNonCalleeSaveRegister
to Register instead of unsigned.
Every place the function is called we already put the returned value in a
Register variable or compare it with another Register.
This fixes some gcc warnings:
../lib/Target/AArch64/AArch64FrameLowering.cpp:744: warning: enumeral and non-enumeral type in conditional expression [-Wextra]
743 | Register TargetReg = RealignmentPadding
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
744 | ? findScratchNonCalleeSaveRegister(&MBB)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
745 | : AArch64::SP;
|
../lib/Target/AArch64/AArch64FrameLowering.cpp:803: warning: enumeral and non-enumeral type in conditional expression [-Wextra]
802 | Register ScratchReg = RealignmentPadding
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
803 | ? findScratchNonCalleeSaveRegister(&MBB)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
804 | : AArch64::SP;
|
Commit: 664a0faac464708fc061d12e5cd492fcbfea979a
https://github.com/llvm/llvm-project/commit/664a0faac464708fc061d12e5cd492fcbfea979a
Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/include/llvm/Target/TargetInstrPredicate.td
M llvm/utils/TableGen/PredicateExpander.cpp
M llvm/utils/TableGen/PredicateExpander.h
Log Message:
-----------
[TableGen] Add predicates for immediates comparison (#76004)
These predicates can be used to represent `<`, `<=`, `>`, `>=`.
And a predicate for `in range` is added.
Commit: 7cedbfc31c332fa022bf2e1b0d72e5a9b6669ad3
https://github.com/llvm/llvm-project/commit/7cedbfc31c332fa022bf2e1b0d72e5a9b6669ad3
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M clang/test/Preprocessor/riscv-target-features.c
Log Message:
-----------
[RISCV] Reformat riscv-target-features.c. NFC (#79409)
Indent line continuations by 2 spaces.
Drop -x c
Commit: f7a615a7d5a3a01d7d0ca46f8481248ef587cfe2
https://github.com/llvm/llvm-project/commit/f7a615a7d5a3a01d7d0ca46f8481248ef587cfe2
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/test/Transforms/Attributor/nofpclass-implied-by-fcmp.ll
Log Message:
-----------
ValueTracking: Use correct compare type in test
Commit: 122ed552fc5d5807f2a96b8456b42f5114cd1a79
https://github.com/llvm/llvm-project/commit/122ed552fc5d5807f2a96b8456b42f5114cd1a79
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/include/llvm/CodeGen/MachinePassManager.h
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/lib/Passes/CodeGenPassBuilder.cpp
M llvm/unittests/MIR/PassBuilderCallbacksTest.cpp
Log Message:
-----------
[CodeGen] Remove MachinePassKey (#79406)
We now use PassT::name to distinguish Passes.
Commit: 45d2d7757feb386186f69af6ef57bde7b5adc2db
https://github.com/llvm/llvm-project/commit/45d2d7757feb386186f69af6ef57bde7b5adc2db
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.h
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wave.id.ll
Log Message:
-----------
[AMDGPU] New llvm.amdgcn.wave.id intrinsic (#79325)
This is only valid on targets with architected SGPRs.
Commit: e390c229a438ed1eb3396df8fbeeda89c49474e6
https://github.com/llvm/llvm-project/commit/e390c229a438ed1eb3396df8fbeeda89c49474e6
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M lld/test/ELF/lto/ltopasses-custom.ll
M llvm/docs/Passes.rst
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/CodeGen/CallBrPrepare.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Transforms/Scalar/FlattenCFGPass.cpp
M llvm/lib/Transforms/Scalar/LowerAtomicPass.cpp
M llvm/lib/Transforms/Utils/FlattenCFG.cpp
M llvm/lib/Transforms/Utils/LowerInvoke.cpp
M llvm/test/CodeGen/AArch64/callbr-prepare.ll
M llvm/test/Feature/optnone-opt.ll
M llvm/test/Other/new-pass-manager.ll
M llvm/test/ThinLTO/X86/cache-config.ll
M llvm/test/Transforms/FixIrreducible/switch.ll
M llvm/test/Transforms/IndVarSimplify/X86/iv-widen.ll
M llvm/test/Transforms/IndVarSimplify/backedge-on-min-max.ll
M llvm/test/Transforms/IndVarSimplify/sharpen-range.ll
M llvm/test/Transforms/LICM/argmemonly-call.ll
M llvm/test/Transforms/LICM/assume.ll
M llvm/test/Transforms/LICM/basictest.ll
M llvm/test/Transforms/LICM/call-hoisting.ll
M llvm/test/Transforms/LICM/crash.ll
M llvm/test/Transforms/LICM/dbg-value-sink.ll
M llvm/test/Transforms/LICM/debug-value.ll
M llvm/test/Transforms/LICM/extra-copies.ll
M llvm/test/Transforms/LICM/fence.ll
M llvm/test/Transforms/LICM/funclet.ll
M llvm/test/Transforms/LICM/guards.ll
M llvm/test/Transforms/LICM/hoist-round.ll
M llvm/test/Transforms/LICM/invariant.start.ll
M llvm/test/Transforms/LICM/lcssa-ssa-promoter.ll
M llvm/test/Transforms/LICM/no-preheader-test.ll
M llvm/test/Transforms/LICM/opt-remarks-conditional-load.ll
M llvm/test/Transforms/LICM/opt-remarks-intervening-store.ll
M llvm/test/Transforms/LICM/opt-remarks.ll
M llvm/test/Transforms/LICM/preheader-safe.ll
M llvm/test/Transforms/LICM/promote-order.ll
M llvm/test/Transforms/LICM/read-only-calls.ll
M llvm/test/Transforms/LICM/scalar-promote-memmodel.ll
M llvm/test/Transforms/LICM/scalar-promote-unwind.ll
M llvm/test/Transforms/LICM/scalar-promote.ll
M llvm/test/Transforms/LICM/speculate.ll
M llvm/test/Transforms/LICM/store-hoisting.ll
M llvm/test/Transforms/LICM/volatile-alias.ll
M llvm/test/Transforms/LoopIdiom/nontemporal_store.ll
M llvm/test/Transforms/LoopRotate/RISCV/invalid-cost.ll
M llvm/test/Transforms/LoopRotate/basic.ll
M llvm/test/Transforms/LoopRotate/call-prepare-for-lto.ll
M llvm/test/Transforms/LoopRotate/noalias.ll
M llvm/test/Transforms/LoopStrengthReduce/ivchain.ll
M llvm/test/Transforms/LowerAtomic/atomic-load.ll
M llvm/test/Transforms/LowerAtomic/atomic-swap.ll
M llvm/test/Transforms/LowerAtomic/barrier.ll
M llvm/test/Transforms/LowerInvoke/2003-12-10-Crash.ll
M llvm/test/Transforms/LowerInvoke/lowerinvoke.ll
M llvm/test/Transforms/LowerSwitch/2003-05-01-PHIProblem.ll
M llvm/test/Transforms/LowerSwitch/2003-08-23-EmptySwitch.ll
M llvm/test/Transforms/LowerSwitch/2004-03-13-SwitchIsDefaultCrash.ll
M llvm/test/Transforms/LowerSwitch/2014-06-10-SwitchContiguousOpt.ll
M llvm/test/Transforms/LowerSwitch/2014-06-11-SwitchDefaultUnreachableOpt.ll
M llvm/test/Transforms/LowerSwitch/2014-06-23-PHIlowering.ll
M llvm/test/Transforms/LowerSwitch/condition-phi-unreachable-default.ll
M llvm/test/Transforms/LowerSwitch/delete-default-block-crash.ll
M llvm/test/Transforms/LowerSwitch/do-not-handle-impossible-values.ll
M llvm/test/Transforms/LowerSwitch/feature.ll
M llvm/test/Transforms/LowerSwitch/fold-popular-case-to-unreachable-default.ll
M llvm/test/Transforms/LowerSwitch/phi-in-dead-block.ll
M llvm/test/Transforms/LowerSwitch/pr59316.ll
M llvm/test/Transforms/StructurizeCFG/switch.ll
M llvm/test/Transforms/UnifyFunctionExitNodes/unreachable-blocks-status.ll
M llvm/test/Transforms/UnifyLoopExits/basic.ll
M llvm/test/Transforms/UnifyLoopExits/nested.ll
M llvm/test/Transforms/UnifyLoopExits/restore-ssa.ll
M llvm/test/Transforms/UnifyLoopExits/switch.ll
A llvm/test/Transforms/Util/flatten-cfg.ll
R llvm/test/Transforms/Util/flattencfg.ll
M llvm/test/Transforms/Util/lowerinvoke-funclet.ll
M llvm/test/Transforms/Util/lowerswitch.ll
M llvm/test/tools/llvm-lto2/X86/pipeline.ll
Log Message:
-----------
[Pass] Add hyphen to some pass names (#74287)
Here is the list of the renamed passes:
- `callbrprepare` -> `callbr-prepare`
- `dwarfehprepare` -> `dwarf-eh-prepare`
- `flattencfg` -> `flatten-cfg`
- `loweratomic` -> `lower-atomic`
- `lowerinvoke` -> `lower-invoke`
- `lowerswitch` -> `lower-switch`
- `winehprepare` -> `win-eh-prepare`
- `targetir` -> `target-ir`
- `targetlibinfo` -> `target-lib-info`
Legacy passes are not affected.
Commit: a46422a77668be6ce10d229480c720035056f4b3
https://github.com/llvm/llvm-project/commit/a46422a77668be6ce10d229480c720035056f4b3
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/Attributor/nofpclass-implied-by-fcmp.ll
M llvm/test/Transforms/InstSimplify/assume-fcmp-constant-implies-class.ll
Log Message:
-----------
Reapply "ValueTracking: Identify implied fp classes by general fcmp (#66505)"
This reverts commit 0d0c2298552222b049fa3b8db5efef4b161e51e9.
Includes a bug fix for fcmp one handling, as well as for positive constants.
Commit: 2c49586e1b9ab917877a6af8e1669854899687d3
https://github.com/llvm/llvm-project/commit/2c49586e1b9ab917877a6af8e1669854899687d3
Author: David Green <david.green at arm.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/test/CodeGen/Thumb2/mve-vcvt16.ll
Log Message:
-----------
[ARM] Fix MVEFloatOps check on creating VCVTN (#79291)
In the past PerformSplittingToNarrowingStores handled both int and float
ops, but since the introduction of MVETRUNC now only operates on float
operations, creating VCVTN nodes. It should be guarded by hasMVEFloatOps
to prevent a failure to select.
Commit: 41fe98a6e7e5cdcab4a4e9e0d09339231f480c01
https://github.com/llvm/llvm-project/commit/41fe98a6e7e5cdcab4a4e9e0d09339231f480c01
Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/test/TableGen/address-space-patfrags.td
M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
Log Message:
-----------
[TableGen] Use MapVector to remove non-determinism
This fixes found non-determinism when `LLVM_REVERSE_ITERATION`
option is `ON`.
Fixes #79420.
Reviewers: ilovepi, MaskRay
Reviewed By: MaskRay
Pull Request: https://github.com/llvm/llvm-project/pull/79411
Commit: fa13c3eea7fbc34310f2fb602aa7f0983d5a0ea4
https://github.com/llvm/llvm-project/commit/fa13c3eea7fbc34310f2fb602aa7f0983d5a0ea4
Author: Guray Ozen <guray.ozen at gmail.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M mlir/lib/Conversion/NVGPUToNVVM/NVGPUToNVVM.cpp
M mlir/test/Conversion/NVGPUToNVVM/nvgpu-to-nvvm.mlir
Log Message:
-----------
[mlir][nvgpu] Fix `transposeB` in `nvgpu.warpgroup.mma` (#79271)
The #76150 fixed meaning of `transposeB` in NVVM dialect which was
initially implemented with opposite meaning.
This PR fixes the lowering of `nvgpu.warpgroup.mma` to NVVM dialect.
This will fix two integration tests:
gemm_f32_f16_f16_128x128x128.mlir
gemm_pred_f32_f16_f16_128x128x128.mlir
Commit: d5c9d402f07e7448cd46870a59d981f582682548
https://github.com/llvm/llvm-project/commit/d5c9d402f07e7448cd46870a59d981f582682548
Author: Mikael Holmen <mikael.holmen at ericsson.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNDPPCombine.cpp
Log Message:
-----------
[AMDGPU] Fix warnings about unused variables [NFC]
Without this gcc warned like
../lib/Target/AMDGPU/GCNDPPCombine.cpp:371: warning: unused variable 'OpSelOpr' [-Wunused-variable]
371 | if (auto *OpSelOpr =
|
../lib/Target/AMDGPU/GCNDPPCombine.cpp:388: warning: unused variable 'OpSelHiOpr' [-Wunused-variable]
388 | if (auto *OpSelHiOpr =
|
Remove the unused variables.
Commit: a15ebe0246c75faedfe9cb2fbc6ea7b62e265026
https://github.com/llvm/llvm-project/commit/a15ebe0246c75faedfe9cb2fbc6ea7b62e265026
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M flang/lib/Optimizer/CodeGen/BoxedProcedure.cpp
M flang/test/Fir/boxproc-2.fir
Log Message:
-----------
[flang] fix procedure fir.box_addr identification in boxed-procedure (#79290)
The pass was mistakenly identifying a fir.box_addr on a
fir.box/fir.class of a derived type with procedure pointer components as
being a fir.box_addr on a procedure.
Simply check if the input type is a fir.box_proc or function type (if
input already rewritten) and insert convert only in this case.
This caused "invalid fir.convert" internal error.
Commit: 1a14c446dd800b1d79fed1735c48e392d06e495d
https://github.com/llvm/llvm-project/commit/1a14c446dd800b1d79fed1735c48e392d06e495d
Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M clang/test/Preprocessor/riscv-target-features.c
M llvm/docs/RISCVUsage.rst
M llvm/lib/Support/RISCVISAInfo.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVInstrInfoA.td
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/MC/RISCV/rv32i-invalid.s
M llvm/test/MC/RISCV/rv32zaamo-invalid.s
M llvm/test/MC/RISCV/rv32zaamo-valid.s
M llvm/test/MC/RISCV/rv32zalrsc-invalid.s
M llvm/test/MC/RISCV/rv32zalrsc-valid.s
M llvm/test/MC/RISCV/rv64zaamo-invalid.s
M llvm/test/MC/RISCV/rv64zaamo-valid.s
M llvm/test/MC/RISCV/rv64zalrsc-invalid.s
M llvm/test/MC/RISCV/rv64zalrsc-valid.s
M llvm/unittests/Support/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV][MC] Add experimental support of Zaamo and Zalrsc
`A` extension has been split into two parts: Zaamo (Atomic Memory
Operations) and Zalrsc (Load-Reserved/Store-Conditional). See also
https://github.com/riscv/riscv-zaamo-zalrsc.
This patch adds the MC support.
Reviewers: dtcxzyw, topperc, kito-cheng
Reviewed By: topperc
Pull Request: https://github.com/llvm/llvm-project/pull/78970
Commit: 3fdb431b636975f2062b1931158aa4dfce6a3ff1
https://github.com/llvm/llvm-project/commit/3fdb431b636975f2062b1931158aa4dfce6a3ff1
Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/CMakeLists.txt
M llvm/lib/Target/RISCV/RISCV.td
M llvm/lib/Target/RISCV/RISCVFeatures.td
R llvm/lib/Target/RISCV/RISCVMacroFusion.cpp
R llvm/lib/Target/RISCV/RISCVMacroFusion.h
A llvm/lib/Target/RISCV/RISCVMacroFusion.td
M llvm/lib/Target/RISCV/RISCVSubtarget.cpp
M llvm/lib/Target/RISCV/RISCVSubtarget.h
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
Log Message:
-----------
[RISCV] Use TableGen-based macro fusion (#72224)
We convert existed macro fusions to TableGen.
Bacause `Fusion` depend on `Instruction` definitions which is defined
below `RISCVFeatures.td`, so we recommend user to add fusion features
when defining new processor.
Commit: 50cc07f1bc3e4527a51b0aed6cf0479e87d61f37
https://github.com/llvm/llvm-project/commit/50cc07f1bc3e4527a51b0aed6cf0479e87d61f37
Author: Danial Klimkin <dklimkin at users.noreply.github.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/math/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/utils/MPFRWrapper/BUILD.bazel
Log Message:
-----------
Fix bazel build past 72ce6294157964042b7ed5576ce2c99257eeea9d (#79424)
Commit: 12a8bc09ca4fa975d3e79a05e1fb14f03b23e3d5
https://github.com/llvm/llvm-project/commit/12a8bc09ca4fa975d3e79a05e1fb14f03b23e3d5
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
A llvm/include/llvm/CodeGen/FreeMachineFunction.h
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/CodeGen/CMakeLists.txt
A llvm/lib/CodeGen/FreeMachineFunction.cpp
M llvm/lib/CodeGen/MachinePassManager.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/tools/llc/NewPMDriver.cpp
Log Message:
-----------
[CodeGen] Port FreeMachineFunction to new pass manager (#79421)
This pass should be the last machine function pass in pipeline, also
ignore `PI.runAfterPass(*P, MF, PassPA);` to avoid accessing a dangling
reference.
Commit: 03cf0e9354e7e56ff794e9efb682ed2971bc91ec
https://github.com/llvm/llvm-project/commit/03cf0e9354e7e56ff794e9efb682ed2971bc91ec
Author: Paschalis Mpeis <paschalis.mpeis at arm.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/test/Driver/fveclib.c
Log Message:
-----------
[LTO] Fix Veclib flags correctly pass to LTO flags (#78749)
Flags `-fveclib=name` were not passed to LTO flags.
This pass fixes that by converting the `-fveclib` flags to their
relevant names for opt's `-vector-lib=name` flags.
For example:
`-fveclib=SLEEF` would become `-vector-library=sleefgnuabi` and passed
through the `-plugin-opt` flag.
Commit: f9dc0b6c8a6804a78e88c44018d6148bdf4c64c3
https://github.com/llvm/llvm-project/commit/f9dc0b6c8a6804a78e88c44018d6148bdf4c64c3
Author: Danial Klimkin <dklimkin at users.noreply.github.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
Fix bazel build past 3fdb431b636975f2062b1931158aa4dfce6a3ff1 (#79429)
Commit: 45fec0c110cccd5e0c9b60d51bc2ffc1645c9a40
https://github.com/llvm/llvm-project/commit/45fec0c110cccd5e0c9b60d51bc2ffc1645c9a40
Author: Daniil Dudkin <unterumarmung at yandex.ru>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M clang-tools-extra/clang-apply-replacements/lib/Tooling/ApplyReplacements.cpp
A clang-tools-extra/test/clang-apply-replacements/Inputs/yml-basic/basic.h
A clang-tools-extra/test/clang-apply-replacements/Inputs/yml-basic/file1.yml
A clang-tools-extra/test/clang-apply-replacements/Inputs/yml-basic/file2.yml
A clang-tools-extra/test/clang-apply-replacements/yml-basic.cpp
Log Message:
-----------
[clang-apply-replacements] Add support for the `.yml` file extension (#78842)
The `.yml` file extension is a valid extension for the YAML files, but
it was not previously supported by the Clang Apply Replacements tool.
This commit adds support for processing `.yml` files. Without this
change, running the tool on a folder containing `.yml` files generated
by clang-tidy would have no effect.
Commit: 5cc0f76d34c7d00fa3e4ff01efe24d5de592e82c
https://github.com/llvm/llvm-project/commit/5cc0f76d34c7d00fa3e4ff01efe24d5de592e82c
Author: Matthias Springer <me at m-sp.org>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/lib/Optimizer/HLFIR/Transforms/BufferizeHLFIR.cpp
M mlir/include/mlir/IR/Builders.h
M mlir/include/mlir/IR/PatternMatch.h
M mlir/include/mlir/Transforms/DialectConversion.h
M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
M mlir/lib/Dialect/Async/Transforms/AsyncParallelFor.cpp
M mlir/lib/Dialect/Bufferization/Transforms/Bufferize.cpp
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/SCF/Transforms/ForToWhile.cpp
M mlir/lib/Dialect/Tensor/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/lib/IR/Builders.cpp
M mlir/lib/IR/PatternMatch.cpp
M mlir/lib/Transforms/Utils/DialectConversion.cpp
M mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp
M mlir/lib/Transforms/Utils/LoopInvariantCodeMotionUtils.cpp
M mlir/test/lib/Dialect/SCF/TestSCFUtils.cpp
M mlir/test/lib/Dialect/Test/TestPatterns.cpp
M mlir/test/lib/IR/TestClone.cpp
M mlir/test/lib/Transforms/TestConstantFold.cpp
Log Message:
-----------
[mlir][IR] Add rewriter API for moving operations (#78988)
The pattern rewriter documentation states that "*all* IR mutations [...]
are required to be performed via the `PatternRewriter`." This commit
adds two functions that were missing from the rewriter API:
`moveOpBefore` and `moveOpAfter`.
After an operation was moved, the `notifyOperationInserted` callback is
triggered. This allows listeners such as the greedy pattern rewrite
driver to react to IR changes.
This commit narrows the discrepancy between the kind of IR modification
that can be performed and the kind of IR modifications that can be
listened to.
Commit: bcd14b099dd3d0b9c9336e5cdf7e35279c5cc33b
https://github.com/llvm/llvm-project/commit/bcd14b099dd3d0b9c9336e5cdf7e35279c5cc33b
Author: Kohei Yamaguchi <fix7211 at gmail.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M mlir/lib/Dialect/Bufferization/IR/BufferizationOps.cpp
M mlir/test/Dialect/Bufferization/canonicalize.mlir
Log Message:
-----------
[mlir][bufferization] Fix SimplifyClones with dealloc before cloneOp (#79098)
The SimplifyClones pass relies on the assumption that the deallocOp
follows the cloneOp. However, a crash occurs when there is a
redundantDealloc preceding the cloneOp. This PR addresses the issue by
ensuring the presence of deallocOp after cloneOp. The verification is
performed by checking if the loop of the sub sequent node of cloneOp
reaches the tail of the list.
Fix #74306
Commit: e4375bf47fafb0cfcb2288ecfad94dfe63ca994c
https://github.com/llvm/llvm-project/commit/e4375bf47fafb0cfcb2288ecfad94dfe63ca994c
Author: Mikael Holmen <mikael.holmen at ericsson.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86FixupVectorConstants.cpp
Log Message:
-----------
[X86] Fix warning about unused variable [NFC]
Without this gcc complains like
../lib/Target/X86/X86FixupVectorConstants.cpp:70:13: warning: unused variable 'CUndef' [-Wunused-variable]
70 | if (auto *CUndef = dyn_cast<UndefValue>(C))
| ^~~~~~
Remove the unused variable and change dyn_cast to isa.
Commit: 2aa8945d5957b25473c42e9edc6788ae54bb1f2f
https://github.com/llvm/llvm-project/commit/2aa8945d5957b25473c42e9edc6788ae54bb1f2f
Author: Ivan Kosarev <ivan.kosarev at amd.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
Log Message:
-----------
[AMDGPU][NFC] Use templates to decode AV operands. (#79313)
Eliminates the need to define them manually.
Part of <https://github.com/llvm/llvm-project/issues/62629>.
Commit: 4b8e55cb04e68053a80f4ee26f4efbf08fe30b02
https://github.com/llvm/llvm-project/commit/4b8e55cb04e68053a80f4ee26f4efbf08fe30b02
Author: Ivan Kosarev <ivan.kosarev at amd.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/BUFInstructions.td
M llvm/lib/Target/AMDGPU/DSDIRInstructions.td
M llvm/lib/Target/AMDGPU/DSInstructions.td
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/VINTERPInstructions.td
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/lib/Target/AMDGPU/VOP2Instructions.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
M llvm/lib/Target/AMDGPU/VOPCInstructions.td
Log Message:
-----------
[AMDGPU][AsmParser][NFC] Rename integer modifier operands to follow the convention. (#79284)
Part of <https://github.com/llvm/llvm-project/issues/62629>.
Commit: 223d3dabc8b75a75276ef0544132ba0df4498fb3
https://github.com/llvm/llvm-project/commit/223d3dabc8b75a75276ef0544132ba0df4498fb3
Author: David Green <david.green at arm.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M flang/include/flang/Optimizer/Support/Utils.h
M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
M flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp
A flang/test/HLFIR/minloc-elemental.fir
M flang/test/Transforms/simplifyintrinsics.fir
Log Message:
-----------
[Flang] Minloc elemental intrinsic lowering (#74828)
Currently the lowering of a minloc intrinsic with a mask will look something
like:
%e = hlfir.elemental %shape ({
...
})
%m = hlfir.minloc %array mask %e
hlfir.assign %m to %result
hlfir.destroy %m
The elemental will be expanded into a temporary+loop, the minloc into a
FortranAMinloc call (which hopefully gets simplified to a specialized call that
can be inlined at the call site), and the assign might get expanded to a
FortranAAssign. It would be better to generate the entire construct as single
loop if we can - one that performs the minloc calculation with the mask
elemental computed inline.
This patch attempt to do that, adding a hlfir version of the expansion code
from SimplifyIntrinsics that turns an minloc+elemental into a single combined
loop nest. It attempts to reuse the methods in genMinlocReductionLoop for
constructing the loop with a modified loop body. The declaration for the
function is currently in Optimizer/Support/Utils.h, but there might be a better
place for it.
It is added as part of the OptimizedBufferizationPass, like the
similar count/any/all that have been added recently.
Commit: f4ed7f8d0a3830d05e53476fc64966e871bf9454
https://github.com/llvm/llvm-project/commit/f4ed7f8d0a3830d05e53476fc64966e871bf9454
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M clang/lib/Parse/ParseDeclCXX.cpp
Log Message:
-----------
[clang][Parse][NFC] Make a local variable const
Commit: a04f6152914ea21f3068aaba9d8fc21d2e703d3e
https://github.com/llvm/llvm-project/commit/a04f6152914ea21f3068aaba9d8fc21d2e703d3e
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
A llvm/test/Transforms/LoopVectorize/vplan-native-inner-loop-only.ll
Log Message:
-----------
[LV] Check for innermost loop instead of EnableVPlanNativePath in CM.
Replace EnableVPlanNativePath checks in the cost-model by assertions
that the code is only called for innermost loops. This ensures that the
cost model isn't used in the VPlanNativePath, which is only used for
outer-loop vectorization.
Even with EnableVPlanNativePath, inner loops are processed by the
inner loop vectorization path, not the native path, so checking for
EnableVPlanNativePath may impact decisions for inner loops and can
cause crashes, like in the attached test case.
Commit: e5e1a8931044fe384f222fe0af4a1de595b941a3
https://github.com/llvm/llvm-project/commit/e5e1a8931044fe384f222fe0af4a1de595b941a3
Author: Nico Weber <thakis at chromium.org>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/CodeGen/BUILD.gn
Log Message:
-----------
[gn] port 12a8bc09ca4f
Commit: 8252137b9a6b909c308123f64a41d1fff6fdcbca
https://github.com/llvm/llvm-project/commit/8252137b9a6b909c308123f64a41d1fff6fdcbca
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/test/Lower/structure-constructors-alloc-comp.f90
Log Message:
-----------
[flang] Lower struct ctor with character allocatable components (#79179)
There is no need to gather the length parameters from the parameter
symbols when facing a deferred length allocatable components in a
structure constructor, the length is set as part of the assignment given
the value.
Remove the checks for derived type runtime info symbols, this is not
relevant for what is being tested here.
Commit: 3490f037c3c750416ad224147b32c92bf6c7db0f
https://github.com/llvm/llvm-project/commit/3490f037c3c750416ad224147b32c92bf6c7db0f
Author: Danial Klimkin <dklimkin at users.noreply.github.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/stdlib/BUILD.bazel
Log Message:
-----------
More bazel fixes past 72ce6294157964042b7ed5576ce2c99257eeea9d (#79442)
Commit: 47a2e732100c4102a1a5f3243123638f157c9a2a
https://github.com/llvm/llvm-project/commit/47a2e732100c4102a1a5f3243123638f157c9a2a
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/include/llvm/IR/DebugProgramInstruction.h
M llvm/include/llvm/IR/Instruction.h
M llvm/lib/IR/Instruction.cpp
Log Message:
-----------
[DebugInfo][RemoveDIs] Make getDbgValueRange inlineable (#79331)
`getDbgValueRange` is the replacement of a common LLVM idiom of:
1) Am I currently looking at a `DbgVariableIntrinsic` instruction?
2) Let's do something special with it!
We instead iterate over the range of DPValues attached to an instruction
and do special things with those. Unfortunately in the common case of
"there is no debug-info", this generates a spurious function call that's
paid by non-debug builds.
To get around this, make `getDbgValueRange` inlineable so that the "`if
(DbgMarker)`" test can be inlined and guard the more expensive call. The
false path should be optimisable-awayable to skipping the loop. However,
due to header inclusion order we can't just make
`Instruction::getDbgValueRange` inline because `DPMarker` hasn't been
declared yet. So, define an inlinable function in the llvm:: namespace
and pre-declare it -- the eventual code should be inlineable almost 100%
of the time.
Commit: cd0b0055a730e55f2f14f35172e05dc27642f8ce
https://github.com/llvm/llvm-project/commit/cd0b0055a730e55f2f14f35172e05dc27642f8ce
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M clang/test/AST/Interp/complex.cpp
Log Message:
-----------
[clang][Interp][NFC] Add some working _Complex tests
Commit: 215b8f1e252b4f30cf1b734faa370c0ac4b88659
https://github.com/llvm/llvm-project/commit/215b8f1e252b4f30cf1b734faa370c0ac4b88659
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/IR/LegacyPassManager.cpp
M llvm/lib/Linker/IRMover.cpp
M llvm/lib/Transforms/Utils/ValueMapper.cpp
M llvm/test/LTO/X86/pr38046.ll
M llvm/test/Linker/debug-info-use-before-def.ll
M llvm/test/Linker/thinlto_funcimport_debug.ll
M llvm/test/ThinLTO/X86/debuginfo-cu-import.ll
M llvm/test/ThinLTO/X86/pr35472.ll
M llvm/tools/llvm-link/llvm-link.cpp
M llvm/tools/llvm-lto/llvm-lto.cpp
M llvm/tools/llvm-lto2/llvm-lto2.cpp
Log Message:
-----------
[DebugInfo][RemoveDIs] Convert debug-info modes when loading bitcode (#78967)
As part of eliminating debug-intrinsics in LLVM, we'll shortly be
pushing the conversion from "old" dbg.value mode to "new" DPValue mode
out from when the pass manager runs, to when modules are loaded. This
patch adds that conversion process and some (temporary) options to
llvm-lto{,2} to help test it.
Specifically: now whenever we load a bitcode module, consider a flag of
whether to "upgrade" it into the new debug-info mode, and if we're
lazily materializing functions then do that lazily too. Doing this
exposes an error in the IRLinker/materializer handling of DPValues,
where we need to transfer the debug-info format flag correctly, and in
ValueMapper we need to remap the Values that DPValues point at.
I've added some test coverage in the modified tests; these will be
exercised by our llvm-new-debug-iterators buildbot.
This upgrading of debug-info won't be happening for the llvm18 release,
instead we'll turn it on after the branch date, thenbe push the boundary
of where "new" debug-info starts and ends down into the existing
debug-info upgrade path over the course of the next release.
Commit: b0b7be2701845484f92295daa95b80a13e24f9b2
https://github.com/llvm/llvm-project/commit/b0b7be2701845484f92295daa95b80a13e24f9b2
Author: Ivan Kosarev <ivan.kosarev at amd.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
Log Message:
-----------
[AMDGPU][NFC] Rename the reg-or-imm operand predicates to match their class names. (#79439)
No need to have two names for the same thing. Also simplifies operand
definitions.
Part of <https://github.com/llvm/llvm-project/issues/62629>.
Commit: 202917f86ebcbed5c8bc10e0cc7cce820747e3cb
https://github.com/llvm/llvm-project/commit/202917f86ebcbed5c8bc10e0cc7cce820747e3cb
Author: David Green <david.green at arm.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M flang/include/flang/Optimizer/Support/Utils.h
M flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp
Log Message:
-----------
[Flang] Move genMinMaxlocReductionLoop to a common location.
The shared library build doesn't like references of genMinMaxlocReductionLoop,
in Optimizer/Transforms, from HLFIR/Optimizer/Transforms. For the moment I've
moved the code to the header file where it can be shared, like other methods in
Utils.h
Commit: 71c52e4236a9eb586a9271240442c5dbfce17488
https://github.com/llvm/llvm-project/commit/71c52e4236a9eb586a9271240442c5dbfce17488
Author: Nico Weber <thakis at chromium.org>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/RISCV/BUILD.gn
Log Message:
-----------
[gn build] Port 3fdb431b6369
Commit: 45cc2a19cad7c3b180da67a27199fb5a1e17a71f
https://github.com/llvm/llvm-project/commit/45cc2a19cad7c3b180da67a27199fb5a1e17a71f
Author: Nico Weber <thakis at chromium.org>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/RISCV/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/Target/RISCV/BUILD.gn
Log Message:
-----------
[gn] port 12a8bc0 more
The test reaches into internal headers. Make sure generated files
are ready for that.
(This is the only place. If there were more, we should use public_deps
instead.)
Commit: a04d4a03f7737202b5cd05687e08ed8748ef7352
https://github.com/llvm/llvm-project/commit/a04d4a03f7737202b5cd05687e08ed8748ef7352
Author: John Brawn <john.brawn at arm.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopFlatten.cpp
M llvm/test/Transforms/LoopFlatten/loop-flatten-negative.ll
A llvm/test/Transforms/LoopFlatten/loop-flatten-version.ll
M llvm/test/Transforms/LoopFlatten/widen-iv.ll
Log Message:
-----------
[LoopFlatten] Use loop versioning when overflow can't be disproven (#78576)
Implement the TODO in loop flattening to version the loop when we can't
prove that the trip count calculation won't overflow.
Commit: c3f7fb1421e1dbf2fb1d5594bfa801489bdab421
https://github.com/llvm/llvm-project/commit/c3f7fb1421e1dbf2fb1d5594bfa801489bdab421
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/IR/LegacyPassManager.cpp
M llvm/lib/Linker/IRMover.cpp
M llvm/lib/Transforms/Utils/ValueMapper.cpp
M llvm/test/LTO/X86/pr38046.ll
M llvm/test/Linker/debug-info-use-before-def.ll
M llvm/test/Linker/thinlto_funcimport_debug.ll
M llvm/test/ThinLTO/X86/debuginfo-cu-import.ll
M llvm/test/ThinLTO/X86/pr35472.ll
M llvm/tools/llvm-link/llvm-link.cpp
M llvm/tools/llvm-lto/llvm-lto.cpp
M llvm/tools/llvm-lto2/llvm-lto2.cpp
Log Message:
-----------
Revert "[DebugInfo][RemoveDIs] Convert debug-info modes when loading bitcode (#78967)"
This reverts commit 215b8f1e252b4f30cf1b734faa370c0ac4b88659.
Numerous builders exploded from this X_X, for example
https://lab.llvm.org/buildbot/#/builders/46/builds/62657
Commit: 6fe21bc1dac883efa0dfa807f327048ae9969b81
https://github.com/llvm/llvm-project/commit/6fe21bc1dac883efa0dfa807f327048ae9969b81
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/extractelement-multi-register-use.ll
Log Message:
-----------
[SLP]Fix PR79229: Do not erase extractelement, if it used in
multiregister node.
If the node can be span between several registers and same
extractelement instruction is used in several parts, it may be required
to keep such extractelement instruction to avoid compiler crash.
Commit: ee15e2bd32a4677c40d927c732b26d33f88d7865
https://github.com/llvm/llvm-project/commit/ee15e2bd32a4677c40d927c732b26d33f88d7865
Author: Alexandre Ganea <alex_toresh at yahoo.fr>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M clang/lib/AST/AttrDocTable.cpp
Log Message:
-----------
[clang] Silence warning when building with MSVC targetting x86
This fixes:
```
[3786/6996] Building CXX object tools\clang\lib\AST\CMakeFiles\obj.clangAST.dir\AttrDocTable.cpp.obj
C:\git\llvm-project\clang\lib\AST\AttrDocTable.cpp(24): warning C4018: '<': signed/unsigned mismatch
```
Commit: 419d6ea135dd205e1eaab368a58ae14f9f52f699
https://github.com/llvm/llvm-project/commit/419d6ea135dd205e1eaab368a58ae14f9f52f699
Author: Alexandre Ganea <alex_toresh at yahoo.fr>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M clang/lib/CodeGen/CGExpr.cpp
Log Message:
-----------
[clang] Silence warning when compiling with MSVC targetting x86
This fixes:
```
[3963/6996] Building CXX object tools\clang\lib\CodeGen\CMakeFiles\obj.clangCodeGen.dir\CGExpr.cpp.obj
C:\git\llvm-project\clang\lib\CodeGen\CGExpr.cpp(3808): warning C4018: '<=': signed/unsigned mismatch
```
Commit: f33f5a04e9feeb9b473694825d84da8322f87df9
https://github.com/llvm/llvm-project/commit/f33f5a04e9feeb9b473694825d84da8322f87df9
Author: Alexandre Ganea <alex_toresh at yahoo.fr>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M clang-tools-extra/clangd/InlayHints.cpp
Log Message:
-----------
[clangd] Silence warning when compiling with MSVC targetting x86
This fixes:
```
[5240/6995] Building CXX object tools\clang\tools\extra\clangd\CMakeFiles\obj.clangDaemon.dir\InlayHints.cpp.obj
C:\git\llvm-project\clang-tools-extra\clangd\InlayHints.cpp(1098): warning C4018: '<': signed/unsigned mismatch
```
Commit: 3fec25c55f1890c138e64548dc074b4593e0a26c
https://github.com/llvm/llvm-project/commit/3fec25c55f1890c138e64548dc074b4593e0a26c
Author: Alexandre Ganea <alex_toresh at yahoo.fr>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M lld/COFF/PDB.cpp
Log Message:
-----------
[LLD] Silence warning when compiling with MSVC targetting x86
This fixes:
```
[5383/6995] Building CXX object tools\lld\COFF\CMakeFiles\lldCOFF.dir\PDB.cpp.obj
C:\git\llvm-project\lld\COFF\PDB.cpp(835): warning C4018: '>=': signed/unsigned mismatch
```
Commit: 452a2c6e3575d56a34c34472b9f829cb17e2b564
https://github.com/llvm/llvm-project/commit/452a2c6e3575d56a34c34472b9f829cb17e2b564
Author: Alexandre Ganea <alex_toresh at yahoo.fr>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/MachOBuilder.h
Log Message:
-----------
[llvm] Silence warning when compiling with MSVC targetting x86
This fixes:
```
[1614/6998] Building CXX object lib\ExecutionEngine\Orc\CMakeFiles\LLVMOrcJIT.dir\MachOPlatform.cpp.obj
C:\git\llvm-project\llvm\include\llvm/ExecutionEngine/Orc/MachOBuilder.h(367): warning C4334: '<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?)
```
Commit: 3db3e2cea321aba58fcf1905e06a92567e892588
https://github.com/llvm/llvm-project/commit/3db3e2cea321aba58fcf1905e06a92567e892588
Author: Alexandre Ganea <alex_toresh at yahoo.fr>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/lib/Object/DXContainer.cpp
Log Message:
-----------
[llvm] Silence warning when compiling with MSVC targetting x86
This fixes:
```
[1265/6998] Building CXX object lib\Object\CMakeFiles\LLVMObject.dir\DXContainer.cpp.obj
C:\git\llvm-project\llvm\lib\Object\DXContainer.cpp(344): warning C4018: '<': signed/unsigned mismatch
```
Commit: f42f551d12466c5f17f91cb44592e8dcb4118f07
https://github.com/llvm/llvm-project/commit/f42f551d12466c5f17f91cb44592e8dcb4118f07
Author: Alexandre Ganea <alex_toresh at yahoo.fr>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/lib/ObjectYAML/COFFYAML.cpp
Log Message:
-----------
[llvm] Silence warning when compiling with MSVC targetting x86
This fixes:
```
[1304/6998] Building CXX object lib\ObjectYAML\CMakeFiles\LLVMObjectYAML.dir\COFFYAML.cpp.obj
C:\git\llvm-project\llvm\lib\ObjectYAML\COFFYAML.cpp(561): warning C4018: '<': signed/unsigned mismatch
```
Commit: 03e4070ce1f834eb426aa8f8622838c40ff5c710
https://github.com/llvm/llvm-project/commit/03e4070ce1f834eb426aa8f8622838c40ff5c710
Author: Alexandre Ganea <alex_toresh at yahoo.fr>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
Log Message:
-----------
[lldb] Silence warning when building with Clang ToT
This fixes:
```
[6331/7452] Building CXX object tools\lldb\source\Plugins\Language\CPlusPlus\CMakeFiles\lldbPluginCPlusPlusLanguage.dir\LibCxx.cpp.obj
C:\git\llvm-project\lldb\source\Plugins\Language\CPlusPlus\LibCxx.cpp(1108,38): warning: format specifies type 'long' but the argument has type 'std::time_t' (aka 'long long') [-Wformat]
1108 | stream.Printf("timestamp=%ld s", seconds);
| ~~~ ^~~~~~~
| %lld
C:\git\llvm-project\lldb\source\Plugins\Language\CPlusPlus\LibCxx.cpp(1116,63): warning: format specifies type 'long' but the argument has type 'std::time_t' (aka 'long long') [-Wformat]
1116 | stream.Printf("date/time=%s timestamp=%ld s", str.data(), seconds);
| ~~~ ^~~~~~~
| %lld
2 warnings generated.
```
Commit: 40dcf24522af91ab22af2e69f28d1f1d2a860f5c
https://github.com/llvm/llvm-project/commit/40dcf24522af91ab22af2e69f28d1f1d2a860f5c
Author: Alexandre Ganea <alex_toresh at yahoo.fr>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/tests/sanitizer_bitvector_test.cpp
Log Message:
-----------
[compiler-rt] Silence warning when building with Clang ToT
This fixes:
```
[24/47] Generating SANITIZER_TEST_OBJECTS.sanitizer_bitvector_test.cpp.i386.o
C:/git/llvm-project/compiler-rt/lib/sanitizer_common/tests/sanitizer_bitvector_test.cpp:74:29: warning: format specifies type 'size_t' (aka 'unsigned int') but the argument has type 'value_type' (aka 'unsigned long') [-Wformat]
74 | fprintf(stderr, "%zu ", *it);
| ~~~ ^~~
| %lu
1 warning generated.
```
Commit: af263ceb90b9fe39ae1d3458c9f35b6b199d3951
https://github.com/llvm/llvm-project/commit/af263ceb90b9fe39ae1d3458c9f35b6b199d3951
Author: Alexandre Ganea <alex_toresh at yahoo.fr>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M lld/ELF/MapFile.cpp
Log Message:
-----------
[LLD][ELF] Silence warning when building with Clang ToT
This fixes:
```
[5839/7452] Building CXX object tools\lld\ELF\CMakeFiles\lldELF.dir\MapFile.cpp.obj
C:\git\llvm-project\lld\ELF\MapFile.cpp(124,38): warning: comparison of integers of different signs: 'uint32_t' (aka 'unsigned int') and 'const ssize_t' (aka 'const int') [-Wsign-compare]
124 | last.outputOff + last.size == p.outputOff) {
| ~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~
1 warning generated.
```
Commit: 43ab40a5baba4945efa6d6050ae34817c8044ebf
https://github.com/llvm/llvm-project/commit/43ab40a5baba4945efa6d6050ae34817c8044ebf
Author: Alexandre Ganea <alex_toresh at yahoo.fr>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/lib/Object/ELFObjectFile.cpp
Log Message:
-----------
[llvm] Silence warning when building with Clang ToT
This fixes:
```
[1343/7452] Building CXX object lib\Object\CMakeFiles\LLVMObject.dir\ELFObjectFile.cpp.obj
C:\git\llvm-project\llvm\lib\Object\ELFObjectFile.cpp(808,27): warning: comparison of integers of different signs: 'unsigned int' and '_Iter_diff_t<const Elf_Shdr_Impl<ELFType<llvm::endianness::little, false>> *>' (aka 'int') [-Wsign-compare]
808 | if (*TextSectionIndex != std::distance(Sections.begin(), *TextSecOrErr))
| ~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\git\llvm-project\llvm\lib\Object\ELFObjectFile.cpp(913,12): note: in instantiation of function template specialization 'readBBAddrMapImpl<llvm::object::ELFType<llvm::endianness::little, false>>' requested here
913 | return readBBAddrMapImpl(Obj->getELFFile(), TextSectionIndex, PGOAnalyses);
| ^
```
Commit: ca0e2417912d8dea49c053186402aafe1ac8995a
https://github.com/llvm/llvm-project/commit/ca0e2417912d8dea49c053186402aafe1ac8995a
Author: Alexandre Ganea <alex_toresh at yahoo.fr>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M openmp/runtime/src/kmp_os.h
Log Message:
-----------
[openmp] Silence warning when compiling with MSVC targetting x86
This fixes:
```
[3593/7449] Building CXX object projects\openmp\runtime\src\CMakeFiles\omp.dir\kmp_debug.cpp.obj
C:\git\llvm-project\openmp\runtime\src\kmp_os.h(471): warning C4163: '_InlineInterlockedExchange64': not available as an intrinsic function
```
Commit: ad3cda7a04d4858816cbf38df63dc86d370c2587
https://github.com/llvm/llvm-project/commit/ad3cda7a04d4858816cbf38df63dc86d370c2587
Author: Han-Chung Wang <hanhan0912 at gmail.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M mlir/lib/Dialect/Tensor/Transforms/PackAndUnpackPatterns.cpp
M mlir/test/Dialect/Tensor/simplify-pack-unpack.mlir
Log Message:
-----------
[mlir][tensor] Enhance SimplifyUnPackToCollapseShape for unit dim cases. (#79262)
Commit: 43e46c546a1f0c7c3e436104a974560c6a2e5188
https://github.com/llvm/llvm-project/commit/43e46c546a1f0c7c3e436104a974560c6a2e5188
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M clang/test/CXX/drs/dr4xx.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[clang] Add test for CWG472 (#67948)
https://cplusplus.github.io/CWG/issues/472.html
It has drafting status, but I think CWG has reached consesus on the
behavior.
Related: #16602
Commit: 1f8c3c3ab1321c3e3fb10a5f75851165dfc8c5a5
https://github.com/llvm/llvm-project/commit/1f8c3c3ab1321c3e3fb10a5f75851165dfc8c5a5
Author: Ivan Kosarev <ivan.kosarev at amd.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
Log Message:
-----------
[AMDGPU][NFC] Eliminate unnecessary operand classes. (#79450)
These do not seem to remove many repetitions or add clarity; many of
them are only used once.
Not having them also helps further work getting rid of the decoding
functions defined using macros.
Part of <https://github.com/llvm/llvm-project/issues/62629>.
Commit: 8ff16f646f84c20a298374c7fd3d2b7f9fefe776
https://github.com/llvm/llvm-project/commit/8ff16f646f84c20a298374c7fd3d2b7f9fefe776
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M mlir/lib/Conversion/ArmSMEToSCF/ArmSMEToSCF.cpp
M mlir/test/Conversion/ArmSMEToSCF/arm-sme-to-scf.mlir
Log Message:
-----------
[mlir][ArmSME] Refactor ArmSMEToSCF to used shared loop-building helper (NFC) (#79172)
This will make fixing a bug (next patch) a change to one place, rather
than fixing three separate rewrites.
Note: `TileLoadOpWithMaskAndPadZeroConversion` has been merged into
`TileLoadOpConversion`, since after this change those two rewrites were
pretty much identical.
Commit: 66c710ec9dcdbdec6cadd89b972d8945983dc92f
https://github.com/llvm/llvm-project/commit/66c710ec9dcdbdec6cadd89b972d8945983dc92f
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
Log Message:
-----------
[AMDGPU] Do not bother adding reserved registers to liveins (#79436)
Tweak the implementation of llvm.amdgcn.wave.id to not add TTMP8 to the
function liveins.
Commit: 3f37df5b711773bfd962b703b6d4178e6d16c076
https://github.com/llvm/llvm-project/commit/3f37df5b711773bfd962b703b6d4178e6d16c076
Author: erman-gurses <99776114+erman-gurses at users.noreply.github.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPU.td
M mlir/include/mlir/Dialect/AMDGPU/Transforms/Passes.h
M mlir/include/mlir/Dialect/AMDGPU/Transforms/Passes.td
A mlir/include/mlir/Dialect/AMDGPU/Transforms/Transforms.h
A mlir/include/mlir/Dialect/AMDGPU/Transforms/Utils.h
M mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp
M mlir/lib/Dialect/AMDGPU/Transforms/CMakeLists.txt
A mlir/lib/Dialect/AMDGPU/Transforms/OptimizeSharedMemory.cpp
A mlir/lib/Dialect/AMDGPU/Transforms/Utils.cpp
A mlir/test/Dialect/AMDGPU/optimize_shmem_reads_writes.mlir
Log Message:
-----------
[reland][mlir][amdgpu] Shared memory access optimization pass (#79164)
- Reland: https://github.com/llvm/llvm-project/pull/75627
- Reproduced then fixed the build issue
Commit: f1b1611148fa533fe198fec3fa4ef8139224dc80
https://github.com/llvm/llvm-project/commit/f1b1611148fa533fe198fec3fa4ef8139224dc80
Author: Sean Fertile <35576261+mandlebug at users.noreply.github.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M clang/lib/Driver/Driver.cpp
M clang/test/Driver/fat-lto-objects.c
Log Message:
-----------
[LTO] Fix fat-lto output for -c -emit-llvm. (#79404)
Fix and add a test case for combining '-ffat-lto-objects -c -emit-llvm'
options and fix a spelling mistake in same test.
Commit: 9b71393569ae4508d78b8a21993c21530bfdccc5
https://github.com/llvm/llvm-project/commit/9b71393569ae4508d78b8a21993c21530bfdccc5
Author: NagyDonat <donat.nagy at ericsson.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp
Log Message:
-----------
[analyzer] Avoid a crash in a debug printout function (#79446)
Previously the function `RangeConstraintManager::printValue()` crashed
when it encountered an empty rangeset (because `RangeSet::getBitwidth()`
and `RangeSet::isUnsigned()` assert that the rangeset is not empty).
This commit adds a special case that avoids this behavior.
As `printValue()` is only used by the checker debug.ExprInspection (and
during manual debugging), the impacts of this commit are very limited.
---------
Co-authored-by: Balazs Benics <benicsbalazs at gmail.com>
Commit: c5d59fe1b27414387b598e11b9e33d2f13dff87e
https://github.com/llvm/llvm-project/commit/c5d59fe1b27414387b598e11b9e33d2f13dff87e
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-mad_64_32.mir
M llvm/test/CodeGen/AMDGPU/mad_64_32.ll
Log Message:
-----------
[AMDGPU] Disable V_MAD_U64_U32/V_MAD_I64_I32 workaround for GFX11.5 (#79460)
The hardware bug only affects GFX11.0.x.
Commit: 1f454ede4660477c3782595975def90c26c19881
https://github.com/llvm/llvm-project/commit/1f454ede4660477c3782595975def90c26c19881
Author: Fangrui Song <i at maskray.me>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Fix TLSDESC comment. NFC (#79403)
Fix comment typos in #66915, and relocation type names related to the
example in the psABI
(https://github.com/riscv-non-isa/riscv-elf-psabi-doc/pull/420).
Commit: 184ca39529a93e69eb175861d7fff5fc79988e53
https://github.com/llvm/llvm-project/commit/184ca39529a93e69eb175861d7fff5fc79988e53
Author: Nico Weber <thakis at chromium.org>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/include/llvm/CodeGen/CostTable.h
M llvm/include/llvm/CodeGen/FastISel.h
M llvm/include/llvm/CodeGen/GlobalISel/CallLowering.h
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutor.h
M llvm/include/llvm/CodeGen/GlobalISel/LegacyLegalizerInfo.h
M llvm/include/llvm/CodeGen/GlobalISel/LegalizerInfo.h
M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
R llvm/include/llvm/CodeGen/LowLevelType.h
M llvm/include/llvm/CodeGen/LowLevelTypeUtils.h
M llvm/include/llvm/CodeGen/MachineMemOperand.h
R llvm/include/llvm/CodeGen/MachineValueType.h
M llvm/include/llvm/CodeGen/RegisterBankInfo.h
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/include/llvm/CodeGen/TargetCallingConv.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/CodeGen/ValueTypes.h
A llvm/include/llvm/CodeGenTypes/LowLevelType.h
A llvm/include/llvm/CodeGenTypes/MachineValueType.h
M llvm/include/module.modulemap
M llvm/lib/CMakeLists.txt
M llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp
M llvm/lib/CodeGen/CMakeLists.txt
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerInfo.cpp
R llvm/lib/CodeGen/LowLevelType.cpp
M llvm/lib/CodeGen/MIRParser/MIParser.cpp
M llvm/lib/CodeGen/MIRPrinter.cpp
M llvm/lib/CodeGen/MachineInstr.cpp
M llvm/lib/CodeGen/MachineScheduler.cpp
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp
M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/CodeGen/TargetRegisterInfo.cpp
A llvm/lib/CodeGenTypes/CMakeLists.txt
A llvm/lib/CodeGenTypes/LowLevelType.cpp
M llvm/lib/Target/AArch64/AArch64FastISel.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUGlobalISelUtils.cpp
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/ARM/ARMCallLowering.cpp
M llvm/lib/Target/ARM/ARMFastISel.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMISelLowering.h
M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
M llvm/lib/Target/Hexagon/HexagonISelLowering.h
M llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp
M llvm/lib/Target/Hexagon/HexagonInstrInfo.h
M llvm/lib/Target/Lanai/LanaiISelLowering.cpp
M llvm/lib/Target/M68k/M68kMachineFunction.h
M llvm/lib/Target/Mips/MCTargetDesc/MipsABIInfo.cpp
M llvm/lib/Target/Mips/MipsFastISel.cpp
M llvm/lib/Target/Mips/MipsISelLowering.cpp
M llvm/lib/Target/Mips/MipsISelLowering.h
M llvm/lib/Target/Mips/MipsOptimizePICCall.cpp
M llvm/lib/Target/Mips/MipsSEISelLowering.cpp
M llvm/lib/Target/Mips/MipsSEISelLowering.h
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.h
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyInstPrinter.h
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyTargetStreamer.h
M llvm/lib/Target/WebAssembly/Utils/WebAssemblyTypeUtilities.h
M llvm/lib/Target/X86/GISel/X86CallLowering.cpp
M llvm/lib/Target/X86/GISel/X86InstructionSelector.cpp
M llvm/lib/Target/X86/X86AsmPrinter.cpp
M llvm/lib/Target/X86/X86InterleavedAccess.cpp
M llvm/unittests/CodeGen/MachineOperandTest.cpp
M llvm/unittests/CodeGen/ScalableVectorMVTsTest.cpp
M llvm/utils/TableGen/CodeGenInstruction.h
M llvm/utils/TableGen/CodeGenTarget.h
M llvm/utils/TableGen/DAGISelMatcher.h
M llvm/utils/TableGen/GlobalISelEmitter.cpp
M llvm/utils/TableGen/GlobalISelMatchTable.h
M llvm/utils/TableGen/InfoByHwMode.h
M llvm/utils/TableGen/RegisterInfoEmitter.cpp
M llvm/utils/gn/secondary/llvm/lib/CodeGen/BUILD.gn
M llvm/utils/gn/secondary/llvm/utils/TableGen/BUILD.gn
M llvm/utils/gn/secondary/llvm/utils/TableGen/GlobalISel/BUILD.gn
M mlir/tools/mlir-tblgen/LLVMIRIntrinsicGen.cpp
Log Message:
-----------
[llvm] Move CodeGenTypes library to its own directory (#79444)
Finally addresses https://reviews.llvm.org/D148769#4311232 :)
No behavior change.
Commit: 016b7e8bf4df839f4bf84ee615cbe422e75f7868
https://github.com/llvm/llvm-project/commit/016b7e8bf4df839f4bf84ee615cbe422e75f7868
Author: Nico Weber <thakis at chromium.org>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
A llvm/utils/gn/secondary/llvm/lib/CodeGenTypes/BUILD.gn
Log Message:
-----------
[gn] port 184ca39529a9
Commit: 4a91206359e2f2572e14b754a75c0f7f1aab7346
https://github.com/llvm/llvm-project/commit/4a91206359e2f2572e14b754a75c0f7f1aab7346
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
A llvm/test/Transforms/LoopVectorize/X86/vplan-native-inner-loop-only.ll
R llvm/test/Transforms/LoopVectorize/vplan-native-inner-loop-only.ll
Log Message:
-----------
[llvm][LV] Move new test into X86 subfolder
Added in a04f6152914ea21f3068aaba9d8fc21d2e703d3e.
Failing on our Arm only bots:
https://lab.llvm.org/buildbot/#/builders/245/builds/19684
Commit: b0511419b3fd71fa8f8c3618b7e849aabd2ccf65
https://github.com/llvm/llvm-project/commit/b0511419b3fd71fa8f8c3618b7e849aabd2ccf65
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/Type.h
M clang/include/clang/Basic/AttrDocs.td
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/JSONNodeDumper.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/CodeGen/Targets/RISCV.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaType.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
M clang/test/CodeGen/attr-riscv-rvv-vector-bits-types.c
M clang/test/CodeGenCXX/riscv-mangle-rvv-fixed-vectors.cpp
M clang/test/Sema/attr-riscv-rvv-vector-bits.c
Log Message:
-----------
[RISCV] Support __riscv_v_fixed_vlen for vbool types. (#76551)
This adopts a similar behavior to AArch64 SVE, where bool vectors are
represented as a vector of chars with 1/8 the number of elements. This
ensures the vector always occupies a power of 2 number of bytes.
A consequence of this is that vbool64_t, vbool32_t, and vool16_t can
only be used with a vector length that guarantees at least 8 bits.
Commit: a621198a035cdc700f08507879db902f22f8a5e2
https://github.com/llvm/llvm-project/commit/a621198a035cdc700f08507879db902f22f8a5e2
Author: michaelrj-google <71531609+michaelrj-google at users.noreply.github.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M libc/config/config.json
M libc/docs/dev/printf_behavior.rst
M libc/src/__support/UInt.h
M libc/src/__support/float_to_string.h
M libc/test/src/stdio/sprintf_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc] Move printf long double to simple calc (#75414)
The Ryu algorithm is very fast with its table, but that table grows too
large for long doubles. This patch adds a method of calculating the
digits of long doubles using just wide integers and fast modulo
operations. This results in significant performance improvements vs the
previous int calc mode, while taking up a similar amound of peak memory.
It will be slow in some %e/%g cases, but reasonable fast for %f with no
loss of accuracy.
Commit: 51b25bad5e53d5be07b5162e4cebcb7d49a422e7
https://github.com/llvm/llvm-project/commit/51b25bad5e53d5be07b5162e4cebcb7d49a422e7
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/Type.h
M clang/include/clang/Basic/AttrDocs.td
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/JSONNodeDumper.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/CodeGen/Targets/RISCV.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaType.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
M clang/test/CodeGen/attr-riscv-rvv-vector-bits-types.c
M clang/test/CodeGenCXX/riscv-mangle-rvv-fixed-vectors.cpp
M clang/test/Sema/attr-riscv-rvv-vector-bits.c
Log Message:
-----------
Revert "[RISCV] Support __riscv_v_fixed_vlen for vbool types. (#76551)"
This reverts commit b0511419b3fd71fa8f8c3618b7e849aabd2ccf65.
Test failure was reported.
Commit: b9483d30a7d7a0650a0e83c75fcb9ab4932f475a
https://github.com/llvm/llvm-project/commit/b9483d30a7d7a0650a0e83c75fcb9ab4932f475a
Author: Douglas Yung <douglas.yung at sony.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/icmp-pow2-mask.ll
Log Message:
-----------
Revert "[X86] Fold not(pcmpeq(and(X,CstPow2),0)) -> pcmpeq(and(X,CstPow2),CstPow2)"
This reverts commit 72f10f7eb536da58cb79e13974895cd97d4e1a5f.
This change was causing a miscompile on an internal test and is being reverted at the author's request until it can be fixed.
Commit: 7fdb932c4e78706cec3468a1f149e5a54a865d36
https://github.com/llvm/llvm-project/commit/7fdb932c4e78706cec3468a1f149e5a54a865d36
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/include/llvm/CodeGen/LiveInterval.h
Log Message:
-----------
[CodeGen] Add standard traits for LiveInterval::SingleLinkedListIterator (#79473)
For example this will allow LiveInterval::subranges() to be used in
any_of/all_of/none_of.
Commit: 7f409cd82b322038f08a984a07377758e76b0e4c
https://github.com/llvm/llvm-project/commit/7f409cd82b322038f08a984a07377758e76b0e4c
Author: Derek Schuff <dschuff at chromium.org>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M lld/wasm/InputChunks.h
M lld/wasm/InputElement.h
M lld/wasm/InputFiles.cpp
M lld/wasm/WriterUtils.cpp
M llvm/include/llvm/BinaryFormat/Wasm.h
M llvm/include/llvm/Object/Wasm.h
M llvm/lib/MC/WasmObjectWriter.cpp
M llvm/lib/Object/WasmObjectFile.cpp
M llvm/lib/ObjectYAML/WasmYAML.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp
A llvm/test/Object/Inputs/WASM/multi-table.wasm
A llvm/test/Object/wasm-obj2yaml-tables.test
Log Message:
-----------
[Object][Wasm] Allow parsing of GC types in type and table sections (#79235)
This change allows a WasmObjectFile to be created from a wasm file even
if it uses typed funcrefs and GC types. It does not significantly change how
lib/Object models its various internal types (e.g. WasmSignature,
WasmElemSegment), so LLVM does not really "support" or understand such
files, but it is sufficient to parse the type, global and element sections, discarding
types that are not understood. This is useful for low-level binary tools such as
nm and objcopy, which use only limited aspects of the binary (such as function
definitions) or deal with sections as opaque blobs.
This is done by allowing `WasmValType` to have a value of `OTHERREF`
(representing any unmodeled reference type), and adding a field to
`WasmSignature` indicating it's a placeholder for an unmodeled reference
type (since there is a 1:1 correspondence between WasmSignature objects
and types in the type section).
Then the object file parsers for the type and element sections are expanded
to parse encoded reference types and discard any unmodeled fields.
Commit: 5aa5a2f1b77d93a9f9ed158172277ee41ac224a9
https://github.com/llvm/llvm-project/commit/5aa5a2f1b77d93a9f9ed158172277ee41ac224a9
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-rotate.ll
Log Message:
-----------
[RISCV] Disable exact VLEN splitting for bitrotate shuffles (#79468)
If we have a bitrotate shuffle, this is also by definition a vreg
splitable shuffle when exact VLEN is known. However, there's no profit
to be had from splitting the wider bitrotate lowering into individual m1
pieces. We'd rather leave it the higher lmul to reduce code size.
This is a general problem for any linear-in-LMUL shuffle expansions when
the vreg splitting still has to do linear work per piece. On first
reflection it seems like element rotation might have the same
interaction, but in that case, splitting can be done via a set of whole
register moves (which may get folded into the consumer depending) which
at least as good as a pair of slideup/slidedown. I think that bitrotate
is the only shuffle expansion we have that actually needs handled here.
Commit: 97ace00a564ac9d2424a9885c2117e475260ac1b
https://github.com/llvm/llvm-project/commit/97ace00a564ac9d2424a9885c2117e475260ac1b
Author: Augie Fackler <augie at google.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
bazel: fix build past 184ca39529a93e69eb175861d7fff5fc79988e53
Commit: ccb99f221422b8de5e1ae04d3427f15878f7cd93
https://github.com/llvm/llvm-project/commit/ccb99f221422b8de5e1ae04d3427f15878f7cd93
Author: Fangrui Song <i at maskray.me>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M lld/ELF/Arch/RISCV.cpp
Log Message:
-----------
[ELF] Clean up R_RISCV_RELAX code. NFC
Commit: 5377fa72ceff28593cdeec16bfa97c31aa145623
https://github.com/llvm/llvm-project/commit/5377fa72ceff28593cdeec16bfa97c31aa145623
Author: AdityaK <1894981+hiraditya at users.noreply.github.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/docs/TestingGuide.rst
Log Message:
-----------
[doc] Add special case for unsupported test (#78858)
That helps disable the test for all the targets
Commit: 30279dcf5181c6683ca48bfb169ac9f80e1eb897
https://github.com/llvm/llvm-project/commit/30279dcf5181c6683ca48bfb169ac9f80e1eb897
Author: David Green <david.green at arm.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
A llvm/test/CodeGen/AArch64/pr79100.ll
Log Message:
-----------
[AArch64] Add a test from #79100, showing extra unnecessary movs. NFC
Commit: 849951f8759171cb6c74d3ccbcf154506fc1f0ae
https://github.com/llvm/llvm-project/commit/849951f8759171cb6c74d3ccbcf154506fc1f0ae
Author: Fangrui Song <i at maskray.me>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M lld/ELF/Relocations.cpp
Log Message:
-----------
[ELF] Fix terminology: TLS optimizations instead of TLS relaxation. NFC
Commit: c92ad411f2f94d8521cd18abcb37285f9a390ecb
https://github.com/llvm/llvm-project/commit/c92ad411f2f94d8521cd18abcb37285f9a390ecb
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/Type.h
M clang/include/clang/Basic/AttrDocs.td
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/JSONNodeDumper.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/CodeGen/Targets/RISCV.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaType.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
M clang/test/CodeGen/attr-riscv-rvv-vector-bits-types.c
M clang/test/CodeGenCXX/riscv-mangle-rvv-fixed-vectors.cpp
M clang/test/Sema/attr-riscv-rvv-vector-bits.c
Log Message:
-----------
Recommit "[RISCV] Support __riscv_v_fixed_vlen for vbool types. (#76551)"
Test updated to expect i8 gep.
Original message:
This adopts a similar behavior to AArch64 SVE, where bool vectors are
represented as a vector of chars with 1/8 the number of elements. This
ensures the vector always occupies a power of 2 number of bytes.
A consequence of this is that vbool64_t, vbool32_t, and vool16_t can
only be used with a vector length that guarantees at least 8 bits.
Commit: eb678d89933684627ee2c5da47e53751f3fdbaa2
https://github.com/llvm/llvm-project/commit/eb678d89933684627ee2c5da47e53751f3fdbaa2
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/vec3-loads-ext-trunc-stores.ll
Log Message:
-----------
[AArch64] Combine store (trunc X to <3 x i8>) to sequence of ST1.b. (#78637)
Improve codegen for (trunc X to <3 x i8>) by converting it to a sequence
of 3 ST1.b, but first converting the truncate operand to either v8i8 or
v16i8, extracting the lanes for the truncate results and storing them.
At the moment, there are almost no cases in which such vector operations
will be generated automatically. The motivating case is non-power-of-2
SLP vectorization: https://github.com/llvm/llvm-project/pull/77790
PR: https://github.com/llvm/llvm-project/pull/78637
Commit: 2550ce4d496e54fe929f2242833b73003f36e387
https://github.com/llvm/llvm-project/commit/2550ce4d496e54fe929f2242833b73003f36e387
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M libcxx/docs/ReleaseNotes.rst
A libcxx/docs/ReleaseNotes/19.rst
Log Message:
-----------
[libc++] Add base for LLVM 19 release notes (#78990)
This will make it easier for folks who have patches that are not
targeting LLVM 18 -- they can write the release notes in the LLVM 19
release notes immediately.
Commit: a19629dae70c9f7e7936eba7aa1e0a3a99742288
https://github.com/llvm/llvm-project/commit/a19629dae70c9f7e7936eba7aa1e0a3a99742288
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/IR/LegacyPassManager.cpp
M llvm/lib/Linker/IRMover.cpp
M llvm/lib/Transforms/Utils/ValueMapper.cpp
M llvm/test/LTO/X86/pr38046.ll
M llvm/test/Linker/debug-info-use-before-def.ll
M llvm/test/Linker/thinlto_funcimport_debug.ll
M llvm/test/ThinLTO/X86/debuginfo-cu-import.ll
M llvm/test/ThinLTO/X86/pr35472.ll
M llvm/tools/llvm-link/llvm-link.cpp
M llvm/tools/llvm-lto/llvm-lto.cpp
M llvm/tools/llvm-lto2/llvm-lto2.cpp
Log Message:
-----------
Reapply 215b8f1e252, reverted in c3f7fb1421e
Turns out I was using DbgMarker::getDbgValueRange rather than the helper
utility in Instruction::getDbgValueRange, which checks for null-ness.
Original commit message follows.
[DebugInfo][RemoveDIs] Convert debug-info modes when loading bitcode (#78967)
As part of eliminating debug-intrinsics in LLVM, we'll shortly be
pushing the conversion from "old" dbg.value mode to "new" DPValue mode
out from when the pass manager runs, to when modules are loaded. This
patch adds that conversion process and some (temporary) options to
llvm-lto{,2} to help test it.
Specifically: now whenever we load a bitcode module, consider a flag of
whether to "upgrade" it into the new debug-info mode, and if we're
lazily materializing functions then do that lazily too. Doing this
exposes an error in the IRLinker/materializer handling of DPValues,
where we need to transfer the debug-info format flag correctly, and in
ValueMapper we need to remap the Values that DPValues point at.
I've added some test coverage in the modified tests; these will be
exercised by our llvm-new-debug-iterators buildbot.
This upgrading of debug-info won't be happening for the llvm18 release,
instead we'll turn it on after the branch date, thenbe push the boundary
of where "new" debug-info starts and ends down into the existing
debug-info upgrade path over the course of the next release.
Commit: 8a0ff194e3f9441d35c87d565e093335371a9578
https://github.com/llvm/llvm-project/commit/8a0ff194e3f9441d35c87d565e093335371a9578
Author: michaelrj-google <71531609+michaelrj-google at users.noreply.github.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M libc/src/__support/float_to_string.h
Log Message:
-----------
[libc] Fix type warning on gcc in float to str (#79482)
Minor cast warning that was missed in previous patch. Fixed with
explicit cast.
Commit: 89dc7063f6c81d468a61b71b4ca612e22cb87a46
https://github.com/llvm/llvm-project/commit/89dc7063f6c81d468a61b71b4ca612e22cb87a46
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
Log Message:
-----------
[lldb] Fix printf format errors
This patch fixes:
lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp:1108:39: error:
format specifies type 'long long' but the argument has type
'std::time_t' (aka 'long') [-Werror,-Wformat]
lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp:1116:64: error:
format specifies type 'long long' but the argument has type
'std::time_t' (aka 'long') [-Werror,-Wformat]
Commit: 28a2b85602a583496fa06ebf1e64239a6399d60c
https://github.com/llvm/llvm-project/commit/28a2b85602a583496fa06ebf1e64239a6399d60c
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
Log Message:
-----------
[DeadStoreElimination] Use SmallSetVector (NFC) (#79410)
The use of SmallSetVector saves 0.58% of heap allocations during the
compilation of a large preprocessed file, namely X86ISelLowering.cpp,
for the X86 target. During the experiment, the final size of ToCheck
was 8 or less 88% of the time.
Commit: 9ddbcee25ea4b436ab478874221553f4a7bc2289
https://github.com/llvm/llvm-project/commit/9ddbcee25ea4b436ab478874221553f4a7bc2289
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
M mlir/test/Dialect/Vector/invalid.mlir
M mlir/test/Dialect/Vector/ops.mlir
Log Message:
-----------
[mlir][vector] Extend vector.{insert|extract}_strided_slice (#79052)
Extends `vector.insert_strided_slice` and `vector.insert_strided_slice`
to allow scalable input and output vectors. For scalable sizes, the
corresponding slice size has to match the corresponding dimension in the
output/input vector (insert/extract, respectively).
This is supported:
```mlir
vector.extract_strided_slice %1 {
offsets = [0, 3, 0],
sizes = [1, 1, 4],
strides = [1, 1, 1] } : vector<1x4x[4]xi32> to vector<1x1x[4]xi32>
```
This is not supported:
```mlir
vector.extract_strided_slice %1 {
offsets = [0, 3, 0],
sizes = [1, 1, 2],
strides = [1, 1, 1] } : vector<1x4x[4]xi32> to vector<1x1x[2]xi32>
```
Commit: 59a6525a4b9d46b931021f727b3235415bc82ea5
https://github.com/llvm/llvm-project/commit/59a6525a4b9d46b931021f727b3235415bc82ea5
Author: Alex Langford <alangford at apple.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M lldb/include/lldb/Breakpoint/BreakpointIDList.h
M lldb/source/Breakpoint/BreakpointIDList.cpp
Log Message:
-----------
[lldb][NFCI] Remove unused method BreakpointIDList::FindBreakpointID(const char *, size_t *) (#79215)
Commit: 143f71e03ac39b9b3ba3c757454b2c65800b61a3
https://github.com/llvm/llvm-project/commit/143f71e03ac39b9b3ba3c757454b2c65800b61a3
Author: Thurston Dang <thurston at google.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/tests/sanitizer_bitvector_test.cpp
Log Message:
-----------
[sanitizer_common] Fix type in format specifier by casting
40dcf24522af91ab22af2e69f28d1f1d2a860f5c had changed the format
specifier to fix the build for their local system. Unfortunately,
that disagrees with some other systems, such as this buildbot:
https://lab.llvm.org/buildbot/#/builders/37/builds/30440
This patch fixes the issue for all systems by casting.
Commit: b9f73714359a2839b651ee094cad481fb6a636ce
https://github.com/llvm/llvm-project/commit/b9f73714359a2839b651ee094cad481fb6a636ce
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M mlir/lib/Dialect/MLProgram/IR/MLProgramOps.cpp
Log Message:
-----------
Apply clang-tidy fixes for llvm-qualified-auto in MLProgramOps.cpp (NFC)
Commit: 9cebb2857695ed4b7c79db7f31830eaf4d2f3ba4
https://github.com/llvm/llvm-project/commit/9cebb2857695ed4b7c79db7f31830eaf4d2f3ba4
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M mlir/lib/Dialect/MLProgram/Transforms/PipelineGlobalOps.cpp
Log Message:
-----------
Apply clang-tidy fixes for llvm-qualified-auto in PipelineGlobalOps.cpp (NFC)
Commit: 4e71335790e93a18c3dccdfda2e38dd152c4d045
https://github.com/llvm/llvm-project/commit/4e71335790e93a18c3dccdfda2e38dd152c4d045
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M mlir/lib/Dialect/MLProgram/Transforms/PipelineGlobalOps.cpp
Log Message:
-----------
Apply clang-tidy fixes for readability-identifier-naming in PipelineGlobalOps.cpp (NFC)
Commit: 70fdaefe1fdd35c8b5633724a2ddc9ba0a8a5435
https://github.com/llvm/llvm-project/commit/70fdaefe1fdd35c8b5633724a2ddc9ba0a8a5435
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M mlir/lib/Dialect/NVGPU/TransformOps/NVGPUTransformOps.cpp
Log Message:
-----------
Apply clang-tidy fixes for bugprone-macro-parentheses in NVGPUTransformOps.cpp (NFC)
Commit: a7759fb0f8ce28a53a38a6e0ba6b7105f3d6781a
https://github.com/llvm/llvm-project/commit/a7759fb0f8ce28a53a38a6e0ba6b7105f3d6781a
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M mlir/lib/Dialect/NVGPU/TransformOps/NVGPUTransformOps.cpp
Log Message:
-----------
Apply clang-tidy fixes for performance-unnecessary-value-param in NVGPUTransformOps.cpp (NFC)
Commit: a315fb1c577a40a40968daa9d346435458d7e06e
https://github.com/llvm/llvm-project/commit/a315fb1c577a40a40968daa9d346435458d7e06e
Author: Tacet <advenam.tacet at trailofbits.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M libcxx/include/string
M libcxx/test/std/strings/basic.string/string.modifiers/string_append/pointer_size.pass.cpp
Log Message:
-----------
[ASan][libc++] Correct (explicit) annotation size (#79292)
A quick examination suggests that the current code in the codebase does
not lead to incorrect annotations. However, the intention is for the
object after the function to be annotated in a way that only its
contents are unpoisoned and the rest is poisoned. This commit makes it
explicit and avoids potential issues in future.
In addition, I have implemented a few tests for a function that helped
me identify the specific argument value.
Notice: there is no known scenario where old code results in incorrect
annotation.
Commit: 594b92a7b987b839af10bd1035a816f233033826
https://github.com/llvm/llvm-project/commit/594b92a7b987b839af10bd1035a816f233033826
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
A llvm/test/CodeGen/RISCV/rvv/dont-sink-splat-operands.ll
Log Message:
-----------
[RISCV] Add Tune to DontSinkSplatOperands (#79199)
A CPU may prefer to not sink splat operands, one reason being that it
could require a S2V transfer buffer to move scalars into buffers.
Commit: 0b0cce8978eefce4b9b4eb1727f1f210a6b2a2d9
https://github.com/llvm/llvm-project/commit/0b0cce8978eefce4b9b4eb1727f1f210a6b2a2d9
Author: felixh5678 <157516335+felixh5678 at users.noreply.github.com>
Date: 2024-01-25 (Thu, 25 Jan 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/fmaxf128.h
A libc/src/math/fminf128.h
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/fmaxf128.cpp
A libc/src/math/generic/fminf128.cpp
M libc/test/src/math/smoke/CMakeLists.txt
M libc/test/src/math/smoke/FMaxTest.h
M libc/test/src/math/smoke/FMinTest.h
A libc/test/src/math/smoke/fmaxf128_test.cpp
A libc/test/src/math/smoke/fminf128_test.cpp
Log Message:
-----------
[libc] Add fminf128 and fmaxf128 implementations for Linux x86_64. (#79307)
Co-authored-by: Felix <felix at Dirks-MacBook-Pro.local>
Commit: 720769de9f7531a79013b7e14ca808bdfc8fc258
https://github.com/llvm/llvm-project/commit/720769de9f7531a79013b7e14ca808bdfc8fc258
Author: Thurston Dang <thurston at google.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M compiler-rt/lib/tsan/rtl/tsan_platform_linux.cpp
Log Message:
-----------
[tsan] Lazily call 'personality' to minimize sandbox violations (#79334)
My previous patch, "Re-exec TSan with no ASLR if memory layout is incompatible on Linux (#78351)" (0784b1eefa36d4acbb0dacd2d18796e26313b6c5) hoisted the 'personality' call, to share the code between Android and non-Android Linux. Unfortunately, this eager call to 'personality' may trigger sandbox violations on non-Android Linux.
This patch fixes the issue by only calling 'personality' on non-Android Linux if the memory mapping is incompatible. This may still cause a sandbox violation, but only if it was going to abort anyway due to an incompatible memory mapping.
(The behavior on Android Linux is unchanged by this patch or the previous patch.)
Commit: 982c815aad97686fdb20e4599efbcc064599747b
https://github.com/llvm/llvm-project/commit/982c815aad97686fdb20e4599efbcc064599747b
Author: Peiming Liu <36770114+PeimingLiu at users.noreply.github.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/LoopEmitter.cpp
M mlir/test/Integration/Dialect/SparseTensor/CPU/reshape_dot.mlir
Log Message:
-----------
[mlir][sparse] fix mismatch between `enter/exitWhileLoop` (#79493)
Commit: 97b61aeadc58097b80902b600a9a6c95ad36baca
https://github.com/llvm/llvm-project/commit/97b61aeadc58097b80902b600a9a6c95ad36baca
Author: Maryam Moghadas <34670902+maryammo at users.noreply.github.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.conversion.pass.cpp
Log Message:
-----------
[libc++] Update XFAIL for layout_stride/assert.conversion.pass.cpp in debug mode on PowerPC (#79169)
Adding the debug hardening modes into PowerPC target to check the
assertion messages, to fix the PPC rehl bot [1]. This is needed as
58780b811c23 changed the assertion to trap in production hardening modes.
Properly fixing these assertions is tracked by #79216.
[1]: https://lab.llvm.org/buildbot/#/builders/57/builds/32354
Co-authored-by: Maryam Moghadas <maryammo at ca.ibm.com>
Commit: 7b4622514d232ce5f7110dd8b20d90e81127c467
https://github.com/llvm/llvm-project/commit/7b4622514d232ce5f7110dd8b20d90e81127c467
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M libcxx/include/__algorithm/copy_move_common.h
M libcxx/include/__algorithm/equal.h
M libcxx/include/__algorithm/equal_range.h
M libcxx/include/__algorithm/fold.h
M libcxx/include/__algorithm/in_found_result.h
M libcxx/include/__algorithm/in_fun_result.h
M libcxx/include/__algorithm/in_in_out_result.h
M libcxx/include/__algorithm/in_in_result.h
M libcxx/include/__algorithm/in_out_out_result.h
M libcxx/include/__algorithm/includes.h
M libcxx/include/__algorithm/next_permutation.h
M libcxx/include/__algorithm/nth_element.h
M libcxx/include/__algorithm/partial_sort.h
M libcxx/include/__algorithm/partial_sort_copy.h
M libcxx/include/__algorithm/partition.h
M libcxx/include/__algorithm/prev_permutation.h
M libcxx/include/__algorithm/pstl_any_all_none_of.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/transform_reduce.h
M libcxx/include/__algorithm/pstl_copy.h
M libcxx/include/__algorithm/pstl_count.h
M libcxx/include/__algorithm/pstl_equal.h
M libcxx/include/__algorithm/pstl_fill.h
M libcxx/include/__algorithm/pstl_find.h
M libcxx/include/__algorithm/pstl_for_each.h
M libcxx/include/__algorithm/pstl_generate.h
M libcxx/include/__algorithm/pstl_is_partitioned.h
M libcxx/include/__algorithm/pstl_merge.h
M libcxx/include/__algorithm/pstl_move.h
M libcxx/include/__algorithm/pstl_replace.h
M libcxx/include/__algorithm/pstl_rotate_copy.h
M libcxx/include/__algorithm/pstl_sort.h
M libcxx/include/__algorithm/pstl_stable_sort.h
M libcxx/include/__algorithm/pstl_transform.h
M libcxx/include/__algorithm/ranges_all_of.h
M libcxx/include/__algorithm/ranges_any_of.h
M libcxx/include/__algorithm/ranges_binary_search.h
M libcxx/include/__algorithm/ranges_clamp.h
M libcxx/include/__algorithm/ranges_contains.h
M libcxx/include/__algorithm/ranges_copy.h
M libcxx/include/__algorithm/ranges_copy_backward.h
M libcxx/include/__algorithm/ranges_copy_if.h
M libcxx/include/__algorithm/ranges_copy_n.h
M libcxx/include/__algorithm/ranges_count.h
M libcxx/include/__algorithm/ranges_count_if.h
M libcxx/include/__algorithm/ranges_ends_with.h
M libcxx/include/__algorithm/ranges_equal.h
M libcxx/include/__algorithm/ranges_equal_range.h
M libcxx/include/__algorithm/ranges_fill.h
M libcxx/include/__algorithm/ranges_fill_n.h
M libcxx/include/__algorithm/ranges_find.h
M libcxx/include/__algorithm/ranges_find_end.h
M libcxx/include/__algorithm/ranges_find_first_of.h
M libcxx/include/__algorithm/ranges_find_if.h
M libcxx/include/__algorithm/ranges_find_if_not.h
M libcxx/include/__algorithm/ranges_for_each.h
M libcxx/include/__algorithm/ranges_for_each_n.h
M libcxx/include/__algorithm/ranges_generate.h
M libcxx/include/__algorithm/ranges_generate_n.h
M libcxx/include/__algorithm/ranges_includes.h
M libcxx/include/__algorithm/ranges_inplace_merge.h
M libcxx/include/__algorithm/ranges_is_heap.h
M libcxx/include/__algorithm/ranges_is_heap_until.h
M libcxx/include/__algorithm/ranges_is_partitioned.h
M libcxx/include/__algorithm/ranges_is_permutation.h
M libcxx/include/__algorithm/ranges_is_sorted.h
M libcxx/include/__algorithm/ranges_is_sorted_until.h
M libcxx/include/__algorithm/ranges_iterator_concept.h
M libcxx/include/__algorithm/ranges_lexicographical_compare.h
M libcxx/include/__algorithm/ranges_lower_bound.h
M libcxx/include/__algorithm/ranges_make_heap.h
M libcxx/include/__algorithm/ranges_max_element.h
M libcxx/include/__algorithm/ranges_merge.h
M libcxx/include/__algorithm/ranges_min_element.h
M libcxx/include/__algorithm/ranges_minmax_element.h
M libcxx/include/__algorithm/ranges_mismatch.h
M libcxx/include/__algorithm/ranges_move.h
M libcxx/include/__algorithm/ranges_move_backward.h
M libcxx/include/__algorithm/ranges_next_permutation.h
M libcxx/include/__algorithm/ranges_none_of.h
M libcxx/include/__algorithm/ranges_nth_element.h
M libcxx/include/__algorithm/ranges_partial_sort.h
M libcxx/include/__algorithm/ranges_partial_sort_copy.h
M libcxx/include/__algorithm/ranges_partition.h
M libcxx/include/__algorithm/ranges_partition_copy.h
M libcxx/include/__algorithm/ranges_partition_point.h
M libcxx/include/__algorithm/ranges_pop_heap.h
M libcxx/include/__algorithm/ranges_prev_permutation.h
M libcxx/include/__algorithm/ranges_push_heap.h
M libcxx/include/__algorithm/ranges_remove.h
M libcxx/include/__algorithm/ranges_remove_copy.h
M libcxx/include/__algorithm/ranges_remove_copy_if.h
M libcxx/include/__algorithm/ranges_remove_if.h
M libcxx/include/__algorithm/ranges_replace.h
M libcxx/include/__algorithm/ranges_replace_copy.h
M libcxx/include/__algorithm/ranges_replace_copy_if.h
M libcxx/include/__algorithm/ranges_replace_if.h
M libcxx/include/__algorithm/ranges_reverse_copy.h
M libcxx/include/__algorithm/ranges_rotate.h
M libcxx/include/__algorithm/ranges_rotate_copy.h
M libcxx/include/__algorithm/ranges_sample.h
M libcxx/include/__algorithm/ranges_search_n.h
M libcxx/include/__algorithm/ranges_set_difference.h
M libcxx/include/__algorithm/ranges_set_intersection.h
M libcxx/include/__algorithm/ranges_set_symmetric_difference.h
M libcxx/include/__algorithm/ranges_set_union.h
M libcxx/include/__algorithm/ranges_shuffle.h
M libcxx/include/__algorithm/ranges_sort.h
M libcxx/include/__algorithm/ranges_sort_heap.h
M libcxx/include/__algorithm/ranges_stable_partition.h
M libcxx/include/__algorithm/ranges_stable_sort.h
M libcxx/include/__algorithm/ranges_starts_with.h
M libcxx/include/__algorithm/ranges_swap_ranges.h
M libcxx/include/__algorithm/ranges_transform.h
M libcxx/include/__algorithm/ranges_unique.h
M libcxx/include/__algorithm/ranges_unique_copy.h
M libcxx/include/__algorithm/remove.h
M libcxx/include/__algorithm/remove_if.h
M libcxx/include/__algorithm/reverse.h
M libcxx/include/__algorithm/rotate.h
M libcxx/include/__algorithm/set_difference.h
M libcxx/include/__algorithm/set_intersection.h
M libcxx/include/__algorithm/set_symmetric_difference.h
M libcxx/include/__algorithm/set_union.h
M libcxx/include/__algorithm/shift_left.h
M libcxx/include/__algorithm/shift_right.h
M libcxx/include/__algorithm/sort.h
M libcxx/include/__algorithm/sort_heap.h
M libcxx/include/__algorithm/stable_partition.h
M libcxx/include/__algorithm/stable_sort.h
M libcxx/include/__algorithm/swap_ranges.h
M libcxx/include/__algorithm/unique.h
M libcxx/include/__algorithm/unique_copy.h
M libcxx/include/__algorithm/unwrap_iter.h
M libcxx/include/__algorithm/unwrap_range.h
M libcxx/include/__config
M libcxx/include/__filesystem/directory_iterator.h
M libcxx/include/__filesystem/path.h
M libcxx/include/__filesystem/recursive_directory_iterator.h
M libcxx/include/__format/format_arg.h
M libcxx/include/__format/format_context.h
M libcxx/include/__format/format_functions.h
M libcxx/include/__format/formatter_output.h
M libcxx/include/__format/write_escaped.h
M libcxx/include/__functional/function.h
M libcxx/include/__iterator/cpp17_iterator_concepts.h
M libcxx/include/__iterator/iterator_with_data.h
M libcxx/include/__memory/ranges_uninitialized_algorithms.h
M libcxx/include/__memory/raw_storage_iterator.h
M libcxx/include/__memory/shared_ptr.h
M libcxx/include/__memory/uninitialized_algorithms.h
M libcxx/include/__mutex/once_flag.h
M libcxx/include/__numeric/pstl_reduce.h
M libcxx/include/__numeric/pstl_transform_reduce.h
M libcxx/include/__numeric/reduce.h
M libcxx/include/__numeric/saturation_arithmetic.h
M libcxx/include/__numeric/transform_reduce.h
M libcxx/include/__ranges/counted.h
M libcxx/include/__ranges/drop_while_view.h
M libcxx/include/__ranges/elements_view.h
M libcxx/include/__ranges/filter_view.h
M libcxx/include/__ranges/iota_view.h
M libcxx/include/__ranges/join_view.h
M libcxx/include/__ranges/lazy_split_view.h
M libcxx/include/__ranges/repeat_view.h
M libcxx/include/__ranges/reverse_view.h
M libcxx/include/__ranges/single_view.h
M libcxx/include/__ranges/split_view.h
M libcxx/include/__ranges/take_while_view.h
M libcxx/include/__ranges/transform_view.h
M libcxx/include/__thread/jthread.h
M libcxx/include/__thread/thread.h
M libcxx/include/array
M libcxx/include/condition_variable
M libcxx/include/experimental/iterator
M libcxx/include/future
M libcxx/include/ios
M libcxx/include/map
M libcxx/include/ostream
M libcxx/include/queue
M libcxx/include/set
M libcxx/include/stack
M libcxx/include/strstream
M libcxx/include/unordered_map
M libcxx/include/unordered_set
M libcxx/test/libcxx/system_reserved_names.gen.py
Log Message:
-----------
[libc++] Fix missing and incorrect push/pop macros (#79204)
We recently noticed that the unwrap_iter.h file was pushing macros, but
it was pushing them again instead of popping them at the end of the
file. This led to libc++ basically swallowing any custom definition of
these macros in user code:
#define min HELLO
#include <algorithm>
// min is not HELLO anymore, it's not defined
While investigating this issue, I noticed that our push/pop pragmas were
actually entirely wrong too. Indeed, instead of pushing macros like
`move`, we'd push `move(int, int)` in the pragma, which is not a valid
macro name. As a result, we would not actually push macros like `move`
-- instead we'd simply undefine them. This led to the following code not
working:
#define move HELLO
#include <algorithm>
// move is not HELLO anymore
Fixing the pragma push/pop incantations led to a cascade of issues
because we use identifiers like `move` in a large number of places, and
all of these headers would now need to do the push/pop dance.
This patch fixes all these issues. First, it adds a check that we don't
swallow important names like min, max, move or refresh as explained
above. This is done by augmenting the existing
system_reserved_names.gen.py test to also check that the macros are what
we expect after including each header.
Second, it fixes the push/pop pragmas to work properly and adds missing
pragmas to all the files I could detect a failure in via the newly added
test.
rdar://121365472
Commit: 313d33e33c7d379beb96cbf773ec3b98d1d2c6ed
https://github.com/llvm/llvm-project/commit/313d33e33c7d379beb96cbf773ec3b98d1d2c6ed
Author: Rahman Lavaee <rahmanl at google.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/tools/llvm-objdump/llvm-objdump.cpp
Log Message:
-----------
[llvm-objdump,SHT_LLVM_BB_ADDR_MAP,NFC] Use auto && instead of const auto & to allow moving from BBAddrMap objects. (#79456)
std::move on `const auto &` references is essentially a noop. Changing
to `auto &&` to actually allow moving.
Commit: 92ae2ca12be58dd581084f6d952c2158b6fd42aa
https://github.com/llvm/llvm-project/commit/92ae2ca12be58dd581084f6d952c2158b6fd42aa
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC]Improve BottomTopTop reordering of orders for multi-iterations
attempts, NFC.
If several iterations of reodering of orders is required, need to use
different algorithm.
Commit: e99edf6bcb20169e153110426f840a2dfeeec66d
https://github.com/llvm/llvm-project/commit/e99edf6bcb20169e153110426f840a2dfeeec66d
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M .github/workflows/issue-release-workflow.yml
M llvm/docs/GitHub.rst
M llvm/utils/git/github-automation.py
Log Message:
-----------
[workflows] Drop the intermediate /branch comment for release workflow (#79481)
We used to support a /branch comment to specify a branch with commits to
backport to the release branch. However, now that we can use pull
requests this is not needed.
This also simplifies the process, because now the cherry-pick job can
create the pull request directly instead of having it split across two
separate jobs.
Commit: d5e69147b9d261bd53b4dd027f17131677be8613
https://github.com/llvm/llvm-project/commit/d5e69147b9d261bd53b4dd027f17131677be8613
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M .github/workflows/version-check.py
Log Message:
-----------
[workflows] Fix version-check.yml to work with the new minor release bump
Commit: 3b762891826192ded07286852d326f9c9060f52e
https://github.com/llvm/llvm-project/commit/3b762891826192ded07286852d326f9c9060f52e
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M .ci/generate-buildkite-pipeline-premerge
Log Message:
-----------
[ci] Fix the base branch we use to determine changes (#79503)
We should diff against the base branch, not always against `main`. This
allows the BuildKite pre-commit CI to work properly when we target other
branches, such as `release/18.x`.
Commit: d88e3658cebbfa1533619de514495a67c81df7c0
https://github.com/llvm/llvm-project/commit/d88e3658cebbfa1533619de514495a67c81df7c0
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/include/llvm/Transforms/Utils/ScalarEvolutionExpander.h
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
Log Message:
-----------
[SCEVExp] Move logic to replace congruent IV increments to helper (NFC).
Move logic to replace congruent IV increments to helper function, to
reduce the indentation by using early returns. This is in preparation
for a follow-up patch.
Commit: 1117fdd7c16873eb389e988c6a39ad922bae0fd0
https://github.com/llvm/llvm-project/commit/1117fdd7c16873eb389e988c6a39ad922bae0fd0
Author: Fangrui Song <i at maskray.me>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M lld/ELF/Arch/RISCV.cpp
M lld/ELF/Relocations.cpp
A lld/test/ELF/riscv-tlsdesc-gd-mixed.s
A lld/test/ELF/riscv-tlsdesc-relax.s
A lld/test/ELF/riscv-tlsdesc.s
Log Message:
-----------
[ELF] Implement R_RISCV_TLSDESC for RISC-V
Support
R_RISCV_TLSDESC_HI20/R_RISCV_TLSDESC_LOAD_LO12/R_RISCV_TLSDESC_ADD_LO12/R_RISCV_TLSDESC_CALL.
LOAD_LO12/ADD_LO12/CALL relocations reference a label at the HI20
location, which requires special handling. We save the value of HI20 to
be reused. Two interleaved TLSDESC code sequences, which compilers do
not generate, are unsupported.
For -no-pie/-pie links, TLSDESC to initial-exec or local-exec
optimizations are eligible. Implement the relevant hooks
(R_RELAX_TLS_GD_TO_LE, R_RELAX_TLS_GD_TO_IE): the first two instructions
are converted to NOP while the latter two are converted to a GOT load or
a lui+addi.
The first two instructions, which would be converted to NOP, are removed
instead in the presence of relaxation. Relaxation is eligible as long as
the R_RISCV_TLSDESC_HI20 relocation has a pairing R_RISCV_RELAX,
regardless of whether the following instructions have a R_RISCV_RELAX.
In addition, for the TLSDESC to LE optimization (`lui a0,<hi20>; addi a0,a0,<lo12>`),
`lui` can be removed (i.e. use the short form) if hi20 is 0.
```
// TLSDESC to LE/IE optimization
.Ltlsdesc_hi2:
auipc a4, %tlsdesc_hi(c) # if relax: remove; otherwise, NOP
load a5, %tlsdesc_load_lo(.Ltlsdesc_hi2)(a4) # if relax: remove; otherwise, NOP
addi a0, a4, %tlsdesc_add_lo(.Ltlsdesc_hi2) # if LE && !hi20 {if relax: remove; otherwise, NOP}
jalr t0, 0(a5), %tlsdesc_call(.Ltlsdesc_hi2)
add a0, a0, tp
```
The implementation carefully ensures that an instruction unrelated to
the current TLSDESC code sequence, if immediately follows a removable
instruction (HI20 or LOAD_LO12 OR (LE-specific) ADD_LO12), is not
converted to NOP.
* `riscv64-tlsdesc.s` is inspired by `i386-tlsdesc-gd.s` (https://reviews.llvm.org/D112582).
* `riscv64-tlsdesc-relax.s` tests linker relaxation.
* `riscv-tlsdesc-gd-mixed.s` is inspired by `x86-64-tlsdesc-gd-mixed.s` (https://reviews.llvm.org/D116900).
Link: https://github.com/riscv-non-isa/riscv-elf-psabi-doc/pull/373
Reviewed By: ilovepi
Pull Request: https://github.com/llvm/llvm-project/pull/79239
Commit: 5aad7894812a53b69e989a61a567f5617df4a057
https://github.com/llvm/llvm-project/commit/5aad7894812a53b69e989a61a567f5617df4a057
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M .ci/generate-buildkite-pipeline-premerge
Log Message:
-----------
[ci] Diff against origin/BASE-BRANCH
Otherwise, when the base branch is not something that the CI runner
has checked out, that reference to e.g. release/18.x is ambiguous.
Commit: c2e5f4d3a14ae5b5c1c7e335a6336774f456e656
https://github.com/llvm/llvm-project/commit/c2e5f4d3a14ae5b5c1c7e335a6336774f456e656
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M flang/lib/Evaluate/intrinsics.cpp
M flang/test/Semantics/c_f_pointer.f90
Log Message:
-----------
[flang] Add warnings for non-standard C_F_POINTER() usage (#78332)
There's a few restrictions in the standard on the Fortran pointer
argument (FPTR=) to the intrinsic subroutine C_F_POINTER() that almost
no compilers enforce. Enforce them here with warnings.
Commit: 82d335e70f91c03d01a5acfbd0c905abc1cc5b79
https://github.com/llvm/llvm-project/commit/82d335e70f91c03d01a5acfbd0c905abc1cc5b79
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/lib/Driver/ToolChains/Cuda.h
A clang/test/Driver/Inputs/nvptx-arch/nvptx_arch_sm_89_sm_80
M clang/test/Driver/nvptx-cuda-system-arch.c
Log Message:
-----------
[NVPTX] Add support for -march=native in standalone NVPTX (#79373)
Summary:
We support `--target=nvptx64-nvidia-cuda` as a way to target the NVPTX
architecture from standard CPU. This patch simply uses the existing
support for handling `--offload-arch=native` to also apply to the
standalone toolchain.
Commit: 78ef032862bbe2891cfdfdd7b5b893512573530c
https://github.com/llvm/llvm-project/commit/78ef032862bbe2891cfdfdd7b5b893512573530c
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M flang/lib/Lower/OpenACC.cpp
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/invalid.mlir
M mlir/test/Dialect/OpenACC/ops.mlir
Log Message:
-----------
[mlir][flang][openacc] Add device_type support for update op (#78764)
Add support for device_type information on the acc.update operation and
update lowering from Flang.
Commit: 887783e0caab3983f3e32077a7eb137831e1e2e7
https://github.com/llvm/llvm-project/commit/887783e0caab3983f3e32077a7eb137831e1e2e7
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M flang/runtime/assign.cpp
Log Message:
-----------
[flang][runtime] Invert component/element loops in assignment (#78341)
The general implementation of intrinsic assignment of derived types in
the runtime support library has a doubly-nested loop: an outer loop that
traverses the components and inner loops than traverse the array
elements. It's done this way to amortize the per-component overhead.
However, this turns out to be wrong when the program cares about the
order in which defined assignment subroutines are called; the Fortran
standard allows less latitude here than we need to invert the ordering
in this way when any component is itself an array. So invert the two
loops: traverse the array elements, and for each element, traverse its
components.
Commit: e9309b27d7bd50ee98fd7813214ac37716bd6978
https://github.com/llvm/llvm-project/commit/e9309b27d7bd50ee98fd7813214ac37716bd6978
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M bolt/lib/Passes/BinaryPasses.cpp
M bolt/test/X86/reader-stale-yaml.test
Log Message:
-----------
[BOLT] Report input staleness (#79496)
It's beneficial to have uniform reporting in both `infer-stale-profile`
on and off cases, primarily for logging purposes.
Without this change, BOLT would report "input" staleness in
`infer-stale-profile=0` case (without matching), and "output" staleness
in `infer-stale-profile=1` case (after matching).
This change makes BOLT report "input" staleness in both cases. "Output"
staleness information is printed separately with "BOLT-INFO: inferred
profile..."
Commit: 3bca8506ab65c66e32695ba50571c4384be8e4d1
https://github.com/llvm/llvm-project/commit/3bca8506ab65c66e32695ba50571c4384be8e4d1
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Semantics/check-call.cpp
A flang/test/Semantics/present01.f90
Log Message:
-----------
[flang] Correct checking of PRESENT() (#78364)
The argument to the PRESENT() intrinsic function must be the name of a a
whole OPTIONAL dummy argument.
Fixes llvm-test-suite/Fortran/gfortran/regression/present_1.f90.
Commit: 033b491c756f58bceaa26f1c96ec645c8d3e5e45
https://github.com/llvm/llvm-project/commit/033b491c756f58bceaa26f1c96ec645c8d3e5e45
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M flang/runtime/edit-output.cpp
M flang/runtime/format.h
M flang/unittests/Runtime/NumericalFormatTest.cpp
Log Message:
-----------
[flang][runtime] Catch error on Ew.0 output editing (#78522)
An Ew.0(Ee) or Ew.0(Ee) output edit descriptor with a scale factor of
zero is an error condition, unless the output edit descriptor was
originally Gw.0(Ee), list-directed, or just E0/D0 with no .d part.
Fixes https://github.com/llvm/llvm-project/issues/78390.
Commit: a3bbe627d2d8d3a64c60dbec57c885d5303f4398
https://github.com/llvm/llvm-project/commit/a3bbe627d2d8d3a64c60dbec57c885d5303f4398
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M flang/include/flang/Runtime/descriptor.h
M flang/include/flang/Runtime/magic-numbers.h
M flang/lib/Lower/Allocatable.cpp
M flang/runtime/descriptor.cpp
M flang/runtime/pointer.cpp
M flang/runtime/stat.cpp
M flang/runtime/stat.h
M flang/test/Lower/Intrinsics/c_loc.f90
Log Message:
-----------
[flang][runtime] Validate pointer DEALLOCATE (#78612)
The standard requires a compiler to diagnose an incorrect use of a
pointer in a DEALLOCATE statement. The pointer must be associated with
an entire object that was allocated as a pointer (not allocatable) by an
ALLOCATE statement.
Implement by appending a validation footer to pointer allocations. This
is an extra allocated word that encodes the base address of the
allocation. If it is not found after the data payload when the pointer
is deallocated, signal an error. There is a chance of a false positive
result, but that should be vanishingly unlikely.
This change requires all pointer allocations (not allocatables) to take
place in the runtime in PointerAllocate(), which might be slower in
cases that could otherwise be handled with a native memory allocation
operation. I believe that memory allocation of pointers is less common
than with allocatables, which are not affected. If this turns out to
become a performance problem, we can inline the creation and
initialization of the footer word.
Fixes https://github.com/llvm/llvm-project/issues/78391.
Commit: 7f542662ce3edc9fbc43e1f04698ebbb47516d48
https://github.com/llvm/llvm-project/commit/7f542662ce3edc9fbc43e1f04698ebbb47516d48
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M flang/lib/Semantics/mod-file.cpp
A flang/test/Semantics/modfile62.f90
Log Message:
-----------
[flang] Fix module file generation when generic shadows derived type (#78618)
Fortran allows the name of a generic interface to be the same as the
name of a derived type or specific procedure. When this happens, it
causes the code in module file generation to miss the symbol of a
derived type when scanning for symbols in initialization expressions
that need to be imported. Fix.
Commit: 7d272722fb971d9a8788cf1d75f26b314bca928a
https://github.com/llvm/llvm-project/commit/7d272722fb971d9a8788cf1d75f26b314bca928a
Author: Alexander Yermolovich <43973793+ayermolo at users.noreply.github.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Rewrite/DWARFRewriter.cpp
A bolt/test/X86/dwarf4-override-comp-dir.test
A bolt/test/X86/dwarf5-override-comp-dir.test
Log Message:
-----------
[BOLT][DWARF] Add option to specify DW_AT_comp_dir (#79395)
Added an --comp-dir-override option that overrides DW_AT_comp_dir in the
unit die. This allows for llvm-bolt to be invoked from any category and
still find .dwo files.
Commit: b788d6283d160f0fcff9ca9109ea97960185dc71
https://github.com/llvm/llvm-project/commit/b788d6283d160f0fcff9ca9109ea97960185dc71
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M flang/lib/Semantics/check-declarations.cpp
A flang/test/Semantics/declarations08.f90
Log Message:
-----------
[flang] More Cray pointee checks (#78624)
Cray pointees may not appear in COMMON blocks or EQUIVALENCE groups.
Fixes llvm-test-suite/Fortran/gfortran/regression/cray_pointers_4.f90.
Commit: 15e4a3c1fb12f09d4f87b9e8bf68cb31de3d0944
https://github.com/llvm/llvm-project/commit/15e4a3c1fb12f09d4f87b9e8bf68cb31de3d0944
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M flang/runtime/namelist.cpp
Log Message:
-----------
[flang][runtime] Fix namelist substring checking (#78649)
An || operator in namelist substring bounds checking really needs to be
an && operator so that the substring is viewed as correct only when both
its bounds are valid.
Fixes llvm-test-suite/Fortran/gfortran/regression/namelist_40.f90.
Commit: e8a5010c0338357c08c740de121b660aa933d5f4
https://github.com/llvm/llvm-project/commit/e8a5010c0338357c08c740de121b660aa933d5f4
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M flang/runtime/numeric.cpp
Log Message:
-----------
[flang][runtime] Use std::fmod for most MOD/MODULO (#78745)
The new accurate algorithm for real MOD and MODULO in the runtime is not
as fast as std::fmod(), which is also accurate. So use std::fmod() for
those floating-point types that it supports.
Fixes https://github.com/llvm/llvm-project/issues/78641.
Commit: 19b65a9c0284c12556512e8136352a7e1eb8dfa3
https://github.com/llvm/llvm-project/commit/19b65a9c0284c12556512e8136352a7e1eb8dfa3
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/include/llvm/IR/DebugProgramInstruction.h
M llvm/lib/IR/DebugProgramInstruction.cpp
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
A llvm/test/DebugInfo/instcombine-sink-latest-assignment.ll
Log Message:
-----------
[DebugInfo][RemoveDIs] Add a DPValue implementation for instcombine sinking (#77930)
In instcombine, when we sink an instruction into a successor block, we try
to clone and salvage all the variable assignments that use that Value. This
is a behaviour that's (IMO) flawed, but there are important use cases where
we want to avoid regressions, thus we're implementing this for the
non-instruction debug-info representation.
This patch refactors the dbg.value sinking code into it's own function, and
installs a parallel implementation for DPValues, the non-instruction
debug-info container. This is mostly identical to the dbg.value
implementation, except that we don't have an easy-to-access ordering
between DPValues, and have to jump through extra hoops to establish one in
the (rare) cases where that ordering is required.
The test added represents a common use-case in LLVM where these behaviours
are important: a loop has been completely optimised away, leaving several
dbg.values in a row referring to an instruction that's going to sink. The
dbg.values should sink in both dbg.value and RemoveDIs mode, and
additionally only the last assignment should sink.
Commit: 5bd87e65d6a3f985471058ee071320c1def718c4
https://github.com/llvm/llvm-project/commit/5bd87e65d6a3f985471058ee071320c1def718c4
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Semantics/resolve107.f90
Log Message:
-----------
[flang] Silence spurious errors about SAVE (#78765)
When an attribute specification statement follows a declaration that
applies the SAVE attribute to a symbol, name resolution can produce a
spurious error message about redundant SAVEs.
Fixes llvm-test-suite/Fortran/gfortran/regression/proc_ptr_9.f90.
Commit: df7d2b2f9085b4ae749ce5a221417b53185aa253
https://github.com/llvm/llvm-project/commit/df7d2b2f9085b4ae749ce5a221417b53185aa253
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M bolt/docs/BAT.md
M bolt/include/bolt/Profile/BoltAddressTranslation.h
M bolt/lib/Profile/BoltAddressTranslation.cpp
M bolt/test/X86/bolt-address-translation.test
Log Message:
-----------
[BOLT] Deduplicate equal offsets in BAT (#76905)
Encode BRANCHENTRY bits as bitmask for deduplicated entries.
Reduces BAT section size:
- large binary: to 11834216 bytes (0.31x original),
- medium binary: to 1565584 bytes (0.26x original),
- small binary: to 336 bytes (0.23x original).
Test Plan: Updated bolt/test/X86/bolt-address-translation.test
Commit: 6ac392b9cbeba2bc098ae3f48b8c6f7db218905b
https://github.com/llvm/llvm-project/commit/6ac392b9cbeba2bc098ae3f48b8c6f7db218905b
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M flang/lib/Semantics/definable.cpp
M flang/test/Semantics/definable01.f90
Log Message:
-----------
[flang] Get base objects right in definability checker (#78854)
The utility function GetRelevantObject() seems to be just wrong for
definability checks for the "base object" of a designator, and that's
all for which it is (now?) used. This leads to some false error messages
in Whizard when data-refs with multiple pointer components are defined.
Simplify, and add more test cases.
Commit: 4299d9b1af45843fd3230dc429fcf9cc19460303
https://github.com/llvm/llvm-project/commit/4299d9b1af45843fd3230dc429fcf9cc19460303
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M flang/lib/Parser/prescan.cpp
M flang/lib/Parser/prescan.h
A flang/test/Preprocessing/pp133.F90
Log Message:
-----------
[flang] Accomodate historic preprocessing usage (#78868)
Some Fortran codes use line continuation as a form of token pasting; see
https://github.com/llvm/llvm-project/issues/78797. This works in
compilers that run a C-like preprocessor and then apply line
continuation to its output; f18 implements line continuation during
tokenization and preprocessing, but can still handle this case.
In the rare case when an identifier is split across two or more
continuation lines, this patch allows its parts to be distinct
preprocessing tokens for the purpose of macro replacemnt. They (or their
replacement texts) can be effectively rejoined later as a single
identifier when the cooked character stream is tokenized in parsing.
Fixes https://github.com/llvm/llvm-project/issues/78797.
Commit: 776e25af6d927bc6be026070181c834069fbf742
https://github.com/llvm/llvm-project/commit/776e25af6d927bc6be026070181c834069fbf742
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M flang/lib/Parser/prescan.cpp
Log Message:
-----------
[flang] Inhibit case of false tokenization of Hollerith (#79029)
https://github.com/llvm/llvm-project/issues/78927 contains a case of
fixed-form source in which a Hollerith literal is mistakenly tokenized,
leading to grief later due to apparently unbalanced parentheses.
The source looks like "REAL*8 R8HEAP(SCRSIZE)" and the Hollerith literal
is misrecognized as such because it follows "8R". In order to properly
tokenize Hollerith literals in old comma-free FORMAT statements like "1
FORMAT(3I5HFLANG)", the tokenizer in the prescanner treats a letter
after an integer token ("3I") as a special case. The fix is to do this
only when the characters involved are nested in parentheses and
Hollerith is a possibility.
Fixes https://github.com/llvm/llvm-project/issues/78927.
Commit: b1938b716a3ef75a518bdebec12c240415bf0fef
https://github.com/llvm/llvm-project/commit/b1938b716a3ef75a518bdebec12c240415bf0fef
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M openmp/libomptarget/CMakeLists.txt
Log Message:
-----------
[OpenMP] Disable LTO build of libomptarget and plugins by default. (#79387)
CheckIPOSupported is used to test for working LTO since #74520. However, before CMake 3.24 this will test the default linker and ignore options such as LLVM_ENABLE_LLD. As a result, CMake would test whether LTO works with the default linker but builds with another one. In a typical scenario, libomptarget is compiled with the in-tree Clang, but linked with ld.gold, which requires the LLVMgold plugin, when it actually would work with the lld linker (or also fail because the system lld is too old to understand opaque pointers). Using gcc as the compiler would pass the test, but fail when linking with lld since does not understand gcc's LTO format.
Disable LTO by default for now since automatic detection causes too many problems. It causes the openmp-offload-cuda-project buildbot (https://lab.llvm.org/staging/#/builders/151) to fail and LLVM_ENABLE_RUNTIMES=openmp builds will have it implicitly disabled in the vast majority of system configurations anyway.
Commit: d0f44ed062d911953de157ee4d7db91003b9bd52
https://github.com/llvm/llvm-project/commit/d0f44ed062d911953de157ee4d7db91003b9bd52
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M flang/lib/Evaluate/fold-implementation.h
M flang/lib/Evaluate/intrinsics.cpp
A flang/test/Evaluate/bug78932.f90
Log Message:
-----------
[flang] Don't create impossible conversions in intrinsic extension (#79042)
We support specific intrinsic calls like `AMAX0(1.0,2)` that have
heterogeneous argument types as an optional extension in cases where the
specific intrinsic has a related generic intrinsic function capable of
handling the argument types. This feature can't be allowed to apply to
calls where the result of the related generic intrinsic function is not
convertible to the type of the specific intrinsic, as in `AMAX0('a',
'b')`.
Fixes https://github.com/llvm/llvm-project/issues/78932.
Commit: 320a5197a6d3a0929d0ade3b621769eaf120b203
https://github.com/llvm/llvm-project/commit/320a5197a6d3a0929d0ade3b621769eaf120b203
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M flang/lib/Semantics/check-io.cpp
Log Message:
-----------
[flang] Accept OPEN(...,CONVERT="SWAP") in semantics (#79050)
The runtime implements CONVERT="SWAP", but semantics doesn't like it.
Add it to the relevant table.
Fixes llvm-test-suite/Fortran/gfortran/regression/record_marker_1.f90,
.../unf_io_convert_1.f90, .../unf_io_convert_2.f90, and
.../unf_io_convert_3.f90.
Commit: ba45ad160e3f329aeb02c19eaf18af27fa423d85
https://github.com/llvm/llvm-project/commit/ba45ad160e3f329aeb02c19eaf18af27fa423d85
Author: Jason Molenda <jmolenda at apple.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/chrono/TestDataFormatterLibcxxChrono.py
Log Message:
-----------
Temporarily disable two libcxx chrono formatter tests
On macOS, the formatter is printing signed values as
unsigned, it seems, and the tests are expecting correctly
signed values. These tests were added in
https://github.com/llvm/llvm-project/pull/78609
Commit: 71e01d9fd757b7330958f9ee4ef4b797b7d17a7e
https://github.com/llvm/llvm-project/commit/71e01d9fd757b7330958f9ee4ef4b797b7d17a7e
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M flang/lib/Evaluate/intrinsics.cpp
M flang/test/Evaluate/folding02.f90
Log Message:
-----------
[flang] Support KNINT and KIDNNT legacy intrinsic functions (#79190)
These specific intrinsic functions are legacy names that map to the
standard generic NINT(..., KIND=8).
Commit: 378c4d4a93deeba96d8f9cd5d010a2d377d73998
https://github.com/llvm/llvm-project/commit/378c4d4a93deeba96d8f9cd5d010a2d377d73998
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
R flang/test/Preprocessing/pp133.F90
A flang/test/Preprocessing/pp134.F90
Log Message:
-----------
[flang] Rename new test to avoid a conflict on case-insensitive files… (#79531)
…ystems
flang/test/Preprocessing/pp133.F90 -> pp134.F90 to avoid pp133.f90.
Commit: 2b7a928dd97476aac86fbae25a7a8e26b4ced738
https://github.com/llvm/llvm-project/commit/2b7a928dd97476aac86fbae25a7a8e26b4ced738
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M flang/include/flang/Semantics/symbol.h
M flang/include/flang/Semantics/tools.h
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/symbol.cpp
M flang/lib/Semantics/tools.cpp
M flang/test/Semantics/resolve17.f90
M flang/test/Semantics/resolve18.f90
M flang/test/Semantics/symbol27.f90
Log Message:
-----------
[flang] Improve USE merging of homonymous types, interfaces, and proc… (#79364)
…edures
Fortran allows a generic interface to have the same name as a derived
type in the same scope. It also allows a generic interface to have the
same name as one of its specific procedures.
When two modules define the same name, possibly more than once each,
things get exciting. The standard is not clear, and other compilers do
variously different things. We are currently emitting some errors
prematurely for some usage in pfUnit due to how it combines two versions
of a package together via USE association.
This patch handles combinations of derived types and generic interfaces
and their specific procedures in a more principled way. Errors due to
ambiguity are deferred to actual usage of derived types and specific
procedures -- and when they're not used, the program is unambiguous and
no error issues.
Commit: 32334b91922b2c48665d04369b7858324820baa5
https://github.com/llvm/llvm-project/commit/32334b91922b2c48665d04369b7858324820baa5
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M flang/runtime/format-implementation.h
Log Message:
-----------
[flang][runtime] Fix integer overflow check for FORMATs (#79471)
The code that parses repeat counts, field widths, &c. from FORMAT
strings has an incorrect overflow check, so the maximum integer value is
not accepted. Fix.
Fixes https://github.com/llvm/llvm-project/issues/79255.
Commit: edb720666fd8dba3a96b71314e2cb854e966c8db
https://github.com/llvm/llvm-project/commit/edb720666fd8dba3a96b71314e2cb854e966c8db
Author: michaelrj-google <71531609+michaelrj-google at users.noreply.github.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
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/include/CMakeLists.txt
M libc/include/llvm-libc-types/CMakeLists.txt
A libc/include/llvm-libc-types/struct_epoll_data.h
A libc/include/llvm-libc-types/struct_epoll_event.h
A libc/include/sys/epoll.h.def
M libc/spec/gnu_ext.td
M libc/spec/linux.td
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/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 utils/bazel/llvm-project-overlay/libc/BUILD.bazel
A utils/bazel/llvm-project-overlay/libc/test/src/sys/epoll/BUILD.bazel
Log Message:
-----------
[libc] add epoll_wait functions (#79515)
The epoll_wait functions are syscall wrappers that were requested by
upstream users. This patch adds them, as well as their header and types.
The tests are currently incomplete since they require epoll_create to
properly test epoll_wait. That will be added in a followup patch since
this one is already very large.
Commit: 67f9c35ffee1aea3fa8a18b57a7b27400a03435a
https://github.com/llvm/llvm-project/commit/67f9c35ffee1aea3fa8a18b57a7b27400a03435a
Author: Tacet <advenam.tacet at trailofbits.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M llvm/lib/Analysis/ReplayInlineAdvisor.cpp
Log Message:
-----------
Make two texts static in `ReplayInlineAdvisor` (#79489)
This commit makes two variables static.
That makes two buildbot tests pass with short string annotations.
I suspect that there may be use after end of life bug and it's fixed by
this change, but it requires confirmation.
Short string annotations PR (reverted):
- https://github.com/llvm/llvm-project/pull/79049
Tests fixed with this PR:
```
LLVM :: Transforms/Inline/cgscc-inline-replay.ll
LLVM :: Transforms/SampleProfile/inline-replay.ll
```
Buildbot output:
https://lab.llvm.org/buildbot/#/builders/5/builds/40364/steps/9/logs/stdio
This PR does not resolve a problem with `Clang :: SemaCXX/builtins.cpp`,
related PR is:
- https://github.com/llvm/llvm-project/pull/79522
Commit: 59e90609d265a4f797005f78c5c566bbf87fda40
https://github.com/llvm/llvm-project/commit/59e90609d265a4f797005f78c5c566bbf87fda40
Author: michaelrj-google <71531609+michaelrj-google at users.noreply.github.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
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/include/CMakeLists.txt
M libc/include/llvm-libc-types/CMakeLists.txt
R libc/include/llvm-libc-types/struct_epoll_data.h
R libc/include/llvm-libc-types/struct_epoll_event.h
R libc/include/sys/epoll.h.def
M libc/spec/gnu_ext.td
M libc/spec/linux.td
M libc/src/sys/CMakeLists.txt
R libc/src/sys/epoll/CMakeLists.txt
R libc/src/sys/epoll/epoll_pwait.h
R libc/src/sys/epoll/epoll_pwait2.h
R libc/src/sys/epoll/epoll_wait.h
R libc/src/sys/epoll/linux/CMakeLists.txt
R libc/src/sys/epoll/linux/epoll_pwait.cpp
R libc/src/sys/epoll/linux/epoll_pwait2.cpp
R libc/src/sys/epoll/linux/epoll_wait.cpp
M libc/test/src/sys/CMakeLists.txt
R libc/test/src/sys/epoll/CMakeLists.txt
R libc/test/src/sys/epoll/linux/CMakeLists.txt
R libc/test/src/sys/epoll/linux/epoll_pwait2_test.cpp
R libc/test/src/sys/epoll/linux/epoll_pwait_test.cpp
R libc/test/src/sys/epoll/linux/epoll_wait_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
R utils/bazel/llvm-project-overlay/libc/test/src/sys/epoll/BUILD.bazel
Log Message:
-----------
Revert "[libc] add epoll_wait functions" (#79534)
Reverts llvm/llvm-project#79515
Some minor breakages. Will fix tomorrow.
Commit: de5e4d7c69549cc8e7e0daee56502e61b9c3cad5
https://github.com/llvm/llvm-project/commit/de5e4d7c69549cc8e7e0daee56502e61b9c3cad5
Author: Peiming Liu <36770114+PeimingLiu at users.noreply.github.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/LoopEmitter.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorLevel.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorLevel.h
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_strided_conv_2d_nhwc_hwcf.mlir
Log Message:
-----------
[mlir][sparse] fix error when convolution stride is applied on a dens… (#79521)
…e level.
Commit: 0a3b5ece0e51b85e4674388f46a0205c4361f76e
https://github.com/llvm/llvm-project/commit/0a3b5ece0e51b85e4674388f46a0205c4361f76e
Author: Enna1 <xumingjie.enna1 at bytedance.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M compiler-rt/include/CMakeLists.txt
Log Message:
-----------
[MemProf] Add missing header to list of installed headers. (#79413)
There were buildbot failures when running memprof tests:
Failed Tests (12):
MemProfiler-x86_64-linux :: TestCases/interface_test.cpp
MemProfiler-x86_64-linux :: TestCases/log_path_test.cpp
MemProfiler-x86_64-linux :: TestCases/memprof_merge_mib.cpp
MemProfiler-x86_64-linux :: TestCases/memprof_profile_dump.cpp
MemProfiler-x86_64-linux :: TestCases/profile_reset.cpp
MemProfiler-x86_64-linux :: TestCases/unaligned_loads_and_stores.cpp
MemProfiler-x86_64-linux-dynamic :: TestCases/interface_test.cpp
MemProfiler-x86_64-linux-dynamic :: TestCases/log_path_test.cpp
MemProfiler-x86_64-linux-dynamic :: TestCases/memprof_merge_mib.cpp
MemProfiler-x86_64-linux-dynamic :: TestCases/memprof_profile_dump.cpp
MemProfiler-x86_64-linux-dynamic :: TestCases/profile_reset.cpp
MemProfiler-x86_64-linux-dynamic ::
TestCases/unaligned_loads_and_stores.cpp
See
- https://lab.llvm.org/buildbot/#/builders/258/builds/8852
- https://lab.llvm.org/buildbot/#/builders/258/builds/12876
I suspect the failure is because when build with
-DLLVM_ENABLE_RUNTIMES=compiler-rt -DCOMPILER_RT_BUILD_SANITIZERS=OFF,
the headers sanitizer/allocator_interface.h and
sanitizer/common_interface_defs.h
are not copied to the build tree, and not installed.
But in the failed memprof tests,
sanitizer/allocator_interface.h or sanitizer/memprof_interface.h is
included.
This patch adds sanitizer/allocator_interface.h and
sanitizer/memprof_interface.h to memprof headers if
COMPILER_RT_BUILD_SANITIZERS is false.
Commit: 4792f912b232141ecba4cbae538873be3c28556c
https://github.com/llvm/llvm-project/commit/4792f912b232141ecba4cbae538873be3c28556c
Author: Chen Zheng <czhengsz at cn.ibm.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M clang/lib/Basic/Targets/PPC.cpp
M clang/test/CodeGen/PowerPC/attr-target-ppc.c
M clang/test/Driver/ppc-dependent-options.cpp
Log Message:
-----------
[PowerPC] Diagnose invalid combination with Altivec, VSX and soft-float (#79109)
Moved from https://reviews.llvm.org/D126302
The current behaviour with these three options is quite undesirable:
-mno-altivec -mvsx allows VSX to override no Altivec, thereby turning on
both
-msoft-float -maltivec causes a crash if an actual Altivec instruction
is required because soft float turns of Altivec
-msoft-float -mvsx is also accepted with both Altivec and VSX turned off
(potentially causing crashes as above)
This patch diagnoses these impossible combinations in the driver so the
user does not end up with surprises in terms of their options being
ignored or silently overridden.
Fixes https://github.com/llvm/llvm-project/issues/55556
---------
Co-authored-by: Nemanja Ivanovic <nemanja.i.ibm at gmail.com>
Commit: e0ade459917e22f9930559453155537ad2b5e0d8
https://github.com/llvm/llvm-project/commit/e0ade459917e22f9930559453155537ad2b5e0d8
Author: Enna1 <xumingjie.enna1 at bytedance.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemProfiler.cpp
Log Message:
-----------
[MemProf][NFC] Rename DefaultShadowGranularity to DefaultMemGranulari… (#79412)
…ty in instrumentation code, be consistent with runtime
In runtime code, the size of memory block mapped to a single shadow
location is called MEM_GRANULARITY.
In instrumentation code, the size of memory block mapped to a single
shadow location is called DefaultShadowGranularity.
Actually, the SHADOW_GRANULARITY is 8 (1 << SHADOW_SCALE), and the
MEM_GRANULARITY is 64.
The wording of DefaultShadowGranularity in instrumentation code is a bit
misleading, this patch renames DefaultShadowGranularity to
DefaultMemGranularity, be consistent with runtime.
Commit: f0346a5862cc2f177e102d96f9f88da55fe82fd3
https://github.com/llvm/llvm-project/commit/f0346a5862cc2f177e102d96f9f88da55fe82fd3
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M flang/lib/Frontend/CompilerInstance.cpp
M flang/lib/Frontend/TextDiagnosticBuffer.cpp
Log Message:
-----------
[Frontend] Use SmallString::operator std::string (NFC)
Commit: d7ff7c3d182450b5fea2018a4b427ab04ed7b158
https://github.com/llvm/llvm-project/commit/d7ff7c3d182450b5fea2018a4b427ab04ed7b158
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
Log Message:
-----------
[Transforms] Use llvm::pred_size and llvm::pred_successors (NFC)
Commit: eeb0e9f82e26421ad9f9499a9cb0108f53495bdb
https://github.com/llvm/llvm-project/commit/eeb0e9f82e26421ad9f9499a9cb0108f53495bdb
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/lib/Analysis/InlineCost.cpp
Log Message:
-----------
[Analysis] Use llvm::successors (NFC)
Commit: e6bafbe72623b3f6fd974bd7f59f38c59f1e9df3
https://github.com/llvm/llvm-project/commit/e6bafbe72623b3f6fd974bd7f59f38c59f1e9df3
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
M clang/utils/TableGen/NeonEmitter.cpp
Log Message:
-----------
[TableGen] Use StringRef::consume_{front,back} (NFC)
Commit: 1e9924c1f248bbddcb95d82a59708d617297dad3
https://github.com/llvm/llvm-project/commit/1e9924c1f248bbddcb95d82a59708d617297dad3
Author: wanglei <wanglei at loongson.cn>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchTargetTransformInfo.cpp
Log Message:
-----------
[LoongArch] Fixing the incorrect return value of LoongArchTTIImpl::getRegisterBitWidth (#79441)
When we do not enable vector features, we should return the default
value (`TargetTransformInfoImplBase::getRegisterBitWidth`) instead of
zero.
This should fix the LoongArch [buildbot
breakage](https://lab.llvm.org/staging/#/builders/5/builds/486) from
#78943.
Commit: b75cad44136e06222e054998b2337952fed4642f
https://github.com/llvm/llvm-project/commit/b75cad44136e06222e054998b2337952fed4642f
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Minor whitespace as a test change [nfc]
Commit: fd0637cfe835d6d4d0d3ebde3663f94a7bb3cd76
https://github.com/llvm/llvm-project/commit/fd0637cfe835d6d4d0d3ebde3663f94a7bb3cd76
Author: Nico Weber <thakis at chromium.org>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M libcxxabi/src/demangle/ItaniumDemangle.h
M llvm/include/llvm/Demangle/ItaniumDemangle.h
Log Message:
-----------
[ItaniumDemangle] reapply 0e754e114a6 (#79488)
It got lost in 50b58e89a122.
Commit: 8e01042da9d385d5ecd41e3ff3b60763995f253f
https://github.com/llvm/llvm-project/commit/8e01042da9d385d5ecd41e3ff3b60763995f253f
Author: Brandon Wu <brandon.wu at sifive.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M clang/test/Driver/riscv-toolchain-gcc-multilib-reuse.c
M llvm/lib/Support/RISCVISAInfo.cpp
Log Message:
-----------
[RISCV] Add missing dependency check for Zvkb (#79467)
Commit: fb94c6491a114ebd5815b1d42665a8f6bcd9d639
https://github.com/llvm/llvm-project/commit/fb94c6491a114ebd5815b1d42665a8f6bcd9d639
Author: Brandon Wu <brandon.wu at sifive.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M clang/include/clang/Basic/riscv_sifive_vector.td
M clang/lib/Headers/sifive_vector.h
M clang/lib/Sema/SemaChecking.cpp
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/xsfvcp-x-rv64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/xsfvcp-x.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-handcrafted/xsfvcp-index-out-of-range.c
M llvm/include/llvm/IR/IntrinsicsRISCVXsf.td
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.h
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoXSf.td
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-xsfvcp-x.ll
M llvm/test/CodeGen/RISCV/rvv/xsfvcp-x.ll
Log Message:
-----------
[RISCV][SiFive] Reduce intrinsics of SiFive VCIX extension (#79407)
This patch models LMUL and SEW as inputs in sf_vc_x_se and sf_vc_i_se,
it reduces 42 intrinsics in the lookup table.
Commit: e0092eae431956a2fd17f7ea88e7ba26d5e44f7e
https://github.com/llvm/llvm-project/commit/e0092eae431956a2fd17f7ea88e7ba26d5e44f7e
Author: Brandon Wu <brandon.wu at sifive.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M clang/include/clang/Support/RISCVVIntrinsicUtils.h
M clang/lib/Sema/SemaRISCVVectorLookup.cpp
M clang/lib/Support/RISCVVIntrinsicUtils.cpp
Log Message:
-----------
[RISCV][clang] Optimize memory usage of intrinsic lookup table (#77487)
This patch optimize:
1. Reduce string size of RVVIntrinsicDef.
2. Reduce the type size of the index of intrinsics.
I use valgrind --tool=massif to analyze a simple program:
```
#include <riscv_vector.h>
vint32m1_t test(vint32m1_t v1, vint32m1_t v2, size_t vl) {
return __riscv_vadd(v1, v2, vl);
}
```
and before optimization, the peak memory usage is 15.68MB,
after optimization, the peak memory usage is 13.69MB.
Commit: eeddfec8c9dc91e3d723a3d8ec3fb108972e031d
https://github.com/llvm/llvm-project/commit/eeddfec8c9dc91e3d723a3d8ec3fb108972e031d
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
Log Message:
-----------
[Docs] Fix documentation build.
Missing ending `` after c92ad411f2f94d8521cd18abcb37285f9a390ecb
Commit: 3c9f34c12450345c6eb524e47cf79664271e4260
https://github.com/llvm/llvm-project/commit/3c9f34c12450345c6eb524e47cf79664271e4260
Author: Michał Górny <mgorny at gentoo.org>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/cmake/modules/LLVMConfig.cmake.in
Log Message:
-----------
[llvm] [cmake] Include httplib in LLVMConfig.cmake (#79305)
Include LLVM_ENABLE_HTTPLIB along with httplib package finding in
LLVMConfig.cmake, as this dependency is needed by LLVMDebuginfod that is
now used by LLDB. Without it, building LLDB standalone fails with:
```
CMake Error at /usr/lib/llvm/19/lib64/cmake/llvm/LLVMExports.cmake:90 (set_target_properties):
The link interface of target "LLVMDebuginfod" contains:
httplib::httplib
but the target was not found. Possible reasons include:
* There is a typo in the target name.
* A find_package call is missing for an IMPORTED target.
* An ALIAS target is missing.
Call Stack (most recent call first):
/usr/lib/llvm/19/lib64/cmake/llvm/LLVMConfig.cmake:357 (include)
cmake/modules/LLDBStandalone.cmake:9 (find_package)
CMakeLists.txt:34 (include)
```
Commit: 76ead96c1d06ee0d828238bce96d0107e650b5fa
https://github.com/llvm/llvm-project/commit/76ead96c1d06ee0d828238bce96d0107e650b5fa
Author: MaheshRavishankar <1663364+MaheshRavishankar at users.noreply.github.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M flang/lib/Optimizer/Dialect/FIROps.cpp
M mlir/include/mlir/Dialect/SCF/IR/SCFOps.td
M mlir/include/mlir/Dialect/SCF/Transforms/TileUsingInterface.h
M mlir/include/mlir/Interfaces/LoopLikeInterface.td
M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/Tiling.cpp
M mlir/lib/Dialect/SCF/IR/SCF.cpp
M mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp
M mlir/lib/Dialect/SCF/Utils/Utils.cpp
M mlir/lib/Interfaces/LoopLikeInterface.cpp
M mlir/lib/Transforms/Utils/LoopInvariantCodeMotionUtils.cpp
M mlir/test/Dialect/Linalg/generalize-tensor-unpack-tile.mlir
M mlir/test/Dialect/Linalg/tile-conv.mlir
M mlir/test/Dialect/Linalg/tile-tensors.mlir
M mlir/test/Dialect/Linalg/transform-op-hoist-pad-build-packing-loop-nest.mlir
M mlir/test/Dialect/Linalg/transform-op-hoist-pad.mlir
M mlir/test/Dialect/Linalg/transform-op-peel-and-vectorize.mlir
M mlir/test/Dialect/Tensor/tiling.mlir
A mlir/test/Interfaces/TilingInterface/tile-and-fuse-using-scfforall.mlir
M mlir/test/Interfaces/TilingInterface/tile-fuse-and-yield-using-interface.mlir
A mlir/test/Interfaces/TilingInterface/tile-fuse-and-yield-using-scfforall.mlir
M mlir/test/Interfaces/TilingInterface/tile-pad-using-interface.mlir
M mlir/test/Interfaces/TilingInterface/tile-using-interface.mlir
M mlir/test/Interfaces/TilingInterface/tile-using-scfforall.mlir
M mlir/test/lib/Interfaces/TilingInterface/TestTilingInterfaceTransformOps.cpp
M mlir/test/lib/Interfaces/TilingInterface/TestTilingInterfaceTransformOps.td
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][TilingInterface] Use `LoopLikeOpInterface` in tiling using SCF to unify tiling with `scf.for` and `scf.forall`. (#77874)
Using `LoopLikeOpInterface` as the basis for the implementation unifies
all the tiling logic for both `scf.for` and `scf.forall`. The only
difference is the actual loop generation. This is a follow up to
https://github.com/llvm/llvm-project/pull/72178
Instead of many entry points for each loop type, the loop type is now
passed as part of the options passed to the tiling method.
This is a breaking change with the following changes
1) The `scf::tileUsingSCFForOp` is renamed to `scf::tileUsingSCF`
2) The `scf::tileUsingSCFForallOp` is deprecated. The same
functionality is obtained by using `scf::tileUsingSCF` and setting
the loop type in `scf::SCFTilingOptions` passed into this method to
`scf::SCFTilingOptions::LoopType::ForallOp` (using the
`setLoopType` method).
3) The `scf::tileConsumerAndFusedProducerGreedilyUsingSCFForOp` is
renamed to `scf::tileConsumerAndFuseProducerUsingSCF`. The use of
the `controlFn` in `scf::SCFTileAndFuseOptions` allows implementing
any strategy with the default callback implemeting the greedy fusion.
4) The `scf::SCFTilingResult` and `scf::SCFTileAndFuseResult` now use
`SmallVector<LoopLikeOpInterface>`.
5) To make `scf::ForallOp` implement the parts of
`LoopLikeOpInterface` needed, the `getOutputBlockArguments()`
method is replaced with `getRegionIterArgs()`
These changes now bring the tiling and fusion capabilities using
`scf.forall` on par with what was already supported by `scf.for`
Commit: df5e431e8dcb555320be7f7ae4d499a11e0b17db
https://github.com/llvm/llvm-project/commit/df5e431e8dcb555320be7f7ae4d499a11e0b17db
Author: MaheshRavishankar <1663364+MaheshRavishankar at users.noreply.github.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUResourceUsageAnalysis.cpp
M llvm/lib/Target/AMDGPU/AMDGPUResourceUsageAnalysis.h
Log Message:
-----------
[Target][AMDGPU] Fix TSan error on AMDGPU Target. (#79529)
Updating the value of the global flag within the code was flagged as a
TSAN error. Fixing that.
Commit: 6d0080b5de26d8a8682ec6169851af3d04e30ccb
https://github.com/llvm/llvm-project/commit/6d0080b5de26d8a8682ec6169851af3d04e30ccb
Author: XinWang10 <108658776+XinWang10 at users.noreply.github.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M llvm/include/llvm/Support/X86DisassemblerDecoderCommon.h
M llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
M llvm/lib/Target/X86/X86InstrKL.td
M llvm/lib/Target/X86/X86InstrMisc.td
M llvm/lib/Target/X86/X86InstrSystem.td
M llvm/test/CodeGen/X86/enqcmd-intrinsics.ll
M llvm/test/CodeGen/X86/keylocker-intrinsics-fast-isel.ll
M llvm/test/CodeGen/X86/usermsr-intrinsics.ll
A llvm/test/MC/Disassembler/X86/apx/enqcmd.txt
A llvm/test/MC/Disassembler/X86/apx/keylocker.txt
A llvm/test/MC/Disassembler/X86/apx/user-msr.txt
A llvm/test/MC/X86/apx/enqcmd-att.s
A llvm/test/MC/X86/apx/enqcmd-intel.s
A llvm/test/MC/X86/apx/keylocker-att.s
A llvm/test/MC/X86/apx/keylocker-intel.s
A llvm/test/MC/X86/apx/user-msr-att.s
A llvm/test/MC/X86/apx/user-msr-intel.s
M llvm/utils/TableGen/X86DisassemblerTables.cpp
M llvm/utils/TableGen/X86RecognizableInstr.cpp
Log Message:
-----------
[X86] Support promoted ENQCMD, KEYLOCKER and USERMSR (#77293)
R16-R31 was added into GPRs in
https://github.com/llvm/llvm-project/pull/70958,
This patch supports the promoted ENQCMD, KEYLOCKER and USER-MSR
instructions in EVEX space.
RFC:
https://discourse.llvm.org/t/rfc-design-for-apx-feature-egpr-and-ndd-support/73031/4
Commit: d9d1ae6400a7f8a12068bdd37ecda62f07e52bce
https://github.com/llvm/llvm-project/commit/d9d1ae6400a7f8a12068bdd37ecda62f07e52bce
Author: Qizhi Hu <836744285 at qq.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/TypeLoc.h
M clang/lib/Sema/TreeTransform.h
A clang/test/Sema/attr-lifetimebound-no-crash.cpp
Log Message:
-----------
[Clang][Sema] fix crash of attribute transform (#78088)
Try to fix [issue](https://github.com/llvm/llvm-project/issues/73619)
1. During transforming `FunctionProtoType`, if `ThisContext` is
`nullptr` and `CurrentContext` is `ClassTemplateSpecializationDecl`,
Constructor of `CXXThisScopeRAII` and `Sema::getCurrentThisType` won't
set `CXXThisTypeOverride` of Sema. This will lead to building `this` in
`RebuildCXXThisExpr` with a invalid type(NULL type) and cause crash.
2. During transforming attribute type, if `modifiedType` of attribute
type is changed, `EquivalentType` need to be transformed. If
`EquivalentType` is `FunctionProtoType`, its `ParamVarDecl` will not be
copyed(but parameter num does) and will not be instanced in
`TransformFunctionTypeParams` since `ParamVarDecl` is `nullptr`. This
will lead to crash in `findInstantiationOf`(can't find the instance of
`ParamVarDecl`).
This patch tries to fix these issues above.
1. If `CurrentContext` is `ClassTemplateSpecializationDecl`, Use it.
2. Use `EquivalentTypeLoc` instead of `EquivalentType` since it has
parameter info. But, if use current `TypeLocBuilder`, it will crash in
`TypeLocBuilder::push` since `LastType` is mismatch. Use an auxiliary
`TypeLocBuilder` instead and get transformed `EquivalentType`.
Co-authored-by: huqizhi <836744285 at qq.com>
Commit: 02d56801ee8e4fcce303a47e5fac1967f5660d38
https://github.com/llvm/llvm-project/commit/02d56801ee8e4fcce303a47e5fac1967f5660d38
Author: XinWang10 <108658776+XinWang10 at users.noreply.github.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86InstrMisc.td
M llvm/lib/Target/X86/X86InstrPredicates.td
M llvm/lib/Target/X86/X86InstrRAOINT.td
M llvm/test/CodeGen/X86/movbe.ll
M llvm/test/CodeGen/X86/raoint-intrinsics-32.ll
M llvm/test/CodeGen/X86/raoint-intrinsics-64.ll
A llvm/test/MC/Disassembler/X86/apx/movbe.txt
A llvm/test/MC/Disassembler/X86/apx/rao-int.txt
M llvm/test/MC/Disassembler/X86/apx/reverse-encoding.txt
A llvm/test/MC/X86/apx/movbe-att.s
A llvm/test/MC/X86/apx/movbe-intel.s
A llvm/test/MC/X86/apx/rao-int-att.s
A llvm/test/MC/X86/apx/rao-int-intel.s
M llvm/test/TableGen/x86-fold-tables.inc
Log Message:
-----------
[X86] Support APX promoted RAO-INT and MOVBE instructions (#77431)
R16-R31 was added into GPRs in
https://github.com/llvm/llvm-project/pull/70958,
This patch supports the promoted RAO-INT and MOVBE instructions in EVEX
space.
RFC:
https://discourse.llvm.org/t/rfc-design-for-apx-feature-egpr-and-ndd-support/73031/4
Commit: 7b3389980ddbd84f72ccc4776889c67519cc2c14
https://github.com/llvm/llvm-project/commit/7b3389980ddbd84f72ccc4776889c67519cc2c14
Author: Qizhi Hu <836744285 at qq.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaTemplateInstantiate.cpp
A clang/test/SemaTemplate/default-parm-init.cpp
Log Message:
-----------
[Clang][Sema] fix outline member function template with default align crash (#78400)
Try to fix [issue](https://github.com/llvm/llvm-project/issues/68490)
and some extented problem. Root cause of current issue is that error
handling in instantiation of function parameter with default
initialization on sizeof or align expression. When instance an
out-of-line template member function, depth of `TemplateTypeParmDecl` in
default initialization doesn't change while depth of other template
parameter does and this will lead to some template parameter
uninstanced. Also, sometime it will leader to wrong instantiation when
it uses the template parameter of class.
Fix it by add template args of context when it's out-of-line. This will
make `MultiLevelTemplateArgumentList::getNumLevels` matching the depth
of template parameter. Testcase with some `static_assert` demonstrates
the template parameter has been instanced correctly.
Co-authored-by: huqizhi <836744285 at qq.com>
Commit: f174648b6cabb20f368b31fdef091295c5512338
https://github.com/llvm/llvm-project/commit/f174648b6cabb20f368b31fdef091295c5512338
Author: Enna1 <xumingjie.enna1 at bytedance.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M compiler-rt/include/CMakeLists.txt
Log Message:
-----------
Revert "[MemProf] Add missing header to list of installed headers. (#79413)"
This reverts commit 0a3b5ece0e51b85e4674388f46a0205c4361f76e.
Commit: ac6f9a785c8adb39bbd9f4aeb20e73b46855ea5b
https://github.com/llvm/llvm-project/commit/ac6f9a785c8adb39bbd9f4aeb20e73b46855ea5b
Author: Enna1 <xumingjie.enna1 at bytedance.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M compiler-rt/include/CMakeLists.txt
Log Message:
-----------
Reland "[MemProf] Add missing header to list of installed headers. (#79413)"
This reland commit 0a3b5ece0e51b85e4674388f46a0205c4361f76e with fix.
Commit: d9dd5f049f16a866dcfa74d0207dd376543c1ec4
https://github.com/llvm/llvm-project/commit/d9dd5f049f16a866dcfa74d0207dd376543c1ec4
Author: 袁銓嶽 <84860242+circYuan at users.noreply.github.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M clang/include/clang/Basic/riscv_vector.td
Log Message:
-----------
[Clang][RISCV][RVV Intrinsic] Fix codegen redundant intrinsic names (#77889)
This patch avoids adding redundant vcreate_v intrinsics to the RISCV
IntrinsicList.
Since vcreate_v uses LFixedLog2LMUL, I believe we can simply set
Log2LMUL to the smallest value (-3) to prevent the creation of redundant
vcreate_v instances with the same intrinsic name and prototype in the
IntrinsicList when clang creates it.
Commit: af91b42a3524576de95027f800baa0c7670cfd3d
https://github.com/llvm/llvm-project/commit/af91b42a3524576de95027f800baa0c7670cfd3d
Author: AtariDreams <83477269+AtariDreams at users.noreply.github.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
Log Message:
-----------
[AMDGPU][NFC] Remove FIXME that has been resolved (#79047)
As of 5aea839ab3edeb58bb0eea833ad9427d0ae7ef67, this FIXME has been
resolved.
So we can remove this comment.
Commit: 0f4e9e718b4e79d3f760fd7ea399c23fc97a7716
https://github.com/llvm/llvm-project/commit/0f4e9e718b4e79d3f760fd7ea399c23fc97a7716
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/include/llvm/Passes/PassBuilder.h
Log Message:
-----------
[CodeGen] Add no-op machine function pass for test purpose (#79541)
Commit: f0012dcce4c08d0e4a16b65f2a15f7dc7fb7e533
https://github.com/llvm/llvm-project/commit/f0012dcce4c08d0e4a16b65f2a15f7dc7fb7e533
Author: David Green <david.green at arm.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/arm64-csel.ll
Log Message:
-----------
[AArch64] Add a couple more csinc tests with disjoint ors. NFC
Commit: 14a027b2b79b85f15dfa259c6b113bcf681d06a2
https://github.com/llvm/llvm-project/commit/14a027b2b79b85f15dfa259c6b113bcf681d06a2
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86FlagsCopyLowering.cpp
A llvm/test/CodeGen/X86/apx/flags-copy-lowering.mir
Log Message:
-----------
[X86][CodeGen] Support flags copy lowering for NDD ADC/SBB/RCL/RCR (#79280)
Commit: 8a4cb7b6077e51adfa87209869ab0ae83dc531a7
https://github.com/llvm/llvm-project/commit/8a4cb7b6077e51adfa87209869ab0ae83dc531a7
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M llvm/test/MC/Disassembler/X86/apx/evex-format.txt
M llvm/test/MC/X86/apx/evex-format-att.s
M llvm/test/MC/X86/apx/evex-format-intel.s
Log Message:
-----------
[X86][test] Add MRM7r/MRM7m entries in evex format enc/dec tests
Commit: f6290e0daf5aff7132cab097fb13aad8a20ad070
https://github.com/llvm/llvm-project/commit/f6290e0daf5aff7132cab097fb13aad8a20ad070
Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M clang/test/CodeGen/attr-target-version.c
Log Message:
-----------
[NFC][FMV] Add tests to demonstrate feature priorities. (#79455)
Adds tests showing that we select function version according to the
highest feature priority. This will make the changes introduced by
#79316 more evident.
Commit: fb8eb4251ac0ac27ab0125caf1abe3dbb93732f4
https://github.com/llvm/llvm-project/commit/fb8eb4251ac0ac27ab0125caf1abe3dbb93732f4
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M mlir/lib/Conversion/ArmSMEToSCF/ArmSMEToSCF.cpp
M mlir/test/Conversion/ArmSMEToSCF/arm-sme-to-scf.mlir
Log Message:
-----------
[mlir][ArmSME] Fix loop bounds of masked loads/stores (#78983)
Previously, for masked tile loads/stores we directly used the dimension
size from the `vector.create_mask` operation as the upper bound of the
`scf.for` over the tile slices. This was not correct, as `create_mask`
allows operands to be greater than the size of the vector dimension, in
which case the for loop bounds should be clamped to the number of tile
slices.
Commit: 3ed98cb3de303c316c943da7d60b48472f7efdec
https://github.com/llvm/llvm-project/commit/3ed98cb3de303c316c943da7d60b48472f7efdec
Author: Matthias Springer <me at m-sp.org>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M flang/lib/Optimizer/HLFIR/Transforms/BufferizeHLFIR.cpp
M mlir/include/mlir/IR/Builders.h
M mlir/include/mlir/IR/PatternMatch.h
M mlir/include/mlir/Transforms/DialectConversion.h
M mlir/lib/IR/Builders.cpp
M mlir/lib/IR/PatternMatch.cpp
M mlir/lib/Transforms/Utils/DialectConversion.cpp
M mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp
Log Message:
-----------
[mlir][IR] Change `notifyBlockCreated` to `notifyBlockInserted` (#79472)
This change makes the callback consistent with
`notifyOperationInserted`: both now notify about IR insertion, not IR
creation. See also #78988.
This change also simplifies the dialect conversion: it is no longer
necessary to override the `inlineRegionBefore` method. All information
that is necessary for rollback is provided with the
`notifyBlockInserted` callback.
Commit: c23608b8d58bdeb0134d99168e6d0335da2c8366
https://github.com/llvm/llvm-project/commit/c23608b8d58bdeb0134d99168e6d0335da2c8366
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M llvm/include/llvm/IR/BasicBlock.h
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/IR/Function.cpp
Log Message:
-----------
[DebugInfo][RemoveDIs] Don't pointlessly scan funcs for debug-info (#79327)
The utility functions this patch modifies are part of cleanly
transitioning from a context where we use dbg.value intrinsics to one
where we use DPValue objects to record debug-info, and back again.
However, this is a waste of time in non-debug builds (i.e. no -g on the
command line). We still have to call the function on all blocks though
to set the IsNewDbgInfoFormat flag.
To reduce the overhead of this, test whether there's any debug-info in
the function by checking whether the function has a DISubprogram, and
pass a flag down to the utility functions indicating whether they can
skip the scan.
It feels a bit dumb to me now that we're scanning and setting a flag in
a load of blocks when we don't have to -- however it's been really
valuable during development for working out where spurious dbg.value
intrinsics leak into a RemoveDIs context. Happily we'll be able to just
delete this flag entirely when RemoveDIs lands and sticks, and the
conversion routines will eventually be pushed down into the debug-info
autoupgrade path.
Commit: 11d76fdb0b9c500aace938427bba18602d15b17d
https://github.com/llvm/llvm-project/commit/11d76fdb0b9c500aace938427bba18602d15b17d
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M lldb/source/Plugins/DynamicLoader/FreeBSD-Kernel/DynamicLoaderFreeBSDKernel.cpp
Log Message:
-----------
[lldb][FreeBSD] Fix unused variable warning
Commit: 821dee98526057286ec2161b3c40ad6676b5377f
https://github.com/llvm/llvm-project/commit/821dee98526057286ec2161b3c40ad6676b5377f
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/test/CodeGen/X86/apx/mul-i1024.ll
Log Message:
-----------
[X86][CodeGen] Add NDD entries for isAssociativeAndCommutative
Commit: 46dd8acf36109c421443bcc4238dad3de5939acb
https://github.com/llvm/llvm-project/commit/46dd8acf36109c421443bcc4238dad3de5939acb
Author: Diana Picus <Diana-Magda.Picus at amd.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.h
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.buffer.load.ll
Log Message:
-----------
[AMDGPU] Fix typos. NFC
Commit: 1bc1dcf28f41fc28c38e00d8d709eabe07751e14
https://github.com/llvm/llvm-project/commit/1bc1dcf28f41fc28c38e00d8d709eabe07751e14
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M llvm/include/llvm/Support/AutoConvert.h
Log Message:
-----------
[llvm][Support][NFC] Remove stray character in AutoConvert.h license comment
Commit: b64c26f34f6d64eb15bd7584623b37d1a8e0e5d5
https://github.com/llvm/llvm-project/commit/b64c26f34f6d64eb15bd7584623b37d1a8e0e5d5
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M flang/docs/Intrinsics.md
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Builder/Runtime/Intrinsics.h
M flang/include/flang/Runtime/extensions.h
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Intrinsics.cpp
M flang/runtime/extensions.cpp
A flang/test/Lower/Intrinsics/sleep.f90
Log Message:
-----------
[flang][runtime] Implement SLEEP intrinsic (#79074)
This intrinsic is a gnu extension. See
https://gcc.gnu.org/onlinedocs/gfortran/SLEEP.html
This intrinsic is used in minighost:
https://github.com/Mantevo/miniGhost/blob/c2102b521568a74862fa5abb074b1fc8041fc222/ref/MG_UTILS.F#L606
Commit: 0ab539fd6748adf2f638e10514dd9419597d8863
https://github.com/llvm/llvm-project/commit/0ab539fd6748adf2f638e10514dd9419597d8863
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanValue.h
M llvm/test/Transforms/LoopVectorize/cast-induction.ll
M llvm/test/Transforms/LoopVectorize/interleave-and-scalarize-only.ll
M llvm/test/Transforms/LoopVectorize/pr46525-expander-insertpoint.ll
Log Message:
-----------
[VPlan] Add new VPScalarCastRecipe, use for IV & step trunc. (#78113)
Add a new recipe to model scalar cast instructions, without relying on
an underlying instruction.
This allows creating scalar casts, without relying on an underlying
instruction (like the current VPReplicateRecipe). The new recipe is
used to explicitly model both truncating the induction step and the
VPDerivedIVRecipe, thus simplifying both the recipe and code
needed to introduce it.
Truncating VPWidenIntOrFpInductionRecipes should also be modeled using
the new recipe, as follow-up.
PR: https://github.com/llvm/llvm-project/pull/78113
Commit: 659a217b91a93869b6399fb85e24722a524c9d95
https://github.com/llvm/llvm-project/commit/659a217b91a93869b6399fb85e24722a524c9d95
Author: Danial Klimkin <dklimkin at users.noreply.github.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/test/src/math/BUILD.bazel
Log Message:
-----------
Fix bazel deps on ilogb_test_template (#79577)
Commit: d4c01714239e80d21e441c3886749fc56b743f81
https://github.com/llvm/llvm-project/commit/d4c01714239e80d21e441c3886749fc56b743f81
Author: Graham Hunter <graham.hunter at arm.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/vector-call-linear-args.ll
Log Message:
-----------
[LV] Fix handling of interleaving linear args (#78725)
Currently when interleaving vector calls with linear arguments,
the Part is ignored and all vector calls use the initial value
from the first lane of the current iteration.
Fix this to extract from the correct part of the linear vector.
Commit: bf716fb7169b500a7fe3f20a39ac0288fb13cac5
https://github.com/llvm/llvm-project/commit/bf716fb7169b500a7fe3f20a39ac0288fb13cac5
Author: Shih-Po Hung <shihpo.hung at sifive.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/RISCV/reduce-max.ll
M llvm/test/Analysis/CostModel/RISCV/reduce-min.ll
Log Message:
-----------
[RISCV] Refine cost on Min/Max reduction with i1 type (#79401)
It is split off from #77342.
InstCombine transform min/max reduction with i1 into arithmetic
reduction,
so this patch reuses the cost logic in arithmetic reduction cost
function.
Commit: 5e9f0e37494ab42ff8d850527c5517f3006e63e9
https://github.com/llvm/llvm-project/commit/5e9f0e37494ab42ff8d850527c5517f3006e63e9
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M lldb/source/Plugins/Language/ObjC/NSArray.cpp
M lldb/source/Plugins/Language/ObjC/NSDictionary.cpp
M lldb/source/Plugins/Language/ObjC/NSSet.cpp
Log Message:
-----------
[lldb][ObjC][NFC] Fix c++20 gcc compile errors
When compiling with gcc 11+ and -DCMAKE_CXX_STANDARD=20, errors
like the following happened:
```
llvm-project/lldb/source/Plugins/Language/ObjC/NSDictionary.cpp:1063:5: error: template-id not allowed for destructor
1063 | ~GenericNSDictionaryMSyntheticFrontEnd<D32,D64>() {
| ^
```
This appears to be something only gcc enforces and only from 11 and beyond.
This changes fixes all the instances of this pattern by removing the
template arguments.
Commit: 28ee54c32e6b761e65fd2a7412776f6300ad922b
https://github.com/llvm/llvm-project/commit/28ee54c32e6b761e65fd2a7412776f6300ad922b
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M lldb/source/Plugins/Language/ObjC/NSArray.cpp
M lldb/source/Plugins/Language/ObjC/NSDictionary.cpp
M lldb/source/Plugins/Language/ObjC/NSSet.cpp
Log Message:
-----------
Revert "[lldb][ObjC][NFC] Fix c++20 gcc compile errors"
This reverts commit 5e9f0e37494ab42ff8d850527c5517f3006e63e9
because it creates a new warning from clang:
```
NSDictionary.cpp:1063:14: warning: ISO C++ requires the name after '::~' to be found in the same scope as the name before '::~' [-Wdtor-name]
D32, D64>::~GenericNSDictionaryMSyntheticFrontEnd() {
~~~~~~~~~^~
::GenericNSDictionaryMSyntheticFrontEnd
```
If you remove the template arguments from before the `::`, you
then get:
```
NSDictionary.cpp:1062:27: error: use of class template 'lldb_private::formatters::GenericNSDictionaryMSyntheticFrontEnd' requires template arguments
lldb_private::formatters::GenericNSDictionaryMSyntheticFrontEnd::~GenericNSDictionaryMSyntheticFrontEnd() {
^
```
And I'm not aware of a way to fix that.
Commit: 550f0eb2ce12435b696b6c2a5fcbede8f6db68b1
https://github.com/llvm/llvm-project/commit/550f0eb2ce12435b696b6c2a5fcbede8f6db68b1
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M llvm/include/llvm/CodeGen/TargetInstrInfo.h
M llvm/lib/CodeGen/PeepholeOptimizer.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
M llvm/lib/Target/ARM/ARMBaseInstrInfo.h
M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
M llvm/lib/Target/PowerPC/PPCInstrInfo.h
M llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
M llvm/lib/Target/SystemZ/SystemZInstrInfo.h
M llvm/lib/Target/VE/VEInstrInfo.cpp
M llvm/lib/Target/VE/VEInstrInfo.h
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/X86/X86InstrInfo.h
Log Message:
-----------
[NFC] Rename TargetInstrInfo::FoldImmediate to TargetInstrInfo::foldImmediate and simplify implementation for X86
Commit: 6ccb06a7abc2062c72267bb7054502ae7db8cb82
https://github.com/llvm/llvm-project/commit/6ccb06a7abc2062c72267bb7054502ae7db8cb82
Author: lifengxiang1025 <lifengxiang.1025 at bytedance.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
A llvm/test/ThinLTO/X86/memprof_direct_recursion.ll
Log Message:
-----------
[MemProf] Fix assert when exists direct recursion (#78264)
Fix assert in `MemProfContextDisambiguation::applyImport` when exists
direct recursion.
Commit: 65fd05517fe19bb436432ca45c03b7e576a328b5
https://github.com/llvm/llvm-project/commit/65fd05517fe19bb436432ca45c03b7e576a328b5
Author: Dmitriy Smirnov <dmitriy.smirnov at arm.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M mlir/lib/Transforms/RemoveDeadValues.cpp
M mlir/test/Transforms/remove-dead-values.mlir
Log Message:
-----------
[MLIR] Added check for IsTerminator trait (#79317)
This PR adds a check for IsTerminator trait to prevent deletion of ops
like gpu.terminator as a "simple op" by RemoveDeadValues pass.
Commit: 731c2049a4fa3a8704df6b82311948a1ed8de5a6
https://github.com/llvm/llvm-project/commit/731c2049a4fa3a8704df6b82311948a1ed8de5a6
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.cpp
A llvm/test/Transforms/LoopVectorize/epilog-vectorization-trunc-induction-steps.ll
Log Message:
-----------
[VPlan] Relax IV user assertion after 0ab539f for epilogue vec.
After 0ab539fd6748adf2f638e10514dd9419597d8863, the canonical IV in the
epilogue vector loop may be used by a trunc. Relax the corresponding
assert.
This should fix some build-bot failures, including
https://lab.llvm.org/buildbot/#/builders/187/builds/14113
https://lab.llvm.org/buildbot/#/builders/98/builds/32350
https://lab.llvm.org/buildbot/#/builders/239/builds/5473
Commit: d407e6ca61a422f25841674d8f0b5ea0dbec85f8
https://github.com/llvm/llvm-project/commit/d407e6ca61a422f25841674d8f0b5ea0dbec85f8
Author: Luke Lau <luke at igalia.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-exact-vlen.ll
Log Message:
-----------
[RISCV] Add test to showcase miscompile from #79072
Commit: 5cf9f2cd9888feea23a624c1de3cc37ce8ce8112
https://github.com/llvm/llvm-project/commit/5cf9f2cd9888feea23a624c1de3cc37ce8ce8112
Author: Luke Lau <luke at igalia.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-exact-vlen.ll
Log Message:
-----------
[RISCV] Fix M1 shuffle on wrong SrcVec in lowerShuffleViaVRegSplitting
This fixes a miscompile from #79072 where we were taking the wrong SrcVec to do
the M1 shuffle. E.g. if the SrcVecIdx was 2 and we had 2 VRegsPerSrc, we ended
up taking it from V1 instead of V2.
Commit: 89cd345667a5f8f4c37c621fd8abe8d84e85c050
https://github.com/llvm/llvm-project/commit/89cd345667a5f8f4c37c621fd8abe8d84e85c050
Author: Andrei Golubev <andrey.golubev at intel.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M mlir/lib/Conversion/GPUCommon/GPUOpsLowering.cpp
M mlir/lib/Conversion/GPUCommon/GPUToLLVMConversion.cpp
M mlir/lib/Dialect/LLVMIR/Transforms/TypeConsistency.cpp
Log Message:
-----------
[mlir][LLVM] Use int32_t to indirectly construct GEPArg (#79562)
GEPArg can only be constructed from int32_t and mlir::Value. Explicitly
cast other types (e.g. unsigned, size_t) to int32_t to avoid narrowing
conversion warnings on MSVC. Some recent examples of such are:
```
mlir\lib\Dialect\LLVMIR\Transforms\TypeConsistency.cpp: error C2398:
Element '1': conversion from 'size_t' to 'T' requires a narrowing
conversion
with
[
T=mlir::LLVM::GEPArg
]
mlir\lib\Dialect\LLVMIR\Transforms\TypeConsistency.cpp: error C2398:
Element '1': conversion from 'unsigned int' to 'T' requires a narrowing
conversion
with
[
T=mlir::LLVM::GEPArg
]
```
Co-authored-by: Nikita Kudriavtsev <nikita.kudriavtsev at intel.com>
Commit: 1b7b40bf5d6847623e2737d4fe7b31a434195852
https://github.com/llvm/llvm-project/commit/1b7b40bf5d6847623e2737d4fe7b31a434195852
Author: Han-Chung Wang <hanhan0912 at gmail.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
M mlir/test/Dialect/Linalg/transform-lower-pack.mlir
Log Message:
-----------
[mlir][Linalg] Support lowerUnPack for identity out_dims_perm cases. (#79594)
Commit: bb945fcd4a54c2c8f898e2bdc0d65fae841a1909
https://github.com/llvm/llvm-project/commit/bb945fcd4a54c2c8f898e2bdc0d65fae841a1909
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M lldb/source/Plugins/Language/ObjC/NSArray.cpp
M lldb/source/Plugins/Language/ObjC/NSDictionary.cpp
M lldb/source/Plugins/Language/ObjC/NSSet.cpp
Log Message:
-----------
Reland "[lldb][ObjC][NFC] Fix c++20 gcc compile errors"
clang's -Wdtor name is correct, but the standard may have not
intended that meaning, according to https://bugs.llvm.org/show_bug.cgi?id=46979#c1.
Some of the wording may have changed in 20/23, but we of course
need to support c++17 as well as that's our default.
One workaround would be to explicitly open the namespaces,
then declare the destructor inside that.
Another as shown in the bug report is to repeat the class name, without
the template arguments, before the ::~. For example `Bar::Foo<T>::Foo::~Foo`.
(this extra Foo is the injected class name
https://en.cppreference.com/w/cpp/language/injected-class-name)
I chose to do this because it's the smallest change. It works
with gcc-13 and clang in c++17 and 20 modes (https://godbolt.org/z/fqs4fGE7T).
Commit: f2d0bba8748137edc46ab88babcf83ceb23f68d2
https://github.com/llvm/llvm-project/commit/f2d0bba8748137edc46ab88babcf83ceb23f68d2
Author: Kai Nacke <kai.peter.nacke at ibm.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/unittests/CodeGen/GlobalISel/LegalizerHelperTest.cpp
Log Message:
-----------
[GISel] Lower scalar G_SELECT in LegalizerHelper (#79342)
The LegalizerHelper only has support to lower G_SELECT with
vector operands. The approach is the same for scalar arguments,
which this PR adds.
Commit: 035f33bf4138ac7b7360a83438988ce80bda5098
https://github.com/llvm/llvm-project/commit/035f33bf4138ac7b7360a83438988ce80bda5098
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/test/CodeGen/X86/select_const_i128.ll
Log Message:
-----------
[X86][CodeGen] Add NDD entries for X86InstrInfo::foldImmediate
Commit: 73874f7a39df74eacf1682b3961da2d8cb675f33
https://github.com/llvm/llvm-project/commit/73874f7a39df74eacf1682b3961da2d8cb675f33
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M libc/test/IntegrationTest/test.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/dirent/dirent_test.cpp
M libc/test/src/fcntl/creat_test.cpp
M libc/test/src/fcntl/openat_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/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/strtof_test.cpp
M libc/test/src/stdlib/strtold_test.cpp
M libc/test/src/string/strdup_test.cpp
M libc/test/src/sys/prctl/linux/prctl_test.cpp
M libc/test/src/sys/resource/getrlimit_setrlimit_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/socket/linux/socket_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/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/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
Log Message:
-----------
[libc][NFC] Use specific ASSERT macros to test errno (#79573)
This patch provides specific test macros to deal with `errno`.
This will help abstract away the differences between unit test and integration/hermetic tests in #79319.
In one case we use `libc_errno` which is a struct, in the other case we deal directly with `errno`.
Commit: afa52de9f6def6a0de962401f9a6b34925f7010e
https://github.com/llvm/llvm-project/commit/afa52de9f6def6a0de962401f9a6b34925f7010e
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M flang/docs/Intrinsics.md
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Builder/Runtime/Intrinsics.h
M flang/include/flang/Optimizer/Builder/Runtime/RTBuilder.h
M flang/include/flang/Runtime/extensions.h
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Intrinsics.cpp
M flang/runtime/extensions.cpp
A flang/test/Lower/Intrinsics/signal.f90
Log Message:
-----------
[flang][Runtime] Add SIGNAL intrinisic (#79337)
The intrinsic is defined as a GNU extension here:
https://gcc.gnu.org/onlinedocs/gfortran/SIGNAL.html
And as an IBM extension here:
https://www.ibm.com/docs/en/xffbg/121.141?topic=procedures-signali-proc-extension
The IBM version provides a compatible subset of the functionality
offered by the GNU version. This patch supports most of the GNU
features, but not calling SIGNAL as a function. We don't currently
support intrinsics being both subroutines AND functions and this changed
seemed too large to be justified by a non-standard intrinsic.
I cannot point to open source code Fortran using this intrinsic. This is
needed for a proprietary code base.
Commit: e278c6709605f05c434d2f9f583122003c454293
https://github.com/llvm/llvm-project/commit/e278c6709605f05c434d2f9f583122003c454293
Author: Shimin Cui <scui at ca.ibm.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M llvm/lib/Target/PowerPC/PPCMergeStringPool.cpp
A llvm/test/CodeGen/PowerPC/merge-string-used-by-metadata.mir
Log Message:
-----------
Add support to meger strings used by metadata (#77364)
Currently if the merged string is used by metadata, its metadata uses
are not replaced if the string is merged. This is to add code support
for the metadata use replacement.
Commit: e0e216099505bc5051ba53b2fdb8202cdde5f47e
https://github.com/llvm/llvm-project/commit/e0e216099505bc5051ba53b2fdb8202cdde5f47e
Author: Danial Klimkin <dklimkin at users.noreply.github.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
Fix bazel build past 3fdb431b636975f2062b1931158aa4dfce6a3ff1 (#79599)
Commit: 7b7d2dd7e3e42c941338edcd5dbc2ff0e5426c28
https://github.com/llvm/llvm-project/commit/7b7d2dd7e3e42c941338edcd5dbc2ff0e5426c28
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVOptions.h
Log Message:
-----------
[llvm][DebugInfo] Fix c++20 warnings in LVOptions.h (#79585)
Compiling with -DCMAKE_CXX_STANDARD=20 produces 228 warnings from this
file due to:
```
LVOptions.h:515:16: warning: implicit capture of 'this' with a capture default of '=' is deprecated [-Wdeprecated-this-capture]
```
So I've changed these to explicitly list the captures, including `this`.
As llvm requires at least c++17, I think we could use `[=, *this]`
instead. However when I did so I got a lot of errors about const. So on
balance, explicitly listing the captures seems better than adding some
kind of const cast to each one.
These and other warnings can be seen on the c++20 buildbot
https://lab.llvm.org/buildbot/#/builders/249.
Commit: 70fbcdb41d50ee23a36501aee733be33eecfb7da
https://github.com/llvm/llvm-project/commit/70fbcdb41d50ee23a36501aee733be33eecfb7da
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
Log Message:
-----------
Fix MSVC "signed/unsigned mismatch" warning. NFC.
Commit: 962fbafecf4730ba84a3b9fd7a662a5c30bb2c7c
https://github.com/llvm/llvm-project/commit/962fbafecf4730ba84a3b9fd7a662a5c30bb2c7c
Author: David Sherwood <57997763+david-arm at users.noreply.github.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
A llvm/test/Transforms/LoopVectorize/AArch64/low_trip_memcheck_cost.ll
Log Message:
-----------
[LoopVectorize] Refine runtime memory check costs when there is an outer loop (#76034)
When we generate runtime memory checks for an inner loop it's
possible that these checks are invariant in the outer loop and
so will get hoisted out. In such cases, the effective cost of
the checks should reduce to reflect the outer loop trip count.
This fixes a 25% performance regression introduced by commit
49b0e6dcc296792b577ae8f0f674e61a0929b99d
when building the SPEC2017 x264 benchmark with PGO, where we
decided the inner loop trip count wasn't high enough to warrant
the (incorrect) high cost of the runtime checks. Also, when
runtime memory checks consist entirely of diff checks these are
likely to be outer loop invariant.
Commit: c64c789fb4098e5cac1e9e2dc0ea1174eceaf2a2
https://github.com/llvm/llvm-project/commit/c64c789fb4098e5cac1e9e2dc0ea1174eceaf2a2
Author: Danial Klimkin <dklimkin at users.noreply.github.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
Revert "Fix bazel build past 3fdb431b636975f2062b1931158aa4dfce6a3ff1… (#79601)
… (#79599)"
This reverts commit e0e216099505bc5051ba53b2fdb8202cdde5f47e.
Commit: 0d5ba8ace697a7ebc08e4eaa2be3aa959aabe298
https://github.com/llvm/llvm-project/commit/0d5ba8ace697a7ebc08e4eaa2be3aa959aabe298
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] Comment all getTargetConstantBitsFromNode calls that override the Whole/Partial Undefs flags. NFC.
Commit: 9058503d2690022642d952ee80ecde5ecdbc79ca
https://github.com/llvm/llvm-project/commit/9058503d2690022642d952ee80ecde5ecdbc79ca
Author: spupyrev <spupyrev at users.noreply.github.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M bolt/include/bolt/Passes/HFSort.h
M bolt/lib/Passes/CMakeLists.txt
R bolt/lib/Passes/HFSortPlus.cpp
M bolt/lib/Passes/ReorderFunctions.cpp
Log Message:
-----------
[BOLT] Deprecate hfsort+ in favor of cdsort (#72408)
A new function sorting algorithm (cdsort) in LLVM is an optimized
version of BOLT's hfsort+. In order to avoid code duplication and
simplify maintenance, getting rid of hfsort+.
Perf-wise this is likely a neutral change, though differences on
individual benchmarks are possible, since the generated function layout
has changed. I tested cdsort vs hfsort+ on a number of open-source and
prod binaries built in different modes and record an average neutral
perf difference, perhaps with more "green" counters.
Commit: 157b62612a7c72094b5b35a6b01368e3221086cd
https://github.com/llvm/llvm-project/commit/157b62612a7c72094b5b35a6b01368e3221086cd
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M llvm/include/llvm/IR/BasicBlock.h
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/IR/Function.cpp
Log Message:
-----------
Revert "[DebugInfo][RemoveDIs] Don't pointlessly scan funcs for debug-info (#79327)"
This reverts commit c23608b8d58bdeb0134d99168e6d0335da2c8366.
It looks like this depends on #79345, which isn't going to land today, so revert for now.
Commit: a49f630cf6f12f3ca2d5814a581986140ee6e474
https://github.com/llvm/llvm-project/commit/a49f630cf6f12f3ca2d5814a581986140ee6e474
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/Builder/HLFIRTools.h
M flang/include/flang/Optimizer/Dialect/FIRType.h
M flang/lib/Lower/CallInterface.cpp
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Dialect/FIRType.cpp
A flang/test/Lower/HLFIR/assumed-rank-iface-alloc-ptr.f90
A flang/test/Lower/HLFIR/assumed-rank-iface.f90
M flang/test/Lower/HLFIR/ignore-rank-unlimited-polymorphic.f90
A flang/test/Lower/HLFIR/ignore-type-assumed-shape.f90
Log Message:
-----------
[flang] Lower passing non assumed-rank/size to assumed-ranks (#79145)
Start implementing assumed-rank support as described in
https://github.com/llvm/llvm-project/blob/main/flang/docs/AssumedRank.md
This commit holds the minimal support for lowering calls to procedure
with assumed-rank arguments where the procedure implementation is done
in C.
The case for passing assumed-size to assumed-rank is left TODO since it
will be done a change in assumed-size lowering that is better done in
another patch.
Care is taken to set the lower bounds to zero when passing non allocatable no pointer as descriptor
to a BIND(C) procedure as required per 18.5.3 point 3. This was not done before while the requirements also applies to non assumed-rank descriptors. This change required special attention with IGNORE_TKR(t) to avoid emitting invalid fir.rebox operations (the actual argument type must be used in this case as the output type).
Implementation of Fortran procedure with assumed-rank arguments is still
TODO.
Commit: d9245e8b471c6b3f61e3810faa9788b4994e295a
https://github.com/llvm/llvm-project/commit/d9245e8b471c6b3f61e3810faa9788b4994e295a
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
M llvm/test/CodeGen/X86/cmp.ll
M llvm/test/CodeGen/X86/popcnt.ll
Log Message:
-----------
[X86][ISEL] Add NDD entries in X86ISelDAGToDAG.cpp
Commit: 9a8437f50470e2658ca0b26bbc9f3da654c20dba
https://github.com/llvm/llvm-project/commit/9a8437f50470e2658ca0b26bbc9f3da654c20dba
Author: Boian Petkantchin <boian.petkantchin at amd.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M mlir/include/mlir/Dialect/Mesh/IR/MeshBase.td
M mlir/include/mlir/Dialect/Mesh/IR/MeshOps.td
M mlir/include/mlir/Dialect/Mesh/Interfaces/ShardingInterface.h
M mlir/include/mlir/Dialect/Mesh/Transforms/Spmdization.h
M mlir/lib/Dialect/Mesh/IR/MeshOps.cpp
M mlir/lib/Dialect/Mesh/Interfaces/ShardingInterface.cpp
M mlir/lib/Dialect/Mesh/Transforms/Simplifications.cpp
M mlir/lib/Dialect/Mesh/Transforms/Spmdization.cpp
M mlir/lib/Dialect/Mesh/Transforms/Transforms.cpp
M mlir/test/Dialect/Mesh/canonicalization.mlir
M mlir/test/Dialect/Mesh/folding.mlir
M mlir/test/Dialect/Mesh/invalid.mlir
M mlir/test/Dialect/Mesh/ops.mlir
M mlir/test/Dialect/Mesh/process-multi-index-op-lowering.mlir
M mlir/test/Dialect/Mesh/resharding-spmdization.mlir
M mlir/test/Dialect/Mesh/sharding-propagation.mlir
M mlir/test/Dialect/Mesh/simplifications.mlir
M mlir/test/lib/Dialect/Mesh/TestReshardingSpmdization.cpp
Log Message:
-----------
[mlir][mesh] Rename cluster to mesh (#79484)
Rename
* Op mesh.cluster -> mesh.mesh
* Op mesh.cluster_shape -> mesh.mesh_shape
* variables and attributes.
The name `mesh` is more specific to what it really represents. It is a
mesh of devices.
The name `cluster` implies a broader posibility of device
configurations. When just the word `mesh` is used the meaning can often
be inferred from the context whether it refers to the mesh dialect or a
device mesh. The full name can be used when needed.
Commit: 1f930cf894ccb086ad77ca70b48edb1b4ed092c4
https://github.com/llvm/llvm-project/commit/1f930cf894ccb086ad77ca70b48edb1b4ed092c4
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/icmp-pow2-mask.ll
Log Message:
-----------
[X86] Fold not(pcmpeq(and(X,CstPow2),0)) -> pcmpeq(and(X,CstPow2),CstPow2) (REAPPLIED)
Reapply b9483d30a7d7a0650a0e83c75fcb9ab4932f475a with fix (typo - wasn't ensuring icmp vs zero)
Fixes #78888
Commit: f07eb24bb003aea435da94569910529fe5e332a4
https://github.com/llvm/llvm-project/commit/f07eb24bb003aea435da94569910529fe5e332a4
Author: Danial Klimkin <dklimkin at users.noreply.github.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
Minor bazel file cleanup (#79607)
this excluded file is gone.
Commit: 8f98c2c3b6cb7039333ee8e141a5842b32cbc2e8
https://github.com/llvm/llvm-project/commit/8f98c2c3b6cb7039333ee8e141a5842b32cbc2e8
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M llvm/utils/gn/secondary/bolt/lib/Passes/BUILD.gn
Log Message:
-----------
[gn build] Port 9058503d2690
Commit: a437347562e2f0711ca9f5819831946e06e1ac93
https://github.com/llvm/llvm-project/commit/a437347562e2f0711ca9f5819831946e06e1ac93
Author: Evgenii Kudriashov <evgenii.kudriashov at intel.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
R llvm/test/CodeGen/X86/GlobalISel/and-scalar.ll
R llvm/test/CodeGen/X86/GlobalISel/or-scalar.ll
R llvm/test/CodeGen/X86/GlobalISel/xor-scalar.ll
M llvm/test/CodeGen/X86/isel-and.ll
M llvm/test/CodeGen/X86/isel-or.ll
M llvm/test/CodeGen/X86/isel-xor.ll
Log Message:
-----------
[X86][GlobalISel] Remove G_OR/G_AND/G_XOR test duplication (NFC) (#79088)
Commit: 63fe80fb18c9660e678d24c184021841cb02d82f
https://github.com/llvm/llvm-project/commit/63fe80fb18c9660e678d24c184021841cb02d82f
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/merge-buffer-stores.ll
M llvm/test/CodeGen/AMDGPU/constant-address-space-32bit.ll
M llvm/test/CodeGen/AMDGPU/extract-subvector-16bit.ll
M llvm/test/CodeGen/AMDGPU/machine-sink-temporal-divergence-swdev407790.ll
M llvm/test/CodeGen/NVPTX/vector-loads.ll
M llvm/test/CodeGen/PowerPC/mma-intrinsics.ll
M llvm/test/CodeGen/PowerPC/sched-addi.ll
M llvm/test/Transforms/SeparateConstOffsetFromGEP/AMDGPU/split-gep-and-gvn-addrspace-addressing-modes.ll
M llvm/test/Transforms/SeparateConstOffsetFromGEP/NVPTX/split-gep.ll
M llvm/test/Transforms/SeparateConstOffsetFromGEP/split-gep-or-as-add.ll
Log Message:
-----------
[SeperateConstOffsetFromGEP] Handle `or disjoint` flags (#76997)
This commit extends separate-const-offset-from-gep to look at the
newly-added `disjoint` flag on `or` instructions so as to preserve
additional opportunities for optimization.
The tests were pre-committed in #76972.
Commit: f13aac6517532bd1ec016d432c23e92ab6450313
https://github.com/llvm/llvm-project/commit/f13aac6517532bd1ec016d432c23e92ab6450313
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVProcessors.td
Log Message:
-----------
[RISCV] Add TuneNoSinkSplatOperands to sifive-p670 (#79492)
Commit: c177507bd2778d69ed918798295d625346ac6ff4
https://github.com/llvm/llvm-project/commit/c177507bd2778d69ed918798295d625346ac6ff4
Author: isuckatcs <65320245+isuckatcs at users.noreply.github.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.h
Log Message:
-----------
[clang][Interp] Cleaning up `FIXME`s added during `ArrayInitLoopExpr` implementation. (#70053)
This patch removes the two `FIXME`s that were added with patches related
to the expression mentioned in the title.
Commit: 67c1c1dbb6cd473ce302079d0b3791ff461b7bba
https://github.com/llvm/llvm-project/commit/67c1c1dbb6cd473ce302079d0b3791ff461b7bba
Author: Nemanja Ivanovic <nemanja.i.ibm at gmail.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/BuiltinsX86.def
M clang/include/clang/Basic/TargetInfo.h
M clang/lib/Basic/Targets/PPC.cpp
M clang/lib/Basic/Targets/PPC.h
M clang/lib/Basic/Targets/X86.h
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/test/CodeGen/builtin-cpu-supports.c
M clang/test/Sema/builtin-cpu-supports.c
M llvm/include/llvm/IR/IntrinsicsPowerPC.td
A llvm/include/llvm/TargetParser/PPCTargetParser.def
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
M llvm/lib/Target/PowerPC/PPCInstrInfo.td
M llvm/lib/Target/PowerPC/PPCTargetMachine.h
A llvm/test/CodeGen/PowerPC/cpu-supports.ll
Log Message:
-----------
[PowerPC][X86] Make cpu id builtins target independent and lower for PPC (#68919)
Make __builtin_cpu_{init|supports|is} target independent and provide an
opt-in query for targets that want to support it. Each target is still
responsible for their specific lowering/code-gen. Also provide code-gen
for PowerPC.
I originally proposed this in https://reviews.llvm.org/D152914 and this
addresses the comments I received there.
---------
Co-authored-by: Nemanja Ivanovic <nemanjaivanovic at nemanjas-air.kpn>
Co-authored-by: Nemanja Ivanovic <nemanja at synopsys.com>
Commit: 463529f31b90c9bc8c564a2071748683af166f11
https://github.com/llvm/llvm-project/commit/463529f31b90c9bc8c564a2071748683af166f11
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M clang/include/clang/Basic/OpenACCKinds.h
M clang/include/clang/Parse/Parser.h
M clang/lib/Parse/ParseOpenACC.cpp
M clang/test/ParserOpenACC/parse-clauses.c
Log Message:
-----------
[OpenACC] Implement 'tile' clause parsing
The 'tile' clause takes a 'size-expr-list', where a 'size-expr' is
either an asterisk or an integral constant expression. This patch
parsess it as an assignment expression, which we'll check for constness
and type in Sema.
Commit: 15c04d51ff86232dbb544e28dd037d095c589206
https://github.com/llvm/llvm-project/commit/15c04d51ff86232dbb544e28dd037d095c589206
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M llvm/include/llvm/TargetParser/AArch64TargetParser.h
Log Message:
-----------
[TargetParser][AArch64] Update a comment now that FMV support builtins have moved. NFC
Commit: 9b48aa203a59503177567e08a879cf1ba6f2b856
https://github.com/llvm/llvm-project/commit/9b48aa203a59503177567e08a879cf1ba6f2b856
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M compiler-rt/lib/builtins/cpu_model/aarch64/fmv/apple.inc
Log Message:
-----------
[compiler-rt][builtins][FMV] Early exit in the Apple __init_cpu_features_resolver(). NFC
Commit: 36b4a9ccd9f7e04010476e6b2a311f2052a4ac20
https://github.com/llvm/llvm-project/commit/36b4a9ccd9f7e04010476e6b2a311f2052a4ac20
Author: Fangrui Song <i at maskray.me>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Driver/Options.td
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/CommonArgs.h
A clang/test/CodeGen/RISCV/tls-dialect.c
A clang/test/Driver/tls-dialect.c
M llvm/include/llvm/TargetParser/Triple.h
Log Message:
-----------
[Driver,CodeGen] Support -mtls-dialect= (#79256)
GCC supports -mtls-dialect= for several architectures to select TLSDESC.
This patch supports the following values
* x86: "gnu". "gnu2" (TLSDESC) is not supported yet.
* RISC-V: "trad" (general dynamic), "desc" (TLSDESC, see #66915)
AArch64 toolchains seem to support TLSDESC from the beginning, and the
general dynamic model has poor support. Nobody seems to use the option
-mtls-dialect= at all, so we don't bother with it.
There also seems very little interest in AArch32's TLSDESC support.
TLSDESC does not change IR, but affects object file generation. Without
a backend option the option is a no-op for in-process ThinLTO.
There seems no motivation to have fine-grained control mixing trad/desc
for TLS, so we just pass -mllvm, and don't bother with a modules flag
metadata or function attribute.
Co-authored-by: Paul Kirth <paulkirth at google.com>
Commit: 45f883ed06f39fba7557dfbbff4d10595b45f874
https://github.com/llvm/llvm-project/commit/45f883ed06f39fba7557dfbbff4d10595b45f874
Author: dyung <douglas.yung at sony.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M llvm/test/CodeGen/SystemZ/zos-ppa2.ll
Log Message:
-----------
Change check for embedded llvm version number to a regex to make test more flexible. (#79528)
This test started to fail when LLVM created the release/18.x branch and
the main branch subsequently had the version number increased from 18 to
19.
I investigated this failure (it was blocking our internal automation)
and discovered that the CHECK statement on line 27 seemed to have the
compiler version number (1800) encoded in octal that it was checking
for. I don't know if this is something that explicitly needs to be
checked, so I am leaving it in, but it should be more flexible so the
test doesn't fail anytime the version number is changed. To accomplish
that, I changed the check for the 4-digit version number to be a regex.
I originally updated this test for the 18->19 transition in
a01195ff5cc3d7fd084743b1f47007645bb385f4. This change makes the CHECK
line more flexible so it doesn't need to be continually updated.
Commit: be8e462a0c27e4850020c96290cabdcdbcab46f3
https://github.com/llvm/llvm-project/commit/be8e462a0c27e4850020c96290cabdcdbcab46f3
Author: Andreu Carminati <andreu.carminati at hightec-rt.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M clang/lib/Driver/ToolChains/BareMetal.cpp
M clang/lib/Driver/ToolChains/Gnu.cpp
M clang/lib/Driver/ToolChains/RISCVToolchain.cpp
M clang/test/Driver/baremetal.cpp
M clang/test/Driver/riscv32-toolchain.c
M clang/test/Driver/riscv64-toolchain.c
Log Message:
-----------
[Clang][RISCV] Forward --no-relax option to linker for RISC-V (#76432)
In the case of -mno-relax option. Otherwise, we cannot prevent
relaxation if we split compilation and linking using Clang driver.
One can consider the following use case:
clang [...] -c -o myobject.o (just compile)
clang [...] myobject.o -o myobject.elf -mno-relax (linking)
In this case, myobject.elf will be relaxed, the -mno-relax will be
silently ignored.
Commit: d5fe1bd081ec129a1259cccf5171692d87dbd1f3
https://github.com/llvm/llvm-project/commit/d5fe1bd081ec129a1259cccf5171692d87dbd1f3
Author: Amy Kwan <amy.kwan1 at ibm.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M clang/lib/Basic/Targets/PPC.cpp
M clang/lib/Driver/ToolChains/Arch/PPC.cpp
M clang/test/Driver/aix-small-local-exec-tls.c
M llvm/lib/Target/PowerPC/PPCSubtarget.cpp
M llvm/test/CodeGen/PowerPC/check-aix-small-local-exec-tls-opt-IRattribute.ll
Log Message:
-----------
[AIX][TLS] Disallow the use of -maix-small-local-exec-tls and -fno-data-sections (#79252)
This patch disallows the use of the -maix-small-local-exec-tls and
-fno-data-sections options within clang, and also disallows the use of
the aix-small-local-exec-tls attribute with the -data-sections=false
option in llc.
This is because having data sections off when using the
aix-small-local-exec-tls feature is not ideal for performance. As the
small-local-exec-tls region is a limited resource, this space should not
used for variables that may be replaced.
Note, that on AIX, data sections is turned on by default, so this patch
makes it so that a diagnostic is emitted when users explicitly turn off
data sections while using the aix-small-local-exec-tls feature.
Commit: 7f518ee9eaa53fcd475e374aaed05ada4573d115
https://github.com/llvm/llvm-project/commit/7f518ee9eaa53fcd475e374aaed05ada4573d115
Author: David Green <david.green at arm.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AArch64/pr79100.ll
Log Message:
-----------
[DAG] Add a one-use check to concat -> scalar_to_vector fold. (#79510)
Without this we can end up with multiple copies from gpr->fpr.
Commit: 5f22d3356cda0a9b1521c839c006f61b5cc504fc
https://github.com/llvm/llvm-project/commit/5f22d3356cda0a9b1521c839c006f61b5cc504fc
Author: Alex Langford <alangford at apple.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M lldb/include/lldb/Breakpoint/BreakpointID.h
M lldb/include/lldb/Breakpoint/BreakpointIDList.h
M lldb/source/Breakpoint/BreakpointIDList.cpp
M lldb/source/Commands/CommandObjectBreakpoint.cpp
M lldb/source/Commands/CommandObjectProcess.cpp
Log Message:
-----------
[lldb][NFCI] Change BreakpointIDList::FindBreakpointID to BreakpointIDList::Contains (#79517)
`FindBreakpointID` take a BreakpointID and a pointer to a size_t (so you
can get position information). It returns a bool to indicate whether the
id was found in the list or not.
There are 2 callers of this currently and neither one actually uses the
position information, so I removed it. After that, I renamed it to
Contains to more accurately reflect the intent. Additionally, I changed
the argument type from a reference to a value (because BreakpointID is
just a wrapper around 2 integers, copies are cheap).
Commit: 176d07d360094b366b25cc009846ec64ac7d8040
https://github.com/llvm/llvm-project/commit/176d07d360094b366b25cc009846ec64ac7d8040
Author: Alex Langford <alangford at apple.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M lldb/include/lldb/Utility/Event.h
M lldb/source/API/SBEvent.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Utility/Event.cpp
Log Message:
-----------
[lldb][NFCI] Constrain EventDataBytes creation (#79508)
There are 3 ways to create an EventDataBytes object: (const char *),
(llvm::StringRef), and (const void *, size_t len). All of these cases
can be handled under `llvm::StringRef`. Additionally, this allows us to
remove the otherwise unused `SetBytes`, `SwapBytes`, and
`SetBytesFromCString` methods.
Commit: bee1557ffc98e51ee714bab93cef011fe42468ab
https://github.com/llvm/llvm-project/commit/bee1557ffc98e51ee714bab93cef011fe42468ab
Author: Eli Friedman <efriedma at quicinc.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h
Log Message:
-----------
[NFC][AArch64] Fix indentation.
Commit: a58c62fa824fd24d20fa2366e0ec8f241cb321fe
https://github.com/llvm/llvm-project/commit/a58c62fa824fd24d20fa2366e0ec8f241cb321fe
Author: Adhemerval Zanella <zatrazz at gmail.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86AsmPrinter.cpp
A llvm/test/CodeGen/X86/note-cet-property-inlineasm.ll
Log Message:
-----------
[X86] Do not end 'note.gnu.property' section with -fcf-protection (#79360)
The glibc now adds the required minimum ISA level for libc-nonshared.a
(linked on all programs) and this is done with an inline asm along with
.note.gnu.property and .pushsection/.popsection. However, the x86
backend always ends the 'note.gnu.property' section when building with
-fcf-protection, leading to assert failure:
llvm/llvm-project-git/llvm/lib/MC/MCStreamer.cpp:1251: virtual void
llvm::MCStreamer::switchSection(llvm::MCSection*, const llvm::MCExpr*):
Assertion `!Section->hasEnded() && "Section already ended"' failed.
[1]
https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/x86/isa-level.c;h=3f1b269848a52f994275bab6f60dded3ded6b144;hb=HEAD
Commit: 02d3a799e7eb2997950d6a288a08a5e51ff0ff59
https://github.com/llvm/llvm-project/commit/02d3a799e7eb2997950d6a288a08a5e51ff0ff59
Author: Alex Langford <alangford at apple.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M lldb/include/lldb/Target/Process.h
M lldb/include/lldb/Utility/Broadcaster.h
M lldb/source/Target/Process.cpp
M lldb/source/Utility/Broadcaster.cpp
Log Message:
-----------
[lldb][NFCI] Remove EventData* parameter from BroadcastEventIfUnique (#79045)
Instead of passing the data to BroadcastEventIfUnique to create an Event
object on the behalf of the caller, the caller can create the Event
up-front.
Commit: 26cc651f1b2a9c74ce332a14f0e35c03db34876b
https://github.com/llvm/llvm-project/commit/26cc651f1b2a9c74ce332a14f0e35c03db34876b
Author: Fangrui Song <i at maskray.me>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M lld/ELF/InputSection.h
Log Message:
-----------
[ELF] Improve comment of InputSection::file and update getFile. NFC (#79550)
Clarify a comment after #78944.
All uses of `getFile()` assert `file` is non-null. `getFile` is not used
with a
synthetic section. Replace `cast_or_null` with `cast`.
Commit: 59f05239dbbc2c37d9de2bf638a64e1e9abd9163
https://github.com/llvm/llvm-project/commit/59f05239dbbc2c37d9de2bf638a64e1e9abd9163
Author: gulfemsavrun <gulfem at google.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M libcxx/test/libcxx/fuzzing/random.pass.cpp
M libcxx/test/std/depr/depr.c.headers/math_h.pass.cpp
M libcxx/test/std/numerics/c.math/cmath.pass.cpp
Log Message:
-----------
[libc++] Add clang-19 to failing tests on Windows (#79619)
After trunk is bumped to version 19, some libc++ tests started failing
on Windows. This patch adds clang-19 condition to XFAIL to fix the
issue.
Commit: 6c74d8083bd97ff47cadb43cdf03da35f450389a
https://github.com/llvm/llvm-project/commit/6c74d8083bd97ff47cadb43cdf03da35f450389a
Author: Nour1248 <nourfouad1248 at gmail.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M clang-tools-extra/clangd/AST.cpp
Log Message:
-----------
[clangd] fix clang-tidy warning (llvm-qualified-auto) (#79617)
Commit: 2a068507016e476893b6b1b9c55b255dbae5829e
https://github.com/llvm/llvm-project/commit/2a068507016e476893b6b1b9c55b255dbae5829e
Author: Ziqing Luo <ziqing at udel.edu>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M clang/lib/Analysis/CalledOnceCheck.cpp
M clang/test/SemaObjC/warn-called-once.m
Log Message:
-----------
[-Wcompletion-handler] Fix a non-termination issue (#78380)
The Called-Once dataflow analysis could never terminate as a
consequence of non-monotonic update on states. States of kind Escape
can override states leading to non-monotonic update.
This fix disallows the `Escape` state to override the `Reported`
state.
rdar://119671856
Commit: 59bf60519fc30d9d36c86abd83093b068f6b1e4b
https://github.com/llvm/llvm-project/commit/59bf60519fc30d9d36c86abd83093b068f6b1e4b
Author: Oskar Wirga <10386631+oskarwirga at users.noreply.github.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M llvm/include/llvm/CodeGen/LivePhysRegs.h
M llvm/include/llvm/CodeGen/MachineBasicBlock.h
M llvm/lib/CodeGen/BranchFolding.cpp
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp
M llvm/lib/Target/PowerPC/PPCExpandAtomicPseudoInsts.cpp
M llvm/lib/Target/PowerPC/PPCFrameLowering.cpp
M llvm/lib/Target/SystemZ/SystemZFrameLowering.cpp
M llvm/lib/Target/X86/X86FrameLowering.cpp
M llvm/test/CodeGen/AArch64/stack-probing-last-in-block.mir
M llvm/test/CodeGen/SystemZ/branch-folder-hoist-livein.mir
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/it-block-mov.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/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/multi-block-cond-iter-count.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/multiple-do-loops.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/predicated-liveout.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/remove-elem-moves.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/spillingmove.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/unrolled-and-vector.mir
Log Message:
-----------
Refactor recomputeLiveIns to operate on whole CFG (#79498)
Currently, the way that recomputeLiveIns works is that it will recompute
the livein registers for that MachineBasicBlock but it matters what
order you call recomputeLiveIn which can result in incorrect register
allocations down the line.
This PR fixes that by simply recomputing the liveins for the entire CFG
until convergence is achieved. This makes it harder to introduce subtle
bugs which alter liveness.
Commit: d2c816734526312551e99c14d243c87795b6d3f3
https://github.com/llvm/llvm-project/commit/d2c816734526312551e99c14d243c87795b6d3f3
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M .github/workflows/issue-release-workflow.yml
Log Message:
-----------
[workflows] Use a custom token for creating backport PRs (#79501)
The CI tests don't get triggered if a PR is created by the builtin
github token, so we need to use a custom token when creating a PR.
Commit: 55c6d9103444aaf70bf680c3768c14e8649bf580
https://github.com/llvm/llvm-project/commit/55c6d9103444aaf70bf680c3768c14e8649bf580
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
M llvm/test/Transforms/InstCombine/shift-add.ll
Log Message:
-----------
[InstCombine] Preserve nuw/nsw/exact flags when transforming (C shift (A add nuw C1)) --> ((C shift C1) shift A). (#79490)
If we weren't shifting out any non-zero bits or changing the sign before the transform, we
shouldn't be after.
Alive2: https://alive2.llvm.org/ce/z/mB-rWz
Commit: 554540611201e06318a53b920d4d98a8e582a247
https://github.com/llvm/llvm-project/commit/554540611201e06318a53b920d4d98a8e582a247
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M libcxx/include/__thread/poll_with_backoff.h
Log Message:
-----------
[libc++][NFC] Improve variable naming in __libcpp_thread_poll_with_backoff (#79638)
I noticed that the parameter names used in that function were not very
descriptive during a recent review.
Commit: e4afffbe8cc31278a9006712e7323d49eae9dbb6
https://github.com/llvm/llvm-project/commit/e4afffbe8cc31278a9006712e7323d49eae9dbb6
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
A llvm/utils/mlgo-utils/mlgo/corpus/__init__.py
M llvm/utils/mlgo-utils/tests/lit.local.cfg
A llvm/utils/mlgo-utils/tests/pytype.test
Log Message:
-----------
[MLGO] Add pytype test (#79558)
This patch adds a pytype test to the mlgo-utils lit test suite to
prevent regressions in typing while we wait to setup precommit CI for
this specific project.
This is somewhat hacky, but is a temporary fix and will be pulled out
soonish. It also should only impact the ML buildbots as they are the
only ones that should have `pytype` installed.
Commit: 82afd9b19aa4b41be98ebec517bd390f33906fae
https://github.com/llvm/llvm-project/commit/82afd9b19aa4b41be98ebec517bd390f33906fae
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M .github/workflows/libcxx-build-and-test.yaml
A libcxx/trigger
M libcxx/utils/ci/buildkite-pipeline.yml
M runtimes/CMakeLists.txt
Log Message:
-----------
[libc++] Use GitHub-provided runners for the windows CI (#79326)
Co-authored-by: Martin Storsjö <martin at martin.st>
Commit: 3fa14233c4631ad1062553883835a5d5b36f2fe6
https://github.com/llvm/llvm-project/commit/3fa14233c4631ad1062553883835a5d5b36f2fe6
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M libcxx/include/__system_error/error_category.h
Log Message:
-----------
[libc++] Annotate generic_category/system_category as const (#78052)
This lets the compiler eliminate unused/duplicate calls to it.
Commit: 6f97e6bcf71d5cb6130d74d75f1db87e63be2c8d
https://github.com/llvm/llvm-project/commit/6f97e6bcf71d5cb6130d74d75f1db87e63be2c8d
Author: Caslyn Tonelli <6718161+Caslyn at users.noreply.github.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M libc/test/UnitTest/FuchsiaTest.h
Log Message:
-----------
[fuchsia][libc] Include missing macro definitions (#79639)
PR 79573 introduced `ASSERT_ERRNO_*` macros for use in libc tests.
Introduce these macro definitions to FuchsiaTest.h for string tests to
compile on Fuchsia.
Commit: 07a1925b8b92f29880be4030630ed5053783708f
https://github.com/llvm/llvm-project/commit/07a1925b8b92f29880be4030630ed5053783708f
Author: Nikita Popov <nikita.ppv at gmail.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M llvm/include/llvm/CodeGen/LivePhysRegs.h
M llvm/include/llvm/CodeGen/MachineBasicBlock.h
M llvm/lib/CodeGen/BranchFolding.cpp
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp
M llvm/lib/Target/PowerPC/PPCExpandAtomicPseudoInsts.cpp
M llvm/lib/Target/PowerPC/PPCFrameLowering.cpp
M llvm/lib/Target/SystemZ/SystemZFrameLowering.cpp
M llvm/lib/Target/X86/X86FrameLowering.cpp
M llvm/test/CodeGen/AArch64/stack-probing-last-in-block.mir
M llvm/test/CodeGen/SystemZ/branch-folder-hoist-livein.mir
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/it-block-mov.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/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/multi-block-cond-iter-count.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/multiple-do-loops.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/predicated-liveout.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/remove-elem-moves.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/spillingmove.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/unrolled-and-vector.mir
Log Message:
-----------
Revert "Refactor recomputeLiveIns to operate on whole CFG (#79498)"
This reverts commit 59bf60519fc30d9d36c86abd83093b068f6b1e4b.
Introduces a major compile-time regression.
Commit: 2b25e40a887e835c3c8d7e61feaaaaab1ed2c367
https://github.com/llvm/llvm-project/commit/2b25e40a887e835c3c8d7e61feaaaaab1ed2c367
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M llvm/utils/mlgo-utils/tests/pytype.test
Log Message:
-----------
[MLGO] Switch test to invoke pytype through python
Currently this test is assuming that ~/.local/bin (or wherever the
Python binaries are installed to) is on the path. This is not a valid
assumption in most cases, and it also means we might not find the
version of pytype associated with the Python interpreter being used to
test LLVM, which could create some inconsistencies. This patch fixes
that by invoking pytype through the Python interpreter passed to lit.
Commit: 1d5820aafeb08c176189d44331e3e2a8030e76e4
https://github.com/llvm/llvm-project/commit/1d5820aafeb08c176189d44331e3e2a8030e76e4
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXAssignValidGlobalNames.cpp
M llvm/test/CodeGen/NVPTX/symbol-naming.ll
Log Message:
-----------
[NVPTX] improve identifier renaming for PTX (#79459)
Update `NVPTXAssignValidGlobalNames` to convert all characters which are
illegal in PTX identifiers to `_$_`. ([PTX ISA: 4.4
Identifiers](https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#identifiers)).
Commit: 074630e8af94d839f6baf6378d7ed3d7a6d2753c
https://github.com/llvm/llvm-project/commit/074630e8af94d839f6baf6378d7ed3d7a6d2753c
Author: Dave Lee <davelee.com at gmail.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
Log Message:
-----------
[lldb] Remove unnecessary suffix from libc++ type name patterns (NFC) (#79644)
The `(( )?&)?` appears to match types which are references. However lldb
can load the
correct data formatters without having to pattern match against a `&`
suffix.
The suffix may have been needed at one point, but it's no longer needed.
Commit: cfd91199caed12b3f40ab35cf7f6c7fbce38d776
https://github.com/llvm/llvm-project/commit/cfd91199caed12b3f40ab35cf7f6c7fbce38d776
Author: Evgenii Kudriashov <evgenii.kudriashov at intel.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86DomainReassignment.cpp
M llvm/lib/Target/X86/X86FastPreTileConfig.cpp
M llvm/test/CodeGen/X86/AMX/amx-fastpreconfig.mir
M llvm/test/CodeGen/X86/domain-reassignment.mir
Log Message:
-----------
[X86] Skip unused VRegs traverse (#78229)
Almost all loops with getNumVirtRegs skip unused registers by means
of reg_nodbg_empty or empty live interval. Except for these two cases
that are revealed by GlobalISel since it can skip RegClass assignment
for unused registers.
Closes #64452, closes #71926
Commit: 33860b2f61a8a74141ae76ecd54742f9cfeb0d03
https://github.com/llvm/llvm-project/commit/33860b2f61a8a74141ae76ecd54742f9cfeb0d03
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M lldb/include/lldb/Utility/ConstString.h
M lldb/unittests/Utility/ConstStringTest.cpp
Log Message:
-----------
[lldb] Streamline ConstString -> std::string conversion (NFC) (#79649)
Make it easier to go from a ConstString to a std::string without having
to go through a C-String or a llvm::StringRef. I made the conversion
operator explicit as this is a relatively expensive operations (compared
to a StringRef or string_view).
Commit: 80bfac4327b6fb94cb9bf44eeb0d032799b9d418
https://github.com/llvm/llvm-project/commit/80bfac4327b6fb94cb9bf44eeb0d032799b9d418
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M lldb/source/Plugins/SymbolLocator/DebugSymbols/SymbolLocatorDebugSymbols.cpp
Log Message:
-----------
[lldb] Fix progress reporting for SymbolLocatorDebugSymbols (#79624)
This fixes two issues related to the DebugSymbols symbol locator:
1. Only the default symbol locator plugin reports progress. On Darwin,
which uses the DebugSymbols framework we need to report the same
progress form the corresponding SymbolLocator plugin.
2. Forceful dSYM lookups, for example when using `add-dsym`, use a
different code path that currently does not report progress, which is
confusing. Here the progress event can be more specific and specify its
downloading a symbol file rather than just locating it as we'll always
shell out to dsymForUUID or its equivalent.
rdar://121629777
Commit: 9816863dd439cd60c96d5764c4c21ca1a7f3d8da
https://github.com/llvm/llvm-project/commit/9816863dd439cd60c96d5764c4c21ca1a7f3d8da
Author: Ziqing Luo <ziqing at udel.edu>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M clang/include/clang/Analysis/Analyses/UnsafeBufferUsage.h
M clang/include/clang/Analysis/Analyses/UnsafeBufferUsageGadgets.def
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-in-container-span-construct.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-warning-data-invocation.cpp
Log Message:
-----------
[-Wunsafe-buffer-usage] Add a new warning for uses of std::span two-parameter constructors (#77148)
Constructing `std::span` objects with the two parameter constructors
could introduce mismatched bounds information, which defeats the
purpose of using `std::span`. Therefore, we warn every use of such
constructors.
rdar://115817781
Commit: 3bece3d72d1323af6b2418b13281e66b583f25b3
https://github.com/llvm/llvm-project/commit/3bece3d72d1323af6b2418b13281e66b583f25b3
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M llvm/tools/llvm-exegesis/lib/Assembler.cpp
Log Message:
-----------
[Exegesis] Do not assume the size and layout of the assembled snippet (#79636)
Currently llvm-exegesis assumes that there will only be 3 symbols in the
snippet object, in which the benchmarking function 'foo' is always the
last symbol.
These assumptions do not hold for object file formats of other targets
we support downstream. I think it would be more ideal to generalize this
part of the logics into a simple search on all symbols, as proposed by
this patch.
Commit: d9a9872ec4760762fdc467ef283cea302a3742e5
https://github.com/llvm/llvm-project/commit/d9a9872ec4760762fdc467ef283cea302a3742e5
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M lld/MachO/InputFiles.cpp
M llvm/include/llvm/TextAPI/InterfaceFile.h
M llvm/include/llvm/TextAPI/Symbol.h
M llvm/include/llvm/TextAPI/SymbolSet.h
M llvm/lib/Object/TapiFile.cpp
M llvm/lib/TextAPI/RecordVisitor.cpp
M llvm/lib/TextAPI/RecordsSlice.cpp
M llvm/lib/TextAPI/Symbol.cpp
M llvm/lib/TextAPI/SymbolSet.cpp
M llvm/lib/TextAPI/TextStub.cpp
M llvm/lib/TextAPI/TextStubV5.cpp
M llvm/tools/llvm-ifs/llvm-ifs.cpp
M llvm/tools/llvm-readtapi/DiffEngine.cpp
M llvm/tools/llvm-readtapi/DiffEngine.h
M llvm/unittests/TextAPI/TextStubHelpers.h
M llvm/unittests/TextAPI/TextStubV1Tests.cpp
M llvm/unittests/TextAPI/TextStubV2Tests.cpp
M llvm/unittests/TextAPI/TextStubV3Tests.cpp
M llvm/unittests/TextAPI/TextStubV4Tests.cpp
M llvm/unittests/TextAPI/TextStubV5Tests.cpp
Log Message:
-----------
[TextAPI] Rename SymbolKind to EncodeKind (#79622)
A distinction that doesn't _usually_ matter is that the
MachO::SymbolKind is really a mapping of entries in TBD files not
symbols. To better understand this, rename the enum so it represents an
encoding mapped to TBDs as opposed to symbols alone.
For example, it can be a bit confusing that "GlobalSymbol" is a enum
value when all of those values can represent a GlobalSymbol.
Commit: 2e1e27c7c3212254283edecae6f040272ef88e0f
https://github.com/llvm/llvm-project/commit/2e1e27c7c3212254283edecae6f040272ef88e0f
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M libc/include/llvm-libc-macros/linux/CMakeLists.txt
R libc/include/llvm-libc-macros/linux/sys-mman-macros.h
M libc/include/llvm-libc-macros/sys-mman-macros.h
Log Message:
-----------
[libc] adjust linux's `mman.h` definitions (#79652)
Use definitions from `<linux/mman.h>` to dispatch arch-specific flag
values.
For example, `MCL_CURRENT/MCL_FUTURE/MCL_ONFAULT` are different on
different architectures.
Commit: c1a155bf785152abc72b77608261a3d0e6c776a6
https://github.com/llvm/llvm-project/commit/c1a155bf785152abc72b77608261a3d0e6c776a6
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M llvm/unittests/tools/llvm-exegesis/ClusteringTest.cpp
M llvm/unittests/tools/llvm-exegesis/Mips/BenchmarkResultTest.cpp
M llvm/unittests/tools/llvm-exegesis/X86/BenchmarkResultTest.cpp
Log Message:
-----------
[llvm-exegesis] Refactor BenchmarkMeasure instantiation in tests
This patch refactors the instantiation of BenchmarkMeasure within all
the unit tests to use BenchmarkMeasure::Create rather than through
direct struct instantialization. This allows us to change what values
are stored in BenchmarkMeasure without getting compiler warnings on
every instantiation in the unit tests, and is also just a cleanup in
general as the Create function didn't seem to exist at the time the unit
tests were originally written.
Commit: c9790f8f733f6014fdd8bdacb057c9871e624bcc
https://github.com/llvm/llvm-project/commit/c9790f8f733f6014fdd8bdacb057c9871e624bcc
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M llvm/lib/IR/Instruction.cpp
Log Message:
-----------
[IR] Use SmallDenseSet (NFC) (#79556)
The use of SmallDenseSet saves 0.39% of heap allocations during the
compilation of a large preprocessed file, namely X86ISelLowering.cpp,
for the X86 target. During the experiment, WL.size() was 2 or less
99.9% of the time. The inline size of 4 should accommodate up to 2
entries at the 3/4 occupancy rate.
Commit: ff05c3087b4b7e0121125d7f6860b3d9383ca91d
https://github.com/llvm/llvm-project/commit/ff05c3087b4b7e0121125d7f6860b3d9383ca91d
Author: Ben Shi <2283975856 at qq.com>
Date: 2024-01-27 (Sat, 27 Jan 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
M clang/test/Analysis/Inputs/system-header-simulator.h
M clang/test/Analysis/errno-stdlibraryfunctions.c
M clang/test/Analysis/std-c-library-functions-POSIX.c
Log Message:
-----------
[clang][analyzer] Improve modeling of 'popen' and 'pclose' in StdLibraryFunctionsChecker (#78895)
Commit: f826f55b2ab68c2515fae751dc2d6ef77f37b172
https://github.com/llvm/llvm-project/commit/f826f55b2ab68c2515fae751dc2d6ef77f37b172
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Fix a bug in AnnotatingParser::rParenEndsCast() (#79549)
Fixes #78965.
Commit: e44d3b3e503fa12fdaead2936b28844aa36237c1
https://github.com/llvm/llvm-project/commit/e44d3b3e503fa12fdaead2936b28844aa36237c1
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-01-27 (Sat, 27 Jan 2024)
Changed paths:
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/Attributor/nofpclass-implied-by-fcmp.ll
Log Message:
-----------
ValueTracking: Merge fcmpImpliesClass and fcmpToClassTest (#66522)
Rushing this one out before vacation starts. Refactoring on top of
#66505
Commit: 69f99cd20f9dfcb33502d9376b8cf3ac25086362
https://github.com/llvm/llvm-project/commit/69f99cd20f9dfcb33502d9376b8cf3ac25086362
Author: Kai Sasaki <lewuathe at gmail.com>
Date: 2024-01-27 (Sat, 27 Jan 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 (#76316)
Commit: 701ec45f2fc026d97c3a6262ea0ae6ba6734b304
https://github.com/llvm/llvm-project/commit/701ec45f2fc026d97c3a6262ea0ae6ba6734b304
Author: Mikhail Gudim <mgudim at gmail.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
Log Message:
-----------
[InstCombine] Fix a comment. (#79422)
Commit: 75952873036fc9989fcf12c526d1a2deaeef596a
https://github.com/llvm/llvm-project/commit/75952873036fc9989fcf12c526d1a2deaeef596a
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M lldb/packages/Python/lldbsuite/test/dotest.py
M lldb/packages/Python/lldbsuite/test/dotest_args.py
M lldb/packages/Python/lldbsuite/test/lldbtest.py
M lldb/test/API/CMakeLists.txt
M lldb/test/API/api/command-return-object/TestSBCommandReturnObject.py
M lldb/test/API/api/multiple-debuggers/TestMultipleDebuggers.py
M lldb/test/API/api/multiple-targets/TestMultipleTargets.py
M lldb/test/API/api/multithreaded/TestMultithreaded.py
Log Message:
-----------
[lldb] Remove obsolete signBinary helper (#79656)
On Darwin, the Makefile already (ad-hoc) signs everything it builds.
There's also no need to use lldb_codesign for this.
Commit: 5585ddd90b08ecc287e1fb7f765056dc13ccbfe1
https://github.com/llvm/llvm-project/commit/5585ddd90b08ecc287e1fb7f765056dc13ccbfe1
Author: Jeremy Kun <2467754+j2kun at users.noreply.github.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel]: de-alias pybind11 headers target (#79676)
In trying to set up python headers in an out-of-tree bazel MLIR project,
I encountered the `pybind11_bazel` project, and found that the
`@python_runtime` target used here is not defined by it.
Instead, it seems that `@python_runtime` is an alias used in some
projects like Tensorflow (see
https://github.com/tensorflow/tensorflow/blob/322936ffdd96ee59e27d028467fe458859cf3855/third_party/python_runtime/BUILD#L7-L7),
where it is aliased to `@local_config_python`. In fact,
`@local_config_python` is defined by `@pybind11_bazel`, and so it seems
that this layer of indirection no longer serves a purpose, and instead
just prevents anyone who doesn't clone Tensorflow's config from using
the python bindings here.
This commit updates the dependent targets to their canonical de-aliased
equivalents, and I suspect this will not even break any downstream users
since the new target is defined in those projects already.
Without this change, running, for example
```
bazel build @llvm-project//mlir:MLIRBindingsPythonCore
```
gives the error
```
no such package '@python_runtime//': The repository '@python_runtime'
could not be resolved: Repository '@python_runtime' is not defined and
referenced by '@llvm-project//mlir:MLIRBindingsPythonCore'
```
Minimal reproduction in https://github.com/j2kun/test_mlir_bazel_pybind,
which, when pointing to a local LLVM repository that has this change
(see `bazel/import_llvm.bzl` in that repository), results in that build
succeeding.
Hat tip to Maksim Levental for going on an hours-long investigation with
me to figure this out.
Commit: faef68bca852d08511ea0311d8a0d221cb202e73
https://github.com/llvm/llvm-project/commit/faef68bca852d08511ea0311d8a0d221cb202e73
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-01-27 (Sat, 27 Jan 2024)
Changed paths:
M clang/lib/CodeGen/CodeGenPGO.cpp
M clang/lib/CodeGen/CoverageMappingGen.cpp
Log Message:
-----------
Revert "[Coverage] Map regions from system headers (#76950)"
See #78920.
This reverts commit ce3e767ac5ea1a1d1a166e88c152e2125ec7662b.
Commit: e8f882f83acf30d9b4da8846bd26314139660430
https://github.com/llvm/llvm-project/commit/e8f882f83acf30d9b4da8846bd26314139660430
Author: Sam James <sam at gentoo.org>
Date: 2024-01-27 (Sat, 27 Jan 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_report.cpp
Log Message:
-----------
[sanitizer] Handle Gentoo's libstdc++ path
On Gentoo, libc++ is indeed in /usr/include/c++/*, but libstdc++ is at
e.g. /usr/lib/gcc/x86_64-pc-linux-gnu/14/include/g++-v14.
Use '/include/g++' as it should be unique enough. Note that the omission of
a trailing slash is intentional to match g++-*.
See https://github.com/llvm/llvm-project/pull/78534#issuecomment-1904145839.
Reviewed by: mgorny
Closes: https://github.com/llvm/llvm-project/pull/79264
Signed-off-by: Sam James <sam at gentoo.org>
Commit: 6e6c506f3caeafc25925b811b9cd205e2e213dd6
https://github.com/llvm/llvm-project/commit/6e6c506f3caeafc25925b811b9cd205e2e213dd6
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2024-01-27 (Sat, 27 Jan 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaConcept.cpp
M clang/test/SemaTemplate/concepts-lambda.cpp
Log Message:
-----------
[Concepts] Traverse the instantiation chain for parameter injection inside a constraint scope (#79568)
We preserve the trailing requires-expression during the lambda
expression transformation. In order to get those referenced parameters
inside a requires-expression properly resolved to the instantiated
decls, we intended to inject these 'original' `ParmVarDecls` to the
current instantiaion scope, at `Sema::SetupConstraintScope`.
The previous approach seems to overlook nested instantiation chains,
leading to the crash within a nested lambda followed by a requires
clause.
This fixes https://github.com/llvm/llvm-project/issues/73418.
Commit: 2b00d449d2ed09cd0364038115f90a3eb4fd15b5
https://github.com/llvm/llvm-project/commit/2b00d449d2ed09cd0364038115f90a3eb4fd15b5
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M clang-tools-extra/clang-doc/HTMLGenerator.cpp
M clang-tools-extra/clang-doc/Representation.cpp
M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
M clang-tools-extra/clang-include-fixer/find-all-symbols/PathConfig.cpp
M clang-tools-extra/clang-move/Move.cpp
M clang-tools-extra/clang-move/tool/ClangMove.cpp
M clang-tools-extra/clang-tidy/utils/HeaderGuard.cpp
M clang-tools-extra/modularize/ModularizeUtilities.cpp
Log Message:
-----------
[clang-tools-extra] Use SmallString::operator std::string (NFC)
Commit: ac0b6016af5a00865ce0c3b4f1d007f8ac96b8eb
https://github.com/llvm/llvm-project/commit/ac0b6016af5a00865ce0c3b4f1d007f8ac96b8eb
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M llvm/lib/Analysis/LoopInfo.cpp
Log Message:
-----------
[Analysis] Use llvm::succ_empty and llvm::successors (NFC)
Commit: f2e69d2e85463b5c415d5597a59cf41671c15c70
https://github.com/llvm/llvm-project/commit/f2e69d2e85463b5c415d5597a59cf41671c15c70
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M llvm/lib/CodeGen/MIRPrinter.cpp
Log Message:
-----------
[CodeGen] Use a range-based for loop (NFC)
Commit: fe35d72d8e248f1d29f9c5e503463bb1c4d6f8c6
https://github.com/llvm/llvm-project/commit/fe35d72d8e248f1d29f9c5e503463bb1c4d6f8c6
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Driver/ToolChains/Hexagon.cpp
Log Message:
-----------
[Driver] Use StringRef::consume_back (NFC)
Commit: 499507fdec8eb37dc68cee6c2b6c75557b28024e
https://github.com/llvm/llvm-project/commit/499507fdec8eb37dc68cee6c2b6c75557b28024e
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-01-27 (Sat, 27 Jan 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.h
Log Message:
-----------
[clang][Interp][NFC] Remove unused function
Commit: ce75cbeda21e3e4e5d0c47ecf44954caf98acfe8
https://github.com/llvm/llvm-project/commit/ce75cbeda21e3e4e5d0c47ecf44954caf98acfe8
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-01-27 (Sat, 27 Jan 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
Log Message:
-----------
[clang][Interp][NFC] Don't unnecessarily use std::optional
classifyComplexElementType() doesn't return a std::optional anymore.
Commit: 1f13203029333ac99cc9844b8b6915aae3fc0902
https://github.com/llvm/llvm-project/commit/1f13203029333ac99cc9844b8b6915aae3fc0902
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2024-01-27 (Sat, 27 Jan 2024)
Changed paths:
M llvm/utils/mlgo-utils/mlgo/__init__.py
Log Message:
-----------
[MLGO] Bump mlgo-utils version to 19.0.0
This patch bumps the mlgo-utils version to 19.0.0 as 18.0.0 got branched
recently.
Commit: ad1a65fcacda8794e2f1fa3e1dec1c1b7813422c
https://github.com/llvm/llvm-project/commit/ad1a65fcacda8794e2f1fa3e1dec1c1b7813422c
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2024-01-27 (Sat, 27 Jan 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang-c/Index.h
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/ASTNodeTraverser.h
M clang/include/clang/AST/ComputeDependence.h
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/Type.h
M clang/include/clang/AST/TypeLoc.h
M clang/include/clang/AST/TypeProperties.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/Specifiers.h
M clang/include/clang/Basic/StmtNodes.td
M clang/include/clang/Basic/TokenKinds.def
M clang/include/clang/Basic/TypeNodes.td
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/DeclSpec.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/include/clang/Serialization/TypeBitCodes.def
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ASTStructuralEquivalence.cpp
M clang/lib/AST/ComputeDependence.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ExprCXX.cpp
M clang/lib/AST/ExprClassification.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/MicrosoftMangle.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprAgg.cpp
M clang/lib/CodeGen/CGExprComplex.cpp
M clang/lib/CodeGen/CGExprConstant.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/Parse/ParseCXXInlineMethods.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseExprCXX.cpp
M clang/lib/Parse/ParseTentative.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/DeclSpec.cpp
M clang/lib/Sema/SemaCXXScopeSpec.cpp
M clang/lib/Sema/SemaDecl.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/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateVariadic.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
M clang/test/AST/ast-dump-templates.cpp
M clang/test/CXX/dcl.decl/dcl.meaning/dcl.fct/p13.cpp
A clang/test/PCH/pack_indexing.cpp
M clang/test/Parser/cxx0x-ambig.cpp
M clang/test/Parser/cxx0x-decl.cpp
A clang/test/Parser/cxx2c-pack-indexing.cpp
A clang/test/SemaCXX/cxx2c-pack-indexing-ext-diags.cpp
A clang/test/SemaCXX/cxx2c-pack-indexing.cpp
M clang/tools/libclang/CIndex.cpp
M clang/tools/libclang/CXCursor.cpp
M clang/www/cxx_status.html
Log Message:
-----------
[Clang][C++26] Implement Pack Indexing (P2662R3). (#72644)
Implements https://isocpp.org/files/papers/P2662R3.pdf
The feature is exposed as an extension in older language modes.
Mangling is not yet supported and that is something we will have to do before release.
Commit: 7fcba000e90b85ce1236a1d43bebb8128332580e
https://github.com/llvm/llvm-project/commit/7fcba000e90b85ce1236a1d43bebb8128332580e
Author: Gábor Spaits <48805437+spaits at users.noreply.github.com>
Date: 2024-01-27 (Sat, 27 Jan 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/test/CXX/temp/temp.fct.spec/temp.deduct/temp.deduct.call/p1-0x.cpp
M clang/test/SemaTemplate/deduction.cpp
Log Message:
-----------
[Sema] Substitute parameter packs when deduced from function arguments (#79371)
This pull request would solve
https://github.com/llvm/llvm-project/issues/78449 .
There is also a discussion about this on stackoverflow:
https://stackoverflow.com/questions/77832658/stdtype-identity-to-support-several-variadic-argument-lists
.
The following program is well formed:
```cpp
#include <type_traits>
template <typename... T>
struct args_tag
{
using type = std::common_type_t<T...>;
};
template <typename... T>
void bar(args_tag<T...>, std::type_identity_t<T>..., int, std::type_identity_t<T>...) {}
// example
int main() {
bar(args_tag<int, int>{}, 4, 8, 15, 16, 23);
}
```
but Clang rejects it, while GCC and MSVC doesn't. The reason for this is
that, in `Sema::DeduceTemplateArguments` we are not prepared for this
case.
# Substitution/deduction of parameter packs
The logic that handles substitution when we have explicit template
arguments (`SubstituteExplicitTemplateArguments`) does not work here,
since the types of the pack are not pushed to `ParamTypes` before the
loop starts that does the deduction.
The other "candidate" that may could have handle this case would be the
loop that does the deduction for trailing packs, but we are not dealing
with trailing packs here.
# Solution proposed in this PR
The solution proposed in this PR works similar to the trailing pack
deduction. The main difference here is the end of the deduction cycle.
When a non-trailing template pack argument is found, whose type is not
explicitly specified and the next type is not a pack type, the length of
the previously deduced pack is retrieved (let that length be `s`). After
that the next `s` arguments are processed in the same way as in the case
of non trailing packs.
# Another possible solution
There is another possible approach that would be less efficient. In the
loop when we get to an element of `ParamTypes` that is a pack and could
be substituted because the type is deduced from a previous argument,
then `s` number of arg types would be inserted before the current
element of `ParamTypes` type. Then we would "cancel" the processing of
the current element, first process the previously inserted elements and
the after that re-process the current element.
Basically we would do what `SubstituteExplicitTemplateArguments` does
but during deduction.
# Adjusted test cases
In
`clang/test/CXX/temp/temp.fct.spec/temp.deduct/temp.deduct.call/p1-0x.cpp`
there is a test case named `test_pack_not_at_end` that should work, but
still does not. This test case is relevant because the note for the
error message has changed.
This is what the test case looks like currently:
```cpp
template<typename ...Types>
void pack_not_at_end(tuple<Types...>, Types... values, int); // expected-note {{<int *, double *> vs. <int, int>}}
void test_pack_not_at_end(tuple<int*, double*> t2) {
pack_not_at_end(t2, 0, 0, 0); // expected-error {{no match}}
// FIXME: Should the "original argument type must match deduced parameter
// type" rule apply here?
pack_not_at_end<int*, double*>(t2, 0, 0, 0); // ok
}
```
The previous note said (before my changes):
```
deduced conflicting types for parameter 'Types' (<int *, double *> vs. <>)
````
The current note says (after my changesand also clang 14 would say this
if the pack was not trailing):
```
deduced conflicting types for parameter 'Types' (<int *, double *> vs. <int, int>)
```
GCC says:
```
error: no matching function for call to ‘pack_not_at_end(std::tuple<int*, double*>&, int, int, int)’
70 | pack_not_at_end(t2, 0, 0, 9); // expected-error {{no match}}
````
---------
Co-authored-by: cor3ntin <corentinjabot at gmail.com>
Co-authored-by: Erich Keane <ekeane at nvidia.com>
Commit: bc5c151348a1efb392b25153dfa73ddd7ee06d3f
https://github.com/llvm/llvm-project/commit/bc5c151348a1efb392b25153dfa73ddd7ee06d3f
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2024-01-27 (Sat, 27 Jan 2024)
Changed paths:
M libcxx/test/libcxx/gdb/gdb_pretty_printer_test.sh.cpp
Log Message:
-----------
Disable gdb_pretty_printer_test.sh.cpp for clang 19
As it breaks buildkite CI
Commit: 608d602842393fc4c0b1463181a827cfc91f5bf1
https://github.com/llvm/llvm-project/commit/608d602842393fc4c0b1463181a827cfc91f5bf1
Author: Kristof Beyls <kristof.beyls at llvm.org>
Date: 2024-01-27 (Sat, 27 Jan 2024)
Changed paths:
M llvm/docs/CodeOfConduct.rst
M llvm/docs/DeveloperPolicy.rst
Log Message:
-----------
[DevPolicy] Add guidance on bans (#69701)
Commit: 3855757f98935208d7d0481af01a474139de9519
https://github.com/llvm/llvm-project/commit/3855757f98935208d7d0481af01a474139de9519
Author: Chia <sun1011jacobi at gmail.com>
Date: 2024-01-27 (Sat, 27 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwadd-mask.ll
Log Message:
-----------
[RISCV][ISel] Remove redundant vmerge for the vwadd. (#78403)
This patch is aiming at resolving the below missed-optimization case.
### Code
```
define <8 x i64> @vwadd_mask_v8i32(<8 x i32> %x, <8 x i64> %y) {
%mask = icmp slt <8 x i32> %x, <i32 42, i32 42, i32 42, i32 42, i32 42, i32 42, i32 42, i32 42>
%a = select <8 x i1> %mask, <8 x i32> %x, <8 x i32> zeroinitializer
%sa = sext <8 x i32> %a to <8 x i64>
%ret = add <8 x i64> %sa, %y
ret <8 x i64> %ret
}
```
### Before this patch
[Compiler Explorer](https://godbolt.org/z/cd1bKTrx6)
```
vwadd_mask_v8i32:
li a0, 42
vsetivli zero, 8, e32, m2, ta, ma
vmslt.vx v0, v8, a0
vmv.v.i v10, 0
vmerge.vvm v16, v10, v8, v0
vwadd.wv v8, v12, v16
ret
```
### After this patch
```
vwadd_mask_v8i32:
li a0, 42
vsetivli zero, 8, e32, m2, ta, ma
vmslt.vx v0, v8, a0
vsetvli zero, zero, e32, m2, tu, mu
vwadd.wv v12, v12, v8, v0.t
vmv4r.v v8, v12
ret
```
This pattern could be found in a reduction with a widening destination
Specifically, we first do a fold like `(vwadd.wv y, (vmerge cond, x, 0))
-> (vwadd.wv y, x, y, cond)`, then do pattern matching on it.
Commit: f882eb49860cea4d5cfb76a7bbbfa45d04a4ac00
https://github.com/llvm/llvm-project/commit/f882eb49860cea4d5cfb76a7bbbfa45d04a4ac00
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-01-27 (Sat, 27 Jan 2024)
Changed paths:
M flang/lib/Lower/OpenMP.cpp
A flang/test/Lower/OpenMP/FIR/map-component-ref.f90
A flang/test/Lower/OpenMP/map-component-ref.f90
Log Message:
-----------
[Flang][OpenMP] Skip component symbols when creating extended values (#79657)
The `map` clause in OpenMP allows structure components to be specified
(unlike other clauses). Structure components do get their own symbols,
but these are not meant to be instantiated.
When a component reference is passed as an argument to the omp.target
op, it gets a corresponding parameter in the target op's entry block.
The original symbols are then bound to the same kind of an extended
value as before, but the value is now based on the parameters.
To handle structure components more gracefully, put their symbols on the
list of mapped objects, but skip them when creating extended values.
Fixes https://github.com/llvm/llvm-project/issues/79478.
Commit: 3e29e520779a863fbc30fd86cf1cb6d2ed398101
https://github.com/llvm/llvm-project/commit/3e29e520779a863fbc30fd86cf1cb6d2ed398101
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-01-27 (Sat, 27 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Fix -Wunused-variable in RISCVISelLowering.cpp (NFC)
llvm-project/llvm/lib/Target/RISCV/RISCVISelLowering.cpp:13754:12:
error: unused variable 'Opc' [-Werror,-Wunused-variable]
unsigned Opc = N->getOpcode();
^
1 error generated.
Commit: ec402a2e532db7ec38e6aef0ed1b1c04c6769d9b
https://github.com/llvm/llvm-project/commit/ec402a2e532db7ec38e6aef0ed1b1c04c6769d9b
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-01-27 (Sat, 27 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
Log Message:
-----------
[VPlan] Implement cloning of VPlans. (#73158)
This patch implements cloning for VPlans and recipes. Cloning is used in
the epilogue vectorization path, to clone the VPlan for the main vector
loop. This means we won't re-use a VPlan when executing the VPlan for
the epilogue vector loop, which in turn will enable us to perform
optimizations based on UF & VF.
Commit: 143b510a8fefb0d203c9ac7e036aa9967dd8a2ef
https://github.com/llvm/llvm-project/commit/143b510a8fefb0d203c9ac7e036aa9967dd8a2ef
Author: Corentin Jabot <corentinjabot at gmail.com>
Date: 2024-01-27 (Sat, 27 Jan 2024)
Changed paths:
M clang/lib/Parse/ParseExpr.cpp
Log Message:
-----------
[Clang] Fix asan error after ad1a65fca
Annotating tokens can invalid the stack of Peaked tokens.
Commit: 57a20d2d09bbd3cc501fc6d8b4746be2040c99b7
https://github.com/llvm/llvm-project/commit/57a20d2d09bbd3cc501fc6d8b4746be2040c99b7
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2024-01-27 (Sat, 27 Jan 2024)
Changed paths:
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
Log Message:
-----------
[LLDB] Default implementation for pack indexing types. (#79695)
We do not handle pack indexing types (added by yet #72644) but we add them to some switch
statement to ensure CI builds do not fail.
Commit: 863b2c84c0fbcfb02d969fa36af4932d410a827b
https://github.com/llvm/llvm-project/commit/863b2c84c0fbcfb02d969fa36af4932d410a827b
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-27 (Sat, 27 Jan 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[DAGCombiner] Use SmallDenseMap (NFC) (#79681)
The use of SmallDenseMap saves 0.48% of heap allocations during the
compilation of a large preprocessed file, namely X86ISelLowering.cpp,
for the X86 target. During the experiment, the maximum size of
WorklistMap was 24 or less 74% of the time. (Note that DenseMap has
the maximum occupancy rate of 3/4.)
Commit: 718aac9f7a19227b5c5ec85819a3a5ae24ce32e1
https://github.com/llvm/llvm-project/commit/718aac9f7a19227b5c5ec85819a3a5ae24ce32e1
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-01-27 (Sat, 27 Jan 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Frontend/TextDiagnostic.h
M clang/include/clang/Lex/Preprocessor.h
M clang/lib/Frontend/TextDiagnostic.cpp
M clang/lib/Frontend/TextDiagnosticPrinter.cpp
M clang/lib/Lex/Preprocessor.cpp
A clang/test/Frontend/diagnostic-pipe.c
Log Message:
-----------
[clang][Diagnostics] Highlight code snippets (#66514)
Add some primitive syntax highlighting to our code snippet output.
This adds "checkpoints" to the Preprocessor, which we can use to start lexing from. When printing a code snippet, we lex from the nearest checkpoint and highlight the tokens based on their token type.
Commit: 34dd8ec8aec17965313b17308faaa6272c235c53
https://github.com/llvm/llvm-project/commit/34dd8ec8aec17965313b17308faaa6272c235c53
Author: Jonas Paulsson <paulson1 at linux.ibm.com>
Date: 2024-01-27 (Sat, 27 Jan 2024)
Changed paths:
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/Basic/TargetInfo.h
M clang/include/clang/Driver/Options.td
M clang/lib/AST/ASTContext.cpp
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/Basic/Targets/AArch64.h
M clang/lib/Basic/Targets/CSKY.cpp
M clang/lib/Basic/Targets/CSKY.h
M clang/lib/Basic/Targets/NVPTX.cpp
M clang/lib/Basic/Targets/SPIR.h
M clang/lib/Basic/Targets/SystemZ.cpp
M clang/lib/Basic/Targets/SystemZ.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/Driver/ToolChains/Arch/SystemZ.cpp
M clang/lib/Sema/SemaOpenMP.cpp
A clang/test/CodeGen/SystemZ/unaligned-symbols.c
M llvm/lib/Target/SystemZ/SystemZFeatures.td
Log Message:
-----------
[clang, SystemZ] Support -munaligned-symbols (#73511)
When this option is passed to clang, external (and/or weak) symbols
are not assumed to have the minimum ABI alignment normally required.
Symbols defined locally that are not weak are however still given the
minimum alignment.
This is implemented by passing a new parameter to getMinGlobalAlign()
named HasNonWeakDef that is used to return the right alignment value.
This is needed when external symbols created from a linker script may
not get the ABI minimum alignment and must therefore be treated as
unaligned by the compiler.
Commit: 54149217b5a1212fcf1864cb16208c112c189b39
https://github.com/llvm/llvm-project/commit/54149217b5a1212fcf1864cb16208c112c189b39
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-27 (Sat, 27 Jan 2024)
Changed paths:
M llvm/lib/MC/MCAsmStreamer.cpp
Log Message:
-----------
[MC] Use StringRef::consume_back (NFC)
Commit: f1cee6b0baac943bdc3f329feddd1bf0731a5a0e
https://github.com/llvm/llvm-project/commit/f1cee6b0baac943bdc3f329feddd1bf0731a5a0e
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-27 (Sat, 27 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Utils/BreakCriticalEdges.cpp
Log Message:
-----------
[Transforms] Use a range-based for loop (NFC)
Commit: 03cba44029cc78b9ef86c4e2aac0453ebab473ae
https://github.com/llvm/llvm-project/commit/03cba44029cc78b9ef86c4e2aac0453ebab473ae
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-27 (Sat, 27 Jan 2024)
Changed paths:
M bolt/lib/RuntimeLibs/RuntimeLibrary.cpp
Log Message:
-----------
[BOLT] Use SmallString::operator std::string (NFC)
Commit: 19146b97127157bda97ad87b94f3c4c9bf7e81d4
https://github.com/llvm/llvm-project/commit/19146b97127157bda97ad87b94f3c4c9bf7e81d4
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-27 (Sat, 27 Jan 2024)
Changed paths:
M llvm/lib/Analysis/IRSimilarityIdentifier.cpp
Log Message:
-----------
[Analysis] Simplify a StringRef comparison (NFC)
Commit: e976053a63c251e9b65733ed3574e5c3de62084c
https://github.com/llvm/llvm-project/commit/e976053a63c251e9b65733ed3574e5c3de62084c
Author: Jonas Paulsson <paulson1 at linux.ibm.com>
Date: 2024-01-27 (Sat, 27 Jan 2024)
Changed paths:
M clang/test/CodeGen/SystemZ/unaligned-symbols.c
Log Message:
-----------
[clang, SystemZ] Fix test case for buildbot.
It seems the automatic Value naming starts on %1 instead of %0 sometimes.
Commit: 517063e0f3d3387babc500b112aaa90b5c42da38
https://github.com/llvm/llvm-project/commit/517063e0f3d3387babc500b112aaa90b5c42da38
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-01-27 (Sat, 27 Jan 2024)
Changed paths:
M libc/cmake/modules/LLVMLibCFlagRules.cmake
M libc/cmake/modules/LLVMLibCObjectRules.cmake
M libc/src/__support/HashTable/CMakeLists.txt
M libc/src/__support/HashTable/bitmask.h
Log Message:
-----------
[libc] change PREFER_GENERIC to EXPLICIT_SIMD_OPT (#79486)
fixes #79474.
Commit: 7c03d5d41daad230406890499cf4fa14973ee5eb
https://github.com/llvm/llvm-project/commit/7c03d5d41daad230406890499cf4fa14973ee5eb
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-01-27 (Sat, 27 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[VPlan] Use unique_ptr to clean up duplicated plan.
Commit: 53fea6fd6f228eb1dbd282b8d076af545dcd8228
https://github.com/llvm/llvm-project/commit/53fea6fd6f228eb1dbd282b8d076af545dcd8228
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-01-27 (Sat, 27 Jan 2024)
Changed paths:
M .github/workflows/llvm-project-tests.yml
M .github/workflows/llvm-tests.yml
Log Message:
-----------
workflows: Merge LLVM tests together into a single job (#78877)
This is possible now that the free GitHub runners for Windows and Linux
have more disk space:
https://github.blog/2024-01-17-github-hosted-runners-double-the-power-for-open-source/
I also had to switch from macOS-11 to macOS-13 in order to prevent the
job from timing out. macOS-13 runners have 4 vCPUs and the macOS-11
runners only have 3.
Commit: 927919ac34a2085a7a25814fea492ac462b0d4ac
https://github.com/llvm/llvm-project/commit/927919ac34a2085a7a25814fea492ac462b0d4ac
Author: Fangrui Song <i at maskray.me>
Date: 2024-01-27 (Sat, 27 Jan 2024)
Changed paths:
M llvm/tools/llvm-cov/CodeCoverage.cpp
M llvm/tools/llvm-cov/SourceCoverageView.cpp
M llvm/tools/llvm-cov/SourceCoverageView.h
Log Message:
-----------
[llvm-cov] Simplify branch/MCDC subviews. NFC
Remove unneeded empty check and reundant copies. NFC
Commit: 7c3ee7cbe6419ea5e37ce2723cc1a1688380581f
https://github.com/llvm/llvm-project/commit/7c3ee7cbe6419ea5e37ce2723cc1a1688380581f
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-01-28 (Sun, 28 Jan 2024)
Changed paths:
M llvm/include/llvm/Support/X86FoldTablesUtils.h
M llvm/lib/Target/X86/X86InstrAVX512.td
M llvm/lib/Target/X86/X86InstrFoldTables.cpp
M llvm/test/TableGen/x86-fold-tables.inc
M llvm/utils/TableGen/X86FoldTablesEmitter.cpp
Log Message:
-----------
[X86][tablgen] Fix the broadcast tables (#79675)
Commit: 6754b5428e7ddb278f03b23e8306f3d5936373e1
https://github.com/llvm/llvm-project/commit/6754b5428e7ddb278f03b23e8306f3d5936373e1
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-01-28 (Sun, 28 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/X86/X86InstrInfo.h
Log Message:
-----------
[X86][NFC] AnalyzeBranchImpl -> analyzeBranchImpl and remove duplicated comments in X86InstrInfo.h
Commit: 7089c012ec08450b1d8050b6b1d85a00505aa51a
https://github.com/llvm/llvm-project/commit/7089c012ec08450b1d8050b6b1d85a00505aa51a
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-01-28 (Sun, 28 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86InstrInfo.cpp
Log Message:
-----------
[X86][NFC] Replace if-else with switch-case in X86InstrInfo::foldMemoryOperandImpl
Commit: 5a5ce012e4de627c52efa1638993fd23c5e74afa
https://github.com/llvm/llvm-project/commit/5a5ce012e4de627c52efa1638993fd23c5e74afa
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-01-27 (Sat, 27 Jan 2024)
Changed paths:
M clang/CMakeLists.txt
M clang/cmake/caches/BOLT.cmake
M clang/utils/perf-training/CMakeLists.txt
M clang/utils/perf-training/bolt.lit.cfg
M clang/utils/perf-training/bolt.lit.site.cfg.in
M clang/utils/perf-training/perf-helper.py
Log Message:
-----------
Reland [Clang][CMake] Support perf, LBR, and Instrument CLANG_BOLT options (#69133)
This reverts commit 6953b367027e4234607a6718a0a1d57eb52ef57e.
Couldn't reproduce cmake issues from any of the affected buildbots:
https://lab.llvm.org/buildbot/#/builders/139/builds/57628
https://lab.llvm.org/buildbot/#/builders/163/builds/50270
https://lab.llvm.org/buildbot/#/builders/223/builds/34823
https://lab.llvm.org/buildbot/#/builders/225/builds/29950
https://lab.llvm.org/buildbot/#/builders/245/builds/19468
A common trait is that these builders don't clean build directory.
Push again and monitor these builders.
Commit: c41bb1120f6628f94119229ad2e7b93062a3e443
https://github.com/llvm/llvm-project/commit/c41bb1120f6628f94119229ad2e7b93062a3e443
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-01-27 (Sat, 27 Jan 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:
-----------
Revert "[mlir][complex] Prevent underflow in complex.abs" (#79722)
Reverts llvm/llvm-project#76316
Buildbot test is broken.
Commit: faf555f93f3628b7b2b64162c02dd1474540532e
https://github.com/llvm/llvm-project/commit/faf555f93f3628b7b2b64162c02dd1474540532e
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-27 (Sat, 27 Jan 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
Revert "[DAGCombiner] Use SmallDenseMap (NFC) (#79681)"
This reverts commit 863b2c84c0fbcfb02d969fa36af4932d410a827b.
A compile-time regression has been reported:
https://github.com/llvm/llvm-project/pull/79681#issuecomment-1913325915
Commit: 179ade6a6d78533179205640dd161bf179daa9ee
https://github.com/llvm/llvm-project/commit/179ade6a6d78533179205640dd161bf179daa9ee
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-01-27 (Sat, 27 Jan 2024)
Changed paths:
M clang/lib/Format/WhitespaceManager.cpp
Log Message:
-----------
[clang-format] Fix an issue reported by static analyzer
Fixes #79685.
Commit: c70d3874e95ba24d7f1f9e69102db8916d9c41f1
https://github.com/llvm/llvm-project/commit/c70d3874e95ba24d7f1f9e69102db8916d9c41f1
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-27 (Sat, 27 Jan 2024)
Changed paths:
M llvm/include/llvm/ADT/ArrayRef.h
Log Message:
-----------
[ADT] Remove makeArrayRef and makeMutableArrayRef (#79719)
These have been deprecated since:
commit 36117cc46388d677359f1180bd536f80d0c5fe97
Author: serge-sans-paille <sguelton at mozilla.com>
Date: Tue Jan 10 11:49:15 2023 +0100
commit c4b39cd09c4eeef2b3e3d32cb674f92c17eeb517
Author: Joe Loser <joeloser at fastmail.com>
Date: Mon Jan 16 14:52:16 2023 -0700
Commit: 5f4c89edd0ade97ab3e2d6df5375974f4b975d58
https://github.com/llvm/llvm-project/commit/5f4c89edd0ade97ab3e2d6df5375974f4b975d58
Author: Rageking8 <106309953+Rageking8 at users.noreply.github.com>
Date: 2024-01-27 (Sat, 27 Jan 2024)
Changed paths:
M clang/test/Analysis/additive-op-on-sym-int-expr.c
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTypeUtilities.h
M llvm/test/MC/AArch64/neon-diagnostics.s
M llvm/test/MC/AArch64/neon-scalar-shift-imm.s
M llvm/test/MC/Disassembler/AArch64/neon-instructions.txt
M mlir/docs/Dialects/Linalg/OpDSL.md
M mlir/python/mlir/dialects/linalg/opdsl/lang/comprehension.py
Log Message:
-----------
Fix unsigned typos (#76670)
Commit: 8f8cab6b7849944e5d1a9ddb773d0be851da6503
https://github.com/llvm/llvm-project/commit/8f8cab6b7849944e5d1a9ddb773d0be851da6503
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-27 (Sat, 27 Jan 2024)
Changed paths:
M llvm/lib/IR/ProfDataUtils.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIAnnotateControlFlow.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[llvm] Use Instruction::hasMetadata (NFC)
Commit: d6ad67df6bdd1e49f4f57ae8dfa1b05daf081c6e
https://github.com/llvm/llvm-project/commit/d6ad67df6bdd1e49f4f57ae8dfa1b05daf081c6e
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-27 (Sat, 27 Jan 2024)
Changed paths:
M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp
Log Message:
-----------
[clang-tidy] Use StringRef::consume_back (NFC)
Commit: 687136e7cd2ba897dc1f3688af6db58549ab95f2
https://github.com/llvm/llvm-project/commit/687136e7cd2ba897dc1f3688af6db58549ab95f2
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-27 (Sat, 27 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Utils/PredicateInfo.cpp
Log Message:
-----------
[Transforms] Use a range-based for loop (NFC)
Commit: 7d7f358cee659564358904584a871facfd5f765b
https://github.com/llvm/llvm-project/commit/7d7f358cee659564358904584a871facfd5f765b
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-27 (Sat, 27 Jan 2024)
Changed paths:
M llvm/tools/llvm-profdata/llvm-profdata.cpp
Log Message:
-----------
[llvm-profdata] Simplify a string equality comparison (NFC)
Commit: 5abbb7b5d038c62d3dc37ac8a2d7d57deebac0c7
https://github.com/llvm/llvm-project/commit/5abbb7b5d038c62d3dc37ac8a2d7d57deebac0c7
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-01-28 (Sun, 28 Jan 2024)
Changed paths:
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-2.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-8.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-2.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-8.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-2.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-8.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-2.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-8.ll
Log Message:
-----------
[X86][test] Update CHECK prefixes in CodeGen/X86/vector-interleaved-load-*.ll to suppress warnings
Suppress warnings like
WARNING: Prefix AVX had conflicting output from different RUN lines for all functions in test vector-interleaved-load-i16-stride-7.ll
WARNING: Prefix AVX1 had conflicting output from different RUN lines for all functions in test vector-interleaved-load-i16-stride-7.ll
WARNING: Prefix AVX2 had conflicting output from different RUN lines for all functions in test vector-interleaved-load-i16-stride-7.ll
WARNING: Prefix AVX2-ONLY had conflicting output from different RUN lines for all functions in test vector-interleaved-load-i16-stride-7.ll
WARNING: Prefix AVX512 had conflicting output from different RUN lines for all functions in test vector-interleaved-load-i16-stride-7.ll
WARNING: Prefix AVX512F had conflicting output from different RUN lines for all functions in test vector-interleaved-load-i16-stride-7.ll
WARNING: Prefix AVX512F-ONLY had conflicting output from different RUN lines for all functions in test vector-interleaved-load-i16-stride-7.ll
WARNING: Prefix AVX512-FAST had conflicting output from different RUN lines for all functions in test vector-interleaved-load-i16-stride-7.ll
WARNING: Prefix AVX512DQ-ONLY had conflicting output from different RUN lines for all functions in test vector-interleaved-load-i16-stride-7.ll
Commit: 23b233c8adad5b81e185e50d04356fab64c2f870
https://github.com/llvm/llvm-project/commit/23b233c8adad5b81e185e50d04356fab64c2f870
Author: Andrew Schenk <154034018+schenka0 at users.noreply.github.com>
Date: 2024-01-28 (Sun, 28 Jan 2024)
Changed paths:
M clang-tools-extra/clangd/SourceCode.cpp
M clang-tools-extra/clangd/unittests/SourceCodeTests.cpp
Log Message:
-----------
[clangd] Fix isSpelledInSource crash on invalid FileID (#76668)
This fixes the crash reported in #76667 and adds an initial unit test
for isSpelledInSource().
Note that in that issue there was still some underlying corrupted AST,
but this at least makes isSpelledInSource() robust to it.
---------
Co-authored-by: Younan Zhang <zyn7109 at gmail.com>
Commit: d14c8f06ea1dceba1ec6c0823e55e3a142a48f46
https://github.com/llvm/llvm-project/commit/d14c8f06ea1dceba1ec6c0823e55e3a142a48f46
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-01-28 (Sun, 28 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] getFauxShuffleMask - don't allow undefs in constant for AND/ANDNP shuffle masks
Early out from getTargetConstantBitsFromNode call instead of just returning if an undef was found.
Commit: 1b37e8087e1e1ecf5aadd8da536ee17dc21832e2
https://github.com/llvm/llvm-project/commit/1b37e8087e1e1ecf5aadd8da536ee17dc21832e2
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-01-28 (Sun, 28 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.cpp
Log Message:
-----------
[VPlan] use getVPValueOrAddLiveIn in VPlan::duplicate.
Instead of creating live-ins manually, use getOrAddLiveIn which
automatically takes care of adding them to VPLiveInsToFree. Also use it
to create the VPValue for the trip-count. This fixes a leak:
https://lab.llvm.org/buildbot/#/builders/168/builds/18308/steps/10/logs/stdio
Commit: b13d5df84c2f3888e6775ce207b21e17bbf5cd1d
https://github.com/llvm/llvm-project/commit/b13d5df84c2f3888e6775ce207b21e17bbf5cd1d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-01-28 (Sun, 28 Jan 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Log Message:
-----------
[DAG] ComputeKnownBits - use KnownBits::usub_sat instead of a custom variant
KnownBits::usub_sat is already exhaustively tested in the unit tests
Commit: 70e22537549c65d69ae97a311d821c6459b32289
https://github.com/llvm/llvm-project/commit/70e22537549c65d69ae97a311d821c6459b32289
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-01-28 (Sun, 28 Jan 2024)
Changed paths:
M clang/lib/AST/Interp/Context.cpp
Log Message:
-----------
[clang][Interp][NFC] Remove unnecessary braces
Commit: a2f4c80ea8792f6d4c27e4cf9967400ac65d9ec6
https://github.com/llvm/llvm-project/commit/a2f4c80ea8792f6d4c27e4cf9967400ac65d9ec6
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-01-28 (Sun, 28 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] getTargetConstantBitsFromNode - add explicit support for whole/partial undef elements to all constant folding uses.
A NFC step before I start restricting the use of undef elements in getTargetConstantBitsFromNode
Commit: 74e5418ae6630d298982f8014c184b01bebcf455
https://github.com/llvm/llvm-project/commit/74e5418ae6630d298982f8014c184b01bebcf455
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-01-28 (Sun, 28 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] Fix typo in assertion message. NFC.
We are NOT expecting undefs in AND/ANDNP faux shuffle masks
Commit: 354548621fdbaead4832361d26922b91488e401a
https://github.com/llvm/llvm-project/commit/354548621fdbaead4832361d26922b91488e401a
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-01-28 (Sun, 28 Jan 2024)
Changed paths:
M clang/utils/TableGen/ClangOpcodesEmitter.cpp
Log Message:
-----------
[clang][Interp][NFC] Make some variables in the opcode emitter const
Commit: 916bd7d3bb42627f52e2f8ed2f87e08db4960a72
https://github.com/llvm/llvm-project/commit/916bd7d3bb42627f52e2f8ed2f87e08db4960a72
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-01-28 (Sun, 28 Jan 2024)
Changed paths:
M clang/utils/TableGen/ClangOpcodesEmitter.cpp
Log Message:
-----------
[clang][Interp][NFC] Remove Root record from opcode emitter
It's only used once and only for its name, so replace that with
a string literal.
Commit: f297d0bc6d5c9ca8db704b65fd0946ef2e9610ff
https://github.com/llvm/llvm-project/commit/f297d0bc6d5c9ca8db704b65fd0946ef2e9610ff
Author: David Green <david.green at arm.com>
Date: 2024-01-28 (Sun, 28 Jan 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-fcmp.mir
M llvm/test/CodeGen/AArch64/fcmp.ll
Log Message:
-----------
[AArch64][GlobalISel] More FCmp legalization. (#78734)
This fills out the fcmp handling to be more like the other instructions,
adding better support for fp16 and some larger vectors.
Select of f16 values is still not handled optimally in places as the
select is only legal for s32 values, not s16. This would be correct for
integer but not necessarily for fp. It is as if we need to do
legalization -> regbankselect -> extra legaliation -> selection.
Commit: 720ade25044536aed7372554e1818eac9536dc3a
https://github.com/llvm/llvm-project/commit/720ade25044536aed7372554e1818eac9536dc3a
Author: Sirui Mu <msrlancern at gmail.com>
Date: 2024-01-28 (Sun, 28 Jan 2024)
Changed paths:
M libc/cmake/modules/LLVMLibCArchitectures.cmake
Log Message:
-----------
[libc][CMake] fix CMake configure issues on openSUSE (#79751)
Commit: 60dbb2cec1bbf65aacf6752a59b0666a23aaa3ae
https://github.com/llvm/llvm-project/commit/60dbb2cec1bbf65aacf6752a59b0666a23aaa3ae
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-2.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-8.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-2.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-8.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-2.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-8.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-2.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-8.ll
Log Message:
-----------
[X86][test] Update CHECK prefixes in CodeGen/X86/vector-interleaved-store-*.ll to suppress warnings
Suppress warnings like
WARNING: Prefix AVX had conflicting output from different RUN lines for all functions in test vector-interleaved-store-i16-stride-7.ll
WARNING: Prefix AVX1 had conflicting output from different RUN lines for all functions in test vector-interleaved-store-i16-stride-7.ll
WARNING: Prefix AVX2 had conflicting output from different RUN lines for all functions in test vector-interleaved-store-i16-stride-7.ll
WARNING: Prefix AVX2-ONLY had conflicting output from different RUN lines for all functions in test vector-interleaved-store-i16-stride-7.ll
WARNING: Prefix AVX512 had conflicting output from different RUN lines for all functions in test vector-interleaved-store-i16-stride-7.ll
WARNING: Prefix AVX512F had conflicting output from different RUN lines for all functions in test vector-interleaved-store-i16-stride-7.ll
WARNING: Prefix AVX512F-ONLY had conflicting output from different RUN lines for all functions in test vector-interleaved-store-i16-stride-7.ll
WARNING: Prefix AVX512-FAST had conflicting output from different RUN lines for all functions in test vector-interleaved-store-i16-stride-7.ll
WARNING: Prefix AVX512DQ-ONLY had conflicting output from different RUN lines for all functions in test vector-interleaved-store-i16-stride-7.ll
Commit: 6d7c8a6e062a237f1a23e7753c6737f5796e5188
https://github.com/llvm/llvm-project/commit/6d7c8a6e062a237f1a23e7753c6737f5796e5188
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-8.ll
Log Message:
-----------
[X86][test] Update failed tests in 60dbb2cec1bbf65aacf6752a59b0666a23aaa3ae after rebase
Commit: 915c3d9e5a2d1314afe64cd6116a3b6c9809ec90
https://github.com/llvm/llvm-project/commit/915c3d9e5a2d1314afe64cd6116a3b6c9809ec90
Author: David Green <david.green at arm.com>
Date: 2024-01-28 (Sun, 28 Jan 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.h
M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
M llvm/test/CodeGen/AArch64/arm64-addrmode.ll
M llvm/test/CodeGen/AArch64/large-offset-ldr-merge.mir
Log Message:
-----------
Revert "[AArch64] merge index address with large offset into base address"
This reverts commit 32878c2065c8005b3ea30c79e16dfd7eed55d645 due to #79756 and #76202.
Commit: 72fd10adcbf8194a08141e38a95e11f4f1a8d7c2
https://github.com/llvm/llvm-project/commit/72fd10adcbf8194a08141e38a95e11f4f1a8d7c2
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-01-28 (Sun, 28 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] getTargetConstantBitsFromNode - don't support partial undefs by default.
Noticed by inspection - as undef bits are seen as zero, we could be matching in places where we require a zero but end up referencing an undef that could then get changed in a later fold.
Creating a test case has proven difficult as multi-use limits usually saves us, but really we shouldn't be allowing partial undefs for anything but constant folding.
Commit: d1427fb6d0e1dbe3b7dbf46c26e43ce96b9b56d5
https://github.com/llvm/llvm-project/commit/d1427fb6d0e1dbe3b7dbf46c26e43ce96b9b56d5
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-28 (Sun, 28 Jan 2024)
Changed paths:
M clang/lib/Edit/RewriteObjCFoundationAPI.cpp
Log Message:
-----------
[Edit] Use StringRef::consume_back (NFC)
Commit: 26648daeb2ea1e9443d214e3923583efba346603
https://github.com/llvm/llvm-project/commit/26648daeb2ea1e9443d214e3923583efba346603
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-28 (Sun, 28 Jan 2024)
Changed paths:
M clang/include/clang/ExtractAPI/DeclarationFragments.h
M clang/lib/ExtractAPI/DeclarationFragments.cpp
Log Message:
-----------
[ExtractAPI] Use StringRef::starts_with (NFC)
Commit: 3bf21ba597d00253c6ef55bb0b499711dd778d84
https://github.com/llvm/llvm-project/commit/3bf21ba597d00253c6ef55bb0b499711dd778d84
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-28 (Sun, 28 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIPreEmitPeephole.cpp
Log Message:
-----------
[AMDGPU] Use MachineBasicBlock::instrs (NFC)
Commit: 2c552d319a5f0378c48390524de436265b05b943
https://github.com/llvm/llvm-project/commit/2c552d319a5f0378c48390524de436265b05b943
Author: chuongg3 <chuong.goh at arm.com>
Date: 2024-01-28 (Sun, 28 Jan 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
A llvm/test/CodeGen/AArch64/abs.ll
M llvm/test/CodeGen/AArch64/vecreduce-add.ll
Log Message:
-----------
[AArch64][GlobalISel] Legalize G_ABS for Larger/Smaller Vectors (#79117)
Legalize G_ABS for larger/smaller width vectors with legal element sizes
Fallsback for the smaller width vector tests because it is unable to
legalize for G_ANYEXT smaller width vectors
Commit: a7cfff8dc6b38e54c6c5adee3b4b781f1090ee25
https://github.com/llvm/llvm-project/commit/a7cfff8dc6b38e54c6c5adee3b4b781f1090ee25
Author: chuongg3 <chuong.goh at arm.com>
Date: 2024-01-28 (Sun, 28 Jan 2024)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp
M llvm/test/CodeGen/AArch64/arm64-rev.ll
Log Message:
-----------
[AArch64][GlobalISel] Lower Shuffle Vector to REV (#79591)
Add lowering for i16 and i32 vectors for Shuffle Vector instructions
with REV mask
Commit: 2d0d65b3babecbd339b01fdf7da29b8dfd69f889
https://github.com/llvm/llvm-project/commit/2d0d65b3babecbd339b01fdf7da29b8dfd69f889
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-01-28 (Sun, 28 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
Log Message:
-----------
[VPlan] Create edge masks all cases up front needed.(NFC)
Similarly to how block masks are created up front and later only
retrieved also make sure masks are created in cases where edge masks are
needed, i.e. blend recipes.
Creating block-in masks for all blocks in the loop also ensures edge
masks for all relevant edges have been created. Later, the new
getEdgeMask can be used to look up cached edge masks.
This makes sure edge masks are available in all cases for
https://github.com/llvm/llvm-project/pull/76090.
Commit: c34aa784f8867517315d8ef32a8038ee9dbb7165
https://github.com/llvm/llvm-project/commit/c34aa784f8867517315d8ef32a8038ee9dbb7165
Author: Qizhi Hu <836744285 at qq.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaTemplateDeduction.cpp
A clang/test/SemaTemplate/PR77189.cpp
Log Message:
-----------
[Clang][Sema] fix deducing auto& from const int in template parameters is impossible in partial specializations (#79733)
Fix [issue](https://github.com/llvm/llvm-project/issues/77189)
AutoType is possible cv qualified.
Co-authored-by: huqizhi <836744285 at qq.com>
Commit: 70c3e30e01bd123e87824e36b6e38a39451ac28d
https://github.com/llvm/llvm-project/commit/70c3e30e01bd123e87824e36b6e38a39451ac28d
Author: Jianjian Guan <jacquesguan at me.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
Log Message:
-----------
[RISCV][NFC] Remove unused methods of tuimm5 (#79680)
Since we only use tuimm5 in patterns, it doesn't need those methods for
MC layer. And there is not `getUImmOpValue` defination now, leave those
methods is confusing.
Commit: a3f379e4e9db9d88265e6dfc464fc3a5be3ae315
https://github.com/llvm/llvm-project/commit/a3f379e4e9db9d88265e6dfc464fc3a5be3ae315
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-28 (Sun, 28 Jan 2024)
Changed paths:
M clang/lib/Frontend/VerifyDiagnosticConsumer.cpp
Log Message:
-----------
[Frontend] Use StringRef::consume_back (NFC)
Commit: fc1573118333845e3ce0dc659b9e7cc3394d3c82
https://github.com/llvm/llvm-project/commit/fc1573118333845e3ce0dc659b9e7cc3394d3c82
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-28 (Sun, 28 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/GVN.cpp
Log Message:
-----------
[Transforms] Use a range-based for loop (NFC)
Commit: 1f5934a901d52786470c7e26c214b2b9773efd87
https://github.com/llvm/llvm-project/commit/1f5934a901d52786470c7e26c214b2b9773efd87
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-28 (Sun, 28 Jan 2024)
Changed paths:
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
Log Message:
-----------
[PowerPC] Directly call Instruction::getMetadata (NFC)
Commit: ae46855f53b6fe39a8d17797a49b2911c08fb973
https://github.com/llvm/llvm-project/commit/ae46855f53b6fe39a8d17797a49b2911c08fb973
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-28 (Sun, 28 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
Log Message:
-----------
[Target] Use getConstantOperand (NFC)
Commit: 07dfa61ace272fc5fc7f486cf42a3d603c8c21f5
https://github.com/llvm/llvm-project/commit/07dfa61ace272fc5fc7f486cf42a3d603c8c21f5
Author: ZhaoQi <zhaoqi01 at loongson.cn>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCExpr.cpp
Log Message:
-----------
[LoongArch] Fix a typo in getVariantKindName (NFC) (#79567)
Looks like a slip of the pen.
Commit: 0fbaf03f703db2cb29d1bde23708b80db049164f
https://github.com/llvm/llvm-project/commit/0fbaf03f703db2cb29d1bde23708b80db049164f
Author: Michal Paszkowski <michal at paszkowski.org>
Date: 2024-01-28 (Sun, 28 Jan 2024)
Changed paths:
M llvm/lib/Target/SPIRV/CMakeLists.txt
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
A llvm/lib/Target/SPIRV/SPIRVMetadata.cpp
A llvm/lib/Target/SPIRV/SPIRVMetadata.h
A llvm/test/CodeGen/SPIRV/pointers/kernel-argument-ptr-i8-default-element-type.ll
A llvm/test/CodeGen/SPIRV/pointers/kernel-argument-ptr-no-bitcast.ll
A llvm/test/CodeGen/SPIRV/pointers/store-kernel-arg-i8-ptr-as-value-operand.ll
A llvm/test/CodeGen/SPIRV/pointers/store-kernel-arg-ptr-as-value-operand.ll
Log Message:
-----------
[SPIR-V] Cast ptr kernel args to i8* when used as Store's value operand (#78603)
Handle a special case when StoreInst's value operand is a kernel
argument of a pointer type. Since these arguments could have either a
basic element type (e.g. float*) or OpenCL builtin type (sampler_t),
bitcast the StoreInst's value operand to default pointer element type
(i8).
This pull request addresses the issue
https://github.com/llvm/llvm-project/issues/72864
Commit: a0b6747804e46665ecfd00295b60432bfe1775b6
https://github.com/llvm/llvm-project/commit/a0b6747804e46665ecfd00295b60432bfe1775b6
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Serialization/ASTReader.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/test/Modules/concept.cppm
M clang/test/Modules/no-eager-load.cppm
M clang/test/Modules/polluted-operator.cppm
M clang/test/Modules/pr76638.cppm
Log Message:
-----------
[C++20] [Modules] Don't perform ODR checks in GMF
Close https://github.com/llvm/llvm-project/issues/79240.
See the linked issue for details. Given the frequency of issue reporting
about false positive ODR checks (I received private issue reports too),
I'd like to backport this to 18.x too.
Commit: 86b3f8518f21532297e0aad0c6aea95c66389fc9
https://github.com/llvm/llvm-project/commit/86b3f8518f21532297e0aad0c6aea95c66389fc9
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-01-28 (Sun, 28 Jan 2024)
Changed paths:
M llvm/lib/Support/RISCVISAInfo.cpp
Log Message:
-----------
[RISCV] Used Twine concatenation instead of format strings RISCVISAInfo.cpp. NFC
We were converting several StringRefs to std::strings then to
char * so we could pass as %s to a format string. Use the Twine
signature of createStringError instead.
Commit: c09dc2d9855dbf81d95052ade22b2ca78b1d8b99
https://github.com/llvm/llvm-project/commit/c09dc2d9855dbf81d95052ade22b2ca78b1d8b99
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-01-28 (Sun, 28 Jan 2024)
Changed paths:
M flang/lib/Lower/OpenACC.cpp
M flang/test/Lower/OpenACC/acc-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-parallel-loop.f90
M flang/test/Lower/OpenACC/acc-parallel.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 llvm/include/llvm/Frontend/Directive/DirectiveBase.td
M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
M mlir/test/Dialect/OpenACC/invalid.mlir
M mlir/test/Dialect/OpenACC/ops.mlir
M mlir/unittests/Dialect/OpenACC/OpenACCOpsTest.cpp
Log Message:
-----------
[mlir][openacc][flang] Support wait devnum and clean async/wait IR (#79525)
- Support wait(devnum: ) with device_type support on all operations that
require it
- devnum value is stored as the first value of waitOperands in its
device_type sub-segment. The hasWaitDevnum attribute inform which
sub-segment has a wait(devnum) value.
- Make async/wait information homogenous on compute ops, data and update
op.
- Unify operands/attributes names across operations and use the same
custom parser/printer
Commit: 4eeeeb305b6bb1c08e04482848f425b07029c82c
https://github.com/llvm/llvm-project/commit/4eeeeb305b6bb1c08e04482848f425b07029c82c
Author: Valentin Clement <clementval at gmail.com>
Date: 2024-01-28 (Sun, 28 Jan 2024)
Changed paths:
M flang/lib/Lower/OpenACC.cpp
Log Message:
-----------
[flang][openacc] Remove waitDevnum unused variable
Commit: 4118082f651a05cca258c684ab1199578b57afac
https://github.com/llvm/llvm-project/commit/4118082f651a05cca258c684ab1199578b57afac
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M clang/lib/AST/ODRHash.cpp
A clang/test/Modules/cxx20-modules-enum-odr.cppm
Log Message:
-----------
[C++20] [Modules] Remove previous workaround for odr hashing enums
Previosly we land
https://github.com/llvm/llvm-project/commit/085eae6b863881fb9fda323e5b672b04a00ed19e
to workaround the false positive ODR violations in
https://github.com/llvm/llvm-project/issues/76638.
However, we decided to not perform ODR checks for decls from GMF in
https://github.com/llvm/llvm-project/issues/79240 and we land the
corresponding change. So we should be able to remove the workaround now.
The original tests get remained.
Commit: 4a39d08908942b2d415db405844cbe4af73e75d4
https://github.com/llvm/llvm-project/commit/4a39d08908942b2d415db405844cbe4af73e75d4
Author: Mark Johnston <markjdb at gmail.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M libcxx/src/filesystem/operations.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.remove_all/remove_all.pass.cpp
Log Message:
-----------
[libc++] Fix filesystem::remove_all() on FreeBSD (#79540)
remove_all_impl() opens the target path with O_NOFOLLOW, which fails if
the target is a symbolic link. On FreeBSD, rather than returning ELOOP,
openat() returns EMLINK. This is unlikely to change for compatibility
reasons, see https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=214633 .
Thus, check for EMLINK as well.
Commit: 66347e516e22f9159b86024071fb92f364ac4418
https://github.com/llvm/llvm-project/commit/66347e516e22f9159b86024071fb92f364ac4418
Author: Han-Chung Wang <hanhan0912 at gmail.com>
Date: 2024-01-29 (Mon, 29 Jan 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 transfer ops on dynamic shapes. (#79752)
Commit: e3a38a75ddc6ff00301ec19a0e2488d00f2cc297
https://github.com/llvm/llvm-project/commit/e3a38a75ddc6ff00301ec19a0e2488d00f2cc297
Author: Andrei Golubev <andrey.golubev at intel.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M mlir/include/mlir/IR/Dialect.h
Log Message:
-----------
[mlir] Revert to old fold logic in IR::Dialect::add{Types, Attributes}() (#79582)
Fold expressions on Clang are limited to 256 elements. This causes
compilation errors in cases when the amount of elements added exceeds
this limit. Side-step the issue by restoring the original trick that
would use the std::initializer_list. For the record, in our downstream
Clang 16 gives:
mlir/include/mlir/IR/Dialect.h:269:23: fatal error: instantiating fold
expression with 688 arguments exceeded expression nesting limit of 256
(addType<Args>(), ...);
Partially reverts 26d811b3ecd2fa1ca3d9b41e17fb42b8c7ad03d6.
Co-authored-by: Nikita Kudriavtsev <nikita.kudriavtsev at intel.com>
Commit: 9f80ecb308c989523cc32d4256f7ab61c5b788d7
https://github.com/llvm/llvm-project/commit/9f80ecb308c989523cc32d4256f7ab61c5b788d7
Author: Balázs Kéri <balazs.keri at ericsson.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ASTStructuralEquivalence.cpp
M clang/unittests/AST/ASTImporterGenericRedeclTest.cpp
M clang/unittests/AST/ASTImporterTest.cpp
Log Message:
-----------
[clang][ASTImporter] Improve import of variable template specializations. (#78284)
Code of `VisitVarTemplateSpecializationDecl` was rewritten based on code
of `VisitVarDecl`. Additional changes (in structural equivalence) were
made to make tests pass.
Commit: ce8032394fa4ff55c36d857e85241c1bd0cacc60
https://github.com/llvm/llvm-project/commit/ce8032394fa4ff55c36d857e85241c1bd0cacc60
Author: Dominik Adamski <dominik.adamski at amd.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M flang/lib/Lower/OpenMP.cpp
M flang/test/Lower/OpenMP/FIR/if-clause.f90
M flang/test/Lower/OpenMP/FIR/loop-combined.f90
A flang/test/Lower/OpenMP/Todo/omp-do-simd-aligned.f90
A flang/test/Lower/OpenMP/Todo/omp-do-simd-linear.f90
A flang/test/Lower/OpenMP/Todo/omp-do-simd-safelen.f90
A flang/test/Lower/OpenMP/Todo/omp-do-simd-simdlen.f90
M flang/test/Lower/OpenMP/if-clause.f90
M flang/test/Lower/OpenMP/loop-combined.f90
Log Message:
-----------
[Flang][OpenMP] Use simdloop operation only for omp simd pragma (#79559)
OpenMP standard differentiates between omp simd (2.9.3.1) and omp do/for
simd (2.9.3.2 for OpenMP 5.0 standard) pragmas. The first one describes
the loop which needs to be vectorized. The second pragma describes the
loop which needs to be workshared between existing threads. Each thread
can use SIMD instructions to execute its chunk of the loop.
That's why we need to model
```
!$omp simd
do-loop
```
as `omp.simdloop` operation and add compiler hints for vectorization.
The worksharing loop:
!$omp do simd
do-loop
should be represented as worksharing loop (`omp.wsloop`).
Currently Flang denotes both types of OpenMP pragmas by `omp.simdloop`
operation. In consequence we cannot differentiate between:
```
!$omp parallel simd
do-loop
```
and
```
!$omp parallel do simd
do-loop
```
The second loop should be workshared between multiple threads. The first one describes the loop which needs to be redundantly executed by multiple threads. Current Flang implementation does not perform worksharing for `!$omp do simd` pragma and generates valid code only for the first case.
Commit: 743946e8ef0d164cbaa3409d11b218e299ccd35e
https://github.com/llvm/llvm-project/commit/743946e8ef0d164cbaa3409d11b218e299ccd35e
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Replace VPRecipeOrVPValue with VP2VP recipe simplification. (#76090)
Move simplification of VPBlendRecipes from early VPlan construction to
VPlan-to-VPlan based recipe simplification. This simplifies initial
construction.
Note that some in-loop reduction tests are failing at the moment, due to
the reduction predicate being created after the reduction recipe. I will
provide a patch for that soon.
PR: https://github.com/llvm/llvm-project/pull/76090
Commit: 34d80f559a3ebaa354f7820022c5e050a47a9870
https://github.com/llvm/llvm-project/commit/34d80f559a3ebaa354f7820022c5e050a47a9870
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M lldb/include/lldb/Target/MemoryHistory.h
M lldb/source/API/SBBreakpointOptionCommon.h
Log Message:
-----------
[lldb][NFC] Fix license comment lines that are too long
These get wrapped by clang-format currently.
Commit: 89c9fee420e1ed099aaa4aab48f3b58e233a3ea9
https://github.com/llvm/llvm-project/commit/89c9fee420e1ed099aaa4aab48f3b58e233a3ea9
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M lldb/include/lldb/API/SBBreakpointName.h
M lldb/include/lldb/Breakpoint/BreakpointName.h
M lldb/include/lldb/Breakpoint/BreakpointResolverScripted.h
M lldb/source/Plugins/ABI/X86/ABIWindows_x86_64.h
M lldb/source/Plugins/Architecture/Mips/ArchitectureMips.h
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/unittests/Disassembler/x86/TestGetControlFlowKindx86.cpp
Log Message:
-----------
[lldb][NFC] Fix more license headers
Extra characters and one with an incorrect file name.
Commit: 378f7ad3b7080fb17829e53452692fd5809f4790
https://github.com/llvm/llvm-project/commit/378f7ad3b7080fb17829e53452692fd5809f4790
Author: David Green <david.green at arm.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
A flang/test/HLFIR/maxloc-elemental.fir
Log Message:
-----------
[Flang] Maxloc elemental intrinsic lowering. (#79469)
This is an extension to #74828 to handle maxloc too, to keep the minloc
and maxloc symmetric.
Commit: ba5d92eb9c18a9037dd06a74f90ceba3f4e3ace9
https://github.com/llvm/llvm-project/commit/ba5d92eb9c18a9037dd06a74f90ceba3f4e3ace9
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M llvm/docs/CodeReview.rst
M llvm/docs/DeveloperPolicy.rst
M llvm/docs/GettingStarted.rst
M llvm/docs/MyFirstTypoFix.rst
Log Message:
-----------
[llvm][Docs] Update MyFirstTypoFix doc (#79149)
I've not tried to change the purpose or style of the doc, just edited
for clarity and removed any Phabricator related language in favour of
GitHub terms.
Where possible, I've swapped direct links to LLVM's website with RST
links to the local documents. Which should be a bit more resilient.
Also it's less confusing if you're editing multiple pages locally, you
don't accidentally end up on the live site.
Commit: c9535d7b61a37d6fa58e51222a9ccecc54431193
https://github.com/llvm/llvm-project/commit/c9535d7b61a37d6fa58e51222a9ccecc54431193
Author: Stephan T. Lavavej <stl at nuwen.net>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/find.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.fold/left_folds.pass.cpp
M libcxx/test/std/numerics/numeric.ops/numeric.ops.midpoint/midpoint.pointer.pass.cpp
Log Message:
-----------
[libc++][test] Silence MSVC warnings (#79791)
* `libcxx/test/std/algorithms/alg.nonmodifying/alg.find/find.pass.cpp`
emits a bunch of warnings, all caused by what appears to be intentional
code:
+ Silence MSVC warning C4245: conversion from `'int'` to `'wchar_t'`,
signed/unsigned mismatch
- Caused by: `test<U>(0, -1);`
+ Silence MSVC warning C4305: 'argument': truncation from `'int'` to
`'bool'`
- Caused by: `test<U>(0, -1);`
+ Silence MSVC warning C4310: cast truncates constant value
- Caused by: `test<U>(T(-129), U(-129));`
+ Silence MSVC warning C4805: `'=='`: unsafe mix of type `'char'` and
type `'bool'` in operation
- Caused by: `bool expect_match = val == to_find;`
*
`libcxx/test/std/algorithms/alg.nonmodifying/alg.fold/left_folds.pass.cpp`
+ Silence MSVC warning C4244: 'argument': conversion from `'double'` to
`'const int'`, possible loss of data
- Caused by `[](int const x, double const y) { return x + y; }`
deliberately being given `double`s to truncate.
*
`libcxx/test/std/numerics/numeric.ops/numeric.ops.midpoint/midpoint.pointer.pass.cpp`
+ Silence MSVC warnings about C++20 deprecated `volatile`.
- Caused by: `runtime_test< volatile T>();`
Commit: ef83894810db8ec72489f1b45bf943938f6b0af4
https://github.com/llvm/llvm-project/commit/ef83894810db8ec72489f1b45bf943938f6b0af4
Author: Stephan T. Lavavej <stl at nuwen.net>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M libcxx/test/std/algorithms/alg.nonmodifying/alg.contains/ranges.contains.pass.cpp
Log Message:
-----------
[libc++][test] Fix zero-length arrays and copy-pasted lambdas in `ranges.contains.pass.cpp` (#79792)
* Fix MSVC error C2466: cannot allocate an array of constant size 0
+ MSVC rejects this non-Standard extension. Previous fixes: #74183
* Fix MSVC warning C4805: `'=='`: unsafe mix of type `'int'` and type
`'const bool'` in operation
+ AFAICT, these lambdas were copy-pasted, and didn't intend to take and
return `int` here. This part of the test is using `vector<bool>` for
random-access but non-contiguous iterators, and it's checking how many
times the projection is invoked, but the projection doesn't need to do
anything squirrely, it should otherwise be an identity.
* Fix typos: "continuous" => "contiguous".
Commit: 2e2b6b53f5f63179b52168ee156df7c76b90bc71
https://github.com/llvm/llvm-project/commit/2e2b6b53f5f63179b52168ee156df7c76b90bc71
Author: Peter Waller <peter.waller at arm.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M compiler-rt/lib/builtins/aarch64/sme-libc-routines.c
Log Message:
-----------
[AArch64][compiler-rt] Avoid use of libc header in sme-libc-routines (#79454)
The use of `#include <stdlib.h>` introduces a libc dependency. In many
build environments such a file can be found under e.g. /usr/include, but
this does not necessarily correspond to the libc in use, which may not
be available until after the builtins have been built.
So far as I understand, it's not valid to have a dependency on libc from
builtins; there are a handful of such includes in builtins, but they are
protected by ifdefs.
Instead, use <stddef.h>, which provides `size_t` and is provided by the
compiler's resource headers and so should always be available.
Commit: 14a15103cc9dbdb3e95c04627e0b96b5e3aa4944
https://github.com/llvm/llvm-project/commit/14a15103cc9dbdb3e95c04627e0b96b5e3aa4944
Author: Yi Wu <43659785+yi-wu-arm at users.noreply.github.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M flang/docs/Intrinsics.md
M flang/lib/Evaluate/intrinsics.cpp
A flang/test/Semantics/execute_command_line.f90
Log Message:
-----------
Apply kind code check on exitstat and cmdstat (#78286)
When testing on gcc, both exitstat and cmdstat must be a kind=4 integer,
e.g. DefaultInt. This patch changes the input arg requirement from
`AnyInt` to `TypePattern{IntType, KindCode::greaterOrEqualToKind, n}`.
The standard stated in 16.9.73
- EXITSTAT (optional) shall be a scalar of type integer with a decimal
exponent range of at least nine.
- CMDSTAT (optional) shall be a scalar of type integer with a decimal
exponent range of at least four.
```fortran
program bug
implicit none
integer(kind = 2) :: exitstatvar
integer(kind = 4) :: cmdstatvar
character(len=256) :: msg
character(len=:), allocatable :: command
command='echo hello'
call execute_command_line(command, exitstat=exitstatvar, cmdstat=cmdstatvar)
end program
```
When testing the above program with exitstatvar kind<4, an error would
occur:
```
$ ../build-release/bin/flang-new test.f90
error: Semantic errors in test.f90
./test.f90:8:47: error: Actual argument for 'exitstat=' has bad type or kind 'INTEGER(2)'
call execute_command_line(command, exitstat=exitstatvar)
```
When testing the above program with exitstatvar kind<2, an error would
occur:
```
$ ../build-release/bin/flang-new test.f90
error: Semantic errors in test.f90
./test.f90:8:47: error: Actual argument for 'cmdstat=' has bad type or kind 'INTEGER(1)'
call execute_command_line(command, cmdstat=cmdstatvar)
```
Test file for this semantics has been added to `flang/test/Semantic`
Fixes: https://github.com/llvm/llvm-project/issues/77990
Commit: 5f4ee5a2dfa97fe32ee62d1d67aa1413d5a059e6
https://github.com/llvm/llvm-project/commit/5f4ee5a2dfa97fe32ee62d1d67aa1413d5a059e6
Author: Shanzhi <chenshanzhi at huawei.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M clang/lib/AST/ASTContext.cpp
A clang/test/AST/ast-crash-doc-function-template.cpp
Log Message:
-----------
[Clang][AST] Fix a crash on attaching doc comments (#78716)
This crash is basically caused by calling
`ASTContext::getRawCommentForDeclNoCacheImp` with its input arguments
`RepresentativeLocForDecl` and `CommentsInTheFile` refering to different
files. A reduced reproducer is provided in this patch.
After the source locations for instantiations of funtion template are
corrected in the commit 256a0b298c68b89688b80350b034daf2f7785b67, the
variable `CommitsInThisFile` in the function
`ASTContext::attachCommentsToJustParsedDecls` would refer to the source
file rather than the header file for implicit function template
instantiation. Therefore, in the first loop in
`ASTContext::attachCommentsToJustParsedDecls`, `D` should also be
adjusted for relevant scenarios like the second loop.
Fixes #67979
Fixes #68524
Fixes #70550
Commit: 888501bc631c4f6d373b4081ff6c504a1ce4a682
https://github.com/llvm/llvm-project/commit/888501bc631c4f6d373b4081ff6c504a1ce4a682
Author: Med Ismail Bennani <ismail at bennani.ma>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M lldb/bindings/python/python-swigsafecast.swig
M lldb/bindings/python/python-wrapper.swig
M lldb/include/lldb/API/SBEvent.h
M lldb/include/lldb/API/SBStream.h
M lldb/include/lldb/Interpreter/Interfaces/ScriptedInterface.h
A lldb/include/lldb/Interpreter/Interfaces/ScriptedThreadPlanInterface.h
M lldb/include/lldb/Interpreter/ScriptInterpreter.h
M lldb/include/lldb/Target/ThreadPlanPython.h
M lldb/include/lldb/lldb-forward.h
M lldb/source/Interpreter/ScriptInterpreter.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/CMakeLists.txt
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.h
A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface.cpp
A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/SWIGPythonBridge.h
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPythonImpl.h
M lldb/source/Target/ThreadPlanPython.cpp
M lldb/test/API/functionalities/step_scripted/Steps.py
M lldb/test/API/functionalities/thread_plan/wrap_step_over.py
M lldb/unittests/ScriptInterpreter/Python/PythonTestSuite.cpp
Log Message:
-----------
[lldb] Make use of Scripted{Python,}Interface for ScriptedThreadPlan (#70392)
This patch makes ScriptedThreadPlan conforming to the ScriptedInterface
& ScriptedPythonInterface facilities by introducing 2
ScriptedThreadPlanInterface & ScriptedThreadPlanPythonInterface classes.
This allows us to get rid of every ScriptedThreadPlan-specific SWIG
method and re-use the same affordances as other scripting offordances,
like Scripted{Process,Thread,Platform} & OperatingSystem.
To do so, this adds new transformer methods for `ThreadPlan`, `Stream` &
`Event`, to allow the bijection between C++ objects and their python
counterparts.
Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>
Commit: febb4c42b192ed7c88c17f91cb903a59acf20baf
https://github.com/llvm/llvm-project/commit/febb4c42b192ed7c88c17f91cb903a59acf20baf
Author: Med Ismail Bennani <ismail at bennani.ma>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M lldb/test/API/functionalities/step_scripted/TestStepScripted.py
Log Message:
-----------
[lldb/Test] Temporarily XFAIL TestStepScripted.py
This patch XFAILs TestStepScripted.py temporarily following 888501bc631c,
until I fix it.
Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>
Commit: ec8c8b6487d53b2c3222f1a2f8968e754b070912
https://github.com/llvm/llvm-project/commit/ec8c8b6487d53b2c3222f1a2f8968e754b070912
Author: David Green <david.green at arm.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
Log Message:
-----------
[Flang] Remove constexpr from isMax variable. NFC
The MSCV build doesn't allow the constexpr isMax variable to be used in lambda
without a capture. The -Weverything build does not allow isMax to be used in a
lambda capture as it is a constexpr. I've removed the constexpr as it shouldn't
be necessary.
Commit: 2dd254566d0242be2d78f1656cee12a84e7aea00
https://github.com/llvm/llvm-project/commit/2dd254566d0242be2d78f1656cee12a84e7aea00
Author: NimishMishra <42909663+NimishMishra at users.noreply.github.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M flang/docs/Extensions.md
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
A flang/test/Lower/Intrinsics/cosd.f90
A flang/test/Lower/Intrinsics/sind.f90
Log Message:
-----------
[flang] Add support for COSD/SIND (#79546)
Added support for COSD and SIND. This is quick fix. ATAND, TAND, COSD
and SIND needs to be revisited to make it a runtime call. This patch has
code changes and test cases.
Commit: 3a4a7dcd623b9cbd6371c3246a31e985f1f7f232
https://github.com/llvm/llvm-project/commit/3a4a7dcd623b9cbd6371c3246a31e985f1f7f232
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M llvm/test/CodeGen/X86/mul-i1024.ll
M llvm/test/CodeGen/X86/mul-i256.ll
M llvm/test/CodeGen/X86/mul-i512.ll
M llvm/test/CodeGen/X86/mul64.ll
Log Message:
-----------
[X86] Replace X32 check prefixes with X86
We try to only use X32 for gnux32 triple tests.
Commit: bc879a90193151ef39f3915f6687423c18875486
https://github.com/llvm/llvm-project/commit/bc879a90193151ef39f3915f6687423c18875486
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M llvm/test/CodeGen/X86/mul-i256.ll
Log Message:
-----------
[X86] mul-i256.ll - simplify function attributes and remove cfi noise
Commit: 754a8add57098ef71e4a51a9caa0cc175e94377d
https://github.com/llvm/llvm-project/commit/754a8add57098ef71e4a51a9caa0cc175e94377d
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
M mlir/test/Dialect/LLVMIR/invalid.mlir
M mlir/test/Dialect/LLVMIR/roundtrip.mlir
Log Message:
-----------
[mlir][llvm] Add experimental.vector.interleave2 intrinsic (#79270)
Commit: 6d242914d784ed848d0f87bf6df9b6b2f2b27566
https://github.com/llvm/llvm-project/commit/6d242914d784ed848d0f87bf6df9b6b2f2b27566
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M clang/test/CodeGen/SystemZ/unaligned-symbols.c
A clang/test/Driver/s390x-unaligned-symbols.c
Log Message:
-----------
[Clang, SystemZ] Split test into Driver and CodeGen parts (NFC) (#79808)
The test added in #73511 currently fails in
CLANG_DEFAULT_PIE_ON_LINUX=OFF configuration, because it uses the clang
driver in a codegen test.
Split the test into two, a driver test that checks that the appropriate
target feature is passed, and a codegen test that uses cc1.
Commit: 4a3d187075b2e3795b3e00e6ebb7a2a42143f3bb
https://github.com/llvm/llvm-project/commit/4a3d187075b2e3795b3e00e6ebb7a2a42143f3bb
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M libc/src/time/gpu/time_utils.h
Log Message:
-----------
[libc][NFC] Simplify AMDGPU constant frequency checks (#79653)
Summary:
The AMDGPU fixed frequency clock is fixed to a chip dependent frequency.
More modern chips have started to fix this at known values of 25 MHz or
100 MHz, so this function forwards those values. This was done using the
individual architectures. This patch simply uses the more concise
`__GFXn__` macro which indicates the major revision
Commit: a372460538595d4c5a769c4c248fe7b1b4d69882
https://github.com/llvm/llvm-project/commit/a372460538595d4c5a769c4c248fe7b1b4d69882
Author: Enna1 <xumingjie.enna1 at bytedance.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_atomic_clang_other.h
M compiler-rt/lib/sanitizer_common/sanitizer_atomic_clang_x86.h
Log Message:
-----------
[Sanitizer][NFC] Fix up comment in atomic_store of sanitizer_atomic_clang_*.h
Commit: d93f850c6f11aa315c83a34ec59210e1755528f8
https://github.com/llvm/llvm-project/commit/d93f850c6f11aa315c83a34ec59210e1755528f8
Author: Jason Eckhardt <jason.eckhardt at solana.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M llvm/include/llvm/MC/MCDecoderOps.h
A llvm/test/TableGen/trydecode-emission4.td
M llvm/utils/TableGen/DecoderEmitter.cpp
Log Message:
-----------
[TableGen] Extend OPC_ExtractField/OPC_CheckField start value widths. (#79723)
Both OPC_ExtractField and OPC_CheckField are currently defined to take
an unsigned 8-bit start value. On some architectures with long
instruction words, this value can silently overflow, resulting in a bad
decoder table.
This patch changes each to take a ULE128B-encoded start value instead.
Additionally, a range assertion is added for the 8-bit length to
prominently notify a user in case that field ever overflows.
This problem isn't currently exposed upstream since all in-tree targets
use small instruction words (i.e., bitwidth <= 64 bits). It does show up
in at least one downstream target with instructions > 64 bits long.
Co-authored-by: Jason Eckhardt <jeckhardt at nvidia.com>
Commit: 8a074c84ff01f8581b4a769c4af3abab9731fe5b
https://github.com/llvm/llvm-project/commit/8a074c84ff01f8581b4a769c4af3abab9731fe5b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M llvm/test/CodeGen/X86/fixup-bw-copy.ll
Log Message:
-----------
[X86] fixup-bw-copy.ll - replace X32 check prefixes with X86
We try to only use X32 for gnux32 triple tests.
Commit: ccb2810ee33588ad0707e51bb31af8fec5e39f76
https://github.com/llvm/llvm-project/commit/ccb2810ee33588ad0707e51bb31af8fec5e39f76
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M llvm/test/CodeGen/X86/anyext.ll
Log Message:
-----------
[X86] anyext.ll - replace X32 check prefixes with X86
We try to only use X32 for gnux32 triple tests.
Commit: 06f5b956a0ba3bb1cad7d94707398a97750d8b37
https://github.com/llvm/llvm-project/commit/06f5b956a0ba3bb1cad7d94707398a97750d8b37
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M llvm/test/CodeGen/X86/pmovsx-inreg.ll
Log Message:
-----------
[X86] pmovsx-inreg.ll - replace X32 check prefixes with X86
We try to only use X32 for gnux32 triple tests.
Commit: eb56bc2b105c792bafd36ef35c0e6eda9f0b822e
https://github.com/llvm/llvm-project/commit/eb56bc2b105c792bafd36ef35c0e6eda9f0b822e
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M libc/src/math/generic/asinf.cpp
M libc/src/math/generic/sincosf.cpp
M libc/test/UnitTest/FPMatcher.h
M libc/test/src/__support/FPUtil/fpbits_test.cpp
M libc/test/src/stdio/sprintf_test.cpp
M libc/test/src/stdio/sscanf_test.cpp
Log Message:
-----------
[libc] Remove specific nan payload in math functions (#79165)
Commit: 5e3fc9c37f01c75fad306db71b5235bdc300194b
https://github.com/llvm/llvm-project/commit/5e3fc9c37f01c75fad306db71b5235bdc300194b
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M .github/workflows/llvm-tests.yml
Log Message:
-----------
[workflows] Fix argument passing in abi-dump jobs (#79658)
This was broken by 859e6aa1008b80d9b10657bac37822a32ee14a23, which added
quotes around the EXTRA_ARGS variable.
Commit: c9a6e993f7b349405b6c8f9244cd9cf0f56a6a81
https://github.com/llvm/llvm-project/commit/c9a6e993f7b349405b6c8f9244cd9cf0f56a6a81
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M clang/lib/Basic/Targets/AMDGPU.cpp
M clang/test/CodeGenOpenCL/builtins-amdgcn-wave64.cl
M clang/test/Preprocessor/predefined-arch-macros.c
Log Message:
-----------
[AMDGPU] Do not emit arch dependent macros with unspecified cpu (#79660)
Summary:
Currently, the AMDGPU toolchain accepts not passing `-mcpu` as a means
to create a sort of "generic" IR. The resulting IR will not contain any
target dependent attributes and can then be inserted into another
program via `-mlink-builtin-bitcode` to inherit its attributes.
However, there are a handful of macros that can leak incorrect
information when compiling for an unspecified architecture. Currently,
things like the wavefront size will default to 64, which is actually
variable. We should not expose these macros unless it is known.
Commit: 8b429fc3fe2d5a9c55f953b4d0eecdb1f9f6fe06
https://github.com/llvm/llvm-project/commit/8b429fc3fe2d5a9c55f953b4d0eecdb1f9f6fe06
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
Log Message:
-----------
[AMDGPU] Update SITargetLowering::getAddrModeArguments (#78740)
Handle every intrinsic for which getTgtMemIntrinsic returns with
Info.ptrVal set to one of the intrinsic's operands. A bunch of these
cases were missing.
Commit: cfb702676cc181877482a282fe7e07109a24dc9d
https://github.com/llvm/llvm-project/commit/cfb702676cc181877482a282fe7e07109a24dc9d
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86FixupVectorConstants.cpp
M llvm/lib/Target/X86/X86InstrFoldTables.cpp
M llvm/lib/Target/X86/X86InstrFoldTables.h
Log Message:
-----------
[X86][NFC] Rename lookupBroadcastFoldTable to lookupBroadcastFoldTableBySize
Address RKSimon's comments in #79761
Commit: ce72f78f37199d693a65b6c7c1d637fafbb13727
https://github.com/llvm/llvm-project/commit/ce72f78f37199d693a65b6c7c1d637fafbb13727
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/reassoc-mul-add-1-to-mad.ll
Log Message:
-----------
[AMDGPU] Fix mul combine for MUL24 (#79110)
MUL24 can now return a i64 for i32 operands, but the combine was never
updated to handle this case. Extend the operand when rewriting the ADD
to handle it.
Fixes SWDEV-436654
Commit: df3f0eeeacbe50a6e4b2ce7c2a12f96e7b6ce5e0
https://github.com/llvm/llvm-project/commit/df3f0eeeacbe50a6e4b2ce7c2a12f96e7b6ce5e0
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M flang/lib/Optimizer/CodeGen/BoxedProcedure.cpp
M flang/test/Fir/boxproc-2.fir
Log Message:
-----------
[flang] Fix invalid iterator erasure in boxed-procedure pass (#79830)
The code in BoxedProcedureRewrite was erasing the mappings <old type,
new type> once "new type" was fully translated. This was done in an
invalid way because the map was an llvm::SmallMapVector that do not have
stable iterators, and new items were added to the map between the
creation of the iterator and its erasure.
It is anyway not needed and expensive to erase the types (see
llvm::MapVector note), the cache can be used for the whole pass, which
is very beneficial in the context of an apps using "big derived types"
(dozens of components/parents).
Commit: d833b9d677c9dd0a35a211e2fdfada21ea9a464b
https://github.com/llvm/llvm-project/commit/d833b9d677c9dd0a35a211e2fdfada21ea9a464b
Author: Alex Bradbury <asb at igalia.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M clang/test/CodeGen/RISCV/riscv-func-attr-target.c
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/lib/Target/RISCV/RISCVInstrInfoZicond.td
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/CodeGen/RISCV/cmov-branch-opt.ll
M llvm/test/CodeGen/RISCV/condbinops.ll
M llvm/test/CodeGen/RISCV/condops.ll
M llvm/test/CodeGen/RISCV/select-binop-identity.ll
M llvm/test/CodeGen/RISCV/select.ll
M llvm/test/CodeGen/RISCV/short-forward-branch-opt.ll
M llvm/test/CodeGen/RISCV/xaluo.ll
M llvm/test/MC/RISCV/rv32zicond-invalid.s
M llvm/test/MC/RISCV/rv32zicond-valid.s
M llvm/unittests/Support/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Graduate Zicond to non-experimental (#79811)
The Zicond extension was ratified in the last few months, with no
changes that affect the LLVM implementation. Although there's surely
more tuning that could be done about when to select Zicond or not, there
are no known correctness issues. Therefore, we should mark support as
non-experimental.
Commit: d133ada9460aad6d60393fb1260082e62d640500
https://github.com/llvm/llvm-project/commit/d133ada9460aad6d60393fb1260082e62d640500
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86InstrFoldTables.cpp
Log Message:
-----------
[X86][CodeGen] Add missing BroadcastTable1 in X86MemUnfoldTable
Commit: ee08b992514bd1556c38f42409d92728af3451f7
https://github.com/llvm/llvm-project/commit/ee08b992514bd1556c38f42409d92728af3451f7
Author: Jimmy Z <51149050+jimmy-zx at users.noreply.github.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M clang/bindings/python/clang/cindex.py
A clang/bindings/python/tests/cindex/test_rewrite.py
M clang/docs/ReleaseNotes.rst
Log Message:
-----------
[libclang/python] Expose Rewriter to the python binding (#77269)
Exposes `CXRewriter` API to the python binding as `class Rewriter`.
Commit: 70f5b220509cafb3dc4e876e4feecb3dcca78dec
https://github.com/llvm/llvm-project/commit/70f5b220509cafb3dc4e876e4feecb3dcca78dec
Author: Michael Liao <michael.hliao at gmail.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M llvm/utils/TableGen/AsmMatcherEmitter.cpp
Log Message:
-----------
[TableGen][AsmMatcher] Fix the range check on 'MatchClassKind'
- When selecting the minimal type for 'MatchClassKind' during the
emission of 'MatchEntry' and 'OperandMatchEntry', two pre-defined
kinds 'InvalidMatchClass' and 'OptionalMatchClass' are not taken into
account.
Commit: 169553688ca40d9a495f19e8ba2af1137e13cff8
https://github.com/llvm/llvm-project/commit/169553688ca40d9a495f19e8ba2af1137e13cff8
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M llvm/include/llvm/Support/X86FoldTablesUtils.h
M llvm/lib/Target/X86/X86InstrFoldTables.cpp
M llvm/lib/Target/X86/X86InstrInfo.cpp
Log Message:
-----------
[X86][NFC] Remove TB_FOLDED_BCAST and format code in X86InstrFoldTables.cpp
Commit: 7c8ef76500b40c3b7cb65b839b61345b713aeb5a
https://github.com/llvm/llvm-project/commit/7c8ef76500b40c3b7cb65b839b61345b713aeb5a
Author: Yi Wu <43659785+yi-wu-arm at users.noreply.github.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M flang/docs/Intrinsics.md
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/system-optional.f90
A flang/test/Lower/Intrinsics/system.f90
M flang/unittests/Runtime/CommandTest.cpp
Log Message:
-----------
[flang] add SYSTEM runtime and lowering intrinsics support (#74309)
Calls std::system() function and pass the command,
cmd on Windows or shell on Linux.
Command parameter is required, exitstatus is optional.
call system(command)
call system(command, exitstatus)
It calls `execute_command_line` runtime function with `wait` set to true.
---------
Co-authored-by: Yi Wu <yiwu02 at wdev-yiwu02.arm.com>
Commit: ae8005ffb6cd18900de8ed5a86f60a4a16975471
https://github.com/llvm/llvm-project/commit/ae8005ffb6cd18900de8ed5a86f60a4a16975471
Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M clang/test/Driver/aarch64-mcpu.c
M clang/test/Misc/target-invalid-cpu-note.c
M llvm/include/llvm/TargetParser/AArch64TargetParser.h
M llvm/unittests/TargetParser/TargetParserTest.cpp
Log Message:
-----------
[AArch64][TargetParser] Add mcpu alias for Microsoft Azure Cobalt 100. (#79614)
With a690e86 we added -mcpu/mtune=native support to handle the Microsoft
Azure Cobalt 100 CPU as a Neoverse N2. This patch adds a CPU alias in
TargetParser to maintain compatibility with GCC.
Commit: 430c1fd50d774dc30a9628bcf60ce243f74ff376
https://github.com/llvm/llvm-project/commit/430c1fd50d774dc30a9628bcf60ce243f74ff376
Author: Gheorghe-Teodor Bercea <doru.bercea at amd.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M openmp/libomptarget/DeviceRTL/src/Parallelism.cpp
Log Message:
-----------
[libomptarget][NFC] Outline parallel SPMD function (#78642)
This patch outlines the SPMD code path into a separate function that can
be called directly.
Commit: 9520773c46777adbc1d489f831d6c93b8287ca0e
https://github.com/llvm/llvm-project/commit/9520773c46777adbc1d489f831d6c93b8287ca0e
Author: David Green <david.green at arm.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/complex-deinterleaving-f16-add.ll
Log Message:
-----------
[AArch64] Don't generate neon integer complex numbers with +sve2. NFC (#79829)
The condition for allowing integer complex number support could also
allow neon fixed length complex numbers if +sve2 was specified. This
tightens the condition to only allow integer complex number support for
scalable vectors.
We could generalize this in the future to generate SVE intrinsics for
fixed-length vectors, but for the moment this opts for the simpler fix.
Commit: cbe5985ff7cd21924ed88b6a46fd5c04acc7fca8
https://github.com/llvm/llvm-project/commit/cbe5985ff7cd21924ed88b6a46fd5c04acc7fca8
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M llvm/test/CodeGen/X86/shift-amount-mod.ll
M llvm/test/CodeGen/X86/shift-and.ll
M llvm/test/CodeGen/X86/shift-combine.ll
Log Message:
-----------
[X86] Replace X32 check prefixes with X86
We try to only use X32 for gnux32 triple tests.
Commit: f28430d577276bf58d96945a6919399baa6c2527
https://github.com/llvm/llvm-project/commit/f28430d577276bf58d96945a6919399baa6c2527
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M llvm/include/llvm/Support/X86FoldTablesUtils.h
M llvm/lib/Target/X86/X86InstrInfo.cpp
Log Message:
-----------
[X86][CodeGen] Add entries for TB_BCAST_W in getBroadcastOpcode and fix typo
Commit: 72d4fc1b4d5cfc4f7d50cc5cf1b315543c088f4d
https://github.com/llvm/llvm-project/commit/72d4fc1b4d5cfc4f7d50cc5cf1b315543c088f4d
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M clang/lib/Basic/Targets/AMDGPU.cpp
M clang/test/CodeGenOpenCL/builtins-amdgcn-wave64.cl
M clang/test/Preprocessor/predefined-arch-macros.c
Log Message:
-----------
Revert "[AMDGPU] Do not emit arch dependent macros with unspecified cpu (#79660)"
This reverts commit c9a6e993f7b349405b6c8f9244cd9cf0f56a6a81.
This breaks HIP code that incorrectly depended on GPU-specific macros to
be set. The code is totally wrong as using `__WAVEFRTONSIZE__` on the
host is absolutely meaningless, but it seems this entire corner of the
toolchain is fundmentally broken. Reverting for now to avoid breakages.
Commit: 3e47e75febc8fefa19afe1e8ef2b15a106d2f791
https://github.com/llvm/llvm-project/commit/3e47e75febc8fefa19afe1e8ef2b15a106d2f791
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIRType.h
M flang/lib/Optimizer/CodeGen/Target.cpp
M flang/lib/Optimizer/Dialect/FIRType.cpp
M flang/lib/Optimizer/Transforms/LoopVersioning.cpp
M flang/test/Transforms/loop-versioning.fir
Log Message:
-----------
[flang] Use DataLayout for computing type size in LoopVersioning. (#79778)
The existing type size computation in LoopVersioning does not work
for REAL*10, because the compute element size is 10 bytes,
which violates the power-of-two assertion.
We'd better use the DataLayout for computing the storage size
of each element of an array of the given type.
Commit: db6bf92123fbc82dd6e3da4f88e440415352692d
https://github.com/llvm/llvm-project/commit/db6bf92123fbc82dd6e3da4f88e440415352692d
Author: Justin Bogner <mail at justinbogner.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
A llvm/include/llvm/Support/DXILABI.h
R llvm/include/llvm/Support/DXILOperationCommon.h
M llvm/lib/Target/DirectX/DXILOpBuilder.cpp
M llvm/utils/TableGen/DXILEmitter.cpp
Log Message:
-----------
[DirectX] Rename DXILOperationCommon.h to DXILABI.h. NFC
This is a good place to put all of the ABI-sensitive DXIL values that
we'll need in both reading and writing contexts.
Pull Request: https://github.com/llvm/llvm-project/pull/78224
Commit: 181eab27d244b9a9eb32d6716f9c38f7f3723356
https://github.com/llvm/llvm-project/commit/181eab27d244b9a9eb32d6716f9c38f7f3723356
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M flang/include/flang/Evaluate/common.h
M flang/include/flang/Lower/Bridge.h
M flang/lib/Evaluate/shape.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Semantics/semantics.cpp
A flang/test/Evaluate/rewrite07.f90
M flang/unittests/Evaluate/expression.cpp
M flang/unittests/Evaluate/folding.cpp
M flang/unittests/Evaluate/intrinsics.cpp
Log Message:
-----------
[flang] Set KIND in compiler generated COUNT for SIZE(PACK) (#79801)
Compiler was rewriting SIZE(PACK(x, MASK)) to COUNT(MASK). It was
wrapping the COUNT call without a KIND argument (leading to INTEGER(4)
result in the characteristics) in an Expr<ExtentType> (implying
INTEGER(8) result), this lead to inconsistencies that later hit verifier
errors in lowering.
Set the KIND argument to the KIND of ExtentType to ensure the built
expression is consistent.
This requires giving access to some safe place where the "kind" name can
be saved and turned into a CharBlock (count has a DIM argument that
require using the KIND keyword here). For the FoldingContext that belong
to SemanticsContext, this is the same string set as the one used by
SemanticsContext for similar purposes.
Commit: 8c0a61125e52b137e45131773ec08bab3e2593e4
https://github.com/llvm/llvm-project/commit/8c0a61125e52b137e45131773ec08bab3e2593e4
Author: Will Hawkins <hawkinsw at obs.cr>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M libcxx/test/std/ranges/range.adaptors/range.chunk.by/range.chunk.by.iter/compare.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.chunk.by/range.chunk.by.iter/decrement.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.filter/iterator/arrow.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.filter/iterator/base.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.filter/iterator/ctor.parent_iter.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.filter/iterator/decrement.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.filter/iterator/deref.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.filter/sentinel/base.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.filter/sentinel/compare.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.filter/sentinel/ctor.default.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.filter/sentinel/ctor.parent.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.filter/types.h
Log Message:
-----------
[libcxx][NFC] Rename iterator/sentinel type template parameter names (#76201)
According to internally agreed upon best practices, type template
parameter names representing iterator types should be named `Iter`. For
type template parameters representing sentinel types, they should be
named `Sent`.
Signed-off-by: Will Hawkins <hawkinsw at obs.cr>
Commit: ad7131864f5a1a23f8c8d054a5e31c9979edd497
https://github.com/llvm/llvm-project/commit/ad7131864f5a1a23f8c8d054a5e31c9979edd497
Author: Justin Bogner <mail at justinbogner.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M llvm/include/llvm/Frontend/HLSL/HLSLResource.h
M llvm/include/llvm/Support/DXILABI.h
M llvm/lib/Target/DirectX/DXILResource.cpp
M llvm/lib/Target/DirectX/DXILResource.h
Log Message:
-----------
[DirectX] Move DXIL ResourceKind and ElementType to DXILABI.h. NFC
Pull Request: https://github.com/llvm/llvm-project/pull/78225
Commit: 2aef33230d3402878a837f9aaa37e37d0763d1ac
https://github.com/llvm/llvm-project/commit/2aef33230d3402878a837f9aaa37e37d0763d1ac
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M llvm/test/CodeGen/X86/fast-isel-store.ll
Log Message:
-----------
[X86] fast-isel-store.ll - cleanup check prefixes
32/64-bit triples and check prefixes were inverted, and missing unwind attribute to strip cfi noise
Commit: 3ab5dbb1995982ab7d106e39a719daaea8bdfeee
https://github.com/llvm/llvm-project/commit/3ab5dbb1995982ab7d106e39a719daaea8bdfeee
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M llvm/test/CodeGen/X86/sext-i1.ll
Log Message:
-----------
[X86] sext-i1.ll - replace X32 check prefixes with X86
We try to only use X32 for gnux32 triple tests.
Commit: 0a15ead01b6be095a87a405e63e9525ed123ac58
https://github.com/llvm/llvm-project/commit/0a15ead01b6be095a87a405e63e9525ed123ac58
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
A llvm/test/Transforms/BDCE/binops-multiuse.ll
Log Message:
-----------
[BDCE] Introduce test for PR79688 (NFC)
Commit: 20737825c9122b6e0a8912731cfa7e0558fe025d
https://github.com/llvm/llvm-project/commit/20737825c9122b6e0a8912731cfa7e0558fe025d
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/BDCE.cpp
M llvm/test/Transforms/BDCE/binops-multiuse.ll
M llvm/test/Transforms/BDCE/dead-uses.ll
Log Message:
-----------
[BDCE] Handle multi-use binary ops upon demanded bits
Simplify multi-use `and`/`or`/`xor` when these last
do not affect the demanded bits being considered.
Fixes: https://github.com/llvm/llvm-project/issues/78596.
Proofs: https://alive2.llvm.org/ce/z/EjuWHa.
Commit: 7b0396faabce0cec470779ae5e3a851bedb2ac12
https://github.com/llvm/llvm-project/commit/7b0396faabce0cec470779ae5e3a851bedb2ac12
Author: Shafik Yaghmour <shafik.yaghmour at intel.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaStmt.cpp
M clang/test/SemaCXX/deduced-return-type-cxx14.cpp
Log Message:
-----------
[Clang][Sema] Fix crash when type used in return statement contains errors (#79788)
In Sema in `BuildReturnStmt(...)` when we try to determine is the type
is move eligible or copy elidable we don't currently check of the init
of the `VarDecl` contain errors or not. This can lead to a crash since
we may send a type that is not complete into `getTypeInfo(...)` which
does not allow this.
This fixes: https://github.com/llvm/llvm-project/issues/63244
https://github.com/llvm/llvm-project/issues/79745
Commit: d5e8a273fddcf4abbfc59d16f08e735f7cefff93
https://github.com/llvm/llvm-project/commit/d5e8a273fddcf4abbfc59d16f08e735f7cefff93
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M llvm/docs/DeveloperPolicy.rst
M llvm/docs/GettingStarted.rst
Log Message:
-----------
[docs] Remove second "getting sources" section in GettingStarted.rst (#79663)
The very beginning already talks about how to git clone the repo. The
section about checking out specific versions doesn't really belong in
GettingStarted and seems unnecessary.
Commit: 155f24b11e21a187ae8b5cd09665e90406f61e33
https://github.com/llvm/llvm-project/commit/155f24b11e21a187ae8b5cd09665e90406f61e33
Author: Nilanjana Basu <n_basu at apple.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/interleave_count_for_estimated_tc.ll
M llvm/test/Transforms/LoopVectorize/AArch64/interleave_count_for_known_tc.ll
Log Message:
-----------
[Tests][LV][AArch64] Pre-commit tests for changing loop interleaving count computation for loops that need to run scalar iterations (#79640)
This patch contains a set of pre-commit tests for changing the loop interleaving count computation in a subsequent patch in order to address loops that need to execute at least a single scalar iteration in the epilogue.
Commit: 649ecf88ed8814fcd95ca7fa34e9aeaf5728e823
https://github.com/llvm/llvm-project/commit/649ecf88ed8814fcd95ca7fa34e9aeaf5728e823
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M llvm/include/module.modulemap
Log Message:
-----------
Add missing textual header to module map
Commit: c07d3343dc263fce3296f92203944f29b8ecc25a
https://github.com/llvm/llvm-project/commit/c07d3343dc263fce3296f92203944f29b8ecc25a
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-node-with-multi-users.ll
Log Message:
-----------
[SLP][NFC]Add a test for PR79743 with incorrect node demotion, NFC.
Commit: 61384850c5950b8c5ee0abd75982f5cad8f98536
https://github.com/llvm/llvm-project/commit/61384850c5950b8c5ee0abd75982f5cad8f98536
Author: Jason Molenda <jason at molenda.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M lldb/bindings/python/python-swigsafecast.swig
M lldb/bindings/python/python-wrapper.swig
M lldb/include/lldb/API/SBEvent.h
M lldb/include/lldb/API/SBStream.h
M lldb/include/lldb/Interpreter/Interfaces/ScriptedInterface.h
R lldb/include/lldb/Interpreter/Interfaces/ScriptedThreadPlanInterface.h
M lldb/include/lldb/Interpreter/ScriptInterpreter.h
M lldb/include/lldb/Target/ThreadPlanPython.h
M lldb/include/lldb/lldb-forward.h
M lldb/source/Interpreter/ScriptInterpreter.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/CMakeLists.txt
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.h
R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface.cpp
R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/SWIGPythonBridge.h
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPythonImpl.h
M lldb/source/Target/ThreadPlanPython.cpp
M lldb/test/API/functionalities/step_scripted/Steps.py
M lldb/test/API/functionalities/thread_plan/wrap_step_over.py
M lldb/unittests/ScriptInterpreter/Python/PythonTestSuite.cpp
Log Message:
-----------
Revert "[lldb] Make use of Scripted{Python,}Interface for ScriptedThreadPlan (#70392)"
Temporarily revert to unblock the CI bots, this is breaking the -DLLVM_ENABLE_MODULES=On
modules style build. I've notified Ismail.
This reverts commit 888501bc631c4f6d373b4081ff6c504a1ce4a682.
Commit: eb98b5003cacfc01102557744655f6c2fc02b0cb
https://github.com/llvm/llvm-project/commit/eb98b5003cacfc01102557744655f6c2fc02b0cb
Author: Alexander Shaposhnikov <6532716+alexander-shaposhnikov at users.noreply.github.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M llvm/test/Transforms/ConstraintElimination/abs.ll
Log Message:
-----------
[ConstraintElim] Add tests for llvm.abs >= 0 (#79068)
Add tests for llvm.abs >= 0.
This is a preparation for
https://github.com/llvm/llvm-project/pull/79070 .
Commit: 8d89dd4a5872503d6d5b070bdb48d20973156e07
https://github.com/llvm/llvm-project/commit/8d89dd4a5872503d6d5b070bdb48d20973156e07
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-node-with-multi-users.ll
Log Message:
-----------
[SLP]Fix PR79743: Check that all users are demoted before trying to
demote the tree entry.
Need to check if all user nodes are marked for demotion before demoting
the node. Otherwise, some data info might be lost after vectorization.
Commit: 27e67cdb31bed4c346af925686c031d57aef9846
https://github.com/llvm/llvm-project/commit/27e67cdb31bed4c346af925686c031d57aef9846
Author: Hristo Hristov <hristo.goshev.hristov at gmail.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/docs/Status/FormatIssues.csv
M libcxx/include/__config
M libcxx/include/__format/format_arg.h
M libcxx/include/__format/format_context.h
M libcxx/include/format
A libcxx/test/std/utilities/format/format.arguments/format.arg/visit.pass.cpp
A libcxx/test/std/utilities/format/format.arguments/format.arg/visit.return_type.pass.cpp
A libcxx/test/std/utilities/format/format.arguments/format.arg/visit_format_arg.deprecated.verify.cpp
M libcxx/test/std/utilities/format/format.arguments/format.arg/visit_format_arg.pass.cpp
M libcxx/test/std/utilities/format/format.arguments/format.args/get.pass.cpp
M libcxx/test/support/test_basic_format_arg.h
M libcxx/test/support/test_macros.h
M libcxx/utils/generate_feature_test_macro_components.py
Log Message:
-----------
Reland: [libc++][format] P2637R3: Member visit (std::basic_format_arg) #76449 (#79032)
Deleted the offending test case.
`libcxx/test/std/utilities/format/format.arguments/format.arg/visit.return_type.pass.cpp`
lines: 134-135:
> test<Context, bool, long>(true, 192812079084L);
test<Context, bool, long>(false, 192812079084L);
Relands: https://github.com/llvm/llvm-project/pull/76449
Reverted in:
https://github.com/llvm/llvm-project/commit/02f95b77515fe18ed1076b94cbb850ea0cf3c77e
---------
Co-authored-by: Zingam <zingam at outlook.com>
Commit: 5dce6353b5e42248c7271f7694613831a6d427de
https://github.com/llvm/llvm-project/commit/5dce6353b5e42248c7271f7694613831a6d427de
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M lldb/include/lldb/Target/PathMappingList.h
M lldb/include/lldb/Target/Platform.h
M lldb/include/lldb/Target/Process.h
Log Message:
-----------
Add missing includes
Commit: 547c395b279a93357082ac06cf3e8fe37ebfc3fe
https://github.com/llvm/llvm-project/commit/547c395b279a93357082ac06cf3e8fe37ebfc3fe
Author: Jason Molenda <jason at molenda.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M lldb/test/API/functionalities/step_scripted/TestStepScripted.py
Log Message:
-----------
Revert "[lldb/Test] Temporarily XFAIL TestStepScripted.py"
Also revert this patch until Ismail can re-land.
This reverts commit febb4c42b192ed7c88c17f91cb903a59acf20baf.
Commit: 295059409f75e13bf000d536cb8d287e35153c83
https://github.com/llvm/llvm-project/commit/295059409f75e13bf000d536cb8d287e35153c83
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M llvm/include/llvm/IR/PatternMatch.h
Log Message:
-----------
[PatternMatch] Use dyn_cast in CastInst_match instead of checking opcode. NFC (#79878)
Using dyn_cast allows us to use CastInst::getOperand instead of
Instruction::getOperand. This is more efficient since
CastInst::getOperand doesn't need to check how the operands are stored.
Instruction::getOperand has to consider HungOffUses.
Commit: c576ab6bc55316061fef5a275f30c124e2572182
https://github.com/llvm/llvm-project/commit/c576ab6bc55316061fef5a275f30c124e2572182
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M libcxx/test/std/containers/sequences/array/size_and_alignment.compile.pass.cpp
Log Message:
-----------
[libc++] Avoid including libc++ private header in std/ test (#79856)
Fixes #79783
Commit: eac8d713a6682417d06f5ee7f90a8ce54a281df8
https://github.com/llvm/llvm-project/commit/eac8d713a6682417d06f5ee7f90a8ce54a281df8
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M .github/workflows/libcxx-build-and-test.yaml
Log Message:
-----------
[libc++][ci] Update upload-artifact at v3 and hashpin the version (#79854)
The upload-artifact at v3 action is using Node 16, which is reaching EOL.
As a result, we are getting warnings prompting us to move our jobs over
to the latest version of upload-artifact.
Commit: d9f1791a0a1c513349df7a19ce054a90e6b504c5
https://github.com/llvm/llvm-project/commit/d9f1791a0a1c513349df7a19ce054a90e6b504c5
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M libcxx/docs/ReleaseNotes/19.rst
Log Message:
-----------
[libc++] Move release note to the right section
Commit: 0039a2ff4fe98ce54654e5f4da90aeee718e1d41
https://github.com/llvm/llvm-project/commit/0039a2ff4fe98ce54654e5f4da90aeee718e1d41
Author: David Majnemer <david.majnemer at gmail.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
M mlir/test/Conversion/GPUToNVVM/gpu-to-nvvm.mlir
Log Message:
-----------
[mlir][gpu] Add support for lowering math.erf to __nv_erf (#79848)
Commit: faf675ce34ee1e2c6105e9a816f220412fd2f8d5
https://github.com/llvm/llvm-project/commit/faf675ce34ee1e2c6105e9a816f220412fd2f8d5
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M llvm/tools/llvm-exegesis/lib/Analysis.cpp
M llvm/tools/llvm-exegesis/lib/Analysis.h
M llvm/tools/llvm-exegesis/lib/Assembler.cpp
M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.h
M llvm/tools/llvm-exegesis/lib/Clustering.cpp
M llvm/tools/llvm-exegesis/lib/LatencyBenchmarkRunner.cpp
M llvm/tools/llvm-exegesis/lib/LlvmState.cpp
M llvm/tools/llvm-exegesis/lib/MCInstrDescView.cpp
M llvm/tools/llvm-exegesis/lib/Mips/Target.cpp
M llvm/tools/llvm-exegesis/lib/PerfHelper.cpp
M llvm/tools/llvm-exegesis/lib/PerfHelper.h
M llvm/tools/llvm-exegesis/lib/ProgressMeter.h
M llvm/tools/llvm-exegesis/lib/SchedClassResolution.cpp
M llvm/tools/llvm-exegesis/lib/Target.cpp
M llvm/tools/llvm-exegesis/lib/X86/Target.cpp
M llvm/tools/llvm-exegesis/lib/X86/X86Counter.cpp
M llvm/tools/llvm-exegesis/lib/X86/X86Counter.h
M llvm/tools/llvm-exegesis/llvm-exegesis.cpp
Log Message:
-----------
[llvm-exegesis] Remove llvm prefix where unnecessary (#79802)
This patch removes the llvm:: prefix within llvm-exegesis where it is
not necessary. This is most occurrences of the prefix within exegesis as
exegesis is within the llvm namespace. This patch makes things more
consistent as the vast majority of the code did not use the llvm::
prefix for anything.
Commit: 3d0a689eb72aef639347edbec4608e631d5208a1
https://github.com/llvm/llvm-project/commit/3d0a689eb72aef639347edbec4608e631d5208a1
Author: Fangrui Song <i at maskray.me>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
Log Message:
-----------
[llvm-cov] Simplify and optimize MC/DC computation (#79727)
Update code from https://reviews.llvm.org/D138847
`buildTestVector` is a standard DFS (walking a reduced ordered binary
decision diagram). Avoid shouldCopyOffTestVectorFor{True,False}Path
complexity and redundant `Map[ID]` lookups.
`findIndependencePairs` unnecessarily uses four nested loops (n<=6) to
find independence pairs. Instead, enumerate the two execution vectors
and find the number of mismatches. This algorithm can be optimized using
the marking function technique described in _Efficient Test Coverage
Measurement for MC/DC, 2013_, but this may be overkill.
Commit: d492faa7aa995aedac41e1f86aaf42dc5b43db54
https://github.com/llvm/llvm-project/commit/d492faa7aa995aedac41e1f86aaf42dc5b43db54
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M clang/include/clang/Basic/BuiltinsNVPTX.def
M clang/test/CodeGen/builtins-nvptx.c
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/lib/Target/NVPTX/NVPTX.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
A llvm/test/CodeGen/NVPTX/activemask.ll
Log Message:
-----------
[NVPTX] Add 'activemask' builtin and intrinsic support (#79768)
Summary:
This patch adds support for getting the 'activemask' instruction's value
without needing to use inline assembly. See the relevant PTX reference
for details.
https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#parallel-synchronization-and-communication-instructions-activemask
Commit: 5f12cc912ac90a2511f2a53c45dc9250945da18c
https://github.com/llvm/llvm-project/commit/5f12cc912ac90a2511f2a53c45dc9250945da18c
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M clang/include/clang/Basic/BuiltinsNVPTX.def
M clang/test/CodeGen/builtins-nvptx.c
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
A llvm/test/CodeGen/NVPTX/nanosleep.ll
Log Message:
-----------
[NVPTX] Add builtin support for 'nanosleep' PTX instrunction (#79888)
Summary:
This patch adds a builtin for the `nanosleep` PTX function. It takes
either an immediate or a register and sleeps for [0, 2t] nanoseconds
given t. More information at the documentation:
https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#miscellaneous-instructions-nanosleep
Commit: ea8014046c7f7c81f92d24832b873d356b2b6712
https://github.com/llvm/llvm-project/commit/ea8014046c7f7c81f92d24832b873d356b2b6712
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M clang/include/clang/Basic/BuiltinsNVPTX.def
M clang/test/CodeGen/builtins-nvptx.c
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/test/CodeGen/NVPTX/intrinsics.ll
Log Message:
-----------
[NVPTX] Add builtin for 'exit' handling (#79777)
Summary:
The PTX ISA has always supported the 'exit' instruction to terminate
individual threads. This patch adds a builtin to handle it. See the PTX
documentation for further details.
https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#control-flow-instructions-exit
Commit: e633807a1fccbed91dbfe1fdc2c78adcaf21d99c
https://github.com/llvm/llvm-project/commit/e633807a1fccbed91dbfe1fdc2c78adcaf21d99c
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M clang/include/clang/Basic/BuiltinsNVPTX.def
M clang/test/CodeGen/builtins-nvptx.c
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/test/CodeGen/NVPTX/intrinsics.ll
Log Message:
-----------
[NVPTX] Add builtin support for 'globaltimer' (#79765)
Summary:
This patch adds support for `globaltimer` to match `clock` and
`clock64`. See the PTX ISA reference for details. This patch does not
implement the `hi` or `lo` variants for brevity as they can be obtained
from this with the cost of an additional register.
https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#special-registers-globaltimer-globaltimer-lo-globaltimer-hi
Commit: 9a1ca245c8bc60b1ca12cd906fb31130801d977e
https://github.com/llvm/llvm-project/commit/9a1ca245c8bc60b1ca12cd906fb31130801d977e
Author: Fangrui Song <i at maskray.me>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M lld/ELF/InputFiles.cpp
M lld/test/ELF/warn-backrefs.s
Log Message:
-----------
[ELF] --warn-backrefs: --defsym does not make a backward reference
The interaction between --warn-backrefs was not tested, but if
--defsym-created reference causes archive member extraction, it seems
reasonable to suppress the diagnostic, which was the behavior before #78944.
Commit: c492eb6b28a1605e943b9c41071597fd1eda032c
https://github.com/llvm/llvm-project/commit/c492eb6b28a1605e943b9c41071597fd1eda032c
Author: Nilanjana Basu <n_basu at apple.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/interleave_count_for_estimated_tc.ll
M llvm/test/Transforms/LoopVectorize/AArch64/interleave_count_for_known_tc.ll
Log Message:
-----------
[LV] Update interleaving count computation when scalar epilogue loop needs to run at least once (#79651)
Update loop interleaving count computation to address loops that require at least one scalar iteration in the epilogue loop. For this case, the available trip count for interleaving the loop is one less.
Commit: 74bebee08e52ae4758bba4fc8bbb781fcaee1e54
https://github.com/llvm/llvm-project/commit/74bebee08e52ae4758bba4fc8bbb781fcaee1e54
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M flang/lib/Semantics/runtime-type-info.cpp
A flang/test/Semantics/typeinfo08.f90
Log Message:
-----------
[flang] Fix compiler crash in semantics (#79609)
The runtime type information table generator couldn't handle a null
pointer returned correctly for a original (not instantiated) derived
type with kind parameters.
Fixes https://github.com/llvm/llvm-project/issues/79590.
Commit: 8dbedf49d7c6e8e6e3212b8be633780e5c4f0ee3
https://github.com/llvm/llvm-project/commit/8dbedf49d7c6e8e6e3212b8be633780e5c4f0ee3
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/symbolizer/scripts/build_symbolizer.sh
M compiler-rt/lib/sanitizer_common/symbolizer/scripts/global_symbols.txt
Log Message:
-----------
[sanitizer] Allow *___lcxx_override symbolse in symbolizer (#79904)
We don't intercept them, and they are not called and used only as
markers anyway.
These symbols introduced with #69498.
Commit: e6fdbd17769d626c66e087b0fd9bbda0ea69194d
https://github.com/llvm/llvm-project/commit/e6fdbd17769d626c66e087b0fd9bbda0ea69194d
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M flang/runtime/numeric.cpp
Log Message:
-----------
[flang][runtime] Add special-case faster path to real MOD/MODULO (#79625)
When a real-valued reference to the MOD/MODULO intrinsic functions has
operands that are exact integers, use the fast exact integer algorithm
rather than calling std::fmod.
Commit: c82f3caf5683a443692162d9fbebc31019af7ce8
https://github.com/llvm/llvm-project/commit/c82f3caf5683a443692162d9fbebc31019af7ce8
Author: Evgenii Stepanov <eugeni.stepanov at gmail.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M compiler-rt/lib/scudo/standalone/combined.h
M compiler-rt/lib/scudo/standalone/stack_depot.h
Log Message:
-----------
[scudo] Add StackDepot lock to enable/disable. (#79670)
Scudo grabs all allocator locks in a pthread_atfork before the fork, and releases them after. This allows malloc to be used in a fork child of a multithreaded process, which is expressly forbidden by the standard, but very widely used. For example, Android's init uses std::string after fork when spawning services in android::init::EnterNamespaces and other places.
Any lock that is necessary to serve an allocator call must be handled this way. Otherwise there is a possibility that the lock is held during the call to fork, which results in it being held forever in the child process, and the next operation that needs it deadlocks.
Commit: d6e07e084511cac56c6e468a444ecbf2de3489b9
https://github.com/llvm/llvm-project/commit/d6e07e084511cac56c6e468a444ecbf2de3489b9
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M llvm/lib/Target/TargetMachine.cpp
M llvm/test/CodeGen/X86/code-model-elf.ll
Log Message:
-----------
[X86] Treat __ehdr_start as large (#79884)
The __ehdr_start symbol is added by the linker and points to the ELF
file headers, which can be very far away from text. Treat it as a large
symbol under the medium/large code models. Performance to access
__ehdr_start is almost certainly not important.
There are a couple of other symbols that the linker adds [1], but this
is the most relevant one that may be far away from text.
[1]
https://github.com/llvm/llvm-project/blob/547c395b279a93357082ac06cf3e8fe37ebfc3fe/lld/ELF/Writer.cpp#L226
Commit: d83c97714756e828c9c7091aa8294e022c93a454
https://github.com/llvm/llvm-project/commit/d83c97714756e828c9c7091aa8294e022c93a454
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M flang/lib/Evaluate/fold-implementation.h
A flang/test/Semantics/generic08.f90
Log Message:
-----------
[flang] Prevent bad expression rewrite 0*ARR -> 0 (#79853)
Don't rewrite 0*X to 0 if X is not scalar. Up until now this hasn't
shown up as a bug because a scalar 0 works in nearly all expressions
where an array would be expected. But not in all cases -- this bad
rewrite can cause generic procedure resolution to fail when it causes an
actual argument to have an unsupported rank.
Commit: 37180ed7435d28282ff4ccc9fbcbed04124ef8c0
https://github.com/llvm/llvm-project/commit/37180ed7435d28282ff4ccc9fbcbed04124ef8c0
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M flang/docs/Extensions.md
M flang/include/flang/Common/Fortran-features.h
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/mod-file.cpp
M flang/test/Semantics/generic05.F90
M flang/test/Semantics/generic07.f90
M flang/test/Semantics/resolve17.f90
M flang/test/Semantics/resolve53.f90
M flang/test/Semantics/resolve54.f90
M flang/test/Semantics/resolve63.f90
M flang/test/Semantics/resolve65.f90
M flang/test/Semantics/resolve96.f90
Log Message:
-----------
[flang] Turn "error" cases into warning for "indistinguishable" specific procedures (#79621)
When a generic procedure interface, either declared or the result of
merging two use-associated generics, has two specific procedures
that are not distinguishable according to the rules in F'2023
subclause 15.4.3.4.5, emit a portability warning rather than a
hard error message. The rules in that subclause are not adequate
to detect pairs of specific procedures that admit an ambiguous
reference, as demonstrated by a case that arose in pFUnit. Further,
these distinguishability checks, even if sufficient to the task
of detecting pairs of specifics capable of ambiguous references,
should only apply to pairs where *every* reference would have to
be ambiguous -- and this can and is validated at every reference
anyway. Last, only XLF enforces these incomplete and needless
distinguishability rules -- every other compiler seems to just
check that each procedure reference resolves to exactly one
specific procedure.
If the standard were to complete lose subclause 15.4.3.4.5 and
its related note (C.11.6) -- which admits that the rules are
incomplete! -- and simply require that each generic procedure
reference resolve unambiguously to exactly one specific, nobody
would miss them. This patch changes this compiler to give them
lip service when requested, but they are now otherwise ignored.
Commit: 0aff71c17831c4f3c7147e792b5761107c011dd5
https://github.com/llvm/llvm-project/commit/0aff71c17831c4f3c7147e792b5761107c011dd5
Author: yronglin <yronglin777 at gmail.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/Sema.h
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseStmt.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/TreeTransform.h
A clang/test/AST/ast-dump-for-range-lifetime.cpp
M clang/test/CXX/special/class.temporary/p6.cpp
M clang/test/Lexer/cxx-features.cpp
M clang/www/cxx_status.html
Log Message:
-----------
[Clang] Implement P2718R0 "Lifetime extension in range-based for loops" (#76361)
Implement P2718R0 "Lifetime extension in range-based for loops"
(https://wg21.link/P2718R0)
Differential Revision: https://reviews.llvm.org/D153701
---------
Signed-off-by: yronglin <yronglin777 at gmail.com>
Commit: c322e92841fae1d756c4126a3e4c5e1b3366f042
https://github.com/llvm/llvm-project/commit/c322e92841fae1d756c4126a3e4c5e1b3366f042
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M flang/lib/Semantics/resolve-names.cpp
A flang/test/Semantics/resolve122.f90
Log Message:
-----------
[flang] Silence bogus USE statement error (#79896)
When there are multiple USE statement for a particular module using
renaming, it is necessary to collect a set of all of the original
renaming targets before processing any of USE statements that don't have
ONLY: clauses.
Currently, if there is a name in the module that can't be added to the
current scope -- due to a conflict with an internal or module
subprogram, or with a previously use-associated name -- the compiler
will emit a bogus error message even if that conflicting name appear on
a later USE statement of the same module as the target of a renaming.
The new regression test case added with this patch provides a motivating
example.
Commit: 3c8a5800f5fdfd5c32eae04194fc31b9f5f86494
https://github.com/llvm/llvm-project/commit/3c8a5800f5fdfd5c32eae04194fc31b9f5f86494
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Lower/OpenACC.cpp
M flang/test/Lower/OpenACC/acc-declare.f90
Log Message:
-----------
[flang][openacc] Place post allocate/deallocate attribute correctly (#79883)
The `acc.declate_action` attribute was sometime misplaced as reported in
#79770.
This patch updates the lowering code to place the
postAllocate/postDeallocate actions at the correct place.
Commit: 7855703194232a94d321dceea27b45cee0c91f73
https://github.com/llvm/llvm-project/commit/7855703194232a94d321dceea27b45cee0c91f73
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
A llvm/test/CodeGen/RISCV/rvv/vp-splice-fixed-vectors.ll
A llvm/test/CodeGen/RISCV/rvv/vp-splice-mask-fixed-vectors.ll
A llvm/test/CodeGen/RISCV/rvv/vp-splice-mask-vectors.ll
A llvm/test/CodeGen/RISCV/rvv/vp-splice.ll
R llvm/test/CodeGen/RISCV/vp-splice-fixed-vectors.ll
R llvm/test/CodeGen/RISCV/vp-splice-mask-fixed-vectors.ll
R llvm/test/CodeGen/RISCV/vp-splice-mask-vectors.ll
R llvm/test/CodeGen/RISCV/vp-splice.ll
Log Message:
-----------
[RISCV] Move vp.splice tests into rvv directory. NFC
Commit: 0461448313800b47189cc9024a0f2a9f75b44470
https://github.com/llvm/llvm-project/commit/0461448313800b47189cc9024a0f2a9f75b44470
Author: Jivan Hakobyan <jivanhakobyan9 at gmail.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsRISCV.td
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInstrInfoZimop.td
A llvm/test/CodeGen/RISCV/rv32zimop-intrinsic.ll
A llvm/test/CodeGen/RISCV/rv64zimop-intrinsic.ll
Log Message:
-----------
[RISCV][ISel] Add ISel support for experimental Zimop extension (#77089)
This implements ISel support for mopr[0-31] and moprr[0-7] instructions
for 32 and 64 bits
---------
Co-authored-by: ln8-8 <lyut.nersisyan at gmail.com>
Commit: 0a2b5b03c4084ac1fefd0e62db2ba49f5ac24ab9
https://github.com/llvm/llvm-project/commit/0a2b5b03c4084ac1fefd0e62db2ba49f5ac24ab9
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M clang/include/clang/Basic/BuiltinsNVPTX.def
Log Message:
-----------
[NVPTX][Fix] Ensure the return value of 'activemask' is unsigned
Summary:
The previous patch missed the `U` prefix, which caused the mask to be
considered signed. This meant that conversions would incorrectly treat a
full mask as a negative number and break things.
Commit: 51379a982efc64eb319ba6f4c1af4dce31af499a
https://github.com/llvm/llvm-project/commit/51379a982efc64eb319ba6f4c1af4dce31af499a
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M clang/lib/Headers/__clang_cuda_intrinsics.h
Log Message:
-----------
[CUDA] Change '__activemask' to use '__nvvm_activemask()' (#79892)
Summary:
We recently added builitin support for this function.
Commit: 7bc5eaa02f6d74410f3131b7d2ab21ee8209430f
https://github.com/llvm/llvm-project/commit/7bc5eaa02f6d74410f3131b7d2ab21ee8209430f
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/config/linux/x86_64/headers.txt
M libc/include/CMakeLists.txt
M libc/include/llvm-libc-macros/CMakeLists.txt
A libc/include/llvm-libc-macros/stdbit-macros.h
A libc/include/stdbit.h.def
M libc/spec/spec.td
M libc/spec/stdc.td
M libc/src/CMakeLists.txt
A libc/src/stdbit/CMakeLists.txt
A libc/src/stdbit/stdc_leading_zeros_uc.cpp
A libc/src/stdbit/stdc_leading_zeros_uc.h
A libc/src/stdbit/stdc_leading_zeros_ui.cpp
A libc/src/stdbit/stdc_leading_zeros_ui.h
A libc/src/stdbit/stdc_leading_zeros_ul.cpp
A libc/src/stdbit/stdc_leading_zeros_ul.h
A libc/src/stdbit/stdc_leading_zeros_ull.cpp
A libc/src/stdbit/stdc_leading_zeros_ull.h
A libc/src/stdbit/stdc_leading_zeros_us.cpp
A libc/src/stdbit/stdc_leading_zeros_us.h
M libc/test/include/CMakeLists.txt
A libc/test/include/stdbit_test.cpp
M libc/test/src/CMakeLists.txt
A libc/test/src/stdbit/CMakeLists.txt
A libc/test/src/stdbit/stdc_leading_zeros_uc_test.cpp
A libc/test/src/stdbit/stdc_leading_zeros_ui_test.cpp
A libc/test/src/stdbit/stdc_leading_zeros_ul_test.cpp
A libc/test/src/stdbit/stdc_leading_zeros_ull_test.cpp
A libc/test/src/stdbit/stdc_leading_zeros_us_test.cpp
Log Message:
-----------
[libc] implement stdc_leading_zeros_u* for stdbit.h (#79669)
- stdbit.stdc_leading_zeros_uc
- stdbit.stdc_leading_zeros_us
- stdbit.stdc_leading_zeros_ui
- stdbit.stdc_leading_zeros_ul
- stdbit.stdc_leading_zeros_ull
Test via:
$ ninja libc-stdbit-tests libc_include_tests
Commit: ff77058141e8026357ca514ad0d45c6c50921290
https://github.com/llvm/llvm-project/commit/ff77058141e8026357ca514ad0d45c6c50921290
Author: Justin Fargnoli <34139864+justinfargnoli at users.noreply.github.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/test/CodeGen/NVPTX/i8x4-instructions.ll
Log Message:
-----------
Disable incorrect peephole optimizations
Commit: d29bb704cb646f9a69546e3517f12b022528d2d2
https://github.com/llvm/llvm-project/commit/d29bb704cb646f9a69546e3517f12b022528d2d2
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M libc/src/__support/GPU/nvptx/utils.h
M libc/src/__support/RPC/rpc_util.h
M libc/src/time/gpu/nanosleep.cpp
Log Message:
-----------
[libc][NFC] Remove inline assembly for PTX instructions (#79913)
Summary:
Recent patches have implemented builitin versions of these functions.
This patch simply removes uses of inline assembly to hopefully improve
optimizations in this area.
Commit: 577738a12d3cfd3210dceb4eb0b26fb2b2a961ee
https://github.com/llvm/llvm-project/commit/577738a12d3cfd3210dceb4eb0b26fb2b2a961ee
Author: Justin Fargnoli <34139864+justinfargnoli at users.noreply.github.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/test/CodeGen/NVPTX/i8x4-instructions.ll
Log Message:
-----------
Revert "Disable incorrect peephole optimizations" (#79916)
This reverts commit ff77058141e8026357ca514ad0d45c6c50921290.
Commit: 5a7a8f73c71b9aaf6d2f7cb548807046f19c4498
https://github.com/llvm/llvm-project/commit/5a7a8f73c71b9aaf6d2f7cb548807046f19c4498
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M libc/include/llvm-libc-macros/stdbit-macros.h
M libc/include/stdbit.h.def
M libc/test/include/CMakeLists.txt
Log Message:
-----------
[libc] fix type generic stdc_leading_zeros for GCC (#79917)
GCC does not support _Generic in C++ mode. Use inline function definitions with
function overloading in __cplusplus mode.
Commit: 6b330470df7db34ee1b894e0e2edf8270d5c51da
https://github.com/llvm/llvm-project/commit/6b330470df7db34ee1b894e0e2edf8270d5c51da
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/aarch64/headers.txt
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
Log Message:
-----------
[libc] add more arch entrypoints for stdc_leading_zeros (#79923)
Otherwise the include test fails on these targets.
Commit: aa1968c2ebdd05aa3ba876062acd966a3e251ebe
https://github.com/llvm/llvm-project/commit/aa1968c2ebdd05aa3ba876062acd966a3e251ebe
Author: Maksim Panchenko <maks at fb.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M bolt/include/bolt/Rewrite/MetadataManager.h
M bolt/include/bolt/Rewrite/MetadataRewriter.h
M bolt/include/bolt/Rewrite/RewriteInstance.h
M bolt/lib/Rewrite/LinuxKernelRewriter.cpp
M bolt/lib/Rewrite/MetadataManager.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
Log Message:
-----------
[BOLT] Add metadata pre-emit finalization interface (#79925)
Some metadata needs to be updated/finalized before the binary context is
emitted into the binary. Add the interface and use it for Linux ORC
update invocation.
Commit: 3d1157000db56a340e1dae90b587bd144ffeaa6c
https://github.com/llvm/llvm-project/commit/3d1157000db56a340e1dae90b587bd144ffeaa6c
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M flang/include/flang/Evaluate/characteristics.h
M flang/lib/Evaluate/characteristics.cpp
M flang/lib/Semantics/check-declarations.cpp
M flang/test/Semantics/generic05.F90
M flang/test/Semantics/generic07.f90
M flang/test/Semantics/resolve17.f90
M flang/test/Semantics/resolve53.f90
M flang/test/Semantics/resolve54.f90
M flang/test/Semantics/resolve65.f90
M flang/test/Semantics/resolve96.f90
Log Message:
-----------
[flang] Restore error status for many indistinguishable specifics (#79927)
A recent patch to allow pFUnit to compile softened the diagnostic about
indistinguishable specific procedures to a portability warning. It turns
out that this was overkill -- for specific procedures containing no
optional or unlimited polymorphic dummy data arguments, a diagnosis of
"indistinguishable" can still be a hard error.
So adjust the analysis to be tri-state: two procedures are either
definitely distinguishable, definitely indistinguishable without
optionals or unlimited polymorphics, or indeterminate. Emit errors as
before for the definitely indistinguishable cases; continue to emit
portability warnings for the indeterminate cases.
When this patch is merged, all but one of the dozen or so tests that I
disabled in llvm-test-suite can be re-enabled.
Commit: 59c9a48d5e19716e5df8d0f794e489891fd2c835
https://github.com/llvm/llvm-project/commit/59c9a48d5e19716e5df8d0f794e489891fd2c835
Author: kusmour <kusmour at gmail.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M llvm/lib/DebugInfo/GSYM/GsymCreator.cpp
A llvm/test/tools/llvm-gsymutil/X86/elf-empty-dir.yaml
Log Message:
-----------
[llvm-gsymutil] Fix assert failure on FileEntry.Dir empty (#79926)
Summary:
FileEntry.Dir can be empty if debug info only contains relative path.
This caused an assertion failure when gsym segmentation is trying to
copy a file entry with empty dir. As the fitst entry of StringTable is
always empty (and is preserved), `StringOffsetMap` doesn't have key 0.
Hence, `find(0)` returns `End` and `operator->()` fails the assertion
Test Plan:
./bin/llvm-lit -sv llvm/test/tools/llvm-gsymutil/X86/elf-empty-dir.yaml
Commit: a694104022cff5e8b38321f99fd0bc34d8847f5d
https://github.com/llvm/llvm-project/commit/a694104022cff5e8b38321f99fd0bc34d8847f5d
Author: Diego Caballero <diegocaballero at google.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
M mlir/test/Dialect/Vector/vector-rewrite-narrow-types.mlir
Log Message:
-----------
[mlir][Vector] Add patterns for efficient i4 -> i8 conversion emulation (#79494)
This PR adds new patterns to improve the generated vector code for the emulation of any conversion that have to go through an i4 -> i8 type extension (only signed extensions are supported for now). This will impact any i4 -> i8/i16/i32/i64 signed extensions as well as sitofp i4 -> f8/f16/f32/f64.
The asm code generated for the supported cases is significantly better after this PR for both x86 and aarch64.
Commit: 0fc791cd2c4e249a9304ac0f36e35a2a3edbd66d
https://github.com/llvm/llvm-project/commit/0fc791cd2c4e249a9304ac0f36e35a2a3edbd66d
Author: Maksim Panchenko <maks at fb.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M bolt/lib/Rewrite/LinuxKernelRewriter.cpp
A bolt/test/X86/linux-orc.s
R bolt/test/X86/orc_unwind.s
Log Message:
-----------
[BOLT] Fix comparison function for Linux ORC entries (#79921)
Fix ORC entry comparison function to cover a case with multiple
terminator entries matching at the same IP.
Commit: 8ca90b29eed7836e122382a603bc0a06ca82ebc8
https://github.com/llvm/llvm-project/commit/8ca90b29eed7836e122382a603bc0a06ca82ebc8
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
Log Message:
-----------
[mlir] Remove unused variable 'byteBitwidth' in VectorEmulateNarrowType.cpp (NFC)
llvm-project/mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp:763:12:
error: unused variable 'byteBitwidth' [-Werror,-Wunused-variable]
unsigned byteBitwidth = 8;
^
1 error generated.
Commit: 45188c64db68af92596acdb2d9022527f6aa4502
https://github.com/llvm/llvm-project/commit/45188c64db68af92596acdb2d9022527f6aa4502
Author: Liao Chunyu <chunyu at iscas.ac.cn>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/RISCV/rvv/vselect-vp.ll
Log Message:
-----------
[DAGCombiner] Use generalized pattern matcher in foldBoolSelectToLogic (#79101)
support vp.select
TODO: Possibly other functions could be supported, eg: SimplifySelect()
Commit: 4460fa8814d4c86e1d22f830078d7bad69bc0ecc
https://github.com/llvm/llvm-project/commit/4460fa8814d4c86e1d22f830078d7bad69bc0ecc
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M llvm/include/llvm/TextAPI/InterfaceFile.h
M llvm/include/llvm/TextAPI/Record.h
M llvm/include/llvm/TextAPI/RecordsSlice.h
M llvm/include/llvm/TextAPI/Symbol.h
M llvm/include/llvm/TextAPI/SymbolSet.h
M llvm/lib/TextAPI/RecordVisitor.cpp
M llvm/lib/TextAPI/RecordsSlice.cpp
M llvm/lib/TextAPI/Symbol.cpp
M llvm/lib/TextAPI/SymbolSet.cpp
A llvm/test/tools/llvm-readtapi/stubify-ehtypes.test
M llvm/unittests/TextAPI/RecordTests.cpp
M llvm/unittests/TextAPI/TextStubV5Tests.cpp
Log Message:
-----------
[TextAPI] Introduce granularity for handling ObjC Interface symbols (#79928)
ObjCInterfaceRecords roughly align to the objc-classes key in tbd-files.
They condensely represent up to 3 symbols. The problem here is that when
represented this way, we lose granularity when these symbols could have
different linkages or outright don't exist. This can happen frequently
in interoptable code generated by the swift compiler. This adds fields
and utility functions to express unique properties for these symbols. If
the record does represent the same properties across all of its symbols,
it will be treated the same in the TBD. Otherwise it will be printed in
global's section.
Reviewed seperately before by Juergen Ributzka
Commit: 3bf9e63e705f580917e89259e71469a81679bab5
https://github.com/llvm/llvm-project/commit/3bf9e63e705f580917e89259e71469a81679bab5
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M llvm/tools/lli/lli.cpp
Log Message:
-----------
[lli] Use StringRef::consume_front (NFC)
Commit: a112df28edc449e3e47101ffa7d4b6f0bc040c63
https://github.com/llvm/llvm-project/commit/a112df28edc449e3e47101ffa7d4b6f0bc040c63
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M clang/tools/diagtool/TreeView.cpp
Log Message:
-----------
[diagtool] Use StringRef::consume_front (NFC)
Commit: 695b868989d08e8352e0cf063f44d237792481df
https://github.com/llvm/llvm-project/commit/695b868989d08e8352e0cf063f44d237792481df
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUMachineCFGStructurizer.cpp
Log Message:
-----------
[AMDGPU] Use a range-based for loop (NFC)
Commit: 053c0ad49985ce3fe117df72617dd5a77d9e389f
https://github.com/llvm/llvm-project/commit/053c0ad49985ce3fe117df72617dd5a77d9e389f
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M llvm/lib/Target/Mips/MipsBranchExpansion.cpp
Log Message:
-----------
[Mips] Use a range-based for loop (NFC)
Commit: 8582d41789ef8524e72e9c5d5eab305455c8d6bc
https://github.com/llvm/llvm-project/commit/8582d41789ef8524e72e9c5d5eab305455c8d6bc
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[Target] Use SDValue::getConstantOperandVal (NFC)
Commit: 65f486c45d56290655b77711a87f7e4b341b8b6c
https://github.com/llvm/llvm-project/commit/65f486c45d56290655b77711a87f7e4b341b8b6c
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
Log Message:
-----------
AMDGPU: Simplify else if to just else in AMDGPUInstCombineIntrinsic
Fixes #79738
Commit: 9bbde62b521cbe7761f3649fd7b7384a53efc88f
https://github.com/llvm/llvm-project/commit/9bbde62b521cbe7761f3649fd7b7384a53efc88f
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCCodeEmitter.cpp
Log Message:
-----------
AMDGPU: Simplify else if to else in AMDGPUMCCodeEmitter
Fixes #79737
Commit: 659ce8f66597ba19845e407d06156ff33c8c7fb1
https://github.com/llvm/llvm-project/commit/659ce8f66597ba19845e407d06156ff33c8c7fb1
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
Log Message:
-----------
AMDGPU: Simplify else if to else in GCNHazardRecognizer
Fixes #79736
Commit: 7f6d4455231d458a6925ca5c957bb2814c196ea2
https://github.com/llvm/llvm-project/commit/7f6d4455231d458a6925ca5c957bb2814c196ea2
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M mlir/lib/Conversion/MemRefToSPIRV/MapMemRefStorageClassPass.cpp
Log Message:
-----------
[mlir][spirv] Clean up map-memref-storage-class pass (#79937)
Clean up the code before making more substantial changes. NFC modulo
extra error checking and physical storage buffer storage class handling.
* Add switch case for physical storage buffer
* Handle type conversion failures
* Inline methods to reduce scrolling
* Other minor cleanups
Commit: 198652a0ff2553c4ba906be10c22af57d20d0bd3
https://github.com/llvm/llvm-project/commit/198652a0ff2553c4ba906be10c22af57d20d0bd3
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M llvm/lib/Target/TargetMachine.cpp
M llvm/test/CodeGen/X86/code-model-elf.ll
Log Message:
-----------
[X86] Treat __start_*/__stop_* symbols as large (#79909)
Followup to #79884.
The linker adds __start_foo/__stop_foo symbols pointing to the
beginning/end of the foo section. These can be far away from text, so
treat them as large symbols under the medium/large code models.
Performance to access these is almost certainly not important.
Commit: 70eb0e37a86747f9266e4c8380baa89746f5e23b
https://github.com/llvm/llvm-project/commit/70eb0e37a86747f9266e4c8380baa89746f5e23b
Author: Rob Suderman <rob.suderman at gmail.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/test/Dialect/Tensor/canonicalize.mlir
Log Message:
-----------
[mlir][tensor] Fix `tensor.pad` to remove newly static values (#79938)
The canonicalization incrementally converts foldable dynamic hi/lo
padding to static hi/lo values. During this canonicalization the
static-fied valued should be removed from the dynamic values.
Commit: dc4483659fc51890fdc732acc66a4dcda6e68047
https://github.com/llvm/llvm-project/commit/dc4483659fc51890fdc732acc66a4dcda6e68047
Author: Po-yao Chang <poyaoc97 at gmail.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M libcxx/modules/std/atomic.inc
M libcxx/modules/std/iosfwd.inc
M libcxx/modules/std/string.inc
M libcxx/modules/std/string_view.inc
Log Message:
-----------
[libc++][modules] Support using the module std with -fno-char8_t. (#79155)
Exclude some using-declarations in the module purview when compiling
with `-fno-char8_t`.
Commit: a12390e6202eaf1e5d7810109756e10079b9144b
https://github.com/llvm/llvm-project/commit/a12390e6202eaf1e5d7810109756e10079b9144b
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Don't use pointer operand in MemoryLocation for RISC-V strided and indexed load/store intrinsics. (#79890)
It seems that even though we set the size to unknown, there is still an
assumption in alias analysis somewhere that we will only access bytes
*after* the pointer. Since a strided/indexed load/store can have
negative indices, this is not accurate.
This was found in our downstream when the scheduler reordered a strided
load with negative stride above a scalar store that aliased with it.
Commit: 5910e34a2f9a531e0fb6bb4ec1d2888f4a0c0897
https://github.com/llvm/llvm-project/commit/5910e34a2f9a531e0fb6bb4ec1d2888f4a0c0897
Author: XinWang10 <108658776+XinWang10 at users.noreply.github.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/MCTargetDesc/X86EncodingOptimization.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86EncodingOptimizationForImmediate.def
M llvm/test/CodeGen/X86/apx/adc.ll
M llvm/test/CodeGen/X86/apx/add.ll
M llvm/test/CodeGen/X86/apx/and.ll
M llvm/test/CodeGen/X86/apx/or.ll
M llvm/test/CodeGen/X86/apx/rol.ll
M llvm/test/CodeGen/X86/apx/sar.ll
M llvm/test/CodeGen/X86/apx/sbb.ll
M llvm/test/CodeGen/X86/apx/shift-eflags.ll
M llvm/test/CodeGen/X86/apx/shr.ll
M llvm/test/CodeGen/X86/apx/sub.ll
M llvm/test/CodeGen/X86/apx/xor.ll
A llvm/test/MC/X86/apx/adc-reloc.s
A llvm/test/MC/X86/apx/add-reloc.s
A llvm/test/MC/X86/apx/and-reloc.s
A llvm/test/MC/X86/apx/imul-reloc.s
A llvm/test/MC/X86/apx/or-reloc.s
A llvm/test/MC/X86/apx/rcl-encopt.s
A llvm/test/MC/X86/apx/rcr-encopt.s
A llvm/test/MC/X86/apx/rol-encopt.s
A llvm/test/MC/X86/apx/ror-encopt.s
A llvm/test/MC/X86/apx/sar-encopt.s
A llvm/test/MC/X86/apx/sbb-reloc.s
A llvm/test/MC/X86/apx/shl-encopt.s
A llvm/test/MC/X86/apx/shr-encopt.s
A llvm/test/MC/X86/apx/sub-reloc.s
A llvm/test/MC/X86/apx/xor-reloc.s
Log Message:
-----------
[X86][MC] Support encoding optimization & assembler relaxation about immediate operands for APX instructions (#78545)
Encoding optimization:
```
mi/mi32 -> mi8
ri/ri32 -> ri8
```
if the immediate operand is 8-bit wide.
Assembler relaxation:
```
mi8 -> mi/mi32
ri8 -> ri/ri32
```
If the immediate operand is a symbol expression and it's value is
unknown.
Commit: d09082f6fd517759e5c0874a2e73bddd550de299
https://github.com/llvm/llvm-project/commit/d09082f6fd517759e5c0874a2e73bddd550de299
Author: Piyou Chen <piyou.chen at sifive.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M clang/test/Driver/riscv-arch.c
M llvm/lib/Support/RISCVISAInfo.cpp
M llvm/unittests/Support/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Relax march string order constraint (#78120)
Follow
https://github.com/riscv-non-isa/riscv-toolchain-conventions/pull/14 by
dropping the order requirement of `-march`.
1. single-letter extension can be arbitrary order
- march=rv32iamdf
2. single-letter extension and multi-letter extension can be mixed
- march=rv32i_zihintntl_m_a_f_d_svinval
3. multi-letter extension need seperate the following extension by
underscore, otherwise it will be intreprete as one extension.
- march=rv32i_zbam -> i,zbam
- march=rv32i_zba_m -> i,zba,m
Commit: 67f0a6917c07df6a21580adb567b1a8964818d92
https://github.com/llvm/llvm-project/commit/67f0a6917c07df6a21580adb567b1a8964818d92
Author: ampandey-1995 <137622562+ampandey-1995 at users.noreply.github.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
A llvm/test/Instrumentation/AddressSanitizer/AMDGPU/asan_instrument_mem_intrinsics.ll
Log Message:
-----------
[ASan][AMDGPU] Fix Assertion Failure. (#79795)
Assertion failure `(i >= FTy->getNumParams() || FTy->getParamType(i) ==
Args[i]->getType()) && "Calling a function with a bad signature!"'. The
'llvm.memcpy' intercepted by ASan instrumentation pass is implemented by
it's own __asan_memcpy implementation. The second argument of
llvm.memcpy accepts ptr to addrspace(4), __asan_memcpy also has to
follow ptr to addrspace(4) convention.
---------
Co-authored-by: Amit Pandey <amit.pandey at amd.com>
Commit: cb46c6181770dabad59cc738ad1d26ad78b5f885
https://github.com/llvm/llvm-project/commit/cb46c6181770dabad59cc738ad1d26ad78b5f885
Author: Kyungwoo Lee <kyulee at meta.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M lld/MachO/Driver.cpp
M lld/MachO/SyntheticSections.cpp
M lld/MachO/SyntheticSections.h
M lld/MachO/Writer.cpp
A lld/test/MachO/arm64-objc-stubs-dead.s
Log Message:
-----------
[lld-macho] dead-strip objc stubs (#79726)
This supports dead-strip for objc stubs.
Commit: 2800448f88cbc83f688f7848d6ebce247962bd19
https://github.com/llvm/llvm-project/commit/2800448f88cbc83f688f7848d6ebce247962bd19
Author: Shih-Po Hung <shihpo.hung at sifive.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/RISCV/reduce-max.ll
M llvm/test/Analysis/CostModel/RISCV/reduce-min.ll
M llvm/test/Analysis/CostModel/RISCV/reduce-scalable-fp.ll
M llvm/test/Analysis/CostModel/RISCV/reduce-scalable-int.ll
Log Message:
-----------
[RISCV] Refine cost on Min/Max reduction (#79402)
This patch is split off from #77342, and follows #79103
- Correct for CodeSize cost that 1 instruction is not included. 3 is
from {VMV.S, ReductionOp, VMV.X}
- Add SplitCost which chains a series of VMAX/VMIN/... which scales with
LMUL.
- Use MVT to estimate VL.
Commit: 1a219e989f07eef06fbc9f75ad0c07ebdc652334
https://github.com/llvm/llvm-project/commit/1a219e989f07eef06fbc9f75ad0c07ebdc652334
Author: XinWang10 <108658776+XinWang10 at users.noreply.github.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86CompressEVEX.cpp
M llvm/test/CodeGen/X86/apx/compress-evex.mir
M llvm/utils/TableGen/X86ManualCompressEVEXTables.def
Log Message:
-----------
[X86] Support EVEX compression from MOVBErr to BSWAP (#79775)
APX promoted MOVBE instructions were supported in #77431. The reg2reg
variants of MOVBE are newly introduced by APX and can be optimized to
BSWAP instruction when the 2 register operands are same.
This patch adds manual entries for MOVBErr instructions when we do ndd
to non-ndd compression #77731.
RFC:
https://discourse.llvm.org/t/rfc-design-for-apx-feature-egpr-and-ndd-support/73031/4
Commit: 597f56f309815bcda9f38dd6040d7c7e0e520547
https://github.com/llvm/llvm-project/commit/597f56f309815bcda9f38dd6040d7c7e0e520547
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M clang/include/clang/AST/ComparisonCategories.h
M clang/lib/AST/ComparisonCategories.cpp
Log Message:
-----------
[clang][AST][NFC] Take const CXXRecordDecl* in ComparisonCategories
The class member is already const.
Commit: 547113fd1f52e2a3d08e3b71ddcd47505ca4a21a
https://github.com/llvm/llvm-project/commit/547113fd1f52e2a3d08e3b71ddcd47505ca4a21a
Author: Markus Böck <markus.boeck02 at gmail.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M mlir/include/mlir/IR/EnumAttr.td
M mlir/lib/Dialect/Arith/IR/ArithCanonicalization.td
M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
M mlir/test/IR/enum-attr-roundtrip.mlir
M mlir/test/lib/Dialect/Test/TestOps.td
Log Message:
-----------
[mlir][ODS] Add `ConstantEnumCase` (#78992)
Specifying an enum case of an enum attr currently requires the use of
either `NativeCodeCall` or a `ConstantAttr` specifying the full C++ name
of the enum case. The disadvantages of both are less readable code due
to including C++ expressions and very few checks of any kind, creating
C++ code that does not compile instead.
This PR adds `ConstantEnumCase`, a kind of `ConstantAttr` which
automatically derives the correct value representation from a given enum
and the string representation of an enum case. It supports both
`EnumAttrInfo`s (enums wrapping `IntegerAttr`) and `EnumAttr` (proper
dialect attributes). It even supports bit-enums, allowing one to list
multiple enum cases and have them be combined. If an enum case is not
found, an assertion is triggered with a proper error message.
Besides the tests, it was also used to simplify DRR patterns in the
arith dialect.
Commit: fd3edd452339b507345ccad991f45110e08cd815
https://github.com/llvm/llvm-project/commit/fd3edd452339b507345ccad991f45110e08cd815
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M libc/src/__support/FPUtil/FPBits.h
M libc/test/src/__support/FPUtil/fpbits_test.cpp
Log Message:
-----------
[libc] Add test to check all properties for all FPBit types. (#79851)
This test is platform agnostic, it runs all tests on all architectures.
Commit: 7a51aeadb933301a38bf2e81e25618bcf173fa8e
https://github.com/llvm/llvm-project/commit/7a51aeadb933301a38bf2e81e25618bcf173fa8e
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86CompressEVEX.cpp
Log Message:
-----------
[X86] Silence -Wlogical-op-parentheses in X86CompressEVEX.cpp (NFC)
llvm-project/llvm/lib/Target/X86/X86CompressEVEX.cpp:233:15:
error: '&&' within '||' [-Werror,-Wlogical-op-parentheses]
if (!IsND && !IsMovberr || !isRedundantNewDataDest(MI, ST))
~~~~~~^~~~~~~~~~~~~ ~~
llvm-project/llvm/lib/Target/X86/X86CompressEVEX.cpp:233:15:
note: place parentheses around the '&&' expression to silence this warning
if (!IsND && !IsMovberr || !isRedundantNewDataDest(MI, ST))
^
( )
1 error generated.
Commit: 3df262f89d22e37d12775137cd0f014b4848a4e1
https://github.com/llvm/llvm-project/commit/3df262f89d22e37d12775137cd0f014b4848a4e1
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M llvm/docs/GitHub.rst
M llvm/docs/MyFirstTypoFix.rst
Log Message:
-----------
[llvm][Docs] Expand MyFirstTypoFix's post-commit section (#79827)
And link to it from the GitHub guide. Since it fits in the flow of the
former document better, but is of interest to those using the GitHub
specific guide.
This includes some content I wrote for an automated PR comment but I
think is useful to have in a single place to link to instead.
I have removed some details:
* About the waterfall view because it doesn't seem that useful to new
contributors and is likely to just seem like constant chaos given how
many builds are going on.
* The orange bubbles in the console view. I also remember this being the
case but whether it was changed, or the web UI is just not loading
properly, I now see red builds that were red before that commit. So
again, it seems like detail that's not needed for a new contributor.
Commit: 58779495d3613386398fc70faeb098674d7757b5
https://github.com/llvm/llvm-project/commit/58779495d3613386398fc70faeb098674d7757b5
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M clang/include/clang/AST/Expr.h
M clang/lib/AST/Expr.cpp
Log Message:
-----------
[clang][AST][NFC] Make FieldDecl in SubobjectAdjustment const
Commit: 4c2422e56ef17ca113be160cf85672c4736bc11e
https://github.com/llvm/llvm-project/commit/4c2422e56ef17ca113be160cf85672c4736bc11e
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M llvm/test/Analysis/StackSafetyAnalysis/local.ll
Log Message:
-----------
[StackSafetyAnalysis] Add test with non-pointer use (NFC)
Commit: e9e1a72c22181993edf5bd0b660538081c2cdfb5
https://github.com/llvm/llvm-project/commit/e9e1a72c22181993edf5bd0b660538081c2cdfb5
Author: Gábor Spaits <48805437+spaits at users.noreply.github.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M clang/test/SemaTemplate/deduction.cpp
Log Message:
-----------
[Sema] Restructure and extend the testing of template pack deduction (#79881)
Add tests for empty pack deduction from function arguments.
Commit: f214933bc538c719403804069941de301487c39b
https://github.com/llvm/llvm-project/commit/f214933bc538c719403804069941de301487c39b
Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M clang/test/CodeGen/attr-target-version.c
M llvm/include/llvm/TargetParser/AArch64TargetParser.h
Log Message:
-----------
[FMV] Change feature priorities according to ACLE. (#79316)
This patch follows the latest ACLE specification as shown in PR
https://github.com/ARM-software/acle/pull/279. It adjusts the
priorities for FEAT_DOTPROD, FEAT_SM4, FEAT_FP16FML, FEAT_RDM.
Commit: 2fb3c9b90394013d4a3222619cd1d6173c104741
https://github.com/llvm/llvm-project/commit/2fb3c9b90394013d4a3222619cd1d6173c104741
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M llvm/lib/Analysis/StackSafetyAnalysis.cpp
A llvm/test/Analysis/StackSafetyAnalysis/extend-ptr.ll
Log Message:
-----------
[StackSafetyAnalysis] Don't call getTruncateOrZeroExtend for pointers of different sizes (#79804)
Otherwise SCEV asserts `Can't extend pointer!`
Fixes SWDEV-442670
Commit: c61686e8abc2aee6e2e0ad09c6d1ade534e497b3
https://github.com/llvm/llvm-project/commit/c61686e8abc2aee6e2e0ad09c6d1ade534e497b3
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M clang/lib/Analysis/CFG.cpp
M clang/lib/CodeGen/CGExprConstant.cpp
M clang/lib/Sema/JumpDiagnostics.cpp
Log Message:
-----------
[clang][NFC] Use no-param version of skipRValueSubobjectAdjustments
when possible.
Commit: 5a00cb1abfedbcc0fb60a9b11b4a9876160e3a92
https://github.com/llvm/llvm-project/commit/5a00cb1abfedbcc0fb60a9b11b4a9876160e3a92
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M clang/test/Driver/riscv-arch.c
M llvm/lib/Support/RISCVISAInfo.cpp
M llvm/unittests/Support/RISCVISAInfoTest.cpp
Log Message:
-----------
Revert "[RISCV] Relax march string order constraint" (#79976)
Reverts llvm/llvm-project#78120
Buildbot is broken:
llvm/lib/Support/RISCVISAInfo.cpp:910:18: error: call to deleted
constructor of 'llvm::Error'
return E;
^
Commit: e5054fb5c660cb81d1f96498e39662914a92a167
https://github.com/llvm/llvm-project/commit/e5054fb5c660cb81d1f96498e39662914a92a167
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M llvm/test/CodeGen/X86/popcnt.ll
Log Message:
-----------
[X86][test] Update CodeGen/X86/popcnt.ll after #78545
Commit: f7ef73ea889a43b893f6277a2ecc227fd2bf803a
https://github.com/llvm/llvm-project/commit/f7ef73ea889a43b893f6277a2ecc227fd2bf803a
Author: Yi Wu <43659785+yi-wu-arm at users.noreply.github.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M mlir/include/mlir/Dialect/Arith/IR/ArithOps.td
M mlir/lib/Conversion/ArithToLLVM/ArithToLLVM.cpp
M mlir/lib/Conversion/ArithToSPIRV/ArithToSPIRV.cpp
M mlir/test/Conversion/ArithToLLVM/arith-to-llvm.mlir
M mlir/test/Conversion/ArithToSPIRV/arith-to-spirv.mlir
M mlir/test/Dialect/Arith/ops.mlir
Log Message:
-----------
[mlir] [arith] add shl overflow flag in Arith and lower to SPIR-V and LLVMIR (#79828)
There is no `SHL` used in canonicalization in `arith`
---------
Co-authored-by: Jakub Kuderski <kubakuderski at gmail.com>
Co-authored-by: Tobias Gysi <tobias.gysi at nextsilicon.com>
Commit: 0e17684cf5ce3b99e8f732f53c3534990ad91fd5
https://github.com/llvm/llvm-project/commit/0e17684cf5ce3b99e8f732f53c3534990ad91fd5
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
M llvm/include/llvm/MC/MCRegisterInfo.h
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
M llvm/unittests/CodeGen/MachineInstrTest.cpp
M llvm/utils/TableGen/RegisterInfoEmitter.cpp
Log Message:
-----------
[AMDGPU] Speed up SIRegisterInfo::getReservedRegs (#79844)
reserveRegisterTuples is slow because it uses MCRegAliasIterator and
hence ends up reserving the same aliased registers many times. This
patch changes getReservedRegs not to use it for reserving SGPRs, VGPRs
and AGPRs. Instead it iterates through base register classes, which
should come closer to reserving each register once only.
Overall this speeds up the time to run check-llvm-codegen-amdgpu in my
Release build from 18.4 seconds to 16.9 seconds (all timings +/- 0.2).
Commit: 04d20b17050203e07394b4f9ee61b5affe2d5347
https://github.com/llvm/llvm-project/commit/04d20b17050203e07394b4f9ee61b5affe2d5347
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaConcept.cpp
M clang/test/SemaTemplate/concepts-out-of-line-def.cpp
Log Message:
-----------
[concepts] Set up an instantiation scope for constraint expression comparison (#79698)
This is a follow-up for the comparison of constraints on out-of-line
function template definitions. We require the instantiation of a
ParmVarDecl while transforming the expression if that Decl gets
referenced by a DeclRefExpr. However, we're not actually performing the
class or function template instantiation at the time of such comparison.
Therefore, let's map these parameters to themselves so that they get
preserved after the substitution.
Fixes https://github.com/llvm/llvm-project/issues/74447.
Commit: 70ae1098ba1a695478a2d62a9fe7c35b43c90ffa
https://github.com/llvm/llvm-project/commit/70ae1098ba1a695478a2d62a9fe7c35b43c90ffa
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] X86ISelLowering.cpp - add clang-format on/off tags around 'compressed' switch code. NFC.
Stop clang-format trying to expand manually compressed lookup switch() code - if it still fits into 80col, then keep it to a single line instead of expanding across multiple lines each.
Commit: 0c623b58e39cba7e67a0049dbcac87fdcc0103e1
https://github.com/llvm/llvm-project/commit/0c623b58e39cba7e67a0049dbcac87fdcc0103e1
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86CompressEVEX.cpp
Log Message:
-----------
[X86] X86CompressEVEX.cpp - ensure we tie the operands on MOVBErr instructions
Minor correction for #79775 - noticed in EXPENSIVE_CHECKS builds
Commit: ef67f63fa5f950f4056b5783e92e137342805d74
https://github.com/llvm/llvm-project/commit/ef67f63fa5f950f4056b5783e92e137342805d74
Author: Andrey Ali Khan Bolshakov <32954549+bolshakov-a at users.noreply.github.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/StaticAnalyzer/Core/Environment.cpp
M clang/test/Analysis/templates.cpp
M clang/test/SemaTemplate/temp_arg_nontype_cxx20.cpp
Log Message:
-----------
Fix analyzer crash on 'StructuralValue' (#79764)
`OpaqueValueExpr` doesn't necessarily contain a source expression.
Particularly, after #78041, it is used to carry the type and the value
kind of a non-type template argument of floating-point type or referring
to a subobject (those are so called `StructuralValue` arguments).
This fixes #79575.
Commit: 2acf302c1bd562a648cc5bcd0bac04433696f5f4
https://github.com/llvm/llvm-project/commit/2acf302c1bd562a648cc5bcd0bac04433696f5f4
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86CompressEVEX.cpp
Log Message:
-----------
[X86][NFC] X86CompressEVEX.cpp - Simplify code after 0c623b58e39cba7e67a0049dbcac87fdcc0103e1
Commit: 683bc94e1637bd9bacc978f5dc3c79cfc8ff94b9
https://github.com/llvm/llvm-project/commit/683bc94e1637bd9bacc978f5dc3c79cfc8ff94b9
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/include/__config
M libcxx/include/__format/format_functions.h
Log Message:
-----------
[libc++] Officially remove _VSTD and _LIBCPP_INLINE_VISIBILITY (#79885)
Those were deprecated and basically not used anymore after we renamed
them in batch. This patch removes the macros entirely.
Commit: fdac7d0b6f74f919d319b31a0680c77f66732586
https://github.com/llvm/llvm-project/commit/fdac7d0b6f74f919d319b31a0680c77f66732586
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
Log Message:
-----------
[OpenMPIRBuilder] NFC: Improve description of IsTargetDevice and IsGPU (#79322)
This patch tries to better explain the differences between the
`IsTargetDevice` and `IsGPU` flags of the `OpenMPIRBuilderConfig`.
Commit: 02a275cca166546e32153997e4c800763ba7fc85
https://github.com/llvm/llvm-project/commit/02a275cca166546e32153997e4c800763ba7fc85
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86InstrInfo.cpp
Log Message:
-----------
[X86][CodeGen] Add entries for TB_BCAST_SH in getBroadcastOpcode
Commit: 6251b6bd8d219fe2d99d125095622566721fe6f4
https://github.com/llvm/llvm-project/commit/6251b6bd8d219fe2d99d125095622566721fe6f4
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/vec3-loads-ext-trunc-stores.ll
Log Message:
-----------
[AArch64] Add tests with sext of vec3 loads.
Another round of additional tests for
https://github.com/llvm/llvm-project/pull/7863
with different sext/zext and use variants.
Commit: a0d266d705d6c145e8daa08a08f70e9498ec3d0b
https://github.com/llvm/llvm-project/commit/a0d266d705d6c145e8daa08a08f70e9498ec3d0b
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaDecl.cpp
M clang/test/CXX/class.access/p4.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
M clang/test/CXX/drs/dr16xx.cpp
M clang/test/CXX/module/module.interface/p2-2.cpp
M clang/test/SemaCXX/enum-scoped.cpp
M clang/test/SemaCXX/nested-name-spec.cpp
M clang/test/SemaTemplate/elaborated-type-specifier.cpp
M clang/test/SemaTemplate/qualified-id.cpp
Log Message:
-----------
[Clang][Sema] Allow elaborated-type-specifiers that declare member class template explict specializations (#78720)
According to [[dcl.type.elab]
p2](http://eel.is/c++draft/dcl.type.elab#2):
> If an
[elaborated-type-specifier](http://eel.is/c++draft/dcl.type.elab#nt:elaborated-type-specifier)
is the sole constituent of a declaration, the declaration is ill-formed
unless it is an explicit specialization, an explicit instantiation or it
has one of the following forms [...]
Consider the following:
```cpp
template<typename T>
struct A
{
template<typename U>
struct B;
};
template<>
template<typename U>
struct A<int>::B; // #1
```
The _elaborated-type-specifier_ at `#1` declares an explicit
specialization (which is itself a template). We currently (incorrectly)
reject this, and this PR fixes that.
I moved the point at which _elaborated-type-specifiers_ with
_nested-name-specifiers_ are diagnosed from `ParsedFreeStandingDeclSpec`
to `ActOnTag` for two reasons: `ActOnTag` isn't called for explicit
instantiations and partial/explicit specializations, and because it's
where we determine if a member specialization is being declared.
With respect to diagnostics, I am currently issuing the diagnostic
without marking the declaration as invalid or returning early, which
results in more diagnostics that I think is necessary. I would like
feedback regarding what the "correct" behavior should be here.
Commit: f89d707e5f5e531fb854f70e02d9eaa32aaf19bd
https://github.com/llvm/llvm-project/commit/f89d707e5f5e531fb854f70e02d9eaa32aaf19bd
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M libcxx/include/__config
M libcxx/include/__utility/pair.h
M libcxx/include/string
M libcxx/include/tuple
M libcxx/include/vector
Log Message:
-----------
[libc++] Accept __VA_ARGS__ in conditional _NOEXCEPT_ macro (#79877)
This prevents having to use double parentheses in common cases.
Commit: 7162fd750ee5f786f3b9b7a7b26b72ee36ce772e
https://github.com/llvm/llvm-project/commit/7162fd750ee5f786f3b9b7a7b26b72ee36ce772e
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M libcxx/docs/DesignDocs/ThreadingSupportAPI.rst
M libcxx/include/CMakeLists.txt
M libcxx/include/__atomic/atomic_flag.h
M libcxx/include/__atomic/atomic_sync.h
M libcxx/include/__condition_variable/condition_variable.h
M libcxx/include/__mutex/mutex.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/libcxx.imp
M libcxx/include/module.modulemap.in
M libcxx/include/mutex
M libcxx/include/semaphore
M libcxx/include/thread
M libcxx/src/call_once.cpp
M libcxx/src/condition_variable_destructor.cpp
M libcxx/src/mutex_destructor.cpp
M libcxx/src/support/win32/thread_win32.cpp
M libcxx/utils/generate_iwyu_mapping.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/test/test_fallback_malloc.pass.cpp
Log Message:
-----------
[libc++] Split the monolithic __threading_support header (#79654)
The <__threading_support> header is a huge beast and it's really
difficult to navigate. I find myself struggling to find what I want
every time I have to open it, and I've been considering splitting it up
for years for that reason.
This patch aims not to contain any functional change. The various
implementations of the threading base are simply moved to separate
headers and then the individual headers are simplified in mechanical
ways. For example, we used to have redundant declarations of all the
functions at the top of `__threading_support`, and those are removed
since they are not needed anymore. The various #ifdefs are also
simplified and removed when they become unnecessary.
Finally, this patch adds documentation for the API we expect from any
threading implementation.
Commit: e37a6008831b38477516362892dd3c0d97087eff
https://github.com/llvm/llvm-project/commit/e37a6008831b38477516362892dd3c0d97087eff
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M libcxx/include/__tuple/sfinae_helpers.h
M libcxx/test/libcxx/utilities/tuple/tuple.tuple/tuple.assign/tuple_array_template_depth.pass.cpp
Log Message:
-----------
[libc++][NFC] Remove dead code implementing some tuple SFINAE checks (#79871)
Some of the checks in sfinae_helpers.h were not used anymore since we
refactored the std::tuple implementation and were now dead code. This
patch removes the code.
Commit: 4017f04e310454ccced4c404a23f7698eec735ca
https://github.com/llvm/llvm-project/commit/4017f04e310454ccced4c404a23f7698eec735ca
Author: Tacet <4922191+AdvenamTacet at users.noreply.github.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M libcxx/include/string
Log Message:
-----------
Remove unnecessary _LIBCPP_STRING_INTERNAL_MEMORY_ACCESS (#79574)
This macro is unnecessary with `basic_string& operator=(value_type
__c)`.
Commit: c3668779c13596e223c26fbd49670d18cd638c40
https://github.com/llvm/llvm-project/commit/c3668779c13596e223c26fbd49670d18cd638c40
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/include/__string/char_traits.h
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
Log Message:
-----------
[libc++] Remove deprecated char_traits base template (#72694)
This patch has quite a bit of history. First, it must be noted that the
Standard only specifies specializations of char_traits for char,
char8_t, char16_t, char32_t and wchar_t. However, before this patch, we
would provide a base template that accepted anything, and as a result
code like `std::basic_string<long long>` would compile but nobody knows
what it really does. It basically compiles by accident.
We marked the base template as deprecated in LLVM 15 or 16 and were
planning on removing it in LLVM 17, which we did in e30a148b098d.
However, it turned out that the deprecation warning had never been
visible in user code since Clang did not surface that warning from
system headers. As a result, this caught people by surprise and we
decided to reintroduce the base template in LLVM 17 in cce062d226ba.
Since then, #70353 changed Clang so that such deprecation warnings would
be visible from user code. Hence, this patch closes the loop and removes
the deprecated specializations.
Commit: 837bff11cb7d31f40805c73d4f539960a77eda33
https://github.com/llvm/llvm-project/commit/837bff11cb7d31f40805c73d4f539960a77eda33
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M flang/include/flang/Lower/Bridge.h
M flang/include/flang/Optimizer/CodeGen/CGPasses.td
M flang/include/flang/Optimizer/CodeGen/Target.h
M flang/include/flang/Optimizer/Dialect/Support/FIRContext.h
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.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/Support/FIRContext.cpp
M flang/test/Driver/save-mlir-temps.f90
A flang/test/Fir/target-rewrite-target-cpu.fir
A flang/test/Fir/target-rewrite-target-features.fir
A flang/test/Lower/target-features-amdgcn.f90
A flang/test/Lower/target-features-x86_64.f90
M flang/tools/bbc/bbc.cpp
M flang/tools/tco/tco.cpp
M flang/unittests/Optimizer/FIRContextTest.cpp
Log Message:
-----------
[Flang][Lower] Attach target_cpu and target_features attributes to MLIR functions (#78289)
This patch forwards the target CPU and features information from the
Flang frontend to MLIR func.func operation attributes, which are later
used to populate the target_cpu and target_features llvm.func
attributes.
This is achieved in two stages:
1. Introduce the `fir.target_cpu` and `fir.target_features` module
attributes with information from the target machine immediately after
the initial creation of the MLIR module in the lowering bridge.
2. Update the target rewrite flang pass to get this information from the
module and pass it along to all func.func MLIR operations, respectively
as attributes named `target_cpu` and `target_features`. These attributes
will be automatically picked up during Func to LLVM dialect lowering and
used to initialize the corresponding llvm.func named attributes.
The target rewrite and FIR to LLVM lowering passes are updated with the
ability to override these module attributes, and the `CodeGenSpecifics`
optimizer class is augmented to make this information available to
target-specific MLIR transformations.
This completes a full flow by which target CPU and features make it all
the way from compiler options to LLVM IR function attributes.
Commit: 7565ae6eb99b6d3c5d83d04404a2df1b3785dbfe
https://github.com/llvm/llvm-project/commit/7565ae6eb99b6d3c5d83d04404a2df1b3785dbfe
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M lldb/test/API/functionalities/breakpoint/hardware_breakpoints/require_hw_breakpoints/TestRequireHWBreakpoints.py
Log Message:
-----------
[lldb][test][NFC] Refactor xfails in TestRequireHWBreakpoints.py
This file used a strange, multi-level setup where we skipped on
a function we used for xfailing. Let's not do that, just skip
the one test we care about.
Also added a comment to explain how this file works. The tests
*want* calls to fail when we ask for only hardware breaks
but have none to use.
If you don't know that, it all seems backwards.
Commit: ace383df52c0d2cf5f0afa4508f831a027fccbb4
https://github.com/llvm/llvm-project/commit/ace383df52c0d2cf5f0afa4508f831a027fccbb4
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M libc/src/__support/FPUtil/DivisionAndRemainderOperations.h
M libc/src/__support/FPUtil/FPBits.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/str_to_float.h
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/atanhf.cpp
M libc/src/math/generic/cosf.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/sincosf.cpp
M libc/src/math/generic/sinf.cpp
M libc/src/math/generic/tanf.cpp
M libc/test/UnitTest/FPMatcher.h
M libc/test/src/__support/FPUtil/fpbits_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/smoke/FDimTest.h
M libc/test/src/math/smoke/FmaTest.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/stdio/sprintf_test.cpp
M libc/test/src/stdio/sscanf_test.cpp
Log Message:
-----------
[libc][NFC] Rename `FPBits` nan functions (#79998)
- [libc][NFC] Rename FPBits nan functions
- rename build_signaling_nan in signaling_nan
- rename build_quiet_nan to quiet_nan
Commit: 8774d2936dd1cf0ee8d74ff600359d465179d009
https://github.com/llvm/llvm-project/commit/8774d2936dd1cf0ee8d74ff600359d465179d009
Author: ita-sc <109672931+ita-sc at users.noreply.github.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
Log Message:
-----------
[lldb][RISCV] Fix connection error to gdb server for RISC-V (#79990)
This patch fix connection for LLDB for remote gdb server running on
RISC-V.
You can test connection with OpenOCD or qemu-riscv64.
Commit: 748c29590829cdc0b9572e51d212b3a1d313c318
https://github.com/llvm/llvm-project/commit/748c29590829cdc0b9572e51d212b3a1d313c318
Author: Alex Bradbury <asb at igalia.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
M mlir/test/Dialect/LLVMIR/func.mlir
M mlir/test/Target/LLVMIR/Import/function-attributes.ll
A mlir/test/Target/LLVMIR/fp-math-function-attributes.mlir
Log Message:
-----------
[MLIR][LLVM] Add fast-math related function attribute support (#79812)
Adds unsafe-fp-math, no-infs-fp-math, no-nans-fp-math,
approx-func-fp-math, and no-signed-zeros-fp-math function attributes.
This allows code generators using the LLVMIR dialect to match the
codegen of Clang.
Commit: d1e162e5d94e8c0b1c46bc0c9c45f96eacdd75c8
https://github.com/llvm/llvm-project/commit/d1e162e5d94e8c0b1c46bc0c9c45f96eacdd75c8
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/vec3-loads-ext-trunc-stores.ll
Log Message:
-----------
[AArch64] Add custom lowering for load <3 x i8>. (#78632)
Add custom combine to lower load <3 x i8> as the more efficient sequence
below:
ldrb wX, [x0, #2]
ldrh wY, [x0]
orr wX, wY, wX, lsl #16
fmov s0, wX
At the moment, there are almost no cases in which such vector operations
will be generated automatically. The motivating case is non-power-of-2
SLP vectorization: https://github.com/llvm/llvm-project/pull/77790
Commit: 77e5136ce4221a9f02e905e6079f01d497cfe79e
https://github.com/llvm/llvm-project/commit/77e5136ce4221a9f02e905e6079f01d497cfe79e
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M llvm/include/llvm/CodeGen/RegisterClassInfo.h
M llvm/lib/CodeGen/RegisterClassInfo.cpp
Log Message:
-----------
[CodeGen] Use RegUnits in RegisterClassInfo::getLastCalleeSavedAlias (#79996)
Change the implementation of getLastCalleeSavedAlias to use RegUnits
instead of register aliases. This is much faster on targets like AMDGPU
which define a very large number of overlapping register tuples.
No functional change intended. If PhysReg overlaps multiple CSRs then
getLastCalleeSavedAlias(PhysReg) could conceivably return a different
arbitrary one, but currently it is only used for some debug printing
anyway.
Differential Revision: https://reviews.llvm.org/D146734
Commit: 6aed6cc40ec0006bb43f1ec4b2ec87702392ad6e
https://github.com/llvm/llvm-project/commit/6aed6cc40ec0006bb43f1ec4b2ec87702392ad6e
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M openmp/libomptarget/DeviceRTL/CMakeLists.txt
M openmp/libomptarget/DeviceRTL/src/Mapping.cpp
M openmp/libomptarget/DeviceRTL/src/Misc.cpp
M openmp/libomptarget/DeviceRTL/src/Synchronization.cpp
M openmp/libomptarget/DeviceRTL/src/Utils.cpp
Log Message:
-----------
[Libomptarget] Remove remaining inline assembly from the device RTL (#79922)
Summary:
Recent patches have added some missing intrinsic functions NVPTX. This
patch gets rid of all the remaining uses of inline assembly. The one
change that wasn't directly replaced with a built-in was the `pack` and
`unpack` implementations. However, using the generic C implementation is
equivalent to the output SASS when run through PTXAS.
Commit: 976374d9828582f1ca4a4bb4da96fb67c20949f8
https://github.com/llvm/llvm-project/commit/976374d9828582f1ca4a4bb4da96fb67c20949f8
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC]Use MutableArrayRef instead of SmallVectorImpl&, NFC.
Commit: 0f9ab7b861268618988c5271e2227b9ab4c1827b
https://github.com/llvm/llvm-project/commit/0f9ab7b861268618988c5271e2227b9ab4c1827b
Author: David Benjamin <davidben at google.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M libcxx/include/deque
M libcxx/test/libcxx/containers/sequences/deque/asan_caterpillar.pass.cpp
A libcxx/test/libcxx/containers/sequences/deque/assert.pass.cpp
Log Message:
-----------
[libc++][hardening] Add hardening assertions to std::deque (#79397)
This aligns std::deque with std::vector w.r.t. hardening checks. There's
probably more that can be done with iterators, but start with this.
This caught a bug with one of libc++'s tests. One of the erase calls in
asan_caterpillar.pass.cpp was a no-op because the iterators were in the
other order. (deque::erase happened to cleanly do nothing when the
distance is negative.)
Fixes #63809
Commit: 24a903c4057e06579e475277377713dc49fef232
https://github.com/llvm/llvm-project/commit/24a903c4057e06579e475277377713dc49fef232
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M libc/src/__support/FPUtil/FPBits.h
M libc/src/math/generic/explogxf.h
M libc/src/math/generic/hypotf.cpp
M libc/src/math/generic/log1pf.cpp
M libc/src/math/generic/range_reduction_fma.h
M libc/test/src/math/atanhf_test.cpp
M libc/test/src/math/smoke/atanhf_test.cpp
M libc/test/src/math/smoke/nan_test.cpp
M libc/test/src/math/smoke/nanf_test.cpp
Log Message:
-----------
[libc][NFC] Move functions from `FPBits` to `FPRep`, make `bits` member private (#79974)
Commit: 21d75ee2164015e0023b6ec0067eac731c56448b
https://github.com/llvm/llvm-project/commit/21d75ee2164015e0023b6ec0067eac731c56448b
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M libcxx/docs/Contributing.rst
Log Message:
-----------
[libc++][docs] Add `_LIBCPP_PUSH_MACROS` and `_LIBCPP_POP_MACROS` (#79963)
I got tripped twice after: 7b4622514d232ce5f7110dd8b20d90e81127c467
Let's at least mention these in the `Contributing.rst` doc.
Commit: b52fe2df9178022f146fe1776b9a9fd7f4b29bb4
https://github.com/llvm/llvm-project/commit/b52fe2df9178022f146fe1776b9a9fd7f4b29bb4
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M clang/include/clang/Basic/OpenACCKinds.h
M clang/include/clang/Parse/Parser.h
M clang/lib/Parse/ParseOpenACC.cpp
M clang/test/ParserOpenACC/parse-clauses.c
Log Message:
-----------
[OpenACC] Implement 'gang' clause parsing.
The 'gang' clause takes a 'gang-arg-list', which is one of three 'tag'
values, followed by either an 'int-expr' or a 'size-expr', both of which
we already have parsing functions for.
The optional tag values are only slightly complicated, as one is a
keyword (static), so mild modifications needed to be made for that.
Commit: a9ffdc171aea346754fd63e9b5986853f2d819e7
https://github.com/llvm/llvm-project/commit/a9ffdc171aea346754fd63e9b5986853f2d819e7
Author: Billy Laws <blaws05 at gmail.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M lld/Common/DriverDispatcher.cpp
M lld/MinGW/Driver.cpp
M lld/test/MinGW/driver.test
Log Message:
-----------
[lld] [MinGW] Support targeting ARM64EC (#78911)
'arm64ecpe' was chosen arbitrarily as gcc MinGW doesn't provide EC
support.
Commit: c0f29e83dbcc6789e74918ac6d8d46b8833f45aa
https://github.com/llvm/llvm-project/commit/c0f29e83dbcc6789e74918ac6d8d46b8833f45aa
Author: Boian Petkantchin <boian.petkantchin at amd.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M mlir/docs/Dialects/Mesh.md
M mlir/include/mlir/Dialect/Mesh/IR/MeshOps.td
Log Message:
-----------
[mlir][mesh] Make most collectives pure (#79643)
There are assumptions of matching/consistent paths of execution under SPMD that allow to have pure collective communication operations.
Commit: 4d3b502704809c9605b9568c6feb2a2f0ca51907
https://github.com/llvm/llvm-project/commit/4d3b502704809c9605b9568c6feb2a2f0ca51907
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
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
M libcxx/test/std/utilities/allocator.adaptor/types.pass.cpp
Log Message:
-----------
[libc++][NFC] Format the scoped_allocator_adaptor tests
Commit: a3e35a4ea6fa8f1d765674c57ad280d1cbeceb4b
https://github.com/llvm/llvm-project/commit/a3e35a4ea6fa8f1d765674c57ad280d1cbeceb4b
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
A libcxx/test/std/utilities/allocator.adaptor/types.compile.pass.cpp
R libcxx/test/std/utilities/allocator.adaptor/types.pass.cpp
Log Message:
-----------
[libc++] Move scoped allocator adaptor test to .compile.pass.cpp
Commit: 0d965080b48c5661d7cc5d043be19a6a72165001
https://github.com/llvm/llvm-project/commit/0d965080b48c5661d7cc5d043be19a6a72165001
Author: Nico Weber <thakis at chromium.org>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn] port 7162fd750ee5
Commit: 3a085e98ac1277834d99f4f4ce0d5c95fccb9092
https://github.com/llvm/llvm-project/commit/3a085e98ac1277834d99f4f4ce0d5c95fccb9092
Author: Nico Weber <thakis at chromium.org>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn] use write_cmake_config() for __assertion_handler
Commit: 0129ff17a9885d76d3700fee56500848c28e3fc1
https://github.com/llvm/llvm-project/commit/0129ff17a9885d76d3700fee56500848c28e3fc1
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M libc/test/include/CMakeLists.txt
Log Message:
-----------
[libc] Fix running 'stdbit.h' tests if file is never generated
Summary:
This test was added to test the generated header. Unfortunately this
doesn't work if the header is never generated. Add a check to make sure
the user has included it in the list of headers.
Commit: 00582636009d51c5781b9cae8fde858ab3758306
https://github.com/llvm/llvm-project/commit/00582636009d51c5781b9cae8fde858ab3758306
Author: Hirofumi Nakamura <k.nakamura.hirofumi at gmail.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M clang/lib/Format/FormatToken.h
M clang/lib/Format/FormatTokenLexer.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Support of TableGen tokens with unary operator like form, bang operators and numeric literals. (#78996)
Adds the support for tokens that have forms like unary operators.
- bang operators: `!name`
- cond operator: `!cond`
- numeric literals: `+1`, `-1`
cond operator are one of bang operators but is distinguished because it has very specific syntax.
Commit: fc7c79b60ca0846f1cc916b6b04eedd1fc21537e
https://github.com/llvm/llvm-project/commit/fc7c79b60ca0846f1cc916b6b04eedd1fc21537e
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] hasBZHI - simplify to a basic check as there's no need for a switch statement. NFCI.
Commit: fa10121415adfea57954eddcec92a13c7ebab0ac
https://github.com/llvm/llvm-project/commit/fa10121415adfea57954eddcec92a13c7ebab0ac
Author: Ryan Holt <ryanholt at mathworks.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
A mlir/include/mlir/Dialect/MLProgram/Transforms/BufferizableOpInterfaceImpl.h
M mlir/include/mlir/InitAllDialects.h
M mlir/lib/Dialect/Bufferization/Transforms/Bufferize.cpp
M mlir/lib/Dialect/Bufferization/Transforms/OneShotModuleBufferize.cpp
A mlir/lib/Dialect/MLProgram/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/lib/Dialect/MLProgram/Transforms/CMakeLists.txt
A mlir/test/Dialect/MLProgram/one-shot-bufferize.mlir
Log Message:
-----------
[mlir][MLProgram] Add MLProgram to MemRef bufferization pass (#75103)
There is currently no lowering out of `ml_program` in the LLVM
repository. This change adds a lowering to `memref` so that it can be
lowered all the way to LLVM. This lowering was taken from the [reference
backend in
torch-mlir](https://github.com/llvm/torch-mlir/commit/f41695360019bde71d52ca7548944d5488779e12
).
I had tried implementing the `BufferizableOpInterface` for `ml_program`
instead of adding a new pass but that did not work because
`OneShotBufferize` does not visit module-level ops like
`ml_program.global`.
Commit: fdf73e949565686804fbd2ab1b3a3bf440a250ca
https://github.com/llvm/llvm-project/commit/fdf73e949565686804fbd2ab1b3a3bf440a250ca
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/test/Dialect/MemRef/canonicalize.mlir
Log Message:
-----------
[mlir][memref] Remove incorrect `memref.transpose` fold (#79809)
This folded casts into `memref.transpose` without updating the result
type of the transpose op, which resulted in IR that failed to verify for
statically sized memrefs.
i.e.
```mlir
%cast = memref.cast %0 : memref<?x4xf32> to memref<?x?xf32>
%transpose = memref.transpose %cast : memref<?x?xf32> to memref<?x?xf32>
```
would fold to:
```mlir
// Fails verification:
%transpose = memref.transpose %cast : memref<?x4xf32> to memref<?x?xf32>
```
Commit: 8a5bdd899f3cb57024d92b96c16e805ca9924ac7
https://github.com/llvm/llvm-project/commit/8a5bdd899f3cb57024d92b96c16e805ca9924ac7
Author: Stefan Gränitz <stefan.graenitz at gmail.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
Log Message:
-----------
[llvm-jitlink] Fix detectStubKind() for big endian systems (#79970)
This function is used in `jitlink-check` lines in LIT tests. In #78371 I
missed to swap initial instruction bytes for systems that store the
constants as big-endian.
Commit: b23e518ce0df5b0835aba245cda50379bd896374
https://github.com/llvm/llvm-project/commit/b23e518ce0df5b0835aba245cda50379bd896374
Author: Thomas Preud'homme <thomas.preudhomme at arm.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
Log Message:
-----------
Fix TOSA FP16->INT16 CAST lowering (#79299)
Currently cast from FP to int is implemented by clamping on the min and
max
integer values in the floating-point domain and then converting to
integer. However, the max int values are often non representable in the
floating-point input type due to lack of mantissa bits.
This patch instead use a select acting on a compare against max int + 1
which is representable in floating-point. It also has a special lowering
for cases where the integer range is wider than the floating-point range
to clamp the infinite values.
Commit: 2960656eb909b5361ce2c3f641ee341769076ab7
https://github.com/llvm/llvm-project/commit/2960656eb909b5361ce2c3f641ee341769076ab7
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/X86/X86InstrInfo.h
Log Message:
-----------
[X86][NFC] Extract code for commute in foldMemoryOperandImpl into functions
To share code for folding broadcast in #79761
Commit: c5edef6279ecc1469029184637343854243cc5e6
https://github.com/llvm/llvm-project/commit/c5edef6279ecc1469029184637343854243cc5e6
Author: Matthias Springer <springerm at google.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M mlir/lib/Dialect/MLProgram/Transforms/CMakeLists.txt
M mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp
Log Message:
-----------
[mlir] Fix build after #75103
After #75103, `MLPrgramTransforms` depends on `BufferizationDialect`.
Also fix an unrelated compile error in `GreedyPatternRewriteDriver.cpp`.
(This was not failing on CI. I may be running an old compiler locally.)
Commit: 223025a6142d14b772e9dc73e5faf507a08098da
https://github.com/llvm/llvm-project/commit/223025a6142d14b772e9dc73e5faf507a08098da
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M libc/docs/index.rst
A libc/docs/stdbit.rst
Log Message:
-----------
[libc][docs] add page for stdbit.h (#79908)
To build libc docs:
- Configure with `-DLLVM_ENABLE_SPHINX=ON -DLIBC_INCLUDE_DOCS=ON`
- Build with `ninja docs-libc-html`
Commit: cdb320b407fc375f91e4b8be6f0ce8bf6bc77ba1
https://github.com/llvm/llvm-project/commit/cdb320b407fc375f91e4b8be6f0ce8bf6bc77ba1
Author: Daniel Chen <cdchen at ca.ibm.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M flang/lib/Lower/CallInterface.cpp
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/test/Lower/HLFIR/procedure-pointer.f90
M flang/test/Lower/Intrinsics/associated-proc-pointers.f90
Log Message:
-----------
[Flang]: Lowering reference to functions that return a procedure pointer (#78194)
This PR adds lowering the reference to a function that returns a
procedure pointer. It also fixed intrinsic ASSOCIATED to take such
argument.
---------
Co-authored-by: jeanPerier <jperier at nvidia.com>
Commit: fe0d16ff60fa2ef7fdbda3574493534979cce742
https://github.com/llvm/llvm-project/commit/fe0d16ff60fa2ef7fdbda3574493534979cce742
Author: Joel Wee <joelwee at google.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M mlir/lib/Dialect/MLProgram/Transforms/BufferizableOpInterfaceImpl.cpp
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir] Fix after #75103
Commit: b9d623105d51f5fc2d120c862b4e2bbff310f728
https://github.com/llvm/llvm-project/commit/b9d623105d51f5fc2d120c862b4e2bbff310f728
Author: Vyacheslav Levytskyy <89994100+VyacheslavLevytskyy at users.noreply.github.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
A llvm/test/CodeGen/SPIRV/unnamed-global.ll
Log Message:
-----------
generate a name of an unnamed global variable for Instruction Selection (#78293)
The goal of this PR is to fix the issue of global unnamed variables
causing SPIR-V Backend code generation to crash:
https://github.com/llvm/llvm-project/issues/78278
The reason for the crash is that GlobalValue's getGlobalIdentifier()
would fail for unnamed global variable when trying to access the first
character of the name (see lib/IR/Globals.cpp:150). This leads to assert
in Debug and undefined behaviour in Release builds.
The proposed fix generates a name of an unnamed global variable as
__unnamed_<unsigned number>, in a style of similar existing LLVM
implementation (see lib/IR/Mangler.cpp:131). A new class member variable
is added into `SPIRVInstructionSelector` class to keep track of the
number we give to anonymous global values to generate the same name
every time when this is needed.
The patch adds a new LIT test with the smallest implementation of
reproducer ll code.
Commit: 39483797b8981528eafaf6dad557ccfb2312e1ef
https://github.com/llvm/llvm-project/commit/39483797b8981528eafaf6dad557ccfb2312e1ef
Author: Vyacheslav Levytskyy <89994100+VyacheslavLevytskyy at users.noreply.github.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
A llvm/test/CodeGen/SPIRV/token/token-type-preallocated-setup-arg.ll
A llvm/test/CodeGen/SPIRV/token/token-type-requires-extension.ll
Log Message:
-----------
prevent undefined behaviour of SPIR-V Backend non-asserts builds when dealing with token type (#78437)
The goal of this PR is to fix the issue when use of token type in LLVM
intrinsic causes undefined behavior of SPIR-V Backend code generator
when assertions are disabled:
https://github.com/llvm/llvm-project/issues/78434
Among possible fix options, discussed in the
https://github.com/llvm/llvm-project/issues/78434 issue description, the
option to generate a meaningful error before execution arrives at the
`llvm_unreachable` call looks like a better solution for now, because
SPIR-V doesn't support token type anyway without additional extensions.
The PR is to generate a user-friendly error message and exit without
generating a stack dump when such a usage of token type was detected
that would lead to undefined behavior of SPIR-V Backend code generator.
Commit: 9e02e8f1a76693f001c7f52ffddd92c492a2254e
https://github.com/llvm/llvm-project/commit/9e02e8f1a76693f001c7f52ffddd92c492a2254e
Author: Vyacheslav Levytskyy <89994100+VyacheslavLevytskyy at users.noreply.github.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/test/CodeGen/SPIRV/opencl/device_execution/execute_block.ll
A llvm/test/CodeGen/SPIRV/pointers/struct-opaque-pointers.ll
Log Message:
-----------
fix producing multiple identical opaque pointer types (#79060)
This PR fixes https://github.com/llvm/llvm-project/issues/79057 and
improves code generation for opaque pointers by replacing the culprit
SPIRVGlobalRegistry::getOpTypePointer() call with a more appropriate
SPIRVGlobalRegistry::getOrCreateSPIRVPointerType() call. The latter
function works together with the `DuplicatesTracker`
(`SPIRVGeneralDuplicatesTracker DT;` from `class SPIRVGlobalRegistry`)
to trace existence of previous definitions of opaque pointers. This
allows to produce just one `OpTypePointer` command for all identical
opaque pointers definitions and to return the very same type record for
subsequent `SPIRVGlobalRegistry::createSPIRVType()` invocations.
This PR alone improves code generation by producing a single needed
definition per all opaque pointers to i8 of the same address space
instead of multiple identical definitions produced before the patch.
>From the root cause analysis of
https://github.com/llvm/llvm-project/issues/79057 we see also that this
PR resolves the problem of inconsistency between keeping multiple
instruction for identical opaque pointer types and just a single record
for all such instructions in the `DuplicatesTracker`, and so it also
resolves the issue with crashes on creation of a struct with opaque
pointer fields due to the fact that now such struct fields refer to the
same operand `<id>` having a required record in the data structure used
for dependencies analysis (see
https://github.com/llvm/llvm-project/issues/79057).
Commit: 036a20cc5104153f47762211d89544ab38d3ab5a
https://github.com/llvm/llvm-project/commit/036a20cc5104153f47762211d89544ab38d3ab5a
Author: Wanyi <kusmour at gmail.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M llvm/test/tools/llvm-gsymutil/X86/elf-empty-dir.yaml
Log Message:
-----------
[llvm-gsymutil] Remove '--num-threads' in test (#79934)
Number of threads will automatically be set to a good value
Commit: d17b005e46e240b2c95801a14e2c6fc5baa5b3f7
https://github.com/llvm/llvm-project/commit/d17b005e46e240b2c95801a14e2c6fc5baa5b3f7
Author: fabrizio-indirli <fabrizio.indirli at arm.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M mlir/lib/Dialect/SCF/Transforms/ParallelLoopFusion.cpp
M mlir/test/Dialect/SCF/parallel-loop-fusion.mlir
Log Message:
-----------
[mlir][scf] Relax requirements for loops fusion (#79187)
Enable the fusion of parallel loops also when the 1st loop contains
multiple write accesses to the same buffer, if the accesses are always
on the same indices.
Fix LIT test cases whose loops were not being fused.
Signed-off-by: Fabrizio Indirli <Fabrizio.Indirli at arm.com>
Commit: b40d5b1b08564d23d5e0769892ebbc32447b2987
https://github.com/llvm/llvm-project/commit/b40d5b1b08564d23d5e0769892ebbc32447b2987
Author: Zixu Wang <9819235+zixu-w at users.noreply.github.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
Log Message:
-----------
[Docs] Add release note about Clang-defined target OS macros (#79879)
Commit: 8369f619f589f756533435480c4a65bdfbaf1451
https://github.com/llvm/llvm-project/commit/8369f619f589f756533435480c4a65bdfbaf1451
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M llvm/include/llvm/IR/Operator.h
Log Message:
-----------
[IR] Add more efficient getOperand methods to some of the Operator subclasses. (#79943)
ConstantExpr does not use HungOffUses. If we know that the Instruction
the Operator subclass can represent also does not use HungOffUses, we
can be more efficient than falling back to User::getOperand.
Commit: 80ee6083ae932841435638d455b8a6094530c2e2
https://github.com/llvm/llvm-project/commit/80ee6083ae932841435638d455b8a6094530c2e2
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M llvm/include/llvm/Support/RISCVAttributes.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.cpp
M llvm/unittests/Support/RISCVAttributeParserTest.cpp
Log Message:
-----------
[RISCV] Remove StackAlign attribute enum. NFC (#79946)
The alignment is directly encoded in the attribute. There doesn't seem
to be a good reason to give the possible alignments a name.
Commit: d8e1b451e21b62905a76715a78ebc26df25f4e41
https://github.com/llvm/llvm-project/commit/d8e1b451e21b62905a76715a78ebc26df25f4e41
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Analysis/ValueTracking/known-non-zero.ll
Log Message:
-----------
[ValueTracking] Add experimental_get_vector_length to isKnownNonZero. (#79950)
If the input is non-zero, this intrinsic should also return a non-zero
value.
Commit: 69cb99f9cb2e8757ad2c09b87fc96d5bff73c490
https://github.com/llvm/llvm-project/commit/69cb99f9cb2e8757ad2c09b87fc96d5bff73c490
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M llvm/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp
Log Message:
-----------
[DebugNames] Use hashes to quickly filter false positives (#79755)
The current implementation of DebugNames is _only_ using hashes to
compute the bucket number. Once inside the bucket, it reverts back to
string comparisons, even though not all hashes inside a bucket are
identical.
This commit changes the behavior so that we check the hash before
comparing strings. Such check is so important that it speeds up a simple
benchmark by 20%. In other words, the following expression evaluation
time goes from 1100ms to 850ms.
```
bin/lldb \
--batch \
-o "b CodeGenFunction::GenerateCode" \
-o run \
-o "expr Fn" \
-- \
clang++ -c -g test.cpp -o /dev/null &> output
```
(Note, these numbers are considering the usage of IDX_parent)
Commit: 9f3854a01f878831c229db0eb5078fa9d56e60ff
https://github.com/llvm/llvm-project/commit/9f3854a01f878831c229db0eb5078fa9d56e60ff
Author: michaelrj-google <71531609+michaelrj-google at users.noreply.github.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
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/include/CMakeLists.txt
M libc/include/llvm-libc-types/CMakeLists.txt
A libc/include/llvm-libc-types/struct_epoll_data.h
A libc/include/llvm-libc-types/struct_epoll_event.h
A libc/include/sys/epoll.h.def
M libc/spec/gnu_ext.td
M libc/spec/linux.td
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/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 utils/bazel/llvm-project-overlay/libc/BUILD.bazel
A utils/bazel/llvm-project-overlay/libc/test/src/sys/epoll/BUILD.bazel
Log Message:
-----------
[reland][libc] add epoll_wait functions (#79635)
The epoll_wait functions are syscall wrappers that were requested by
upstream users. This patch adds them, as well as their header and types.
The tests are currently incomplete since they require epoll_create to
properly test epoll_wait. That will be added in a followup patch since
this one is already very large.
Commit: 30155fc0ef4fbdce2d79434aaae8d58b2fabb20a
https://github.com/llvm/llvm-project/commit/30155fc0ef4fbdce2d79434aaae8d58b2fabb20a
Author: Tianlan Zhou <bobby825 at 126.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/ExprConstant.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaOverload.cpp
A clang/test/AST/ast-dump-static-operators.cpp
M clang/test/CodeGenCXX/cxx2b-static-call-operator.cpp
M clang/test/CodeGenCXX/cxx2b-static-subscript-operator.cpp
A clang/test/SemaCXX/cxx2b-static-operator.cpp
Log Message:
-----------
[clang] static operators should evaluate object argument (#68485)
### Description
clang don't evaluate the object argument of `static operator()` and
`static operator[]` currently, for example:
```cpp
#include <iostream>
struct Foo {
static int operator()(int x, int y) {
std::cout << "Foo::operator()" << std::endl;
return x + y;
}
static int operator[](int x, int y) {
std::cout << "Foo::operator[]" << std::endl;
return x + y;
}
};
Foo getFoo() {
std::cout << "getFoo()" << std::endl;
return {};
}
int main() {
std::cout << getFoo()(1, 2) << std::endl;
std::cout << getFoo()[1, 2] << std::endl;
}
```
`getFoo()` is expected to be called, but clang don't call it currently
(17.0.2). This PR fixes this issue.
Fixes #67976.
### Walkthrough
- **clang/lib/Sema/SemaOverload.cpp**
- **`Sema::CreateOverloadedArraySubscriptExpr` &
`Sema::BuildCallToObjectOfClassType`**
Previously clang generate `CallExpr` for static operators, ignoring the
object argument. In this PR `CXXOperatorCallExpr` is generated for
static operators instead, with the object argument as the first
argument.
- **`TryObjectArgumentInitialization`**
`const` / `volatile` objects are allowed for static methods, so that we
can call static operators on them.
- **clang/lib/CodeGen/CGExpr.cpp**
- **`CodeGenFunction::EmitCall`**
CodeGen changes for `CXXOperatorCallExpr` with static operators: emit
and ignore the object argument first, then emit the operator call.
- **clang/lib/AST/ExprConstant.cpp**
- **`ExprEvaluatorBase::handleCallExpr`**
Evaluation of static operators in constexpr also need some small changes
to work, so that the arguments won't be out of position.
- **clang/lib/Sema/SemaChecking.cpp**
- **`Sema::CheckFunctionCall`**
Code for argument checking also need to be modify, or it will fail the
test `clang/test/SemaCXX/overloaded-operator-decl.cpp`.
### Tests
- **Added:**
- **clang/test/AST/ast-dump-static-operators.cpp**
Verify the AST generated for static operators.
- **clang/test/SemaCXX/cxx2b-static-operator.cpp**
Static operators should be able to be called on const / volatile
objects.
- **Modified:**
- **clang/test/CodeGenCXX/cxx2b-static-call-operator.cpp**
- **clang/test/CodeGenCXX/cxx2b-static-subscript-operator.cpp**
Matching the new CodeGen.
### Documentation
- **clang/docs/ReleaseNotes.rst**
Update release notes.
---------
Co-authored-by: Shafik Yaghmour <shafik at users.noreply.github.com>
Co-authored-by: cor3ntin <corentinjabot at gmail.com>
Co-authored-by: Aaron Ballman <aaron at aaronballman.com>
Commit: 7ff2dc3b49eee49edf9a2c2c7051d643c38e21b1
https://github.com/llvm/llvm-project/commit/7ff2dc3b49eee49edf9a2c2c7051d643c38e21b1
Author: Nathan Lanza <nathanlanza at gmail.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M llvm/tools/llvm-profgen/ProfiledBinary.cpp
Log Message:
-----------
[profgen] Use a 64bit integer for &'ing the loadable address (#79930)
For the linux kernel, the loadable segments start at 0xffff... and thus
the 32 bit integer here was truncating all the meaningful bits. Grow it
to 64 bits.
Commit: dcc37e7970cf7012af78c5ebf5d4788cefb968a2
https://github.com/llvm/llvm-project/commit/dcc37e7970cf7012af78c5ebf5d4788cefb968a2
Author: Pil Eghoff <70582385+pileghoff at users.noreply.github.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaChecking.cpp
M clang/test/C/C2x/n3042.c
M clang/test/Sema/warn-int-in-bool-context.c
Log Message:
-----------
[Sema] Fix c23 not checking CheckBoolLikeConversion (#79588)
Fixes issue #79435
Checks for implicit conversion into boolean was previously triggered by
`CheckBoolLikeConversion` for C.
When `bool` as a keyword was introduced in C23,
`CheckBoolLikeConversion` would no longer trigger when using `-std=c23`,
but since logical operators and conditional statements still operate on
scalar values, the checks for implicit conversion into bool were never
triggered.
This fix changes `CheckBoolLikeConversion` to not return early for C23,
even though it has support for bools.
Commit: 7dc7fc08430b824ca16d3b22542ba73bc4d17881
https://github.com/llvm/llvm-project/commit/7dc7fc08430b824ca16d3b22542ba73bc4d17881
Author: Piyou Chen <piyou.chen at sifive.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M clang/test/Driver/riscv-arch.c
M llvm/lib/Support/RISCVISAInfo.cpp
M llvm/unittests/Support/RISCVISAInfoTest.cpp
Log Message:
-----------
Recommit "[RISCV] Relax march string order constraint (#78120)"
With std::move added to fix build bot failure.
Original commit message:
Follow
https://github.com/riscv-non-isa/riscv-toolchain-conventions/pull/14 by
dropping the order requirement of `-march`.
1. single-letter extension can be arbitrary order
- march=rv32iamdf
2. single-letter extension and multi-letter extension can be mixed
- march=rv32i_zihintntl_m_a_f_d_svinval
3. multi-letter extension need seperate the following extension by
underscore, otherwise it will be intreprete as one extension.
- march=rv32i_zbam -> i,zbam
- march=rv32i_zba_m -> i,zba,m
Commit: 2e165009b7d1f97337cb4b0f31f6d484d8cf96d9
https://github.com/llvm/llvm-project/commit/2e165009b7d1f97337cb4b0f31f6d484d8cf96d9
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M llvm/lib/Support/RISCVISAInfo.cpp
Log Message:
-----------
[RISCV] Use Twine concatentation for error messages in RISCVISAInfo. (#79956)
This avoids converting StringRef to std::string to const char*.
Commit: 5f6640e268b5e6ead22983ba9e2074e3bbf0612b
https://github.com/llvm/llvm-project/commit/5f6640e268b5e6ead22983ba9e2074e3bbf0612b
Author: Saiyedul Islam <Saiyedul.Islam at amd.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M openmp/libomptarget/src/OpenMP/API.cpp
Log Message:
-----------
[OpenMP52][LIBOMPTARGET] Do not throw error in omp_get_mapped_ptr for the host (#80038)
OpenMP spec 5.2 specifies return value to be the host ptr
in case of device_num being same as omp_get_initial_device().
Commit: 285bc69846e76af805cd106ea3ea538a12f5c9b6
https://github.com/llvm/llvm-project/commit/285bc69846e76af805cd106ea3ea538a12f5c9b6
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/SystemZ/minbitwidth-trunc.ll
Log Message:
-----------
[SLP]Fix PR80027: Fix costs processing for minbitwidth types.
Need to switch the types, the destination is first in getCastInstrCost
function.
Commit: 3477bcf4b94395e2c0ed77a139e54240cfe4f27d
https://github.com/llvm/llvm-project/commit/3477bcf4b94395e2c0ed77a139e54240cfe4f27d
Author: Guray Ozen <guray.ozen at gmail.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M mlir/include/mlir/Dialect/NVGPU/IR/NVGPU.td
A mlir/test/Dialect/NVGPU/canonicalization.mlir
Log Message:
-----------
[mlir][nvgpu] Mark TMA descriptor as MemWriteAt in `tma.async.store` (#79427)
Commit: 201eb2b5775cf193c97c60a5eb790003a1e6bedb
https://github.com/llvm/llvm-project/commit/201eb2b5775cf193c97c60a5eb790003a1e6bedb
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/ExprConstant.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaOverload.cpp
R clang/test/AST/ast-dump-static-operators.cpp
M clang/test/CodeGenCXX/cxx2b-static-call-operator.cpp
M clang/test/CodeGenCXX/cxx2b-static-subscript-operator.cpp
R clang/test/SemaCXX/cxx2b-static-operator.cpp
Log Message:
-----------
Revert "[clang] static operators should evaluate object argument (#68485)"
This reverts commit 30155fc0ef4fbdce2d79434aaae8d58b2fabb20a.
It seems to have broken some tests in clangd:
http://45.33.8.238/linux/129484/step_9.txt
Commit: e1ddc3331210957cec2569cef79021fa69363ab1
https://github.com/llvm/llvm-project/commit/e1ddc3331210957cec2569cef79021fa69363ab1
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M libcxx/include/__thread/support.h
M libcxx/include/__thread/support/c11.h
M libcxx/include/__thread/support/pthread.h
M libcxx/include/__thread/support/windows.h
Log Message:
-----------
[libc++] Move __libcpp_timespec_t into namespace std (#80004)
It was previously defined outside of namespace std for apparently no
good reason.
Commit: 97d72839301e6fd005fb258322b96bd46086daa1
https://github.com/llvm/llvm-project/commit/97d72839301e6fd005fb258322b96bd46086daa1
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M llvm/include/llvm/TextAPI/Symbol.h
Log Message:
-----------
[TextAPI] Fix -Wdocumentation error, NFC
Commit: f2a78e68eee53646327f71c475c7f18a28b7f576
https://github.com/llvm/llvm-project/commit/f2a78e68eee53646327f71c475c7f18a28b7f576
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M clang/docs/HIPSupport.rst
M clang/lib/Basic/Targets/AMDGPU.cpp
M clang/test/CodeGenOpenCL/builtins-amdgcn-wave64.cl
M clang/test/Preprocessor/predefined-arch-macros.c
Log Message:
-----------
[AMDGPU] Do not emit arch dependent macros with unspecified cpu (#80035)
Summary:
Currently, the AMDGPU toolchain accepts not passing `-mcpu` as a means
to create a sort of "generic" IR. The resulting IR will not contain any
target dependent attributes and can then be inserted into another
program via `-mlink-builtin-bitcode` to inherit its attributes.
However, there are a handful of macros that can leak incorrect
information when compiling for an unspecified architecture. Currently,
things like the wavefront size will default to 64, which is actually
variable. We should not expose these macros unless it is known.
Commit: 5470ea4e36d47ed09595517854f0fa07ca91e16f
https://github.com/llvm/llvm-project/commit/5470ea4e36d47ed09595517854f0fa07ca91e16f
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-01-30 (Tue, 30 Jan 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/utils/gpu/server/rpc_server.h
Log Message:
-----------
[libc] Change the starting port index to use the SMID (#79200)
Summary:
The RPC interface uses several ports to provide parallel access. Right
now we begin the search at the beginning, which heavily contests the
early ports. Using the SMID allows us to stagger the starting index
based off of the cluster identifier that is executing the current warp.
Multiple warps can share an SM, but it will guaruntee that the
contention for the low indices is lower.
This also increases the maximum port size to around 4096, this is
because 512 isn't enough to cover the full hardare parallelism needed to
guarantee this doesdn't deadlock.
Commit: 626fe71fa5ed79cbd41b7b29582560d7adb1220e
https://github.com/llvm/llvm-project/commit/626fe71fa5ed79cbd41b7b29582560d7adb1220e
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M clang/test/Preprocessor/predefined-arch-macros.c
Log Message:
-----------
[Clang] Fix test failing on systems without ROCm installed
Summary:
Forgot to specify `-nogpulib` which makes this test look for ROCm.
Commit: 85a847fd1d639a0e7d5319b17e994ea157be6046
https://github.com/llvm/llvm-project/commit/85a847fd1d639a0e7d5319b17e994ea157be6046
Author: Konstantin Varlamov <varconsteq at gmail.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
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/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
M libcxx/test/support/atomic_helpers.h
M libcxx/utils/libcxx/test/features.py
Log Message:
-----------
[libc++] Simplify features for detecting atomics' support. (#75553)
`non-lockfree-atomics` is very similar to `has-64-bit-atomics`; to
simplify, we can have uniform features for atomic types of
increasing sizes (`has-128-bit-atomics`, `has-256-bit-atomics`, etc.).
`is-lockfree-runtime-function` feature was a workaround for the partial
support for large atomic types on older versions of macOS (see
https://reviews.llvm.org/D91911). While we still support macOS 10.14,
conceptually it's simpler to check for support for all the atomic
functionality inside the `has-*-atomics` features, and the workaround is
no longer worth the maintenance cost.
Commit: 6fecfbc7b62f54bd633e83c22630d7c2a3e5741e
https://github.com/llvm/llvm-project/commit/6fecfbc7b62f54bd633e83c22630d7c2a3e5741e
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M clang/lib/Basic/Targets/AMDGPU.cpp
Log Message:
-----------
[AMDGPU] Correctly exclude the HIP host from arch macros
Summary:
This logic was wrong and accidentally appling to OpenCL.
Commit: 733b86d3ff8087f1e267c23eb315bb16e3c6c953
https://github.com/llvm/llvm-project/commit/733b86d3ff8087f1e267c23eb315bb16e3c6c953
Author: Chelsea Cassanova <chelsea_cassanova at apple.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M lldb/include/lldb/Core/DebuggerEvents.h
M lldb/include/lldb/Core/Progress.h
M lldb/source/Core/DebuggerEvents.cpp
M lldb/source/Core/Progress.cpp
Log Message:
-----------
[lldb][progress] Correctly check total for deterministic progress (#79912)
The `total` parameter for the constructor for Progress was changed to a
std::optional in https://github.com/llvm/llvm-project/pull/77547. It was originally set to 1 to indicate non-determinisitic progress, but this commit changes this. First, `UINT64_MAX` will again be used for non-deterministic progress, and `Progress` now has a static variable set to this value so that we can use this instead of a magic number.
The member variable `m_total` could be changed to a std::optional as
well, but this means that the `ProgressEventData::GetTotal()` (which is
used for the public API) would
either need to return a std::optional value or it would return some
specific integer to represent non-deterministic progress if `m_total` is
std::nullopt.
Commit: 1d3300d5027c95c84b335f6adfca7e49cae45bb2
https://github.com/llvm/llvm-project/commit/1d3300d5027c95c84b335f6adfca7e49cae45bb2
Author: Peiming Liu <36770114+PeimingLiu at users.noreply.github.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorLevel.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorLevel.h
Log Message:
-----------
[mlir][sparse] use shared value storage between wrapped iterator and the wrapper. (#80046)
Commit: 235f1e74fe240e414718c64d05bafc01d34c32cb
https://github.com/llvm/llvm-project/commit/235f1e74fe240e414718c64d05bafc01d34c32cb
Author: Jinsong Ji <jinsong.ji at intel.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M clang/include/clang/Basic/Builtins.td
Log Message:
-----------
[Clang] Fix typo in __fprintf_chk Prototype (#80012)
An extra int was copied.
Commit: 30b9140c148923e31a6dbcb2202ef3908481bb29
https://github.com/llvm/llvm-project/commit/30b9140c148923e31a6dbcb2202ef3908481bb29
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M llvm/test/MC/RISCV/rv32zbb-only-valid.s
M llvm/test/MC/RISCV/rv32zbb-valid.s
M llvm/test/MC/RISCV/rv64zbb-valid.s
M llvm/test/MC/RISCV/rv64zbkb-valid.s
Log Message:
-----------
[RISCV] Minor cleanup to rori MC layer testing. NFC
rv32zbb-valid.s tests rv64 and rv32. rv32zbb-only-valid.s only tests rv32.
The rori tests in rv32zbb-only-valid.s produce the same result for rv32 and
rv64 so its better to test them in rv32zbb-valid.s.
Remove a now redundant test case from rv64zbb-valid.s.
Add a missing rori test with imm >= 32 to rv64zbkb-valid.s.
Commit: 6a21e00e397648141ed36aae4bd958efa09908f3
https://github.com/llvm/llvm-project/commit/6a21e00e397648141ed36aae4bd958efa09908f3
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
A llvm/test/MC/AMDGPU/writelane_m0.s
A llvm/test/MachineVerifier/writelane_m0.mir
Log Message:
-----------
[AMDGPU][AsmParser] Allow `v_writelane_b32` to use SGPR and M0 as source operands at the same time (#78827)
Currently the asm parser takes `v_writelane_b32 v1, s13, m0` as illegal
instruction for pre-gfx11 because it uses two constant buses while the
hardware
can only allow one. However, based on the comment of
`AMDGPUInstructionSelector::selectWritelane`,
it is allowed to have M0 as lane selector and a SGPR used as SRC0
because the
lane selector doesn't count as a use of constant bus. In fact, codegen
can already
generate this form, but this inconsistency is not exposed because the
validation
of constant bus limitation only happens when paring an assembly but we
don't have
a test case when both SGPR and M0 used as source operands for the
instruction.
Commit: d8b61d716899736c7f0444d1b18b8e1a536c3472
https://github.com/llvm/llvm-project/commit/d8b61d716899736c7f0444d1b18b8e1a536c3472
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M llvm/docs/CommandGuide/llvm-exegesis.rst
A llvm/test/tools/llvm-exegesis/X86/latency/middle-half.s
M llvm/tools/llvm-exegesis/lib/BenchmarkResult.h
M llvm/tools/llvm-exegesis/lib/CMakeLists.txt
A llvm/tools/llvm-exegesis/lib/ResultAggregator.cpp
A llvm/tools/llvm-exegesis/lib/ResultAggregator.h
M llvm/tools/llvm-exegesis/lib/SnippetRepetitor.cpp
M llvm/tools/llvm-exegesis/llvm-exegesis.cpp
M llvm/unittests/tools/llvm-exegesis/CMakeLists.txt
A llvm/unittests/tools/llvm-exegesis/ResultAggregatorTest.cpp
Log Message:
-----------
[llvm-exegesis] Add middle half repetition mode (#77020)
This patch adds two new repetition modes to llvm-exegesis, particularly
loop and duplicate repetition modes of what I am terming the middle half
repetition mode. The middle half repetition mode essentially runs each
measurement twice, one with twice the number of iterations of the other.
These two measurements are then agregated by taking their difference.
This subtracts away any setup/overhead that is unrelated to the code in
the snippet, providing more accurate results.
Using this mode on a couple toy examples, I am able to get exact
(integer) throughput values on all of them in contrast to the default
duplicate/loop repetition modes which show a little bit of noise on the
snippet value.
Commit: 58e8c072aa4ebb11dfab13ed00fa8d61e408516c
https://github.com/llvm/llvm-project/commit/58e8c072aa4ebb11dfab13ed00fa8d61e408516c
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M llvm/test/MachineVerifier/writelane_m0.mir
Log Message:
-----------
[FIX] Require AMDGPU target in test case `llvm/test/MachineVerifier/writelane_m0.mir`
Commit: 0dd0cbd324ad13dd7b91edf69a2ca66a6a208c80
https://github.com/llvm/llvm-project/commit/0dd0cbd324ad13dd7b91edf69a2ca66a6a208c80
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M clang/include/clang/Basic/OpenACCKinds.h
M clang/lib/Parse/ParseOpenACC.cpp
A clang/test/ParserOpenACC/parse-wait-clause.c
Log Message:
-----------
[OpenACC] Implement 'wait' clause parsing.
The 'wait' clause is parsed the same way as the 'wait' construct, so
this jsut differs to that function.
Commit: 66ef6900f9f3aa4fab9f6e36af04f775948cdf9d
https://github.com/llvm/llvm-project/commit/66ef6900f9f3aa4fab9f6e36af04f775948cdf9d
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M clang/lib/Parse/ParseOpenACC.cpp
M clang/test/ParserOpenACC/parse-clauses.c
Log Message:
-----------
[OpenACC] Better recover during clause parsing
Previously we gave up immediately and just escaped. Instead, skip to
the next close paren and see if we can continue parsing the next clause
instead.
Commit: aa88a09fbc6428fa3c74e2027b0f329d89c332bd
https://github.com/llvm/llvm-project/commit/aa88a09fbc6428fa3c74e2027b0f329d89c332bd
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/tools/llvm-exegesis/lib/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/tools/llvm-exegesis/BUILD.gn
Log Message:
-----------
[gn build] Port d8b61d716899
Commit: a385c379f8694f42d1efb88bb8c5a53fccb6a664
https://github.com/llvm/llvm-project/commit/a385c379f8694f42d1efb88bb8c5a53fccb6a664
Author: Yitzhak Mandelbaum <ymand at users.noreply.github.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp
Log Message:
-----------
[clang][dataflow] Drop block-relative cap on worklist iterations. (#80033)
As per the FIXME, this cap never really served its purpose. This patch
simplifies to a single, caller-specified, absolute cap.
Commit: 576c4dfa067fa767818a0d80c7072a64c221384e
https://github.com/llvm/llvm-project/commit/576c4dfa067fa767818a0d80c7072a64c221384e
Author: michaelrj-google <71531609+michaelrj-google at users.noreply.github.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
Log Message:
-----------
[libc] disable epoll_pwait2 due to breakage (#80051)
It appears that sys_epoll_pwait2 isn't always available, so we need to
add some sort of condition to enable it. This patch disables it until
that happens.
Commit: 2c5a0d392592982bb9c73cbc10c64390b9045873
https://github.com/llvm/llvm-project/commit/2c5a0d392592982bb9c73cbc10c64390b9045873
Author: Yitzhak Mandelbaum <ymand at users.noreply.github.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M clang/include/clang/Analysis/Analyses/PostOrderCFGView.h
M clang/unittests/Analysis/CFGTest.cpp
M clang/unittests/Analysis/FlowSensitive/LoggerTest.cpp
Log Message:
-----------
[clang][CFG] Change child order in Reverse Post Order (RPO) iteration. (#80030)
The CFG orders the blocks of loop bodies before those of loop successors
(both numerically, and in the successor order of the loop condition
block). So, RPO necessarily reverses that order, placing the loop
successor *before* the loop body. For many analyses, particularly those
that converge to a fixpoint, this results in potentially significant
extra work, because loop successors will necessarily need to be
reconsidered once the algorithm has reached a fixpoint on the loop body.
This definition of CFG graph traits reverses the order of children, so
that loop bodies will come first in an RPO. Then, the algorithm can
fully evaluate the loop and only then consider successor blocks.
Commit: 0fa4463e93dca275ee80fd85120e33ccc9f22c5e
https://github.com/llvm/llvm-project/commit/0fa4463e93dca275ee80fd85120e33ccc9f22c5e
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M flang/lib/Semantics/resolve-directives.cpp
M flang/test/Semantics/OpenACC/acc-loop.f90
Log Message:
-----------
[flang][openacc] Check trip count invariance with other IVs (#79906)
2.9.1 The trip count for all loops associated with the collapse clause
must be computable and invariant in all the loops.
This patch checks that iteration range of loops part of a collapse nest
does not depend on outer loops induction variables.
The check is also applied to combined construct with a loop.
Commit: d9423398ea129e229b20ba42dfe4326e620129b5
https://github.com/llvm/llvm-project/commit/d9423398ea129e229b20ba42dfe4326e620129b5
Author: Valentin Clement <clementval at gmail.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M flang/lib/Semantics/resolve-directives.cpp
M flang/test/Semantics/OpenACC/acc-loop.f90
Log Message:
-----------
Revert "[flang][openacc] Check trip count invariance with other IVs (#79906)"
This reverts commit 0fa4463e93dca275ee80fd85120e33ccc9f22c5e.
Breaks buildbot https://lab.llvm.org/buildbot/#/builders/268/builds/7155
Commit: 9b91c54d9bd3227a49e146c055fb0165567f7f8d
https://github.com/llvm/llvm-project/commit/9b91c54d9bd3227a49e146c055fb0165567f7f8d
Author: Fangrui Song <i at maskray.me>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/test/Instrumentation/MemorySanitizer/msan_asm_conservative.ll
Log Message:
-----------
[msan] Unpoison indirect outputs for userspace using memset for large operands (#79924)
Modify #77393 to clear shadow memory using `llvm.memset.*` when the size
is large, similar to `shouldUseBZeroPlusStoresToInitialize` in clang for
`-ftrivial-auto-var-init=`. The intrinsic, if lowered to libcall, will
use the msan interceptor.
The instruction selector lowers a `StoreInst` to multiple stores, not
utilizing `memset`. When the size is large (e.g.
`store { [100 x i32] } zeroinitializer, ptr %12, align 1`), the
generated code will be long (and `CodeGenPrepare::optimizeInst` will
even crash for a huge size).
```
// Test stack size
template <class T>
void DoNotOptimize(const T& var) { // deprecated by https://github.com/google/benchmark/pull/1493
asm volatile("" : "+m"(const_cast<T&>(var)));
}
int main() {
using LargeArray = std::array<int, 1000000>;
auto large_stack = []() { DoNotOptimize(LargeArray()); };
/////// CodeGenPrepare::optimizeInst triggers an assertion failure when creating an integer type with a bit width>2**23
large_stack();
}
```
Commit: 648560062af8deb4e6478130deb1dd8fa62929a8
https://github.com/llvm/llvm-project/commit/648560062af8deb4e6478130deb1dd8fa62929a8
Author: Fangrui Song <i at maskray.me>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
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
Log Message:
-----------
[dfsan] Wrap glibc 2.38 __isoc23_* functions (#79958)
Fix #79283: `test/dfsan/custom.cpp` has undefined symbol linker errors
on glibc 2.38 due to lack of wrappers for `__isoc23_strtol` and
`__isoc23_scanf` family functions.
Implement these wrappers as aliases to existing wrappers, similar to
https://reviews.llvm.org/D158943 for other sanitizers.
`strtol` in a user program, whether or not `_ISOC2X_SOURCE` is defined,
uses the C23 semantics (`strtol("0b1", 0, 0)` => 1), when
`libclang_rt.dfsan.a` is built on glibc 2.38+.
Commit: a356e6ccada87d6bfc4513fba4b1a682305e094a
https://github.com/llvm/llvm-project/commit/a356e6ccada87d6bfc4513fba4b1a682305e094a
Author: PiJoules <6019989+PiJoules at users.noreply.github.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
A llvm/test/CodeGen/Thumb/smul_fix.ll
A llvm/test/CodeGen/Thumb/smul_fix_sat.ll
A llvm/test/CodeGen/Thumb/umul_fix.ll
A llvm/test/CodeGen/Thumb/umul_fix_sat.ll
Log Message:
-----------
[SelectionDAG] Expand fixed point multiplication into libcall (#79352)
32-bit ARMv6 with thumb doesn't support MULHS/MUL_LOHI as legal/custom
nodes during expansion which will cause fixed point multiplication of
_Accum types to fail with fixed point arithmetic. Prior to this, we just
happen to use fixed point multiplication on platforms that happen to
support these MULHS/MUL_LOHI.
This patch attempts to check if the multiplication can be done via
libcalls, which are provided by the arm runtime. These libcall attempts
are made elsewhere, so this patch refactors that libcall logic into its
own functions and the fixed point expansion calls and reuses that logic.
Commit: 404af14f92b8b7318ab3d34bd65d800c0bde1e10
https://github.com/llvm/llvm-project/commit/404af14f92b8b7318ab3d34bd65d800c0bde1e10
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M mlir/include/mlir-c/BuiltinTypes.h
M mlir/lib/Bindings/Python/IRTypes.cpp
M mlir/lib/CAPI/IR/BuiltinTypes.cpp
M mlir/python/mlir/dialects/_ods_common.py
M mlir/python/mlir/dialects/memref.py
M mlir/python/mlir/dialects/transform/structured.py
M mlir/test/python/dialects/memref.py
Log Message:
-----------
[mlir][python] enable memref.subview (#79393)
Commit: 24923214e7845acc0e2f56f13e08ee519eba8303
https://github.com/llvm/llvm-project/commit/24923214e7845acc0e2f56f13e08ee519eba8303
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/spec/linux.td
M libc/spec/posix.td
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/test/src/sys/mman/linux/CMakeLists.txt
M libc/test/src/sys/mman/linux/mincore_test.cpp
A libc/test/src/sys/mman/linux/mlock_test.cpp
Log Message:
-----------
[libc] implement mlock/mlock2/munlock/mlockall/munlockall (#79645)
fixes #79336
Co-authored-by: Sirui Mu <msrlancern at gmail.com>
Commit: 75ea78ab677f8357aa14fd4c0aff5d551a4ff8aa
https://github.com/llvm/llvm-project/commit/75ea78ab677f8357aa14fd4c0aff5d551a4ff8aa
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M llvm/include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h
M llvm/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp
Log Message:
-----------
[DebugNames] Compare TableEntry names more efficiently (#79759)
TableEntry names are pointers into the string table section, and
accessing their
length requires a search for `\0`. However, 99% of the time we only need
to
compare the name against some other other, and such a comparison will
fail as
early as the first character.
This commit adds a method to the interface of TableEntry so that such a
comparison can be done without extracting the full name. It saves 10% in
the
time (1250ms -> 1100 ms) to evaluate the following expression.
```
lldb \
--batch \
-o "b CodeGenFunction::GenerateCode" \
-o run \
-o "expr Fn" \
-- \
clang++ -c -g test.cpp -o /dev/null &> output
```
Commit: e5cebec521a7cf86ff21dedb8a2c96b3f8331c9d
https://github.com/llvm/llvm-project/commit/e5cebec521a7cf86ff21dedb8a2c96b3f8331c9d
Author: jkorous-apple <32549412+jkorous-apple at users.noreply.github.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M clang/lib/Analysis/UnsafeBufferUsage.cpp
Log Message:
-----------
[-Wunsafe-buffer-usage] Fix AST matcher of UUCAddAssignGadget (#79392)
We are not interested in nonpointers being added to.
Commit: bb770f0df53eee91a803b2829808d82279f7b577
https://github.com/llvm/llvm-project/commit/bb770f0df53eee91a803b2829808d82279f7b577
Author: yronglin <yronglin777 at gmail.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M clang/include/clang/AST/TextNodeDumper.h
M clang/lib/AST/TextNodeDumper.cpp
M clang/test/AST/ast-dump-for-range-lifetime.cpp
M clang/test/Import/cxx-default-init-expr/test.cpp
Log Message:
-----------
[Clang] Dump the rewritten sub-expressions in CXXDefaultArgExpr/CXXDefaultInitExpr (#80001)
This patch dump the rewritten sub-expressions in `CXXDefaultArgExpr` and
`CXXDefaultInitExpr`.
This machinery is useful for checking whether the materialized
temporaries is lifetime-extended in the sub-AST of `CXXDefaultArgExpr`
(`CXXDefaultInitExpr` has not been lifetime extendend now).
Signed-off-by: yronglin <yronglin777 at gmail.com>
Commit: 2f490f924647aa0724bab49cb390d4423fc9fc03
https://github.com/llvm/llvm-project/commit/2f490f924647aa0724bab49cb390d4423fc9fc03
Author: Valentin Clement <clementval at gmail.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M flang/lib/Semantics/resolve-directives.cpp
M flang/test/Semantics/OpenACC/acc-loop.f90
Log Message:
-----------
[flang][openacc] Check trip count invariance with other IVs (#79906)
2.9.1 The trip count for all loops associated with the collapse clause must be
computable and invariant in all the loops.
This patch checks that loops part of a collapse nest does not depends on outer
loops induction variables.
The check is also applied to combined construct with a loop.
Commit: 16c15b5f84836d81084e9987701ca011da5a864f
https://github.com/llvm/llvm-project/commit/16c15b5f84836d81084e9987701ca011da5a864f
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M libc/test/src/sys/mman/linux/mlock_test.cpp
Log Message:
-----------
[libc] disable mlockall w/ MCL_ONFAULT (#80075)
I suspect this is a bug in linux 4.19, as the test passes as written on
my
linux 6.5 machine.
Let's revisit this after the build bots are upgraded.
Link: #80073
Commit: 7847e44594aa932c0a5f5d2cd15940d2a815c059
https://github.com/llvm/llvm-project/commit/7847e44594aa932c0a5f5d2cd15940d2a815c059
Author: Michael Spencer <bigcheesegs at gmail.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticSerializationKinds.td
M clang/include/clang/Basic/FileManager.h
M clang/include/clang/Lex/HeaderSearch.h
M clang/include/clang/Lex/HeaderSearchOptions.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/Tooling/DependencyScanning/DependencyScanningFilesystem.h
M clang/include/clang/Tooling/DependencyScanning/DependencyScanningService.h
M clang/lib/Basic/FileManager.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Lex/HeaderSearch.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningFilesystem.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
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/tools/clang-scan-deps/ClangScanDeps.cpp
M llvm/include/llvm/Support/VirtualFileSystem.h
M llvm/lib/Support/VirtualFileSystem.cpp
M llvm/unittests/Support/VirtualFileSystemTest.cpp
Log Message:
-----------
[clang][DependencyScanner] Remove unused -ivfsoverlay files (#73734)
`-ivfsoverlay` files are unused when building most modules. Enable
removing them by,
* adding a way to visit the filesystem tree with extensible RTTI to
access each `RedirectingFileSystem`.
* Adding tracking to `RedirectingFileSystem` to record when it
actually redirects a file access.
* Storing this information in each PCM.
Usage tracking is only enabled when iterating over the source manager
and affecting modulemaps. Here each path is stated to cause an access.
During scanning these stats all hit the cache.
Commit: 86cd2fbdfe67d70a7fe061ed5d3a644f50f070f5
https://github.com/llvm/llvm-project/commit/86cd2fbdfe67d70a7fe061ed5d3a644f50f070f5
Author: jkorous-apple <32549412+jkorous-apple at users.noreply.github.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M clang/test/SemaCXX/warn-unsafe-buffer-usage-fixits-pointer-access.cpp
Log Message:
-----------
[-Wunsafe-buffer-usage][NFC] Add testcase for non-unsafe pointer (#80076)
This adds a missing CHECK-NOT directive for an existing test case.
Commit: c8c3fe70ae09a48408ee15a256e52a4624e0291c
https://github.com/llvm/llvm-project/commit/c8c3fe70ae09a48408ee15a256e52a4624e0291c
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M lld/COFF/DLL.cpp
M lld/test/COFF/imports.test
M lld/test/COFF/pdb-publics-import.test
Log Message:
-----------
[LLD][COFF] Align import directory chunk. (#80014)
The loader can usually handle an unaligned import dir chunk, but It's not
optimal and it's not what MSVC link.exe does.
Windows refuses to load ARM64X binaries with unaligned import directory.
aarch64 and arm64ec imports are shared in such binaries as much as
possible. As long as they use the same set of functions from given import
directory, both the directory and import addresses chunk are just shared.
When used set of functions differs, ARM64X dynamic relocations are used
to modify import dir to point to different names and import addresses for
its EC view. I suspect that the loader expects some alignment on ARM64X
dynamic relocation offset and may not be the case when relocated import
dir is not aligned.
Commit: 8b38970811086b09752a5909d0c17de4d0cd04c3
https://github.com/llvm/llvm-project/commit/8b38970811086b09752a5909d0c17de4d0cd04c3
Author: Katherine Rasmussen <krasmussen at lbl.gov>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M flang/docs/Intrinsics.md
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Semantics/check-call.cpp
A flang/test/Semantics/image_index01.f90
A flang/test/Semantics/image_index02.f90
Log Message:
-----------
[flang] Add image_index to list of intrinsics and add tests (#79519)
Add image_index to the list of intrinsic functions and add additional
check on its args in check-call.cpp. Add two semantics tests for
image_index.
Commit: 4effff21fb2f3462e06fcbd7812562f4771b0487
https://github.com/llvm/llvm-project/commit/4effff21fb2f3462e06fcbd7812562f4771b0487
Author: Kai Sasaki <lewuathe at gmail.com>
Date: 2024-01-31 (Wed, 31 Jan 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)
The previous PR was not correct on the way to handle the negative value.
It is necessary to take the absolute value of the given real (or
imaginary) part to be multiplied with the sqrt part.
See: https://github.com/llvm/llvm-project/pull/76316
Commit: b21a2f9365b6c5fd464a97be5dfe7085742870ef
https://github.com/llvm/llvm-project/commit/b21a2f9365b6c5fd464a97be5dfe7085742870ef
Author: Michael Spencer <bigcheesegs at gmail.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
A clang/test/ClangScanDeps/missing-vfs.m
Log Message:
-----------
[clang][scan-deps] Stop scanning if any scanning setup emits an error.
Without this scanning will continue and later hit an assert that the
number of `RedirectingFileSystem`s matches the number of -ivfsoverlay
arguments.
Commit: c806d8c7e948f01405be4ea344d883f066f8ae59
https://github.com/llvm/llvm-project/commit/c806d8c7e948f01405be4ea344d883f066f8ae59
Author: rmarker <37921131+rmarker at users.noreply.github.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M clang/docs/tools/dump_format_style.py
Log Message:
-----------
[clang-format] Explicitly open DOC_FILE with utf-8 in dump_format_style.py (#79805)
The dump_format_style.py script generates the clang-format style options
documentation.
There was an issue where the script could include spurious characters in
the output when run in windows. It appears that it wasn't defaulting to
the correct encoding when reading the input.
This has been addressed by explicitly setting the encoding when opening
the file.
Commit: b91bba89edfb25d011e1f2366cda5dec605c87f6
https://github.com/llvm/llvm-project/commit/b91bba89edfb25d011e1f2366cda5dec605c87f6
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M mlir/include/mlir/Conversion/MemRefToSPIRV/MemRefToSPIRV.h
M mlir/lib/Conversion/GPUToSPIRV/GPUToSPIRVPass.cpp
M mlir/lib/Conversion/MemRefToSPIRV/MapMemRefStorageClassPass.cpp
Log Message:
-----------
[mlir][spirv] Use `AttrTypeReplacer` in map-memref-storage-class. NFC. (#80055)
Keep the conversion target to allow for checking if the op is legal.
Commit: d783933bc910ac005e18928d22b6c10c4fe8d6f6
https://github.com/llvm/llvm-project/commit/d783933bc910ac005e18928d22b6c10c4fe8d6f6
Author: Yaraslau <yaraslau.tamashevich at gmail.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
A clang/test/ClangScanDeps/empty.cpp
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
Log Message:
-----------
[clang-scan-deps] Fix check for empty `Compilation` (#75545)
Closes https://github.com/llvm/llvm-project/issues/64144
Instead of checking for `nullptr` we need to ensure that `JobList` is
not empty to proceed
Commit: 2abcbbd96ad731b05fae970a0abb23cda784dddd
https://github.com/llvm/llvm-project/commit/2abcbbd96ad731b05fae970a0abb23cda784dddd
Author: Maksim Panchenko <maks at fb.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M bolt/include/bolt/Core/BinaryContext.h
M bolt/include/bolt/Utils/CommandLineOpts.h
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Rewrite/LinuxKernelRewriter.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/lib/Utils/CommandLineOpts.cpp
M bolt/test/X86/linux-orc.s
Log Message:
-----------
[BOLT] Detect Linux kernel based on ELF program headers (#80086)
Check if program header addresses fall into the kernel space to detect a
Linux kernel binary on x86-64.
Delete opts::LinuxKernelMode and use BinaryContext::IsLinuxKernel
instead.
Commit: b4d832c77dcba4136132559a5183883cf064389d
https://github.com/llvm/llvm-project/commit/b4d832c77dcba4136132559a5183883cf064389d
Author: Carl Peto <carl.peto at me.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseObjc.cpp
M clang/lib/Sema/SemaDecl.cpp
Log Message:
-----------
[clang] Improved isSimpleTypeSpecifier (#79037)
- Sema::isSimpleTypeSpecifier return true for _Bool in c99 (currently
returns false for _Bool, regardless of C dialect). (Fixes #72203)
- replace the logic with a check for simple types and a proper check for
a valid keyword in the appropriate dialect
Co-authored-by: Carl Peto <CPeto at becrypt.com>
Commit: c761b4a5e4cc003a2c850898e1dc67d2637cfb0c
https://github.com/llvm/llvm-project/commit/c761b4a5e4cc003a2c850898e1dc67d2637cfb0c
Author: Billy Laws <blaws05 at gmail.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/arm64ec-varargs.ll
M llvm/test/CodeGen/AArch64/vararg-tallcall.ll
Log Message:
-----------
[AArch64] Fix variadic tail-calls on ARM64EC (#79774)
ARM64EC varargs calls expect that x4 = sp at entry, special handling is
needed to ensure this with tail calls since they occur after the
epilogue and the x4 write happens before.
I tried going through AArch64MachineFrameLowering for this, hoping to
avoid creating the dummy object but this was the best I could do since
the stack info that uses isn't populated at this stage,
CreateFixedObject also explicitly forbids 0 sized objects.
Commit: 1a17f2beb9cd1f5bbaa64502ab5c02ff74c199a4
https://github.com/llvm/llvm-project/commit/1a17f2beb9cd1f5bbaa64502ab5c02ff74c199a4
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
A llvm/test/CodeGen/WebAssembly/disable-feature.ll
Log Message:
-----------
[WebAssembly] avoid to use explicit disabled feature
In `CoalesceFeaturesAndStripAtomics`, feature string is converted to FeatureBitset and back to feature string. It will lose information about explicit diasbled features.
Commit: c43fda3efcbf5b16e611473cf03c88381237f50f
https://github.com/llvm/llvm-project/commit/c43fda3efcbf5b16e611473cf03c88381237f50f
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
R llvm/test/CodeGen/WebAssembly/disable-feature.ll
Log Message:
-----------
Revert "[WebAssembly] avoid to use explicit disabled feature"
This reverts commit 1a17f2beb9cd1f5bbaa64502ab5c02ff74c199a4.
Commit: ff4636a4ab00b633c15eb3942c26126ceb2662e6
https://github.com/llvm/llvm-project/commit/ff4636a4ab00b633c15eb3942c26126ceb2662e6
Author: Oskar Wirga <10386631+oskarwirga at users.noreply.github.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M llvm/include/llvm/CodeGen/LivePhysRegs.h
M llvm/include/llvm/CodeGen/MachineBasicBlock.h
M llvm/lib/CodeGen/BranchFolding.cpp
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp
M llvm/lib/Target/PowerPC/PPCExpandAtomicPseudoInsts.cpp
M llvm/lib/Target/PowerPC/PPCFrameLowering.cpp
M llvm/lib/Target/SystemZ/SystemZFrameLowering.cpp
M llvm/lib/Target/X86/X86FrameLowering.cpp
M llvm/test/CodeGen/SystemZ/branch-folder-hoist-livein.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/spillingmove.mir
Log Message:
-----------
Refactor recomputeLiveIns to converge on added MachineBasicBlocks (#79940)
This is a fix for the regression seen in
https://github.com/llvm/llvm-project/pull/79498
> Currently, the way that recomputeLiveIns works is that it will
recompute the livein registers for that MachineBasicBlock but it matters
what order you call recomputeLiveIn which can result in incorrect
register allocations down the line.
Now we do not recompute the entire CFG but we do ensure that the newly
added MBB do reach convergence.
Commit: c19436eec1c236cbe622c04e33f35f1f9478fa15
https://github.com/llvm/llvm-project/commit/c19436eec1c236cbe622c04e33f35f1f9478fa15
Author: Kohei Yamaguchi <fix7211 at gmail.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M mlir/lib/Conversion/SPIRVToLLVM/SPIRVToLLVM.cpp
Log Message:
-----------
[mlir][spirv] Fix a crash of typeConverter with non supported type (#79955)
Fixes a crash in the `convert-to-spirv-llvm` pass caused by unsupported
types (e.g. `spirv.matrix` ). This PR fixes it by checking the converted type.
Fixes #60017
Commit: 7155c1ef658b66132f15bf1406e84e68eed3358f
https://github.com/llvm/llvm-project/commit/7155c1ef658b66132f15bf1406e84e68eed3358f
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/lib/Basic/Targets/NVPTX.cpp
M clang/lib/Basic/Targets/NVPTX.h
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/test/Driver/cuda-cross-compiling.c
M clang/test/Preprocessor/predefined-arch-macros.c
Log Message:
-----------
[NVPTX] Allow compiling LLVM-IR without `-march` set (#79873)
Summary:
The NVPTX tools require an architecture to be used, however if we are
creating generic LLVM-IR we should be able to leave it unspecified. This
will result in the `target-cpu` attributes not being set on the
functions so it can be changed when linked into code. This allows the
standalone `--target=nvptx64-nvidia-cuda` toolchain to create LLVM-IR
simmilar to how CUDA's deviceRTL looks from C/C++
Commit: ab70ac605e784c630122b27c5971fde68e80bd1b
https://github.com/llvm/llvm-project/commit/ab70ac605e784c630122b27c5971fde68e80bd1b
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/Sema/SemaConcept.cpp
M clang/test/SemaTemplate/concepts-out-of-line-def.cpp
Log Message:
-----------
[concepts] Push a CurContext before substituting into out-of-line constraints for comparison (#79985)
Commit: fa3307eb3f47b0bd574fc754934f98c0f27e4e36
https://github.com/llvm/llvm-project/commit/fa3307eb3f47b0bd574fc754934f98c0f27e4e36
Author: Karthika Devi C <quic_kartc at quicinc.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M polly/lib/Analysis/ScopBuilder.cpp
A polly/test/ScopInfo/reduction_different_index.ll
A polly/test/ScopInfo/reduction_different_index1.ll
Log Message:
-----------
[polly] Make reduction detection checks more robust - part 1 (#75297)
Existing reduction detection algorithm does two types of memory checks
before marking a load store pair as reduction.
First is to check if load and store are pointing to the same memory. This
check right now detects the following case as reduction. sum[0] = sum[1]
+ A[i]
This is because the check compares only base of the memory addresses
involved and not their indices. This patch addresses this issue and
introduces some debug prints. Added couple of test cases to verify the
functionality of patch as well.
Commit: 9179d87abce8e92c0bf30bc1ee1c17e17e362bc0
https://github.com/llvm/llvm-project/commit/9179d87abce8e92c0bf30bc1ee1c17e17e362bc0
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
Log Message:
-----------
[RISCV] Remove unused RISCVISD opcodes. NFC
These were left behind after fb94c6491a114ebd5815b1d42665a8f6bcd9d639
Commit: 150ab99583e252a809b94f89da2576a1fc808297
https://github.com/llvm/llvm-project/commit/150ab99583e252a809b94f89da2576a1fc808297
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86InstrInfo.h
Log Message:
-----------
[X86][NFC] Add documentation for methods in X86InstrInfo.h
Address RKSimon's comment in 2960656eb909b5361ce2c3f641ee341769076ab7
Commit: c12f30c7ffedb2338d64d8f98a76ae56c497cfbb
https://github.com/llvm/llvm-project/commit/c12f30c7ffedb2338d64d8f98a76ae56c497cfbb
Author: Ben Shi <2283975856 at qq.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
M clang/test/Analysis/errno-stdlibraryfunctions.c
Log Message:
-----------
[clang][analyzer] Improve modeling of 'realpath' in StdLibraryFunctionsChecker (#79939)
Commit: 8e77390c065fafeca220937e28f7d2ecc1a9ef15
https://github.com/llvm/llvm-project/commit/8e77390c065fafeca220937e28f7d2ecc1a9ef15
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86InstrAVX512.td
M llvm/lib/Target/X86/X86InstrFoldTables.cpp
M llvm/lib/Target/X86/X86InstrFoldTables.h
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/X86/X86InstrInfo.h
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-8.ll
Log Message:
-----------
[X86][CodeGen] Support folding memory broadcast in X86InstrInfo::foldMemoryOperandImpl (#79761)
Commit: a034e65e972175a2465deacb8c78bc7efc99bd23
https://github.com/llvm/llvm-project/commit/a034e65e972175a2465deacb8c78bc7efc99bd23
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
M llvm/test/Transforms/CorrelatedValuePropagation/basic.ll
A llvm/test/Transforms/CorrelatedValuePropagation/switch.ll
Log Message:
-----------
[CVP] Check whether the default case is reachable (#79993)
This patch eliminates unreachable default cases using context-sensitive
range information.
Commit: 5d7a0a734a0073ed2237606558d7616923ff50c2
https://github.com/llvm/llvm-project/commit/5d7a0a734a0073ed2237606558d7616923ff50c2
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86InstrInfo.cpp
Log Message:
-----------
[X86] Use a range-based for loop (NFC)
Commit: eef6485ac1bffb6adf0b25ff4a117aa1590e70d0
https://github.com/llvm/llvm-project/commit/eef6485ac1bffb6adf0b25ff4a117aa1590e70d0
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/R600OptimizeVectorRegisters.cpp
Log Message:
-----------
[AMDGPU] Use llvm::all_of (NFC)
Commit: 2699c1d7007ea8001bfaae50de01ff33791ce958
https://github.com/llvm/llvm-project/commit/2699c1d7007ea8001bfaae50de01ff33791ce958
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/ReservedIdentifierCheck.cpp
Log Message:
-----------
[clang-tidy] Use StringRef::starts_with (NFC)
Commit: 292b508ebaa653073d9ce12156c93f5a0cf67680
https://github.com/llvm/llvm-project/commit/292b508ebaa653073d9ce12156c93f5a0cf67680
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
Log Message:
-----------
[AMDGPU] Use StringRef::consume_front (NFC)
Commit: 8a98091162841fabc3816f3f29380c930ccbcab5
https://github.com/llvm/llvm-project/commit/8a98091162841fabc3816f3f29380c930ccbcab5
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/test/CodeGen/RISCV/or-is-add.ll
M llvm/test/CodeGen/RISCV/rv64-legal-i32/rv64zba.ll
M llvm/test/CodeGen/RISCV/rv64zba.ll
Log Message:
-----------
[RISCV] Use disjoint flag in or_is_add.
Commit: f2816ff60c7dae0347beba9b11154b33e6311059
https://github.com/llvm/llvm-project/commit/f2816ff60c7dae0347beba9b11154b33e6311059
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/test/Transforms/InstCombine/and-or-icmps.ll
M llvm/test/Transforms/InstCombine/and-or-not.ll
M llvm/test/Transforms/InstCombine/and-xor-or.ll
M llvm/test/Transforms/InstCombine/or-xor.ll
M llvm/test/Transforms/InstCombine/or.ll
Log Message:
-----------
[InstCombine] Simplify and/or by replacing operands with constants (#77231)
This patch tries to simplify `X | Y` by replacing occurrences of `Y` in
`X` with 0. Similarly, it tries to simplify `X & Y` by replacing
occurrences of `Y` in `X` with -1.
Alive2: https://alive2.llvm.org/ce/z/cNjDTR
Note: As the current implementation is too conservative in the one-use
checks, I cannot remove other existing hard-coded simplifications if
they involves more than two instructions (e.g, `A & ~(A ^ B) --> A &
B`).
Compile-time impact:
http://llvm-compile-time-tracker.com/compare.php?from=a085402ef54379758e6c996dbaedfcb92ad222b5&to=9d655c6685865ffce0ad336fed81228f3071bd03&stat=instructions%3Au
|stage1-O3|stage1-ReleaseThinLTO|stage1-ReleaseLTO-g|stage1-O0-g|stage2-O3|stage2-O0-g|stage2-clang|
|--|--|--|--|--|--|--|
|+0.01%|-0.00%|+0.00%|-0.02%|+0.01%|+0.02%|-0.01%|
Fixes #76554.
Commit: 5bb99edcb6726e5dcc20d2236ef51b11c248acb9
https://github.com/llvm/llvm-project/commit/5bb99edcb6726e5dcc20d2236ef51b11c248acb9
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.h
M clang/lib/AST/Interp/Descriptor.cpp
M clang/lib/AST/Interp/Descriptor.h
M clang/lib/AST/Interp/Interp.cpp
M clang/lib/AST/Interp/Interp.h
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/Program.cpp
M clang/test/AST/Interp/cxx11.cpp
M clang/test/AST/Interp/cxx17.cpp
M clang/test/AST/Interp/cxx23.cpp
M clang/test/AST/Interp/literals.cpp
M clang/unittests/AST/Interp/Descriptor.cpp
Log Message:
-----------
[clang][Interp] Add inline descriptor to global variables (#72892)
Some time ago, I did a similar patch for local variables.
Initializing global variables can fail as well:
```c++
constexpr int a = 1/0;
static_assert(a == 0);
```
... would succeed in the new interpreter, because we never saved the
fact that `a` has not been successfully initialized.
Commit: 6f35f1d7c137f5733b7035444397bcdace5c9df1
https://github.com/llvm/llvm-project/commit/6f35f1d7c137f5733b7035444397bcdace5c9df1
Author: Piggy <piggynl at outlook.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M .git-blame-ignore-revs
Log Message:
-----------
[NFC] Update .git-blame-ignore-revs for compiler-rt builtins (#79803)
The three commits from "[RFC] compiler-rt builtins cleanup and
refactoring" rewrote lots of code in compiler-rt builtins.
- 082b89b: [builtins] Reformat builtins with clang-format
- 0ba22f5: [builtins] Use single line C++/C99 comment style
- 84da0e1: [builtins] Use aliases for function redirects
Commit: 95947465024e865a4a671e94902db40d250f0601
https://github.com/llvm/llvm-project/commit/95947465024e865a4a671e94902db40d250f0601
Author: Piggy <piggynl at outlook.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M .github/new-prs-labeler.yml
Log Message:
-----------
[NFC] Add compiler-rt:* to .github/new-prs-labeler.yml (#79872)
After this change, all current compiler-rt:* labels on GitHub are
covered.
Commit: c83ec847ac9d06fb4ad85ce3bc50d7a6b122ead2
https://github.com/llvm/llvm-project/commit/c83ec847ac9d06fb4ad85ce3bc50d7a6b122ead2
Author: martinboehme <mboehme at google.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
Log Message:
-----------
[clang][dataflow] Extend debug output for `Environment`. (#79982)
* Print `ReturnLoc`, `ReturnVal`, and `ThisPointeeLoc` if applicable.
* For entries in `LocToVal` that correspond to declarations, print the
names
of the declarations next to them.
I've removed the FIXME because all relevant fields are now being dumped.
I'm
not sure we actually need the capability for the caller to specify which
fields
to dump, so I've simply deleted this part of the comment.
Some examples of the output:
![image](https://github.com/llvm/llvm-project/assets/29098113/17d0978f-b86d-4555-8a61-d1f2021f8d59)
![image](https://github.com/llvm/llvm-project/assets/29098113/021dbb24-5fe2-4720-8a08-f48dcf4b88f8)
Commit: 3564666fe19217e3d6d3d98dd182553fc8d50e6f
https://github.com/llvm/llvm-project/commit/3564666fe19217e3d6d3d98dd182553fc8d50e6f
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/intrinsics.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wmma_64.ll
M llvm/test/CodeGen/AMDGPU/wmma-gfx12-w32-f16-f32-matrix-modifiers.ll
M llvm/test/CodeGen/AMDGPU/wmma-gfx12-w32-imm.ll
M llvm/test/CodeGen/AMDGPU/wmma-gfx12-w32-iu-modifiers.ll
M llvm/test/CodeGen/AMDGPU/wmma-gfx12-w32-swmmac-index_key.ll
M llvm/test/CodeGen/AMDGPU/wmma-gfx12-w32.ll
M llvm/test/CodeGen/AMDGPU/wmma-gfx12-w64-f16-f32-matrix-modifiers.ll
M llvm/test/CodeGen/AMDGPU/wmma-gfx12-w64-imm.ll
M llvm/test/CodeGen/AMDGPU/wmma-gfx12-w64-iu-modifiers.ll
M llvm/test/CodeGen/AMDGPU/wmma-gfx12-w64-swmmac-index_key.ll
M llvm/test/CodeGen/AMDGPU/wmma-gfx12-w64.ll
M llvm/test/CodeGen/AMDGPU/wmma_modifiers.ll
M llvm/test/CodeGen/AMDGPU/wmma_multiple_32.ll
M llvm/test/CodeGen/AMDGPU/wmma_multiple_64.ll
Log Message:
-----------
[AMDGPU]: Fix type signatures for wmma intrinsics, NFC (#80087)
Make the wmma intrinsic type signatures to be canonical. We need
a type signature as long as the type is not fixed. However, when an
argument's type matches a previous argument's type, we do not need the
signature for this argument.
This patch fixes three general cases:
1. add missing signatures
2. remove signatures for matching arguments
3. reorer the signatures -- return type signature should always appear
first
Commit: ee01a2c3996f9647f3158f5acdb921a6ede94dc1
https://github.com/llvm/llvm-project/commit/ee01a2c3996f9647f3158f5acdb921a6ede94dc1
Author: Tianlan Zhou <bobby825 at 126.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M clang-tools-extra/clangd/InlayHints.cpp
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/ExprConstant.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaOverload.cpp
A clang/test/AST/ast-dump-static-operators.cpp
M clang/test/CodeGenCXX/cxx2b-static-call-operator.cpp
M clang/test/CodeGenCXX/cxx2b-static-subscript-operator.cpp
A clang/test/SemaCXX/cxx2b-static-operator.cpp
Log Message:
-----------
[clang] static operators should evaluate object argument (reland) (#80108)
This re-applies 30155fc0 with a fix for clangd.
### Description
clang don't evaluate the object argument of `static operator()` and
`static operator[]` currently, for example:
```cpp
#include <iostream>
struct Foo {
static int operator()(int x, int y) {
std::cout << "Foo::operator()" << std::endl;
return x + y;
}
static int operator[](int x, int y) {
std::cout << "Foo::operator[]" << std::endl;
return x + y;
}
};
Foo getFoo() {
std::cout << "getFoo()" << std::endl;
return {};
}
int main() {
std::cout << getFoo()(1, 2) << std::endl;
std::cout << getFoo()[1, 2] << std::endl;
}
```
`getFoo()` is expected to be called, but clang don't call it currently
(17.0.6). This PR fixes this issue.
Fixes #67976, reland #68485.
### Walkthrough
- **clang/lib/Sema/SemaOverload.cpp**
- **`Sema::CreateOverloadedArraySubscriptExpr` &
`Sema::BuildCallToObjectOfClassType`**
Previously clang generate `CallExpr` for static operators, ignoring the
object argument. In this PR `CXXOperatorCallExpr` is generated for
static operators instead, with the object argument as the first
argument.
- **`TryObjectArgumentInitialization`**
`const` / `volatile` objects are allowed for static methods, so that we
can call static operators on them.
- **clang/lib/CodeGen/CGExpr.cpp**
- **`CodeGenFunction::EmitCall`**
CodeGen changes for `CXXOperatorCallExpr` with static operators: emit
and ignore the object argument first, then emit the operator call.
- **clang/lib/AST/ExprConstant.cpp**
- **`ExprEvaluatorBase::handleCallExpr`**
Evaluation of static operators in constexpr also need some small changes
to work, so that the arguments won't be out of position.
- **clang/lib/Sema/SemaChecking.cpp**
- **`Sema::CheckFunctionCall`**
Code for argument checking also need to be modify, or it will fail the
test `clang/test/SemaCXX/overloaded-operator-decl.cpp`.
- **clang-tools-extra/clangd/InlayHints.cpp**
- **`InlayHintVisitor::VisitCallExpr`**
Now that the `CXXOperatorCallExpr` for static operators also have object
argument, we should also take care of this situation in clangd.
### Tests
- **Added:**
- **clang/test/AST/ast-dump-static-operators.cpp**
Verify the AST generated for static operators.
- **clang/test/SemaCXX/cxx2b-static-operator.cpp**
Static operators should be able to be called on const / volatile
objects.
- **Modified:**
- **clang/test/CodeGenCXX/cxx2b-static-call-operator.cpp**
- **clang/test/CodeGenCXX/cxx2b-static-subscript-operator.cpp**
Matching the new CodeGen.
### Documentation
- **clang/docs/ReleaseNotes.rst**
Update release notes.
---------
Co-authored-by: Shafik Yaghmour <shafik at users.noreply.github.com>
Co-authored-by: cor3ntin <corentinjabot at gmail.com>
Co-authored-by: Aaron Ballman <aaron at aaronballman.com>
Commit: 82324bc991401aecc4d743d4993b6c68dd60a615
https://github.com/llvm/llvm-project/commit/82324bc991401aecc4d743d4993b6c68dd60a615
Author: martinboehme <mboehme at google.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M clang/lib/Analysis/FlowSensitive/HTMLLogger.cpp
Log Message:
-----------
[clang][dataflow] In the CFG visualization, mark converged blocks. (#79999)
Here's an example of the output:
![image](https://github.com/llvm/llvm-project/assets/29098113/63cd509e-c2a7-4794-b758-ea73812ff09f)
Commit: b49b3ddd828192f0b3ef43762ab832b085ac95c4
https://github.com/llvm/llvm-project/commit/b49b3ddd828192f0b3ef43762ab832b085ac95c4
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M llvm/include/llvm/ADT/SmallPtrSet.h
Log Message:
-----------
[ADT] Use a constexpr version of llvm::bit_ceil (NFC) (#79709)
This patch replaces the template trick with a constexpr function that
is more readable. Once C++20 is available in our code base, we can
remove the constexpr function in favor of std::bit_ceil.
Commit: f292f90bc2ec2c1ec4306027e17877bb4603d8d2
https://github.com/llvm/llvm-project/commit/f292f90bc2ec2c1ec4306027e17877bb4603d8d2
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/test/Transforms/InstCombine/fabs.ll
Log Message:
-----------
[InstCombine] Fold select with signbit idiom into fabs (#76342)
This patch folds:
```
((bitcast X to int) <s 0 ? -X : X) -> fabs(X)
((bitcast X to int) >s -1 ? X : -X) -> fabs(X)
((bitcast X to int) <s 0 ? X : -X) -> -fabs(X)
((bitcast X to int) >s -1 ? -X : X) -> -fabs(X)
```
Alive2: https://alive2.llvm.org/ce/z/rGepow
Commit: d71831a2172e4cf7c3f3540c472ce2aeb14d4505
https://github.com/llvm/llvm-project/commit/d71831a2172e4cf7c3f3540c472ce2aeb14d4505
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M clang/test/Interpreter/cxx20-modules.cppm
Log Message:
-----------
[NFC] [clang-repl] Fix test failures due to incosistent target settings
See https://github.com/llvm/llvm-project/pull/79261 for details.
It shows that clang-repl uses a different target triple with clang so that it
may be problematic if the calng-repl reads the generated BMI from clang
in a different target triple.
While the underlying issue is not easy to fix, this patch tries to make
this test green to not bother developers.
Commit: dc5dca1d0118a826459026cfe5819f3f83b599ed
https://github.com/llvm/llvm-project/commit/dc5dca1d0118a826459026cfe5819f3f83b599ed
Author: Chia <sun1011jacobi at gmail.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/vector-interleave.ll
A llvm/test/CodeGen/RISCV/rvv/vwadd-mask-sdnode.ll
Log Message:
-----------
[RISCV][Isel] Remove redundant vmerge for the scalable vwadd(u).wv (#80079)
Similar to #78403, but for scalable `vwadd(u).wv`, given that #76785 is recommited.
### Code
```
define <vscale x 8 x i64> @vwadd_wv_mask_v8i32(<vscale x 8 x i32> %x, <vscale x 8 x i64> %y) {
%mask = icmp slt <vscale x 8 x i32> %x, shufflevector (<vscale x 8 x i32> insertelement (<vscale x 8 x i32> poison, i32 42, i64 0), <vscale x 8 x i32> poison, <vscale x 8 x i32> zeroinitializer)
%a = select <vscale x 8 x i1> %mask, <vscale x 8 x i32> %x, <vscale x 8 x i32> zeroinitializer
%sa = sext <vscale x 8 x i32> %a to <vscale x 8 x i64>
%ret = add <vscale x 8 x i64> %sa, %y
ret <vscale x 8 x i64> %ret
}
```
### Before this patch
[Compiler Explorer](https://godbolt.org/z/xsoa5xPrd)
```
vwadd_wv_mask_v8i32:
li a0, 42
vsetvli a1, zero, e32, m4, ta, ma
vmslt.vx v0, v8, a0
vmv.v.i v12, 0
vmerge.vvm v24, v12, v8, v0
vwadd.wv v8, v16, v24
ret
```
### After this patch
```
vwadd_wv_mask_v8i32:
li a0, 42
vsetvli a1, zero, e32, m4, ta, ma
vmslt.vx v0, v8, a0
vsetvli zero, zero, e32, m4, tu, mu
vwadd.wv v16, v16, v8, v0.t
vmv8r.v v8, v16
ret
```
Commit: db49319264d6d2b6f9f7b345495d543210c2cfe3
https://github.com/llvm/llvm-project/commit/db49319264d6d2b6f9f7b345495d543210c2cfe3
Author: Matthias Springer <me at m-sp.org>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/test/Dialect/GPU/decompose-memrefs.mlir
M mlir/test/Dialect/MemRef/fold-memref-alias-ops.mlir
M mlir/test/Dialect/MemRef/invalid.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_rewrite_sort_coo.mlir
Log Message:
-----------
[mlir][memref] `memref.subview`: Verify result strides (#79865)
The `memref.subview` verifier currently checks result shape, element
type, memory space and offset of the result type. However, the strides
of the result type are currently not verified. This commit adds
verification of result strides for non-rank reducing ops and fixes
invalid IR in test cases.
Verification of result strides for ops with rank reductions is more
complex (and there could be multiple possible result types). That is
left for a separate commit.
Also refactor the implementation a bit:
* If `computeMemRefRankReductionMask` could not compute the dropped
dimensions, there must be something wrong with the op. Return
`FailureOr` instead of `std::optional`.
* `isRankReducedMemRefType` did much more than just checking whether the
op has rank reductions or not. Inline the implementation into the
verifier and add better comments.
* `produceSubViewErrorMsg` does not have to be templatized.
Commit: f8525030004f907cd108e7c18df255a6d3b23124
https://github.com/llvm/llvm-project/commit/f8525030004f907cd108e7c18df255a6d3b23124
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M llvm/lib/CodeGen/RegisterClassInfo.cpp
Log Message:
-----------
[CodeGen] Don't include aliases in RegisterClassInfo::IgnoreCSRForAllocOrder (#80015)
Previously we called ignoreCSRForAllocationOrder on every alias of every
CSR which was expensive on targets like AMDGPU which define a very large
number of overlapping register tuples.
On such targets it is simpler and faster to call
ignoreCSRForAllocationOrder once for every physical register.
Differential Revision: https://reviews.llvm.org/D146735
Commit: 96c907dbcebdfbc88f73e097270d171bb83ec3cf
https://github.com/llvm/llvm-project/commit/96c907dbcebdfbc88f73e097270d171bb83ec3cf
Author: Matthias Springer <me at m-sp.org>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/test/Dialect/GPU/decompose-memrefs.mlir
M mlir/test/Dialect/MemRef/fold-memref-alias-ops.mlir
M mlir/test/Dialect/MemRef/invalid.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_rewrite_sort_coo.mlir
Log Message:
-----------
Revert "[mlir][memref] `memref.subview`: Verify result strides" (#80116)
Reverts llvm/llvm-project#79865
I think there is a bug in the stride computation in
`SubViewOp::inferResultType`. (Was already there before this change.)
Reverting this commit for now and updating the original pull request
with a fix and more test cases.
Commit: 64a849a52e08827e889be22ed3ceafe62cd03793
https://github.com/llvm/llvm-project/commit/64a849a52e08827e889be22ed3ceafe62cd03793
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeEmitter.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/Disasm.cpp
M clang/lib/AST/Interp/IntegralAP.h
M clang/lib/AST/Interp/Interp.h
M clang/lib/AST/Interp/Opcodes.td
M clang/test/AST/Interp/intap.cpp
Log Message:
-----------
[clang][Interp] Support arbitrary precision constants (#79747)
Add (de)serialization support for them, like we do for Floating values.
Commit: d439f3640b6261f372c614afced7bac321af2958
https://github.com/llvm/llvm-project/commit/d439f3640b6261f372c614afced7bac321af2958
Author: jinchen62 <49575973+jinchen62 at users.noreply.github.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/test/Dialect/Linalg/tile-to-forall.mlir
Log Message:
-----------
Add support of param type for transform.structured.tile_using_forall (#72097)
Make transform.structured.tile_using_forall be able to take param type
tile sizes.
Examples:
```
%tile_sizes = transform.param.constant 16 : i64 -> !transform.param<i64>
transform.structured.tile_using_forall %matmul tile_sizes [%tile_sizes : !transform.param<i64>, 32] ( mapping = [#gpu.block<x>, #gpu.block<y>] ) : (!transform.any_op) -> (!transform.any_op, !transform.any_op)
```
```
%c10 = transform.param.constant 10 : i64 -> !transform.any_param
%c20 = transform.param.constant 20 : i64 -> !transform.any_param
%tile_sizes = transform.merge_handles %c10, %c20 : !transform.any_param
transform.structured.tile_using_forall %matmul tile_sizes *(%tile_sizes : !transform.any_param) ( mapping = [#gpu.block<x>, #gpu.block<y>] ) : (!transform.any_op) -> (!transform.any_op, !transform.any_op)
```
Commit: dd736661826e215ac70ff3a4a4ccd75bda0c5ccd
https://github.com/llvm/llvm-project/commit/dd736661826e215ac70ff3a4a4ccd75bda0c5ccd
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/test/CodeGen/AArch64/sme-disable-gisel-fisel.ll
A llvm/test/CodeGen/AArch64/sme-pstate-sm-changing-call-disable-coalescing.ll
M llvm/test/CodeGen/AArch64/sme-streaming-body.ll
M llvm/test/CodeGen/AArch64/sme-streaming-compatible-interface.ll
M llvm/test/CodeGen/AArch64/sme-streaming-interface.ll
M llvm/test/CodeGen/AArch64/sme-streaming-mode-changing-call-disable-stackslot-scavenging.ll
Log Message:
-----------
[SME] Stop RA from coalescing COPY instructions that transcend beyond smstart/smstop. (#78294)
This patch introduces a 'COALESCER_BARRIER' which is a pseudo node that
expands to
a 'nop', but which stops the register allocator from coalescing a COPY
node when
its use/def crosses a SMSTART or SMSTOP instruction.
For example:
%0:fpr64 = COPY killed $d0
undef %2.dsub:zpr = COPY %0 // <- Do not coalesce this COPY
ADJCALLSTACKDOWN 0, 0
MSRpstatesvcrImm1 1, 0, csr_aarch64_smstartstop, implicit-def dead $d0
$d0 = COPY killed %0
BL @use_f64, csr_aarch64_aapcs
If the COPY would be coalesced, that would lead to:
$d0 = COPY killed %0
being replaced by:
$d0 = COPY killed %2.dsub
which means the whole ZPR reg would be live upto the call, causing the
MSRpstatesvcrImm1 (smstop) to spill/reload the ZPR register:
str q0, [sp] // 16-byte Folded Spill
smstop sm
ldr z0, [sp] // 16-byte Folded Reload
bl use_f64
which would be incorrect for two reasons:
1. The program may load more data than it has allocated.
2. If there are other SVE objects on the stack, the compiler might use
the
'mul vl' addressing modes to access the spill location.
By disabling the coalescing, we get the desired results:
str d0, [sp, #8] // 8-byte Folded Spill
smstop sm
ldr d0, [sp, #8] // 8-byte Folded Reload
bl use_f64
Commit: 89f87c387627150d342722b79c78cea2311cddf7
https://github.com/llvm/llvm-project/commit/89f87c387627150d342722b79c78cea2311cddf7
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
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/lib/Target/RISCV/RISCVInstrInfoZa.td
M llvm/lib/Target/RISCV/RISCVSchedRocket.td
M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
M llvm/lib/Target/RISCV/RISCVSchedSiFiveP400.td
M llvm/lib/Target/RISCV/RISCVSchedSyntacoreSCR1.td
M llvm/lib/Target/RISCV/RISCVSchedule.td
M llvm/test/CodeGen/RISCV/attributes.ll
A llvm/test/MC/RISCV/rvzabha-invalid.s
A llvm/test/MC/RISCV/rvzabha-valid.s
A llvm/test/MC/RISCV/rvzabha-zacas-valid.s
M llvm/unittests/Support/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV][MC] Add MC layer support for the experimental zabha extension (#80005)
This patch implements the zabha (Byte and Halfword Atomic Memory
Operations) v1.0-rc1 extension.
See also https://github.com/riscv/riscv-zabha/blob/v1.0-rc1/zabha.adoc.
Commit: 488f88b844739fb8dac6a05799a1e1ec450c0ad9
https://github.com/llvm/llvm-project/commit/488f88b844739fb8dac6a05799a1e1ec450c0ad9
Author: srcarroll <50210727+srcarroll at users.noreply.github.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgMatchOps.td
M mlir/lib/Dialect/Linalg/TransformOps/LinalgMatchOps.cpp
M mlir/test/Dialect/Linalg/match-ops-interpreter.mlir
M mlir/test/Dialect/Linalg/match-ops-invalid.mlir
Log Message:
-----------
[mlir][transform] Add elementwise criteria to `match.structured.body` (#79626)
As far as I am aware, there is no simple way to match on elementwise
ops. I propose to add an `elementwise` criteria to the
`match.structured.body` op. Although my only hesitation is that
elementwise is not only determined by the body, but also the indexing
maps. So if others find this too awkward, I can implement a separate
match op instead.
Commit: 95ef8e386823717efeb2b7b1d02bfbb28473cccc
https://github.com/llvm/llvm-project/commit/95ef8e386823717efeb2b7b1d02bfbb28473cccc
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M mlir/include/mlir/Dialect/ArmSME/IR/ArmSMEIntrinsicOps.td
M mlir/include/mlir/Dialect/ArmSME/IR/ArmSMEOps.td
M mlir/include/mlir/Dialect/ArmSME/Transforms/Passes.h
M mlir/include/mlir/Dialect/ArmSME/Transforms/Passes.td
M mlir/include/mlir/Dialect/ArmSME/Transforms/Transforms.h
M mlir/lib/Conversion/ArmSMEToLLVM/ArmSMEToLLVM.cpp
M mlir/lib/Dialect/ArmSME/Transforms/CMakeLists.txt
A mlir/lib/Dialect/ArmSME/Transforms/OuterProductFusion.cpp
M mlir/test/Conversion/ArmSMEToLLVM/arm-sme-to-llvm.mlir
M mlir/test/Dialect/ArmSME/invalid.mlir
A 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-f16f16f32.mlir
M mlir/test/Target/LLVMIR/arm-sme.mlir
Log Message:
-----------
[mlir][ArmSME] Support 2-way widening outer products (#78975)
This patch introduces support for 2-way widening outer products. This
enables the fusion of 2 'arm_sme.outerproduct' operations that are
chained via the accumulator into a 2-way widening outer product
operation.
Changes:
- Add 'llvm.aarch64.sme.[us]mop[as].za32' intrinsics for 2-way variants.
These map to instruction variants added in SME2 and use different
intrinsics. Intrinsics are already implemented for widening variants
from SME1.
- Adds the following operations:
- fmopa_2way, fmops_2way
- smopa_2way, smops_2way
- umopa_2way, umops_2way
- Implements conversions for the above ops to intrinsics in
ArmSMEToLLVM.
- Adds a pass 'arm-sme-outer-product-fusion' that fuses
'arm_sme.outerproduct' operations.
For a detailed description of these operations see the
'arm_sme.fmopa_2way' description.
The reason for introducing many operations rather than one is the
signed/unsigned variants can't be distinguished with types (e.g., ui16,
si16) since 'arith.extui' and 'arith.extsi' only support signless
integers. A single operation would require this information and an
attribute (for example) for the sign doesn't feel right if
floating-point types are also supported where this wouldn't apply.
Furthermore, the SME FP8 extensions (FEAT_SME_F8F16, FEAT_SME_F8F32)
introduce FMOPA 2-way (FP8 to FP16) and 4-way (FP8 to FP32) variants but
no subtract variant. Whilst these are not supported in this patch, it
felt simpler to have separate ops for add/subtract given this.
Commit: 88610b79510983d7838e4f97411d5a2ac1f8fee8
https://github.com/llvm/llvm-project/commit/88610b79510983d7838e4f97411d5a2ac1f8fee8
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/LowerVectorTranspose.cpp
M mlir/test/Dialect/Vector/vector-transpose-lowering.mlir
Log Message:
-----------
[mlir][vector] Disable transpose -> shuffle lowering for scalable vectors (#79979)
vector.shuffle is not supported for scalable vectors (outside of splats)
Commit: ce7cc723b9d51ad9c741bbaeecb5e008b2b81338
https://github.com/llvm/llvm-project/commit/ce7cc723b9d51ad9c741bbaeecb5e008b2b81338
Author: Matthias Springer <springerm at google.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/lib/Dialect/MemRef/Transforms/ExpandStridedMetadata.cpp
M mlir/test/Dialect/GPU/decompose-memrefs.mlir
M mlir/test/Dialect/MemRef/fold-memref-alias-ops.mlir
M mlir/test/Dialect/MemRef/invalid.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_rewrite_sort_coo.mlir
Log Message:
-----------
[mlir][memref] `memref.subview`: Verify result strides
The `memref.subview` verifier currently checks result shape, element type, memory space and offset of the result type. However, the strides of the result type are currently not verified. This commit adds verification of result strides for non-rank reducing ops and fixes invalid IR in test cases.
Verification of result strides for ops with rank reductions is more complex (and there could be multiple possible result types). That is left for a separate commit.
Also refactor the implementation a bit:
* If `computeMemRefRankReductionMask` could not compute the dropped dimensions, there must be something wrong with the op. Return `FailureOr` instead of `std::optional`.
* `isRankReducedMemRefType` did much more than just checking whether the op has rank reductions or not. Inline the implementation into the verifier and add better comments.
* `produceSubViewErrorMsg` does not have to be templatized.
* Fix comment and add additional assert to `ExpandStridedMetadata.cpp`, to make sure that the memref.subview verifier is in sync with the memref.subview -> memref.reinterpret_cast lowering.
Note: This change is identical to #79865, but with a fixed comment and an additional assert in `ExpandStridedMetadata.cpp`. (I reverted #79865 in #80116, but the implementation was actually correct, just the comment in `ExpandStridedMetadata.cpp` was confusing.)
Commit: db1fbd65eb5cec0eb8ac0bd0cc38c88dda1babf7
https://github.com/llvm/llvm-project/commit/db1fbd65eb5cec0eb8ac0bd0cc38c88dda1babf7
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M llvm/test/Transforms/BDCE/invalidate-assumptions.ll
Log Message:
-----------
[BDCE] Add tests for #80113 (NFC)
Commit: 44ba4c732b60f4e3ab83703e4c83b35f91c4eb13
https://github.com/llvm/llvm-project/commit/44ba4c732b60f4e3ab83703e4c83b35f91c4eb13
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
A .github/workflows/merged-prs.yml
M llvm/utils/git/github-automation.py
Log Message:
-----------
[GitHub][workflows] Add buildbot information comment to first merged PR from a new contributor (#78292)
This change adds a comment to the first PR from a new contributor that
is merged, which tells them what to expect post merge from the build
bots.
How they will be notified, where to ask questions, that you're more
likely to be reverted than in other projects, etc. The information
overlaps with, and links to
https://llvm.org/docs/MyFirstTypoFix.html#myfirsttypofix-issues-after-landing-your-pr.
So that users who simply read the email are still aware, and know where
to follow up if they do get reports.
To do this, I have added a hidden HTML comment to the new contributor
greeting comment. This workflow will look for that to tell if the author
of the PR was a new contributor at the time they opened the merge. It
has to be done this way because as soon as the PR is merged, they are by
GitHub's definition no longer a new contributor and I suspect that their
author association will be "contributor" instead.
I cannot 100% confirm that without a whole lot of effort and probably
breaking GitHub's terms of service, but it's fairly cheap to work around
anyway. It seems rare / almost impossible to reopen a PR in llvm at
least, but in case it does happen the buildbot info comment has its own
hidden HTML comment. If we find this we will not post another copy of
the same information.
Commit: 24a804101b67676aa9fa7f1097043ddd9e2ac1b6
https://github.com/llvm/llvm-project/commit/24a804101b67676aa9fa7f1097043ddd9e2ac1b6
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M llvm/include/llvm/Support/raw_ostream.h
M llvm/lib/Support/Process.cpp
M llvm/lib/Support/Unix/Process.inc
M llvm/lib/Support/Windows/Process.inc
Log Message:
-----------
[llvm][Support] Support bright colors in raw_ostream (#80017)
Commit: b210cbbd0eb8ef7cd2735e99570474e6e53ee00b
https://github.com/llvm/llvm-project/commit/b210cbbd0eb8ef7cd2735e99570474e6e53ee00b
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/BDCE.cpp
M llvm/test/Transforms/BDCE/invalidate-assumptions.ll
Log Message:
-----------
[BDCE] Fix clearing of poison-generating flags
If the demanded bits of an instruction are full, we don't have to
recurse to its users, but we may still have to clear flags on the
instruction itself.
Fixes https://github.com/llvm/llvm-project/issues/80113.
Commit: da784a25557e29996bd33638d51d569ddf989faf
https://github.com/llvm/llvm-project/commit/da784a25557e29996bd33638d51d569ddf989faf
Author: Matthias Springer <me at m-sp.org>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M mlir/include/mlir/IR/Block.h
M mlir/include/mlir/IR/PatternMatch.h
M mlir/lib/IR/Block.cpp
M mlir/lib/IR/PatternMatch.cpp
M mlir/test/Transforms/test-strict-pattern-driver.mlir
M mlir/test/lib/Dialect/Test/TestPatterns.cpp
Log Message:
-----------
[mlir][IR] Add `RewriterBase::moveBlockBefore` and fix bug in `moveOpBefore` (#79579)
This commit adds a new method to the rewriter API: `moveBlockBefore`.
This op is utilized by `inlineRegionBefore` and covered by dialect
conversion test cases.
Also fixes a bug in `moveOpBefore`, where the previous op location was
not passed correctly. Adds a test case to
`test-strict-pattern-driver.mlir`.
Commit: 942cc9a222343d18339d08516166cfe94445fd13
https://github.com/llvm/llvm-project/commit/942cc9a222343d18339d08516166cfe94445fd13
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M llvm/lib/CodeGen/RegisterClassInfo.cpp
Log Message:
-----------
Revert "[CodeGen] Don't include aliases in RegisterClassInfo::IgnoreCSRForAllocOrder (#80015)"
This reverts commit f8525030004f907cd108e7c18df255a6d3b23124.
It was supposed to speed things up but llvm-compile-time-tracker.com
showed a slight slow down.
Commit: 50e80e06d1d4d1de200a3b349fcdd0dd0d0eb66d
https://github.com/llvm/llvm-project/commit/50e80e06d1d4d1de200a3b349fcdd0dd0d0eb66d
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-01-31 (Wed, 31 Jan 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/Transforms/InstCombine/InstCombineCalls.cpp
A llvm/test/Analysis/ValueTracking/powi-nneg.ll
M llvm/test/CodeGen/Thumb2/mve-vmaxnma-commute.ll
M llvm/test/Transforms/InstCombine/copysign-fneg-fabs.ll
M llvm/test/Transforms/InstSimplify/floating-point-arithmetic-strictfp.ll
Log Message:
-----------
[ValueTracking] Merge `cannotBeOrderedLessThanZeroImpl` into `computeKnownFPClass` (#76360)
This patch merges the logic of `cannotBeOrderedLessThanZeroImpl` into
`computeKnownFPClass` to improve the signbit inference.
---------
Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>
Commit: c2c650f62e15ca2444e1a938fdf869c84535ef16
https://github.com/llvm/llvm-project/commit/c2c650f62e15ca2444e1a938fdf869c84535ef16
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/global-constant.ll
M llvm/test/CodeGen/AMDGPU/llvm.memcpy.ll
M llvm/test/CodeGen/AMDGPU/rel32.ll
Log Message:
-----------
[AMDGPU] Stop combining arbitrary offsets into PAL relocs (#80034)
PAL uses ELF REL (not RELA) relocations which can only store a 32-bit
addend in the instruction, even for reloc types like R_AMDGPU_ABS32_HI
which require the upper 32 bits of a 64-bit address calculation to be
correct. This means that it is not safe to fold an arbitrary offset into
a GlobalAddressSDNode, so stop doing that.
In practice this is mostly a problem for small negative offsets which do
not work as expected because PAL treats the 32-bit addend as unsigned.
Commit: 0217d2e089afba8ca33330713787521ba52a1056
https://github.com/llvm/llvm-project/commit/0217d2e089afba8ca33330713787521ba52a1056
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M clang/docs/HIPSupport.rst
Log Message:
-----------
[clang][AMDGPU] Remove trialing whitespace in doc
Added by f2a78e68eee53646327f71c475c7f18a28b7f576.
Wouldn't normally bother but it's showing up in some CI checks,
just want to reduce the noise.
Commit: 78e0cca135076154abab21eadd146dc1dfd3549f
https://github.com/llvm/llvm-project/commit/78e0cca135076154abab21eadd146dc1dfd3549f
Author: Robert Konicar <robert.konicar at trailofbits.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M mlir/lib/Rewrite/PatternApplicator.cpp
Log Message:
-----------
[mlir] Fix debug output for passes that modify top-level operation. (#80022)
Make it so that when the top-level (root) operation itself is being
modified, it is also used as the root for debug output in
PatternApplicator.
Fix #80021
Commit: e624648bd903208a92d8edbecbfa92085d1c34dc
https://github.com/llvm/llvm-project/commit/e624648bd903208a92d8edbecbfa92085d1c34dc
Author: Simon Camphausen <simon.camphausen at iml.fraunhofer.de>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
M mlir/lib/Target/Cpp/TranslateToCpp.cpp
M mlir/test/Dialect/EmitC/ops.mlir
A mlir/test/Target/Cpp/verbatim.mlir
Log Message:
-----------
[mlir][EmitC] Add `verbatim` op (#79584)
The `verbatim` operation produces no results and the value is emitted as
is followed by a line break ('\n' character) during translation.
Note: Use with caution. This operation can have arbitrary effects on the
semantics of the emitted code. Use semantically more meaningful
operations whenever possible. Additionally this op is *NOT* intended to
be used to inject large snippets of code.
This operation can be used in situations where a more suitable operation
is not yet implemented in the dialect or where preprocessor directives
interfere with the structure of the code.
Co-authored-by: Marius Brehler <marius.brehler at iml.fraunhofer.de>
Commit: 5a07774fe11b560652b15776ff6477ba17b6cae0
https://github.com/llvm/llvm-project/commit/5a07774fe11b560652b15776ff6477ba17b6cae0
Author: Vyacheslav Levytskyy <89994100+VyacheslavLevytskyy at users.noreply.github.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
A llvm/test/CodeGen/SPIRV/pointers/custom-kernel-arg-type.ll
Log Message:
-----------
[SPIR-V] Improve how lowering of formal arguments in SPIR-V Backend interprets a value of 'kernel_arg_type' (#78730)
The goal of this PR is to tolerate differences between description of
formal arguments by function metadata (represented by "kernel_arg_type")
and LLVM actual parameter types. A compiler may use "kernel_arg_type" of
function metadata fields to encode detailed type information, whereas
LLVM IR may utilize for an actual parameter a more general type, in
particular, opaque pointer type. This PR proposes to resolve this by a
fallback to LLVM actual parameter types during the lowering of formal
function arguments in cases when the type can't be created by string
content of "kernel_arg_type", i.e., when "kernel_arg_type" contains a
type unknown for the SPIR-V Backend.
An example of the issue manifestation is
https://github.com/KhronosGroup/SPIRV-LLVM-Translator/blob/main/test/transcoding/KernelArgTypeInOpString.ll,
where a compiler generates for the following kernel function detailed
`kernel_arg_type` info in a form of `!{!"image_kernel_data*", !"myInt",
!"struct struct_name*"}`, and in LLVM IR same arguments are referred to
as `@foo(ptr addrspace(1) %in, i32 %out, ptr addrspace(1) %outData)`.
Both definitions are correct, and the resulting LLVM IR is correct, but
lowering stage of SPIR-V Backend fails to generate SPIR-V type.
```
typedef int myInt;
typedef struct {
int width;
int height;
} image_kernel_data;
struct struct_name {
int i;
int y;
};
void kernel foo(__global image_kernel_data* in,
__global struct struct_name *outData,
myInt out) {}
```
```
define spir_kernel void @foo(ptr addrspace(1) %in, i32 %out, ptr addrspace(1) %outData) ... !kernel_arg_type !7 ... {
entry:
ret void
}
...
!7 = !{!"image_kernel_data*", !"myInt", !"struct struct_name*"}
```
The PR changes a contract of `SPIRVType *getArgSPIRVType(...)` in a way
that it may return `nullptr` to signal that the metadata string content
is not recognized, so corresponding comments are added and a couple of
checks for `nullptr` are inserted where appropriate.
Commit: 53b9d479d5a4d31d2b4a57af7640c0747100a59d
https://github.com/llvm/llvm-project/commit/53b9d479d5a4d31d2b4a57af7640c0747100a59d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M llvm/test/CodeGen/X86/i256-add.ll
Log Message:
-----------
[X86] i256-add - replace i386 triple X32 check prefixes with X86 and add gnux32 triple tests
Commit: 8d450b47ba28748edfe975b35ab603bd43688d9b
https://github.com/llvm/llvm-project/commit/8d450b47ba28748edfe975b35ab603bd43688d9b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M llvm/test/CodeGen/X86/mmx-arith.ll
Log Message:
-----------
[X86] mmx-arith.ll - replace X32 check prefixes with X86 + strip cfi noise
We try to only use X32 for gnux32 triple tests.
Commit: 00a68171085dbf7f02ec8ddad6240d90ba6d7286
https://github.com/llvm/llvm-project/commit/00a68171085dbf7f02ec8ddad6240d90ba6d7286
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M llvm/test/CodeGen/X86/v4f32-immediate.ll
Log Message:
-----------
[X86] v4f32-immediate.ll - replace X32 check prefixes with X86
We try to only use X32 for gnux32 triple tests.
Commit: 929503ead36bd954a2fa9ca4338d12d8ddd607ff
https://github.com/llvm/llvm-project/commit/929503ead36bd954a2fa9ca4338d12d8ddd607ff
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M llvm/test/CodeGen/X86/v2f32.ll
Log Message:
-----------
[X86] v2f32.ll - replace X32 check prefixes with X86 (and add common CHECK prefix)
We try to only use X32 for gnux32 triple tests.
Commit: 3f5fcb59ae582ebfbe3f23050d90f86a2cb76eb0
https://github.com/llvm/llvm-project/commit/3f5fcb59ae582ebfbe3f23050d90f86a2cb76eb0
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M llvm/tools/llvm-exegesis/lib/ResultAggregator.cpp
Log Message:
-----------
Fix MSVC "not all control paths return a value" warning. NFC.
Commit: b4370140b4467eddc42e7b8075959c692daaf3e8
https://github.com/llvm/llvm-project/commit/b4370140b4467eddc42e7b8075959c692daaf3e8
Author: Dominik Adamski <dominik.adamski at amd.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
A mlir/test/Target/LLVMIR/omptarget-teams-llvm.mlir
Log Message:
-----------
[OpenMPIRBuilder] Do not call host runtime for GPU teams codegen (#79984)
Patch ensures that host runtime functions are not called for handling
OpenMP teams clause on the device.
GPU code for pragma `omp target teams distribute parallel do` will
require only one call to OpenMP loop-worksharing GPU runtime. Support
for it will be added later.
This patch does not include changes required for handling `omp target
teams` for the host side.
Commit: cb6240d247b3419dea29eb99261171ea239b1c5c
https://github.com/llvm/llvm-project/commit/cb6240d247b3419dea29eb99261171ea239b1c5c
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/BDCE.cpp
M llvm/test/Transforms/BDCE/invalidate-assumptions.ll
Log Message:
-----------
[BDCE] Also drop poison-generating metadata
The comment was incorrect: !range also applies to calls, and we
do need to drop it in some cases.
Commit: 5cc87b424be87db4247f34ae5477be8b09a573e9
https://github.com/llvm/llvm-project/commit/5cc87b424be87db4247f34ae5477be8b09a573e9
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M llvm/lib/AsmParser/LLParser.cpp
A llvm/test/Assembler/incomplete-ir-declarations.ll
Log Message:
-----------
[AsmParser] Add missing globals declarations in incomplete IR mode (#79855)
If `-allow-incomplete-ir` is enabled, automatically insert declarations
for missing globals.
If a global is only used in calls with the same function type, insert a
function declaration with that type.
Otherwise, insert a dummy i8 global. The fallback case could be extended
with various heuristics (e.g. we could look at load/store types), but
I've chosen to keep it simple for now, because I'm unsure to what degree
this would really useful without more experience. I expect that in most
cases the declaration type doesn't really matter (note that the type of
an external global specifies a *minimum* size only, not a precise size).
This is a followup to https://github.com/llvm/llvm-project/pull/78421.
Commit: a74e9ce5dc5cc746bd625b0ef20524a90a073375
https://github.com/llvm/llvm-project/commit/a74e9ce5dc5cc746bd625b0ef20524a90a073375
Author: SunilKuravinakop <98882378+SunilKuravinakop at users.noreply.github.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M clang/include/clang/AST/OpenMPClause.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/OpenMPClause.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/test/OpenMP/atomic_ast_print.cpp
M clang/test/OpenMP/atomic_messages.cpp
M clang/tools/libclang/CIndex.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M llvm/include/llvm/Frontend/OpenMP/OMP.td
Log Message:
-----------
[OpenMP] atomic compare weak : Parser & AST support (#79475)
This is a support for " #pragma omp atomic compare weak". It has Parser
& AST support for now.
---------
Authored-by: Sunil Kuravinakop <kuravina at pe28vega.us.cray.com>
Commit: 3abf55a68caefd45042c27b73a658c638afbbb8b
https://github.com/llvm/llvm-project/commit/3abf55a68caefd45042c27b73a658c638afbbb8b
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Transforms/Inline/AArch64/sme-pstatesm-attrs.ll
Log Message:
-----------
[AArch64][SME] Fix inlining bug introduced in #78703 (#79994)
Calling a `__arm_locally_streaming` function from a function that
is not a streaming-SVE function would lead to incorrect inlining.
The issue didn't surface because the tests were not testing what
they were supposed to test.
Commit: d309261d05cf173e6a18b20be986877fd87fe4f3
https://github.com/llvm/llvm-project/commit/d309261d05cf173e6a18b20be986877fd87fe4f3
Author: Nashe Mncube <nashe.mncube at arm.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M llvm/lib/IR/Instructions.cpp
A llvm/test/Transforms/InstCombine/bitcast-bfloat-half-mixing.ll
Log Message:
-----------
[llvm][InstCombine] bitcast bfloat half castpair bug (#79832)
Miscompilation arises due to instruction combining of cast pairs of the
type `bitcast bfloat to half` + `<FPOp> bfloat to half` or `bitcast half
to bfloat` + `<FPOp half to bfloat`. For example `bitcast bfloat to
half`+`fpext half to double` or `bitcast bfloat to half`+`fpext bfloat
to double` respectively reduce to `fpext bfloat to double` and `fpext
half to double`. This is an incorrect conversion as it assumes the
representation of `bfloat` and `half` are equivalent due to having the
same width. As a consequence miscompilation arises.
Fixes #61984
Commit: d55d72e931bab77a3d1265cf03f4da7858a49478
https://github.com/llvm/llvm-project/commit/d55d72e931bab77a3d1265cf03f4da7858a49478
Author: Billy Laws <blaws05 at gmail.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M llvm/test/tools/llvm-rc/windres-prefix.test
M llvm/tools/llvm-rc/llvm-rc.cpp
Log Message:
-----------
[llvm-rc] Support ARM64EC resource generation (#78908)
This is already supported in llvm-cvtres, so only a small change is
needed.
Commit: d74619abb53bc9c5680f83bb1dead9c65135ecc6
https://github.com/llvm/llvm-project/commit/d74619abb53bc9c5680f83bb1dead9c65135ecc6
Author: Billy Laws <blaws05 at gmail.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M clang/lib/Driver/ToolChains/MinGW.cpp
M clang/test/Driver/mingw.cpp
Log Message:
-----------
[clang] [MinGW] Handle linking ARM64EC code (#78912)
Commit: 042800a4dd79375ec0895c8959a43c86149232f3
https://github.com/llvm/llvm-project/commit/042800a4dd79375ec0895c8959a43c86149232f3
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M mlir/include/mlir/Dialect/ArmSME/Transforms/Passes.h
M mlir/include/mlir/Dialect/ArmSME/Transforms/Passes.td
M mlir/include/mlir/Dialect/ArmSME/Utils/Utils.h
M mlir/lib/Dialect/ArmSME/IR/Utils.cpp
M mlir/lib/Dialect/ArmSME/Transforms/CMakeLists.txt
A mlir/lib/Dialect/ArmSME/Transforms/VectorLegalization.cpp
A mlir/test/Dialect/ArmSME/vector-legalization.mlir
A mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/multi-tile-matmul.mlir
A mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-multi-tile-transpose.mlir
Log Message:
-----------
[mlir][ArmSME] Add initial SME vector legalization pass (#79152)
This adds a new pass (`-arm-sme-vector-legalization`) which legalizes
vector operations so that they can be lowered to ArmSME. This initial
patch adds decomposition for `vector.outerproduct`,
`vector.transfer_read`, and `vector.transfer_write` when they operate on
vector types larger than a single SME tile. For example, a [8]x[8]xf32
outer product would be decomposed into four [4]x[4]xf32 outer products,
which could then be lowered to ArmSME. These three ops have been picked
as supporting them alone allows lowering matmuls that use all ZA
accumulators to ArmSME.
For it to be possible to legalize a vector type it has to be a multiple
of an SME tile size, but other than that any shape can be used. E.g.
`vector<[8]x[8]xf32>`, `vector<[4]x[16]xf32>`, `vector<[16]x[4]xf32>`
can all be lowered to four `vector<[4]x[4]xf32>` operations.
In future, this pass will be extended with more SME-specific rewrites to
legalize unrolling the reduction dimension of matmuls (which is not
type-decomposition), which is why the pass has quite a general name.
Commit: 912cdd2179783b67926d53adc77c12148076ddb2
https://github.com/llvm/llvm-project/commit/912cdd2179783b67926d53adc77c12148076ddb2
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Log Message:
-----------
[DAG] AddNodeIDCustom - call ShuffleVectorSDNode::getMask once instead of repeated getMaskElt calls.
Use a simpler for-range loop to append all shuffle mask elements
Commit: a82ca1cd1b57671ce5ddbed63c6418f6841fe71d
https://github.com/llvm/llvm-project/commit/a82ca1cd1b57671ce5ddbed63c6418f6841fe71d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M llvm/test/CodeGen/X86/insertps-from-constantpool.ll
Log Message:
-----------
[X86] insertps-from-constantpool.ll - replace X32 check prefixes with X86 and expose address math
We try to only use X32 for gnux32 triple tests.
Use no_x86_scrub_mem_shuffle so the test shows updated shuffle intermediate and the +4 offset into the constant pool vector entry
Commit: e4af212f967027430b4b313d2cca51888601547b
https://github.com/llvm/llvm-project/commit/e4af212f967027430b4b313d2cca51888601547b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M llvm/test/CodeGen/X86/divrem.ll
Log Message:
-----------
[X86] divrem.ll - replace X32 check prefixes with X86
We try to only use X32 for gnux32 triple tests.
Commit: ed11f255a89f6eb3713a3d4f2b241317a41be40c
https://github.com/llvm/llvm-project/commit/ed11f255a89f6eb3713a3d4f2b241317a41be40c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M llvm/test/CodeGen/X86/divide-by-constant.ll
Log Message:
-----------
[X86] divide-by-constant.ll - replace X32 check prefixes with X86
We try to only use X32 for gnux32 triple tests.
Commit: 824d073fb654891dc31523f6b68f49818cfaf40a
https://github.com/llvm/llvm-project/commit/824d073fb654891dc31523f6b68f49818cfaf40a
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M llvm/test/CodeGen/X86/fold-vector-sext-crash2.ll
M llvm/test/CodeGen/X86/fold-vector-sext-zext.ll
Log Message:
-----------
[X86] fold-vector-sext - replace X32 check prefixes with X86
We try to only use X32 for gnux32 triple tests.
Commit: 1d8c8f11699ef03e8cc299245a16b2bd141b2ba7
https://github.com/llvm/llvm-project/commit/1d8c8f11699ef03e8cc299245a16b2bd141b2ba7
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M llvm/test/CodeGen/X86/cfguard-checks-funclet.ll
M llvm/test/CodeGen/X86/cfguard-checks.ll
M llvm/test/CodeGen/X86/cfguard-module-flag.ll
M llvm/test/CodeGen/X86/cfguard-x86-vectorcall.ll
Log Message:
-----------
[X86] cfguard - replace X32 check prefixes with X86
We try to only use X32 for gnux32 triple tests.
Commit: 648eb7c1415afb818b45782e1f2758a1f7677496
https://github.com/llvm/llvm-project/commit/648eb7c1415afb818b45782e1f2758a1f7677496
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M llvm/test/CodeGen/X86/divrem8_ext.ll
Log Message:
-----------
[X86] divrem8_ext.ll - replace X32 check prefixes with X86
We try to only use X32 for gnux32 triple tests.
Commit: cf828aee2460058db5dacb1523797fe787486f4d
https://github.com/llvm/llvm-project/commit/cf828aee2460058db5dacb1523797fe787486f4d
Author: Rin Dobrescu <irina.dobrescu at arm.com>
Date: 2024-01-31 (Wed, 31 Jan 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)) (#79464)
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: e3c9327bc493286bf420d1520df8217ae559f5c3
https://github.com/llvm/llvm-project/commit/e3c9327bc493286bf420d1520df8217ae559f5c3
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/X86/X86InstrSSE.td
M llvm/test/CodeGen/X86/matrix-multiply.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-8.ll
Log Message:
-----------
[X86][CodeGen] Set isReMaterializable = 1 for AVX broadcast load
Broadcast of a single float should not be any slower than
loading 32B using vmovaps. So remat it can help reduce
register spill when there is big register pressure.
Commit: f96e85b9494f549976fac3947756e6da1fcc572b
https://github.com/llvm/llvm-project/commit/f96e85b9494f549976fac3947756e6da1fcc572b
Author: Mariusz Sikora <mariusz.sikora at amd.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12-err.cl
Log Message:
-----------
[AMDGPU][GFX12] Add tests for unsupported builtins (#78729)
__builtin_amdgcn_mfma* and __builtin_amdgcn_smfmac*
Commit: d9e875dcc13359f2a399b04e7c54bf70c0306a89
https://github.com/llvm/llvm-project/commit/d9e875dcc13359f2a399b04e7c54bf70c0306a89
Author: XinWang10 <108658776+XinWang10 at users.noreply.github.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86InstrMisc.td
M llvm/lib/Target/X86/X86InstrSSE.td
A llvm/test/MC/Disassembler/X86/apx/lzcnt.txt
A llvm/test/MC/Disassembler/X86/apx/popcnt.txt
A llvm/test/MC/Disassembler/X86/apx/tzcnt.txt
A llvm/test/MC/X86/apx/lzcnt-att.s
A llvm/test/MC/X86/apx/lzcnt-intel.s
A llvm/test/MC/X86/apx/popcnt-att.s
A llvm/test/MC/X86/apx/popcnt-intel.s
A llvm/test/MC/X86/apx/tzcnt-att.s
A llvm/test/MC/X86/apx/tzcnt-intel.s
M llvm/test/TableGen/x86-fold-tables.inc
Log Message:
-----------
[X86][MC] Support encoding/decoding for APX variant LZCNT/TZCNT/POPCNT instructions (#79954)
Two variants: promoted legacy, NF (no flags update).
The syntax of NF instructions is aligned with GNU binutils.
https://sourceware.org/pipermail/binutils/2023-September/129545.html
Commit: 817d0cb4856236e16c7065fc37fbdd97a3ca67e0
https://github.com/llvm/llvm-project/commit/817d0cb4856236e16c7065fc37fbdd97a3ca67e0
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/fcmp-select.ll
M llvm/test/Transforms/InstCombine/icmp-select.ll
Log Message:
-----------
[InstCombine] Simplify commutative compares of symmetric pairs (#80134)
Fixes #78038.
Commit: 9536a6286e470960601d269a4bd478927aceea61
https://github.com/llvm/llvm-project/commit/9536a6286e470960601d269a4bd478927aceea61
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/X86/interleaved-accesses-hoist-load-across-store.ll
M llvm/test/Transforms/LoopVectorize/X86/pr36524.ll
M llvm/test/Transforms/LoopVectorize/cast-induction.ll
M llvm/test/Transforms/LoopVectorize/float-induction.ll
M llvm/test/Transforms/LoopVectorize/induction-multiple-uses-in-same-instruction.ll
M llvm/test/Transforms/LoopVectorize/induction-unroll-novec.ll
M llvm/test/Transforms/LoopVectorize/iv_outside_user.ll
M llvm/test/Transforms/LoopVectorize/optimal-epilog-vectorization.ll
M llvm/test/Transforms/LoopVectorize/runtime-check-needed-but-empty.ll
M llvm/test/Transforms/LoopVectorize/single-value-blend-phis.ll
M llvm/test/Transforms/LoopVectorize/uniform_across_vf_induction2.ll
M llvm/test/Transforms/LoopVectorize/vect-phiscev-sext-trunc.ll
Log Message:
-----------
[VPlan] Preserve original induction order when creating scalar steps.
Update createScalarIVSteps to take an insert point as parameter. This
ensures that the inserted scalar steps are in the same order as the
recipes they replace (vs in reverse order as currently). This helps to
reduce the diff for follow-up changes.
Commit: ab874268f636bdfc83b567429ca2d2483f7cc831
https://github.com/llvm/llvm-project/commit/ab874268f636bdfc83b567429ca2d2483f7cc831
Author: Joel Wee <joelwee at google.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
Fix after #79152
Commit: c672b342c3b6ae70a0b25852e3ce3bcadd684b11
https://github.com/llvm/llvm-project/commit/c672b342c3b6ae70a0b25852e3ce3bcadd684b11
Author: Matthias Springer <me at m-sp.org>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M mlir/lib/IR/PatternMatch.cpp
M mlir/test/Dialect/Affine/simplify-structures.mlir
M mlir/test/Transforms/test-strict-pattern-driver.mlir
M mlir/test/lib/Dialect/Test/TestPatterns.cpp
Log Message:
-----------
[mlir][IR] Send missing notifications when inlining a block (#79593)
When a block is inlined into another block, the nested operations are
moved into another block and the `notifyOperationInserted` callback
should be triggered. This commit adds the missing notifications for:
* `RewriterBase::inlineBlockBefore`
* `RewriterBase::mergeBlocks`
Commit: 7e45cfda8f75e44f23eee7622a31c04841df888e
https://github.com/llvm/llvm-project/commit/7e45cfda8f75e44f23eee7622a31c04841df888e
Author: Joel Wee <joelwee at google.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir] Fix ab874268f636bdfc83b567429ca2d2483f7cc831
Commit: 121a0ef0bbc1a69760b69391b387e2efda0ad922
https://github.com/llvm/llvm-project/commit/121a0ef0bbc1a69760b69391b387e2efda0ad922
Author: Simon Camphausen <simon.camphausen at iml.fraunhofer.de>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
Log Message:
-----------
[mlir][EmitC] Remove unused attribute from verbatim op (#80142)
The uses of the attribute were removed in code review of #79584, but
it's definition was inadvertently kept.
Commit: cec24f0d7efc206e329890821e92a4b25c550885
https://github.com/llvm/llvm-project/commit/cec24f0d7efc206e329890821e92a4b25c550885
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/PowerPC/optimal-epilog-vectorization.ll
Log Message:
-----------
[VPlan] Update stale test after 9536a6286, fix formatting.
Commit: c2675ba91aa22e7530465f027fbd853c05b95192
https://github.com/llvm/llvm-project/commit/c2675ba91aa22e7530465f027fbd853c05b95192
Author: Matthias Springer <me at m-sp.org>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M mlir/lib/IR/PatternMatch.cpp
M mlir/lib/Transforms/Utils/DialectConversion.cpp
M mlir/test/Transforms/test-strict-pattern-driver.mlir
M mlir/test/lib/Dialect/Test/TestPatterns.cpp
Log Message:
-----------
[mlir][IR] Send missing notification when splitting a block (#79597)
When a block is split with `RewriterBase::splitBlock`, a
`notifyBlockInserted` notification, followed by
`notifyOperationInserted` notifications (for moving over the operations
into the new block) should be sent. This commit adds those
notifications.
Commit: de75e5079ae1d4894c918fd452e468fb6a888be1
https://github.com/llvm/llvm-project/commit/de75e5079ae1d4894c918fd452e468fb6a888be1
Author: Alfie Richards <156316945+AlfieRichardsArm at users.noreply.github.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp
M llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp
M llvm/lib/Target/ARM/ARMInstrNEON.td
M llvm/test/CodeGen/ARM/arm-vlddup-update.ll
M llvm/test/CodeGen/ARM/arm-vlddup.ll
M llvm/test/CodeGen/ARM/bf16-intrinsics-ld-st.ll
Log Message:
-----------
[ARM][NEON] Add constraint to vld2 Odd/Even Pseudo instructions. (#79287)
This ensures the odd/even pseudo instructions are allocated to the same
register range.
This fixes #71763
Commit: e538486e90539096e7851d0deba4ea9ed94fced2
https://github.com/llvm/llvm-project/commit/e538486e90539096e7851d0deba4ea9ed94fced2
Author: Zahira Ammarguellat <zahira.ammarguellat at intel.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/range.c
Log Message:
-----------
[Driver] Fix erroneous warning for -fcx-limited-range and -fcx-fortran-rules. (#79821)
The options `-fcx-limited-range` and `-fcx-fortran-rules` were added in
_https://github.com/llvm/llvm-project/pull/70244_
The code adding the options introduced an erroneous warning.
`$ clang -c -fcx-limited-range t1.c`
`clang: warning: overriding '' option with '-fcx-limited-range'
[-Woverriding-option]`
and
`$ clang -c -fcx-fortran-rules t1.c`
`clang: warning: overriding '' option with '-fcx-fortran-rules'
[-Woverriding-option]`
The warning doesn't make sense. This patch removes it.
Commit: 4f32f5d5720fbef06672714a62376f236a36aef5
https://github.com/llvm/llvm-project/commit/4f32f5d5720fbef06672714a62376f236a36aef5
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M llvm/include/llvm/Analysis/AliasAnalysis.h
M llvm/include/llvm/Analysis/BasicAliasAnalysis.h
M llvm/lib/Analysis/BasicAliasAnalysis.cpp
M llvm/lib/Transforms/Scalar/JumpThreading.cpp
M llvm/test/Transforms/JumpThreading/pr79175.ll
Log Message:
-----------
[AA][JumpThreading] Don't use DomTree for AA in JumpThreading (#79294)
JumpThreading may perform AA queries while the dominator tree is not up
to date, which may result in miscompilations.
Fix this by adding a new AAQI option to disable the use of the dominator
tree in BasicAA.
Fixes https://github.com/llvm/llvm-project/issues/79175.
Commit: 74bf0b1cd9dde53b2df08966bcf2f91d4909ccd6
https://github.com/llvm/llvm-project/commit/74bf0b1cd9dde53b2df08966bcf2f91d4909ccd6
Author: Guray Ozen <guray.ozen at gmail.com>
Date: 2024-01-31 (Wed, 31 Jan 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 (#78556)
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.
Commit: 9bf4e54ef42d907ae7550f36fa518f14fa97af6f
https://github.com/llvm/llvm-project/commit/9bf4e54ef42d907ae7550f36fa518f14fa97af6f
Author: Andrey Ali Khan Bolshakov <32954549+bolshakov-a at users.noreply.github.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M clang/lib/Sema/SemaTemplate.cpp
M clang/test/CoverageMapping/templates.cpp
Log Message:
-----------
[clang] Represent array refs as `TemplateArgument::Declaration` (#80050)
This returns (probably temporarily) array-referring NTTP behavior to
which was prior to #78041 because ~~I'm fed up~~ have no time to fix
regressions.
Commit: b7738e275dc097f224d00434253b485288a6caff
https://github.com/llvm/llvm-project/commit/b7738e275dc097f224d00434253b485288a6caff
Author: Quentin Dian <dianqk at dianqk.net>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M llvm/lib/CodeGen/MIRPrinter.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/uaddo-8-16-bits.mir
M llvm/test/CodeGen/AArch64/regalloc-last-chance-recolor-with-split.mir
M llvm/test/CodeGen/AArch64/tail-dup-redundant-phi.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-trap.mir
M llvm/test/CodeGen/ARM/constant-island-movwt.mir
A llvm/test/CodeGen/MIR/X86/unreachable-block-print.mir
M llvm/test/CodeGen/X86/statepoint-invoke-ra-enter-at-end.mir
M llvm/test/CodeGen/X86/statepoint-invoke-ra-remove-back-copies.mir
M llvm/test/CodeGen/X86/statepoint-vreg-invoke.ll
Log Message:
-----------
[MIRPrinter] Don't print space when there is no successor (#80143)
Extra space causes the checks generated by update_mir_test_checks to be
unavailable.
```
# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 4
# RUN: llc -mtriple=x86_64-- -o - %s -run-pass=none -verify-machineinstrs -simplify-mir | FileCheck %s
---
name: foo
body: |
; CHECK-LABEL: name: foo
; CHECK: bb.0:
; CHECK-NEXT: successors:
; CHECK-NEXT: {{ $}}
; CHECK-NEXT: {{ $}}
; CHECK-NEXT: bb.1:
; CHECK-NEXT: RET 0, $eax
bb.0:
successors:
bb.1:
RET 0, $eax
...
```
The failure log is as follows:
```
llvm/test/CodeGen/MIR/X86/unreachable-block-print.mir:9:16: error: CHECK-NEXT: is on the same line as previous match
; CHECK-NEXT: {{ $}}
^
<stdin>:21:13: note: 'next' match was here
successors:
^
<stdin>:21:13: note: previous match ended here
successors:
```
Commit: 70fb96a28678c488326a135fe298175b9a3a7657
https://github.com/llvm/llvm-project/commit/70fb96a28678c488326a135fe298175b9a3a7657
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-01-31 (Wed, 31 Jan 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:
-----------
Revert "[mlir][complex] Prevent underflow in complex.abs (#79786)"
This reverts commit 4effff21fb2f3462e06fcbd7812562f4771b0487. It makes
`complex.abs(-1)` return `-1`.
Commit: 4679132a85c6c4cced2a71ef6422b793ae39598c
https://github.com/llvm/llvm-project/commit/4679132a85c6c4cced2a71ef6422b793ae39598c
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M flang/include/flang/Runtime/io-api.h
M flang/lib/Lower/CallInterface.cpp
M flang/lib/Lower/IO.cpp
M flang/runtime/io-api.cpp
A flang/test/Lower/io-asynchronous.f90
M flang/test/Lower/io-statement-1.f90
Log Message:
-----------
[flang] Lower ASYNCHRONOUS variables and IO statements (#80008)
Finish plugging-in ASYNCHRONOUS IO in lowering (GetAsynchronousId was
not used yet).
Add a runtime implementation for GetAsynchronousId (only the signature
was defined). Always return zero since flang runtime "fakes"
asynchronous IO (data transfer are always complete, see
flang/docs/IORuntimeInternals.md).
Update all runtime integer argument and results for IDs to use the
AsynchronousId int alias for consistency.
In lowering, asynchronous attribute is added on the hlfir.declare of
ASYNCHRONOUS variable, but nothing else is done. This is OK given the
synchronous aspects of flang IO, but it would be safer to treat these
variable as volatile (prevent code motion of related store/loads) since
the asynchronous data change can also be done by C defined user
procedure (see 18.10.4 Asynchronous communication). Flang lowering
anyway does not give enough info for LLVM to do such code motions (the
variables that are passed in a call are not given the noescape
attribute, so LLVM will assume any later opaque call may modify the
related data and would not move load/stores of such variables
before/after calls even if it could from a pure Fortran point of view
without ASYNCHRONOUS).
Commit: 47df391296fcf8fe430e1ff6f797e5d7cfd41ca4
https://github.com/llvm/llvm-project/commit/47df391296fcf8fe430e1ff6f797e5d7cfd41ca4
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.h
M clang/lib/AST/Interp/Context.h
M clang/lib/AST/Interp/Interp.cpp
M clang/lib/AST/Interp/InterpBuiltin.cpp
M clang/test/AST/Interp/functions.cpp
M clang/test/SemaCXX/builtin-std-move.cpp
Log Message:
-----------
[clang][Interp] Handle std::move etc. builtins (#70772)
Commit: 6e6aa44c7d14b37a12e40c6b36478045d6004a0a
https://github.com/llvm/llvm-project/commit/6e6aa44c7d14b37a12e40c6b36478045d6004a0a
Author: Erich Keane <ekeane at nvidia.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaTemplateInstantiate.cpp
R clang/test/SemaTemplate/default-parm-init.cpp
Log Message:
-----------
Revert "[Clang][Sema] fix outline member function template with defau… (#80144)
…lt align crash (#78400)"
This reverts commit 7b3389980ddbd84f72ccc4776889c67519cc2c14.
A regression was discovered here:
https://github.com/llvm/llvm-project/pull/78400
and the author requested a revert to give time to review.
Commit: 31fc0a12e1552e6bcea63ae740f284eaf74f4c17
https://github.com/llvm/llvm-project/commit/31fc0a12e1552e6bcea63ae740f284eaf74f4c17
Author: Boian Petkantchin <boian.petkantchin at amd.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M mlir/docs/Dialects/Mesh.md
M mlir/include/mlir/Dialect/Mesh/IR/CMakeLists.txt
M mlir/include/mlir/Dialect/Mesh/IR/MeshBase.td
A mlir/include/mlir/Dialect/Mesh/IR/MeshDialect.h
M mlir/include/mlir/Dialect/Mesh/IR/MeshOps.h
M mlir/include/mlir/Dialect/Mesh/IR/MeshOps.td
M mlir/include/mlir/InitAllDialects.h
M mlir/lib/Dialect/Mesh/IR/CMakeLists.txt
M mlir/lib/Dialect/Mesh/IR/MeshOps.cpp
M mlir/lib/Dialect/Mesh/Transforms/ShardingPropagation.cpp
M mlir/lib/Dialect/Mesh/Transforms/Spmdization.cpp
M mlir/lib/Dialect/Mesh/Transforms/Transforms.cpp
M mlir/test/Dialect/Mesh/invalid.mlir
M mlir/test/Dialect/Mesh/ops.mlir
M mlir/test/lib/Dialect/Mesh/TestProcessMultiIndexOpLowering.cpp
M mlir/test/lib/Dialect/Mesh/TestSimplifications.cpp
Log Message:
-----------
[mlir][mesh] Refactoring code organization, tests and docs (#79606)
* Split out `MeshDialect.h` form `MeshOps.h` that defines the dialect
class. Reduces include clutter if you care only about the dialect and
not the ops.
* Expose functions `getMesh` and `collectiveProcessGroupSize`. There
functions are useful for outside users of the dialect.
* Remove unused code.
* Remove examples and tests of mesh.shard attribute in tensor encoding.
Per the decision that Spmdization would be performed on sharding
annotations and there will be no tensors with sharding specified in the
type.
For more info see this RFC comment:
https://discourse.llvm.org/t/rfc-sharding-framework-design-for-device-mesh/73533/81
Commit: 1bab570e9b82a68089348a3bca388d297a72f60f
https://github.com/llvm/llvm-project/commit/1bab570e9b82a68089348a3bca388d297a72f60f
Author: Shimin Cui <scui at ca.ibm.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M llvm/lib/Target/PowerPC/PPCMergeStringPool.cpp
M llvm/test/CodeGen/PowerPC/mergeable-string-pool-large.ll
M llvm/test/CodeGen/PowerPC/mergeable-string-pool.ll
Log Message:
-----------
Move the PowerPC/PPCMergeStringPool work to initializer (#77352)
Currently, the `PPCMergeStringPool` merges the global variable after the
`AsmPrinter` initializer adds the global variables to its symbol list.
This is to move the merging work of `PPCMergeStringPool` to its
initializer, just like what GlobalMerge does, to avoid adding merged
global variables to the `AsmPrinter` symbol lis.
Commit: c651b2b0d9d1393fb5191ac3acfe96e5ecc94bbc
https://github.com/llvm/llvm-project/commit/c651b2b0d9d1393fb5191ac3acfe96e5ecc94bbc
Author: AdityaK <1894981+hiraditya at users.noreply.github.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M llvm/cmake/modules/LLVMExternalProjectUtils.cmake
Log Message:
-----------
Fix: CMake Error at cmake/modules/LLVMExternalProjectUtils.cmake:86 (is_msvc_triple) (#80071)
Adding quotes around the `${target_triple}`
Fix: #78530
Commit: 8d1b1c9b97de557299e8148a79d756c1e8d9b7eb
https://github.com/llvm/llvm-project/commit/8d1b1c9b97de557299e8148a79d756c1e8d9b7eb
Author: Sam McCall <sam.mccall at gmail.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M clang/include/clang/AST/ASTNodeTraverser.h
M clang/include/clang/AST/JSONNodeDumper.h
M clang/include/clang/AST/TextNodeDumper.h
M clang/include/clang/AST/TypeLoc.h
M clang/lib/AST/ASTDumper.cpp
M clang/lib/AST/ASTTypeTraits.cpp
M clang/lib/AST/JSONNodeDumper.cpp
M clang/lib/AST/TextNodeDumper.cpp
A clang/unittests/AST/ASTDumperTest.cpp
M clang/unittests/AST/CMakeLists.txt
Log Message:
-----------
[AST] Add dump() method to TypeLoc (#65484)
The ability to dump AST nodes is important to ad-hoc debugging, and
the fact this doesn't work with TypeLoc nodes is an obvious missing
feature in e.g. clang-query (`set output dump` simply does nothing).
Having TypeLoc::dump(), and enabling DynTypedNode::dump() for such nodes
seems like a clear win.
It looks like this:
```
int main(int argc, char **argv);
FunctionProtoTypeLoc <test.cc:3:1, col:31> 'int (int, char **)' cdecl
|-ParmVarDecl 0x30071a8 <col:10, col:14> col:14 argc 'int'
| `-BuiltinTypeLoc <col:10> 'int'
|-ParmVarDecl 0x3007250 <col:20, col:27> col:27 argv 'char **'
| `-PointerTypeLoc <col:20, col:26> 'char **'
| `-PointerTypeLoc <col:20, col:25> 'char *'
| `-BuiltinTypeLoc <col:20> 'char'
`-BuiltinTypeLoc <col:1> 'int'
```
It dumps the lexically nested tree of type locs.
This often looks similar to how types are dumped, but unlike types
we don't look at desugaring e.g. typedefs, as their underlying types
are not lexically spelled here.
---
Less clear is exactly when to include these nodes in existing text AST
dumps rooted at (TranslationUnit)Decls.
These already omit supported nodes sometimes, e.g. NestedNameSpecifiers
are often mentioned but not recursively dumped.
TypeLocs are a more extreme case: they're ~always more verbose
than the current AST dump.
So this patch punts on that, TypeLocs are only ever printed recursively
as part of a TypeLoc::dump() call.
It would also be nice to be able to invoke `clang` to dump a typeloc
somehow, like `clang -cc1 -ast-dump`. But I don't know exactly what the
best verison of that is, so this patch doesn't do it.
---
There are similar (less critical!) nodes: TemplateArgumentLoc etc,
these also don't have dump() functions today and are obvious extensions.
I suspect that we should add these, and Loc nodes should dump each other
(e.g. the ElaboratedTypeLoc `vector<int>::iterator` should dump
the NestedNameSpecifierLoc `vector<int>::`, which dumps the
TemplateSpecializationTypeLoc `vector<int>::` etc).
Maybe this generalizes further to a "full syntactic dump" mode, where
even Decls and Stmts would print the TypeLocs they lexically contain.
But this may be more complex than useful.
---
While here, ConceptReference JSON dumping must be implemented. It's not
totally clear to me why this implementation wasn't required before but
is now...
Commit: 88418460502c524de1f1b014316eb5d603c3758f
https://github.com/llvm/llvm-project/commit/88418460502c524de1f1b014316eb5d603c3758f
Author: Sjoerd Meijer <smeijer at nvidia.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/test/CodeGen/AArch64/arm64-ldp-cluster.ll
M llvm/test/CodeGen/AArch64/zext-to-tbl.ll
Log Message:
-----------
[AArch64] MI Scheduler LDP combine follow up (#79003)
This is a follow up of 75d820dcdd86, adding more opcodes to the combine
target hook enabling more LDP creation.
Patch co-authored by Cameron McInally.
Commit: e33dc6b0282fb28d5289490981ad57d97d83db42
https://github.com/llvm/llvm-project/commit/e33dc6b0282fb28d5289490981ad57d97d83db42
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
Log Message:
-----------
Add a release note for TypeLoc::dump() support; NFC
This amends 8d1b1c9b97de557299e8148a79d756c1e8d9b7eb which added the
functionality the release note refers to.
Commit: 5d7d89de31ad017a91204988cacc2f0ff69d47da
https://github.com/llvm/llvm-project/commit/5d7d89de31ad017a91204988cacc2f0ff69d47da
Author: David Green <david.green at arm.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/CodeGen/AArch64/arm64-csel.ll
Log Message:
-----------
[AArch64] Use add_and_or_is_add for CSINC (#79552)
Adds or add-like-or's of 1 can both be turned into csinc, which can help
fold more instructions into a csinc.
Commit: 32c00485f1e896d472549324218878ba6444f4f6
https://github.com/llvm/llvm-project/commit/32c00485f1e896d472549324218878ba6444f4f6
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/Pointer.h
M clang/test/AST/Interp/complex.cpp
Log Message:
-----------
[clang][Interp] Handle casts between complex types (#79269)
Just handle this like two primtive casts.
Commit: dfd5a64da4b76db1ec557ff31e1d64dd7e9eebe5
https://github.com/llvm/llvm-project/commit/dfd5a64da4b76db1ec557ff31e1d64dd7e9eebe5
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
Log Message:
-----------
[clang][Interp] Remove wrong * operator
classifyComplexElementType used to return a std::optional, seems like
this was left in a PR and not re-tested.
This broke build bots, e.g.
https://lab.llvm.org/buildbot/#/builders/68/builds/67930
Commit: f2df4bfe54cd4161b7a2d89a0bc5dc69e747b01e
https://github.com/llvm/llvm-project/commit/f2df4bfe54cd4161b7a2d89a0bc5dc69e747b01e
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M llvm/include/llvm/AsmParser/LLParser.h
A llvm/include/llvm/AsmParser/NumberedValues.h
M llvm/include/llvm/AsmParser/SlotMapping.h
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/CodeGen/MIRParser/MIParser.cpp
A llvm/test/Assembler/skip-value-numbers-globals.ll
M llvm/test/Assembler/skip-value-numbers-invalid.ll
M llvm/unittests/AsmParser/AsmParserTest.cpp
Log Message:
-----------
[AsmParser] Support non-consecutive global value numbers (#80013)
https://github.com/llvm/llvm-project/pull/78171 added support for
non-consecutive local value numbers. This extends the support for global
value numbers (for globals and functions).
This means that it is now possible to delete an unnamed global
definition/declaration without breaking the IR.
This is a lot less common than unnamed local values, but it seems like
something we should support for consistency. (Unnamed globals are used a
lot in Rust though.)
Commit: 0cd83486c0a0973e2242926c7cc3ef561021e3b2
https://github.com/llvm/llvm-project/commit/0cd83486c0a0973e2242926c7cc3ef561021e3b2
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/unittests/AST/BUILD.gn
Log Message:
-----------
[gn build] Port 8d1b1c9b97de
Commit: 5c2da289d2514e35708832fed41501d136cc3cb0
https://github.com/llvm/llvm-project/commit/5c2da289d2514e35708832fed41501d136cc3cb0
Author: Paul Semel <semelpaul at gmail.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M clang/lib/Analysis/FlowSensitive/Transfer.cpp
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
Log Message:
-----------
[clang][dataflow] fix assert in `Environment::getResultObjectLocation` (#79608)
When calling `Environment::getResultObjectLocation` with a
CXXOperatorCallExpr that is a prvalue, we just hit an assert because no
record was ever created.
---------
Co-authored-by: martinboehme <mboehme at google.com>
Commit: bd8bec27e25022b07ec7044654cd6a1efcd9704f
https://github.com/llvm/llvm-project/commit/bd8bec27e25022b07ec7044654cd6a1efcd9704f
Author: Daniel Chen <cdchen at ca.ibm.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/CallInterface.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/test/Lower/HLFIR/procedure-pointer.f90
Log Message:
-----------
[Flang] Support NULL(procptr): null intrinsic that has procedure pointer argument. (#80072)
This PR adds support for NULL intrinsic to have a procedure pointer
argument.
Commit: e34fd2e193686f8a98504b58c12d966ce14b4209
https://github.com/llvm/llvm-project/commit/e34fd2e193686f8a98504b58c12d966ce14b4209
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M llvm/lib/CodeGen/RegisterClassInfo.cpp
Log Message:
-----------
[CodeGen] Simplify RegisterClassInfo BitVector comparisons. NFC.
Commit: baf1b19763ff41d991ac80275bbbff54859c6e7c
https://github.com/llvm/llvm-project/commit/baf1b19763ff41d991ac80275bbbff54859c6e7c
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M llvm/lib/CodeGen/RegisterClassInfo.cpp
Log Message:
-----------
[CodeGen] Use regunits instead of MCRegUnitIterator in RegisterClassInfo. NFC.
Commit: 98dbc688de90cd7019dad32356b466a896b0d2ff
https://github.com/llvm/llvm-project/commit/98dbc688de90cd7019dad32356b466a896b0d2ff
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M mlir/lib/Dialect/GPU/Pipelines/GPUToNVVMPipeline.cpp
R mlir/test/Dialect/GPU/test-nvvm-pipeline.mlir
Log Message:
-----------
Revert "[mlir] Lower math dialect later in gpu-lower-to-nvvm-pipeline (#78556)"
This reverts commit 74bf0b1cd9dde53b2df08966bcf2f91d4909ccd6. The test
always fails.
| mlir/test/Dialect/GPU/test-nvvm-pipeline.mlir:23:16: error: CHECK-PTX: expected string not found in input
| // CHECK-PTX: __nv_expf
https://lab.llvm.org/buildbot/#/builders/61/builds/53789
Commit: 2907c63311bfdeb4c2a09e858b969893a3dd35cc
https://github.com/llvm/llvm-project/commit/2907c63311bfdeb4c2a09e858b969893a3dd35cc
Author: Rin Dobrescu <irina.dobrescu at arm.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/avoid-pre-trunc.ll
R llvm/test/CodeGen/AArch64/concat-vector-add-combine.ll
Log Message:
-----------
Revert "[AArch64] Convert concat(uhadd(a,b), uhadd(c,d)) to uhadd(concat(a,c), concat(b,d))" (#80157)
Reverts llvm/llvm-project#79464 while figuring out why the tests are
failing.
Commit: 6720e3af253e458db56a018950065c27872b3c62
https://github.com/llvm/llvm-project/commit/6720e3af253e458db56a018950065c27872b3c62
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Port 31fc0a12e1552e6bcea63ae740f284eaf74f4c17
Commit: d04ae1b15ff3064e9fb43a3a15f43285d4ee7998
https://github.com/llvm/llvm-project/commit/d04ae1b15ff3064e9fb43a3a15f43285d4ee7998
Author: David Green <david.green at arm.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/CodeGen/AArch64/arm64-csel.ll
M llvm/test/CodeGen/AArch64/shift-accumulate.ll
Log Message:
-----------
[AArch64] Use DAG->isAddLike in add_and_or_is_add (#79563)
This allows it to work with disjoint or's as well as computing the known
bits.
Commit: b929be2d12a291412f726f2df54934803343fa29
https://github.com/llvm/llvm-project/commit/b929be2d12a291412f726f2df54934803343fa29
Author: Jinsong Ji <jinsong.ji at intel.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M clang/test/Interpreter/cxx20-modules.cppm
Log Message:
-----------
[Clang][test] Add fPIC when building shared library (#80065)
Fix linking error: "ld: error: can't create dynamic relocation
R_X86_64_64 against local symbol in readonly segment; recompile object
files with -fPIC or pass '-Wl,-z,notext' to allow text relocations in
the output"
Commit: 16c4843d3263050b359733a05e86cc4a09361aed
https://github.com/llvm/llvm-project/commit/16c4843d3263050b359733a05e86cc4a09361aed
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Add missing header file for 31fc0a12e1552e6bcea63ae740f284eaf74f4c17
Commit: 8241106bf30fa74f27e324ba23c42a3503ab5707
https://github.com/llvm/llvm-project/commit/8241106bf30fa74f27e324ba23c42a3503ab5707
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M llvm/test/tools/llvm-exegesis/X86/analysis-epsilons.test
M llvm/tools/llvm-exegesis/lib/Analysis.cpp
Log Message:
-----------
[Exegesis] Print epsilon value in the sched model inconsistency report (#80080)
Since I've formatted the epsilon value, I don't think it's necessary to
escape it.
Commit: 08c0eb183a9ca2983d20f5a5f366df44f199d287
https://github.com/llvm/llvm-project/commit/08c0eb183a9ca2983d20f5a5f366df44f199d287
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxUnorderedMap.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxVector.cpp
Log Message:
-----------
[lldb][DataFormatter][NFC] Use GetFirstValueOfLibCXXCompressedPair throughout formatters (#80133)
This avoids duplicating the logic to get the first
element of a libc++ `__compressed_pair`. This will
be useful in supporting upcoming changes to the layout
of `__compressed_pair`.
Drive-by changes:
* Renamed `m_item` to `size_node` for readability;
`m_item` suggests it's a member variable, which it
is not.
Commit: 57c66b35a885b571f9897d75d18f1d974c29e533
https://github.com/llvm/llvm-project/commit/57c66b35a885b571f9897d75d18f1d974c29e533
Author: Jason Molenda <jmolenda at apple.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
A lldb/include/lldb/Breakpoint/WatchpointAlgorithms.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/packages/Python/lldbsuite/test/concurrent_base.py
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/CommandObjectWatchpoint.cpp
M lldb/source/Plugins/Process/Utility/StopInfoMachException.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Target/StopInfo.cpp
M lldb/test/API/functionalities/watchpoint/large-watchpoint/TestLargeWatchpoint.py
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/unittests/Breakpoint/CMakeLists.txt
A lldb/unittests/Breakpoint/WatchpointAlgorithmsTests.cpp
Log Message:
-----------
[lldb] Add support for large watchpoints in lldb (#79962)
This patch is the next piece of work in my Large Watchpoint proposal,
https://discourse.llvm.org/t/rfc-large-watchpoint-support-in-lldb/72116
This patch breaks a user's watchpoint into one or more
WatchpointResources which reflect what the hardware registers can cover.
This means we can watch objects larger than 8 bytes, and we can watched
unaligned address ranges. On a typical 64-bit target with 4 watchpoint
registers you can watch 32 bytes of memory if the start address is
doubleword aligned.
Additionally, if the remote stub implements AArch64 MASK style
watchpoints (e.g. debugserver on Darwin), we can watch any power-of-2
size region of memory up to 2GB, aligned to that same size.
I updated the Watchpoint constructor and CommandObjectWatchpoint to
create a CompilerType of Array<UInt8> when the size of the watched
region is greater than pointer-size and we don't have a variable type to
use. For pointer-size and smaller, we can display the watched granule as
an integer value; for larger-than-pointer-size we will display as an
array of bytes.
I have `watchpoint list` now print the WatchpointResources used to
implement the watchpoint.
I added a WatchpointAlgorithm class which has a top-level static method
that takes an enum flag mask WatchpointHardwareFeature and a user
address and size, and returns a vector of WatchpointResources covering
the request. It does not take into account the number of watchpoint
registers the target has, or the number still available for use. Right
now there is only one algorithm, which monitors power-of-2 regions of
memory. For up to pointer-size, this is what Intel hardware supports.
AArch64 Byte Address Select watchpoints can watch any number of
contiguous bytes in a pointer-size memory granule, that is not currently
supported so if you ask to watch bytes 3-5, the algorithm will watch the
entire doubleword (8 bytes). The newly default "modify" style means we
will silently ignore modifications to bytes outside the watched range.
I've temporarily skipped TestLargeWatchpoint.py for all targets. It was
only run on Darwin when using the in-tree debugserver, which was a proxy
for "debugserver supports MASK watchpoints". I'll be adding the
aforementioned feature flag from the stub and enabling full mask
watchpoints when a debugserver with that feature is enabled, and
re-enable this test.
I added a new TestUnalignedLargeWatchpoint.py which only has one test
but it's a great one, watching a 22-byte range that is unaligned and
requires four 8-byte watchpoints to cover.
I also added a unit test, WatchpointAlgorithmsTests, which has a number
of simple tests against WatchpointAlgorithms::PowerOf2Watchpoints. I
think there's interesting possible different approaches to how we cover
these; I note in the unit test that a user requesting a watch on address
0x12e0 of 120 bytes will be covered by two watchpoints today, a
128-bytes at 0x1280 and at 0x1300. But it could be done with a 16-byte
watchpoint at 0x12e0 and a 128-byte at 0x1300, which would have fewer
false positives/private stops. As we try refining this one, it's helpful
to have a collection of tests to make sure things don't regress.
I tested this on arm64 macOS, (genuine) x86_64 macOS, and AArch64
Ubuntu. I have not modifed the Windows process plugins yet, I might try
that as a standalone patch, I'd be making the change blind, but the
necessary changes (see ProcessGDBRemote::EnableWatchpoint) are pretty
small so it might be obvious enough that I can change it and see what
the Windows CI thinks.
There isn't yet a packet (or a qSupported feature query) for the gdb
remote serial protocol stub to communicate its watchpoint capabilities
to lldb. I'll be doing that in a patch right after this is landed,
having debugserver advertise its capability of AArch64 MASK watchpoints,
and have ProcessGDBRemote add eWatchpointHardwareArmMASK to
WatchpointAlgorithms so we can watch larger than 32-byte requests on
Darwin.
I haven't yet tackled WatchpointResource *sharing* by multiple
Watchpoints. This is all part of the goal, especially when we may be
watching a larger memory range than the user requested, if they then add
another watchpoint next to their first request, it may be covered by the
same WatchpointResource (hardware watchpoint register). Also one "read"
watchpoint and one "write" watchpoint on the same memory granule need to
be handled, making the WatchpointResource cover all requests.
As WatchpointResources aren't shared among multiple Watchpoints yet,
there's no handling of running the conditions/commands/etc on multiple
Watchpoints when their shared WatchpointResource is hit. The goal beyond
"large watchpoint" is to unify (much more) the Watchpoint and Breakpoint
behavior and commands. I have a feeling I may be slowly chipping away at
this for a while.
rdar://108234227
Commit: 35a008994a8d583a33cbea03f79555a2d041b20d
https://github.com/llvm/llvm-project/commit/35a008994a8d583a33cbea03f79555a2d041b20d
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/Breakpoint/BUILD.gn
Log Message:
-----------
[gn build] Port 57c66b35a885
Commit: 254287658f4b3e413d47870c1cca422071b398ff
https://github.com/llvm/llvm-project/commit/254287658f4b3e413d47870c1cca422071b398ff
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M openmp/libomptarget/include/OffloadEntry.h
M openmp/libomptarget/include/PluginManager.h
M openmp/libomptarget/include/device.h
M openmp/libomptarget/include/omptarget.h
M openmp/libomptarget/src/PluginManager.cpp
M openmp/libomptarget/src/device.cpp
M openmp/libomptarget/src/omptarget.cpp
M openmp/libomptarget/test/offloading/ctor_dtor.cpp
Log Message:
-----------
[Libomptarget] Remove handling of old ctor / dtor entries (#80153)
Summary:
A previous patch removed creating these entries in clang in favor of the
backend emitting a callable kernel and having the runtime call that if
present. The support for the old style was kept around in LLVM 18.0 but
now that we have forked to 19.0 we should remove the support.
The effect of this would be that an application linking against a newer
libomptarget that still had the old constructors will no longer be
called. In that case, they can either recompile or use the
`libomptarget.so.18` that comes with the previous release.
Commit: 372f7dd48f0165c6a7cdc819516132c617ef6f45
https://github.com/llvm/llvm-project/commit/372f7dd48f0165c6a7cdc819516132c617ef6f45
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-01-31 (Wed, 31 Jan 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] Add temporary workaround to unblock Chrome
Chrome rolls libc++ and libc++abi as separate projects. As a result, they
may not always be updated in lockstep, and this can lead to build failures
when mixing libc++ that doesn't have <__thread/support.h> with libc++abi
that requires it.
This patch adds a workaround to make libc++abi work with both versions.
While Chrome's setup is not supported, this workaround will allow them
to go back to green and do the required work needed to roll libc++ and
libc++abi in lockstep. This workaround will be short-lived -- I have a
reminder to go back and remove it by EOW.
Commit: dad50fefa24e717927a4d3315ae70fe507d624e0
https://github.com/llvm/llvm-project/commit/dad50fefa24e717927a4d3315ae70fe507d624e0
Author: Jason Molenda <jason at molenda.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M lldb/test/API/commands/watchpoints/watchpoint_count/TestWatchpointCount.py
Log Message:
-----------
Add extra printing to TestWatchpointCount.py to debug CI fail
The way the locals are laid out on the stack on x86-64 Debian is
resulting in a test failure with the new large watchpoint support.
Collecting more logging before I revert/debug it.
Commit: 151559cfe44ce224376b12e90fa873ee511f2698
https://github.com/llvm/llvm-project/commit/151559cfe44ce224376b12e90fa873ee511f2698
Author: Justin Bogner <mail at justinbogner.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
A llvm/docs/DirectX/DXILArchitecture.rst
M llvm/docs/DirectXUsage.rst
Log Message:
-----------
[DirectX][docs] Architecture and design philosophy of DXIL support
This documents some of the architectural direction for DXIL and tries
to provide a bit of a map for where to implement different aspects of
DXIL support.
Pull Request: https://github.com/llvm/llvm-project/pull/78221
Commit: 775c2856fb32868f357a3ce3f2b4139541e12578
https://github.com/llvm/llvm-project/commit/775c2856fb32868f357a3ce3f2b4139541e12578
Author: Richard Howell <rmaz at users.noreply.github.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M lld/MachO/Driver.cpp
M lld/test/MachO/arm64-32-stubs.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/objc-selrefs.s
Log Message:
-----------
[lld] enable fixup chains by default (#79894)
Enable chained fixups in lld when all platform and version criteria are
met. This is an attempt at simplifying the logic used in ld 907:
https://github.com/apple-oss-distributions/ld64/blob/93d74eafc37c0558b4ffb88a8bc15c17bed44a20/src/ld/Options.cpp#L5458-L5549
Some changes were made to simplify the logic:
- only enable chained fixups for macOS from 13.0 to avoid the arch check
- only enable chained fixups for iphonesimulator from 16.0 to avoid the
arch check
- don't enable chained fixups for not specifically listed platforms
- don't enable chained fixups for arm64_32
Commit: cf2533e75ec4360da460bb577e0a4e64f2d8997f
https://github.com/llvm/llvm-project/commit/cf2533e75ec4360da460bb577e0a4e64f2d8997f
Author: Jason Molenda <jason at molenda.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M lldb/test/API/commands/watchpoints/watchpoint_count/TestWatchpointCount.py
M lldb/test/Shell/Watchpoint/ExpressionLanguage.test
Log Message:
-----------
Collecting more logging to debug CI bots
Watchpoint test fails on arm-ubuntu and x86-64-debian
Commit: 09fc333ec094c9c48f315dd322105b51b34ff2c4
https://github.com/llvm/llvm-project/commit/09fc333ec094c9c48f315dd322105b51b34ff2c4
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
Log Message:
-----------
[NFC] Fold an `if` statement into `return` of bool expression
Commit: d6e1ae248e85295704e199a67405ea2a4c7e98b2
https://github.com/llvm/llvm-project/commit/d6e1ae248e85295704e199a67405ea2a4c7e98b2
Author: Jason Molenda <jason at molenda.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M lldb/source/Breakpoint/WatchpointAlgorithms.cpp
Log Message:
-----------
Add logging to WatchpointAlgorithm
When verbose lldb watch channel is enabled, print the
user requested watchpoint and the resources we've
broken it up into.
Commit: fa42589fe31924b6176d7a92691c2f760b04ffd8
https://github.com/llvm/llvm-project/commit/fa42589fe31924b6176d7a92691c2f760b04ffd8
Author: Jason Molenda <jason at molenda.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M lldb/test/API/commands/watchpoints/watchpoint_count/TestWatchpointCount.py
Log Message:
-----------
Enable verbose watch log channel to debug x86-64-debian bot
Commit: 4cb13f2d2328b80687c9dcbe6815faf397b05c42
https://github.com/llvm/llvm-project/commit/4cb13f2d2328b80687c9dcbe6815faf397b05c42
Author: Carlos Galvez <carlosgalvezp at gmail.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
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/clangd/TidyFastChecks.inc
M clang-tools-extra/docs/ReleaseNotes.rst
R clang-tools-extra/docs/clang-tidy/checks/cert/dcl21-cpp.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
R clang-tools-extra/test/clang-tidy/checkers/cert/dcl21-cpp.cpp
M clang/docs/tools/clang-formatted-files.txt
M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/cert/BUILD.gn
Log Message:
-----------
[clang-tidy] Remove cert-dcl21-cpp check (#80181)
Deprecated since clang-tidy 17. The rule DCL21-CPP has been removed from
the CERT guidelines, so it does not make sense to keep the check.
Fixes #42788
Co-authored-by: Carlos Gálvez <carlos.galvez at zenseact.com>
Commit: 51e0d1b707a15dd3b96e0c4f1a29ca4dfc79cda0
https://github.com/llvm/llvm-project/commit/51e0d1b707a15dd3b96e0c4f1a29ca4dfc79cda0
Author: Chelsea Cassanova <chelsea_cassanova at apple.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M lldb/unittests/Core/CMakeLists.txt
A lldb/unittests/Core/ProgressReportTest.cpp
Log Message:
-----------
[lldb][progress][NFC] Add unit test for progress reports (#79533)
This test is being added as a way to check the behaviour of how progress
events are broadcasted when reports are started and ended with the
current implementation of progress reports. Here we're mainly checking
and ensuring that the current behaviour is that progress events are
broadcasted individually and placed in the event queue in order of their
creation and deletion.
Commit: c84f2bac93f38c903bae2e92fc7749d93c2e1112
https://github.com/llvm/llvm-project/commit/c84f2bac93f38c903bae2e92fc7749d93c2e1112
Author: Jason Molenda <jason at molenda.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M lldb/source/Breakpoint/WatchpointAlgorithms.cpp
Log Message:
-----------
Add one more verbose watchpoint logging for arm-ubuntu
Commit: dc15524f61e9fced14181860ce907163b0b3a504
https://github.com/llvm/llvm-project/commit/dc15524f61e9fced14181860ce907163b0b3a504
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M flang/lib/Lower/Allocatable.cpp
M flang/test/Lower/derived-pointer-components.f90
Log Message:
-----------
[flang] DEALLOCATE(pointer) should use PointerDeallocate() (#79702)
A DEALLOCATE statement on a pointer should always use
PointerDeallocate() in the runtime, even if there's no STAT= or
polymorphism or derived types, so that it can be checked to ensure that
it is indeed a whole allocation of a pointer.
Commit: dbf547f8ffa9522656f7dd0f2a674f717f584834
https://github.com/llvm/llvm-project/commit/dbf547f8ffa9522656f7dd0f2a674f717f584834
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M flang/runtime/numeric.cpp
Log Message:
-----------
[flang][runtime] Add limit check to MOD/MODULO (#80026)
When testing the arguments to see whether they are integers, check first
that they are within the maximum range of a 64-bit integer; otherwise, a
value of larger magnitude will set an invalid operand exception flag.
Commit: 60860079ec9416a263d1078e0e29cf393a89737a
https://github.com/llvm/llvm-project/commit/60860079ec9416a263d1078e0e29cf393a89737a
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M flang/lib/Parser/preprocessor.cpp
M flang/test/Driver/prescanner-diag.f90
M flang/test/Preprocessing/include-comment.F90
A flang/test/Preprocessing/macro-in-include.F90
Log Message:
-----------
[flang][preprocessor] Replace macros in some #include directives (#80039)
Ensure that #include FOO undergoes macro replacement. But, as is the
case with C/C++, continue to not perform macro replacement in a #include
directive with <angled brackets>.
Commit: 2ba94bfb46cd3a1e49550f654e0362de23c184a7
https://github.com/llvm/llvm-project/commit/2ba94bfb46cd3a1e49550f654e0362de23c184a7
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M flang/include/flang/Common/Fortran-features.h
M flang/lib/Semantics/check-declarations.cpp
M flang/test/Semantics/local-vs-global.f90
Log Message:
-----------
[flang] Downgrade a too-strong error message to a warning (#80095)
When a compilation unit has an interface to an external subroutine or
function, and there is a global object (like a module) with the same
name, we're emitting an error. This is too strong, the program will
still build. This comes up in real applications, too. Downgrade the
error to a warning.
Commit: 209fe1f3d70d1c4a20bb2687e0d0a94b1bbfa0c6
https://github.com/llvm/llvm-project/commit/209fe1f3d70d1c4a20bb2687e0d0a94b1bbfa0c6
Author: Chelsea Cassanova <chelsea_cassanova at apple.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M lldb/unittests/Core/CMakeLists.txt
R lldb/unittests/Core/ProgressReportTest.cpp
Log Message:
-----------
Revert "[lldb][progress][NFC] Add unit test for progress reports (#79533)"
This reverts commit 51e0d1b707a15dd3b96e0c4f1a29ca4dfc79cda0.
That commit breaks a unit test:
```
Failed Tests (1):
lldb-unit :: Core/./LLDBCoreTests/4/8
```
Commit: 9d41fba91cc0a1c0cbad1de9fd5a1f78dd540b1c
https://github.com/llvm/llvm-project/commit/9d41fba91cc0a1c0cbad1de9fd5a1f78dd540b1c
Author: Jason Molenda <jason at molenda.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M lldb/source/Breakpoint/WatchpointAlgorithms.cpp
Log Message:
-----------
Revert "Add one more verbose watchpoint logging for arm-ubuntu"
This reverts commit c84f2bac93f38c903bae2e92fc7749d93c2e1112.
Commit: 19f429a4bda124c655829f84bb9c1f76c86a547c
https://github.com/llvm/llvm-project/commit/19f429a4bda124c655829f84bb9c1f76c86a547c
Author: Jason Molenda <jason at molenda.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M lldb/test/API/commands/watchpoints/watchpoint_count/TestWatchpointCount.py
Log Message:
-----------
Revert "Enable verbose watch log channel to debug x86-64-debian bot"
This reverts commit fa42589fe31924b6176d7a92691c2f760b04ffd8.
Commit: e95250cda09331779d483e910ab3cfe5d655567c
https://github.com/llvm/llvm-project/commit/e95250cda09331779d483e910ab3cfe5d655567c
Author: Jason Molenda <jason at molenda.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M lldb/source/Breakpoint/WatchpointAlgorithms.cpp
Log Message:
-----------
Revert "Add logging to WatchpointAlgorithm"
This reverts commit d6e1ae248e85295704e199a67405ea2a4c7e98b2.
Commit: 46643e07d4c1caae3b8fa77be3a4073300785d91
https://github.com/llvm/llvm-project/commit/46643e07d4c1caae3b8fa77be3a4073300785d91
Author: Jason Molenda <jason at molenda.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M lldb/test/API/commands/watchpoints/watchpoint_count/TestWatchpointCount.py
M lldb/test/Shell/Watchpoint/ExpressionLanguage.test
Log Message:
-----------
Revert "Collecting more logging to debug CI bots"
This reverts commit cf2533e75ec4360da460bb577e0a4e64f2d8997f.
Commit: cc4af03a839293ff908b52bb3a79b6ed562fe198
https://github.com/llvm/llvm-project/commit/cc4af03a839293ff908b52bb3a79b6ed562fe198
Author: Jason Molenda <jason at molenda.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M lldb/test/API/commands/watchpoints/watchpoint_count/TestWatchpointCount.py
Log Message:
-----------
Revert "Add extra printing to TestWatchpointCount.py to debug CI fail"
This reverts commit dad50fefa24e717927a4d3315ae70fe507d624e0.
Commit: d347c564299eeb8ad1fcb58c06914473d6a789d8
https://github.com/llvm/llvm-project/commit/d347c564299eeb8ad1fcb58c06914473d6a789d8
Author: Jason Molenda <jason at molenda.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
R lldb/include/lldb/Breakpoint/WatchpointAlgorithms.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/packages/Python/lldbsuite/test/concurrent_base.py
M lldb/source/Breakpoint/CMakeLists.txt
M lldb/source/Breakpoint/Watchpoint.cpp
R lldb/source/Breakpoint/WatchpointAlgorithms.cpp
M lldb/source/Breakpoint/WatchpointResource.cpp
M lldb/source/Commands/CommandObjectWatchpoint.cpp
M lldb/source/Plugins/Process/Utility/StopInfoMachException.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Target/StopInfo.cpp
M lldb/test/API/functionalities/watchpoint/large-watchpoint/TestLargeWatchpoint.py
R lldb/test/API/functionalities/watchpoint/unaligned-large-watchpoint/Makefile
R lldb/test/API/functionalities/watchpoint/unaligned-large-watchpoint/TestUnalignedLargeWatchpoint.py
R lldb/test/API/functionalities/watchpoint/unaligned-large-watchpoint/main.c
M lldb/unittests/Breakpoint/CMakeLists.txt
R lldb/unittests/Breakpoint/WatchpointAlgorithmsTests.cpp
Log Message:
-----------
Revert "[lldb] Add support for large watchpoints in lldb (#79962)"
This reverts commit 57c66b35a885b571f9897d75d18f1d974c29e533.
Commit: 742f88e9c754042d4f9ee2bfe5e975a7151f41ff
https://github.com/llvm/llvm-project/commit/742f88e9c754042d4f9ee2bfe5e975a7151f41ff
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/Breakpoint/BUILD.gn
Log Message:
-----------
[gn build] Port d347c564299e
Commit: c003d851f5cc1476774153fa9ed02fda725e9d57
https://github.com/llvm/llvm-project/commit/c003d851f5cc1476774153fa9ed02fda725e9d57
Author: Michael Spencer <bigcheesegs at gmail.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
A clang/test/ClangScanDeps/optimize-fmodulemap.m
Log Message:
-----------
[clang][DependencyScanner] Remove unused -fmodule-map-file arguments (#80090)
Since we already add a `-fmodule-map-file=` argument for every used
modulemap, we can remove all `ModuleMapFiles` entries before adding
them.
This reduces the number of module variants when `-fmodule-map-file=`
appears on the original command line.
Commit: 5282202db04f8fb57b581ce8871851becc0eb737
https://github.com/llvm/llvm-project/commit/5282202db04f8fb57b581ce8871851becc0eb737
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M llvm/test/Transforms/LoopStrengthReduce/lsr-term-fold.ll
Log Message:
-----------
[LSR] Add a test case mentioned in review
As mentioned in https://github.com/llvm/llvm-project/pull/74747, this case is triggering a particularly high cost trip count expansion.
Commit: 9107904e9b6a56636d06bba120c7c19d332430f0
https://github.com/llvm/llvm-project/commit/9107904e9b6a56636d06bba120c7c19d332430f0
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M .github/workflows/containers/github-action-ci/Dockerfile
Log Message:
-----------
[Github] Build PGO optimized toolchain in container (#80096)
This patch adjusts the Docker container intended for CI use to contain a
PGO+ThinLTO+BOLT optimized clang. The toolchain is built within a Github
action and takes ~3.5 hours. No caching is utilized. The current PGO
optimization is fairly minimal, only running clang over hello world.
This can be adjusted as needed.
Commit: ebe8733a11e735bb9f5ca45ec752c2a416380c8d
https://github.com/llvm/llvm-project/commit/ebe8733a11e735bb9f5ca45ec752c2a416380c8d
Author: lhames <lhames at gmail.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M llvm/include/llvm-c/Orc.h
M llvm/include/llvm/ExecutionEngine/Orc/Core.h
M llvm/include/llvm/ExecutionEngine/Orc/DebugUtils.h
M llvm/include/llvm/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.h
M llvm/lib/ExecutionEngine/Orc/Core.cpp
M llvm/lib/ExecutionEngine/Orc/DebugUtils.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/test/ExecutionEngine/JITLink/x86-64/LocalDependencyPropagation.s
M llvm/unittests/ExecutionEngine/Orc/CoreAPIsTest.cpp
M llvm/unittests/ExecutionEngine/Orc/LazyCallThroughAndReexportsTest.cpp
M llvm/unittests/ExecutionEngine/Orc/OrcCAPITest.cpp
M llvm/unittests/ExecutionEngine/Orc/ResourceTrackerTest.cpp
Log Message:
-----------
[ORC] Merge MaterializationResponsibility notifyEmitted and addDependencies
Removes the MaterializationResponsibility::addDependencies and
addDependenciesForAll methods, and transfers dependency registration to
the notifyEmitted operation. The new dependency registration allows
dependencies to be specified for arbitrary subsets of the
MaterializationResponsibility's symbols (rather than just single symbols
or all symbols) via an array of SymbolDependenceGroups (pairs of symbol
sets and corresponding dependencies for that set).
This patch aims to both improve emission performance and simplify
dependence tracking. By eliminating some states (e.g. symbols having
registered dependencies but not yet being resolved or emitted) we make
some errors impossible by construction, and reduce the number of error
cases that we need to check. NonOwningSymbolStringPtrs are used for
dependence tracking under the session lock, which should reduce
ref-counting operations, and intra-emit dependencies are resolved
outside the session lock, which should provide better performance when
JITing concurrently (since some dependence tracking can happen in
parallel).
The Orc C API is updated to account for this change, with the
LLVMOrcMaterializationResponsibilityNotifyEmitted API being modified and
the LLVMOrcMaterializationResponsibilityAddDependencies and
LLVMOrcMaterializationResponsibilityAddDependenciesForAll operations
being removed.
Commit: 22773e591fc3e585a32f8122eb203e50fcc1e441
https://github.com/llvm/llvm-project/commit/22773e591fc3e585a32f8122eb203e50fcc1e441
Author: michaelrj-google <71531609+michaelrj-google at users.noreply.github.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M libc/src/stdio/scanf_core/float_converter.cpp
Log Message:
-----------
[libc] Fix condition ordering in scanf (#80083)
The inf and nan string index bounds checks were after the index was
being used. This patch moves the index usage to the end of the
condition.
Fixes #79988
Commit: a03a6e99647318a86ea398c42e241da43e3c550e
https://github.com/llvm/llvm-project/commit/a03a6e99647318a86ea398c42e241da43e3c550e
Author: Zaara Syeda <95926691+syzaara at users.noreply.github.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/MC/MCSectionXCOFF.cpp
M llvm/lib/MC/XCOFFObjectWriter.cpp
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
M llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
M llvm/test/CodeGen/PowerPC/basic-toc-data-local-linkage.ll
A llvm/test/CodeGen/PowerPC/basic-toc-data-private-linkage.ll
A llvm/test/CodeGen/PowerPC/toc-data-common.ll
Log Message:
-----------
[AIX] [XCOFF] Add support for common and local common symbols in the TOC (#79530)
This patch adds support for common and local symbols in the TOC for AIX.
Note that we need to update isVirtualSection so as a common symbol in
TOC will have the symbol type XTY_CM and will be initialized when placed
in the TOC so sections with this type are no longer virtual.
---------
Co-authored-by: Zaara Syeda <syzaara at ca.ibm.com>
Commit: 56e241a07ff7f839d39775dbf05de5153a8e7d9f
https://github.com/llvm/llvm-project/commit/56e241a07ff7f839d39775dbf05de5153a8e7d9f
Author: Artem Dergachev <adergachev at apple.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/BugReporter/BugSuppression.h
M clang/lib/StaticAnalyzer/Core/BugReporter.cpp
M clang/lib/StaticAnalyzer/Core/BugSuppression.cpp
M clang/test/Analysis/Checkers/WebKit/call-args.cpp
M clang/test/Analysis/copypaste/suspicious-clones.cpp
Log Message:
-----------
[analyzer] Unbreak [[clang::suppress]] on checkers without decl-with-issue. (#79398)
There are currently a few checkers that don't fill in the bug report's
"decl-with-issue" field (typically a function in which the bug is
found).
The new attribute `[[clang::suppress]]` uses decl-with-issue to reduce
the size of the suppression source range map so that it didn't need to
do that for the entire translation unit.
I'm already seeing a few problems with this approach so I'll probably
redesign it in some point as it looks like a premature optimization. Not
only checkers shouldn't be required to pass decl-with-issue (consider
clang-tidy checkers that never had such notion), but also it's not
necessarily uniquely determined (consider leak suppressions at
allocation site).
For now I'm adding a simple stop-gap solution that falls back to
building the suppression map for the entire TU whenever decl-with-issue
isn't specified. Which won't happen in the default setup because luckily
all default checkers do provide decl-with-issue.
---------
Co-authored-by: Balazs Benics <benicsbalazs at gmail.com>
Commit: 1d1432356e656fcae7b2a3634a2b349334ba3d80
https://github.com/llvm/llvm-project/commit/1d1432356e656fcae7b2a3634a2b349334ba3d80
Author: Usman Nadeem <mnadeem at quicinc.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
A llvm/test/CodeGen/AArch64/sve2-rsh.ll
Log Message:
-----------
[AArch64][SVE2] Generate urshr rounding shift rights (#78374)
Add a new node `AArch64ISD::URSHR_I_PRED`.
`srl(add(X, 1 << (ShiftValue - 1)), ShiftValue)` is transformed to
`urshr`, or to `rshrnb` (as before) if the result it truncated.
`uzp1(rshrnb(uunpklo(X),C), rshrnb(uunpkhi(X), C))` is converted to
`urshr(X, C)` (tested by the wide_trunc tests).
Pattern matching code in `canLowerSRLToRoundingShiftForVT` is taken
from prior code in rshrnb. It returns true if the add has NUW or if the
number of bits used in the return value allow us to not care about the
overflow (tested by rshrnb test cases).
Commit: 4eee04585f7ec722e852604d0dd691e143c775ea
https://github.com/llvm/llvm-project/commit/4eee04585f7ec722e852604d0dd691e143c775ea
Author: Konstantin Zhuravlyov <kzhuravl_dev at outlook.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/BUFInstructions.td
M llvm/lib/Target/AMDGPU/FLATInstructions.td
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
Log Message:
-----------
AMDGPU/NFC: Add predicate for supporting buffer/flat/global f64 atomics (#80209)
Commit: 0f728a08bd005c132f9c79c4bb7316429a10a5bf
https://github.com/llvm/llvm-project/commit/0f728a08bd005c132f9c79c4bb7316429a10a5bf
Author: Valentin Clement <clementval at gmail.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
Log Message:
-----------
[flang][hlfir][NFC] Fix typo
Commit: 5e3ae4c4afc98e30e4264b52e234113b49159c37
https://github.com/llvm/llvm-project/commit/5e3ae4c4afc98e30e4264b52e234113b49159c37
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
A llvm/test/CodeGen/NVPTX/boolean-patterns.ll
Log Message:
-----------
[NVPTX] improve Boolean ISel (#80166)
Add TableGen patterns to convert more instructions to boolean
expressions:
- **mul -> and/or**: i1 multiply instructions currently cannot be
selected causing the compiler to crash. See
https://github.com/llvm/llvm-project/issues/57404
- **select -> and/or**: Converting selects to and/or can enable more
optimizations. `InstCombine` cannot do this as aggressively due to
poison semantics.
Commit: ff53d5074256b8d88d9883dd593992a011fb0516
https://github.com/llvm/llvm-project/commit/ff53d5074256b8d88d9883dd593992a011fb0516
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vector-i8-index-cornercase.ll
Log Message:
-----------
[RISCV] Improve legalization of e8 m8 VL>256 shuffles (#79330)
If we can't produce a large enough index vector in i8, we may need to legalize
the shuffle (via scalarization - which in turn gets lowered into stack usage).
This change makes two related changes:
* Deferring legalization until we actually need to generate the vrgather
instruction. With the new recursive structure, this only happens when
doing the fallback for one of the arms.
* Check the actual mask values for something outside of the representable
range.
Both are covered by recently added tests.
Commit: db68e9229b54f1d72c0a4445682718d75e532b5d
https://github.com/llvm/llvm-project/commit/db68e9229b54f1d72c0a4445682718d75e532b5d
Author: Alex Langford <alangford at apple.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M lldb/include/lldb/Breakpoint/Breakpoint.h
M lldb/include/lldb/Breakpoint/BreakpointLocation.h
M lldb/include/lldb/Breakpoint/Watchpoint.h
M lldb/source/Breakpoint/Breakpoint.cpp
M lldb/source/Breakpoint/BreakpointLocation.cpp
M lldb/source/Breakpoint/Watchpoint.cpp
Log Message:
-----------
[lldb][NFCI] Remove m_being_created from Breakpoint classes (#79716)
The purpose of m_being_created in these classes was to prevent
broadcasting an event related to these Breakpoints during the creation
of the breakpoint (i.e. in the constructor). In Breakpoint and
Watchpoint, m_being_created had no effect. That is to say, removing it
does not change behavior.
However, BreakpointLocation does still use m_being_created. In the
constructor, SetThreadID is called which does broadcast an event only if
`m_being_created` is false. Instead of having this logic be roundabout,
the constructor instead calls `SetThreadIDInternal`, which actually
changes the thread ID. `SetThreadID` also will call
`SetThreadIDInternal` in addition to broadcasting a changed event.
Commit: f264da432207064f4716f81485399ef127b57fd4
https://github.com/llvm/llvm-project/commit/f264da432207064f4716f81485399ef127b57fd4
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
M llvm/test/Transforms/LoopStrengthReduce/lsr-term-fold.ll
Log Message:
-----------
[lsr][term-fold] Restrict transform to low cost expansions (#74747)
This is a follow up to an item I noted in my submission comment for
e947f95. I don't have a real world example where this is triggering
unprofitably, but avoiding the transform when we estimate the loop to be
short running from profiling seems quite reasonable. It's also now come
up as a possibility in a regression twice in two days, so I'd like to
get this in to close out the possibility if nothing else.
The original review dropped the threshold for short trip count loops. I
will return to that in a separate review if this lands.
Commit: 7c2e32d6fe386a12750292096271a00d5b7aa82f
https://github.com/llvm/llvm-project/commit/7c2e32d6fe386a12750292096271a00d5b7aa82f
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M clang/lib/Driver/ToolChains/HIPAMD.cpp
M clang/test/Driver/hip-toolchain-mllvm.hip
Log Message:
-----------
Partial revert "[HIP] Fix -mllvm option for device lld linker" (#80202)
This partially reverts commit aa964f157f9b50fab3895afbfda6e0915cf6bb4a
because it caused perf regressions in rccl due to drop of -mllvm
-amgpu-kernarg-preload-count=16 from the linker step. Potentially it
could cause similar regressions for other HIP apps using -mllvm options
with -fgpu-rdc.
Fixes: SWDEV-443345
Commit: a5a8cbb110384825b99228891576f799082f200e
https://github.com/llvm/llvm-project/commit/a5a8cbb110384825b99228891576f799082f200e
Author: Chelsea Cassanova <chelsea_cassanova at apple.com>
Date: 2024-01-31 (Wed, 31 Jan 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 (#79533)"
This reverts commit 209fe1f3d70d1c4a20bb2687e0d0a94b1bbfa0c6.
The original commit failed to due an assertion failure in the unit test
`ProgressReportTest` that the commit added. The Debugger::Initialize()
function was called more than once which triggered the assertion, so
this commit calls that function under a `std::call_once`.
Commit: 5561beae296bded328d307d625f37805a049cddf
https://github.com/llvm/llvm-project/commit/5561beae296bded328d307d625f37805a049cddf
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
A llvm/test/CodeGen/WebAssembly/disable-feature.ll
Log Message:
-----------
[WebAssembly] avoid to enable explicit disabled feature (#80094)
Commit: 40ebe522ea5fd56cb383e29c77373b1482d49c0f
https://github.com/llvm/llvm-project/commit/40ebe522ea5fd56cb383e29c77373b1482d49c0f
Author: Chelsea Cassanova <chelsea_cassanova at apple.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M lldb/unittests/Core/CMakeLists.txt
R lldb/unittests/Core/ProgressReportTest.cpp
Log Message:
-----------
Revert "Reland "[lldb][progress][NFC] Add unit test for progress reports (#79533)""
This reverts commit a5a8cbb110384825b99228891576f799082f200e.
The test being added by that commit still fails on the assertion that
Debugger::Initialize has been called more than once.
Commit: cf401f72e1b5aa6be0719ab45c95c10ea06bec9a
https://github.com/llvm/llvm-project/commit/cf401f72e1b5aa6be0719ab45c95c10ea06bec9a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/atomic-rmw.ll
M llvm/test/CodeGen/RISCV/atomic-signext.ll
Log Message:
-----------
[RISCV] Use Zacas for AtomicRMWInst::Nand i32 and XLen. (#80119)
We don't have an AMO instruction for Nand, so with the A extension we
use an LR/SC loop. If we have Zacas we can use a CAS loop instead.
According to the Zacas spec, a CAS loop scales to highly parallel
systems better than LR/SC.
Commit: 0e0d155f87b199c137fe7bd506fb443c242f785e
https://github.com/llvm/llvm-project/commit/0e0d155f87b199c137fe7bd506fb443c242f785e
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M libc/docs/stdbit.rst
Log Message:
-----------
[libc][docs] fix stdbit.h docs (#80070)
Fix rst comment, add checks for recently implemented functions+macro.
Commit: 0e8eb445db0cc2552d9d077b527a43c779785cb9
https://github.com/llvm/llvm-project/commit/0e8eb445db0cc2552d9d077b527a43c779785cb9
Author: michaelrj-google <71531609+michaelrj-google at users.noreply.github.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M libc/src/unistd/linux/read.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc] Fix read under msan (#80203)
The read 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: 8ba018d72a67050a9c37065ea2668814ebf513a9
https://github.com/llvm/llvm-project/commit/8ba018d72a67050a9c37065ea2668814ebf513a9
Author: Diego Caballero <diegocaballero at google.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M mlir/include/mlir/Dialect/Vector/TransformOps/VectorTransformOps.td
M mlir/include/mlir/Dialect/Vector/Transforms/VectorRewritePatterns.h
M mlir/lib/Dialect/Vector/TransformOps/VectorTransformOps.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
M mlir/test/Dialect/Vector/vector-rewrite-narrow-types.mlir
Log Message:
-----------
[mlir][Vector] Add support for sub-byte transpose emulation (#80110)
This PR adds patterns to convert a sub-byte vector transpose into a
sequence of instructions that perform the transpose on i8 vector
elements. Whereas this rewrite may not lead to the absolute peak
performance, it should ensure correctness when dealing with sub-byte
transposes.
Commit: 730f498c961f29691a605028f9b1cd6d9e232460
https://github.com/llvm/llvm-project/commit/730f498c961f29691a605028f9b1cd6d9e232460
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
M mlir/test/Dialect/Arith/canonicalize.mlir
Log Message:
-----------
[mlir][arith] Improve `truncf` folding (#80206)
* Use APFloat conversion function instead of going through double to
check if fold results in information loss.
* Support folding vector constants.
Commit: f8be7f29ede5369b96056d3879c57de54781c9cf
https://github.com/llvm/llvm-project/commit/f8be7f29ede5369b96056d3879c57de54781c9cf
Author: Yi Kong <yikong at google.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M llvm/test/tools/llvm-objcopy/ELF/prefix-symbols.test
Log Message:
-----------
[llvm-objcopy][test] Use llvm-readelf instead for clearer visualization(NFC) (#79874)
Commit: a8279a8bc541b6027087dd497daa63b6602b7f4b
https://github.com/llvm/llvm-project/commit/a8279a8bc541b6027087dd497daa63b6602b7f4b
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M clang/include/clang/Lex/Token.h
M clang/include/clang/Sema/Sema.h
M clang/lib/Lex/Lexer.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseObjc.cpp
M clang/lib/Sema/SemaDecl.cpp
Log Message:
-----------
[clang][NFC] Move isSimpleTypeSpecifier() from Sema to Token (#80101)
So that it can be used by clang-format.
Commit: 908fd09a13b2e89a52282478544f7f70cf0a887f
https://github.com/llvm/llvm-project/commit/908fd09a13b2e89a52282478544f7f70cf0a887f
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M clang/docs/ClangFormatStyleOptions.rst
M clang/include/clang/Format/Format.h
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] Simplify the AfterPlacementOperator option (#79796)
Change AfterPlacementOperator to a boolean and deprecate SBPO_Never,
which meant never inserting a space except when after new/delete.
Fixes #78892.
Commit: 994493ce05ab7351cd92d30fb1bd23985b292851
https://github.com/llvm/llvm-project/commit/994493ce05ab7351cd92d30fb1bd23985b292851
Author: martinboehme <mboehme at google.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M clang/lib/Analysis/FlowSensitive/HTMLLogger.cpp
Log Message:
-----------
[clang][dataflow][NFC] Rename a confusingly named variable. (#80182)
Commit: 0c361270afff83cd6433cf865ed5a410dadfb33f
https://github.com/llvm/llvm-project/commit/0c361270afff83cd6433cf865ed5a410dadfb33f
Author: martinboehme <mboehme at google.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M clang/lib/Analysis/FlowSensitive/HTMLLogger.css
M clang/lib/Analysis/FlowSensitive/HTMLLogger.html
Log Message:
-----------
[clang][dataflow] Display line numbers in the HTML logger timeline. (#80130)
This makes it easier to count how many iterations an analysis takes to
complete.
It also makes it easier to compare how a change to the analysis code
affects
the timeline.
Here's a sample screenshot:
![image](https://github.com/llvm/llvm-project/assets/29098113/b3f44b4d-7037-4f28-9532-5418663250e1)
Commit: 147d7a64f8493e78669581097a3ff06c985aa3a1
https://github.com/llvm/llvm-project/commit/147d7a64f8493e78669581097a3ff06c985aa3a1
Author: Jason Molenda <jason at molenda.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
A lldb/include/lldb/Breakpoint/WatchpointAlgorithms.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/packages/Python/lldbsuite/test/concurrent_base.py
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/CommandObjectWatchpoint.cpp
M lldb/source/Plugins/Process/Utility/StopInfoMachException.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Target/StopInfo.cpp
M lldb/test/API/functionalities/watchpoint/large-watchpoint/TestLargeWatchpoint.py
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/tools/debugserver/source/MacOSX/arm64/DNBArchImplARM64.cpp
M lldb/unittests/Breakpoint/CMakeLists.txt
A lldb/unittests/Breakpoint/WatchpointAlgorithmsTests.cpp
Log Message:
-----------
[lldb] Add support for large watchpoints in lldb (#79962)
This patch is the next piece of work in my Large Watchpoint proposal,
https://discourse.llvm.org/t/rfc-large-watchpoint-support-in-lldb/72116
This patch breaks a user's watchpoint into one or more
WatchpointResources which reflect what the hardware registers can cover.
This means we can watch objects larger than 8 bytes, and we can watched
unaligned address ranges. On a typical 64-bit target with 4 watchpoint
registers you can watch 32 bytes of memory if the start address is
doubleword aligned.
Additionally, if the remote stub implements AArch64 MASK style
watchpoints (e.g. debugserver on Darwin), we can watch any power-of-2
size region of memory up to 2GB, aligned to that same size.
I updated the Watchpoint constructor and CommandObjectWatchpoint to
create a CompilerType of Array<UInt8> when the size of the watched
region is greater than pointer-size and we don't have a variable type to
use. For pointer-size and smaller, we can display the watched granule as
an integer value; for larger-than-pointer-size we will display as an
array of bytes.
I have `watchpoint list` now print the WatchpointResources used to
implement the watchpoint.
I added a WatchpointAlgorithm class which has a top-level static method
that takes an enum flag mask WatchpointHardwareFeature and a user
address and size, and returns a vector of WatchpointResources covering
the request. It does not take into account the number of watchpoint
registers the target has, or the number still available for use. Right
now there is only one algorithm, which monitors power-of-2 regions of
memory. For up to pointer-size, this is what Intel hardware supports.
AArch64 Byte Address Select watchpoints can watch any number of
contiguous bytes in a pointer-size memory granule, that is not currently
supported so if you ask to watch bytes 3-5, the algorithm will watch the
entire doubleword (8 bytes). The newly default "modify" style means we
will silently ignore modifications to bytes outside the watched range.
I've temporarily skipped TestLargeWatchpoint.py for all targets. It was
only run on Darwin when using the in-tree debugserver, which was a proxy
for "debugserver supports MASK watchpoints". I'll be adding the
aforementioned feature flag from the stub and enabling full mask
watchpoints when a debugserver with that feature is enabled, and
re-enable this test.
I added a new TestUnalignedLargeWatchpoint.py which only has one test
but it's a great one, watching a 22-byte range that is unaligned and
requires four 8-byte watchpoints to cover.
I also added a unit test, WatchpointAlgorithmsTests, which has a number
of simple tests against WatchpointAlgorithms::PowerOf2Watchpoints. I
think there's interesting possible different approaches to how we cover
these; I note in the unit test that a user requesting a watch on address
0x12e0 of 120 bytes will be covered by two watchpoints today, a
128-bytes at 0x1280 and at 0x1300. But it could be done with a 16-byte
watchpoint at 0x12e0 and a 128-byte at 0x1300, which would have fewer
false positives/private stops. As we try refining this one, it's helpful
to have a collection of tests to make sure things don't regress.
I tested this on arm64 macOS, (genuine) x86_64 macOS, and AArch64
Ubuntu. I have not modifed the Windows process plugins yet, I might try
that as a standalone patch, I'd be making the change blind, but the
necessary changes (see ProcessGDBRemote::EnableWatchpoint) are pretty
small so it might be obvious enough that I can change it and see what
the Windows CI thinks.
There isn't yet a packet (or a qSupported feature query) for the gdb
remote serial protocol stub to communicate its watchpoint capabilities
to lldb. I'll be doing that in a patch right after this is landed,
having debugserver advertise its capability of AArch64 MASK watchpoints,
and have ProcessGDBRemote add eWatchpointHardwareArmMASK to
WatchpointAlgorithms so we can watch larger than 32-byte requests on
Darwin.
I haven't yet tackled WatchpointResource *sharing* by multiple
Watchpoints. This is all part of the goal, especially when we may be
watching a larger memory range than the user requested, if they then add
another watchpoint next to their first request, it may be covered by the
same WatchpointResource (hardware watchpoint register). Also one "read"
watchpoint and one "write" watchpoint on the same memory granule need to
be handled, making the WatchpointResource cover all requests.
As WatchpointResources aren't shared among multiple Watchpoints yet,
there's no handling of running the conditions/commands/etc on multiple
Watchpoints when their shared WatchpointResource is hit. The goal beyond
"large watchpoint" is to unify (much more) the Watchpoint and Breakpoint
behavior and commands. I have a feeling I may be slowly chipping away at
this for a while.
Re-landing this patch after fixing two undefined behaviors in
WatchpointAlgorithms found by UBSan and by failures on different
CI bots.
rdar://108234227
Commit: 19a10c13e53f4fb7dfecf400bf0ba9f18942e061
https://github.com/llvm/llvm-project/commit/19a10c13e53f4fb7dfecf400bf0ba9f18942e061
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/Breakpoint/BUILD.gn
Log Message:
-----------
[gn build] Port 147d7a64f849
Commit: 995d21bc6ff2220b2887cf9640d936eb99b3c617
https://github.com/llvm/llvm-project/commit/995d21bc6ff2220b2887cf9640d936eb99b3c617
Author: wangpc <wangpengcheng.pp at bytedance.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/SelectOptimize.cpp
Log Message:
-----------
[SelectOpt] Print instruction instead of pointer
Pull Request: https://github.com/llvm/llvm-project/pull/80125
Commit: 5a8f290ded52c218510369f3a7ae66bee1cac99f
https://github.com/llvm/llvm-project/commit/5a8f290ded52c218510369f3a7ae66bee1cac99f
Author: Wanyi <kusmour at gmail.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M llvm/lib/DebugInfo/GSYM/DwarfTransformer.cpp
A llvm/test/tools/llvm-gsymutil/X86/elf-dwo.yaml
Log Message:
-----------
[llvm-gsymutil] Print one-time DWO file missing warning under --quiet flag (#79882)
FileCheck test added
```
./bin/llvm-lit -sv llvm/test/tools/llvm-gsymutil/X86/elf-dwo.yaml
```
Manual test steps:
- Create binary with split-dwarf:
```
clang++ -g -gdwarf-4 -gsplit-dwarf main.cpp -o main_split
```
- Remove or remane the dwo file to a different name so llvm-gsymutil can't find it
```
mv main_split-main.dwo main_split-main__.dwo
```
- Now run llvm-gsymutil conversion, it should print out warning with and
without the `--quiet` flag
```
$ ./bin/llvm-gsymutil --convert=./main_split
Input file: ./main_split
Output file (x86_64): ./main_split.gsym
warning: Unable to retrieve DWO .debug_info section for main_split-main.dwo
Loaded 0 functions from DWARF.
Loaded 12 functions from symbol table.
Pruned 0 functions, ended with 12 total
```
```
$ ./bin/llvm-gsymutil --convert=./main_split --quiet
Input file: ./main_split
Output file (x86_64): ./main_split.gsym
warning: Unable to retrieve DWO .debug_info section for some object files. (Remove the --quiet flag for full output)
Pruned 0 functions, ended with 12 total
```
Commit: 3b76b86491d13ced848f2ed6f411754f54befaba
https://github.com/llvm/llvm-project/commit/3b76b86491d13ced848f2ed6f411754f54befaba
Author: Jason Molenda <jason at molenda.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M lldb/unittests/Breakpoint/WatchpointAlgorithmsTests.cpp
Log Message:
-----------
Add debug prints to diagnose a crash on arm-ubuntu bot
Commit: c82a645ef2421c29b5e0000e981b90dc9a1e1137
https://github.com/llvm/llvm-project/commit/c82a645ef2421c29b5e0000e981b90dc9a1e1137
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/utils/TableGen/X86FoldTablesEmitter.cpp
Log Message:
-----------
[X86][NFC] Simplify the code for memory fold
Commit: 8eea582dcb900afb45866a09296624b6fef9dd20
https://github.com/llvm/llvm-project/commit/8eea582dcb900afb45866a09296624b6fef9dd20
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/docs/StandardCPlusPlusModules.rst
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Driver/Options.td
M clang/include/clang/Serialization/ASTReader.h
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
A clang/test/Driver/modules-skip-odr-check-in-gmf.cpp
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
Log Message:
-----------
[C++20] [Modules] Introduce -fskip-odr-check-in-gmf (#79959)
Close https://github.com/llvm/llvm-project/issues/79240
Cite the comment from @mizvekov in
//github.com/llvm/llvm-project/issues/79240:
> There are two kinds of bugs / issues relevant here:
>
> Clang bugs that this change hides
> Here we can add a Frontend flag that disables the GMF ODR check, just
> so
> we can keep tracking, testing and fixing these issues.
> The Driver would just always pass that flag.
> We could add that flag in this current issue.
> Bugs in user code:
> I don't think it's worth adding a corresponding Driver flag for
> controlling the above Frontend flag, since we intend it's behavior to
> become default as we fix the problems, and users interested in testing
> the more strict behavior can just use the Frontend flag directly.
This patch follows the suggestion:
- Introduce the CC1 flag `-fskip-odr-check-in-gmf` which is by default
off, so that the every existing test will still be tested with checking
ODR violations.
- Passing `-fskip-odr-check-in-gmf` in the driver to keep the behavior
we intended.
- Edit the document to tell the users who are still interested in more
strict checks can use `-Xclang -fno-skip-odr-check-in-gmf` to get the
existing behavior.
Commit: b777bb78b302055eba876a0258ea4b2625ffe71a
https://github.com/llvm/llvm-project/commit/b777bb78b302055eba876a0258ea4b2625ffe71a
Author: Piotr Zegar <me at piotrzegar.pl>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/AvoidCArraysCheck.cpp
M clang-tools-extra/clang-tidy/modernize/AvoidCArraysCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/avoid-c-arrays.rst
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
Log Message:
-----------
[clang-tidy] Add AllowStringArrays option to modernize-avoid-c-arrays (#71701)
Add AllowStringArrays option, enabling the exclusion of array types with
deduced sizes constructed from string literals. This includes only var
declarations of array of characters constructed directly from c-strings.
Closes #59475
Commit: 9b68c095d6b52d6ec0390c653528f65c42e5f570
https://github.com/llvm/llvm-project/commit/9b68c095d6b52d6ec0390c653528f65c42e5f570
Author: Emilia Kond <emilia at rymiel.space>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Allow decltype in requires clause (#78847)
If clang-format is not sure whether a `requires` keyword starts a
requires clause or a requires expression, it looks ahead to see if any
token disqualifies it from being a requires clause. Among these tokens
was `decltype`, since it fell through the switch.
This patch allows decltype to exist in a require clause.
I'm not 100% sure this change won't have repercussions, but that just
means we need more test coverage!
Fixes https://github.com/llvm/llvm-project/issues/78645
Commit: fdd98e506d77514d8cbd5099e8fc98130244f6ff
https://github.com/llvm/llvm-project/commit/fdd98e506d77514d8cbd5099e8fc98130244f6ff
Author: Jason Molenda <jason at molenda.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M lldb/unittests/Breakpoint/WatchpointAlgorithmsTests.cpp
Log Message:
-----------
Skip 2 of the three test sets to narrow down the arm-ubuntu
CI bot crash when running this unittest. The printfs aren't
printing into the CI log output.
Commit: a8f317aeaccaa052c9c4cfa4660c40554fbbf223
https://github.com/llvm/llvm-project/commit/a8f317aeaccaa052c9c4cfa4660c40554fbbf223
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/test/AST/Interp/complex.cpp
Log Message:
-----------
[clang][Interp] complex binary operators aren't always initializing
The added test case would trigger the removed assertion.
Commit: 5d9ffcd7f8e47ab1e15e8f7f23784b639544a7e9
https://github.com/llvm/llvm-project/commit/5d9ffcd7f8e47ab1e15e8f7f23784b639544a7e9
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M .github/workflows/containers/github-action-ci/Dockerfile
Log Message:
-----------
[Github] Build stage2-clang-bolt target for CI container
Only the stage2-distribution target is built by default for the
stage2 distribution installation target. This means that we don't get a
BOLT optimized binary. This patch explicitly builds the
stage2-clang-bolt target before the distribution installation target so
that the clang binary is optimized before it gets installed.
Commit: 6ff431b01e29e99c7dbfcda96bdefdff91dcdf7f
https://github.com/llvm/llvm-project/commit/6ff431b01e29e99c7dbfcda96bdefdff91dcdf7f
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.h
M clang/lib/AST/Interp/Context.cpp
M clang/test/AST/Interp/complex.cpp
Log Message:
-----------
[clang][Interp] Handle imaginary literals (#79130)
Initialize the first element to 0 and the second element to the value of
the subexpression.
Commit: 1395e582f334f3db354b6e999d86a8662819e890
https://github.com/llvm/llvm-project/commit/1395e582f334f3db354b6e999d86a8662819e890
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M llvm/lib/Target/X86/X86InstrMisc.td
Log Message:
-----------
[X86][CodeGen] Set mayLoad = 1 for LZCNT/POPCNT/TZCNTrm_(EVEX|NF)
Promoted and NF LZCNT/POPCNT/TZCNT were supported in #79954.
B/c null_frag is used in the patterns for these variants, tablgen can
not infer mayLoad = 1 for them.
This can be tested by MCA tests, which will be added after
-mcpu=<cpu_with_apx> is supported.
Commit: 021a2b4ba254eb9e06fece5c18e5596cbb4896e6
https://github.com/llvm/llvm-project/commit/021a2b4ba254eb9e06fece5c18e5596cbb4896e6
Author: Jason Molenda <jason at molenda.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M lldb/unittests/Breakpoint/WatchpointAlgorithmsTests.cpp
Log Message:
-----------
Uncomment the 2GB max tests and see if that works on arm-ubuntu
Commit: a9e830910bc07733b7a9d4b935cd12a9041623b3
https://github.com/llvm/llvm-project/commit/a9e830910bc07733b7a9d4b935cd12a9041623b3
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/Interp.h
M clang/test/AST/Interp/c.c
M clang/test/Sema/check-increment.c
Log Message:
-----------
[clang][Interp] Protect Inc/Dec ops against dummy pointers
We create them more often in C, so it's more likely to happen there.
Commit: fa98e2861dadaf436b0eb4b38e96a2ccf7c41072
https://github.com/llvm/llvm-project/commit/fa98e2861dadaf436b0eb4b38e96a2ccf7c41072
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.h
Log Message:
-----------
[clang][Interp][NFC] Remove unused RecordScope
Commit: 48f8b74c35991fd3842e135481960449b1e25363
https://github.com/llvm/llvm-project/commit/48f8b74c35991fd3842e135481960449b1e25363
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.h
M clang/test/Sema/c2x-auto.c
M clang/test/Sema/c2x-bool.c
Log Message:
-----------
[clang][Interp] Support GenericSelectionExprs
Just delegate to the resulting expression.
Commit: 54f324f377a92a64fcc5c1d401da9b07bf50a2f1
https://github.com/llvm/llvm-project/commit/54f324f377a92a64fcc5c1d401da9b07bf50a2f1
Author: Jason Molenda <jason at molenda.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M lldb/unittests/Breakpoint/WatchpointAlgorithmsTests.cpp
Log Message:
-----------
Trying to refine which test is crashing on arm-ubuntu.
Commit: 65066c02770cc3da3b5154fbb7ed9df78ab94b93
https://github.com/llvm/llvm-project/commit/65066c02770cc3da3b5154fbb7ed9df78ab94b93
Author: Hugo Trachino <32955781+nujaa at users.noreply.github.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
M mlir/lib/Conversion/ArithToAMDGPU/ArithToAMDGPU.cpp
M mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
M mlir/lib/Conversion/TosaToTensor/TosaToTensor.cpp
M mlir/lib/Dialect/Tensor/Transforms/ConcatOpPatterns.cpp
Log Message:
-----------
[mlir] Use `create` instead of `createOrFold` for ConstantOp as folding has no effect (NFC) (#80129)
This aims to clean-up confusing uses of
builder.createOrFold<ConstantOp> since folding of constants fails.
Commit: 7ec996d4c5c30083b070be4898140440094e6b97
https://github.com/llvm/llvm-project/commit/7ec996d4c5c30083b070be4898140440094e6b97
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M llvm/docs/GlobalISel/MIRPatterns.rst
M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutor.h
M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutorImpl.h
A llvm/test/TableGen/GlobalISelCombinerEmitter/Inputs/test-intrinsics.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/builtins/builtin-pattern-errors.td
A llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-intrinsics.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/pattern-errors.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/pattern-parsing.td
M llvm/test/TableGen/lit.local.cfg
M llvm/utils/TableGen/GlobalISel/Patterns.cpp
M llvm/utils/TableGen/GlobalISel/Patterns.h
M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
M llvm/utils/TableGen/GlobalISelMatchTable.cpp
M llvm/utils/TableGen/GlobalISelMatchTable.h
Log Message:
-----------
[GlobalISel][TableGen] Support Intrinsics in MIR Patterns (#79278)
Commit: e8512786fedbfa6ddba70ceddc29d7122173ba5e
https://github.com/llvm/llvm-project/commit/e8512786fedbfa6ddba70ceddc29d7122173ba5e
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-31 (Wed, 31 Jan 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:
-----------
[IR] Use range-based for loops (NFC)
Commit: 39fa304866e16f1408a0cab9437e47e4ebacf206
https://github.com/llvm/llvm-project/commit/39fa304866e16f1408a0cab9437e47e4ebacf206
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/MC/MCContext.cpp
M llvm/lib/Support/CommandLine.cpp
M llvm/lib/Support/StringRef.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/utils/TableGen/CodeGenInstruction.cpp
Log Message:
-----------
[llvm] Use StringRef::starts_with (NFC)
Commit: b67ce7e34948d4d954d3cfedb29ffc94861ca0b2
https://github.com/llvm/llvm-project/commit/b67ce7e34948d4d954d3cfedb29ffc94861ca0b2
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M clang/lib/AST/TypePrinter.cpp
M clang/lib/Basic/Targets/X86.cpp
M clang/lib/CodeGen/CGObjCMac.cpp
M clang/lib/Format/FormatTokenLexer.cpp
M clang/lib/Frontend/FrontendActions.cpp
Log Message:
-----------
[clang] Use StringRef::starts_with (NFC)
Commit: eaa3d5e26665ca85d488e9194b9fbe304db6fa21
https://github.com/llvm/llvm-project/commit/eaa3d5e26665ca85d488e9194b9fbe304db6fa21
Author: Jason Molenda <jason at molenda.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M lldb/unittests/Breakpoint/WatchpointAlgorithmsTests.cpp
Log Message:
-----------
Done iterating with arm-ubuntu bot, I see the problem test.
Go back to the original form of this file before I add temp
workaround.
Commit: 90e68086d8fdbfb32dfc7e7e3498f44365274ce8
https://github.com/llvm/llvm-project/commit/90e68086d8fdbfb32dfc7e7e3498f44365274ce8
Author: Jason Molenda <jason at molenda.com>
Date: 2024-01-31 (Wed, 31 Jan 2024)
Changed paths:
M lldb/unittests/Breakpoint/WatchpointAlgorithmsTests.cpp
Log Message:
-----------
Skip two WatchpointAlgorithm tests for 32-bit lldb's
After iterating with the arm-ubuntu CI bot, I found the crash (a
std::bad_alloc exception being thrown) was caused by these two
entries when built on a 32-bit machine. I probably have an assumption
about size_t being 64-bits in WatchpointAlgorithms and we have a
problem when it's actually 32-bits and we're dealing with a real
64-bit address. All of the cases where the address can be represented
in the low 32-bits of the addr_t work correctly, so for now I'm
skipping these two unit tests when building lldb on a 32-bit host
until I can review that method and possibly switch to explicit
uin64_t's.
.
Commit: 5fdf8c6faaa572d6c5e58d5c16d3b1e62782f7c4
https://github.com/llvm/llvm-project/commit/5fdf8c6faaa572d6c5e58d5c16d3b1e62782f7c4
Author: Matthias Springer <me at m-sp.org>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M mlir/include/mlir/IR/OperationSupport.h
M mlir/lib/IR/OperationSupport.cpp
M mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp
Log Message:
-----------
[mlir][Transforms] `GreedyPatternRewriteDriver`: Hash ops separately (#78312)
The greedy pattern rewrite driver has multiple "expensive checks" to
detect invalid rewrite pattern API usage. As part of these checks, it
computes fingerprints for every op that is in scope, and compares the
fingerprints before and after an attempted pattern application.
Until now, each computed fingerprint took into account all nested
operations. That is quite expensive because it walks the entire IR
subtree. It is also redundant in the expensive checks because we already
compute a fingerprint for every op.
This commit significantly improves the running time of the "expensive
checks" in the greedy pattern rewrite driver.
Commit: 84564e1040be8df037d2e9cdbb494aef067e77a7
https://github.com/llvm/llvm-project/commit/84564e1040be8df037d2e9cdbb494aef067e77a7
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M flang/include/flang/Lower/AbstractConverter.h
M flang/lib/Lower/ConvertType.cpp
A flang/test/Lower/derived-types-kind-params-2.f90
Log Message:
-----------
[flang][NFC] Cache derived type translation in lowering (#80179)
Derived type translation is proving expensive in modern fortran apps
with many big derived types with dozens of components and parents.
Extending the cache that prevent recursion is proving to have little
cost on apps with small derived types and significant gain (can divide
compile time by 2) on modern fortran apps.
It is legal since the cache lifetime is less than the MLIRContext
lifetime that owns the cached mlir::Type.
Doing so also exposed that the current caching was incorrect, the type
symbol is the same for kind parametrized derived types regardless of the
kind parameters. Instances with different kinds should lower to
different MLIR types. See added test.
Using the type scopes fixes the problem.
Commit: ae931b470319ade31fcc0797b6051eb8b96f9a8a
https://github.com/llvm/llvm-project/commit/ae931b470319ade31fcc0797b6051eb8b96f9a8a
Author: Wei Wang <apollo.mobility at gmail.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M clang/test/Interpreter/cxx20-modules.cppm
Log Message:
-----------
[Clang][test] Limit library search when linking shared lib (#80253)
Don't search for unnecessary libs when linking the shared lib. This
allows the test to run in chroot environment.
Commit: e7d40a87ff230528131541f6ac17a2e1a7dc78e1
https://github.com/llvm/llvm-project/commit/e7d40a87ff230528131541f6ac17a2e1a7dc78e1
Author: Marius Brehler <marius.brehler at iml.fraunhofer.de>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
A mlir/include/mlir/Conversion/FuncToEmitC/FuncToEmitC.h
A mlir/include/mlir/Conversion/FuncToEmitC/FuncToEmitCPass.h
M mlir/include/mlir/Conversion/Passes.h
M mlir/include/mlir/Conversion/Passes.td
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.h
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
M mlir/lib/Conversion/CMakeLists.txt
A mlir/lib/Conversion/FuncToEmitC/CMakeLists.txt
A mlir/lib/Conversion/FuncToEmitC/FuncToEmitC.cpp
A mlir/lib/Conversion/FuncToEmitC/FuncToEmitCPass.cpp
M mlir/lib/Dialect/EmitC/IR/CMakeLists.txt
M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
M mlir/lib/Target/Cpp/TranslateToCpp.cpp
A mlir/test/Conversion/FuncToEmitC/func-to-emitc.mlir
M mlir/test/Dialect/EmitC/invalid_ops.mlir
M mlir/test/Dialect/EmitC/ops.mlir
A mlir/test/Target/Cpp/func.mlir
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][EmitC] Add func, call and return operations and conversions (#79612)
This adds a `func`, `call` and `return` operation to the EmitC dialect,
closely related to the corresponding operations of the Func dialect. In
contrast to the operations of the Func dialect, the EmitC operations do
not support multiple results. The `emitc.func` op features a
`specifiers` argument that for example allows, with corresponding
support in the emitter, to emit `inline static` functions.
Furthermore, this adds patterns and a pass to convert the Func dialect
to EmitC. A `func.func` op that is `private` is converted to
`emitc.func` with a `"static"` specifier.
Commit: d0dbd50cf0dc85834842380235f445e80516cb59
https://github.com/llvm/llvm-project/commit/d0dbd50cf0dc85834842380235f445e80516cb59
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel] Add missing header for 7ec996d4c5c30083b070be4898140440094e6b97
Commit: 468b23935a56d2be75c1f86fea97e5620b230a93
https://github.com/llvm/llvm-project/commit/468b23935a56d2be75c1f86fea97e5620b230a93
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel] Merge TableGenGlobalISel into the tablegen target
These two are intertwined enough so it doesn't really make sense to have
it standalone and hack around it by putting headers into both.
Commit: 395c8175e37248c11ddbffe47294033834b0ec51
https://github.com/llvm/llvm-project/commit/395c8175e37248c11ddbffe47294033834b0ec51
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel] Put back the pieces of TableGenGlobalISel that unittests depend on
This is a mess and needs to be cleaned up some day.
Commit: 415bf200a725055a3a38e96269f4b752ea6fc330
https://github.com/llvm/llvm-project/commit/415bf200a725055a3a38e96269f4b752ea6fc330
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M llvm/docs/CommandGuide/llvm-exegesis.rst
M llvm/tools/llvm-exegesis/lib/BenchmarkResult.cpp
M llvm/tools/llvm-exegesis/lib/BenchmarkResult.h
M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.h
M llvm/tools/llvm-exegesis/lib/ResultAggregator.cpp
M llvm/tools/llvm-exegesis/llvm-exegesis.cpp
M llvm/unittests/tools/llvm-exegesis/Mips/BenchmarkResultTest.cpp
M llvm/unittests/tools/llvm-exegesis/ResultAggregatorTest.cpp
M llvm/unittests/tools/llvm-exegesis/X86/BenchmarkResultTest.cpp
Log Message:
-----------
[llvm-exegesis] Replace --num-repetitions with --min-instructions (#77153)
This patch replaces --num-repetitions with --min-instructions to make it
more clear that the value refers to the minimum number of instructions
in the final assembled snippet rather than the number of repetitions of
the snippet. This patch also refactors some llvm-exegesis internal
variable names to reflect the name change.
Fixes #76890.
Commit: ca7fd25492388003fab4e19d7e95517bdee2d210
https://github.com/llvm/llvm-project/commit/ca7fd25492388003fab4e19d7e95517bdee2d210
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Fix a typo from e7d40a87ff230528131541f6ac17a2e1a7dc78e1
Commit: e9e01675a31969d5ae7c250caa6efcc8dcdb80bc
https://github.com/llvm/llvm-project/commit/e9e01675a31969d5ae7c250caa6efcc8dcdb80bc
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
M flang/test/HLFIR/invalid.fir
M flang/test/Lower/HLFIR/minval.f90
Log Message:
-----------
[flang][HLFIR] Relax verifiers of intrinsic operations (#80132)
The verifiers are currently very strict: requiring intrinsic operations
to be used only in cases where the Fortran standard permits the
intrinsic to be used.
There have now been a lot of cases where these verifiers have caused
bugs in corner cases. In a recent ticket, @jeanPerier pointed out that
it could be useful for future optimizations if somewhat invalid uses of
these operations could be allowed in dead code. See this comment:
https://github.com/llvm/llvm-project/issues/79995#issuecomment-1918118234
In response to all of this, I have decided to relax the intrinsic
operation verifiers. The intention is now to only disallow operation
uses that are likely to crash the compiler. Other checks are still
available under `-strict-intrinsic-verifier`.
The disadvantage of this approach is that IR can now represent intrinsic
invocations which are incorrect. The lowering and implementation of
these intrinsic functions is unlikely to do the right thing in all of
these cases, and as they should mostly be impossible to generate using
normal Fortran code, these edge cases will see very little testing,
before some new optimization causes them to become more common.
Fixes #79995
Commit: 1bbb797e9c7f37aa814b9bbaba2961f730a26891
https://github.com/llvm/llvm-project/commit/1bbb797e9c7f37aa814b9bbaba2961f730a26891
Author: Lucas Duarte Prates <lucas.prates at arm.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/Basic/Targets/AArch64.h
M clang/test/Preprocessor/aarch64-target-features.c
Log Message:
-----------
[Clang][AArch64] Add ACLE macros for FEAT_PAuth_LR (#80163)
This updates clang's target defines to include the ACLE changes covering
the FEAT_PAuth_LR architecture extension.
The changes include:
* The new `__ARM_FEATURE_PAUTH_LR` feature macro, which is set to 1 when
FEAT_PAuth_LR is available in the target.
* A new bit field for the existing `__ARM_FEATURE_PAC_DEFAULT` macro,
indicating the use of PC as a diversifier for Pointer Authentication
(from -mbranch-protection=pac-ret+pc).
The approved changes to the ACLE spec can be found here:
https://github.com/ARM-software/acle/pull/292
Commit: f34418c73b718abb24cd5b921b5a2846011e7d0c
https://github.com/llvm/llvm-project/commit/f34418c73b718abb24cd5b921b5a2846011e7d0c
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M llvm/lib/IR/DebugInfoMetadata.cpp
Log Message:
-----------
[HWASAN] Remove DW_OP_LLVM_tag_offset from DIExpression::isImplicit (#79816)
According to its doc-comment `isImplicit` is meant to return true if the
expression is an implicit location description (describes an object or part of
an object which has no location by computing the value from available program
state).
There's a brief entry for `DW_OP_LLVM_tag_offset` in the LangRef and there's
some info in the original commit fb9ce100d19be130d004d03088ccd4af295f3435.
>From what I can tell it doesn't look like `DW_OP_LLVM_tag_offset` affects
whether or not the location is implicit; the opcode doesn't get included in the
final location description but instead is added as an attribute to the variable.
This was tripping an assertion in the latest application of the fix to #76545,
#78606, where an expression containing a `DW_OP_LLVM_tag_offset` is split into
a fragment (i.e., describe a part of the whole variable).
Commit: 96a3d05ed923d2abd51acb52984b83b9e8044924
https://github.com/llvm/llvm-project/commit/96a3d05ed923d2abd51acb52984b83b9e8044924
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M llvm/utils/git/github-automation.py
Log Message:
-----------
[GitHub][workflows] Reflow some text in buildbot info PR comment
When the markdown link renders the line gets a lot shorter.
Commit: b5c0b67bc270936c8fa254dc42d920e867adef54
https://github.com/llvm/llvm-project/commit/b5c0b67bc270936c8fa254dc42d920e867adef54
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
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
Log Message:
-----------
[AMDGPU] Check wavefrontsize for GFX11 WMMA builtins (#79980)
Commit: da437330beca0411912ca46f2d5ef1e46403acbd
https://github.com/llvm/llvm-project/commit/da437330beca0411912ca46f2d5ef1e46403acbd
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
M llvm/test/Transforms/IndVarSimplify/iv-poison.ll
Log Message:
-----------
[SCEVExp] Keep NUW/NSW if both original inc and isomporphic inc agree. (#79512)
We are replacing with a wider increment. If both OrigInc and
IsomorphicInc are NUW/NSW, then we can preserve them on the wider
increment; the narrower IsomorphicInc would wrap before the wider
OrigInc, so the replacement won't make IsomorphicInc's uses more
poisonous.
PR: https://github.com/llvm/llvm-project/pull/79512
Commit: 7d78ccf7d5a9861839126d5899b443f55236cab9
https://github.com/llvm/llvm-project/commit/7d78ccf7d5a9861839126d5899b443f55236cab9
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/docs/Status/Cxx23Papers.csv
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/include/__memory/allocate_at_least.h
M libcxx/include/__memory/allocator_traits.h
M libcxx/include/memory
M libcxx/include/version
M libcxx/modules/std/memory.inc
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/version.version.compile.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
M libcxx/utils/generate_feature_test_macro_components.py
Log Message:
-----------
[libc++][memory] P2652R2: Disallow Specialization of `allocator_traits` (#79978)
Implements P2652R2 <https://wg21.link/P2652R2>:
- https://eel.is/c++draft/allocator.requirements.general
- https://eel.is/c++draft/memory.syn
- https://eel.is/c++draft/allocator.traits.general
- https://eel.is/c++draft/allocator.traits.members
- https://eel.is/c++draft/diff.cpp20.concepts
- https://eel.is/c++draft/diff.cpp20.utilities
---------
Co-authored-by: Zingam <zingam at outlook.com>
Commit: ea2984287d91b96f5e2cc0aa66d146d6dbd1d1bb
https://github.com/llvm/llvm-project/commit/ea2984287d91b96f5e2cc0aa66d146d6dbd1d1bb
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M llvm/test/CodeGen/ARM/popcnt.ll
Log Message:
-----------
[ARM] Add ctpop codegen tests
Commit: 1dfed451332380d4aedcf57452ec71774c5e0663
https://github.com/llvm/llvm-project/commit/1dfed451332380d4aedcf57452ec71774c5e0663
Author: wangpc <wangpengcheng.pp at bytedance.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M .ci/generate-buildkite-pipeline-premerge
R .ci/generate-buildkite-pipeline-scheduled
M .git-blame-ignore-revs
M .github/new-prs-labeler.yml
M .github/workflows/containers/github-action-ci/Dockerfile
M .github/workflows/issue-release-workflow.yml
M .github/workflows/issue-subscriber.yml
M .github/workflows/libclang-python-tests.yml
M .github/workflows/libcxx-build-and-test.yaml
M .github/workflows/llvm-project-tests.yml
M .github/workflows/llvm-tests.yml
A .github/workflows/merged-prs.yml
M .github/workflows/new-prs.yml
M .github/workflows/pr-subscriber.yml
M .github/workflows/release-binaries.yml
A .github/workflows/release-documentation.yml
A .github/workflows/release-doxygen.yml
A .github/workflows/release-lit.yml
M .github/workflows/release-tasks.yml
M .github/workflows/set-release-binary-outputs.sh
M .github/workflows/version-check.py
M bolt/docs/BAT.md
M bolt/include/bolt/Core/BinaryContext.h
M bolt/include/bolt/Passes/HFSort.h
M bolt/include/bolt/Profile/BoltAddressTranslation.h
M bolt/include/bolt/Rewrite/DWARFRewriter.h
M bolt/include/bolt/Rewrite/MetadataManager.h
M bolt/include/bolt/Rewrite/MetadataRewriter.h
M bolt/include/bolt/Rewrite/RewriteInstance.h
M bolt/include/bolt/Utils/CommandLineOpts.h
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Passes/BinaryPasses.cpp
M bolt/lib/Passes/CMakeLists.txt
R bolt/lib/Passes/HFSortPlus.cpp
M bolt/lib/Passes/ReorderFunctions.cpp
M bolt/lib/Profile/BoltAddressTranslation.cpp
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Rewrite/DWARFRewriter.cpp
M bolt/lib/Rewrite/LinuxKernelRewriter.cpp
M bolt/lib/Rewrite/MetadataManager.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/lib/RuntimeLibs/RuntimeLibrary.cpp
M bolt/lib/Utils/CommandLineOpts.cpp
A bolt/test/X86/Inputs/dwarf4-debug-line-offset-change-after-bolt-helper.s
A bolt/test/X86/Inputs/dwarf4-debug-line-offset-change-after-bolt-main.s
A bolt/test/X86/Inputs/dwarf5-debug-line-offset-change-after-bolt-main.s
M bolt/test/X86/bolt-address-translation.test
A bolt/test/X86/dwarf-debug-line-stmt-list-offset-change.test
A bolt/test/X86/dwarf4-override-comp-dir.test
A bolt/test/X86/dwarf5-override-comp-dir.test
A bolt/test/X86/linux-orc.s
M bolt/test/X86/merge-fdata-bat-mode.test
A bolt/test/X86/merge-fdata-nobat-mode.test
R bolt/test/X86/orc_unwind.s
M bolt/test/X86/reader-stale-yaml.test
M bolt/tools/merge-fdata/merge-fdata.cpp
M clang-tools-extra/clang-apply-replacements/include/clang-apply-replacements/Tooling/ApplyReplacements.h
M clang-tools-extra/clang-apply-replacements/lib/Tooling/ApplyReplacements.cpp
M clang-tools-extra/clang-doc/HTMLGenerator.cpp
M clang-tools-extra/clang-doc/Representation.cpp
M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
M clang-tools-extra/clang-include-fixer/find-all-symbols/PathConfig.cpp
M clang-tools-extra/clang-move/Move.cpp
M clang-tools-extra/clang-move/tool/ClangMove.cpp
M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp
M clang-tools-extra/clang-tidy/ExpandModularHeadersPPCallbacks.cpp
M clang-tools-extra/clang-tidy/bugprone/BugproneTidyModule.cpp
M clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
A clang-tools-extra/clang-tidy/bugprone/ChainedComparisonCheck.cpp
A clang-tools-extra/clang-tidy/bugprone/ChainedComparisonCheck.h
M clang-tools-extra/clang-tidy/bugprone/EmptyCatchCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/ReservedIdentifierCheck.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/fuchsia/MultipleInheritanceCheck.cpp
M clang-tools-extra/clang-tidy/google/AvoidCStyleCastsCheck.cpp
M clang-tools-extra/clang-tidy/google/AvoidCStyleCastsCheck.h
M clang-tools-extra/clang-tidy/google/IntegerTypesCheck.cpp
M clang-tools-extra/clang-tidy/misc/CoroutineHostileRAIICheck.cpp
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/LoopConvertCheck.cpp
M clang-tools-extra/clang-tidy/modernize/MakeSmartPtrCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseAutoCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseEqualsDeleteCheck.cpp
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/RedundantCastingCheck.cpp
A clang-tools-extra/clang-tidy/readability/RedundantCastingCheck.h
A clang-tools-extra/clang-tidy/readability/RedundantInlineSpecifierCheck.cpp
A clang-tools-extra/clang-tidy/readability/RedundantInlineSpecifierCheck.h
M clang-tools-extra/clang-tidy/utils/FixItHintUtils.h
M clang-tools-extra/clang-tidy/utils/HeaderGuard.cpp
M clang-tools-extra/clangd/AST.cpp
M clang-tools-extra/clangd/CompileCommands.cpp
M clang-tools-extra/clangd/Diagnostics.cpp
M clang-tools-extra/clangd/DumpAST.cpp
M clang-tools-extra/clangd/ExpectedTypes.cpp
M clang-tools-extra/clangd/FS.cpp
M clang-tools-extra/clangd/FindTarget.cpp
M clang-tools-extra/clangd/InlayHints.cpp
M clang-tools-extra/clangd/SemanticHighlighting.cpp
M clang-tools-extra/clangd/SourceCode.cpp
M clang-tools-extra/clangd/TidyFastChecks.inc
M clang-tools-extra/clangd/XRefs.cpp
M clang-tools-extra/clangd/index/BackgroundIndexStorage.cpp
M clang-tools-extra/clangd/unittests/DumpASTTests.cpp
M clang-tools-extra/clangd/unittests/FindTargetTests.cpp
M clang-tools-extra/clangd/unittests/SourceCodeTests.cpp
M clang-tools-extra/clangd/xpc/cmake/modules/CreateClangdXPCFramework.cmake
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/docs/clang-tidy/checks/bugprone/chained-comparison.rst
R clang-tools-extra/docs/clang-tidy/checks/cert/dcl21-cpp.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/avoid-c-arrays.rst
A clang-tools-extra/docs/clang-tidy/checks/readability/redundant-casting.rst
A clang-tools-extra/docs/clang-tidy/checks/readability/redundant-inline-specifier.rst
M clang-tools-extra/include-cleaner/test/tool.cpp
M clang-tools-extra/include-cleaner/tool/IncludeCleaner.cpp
M clang-tools-extra/modularize/ModularizeUtilities.cpp
A clang-tools-extra/test/clang-apply-replacements/Inputs/yml-basic/basic.h
A clang-tools-extra/test/clang-apply-replacements/Inputs/yml-basic/file1.yml
A clang-tools-extra/test/clang-apply-replacements/Inputs/yml-basic/file2.yml
A clang-tools-extra/test/clang-apply-replacements/yml-basic.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/Inputs/absl/external-file.h
M clang-tools-extra/test/clang-tidy/checkers/abseil/faster-strsplit-delimiter.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/chained-comparison.c
A clang-tools-extra/test/clang-tidy/checkers/bugprone/chained-comparison.cpp
R clang-tools-extra/test/clang-tidy/checkers/cert/dcl21-cpp.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/prefer-member-initializer.cpp
M clang-tools-extra/test/clang-tidy/checkers/google/readability-casting.cpp
M clang-tools-extra/test/clang-tidy/checkers/google/runtime-int.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-templates.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/coroutine-hostile-raii.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
M clang-tools-extra/test/clang-tidy/checkers/modernize/concat-nested-namespaces.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-basic.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-for-pointer.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/redundant-casting.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/redundant-inline-specifier.cpp
M clang/CMakeLists.txt
M clang/bindings/python/clang/cindex.py
A clang/bindings/python/tests/cindex/test_rewrite.py
M clang/cmake/caches/BOLT.cmake
M clang/cmake/caches/PGO.cmake
M clang/cmake/caches/Release.cmake
M clang/docs/ClangFormatStyleOptions.rst
M clang/docs/HIPSupport.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/ShadowCallStack.rst
M clang/docs/SourceBasedCodeCoverage.rst
M clang/docs/StandardCPlusPlusModules.rst
M clang/docs/UsersManual.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/AST/ASTContext.h
M clang/include/clang/AST/ASTNodeTraverser.h
M clang/include/clang/AST/ComparisonCategories.h
M clang/include/clang/AST/ComputeDependence.h
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclBase.h
M clang/include/clang/AST/DeclCXX.h
M clang/include/clang/AST/Expr.h
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/JSONNodeDumper.h
M clang/include/clang/AST/ODRHash.h
M clang/include/clang/AST/OpenMPClause.h
M clang/include/clang/AST/PropertiesBase.td
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/Stmt.h
M clang/include/clang/AST/TemplateArgumentVisitor.h
M clang/include/clang/AST/TemplateBase.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/AST/TypeProperties.td
M clang/include/clang/ASTMatchers/ASTMatchers.h
M clang/include/clang/Analysis/Analyses/PostOrderCFGView.h
M clang/include/clang/Analysis/Analyses/UnsafeBufferUsage.h
M clang/include/clang/Analysis/Analyses/UnsafeBufferUsageGadgets.def
M clang/include/clang/Analysis/FlowSensitive/DataflowAnalysis.h
M clang/include/clang/Analysis/FlowSensitive/Transfer.h
M clang/include/clang/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/AttributeCommonInfo.h
M clang/include/clang/Basic/Builtins.def
M clang/include/clang/Basic/Builtins.h
A clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/BuiltinsAMDGPU.def
R clang/include/clang/Basic/BuiltinsBPF.def
A clang/include/clang/Basic/BuiltinsBPF.td
A clang/include/clang/Basic/BuiltinsBase.td
M clang/include/clang/Basic/BuiltinsLoongArchBase.def
M clang/include/clang/Basic/BuiltinsLoongArchLASX.def
M clang/include/clang/Basic/BuiltinsLoongArchLSX.def
M clang/include/clang/Basic/BuiltinsNVPTX.def
M clang/include/clang/Basic/BuiltinsX86.def
M clang/include/clang/Basic/CMakeLists.txt
M clang/include/clang/Basic/CharInfo.h
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Basic/CodeGenOptions.h
M clang/include/clang/Basic/DiagnosticCommonKinds.td
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/DiagnosticSerializationKinds.td
M clang/include/clang/Basic/DirectoryEntry.h
M clang/include/clang/Basic/Features.def
M clang/include/clang/Basic/FileEntry.h
M clang/include/clang/Basic/FileManager.h
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/LangOptions.h
M clang/include/clang/Basic/ObjCRuntime.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/TargetInfo.h
M clang/include/clang/Basic/TokenKinds.def
M clang/include/clang/Basic/TypeNodes.td
M clang/include/clang/Basic/arm_sme.td
M clang/include/clang/Basic/arm_sve.td
M clang/include/clang/Basic/arm_sve_sme_incl.td
M clang/include/clang/Basic/riscv_sifive_vector.td
M clang/include/clang/Basic/riscv_vector.td
M clang/include/clang/Driver/Options.td
M clang/include/clang/Driver/Types.def
M clang/include/clang/ExtractAPI/API.h
M clang/include/clang/ExtractAPI/AvailabilityInfo.h
M clang/include/clang/ExtractAPI/DeclarationFragments.h
M clang/include/clang/ExtractAPI/ExtractAPIVisitor.h
M clang/include/clang/ExtractAPI/Serialization/SerializerBase.h
M clang/include/clang/ExtractAPI/Serialization/SymbolGraphSerializer.h
M clang/include/clang/Format/Format.h
M clang/include/clang/Frontend/ASTUnit.h
M clang/include/clang/Frontend/TextDiagnostic.h
M clang/include/clang/Frontend/Utils.h
M clang/include/clang/Interpreter/Interpreter.h
M clang/include/clang/Lex/HeaderSearch.h
M clang/include/clang/Lex/HeaderSearchOptions.h
M clang/include/clang/Lex/Lexer.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/Sema/DeclSpec.h
M clang/include/clang/Sema/ScopeInfo.h
M clang/include/clang/Sema/Sema.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/Serialization/TypeBitCodes.def
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/module.modulemap
M clang/lib/ARCMigrate/FileRemapper.cpp
M clang/lib/ARCMigrate/ObjCMT.cpp
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTDumper.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ASTStructuralEquivalence.cpp
M clang/lib/AST/ASTTypeTraits.cpp
M clang/lib/AST/AttrDocTable.cpp
M clang/lib/AST/CMakeLists.txt
M clang/lib/AST/ComparisonCategories.cpp
M clang/lib/AST/ComputeDependence.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ExprCXX.cpp
M clang/lib/AST/ExprClassification.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/Interp/ByteCodeEmitter.cpp
M clang/lib/AST/Interp/ByteCodeEmitter.h
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/EvalEmitter.h
A clang/lib/AST/Interp/EvaluationResult.cpp
A clang/lib/AST/Interp/EvaluationResult.h
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/Program.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/JSONNodeDumper.cpp
M clang/lib/AST/Mangle.cpp
M clang/lib/AST/MicrosoftMangle.cpp
M clang/lib/AST/ODRDiagsEmitter.cpp
M clang/lib/AST/ODRHash.cpp
M clang/lib/AST/OpenMPClause.cpp
M clang/lib/AST/RecordLayoutBuilder.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TemplateBase.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/AST/VTableBuilder.cpp
M clang/lib/Analysis/CFG.cpp
M clang/lib/Analysis/CalledOnceCheck.cpp
M clang/lib/Analysis/ExprMutationAnalyzer.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/SimplifyConstraints.cpp
M clang/lib/Analysis/FlowSensitive/Transfer.cpp
M clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp
M clang/lib/Analysis/RetainSummaryManager.cpp
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/lib/Basic/Builtins.cpp
M clang/lib/Basic/CodeGenOptions.cpp
M clang/lib/Basic/FileManager.cpp
M clang/lib/Basic/Targets.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/ARM.cpp
M clang/lib/Basic/Targets/BPF.cpp
M clang/lib/Basic/Targets/CSKY.cpp
M clang/lib/Basic/Targets/CSKY.h
M clang/lib/Basic/Targets/NVPTX.cpp
M clang/lib/Basic/Targets/NVPTX.h
M clang/lib/Basic/Targets/OSTargets.h
M clang/lib/Basic/Targets/PPC.cpp
M clang/lib/Basic/Targets/PPC.h
M clang/lib/Basic/Targets/SPIR.h
M clang/lib/Basic/Targets/SystemZ.cpp
M clang/lib/Basic/Targets/SystemZ.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/CGBuiltin.cpp
M clang/lib/CodeGen/CGCUDANV.cpp
M clang/lib/CodeGen/CGCXX.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprAgg.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CGExprComplex.cpp
M clang/lib/CodeGen/CGExprConstant.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CGObjC.cpp
M clang/lib/CodeGen/CGObjCGNU.cpp
M clang/lib/CodeGen/CGObjCMac.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CoverageMappingGen.cpp
M clang/lib/CodeGen/Targets/RISCV.cpp
M clang/lib/CrossTU/CrossTranslationUnit.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/SanitizerArgs.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/AVR.cpp
M clang/lib/Driver/ToolChains/Arch/AArch64.cpp
M clang/lib/Driver/ToolChains/Arch/ARM.cpp
M clang/lib/Driver/ToolChains/Arch/PPC.cpp
M clang/lib/Driver/ToolChains/Arch/SystemZ.cpp
M clang/lib/Driver/ToolChains/BareMetal.cpp
M clang/lib/Driver/ToolChains/CSKYToolChain.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/Cuda.h
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/Fuchsia.cpp
M clang/lib/Driver/ToolChains/Gnu.cpp
M clang/lib/Driver/ToolChains/HIPAMD.cpp
M clang/lib/Driver/ToolChains/Hexagon.cpp
M clang/lib/Driver/ToolChains/Hurd.cpp
M clang/lib/Driver/ToolChains/MSP430.cpp
M clang/lib/Driver/ToolChains/MSVC.cpp
M clang/lib/Driver/ToolChains/MSVC.h
M clang/lib/Driver/ToolChains/MinGW.cpp
M clang/lib/Driver/ToolChains/MinGW.h
M clang/lib/Driver/ToolChains/MipsLinux.cpp
M clang/lib/Driver/ToolChains/OpenBSD.cpp
M clang/lib/Driver/ToolChains/PS4CPU.cpp
M clang/lib/Driver/ToolChains/RISCVToolchain.cpp
M clang/lib/Driver/Types.cpp
M clang/lib/Edit/RewriteObjCFoundationAPI.cpp
M clang/lib/ExtractAPI/API.cpp
M clang/lib/ExtractAPI/AvailabilityInfo.cpp
M clang/lib/ExtractAPI/DeclarationFragments.cpp
M clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.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/TokenAnnotator.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Format/WhitespaceManager.cpp
M clang/lib/Format/WhitespaceManager.h
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/FrontendActions.cpp
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/lib/Frontend/LogDiagnosticPrinter.cpp
M clang/lib/Frontend/Rewrite/FrontendActions.cpp
M clang/lib/Frontend/TextDiagnostic.cpp
M clang/lib/Frontend/TextDiagnosticBuffer.cpp
M clang/lib/Frontend/TextDiagnosticPrinter.cpp
M clang/lib/Frontend/VerifyDiagnosticConsumer.cpp
M clang/lib/Headers/CMakeLists.txt
M clang/lib/Headers/__clang_cuda_intrinsics.h
M clang/lib/Headers/arm_acle.h
M clang/lib/Headers/bmiintrin.h
M clang/lib/Headers/ia32intrin.h
M clang/lib/Headers/immintrin.h
M clang/lib/Headers/larchintrin.h
M clang/lib/Headers/lasxintrin.h
M clang/lib/Headers/lsxintrin.h
M clang/lib/Headers/sifive_vector.h
M clang/lib/Index/USRGeneration.cpp
M clang/lib/Interpreter/Interpreter.cpp
M clang/lib/Lex/HeaderSearch.cpp
M clang/lib/Lex/Lexer.cpp
M clang/lib/Lex/ModuleMap.cpp
M clang/lib/Lex/Preprocessor.cpp
M clang/lib/Lex/UnicodeCharSets.h
M clang/lib/Parse/ParseCXXInlineMethods.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseExprCXX.cpp
M clang/lib/Parse/ParseObjc.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Parse/ParseStmt.cpp
M clang/lib/Parse/ParseTentative.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/AnalysisBasedWarnings.cpp
M clang/lib/Sema/DeclSpec.cpp
M clang/lib/Sema/JumpDiagnostics.cpp
M clang/lib/Sema/OpenCLBuiltins.td
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaCXXScopeSpec.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaCoroutine.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaDeclObjC.cpp
M clang/lib/Sema/SemaExceptionSpec.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaLambda.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaObjCProperty.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/SemaTemplateVariadic.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/CheckSecuritySyntaxOnly.cpp
M clang/lib/StaticAnalyzer/Checkers/DebugContainerModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/DebugIteratorModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/InvalidatedIteratorChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/IteratorRangeChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/VirtualCallChecker.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/RangeConstraintManager.cpp
M clang/lib/Support/RISCVVIntrinsicUtils.cpp
M clang/lib/Tooling/ASTDiff/ASTDiff.cpp
M clang/lib/Tooling/CompilationDatabase.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/Syntax/Tokens.cpp
M clang/lib/Tooling/Tooling.cpp
M clang/test/AST/Interp/c.c
M clang/test/AST/Interp/complex.cpp
A clang/test/AST/Interp/cxx11.cpp
M clang/test/AST/Interp/cxx17.cpp
M clang/test/AST/Interp/cxx23.cpp
A 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/literals.cpp
M clang/test/AST/Interp/records.cpp
A clang/test/AST/ast-crash-doc-function-template.cpp
M clang/test/AST/ast-dump-coroutine.cpp
A clang/test/AST/ast-dump-for-range-lifetime.cpp
M clang/test/AST/ast-dump-invalid-initialized.cpp
A clang/test/AST/ast-dump-static-operators.cpp
M clang/test/AST/ast-dump-templates.cpp
M clang/test/AST/ast-dump-using.cpp
M clang/test/Analysis/Checkers/WebKit/call-args.cpp
M clang/test/Analysis/Inputs/system-header-simulator.h
M clang/test/Analysis/additive-op-on-sym-int-expr.c
M clang/test/Analysis/bstring.c
M clang/test/Analysis/call-invalidation.cpp
M clang/test/Analysis/copypaste/suspicious-clones.cpp
M clang/test/Analysis/errno-stdlibraryfunctions.c
M clang/test/Analysis/malloc.mm
M clang/test/Analysis/std-c-library-functions-POSIX.c
M clang/test/Analysis/stream-errno.c
M clang/test/Analysis/stream-error.c
M clang/test/Analysis/stream-note.c
M clang/test/Analysis/stream.c
M clang/test/Analysis/taint-tester.c
M clang/test/Analysis/templates.cpp
M clang/test/Analysis/uninit-vals.m
A clang/test/C/C2x/n2940.c
M clang/test/C/C2x/n3042.c
M clang/test/C/drs/dr3xx.c
M clang/test/CXX/class.access/p4.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
M clang/test/CXX/dcl.decl/dcl.meaning/dcl.fct/p13.cpp
M clang/test/CXX/drs/dr16xx.cpp
A clang/test/CXX/drs/dr1807.cpp
M clang/test/CXX/drs/dr18xx.cpp
M clang/test/CXX/drs/dr23xx.cpp
M clang/test/CXX/drs/dr4xx.cpp
M clang/test/CXX/module/module.interface/p2-2.cpp
M clang/test/CXX/over/over.match/over.match.funcs/over.match.oper/p3-2a.cpp
M clang/test/CXX/special/class.temporary/p6.cpp
M clang/test/CXX/temp/temp.arg/temp.arg.nontype/p1.cpp
M clang/test/CXX/temp/temp.fct.spec/temp.deduct/temp.deduct.call/p1-0x.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/ClangScanDeps/strip-codegen-args.m
A clang/test/CodeGen/LoongArch/builtin-dbl-approximate.c
A clang/test/CodeGen/LoongArch/builtin-flt-approximate.c
M clang/test/CodeGen/LoongArch/intrinsic-la64-error.c
A clang/test/CodeGen/LoongArch/lasx/builtin-approximate-alias.c
A clang/test/CodeGen/LoongArch/lasx/builtin-approximate.c
M clang/test/CodeGen/LoongArch/lasx/builtin-error.c
A clang/test/CodeGen/LoongArch/lsx/builtin-approximate-alias.c
A clang/test/CodeGen/LoongArch/lsx/builtin-approximate.c
M clang/test/CodeGen/LoongArch/lsx/builtin-error.c
M clang/test/CodeGen/PowerPC/attr-target-ppc.c
M clang/test/CodeGen/PowerPC/builtins-ppc-pair-mma.c
M clang/test/CodeGen/RISCV/riscv-func-attr-target.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/xsfvcp-x-rv64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/xsfvcp-x.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-handcrafted/xsfvcp-index-out-of-range.c
A clang/test/CodeGen/RISCV/tls-dialect.c
A clang/test/CodeGen/SystemZ/unaligned-symbols.c
M clang/test/CodeGen/aarch64-ls64-inline-asm.c
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_state_funs.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
A clang/test/CodeGen/aarch64-sme2-intrinsics/aarch64-sme2-attrs.cpp
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_fp_dots.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_frint.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_int_dots.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_ldr_str_zt.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_mla.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mlal.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mlall.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mls.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mlsl.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_sqdmulh.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_vdot.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-sme2-intrinsics/acle_sme2_zero_zt.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create2-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create2.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create3-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create3.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create4-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create4.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get2-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get2.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get3-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get3.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get4-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get4.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set2-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set2.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set3-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set3.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set4-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set4.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_create2_bool.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_create4_bool.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_get2_bool.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_get4_bool.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_set2_bool.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_set4_bool.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_while_x2.c
M clang/test/CodeGen/alloc-size.c
M clang/test/CodeGen/amdgpu-address-spaces.cpp
M clang/test/CodeGen/arm-acle-coproc.c
M clang/test/CodeGen/attr-arm-sve-vector-bits-bitcast.c
M clang/test/CodeGen/attr-counted-by.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-riscv-rvv-vector-bits-types.c
M clang/test/CodeGen/attr-target-clones-aarch64.c
M clang/test/CodeGen/attr-target-version.c
M clang/test/CodeGen/builtin-cpu-supports.c
M clang/test/CodeGen/builtins-nvptx.c
M clang/test/CodeGen/builtins.c
M clang/test/CodeGen/callback_pthread_create.c
M clang/test/CodeGen/cleanup-destslot-simple.c
M clang/test/CodeGen/cx-complex-range.c
M clang/test/CodeGen/fat-lto-objects.c
M clang/test/CodeGen/function-attributes.c
M clang/test/CodeGen/hexagon-brev-ld-ptr-incdec.c
M clang/test/CodeGen/memtag-globals-asm.cpp
M clang/test/CodeGen/ms-intrinsics.c
M clang/test/CodeGen/nofpclass.c
M clang/test/CodeGen/paren-list-agg-init.cpp
M clang/test/CodeGen/pragma-weak.c
A clang/test/CodeGen/smiths-complex-div.c
M clang/test/CodeGen/target-builtin-noerror.c
M clang/test/CodeGen/union-tbaa1.c
M clang/test/CodeGenCUDA/amdgpu-code-object-version.cu
M clang/test/CodeGenCUDA/amdgpu-workgroup-size.cu
M clang/test/CodeGenCXX/RelativeVTablesABI/dynamic-cast.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/type-info.cpp
M clang/test/CodeGenCXX/attr-cpuspecific-outoflinedefs.cpp
M clang/test/CodeGenCXX/attr-target-clones-aarch64.cpp
M clang/test/CodeGenCXX/attr-target-version.cpp
A clang/test/CodeGenCXX/auto-var-init-max-size.cpp
M clang/test/CodeGenCXX/cxx2b-static-call-operator.cpp
M clang/test/CodeGenCXX/cxx2b-static-subscript-operator.cpp
M clang/test/CodeGenCXX/mangle-ms-templates.cpp
M clang/test/CodeGenCXX/mangle-template.cpp
M clang/test/CodeGenCXX/microsoft-abi-dynamic-cast.cpp
M clang/test/CodeGenCXX/microsoft-abi-typeid.cpp
A clang/test/CodeGenCXX/ms-property-new.cpp
M clang/test/CodeGenCXX/new-array-init.cpp
A clang/test/CodeGenCXX/placement-new-ms-__noop.cpp
M clang/test/CodeGenCXX/riscv-mangle-rvv-fixed-vectors.cpp
A clang/test/CodeGenCXX/template-arguments.cpp
M clang/test/CodeGenCXX/visibility-dllstorageclass.cpp
A clang/test/CodeGenCXX/visibility-global-new-delete.cpp
M clang/test/CodeGenHIP/default-attributes.hip
M clang/test/CodeGenObjC/arc-foreach.m
A clang/test/CodeGenObjC/gnustep2-direct-method.m
M clang/test/CodeGenObjCXX/arc-cxx11-init-list.mm
A clang/test/CodeGenObjCXX/property-placement-new.mm
M clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
M clang/test/CodeGenOpenCL/amdgpu-features.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-dl-insts-err.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-dl-insts-gfx12.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-fp8.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx11-err.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-gfx11-param-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12-err.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12-param-err.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12-wmma-w32.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12-wmma-w64.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-gfx11-err.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-gfx12-w32-err.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-gfx12-w64-err.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-w32.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-w64.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-swmmac-w32.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-swmmac-w64.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-w32.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/builtins-fp-atomics-gfx12.cl
M clang/test/CoverageMapping/branch-constfolded.cpp
M clang/test/CoverageMapping/if.cpp
M clang/test/CoverageMapping/mcdc-logical-stmt-ids-all.cpp
M clang/test/CoverageMapping/templates.cpp
A clang/test/Driver/Inputs/basic_android_tree/sysroot/usr/lib/crt_pad_segment.o
A clang/test/Driver/Inputs/basic_cross_hurd_tree/usr/lib/gcc/x86_64-gnu/10/crtbegin.o
A clang/test/Driver/Inputs/basic_cross_hurd_tree/usr/x86_64-gnu/bin/as
A clang/test/Driver/Inputs/basic_cross_hurd_tree/usr/x86_64-gnu/bin/ld
A clang/test/Driver/Inputs/basic_cross_hurd_tree/usr/x86_64-gnu/lib/.keep
A clang/test/Driver/Inputs/basic_hurd_tree/lib/x86_64-gnu/.keep
A clang/test/Driver/Inputs/basic_hurd_tree/lib64/.keep
A clang/test/Driver/Inputs/basic_hurd_tree/usr/include/x86_64-gnu/.keep
A clang/test/Driver/Inputs/basic_hurd_tree/usr/include/x86_64-gnu/c++/10/.keep
A clang/test/Driver/Inputs/basic_hurd_tree/usr/lib/gcc/x86_64-gnu/10/crtbegin.o
A clang/test/Driver/Inputs/basic_hurd_tree/usr/lib/gcc/x86_64-gnu/10/crtbeginS.o
A clang/test/Driver/Inputs/basic_hurd_tree/usr/lib/gcc/x86_64-gnu/10/crtbeginT.o
A clang/test/Driver/Inputs/basic_hurd_tree/usr/lib/x86_64-gnu/.keep
A clang/test/Driver/Inputs/basic_hurd_tree/usr/lib64/.keep
A clang/test/Driver/Inputs/nvptx-arch/nvptx_arch_sm_89_sm_80
M clang/test/Driver/aarch64-bf16.c
M clang/test/Driver/aarch64-cortex-a510.c
M clang/test/Driver/aarch64-cortex-a710.c
M clang/test/Driver/aarch64-cortex-x2.c
M clang/test/Driver/aarch64-d128.c
M clang/test/Driver/aarch64-fp16.c
M clang/test/Driver/aarch64-implied-sme-features.c
M clang/test/Driver/aarch64-implied-sve-features.c
M clang/test/Driver/aarch64-ite.c
M clang/test/Driver/aarch64-lrcpc3.c
M clang/test/Driver/aarch64-ls64.c
M clang/test/Driver/aarch64-lse128.c
M clang/test/Driver/aarch64-march.c
M clang/test/Driver/aarch64-mcpu.c
M clang/test/Driver/aarch64-mgeneral_regs_only.c
M clang/test/Driver/aarch64-mte.c
M clang/test/Driver/aarch64-perfmon.c
M clang/test/Driver/aarch64-predres.c
M clang/test/Driver/aarch64-rand.c
M clang/test/Driver/aarch64-ras.c
M clang/test/Driver/aarch64-rdm.c
M clang/test/Driver/aarch64-ssbs.c
M clang/test/Driver/aarch64-sve2.c
M clang/test/Driver/aarch64-the.c
M clang/test/Driver/aarch64-v81a.c
M clang/test/Driver/aarch64-v82a.c
M clang/test/Driver/aarch64-v83a.c
M clang/test/Driver/aarch64-v84a.c
M clang/test/Driver/aarch64-v85a.c
M clang/test/Driver/aarch64-v86a.c
M clang/test/Driver/aarch64-v87a.c
M clang/test/Driver/aarch64-v88a.c
M clang/test/Driver/aarch64-v89a.c
M clang/test/Driver/aarch64-v91a.c
M clang/test/Driver/aarch64-v92a.c
M clang/test/Driver/aarch64-v93a.c
M clang/test/Driver/aarch64-v94a.c
M clang/test/Driver/aarch64-v95a.c
M clang/test/Driver/aix-small-local-exec-tls.c
M clang/test/Driver/amdgpu-openmp-toolchain.c
M clang/test/Driver/arm-cortex-cpus-1.c
M clang/test/Driver/arm-sb.c
M clang/test/Driver/baremetal.cpp
M clang/test/Driver/clang_f_opts.c
M clang/test/Driver/cuda-cross-compiling.c
M clang/test/Driver/dxc_spirv.hlsl
M clang/test/Driver/fat-lto-objects.c
M clang/test/Driver/fveclib.c
M clang/test/Driver/hip-toolchain-mllvm.hip
M clang/test/Driver/hipstdpar.c
M clang/test/Driver/hlsl-lang-targets-spirv.hlsl
M clang/test/Driver/hlsl-lang-targets.hlsl
M clang/test/Driver/hurd.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
A clang/test/Driver/modules-skip-odr-check-in-gmf.cpp
M clang/test/Driver/nvptx-cuda-system-arch.c
A clang/test/Driver/opencl_aot_save_temps.cl
M clang/test/Driver/ppc-dependent-options.cpp
M clang/test/Driver/range.c
M clang/test/Driver/riscv-arch.c
M clang/test/Driver/riscv-cpus.c
M clang/test/Driver/riscv-toolchain-gcc-multilib-reuse.c
M clang/test/Driver/riscv32-toolchain.c
M clang/test/Driver/riscv64-toolchain.c
A clang/test/Driver/s390x-unaligned-symbols.c
A clang/test/Driver/tls-dialect.c
A clang/test/Driver/unsupported-option-gpu.c
M clang/test/Driver/visibility-dllstorageclass.c
A clang/test/Driver/visibility-global-new-delete.cl
M clang/test/Driver/x86-target-features.c
A clang/test/Driver/xros-driver.c
M clang/test/ExtractAPI/availability.c
M clang/test/ExtractAPI/typedef.c
A clang/test/ExtractAPI/union.c
A clang/test/Format/dump-config-objc-stdin.m
A clang/test/Frontend/diagnostic-pipe.c
A clang/test/Frontend/xros-version.c
M clang/test/Headers/__clang_hip_math.hip
M clang/test/Import/attr/Inputs/S.cpp
M clang/test/Import/attr/test.cpp
M clang/test/Import/cxx-default-init-expr/test.cpp
M clang/test/Index/Core/designated-inits.c
M clang/test/Index/Core/external-source-symbol-attr-cxx.cpp
M clang/test/Index/Core/external-source-symbol-attr.m
M clang/test/Index/Core/index-dependent-source.cpp
M clang/test/Index/Core/index-instantiated-source.cpp
M clang/test/Index/Core/index-source-invalid-name.cpp
M clang/test/Index/Core/index-source.cpp
M clang/test/Index/Core/index-source.m
M clang/test/Index/Core/index-source.mm
M clang/test/Index/Core/index-subkinds.m
M clang/test/Index/Core/index-with-module.m
A clang/test/Index/USR/structural-value-tpl-arg.cpp
M clang/test/Index/attributes.c
M clang/test/Index/ms-property.cpp
M clang/test/Index/using_if_exists.cpp
A clang/test/Interpreter/cxx20-modules.cppm
M clang/test/Interpreter/disambiguate-decl-stmt.cpp
M clang/test/Interpreter/incremental-mode.cpp
M clang/test/Lexer/cxx-features.cpp
M clang/test/Lexer/has_extension_cxx.cpp
M clang/test/Lexer/unicode.c
M clang/test/Misc/target-invalid-cpu-note.c
M clang/test/Modules/concept.cppm
A clang/test/Modules/cxx20-modules-enum-odr.cppm
M clang/test/Modules/no-eager-load.cppm
M clang/test/Modules/odr_hash.cpp
M clang/test/Modules/polluted-operator.cppm
A clang/test/Modules/pr60085.cppm
A clang/test/Modules/pr76638.cppm
A clang/test/Modules/pr78830.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
M clang/test/OpenMP/bug57757.cpp
A clang/test/OpenMP/force-usm.c
M clang/test/PCH/gch-probe.c
A clang/test/PCH/pack_indexing.cpp
M clang/test/Parser/cxx0x-ambig.cpp
M clang/test/Parser/cxx0x-decl.cpp
A clang/test/Parser/cxx2c-pack-indexing.cpp
M clang/test/ParserOpenACC/parse-clauses.c
A clang/test/ParserOpenACC/parse-clauses.cpp
M clang/test/ParserOpenACC/parse-constructs.cpp
A clang/test/ParserOpenACC/parse-wait-clause.c
M clang/test/Preprocessor/aarch64-target-features.c
M clang/test/Preprocessor/arm-target-features.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/ucn-pp-identifier.c
M clang/test/Preprocessor/x86_target_features.c
M clang/test/Profile/c-general.c
A clang/test/Profile/c-mcdc-logicalop-ternary.c
M clang/test/Sema/aarch64-incompat-sm-builtin-calls.c
M clang/test/Sema/aarch64-sme-func-attrs-without-target-feature.cpp
M clang/test/Sema/aarch64-sme-func-attrs.c
M clang/test/Sema/aarch64-sme-intrinsics/acle_sme_imm.cpp
M clang/test/Sema/aarch64-sme-intrinsics/acle_sme_target.c
M clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_imm.cpp
A clang/test/Sema/attr-lifetimebound-no-crash.cpp
M clang/test/Sema/attr-print.c
M clang/test/Sema/attr-riscv-rvv-vector-bits.c
M clang/test/Sema/attr-target-clones-aarch64.c
M clang/test/Sema/builtin-cpu-supports.c
M clang/test/Sema/c2x-auto.c
M clang/test/Sema/c2x-bool.c
M clang/test/Sema/check-increment.c
A clang/test/Sema/incorrect_pure.cpp
M clang/test/Sema/ns_error_enum.m
A clang/test/Sema/warn-infinity-nan-disabled-lnx.cpp
A clang/test/Sema/warn-infinity-nan-disabled-win.cpp
M clang/test/Sema/warn-int-in-bool-context.c
A clang/test/SemaCXX/PR76631.cpp
M clang/test/SemaCXX/attr-print.cpp
M clang/test/SemaCXX/attr-target-version.cpp
M clang/test/SemaCXX/builtin-std-move.cpp
M clang/test/SemaCXX/coro-lifetimebound.cpp
M clang/test/SemaCXX/coro-return-type-and-wrapper.cpp
A clang/test/SemaCXX/coroutine-promise-ctor.cpp
M clang/test/SemaCXX/cxx0x-cursory-default-delete.cpp
M clang/test/SemaCXX/cxx11-attr-print.cpp
A clang/test/SemaCXX/cxx2b-static-operator.cpp
A clang/test/SemaCXX/cxx2c-pack-indexing-ext-diags.cpp
A clang/test/SemaCXX/cxx2c-pack-indexing.cpp
M clang/test/SemaCXX/deduced-return-type-cxx14.cpp
M clang/test/SemaCXX/enum-scoped.cpp
A clang/test/SemaCXX/ms-property-new.cpp
M clang/test/SemaCXX/nested-name-spec.cpp
M clang/test/SemaCXX/new-delete.cpp
M clang/test/SemaCXX/overloaded-operator.cpp
A clang/test/SemaCXX/placement-new-bound-member-function.cpp
A clang/test/SemaCXX/placement-new-builtin.cpp
A clang/test/SemaCXX/placement-new-matrix.cpp
A clang/test/SemaCXX/placement-new-ms-__noop.cpp
M clang/test/SemaCXX/source_location.cpp
M clang/test/SemaCXX/warn-bool-conversion.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-fixits-pointer-access.cpp
A clang/test/SemaCXX/warn-unsafe-buffer-usage-in-container-span-construct.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-warning-data-invocation.cpp
M clang/test/SemaCXX/warn-unused-value-cxx11.cpp
M clang/test/SemaObjC/warn-called-once.m
A clang/test/SemaObjCXX/property-placement-new.mm
A clang/test/SemaTemplate/PR77189.cpp
M clang/test/SemaTemplate/concepts-lambda.cpp
M clang/test/SemaTemplate/concepts-out-of-line-def.cpp
M clang/test/SemaTemplate/deduction.cpp
M clang/test/SemaTemplate/elaborated-type-specifier.cpp
M clang/test/SemaTemplate/nested-implicit-deduction-guides.cpp
M clang/test/SemaTemplate/qualified-id.cpp
M clang/test/SemaTemplate/temp_arg_nontype_cxx1z.cpp
M clang/test/SemaTemplate/temp_arg_nontype_cxx20.cpp
M clang/tools/c-index-test/c-index-test.c
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-repl/CMakeLists.txt
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
M clang/tools/diagtool/TreeView.cpp
M clang/tools/driver/CMakeLists.txt
M clang/tools/libclang/CIndex.cpp
M clang/tools/libclang/CIndexCodeCompletion.cpp
M clang/tools/libclang/CMakeLists.txt
M clang/tools/libclang/CXCursor.cpp
M clang/tools/libclang/CXExtractAPI.cpp
A clang/unittests/AST/ASTDumperTest.cpp
M clang/unittests/AST/ASTImporterGenericRedeclTest.cpp
M clang/unittests/AST/ASTImporterTest.cpp
M clang/unittests/AST/CMakeLists.txt
M clang/unittests/AST/Interp/Descriptor.cpp
M clang/unittests/AST/StructuralEquivalenceTest.cpp
M clang/unittests/Analysis/CFGTest.cpp
M clang/unittests/Analysis/ExprMutationAnalyzerTest.cpp
M clang/unittests/Analysis/FlowSensitive/LoggerTest.cpp
M clang/unittests/Analysis/FlowSensitive/SignAnalysisTest.cpp
M clang/unittests/Analysis/FlowSensitive/TestingSupport.cpp
M clang/unittests/Analysis/FlowSensitive/TestingSupport.h
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
M clang/unittests/Analysis/FlowSensitive/TypeErasedDataflowAnalysisTest.cpp
M clang/unittests/Basic/FileManagerTest.cpp
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/FormatTestObjC.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
M clang/unittests/Interpreter/InterpreterTest.cpp
M clang/unittests/Tooling/CompilationDatabaseTest.cpp
M clang/unittests/Tooling/Syntax/TokensTest.cpp
M clang/utils/TableGen/CMakeLists.txt
M clang/utils/TableGen/ClangAttrEmitter.cpp
A clang/utils/TableGen/ClangBuiltinsEmitter.cpp
M clang/utils/TableGen/ClangCommentHTMLNamedCharacterReferenceEmitter.cpp
M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
M clang/utils/TableGen/ClangOpcodesEmitter.cpp
M clang/utils/TableGen/MveEmitter.cpp
M clang/utils/TableGen/NeonEmitter.cpp
M clang/utils/TableGen/SveEmitter.cpp
M clang/utils/TableGen/TableGen.cpp
M clang/utils/TableGen/TableGenBackends.h
M clang/utils/perf-training/CMakeLists.txt
M clang/utils/perf-training/bolt.lit.cfg
M clang/utils/perf-training/bolt.lit.site.cfg.in
M clang/utils/perf-training/perf-helper.py
M clang/www/c_status.html
M clang/www/cxx_dr_status.html
M clang/www/cxx_status.html
M compiler-rt/cmake/builtin-config-ix.cmake
M compiler-rt/cmake/config-ix.cmake
M compiler-rt/include/CMakeLists.txt
A compiler-rt/include/profile/instr_prof_interface.h
M compiler-rt/lib/builtins/CMakeLists.txt
A compiler-rt/lib/builtins/aarch64/sme-libc-routines.c
M compiler-rt/lib/builtins/cpu_model/aarch64.c
M compiler-rt/lib/builtins/cpu_model/aarch64/fmv/apple.inc
M compiler-rt/lib/builtins/cpu_model/aarch64/fmv/mrs.inc
M compiler-rt/lib/builtins/cpu_model/aarch64/hwcap.inc
M compiler-rt/lib/builtins/cpu_model/x86.c
M compiler-rt/lib/builtins/fp_extend_impl.inc
M compiler-rt/lib/builtins/int_lib.h
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/orc/CMakeLists.txt
M compiler-rt/lib/orc/coff_platform.cpp
M compiler-rt/lib/orc/wrapper_function_utils.h
M compiler-rt/lib/profile/InstrProfiling.h
M compiler-rt/lib/profile/InstrProfilingFile.c
M compiler-rt/lib/profile/InstrProfilingMerge.c
M compiler-rt/lib/profile/InstrProfilingValue.c
M compiler-rt/lib/profile/WindowsMMap.c
M compiler-rt/lib/profile/WindowsMMap.h
M compiler-rt/lib/sanitizer_common/sanitizer_atomic_clang_other.h
M compiler-rt/lib/sanitizer_common/sanitizer_atomic_clang_x86.h
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
M compiler-rt/lib/sanitizer_common/sanitizer_hash.h
M compiler-rt/lib/sanitizer_common/sanitizer_internal_defs.h
M compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_report.cpp
M compiler-rt/lib/sanitizer_common/symbolizer/scripts/build_symbolizer.sh
M compiler-rt/lib/sanitizer_common/symbolizer/scripts/global_symbols.txt
M compiler-rt/lib/sanitizer_common/tests/sanitizer_bitvector_test.cpp
M compiler-rt/lib/scudo/standalone/combined.h
M compiler-rt/lib/scudo/standalone/stack_depot.h
M compiler-rt/lib/tsan/rtl/tsan_dispatch_defs.h
M compiler-rt/lib/tsan/rtl/tsan_platform.h
M compiler-rt/lib/tsan/rtl/tsan_platform_linux.cpp
M compiler-rt/lib/tsan/rtl/tsan_platform_mac.cpp
M compiler-rt/lib/tsan/rtl/tsan_platform_posix.cpp
M compiler-rt/test/CMakeLists.txt
M compiler-rt/test/asan/TestCases/Darwin/odr-lto.cpp
M compiler-rt/test/asan/TestCases/alloca_loop_unpoisoning.cpp
M compiler-rt/test/asan/lit.cfg.py
A compiler-rt/test/builtins/Unit/sme-string-test.cpp
M compiler-rt/test/dfsan/custom.cpp
M compiler-rt/test/dfsan/release_shadow_space.c
M compiler-rt/test/fuzzer/lit.cfg.py
M compiler-rt/test/lit.common.cfg.py
M compiler-rt/test/lit.common.configured.in
A compiler-rt/test/profile/Linux/instrprof-weak-symbol.c
A compiler-rt/test/profile/instrprof-api.c
R compiler-rt/test/sanitizer_common/TestCases/FreeBSD/hexdump.cc
A compiler-rt/test/sanitizer_common/TestCases/Linux/allocator_returns_null_std.cpp
M compiler-rt/test/tsan/java_finalizer2.cpp
A cross-project-tests/amdgpu/builtins-amdgcn-gfx12-wmma-w32.cl
A cross-project-tests/amdgpu/builtins-amdgcn-gfx12-wmma-w64.cl
A cross-project-tests/amdgpu/builtins-amdgcn-swmmac-w32.cl
A cross-project-tests/amdgpu/builtins-amdgcn-swmmac-w64.cl
M flang/docs/Directives.md
M flang/docs/Extensions.md
M flang/docs/Intrinsics.md
M flang/include/flang/Common/Fortran-features.h
M flang/include/flang/Common/Fortran.h
M flang/include/flang/Evaluate/characteristics.h
M flang/include/flang/Evaluate/common.h
M flang/include/flang/Lower/AbstractConverter.h
M flang/include/flang/Lower/Bridge.h
M flang/include/flang/Lower/OpenACC.h
M flang/include/flang/Lower/OpenMP.h
R flang/include/flang/Optimizer/Builder/Array.h
M flang/include/flang/Optimizer/Builder/BoxValue.h
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/Builder/HLFIRTools.h
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Builder/Runtime/Intrinsics.h
M flang/include/flang/Optimizer/Builder/Runtime/RTBuilder.h
M flang/include/flang/Optimizer/CodeGen/CGPasses.td
M flang/include/flang/Optimizer/CodeGen/Target.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/Utils.h
M flang/include/flang/Parser/characters.h
M flang/include/flang/Runtime/descriptor.h
M flang/include/flang/Runtime/extensions.h
M flang/include/flang/Runtime/io-api.h
M flang/include/flang/Runtime/magic-numbers.h
M flang/include/flang/Semantics/expression.h
M flang/include/flang/Semantics/symbol.h
M flang/include/flang/Semantics/tools.h
M flang/lib/Evaluate/characteristics.cpp
M flang/lib/Evaluate/check-expression.cpp
M flang/lib/Evaluate/fold-implementation.h
M flang/lib/Evaluate/fold.cpp
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Evaluate/shape.cpp
M flang/lib/Frontend/CompilerInstance.cpp
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Frontend/TextDiagnosticBuffer.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/ConvertConstant.cpp
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Lower/ConvertProcedureDesignator.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/Optimizer/Builder/BoxValue.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Intrinsics.cpp
M flang/lib/Optimizer/CodeGen/BoxedProcedure.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.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/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/OptimizedBufferization.cpp
M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
M flang/lib/Optimizer/Transforms/AffineDemotion.cpp
M flang/lib/Optimizer/Transforms/AffinePromotion.cpp
M flang/lib/Optimizer/Transforms/ArrayValueCopy.cpp
M flang/lib/Optimizer/Transforms/ExternalNameConversion.cpp
M flang/lib/Optimizer/Transforms/LoopVersioning.cpp
M flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp
M flang/lib/Parser/preprocessor.cpp
M flang/lib/Parser/prescan.cpp
M flang/lib/Parser/prescan.h
M flang/lib/Semantics/check-call.cpp
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/check-io.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/definable.cpp
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/mod-file.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/lib/Semantics/semantics.cpp
M flang/lib/Semantics/symbol.cpp
M flang/lib/Semantics/tools.cpp
M flang/module/iso_c_binding.f90
M flang/module/iso_fortran_env.f90
M flang/runtime/assign.cpp
M flang/runtime/descriptor.cpp
M flang/runtime/edit-output.cpp
M flang/runtime/execute.cpp
M flang/runtime/extensions.cpp
M flang/runtime/format-implementation.h
M flang/runtime/format.h
M flang/runtime/io-api.cpp
M flang/runtime/namelist.cpp
M flang/runtime/numeric.cpp
M flang/runtime/pointer.cpp
M flang/runtime/stat.cpp
M flang/runtime/stat.h
M flang/test/Driver/driver-help-hidden.f90
M flang/test/Driver/driver-help.f90
M flang/test/Driver/isysroot.f90
M flang/test/Driver/linker-flags.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/Evaluate/bug78932.f90
M flang/test/Evaluate/folding02.f90
A flang/test/Evaluate/rewrite07.f90
A flang/test/Fir/already-defined-free.fir
M flang/test/Fir/boxproc-2.fir
M flang/test/Fir/convert-to-llvm.fir
M flang/test/Fir/external-mangling.fir
A flang/test/Fir/target-rewrite-target-cpu.fir
A flang/test/Fir/target-rewrite-target-features.fir
M flang/test/HLFIR/invalid.fir
A flang/test/HLFIR/maxloc-elemental.fir
A flang/test/HLFIR/minloc-elemental.fir
M flang/test/HLFIR/no-block-merging.fir
M flang/test/HLFIR/simplify-hlfir-intrinsics.fir
A flang/test/Lower/HLFIR/assumed-rank-iface-alloc-ptr.f90
A flang/test/Lower/HLFIR/assumed-rank-iface.f90
A flang/test/Lower/HLFIR/assumed-size-cray-pointee.f90
A flang/test/Lower/HLFIR/bindc-module-var.f90
M flang/test/Lower/HLFIR/cray-pointers.f90
M flang/test/Lower/HLFIR/ignore-rank-unlimited-polymorphic.f90
A flang/test/Lower/HLFIR/ignore-type-assumed-shape.f90
M flang/test/Lower/HLFIR/minval.f90
A flang/test/Lower/HLFIR/proc-pointer-comp-in-parent.f90
M flang/test/Lower/HLFIR/procedure-pointer.f90
M flang/test/Lower/Intrinsics/associated-proc-pointers.f90
M flang/test/Lower/Intrinsics/c_loc.f90
A flang/test/Lower/Intrinsics/cosd.f90
M flang/test/Lower/Intrinsics/execute_command_line-optional.f90
M flang/test/Lower/Intrinsics/execute_command_line.f90
M flang/test/Lower/Intrinsics/lbound.f90
A flang/test/Lower/Intrinsics/signal.f90
A flang/test/Lower/Intrinsics/sind.f90
A flang/test/Lower/Intrinsics/sleep.f90
A flang/test/Lower/Intrinsics/system-optional.f90
A flang/test/Lower/Intrinsics/system.f90
M flang/test/Lower/Intrinsics/ubound.f90
M flang/test/Lower/OpenACC/acc-data.f90
M flang/test/Lower/OpenACC/acc-declare.f90
M flang/test/Lower/OpenACC/acc-device-type.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-exit.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-routine.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/OpenACC/locations.f90
M flang/test/Lower/OpenMP/FIR/if-clause.f90
M flang/test/Lower/OpenMP/FIR/loop-combined.f90
A flang/test/Lower/OpenMP/FIR/map-component-ref.f90
M flang/test/Lower/OpenMP/FIR/sections.f90
A flang/test/Lower/OpenMP/Todo/omp-do-simd-aligned.f90
A flang/test/Lower/OpenMP/Todo/omp-do-simd-linear.f90
A flang/test/Lower/OpenMP/Todo/omp-do-simd-safelen.f90
A flang/test/Lower/OpenMP/Todo/omp-do-simd-simdlen.f90
M flang/test/Lower/OpenMP/if-clause.f90
A flang/test/Lower/OpenMP/infinite-loop-in-construct.f90
M flang/test/Lower/OpenMP/loop-combined.f90
A flang/test/Lower/OpenMP/map-component-ref.f90
M flang/test/Lower/OpenMP/sections.f90
A flang/test/Lower/OpenMP/threadprivate-default-clause.f90
A flang/test/Lower/OpenMP/wsloop-reduction-max-2.f90
A flang/test/Lower/OpenMP/wsloop-unstructured.f90
M flang/test/Lower/array-expression-assumed-size.f90
M flang/test/Lower/cray-pointer.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
A flang/test/Lower/structure-constructors-alloc-comp.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
A flang/test/Preprocessing/pp134.F90
M flang/test/Semantics/OpenACC/acc-loop.f90
M flang/test/Semantics/c_f_pointer.f90
A flang/test/Semantics/declarations08.f90
M flang/test/Semantics/definable01.f90
A flang/test/Semantics/execute_command_line.f90
A flang/test/Semantics/generic08.f90
M flang/test/Semantics/ignore_tkr01.f90
A flang/test/Semantics/ignore_tkr03.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/modfile62.f90
A flang/test/Semantics/present01.f90
M flang/test/Semantics/resolve107.f90
A flang/test/Semantics/resolve122.f90
M flang/test/Semantics/resolve17.f90
M flang/test/Semantics/resolve18.f90
M flang/test/Semantics/resolve53.f90
M flang/test/Semantics/resolve54.f90
M flang/test/Semantics/resolve63.f90
M flang/test/Semantics/resolve65.f90
M flang/test/Semantics/structconst06.f90
M flang/test/Semantics/structconst07.f90
A flang/test/Semantics/structconst08.f90
M flang/test/Semantics/symbol27.f90
A flang/test/Semantics/typeinfo08.f90
M flang/test/Transforms/loop-versioning.fir
M flang/test/Transforms/simplifyintrinsics.fir
M flang/test/lit.cfg.py
M flang/test/lit.site.cfg.py.in
M flang/tools/bbc/bbc.cpp
M flang/tools/f18/flang-to-external-fc.in
M flang/tools/tco/tco.cpp
M flang/unittests/Evaluate/expression.cpp
M flang/unittests/Evaluate/folding.cpp
M flang/unittests/Evaluate/intrinsics.cpp
M flang/unittests/Frontend/CMakeLists.txt
A flang/unittests/Frontend/CodeGenActionTest.cpp
M flang/unittests/Optimizer/FIRContextTest.cpp
M flang/unittests/Runtime/CommandTest.cpp
M flang/unittests/Runtime/NumericalFormatTest.cpp
M libc/CMakeLists.txt
M libc/cmake/modules/CheckCompilerFeatures.cmake
M libc/cmake/modules/LLVMLibCArchitectures.cmake
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/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/arm/headers.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/baremetal/riscv/headers.txt
M libc/config/config.json
M libc/config/darwin/arm/headers.txt
M libc/config/darwin/x86_64/headers.txt
M libc/config/gpu/headers.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/aarch64/headers.txt
M libc/config/linux/api.td
M libc/config/linux/app.h
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/dev/printf_behavior.rst
A libc/docs/gpu/rpc-diagram.svg
M libc/docs/gpu/rpc.rst
M libc/docs/gpu/testing.rst
M libc/docs/index.rst
M libc/docs/math/index.rst
A libc/docs/stdbit.rst
M libc/fuzzing/stdlib/strtofloat_fuzz.cpp
M libc/include/CMakeLists.txt
A libc/include/float.h.def
A libc/include/limits.h.def
M libc/include/llvm-libc-macros/CMakeLists.txt
A libc/include/llvm-libc-macros/containerof-macro.h
A libc/include/llvm-libc-macros/float-macros.h
A libc/include/llvm-libc-macros/limits-macros.h
M libc/include/llvm-libc-macros/linux/CMakeLists.txt
R libc/include/llvm-libc-macros/linux/sys-mman-macros.h
A libc/include/llvm-libc-macros/offsetof-macro.h
A libc/include/llvm-libc-macros/stdbit-macros.h
M libc/include/llvm-libc-macros/sys-mman-macros.h
A libc/include/llvm-libc-macros/sys-queue-macros.h
M libc/include/llvm-libc-types/CMakeLists.txt
M libc/include/llvm-libc-types/off_t.h
A libc/include/llvm-libc-types/struct_epoll_data.h
A libc/include/llvm-libc-types/struct_epoll_event.h
A libc/include/stdbit.h.def
A libc/include/sys/epoll.h.def
A libc/include/sys/queue.h
M libc/lib/CMakeLists.txt
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/CMakeLists.txt
M libc/src/__support/CMakeLists.txt
M libc/src/__support/CPP/CMakeLists.txt
M libc/src/__support/CPP/atomic.h
M libc/src/__support/CPP/limits.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
M libc/src/__support/FPUtil/Hypot.h
M libc/src/__support/FPUtil/ManipulationFunctions.h
M libc/src/__support/FPUtil/NearestIntegerOperations.h
M libc/src/__support/FPUtil/NormalFloat.h
M libc/src/__support/FPUtil/aarch64/FEnvImpl.h
M libc/src/__support/FPUtil/aarch64/fenv_darwin_impl.h
M libc/src/__support/FPUtil/arm/FEnvImpl.h
M libc/src/__support/FPUtil/dyadic_float.h
M libc/src/__support/FPUtil/except_value_utils.h
M libc/src/__support/FPUtil/fpbits_str.h
M libc/src/__support/FPUtil/generic/FMA.h
M libc/src/__support/FPUtil/generic/FMod.h
M libc/src/__support/FPUtil/generic/sqrt.h
M libc/src/__support/FPUtil/generic/sqrt_80_bit_long_double.h
M libc/src/__support/FPUtil/riscv/FMA.h
M libc/src/__support/FPUtil/riscv/sqrt.h
R libc/src/__support/FPUtil/x86_64/LongDoubleBits.h
M libc/src/__support/FPUtil/x86_64/NextAfterLongDouble.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/HashTable/CMakeLists.txt
M libc/src/__support/HashTable/bitmask.h
M libc/src/__support/HashTable/table.h
M libc/src/__support/RPC/rpc.h
M libc/src/__support/RPC/rpc_util.h
M libc/src/__support/UInt.h
M libc/src/__support/float_to_string.h
M libc/src/__support/math_extras.h
M libc/src/__support/str_to_float.h
M libc/src/__support/str_to_integer.h
M libc/src/__support/threads/linux/CMakeLists.txt
M libc/src/__support/threads/linux/callonce.cpp
M libc/src/math/CMakeLists.txt
A libc/src/math/fmaxf128.h
A libc/src/math/fminf128.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/atanf.cpp
M libc/src/math/generic/atanhf.cpp
M libc/src/math/generic/cosf.cpp
M libc/src/math/generic/coshf.cpp
M libc/src/math/generic/erff.cpp
M libc/src/math/generic/exp.cpp
M libc/src/math/generic/exp10.cpp
M libc/src/math/generic/exp10f_impl.h
M libc/src/math/generic/exp2.cpp
M libc/src/math/generic/exp2f_impl.h
M libc/src/math/generic/expf.cpp
M libc/src/math/generic/explogxf.h
M libc/src/math/generic/expm1.cpp
M libc/src/math/generic/expm1f.cpp
A libc/src/math/generic/fmaxf128.cpp
A libc/src/math/generic/fminf128.cpp
M libc/src/math/generic/hypotf.cpp
M libc/src/math/generic/inv_trigf_utils.h
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/log_range_reduction.h
M libc/src/math/generic/logf.cpp
M libc/src/math/generic/powf.cpp
M libc/src/math/generic/range_reduction_fma.h
M libc/src/math/generic/sincosf.cpp
M libc/src/math/generic/sinf.cpp
M libc/src/math/generic/sinhf.cpp
A libc/src/math/generic/sqrtf128.cpp
M libc/src/math/generic/tanf.cpp
M libc/src/math/generic/tanhf.cpp
A libc/src/math/sqrtf128.h
M libc/src/sched/linux/CMakeLists.txt
M libc/src/signal/linux/CMakeLists.txt
M libc/src/spawn/linux/CMakeLists.txt
A libc/src/stdbit/CMakeLists.txt
A libc/src/stdbit/stdc_leading_zeros_uc.cpp
A libc/src/stdbit/stdc_leading_zeros_uc.h
A libc/src/stdbit/stdc_leading_zeros_ui.cpp
A libc/src/stdbit/stdc_leading_zeros_ui.h
A libc/src/stdbit/stdc_leading_zeros_ul.cpp
A libc/src/stdbit/stdc_leading_zeros_ul.h
A libc/src/stdbit/stdc_leading_zeros_ull.cpp
A libc/src/stdbit/stdc_leading_zeros_ull.h
A libc/src/stdbit/stdc_leading_zeros_us.cpp
A libc/src/stdbit/stdc_leading_zeros_us.h
M libc/src/stdio/printf_core/float_dec_converter.h
M libc/src/stdio/printf_core/float_hex_converter.h
M libc/src/stdio/printf_core/float_inf_nan_converter.h
M libc/src/stdio/scanf_core/float_converter.cpp
M libc/src/string/memory_utils/op_x86.h
M libc/src/string/memory_utils/utils.h
M libc/src/sys/CMakeLists.txt
A libc/src/sys/auxv/CMakeLists.txt
A libc/src/sys/auxv/getauxval.h
A libc/src/sys/auxv/linux/CMakeLists.txt
A libc/src/sys/auxv/linux/getauxval.cpp
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/mincore.cpp
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/mincore.h
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
R libc/src/threads/linux/call_once.cpp
R libc/src/threads/linux/thread_start_args.h.def
M libc/src/time/CMakeLists.txt
M libc/src/time/gpu/nanosleep.cpp
M libc/src/time/gpu/time_utils.h
M libc/src/time/mktime.cpp
M libc/src/time/time_utils.cpp
M libc/src/unistd/linux/CMakeLists.txt
M libc/src/unistd/linux/read.cpp
M libc/src/unistd/linux/sysconf.cpp
M libc/startup/linux/do_start.cpp
M libc/test/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/HermeticTestUtils.cpp
M libc/test/UnitTest/LibcTest.h
A libc/test/include/CMakeLists.txt
A libc/test/include/stdbit_test.cpp
A libc/test/include/sys/queue_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/src/CMakeLists.txt
M libc/test/src/__support/FPUtil/CMakeLists.txt
M libc/test/src/__support/FPUtil/dyadic_float_test.cpp
M libc/test/src/__support/FPUtil/fpbits_test.cpp
M libc/test/src/dirent/dirent_test.cpp
M libc/test/src/fcntl/creat_test.cpp
M libc/test/src/fcntl/openat_test.cpp
M libc/test/src/math/CMakeLists.txt
M libc/test/src/math/CeilTest.h
M libc/test/src/math/CopySignTest.h
M libc/test/src/math/FAbsTest.h
M libc/test/src/math/FDimTest.h
M libc/test/src/math/FMaxTest.h
M libc/test/src/math/FMinTest.h
M libc/test/src/math/FloorTest.h
M libc/test/src/math/FmaTest.h
M libc/test/src/math/FrexpTest.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/LogbTest.h
M libc/test/src/math/ModfTest.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/RoundTest.h
M libc/test/src/math/RoundToIntegerTest.h
M libc/test/src/math/SqrtTest.h
M libc/test/src/math/TruncTest.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/cos_test.cpp
M libc/test/src/math/cosf_test.cpp
M libc/test/src/math/coshf_test.cpp
M libc/test/src/math/differential_testing/BinaryOpSingleOutputDiff.h
M libc/test/src/math/differential_testing/SingleInputSingleOutputDiff.h
M libc/test/src/math/erff_test.cpp
M libc/test/src/math/exhaustive/exhaustive_test.h
M libc/test/src/math/exhaustive/hypotf_test.cpp
M libc/test/src/math/exhaustive/sincosf_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/log10f_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/logf_test.cpp
M libc/test/src/math/sin_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/FMaxTest.h
M libc/test/src/math/smoke/FMinTest.h
M libc/test/src/math/smoke/FmaTest.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/LogbTest.h
M libc/test/src/math/smoke/ModfTest.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/atanhf_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
A libc/test/src/math/smoke/fmaxf128_test.cpp
A libc/test/src/math/smoke/fminf128_test.cpp
A libc/test/src/math/smoke/generic_sqrtf128_test.cpp
M libc/test/src/math/smoke/nan_test.cpp
M libc/test/src/math/smoke/nanf_test.cpp
M libc/test/src/math/smoke/sinhf_test.cpp
A libc/test/src/math/smoke/sqrtf128_test.cpp
M libc/test/src/math/tan_test.cpp
M libc/test/src/math/tanf_test.cpp
M libc/test/src/math/tanhf_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
A libc/test/src/stdbit/CMakeLists.txt
A libc/test/src/stdbit/stdc_leading_zeros_uc_test.cpp
A libc/test/src/stdbit/stdc_leading_zeros_ui_test.cpp
A libc/test/src/stdbit/stdc_leading_zeros_ul_test.cpp
A libc/test/src/stdbit/stdc_leading_zeros_ull_test.cpp
A libc/test/src/stdbit/stdc_leading_zeros_us_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/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/AtoiTest.h
M libc/test/src/stdlib/CMakeLists.txt
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/strtold_test.cpp
M libc/test/src/string/strdup_test.cpp
M libc/test/src/sys/CMakeLists.txt
A libc/test/src/sys/auxv/CMakeLists.txt
A libc/test/src/sys/auxv/linux/CMakeLists.txt
A libc/test/src/sys/auxv/linux/getauxval_test.cpp
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
A libc/test/src/sys/mman/linux/mincore_test.cpp
A libc/test/src/sys/mman/linux/mlock_test.cpp
M libc/test/src/sys/prctl/linux/prctl_test.cpp
M libc/test/src/sys/resource/getrlimit_setrlimit_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/socket/linux/socket_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/CMakeLists.txt
M libc/test/src/time/clock_test.cpp
M libc/test/src/time/difftime_test.cpp
M libc/test/src/time/gmtime_test.cpp
M libc/test/src/time/mktime_test.cpp
M libc/test/src/time/nanosleep_test.cpp
M libc/test/src/time/time_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/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/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/test/utils/FPUtil/x86_long_double_test.cpp
M libc/utils/MPFRWrapper/CMakeLists.txt
M libc/utils/MPFRWrapper/MPFRUtils.cpp
M libc/utils/gpu/server/CMakeLists.txt
M libc/utils/gpu/server/rpc_server.h
M libclc/CMakeLists.txt
M libcxx/.clang-format
M libcxx/CMakeLists.txt
M libcxx/benchmarks/CMakeLists.txt
A libcxx/benchmarks/exception_ptr.bench.cpp
M libcxx/cmake/caches/Generic-cxx20.cmake
M libcxx/cmake/caches/Generic-cxx23.cmake
M libcxx/cmake/caches/Generic-cxx26.cmake
M libcxx/cmake/caches/Generic-hardening-mode-extensive.cmake
M libcxx/cmake/caches/Generic-no-exceptions.cmake
M libcxx/cmake/caches/Generic-no-experimental.cmake
M libcxx/cmake/caches/Generic-no-filesystem.cmake
M libcxx/cmake/caches/Generic-no-localization.cmake
M libcxx/cmake/caches/Generic-no-random_device.cmake
M libcxx/cmake/caches/Generic-no-threads.cmake
M libcxx/cmake/caches/Generic-no-unicode.cmake
M libcxx/cmake/caches/Generic-no-wide-characters.cmake
M libcxx/docs/BuildingLibcxx.rst
M libcxx/docs/Contributing.rst
M libcxx/docs/DesignDocs/ThreadingSupportAPI.rst
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/Hardening.rst
M libcxx/docs/Modules.rst
A libcxx/docs/ReleaseNotes.rst
M libcxx/docs/ReleaseNotes/18.rst
A libcxx/docs/ReleaseNotes/19.rst
M libcxx/docs/ReleaseProcedure.rst
M libcxx/docs/Status/Cxx23Issues.csv
M libcxx/docs/Status/Cxx23Papers.csv
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/docs/Status/FormatIssues.csv
M libcxx/docs/Status/Parallelism.rst
M libcxx/docs/Status/ParallelismProjects.csv
M libcxx/docs/Status/Ranges.rst
M libcxx/docs/Status/SpaceshipPapers.csv
M libcxx/docs/UsingLibcxx.rst
M libcxx/docs/index.rst
M libcxx/include/CMakeLists.txt
M libcxx/include/__algorithm/clamp.h
M libcxx/include/__algorithm/comp_ref_type.h
M libcxx/include/__algorithm/copy_move_common.h
M libcxx/include/__algorithm/equal.h
M libcxx/include/__algorithm/equal_range.h
M libcxx/include/__algorithm/fold.h
M libcxx/include/__algorithm/in_found_result.h
M libcxx/include/__algorithm/in_fun_result.h
M libcxx/include/__algorithm/in_in_out_result.h
M libcxx/include/__algorithm/in_in_result.h
M libcxx/include/__algorithm/in_out_out_result.h
M libcxx/include/__algorithm/includes.h
M libcxx/include/__algorithm/next_permutation.h
M libcxx/include/__algorithm/nth_element.h
M libcxx/include/__algorithm/partial_sort.h
M libcxx/include/__algorithm/partial_sort_copy.h
M libcxx/include/__algorithm/partition.h
M libcxx/include/__algorithm/prev_permutation.h
M libcxx/include/__algorithm/pstl_any_all_none_of.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/transform_reduce.h
M libcxx/include/__algorithm/pstl_copy.h
M libcxx/include/__algorithm/pstl_count.h
M libcxx/include/__algorithm/pstl_equal.h
M libcxx/include/__algorithm/pstl_fill.h
M libcxx/include/__algorithm/pstl_find.h
M libcxx/include/__algorithm/pstl_for_each.h
M libcxx/include/__algorithm/pstl_generate.h
M libcxx/include/__algorithm/pstl_is_partitioned.h
M libcxx/include/__algorithm/pstl_merge.h
M libcxx/include/__algorithm/pstl_move.h
M libcxx/include/__algorithm/pstl_replace.h
M libcxx/include/__algorithm/pstl_rotate_copy.h
M libcxx/include/__algorithm/pstl_sort.h
M libcxx/include/__algorithm/pstl_stable_sort.h
M libcxx/include/__algorithm/pstl_transform.h
M libcxx/include/__algorithm/ranges_all_of.h
M libcxx/include/__algorithm/ranges_any_of.h
M libcxx/include/__algorithm/ranges_binary_search.h
M libcxx/include/__algorithm/ranges_clamp.h
M libcxx/include/__algorithm/ranges_contains.h
M libcxx/include/__algorithm/ranges_copy.h
M libcxx/include/__algorithm/ranges_copy_backward.h
M libcxx/include/__algorithm/ranges_copy_if.h
M libcxx/include/__algorithm/ranges_copy_n.h
M libcxx/include/__algorithm/ranges_count.h
M libcxx/include/__algorithm/ranges_count_if.h
M libcxx/include/__algorithm/ranges_ends_with.h
M libcxx/include/__algorithm/ranges_equal.h
M libcxx/include/__algorithm/ranges_equal_range.h
M libcxx/include/__algorithm/ranges_fill.h
M libcxx/include/__algorithm/ranges_fill_n.h
M libcxx/include/__algorithm/ranges_find.h
M libcxx/include/__algorithm/ranges_find_end.h
M libcxx/include/__algorithm/ranges_find_first_of.h
M libcxx/include/__algorithm/ranges_find_if.h
M libcxx/include/__algorithm/ranges_find_if_not.h
M libcxx/include/__algorithm/ranges_for_each.h
M libcxx/include/__algorithm/ranges_for_each_n.h
M libcxx/include/__algorithm/ranges_generate.h
M libcxx/include/__algorithm/ranges_generate_n.h
M libcxx/include/__algorithm/ranges_includes.h
M libcxx/include/__algorithm/ranges_inplace_merge.h
M libcxx/include/__algorithm/ranges_is_heap.h
M libcxx/include/__algorithm/ranges_is_heap_until.h
M libcxx/include/__algorithm/ranges_is_partitioned.h
M libcxx/include/__algorithm/ranges_is_permutation.h
M libcxx/include/__algorithm/ranges_is_sorted.h
M libcxx/include/__algorithm/ranges_is_sorted_until.h
M libcxx/include/__algorithm/ranges_iterator_concept.h
M libcxx/include/__algorithm/ranges_lexicographical_compare.h
M libcxx/include/__algorithm/ranges_lower_bound.h
M libcxx/include/__algorithm/ranges_make_heap.h
M libcxx/include/__algorithm/ranges_max.h
M libcxx/include/__algorithm/ranges_max_element.h
M libcxx/include/__algorithm/ranges_merge.h
M libcxx/include/__algorithm/ranges_min.h
M libcxx/include/__algorithm/ranges_min_element.h
M libcxx/include/__algorithm/ranges_minmax_element.h
M libcxx/include/__algorithm/ranges_mismatch.h
M libcxx/include/__algorithm/ranges_move.h
M libcxx/include/__algorithm/ranges_move_backward.h
M libcxx/include/__algorithm/ranges_next_permutation.h
M libcxx/include/__algorithm/ranges_none_of.h
M libcxx/include/__algorithm/ranges_nth_element.h
M libcxx/include/__algorithm/ranges_partial_sort.h
M libcxx/include/__algorithm/ranges_partial_sort_copy.h
M libcxx/include/__algorithm/ranges_partition.h
M libcxx/include/__algorithm/ranges_partition_copy.h
M libcxx/include/__algorithm/ranges_partition_point.h
M libcxx/include/__algorithm/ranges_pop_heap.h
M libcxx/include/__algorithm/ranges_prev_permutation.h
M libcxx/include/__algorithm/ranges_push_heap.h
M libcxx/include/__algorithm/ranges_remove.h
M libcxx/include/__algorithm/ranges_remove_copy.h
M libcxx/include/__algorithm/ranges_remove_copy_if.h
M libcxx/include/__algorithm/ranges_remove_if.h
M libcxx/include/__algorithm/ranges_replace.h
M libcxx/include/__algorithm/ranges_replace_copy.h
M libcxx/include/__algorithm/ranges_replace_copy_if.h
M libcxx/include/__algorithm/ranges_replace_if.h
M libcxx/include/__algorithm/ranges_reverse_copy.h
M libcxx/include/__algorithm/ranges_rotate.h
M libcxx/include/__algorithm/ranges_rotate_copy.h
M libcxx/include/__algorithm/ranges_sample.h
M libcxx/include/__algorithm/ranges_search_n.h
M libcxx/include/__algorithm/ranges_set_difference.h
M libcxx/include/__algorithm/ranges_set_intersection.h
M libcxx/include/__algorithm/ranges_set_symmetric_difference.h
M libcxx/include/__algorithm/ranges_set_union.h
M libcxx/include/__algorithm/ranges_shuffle.h
M libcxx/include/__algorithm/ranges_sort.h
M libcxx/include/__algorithm/ranges_sort_heap.h
M libcxx/include/__algorithm/ranges_stable_partition.h
M libcxx/include/__algorithm/ranges_stable_sort.h
M libcxx/include/__algorithm/ranges_starts_with.h
M libcxx/include/__algorithm/ranges_swap_ranges.h
M libcxx/include/__algorithm/ranges_transform.h
M libcxx/include/__algorithm/ranges_unique.h
M libcxx/include/__algorithm/ranges_unique_copy.h
M libcxx/include/__algorithm/remove.h
M libcxx/include/__algorithm/remove_if.h
M libcxx/include/__algorithm/reverse.h
M libcxx/include/__algorithm/rotate.h
M libcxx/include/__algorithm/set_difference.h
M libcxx/include/__algorithm/set_intersection.h
M libcxx/include/__algorithm/set_symmetric_difference.h
M libcxx/include/__algorithm/set_union.h
M libcxx/include/__algorithm/shift_left.h
M libcxx/include/__algorithm/shift_right.h
M libcxx/include/__algorithm/sort.h
M libcxx/include/__algorithm/sort_heap.h
M libcxx/include/__algorithm/stable_partition.h
M libcxx/include/__algorithm/stable_sort.h
M libcxx/include/__algorithm/swap_ranges.h
M libcxx/include/__algorithm/three_way_comp_ref_type.h
M libcxx/include/__algorithm/unique.h
M libcxx/include/__algorithm/unique_copy.h
M libcxx/include/__algorithm/unwrap_iter.h
M libcxx/include/__algorithm/unwrap_range.h
M libcxx/include/__assert
M libcxx/include/__atomic/atomic_flag.h
M libcxx/include/__atomic/atomic_sync.h
M libcxx/include/__availability
M libcxx/include/__bit/bit_ceil.h
M libcxx/include/__chrono/ostream.h
M libcxx/include/__condition_variable/condition_variable.h
M libcxx/include/__config
M libcxx/include/__coroutine/coroutine_handle.h
M libcxx/include/__debug_utils/strict_weak_ordering_check.h
M libcxx/include/__exception/exception_ptr.h
M libcxx/include/__expected/expected.h
M libcxx/include/__filesystem/directory_iterator.h
M libcxx/include/__filesystem/path.h
M libcxx/include/__filesystem/recursive_directory_iterator.h
M libcxx/include/__format/format_arg.h
M libcxx/include/__format/format_context.h
M libcxx/include/__format/format_functions.h
M libcxx/include/__format/formatter_output.h
M libcxx/include/__format/write_escaped.h
M libcxx/include/__functional/function.h
M libcxx/include/__hash_table
M libcxx/include/__iterator/cpp17_iterator_concepts.h
M libcxx/include/__iterator/iterator_traits.h
M libcxx/include/__iterator/iterator_with_data.h
M libcxx/include/__memory/allocate_at_least.h
M libcxx/include/__memory/allocator.h
M libcxx/include/__memory/allocator_traits.h
M libcxx/include/__memory/assume_aligned.h
M libcxx/include/__memory/ranges_uninitialized_algorithms.h
M libcxx/include/__memory/raw_storage_iterator.h
M libcxx/include/__memory/shared_ptr.h
M libcxx/include/__memory/uninitialized_algorithms.h
M libcxx/include/__memory_resource/polymorphic_allocator.h
M libcxx/include/__mutex/mutex.h
M libcxx/include/__mutex/once_flag.h
M libcxx/include/__numeric/gcd_lcm.h
M libcxx/include/__numeric/pstl_reduce.h
M libcxx/include/__numeric/pstl_transform_reduce.h
M libcxx/include/__numeric/reduce.h
A libcxx/include/__numeric/saturation_arithmetic.h
M libcxx/include/__numeric/transform_reduce.h
M libcxx/include/__ranges/chunk_by_view.h
M libcxx/include/__ranges/counted.h
M libcxx/include/__ranges/drop_while_view.h
M libcxx/include/__ranges/elements_view.h
M libcxx/include/__ranges/filter_view.h
M libcxx/include/__ranges/iota_view.h
M libcxx/include/__ranges/join_view.h
M libcxx/include/__ranges/lazy_split_view.h
M libcxx/include/__ranges/repeat_view.h
M libcxx/include/__ranges/reverse_view.h
M libcxx/include/__ranges/single_view.h
M libcxx/include/__ranges/split_view.h
M libcxx/include/__ranges/take_while_view.h
M libcxx/include/__ranges/transform_view.h
M libcxx/include/__string/char_traits.h
M libcxx/include/__system_error/error_category.h
M libcxx/include/__thread/formatter.h
M libcxx/include/__thread/id.h
M libcxx/include/__thread/jthread.h
M libcxx/include/__thread/poll_with_backoff.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/__utility/pair.h
M libcxx/include/any
M libcxx/include/array
M libcxx/include/barrier
M libcxx/include/chrono
M libcxx/include/concepts
M libcxx/include/condition_variable
M libcxx/include/deque
M libcxx/include/experimental/__simd/aligned_tag.h
M libcxx/include/experimental/__simd/scalar.h
M libcxx/include/experimental/__simd/simd.h
M libcxx/include/experimental/__simd/simd_mask.h
M libcxx/include/experimental/__simd/vec_ext.h
M libcxx/include/experimental/iterator
M libcxx/include/format
M libcxx/include/future
M libcxx/include/ios
M libcxx/include/latch
M libcxx/include/libcxx.imp
M libcxx/include/map
M libcxx/include/memory
M libcxx/include/module.modulemap.in
M libcxx/include/mutex
M libcxx/include/new
M libcxx/include/numeric
M libcxx/include/ostream
M libcxx/include/queue
M libcxx/include/regex
M libcxx/include/semaphore
M libcxx/include/set
M libcxx/include/span
M libcxx/include/sstream
M libcxx/include/stack
M libcxx/include/string
M libcxx/include/string_view
M libcxx/include/strstream
M libcxx/include/thread
M libcxx/include/tuple
M libcxx/include/typeinfo
M libcxx/include/unordered_map
M libcxx/include/unordered_set
M libcxx/include/variant
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/CMakeLists.txt
A libcxx/modules/modules.json.in
M libcxx/modules/std.compat.cppm.in
M libcxx/modules/std.compat/cstdlib.inc
M libcxx/modules/std.compat/ctime.inc
M libcxx/modules/std.cppm.in
M libcxx/modules/std/atomic.inc
M libcxx/modules/std/ctime.inc
M libcxx/modules/std/iosfwd.inc
M libcxx/modules/std/memory.inc
M libcxx/modules/std/numeric.inc
M libcxx/modules/std/string.inc
M libcxx/modules/std/string_view.inc
M libcxx/src/CMakeLists.txt
M libcxx/src/call_once.cpp
M libcxx/src/condition_variable_destructor.cpp
M libcxx/src/filesystem/operations.cpp
A libcxx/src/include/overridable_function.h
M libcxx/src/include/to_chars_floating_point.h
M libcxx/src/memory_resource.cpp
M libcxx/src/mutex.cpp
M libcxx/src/mutex_destructor.cpp
M libcxx/src/new.cpp
M libcxx/src/support/runtime/exception_pointer_cxxabi.ipp
M libcxx/src/support/runtime/exception_pointer_glibcxx.ipp
M libcxx/src/support/runtime/exception_pointer_unimplemented.ipp
M libcxx/src/support/win32/thread_win32.cpp
M libcxx/test/libcxx/algorithms/alg.sorting/assert.min.max.pass.cpp
R libcxx/test/libcxx/algorithms/alg.sorting/assert.sort.invalid_comparator.pass.cpp
A libcxx/test/libcxx/algorithms/alg.sorting/assert.sort.invalid_comparator/assert.sort.invalid_comparator.oob.pass.cpp
A libcxx/test/libcxx/algorithms/alg.sorting/assert.sort.invalid_comparator/assert.sort.invalid_comparator.pass.cpp
A libcxx/test/libcxx/algorithms/alg.sorting/assert.sort.invalid_comparator/bad_comparator_values.h
A libcxx/test/libcxx/algorithms/alg.sorting/assert.sort.invalid_comparator/invalid_comparator_utilities.h
R libcxx/test/libcxx/algorithms/alg.sorting/bad_comparator_values.h
M libcxx/test/libcxx/assertions/customize_verbose_abort.compile-time.pass.cpp
M libcxx/test/libcxx/assertions/customize_verbose_abort.link-time.pass.cpp
M libcxx/test/libcxx/assertions/default_verbose_abort.pass.cpp
M libcxx/test/libcxx/assertions/modes/enabling_assertions_enables_extensive_mode.pass.cpp
M libcxx/test/libcxx/assertions/modes/extensive.pass.cpp
M libcxx/test/libcxx/assertions/modes/fast.pass.cpp
M libcxx/test/libcxx/assertions/modes/override_with_debug_mode.pass.cpp
M libcxx/test/libcxx/assertions/modes/override_with_extensive_mode.pass.cpp
M libcxx/test/libcxx/assertions/modes/override_with_fast_mode.pass.cpp
M libcxx/test/libcxx/assertions/modes/override_with_unchecked_mode.pass.cpp
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/containers/sequences/array/array.zero/assert.back.pass.cpp
M libcxx/test/libcxx/containers/sequences/array/array.zero/assert.front.pass.cpp
M libcxx/test/libcxx/containers/sequences/array/array.zero/assert.subscript.pass.cpp
M libcxx/test/libcxx/containers/sequences/deque/asan_caterpillar.pass.cpp
A libcxx/test/libcxx/containers/sequences/deque/assert.pass.cpp
M libcxx/test/libcxx/containers/sequences/deque/assert.pop_back.empty.pass.cpp
M libcxx/test/libcxx/containers/sequences/list/list.modifiers/assert.erase_iter.end.pass.cpp
M libcxx/test/libcxx/containers/sequences/list/list.modifiers/assert.pop_back.empty.pass.cpp
M libcxx/test/libcxx/containers/sequences/vector/assert.back.empty.pass.cpp
M libcxx/test/libcxx/containers/sequences/vector/assert.cback.empty.pass.cpp
M libcxx/test/libcxx/containers/sequences/vector/assert.cfront.empty.pass.cpp
M libcxx/test/libcxx/containers/sequences/vector/assert.cindex.oob.pass.cpp
M libcxx/test/libcxx/containers/sequences/vector/assert.front.empty.pass.cpp
M libcxx/test/libcxx/containers/sequences/vector/assert.index.oob.pass.cpp
M libcxx/test/libcxx/containers/sequences/vector/assert.pop_back.empty.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.map/assert.bucket.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.map/assert.bucket_size.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.map/assert.max_load_factor.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.multimap/assert.bucket.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.multimap/assert.bucket_size.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.multimap/assert.max_load_factor.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.multiset/assert.bucket.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.multiset/assert.bucket_size.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.multiset/assert.max_load_factor.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.set/assert.bucket.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.set/assert.bucket_size.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.set/assert.max_load_factor.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/extents/assert.conversion.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/extents/assert.ctor_from_array.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/extents/assert.ctor_from_integral.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/extents/assert.ctor_from_span.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/extents/assert.obs.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_left/assert.conversion.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_left/assert.ctor.extents.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_left/assert.ctor.layout_right.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_left/assert.ctor.layout_stride.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_left/assert.index_operator.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_left/assert.stride.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_right/assert.conversion.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_right/assert.ctor.extents.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_right/assert.ctor.layout_left.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_right/assert.ctor.layout_stride.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_right/assert.index_operator.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_right/assert.stride.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.conversion.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.ctor.extents_array.non_unique.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.ctor.extents_array.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.ctor.extents_span.non_unique.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.ctor.extents_span.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.index_operator.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.stride.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/mdspan/assert.conversion.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/mdspan/assert.index_operator.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/mdspan/assert.size.pass.cpp
M libcxx/test/libcxx/containers/views/views.span/span.cons/assert.iter_sent.pass.cpp
M libcxx/test/libcxx/containers/views/views.span/span.cons/assert.iter_size.pass.cpp
M libcxx/test/libcxx/containers/views/views.span/span.cons/assert.other_span.pass.cpp
M libcxx/test/libcxx/containers/views/views.span/span.cons/assert.range.pass.cpp
M libcxx/test/libcxx/containers/views/views.span/span.elem/assert.back.pass.cpp
M libcxx/test/libcxx/containers/views/views.span/span.elem/assert.front.pass.cpp
M libcxx/test/libcxx/containers/views/views.span/span.elem/assert.op_idx.pass.cpp
M libcxx/test/libcxx/containers/views/views.span/span.sub/assert.first.pass.cpp
M libcxx/test/libcxx/containers/views/views.span/span.sub/assert.last.pass.cpp
M libcxx/test/libcxx/containers/views/views.span/span.sub/assert.subspan.pass.cpp
M libcxx/test/libcxx/fuzzing/random.pass.cpp
M libcxx/test/libcxx/gdb/gdb_pretty_printer_test.sh.cpp
M libcxx/test/libcxx/input.output/filesystems/class.path/path.itr/assert.iterator.pass.cpp
M libcxx/test/libcxx/iterators/assert.advance.pass.cpp
M libcxx/test/libcxx/iterators/assert.next.pass.cpp
M libcxx/test/libcxx/iterators/assert.prev.pass.cpp
M libcxx/test/libcxx/iterators/bounded_iter/dereference.pass.cpp
M libcxx/test/libcxx/iterators/predef.iterators/counted.iterator/assert.pass.cpp
M libcxx/test/libcxx/iterators/predef.iterators/iterators.common/assert.pass.cpp
A libcxx/test/libcxx/language.support/support.dynamic/assert.nothrow_new_not_overridden_fno_exceptions.pass.cpp
A libcxx/test/libcxx/language.support/support.dynamic/new_dont_return_nullptr.pass.cpp
M libcxx/test/libcxx/module_std_compat.gen.py
M libcxx/test/libcxx/ranges/range.adaptors/range.chunk.by/assert.begin.pass.cpp
M libcxx/test/libcxx/ranges/range.adaptors/range.chunk.by/assert.find-next.pass.cpp
M libcxx/test/libcxx/ranges/range.adaptors/range.chunk.by/assert.find-prev.pass.cpp
M libcxx/test/libcxx/ranges/range.adaptors/range.chunk.by/range.chunk.by.iter/assert.deref.pass.cpp
M libcxx/test/libcxx/ranges/range.adaptors/range.chunk.by/range.chunk.by.iter/assert.increment.pass.cpp
M libcxx/test/libcxx/ranges/range.adaptors/range.drop.while/assert.begin.pass.cpp
M libcxx/test/libcxx/ranges/range.adaptors/range.lazy.split/range.lazy.split.inner/assert.equal.pass.cpp
M libcxx/test/libcxx/ranges/range.adaptors/range.lazy.split/range.lazy.split.outer/assert.equal.pass.cpp
M libcxx/test/libcxx/strings/basic.string/string.access/assert.back.pass.cpp
M libcxx/test/libcxx/strings/basic.string/string.access/assert.cback.pass.cpp
M libcxx/test/libcxx/strings/basic.string/string.access/assert.cfront.pass.cpp
M libcxx/test/libcxx/strings/basic.string/string.access/assert.cindex.pass.cpp
M libcxx/test/libcxx/strings/basic.string/string.access/assert.front.pass.cpp
M libcxx/test/libcxx/strings/basic.string/string.access/assert.index.pass.cpp
M libcxx/test/libcxx/strings/basic.string/string.capacity/allocation_size.pass.cpp
M libcxx/test/libcxx/strings/basic.string/string.capacity/max_size.pass.cpp
M libcxx/test/libcxx/strings/basic.string/string.modifiers/assert.erase_iter.null.pass.cpp
M libcxx/test/libcxx/strings/basic.string/string.modifiers/assert.pop_back.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/strings/string.view/assert.ctor.length.pass.cpp
M libcxx/test/libcxx/strings/string.view/assert.ctor.pointer.pass.cpp
M libcxx/test/libcxx/system_reserved_names.gen.py
M libcxx/test/libcxx/thread/futures/futures.promise/assert.set_exception.pass.cpp
M libcxx/test/libcxx/thread/futures/futures.promise/assert.set_exception_at_thread_exit.pass.cpp
M libcxx/test/libcxx/thread/thread.barrier/assert.arrive.pass.cpp
M libcxx/test/libcxx/thread/thread.barrier/assert.ctor.pass.cpp
M libcxx/test/libcxx/thread/thread.latch/assert.arrive_and_wait.pass.cpp
M libcxx/test/libcxx/thread/thread.latch/assert.count_down.pass.cpp
M libcxx/test/libcxx/thread/thread.latch/assert.ctor.pass.cpp
M libcxx/test/libcxx/thread/thread.semaphore/assert.ctor.pass.cpp
M libcxx/test/libcxx/thread/thread.semaphore/assert.release.pass.cpp
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
M libcxx/test/libcxx/utilities/assert.exception_guard.no_exceptions.pass.cpp
M libcxx/test/libcxx/utilities/expected/expected.expected/assert.arrow.pass.cpp
M libcxx/test/libcxx/utilities/expected/expected.expected/assert.deref.pass.cpp
M libcxx/test/libcxx/utilities/expected/expected.expected/assert.error.pass.cpp
M libcxx/test/libcxx/utilities/expected/expected.expected/no_unique_address.compile.pass.cpp
M libcxx/test/libcxx/utilities/expected/expected.expected/transform_error.mandates.verify.cpp
M libcxx/test/libcxx/utilities/expected/expected.void/assert.deref.pass.cpp
M libcxx/test/libcxx/utilities/expected/expected.void/assert.error.pass.cpp
M libcxx/test/libcxx/utilities/expected/expected.void/no_unique_address.compile.pass.cpp
M libcxx/test/libcxx/utilities/expected/expected.void/transform_error.mandates.verify.cpp
A libcxx/test/libcxx/utilities/expected/expected.void/value.lwg3940.verify.cpp
A libcxx/test/libcxx/utilities/format/format.functions/ascii.pass.cpp
A libcxx/test/libcxx/utilities/format/format.functions/escaped_output.ascii.pass.cpp
A libcxx/test/libcxx/utilities/memory/ptr.align/assume_aligned.const_eval.verify.cpp
M libcxx/test/libcxx/utilities/optional/optional.object/optional.object.observe/assert.dereference.pass.cpp
M libcxx/test/libcxx/utilities/optional/optional.object/optional.object.observe/assert.op_arrow.pass.cpp
M libcxx/test/libcxx/utilities/tuple/tuple.tuple/tuple.assign/tuple_array_template_depth.pass.cpp
A libcxx/test/libcxx/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/assert.deallocate.pass.cpp
R libcxx/test/libcxx/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/debug.deallocate.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/pstl.exception_handling.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.move/pstl.exception_handling.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/pstl.exception_handling.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.rotate/pstl.exception_handling.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.transform/pstl.exception_handling.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.all_of/pstl.exception_handling.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.any_of/pstl.exception_handling.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.contains/ranges.contains.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/pstl.exception_handling.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/find.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/pstl.exception_handling.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.fold/left_folds.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/pstl.exception_handling.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/pstl.for_each_n.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.none_of/pstl.exception_handling.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.merge/pstl.exception_handling.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/stable.sort/pstl.exception_handling.pass.cpp
M libcxx/test/std/algorithms/numeric.ops/reduce/pstl.exception_handling.pass.cpp
M libcxx/test/std/algorithms/numeric.ops/transform.reduce/pstl.exception_handling.pass.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
M libcxx/test/std/containers/sequences/array/size_and_alignment.compile.pass.cpp
M libcxx/test/std/containers/views/views.span/span.cons/array.pass.cpp
A libcxx/test/std/containers/views/views.span/span.cons/initializer_list.assert.pass.cpp
M libcxx/test/std/containers/views/views.span/span.cons/initializer_list.pass.cpp
A libcxx/test/std/containers/views/views.span/span.cons/initializer_list.verify.cpp
M libcxx/test/std/containers/views/views.span/span.cons/iterator_len.verify.cpp
M libcxx/test/std/depr/depr.c.headers/math_h.pass.cpp
M libcxx/test/std/diagnostics/syserr/syserr.compare/eq_error_code_error_code.pass.cpp
M libcxx/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.derived/message.pass.cpp
M libcxx/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/system_category.pass.cpp
A libcxx/test/std/experimental/simd/simd.class/simd_ctor_load.pass.cpp
A libcxx/test/std/experimental/simd/simd.mask.class/simd_mask_ctor_load.pass.cpp
M libcxx/test/std/experimental/simd/test_utils.h
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.remove_all/remove_all.pass.cpp
A libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size.except.pass.cpp
A libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align.except.pass.cpp
A 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.array/new.size_align_nothrow.replace.indirect.pass.cpp
A libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_nothrow.except.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_nothrow.replace.indirect.pass.cpp
A libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size.except.pass.cpp
A libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_align.except.pass.cpp
A 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.dynamic/new.delete/new.delete.single/new.size_align_nothrow.replace.indirect.pass.cpp
A libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_nothrow.except.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_nothrow.replace.indirect.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/numeric.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/span.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/c.math/cmath.pass.cpp
M libcxx/test/std/numerics/numeric.ops/numeric.ops.midpoint/midpoint.pointer.pass.cpp
A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/add_sat.compile.pass.cpp
A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/add_sat.pass.cpp
A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/div_sat.assert.pass.cpp
A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/div_sat.compile.pass.cpp
A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/div_sat.pass.cpp
A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/mul_sat.compile.pass.cpp
A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/mul_sat.pass.cpp
A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturate_cast.compile.pass.cpp
A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturate_cast.pass.cpp
A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/sub_sat.compile.pass.cpp
A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/sub_sat.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.chunk.by/range.chunk.by.iter/compare.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.chunk.by/range.chunk.by.iter/decrement.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.filter/iterator/arrow.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.filter/iterator/base.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.filter/iterator/ctor.parent_iter.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.filter/iterator/decrement.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.filter/iterator/deref.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.filter/sentinel/base.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.filter/sentinel/compare.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.filter/sentinel/ctor.default.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.filter/sentinel/ctor.parent.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.filter/types.h
M libcxx/test/std/re/re.const/re.matchflag/match_not_eol.pass.cpp
M libcxx/test/std/strings/basic.string/string.capacity/max_size.pass.cpp
M libcxx/test/std/strings/basic.string/string.modifiers/string_append/pointer_size.pass.cpp
A libcxx/test/std/thread/thread.condition/thread.condition.condvarany/helpers.h
M libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_for_token_pred.pass.cpp
M libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_token_pred.pass.cpp
M libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_until_token_pred.pass.cpp
M libcxx/test/std/time/time.clock/time.clock.local/ostream.pass.cpp
A libcxx/test/std/time/time.clock/time.clock.local/ostream.verify.cpp
R libcxx/test/std/time/time.clock/time.clock.system/ostream.pass.cpp
A libcxx/test/std/time/time.clock/time.clock.system/sys_date.ostream.pass.cpp
A libcxx/test/std/time/time.clock/time.clock.system/sys_time.ostream.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
A libcxx/test/std/utilities/any/any.nonmembers/any.cast/void.verify.cpp
M libcxx/test/std/utilities/expected/expected.expected/assign/assign.U.pass.cpp
M libcxx/test/std/utilities/expected/expected.expected/assign/assign.copy.pass.cpp
M libcxx/test/std/utilities/expected/expected.expected/assign/assign.move.pass.cpp
M libcxx/test/std/utilities/expected/expected.expected/assign/emplace.pass.cpp
M libcxx/test/std/utilities/expected/expected.expected/monadic/transform.pass.cpp
M libcxx/test/std/utilities/expected/expected.expected/monadic/transform_error.pass.cpp
M libcxx/test/std/utilities/expected/expected.expected/swap/member.swap.pass.cpp
M libcxx/test/std/utilities/expected/expected.void/assign/assign.copy.pass.cpp
M libcxx/test/std/utilities/expected/expected.void/assign/assign.move.pass.cpp
M libcxx/test/std/utilities/expected/expected.void/assign/assign.unexpected.copy.pass.cpp
M libcxx/test/std/utilities/expected/expected.void/assign/assign.unexpected.move.pass.cpp
M libcxx/test/std/utilities/expected/expected.void/monadic/transform_error.pass.cpp
M libcxx/test/std/utilities/expected/expected.void/observers/value.pass.cpp
M libcxx/test/std/utilities/expected/expected.void/swap/member.swap.pass.cpp
M libcxx/test/std/utilities/expected/types.h
A libcxx/test/std/utilities/format/format.arguments/format.arg/visit.pass.cpp
A libcxx/test/std/utilities/format/format.arguments/format.arg/visit.return_type.pass.cpp
A libcxx/test/std/utilities/format/format.arguments/format.arg/visit_format_arg.deprecated.verify.cpp
M libcxx/test/std/utilities/format/format.arguments/format.arg/visit_format_arg.pass.cpp
M libcxx/test/std/utilities/format/format.arguments/format.args/get.pass.cpp
R libcxx/test/std/utilities/format/format.functions/ascii.pass.cpp
R libcxx/test/std/utilities/format/format.functions/escaped_output.ascii.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/memory/default.allocator/allocator_types.deprecated_in_cxx23.verify.cpp
M libcxx/test/std/utilities/memory/default.allocator/allocator_types.pass.cpp
A libcxx/test/std/utilities/memory/default.allocator/allocator_types.removed_in_cxx26.verify.cpp
A libcxx/test/std/utilities/variant/variant.visit.member/robust_against_adl.pass.cpp
A libcxx/test/std/utilities/variant/variant.visit.member/visit.pass.cpp
A libcxx/test/std/utilities/variant/variant.visit.member/visit_return_type.pass.cpp
M libcxx/test/support/atomic_helpers.h
M libcxx/test/support/check_assertion.h
M libcxx/test/support/count_new.h
M libcxx/test/support/test.support/test_check_assertion.pass.cpp
M libcxx/test/support/test_basic_format_arg.h
M libcxx/test/support/test_macros.h
A libcxx/trigger
M libcxx/utils/ci/buildkite-pipeline.yml
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/header_information.py
M libcxx/utils/libcxx/test/features.py
M libcxx/utils/libcxx/test/format.py
M libcxx/utils/libcxx/test/modules.py
A libcxx/vendor/llvm/default_assertion_handler.in
M libcxxabi/include/cxxabi.h
M libcxxabi/lib/exceptions.exp
M libcxxabi/src/cxa_exception.cpp
M libcxxabi/src/cxa_exception_storage.cpp
M libcxxabi/src/cxa_guard_impl.h
M libcxxabi/src/cxa_thread_atexit.cpp
M libcxxabi/src/demangle/ItaniumDemangle.h
M libcxxabi/src/fallback_malloc.cpp
M libcxxabi/src/stdlib_new_delete.cpp
M libcxxabi/test/test_fallback_malloc.pass.cpp
M libunwind/docs/index.rst
M lld/COFF/DLL.cpp
M lld/COFF/Driver.cpp
M lld/COFF/DriverUtils.cpp
M lld/COFF/InputFiles.cpp
M lld/COFF/PDB.cpp
M lld/COFF/Writer.cpp
M lld/Common/Args.cpp
M lld/Common/DriverDispatcher.cpp
M lld/ELF/Arch/ARM.cpp
M lld/ELF/Arch/Mips.cpp
M lld/ELF/Arch/PPC64.cpp
M lld/ELF/Arch/RISCV.cpp
M lld/ELF/Arch/X86_64.cpp
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/DriverUtils.cpp
M lld/ELF/InputFiles.cpp
M lld/ELF/InputFiles.h
M lld/ELF/InputSection.cpp
M lld/ELF/InputSection.h
M lld/ELF/LTO.cpp
M lld/ELF/LTO.h
M lld/ELF/LinkerScript.cpp
M lld/ELF/MapFile.cpp
M lld/ELF/Relocations.cpp
M lld/ELF/ScriptLexer.h
M lld/ELF/ScriptParser.cpp
M lld/ELF/Symbols.cpp
M lld/ELF/Symbols.h
M lld/ELF/SyntheticSections.cpp
M lld/ELF/Target.cpp
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/DriverUtils.cpp
M lld/MachO/InputFiles.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/docs/ReleaseNotes.rst
A lld/test/COFF/Inputs/lto-directives.obj
A lld/test/COFF/cfguard-weak-undef.s
M lld/test/COFF/imports.test
A lld/test/COFF/lto-directives.test
M lld/test/COFF/pdb-publics-import.test
M lld/test/ELF/allow-shlib-undefined.s
M lld/test/ELF/common-archive-lookup.s
M lld/test/ELF/common-page.s
M lld/test/ELF/cref.s
M lld/test/ELF/dead-reloc-in-nonalloc.s
M lld/test/ELF/driver.test
M lld/test/ELF/linkerscript/symbol-ordering-file2.s
M lld/test/ELF/lto/amdgcn-oses.ll
M lld/test/ELF/lto/cache.ll
M lld/test/ELF/lto/comdat-mixed-archive.test
M lld/test/ELF/lto/defsym.ll
M lld/test/ELF/lto/devirt_validate_vtable_typeinfos.ll
M lld/test/ELF/lto/emit-asm.ll
M lld/test/ELF/lto/exclude-libs-libcall.ll
M lld/test/ELF/lto/ltopasses-custom.ll
M lld/test/ELF/lto/obj-path.ll
M lld/test/ELF/lto/parallel-internalize.ll
M lld/test/ELF/lto/parallel.ll
M lld/test/ELF/lto/pseudo-probe-lto.ll
M lld/test/ELF/lto/save-temps-eq.ll
M lld/test/ELF/lto/thin-archivecollision.ll
M lld/test/ELF/lto/thinlto-emit-imports.ll
M lld/test/ELF/lto/thinlto-emit-index.ll
R lld/test/ELF/lto/thinlto-index-file.ll
M lld/test/ELF/lto/thinlto-index-only.ll
R lld/test/ELF/lto/thinlto-obj-path.ll
M lld/test/ELF/lto/thinlto.ll
A lld/test/ELF/riscv-tlsdesc-gd-mixed.s
A lld/test/ELF/riscv-tlsdesc-relax.s
A lld/test/ELF/riscv-tlsdesc.s
M lld/test/ELF/warn-backrefs.s
M lld/test/ELF/x86-64-gotpc-no-relax-err.s
A lld/test/ELF/x86-64-pc32-overflow-large.s
M lld/test/ELF/x86-64-zrel-zrela.s
M lld/test/MachO/arm64-32-stubs.s
A lld/test/MachO/arm64-objc-stubs-dead.s
A lld/test/MachO/arm64-objc-stubs-dyn.s
A lld/test/MachO/arm64-objc-stubs-fix.s
M lld/test/MachO/arm64-objc-stubs.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
A lld/test/MachO/link-csu-object.s
M lld/test/MachO/lto-mattrs.ll
M lld/test/MachO/objc-selrefs.s
M lld/test/MachO/x86-64-objc-stubs.s
M lld/test/MinGW/driver.test
A lld/test/wasm/Inputs/start-lib1.s
A lld/test/wasm/Inputs/start-lib2.s
R lld/test/wasm/archive-no-index.s
M lld/test/wasm/bad-archive-member.s
A lld/test/wasm/lto/thin-archivecollision.ll
M lld/test/wasm/signature-mismatch.s
A lld/test/wasm/start-lib.s
M lld/test/wasm/unresolved-symbols.s
M lld/wasm/Config.h
M lld/wasm/Driver.cpp
M lld/wasm/InputChunks.cpp
M lld/wasm/InputChunks.h
M lld/wasm/InputElement.h
M lld/wasm/InputFiles.cpp
M lld/wasm/InputFiles.h
M lld/wasm/LTO.cpp
M lld/wasm/MapFile.cpp
M lld/wasm/MarkLive.cpp
M lld/wasm/Options.td
M lld/wasm/OutputSections.cpp
M lld/wasm/OutputSegment.h
M lld/wasm/Relocations.cpp
M lld/wasm/SymbolTable.cpp
M lld/wasm/SymbolTable.h
M lld/wasm/Symbols.cpp
M lld/wasm/Symbols.h
M lld/wasm/SyntheticSections.cpp
M lld/wasm/Writer.cpp
M lld/wasm/WriterUtils.cpp
M lldb/cmake/modules/LLDBConfig.cmake
M lldb/include/lldb/API/LLDB.h
M lldb/include/lldb/API/SBBreakpointName.h
M lldb/include/lldb/Breakpoint/Breakpoint.h
M lldb/include/lldb/Breakpoint/BreakpointID.h
M lldb/include/lldb/Breakpoint/BreakpointIDList.h
M lldb/include/lldb/Breakpoint/BreakpointLocation.h
M lldb/include/lldb/Breakpoint/BreakpointName.h
M lldb/include/lldb/Breakpoint/BreakpointResolverScripted.h
M lldb/include/lldb/Breakpoint/Watchpoint.h
A lldb/include/lldb/Breakpoint/WatchpointAlgorithms.h
M lldb/include/lldb/Breakpoint/WatchpointResource.h
R lldb/include/lldb/Breakpoint/WatchpointResourceList.h
M lldb/include/lldb/Core/Address.h
M lldb/include/lldb/Core/DebuggerEvents.h
M lldb/include/lldb/Core/Progress.h
M lldb/include/lldb/Symbol/Symbol.h
M lldb/include/lldb/Symbol/SymbolContext.h
M lldb/include/lldb/Target/MemoryHistory.h
M lldb/include/lldb/Target/PathMappingList.h
M lldb/include/lldb/Target/Platform.h
M lldb/include/lldb/Target/Process.h
M lldb/include/lldb/Utility/Broadcaster.h
M lldb/include/lldb/Utility/ConstString.h
M lldb/include/lldb/Utility/Event.h
M lldb/include/lldb/Utility/Stream.h
M lldb/include/lldb/Utility/XcodeSDK.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/packages/Python/lldbsuite/test/concurrent_base.py
M lldb/packages/Python/lldbsuite/test/decorators.py
M lldb/packages/Python/lldbsuite/test/dotest.py
M lldb/packages/Python/lldbsuite/test/dotest_args.py
M lldb/packages/Python/lldbsuite/test/lldbtest.py
M lldb/source/API/SBBreakpointOptionCommon.h
M lldb/source/API/SBEvent.cpp
M lldb/source/API/SBTypeFilter.cpp
M lldb/source/API/SBTypeFormat.cpp
M lldb/source/API/SBTypeSummary.cpp
M lldb/source/API/SBTypeSynthetic.cpp
M lldb/source/Breakpoint/Breakpoint.cpp
M lldb/source/Breakpoint/BreakpointIDList.cpp
M lldb/source/Breakpoint/BreakpointList.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/WatchpointList.cpp
M lldb/source/Breakpoint/WatchpointResource.cpp
R lldb/source/Breakpoint/WatchpointResourceList.cpp
M lldb/source/Commands/CommandObjectBreakpoint.cpp
M lldb/source/Commands/CommandObjectFrame.cpp
M lldb/source/Commands/CommandObjectProcess.cpp
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/Commands/CommandObjectWatchpoint.cpp
M lldb/source/Core/Address.cpp
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/Expression/DiagnosticManager.cpp
M lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm
M lldb/source/Plugins/ABI/X86/ABIWindows_x86_64.h
M lldb/source/Plugins/Architecture/Mips/ArchitectureMips.h
M lldb/source/Plugins/DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernel.cpp
M lldb/source/Plugins/DynamicLoader/FreeBSD-Kernel/DynamicLoaderFreeBSDKernel.cpp
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOS.cpp
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.cpp
M lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.cpp
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.h
M lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxUnorderedMap.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxVector.cpp
M lldb/source/Plugins/Language/ObjC/NSArray.cpp
M lldb/source/Plugins/Language/ObjC/NSDictionary.cpp
M lldb/source/Plugins/Language/ObjC/NSSet.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
M lldb/source/Plugins/Platform/MacOSX/CMakeLists.txt
M lldb/source/Plugins/Platform/MacOSX/PlatformAppleSimulator.cpp
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwinKernel.cpp
M lldb/source/Plugins/Platform/MacOSX/PlatformMacOSX.cpp
A lldb/source/Plugins/Platform/MacOSX/PlatformRemoteAppleXR.cpp
A lldb/source/Plugins/Platform/MacOSX/PlatformRemoteAppleXR.h
M lldb/source/Plugins/Platform/MacOSX/objcxx/PlatformiOSSimulatorCoreSimulatorSupport.h
M lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.cpp
M lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_mips64.cpp
M lldb/source/Plugins/Process/Utility/StopInfoMachException.cpp
M lldb/source/Plugins/Process/Windows/Common/x64/RegisterContextWindows_x64.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Plugins/SymbolFile/CTF/SymbolFileCTF.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfo.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfo.h
M lldb/source/Plugins/SymbolFile/DWARF/DWARFFormValue.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFFormValue.h
M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.h
M lldb/source/Plugins/SymbolLocator/DebugSymbols/SymbolLocatorDebugSymbols.cpp
M lldb/source/Plugins/SymbolLocator/Debuginfod/SymbolLocatorDebuginfod.cpp
M lldb/source/Plugins/SymbolLocator/Debuginfod/SymbolLocatorDebuginfodProperties.td
M lldb/source/Plugins/SystemRuntime/MacOSX/SystemRuntimeMacOSX.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/Symbol/Symbol.cpp
M lldb/source/Symbol/SymbolContext.cpp
M lldb/source/Target/Process.cpp
M lldb/source/Target/StopInfo.cpp
M lldb/source/Target/Target.cpp
M lldb/source/Target/Thread.cpp
M lldb/source/Target/ThreadList.cpp
M lldb/source/Utility/Broadcaster.cpp
M lldb/source/Utility/Event.cpp
M lldb/source/Utility/Stream.cpp
M lldb/source/Utility/XcodeSDK.cpp
M lldb/test/API/CMakeLists.txt
M lldb/test/API/api/command-return-object/TestSBCommandReturnObject.py
M lldb/test/API/api/multiple-debuggers/TestMultipleDebuggers.py
M lldb/test/API/api/multiple-targets/TestMultipleTargets.py
M lldb/test/API/api/multithreaded/TestMultithreaded.py
M lldb/test/API/functionalities/breakpoint/hardware_breakpoints/require_hw_breakpoints/TestRequireHWBreakpoints.py
M lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSDate.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/chrono/TestDataFormatterLibcxxChrono.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/chrono/main.cpp
M lldb/test/API/functionalities/executable_first/TestExecutableFirst.py
M lldb/test/API/functionalities/watchpoint/large-watchpoint/TestLargeWatchpoint.py
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/lang/cpp/thread_local/TestThreadLocal.py
M lldb/test/API/lang/objc/modules-compile-error/TestModulesCompileError.py
M lldb/test/API/test_utils/TestDecorators.py
M lldb/test/API/tools/lldb-dap/completions/TestDAP_completions.py
M lldb/test/API/tools/lldb-dap/evaluate/TestDAP_evaluate.py
M lldb/test/Shell/Settings/Inputs/names.cpp
A lldb/test/Shell/Settings/TestFrameFormatName.test
R lldb/test/Shell/Settings/TestFrameFormatNameWithArgs.test
M lldb/tools/debugserver/source/MacOSX/MachProcess.mm
M lldb/tools/debugserver/source/MacOSX/arm64/DNBArchImplARM64.cpp
M lldb/tools/debugserver/source/RNBRemote.cpp
M lldb/tools/lldb-dap/CMakeLists.txt
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.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/DumpDataExtractorTest.cpp
M lldb/unittests/Disassembler/x86/TestGetControlFlowKindx86.cpp
M lldb/unittests/SymbolFile/DWARF/DWARFDIETest.cpp
M lldb/unittests/Utility/ConstStringTest.cpp
M lldb/unittests/Utility/XcodeSDKTest.cpp
M llvm/CMakeLists.txt
M llvm/cmake/modules/AddLLVM.cmake
M llvm/cmake/modules/FindFFI.cmake
M llvm/cmake/modules/LLVMConfig.cmake.in
M llvm/cmake/modules/LLVMExternalProjectUtils.cmake
M llvm/docs/AMDGPUUsage.rst
M llvm/docs/Atomics.rst
M llvm/docs/CodeOfConduct.rst
M llvm/docs/CodeReview.rst
M llvm/docs/CommandGuide/llvm-exegesis.rst
M llvm/docs/CommandGuide/llvm-profdata.rst
M llvm/docs/CoverageMappingFormat.rst
M llvm/docs/DeveloperPolicy.rst
A llvm/docs/DirectX/DXILArchitecture.rst
M llvm/docs/DirectXUsage.rst
M llvm/docs/FatLTO.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/Passes.rst
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.rst
A llvm/docs/RemoveDIsDebugInfo.md
M llvm/docs/TableGen/BackEnds.rst
M llvm/docs/TestingGuide.rst
M llvm/docs/UserGuides.rst
M llvm/include/llvm-c/Orc.h
M llvm/include/llvm/ADT/APFixedPoint.h
M llvm/include/llvm/ADT/ArrayRef.h
M llvm/include/llvm/ADT/FunctionExtras.h
M llvm/include/llvm/ADT/Hashing.h
M llvm/include/llvm/ADT/SetVector.h
M llvm/include/llvm/ADT/SmallPtrSet.h
M llvm/include/llvm/ADT/SmallVector.h
M llvm/include/llvm/ADT/StringExtras.h
M llvm/include/llvm/Analysis/AliasAnalysis.h
M llvm/include/llvm/Analysis/AliasSetTracker.h
M llvm/include/llvm/Analysis/BasicAliasAnalysis.h
M llvm/include/llvm/Analysis/BlockFrequencyInfoImpl.h
M llvm/include/llvm/Analysis/BranchProbabilityInfo.h
M llvm/include/llvm/Analysis/Loads.h
M llvm/include/llvm/Analysis/RegionInfoImpl.h
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/include/llvm/Analysis/VecFuncs.def
M llvm/include/llvm/Analysis/VectorUtils.h
M llvm/include/llvm/AsmParser/LLParser.h
A llvm/include/llvm/AsmParser/NumberedValues.h
M llvm/include/llvm/AsmParser/SlotMapping.h
M llvm/include/llvm/BinaryFormat/ELF.h
M llvm/include/llvm/BinaryFormat/ELFRelocs/RISCV.def
M llvm/include/llvm/BinaryFormat/Wasm.h
M llvm/include/llvm/BinaryFormat/WasmTraits.h
M llvm/include/llvm/Bitcode/BitcodeWriterPass.h
M llvm/include/llvm/CodeGen/AccelTable.h
M llvm/include/llvm/CodeGen/AsmPrinter.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
R llvm/include/llvm/CodeGen/CodeGenPassBuilder.h
M llvm/include/llvm/CodeGen/CommandFlags.h
M llvm/include/llvm/CodeGen/CostTable.h
M llvm/include/llvm/CodeGen/FastISel.h
A llvm/include/llvm/CodeGen/FreeMachineFunction.h
M llvm/include/llvm/CodeGen/GlobalISel/CallLowering.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/IRTranslator.h
M llvm/include/llvm/CodeGen/GlobalISel/LegacyLegalizerInfo.h
M llvm/include/llvm/CodeGen/GlobalISel/LegalizerInfo.h
M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
A llvm/include/llvm/CodeGen/GlobalMerge.h
M llvm/include/llvm/CodeGen/LiveInterval.h
M llvm/include/llvm/CodeGen/LivePhysRegs.h
R llvm/include/llvm/CodeGen/LowLevelType.h
M llvm/include/llvm/CodeGen/LowLevelTypeUtils.h
M llvm/include/llvm/CodeGen/MachineBasicBlock.h
M llvm/include/llvm/CodeGen/MachineMemOperand.h
M llvm/include/llvm/CodeGen/MachineOperand.h
M llvm/include/llvm/CodeGen/MachineOutliner.h
M llvm/include/llvm/CodeGen/MachinePassManager.h
R llvm/include/llvm/CodeGen/MachinePassRegistry.def
M llvm/include/llvm/CodeGen/MachinePipeliner.h
R llvm/include/llvm/CodeGen/MachineValueType.h
M llvm/include/llvm/CodeGen/RegisterBankInfo.h
M llvm/include/llvm/CodeGen/RegisterClassInfo.h
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/include/llvm/CodeGen/StackMaps.h
M llvm/include/llvm/CodeGen/TargetCallingConv.h
M llvm/include/llvm/CodeGen/TargetInstrInfo.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/CodeGen/TargetPassConfig.h
M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
M llvm/include/llvm/CodeGen/TargetSubtargetInfo.h
M llvm/include/llvm/CodeGen/ValueTypes.h
A llvm/include/llvm/CodeGenTypes/LowLevelType.h
A llvm/include/llvm/CodeGenTypes/MachineValueType.h
M llvm/include/llvm/DWARFLinker/AddressesMap.h
M llvm/include/llvm/DWARFLinker/Classic/DWARFLinker.h
M llvm/include/llvm/DWARFLinker/Classic/DWARFStreamer.h
M llvm/include/llvm/DWARFLinker/DWARFLinkerBase.h
A llvm/include/llvm/DWARFLinker/IndexedValuesMap.h
M llvm/include/llvm/DWARFLinker/Parallel/DWARFLinker.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVOptions.h
M llvm/include/llvm/Debuginfod/Debuginfod.h
M llvm/include/llvm/Demangle/ItaniumDemangle.h
M llvm/include/llvm/ExecutionEngine/JITLink/aarch32.h
M llvm/include/llvm/ExecutionEngine/Orc/Core.h
M llvm/include/llvm/ExecutionEngine/Orc/DebugUtils.h
M llvm/include/llvm/ExecutionEngine/Orc/MachOBuilder.h
M llvm/include/llvm/ExecutionEngine/Orc/MachOPlatform.h
M llvm/include/llvm/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.h
M llvm/include/llvm/ExecutionEngine/RuntimeDyldChecker.h
M llvm/include/llvm/Frontend/Directive/DirectiveBase.td
M llvm/include/llvm/Frontend/HLSL/HLSLResource.h
M llvm/include/llvm/Frontend/OpenMP/OMP.td
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/include/llvm/IR/CallingConv.h
M llvm/include/llvm/IR/DebugInfo.h
M llvm/include/llvm/IR/DebugInfoMetadata.h
M llvm/include/llvm/IR/DebugProgramInstruction.h
M llvm/include/llvm/IR/Function.h
M llvm/include/llvm/IR/GlobalObject.h
M llvm/include/llvm/IR/GlobalValue.h
M llvm/include/llvm/IR/Instruction.h
M llvm/include/llvm/IR/Intrinsics.td
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/include/llvm/IR/IntrinsicsLoongArch.td
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/include/llvm/IR/IntrinsicsPowerPC.td
M llvm/include/llvm/IR/IntrinsicsRISCV.td
M llvm/include/llvm/IR/IntrinsicsRISCVXsf.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/PatternMatch.h
M llvm/include/llvm/IR/ProfileSummary.h
A llvm/include/llvm/IR/VFABIDemangler.h
M llvm/include/llvm/IR/VPIntrinsics.def
M llvm/include/llvm/IR/Value.h
M llvm/include/llvm/MC/MCDecoderOps.h
M llvm/include/llvm/MC/MCObjectWriter.h
M llvm/include/llvm/MC/MCRegisterInfo.h
M llvm/include/llvm/MC/MCSymbolWasm.h
M llvm/include/llvm/Object/COFFImportFile.h
M llvm/include/llvm/Object/ELFObjectFile.h
M llvm/include/llvm/Object/MachO.h
M llvm/include/llvm/Object/OffloadBinary.h
M llvm/include/llvm/Object/Wasm.h
A llvm/include/llvm/Passes/CodeGenPassBuilder.h
A llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/include/llvm/Passes/PassBuilder.h
M llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
M llvm/include/llvm/ProfileData/SampleProf.h
M llvm/include/llvm/Support/AMDGPUMetadata.h
M llvm/include/llvm/Support/AutoConvert.h
A llvm/include/llvm/Support/DXILABI.h
R llvm/include/llvm/Support/DXILOperationCommon.h
M llvm/include/llvm/Support/FormatCommon.h
M llvm/include/llvm/Support/GenericDomTree.h
M llvm/include/llvm/Support/GenericLoopInfo.h
M llvm/include/llvm/Support/GenericLoopInfoImpl.h
M llvm/include/llvm/Support/JSON.h
M llvm/include/llvm/Support/RISCVAttributes.h
M llvm/include/llvm/Support/TargetOpcodes.def
M llvm/include/llvm/Support/VirtualFileSystem.h
M llvm/include/llvm/Support/X86DisassemblerDecoderCommon.h
M llvm/include/llvm/Support/X86FoldTablesUtils.h
M llvm/include/llvm/Support/raw_ostream.h
M llvm/include/llvm/TableGen/StringToOffsetTable.h
M llvm/include/llvm/Target/CGPassBuilderOption.h
M llvm/include/llvm/Target/Target.td
M llvm/include/llvm/Target/TargetInstrPredicate.td
M llvm/include/llvm/Target/TargetMachine.h
M llvm/include/llvm/Target/TargetOptions.h
M llvm/include/llvm/Target/TargetPfmCounters.td
M llvm/include/llvm/Target/TargetSchedule.td
M llvm/include/llvm/TargetParser/AArch64TargetParser.h
M llvm/include/llvm/TargetParser/ARMTargetParser.def
A llvm/include/llvm/TargetParser/PPCTargetParser.def
M llvm/include/llvm/TargetParser/Triple.h
M llvm/include/llvm/TargetParser/X86TargetParser.def
M llvm/include/llvm/TextAPI/InterfaceFile.h
M llvm/include/llvm/TextAPI/Record.h
M llvm/include/llvm/TextAPI/RecordsSlice.h
M llvm/include/llvm/TextAPI/Symbol.h
M llvm/include/llvm/TextAPI/SymbolSet.h
M llvm/include/llvm/Transforms/IPO/EmbedBitcodePass.h
M llvm/include/llvm/Transforms/Instrumentation/CGProfile.h
M llvm/include/llvm/Transforms/Scalar/ConstantHoisting.h
M llvm/include/llvm/Transforms/Utils/MemoryTaggingSupport.h
M llvm/include/llvm/Transforms/Utils/ModuleUtils.h
M llvm/include/llvm/Transforms/Utils/ScalarEvolutionExpander.h
M llvm/include/module.modulemap
M llvm/lib/Analysis/AliasSetTracker.cpp
M llvm/lib/Analysis/BasicAliasAnalysis.cpp
M llvm/lib/Analysis/CMakeLists.txt
M llvm/lib/Analysis/IRSimilarityIdentifier.cpp
M llvm/lib/Analysis/InlineCost.cpp
M llvm/lib/Analysis/InlineOrder.cpp
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/Lint.cpp
M llvm/lib/Analysis/Loads.cpp
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/Analysis/LoopInfo.cpp
M llvm/lib/Analysis/MemorySSA.cpp
M llvm/lib/Analysis/MemorySSAUpdater.cpp
M llvm/lib/Analysis/ReplayInlineAdvisor.cpp
M llvm/lib/Analysis/StackSafetyAnalysis.cpp
M llvm/lib/Analysis/TargetLibraryInfo.cpp
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Reader/MetadataLoader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriterPass.cpp
M llvm/lib/CMakeLists.txt
M llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp
M llvm/lib/CodeGen/AsmPrinter/AccelTable.cpp
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
M llvm/lib/CodeGen/BranchFolding.cpp
M llvm/lib/CodeGen/CMakeLists.txt
M llvm/lib/CodeGen/CallBrPrepare.cpp
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/CommandFlags.cpp
M llvm/lib/CodeGen/ExpandVectorPredication.cpp
A llvm/lib/CodeGen/FreeMachineFunction.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerInfo.cpp
M llvm/lib/CodeGen/GlobalMerge.cpp
R llvm/lib/CodeGen/LowLevelType.cpp
M llvm/lib/CodeGen/MIRParser/MIParser.cpp
M llvm/lib/CodeGen/MIRPrinter.cpp
M llvm/lib/CodeGen/MachineCopyPropagation.cpp
M llvm/lib/CodeGen/MachineInstr.cpp
M llvm/lib/CodeGen/MachineOperand.cpp
M llvm/lib/CodeGen/MachineOutliner.cpp
M llvm/lib/CodeGen/MachinePassManager.cpp
M llvm/lib/CodeGen/MachinePipeliner.cpp
M llvm/lib/CodeGen/MachineScheduler.cpp
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/lib/CodeGen/PatchableFunction.cpp
M llvm/lib/CodeGen/PeepholeOptimizer.cpp
M llvm/lib/CodeGen/RegisterClassInfo.cpp
M llvm/lib/CodeGen/ReplaceWithVeclib.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/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp
M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/CodeGen/StackMaps.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/CodeGen/TargetPassConfig.cpp
M llvm/lib/CodeGen/TargetRegisterInfo.cpp
M llvm/lib/CodeGen/UnreachableBlockElim.cpp
A llvm/lib/CodeGenTypes/CMakeLists.txt
A llvm/lib/CodeGenTypes/LowLevelType.cpp
M llvm/lib/DWARFLinker/CMakeLists.txt
M llvm/lib/DWARFLinker/Classic/DWARFLinker.cpp
M llvm/lib/DWARFLinker/Classic/DWARFStreamer.cpp
A llvm/lib/DWARFLinker/DWARFLinkerBase.cpp
M llvm/lib/DWARFLinker/Parallel/DWARFEmitterImpl.cpp
M llvm/lib/DWARFLinker/Parallel/DWARFEmitterImpl.h
M llvm/lib/DWARFLinker/Parallel/DWARFLinkerCompileUnit.cpp
M llvm/lib/DWARFLinker/Parallel/DWARFLinkerCompileUnit.h
M llvm/lib/DWARFLinker/Parallel/DWARFLinkerGlobalData.h
M llvm/lib/DWARFLinker/Parallel/DWARFLinkerImpl.cpp
M llvm/lib/DWARFLinker/Parallel/DWARFLinkerImpl.h
M llvm/lib/DWARFLinker/Parallel/DWARFLinkerTypeUnit.cpp
M llvm/lib/DWARFLinker/Parallel/DWARFLinkerTypeUnit.h
M llvm/lib/DWARFLinker/Parallel/DWARFLinkerUnit.h
M llvm/lib/DWARFLinker/Parallel/DependencyTracker.cpp
R llvm/lib/DWARFLinker/Parallel/IndexedValuesMap.h
M llvm/lib/DWARFLinker/Parallel/OutputSections.cpp
M llvm/lib/DWARFLinker/Parallel/OutputSections.h
M llvm/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp
M llvm/lib/DebugInfo/DWARF/DWARFContext.cpp
M llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
M llvm/lib/DebugInfo/DWARF/DWARFFormValue.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/LogicalView/Readers/LVCodeViewReader.cpp
M llvm/lib/DebugInfo/Symbolize/SymbolizableObjectFile.cpp
M llvm/lib/DebugInfo/Symbolize/Symbolize.cpp
M llvm/lib/Debuginfod/Debuginfod.cpp
M llvm/lib/ExecutionEngine/ExecutionEngine.cpp
M llvm/lib/ExecutionEngine/IntelJITEvents/IntelJITEventsWrapper.h
M llvm/lib/ExecutionEngine/JITLink/ELFLinkGraphBuilder.h
M llvm/lib/ExecutionEngine/JITLink/ELF_aarch32.cpp
M llvm/lib/ExecutionEngine/JITLink/aarch32.cpp
M llvm/lib/ExecutionEngine/Orc/Core.cpp
M llvm/lib/ExecutionEngine/Orc/DebugUtils.cpp
Log Message:
-----------
Rebase
Created using spr 1.3.4
Compare: https://github.com/llvm/llvm-project/compare/7a1a3d3f1f68...1dfed4513323
More information about the All-commits
mailing list