[all-commits] [llvm/llvm-project] 12326f: [RISCV][GISEL] lowerFormalArguments for variadic a...
Justin Bogner via All-commits
all-commits at lists.llvm.org
Wed Dec 6 14:47:38 PST 2023
Branch: refs/heads/users/bogner/spr/main.hlsl-add-helpers-to-simplify-hlsl-resource-type-declarations-nfc
Home: https://github.com/llvm/llvm-project
Commit: 12326f5ff08904a4cb172c66f4aa2b511c631ab0
https://github.com/llvm/llvm-project/commit/12326f5ff08904a4cb172c66f4aa2b511c631ab0
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVCallLowering.cpp
M llvm/lib/Target/RISCV/GISel/RISCVCallLowering.h
A llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/lower-args-vararg.ll
Log Message:
-----------
[RISCV][GISEL] lowerFormalArguments for variadic arguments (#73064)
This is based of the varargs coe in RISCVTargetLowering::LowerFormalArguments.
Commit: ea5b1ef016d020c37f903d6c7d4f623be975dab8
https://github.com/llvm/llvm-project/commit/ea5b1ef016d020c37f903d6c7d4f623be975dab8
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M clang/test/CXX/drs/dr0xx.cpp
Log Message:
-----------
[clang][NFC] Refactor expected directives in C++ DRs 1-99 (#73879)
This patch converts (almost) every expected directive in `test/CXX/drs/dr0xx.cpp` into either `@-1` form (when directive immediately follow the line diagnostic is pointing out to), or `@#<marker>` form (when directive is placed away from the line diagnostic is pointing out to). It also converts directive to match exactly one diagnostic, as opposed to matching multiple. Error messages are expanded to exactly match compiler output. `#if __cplusplus` guarding directives are replaced with respective prefixes (e.g. `since-cxx17`).
All aforementioned changes serve a purpose of making it easier to reconstruct expected compiler output, which should also make it a bit easier to grasp the gist of those already non-trivial tests due to their nature of testing corner cases of the language.
Commit: 5b729503946cd88b71264405f6a7c50014efff4f
https://github.com/llvm/llvm-project/commit/5b729503946cd88b71264405f6a7c50014efff4f
Author: Aart Bik <39774503+aartbik at users.noreply.github.com>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensor.h
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorType.h
M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/LoopEmitter.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorCodegen.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorDescriptor.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorDescriptor.h
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
Log Message:
-----------
[mlir][sparse] move all COO related methods into SparseTensorType (#73881)
This centralizes all COO methods, and provides a cleaner API. Note that
the "enc" only constructor is a temporary workaround the need for COO
methods inside the "enc" only storage specifier.
Commit: 52be47b890d371c6033e84adabe03198a1cb9a38
https://github.com/llvm/llvm-project/commit/52be47b890d371c6033e84adabe03198a1cb9a38
Author: Alexander Yermolovich <43973793+ayermolo at users.noreply.github.com>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M bolt/lib/Rewrite/DWARFRewriter.cpp
M bolt/test/X86/dwarf5-df-output-dir-same-name.test
Log Message:
-----------
[BOLT][DWARF] Add support to create path (#73884)
When option --dwarf-output-path is specified, if the path does not exist
BOLT will now create it. This is what also happens when
--plugin-opt=dwo_dir=<value> is specified to LLD.
Commit: cc944f502f1ee20d73ff88c2c86cc909f12caadb
https://github.com/llvm/llvm-project/commit/cc944f502f1ee20d73ff88c2c86cc909f12caadb
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AArch64/AArch64FrameLowering.h
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.h
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.cpp
M llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.h
A llvm/test/CodeGen/AArch64/stack-probing-64k.ll
A llvm/test/CodeGen/AArch64/stack-probing-last-in-block.mir
A llvm/test/CodeGen/AArch64/stack-probing-sve.ll
A llvm/test/CodeGen/AArch64/stack-probing.ll
Log Message:
-----------
[AArch64] Stack probing for function prologues (#66524)
This adds code to AArch64 function prologues to protect against stack
clash attacks by probing (writing to) the stack at regular enough
intervals to ensure that the guard page cannot be skipped over.
The patch depends on and maintains the following invariants:
Upon function entry the caller guarantees that it has probed the stack
(e.g. performed a store) at some address [sp, #N], where`0 <= N <=
1024`. This invariant comes from a requirement for compatibility with
GCC. Any address range in the allocated stack, no smaller than
stack-probe-size bytes contains at least one probe At any time the stack
pointer is above or in the guard page Probes are performed in
descreasing address order
The stack-probe-size is a function attribute that can be set by a
platform to correspond to the guard page size.
By default, the stack probe size is 4KiB, which is a safe default as
this is the smallest possible page size for AArch64. Linux uses a 64KiB
guard for AArch64, so this can be overridden by the stack-probe-size
function attribute.
For small frames without a frame pointer (<= 240 bytes), no probes are
needed.
For larger frame sizes, LLVM always stores x29 to the stack. This serves
as an implicit stack probe. Thus, while allocating stack objects the
compiler assumes that the stack has been probed at [sp].
There are multiple probing sequences that can be emitted, depending on
the size of the stack allocation:
A straight-line sequence of subtracts and stores, used when the
allocation size is smaller than 5 guard pages. A loop allocating and
probing one page size per iteration, plus at most a single probe to deal
with the remainder, used when the allocation size is larger but still
known at compile time. A loop which moves the SP down to the target
value held in a register (or a loop, moving a scratch register to the
target value help in SP), used when the allocation size is not known at
compile-time, such as when allocating space for SVE values, or when
over-aligning the stack. This is emitted in AArch64InstrInfo because it
will also be used for dynamic allocas in a future patch. A single probe
where the amount of stack adjustment is unknown, but is known to be less
than or equal to a page size.
---------
Co-authored-by: Oliver Stannard <oliver.stannard at linaro.org>
Commit: cb13e9286b6d4e384b5d4203e853d44e2eff0f0f
https://github.com/llvm/llvm-project/commit/cb13e9286b6d4e384b5d4203e853d44e2eff0f0f
Author: Eduard Zingerman <eddyz87 at gmail.com>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
A clang/test/CodeGen/bpf-preserve-static-offset-arr.c
A clang/test/CodeGen/bpf-preserve-static-offset-bitfield.c
A clang/test/CodeGen/bpf-preserve-static-offset-lvalue.c
A clang/test/CodeGen/bpf-preserve-static-offset-non-bpf.c
A clang/test/CodeGen/bpf-preserve-static-offset-pai.c
M clang/test/Misc/pragma-attribute-supported-attributes-list.test
A clang/test/Sema/bpf-attr-preserve-static-offset-warns-nonbpf.c
A clang/test/Sema/bpf-attr-preserve-static-offset-warns.c
A clang/test/Sema/bpf-attr-preserve-static-offset.c
M llvm/include/llvm/IR/Intrinsics.td
M llvm/include/llvm/IR/IntrinsicsBPF.td
M llvm/lib/Target/BPF/BPF.h
M llvm/lib/Target/BPF/BPFAbstractMemberAccess.cpp
M llvm/lib/Target/BPF/BPFCORE.h
M llvm/lib/Target/BPF/BPFCheckAndAdjustIR.cpp
A llvm/lib/Target/BPF/BPFPreserveStaticOffset.cpp
M llvm/lib/Target/BPF/BPFTargetMachine.cpp
M llvm/lib/Target/BPF/CMakeLists.txt
A llvm/test/CodeGen/BPF/preserve-static-offset/load-align.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/load-arr-pai.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/load-atomic.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/load-chain-2.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/load-chain-oob.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/load-chain-u8-oob.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/load-chain-u8-type-mismatch.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/load-chain-u8.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/load-chain.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/load-inline.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/load-non-const.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/load-ptr-pai.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/load-simple.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/load-struct-pai.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/load-undo-align.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/load-undo-chain-oob.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/load-undo-chain-u8.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/load-undo-chain.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/load-undo-simple.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/load-undo-volatile.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/load-union-pai.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/load-unroll-inline.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/load-unroll.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/load-volatile.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/load-zero.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/store-align.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/store-atomic.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/store-chain-2.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/store-chain-oob.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/store-chain-u8-oob.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/store-chain-u8.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/store-chain.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/store-pai.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/store-simple.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/store-undo-align.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/store-undo-chain-oob.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/store-undo-chain-u8.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/store-undo-chain.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/store-undo-simple.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/store-undo-volatile.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/store-unroll-inline.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/store-volatile.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/store-zero.ll
Log Message:
-----------
[BPF] Attribute preserve_static_offset for structs
This commit adds a new BPF specific structure attribte
`__attribute__((preserve_static_offset))` and a pass to deal with it.
This attribute may be attached to a struct or union declaration, where
it notifies the compiler that this structure is a "context" structure.
The following limitations apply to context structures:
- runtime environment might patch access to the fields of this type by
updating the field offset;
BPF verifier limits access patterns allowed for certain data
types. E.g. `struct __sk_buff` and `struct bpf_sock_ops`. For these
types only `LD/ST <reg> <static-offset>` memory loads and stores are
allowed.
This is so because offsets of the fields of these structures do not
match real offsets in the running kernel. During BPF program
load/verification loads and stores to the fields of these types are
rewritten so that offsets match real offsets. For this rewrite to
happen static offsets have to be encoded in the instructions.
See `kernel/bpf/verifier.c:convert_ctx_access` function in the Linux
kernel source tree for details.
- runtime environment might disallow access to the field of the type
through modified pointers.
During BPF program verification a tag `PTR_TO_CTX` is tracked for
register values. In case if register with such tag is modified BPF
programs are not allowed to read or write memory using register. See
kernel/bpf/verifier.c:check_mem_access function in the Linux kernel
source tree for details.
Access to the structure fields is translated to IR as a sequence:
- `(load (getelementptr %ptr %offset))` or
- `(store (getelementptr %ptr %offset))`
During instruction selection phase such sequences are translated as a
single load instruction with embedded offset, e.g. `LDW %ptr, %offset`,
which matches access pattern necessary for the restricted
set of types described above (when `%offset` is static).
Multiple optimizer passes might separate these instructions, this
includes:
- SimplifyCFGPass (sinking)
- InstCombine (sinking)
- GVN (hoisting)
The `preserve_static_offset` attribute marks structures for which the
following transformations happen:
- at the early IR processing stage:
- `(load (getelementptr ...))` replaced by call to intrinsic
`llvm.bpf.getelementptr.and.load`;
- `(store (getelementptr ...))` replaced by call to intrinsic
`llvm.bpf.getelementptr.and.store`;
- at the late IR processing stage this modification is undone.
Such handling prevents various optimizer passes from generating
sequences of instructions that would be rejected by BPF verifier.
The __attribute__((preserve_static_offset)) has a priority over
__attribute__((preserve_access_index)). When preserve_access_index
attribute is present preserve access index transformations are not
applied.
This addresses the issue reported by the following thread:
https://lore.kernel.org/bpf/CAA-VZPmxh8o8EBcJ=m-DH4ytcxDFmo0JKsm1p1gf40kS0CE3NQ@mail.gmail.com/T/#m4b9ce2ce73b34f34172328f975235fc6f19841b6
Differential Revision: https://reviews.llvm.org/D133361
Commit: d1bf1947e4e4f3ef75f2ba3ac9aa77dc38214de1
https://github.com/llvm/llvm-project/commit/d1bf1947e4e4f3ef75f2ba3ac9aa77dc38214de1
Author: jimingham <jingham at apple.com>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Target/Process.cpp
A lldb/test/API/python_api/process/cancel_attach/TestCancelAttach.py
M lldb/tools/debugserver/source/DNB.cpp
Log Message:
-----------
Send an explicit interrupt to cancel an attach waitfor. (#72565)
Currently when you interrupt a:
(lldb) process attach -w -n some_process
lldb just closes the connection to the stub and kills the
lldb_private::Process it made for the attach. The stub at the other end
notices the connection go down and exits because of that. But when
communication to a device is handled through some kind of proxy server
which isn't as well behaved as one would wish, that signal might not be
reliable, causing debugserver to persist on the machine, waiting to
steal the next instance of that process.
We can work around those failures by sending an explicit interrupt
before closing down the connection. The stub will also have to be
waiting for the interrupt for this to make any difference. I changed
debugserver to do that.
I didn't make the equivalent change in lldb-server. So long as you
aren't faced with a flakey connection, this should not be necessary.
Commit: 2eff36b7d33fb9ea5c15ea8561fe6b30105d48f5
https://github.com/llvm/llvm-project/commit/2eff36b7d33fb9ea5c15ea8561fe6b30105d48f5
Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
R llvm/include/llvm/CodeGen/SafeStack.h
M llvm/lib/CodeGen/SafeStack.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/test/Transforms/SafeStack/AArch64/abi.ll
M llvm/test/Transforms/SafeStack/AArch64/abi_ssp.ll
M llvm/test/Transforms/SafeStack/AArch64/unreachable.ll
M llvm/test/Transforms/SafeStack/ARM/abi.ll
M llvm/test/Transforms/SafeStack/ARM/debug.ll
M llvm/test/Transforms/SafeStack/ARM/setjmp.ll
M llvm/test/Transforms/SafeStack/X86/abi.ll
M llvm/test/Transforms/SafeStack/X86/abi_ssp.ll
M llvm/test/Transforms/SafeStack/X86/addr-taken.ll
M llvm/test/Transforms/SafeStack/X86/array-aligned.ll
M llvm/test/Transforms/SafeStack/X86/array.ll
M llvm/test/Transforms/SafeStack/X86/byval.ll
M llvm/test/Transforms/SafeStack/X86/call.ll
M llvm/test/Transforms/SafeStack/X86/cast.ll
M llvm/test/Transforms/SafeStack/X86/coloring-ssp.ll
M llvm/test/Transforms/SafeStack/X86/coloring.ll
M llvm/test/Transforms/SafeStack/X86/coloring2.ll
M llvm/test/Transforms/SafeStack/X86/constant-gep-call.ll
M llvm/test/Transforms/SafeStack/X86/constant-gep.ll
M llvm/test/Transforms/SafeStack/X86/constant-geps.ll
M llvm/test/Transforms/SafeStack/X86/debug-loc-dynamic.ll
M llvm/test/Transforms/SafeStack/X86/debug-loc.ll
M llvm/test/Transforms/SafeStack/X86/debug-loc2.ll
M llvm/test/Transforms/SafeStack/X86/dynamic-alloca.ll
M llvm/test/Transforms/SafeStack/X86/escape-addr-pointer.ll
M llvm/test/Transforms/SafeStack/X86/escape-bitcast-store.ll
M llvm/test/Transforms/SafeStack/X86/escape-bitcast-store2.ll
M llvm/test/Transforms/SafeStack/X86/escape-call.ll
M llvm/test/Transforms/SafeStack/X86/escape-casted-pointer.ll
M llvm/test/Transforms/SafeStack/X86/escape-gep-call.ll
M llvm/test/Transforms/SafeStack/X86/escape-gep-invoke.ll
M llvm/test/Transforms/SafeStack/X86/escape-gep-negative.ll
M llvm/test/Transforms/SafeStack/X86/escape-gep-ptrtoint.ll
M llvm/test/Transforms/SafeStack/X86/escape-gep-store.ll
M llvm/test/Transforms/SafeStack/X86/escape-phi-call.ll
M llvm/test/Transforms/SafeStack/X86/escape-select-call.ll
M llvm/test/Transforms/SafeStack/X86/escape-vector.ll
M llvm/test/Transforms/SafeStack/X86/invoke.ll
M llvm/test/Transforms/SafeStack/X86/layout-frag.ll
M llvm/test/Transforms/SafeStack/X86/layout-region-split.ll
M llvm/test/Transforms/SafeStack/X86/memintrinsic-oob-read.ll
M llvm/test/Transforms/SafeStack/X86/musttail.ll
M llvm/test/Transforms/SafeStack/X86/no-attr.ll
M llvm/test/Transforms/SafeStack/X86/no-crash-on-lifetime.ll
M llvm/test/Transforms/SafeStack/X86/phi-cycle.ll
M llvm/test/Transforms/SafeStack/X86/phi.ll
M llvm/test/Transforms/SafeStack/X86/pr54784.ll
M llvm/test/Transforms/SafeStack/X86/ret.ll
M llvm/test/Transforms/SafeStack/X86/setjmp.ll
M llvm/test/Transforms/SafeStack/X86/setjmp2.ll
M llvm/test/Transforms/SafeStack/X86/sink-to-use.ll
M llvm/test/Transforms/SafeStack/X86/ssp.ll
M llvm/test/Transforms/SafeStack/X86/store.ll
M llvm/test/Transforms/SafeStack/X86/struct.ll
Log Message:
-----------
Revert "[CodeGen] Port SafeStack to new pass manager (#73747)" (#73965)
This reverts commit a4d5fd4d2ee9470e55345a9540f6b6fb6faf66e1.
The above commit breaks greendragon lldb bots:
Link to failing builds:
https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/63300/
https://green.lab.llvm.org/green/view/LLDB/job/as-lldb-cmake/10345/
I found this PR to be the offending one after using git bisect with the
cmake invocation:
cmake -G Ninja ../llvm -DCMAKE_BUILD_TYPE=Release
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON
'-DLLVM_TARGETS_TO_BUILD=X86;ARM;AArch64'
-DLLVM_ENABLE_ASSERTIONS:BOOL=TRUE
-DLLVM_ENABLE_MODULES=On
-DLLVM_ENABLE_PROJECTS='clang;lld;lldb;cross-project-tests'
-DLLVM_VERSION_PATCH=99
'-DLLVM_ENABLE_RUNTIMES=libcxx;libcxxabi;compiler-rt'
and running
ninja lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/CodeGenPassBuilder.cpp.o
Commit: 306e13e499e45c8a2b24bd00937688fade8ad41e
https://github.com/llvm/llvm-project/commit/306e13e499e45c8a2b24bd00937688fade8ad41e
Author: Craig Topper <craig.topper at sifive.com>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.h
Log Message:
-----------
[RISCV][GISel] Remove unnecessary Observer notifications from legalizeVAStart.
MIRBuilder already tells the observer when an instruction is created.
No other legalizer code on any target tells the observer when it
erases the instruction it was asked to legalize.
Commit: 28ad007927a4126e12b7aec7daa7f10bc1e29ae1
https://github.com/llvm/llvm-project/commit/28ad007927a4126e12b7aec7daa7f10bc1e29ae1
Author: eleviant <56861949+eleviant at users.noreply.github.com>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M lld/test/ELF/lto/libcall-archive-calloc.ll
M llvm/include/llvm/IR/RuntimeLibcalls.def
M llvm/test/ThinLTO/X86/builtin-nostrip.ll
Log Message:
-----------
[ThinLTO] Don't mark calloc function dead (#72673)
Dead store elimination pass may fold malloc + memset calls into a single
call to calloc. If calloc is not preserved and is not being called
it can be marked dead which results in link error.
Commit: 899fd0cd66044ce54744205218c8a24f1a163ef0
https://github.com/llvm/llvm-project/commit/899fd0cd66044ce54744205218c8a24f1a163ef0
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/BPF/BUILD.gn
Log Message:
-----------
[gn build] Port cb13e9286b6d
Commit: 539e60c34a0a960f55eacf764f8c74d6c6c9d2b3
https://github.com/llvm/llvm-project/commit/539e60c34a0a960f55eacf764f8c74d6c6c9d2b3
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M llvm/lib/Target/X86/X86FixupVectorConstants.cpp
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-8.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.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-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-lzcnt-512.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] X86FixupVectorConstantsPass - consistently use non-DQI 128/256-bit subvector broadcasts
Without the predicate there's no benefit to using the DQI variants instead of the default AVX512F instructions
Commit: 169db80e41936811c6744f2c513a1ed00d97f10e
https://github.com/llvm/llvm-project/commit/169db80e41936811c6744f2c513a1ed00d97f10e
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/2011-10-19-widen_vselect.ll
M llvm/test/CodeGen/X86/2012-07-10-extload64.ll
M llvm/test/CodeGen/X86/fold-load-vec.ll
M llvm/test/CodeGen/X86/fold-pcmpeqd-2.ll
M llvm/test/CodeGen/X86/half.ll
M llvm/test/CodeGen/X86/nontemporal-3.ll
M llvm/test/CodeGen/X86/pr13577.ll
M llvm/test/CodeGen/X86/pr41619.ll
M llvm/test/CodeGen/X86/vec_zero_cse.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512bwvl.ll
Log Message:
-----------
[X86] Canonicalize fp zero vectors from bitcasted integer zero vectors
Generic code is supposed to handle this but can be blocked by hasOneUse checks.
Noticed while investigating #26392
Commit: 89165e8b1dfa8bf152b89a5f1db2a8ff760b3850
https://github.com/llvm/llvm-project/commit/89165e8b1dfa8bf152b89a5f1db2a8ff760b3850
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M flang/include/flang/Semantics/scope.h
M flang/include/flang/Semantics/tools.h
M flang/lib/Semantics/check-call.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/tools.cpp
M flang/test/Semantics/cuf10.cuf
Log Message:
-----------
[flang][openacc] Disable CUDA argument checks in OpenACC regions (#72310)
Checks for CUDA Fortran data attribute compatibility don't need to be
applied in OpenACC regions.
Commit: ae485e661ffce1f8fcd13d64974beee14b0e8af0
https://github.com/llvm/llvm-project/commit/ae485e661ffce1f8fcd13d64974beee14b0e8af0
Author: Craig Topper <craig.topper at sifive.com>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
Log Message:
-----------
[RISCV][GISel] Use customFor instead of customIf by pulling out a subtarget check. NFC
Commit: aea94c90b39b2694f3a1b2f23f06f005c9d3459b
https://github.com/llvm/llvm-project/commit/aea94c90b39b2694f3a1b2f23f06f005c9d3459b
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M flang/lib/Evaluate/fold-integer.cpp
A flang/test/Semantics/ichar01.f90
Log Message:
-----------
[flang] Adjust checks of ICHAR/IACHAR argument length (#72312)
The compiler will now emit an error for length == 0 and an
off-by-default portability warning for length > 1. Previously, the
message was an unconditional warning for length /= 1.
Commit: 5a314609b4a77470fea18f64427d618d5d0bae06
https://github.com/llvm/llvm-project/commit/5a314609b4a77470fea18f64427d618d5d0bae06
Author: Youngsuk Kim <youngsuk.kim at hpe.com>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCtorDtorLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXCtorDtorLowering.cpp
M llvm/unittests/IR/InstructionsTest.cpp
M llvm/unittests/IR/VectorBuilderTest.cpp
Log Message:
-----------
[llvm] Replace calls to Type::getPointerTo (NFC)
Clean-up towards removing method Type::getPointerTo.
Commit: 065796bb9293b222fa3d63311af542a98b96d09a
https://github.com/llvm/llvm-project/commit/065796bb9293b222fa3d63311af542a98b96d09a
Author: Ivan R. Ivanov <ivanov.i.aa at m.titech.ac.jp>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
A clang/test/OpenMP/debug-info-kmpc.cpp
Log Message:
-----------
[clang][OpenMP] Fix missing DI for __kmpc_global_thread_num (#73856)
Co-authored-by: Ivan Radanov Ivanov <ivanov2 at llnl.gov>
Commit: 418a3a45773a2a3fee1125534a073cec62c88b1e
https://github.com/llvm/llvm-project/commit/418a3a45773a2a3fee1125534a073cec62c88b1e
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2023-11-30 (Thu, 30 Nov 2023)
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][SysMMan] implement mincore (#73704)
Implement `mincore` as specified in
https://man7.org/linux/man-pages/man2/mincore.2.html
Commit: 26f2f9397a681fd6a580bf80104c2e4afd599dca
https://github.com/llvm/llvm-project/commit/26f2f9397a681fd6a580bf80104c2e4afd599dca
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M flang/lib/Evaluate/fold-integer.cpp
Log Message:
-----------
[flang] Update to: Adjust checks of ICHAR/IACHAR argument length (#73972)
When applying ICHAR/IACHAR to a character constant with length greater
than one, resize the character constant to its first character.
Commit: a112921d88c28b9d3ac30cad7dbc961a33f22926
https://github.com/llvm/llvm-project/commit/a112921d88c28b9d3ac30cad7dbc961a33f22926
Author: Emilia Kond <emilia at rymiel.space>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Don't skip stringizing when determining brace kind (#73886)
PR #69473 introduced skipping PP directives when determining the brace
kind of an lbrace. However, it did so by skipping to the end of the line
when encountering a hash character. This means it also skipped to the
end of line when encountering a macro stringizing operator, which,
unlike PP directives, don't have effect until the end of line.
This led to cases where the rbrace could be completely skipped if it was
on the same line as a stringizing operator.
This patch skips hash characters if we're already in a PP directive, as
you can't define a macro inside of a macro
Fixes https://github.com/llvm/llvm-project/issues/72662
Commit: 7f82c90621770919dc457d8bb5d12d7f3b29e2e1
https://github.com/llvm/llvm-project/commit/7f82c90621770919dc457d8bb5d12d7f3b29e2e1
Author: Han-Chung Wang <hanhan0912 at gmail.com>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
M mlir/test/Dialect/Vector/vector-emulate-narrow-type.mlir
Log Message:
-----------
[mlir][vector] Add support for vector.maskedstore sub-type emulation. (#73871)
The idea is similar to vector.maskedload + vector.store emulation. What
the emulation does is:
1. Get a compressed mask and load the data from destination.
2. Bitcast the data to original vector type.
3. Select values between `op.valueToStore` and the data from load using
original mask.
4. Bitcast the new value and store it to destination using compressed
masked.
Commit: 96906a92bebe76a1f6510701756aa40280b3a019
https://github.com/llvm/llvm-project/commit/96906a92bebe76a1f6510701756aa40280b3a019
Author: Jacob Lambert <jacob.lambert at amd.com>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M clang/docs/ClangOffloadBundler.rst
Log Message:
-----------
[clang-offload-bundler][NFC] Remove blank line in doc (#73968)
Commit: f1eddf5c39e7e203fbc8fb5f9293b9baa8bbb04b
https://github.com/llvm/llvm-project/commit/f1eddf5c39e7e203fbc8fb5f9293b9baa8bbb04b
Author: Fangrui Song <i at maskray.me>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/test/Driver/linux-ld.c
M clang/test/Driver/solaris-ld.c
Log Message:
-----------
[Driver] Mark OpenBSD-specific -nopie as TargetSpecific after #72578
so that we get an `error: unsupported option '-nopie' for target ...` instead of a warning.
Commit: bf4a876309cdc73e3907801abba02d2f1d2d7b6e
https://github.com/llvm/llvm-project/commit/bf4a876309cdc73e3907801abba02d2f1d2d7b6e
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Semantics/check-call.cpp
M flang/test/Semantics/misc-intrinsics.f90
M flang/test/Semantics/reduce01.f90
Log Message:
-----------
[flang] Move and extend REDUCE() compile-time checking (#72570)
Move the code to check the arguments of references to the intrinsic
function REDUCE() into Semantics/check-calls.cpp, and add checks for
several requirements from the standard that weren't yet caught.
Commit: 0584e6c1669dbfc6252f5b069e2a895389660120
https://github.com/llvm/llvm-project/commit/0584e6c1669dbfc6252f5b069e2a895389660120
Author: Joseph Huber <huberjn at outlook.com>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M libc/utils/gpu/loader/amdgpu/Loader.cpp
Log Message:
-----------
[libc] Explicitly pin memory for the HSA memory transfer (#73973)
Summary:
This portion of code handles mapping the RPC client memory over to the
device. HSA copies need to be between two slices of memory that HSA has
allocated. Previously we used coarse-grained memory to act as the host
source. However, the support for this varies depending on the kernel and
version and should not be relied upon. This patch changes that handling
to use the `hsa_amd_memory_lock` API to explicitly pin memory to a
location sufficient for a DMA transfer to the GPU.
Commit: 284da049f5feb62b40f5abc41dda7895e3d81d72
https://github.com/llvm/llvm-project/commit/284da049f5feb62b40f5abc41dda7895e3d81d72
Author: Mircea Trofin <mtrofin at google.com>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M llvm/include/llvm/Transforms/Instrumentation/CFGMST.h
M llvm/include/llvm/Transforms/Utils/BasicBlockUtils.h
M llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
A llvm/test/Transforms/Coroutines/coro-split-musttail-chain-pgo-counter-promo.ll
M llvm/unittests/Transforms/Utils/BasicBlockUtilsTest.cpp
Log Message:
-----------
[coro][pgo] Don't promote pgo counters in the suspend basic block (#71263)
If a suspend happens in the resume part (this can happen in the case of chained coroutines), and that's part of a loop, the pre-split CFG has the suspend block as an exit of that loop. PGO Counter Promotion will then try to commit the temporary counter to the global in that "exit" block (it also does that in the other loop exit BBs, which also includes
the "destroy" case). This interferes with symmetric transfer.
We don't need to commit the counter in the suspend case - it's not a loop exit from the perspective of the behavior of the program. The regular loop exit, together with the "destroy" case, completely cover any updates that may need to happen to the global counter.
Commit: fcf5154a27ba27de91d9b4527a75daeb92563ff4
https://github.com/llvm/llvm-project/commit/fcf5154a27ba27de91d9b4527a75daeb92563ff4
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M flang/include/flang/Evaluate/tools.h
M flang/test/Semantics/associated.f90
Log Message:
-----------
[flang] Fix IsVariable() to be false for procedure pointers (#72577)
The implementation of the predicate evaluate::IsVariable() needs to
recognize procedure pointers and return a false result for them.
Commit: c12de1487670ab009e738b905ad8296a8cb2c685
https://github.com/llvm/llvm-project/commit/c12de1487670ab009e738b905ad8296a8cb2c685
Author: Douglas Yung <douglas.yung at sony.com>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/2011-10-19-widen_vselect.ll
M llvm/test/CodeGen/X86/2012-07-10-extload64.ll
M llvm/test/CodeGen/X86/fold-load-vec.ll
M llvm/test/CodeGen/X86/fold-pcmpeqd-2.ll
M llvm/test/CodeGen/X86/half.ll
M llvm/test/CodeGen/X86/nontemporal-3.ll
M llvm/test/CodeGen/X86/pr13577.ll
M llvm/test/CodeGen/X86/pr41619.ll
M llvm/test/CodeGen/X86/vec_zero_cse.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512bwvl.ll
Log Message:
-----------
Revert "[X86] Canonicalize fp zero vectors from bitcasted integer zero vectors"
This reverts commit 169db80e41936811c6744f2c513a1ed00d97f10e.
This change is causing many test failures on Windows bots:
- https://lab.llvm.org/buildbot/#/builders/235/builds/3616
- https://lab.llvm.org/buildbot/#/builders/233/builds/4883
- https://lab.llvm.org/buildbot/#/builders/216/builds/31174
Commit: ff485a0e77a55847cb50768b01c04fe45a6879ea
https://github.com/llvm/llvm-project/commit/ff485a0e77a55847cb50768b01c04fe45a6879ea
Author: Youngsuk Kim <youngsuk.kim at hpe.com>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M clang/lib/CodeGen/CGObjC.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
Log Message:
-----------
[clang] Remove no-op ptr-to-ptr bitcasts (NFC)
Opaque ptr cleanup effort (NFC).
Commit: c8f72856dbdd0039fc16eae51726da105ea679c0
https://github.com/llvm/llvm-project/commit/c8f72856dbdd0039fc16eae51726da105ea679c0
Author: John Harrison <harjohn at google.com>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M lldb/tools/lldb-dap/JSONUtils.cpp
Log Message:
-----------
[lldb-dap] Fixing a type encoding issue with dap Stopped events. (#72292)
Previously the type of the breakpoint id in the Stopped event was a
uint64_t, however thats the wrong type for a breakpoint id, which can
cause encoding issues when internal breakpoints are hit.
Commit: f8a21dff70cc5d20db731b3af1858c5a2ae96d30
https://github.com/llvm/llvm-project/commit/f8a21dff70cc5d20db731b3af1858c5a2ae96d30
Author: Natalie Chouinard <1953083+sudonatalie at users.noreply.github.com>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M llvm/test/CodeGen/SPIRV/EnqueueEmptyKernel.ll
M llvm/test/CodeGen/SPIRV/half_no_extension.ll
M llvm/test/CodeGen/SPIRV/linked-list.ll
M llvm/test/CodeGen/SPIRV/opencl/basic/vstore_private.ll
M llvm/test/CodeGen/SPIRV/opencl/device_execution/execute_block.ll
M llvm/test/CodeGen/SPIRV/pstruct.ll
M llvm/test/CodeGen/SPIRV/transcoding/BuildNDRange_2.ll
M llvm/test/CodeGen/SPIRV/transcoding/block_w_struct_return.ll
M llvm/test/CodeGen/SPIRV/transcoding/enqueue_kernel.ll
M llvm/test/CodeGen/SPIRV/transcoding/extract_insert_value.ll
M llvm/test/CodeGen/SPIRV/transcoding/global_block.ll
Log Message:
-----------
[SPIR-V] Mark currently failing tests as XFAIL (#73858)
These tests are currently failing and their fix is being tracked in
Issue #60133. Marking them as XFAIL for now will get the test suite to a
passing state so we can work on adding a GitHub action to automatically
run these tests on a PR bot to help keep the tree green.
Also removed the no-longer supported -opaque-pointers=0 flag from the
couple tests where it was remaining.
Commit: e86591b37d4eb92ffca21b43b224d155ec688337
https://github.com/llvm/llvm-project/commit/e86591b37d4eb92ffca21b43b224d155ec688337
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M flang/include/flang/Common/Fortran-features.h
M flang/include/flang/Evaluate/characteristics.h
M flang/include/flang/Evaluate/tools.h
M flang/lib/Evaluate/characteristics.cpp
M flang/lib/Evaluate/tools.cpp
M flang/lib/Semantics/check-call.cpp
M flang/lib/Semantics/pointer-assignment.cpp
M flang/test/Semantics/argshape01.f90
Log Message:
-----------
[flang] Improve procedure interface compatibility checking for dummy … (#72704)
…arrays
When comparing dummy array extents, cope with references to symbols
better (including references to other dummy arguments), and emit
warnings in dubious cases that are not equivalent but not provably
incompatible.
Commit: 248446980317dccadd5ecdf7d2831942baaff4ab
https://github.com/llvm/llvm-project/commit/248446980317dccadd5ecdf7d2831942baaff4ab
Author: Eduard Zingerman <eddyz87 at gmail.com>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
R clang/test/CodeGen/bpf-preserve-static-offset-arr.c
R clang/test/CodeGen/bpf-preserve-static-offset-bitfield.c
R clang/test/CodeGen/bpf-preserve-static-offset-lvalue.c
R clang/test/CodeGen/bpf-preserve-static-offset-non-bpf.c
R clang/test/CodeGen/bpf-preserve-static-offset-pai.c
M clang/test/Misc/pragma-attribute-supported-attributes-list.test
R clang/test/Sema/bpf-attr-preserve-static-offset-warns-nonbpf.c
R clang/test/Sema/bpf-attr-preserve-static-offset-warns.c
R clang/test/Sema/bpf-attr-preserve-static-offset.c
M llvm/include/llvm/IR/Intrinsics.td
M llvm/include/llvm/IR/IntrinsicsBPF.td
M llvm/lib/Target/BPF/BPF.h
M llvm/lib/Target/BPF/BPFAbstractMemberAccess.cpp
M llvm/lib/Target/BPF/BPFCORE.h
M llvm/lib/Target/BPF/BPFCheckAndAdjustIR.cpp
R llvm/lib/Target/BPF/BPFPreserveStaticOffset.cpp
M llvm/lib/Target/BPF/BPFTargetMachine.cpp
M llvm/lib/Target/BPF/CMakeLists.txt
R llvm/test/CodeGen/BPF/preserve-static-offset/load-align.ll
R llvm/test/CodeGen/BPF/preserve-static-offset/load-arr-pai.ll
R llvm/test/CodeGen/BPF/preserve-static-offset/load-atomic.ll
R llvm/test/CodeGen/BPF/preserve-static-offset/load-chain-2.ll
R llvm/test/CodeGen/BPF/preserve-static-offset/load-chain-oob.ll
R llvm/test/CodeGen/BPF/preserve-static-offset/load-chain-u8-oob.ll
R llvm/test/CodeGen/BPF/preserve-static-offset/load-chain-u8-type-mismatch.ll
R llvm/test/CodeGen/BPF/preserve-static-offset/load-chain-u8.ll
R llvm/test/CodeGen/BPF/preserve-static-offset/load-chain.ll
R llvm/test/CodeGen/BPF/preserve-static-offset/load-inline.ll
R llvm/test/CodeGen/BPF/preserve-static-offset/load-non-const.ll
R llvm/test/CodeGen/BPF/preserve-static-offset/load-ptr-pai.ll
R llvm/test/CodeGen/BPF/preserve-static-offset/load-simple.ll
R llvm/test/CodeGen/BPF/preserve-static-offset/load-struct-pai.ll
R llvm/test/CodeGen/BPF/preserve-static-offset/load-undo-align.ll
R llvm/test/CodeGen/BPF/preserve-static-offset/load-undo-chain-oob.ll
R llvm/test/CodeGen/BPF/preserve-static-offset/load-undo-chain-u8.ll
R llvm/test/CodeGen/BPF/preserve-static-offset/load-undo-chain.ll
R llvm/test/CodeGen/BPF/preserve-static-offset/load-undo-simple.ll
R llvm/test/CodeGen/BPF/preserve-static-offset/load-undo-volatile.ll
R llvm/test/CodeGen/BPF/preserve-static-offset/load-union-pai.ll
R llvm/test/CodeGen/BPF/preserve-static-offset/load-unroll-inline.ll
R llvm/test/CodeGen/BPF/preserve-static-offset/load-unroll.ll
R llvm/test/CodeGen/BPF/preserve-static-offset/load-volatile.ll
R llvm/test/CodeGen/BPF/preserve-static-offset/load-zero.ll
R llvm/test/CodeGen/BPF/preserve-static-offset/store-align.ll
R llvm/test/CodeGen/BPF/preserve-static-offset/store-atomic.ll
R llvm/test/CodeGen/BPF/preserve-static-offset/store-chain-2.ll
R llvm/test/CodeGen/BPF/preserve-static-offset/store-chain-oob.ll
R llvm/test/CodeGen/BPF/preserve-static-offset/store-chain-u8-oob.ll
R llvm/test/CodeGen/BPF/preserve-static-offset/store-chain-u8.ll
R llvm/test/CodeGen/BPF/preserve-static-offset/store-chain.ll
R llvm/test/CodeGen/BPF/preserve-static-offset/store-pai.ll
R llvm/test/CodeGen/BPF/preserve-static-offset/store-simple.ll
R llvm/test/CodeGen/BPF/preserve-static-offset/store-undo-align.ll
R llvm/test/CodeGen/BPF/preserve-static-offset/store-undo-chain-oob.ll
R llvm/test/CodeGen/BPF/preserve-static-offset/store-undo-chain-u8.ll
R llvm/test/CodeGen/BPF/preserve-static-offset/store-undo-chain.ll
R llvm/test/CodeGen/BPF/preserve-static-offset/store-undo-simple.ll
R llvm/test/CodeGen/BPF/preserve-static-offset/store-undo-volatile.ll
R llvm/test/CodeGen/BPF/preserve-static-offset/store-unroll-inline.ll
R llvm/test/CodeGen/BPF/preserve-static-offset/store-volatile.ll
R llvm/test/CodeGen/BPF/preserve-static-offset/store-zero.ll
Log Message:
-----------
Revert "[BPF] Attribute preserve_static_offset for structs"
This reverts commit cb13e9286b6d4e384b5d4203e853d44e2eff0f0f.
Buildbot reports MSAN failures in tests added in this commit:
https://lab.llvm.org/buildbot/#/builders/5/builds/38806
Failing tests:
LLVM :: CodeGen/BPF/preserve-static-offset/load-arr-pai.ll
LLVM :: CodeGen/BPF/preserve-static-offset/load-ptr-pai.ll
LLVM :: CodeGen/BPF/preserve-static-offset/load-struct-pai.ll
LLVM :: CodeGen/BPF/preserve-static-offset/load-union-pai.ll
LLVM :: CodeGen/BPF/preserve-static-offset/store-pai.ll
Commit: bddf5d20105e24cf708ff8c6ff49aa65af4e89b0
https://github.com/llvm/llvm-project/commit/bddf5d20105e24cf708ff8c6ff49aa65af4e89b0
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M flang/runtime/unit.cpp
Log Message:
-----------
[flang][runtime] Fix BACKSPACE-WRITE on variable-length unformatted file (#72732)
A subtle bug in buffer management is being caused by a WRITE on an
unformatted file with variable-length records after one or more
BACKSPACEs and some READs. An attempt at a minor optimization in
BACKSPACE kept the footer of the previous record in the unit's buffer,
in case more BACKSPACEs were to follow. If a later WRITE takes place
instead, the buffer's frame would still cover that footer, but its
content would be lost when the buffer became dirty on its first
modification, and the footer in the file would be overwritten with stale
buffer contents. As WriteFrame() implies the intent to define all the
bytes in the identified range, the trick being used in BACKSPACE with
its adjustment to frameOffsetInFile_ breaks any later WRITE... and so we
just can't do it.
Fixes https://github.com/llvm/llvm-project/issues/72599.
Commit: cc84a1419723fcc240c3c6832bdb990afef37f4b
https://github.com/llvm/llvm-project/commit/cc84a1419723fcc240c3c6832bdb990afef37f4b
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M libc/src/stdio/generic/CMakeLists.txt
Log Message:
-----------
[libc] fix getchar_unlocked (#73874)
A typo was leading to getc_unlocked.cpp.o being included into libc.a
twice.
I only noticed because I was trying to convert libc.a to a shared object
via
$ ld.lld -o libc.so --whole-archive libc.a
which errored since getc_unlocked was being defined twice.
Commit: 7fbdee057db4dbc299d998d390fd478ddc76d20b
https://github.com/llvm/llvm-project/commit/7fbdee057db4dbc299d998d390fd478ddc76d20b
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/BPF/BUILD.gn
Log Message:
-----------
[gn build] Port 248446980317
Commit: 13386c608e6d571d2d91eea5f7c8fb6911d6dcfb
https://github.com/llvm/llvm-project/commit/13386c608e6d571d2d91eea5f7c8fb6911d6dcfb
Author: Michael Spencer <bigcheesegs at gmail.com>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
A clang/test/ClangScanDeps/working-dir.m
Log Message:
-----------
[clang][DependencyScanner] Include the working directory in the context hash (#73719)
The working directory is included in the PCM, but is not currently part
of the context hash. This causes problems because different builds of a
PCM with exactly the same command line can end up with different binary
content for a PCM. If a build system tracks tasks by both working
directory and command line, it may build a given PCM multiple times,
causing a "module file out of date" error when loading the PCM due to
different sizes.
Commit: c13f7e17409b6fed29696c2bbe59efc3af3a408b
https://github.com/llvm/llvm-project/commit/c13f7e17409b6fed29696c2bbe59efc3af3a408b
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M flang/runtime/format-implementation.h
M flang/unittests/Runtime/Format.cpp
Log Message:
-----------
[flang][runtime] Allow already-documented missing 'w' on edit descriptor (#72901)
As already documented in flang/docs/Extensions.md and implemented in the
compilation-time format validator, we want to support at execution time
the Intel (and presumably also Fujitsu) extension of allowing a missing
width on an edit descriptor in a formatted I/O statement.
Fixes https://github.com/llvm/llvm-project/issues/72597.
Commit: 33b54f01fe32030ff60d661a7a951e33360f82ee
https://github.com/llvm/llvm-project/commit/33b54f01fe32030ff60d661a7a951e33360f82ee
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M flang/include/flang/ISO_Fortran_binding.h
M flang/include/flang/ISO_Fortran_binding_wrapper.h
M flang/lib/Optimizer/CodeGen/DescriptorModel.h
Log Message:
-----------
[flang] Move internal Fortran::ISO namespace out of user-facing ISO_F… (#72909)
…ortran_binding.h
... and into the ISO_Fortran_binding_wrapper.h header, through which the
compiler and runtime access its contents. This change ensures that user
code that #includes ISO_Fortran_binding.h within 'extern "C" {' doesn't
encounter mysterious namespace errors.
Commit: fddadd293952ffddd2455f567373424bf8faa003
https://github.com/llvm/llvm-project/commit/fddadd293952ffddd2455f567373424bf8faa003
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M flang/lib/Semantics/resolve-names.cpp
A flang/test/Semantics/symbol33.f90
Log Message:
-----------
[flang] Address case of under-processed array symbol (#73169)
Array element references are frequently parsed as function references
due to the ambiguous syntax of Fortran, and the parse tree is repaired
by semantics once the relevant symbol table entries are in hand. This
patch fixes a case in which the correction takes a path that leaves the
type of a symbol undetermined, leading to later spurious errors in
expression analysis.
Fixes https://github.com/llvm/llvm-project/issues/68652.
Commit: 828bfbef173e82943e56aee5901641c70fc1ea14
https://github.com/llvm/llvm-project/commit/828bfbef173e82943e56aee5901641c70fc1ea14
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M flang/lib/Semantics/check-call.cpp
Log Message:
-----------
[flang] Suppress error meant to prevent discontiguous association whe… (#73175)
…n actual argument is contiguous
When an element of a contiguous pointer array or assumed-shape array is
associated as an actual argument with an assumed-size dummy array, don't
flag the usage as an error.
Commit: 5f864ba1957e42283b9680ee47811d12e69d92bd
https://github.com/llvm/llvm-project/commit/5f864ba1957e42283b9680ee47811d12e69d92bd
Author: Shilei Tian <i at tianshilei.me>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M openmp/runtime/src/kmp_gsupport.cpp
M openmp/runtime/src/kmp_runtime.cpp
R openmp/runtime/src/kmp_utils.h
Log Message:
-----------
Revert "[OpenMP] Use simple VLA implementation to replace uses of actual VLA"
This reverts commit 97e16da450e94c92456fa5a74768ec1b22fe6b63 because it
causes build error on i386 system.
Commit: a1db874d35cb60d536d460a194f8c40c9eeb8dff
https://github.com/llvm/llvm-project/commit/a1db874d35cb60d536d460a194f8c40c9eeb8dff
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M flang/lib/Semantics/check-acc-structure.cpp
M flang/lib/Semantics/check-directive-structure.h
M flang/test/Semantics/OpenACC/acc-parallel.f90
M llvm/include/llvm/Frontend/OpenACC/ACC.td
Log Message:
-----------
[flang][openacc] Allow multiple clauses when in preceded by device_type (#73976)
Some clauses can be repeated on the compute construct when they are
placed after `device_type`. The semantic check was reporting an error
for these cases. This patch fixes this.
Commit: d3e5c20ab846303874a2a25e5877c72271fc798b
https://github.com/llvm/llvm-project/commit/d3e5c20ab846303874a2a25e5877c72271fc798b
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M flang/lib/Parser/preprocessor.cpp
M flang/lib/Parser/preprocessor.h
A flang/test/Preprocessing/unclosed-FLM.F90
Log Message:
-----------
[flang] Handle preprocessor macro expansion edge case (#73835)
When a reference to a function-like macro begins during the rescanning
of the expansion of another macro but is not completed by the end of
that expansion, it is necessary to abort that rescanning of that
expansion and try again when more tokens can be acquired. (See the new
unclosed-FLM.F90 test case.) All other Fortran preprocessors to which I
have access can handle this situation.
Commit: a4745ff99bec927efdc726fa902e30d589e70761
https://github.com/llvm/llvm-project/commit/a4745ff99bec927efdc726fa902e30d589e70761
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Semantics/stmt-func01.f90
M flang/test/Semantics/stmt-func02.f90
Log Message:
-----------
[flang] Detect more misparsed statement functions (same name as funct… (#73852)
…ion result)
A function can't return a statement function, so an apparent attempt to
define a statement function with the same name as the function's result
must be a misparsed assignment statement.
Commit: e1395c7bdbe74b632ba7fbd90e2be2b4d82ee09e
https://github.com/llvm/llvm-project/commit/e1395c7bdbe74b632ba7fbd90e2be2b4d82ee09e
Author: Joseph Huber <huberjn at outlook.com>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M libc/utils/gpu/loader/amdgpu/Loader.cpp
Log Message:
-----------
[libc] Explicitly pin memory for the client symbol lookup (#73988)
Summary:
Previously, we determined that coarse grained memory cannot be used in
the general case. That removed the buffer used to transfer the memory,
however we still had this lookup. Though we do not access the symbol
directly, it still conflicts with the agents apparently. Pin this as
well.
This resolves the problems @lntue was having with the `libc` GPU build.
Commit: 83aa7250fbc6cc5fe253f4bb7ae7b8561adeff5a
https://github.com/llvm/llvm-project/commit/83aa7250fbc6cc5fe253f4bb7ae7b8561adeff5a
Author: Teresa Johnson <tejohnson at google.com>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M llvm/test/ThinLTO/X86/memprof-duplicate-context-ids.ll
Log Message:
-----------
[MemProf][NFC] Simplify test case (#73979)
Removes some unnecessary testing of dump and dot file formats, to
simplify updates to this test.
Commit: 1b02f594b337618e2e5808a33620eeac19d10e06
https://github.com/llvm/llvm-project/commit/1b02f594b337618e2e5808a33620eeac19d10e06
Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M llvm/include/llvm/CodeGen/ByteProvider.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/idot4u.ll
Log Message:
-----------
[AMDGPU] Rework dot4 signedness checks (#68757)
Using the known/unknown value of the sign bit, reason about the signedness version of the dot4 instruction.
Commit: fce4c0acd6db4bd8598db7eb471ccca60dc05406
https://github.com/llvm/llvm-project/commit/fce4c0acd6db4bd8598db7eb471ccca60dc05406
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
A openmp/libomptarget/include/PluginManager.h
M openmp/libomptarget/include/device.h
M openmp/libomptarget/include/rtl.h
M openmp/libomptarget/src/CMakeLists.txt
M openmp/libomptarget/src/OpenMP/InteropAPI.cpp
A openmp/libomptarget/src/PluginManager.cpp
M openmp/libomptarget/src/api.cpp
M openmp/libomptarget/src/device.cpp
M openmp/libomptarget/src/interface.cpp
M openmp/libomptarget/src/omptarget.cpp
M openmp/libomptarget/src/rtl.cpp
Log Message:
-----------
[OpenMP] Start organizing PluginManager, PluginAdaptors (#73875)
Commit: 0ec4b82cfddbe0c7c7eb4b3486f55139f56d5f16
https://github.com/llvm/llvm-project/commit/0ec4b82cfddbe0c7c7eb4b3486f55139f56d5f16
Author: Joseph Huber <huberjn at outlook.com>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M openmp/libomptarget/CMakeLists.txt
M openmp/libomptarget/DeviceRTL/CMakeLists.txt
M openmp/libomptarget/test/lit.cfg
M openmp/libomptarget/test/lit.site.cfg.in
Log Message:
-----------
[Libomptarget] Output the DeviceRTL alongside the other libraries (#73705)
Summary:
Currently, the `libomp.so` and `libomptarget.so` are emitted in the
`./lib` build directory generally. This logic is internal to the
`add_llvm_library` function we use to build `libomptarget`. The
DeviceRTl static library however is in the middle of the OpenMP runtime
build, which can vary depending on if this is a runtimes or projects
build. This patch changes this to install the DeviceRTL static library
alongside the other OpenMP libraries so they are easier to find.
Commit: 4e2216e184a2ba4b9e7e40b3cfa11e0c516a6ed6
https://github.com/llvm/llvm-project/commit/4e2216e184a2ba4b9e7e40b3cfa11e0c516a6ed6
Author: Stephan T. Lavavej <stl at nuwen.net>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M libcxx/test/libcxx/selftest/additional_compile_flags/substitutes-in-compile-flags.sh.cpp
M libcxx/test/libcxx/selftest/additional_compile_flags/substitutes-in-run.sh.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete_fsizeddeallocation.pass.cpp
M libcxx/utils/libcxx/test/format.py
M llvm/utils/lit/lit/TestRunner.py
M llvm/utils/lit/tests/Inputs/testrunner-custom-parsers/test.txt
M llvm/utils/lit/tests/unit/TestRunner.py
Log Message:
-----------
[libc++][test] `ADDITIONAL_COMPILE_FLAGS` should be a space-separated list (#73541)
Found while running libc++'s test suite with MSVC's STL.
`ADDITIONAL_COMPILE_FLAGS` is a `ParserKind.LIST`:
https://github.com/llvm/llvm-project/blob/3c23ed156f0151923b168bdff0c34ec73fb37f38/libcxx/utils/libcxx/test/format.py#L104-L108
With a comma-separated example:
https://github.com/llvm/llvm-project/blob/3c23ed156f0151923b168bdff0c34ec73fb37f38/libcxx/utils/libcxx/test/format.py#L223-L228
And comma-separated test coverage:
https://github.com/llvm/llvm-project/blob/dd3184c30ff531b8aecea280e65233337dd02815/libcxx/test/libcxx/selftest/additional_compile_flags/substitutes-in-run.sh.cpp#L12-L15
Because the machinery splits on commas:
https://github.com/llvm/llvm-project/blob/dd09221a29506031415cad8a1308998358633d48/llvm/utils/lit/lit/TestRunner.py#L1882-L1883
https://github.com/llvm/llvm-project/blob/dd09221a29506031415cad8a1308998358633d48/llvm/utils/lit/lit/TestRunner.py#L1951-L1956
However, most (although not all) usage of `ADDITIONAL_COMPILE_FLAGS` is
treating it as space-separated. That apparently works in the normal
Clang environment, but in my exotic configuration it causes `"-DMEOW
-DWOOF"` to be passed as a single argument to MSVC, which then emits
"warning C5102: ignoring invalid command-line macro definition
`'_LIBCPP_DISABLE_DEPRECATION_WARNINGS
-D_LIBCPP_ENABLE_CXX26_REMOVED_CODECVT'`", causing test failures due to
warnings-as-errors.
This PR changes `ADDITIONAL_COMPILE_FLAGS` to actually be parsed as a
space-separated list, and changes the few uses/examples that had commas.
Commit: b80b5f180ba64c2d6d9753ce8b310f1759eb2884
https://github.com/llvm/llvm-project/commit/b80b5f180ba64c2d6d9753ce8b310f1759eb2884
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M openmp/libomptarget/include/PluginManager.h
M openmp/libomptarget/include/Shared/APITypes.h
M openmp/libomptarget/include/Shared/PluginAPI.h
A openmp/libomptarget/include/Shared/PluginAPI.inc
M openmp/libomptarget/include/device.h
M openmp/libomptarget/include/omptarget.h
M openmp/libomptarget/src/device.cpp
M openmp/libomptarget/src/omptarget.cpp
M openmp/libomptarget/src/rtl.cpp
Log Message:
-----------
[OpenMP] Replace copy and paste code with instantiation (#73991)
Commit: 6fb7c2d713587a061cd281eda917746750559380
https://github.com/llvm/llvm-project/commit/6fb7c2d713587a061cd281eda917746750559380
Author: Aart Bik <39774503+aartbik at users.noreply.github.com>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M mlir/include/mlir/ExecutionEngine/SparseTensor/Storage.h
M mlir/lib/ExecutionEngine/SparseTensor/Storage.cpp
Log Message:
-----------
[mlir][sparse] bug fix on all-dense lex insertion (#73987)
Fixes a bug that appended values after insertion completed. Also slight
optimization by avoiding all-Dense computation for every lexInsert call
Commit: a9a5af82704d772509ccef87991384f47b65884d
https://github.com/llvm/llvm-project/commit/a9a5af82704d772509ccef87991384f47b65884d
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M flang/include/flang/Lower/OpenACC.h
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/OpenACC.cpp
A flang/test/Lower/OpenACC/acc-loop-exit.f90
Log Message:
-----------
[flang][openacc] Support early return in acc.loop (#73841)
Early return is accepted in OpenACC loop not directly nested in a
compute construct. Since acc.loop operation has a region, the
`func.return` operation cannot be directly used inside the region.
An early return is materialized by an `acc.yield` operation returning a
`true` value. The standard end of the `acc.loop` region yield a `false`
value in this case.
A conditional branch operation on the `acc.loop` result will branch to
the `finalBlock` or just to the continue block whether an early exit was
produce in the acc.loop.
Commit: 4f3081296f37a244010dfd493a07e95c06ef22ff
https://github.com/llvm/llvm-project/commit/4f3081296f37a244010dfd493a07e95c06ef22ff
Author: Maksim Panchenko <maks at fb.com>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M bolt/lib/Core/BinaryFunction.cpp
Log Message:
-----------
[BOLT][NFC] Fix comment (#73983)
Fix off-by-one error in comment.
Commit: 9a485b02f9e3184ae34e64dbadc2a17b787db007
https://github.com/llvm/llvm-project/commit/9a485b02f9e3184ae34e64dbadc2a17b787db007
Author: madanial0 <118996571+madanial0 at users.noreply.github.com>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M flang/test/Driver/write-module.f90
Log Message:
-----------
[Flang] Testcase changes to switch directories before rm (NFC) (#73602)
In AIX, the following testcase fails in attempt to delete the current
directory, exiting current directory before removing
---------
Co-authored-by: Mark Danial <mmark.danial at ibm.com>
Commit: 812dad536ed50abe94d6e2b2519f351791c24c59
https://github.com/llvm/llvm-project/commit/812dad536ed50abe94d6e2b2519f351791c24c59
Author: Brad Smith <brad at comstyle.com>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M clang/lib/Driver/ToolChains/FreeBSD.cpp
M clang/lib/Driver/ToolChains/FreeBSD.h
M clang/test/Driver/clang-g-opts.c
M clang/test/Driver/constructors.c
M clang/test/Driver/debug-options.c
Log Message:
-----------
[Driver] Remove support for FreeBSD 11.x (#73392)
Now that FreeBSD 14.0 has been released make the 12.x branch the oldest
supported releases. -fuse-init-array defaults to on. DWARF 4 is now the
default.
Commit: c73a3f16f81aaa427c61f69020a82b5b09570ffb
https://github.com/llvm/llvm-project/commit/c73a3f16f81aaa427c61f69020a82b5b09570ffb
Author: Jason Molenda <jmolenda at apple.com>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M lldb/include/lldb/Breakpoint/BreakpointSite.h
R lldb/include/lldb/Breakpoint/BreakpointSiteList.h
A lldb/include/lldb/Breakpoint/StopPointSiteList.h
M lldb/include/lldb/Breakpoint/Watchpoint.h
A lldb/include/lldb/Breakpoint/WatchpointResource.h
A lldb/include/lldb/Breakpoint/WatchpointResourceList.h
M lldb/include/lldb/Interpreter/OptionGroupWatchpoint.h
M lldb/include/lldb/Target/Process.h
M lldb/include/lldb/lldb-defines.h
M lldb/include/lldb/lldb-forward.h
M lldb/include/lldb/lldb-types.h
M lldb/source/API/SBThread.cpp
M lldb/source/API/SBWatchpoint.cpp
M lldb/source/Breakpoint/BreakpointLocation.cpp
M lldb/source/Breakpoint/BreakpointSite.cpp
R lldb/source/Breakpoint/BreakpointSiteList.cpp
M lldb/source/Breakpoint/CMakeLists.txt
A lldb/source/Breakpoint/StopPointSiteList.cpp
M lldb/source/Breakpoint/Watchpoint.cpp
A lldb/source/Breakpoint/WatchpointResource.cpp
A lldb/source/Breakpoint/WatchpointResourceList.cpp
M lldb/source/Commands/CommandObjectProcess.cpp
M lldb/source/Commands/CommandObjectWatchpoint.cpp
M lldb/source/Interpreter/OptionGroupWatchpoint.cpp
M lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntime.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleThreadPlanStepThroughObjCTrampoline.cpp
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
M lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.cpp
M lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.h
M lldb/source/Plugins/Process/Utility/StopInfoMachException.cpp
M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.h
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
M lldb/source/Target/Platform.cpp
M lldb/source/Target/Process.cpp
M lldb/source/Target/StackFrameList.cpp
M lldb/source/Target/StopInfo.cpp
M lldb/source/Target/Target.cpp
M lldb/source/Target/ThreadPlanCallFunction.cpp
M lldb/source/Target/ThreadPlanStepOut.cpp
M lldb/source/Target/ThreadPlanStepRange.cpp
M lldb/source/Target/ThreadPlanStepUntil.cpp
M lldb/test/API/python_api/watchpoint/watchlocation/TestTargetWatchAddress.py
M lldb/test/Shell/Watchpoint/Inputs/val.c
M lldb/test/Shell/Watchpoint/LocalVariableWatchpointDisabler.test
M lldb/test/Shell/Watchpoint/SetErrorCases.test
Log Message:
-----------
[lldb] [mostly NFC] Large WP foundation: WatchpointResources (#68845)
This patch is rearranging code a bit to add WatchpointResources to
Process. A WatchpointResource is meant to represent a hardware
watchpoint register in the inferior process. It has an address, a size,
a type, and a list of Watchpoints that are using this
WatchpointResource.
This current patch doesn't add any of the features of
WatchpointResources that make them interesting -- a user asking to watch
a 24 byte object could watch this with three 8 byte WatchpointResources.
Or a Watchpoint on 1 byte at 0x1002 and a second watchpoint on 1 byte at
0x1003, these must both be served by a single WatchpointResource on that
doubleword at 0x1000 on a 64-bit target, if two hardware watchpoint
registers were used to track these separately, one of them may not be
hit. Or if you have one Watchpoint on a variable with a condition set,
and another Watchpoint on that same variable with a command defined or
different condition, or ignorecount, both of those Watchpoints need to
evaluate their criteria/commands when their WatchpointResource has been
hit.
There's a bit of code movement to rearrange things in the direction I'll
need for implementing this feature, so I want to start with reviewing &
landing this mostly NFC patch and we can focus on the algorithmic
choices about how WatchpointResources are shared and handled as they're
triggeed, separately.
This patch also stops printing "Watchpoint <n> hit: old value: <x>, new
vlaue: <y>" for Read watchpoints. I could make an argument for print
"Watchpoint <n> hit: current value <x>" but the current output doesn't
make any sense, and the user can print the value if they are
particularly interested. Read watchpoints are used primarily to
understand what code is reading a variable.
This patch adds more fallbacks for how to print the objects being
watched if we have types, instead of assuming they are all integral
values, so a struct will print its elements. As large watchpoints are
added, we'll be doing a lot more of those.
To track the WatchpointSP in the WatchpointResources, I changed the
internal API which took a WatchpointSP and devolved it to a Watchpoint*,
which meant touching several different Process files. I removed the
watchpoint code in ProcessKDP which only reported that watchpoints
aren't supported, the base class does that already.
I haven't yet changed how we receive a watchpoint to identify the
WatchpointResource responsible for the trigger, and identify all
Watchpoints that are using this Resource to evaluate their conditions
etc. This is the same work that a BreakpointSite needs to do when it has
been tiggered, where multiple Breakpoints may be at the same address.
There is not yet any printing of the Resources that a Watchpoint is
implemented in terms of ("watchpoint list", or
SBWatchpoint::GetDescription).
"watchpoint set var" and "watchpoint set expression" take a size
argument which was previously 1, 2, 4, or 8 (an enum). I've changed this
to an unsigned int. Most hardware implementations can only watch 1, 2,
4, 8 byte ranges, but with Resources we'll allow a user to ask for
different sized watchpoints and set them in hardware-expressble terms
soon.
I've annotated areas where I know there is work still needed with
LWP_TODO that I'll be working on once this is landed.
I've tested this on aarch64 macOS, aarch64 Linux, and Intel macOS.
https://discourse.llvm.org/t/rfc-large-watchpoint-support-in-lldb/72116
(cherry picked from commit fc6b72523f3d73b921690a713e97a433c96066c6)
Commit: 162e4b8c494459ea7509f598d15addd6ffc3dc9c
https://github.com/llvm/llvm-project/commit/162e4b8c494459ea7509f598d15addd6ffc3dc9c
Author: Jason Molenda <jason at molenda.com>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M lldb/include/lldb/Breakpoint/WatchpointResource.h
Log Message:
-----------
Include <vector> in WatchpointResource.h
On macOS <vector> was already included via another
header file, but this failed on the CI bots. I'd
tested on linux earlier in this patch's life when
the headers were differently arranged.
(cherry picked from commit a0a1ff3ab40e347589b4e27d8fd350c600526735)
Commit: 22f72642fe6cd8f049bc905e0f0a69243b650f89
https://github.com/llvm/llvm-project/commit/22f72642fe6cd8f049bc905e0f0a69243b650f89
Author: Nico Weber <thakis at chromium.org>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M lldb/source/Breakpoint/WatchpointResource.cpp
Log Message:
-----------
[lldb] try to fix build on linux after fc6b72523f3d7
Tries to fix:
../../lldb/source/Breakpoint/WatchpointResource.cpp:59:12:
error: no member named 'find' in namespace 'std'; did you mean 'fill'?
std::find(m_constituents.begin(), m_constituents.end(), wp_sp);
~~~~~^~~~
fill
(cherry picked from commit a6c62bf1a4717accc852463b664cd1012237d334)
Commit: 9e77d666d88d407a7705caa623f7bfc8dc90287d
https://github.com/llvm/llvm-project/commit/9e77d666d88d407a7705caa623f7bfc8dc90287d
Author: Jason Molenda <jmolenda at apple.com>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
Log Message:
-----------
Correctly disable hardware watchpoints after a fork event
Fix a failure on Linux system where follow-fork-mode
exists, which caused the large watchpoint NFC patch
to be reverted earlier this week.
Commit: dd1e72c38f3f9fc457d12940b9bc594e43683c7c
https://github.com/llvm/llvm-project/commit/dd1e72c38f3f9fc457d12940b9bc594e43683c7c
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/Breakpoint/BUILD.gn
Log Message:
-----------
[gn build] Port c73a3f16f81a
Commit: 2ee8763fecad644c1b25bfdb06a884d291633009
https://github.com/llvm/llvm-project/commit/2ee8763fecad644c1b25bfdb06a884d291633009
Author: Stephan T. Lavavej <stl at nuwen.net>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M llvm/utils/lit/tests/unit/TestRunner.py
Log Message:
-----------
[test] Fix expected line number in `TestRunner.py` (#73996)
My #73541 added lines to
`llvm/utils/lit/tests/Inputs/testrunner-custom-parsers/test.txt` so what
was previously on line 7 is now on line 12.
Before:
https://github.com/llvm/llvm-project/blob/28412d1800e391c5ba8e7607bb15c74b106d581b/llvm/utils/lit/tests/Inputs/testrunner-custom-parsers/test.txt#L7-L8
After:
https://github.com/llvm/llvm-project/blob/6fb7c2d713587a061cd281eda917746750559380/llvm/utils/lit/tests/Inputs/testrunner-custom-parsers/test.txt#L12-L13
This didn't show up in the PR checks, but caused a buildbot failure
after merging, https://lab.llvm.org/buildbot/#/builders/139/builds/54597
:
```
# | ======================================================================
# | FAIL: test_commands (__main__.TestIntegratedTestKeywordParser)
# | ----------------------------------------------------------------------
# | Traceback (most recent call last):
# | File "/home/buildbot/buildbot-root/llvm-clang-x86_64-sie-ubuntu-fast/build/utils/lit/tests/unit/TestRunner.py", line 135, in test_commands
# | self.assertEqual(value[1].command.strip(), "%dbg(MY_RUN: at line 7) foo bar")
# | AssertionError: '%dbg(MY_RUN: at line 12) foo bar' != '%dbg(MY_RUN: at line 7) foo bar'
# | - %dbg(MY_RUN: at line 12) foo bar
# | ? ^^
# | + %dbg(MY_RUN: at line 7) foo bar
# | ? ^
```
Apologies for the build break :scream_cat:
Commit: 4e724c2a214cc62fd024237f0bdf903ed8fbf45b
https://github.com/llvm/llvm-project/commit/4e724c2a214cc62fd024237f0bdf903ed8fbf45b
Author: Adrian Prantl <aprantl at apple.com>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M llvm/lib/IR/Verifier.cpp
R llvm/test/Assembler/debug-info-source-invalid.ll
R llvm/test/Assembler/debug-info-source.ll
Log Message:
-----------
Revert "[DWARFv5] Verify all-or-nothing constraint on DIFile source"
This reverts commit 4ed5195712fd1f3f43e23678d8f666c47d1aa7d5.
Commit: 87e22bdd2bd6d77d782f9d64b3e3ae5bdcd5080d
https://github.com/llvm/llvm-project/commit/87e22bdd2bd6d77d782f9d64b3e3ae5bdcd5080d
Author: Adrian Prantl <aprantl at apple.com>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M llvm/include/llvm/MC/MCDwarf.h
M llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
M llvm/lib/MC/MCDwarf.cpp
A llvm/test/DebugInfo/Generic/mixed-source.ll
Log Message:
-----------
Allow for mixing source/no-source DIFiles in one CU
The DWARF proposal that the DW_LNCT_LLVM_source extension is based on
(https://dwarfstd.org/issues/180201.1.html) allows to mix source and
non-source files in the same CU by storing an empty string as a
sentinel value.
This patch implements this feature.
Review in https://github.com/llvm/llvm-project/pull/73877
Commit: 4bf8a688956a759b7b6b8d94f42d25c13c7af130
https://github.com/llvm/llvm-project/commit/4bf8a688956a759b7b6b8d94f42d25c13c7af130
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M llvm/include/llvm/Target/TargetMachine.h
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/Target/TargetMachine.cpp
M llvm/lib/Target/X86/X86Subtarget.cpp
A llvm/test/CodeGen/X86/code-model-elf-text-sections.ll
M llvm/test/CodeGen/X86/code-model-elf.ll
M llvm/test/CodeGen/X86/pcsections.ll
M llvm/test/ExecutionEngine/OrcLazy/debug-objects-elf-minimal.ll
Log Message:
-----------
Reland [X86] With large code model, put functions into .ltext with large section flag (#73037)
So that when mixing small and large text, large text stays out of the
way of the rest of the binary.
This is useful for mixing precompiled small code model object files and
built-from-source large code model binaries so that the the text
sections don't get merged.
The reland fixes an issue where a function in the large code model would reference small data without GOTOFF.
Commit: 148dec9fa43b3a16b08169df8bdf3bbae24aa9b0
https://github.com/llvm/llvm-project/commit/148dec9fa43b3a16b08169df8bdf3bbae24aa9b0
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
A openmp/libomptarget/include/Shared/EnvironmentVar.h
M openmp/libomptarget/include/Shared/Utils.h
M openmp/libomptarget/plugins-nextgen/common/include/JIT.h
M openmp/libomptarget/plugins-nextgen/common/include/MemoryManager.h
M openmp/libomptarget/plugins-nextgen/common/include/PluginInterface.h
M openmp/libomptarget/src/device.cpp
M openmp/libomptarget/src/interface.cpp
M openmp/libomptarget/src/rtl.cpp
Log Message:
-----------
[OpenMP][NFC] Separate Envar (environment variable) handling (#73994)
Commit: 668865789620f390fbad4d7093ed8ca6eb932c31
https://github.com/llvm/llvm-project/commit/668865789620f390fbad4d7093ed8ca6eb932c31
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
A llvm/test/tools/llvm-exegesis/X86/latency/subprocess-rsp.s
M llvm/tools/llvm-exegesis/lib/Assembler.cpp
Log Message:
-----------
Reland "[llvm-exegesis] Set stack pointer register after starting perf counter (#72489)"
This reverts commit 52b4b357268ac114f7972e37da1e5954f322df09.
This commit was causing build failures on bots without libpfm installed
as the CHECK requires were not set correctly. The test added should only
run on machines with libpfm enabled due to the limitations currently
imposed by the subprocess execution mode.
Commit: 3dbac2c007c114a720300d2a4d79abe9ca1351e7
https://github.com/llvm/llvm-project/commit/3dbac2c007c114a720300d2a4d79abe9ca1351e7
Author: Fehr Mathieu <mathieu.fehr at gmail.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIRAttr.h
M mlir/examples/toy/Ch7/include/toy/Dialect.h
M mlir/include/mlir/Dialect/DLTI/DLTI.h
M mlir/include/mlir/Dialect/GPU/IR/GPUDialect.h
M mlir/include/mlir/Dialect/LLVMIR/LLVMTypes.h
M mlir/include/mlir/Dialect/LLVMIR/LLVMTypes.td
M mlir/include/mlir/Dialect/Quant/QuantTypes.h
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVAttributes.h
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVTypes.h
M mlir/include/mlir/IR/AttrTypeBase.td
M mlir/include/mlir/IR/AttributeSupport.h
M mlir/include/mlir/IR/BuiltinAttributes.h
M mlir/include/mlir/IR/BuiltinAttributes.td
M mlir/include/mlir/IR/BuiltinLocationAttributes.td
M mlir/include/mlir/IR/BuiltinTypes.td
M mlir/include/mlir/IR/TypeSupport.h
M mlir/include/mlir/TableGen/AttrOrTypeDef.h
M mlir/lib/IR/ExtensibleDialect.cpp
M mlir/lib/IR/MLIRContext.cpp
M mlir/lib/TableGen/AttrOrTypeDef.cpp
M mlir/test/lib/Dialect/Test/TestTypes.h
M mlir/test/mlir-tblgen/attrdefs.td
M mlir/test/mlir-tblgen/op-attribute.td
M mlir/test/mlir-tblgen/op-decl-and-defs.td
M mlir/test/mlir-tblgen/typedefs.td
M mlir/tools/mlir-tblgen/AttrOrTypeDefGen.cpp
M mlir/unittests/IR/CMakeLists.txt
A mlir/unittests/IR/TypeAttrNamesTest.cpp
M mlir/unittests/IR/TypeTest.cpp
M mlir/unittests/Interfaces/DataLayoutInterfacesTest.cpp
Log Message:
-----------
[mlir] Expose type and attribute names in the MLIRContext and abstract type/attr classes (#72189)
This patch expose the type and attribute names in C++ as methods in the
`AbstractType` and `AbstractAttribute` classes, and keep a map of names
to `AbstractType` and `AbstractAttribute` in the `MLIRContext`. Type and
attribute names should be unique.
It adds support in ODS to generate the `getName` methods in
`AbstractType` and `AbstractAttribute`, through the use of two new
variables, `typeName` and `attrName`. It also adds names to C++-defined
type and attributes.
Commit: b8b2a279d002f4d424d9b089bc32a0e5d6989dbb
https://github.com/llvm/llvm-project/commit/b8b2a279d002f4d424d9b089bc32a0e5d6989dbb
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M openmp/docs/design/Runtimes.rst
M openmp/libomptarget/include/Shared/Profile.h
M openmp/libomptarget/src/rtl.cpp
Log Message:
-----------
[OpenMP][NFC] Encapsulate profiling logic (#74003)
This simply puts the profiling logic into the `Profiler` class and
allows non-RAII profiling via `beginSection` and `endSection`.
Commit: 7ae1b76ed7271b2e86a3cda72d9e1fc63f4e5c48
https://github.com/llvm/llvm-project/commit/7ae1b76ed7271b2e86a3cda72d9e1fc63f4e5c48
Author: Kirill Stoimenov <kstoimenov at google.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M clang/test/Index/initializer-memory.cpp
Log Message:
-----------
Fix ARM Sanitizer build
Example: https://lab.llvm.org/buildbot/#/builders/239/builds/4709
Commit: b6cad75e077e1c68449b18ffeb6e93f18463464f
https://github.com/llvm/llvm-project/commit/b6cad75e077e1c68449b18ffeb6e93f18463464f
Author: Peiming Liu <36770114+PeimingLiu at users.noreply.github.com>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M mlir/lib/Dialect/SparseTensor/Transforms/LoopEmitter.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparsificationAndBufferizationPass.cpp
M mlir/test/Dialect/SparseTensor/sparse_conv_2d_slice_based.mlir
Log Message:
-----------
[mlir][sparse] refactoring: using util functions to query the index to load from position array for slice-driven loop. (#73986)
Commit: 1035cc7029180243de371384eee91f4e1e87d199
https://github.com/llvm/llvm-project/commit/1035cc7029180243de371384eee91f4e1e87d199
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M openmp/libomptarget/include/PluginManager.h
M openmp/libomptarget/src/api.cpp
Log Message:
-----------
[OpenMP][NFC] Encapsulate Devices.size() (#74010)
Commit: 071855dc2c4939c0b7c51da63e84bd956e49c74a
https://github.com/llvm/llvm-project/commit/071855dc2c4939c0b7c51da63e84bd956e49c74a
Author: Teresa Johnson <tejohnson at google.com>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M llvm/lib/IR/AsmWriter.cpp
A llvm/test/Assembler/thinlto-vtable-summary2.ll
Log Message:
-----------
[ThinLTO] Fix assembly dumping of vtable type ids (#73997)
With RTTI, a C++ class type info will get two entries in the summary
index: a gv and a typeidCompatibleVTable, both sharing the same GUID.
Ensure we use different namespaces to generate the entry slot numbers
for these two different summary entries.
Commit: 51fc8544c7a267e5621eadfebf758f46b015ebd4
https://github.com/llvm/llvm-project/commit/51fc8544c7a267e5621eadfebf758f46b015ebd4
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M openmp/libomptarget/include/OpenMP/Mapping.h
M openmp/libomptarget/include/PluginManager.h
M openmp/libomptarget/src/device.cpp
M openmp/libomptarget/src/rtl.cpp
Log Message:
-----------
[OpenMP][NFC] Move mapping related logic into Mapping.h (#74009)
Commit: cfe1ece833d643921da2735cd80e32b32ef170fb
https://github.com/llvm/llvm-project/commit/cfe1ece833d643921da2735cd80e32b32ef170fb
Author: Paul Kirth <paulkirth at google.com>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/test/CodeGen/fat-lto-objects.c
M clang/test/Driver/fat-lto-objects.c
M llvm/docs/FatLTO.rst
M llvm/include/llvm/Passes/PassBuilder.h
M llvm/include/llvm/Transforms/IPO/EmbedBitcodePass.h
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Transforms/IPO/EmbedBitcodePass.cpp
M llvm/test/CodeGen/X86/fat-lto-section.ll
M llvm/test/Transforms/EmbedBitcode/embed.ll
Log Message:
-----------
[clang][llvm][fatlto] Avoid cloning modules in FatLTO (#72180)
https://github.com/llvm/llvm-project/issues/70703 pointed out that
cloning LLVM modules could lead to miscompiles when using FatLTO.
This is due to an existing issue when cloning modules with labels (see
#55991 and #47769). Since this can lead to miscompilation, we can avoid
cloning the LLVM modules, which was desirable anyway.
This patch modifies the EmbedBitcodePass to no longer clone the module
or run an input pipeline over it. Further, it make FatLTO always perform
UnifiedLTO, so we can still defer the Thin/Full LTO decision to
link-time. Lastly, it removes dead/obsolete code related to now defunct
options that do not work with the EmbedBitcodePass implementation any
longer.
Commit: f2cbd1fdf702afe31d0198c9185e08dc2b104252
https://github.com/llvm/llvm-project/commit/f2cbd1fdf702afe31d0198c9185e08dc2b104252
Author: wanglei <wanglei at loongson.cn>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/insertelement.ll
A llvm/test/CodeGen/LoongArch/lsx/ir-instruction/insertelement.ll
Log Message:
-----------
[LoongArch] Add codegen support for insertelement
Commit: add224c0a094d20389d3659f7b6e496df461a976
https://github.com/llvm/llvm-project/commit/add224c0a094d20389d3659f7b6e496df461a976
Author: wanglei <wanglei at loongson.cn>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelDAGToDAG.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
A llvm/test/CodeGen/LoongArch/lasx/build-vector.ll
A llvm/test/CodeGen/LoongArch/lsx/build-vector.ll
M llvm/test/CodeGen/LoongArch/lsx/ir-instruction/mul.ll
Log Message:
-----------
[LoongArch] Custom lowering `ISD::BUILD_VECTOR`
Commit: 668a4a238045e7f300b771f7e4cfa723d8bde237
https://github.com/llvm/llvm-project/commit/668a4a238045e7f300b771f7e4cfa723d8bde237
Author: Brad Smith <brad at comstyle.com>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M lldb/source/Host/posix/PipePosix.cpp
Log Message:
-----------
[lldb] pipe2(2) is also supported by OpenBSD (#74012)
Commit: 8123fd961ceca20966744f43a562ccd9c1139913
https://github.com/llvm/llvm-project/commit/8123fd961ceca20966744f43a562ccd9c1139913
Author: Valery Pykhtin <valery.pykhtin at gmail.com>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/asan_instrument_constant_address_space.ll
M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/asan_instrument_generic_address_space.ll
M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/asan_instrument_global_address_space.ll
Log Message:
-----------
[ASAN][AMDGPU] NFC. Improve instrumentation tests. (#73919)
* Added 128 bit wide operation tests (fast path check).
* Added test for recovery mode.
Upcoming patch https://github.com/llvm/llvm-project/pull/72247.
Commit: 985c0d1903c173b896674b30480992e2414b8aa0
https://github.com/llvm/llvm-project/commit/985c0d1903c173b896674b30480992e2414b8aa0
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M libc/test/src/sys/mman/linux/CMakeLists.txt
M libc/test/src/sys/mman/linux/mincore_test.cpp
Log Message:
-----------
[libc][mincore] use correct page_size for test (#73984)
Commit: 2441e237a2d6ad44eedb26bde4406e274e32c4a4
https://github.com/llvm/llvm-project/commit/2441e237a2d6ad44eedb26bde4406e274e32c4a4
Author: Wenju He <wenju.he at intel.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyIndVar.cpp
Log Message:
-----------
[NFC][indvars] Remove unused code in WidenIV::widenLoopCompare (#73506)
Commit: 56bbf8135eb8b7d133d5d5fc7604d66f5011c57b
https://github.com/llvm/llvm-project/commit/56bbf8135eb8b7d133d5d5fc7604d66f5011c57b
Author: ShatianWang <38512325+ShatianWang at users.noreply.github.com>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M bolt/lib/Core/FunctionLayout.cpp
M bolt/lib/Passes/SplitFunctions.cpp
Log Message:
-----------
[BOLT] CDSplit main logic part 1/2 (#73895)
This diff defines and initializes auxiliary variables used by CDSplit
and implements two important helper functions. The first helper function
approximates the block level size increase if a function is hot-warm
split at a given split index (X86 specific). The second helper function
finds all calls in the form of X->Y or Y->X for each BF given function
order [... X ... BF ... Y ...]. These calls are referred to as "cover
calls". Their distance will decrease if BF's hot fragment size is
further reduced by hot-warm splitting. NFC.
Commit: ca66df3b021017fedf08f0779f5bfc7898dbdd29
https://github.com/llvm/llvm-project/commit/ca66df3b021017fedf08f0779f5bfc7898dbdd29
Author: wanglei <wanglei at loongson.cn>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/and.ll
A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/or.ll
A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/xor.ll
A llvm/test/CodeGen/LoongArch/lsx/ir-instruction/and.ll
A llvm/test/CodeGen/LoongArch/lsx/ir-instruction/or.ll
A llvm/test/CodeGen/LoongArch/lsx/ir-instruction/xor.ll
Log Message:
-----------
[LoongArch] Add more and/or/xor patterns for vector types
Commit: d0a39e617ba301a76d28e2d82e1f657999c9dcfb
https://github.com/llvm/llvm-project/commit/d0a39e617ba301a76d28e2d82e1f657999c9dcfb
Author: Piyou Chen <piyou.chen at sifive.com>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/test/CodeGen/RISCV/O0-pipeline.ll
M llvm/test/CodeGen/RISCV/O3-pipeline.ll
M llvm/test/CodeGen/RISCV/rvv/bitreverse-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fshr-fshl-vp.ll
M llvm/test/CodeGen/RISCV/rvv/regalloc-fast-crash.ll
M llvm/test/CodeGen/RISCV/rvv/setcc-fp-vp.ll
Log Message:
-----------
[RISCV] default enable splitting regalloc between RVV and other (#72950)
This patch make riscv-split-regalloc as true by default.
It will not affect the codegen result if it vector register allocation
doesn't exist. If there is the vector register allocation, it may affect
the non-rvv register LiveInterval's segment/weight. It will make the
allocation in a different order.
Commit: 6402706a00e806aef62836cd1a13a412349121eb
https://github.com/llvm/llvm-project/commit/6402706a00e806aef62836cd1a13a412349121eb
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M mlir/lib/Dialect/GPU/CMakeLists.txt
Log Message:
-----------
[mlir] Fix the link of libcuda.so in MLIRGPUTransforms to not use fully qualified path (#74018)
At the moment we find libcuda.so in a path like:
/usr/local/cuda/targets/x86_64-linux/lib/stubs/libcuda.so
and directly add this to `target_link_libraries`. The problem is that
our installed MLIR package will include the full path to the library,
and a user downstream when including our cmake installed package will
inherit this full path.
We're changing this to instead
-L /usr/local/cuda/targets/x86_64-linux/lib/stubs/ -lcuda
Commit: 755c28a9401536d89601ae3582f44be1746fadb6
https://github.com/llvm/llvm-project/commit/755c28a9401536d89601ae3582f44be1746fadb6
Author: Craig Topper <craig.topper at sifive.com>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/test/CodeGen/Mips/GlobalISel/irtranslator/var_arg.ll
Log Message:
-----------
[GISel][Mips] Infer alignment when creating memory operand for G_VASTART. (#74004)
Commit: a37c69ec315b9526a3532022be3ebe1af9ca356a
https://github.com/llvm/llvm-project/commit/a37c69ec315b9526a3532022be3ebe1af9ca356a
Author: Brad Smith <brad at comstyle.com>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M lldb/source/Host/common/Host.cpp
Log Message:
-----------
[lldb] Remove pre GCC 4.8 workaround (#73981)
The minimum GCC version was bumped up from 4.8 to 5.1 and then even newer
awhile ago so garbage collect the pre 4.8 workaround.
https://reviews.llvm.org/D66188
Commit: 4483cf2d8b294aa8718b5488f2033675895369da
https://github.com/llvm/llvm-project/commit/4483cf2d8b294aa8718b5488f2033675895369da
Author: ShatianWang <38512325+ShatianWang at users.noreply.github.com>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M bolt/lib/Passes/SplitFunctions.cpp
A bolt/test/X86/cdsplit-call-scale.s
A bolt/test/X86/cdsplit-symbol-names.s
Log Message:
-----------
[BOLT] CDSplit main logic part 2/2 (#74032)
This diff implements the main splitting logic of CDSplit. CDSplit
processes functions in a binary in parallel. For each function BF, it
assumes that all other functions are hot-cold split. For each possible
hot-warm split point of BF, it computes its corresponding SplitScore,
and chooses the split point with the best SplitScore. The SplitScore of
each split point is computed in the following way: each call edge or
jump edge has an edge score that is proportional to its execution count,
and inversely proportional to its distance. The SplitScore of a split
point is a sum of edge scores over a fixed set of edges whose distance
can change due to hot-warm splitting BF. This set contains all cover
calls in the form of X->Y or Y->X given function order [... X ... BF ...
Y ...]; we refer to the sum of edge scores over the set of cover calls
as CoverCallScore. This set also contains all jump edges (branches)
within BF as well as all call edges originated from BF; we refer to the
sum of edge scores over this set of edges as LocalScore. CDSplit finds
the split index maximizing CoverCallScore + LocalScore.
Commit: 5c60e2ce78e79c2d15152e08d9e28fcf3a1d4e51
https://github.com/llvm/llvm-project/commit/5c60e2ce78e79c2d15152e08d9e28fcf3a1d4e51
Author: Owen Pan <owenpiano at gmail.com>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M clang/include/clang/Format/.clang-format
M clang/lib/Format/.clang-format
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/tools/clang-format/.clang-format
M clang/tools/clang-format/ClangFormat.cpp
M clang/unittests/Format/.clang-format
Log Message:
-----------
[clang-format][NFC] Reformat source code with clang-format style
Commit: 54878b80f3e332f3420132f8b4c74412fc29ef6b
https://github.com/llvm/llvm-project/commit/54878b80f3e332f3420132f8b4c74412fc29ef6b
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M libc/test/src/sys/mman/linux/mincore_test.cpp
Log Message:
-----------
[libc] remove fragile test from mincore (#74026)
Commit: 3bd517205799a152689434ceddf9493765f1e883
https://github.com/llvm/llvm-project/commit/3bd517205799a152689434ceddf9493765f1e883
Author: paperchalice <lgamma at 163.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M llvm/include/llvm/CodeGen/CodeGenPassBuilder.h
M llvm/include/llvm/CodeGen/MachinePassRegistry.def
A llvm/include/llvm/CodeGen/SafeStack.h
M llvm/lib/CodeGen/SafeStack.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/test/Transforms/SafeStack/AArch64/abi.ll
M llvm/test/Transforms/SafeStack/AArch64/abi_ssp.ll
M llvm/test/Transforms/SafeStack/AArch64/unreachable.ll
M llvm/test/Transforms/SafeStack/ARM/abi.ll
M llvm/test/Transforms/SafeStack/ARM/debug.ll
M llvm/test/Transforms/SafeStack/ARM/setjmp.ll
M llvm/test/Transforms/SafeStack/X86/abi.ll
M llvm/test/Transforms/SafeStack/X86/abi_ssp.ll
M llvm/test/Transforms/SafeStack/X86/addr-taken.ll
M llvm/test/Transforms/SafeStack/X86/array-aligned.ll
M llvm/test/Transforms/SafeStack/X86/array.ll
M llvm/test/Transforms/SafeStack/X86/byval.ll
M llvm/test/Transforms/SafeStack/X86/call.ll
M llvm/test/Transforms/SafeStack/X86/cast.ll
M llvm/test/Transforms/SafeStack/X86/coloring-ssp.ll
M llvm/test/Transforms/SafeStack/X86/coloring.ll
M llvm/test/Transforms/SafeStack/X86/coloring2.ll
M llvm/test/Transforms/SafeStack/X86/constant-gep-call.ll
M llvm/test/Transforms/SafeStack/X86/constant-gep.ll
M llvm/test/Transforms/SafeStack/X86/constant-geps.ll
M llvm/test/Transforms/SafeStack/X86/debug-loc-dynamic.ll
M llvm/test/Transforms/SafeStack/X86/debug-loc.ll
M llvm/test/Transforms/SafeStack/X86/debug-loc2.ll
M llvm/test/Transforms/SafeStack/X86/dynamic-alloca.ll
M llvm/test/Transforms/SafeStack/X86/escape-addr-pointer.ll
M llvm/test/Transforms/SafeStack/X86/escape-bitcast-store.ll
M llvm/test/Transforms/SafeStack/X86/escape-bitcast-store2.ll
M llvm/test/Transforms/SafeStack/X86/escape-call.ll
M llvm/test/Transforms/SafeStack/X86/escape-casted-pointer.ll
M llvm/test/Transforms/SafeStack/X86/escape-gep-call.ll
M llvm/test/Transforms/SafeStack/X86/escape-gep-invoke.ll
M llvm/test/Transforms/SafeStack/X86/escape-gep-negative.ll
M llvm/test/Transforms/SafeStack/X86/escape-gep-ptrtoint.ll
M llvm/test/Transforms/SafeStack/X86/escape-gep-store.ll
M llvm/test/Transforms/SafeStack/X86/escape-phi-call.ll
M llvm/test/Transforms/SafeStack/X86/escape-select-call.ll
M llvm/test/Transforms/SafeStack/X86/escape-vector.ll
M llvm/test/Transforms/SafeStack/X86/invoke.ll
M llvm/test/Transforms/SafeStack/X86/layout-frag.ll
M llvm/test/Transforms/SafeStack/X86/layout-region-split.ll
M llvm/test/Transforms/SafeStack/X86/memintrinsic-oob-read.ll
M llvm/test/Transforms/SafeStack/X86/musttail.ll
M llvm/test/Transforms/SafeStack/X86/no-attr.ll
M llvm/test/Transforms/SafeStack/X86/no-crash-on-lifetime.ll
M llvm/test/Transforms/SafeStack/X86/phi-cycle.ll
M llvm/test/Transforms/SafeStack/X86/phi.ll
M llvm/test/Transforms/SafeStack/X86/pr54784.ll
M llvm/test/Transforms/SafeStack/X86/ret.ll
M llvm/test/Transforms/SafeStack/X86/setjmp.ll
M llvm/test/Transforms/SafeStack/X86/setjmp2.ll
M llvm/test/Transforms/SafeStack/X86/sink-to-use.ll
M llvm/test/Transforms/SafeStack/X86/ssp.ll
M llvm/test/Transforms/SafeStack/X86/store.ll
M llvm/test/Transforms/SafeStack/X86/struct.ll
Log Message:
-----------
Reland "[CodeGen] Port SafeStack to new pass manager (#74027)
Forgot to update related code in `CodeGenPassBuilder.h`, also update it
for `CallBrPreparePass`.
Fix build when `LLVM_ENABLE_MODULES:BOOL=ON`.
Commit: 36239f9418d3ea19142e13d1bb05bd043ccf3d23
https://github.com/llvm/llvm-project/commit/36239f9418d3ea19142e13d1bb05bd043ccf3d23
Author: Luke Lau <luke at igalia.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
Log Message:
-----------
[RISCV] Move AVL coalescing logic upwards into computeInfoForInstr. NFC (#73909)
There is an optimisation in transferBefore where if a VSETVLIInfo uses
the AVL
of a defining vsetvli, it uses that vsetvli's AVL provided VLMAX is the
same.
This patch moves it out of transferBefore and up into
computeInfoForInstr to
show how it isn't affected by the other optimisations in transferBefore,
and to
simplify the control flow by removing an early return.
This should make #72352 easier to reason about.
Commit: dbbc7c31c8e55d72dc243b244e386a25132e7215
https://github.com/llvm/llvm-project/commit/dbbc7c31c8e55d72dc243b244e386a25132e7215
Author: leecheechen <chenli at loongson.cn>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/add.ll
A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/ashr.ll
A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/fadd.ll
A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/fdiv.ll
A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/fmul.ll
A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/fsub.ll
A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/lshr.ll
A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/mul.ll
A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/sdiv.ll
A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/shl.ll
A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/sub.ll
A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/udiv.ll
Log Message:
-----------
[LoongArch] Add some binary IR instructions testcases for LASX (#74031)
The IR instructions include:
- Binary Operations: add fadd sub fsub mul fmul udiv sdiv fdiv
- Bitwise Binary Operations: shl lshr ashr
Commit: 173fcf7da592acd284dc50749558fd36928861f0
https://github.com/llvm/llvm-project/commit/173fcf7da592acd284dc50749558fd36928861f0
Author: Uday Bondhugula <uday at polymagelabs.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/test/CodeGen/NVPTX/i8x4-instructions.ll
M llvm/test/CodeGen/NVPTX/vector-stores.ll
Log Message:
-----------
[NVPTX] Lower 16xi8 and 8xi8 stores efficiently (#73646)
Lower 16xi8 vector stores in NVPTX ISel efficiently using
st.v4.b32 instead of multiple st.v4.u8 along the lines of vector loads
and 8xf16. Similarly, 8xi8 using st.v2.u32.
Commit: cf1a979ccfa722c3f9fce28c66c13a222990eac4
https://github.com/llvm/llvm-project/commit/cf1a979ccfa722c3f9fce28c66c13a222990eac4
Author: Luke Lau <luke at igalia.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
Log Message:
-----------
[RISCV] Minimally modify incoming state in transferBefore (#72352)
transferBefore currently takes an incoming state and an instruction,
computes
the new state needed for the instruction, and then modifies that new
state to
be more similar to the incoming state.
This patch reverses the approach by instead taking the incoming state
and
modifying only the bits that are demanded by the instruction.
Commit: 58199dfb557752b1a7b782b140b033bd29d6f0e9
https://github.com/llvm/llvm-project/commit/58199dfb557752b1a7b782b140b033bd29d6f0e9
Author: lifengxiang1025 <125553151+lifengxiang1025 at users.noreply.github.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M llvm/include/llvm/ProfileData/SampleProf.h
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/tools/llvm-profdata/llvm-profdata.cpp
Log Message:
-----------
[NFC] Typo fix (#74033)
Fix spelling error from `linakge` to `linkage`.
Co-authored-by: lifengxiang <lifengxiang.1025 at bytedance.com>
Commit: 340cb19e153bb68981b7eb9562c74a0b2c4db214
https://github.com/llvm/llvm-project/commit/340cb19e153bb68981b7eb9562c74a0b2c4db214
Author: lifengxiang1025 <125553151+lifengxiang1025 at users.noreply.github.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemProfiler.cpp
A llvm/test/Transforms/PGOProfile/Inputs/memprof_internal_linkage.exe
A llvm/test/Transforms/PGOProfile/Inputs/memprof_internal_linkage.memprofraw
M llvm/test/Transforms/PGOProfile/Inputs/update_memprof_inputs.sh
A llvm/test/Transforms/PGOProfile/memprof_internal_linkage.ll
Log Message:
-----------
[MemProf] Expand optimization scope to internal linkage function (#73236)
Now MemProf can't do IR annotation right in the local linkage function
and global initial function __cxx_global_var_init. In llvm-profdata
which convert raw memory profile to memory profile, it uses function
name in dwarf to create GUID. But when llvm consumes memory profile, it
use `getIRPGOFuncName` or `getPGOFuncName` which returns local linkage
function as `FileName;FunctionName` or `FileName:FunctionName` to get
function name and create GUID. So profile creator's GUID is not same as
profile consumer.
So I think MemProf should be used with `unique-internal-linkage-names`
and don't use PGOFuncName.
__cxx_global_var_init is created later than where
UniqueInternalLinkageNames works. So I add uniq suffix to
__cxx_global_var_init additionally.
Co-authored-by: lifengxiang <lifengxiang.1025 at bytedance.com>
Commit: 71ba05b4e1ccbfdc2bc35906a985744ad785e676
https://github.com/llvm/llvm-project/commit/71ba05b4e1ccbfdc2bc35906a985744ad785e676
Author: Brad Smith <brad at comstyle.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M llvm/include/llvm/ADT/bit.h
Log Message:
-----------
[ADT] Make use of the endian.h header on NetBSD and DragonFly (#74037)
Move away from machine/endian.h to POSIX endian.h header.
Commit: 5ecb37b45aa059cadd97ab6aedc1320da609c636
https://github.com/llvm/llvm-project/commit/5ecb37b45aa059cadd97ab6aedc1320da609c636
Author: Piyou Chen <piyou.chen at sifive.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M llvm/lib/Target/RISCV/RISCVRVVInitUndef.cpp
A llvm/test/CodeGen/RISCV/65704-illegal-instruction.ll
M llvm/test/CodeGen/RISCV/rvv/handle-noreg-with-implicit-def.mir
M llvm/test/CodeGen/RISCV/rvv/undef-earlyclobber-chain.mir
Log Message:
-----------
[RISCV] Make InitUndef handle undef operand (#65755)
Address https://github.com/llvm/llvm-project/issues/65704.
If the operand is marked as undef, the InitUndef misses this case. This patch makes InitUndef pass handle the undef operand case.
Commit: c1ad363e6eba308fa94c47374ee98b3c79693a35
https://github.com/llvm/llvm-project/commit/c1ad363e6eba308fa94c47374ee98b3c79693a35
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/ExprConstant.cpp
A clang/test/SemaCXX/pr72025.cpp
Log Message:
-----------
[clang] Use the materialized temporary's type while creating the APValue (#73355)
See https://github.com/llvm/llvm-project/issues/72025 for the bug and
its diagnosis.
Commit: e017169dbd0215e892570e74668f5c3289db3310
https://github.com/llvm/llvm-project/commit/e017169dbd0215e892570e74668f5c3289db3310
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M llvm/lib/Target/X86/X86InstrInfo.cpp
A llvm/lib/Target/X86/X86ReplaceableInstrs.def
Log Message:
-----------
[X86][NFC] Extract ReplaceableInstrs to a separate file and clang-format X86InstrInfo.cpp
Commit: d56e0d07cc5ee8e334fd1ad403eef0b1a771384f
https://github.com/llvm/llvm-project/commit/d56e0d07cc5ee8e334fd1ad403eef0b1a771384f
Author: Romaric Jodin <89833130+rjodinchr at users.noreply.github.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/Headers/opencl-c-base.h
M clang/lib/Headers/opencl-c.h
M clang/lib/Sema/OpenCLBuiltins.td
M clang/test/CodeGenOpenCL/sqrt-fpmath.cl
Log Message:
-----------
clang/OpenCL: set sqrt fp accuracy on call to Z4sqrt (#66651)
This is reverting the previous implementation to avoid adding inline
function in opencl headers.
This was breaking clspv flow google/clspv#1231, while
https://reviews.llvm.org/D156743 mentioned that just decorating the call
node with `!pfmath` was enough.
This PR is implementing this idea.
The test has been updated with this implementation.
Commit: 5a9354832695d878e86f90010d2b043a9551b072
https://github.com/llvm/llvm-project/commit/5a9354832695d878e86f90010d2b043a9551b072
Author: paperchalice <lgamma at 163.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M llvm/include/llvm/CodeGen/MachinePassRegistry.def
Log Message:
-----------
[CodeGen][NFC] Sort and format MachinePassRegistry.def (#74044)
Same as #73762.
Commit: 520c3b82db7199c1dcd24520f3c0ac573c191791
https://github.com/llvm/llvm-project/commit/520c3b82db7199c1dcd24520f3c0ac573c191791
Author: Kazu Hirata <kazu at google.com>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M llvm/include/llvm/Transforms/IPO/MemProfContextDisambiguation.h
M llvm/lib/ExecutionEngine/Orc/Debugging/DebuggerSupportPlugin.cpp
M llvm/lib/Transforms/Utils/MoveAutoInit.cpp
M llvm/tools/llvm-dwarfutil/Error.h
M llvm/tools/llvm-exegesis/lib/BenchmarkResult.h
M llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp
M llvm/tools/llvm-objcopy/ObjcopyOptions.cpp
Log Message:
-----------
[llvm] Stop including llvm/ADT/StringSet.h (NFC)
Identified with clangd.
Commit: bc265bd663233c4bfa222f1cc93ec472075a53ff
https://github.com/llvm/llvm-project/commit/bc265bd663233c4bfa222f1cc93ec472075a53ff
Author: Kazu Hirata <kazu at google.com>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M llvm/tools/llvm-reduce/deltas/ReduceFunctions.cpp
Log Message:
-----------
[llvm-reduce] Stop including llvm/ADT/SetVector.h (NFC)
Identified with clangd.
Commit: 604c29e9340c4a18eab1e53dd5cc4c05d46db2f7
https://github.com/llvm/llvm-project/commit/604c29e9340c4a18eab1e53dd5cc4c05d46db2f7
Author: Valery Pykhtin <valery.pykhtin at gmail.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
A llvm/test/CodeGen/AMDGPU/si-annotate-dbg-info.ll
Log Message:
-----------
[AMDGPU] NFC. Add test for debug info on CFG annotation instructions. (#73959)
Commit: 0e163e75d44cfa024092cda5099bd41af2218215
https://github.com/llvm/llvm-project/commit/0e163e75d44cfa024092cda5099bd41af2218215
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M llvm/lib/Target/X86/X86InstrAVX512.td
M llvm/test/MC/Disassembler/X86/apx/kmov.txt
M llvm/test/MC/X86/apx/kmov-att.s
M llvm/test/MC/X86/apx/kmov-intel.s
Log Message:
-----------
[X86][MC] Not emit {evex} for VEX-promoted instructions with GPR operands (#74039)
To align with
1. GNU binutils's behavior for APX instructions
2. LLVM's behaviour for EVEX intructions with VEX variant
Commit: ab3fdbdfbe7edc62049c602d87be91c3ad3f5e3b
https://github.com/llvm/llvm-project/commit/ab3fdbdfbe7edc62049c602d87be91c3ad3f5e3b
Author: Allen <zhongyunde at huawei.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Analysis/ValueTracking/select-known-non-zero.ll
M llvm/test/Transforms/InstCombine/zext-or-icmp.ll
Log Message:
-----------
[ValueTracking] Support srem/urem for isKnownNonNullFromDominatingCondition (#74021)
Similar to div, the rem should also proof its second operand is
non-zero, otherwise it is a UB.
Fix https://github.com/llvm/llvm-project/issues/71782
Commit: d48d1edcf3ed0c1352b3c2864feb873f01d6f9da
https://github.com/llvm/llvm-project/commit/d48d1edcf3ed0c1352b3c2864feb873f01d6f9da
Author: Ramkumar Ramachandra <Ramkumar.Ramachandra at imgtec.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
A llvm/test/CodeGen/PowerPC/aix-cc-abi-mir.ll
M llvm/test/CodeGen/PowerPC/aix-cc-abi.ll
Log Message:
-----------
PowerPC/aix-cc-abi: regenerate test using UTC (NFC) (#73963)
Split out the parts of aix-cc-abi.ll that requires to be regenerated by
utils/update_mir_test_checks.py into aix-cc-abi-mir.ll, and regenerate
it using the script. Regenerate aix-cc-abi.ll using
utils/update_llc_test_checks.py.
Commit: 9557fcca563dba3dd31769c297bb3b97d6e614f9
https://github.com/llvm/llvm-project/commit/9557fcca563dba3dd31769c297bb3b97d6e614f9
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M libc/src/__support/CMakeLists.txt
M libc/src/__support/str_to_num_result.h
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc] Fix lint message (#73956)
Commit: 1726b65e4c273d55dd54838a742b03caff4abcdd
https://github.com/llvm/llvm-project/commit/1726b65e4c273d55dd54838a742b03caff4abcdd
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M mlir/test/Dialect/Vector/vector-contract-to-outerproduct-matvec-transforms.mlir
Log Message:
-----------
[MLIR][Vector] Refactor tests for contract -> OP transforms (4/N) (#73807)
This patch refactors tests for:
vector.contract -> vector.outerproduct
for matvec operations (b += Ax). Summary of changes:
* add 2 missing cases (masked + scalable) when the operation kind is
`maxf`.
This is a part of a larger effort to add cases with scalable vectors to
tests for the Vector dialect.
Implements #72834.
Commit: 2c976a1fac5c0d6fe1cd7c3637f3d16cc378f52b
https://github.com/llvm/llvm-project/commit/2c976a1fac5c0d6fe1cd7c3637f3d16cc378f52b
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M libc/src/__support/macros/properties/CMakeLists.txt
M libc/src/__support/macros/properties/float.h
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc] Fix _Float16 detection for x86 (#73947)
Commit: d55692d60d218f402ce107520daabed15f2d9ef6
https://github.com/llvm/llvm-project/commit/d55692d60d218f402ce107520daabed15f2d9ef6
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
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 96a0d714d58e48c363ee6abbbcdfd7a6ce646ac1.
Avoid assert with dynamic denormal-fp-math We don't recognize compares
with 0 as an exact class test if we don't know the denormal mode. We could
try to do better here, but it's probably not worth it.
Fixes asserts reported after 1adce7d8e47e2438f99f91607760b825e5e3cc37
Commit: 5a4ca51a91ff28b1d6bdde5403144c29b86e4b54
https://github.com/llvm/llvm-project/commit/5a4ca51a91ff28b1d6bdde5403144c29b86e4b54
Author: jeanPerier <jperier at nvidia.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M mlir/lib/IR/Builders.cpp
M mlir/test/IR/test-clone.mlir
M mlir/test/lib/IR/TestClone.cpp
Log Message:
-----------
[mlir] notify insertion of parent op first when cloning (#73806)
When cloning an operation with a region, the builder was currently
notifying about the insertion of the cloned operations inside the region
before the cloned operation itself.
When using cloning inside rewrite pass, this could cause issues if a
pattern is expected to be applied on a cloned parent operation before
trying to apply patterns on the cloned operations it contains (the
patterns are attempted in order of notifications for the cloned
operations).
Commit: a224ddc9b4458b1b9cf0a758c974a554f0f17dc4
https://github.com/llvm/llvm-project/commit/a224ddc9b4458b1b9cf0a758c974a554f0f17dc4
Author: Guray Ozen <guray.ozen at gmail.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/test/Conversion/NVVMToLLVM/nvvm-to-llvm.mlir
Log Message:
-----------
[mlir][nvvm] Introduce `cp.async.bulk.commit.group`
This PR introduced `cp.async.bulk.commit.group` op.
Commit: 4d1dc7770a6411b87cc488dd982c034f1b4ff7a7
https://github.com/llvm/llvm-project/commit/4d1dc7770a6411b87cc488dd982c034f1b4ff7a7
Author: Ramkumar Ramachandra <Ramkumar.Ramachandra at imgtec.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M llvm/test/CodeGen/AMDGPU/load-global-i32.ll
Log Message:
-----------
AMDGPU/load-global-i32: regenerate test using UTC (NFC) (#73962)
Fix the RUN lines so that UTC runs cleanly, and regenerate the test
load-global-i32.ll using utils/update_llc_test_checks.py.
Commit: bb98227db19ae4d80af7a25a9423aae2aeaec61d
https://github.com/llvm/llvm-project/commit/bb98227db19ae4d80af7a25a9423aae2aeaec61d
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M libc/src/__support/CMakeLists.txt
M libc/src/__support/math_extras.h
R libc/src/__support/named_pair.h
M libc/src/__support/number_pair.h
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][NFC] Remove named_pair (#73952)
`named_pair` does not provide enough value to deserve its own header.
Commit: 5fe7ae848cc6cb2afc3aab332743ffa2bb635fc3
https://github.com/llvm/llvm-project/commit/5fe7ae848cc6cb2afc3aab332743ffa2bb635fc3
Author: Matt Devereau <matthew.devereau at arm.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M clang/include/clang/Basic/arm_sme.td
A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_ldr_str_zt.c
M clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_imm.cpp
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.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/lib/Target/AArch64/SMEInstrFormats.td
A llvm/test/CodeGen/AArch64/sme2-intrinsics-zt0.ll
Log Message:
-----------
[AArch64][SME2] Add ldr_zt, str_zt builtins and intrinsics (#72849)
Adds the builtins:
void svldr_zt(uint64_t zt, const void *rn)
void svstr_zt(uint64_t zt, void *rn)
And the intrinsics:
call void @llvm.aarch64.sme.ldr.zt(i32, ptr)
tail call void @llvm.aarch64.sme.str.zt(i32, ptr)
Patch by: Kerry McLaughlin kerry.mclaughlin at arm.com
Commit: de55a2843fae6afd4b0589d81496096a4ff73cbd
https://github.com/llvm/llvm-project/commit/de55a2843fae6afd4b0589d81496096a4ff73cbd
Author: XinWang10 <108658776+XinWang10 at users.noreply.github.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp
M llvm/lib/Target/X86/X86InstrArithmetic.td
M llvm/lib/Target/X86/X86InstrMisc.td
M llvm/lib/Target/X86/X86InstrShiftRotate.td
A llvm/test/MC/Disassembler/X86/apx/andn.txt
A llvm/test/MC/Disassembler/X86/apx/bextr.txt
A llvm/test/MC/Disassembler/X86/apx/blsi.txt
A llvm/test/MC/Disassembler/X86/apx/blsmsk.txt
A llvm/test/MC/Disassembler/X86/apx/blsr.txt
A llvm/test/MC/Disassembler/X86/apx/bzhi.txt
M llvm/test/MC/Disassembler/X86/apx/evex-format.txt
A llvm/test/MC/Disassembler/X86/apx/mulx.txt
A llvm/test/MC/Disassembler/X86/apx/pdep.txt
A llvm/test/MC/Disassembler/X86/apx/pext.txt
A llvm/test/MC/Disassembler/X86/apx/rorx.txt
A llvm/test/MC/Disassembler/X86/apx/sarx.txt
A llvm/test/MC/Disassembler/X86/apx/shlx.txt
A llvm/test/MC/Disassembler/X86/apx/shrx.txt
A llvm/test/MC/X86/apx/andn-att.s
A llvm/test/MC/X86/apx/andn-intel.s
A llvm/test/MC/X86/apx/bextr-att.s
A llvm/test/MC/X86/apx/bextr-intel.s
A llvm/test/MC/X86/apx/blsi-att.s
A llvm/test/MC/X86/apx/blsi-intel.s
A llvm/test/MC/X86/apx/blsmsk-att.s
A llvm/test/MC/X86/apx/blsmsk-intel.s
A llvm/test/MC/X86/apx/blsr-att.s
A llvm/test/MC/X86/apx/blsr-intel.s
A llvm/test/MC/X86/apx/bzhi-att.s
A llvm/test/MC/X86/apx/bzhi-intel.s
M llvm/test/MC/X86/apx/evex-format-att.s
M llvm/test/MC/X86/apx/evex-format-intel.s
A llvm/test/MC/X86/apx/mulx-att.s
A llvm/test/MC/X86/apx/mulx-intel.s
A llvm/test/MC/X86/apx/pdep-att.s
A llvm/test/MC/X86/apx/pdep-intel.s
A llvm/test/MC/X86/apx/pext-att.s
A llvm/test/MC/X86/apx/pext-intel.s
A llvm/test/MC/X86/apx/rorx-att.s
A llvm/test/MC/X86/apx/rorx-intel.s
A llvm/test/MC/X86/apx/sarx-att.s
A llvm/test/MC/X86/apx/sarx-intel.s
A llvm/test/MC/X86/apx/shlx-att.s
A llvm/test/MC/X86/apx/shlx-intel.s
A llvm/test/MC/X86/apx/shrx-att.s
A llvm/test/MC/X86/apx/shrx-intel.s
M llvm/test/TableGen/x86-fold-tables.inc
Log Message:
-----------
[X86][MC] Support Enc/Dec for EGPR for promoted BMI instructions (#73899)
R16-R31 was added into GPRs in
https://github.com/llvm/llvm-project/pull/70958,
This patch supports the encoding/decoding for promoted BMI instructions
in EVEX space.
RFC:
https://discourse.llvm.org/t/rfc-design-for-apx-feature-egpr-and-ndd-support/73031/4
Commit: f42ce1621f5f4129fb37c4a1af958e1d47344107
https://github.com/llvm/llvm-project/commit/f42ce1621f5f4129fb37c4a1af958e1d47344107
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSVE/matmul.mlir
Log Message:
-----------
[mlir][sve][nfc] Update a test to use transform-interpreter (#73771)
This is a follow-up of #70040 in which the test updated here was missed.
Includes a few additional NFC changes in preparation for extending this
test.
Commit: 1ee41b415398cde51c055a7b1a4d419350e7038f
https://github.com/llvm/llvm-project/commit/1ee41b415398cde51c055a7b1a4d419350e7038f
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M libcxx/test/libcxx/numerics/bit.ops.pass.cpp
M libcxx/test/libcxx/utilities/memory/ptr.align/assume_aligned.power2.verify.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.spec/equal.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.spec/member_swap.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.spec/non_member_swap.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.spec/relational.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.spec/swap_noexcept.pass.cpp
M libcxx/test/std/language.support/support.dynamic/destroying_delete_t.pass.cpp
M libcxx/test/std/language.support/support.dynamic/destroying_delete_t_declaration.pass.cpp
M libcxx/test/std/language.support/support.dynamic/nothrow_t.pass.cpp
M libcxx/test/std/language.support/support.dynamic/nothrow_t.verify.cpp
M libcxx/test/std/numerics/bit/bit.pow.two/bit_ceil.pass.cpp
M libcxx/test/std/numerics/bit/bit.pow.two/bit_ceil.verify.cpp
M libcxx/test/std/numerics/bit/bit.pow.two/bit_floor.pass.cpp
M libcxx/test/std/numerics/bit/bit.pow.two/bit_width.pass.cpp
M libcxx/test/std/numerics/bit/bit.pow.two/has_single_bit.pass.cpp
M libcxx/test/std/numerics/bit/bitops.count/countl_one.pass.cpp
M libcxx/test/std/numerics/bit/bitops.count/countl_zero.pass.cpp
M libcxx/test/std/numerics/bit/bitops.count/countr_one.pass.cpp
M libcxx/test/std/numerics/bit/bitops.count/countr_zero.pass.cpp
M libcxx/test/std/numerics/bit/bitops.count/popcount.pass.cpp
M libcxx/test/std/numerics/bit/bitops.rot/rotl.pass.cpp
M libcxx/test/std/numerics/bit/bitops.rot/rotr.pass.cpp
M libcxx/test/std/thread/thread.mutex/thread.lock/types.verify.cpp
M libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/deduct_F.pass.cpp
M libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/deduct_F.verify.cpp
M libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/deduct_ptr.pass.cpp
M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.spec/swap.pass.cpp
M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.weak/util.smartptr.weak.spec/swap.pass.cpp
M libcxx/test/std/utilities/meta/meta.trans/meta.trans.other/common_reference.compile.pass.cpp
Log Message:
-----------
[libc++][NFC] Update the remaining old license headers
Commit: f7d91faa790630eca506a29faa560d6783edcbc0
https://github.com/llvm/llvm-project/commit/f7d91faa790630eca506a29faa560d6783edcbc0
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M mlir/include/mlir/Dialect/ArmSME/Transforms/Passes.h
M mlir/include/mlir/Dialect/ArmSME/Transforms/Passes.td
M mlir/lib/Dialect/ArmSME/Transforms/EnableArmStreaming.cpp
M mlir/test/Dialect/ArmSME/enable-arm-streaming.mlir
Log Message:
-----------
[mlir][ArmSME] Add option to only enable streaming mode/ZA if required (#73931)
This adds a `only-if-required-by-ops` flag to the `enable-arm-streaming`
pass. This flag defaults to `false` (which preserves the original
behaviour), however, if set to `true` the pass will only add the
selected ZA/streaming mode to functions that contain ops that implement
`ArmSMETileOpInterface`.
This simplifies enabling these modes, as we can now first try lowering
ops to ArmSME, then only if we succeed, add the relevant function
attributes.
Commit: da1aff2b2a3192f5e32fa350de19aac0b89fed18
https://github.com/llvm/llvm-project/commit/da1aff2b2a3192f5e32fa350de19aac0b89fed18
Author: David Spickett <david.spickett at linaro.org>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M llvm/lib/Target/PowerPC/PPCFrameLowering.cpp
Log Message:
-----------
[llvm][PowerPC] Correct handling of spill slots for SPE when EXPENSIVE_CHECKS is enabled (#73940)
This was modifying a container as it iterated it, which tripped a check
in libstdc++'s debug checks.
Instead, just assign to the item via the reference we already have.
This fixes the following expensive checks failures on my machine:
LLVM :: CodeGen/PowerPC/fp-strict.ll
LLVM :: CodeGen/PowerPC/pr55463.ll
LLVM :: CodeGen/PowerPC/register-pressure.ll
LLVM :: CodeGen/PowerPC/spe.ll
Which are some of the tests noted by #68594.
Commit: 289fe74ddbb4c8aa7128f60db6b20c119922b542
https://github.com/llvm/llvm-project/commit/289fe74ddbb4c8aa7128f60db6b20c119922b542
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M clang/test/CXX/drs/dr1xx.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[clang][NFC] Fill in historical data on when C++ DRs 100-199 were fixed
Commit: 5a1020bb0083ebfcf5d8879ba99c21bf214fcb56
https://github.com/llvm/llvm-project/commit/5a1020bb0083ebfcf5d8879ba99c21bf214fcb56
Author: Nikita Popov <npopov at redhat.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M llvm/test/Transforms/InstCombine/select.ll
M llvm/test/Transforms/InstSimplify/select.ll
Log Message:
-----------
[InstSimplify] Add test for disjoint or miscompile (NFC)
The absorption case is already handled correctly, but the
idempentence case is not.
Commit: cd31cf5989aaf6a187aaf3af4f94207c55a70d0f
https://github.com/llvm/llvm-project/commit/cd31cf5989aaf6a187aaf3af4f94207c55a70d0f
Author: Nikita Popov <npopov at redhat.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/test/Transforms/InstCombine/select.ll
M llvm/test/Transforms/InstSimplify/select.ll
Log Message:
-----------
[InstSimplify] Fix or disjoint miscompile with op replacement
Make sure %x does not get folded to "or disjoint %x, %x" without
dropping the flag, as this would be a derefinement.
Commit: 89b0044ca9a6fb233f8d6dd16db6bd4acc3d3f61
https://github.com/llvm/llvm-project/commit/89b0044ca9a6fb233f8d6dd16db6bd4acc3d3f61
Author: Nikita Popov <npopov at redhat.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M llvm/test/Transforms/InstSimplify/implies.ll
Log Message:
-----------
[InstSimplify] Add test for implied cond with equal ops and constant (NFC)
Commit: 460faa0c87f0a9496cdaf6c856aff1886e29afe3
https://github.com/llvm/llvm-project/commit/460faa0c87f0a9496cdaf6c856aff1886e29afe3
Author: Nikita Popov <npopov at redhat.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstSimplify/implies.ll
Log Message:
-----------
[InstSimplify] Check common operand with constant earlier
If both icmps have the same operands and the RHS is constant, we
would currently go into the isImpliedCondMatchingOperands() code
path, instead of the isImpliedCondCommonOperandWithConstants()
path. Both are correct, but the latter can produce more accurate
results if the implication is dependent on the sign.
Commit: 9468de48fcd413aa0895a78bd6f1aeb161b39294
https://github.com/llvm/llvm-project/commit/9468de48fcd413aa0895a78bd6f1aeb161b39294
Author: Ramkumar Ramachandra <Ramkumar.Ramachandra at imgtec.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M llvm/include/llvm/CodeGen/TargetInstrInfo.h
M llvm/include/llvm/MC/MCInstrItineraries.h
M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp
M llvm/lib/CodeGen/TargetInstrInfo.cpp
M llvm/lib/CodeGen/TargetSchedule.cpp
M llvm/lib/MC/MCDisassembler/Disassembler.cpp
M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
M llvm/lib/Target/ARM/ARMBaseInstrInfo.h
M llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp
M llvm/lib/Target/Hexagon/HexagonInstrInfo.h
M llvm/lib/Target/Hexagon/HexagonSubtarget.cpp
M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
M llvm/lib/Target/PowerPC/PPCInstrInfo.h
Log Message:
-----------
TargetInstrInfo: make getOperandLatency return optional (NFC) (#73769)
getOperandLatency has the following behavior: it returns -1 as a special
value, negative numbers other than -1 on some target-specific overrides,
or a valid non-negative latency. This behavior can be surprising, as
some callers do arithmetic on these negative values. Change the
interface of getOperandLatency to return a std::optional<unsigned> to
prevent surprises in callers. While at it, change the interface of
getInstrLatency to return unsigned instead of int.
This change was inspired by a refactoring in
TargetSchedModel::computeOperandLatency.
Commit: 5a32014d82334c4c66c8cc7ae3ed2a489c07db07
https://github.com/llvm/llvm-project/commit/5a32014d82334c4c66c8cc7ae3ed2a489c07db07
Author: Oleksandr "Alex" Zinenko <zinenko at google.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
Log Message:
-----------
[mlir] update linalg transform ops docs
Commit: 69020827cf611170d0bc80879114a2427aa39960
https://github.com/llvm/llvm-project/commit/69020827cf611170d0bc80879114a2427aa39960
Author: Shivam Gupta <shivam98.tkg at gmail.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M llvm/docs/CMake.rst
Log Message:
-----------
[NFC] Remove a space in CMake.rst
The rendered document is not correctly indentated because of this space.
Commit: 8727982bdfb84ce4adbd138c146a6b7ecaf98fdb
https://github.com/llvm/llvm-project/commit/8727982bdfb84ce4adbd138c146a6b7ecaf98fdb
Author: Simon Tatham <simon.tatham at arm.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M clang/include/clang/Driver/Multilib.h
M clang/lib/Driver/Multilib.cpp
A clang/test/Driver/baremetal-multilib-exclusive-group.yaml
A clang/test/Driver/baremetal-multilib-group-error.yaml
Log Message:
-----------
[Driver] Add exclusive-group feature to multilib.yaml. (#69447)
This allows a YAML-based multilib configuration to specify explicitly
that a subset of its library directories are alternatives to each
other, i.e. at most one of that subset should be selected.
So if you have multiple sysroots each including a full set of headers
and libraries, you can mark them as members of the same mutually
exclusive group, and then you'll be sure that only one of them is
selected, even if two or more are compatible with the compile options.
This is particularly important in multilib setups including the libc++
headers, where selecting the include directories from two different
sysroots can cause an actual build failure. This occurs when including
<stdio.h>, for example: libc++'s stdio.h is included first, and will
try to use `#include_next` to fetch the underlying libc's version. But
if there are two include directories from separate multilibs, then
both of their C++ include directories will end up on the include path
first, followed by both the C directories. So the `#include_next` from
the first libc++ stdio.h will include the second libc++ stdio.h, which
will do nothing because it has the same include guard macro, and the
libc header won't ever be included at all.
If more than one of the options in an exclusive group matches the
given flags, the last one wins.
The syntax for specifying this in multilib.yaml is to define a Groups
section in which you specify your group names, and for each one,
declare it to have Type: Exclusive. (This reserves space in the syntax
for maybe adding other group types later, such as a group of mutually
_dependent_ things that you must have all or none of.) Then each
Variant record that's a member of a group has a Group: property giving
that group's name.
Commit: a2e8207178432f0af30e8c9e3b905a3fd770d500
https://github.com/llvm/llvm-project/commit/a2e8207178432f0af30e8c9e3b905a3fd770d500
Author: Paul Walker <paul.walker at arm.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M llvm/lib/IR/LLVMContextImpl.h
Log Message:
-----------
[NFC][LLVMContext] Clean up DenseMapInfo classes used for APInt & APFloat.
DenseMapAPIntKeyInfo looks like a redundant definition because it
mirrors the default used by DenseMap when not specified.
Replacing DenseMapAPFloatKeyInfo with a specialisation of
DenseMapInfo allows DenseMap<T> to be more easily used when T is
an aggregate type containing an APFloat.
Commit: 85184b4aefbd01afd6e7be57bc6c1c404b3c13ce
https://github.com/llvm/llvm-project/commit/85184b4aefbd01afd6e7be57bc6c1c404b3c13ce
Author: Dominik Adamski <dominik.adamski at amd.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M openmp/libomptarget/src/interface.cpp
Log Message:
-----------
[OpenMP] Fix libomptarget build issue (#74067)
Libomptarget cannot be build because of the recent refactoring
introduced in patch 148dec9fa43b :
[OpenMP][NFC] Separate Envar (environment variable) handling (#73994)
That patch moved handling of environment variables from libomptarget
library. That's why we don't need usage of "llvm::omp::target" namespace
if we handle environment variables.
Commit: 808b7d220309e279cf9c3d5762cb4c9120c0955f
https://github.com/llvm/llvm-project/commit/808b7d220309e279cf9c3d5762cb4c9120c0955f
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M libc/src/__support/FPUtil/generic/sqrt.h
M libc/src/__support/FPUtil/x86_64/sqrt.h
M libc/src/__support/float_to_string.h
M libc/src/__support/macros/properties/float.h
M libc/src/__support/str_to_float.h
M libc/test/src/__support/FPUtil/fpbits_test.cpp
M libc/test/src/__support/str_to_float_test.cpp
M libc/test/src/stdio/sprintf_test.cpp
M libc/test/src/stdio/sscanf_test.cpp
M libc/test/src/stdlib/strtold_test.cpp
Log Message:
-----------
[libc][NFC] rename LONG_DOUBLE_IS_DOUBLE into LIBC_LONG_DOUBLE_IS_FLOAT64 (#73948)
Commit: f1d0276e4c42301155e900424ea734aca7ec97a8
https://github.com/llvm/llvm-project/commit/f1d0276e4c42301155e900424ea734aca7ec97a8
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M libc/src/__support/macros/properties/float.h
Log Message:
-----------
[libc][NFC] Rename LIBC_LONG_DOUBLE_IS_IEEE754_BIN128 to LIBC_LONG_DOUBLE_IS_FLOAT128 (#74052)
To make it consistent with
https://github.com/llvm/llvm-project/pull/73948 and
https://github.com/llvm/llvm-project/pull/73950
Commit: 977af4252d1d60a1e9c546f0e4328b1a646ef635
https://github.com/llvm/llvm-project/commit/977af4252d1d60a1e9c546f0e4328b1a646ef635
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M libc/src/__support/FPUtil/FPBits.h
M libc/src/__support/FPUtil/ManipulationFunctions.h
M libc/src/__support/FPUtil/NormalFloat.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/macros/properties/float.h
M libc/src/__support/str_to_float.h
M libc/test/src/__support/str_to_float_test.cpp
M libc/test/src/stdio/sprintf_test.cpp
M libc/test/src/stdlib/strtold_test.cpp
Log Message:
-----------
[libc][NFC] Rename SPECIAL_X86_LONG_DOUBLE in LIBC_LONG_DOUBLE_IS_X86_FLOAT80 (#73950)
Commit: da86d4a8c956f0fcee21444eb6de9f05d39d6574
https://github.com/llvm/llvm-project/commit/da86d4a8c956f0fcee21444eb6de9f05d39d6574
Author: Nikita Popov <npopov at redhat.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
Log Message:
-----------
[ValueTracking] Reduce duplication in haveNoCommonBitsSet() (NFC)
Extract a function and call it with both operand orders, so that
we don't have to explicitly commute every single pattern.
Commit: 6e3b2cb46ef5b9d9d28ed337491ee7da7b296616
https://github.com/llvm/llvm-project/commit/6e3b2cb46ef5b9d9d28ed337491ee7da7b296616
Author: Eleanor Bonnici <eleanor.bonnici at arm.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp
A llvm/test/MC/ARM/pcrel-adr16-relocs.s
A llvm/test/MC/ARM/pcrel-adr32-relocs.s
M llvm/test/MC/ARM/pcrel-arm-ldr-imm8-relocs.s
M llvm/test/MC/ARM/pcrel-global.s
M llvm/test/MC/ARM/pcrel-ldr-relocs.s
M llvm/test/MC/ARM/pcrel-thumb-ldr2-relocs.s
M llvm/test/MC/ARM/thumb1-relax-adr.s
Log Message:
-----------
[llvm][MC][ARM][Assembly] Emit relocations for ADRs and big-endian targets (#73834)
Follow-up on https://github.com/llvm/llvm-project/pull/72873/
When ADR/LDR instructions reference a label in a different section, the
offset is not known until link time, however, the assembler assumes it
can resolve them in some cases.
The previous patch addressed the issue for most LDR instructions,
focusing on little-endian targets.
This patch addresses the remaining work for ADRs and big-endian targets.
Commit: 6ab7662f35bb5bc1d19a7e68ec0a710bbf71c2c4
https://github.com/llvm/llvm-project/commit/6ab7662f35bb5bc1d19a7e68ec0a710bbf71c2c4
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M clang/test/CXX/drs/dr0xx.cpp
M clang/test/CXX/drs/dr1xx.cpp
Log Message:
-----------
[clang][NFC] Refactor expected directives in C++ DRs 100-199 (#74061)
This patch continues the work started with ea5b1ef016d020c37f903d6c7d4f623be975dab8. See that commit and its corresponding PR for details.
Commit: f19571ee781de932390e8983267263f504e99e1f
https://github.com/llvm/llvm-project/commit/f19571ee781de932390e8983267263f504e99e1f
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M libcxx/test/std/containers/sequences/deque/deque.modifiers/insert_iter_iter.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.negbin/eval.pass.cpp
Log Message:
-----------
[libc++] Revert "Compile MSAN/TSAN failing test with -O1 (#73555)"
This reverts commit 61aef978d6ab1553c48bbd9bf807a277b22451c1, which
broke the CI on GCC.
Commit: f42b7615b862bb5f77981f619f92877eb20adf54
https://github.com/llvm/llvm-project/commit/f42b7615b862bb5f77981f619f92877eb20adf54
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Dialect/Vector/canonicalize.mlir
Log Message:
-----------
[mlir][Vector] Add fold transpose(shape_cast) -> shape_cast (#73951)
This folds transpose(shape_cast) into a new shape_cast, when the
transpose just permutes a unit dim from the result of the shape_cast.
Example:
```
%0 = vector.shape_cast %vec : vector<[4]xf32> to vector<[4]x1xf32>
%1 = vector.transpose %0, [1, 0] : vector<[4]x1xf32> to vector<1x[4]xf32>
```
Folds to:
```
%0 = vector.shape_cast %vec : vector<[4]xf32> to vector<1x[4]xf32>
```
This is an (alternate) fix for lowering matmuls to ArmSME.
Commit: e59a0cd7d80a9f1ab803c4ff7416c77e9a34ed1d
https://github.com/llvm/llvm-project/commit/e59a0cd7d80a9f1ab803c4ff7416c77e9a34ed1d
Author: Matthew Devereau <matthew.devereau at arm.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M clang/include/clang/Basic/arm_sme.td
A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_zero_zt.c
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/SMEInstrFormats.td
A llvm/test/CodeGen/AArch64/sme2-intrinsics-zero-zt.ll
Log Message:
-----------
[AArch64][SME2] Add SME2 builtins for zero { zt0 } (#72274)
See https://github.com/ARM-software/acle/pull/217
Patch by: Kerry McLaughlin kerry.mclaughlin at arm.com
Commit: 93636581d3589b3b986c0080a82de7fc0bbd01cf
https://github.com/llvm/llvm-project/commit/93636581d3589b3b986c0080a82de7fc0bbd01cf
Author: Nikita Popov <npopov at redhat.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M llvm/include/llvm/Transforms/InstCombine/InstCombiner.h
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
Log Message:
-----------
[InstCombiner] Make isFreeToInvert() and friends instance functions (NFC)
In order to use SQ inside of these. There doesn't seem to be any
strong need for these to be static.
Commit: 65aab9e7222025f57c4bfc253d48c7b2ea8581da
https://github.com/llvm/llvm-project/commit/65aab9e7222025f57c4bfc253d48c7b2ea8581da
Author: Adam Paszke <apaszke at google.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M mlir/lib/ExecutionEngine/CudaRuntimeWrappers.cpp
Log Message:
-----------
[mlir][gpu] Generate multiple rank-specializations for tensor map cre… (#74082)
…ation
The previous code was technically incorrect in that the type indicated
that the memref only has 1 dimension, while the code below was happily
dereferencing the size array out of bounds. Now, if the compiler doesn't
get too smart about optimizations, this code *might even work*. But, if
the compiler realizes that the array has 1 element it might starrt doing
silly things. This generates a specialization per each supported rank,
making sure we don't do any UB.
Commit: dd5c5349e1f3b495789a9f67e579121da3722db6
https://github.com/llvm/llvm-project/commit/dd5c5349e1f3b495789a9f67e579121da3722db6
Author: Nikita Popov <npopov at redhat.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M llvm/test/Transforms/InstCombine/free-inversion.ll
Log Message:
-----------
[InstCombine] Add tests for invert of lshr (NFC)
Commit: b92693ac6afc522ea56bede0b9805ca7c138754c
https://github.com/llvm/llvm-project/commit/b92693ac6afc522ea56bede0b9805ca7c138754c
Author: Nikita Popov <npopov at redhat.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Transforms/InstCombine/free-inversion.ll
Log Message:
-----------
[InstCombine] Support inverting lshr with non-negative operand
If the lshr operand is non-negative, we can treat it the same
way as an ashr. Ideally we would represent this as "lshr nneg",
but for now just perform the necessary ValueTracking query.
Proof: https://alive2.llvm.org/ce/z/Ahg4ri
Commit: fdf84cbf87198d16fe17aed0c31989ee31051d82
https://github.com/llvm/llvm-project/commit/fdf84cbf87198d16fe17aed0c31989ee31051d82
Author: Quinn Dawkins <quinn.dawkins at gmail.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorTransferOpTransforms.cpp
M mlir/test/Dialect/Vector/vector-transfer-drop-unit-dims-patterns.mlir
Log Message:
-----------
[mlir][vector] Fix unit dim dropping pattern for masked writes (#74038)
This does the same as #72142 for vector.transfer_write. Previously the
pattern would silently drop the mask.
Commit: 8c130996c03f6c5993a0989a5c6fa95d1437995a
https://github.com/llvm/llvm-project/commit/8c130996c03f6c5993a0989a5c6fa95d1437995a
Author: Nikita Popov <npopov at redhat.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Transforms/InstCombine/free-inversion.ll
Log Message:
-----------
Revert "[InstCombine] Support inverting lshr with non-negative operand"
This reverts commit b92693ac6afc522ea56bede0b9805ca7c138754c.
I've made a silly typo in the condition. Will reapply the corrected
version.
Commit: 852f6be6967911de8ab6fe61b5a632366cc0804e
https://github.com/llvm/llvm-project/commit/852f6be6967911de8ab6fe61b5a632366cc0804e
Author: Spenser Bauman <sbauman at mathworks.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M mlir/lib/Dialect/Tosa/Transforms/TosaInferShapes.cpp
M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
Log Message:
-----------
[mlir][tosa] Improve tosa-infer-shapes for ops consumed by non-TOSA operators (#72715)
TOSA operators consumed by non-TOSA ops generally do not have their
types inferred, as that would alter the types expected by their
consumers. This prevents type refinement on many TOSA operators when the
IR contains a mix of dialects.
This change modifies tosa-infer-shapes to update the types of all TOSA
operators during inference. When a consumer of that TOSA op is not safe
to update, a tensor.cast is inserted back to the original type. This
behavior is similar to how TOSA ops consumed by func.return are handled.
This allows for more type refinement of TOSA ops, and the additional
tensor.cast operators may be removed by later canonicalizations.
Commit: 7007919cfde7c7515c0c2cc9b7d66616225d0b17
https://github.com/llvm/llvm-project/commit/7007919cfde7c7515c0c2cc9b7d66616225d0b17
Author: Nikita Popov <npopov at redhat.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M llvm/test/Transforms/InstCombine/free-inversion.ll
Log Message:
-----------
[InstCombine] Add additional test for invert of lshr (NFC)
Commit: faebb1b2e6891687e4f608b74205985ec78ade40
https://github.com/llvm/llvm-project/commit/faebb1b2e6891687e4f608b74205985ec78ade40
Author: Nikita Popov <npopov at redhat.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Transforms/InstCombine/free-inversion.ll
Log Message:
-----------
Reapply [InstCombine] Support inverting lshr with non-negative operand
My initial patch contained a typo, resulting in the wrong value
being checked for non-negativeness.
-----
If the lshr operand is non-negative, we can treat it the same
way as an ashr. Ideally we would represent this as "lshr nneg",
but for now just perform the necessary ValueTracking query.
Proof: https://alive2.llvm.org/ce/z/Ahg4ri
Commit: 0d87e2577914a6384f4ad5952b8fa9b0d8e48da8
https://github.com/llvm/llvm-project/commit/0d87e2577914a6384f4ad5952b8fa9b0d8e48da8
Author: Spenser Bauman <sbauman at mathworks.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-named.mlir
A mlir/test/Integration/Dialect/Tosa/CPU/test-fully-connected.mlir
Log Message:
-----------
[mlir][tosa] Improve lowering to tosa.fully_connected (#73049)
The current lowering of tosa.fully_connected produces a linalg.matmul
followed by a linalg.generic to add the bias. The IR looks like the
following:
%init = tensor.empty()
%zero = linalg.fill ins(0 : f32) outs(%init)
%prod = linalg.matmul ins(%A, %B) outs(%zero)
// Add the bias
%initB = tensor.empty()
%result = linalg.generic ins(%prod, %bias) outs(%initB) {
// add bias and product
}
This has two down sides:
1. The tensor.empty operations typically result in additional
allocations after bufferization
2. There is a redundant traversal of the data to add the bias to the
matrix product.
This extra work can be avoided by leveraging the out-param of
linalg.matmul. The new IR sequence is:
%init = tensor.empty()
%broadcast = linalg.broadcast ins(%bias) outs(%init)
%prod = linalg.matmul ins(%A, %B) outs(%broadcast)
In my experiments, this eliminates one loop and one allocation (post
bufferization) from the generated code.
Commit: f58fb8c209a5179f8f2e02e2a0816c9b1f1edb1b
https://github.com/llvm/llvm-project/commit/f58fb8c209a5179f8f2e02e2a0816c9b1f1edb1b
Author: Spenser Bauman <sbauman at mathworks.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-named.mlir
Log Message:
-----------
[mlir][tosa] Fix lowering of tosa.conv2d (#73240)
The lowering of tosa.conv2d produces an illegal tensor.empty operation
where the number of inputs do not match the number of dynamic dimensions
in the output type.
The fix is to base the generation of tensor.dim operations off the
result type of the conv2d operation, rather than the input type. The
problem and fix are very similar to this fix
https://github.com/llvm/llvm-project/pull/72724
but for convolution.
Commit: 39d15a7d3bc6bca4c2ad0fc432ba757eb9b8338c
https://github.com/llvm/llvm-project/commit/39d15a7d3bc6bca4c2ad0fc432ba757eb9b8338c
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/SMEInstrFormats.td
M llvm/test/CodeGen/AArch64/sme-streaming-compatible-interface.ll
M llvm/test/CodeGen/AArch64/sme-streaming-interface.ll
Log Message:
-----------
[AArch64][SME] Remove implicit-def's on smstart (#69012)
When we lower calls, the sequence of argument copy-to-reg nodes are
glued to the smstart. In the InstrEmitter, these glued copies are turned
into implicit defs, since the actual call instruction uses those
physregs, resulting in the register allocator adding unnecessary copies
of regs that are preserved anyway.
Commit: 14e991740b5425680d49d75336132e793f1315e8
https://github.com/llvm/llvm-project/commit/14e991740b5425680d49d75336132e793f1315e8
Author: Daniel Grumberg <dgrumberg at apple.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M clang/lib/ExtractAPI/ExtractAPIConsumer.cpp
A clang/test/ExtractAPI/vfs_redirected_include.m
Log Message:
-----------
[clang][ExtractAPI] Ensure LocationFileChecker doesn't try to traverse VFS when determining file path (#74071)
As part of https://reviews.llvm.org/D154130 the logic of
LocationFileChecker changed slightly to try and get the absolute
external file path instead of the name as requested when the file was
openened which would be before VFS mappings in our usage. Ensure that we
only check against the name as requested instead of trying to generate
the external canonical file path.
rdar://115195433
Commit: d222fa4521531cc4ac14b8e157d231c108c003be
https://github.com/llvm/llvm-project/commit/d222fa4521531cc4ac14b8e157d231c108c003be
Author: Ramkumar Ramachandra <Ramkumar.Ramachandra at imgtec.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M llvm/include/llvm/MC/MCInstrItineraries.h
M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
Log Message:
-----------
TargetInstrInfo: squelch a signedness warning on MSVC (#74078)
Follow up on 9468de4 (TargetInstrInfo: make getOperandLatency return
optional (NFC)) to squelch a signedness warning on MSVC, reported by
Simon Pilgrim.
Commit: 76f78ecc789d58baa3a88b2fe2a57428f07e5362
https://github.com/llvm/llvm-project/commit/76f78ecc789d58baa3a88b2fe2a57428f07e5362
Author: Dmitri Gribenko <gribozavr at gmail.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M llvm/include/llvm/Target/TargetMachine.h
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/Target/TargetMachine.cpp
M llvm/lib/Target/X86/X86Subtarget.cpp
R llvm/test/CodeGen/X86/code-model-elf-text-sections.ll
M llvm/test/CodeGen/X86/code-model-elf.ll
M llvm/test/CodeGen/X86/pcsections.ll
M llvm/test/ExecutionEngine/OrcLazy/debug-objects-elf-minimal.ll
Log Message:
-----------
Revert "Reland [X86] With large code model, put functions into .ltext with large section flag (#73037)"
This reverts commit 4bf8a688956a759b7b6b8d94f42d25c13c7af130.
This commit seems to be breaking the semantics of the
ObjectFile::isSectionText method, which breaks numba/llvmlite bindings.
Commit: f184147706f5430387fee99d2e94c7a3361c642b
https://github.com/llvm/llvm-project/commit/f184147706f5430387fee99d2e94c7a3361c642b
Author: Jon Chesterfield <jonathanchesterfield at gmail.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M openmp/libomptarget/plugins-nextgen/amdgpu/dynamic_hsa/hsa_ext_amd.h
Log Message:
-----------
[amdgpu] Default to 1.0, instead of unspecified, for dynamic hsa (#74098)
The plugin checks the values of HSA_AMD_INTERFACE_VERSION_* so we now
set them to something safe in the header.
Commit: f40d25151c25e257f3ebd2696e0bf133fe2a30ff
https://github.com/llvm/llvm-project/commit/f40d25151c25e257f3ebd2696e0bf133fe2a30ff
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Sema.h
M clang/lib/Parse/ParseTemplate.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/test/CXX/drs/dr20xx.cpp
A clang/test/CXX/drs/dr24xx.cpp
M clang/test/SemaTemplate/temp_arg_nontype_cxx20.cpp
A clang/test/SemaTemplate/temp_arg_nontype_cxx2c.cpp
M clang/www/cxx_dr_status.html
M clang/www/cxx_status.html
Log Message:
-----------
[Clang] Implement P2308R1 - Template Parameter Initialization. (#73103)
https://wiki.edg.com/pub/Wg21kona2023/StrawPolls/p2308r1.html
This implements P2308R1 as a DR and resolves CWG2459, CWG2450 and
CWG2049.
Fixes #73666
Fixes #58434
Fixes #41227
Fixes #49978
Fixes #36296
Commit: 6cd7500ae690b412b7a350c70b27bd8e0839d643
https://github.com/llvm/llvm-project/commit/6cd7500ae690b412b7a350c70b27bd8e0839d643
Author: Youngsuk Kim <joseph942010 at gmail.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M llvm/include/llvm/IR/IRBuilder.h
Log Message:
-----------
[llvm][IR] Remove method IRBuilderBase::getInt8PtrTy (#74096)
Users should migrate to IRBuilderBase::getPtrTy.
Commit: abaeaf382304e5fe30fe05afd09cec3f7191e484
https://github.com/llvm/llvm-project/commit/abaeaf382304e5fe30fe05afd09cec3f7191e484
Author: Shraiysh <Shraiysh.Vaishay at amd.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M openmp/libomptarget/test/offloading/fortran/target_map_common_block.f90
Log Message:
-----------
[OpenMP][flang] Adding more tests for commonblock with target map (#71146)
This patch addresses the concern about multiple devices and also adds
more tests for `map(to:)`, `map(from:)` and named common blocks.
Commit: 7832a8582a42e5be7e313e88efabcdc981be6dec
https://github.com/llvm/llvm-project/commit/7832a8582a42e5be7e313e88efabcdc981be6dec
Author: Mircea Trofin <mtrofin at google.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M llvm/test/CodeGen/MLRegAlloc/dev-mode-extra-features-logging.ll
Log Message:
-----------
[mlgo] Fix test post PR #73899
Opcode value change.
Commit: ea4eb691f4955e3b784ebf9bc94a47186838c6f2
https://github.com/llvm/llvm-project/commit/ea4eb691f4955e3b784ebf9bc94a47186838c6f2
Author: Radu Salavat <radu.salavat at arm.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/CommonArgs.h
M clang/lib/Driver/ToolChains/Flang.cpp
M flang/test/Driver/driver-help-hidden.f90
M flang/test/Driver/driver-help.f90
A flang/test/Driver/frame-pointer-forwarding.f90
M flang/test/Driver/frontend-forwarding.f90
Log Message:
-----------
[Flang][Clang] Add support for frame pointers in Flang
Commit: bc802407d16f4aa0df9f32610e3b25b6a791c085
https://github.com/llvm/llvm-project/commit/bc802407d16f4aa0df9f32610e3b25b6a791c085
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSVE/matmul.mlir
R mlir/test/Integration/Dialect/Linalg/CPU/ArmSVE/matmul_mixed_ty.mlir
Log Message:
-----------
[mlir][sve][nfc] Merge the integration tests for linalg.matmul (#74059)
At the moment the logic to tile and vectorize `linalg.matmul` is
duplicated in multiple test files:
* matmul.mlir
* matmul_mixed_ty.mlir
Instead, this patch uses `transform.foreach` to apply the same sequence
to multiple functions within the same test file (e.g. `matmul_f32` and
`matmul_mixed_ty` as defined in the original files). This allows us to
merge relevant test files.
Commit: 76a9ea1321b1365713bbf6afafbd18cc5d7a9381
https://github.com/llvm/llvm-project/commit/76a9ea1321b1365713bbf6afafbd18cc5d7a9381
Author: Amir Ayupov <aaupov at fb.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M bolt/utils/llvm-bolt-wrapper.py
Log Message:
-----------
[BOLT][utils] Remove heatmap mode detection from wrapper script
Heatmap mode has been moved to a separate tool. Drop the support in
llvm-bolt-wrapper.
Commit: 9584f5834499e6093797d4a28fde209f927ea556
https://github.com/llvm/llvm-project/commit/9584f5834499e6093797d4a28fde209f927ea556
Author: Amir Ayupov <aaupov at fb.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M bolt/utils/nfc-stat-parser.py
Log Message:
-----------
[BOLT][utils] Bump default time threshold to 2s in nfc-stat-parser
Commit: f866fde59854fd12dcc067388e4a60b218a0f818
https://github.com/llvm/llvm-project/commit/f866fde59854fd12dcc067388e4a60b218a0f818
Author: Craig Topper <craig.topper at sifive.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
A llvm/test/CodeGen/RISCV/GlobalISel/constantpool.ll
Log Message:
-----------
[RISCV][GISel] Lower G_FCONSTANT to constant pool load without F or D. (#73034)
I used an IR test because it was easier than constructing different MIR
test for each type of addressing.
Commit: 3693f44fffc0622760979dd5e2143797662913fe
https://github.com/llvm/llvm-project/commit/3693f44fffc0622760979dd5e2143797662913fe
Author: Caslyn Tonelli <6718161+Caslyn at users.noreply.github.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M libc/src/__support/macros/properties/float.h
M libc/src/__support/macros/properties/os.h
Log Message:
-----------
[libc] Exclude Fuchsia from float128 detection (#73985)
Following from https://github.com/llvm/llvm-project/pull/73372:
Fuchsia targets currently don't support `float128`. Add detection for
`LIBC_TARGET_OS_IS_FUCHSIA`, and exclude this OS from setting
`LIBC_COMPILER_HAS_FLOAT128_EXTENSION`.
Commit: 8bea804923a1b028e86b177caccb3258708ca01c
https://github.com/llvm/llvm-project/commit/8bea804923a1b028e86b177caccb3258708ca01c
Author: Joseph Huber <huberjn at outlook.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M libc/utils/gpu/loader/amdgpu/Loader.cpp
Log Message:
-----------
[libc] Move the pointer to pin off the stack to the heap (#74118)
Summary:
This may be problematic to pin a stack pointer. Allocate it via the OS
allocator instead as the documentation suggests.
For some reason, if you attempt to free this pointer after the memory
region has been unlocked, it will return an invalid pointer.
Commit: 6c5e967f5d19ccefe6cf7700ac3998b80d19f202
https://github.com/llvm/llvm-project/commit/6c5e967f5d19ccefe6cf7700ac3998b80d19f202
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M llvm/lib/CodeGen/TargetInstrInfo.cpp
Log Message:
-----------
Fix MSVC signed/unsigned mismatch warning. NFC.
Commit: 625e1ecb7e80c1da4ea50e5b1ad632f08b71d127
https://github.com/llvm/llvm-project/commit/625e1ecb7e80c1da4ea50e5b1ad632f08b71d127
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp
Log Message:
-----------
Fix MSVC signed/unsigned mismatch warning. NFC.
Commit: ff0d8a9a6c2a08e206e77db318a18210678f54a4
https://github.com/llvm/llvm-project/commit/ff0d8a9a6c2a08e206e77db318a18210678f54a4
Author: chrulski-intel <christopher.m.chrulski at intel.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Passes/StandardInstrumentations.cpp
A llvm/test/Other/trigger-verifier-error.ll
Log Message:
-----------
Report pass name when -llvm-verify-each reports breakage (#71447)
Update the string reported to include the pass name of last pass when
running verifier after each pass.
Commit: bc4e0c048aa3cd940b0cea787014c7e8680e5040
https://github.com/llvm/llvm-project/commit/bc4e0c048aa3cd940b0cea787014c7e8680e5040
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M openmp/libomptarget/include/PluginManager.h
M openmp/libomptarget/src/PluginManager.cpp
M openmp/libomptarget/src/interface.cpp
M openmp/libomptarget/src/omptarget.cpp
M openmp/libomptarget/src/rtl.cpp
Log Message:
-----------
[OpenMP][NFC] Modernize the plugin handling (#74034)
This basically moves code around again, but this time to provide cleaner
interfaces and remove duplication. PluginAdaptorManagerTy is almost all
gone after this.
Commit: 70187ebadf20f014a7821cf322eae60192dbe4cc
https://github.com/llvm/llvm-project/commit/70187ebadf20f014a7821cf322eae60192dbe4cc
Author: Jake Egan <5326451+jakeegan at users.noreply.github.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M llvm/test/DebugInfo/Generic/mixed-source.ll
Log Message:
-----------
[AIX][tests] Disable mixed-source.ll test using debug_addr section
AIX doesn't support the `debug_addr` section.
See related PR: #71814
Commit: 3530428b8fab101fa026c734992e11a718071c8c
https://github.com/llvm/llvm-project/commit/3530428b8fab101fa026c734992e11a718071c8c
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
A openmp/libomptarget/include/OffloadPolicy.h
M openmp/libomptarget/include/PluginManager.h
M openmp/libomptarget/include/device.h
M openmp/libomptarget/src/omptarget.cpp
Log Message:
-----------
[OpenMP][NFC] Extract OffloadPolicy into a helper class (#74029)
OpenMP allows 3 different offload policies, handling of which we want to
encapsulate.
Commit: ca2d79f9cad48b7165bf81a7cc24b67f277915f1
https://github.com/llvm/llvm-project/commit/ca2d79f9cad48b7165bf81a7cc24b67f277915f1
Author: dhruvachak <Dhruva.Chakrabarti at amd.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M openmp/libomptarget/plugins-nextgen/common/src/PluginInterface.cpp
Log Message:
-----------
[OpenMP] Add an INFO message for data transfer of kernel launch env. (#74030)
Commit: e81796671890b59c110f8e41adc7ca26f8484d20
https://github.com/llvm/llvm-project/commit/e81796671890b59c110f8e41adc7ca26f8484d20
Author: Philip Reames <preames at rivosinc.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M clang/lib/Basic/Targets/RISCV.cpp
M clang/lib/Driver/ToolChains/Arch/RISCV.cpp
M clang/test/Driver/riscv-features.c
M llvm/lib/Target/RISCV/RISCVExpandPseudoInsts.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/test/CodeGen/RISCV/memcpy-inline.ll
M llvm/test/CodeGen/RISCV/memcpy.ll
M llvm/test/CodeGen/RISCV/memset-inline.ll
M llvm/test/CodeGen/RISCV/pr56110.ll
M llvm/test/CodeGen/RISCV/riscv-func-target-feature.ll
M llvm/test/CodeGen/RISCV/rvv/concat-vectors-constant-stride.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-load-combine.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-unaligned.ll
M llvm/test/CodeGen/RISCV/rvv/memcpy-inline.ll
M llvm/test/CodeGen/RISCV/rvv/memset-inline.ll
M llvm/test/CodeGen/RISCV/rvv/unaligned-loads-stores.ll
M llvm/test/CodeGen/RISCV/unaligned-load-store.ll
M llvm/utils/TableGen/RISCVTargetDefEmitter.cpp
Log Message:
-----------
[RISCV] Collapse fast unaligned access into a single feature [nfc-ish] (#73971)
When we'd originally added unaligned-scalar-mem and
unaligned-vector-mem, they were separated into two parts under the
theory that some processor might implement one, but not the other. At
the moment, we don't have evidence of such a processor. The C/C++ level
interface, and the clang driver command lines have settled on a single
unaligned flag which indicates both scalar and vector support unaligned.
Given that, let's remove the test matrix complexity for a set of
configurations which don't appear useful.
Given these are internal feature names, I don't think we need to provide
any forward compatibility. Anyone disagree?
Note: The immediate trigger for this patch was finding another case
where the unaligned-vector-mem wasn't being properly serialized to IR
from clang which resulted in problems reproducing assembly from clang's
-emit-llvm feature. Instead of fixing this, I decided getting rid of the
complexity was the better approach.
Commit: 62213be8726d8b036c1c1b8fa1f0228608350f17
https://github.com/llvm/llvm-project/commit/62213be8726d8b036c1c1b8fa1f0228608350f17
Author: Philip Reames <preames at rivosinc.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M lld/ELF/Arch/RISCV.cpp
A lld/test/ELF/riscv-relax-call-mixed-rvc.s
Log Message:
-----------
[LLD][RISCV] Fix incorrect call relaxation when mixing +c and -c objects (#73977)
This fixes a mis-link when mixing compressed and non-compressed input to
LLD. When relaxing calls, we must respect the source file that the
section came from when deciding whether it's legal to use compressed
instructions. If the call in question comes from a non-rvc source, then it will not
expect 2-byte alignments and cascading failures may result.
This fixes https://github.com/llvm/llvm-project/issues/63964. The symptom
seen there is that a latter RISCV_ALIGN can't be satisfied and we either
fail an assert or produce a totally bogus link result. (It can be easily
reproduced by putting .p2align 5 right before the nop in the reduced
test case and running check-lld on an assertions enabled build.) However,
it's important to note this is just one possible symptom of the problem.
If the resulting binary has a runtime switch between rvc and non-rvc
routines (via e.g. ifuncs), then even if we manage to link we may execute invalid
instructions on a machine which doesn't implement compressed instructions.
Commit: aa7e873f2f52938ffa4d4711dbe494feb49535c8
https://github.com/llvm/llvm-project/commit/aa7e873f2f52938ffa4d4711dbe494feb49535c8
Author: David Green <david.green at arm.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-fmaxnum.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-fminnum.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-memcpy-et-al.mir
Log Message:
-----------
[AArch64] Regenerate fmin/fmax/memcpy legalization tests. NFC
Commit: 8c1d476db0ac73df44b1b9db66fdac45473dea68
https://github.com/llvm/llvm-project/commit/8c1d476db0ac73df44b1b9db66fdac45473dea68
Author: Joseph Huber <huberjn at outlook.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M libc/utils/gpu/loader/amdgpu/Loader.cpp
Log Message:
-----------
Revert "[libc] Explicitly pin memory for the client symbol lookup (#73988)"
Summary:
This caused the bots to begin failing. Revert for now to get the bot
green.
This reverts commit 8bea804923a1b028e86b177caccb3258708ca01c.
This reverts commit e1395c7bdbe74b632ba7fbd90e2be2b4d82ee09e.
Commit: 171cac95a7eb1526f4d18bf8f654275656183ce4
https://github.com/llvm/llvm-project/commit/171cac95a7eb1526f4d18bf8f654275656183ce4
Author: Han-Chung Wang <hanhan0912 at gmail.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/test/Dialect/Tensor/canonicalize.mlir
Log Message:
-----------
[mlir][tensor] Fold padding_value away for pack ops when possible. (#74005)
If we can infer statically that there are no incomplete tiles, we can
remove the optional padding operand.
Fixes https://github.com/openxla/iree/issues/15417
Commit: 7e7aaa53a11009a28228e6f39c48adf64d26d1d6
https://github.com/llvm/llvm-project/commit/7e7aaa53a11009a28228e6f39c48adf64d26d1d6
Author: Craig Topper <craig.topper at sifive.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
A llvm/test/CodeGen/RISCV/GlobalISel/iabs.ll
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-abs-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-abs-rv64.mir
Log Message:
-----------
[RISCV][GISel] Support G_ABS with Zbb. (#72939)
We can use neg+max or negw+max.
Commit: 279b1ea65f8403aa6d49e7aafa7e40dc906be4bf
https://github.com/llvm/llvm-project/commit/279b1ea65f8403aa6d49e7aafa7e40dc906be4bf
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/scalarization-overhead.ll
Log Message:
-----------
[SLP]Improve gathering of the scalars used in the graph.
Currently we emit gathers for scalars being vectorized in the tree as
a pair of extractelement/insertelement instructions. Instead we can try
to find all required vectors and emit shuffle vector instructions
directly, improving the code and reducing compile time.
Part of non-power-of-2 vectorization.
Differential Revision: https://reviews.llvm.org/D110978
Commit: deca8055d4f590047730df4a6806e06d623ef1ff
https://github.com/llvm/llvm-project/commit/deca8055d4f590047730df4a6806e06d623ef1ff
Author: Tanmay <tnmysachan at gmail.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M llvm/lib/Support/Regex.cpp
M llvm/unittests/Support/RegexTest.cpp
Log Message:
-----------
Avoid nullptr+0 in Regex (#73071)
A zero-length StringRef can have a null data pointer, which, if passed to the llvm_regex functions which take a pointer+length, but then convert it into a [begin, end) pointer pair can cause a nullptr+0 expression to be evaluated, which is UB. So avoid that by ensuring the data pointer is always non-null, even in the zero-length case.
Commit: 37f2f48c8f43b2b98869a6e5f009d3d2471ecdaf
https://github.com/llvm/llvm-project/commit/37f2f48c8f43b2b98869a6e5f009d3d2471ecdaf
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M llvm/include/llvm/IR/BasicBlock.h
M llvm/include/llvm/IR/DebugProgramInstruction.h
M llvm/lib/IR/BasicBlock.cpp
M llvm/unittests/IR/BasicBlockDbgInfoTest.cpp
Log Message:
-----------
[DebugInfo][RemoveDIs] Handle a debug-info splicing corner case (#73810)
A large amount of complexity when it comes to shuffling DPValue objects
around is pushed into BasicBlock::spliceDebugInfo, and it gets
comprehensive testing there via the unit tests. It turns out that there's a
corner case though: splicing instructions and debug-info to the end()
iterator requires blocks of DPValues to be concatenated, but the DPValues
don't behave normally as they're dangling at the end of a block. While this
splicing-to-an-empty-block case is rare, and it's even rarer for it to
contain debug-info, it does happen occasionally.
Fix this by wrapping spliceDebugInfo with an outer layer that removes any
dangling DPValues in the destination block -- that way the main splicing
function (renamed to spliceDebugInfoImpl) doesn't need to worry about that
scenario. See the diagram in the added function for more info.
Commit: 1a013b61dc0f8f415fe34ce4339e35c13ad15785
https://github.com/llvm/llvm-project/commit/1a013b61dc0f8f415fe34ce4339e35c13ad15785
Author: eric <eric at efcs.ca>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M libcxx/utils/ci/Dockerfile
M libcxx/utils/ci/docker-compose.yml
Log Message:
-----------
Allow libc++ image tag to be specified via enviroment variables.
This change is needed for changes I'm working on that allow
github workflows to build, push, and otherwise manage the container
images they use
Commit: 9553e156cb840ba4bc040bbfc1f44dc284a97c86
https://github.com/llvm/llvm-project/commit/9553e156cb840ba4bc040bbfc1f44dc284a97c86
Author: Joseph Huber <huberjn at outlook.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M libc/utils/gpu/loader/amdgpu/Loader.cpp
Log Message:
-----------
[libc] Allocate fine-grained memory for the RPC host symbol
Summary:
This pointer has been causing issues. Allocating and reading from coarse
memory on the CPU is not guaranteed and varies depending on the kernel
version and support. Previously we attempted to pin the memory but this
caused unexpected failures. This should be a legal operation and work
around the problem as fine-grained memory should be always legal to
write to by both sides.
Commit: adc6b43ee1c4672b8aa1a0763111c1ade9e7e2bb
https://github.com/llvm/llvm-project/commit/adc6b43ee1c4672b8aa1a0763111c1ade9e7e2bb
Author: Nathan Sidwell <nathan at acm.org>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M llvm/lib/IR/AutoUpgrade.cpp
Log Message:
-----------
[llvm][NFC] Autoupdater AMD intrinsic detection (#73331)
Check atomic prefix before looking for atomic instructions
Commit: 91b2559a6a56319ef40bf93f12eccd8d0b37d964
https://github.com/llvm/llvm-project/commit/91b2559a6a56319ef40bf93f12eccd8d0b37d964
Author: Nathan Sidwell <nathan at acm.org>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M llvm/lib/IR/AutoUpgrade.cpp
Log Message:
-----------
[nvptx] Fix autoupdater's intrinsic matcher (#73330)
Fix nvptx autoupdater's intrinsic matcher's typo'd names that used `_` (underbar), rather than '.' (dot), as a separator.
Commit: 481e9b3e0b9c0a6843261f060822c7a41387e28c
https://github.com/llvm/llvm-project/commit/481e9b3e0b9c0a6843261f060822c7a41387e28c
Author: Charlie Barto <chbarto at microsoft.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M compiler-rt/lib/asan/CMakeLists.txt
M compiler-rt/lib/asan/asan_interface.inc
A compiler-rt/lib/asan/asan_win_delete_array_align_nothrow_thunk.cpp
A compiler-rt/lib/asan/asan_win_delete_array_align_thunk.cpp
A compiler-rt/lib/asan/asan_win_delete_array_nothrow_thunk.cpp
A compiler-rt/lib/asan/asan_win_delete_array_size_align_thunk.cpp
A compiler-rt/lib/asan/asan_win_delete_array_size_thunk.cpp
A compiler-rt/lib/asan/asan_win_delete_array_thunk.cpp
A compiler-rt/lib/asan/asan_win_delete_scalar_align_nothrow_thunk.cpp
A compiler-rt/lib/asan/asan_win_delete_scalar_align_thunk.cpp
A compiler-rt/lib/asan/asan_win_delete_scalar_nothrow_thunk.cpp
A compiler-rt/lib/asan/asan_win_delete_scalar_size_align_thunk.cpp
A compiler-rt/lib/asan/asan_win_delete_scalar_size_thunk.cpp
A compiler-rt/lib/asan/asan_win_delete_scalar_thunk.cpp
A compiler-rt/lib/asan/asan_win_new_array_align_nothrow_thunk.cpp
A compiler-rt/lib/asan/asan_win_new_array_align_thunk.cpp
A compiler-rt/lib/asan/asan_win_new_array_nothrow_thunk.cpp
A compiler-rt/lib/asan/asan_win_new_array_thunk.cpp
A compiler-rt/lib/asan/asan_win_new_delete.cpp
A compiler-rt/lib/asan/asan_win_new_delete_thunk_common.h
A compiler-rt/lib/asan/asan_win_new_scalar_align_nothrow_thunk.cpp
A compiler-rt/lib/asan/asan_win_new_scalar_align_thunk.cpp
A compiler-rt/lib/asan/asan_win_new_scalar_nothrow_thunk.cpp
A compiler-rt/lib/asan/asan_win_new_scalar_thunk.cpp
M compiler-rt/test/asan/TestCases/Windows/double_operator_delete.cpp
A compiler-rt/test/asan/TestCases/Windows/new_delete_mfc_already_defined.cpp
A compiler-rt/test/asan/TestCases/Windows/new_delete_mfc_already_defined_dbg.cpp
M compiler-rt/test/asan/TestCases/Windows/operator_array_new_left_oob.cpp
M compiler-rt/test/asan/TestCases/Windows/operator_array_new_right_oob.cpp
M compiler-rt/test/asan/TestCases/Windows/operator_array_new_uaf.cpp
M compiler-rt/test/asan/TestCases/Windows/operator_array_new_with_dtor_left_oob.cpp
A compiler-rt/test/asan/TestCases/Windows/operator_delete_replacement_array.cpp
A compiler-rt/test/asan/TestCases/Windows/operator_delete_replacement_scalar.cpp
M compiler-rt/test/asan/TestCases/Windows/operator_delete_wrong_argument.cpp
A compiler-rt/test/asan/TestCases/Windows/operator_new_delete_replacement_all.cpp
A compiler-rt/test/asan/TestCases/Windows/operator_new_delete_replacement_common.h
A compiler-rt/test/asan/TestCases/Windows/operator_new_delete_replacement_macros.h
M compiler-rt/test/asan/TestCases/Windows/operator_new_left_oob.cpp
A compiler-rt/test/asan/TestCases/Windows/operator_new_replacement_array.cpp
A compiler-rt/test/asan/TestCases/Windows/operator_new_replacement_scalar.cpp
M compiler-rt/test/asan/TestCases/Windows/operator_new_right_oob.cpp
M compiler-rt/test/asan/TestCases/Windows/operator_new_uaf.cpp
M compiler-rt/test/asan/TestCases/Windows/wrong_downcast_on_heap.cpp
M compiler-rt/test/asan/TestCases/large_func_test.cpp
M compiler-rt/test/asan/TestCases/malloc_context_size.cpp
M compiler-rt/test/asan/TestCases/use-after-delete.cpp
Log Message:
-----------
[asan][win][msvc] override new and delete and seperate TUs (#68754)
Migrated from: https://reviews.llvm.org/D155879, with some of the
suggestions applied.
PR Description copied from above:
Currently asan simply exports each overridden new/delete function from
the DLL, this works fine normally, but fails if the user is overriding
some, but not all, of these functions. In this case the non-overridden
functions still come from the asan DLL, but they can't correctly call
the user provided override (for example sized op delete should fall back
to scalar op delete, if a scalar op delete is provided). Things were
also broken in the static build because all the asan overrides were
exported from the same TU, and so if you overrode one but not all of
them then you'd get ODR violations. This PR should fix both of these
cases, but the static case isn't really tested (and indeed one such test
does fail) because linking asan statically basically doesn't work on
windows right now with LLVM's version of asan. In fact, while we did fix
this in our fork, it was a huge mess and we've now made the dynamic
version work in all situations (/MD, /MT, /MDd, /MTd, etc) instead.
The following is the description from the internal PR that implemented
most of this feature.
> Previously, operator new/delete were provided as DLL exports when
linking dynamically and wholearchived when linked statically. Both
scenarios were broken. When linking statically, the user could not
define their own op new/delete, because they were already brought into
the link by ASAN. When dynamically linking, if the user provided some
but not all of the overloads, new and delete would be partially hooked.
For example, if the user defined scalar op delete, but the program then
called sized op delete, the sized op delete would still be the version
provided by ASAN instead of falling back to the user-defined scalar op
delete, like the standard requires.
> The change <internal PR number>: ASAN operator new/delete fallbacks in
the ASAN libraries fixes this moving all operator new/delete definitions
to be statically linked. However, this still won't work if
/InferAsanLibs still whole-archives everything since then all the op
new/deletes would always be provided by ASAN, which is why these changes
are necessary.
> With these changes, we will no longer wholearchive all of ASAN and
will leave the c++ parts (the op new/delete definitions) to be included
as a default library. However, it is also necessary to ensure that the
asan library with op new/delete will be searched before the
corresponding CRT library with the same op new/delete definitions. To
accomplish this, we make sure to add the asan library to the beginning
of the default lib list, or move it explicitly to the front if it's
already in the list. If the C runtime library is explicitly provided, we
make sure to warn the user if the current linker line will result in
operator new/delete not being provided by ASAN.
Note that the rearrangement of defaultlibs is not in this diff.
---------
Co-authored-by: Charlie Barto <Charles.Barto at microsoft.com>
Commit: 4c44dcffd5f1557bde2c21773221081437308895
https://github.com/llvm/llvm-project/commit/4c44dcffd5f1557bde2c21773221081437308895
Author: Jinjie Huang <huangjinjie at bytedance.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M llvm/include/llvm/DWP/DWP.h
M llvm/lib/DWP/DWP.cpp
M llvm/tools/llvm-dwp/Opts.td
M llvm/tools/llvm-dwp/llvm-dwp.cpp
Log Message:
-----------
Support soft failure on DWP section overflow, producing a truncated but valid DWP(#71902)
When 'ContinueOnCuIndexOverflow' enables without this modification, the
forcibly generated '.dwp' won't be recognized by Debugger(gdb 10.1)
correctly.
<img width="657" alt="image"
src="https://github.com/llvm/llvm-project/assets/150100070/31732775-2548-453a-a47a-fa04c6d05fe9">
it looks like there's a problem with processing the dwarf header, which
makes debugging completely impossible. (unless the consumer walks the debug_info section to rebuild that column (if that's the only section that overflowed - if it's another section, there's no recovery))
**About patch:**
When llvm-dwp enables option '--continue-on-cu-index-overflow=soft-stop'
and recognizes the overflow problem , it will stop packing and generate
the '.dwp' file at once, discarding any DWO files that would not fit
within the 32 bit/4GB limits of the format.
<img width="625" alt="image"
src="https://github.com/llvm/llvm-project/assets/150100070/77d6be24-262b-4f4c-afc0-9a6c49e133c7">
Commit: f310a5d2c13455f1d68f5654fa4258357bafeff6
https://github.com/llvm/llvm-project/commit/f310a5d2c13455f1d68f5654fa4258357bafeff6
Author: Quinn Dawkins <quinn.dawkins at gmail.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M mlir/include/mlir/Dialect/Tensor/IR/TensorOps.td
M mlir/include/mlir/Dialect/Tensor/TransformOps/TensorTransformOps.td
M mlir/include/mlir/Dialect/Tensor/Transforms/Transforms.h
M mlir/include/mlir/Dialect/Utils/StaticValueUtils.h
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/lib/Dialect/Tensor/TransformOps/TensorTransformOps.cpp
M mlir/lib/Dialect/Tensor/Transforms/CMakeLists.txt
A mlir/lib/Dialect/Tensor/Transforms/ConcatOpPatterns.cpp
M mlir/test/Dialect/Tensor/canonicalize.mlir
A mlir/test/Dialect/Tensor/decompose-concat.mlir
M mlir/test/Dialect/Tensor/invalid.mlir
M mlir/test/Dialect/Tensor/ops.mlir
Log Message:
-----------
[mlir][tensor] Add a tensor.concat operation (#72779)
This adds an operation for concatenating ranked tensors along a static
dimension, as well as a decomposition mirroring the existing lowering
from TOSA to Tensor. This offers a convergence point for "input" like
dialects that include various lowerings for concatenation operations,
easing later analysis. In the future, this op can implement the
necessary interfaces for tiling, as well as potentially add conversions
to some kind of linalg and/or memref counterpart.
This patch adds the op, the decomposition, and some basic
folding/canonicalization. Replacing lowerings with the op (such as the
TOSA lowering) will come as a follow up.
See
https://discourse.llvm.org/t/rfc-tensor-add-a-tensor-concatenate-operation/74858
Commit: 296088bdf371e8ecd4a1797521b90881d6026581
https://github.com/llvm/llvm-project/commit/296088bdf371e8ecd4a1797521b90881d6026581
Author: ShatianWang <38512325+ShatianWang at users.noreply.github.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M bolt/lib/Passes/SplitFunctions.cpp
Log Message:
-----------
[BOLT][NFC] Remove unused code for CDSplit (#74136)
This diff removes JumpInfo related code that is no longer needed by
CDSplit from SplitFunctions.cpp.
Commit: 1f8f9e3163f6367258281f50b9d0492855c996e8
https://github.com/llvm/llvm-project/commit/1f8f9e3163f6367258281f50b9d0492855c996e8
Author: Haowei <haowei at google.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M libcxx/CMakeLists.txt
Log Message:
-----------
[libc++] Correct libcxx default linker script behavior (#74130)
Patch 4b1fe097f9a3882f437bc3b829ef02331e28a8d6 introduced a bug when
building libc++ for Fuchsia, it disabled the libc++.so linker script by
default. This patch restores its original behavior.
Commit: 4069299d71e16ffc9bb548b628bb5fbb10ff740d
https://github.com/llvm/llvm-project/commit/4069299d71e16ffc9bb548b628bb5fbb10ff740d
Author: Stefan Pintilie <stefanp at ca.ibm.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M llvm/lib/Target/PowerPC/PPCInstrP10.td
A llvm/test/MC/PowerPC/ppc64-encoding-full-names.s
Log Message:
-----------
[PowerPC] Fix the register class for the instruction paddi. (#73995)
The register class for the PADDI definition is incorrect as register
zero for RA is treated as an actual zero.
Commit: 81cd283f065b472a355b6edf0b01dfa11cb5f429
https://github.com/llvm/llvm-project/commit/81cd283f065b472a355b6edf0b01dfa11cb5f429
Author: Brad Smith <brad at comstyle.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M lldb/packages/Python/lldbsuite/test/lldbplatformutil.py
Log Message:
-----------
[lldb/test] Add OpenBSD to _get_platform_os (#74036)
Commit: c3f0932c189e4c11f82a3f8d73d2002e0aa6dab6
https://github.com/llvm/llvm-project/commit/c3f0932c189e4c11f82a3f8d73d2002e0aa6dab6
Author: Brad Smith <brad at comstyle.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M lldb/source/Host/posix/PipePosix.cpp
Log Message:
-----------
[lldb] Simplify pipe2(2) handling on FreeBSD (#74019)
FreeBSD 10.x and 11.x support has been dropped leaving 12.x as the
minimum version. This FreeBSD check can be simplified.
https://github.com/llvm/llvm-project/commit/812dad536ed50abe94d6e2b2519f351791c24c59
Commit: 25ea0e9d9a262d228b1c43ac1906017822dcc365
https://github.com/llvm/llvm-project/commit/25ea0e9d9a262d228b1c43ac1906017822dcc365
Author: Brad Smith <brad at comstyle.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M lldb/packages/Python/lldbsuite/test/lldbplatformutil.py
M lldb/test/API/lit.cfg.py
Log Message:
-----------
[lldb] Make use of LD_LIBRARY_PATH on OpenBSD (#74017)
Commit: 027935d3cd2886d3dd07741539305f972c5f7e5f
https://github.com/llvm/llvm-project/commit/027935d3cd2886d3dd07741539305f972c5f7e5f
Author: Brad Smith <brad at comstyle.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M openmp/runtime/src/kmp_os.h
Log Message:
-----------
[OpenMP] Re-enable KMP_HAVE_QUAD on NetBSD 10.0 with GCC 10.5 (#73478)
Commit: ed22bf69917479034aa4d2d42cbd9cb9d59cc0ae
https://github.com/llvm/llvm-project/commit/ed22bf69917479034aa4d2d42cbd9cb9d59cc0ae
Author: Felix Schneider <fx.schn at gmail.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/IR/LinalgNamedStructuredOps.yaml
M mlir/python/mlir/dialects/linalg/opdsl/ops/core_named_ops.py
M mlir/test/Dialect/Linalg/named-ops.mlir
Log Message:
-----------
[mlir][linalg] Fix weight dimension ordering in 2D grouped conv (#73855)
The `conv_2d_ngchw_fgchw` Op implements 2d grouped convolution with
dimensions ordered as given in the name. However, the current
implementation orders weights as `gfchw` instead of `fgchw`. This was
already pointed out in an old phabricator revision which never landed:
https://reviews.llvm.org/D150064
This patch
1) Adds a new op `conv_2d_ngchw_gfchw`
2) Fixes the dimension ordering of the old op `conv_2d_ngchw_fgchw`
3) Adds tests with non-dynamic dimensions so that it's easier to
understand.
Commit: a4d85490e029e797d22881b37d476c2050d0d6a2
https://github.com/llvm/llvm-project/commit/a4d85490e029e797d22881b37d476c2050d0d6a2
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M clang/lib/Driver/ToolChains/HIPUtility.cpp
M clang/test/Driver/hip-toolchain-rdc.hip
Log Message:
-----------
[HIP] fix stack marking for -fgpu-rdc (#72782)
HIP toolchain uses llvm-mc to generate a host object embedding device
binary for -fgpu-rdc. Due to lack of .note.GNU-stack section, the
generated relocatable has executable stack marking, which disables
protection from executable stack for any HIP programs compiled with
-fgpu-rdc.
This patch adds .note.GNU-stack section to the input to llvm-mc to fix
the executable stack marking.
Fixes: https://github.com/llvm/llvm-project/issues/71711
Commit: 2b76e20ea782790a78ec58d5f94ce88a173bab7f
https://github.com/llvm/llvm-project/commit/2b76e20ea782790a78ec58d5f94ce88a173bab7f
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M clang/lib/Sema/SemaCUDA.cpp
A clang/test/SemaCUDA/trivial-ctor-dtor.cu
Log Message:
-----------
[CUDA][HIP] allow trivial ctor/dtor in device var init (#73140)
Treat ctor/dtor in device var init as host device function
so that they can be used to initialize file-scope
device variables to match nvcc behavior. If they are non-trivial
they will be diagnosed.
We cannot add implicit host device attrs to non-trivial
ctor/dtor since determining whether they are non-trivial
needs to know whether they have a trivial body and all their
member and base classes' ctor/dtor have trivial body, which
is affected by where their bodies are defined or instantiated.
Fixes: #72261
Fixes: SWDEV-432412
Commit: 3d89f2ac16c2a05450693dd0ca223891f5014c1b
https://github.com/llvm/llvm-project/commit/3d89f2ac16c2a05450693dd0ca223891f5014c1b
Author: Craig Topper <craig.topper at sifive.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
Log Message:
-----------
[RISCV] Remove null terminator from CSRegs in determineCalleeSaves. NFC (#74131)
Presumably this was done to make it similar to the getCalleeSavedRegs
list in RegInfo, but its simpler to use a range based for loop over the
array.
Commit: 8206b75a1e8d2e00e9bc47ba8288dec1205fbd91
https://github.com/llvm/llvm-project/commit/8206b75a1e8d2e00e9bc47ba8288dec1205fbd91
Author: Peiming Liu <36770114+PeimingLiu at users.noreply.github.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M mlir/lib/Dialect/SparseTensor/Transforms/LoopEmitter.cpp
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conv_2d.mlir
Log Message:
-----------
[mlir][sparse] fix crash when generate rotated convolution kernels. (#74146)
Commit: d8a04398f9492f043ffd8fbaf2458778f7d0fcd5
https://github.com/llvm/llvm-project/commit/d8a04398f9492f043ffd8fbaf2458778f7d0fcd5
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M llvm/include/llvm/Target/TargetMachine.h
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/Target/TargetMachine.cpp
M llvm/lib/Target/X86/X86Subtarget.cpp
A llvm/test/CodeGen/X86/code-model-elf-text-sections.ll
M llvm/test/CodeGen/X86/code-model-elf.ll
M llvm/test/CodeGen/X86/pcsections.ll
M llvm/test/ExecutionEngine/OrcLazy/debug-objects-elf-minimal.ll
Log Message:
-----------
Reland [X86] With large code model, put functions into .ltext with large section flag (#73037)
So that when mixing small and large text, large text stays out of the
way of the rest of the binary.
This is useful for mixing precompiled small code model object files and
built-from-source large code model binaries so that the the text
sections don't get merged.
The reland fixes an issue where a function in the large code model would reference small data without GOTOFF.
This was incorrectly reverted in 76f78ecc789d58baa3a88b2fe2a57428f07e5362.
Commit: a09b88178492dcd372d8a1d5ed8d5dedda651614
https://github.com/llvm/llvm-project/commit/a09b88178492dcd372d8a1d5ed8d5dedda651614
Author: Kirill Stoimenov <kstoimenov at google.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M compiler-rt/lib/asan/CMakeLists.txt
M compiler-rt/lib/asan/asan_interface.inc
R compiler-rt/lib/asan/asan_win_delete_array_align_nothrow_thunk.cpp
R compiler-rt/lib/asan/asan_win_delete_array_align_thunk.cpp
R compiler-rt/lib/asan/asan_win_delete_array_nothrow_thunk.cpp
R compiler-rt/lib/asan/asan_win_delete_array_size_align_thunk.cpp
R compiler-rt/lib/asan/asan_win_delete_array_size_thunk.cpp
R compiler-rt/lib/asan/asan_win_delete_array_thunk.cpp
R compiler-rt/lib/asan/asan_win_delete_scalar_align_nothrow_thunk.cpp
R compiler-rt/lib/asan/asan_win_delete_scalar_align_thunk.cpp
R compiler-rt/lib/asan/asan_win_delete_scalar_nothrow_thunk.cpp
R compiler-rt/lib/asan/asan_win_delete_scalar_size_align_thunk.cpp
R compiler-rt/lib/asan/asan_win_delete_scalar_size_thunk.cpp
R compiler-rt/lib/asan/asan_win_delete_scalar_thunk.cpp
R compiler-rt/lib/asan/asan_win_new_array_align_nothrow_thunk.cpp
R compiler-rt/lib/asan/asan_win_new_array_align_thunk.cpp
R compiler-rt/lib/asan/asan_win_new_array_nothrow_thunk.cpp
R compiler-rt/lib/asan/asan_win_new_array_thunk.cpp
R compiler-rt/lib/asan/asan_win_new_delete.cpp
R compiler-rt/lib/asan/asan_win_new_delete_thunk_common.h
R compiler-rt/lib/asan/asan_win_new_scalar_align_nothrow_thunk.cpp
R compiler-rt/lib/asan/asan_win_new_scalar_align_thunk.cpp
R compiler-rt/lib/asan/asan_win_new_scalar_nothrow_thunk.cpp
R compiler-rt/lib/asan/asan_win_new_scalar_thunk.cpp
M compiler-rt/test/asan/TestCases/Windows/double_operator_delete.cpp
R compiler-rt/test/asan/TestCases/Windows/new_delete_mfc_already_defined.cpp
R compiler-rt/test/asan/TestCases/Windows/new_delete_mfc_already_defined_dbg.cpp
M compiler-rt/test/asan/TestCases/Windows/operator_array_new_left_oob.cpp
M compiler-rt/test/asan/TestCases/Windows/operator_array_new_right_oob.cpp
M compiler-rt/test/asan/TestCases/Windows/operator_array_new_uaf.cpp
M compiler-rt/test/asan/TestCases/Windows/operator_array_new_with_dtor_left_oob.cpp
R compiler-rt/test/asan/TestCases/Windows/operator_delete_replacement_array.cpp
R compiler-rt/test/asan/TestCases/Windows/operator_delete_replacement_scalar.cpp
M compiler-rt/test/asan/TestCases/Windows/operator_delete_wrong_argument.cpp
R compiler-rt/test/asan/TestCases/Windows/operator_new_delete_replacement_all.cpp
R compiler-rt/test/asan/TestCases/Windows/operator_new_delete_replacement_common.h
R compiler-rt/test/asan/TestCases/Windows/operator_new_delete_replacement_macros.h
M compiler-rt/test/asan/TestCases/Windows/operator_new_left_oob.cpp
R compiler-rt/test/asan/TestCases/Windows/operator_new_replacement_array.cpp
R compiler-rt/test/asan/TestCases/Windows/operator_new_replacement_scalar.cpp
M compiler-rt/test/asan/TestCases/Windows/operator_new_right_oob.cpp
M compiler-rt/test/asan/TestCases/Windows/operator_new_uaf.cpp
M compiler-rt/test/asan/TestCases/Windows/wrong_downcast_on_heap.cpp
M compiler-rt/test/asan/TestCases/large_func_test.cpp
M compiler-rt/test/asan/TestCases/malloc_context_size.cpp
M compiler-rt/test/asan/TestCases/use-after-delete.cpp
Log Message:
-----------
Revert "[asan][win][msvc] override new and delete and seperate TUs (#68754)"
This reverts commit 481e9b3e0b9c0a6843261f060822c7a41387e28c.
Breaks sanitizer bots: https://lab.llvm.org/buildbot/#/builders/127/builds/59071
Commit: 75867f8e4a9a06df3b2cafe662d13ee78bb7fc67
https://github.com/llvm/llvm-project/commit/75867f8e4a9a06df3b2cafe662d13ee78bb7fc67
Author: ChiaHungDuan <chiahungduan at google.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M compiler-rt/lib/scudo/standalone/combined.h
M compiler-rt/lib/scudo/standalone/include/scudo/interface.h
M compiler-rt/lib/scudo/standalone/tests/wrappers_c_test.cpp
M compiler-rt/lib/scudo/standalone/wrappers_c.inc
Log Message:
-----------
[scudo] Fix realloc hooks behavior (#74149)
`realloc` may involve both allocation and deallocation. Given that the
reporting the events is not atomic and which may lead the hook user to a
false case that the double-use pattern happens, we always report the old
pointer is released and report the new allocation afterward (even it's
the same pointer).
This also fixes that we didn't report the new size when it doesn't need
to allocate a new space.
Commit: 5fe741f08e09a2eca276fc11d39240caa3d23cb2
https://github.com/llvm/llvm-project/commit/5fe741f08e09a2eca276fc11d39240caa3d23cb2
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M openmp/libomptarget/include/PluginManager.h
A openmp/libomptarget/include/Shared/Requirements.h
M openmp/libomptarget/include/omptarget.h
M openmp/libomptarget/plugins-nextgen/common/include/PluginInterface.h
M openmp/libomptarget/src/device.cpp
M openmp/libomptarget/src/interface.cpp
M openmp/libomptarget/src/rtl.cpp
M openmp/libomptarget/test/offloading/requires.c
Log Message:
-----------
[OpenMP] Separate Requirements into a standalone header (#74126)
This is not completely NFC since we now check all 4 requirements and the
test is checking the good and the bad case for combining flags.
Commit: d22944d1cc54a3384a88d654d144ef62a693df16
https://github.com/llvm/llvm-project/commit/d22944d1cc54a3384a88d654d144ef62a693df16
Author: Paul Kirth <paulkirth at google.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M llvm/cmake/modules/HandleLLVMOptions.cmake
Log Message:
-----------
[cmake] Fix relative paths in prefix map (#74132)
When building debug version of LLVM with
`LLVM_USE_RELATIVE_PATHS_IN_FILES=On` would cause source paths to be
incorrect, and be prefixed by the build directory. This lead to source
locations like the following: `../build/llvm/...`. Such paths do not
exist, and existing debuggers can't adjust their search location because
of the incorrect prefix. Ultimately, this happened because the relative
path creation goes in the wrong direction, from source-dir to build-dir
instead of from build-dir to source-dir.
This patch swaps the directionality of the relative paths so that they
get a proper prefix from the build directory. Given a build dir at
`/build` and a project directory at `/llvm-project`, we get source
locations like: `../llvm-project/llvm/lib/Transforms/...`, which a
debugger can resolve once pointed to the correct project directory.
Commit: b091a887e064a3c75c8ce37bd0e9f1c4bc0f54f6
https://github.com/llvm/llvm-project/commit/b091a887e064a3c75c8ce37bd0e9f1c4bc0f54f6
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
A openmp/libomptarget/include/DeviceImage.h
M openmp/libomptarget/include/PluginManager.h
M openmp/libomptarget/src/CMakeLists.txt
A openmp/libomptarget/src/DeviceImage.cpp
M openmp/libomptarget/src/omptarget.cpp
M openmp/libomptarget/src/rtl.cpp
Log Message:
-----------
[OpenMP][NFC] Extract device image handling into a class/header (#74129)
Commit: 7169c45efa9055ef518ceba5e3cd28272d84a21f
https://github.com/llvm/llvm-project/commit/7169c45efa9055ef518ceba5e3cd28272d84a21f
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M openmp/libomptarget/include/DeviceImage.h
A openmp/libomptarget/include/OffloadEntry.h
M openmp/libomptarget/include/PluginManager.h
M openmp/libomptarget/include/device.h
M openmp/libomptarget/src/DeviceImage.cpp
M openmp/libomptarget/src/PluginManager.cpp
M openmp/libomptarget/src/device.cpp
M openmp/libomptarget/src/omptarget.cpp
M openmp/libomptarget/src/rtl.cpp
M openmp/libomptarget/test/offloading/ctor_dtor.cpp
Log Message:
-----------
[OpenMP][NFCI] Organize offload entry logic
This moves the offload entry logic into classes and provides convenient
accessors. No functional change intended but we can now print all
offload entries (and later look them up), tested via
`OMPTARGET_DUMP_OFFLOAD_ENTRIES=<device_no>`.
Commit: e469f8474ba46d01aca852aa2016f53a507acf7f
https://github.com/llvm/llvm-project/commit/e469f8474ba46d01aca852aa2016f53a507acf7f
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M openmp/libomptarget/test/offloading/ctor_dtor.cpp
Log Message:
-----------
[OpenMP][FIX] Fixup test
Commit: 27f17837bb1d9d49a045af4520eed7e94ad6b5bd
https://github.com/llvm/llvm-project/commit/27f17837bb1d9d49a045af4520eed7e94ad6b5bd
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M openmp/libomptarget/include/PluginManager.h
M openmp/libomptarget/src/PluginManager.cpp
M openmp/libomptarget/src/interface.cpp
M openmp/libomptarget/src/rtl.cpp
Log Message:
-----------
[OpenMP][NFC] Remove PluginAdaptorManagerTy
Commit: 357b8b46b125810c5c383c485b1fb3f3db233759
https://github.com/llvm/llvm-project/commit/357b8b46b125810c5c383c485b1fb3f3db233759
Author: Brad Smith <brad at comstyle.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M clang/test/CodeGen/X86/fp-eval-method.c
M clang/test/Driver/netbsd.c
M clang/test/Driver/netbsd.cpp
Log Message:
-----------
[Driver] Remove tests for NetBSD 7. No longer supported.
Commit: 005c83380a907becbf5a6b4522fc43652c9536cd
https://github.com/llvm/llvm-project/commit/005c83380a907becbf5a6b4522fc43652c9536cd
Author: Quinn Dawkins <quinn.dawkins at gmail.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/test/Dialect/Tensor/decompose-concat.mlir
Log Message:
-----------
[mlir][tensor] Fix ReifyResultShapes implementation for tensor.concat (#74157)
Without folding the result of the initial tensor.dim, the
ReifyResultShapes implementation would be incorrect because it would
return a dynamic shape for a static result shape.
Commit: fc74db466b0d2b87d2013d5e24be137f0d8b6f0a
https://github.com/llvm/llvm-project/commit/fc74db466b0d2b87d2013d5e24be137f0d8b6f0a
Author: Vivian <zhyuhang88 at gmail.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/test/Dialect/Linalg/canonicalize.mlir
Log Message:
-----------
[mlir][Linalg] Fix foldFillPackIntoFillOp to work for general cases (#74148)
Commit: ccfc2d687c106ee8430fccd09e165e0aaea39081
https://github.com/llvm/llvm-project/commit/ccfc2d687c106ee8430fccd09e165e0aaea39081
Author: Matthias Springer <me at m-sp.org>
Date: 2023-12-02 (Sat, 02 Dec 2023)
Changed paths:
M mlir/include/mlir/Dialect/Transform/IR/TransformInterfaces.h
M mlir/lib/Dialect/Transform/IR/TransformInterfaces.cpp
Log Message:
-----------
[mlir][transform] Remove `cachedNames` expensive check (#73961)
This check was trying to find cases of invalid API usage:
incorrect/missing handle side effects and/or incorrect rewriter usage.
This check is not implemented correctly and can report false positives
in case of pointer reuse (different op created at same location). It is
unclear if such a check can be implemented given that we have both
tracking listener-based handle updates and handle consumption.
Fixes #72931.
Commit: c45a66ecd4cb8f351298ca987d6086cf02b77bfb
https://github.com/llvm/llvm-project/commit/c45a66ecd4cb8f351298ca987d6086cf02b77bfb
Author: Jared Grubb <jgrubb at apple.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M clang/docs/ClangFormatStyleOptions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Format/Format.h
M clang/lib/Format/CMakeLists.txt
M clang/lib/Format/Format.cpp
A clang/lib/Format/ObjCPropertyAttributeOrderFixer.cpp
A clang/lib/Format/ObjCPropertyAttributeOrderFixer.h
M clang/unittests/Format/CMakeLists.txt
A clang/unittests/Format/ObjCPropertyAttributeOrderFixerTest.cpp
Log Message:
-----------
[clang-format] ObjCPropertyAttributeOrder to sort ObjC property attributes
Add a style option to specify the order that property attributes should
appear in ObjC property declarations (property attributes are things like
`nonatomic, strong, nullable`).
Closes #71323.
Differential Revision: https://reviews.llvm.org/D150083
Commit: 7ccc4ef55f9a4ebe381a980796e9c63220a48ab2
https://github.com/llvm/llvm-project/commit/7ccc4ef55f9a4ebe381a980796e9c63220a48ab2
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2023-12-02 (Sat, 02 Dec 2023)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Format/BUILD.gn
M llvm/utils/gn/secondary/clang/unittests/Format/BUILD.gn
Log Message:
-----------
[gn build] Port c45a66ecd4cb
Commit: 1ffd77db02e385495e1f0d860ccf50f2de1842d4
https://github.com/llvm/llvm-project/commit/1ffd77db02e385495e1f0d860ccf50f2de1842d4
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M compiler-rt/lib/asan/asan_rtl.cpp
Log Message:
-----------
[NFC][ASAN] Declare few functions as static
Commit: 28eead018d80a5384b8be6f259c3d2e2b849e8cf
https://github.com/llvm/llvm-project/commit/28eead018d80a5384b8be6f259c3d2e2b849e8cf
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M compiler-rt/lib/asan/asan_interceptors.cpp
Log Message:
-----------
[NFC][asan] Clang format a few lines
Commit: b6d0ee056d247e1ecfd4ecd3f97fb2d31740d79b
https://github.com/llvm/llvm-project/commit/b6d0ee056d247e1ecfd4ecd3f97fb2d31740d79b
Author: Kirill Stoimenov <87100199+kstoimenov at users.noreply.github.com>
Date: 2023-12-02 (Sat, 02 Dec 2023)
Changed paths:
M clang/test/Driver/aarch64-v95a.c
M llvm/include/llvm/TargetParser/AArch64TargetParser.h
M llvm/lib/Target/AArch64/AArch64.td
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/AArch64SchedA64FX.td
M llvm/lib/Target/AArch64/AArch64SchedNeoverseN2.td
M llvm/lib/Target/AArch64/AArch64SchedNeoverseV1.td
M llvm/lib/Target/AArch64/AArch64SchedNeoverseV2.td
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/SVEInstrFormats.td
R llvm/test/MC/AArch64/SVE/armv9.5a-cpa.s
R llvm/test/MC/AArch64/armv9.5a-cpa.s
M llvm/test/MC/AArch64/basic-a64-diagnostics.s
M llvm/test/MC/AArch64/basic-a64-instructions.s
R llvm/test/MC/Disassembler/AArch64/armv9.5a-cpa.txt
M llvm/test/MC/Disassembler/AArch64/basic-a64-instructions.txt
M llvm/unittests/TargetParser/TargetParserTest.cpp
Log Message:
-----------
Revert HWASAN failure (#74163)
This is the failure:
https://lab.llvm.org/buildbot/#/builders/236/builds/7728/steps/10/logs/stdio
This started with eef8e1d206dc01c081a0ca29b7f9e0c39d33446e, but because
there were a couple of patches that came after that I had to revert all
3 of them because of merge conflicts.
Commit: 19e068b048591feb8fa66b164669c753090dfd3a
https://github.com/llvm/llvm-project/commit/19e068b048591feb8fa66b164669c753090dfd3a
Author: Thomas Raoux <thomas.raoux at openai.com>
Date: 2023-12-01 (Fri, 01 Dec 2023)
Changed paths:
M mlir/lib/Dialect/SCF/Transforms/LoopPipelining.cpp
M mlir/test/Dialect/SCF/loop-pipelining.mlir
Log Message:
-----------
[MLIR][SCF] Handle more cases in pipelining transform (#74007)
-Fix case where an op is scheduled in stage 0 and used with a distance
of 1
-Fix case where we don't peel the epilogue and a value not part of the
last stage is used outside the loop.
Commit: 66a3e4fafb6eae19764f8a192ca3a116c0554211
https://github.com/llvm/llvm-project/commit/66a3e4fafb6eae19764f8a192ca3a116c0554211
Author: wanglei <wanglei at loongson.cn>
Date: 2023-12-02 (Sat, 02 Dec 2023)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
M llvm/test/CodeGen/LoongArch/lsx/build-vector.ll
Log Message:
-----------
[LoongArch] Override TargetLowering::isShuffleMaskLegal
By default, `isShuffleMaskLegal` always returns true, which can result
in the expansion of `BUILD_VECTOR` into a `VECTOR_SHUFFLE` node in
certain situations. Subsequently, the `VECTOR_SHUFFLE` node is expanded
again into a `BUILD_VECTOR`, leading to an infinite loop.
To address this, we always return false, allowing the expansion of
`BUILD_VECTOR` through the stack.
Commit: 6b4812f722ca0ddfe93cee194074dda56e1cb497
https://github.com/llvm/llvm-project/commit/6b4812f722ca0ddfe93cee194074dda56e1cb497
Author: Kazu Hirata <kazu at google.com>
Date: 2023-12-02 (Sat, 02 Dec 2023)
Changed paths:
M llvm/tools/llvm-objdump/llvm-objdump.cpp
Log Message:
-----------
[llvm-objdump] Stop including llvm/ADT/IndexedMap.h (NFC)
Identified with clangd.
Commit: 96d0a3b5643a2081e39c9302c86b40859a8752d0
https://github.com/llvm/llvm-project/commit/96d0a3b5643a2081e39c9302c86b40859a8752d0
Author: Kazu Hirata <kazu at google.com>
Date: 2023-12-02 (Sat, 02 Dec 2023)
Changed paths:
M llvm/include/llvm/Analysis/BasicAliasAnalysis.h
M llvm/include/llvm/Analysis/DemandedBits.h
M llvm/include/llvm/IRReader/IRReader.h
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/unittests/Support/DivisionByConstantTest.cpp
Log Message:
-----------
[llvm] Stop including optional (NFC)
Identified with clangd.
Commit: f6d6809d787b7f5d150715aa475f71bca083aebd
https://github.com/llvm/llvm-project/commit/f6d6809d787b7f5d150715aa475f71bca083aebd
Author: Kazu Hirata <kazu at google.com>
Date: 2023-12-02 (Sat, 02 Dec 2023)
Changed paths:
M llvm/include/llvm/Support/TypeSize.h
M llvm/include/llvm/XRay/BlockVerifier.h
M llvm/lib/Target/ARM/ARMHazardRecognizer.h
M llvm/unittests/Support/DivisionByConstantTest.cpp
Log Message:
-----------
[llvm] Stop including array (NFC)
Identified with clangd.
Commit: 07cec73dcd095035257eec1f213d273b10988130
https://github.com/llvm/llvm-project/commit/07cec73dcd095035257eec1f213d273b10988130
Author: wanglei <wanglei at loongson.cn>
Date: 2023-12-02 (Sat, 02 Dec 2023)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
A llvm/test/CodeGen/LoongArch/lasx/ctpop-ctlz.ll
A llvm/test/CodeGen/LoongArch/lsx/ctpop-ctlz.ll
Log Message:
-----------
[LoongArch] Support CTLZ with lsx/lasx
This patch simultaneously adds tests for `CTPOP`.
Commit: 63e6bba0c322b6c07a4c66f09e6fd84e786248e6
https://github.com/llvm/llvm-project/commit/63e6bba0c322b6c07a4c66f09e6fd84e786248e6
Author: wanglei <wanglei at loongson.cn>
Date: 2023-12-02 (Sat, 02 Dec 2023)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
R llvm/test/CodeGen/LoongArch/lasx/ctpop-ctlz.ll
R llvm/test/CodeGen/LoongArch/lsx/ctpop-ctlz.ll
Log Message:
-----------
Revert "[LoongArch] Support CTLZ with lsx/lasx"
This reverts commit 07cec73dcd095035257eec1f213d273b10988130.
Commit: a60a5421b60be1bce0272385fa16846ada5eed5e
https://github.com/llvm/llvm-project/commit/a60a5421b60be1bce0272385fa16846ada5eed5e
Author: wanglei <wanglei at loongson.cn>
Date: 2023-12-02 (Sat, 02 Dec 2023)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
A llvm/test/CodeGen/LoongArch/lasx/ctpop-ctlz.ll
A llvm/test/CodeGen/LoongArch/lsx/ctpop-ctlz.ll
Log Message:
-----------
Reland "[LoongArch] Support CTLZ with lsx/lasx"
This patch simultaneously adds tests for `CTPOP`.
This relands 07cec73dcd095035257eec1f213d273b10988130 with fix tests.
Commit: b1806e6a1f0589acc88499419531c4eb82488f1a
https://github.com/llvm/llvm-project/commit/b1806e6a1f0589acc88499419531c4eb82488f1a
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2023-12-02 (Sat, 02 Dec 2023)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
A llvm/test/CodeGen/AArch64/stack-probing-dynamic-no-frame-setup.ll
A llvm/test/CodeGen/AArch64/stack-probing-dynamic.ll
Log Message:
-----------
[AArch64] Stack probing for dynamic allocas in SelectionDAG (#66525)
Add support for probing for dynamic allocas (variable-size objects and
outgoing stack arguments).
Co-authored-by: Oliver Stannard <oliver.stannard at linaro.org>
Commit: 37da4e3d80d7136121e74e2b8d23afb14ae7ab69
https://github.com/llvm/llvm-project/commit/37da4e3d80d7136121e74e2b8d23afb14ae7ab69
Author: Brad Smith <brad at comstyle.com>
Date: 2023-12-02 (Sat, 02 Dec 2023)
Changed paths:
M clang/tools/clang-fuzzer/handle-llvm/handle_llvm.cpp
Log Message:
-----------
[clang-fuzzer] Remove GCC 4.x pre GCC 4.9 workaround to silence warning (#73974)
The minimum GCC version was bumped up from 4.8 to 5.1 and then even newer
awhile ago so garbage collect the pre 4.9 workaround.
https://reviews.llvm.org/D66188
Commit: e9c6f3f5e7e23b23de4eeaa182ebfcb7d2188495
https://github.com/llvm/llvm-project/commit/e9c6f3f5e7e23b23de4eeaa182ebfcb7d2188495
Author: Jie Fu <jiefu at tencent.com>
Date: 2023-12-02 (Sat, 02 Dec 2023)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
Log Message:
-----------
[AArch64] Fix -Wunused-variable in AArch64FrameLowering.cpp (NFC)
llvm-project/llvm/lib/Target/AArch64/AArch64FrameLowering.cpp:497:21:
error: unused variable 'MFI' [-Werror,-Wunused-variable]
MachineFrameInfo &MFI = MF.getFrameInfo();
^
1 error generated.
Commit: 708158529b82007a34d623ba6f52d641c43b3416
https://github.com/llvm/llvm-project/commit/708158529b82007a34d623ba6f52d641c43b3416
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2023-12-02 (Sat, 02 Dec 2023)
Changed paths:
M lld/COFF/Writer.cpp
Log Message:
-----------
[lld][COFF][NFC] Store pdata range as ChunkRange. (#74024)
Commit: 293c21db9381fde27cda46e5c3ff8bf8578e5399
https://github.com/llvm/llvm-project/commit/293c21db9381fde27cda46e5c3ff8bf8578e5399
Author: Spenser Bauman <sbauman at mathworks.com>
Date: 2023-12-02 (Sat, 02 Dec 2023)
Changed paths:
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-named.mlir
Log Message:
-----------
[mlir][tosa] Improve lowering of tosa.conv2d (#74143)
The existing lowering of tosa.conv2d emits a separate linalg.generic
operator to add the bias after computing the computation.
This change eliminates that additional step by using the generated
linalg.conv_2d_* operator by using the bias value as the input to the
linalg.conv_2d operation.
Rather than:
%init = tensor.empty()
%conv = linalg.conv_2d ins(%A, %B) %outs(%init)
%init = tensor.empty()
%bias = linalg.generic ins(%conv, %bias) outs(%init2) {
// perform add operation
}
The lowering now produces:
%init = tensor.empty()
%bias_expanded = linalg.broadcast ins(%bias) outs(%init)
%conv = linalg.conv_2d ins(%A, %B) %outs(%bias)
This is the same strategy as
https://github.com/llvm/llvm-project/pull/73049 applied to convolutions.
Commit: 19e2174d54356e1654583a65ff9cd38eccf797ee
https://github.com/llvm/llvm-project/commit/19e2174d54356e1654583a65ff9cd38eccf797ee
Author: Corentin Jabot <corentinjabot at gmail.com>
Date: 2023-12-02 (Sat, 02 Dec 2023)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/ExternalSemaSource.h
M clang/include/clang/Sema/MultiplexExternalSemaSource.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/include/clang/Serialization/ASTReader.h
M clang/lib/Sema/MultiplexExternalSemaSource.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
R clang/test/PCH/instantiate-used-constexpr-function.cpp
R clang/test/SemaTemplate/instantiate-used-constexpr-function.cpp
Log Message:
-----------
Revert "[Clang] Eagerly instantiate used constexpr function upon definition. (#73463)"
This reverts commit 030047c432cac133738be68fa0974f70e69dd58d.
Breaks Qt and is inconsistent with GCC.
See the following issue for details:
Fixes #74069
Commit: 0e823b02ba8a0f61ddd14bb128cf8e12fe14602a
https://github.com/llvm/llvm-project/commit/0e823b02ba8a0f61ddd14bb128cf8e12fe14602a
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2023-12-02 (Sat, 02 Dec 2023)
Changed paths:
M libcxx/test/tools/clang_tidy_checks/uglify_attributes.cpp
Log Message:
-----------
[libc++] Update libcpp-uglify-attributes to diagnose all attributes in C++03
Commit: 5e94080fc7cd920107d3d2291c872b510b6ab017
https://github.com/llvm/llvm-project/commit/5e94080fc7cd920107d3d2291c872b510b6ab017
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2023-12-02 (Sat, 02 Dec 2023)
Changed paths:
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sqrt.ll
Log Message:
-----------
AMDGPU: Regenerate test checks
Avoids spurious diffs from change in how metadata is checked in
a future commit.
Commit: 68d6fe508ce1fb2a70220975036d267f564fe54d
https://github.com/llvm/llvm-project/commit/68d6fe508ce1fb2a70220975036d267f564fe54d
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2023-12-02 (Sat, 02 Dec 2023)
Changed paths:
M llvm/lib/Target/X86/X86DomainReassignment.cpp
M llvm/lib/Target/X86/X86InstrInfo.cpp
A llvm/test/CodeGen/X86/apx/kmov-kk.ll
Log Message:
-----------
[X86][CodeGen] Prefer KMOVkk_EVEX than KMOVkk when EGPR is supported (#74048)
In memory fold table, we have
```
{X86::KMOVDkk, X86::KMOVDkm, 0},
{X86::KMOVDkk_EVEX, X86::KMOVDkm_EVEX, 0}
```
where `KMOVDkm_EVEX` can use EGPR as base and index registers, while
`KMOVDkm` can't. Hence, though `KMOVkk` does not have any GPR operands,
we prefer to use `KMOVDkk_EVEX` to help register allocation.
It will be compressed to `KMOVDkk` in EVEX2VEX pass if memory folding
does not happen.
Commit: 3c86bc0ae9b3df289ca005d3c451512f01be6d61
https://github.com/llvm/llvm-project/commit/3c86bc0ae9b3df289ca005d3c451512f01be6d61
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2023-12-02 (Sat, 02 Dec 2023)
Changed paths:
A llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-rootn.ll
Log Message:
-----------
AMDGPU: Add more tests for rootn libcall handling
Commit: db8b85ac582608d3719fac56ec0d3aa868a4c70a
https://github.com/llvm/llvm-project/commit/db8b85ac582608d3719fac56ec0d3aa868a4c70a
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2023-12-02 (Sat, 02 Dec 2023)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
A llvm/test/CodeGen/AMDGPU/llvm.exp10.ll
Log Message:
-----------
AMDGPU: Support llvm.exp10 (#65860)
Commit: cbf7b52a65890ea72cb6319bfdf98d92dd9ddc81
https://github.com/llvm/llvm-project/commit/cbf7b52a65890ea72cb6319bfdf98d92dd9ddc81
Author: Florian Hahn <flo at fhahn.com>
Date: 2023-12-02 (Sat, 02 Dec 2023)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-sink-replicate-region.ll
Log Message:
-----------
[VPlan] Properly update reduction live-out after placing select.
After inserting a select for the final value, update the VPlan def-use
chains. At the moment, the incorrect live-out doesn't cause a
mis-compile, as computing the final reduction value is not yet modeled
in VPlan.
Commit: 1c6a6ba43ba1a331177bd30194f97ce26117cf04
https://github.com/llvm/llvm-project/commit/1c6a6ba43ba1a331177bd30194f97ce26117cf04
Author: Peter Hawkins <phawkins at google.com>
Date: 2023-12-02 (Sat, 02 Dec 2023)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Remove :CAPIGPU as a dependency of :MLIRPythonBindingsCore. (#74133)
This dependency appears unused and it bloats the size of the Python
bindings for non-GPU users.
Commit: 70535f5e609f747c28cfef699eefb84581b0aac0
https://github.com/llvm/llvm-project/commit/70535f5e609f747c28cfef699eefb84581b0aac0
Author: Florian Hahn <flo at fhahn.com>
Date: 2023-12-02 (Sat, 02 Dec 2023)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/test/Transforms/LoopVectorize/AArch64/deterministic-type-shrinkage.ll
M llvm/test/Transforms/LoopVectorize/AArch64/loop-vectorization-factors.ll
M llvm/test/Transforms/LoopVectorize/AArch64/type-shrinkage-insertelt.ll
M llvm/test/Transforms/LoopVectorize/scalable-trunc-min-bitwidth.ll
M llvm/test/Transforms/LoopVectorize/trunc-shifts.ll
Log Message:
-----------
[VPlan] Replace IR based truncateToMinimalBitwidths with VPlan version.
This patch replaces the IR based truncateToMinimalBitwidths with a VPlan
version. This has 3 benefits:
1) the VPlan-based version is simpler; we don't need to implement
special codegen for each supported instruction type like the IR based
one.
2) Removes a dependency on the cost-model after VPlan execution and
3) Removes a use of getVPValue that uses underlying values after VPlan
execution (See removed FIXME).
Depends on D149081.
Depends on D149079.
Reviewed By: Ayal
Differential Revision: https://reviews.llvm.org/D149903
Commit: 36dd7432123efae2f03de89d7c9f5d734de97e81
https://github.com/llvm/llvm-project/commit/36dd7432123efae2f03de89d7c9f5d734de97e81
Author: Hui <hui.xie0621 at gmail.com>
Date: 2023-12-02 (Sat, 02 Dec 2023)
Changed paths:
M libcxx/benchmarks/stop_token.bench.cpp
Log Message:
-----------
[libc++][test] add more benchmarks for `stop_token` (#69590)
Commit: d06e175dbbecaca08c785fe1a6b5fbbfd4da6805
https://github.com/llvm/llvm-project/commit/d06e175dbbecaca08c785fe1a6b5fbbfd4da6805
Author: Saleem Abdulrasool <abdulras at thebrowser.company>
Date: 2023-12-02 (Sat, 02 Dec 2023)
Changed paths:
M .mailmap
Log Message:
-----------
mailmap: add another entry for myself
Add an additional email address that has been used.
Commit: 1fa35f0b5dc2f3427fbade0eaaca6e2d8c32caef
https://github.com/llvm/llvm-project/commit/1fa35f0b5dc2f3427fbade0eaaca6e2d8c32caef
Author: Nathan Sidwell <nathan at acm.org>
Date: 2023-12-02 (Sat, 02 Dec 2023)
Changed paths:
M clang/lib/CodeGen/CodeGenTBAA.cpp
Log Message:
-----------
[clang] Avoid recalculating TBAA base type info (#73264)
As nullptr is a legitimate value, change the BaseTypeMetadataCache hash lookup/insertion to use find and
insert rather than the subscript operator.
Also adjust getBaseTypeInfoHelper to do no insertion, but let getBaseTypeInfo do that.
Commit: d04a4a06abd4c415d7e433fef1553cfdcddea858
https://github.com/llvm/llvm-project/commit/d04a4a06abd4c415d7e433fef1553cfdcddea858
Author: Nathan Sidwell <nathan at acm.org>
Date: 2023-12-02 (Sat, 02 Dec 2023)
Changed paths:
M llvm/lib/IR/AutoUpgrade.cpp
Log Message:
-----------
[llvm] Adjust Autoupdater's llvm prefix detection (#74142)
Use consume_front to swallow the 'llvm.' prefix, and 'empty' to check
there's at least one character left.
Commit: 7e0c5266309c1d2a0e6d766834415dff5cb65e47
https://github.com/llvm/llvm-project/commit/7e0c5266309c1d2a0e6d766834415dff5cb65e47
Author: FusionBolt <59008347+FusionBolt at users.noreply.github.com>
Date: 2023-12-03 (Sun, 03 Dec 2023)
Changed paths:
M llvm/lib/IR/ConstantsContext.h
Log Message:
-----------
[LLVM][NFC] fix typo in `llvm/lib/IR/ConstantsContext.h` (#74195)
Commit: 2f9c922a12e9f15abe5f6b1a50d684414be47d26
https://github.com/llvm/llvm-project/commit/2f9c922a12e9f15abe5f6b1a50d684414be47d26
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2023-12-02 (Sat, 02 Dec 2023)
Changed paths:
M clang/test/CXX/drs/dr0xx.cpp
M clang/test/CXX/drs/dr1xx.cpp
M clang/test/CXX/drs/dr2xx.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[clang][NFC] Fill in historical data on when C++ DRs 200-299 were fixed
Commit: 0c06e8745f131d867c566f4d35a7a04e24b4a075
https://github.com/llvm/llvm-project/commit/0c06e8745f131d867c566f4d35a7a04e24b4a075
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2023-12-02 (Sat, 02 Dec 2023)
Changed paths:
M clang/test/CXX/drs/dr2xx.cpp
Log Message:
-----------
[clang][NFC] Refactor expected directives in C++ DRs 200-299
This patch continues the work started with ea5b1ef016d020c37f903d6c7d4f623be975dab8. See that commit and its corresponding PR for details.
Commit: a7627f721f3daa20629e44316e8b51e75ce78bb4
https://github.com/llvm/llvm-project/commit/a7627f721f3daa20629e44316e8b51e75ce78bb4
Author: Kazu Hirata <kazu at google.com>
Date: 2023-12-02 (Sat, 02 Dec 2023)
Changed paths:
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
M llvm/tools/llvm-lto/llvm-lto.cpp
M llvm/tools/llvm-pdbutil/PrettyClassDefinitionDumper.h
M llvm/tools/llvm-profgen/PerfReader.h
M llvm/tools/llvm-profgen/ProfiledBinary.h
M llvm/tools/llvm-remarkutil/RemarkCounter.h
Log Message:
-----------
[llvm] Stop including list (NFC)
Identified with clangd.
Commit: c6381615ef9bc869a708ab8f786c4350f7e00ee7
https://github.com/llvm/llvm-project/commit/c6381615ef9bc869a708ab8f786c4350f7e00ee7
Author: Youngsuk Kim <joseph942010 at gmail.com>
Date: 2023-12-02 (Sat, 02 Dec 2023)
Changed paths:
M clang/utils/TableGen/RISCVVEmitter.cpp
Log Message:
-----------
[clang][RISCVVEmitter] Remove no-op ptr-to-ptr bitcast (NFC) (#74179)
Remove ptr-to-ptr bitcast which was added back in
939352b6ec31db4e8defe07856868438fbc5340d . With opaque pointers, the
bitcast is now redundant.
Opaque ptr cleanup effort.
Commit: 308551f952bf8fec7dd926308d36ebca36f01ae7
https://github.com/llvm/llvm-project/commit/308551f952bf8fec7dd926308d36ebca36f01ae7
Author: Kazu Hirata <kazu at google.com>
Date: 2023-12-02 (Sat, 02 Dec 2023)
Changed paths:
M llvm/tools/llvm-rc/ResourceScriptStmt.h
Log Message:
-----------
[llvm-rc] Include StringMap.h insteadof StringSet.h (NFC)
ResourceScriptStmt.h uses StringMap, not StringSet.
Commit: 0008b9c0ac284e0303d9db1745d243975d8642d8
https://github.com/llvm/llvm-project/commit/0008b9c0ac284e0303d9db1745d243975d8642d8
Author: Kazu Hirata <kazu at google.com>
Date: 2023-12-02 (Sat, 02 Dec 2023)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[Vectorize] Fix an unused variable warning
This patch fixes:
llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp:912:16: error:
unused variable 'OldResSizeInBits' [-Werror,-Wunused-variable]
Commit: 5602636835e3fe655d196428091a64abd1837966
https://github.com/llvm/llvm-project/commit/5602636835e3fe655d196428091a64abd1837966
Author: Joshua Cao <cao.joshua at yahoo.com>
Date: 2023-12-02 (Sat, 02 Dec 2023)
Changed paths:
M llvm/lib/Transforms/Utils/LoopPeel.cpp
M llvm/test/Transforms/LoopUnroll/peel-loop-conditions.ll
Log Message:
-----------
[LoopPeel] Peel iterations based on and, or conditions (#73413)
For example, this allows us to peel this loop with a `and`:
```
for (int i = 0; i < N; ++i) {
if (i % 2 == 0 && i < 3) // can peel based on || as well
f1();
f2();
```
into:
```
for (int i = 0; i < 3; ++i) { // peel three iterations
if (i % 2 == 0)
f1();
f2();
}
for (int i = 3; i < N; ++i)
f2();
```
Commit: b3e80d8ed251bfdad4a49fee19b8354eba407d1d
https://github.com/llvm/llvm-project/commit/b3e80d8ed251bfdad4a49fee19b8354eba407d1d
Author: sstwcw <su3e8a96kzlver at posteo.net>
Date: 2023-12-02 (Sat, 02 Dec 2023)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/FormatTestVerilog.cpp
Log Message:
-----------
[clang-format] Add space in Verilog tagged unions (#71354)
In a tagged union expression, there should be a space between the field
name and the data. Previously, the tag could be recognized as part of a
dotted identifier or a struct literal, and the space would be omitted.
Commit: bd382032f6df9529197a391ed80e9ab8c59915f1
https://github.com/llvm/llvm-project/commit/bd382032f6df9529197a391ed80e9ab8c59915f1
Author: Joshua Cao <cao.joshua at yahoo.com>
Date: 2023-12-02 (Sat, 02 Dec 2023)
Changed paths:
M llvm/include/llvm/Transforms/Utils/BasicBlockUtils.h
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
Log Message:
-----------
[BBUtils][NFC] Delete SplitLandingPadPredecessors with DT (#73406)
Function is marked for deprecation. There is only one consumer which is
converted to use DomTreeUpdater.
Commit: bb6497ffa6a88d1b3a32101d9b6519094d75ef2a
https://github.com/llvm/llvm-project/commit/bb6497ffa6a88d1b3a32101d9b6519094d75ef2a
Author: Mircea Trofin <mtrofin at google.com>
Date: 2023-12-02 (Sat, 02 Dec 2023)
Changed paths:
M llvm/lib/Analysis/BranchProbabilityInfo.cpp
A llvm/test/Analysis/BranchProbabilityInfo/anonymous-bb.ll
M llvm/test/Analysis/BranchProbabilityInfo/basic.ll
M llvm/test/Analysis/BranchProbabilityInfo/deopt-intrinsic.ll
M llvm/test/Analysis/BranchProbabilityInfo/deopt-invoke.ll
M llvm/test/Analysis/BranchProbabilityInfo/fcmp.ll
M llvm/test/Analysis/BranchProbabilityInfo/hoist.ll
M llvm/test/Analysis/BranchProbabilityInfo/libfunc_call.ll
M llvm/test/Analysis/BranchProbabilityInfo/loop.ll
M llvm/test/Analysis/BranchProbabilityInfo/noreturn.ll
M llvm/test/Analysis/BranchProbabilityInfo/pointer_heuristics.ll
M llvm/test/Analysis/BranchProbabilityInfo/pr18705.ll
M llvm/test/Analysis/BranchProbabilityInfo/pr22718.ll
M llvm/test/Analysis/BranchProbabilityInfo/switch.ll
M llvm/test/Analysis/BranchProbabilityInfo/unreachable.ll
M llvm/test/Analysis/BranchProbabilityInfo/zero_heuristics.ll
M llvm/test/Transforms/PGOProfile/indirectbr.ll
M llvm/test/Transforms/SampleProfile/branch.ll
M llvm/test/Transforms/SampleProfile/calls.ll
M llvm/test/Transforms/SampleProfile/discriminator.ll
M llvm/test/Transforms/SampleProfile/fnptr.ll
M llvm/test/Transforms/SampleProfile/fsafdo_test.ll
M llvm/test/Transforms/SampleProfile/offset.ll
M llvm/test/Transforms/SampleProfile/profile-inference-even-count-distribution.ll
M llvm/test/Transforms/SampleProfile/profile-inference-rebalance-large.ll
M llvm/test/Transforms/SampleProfile/profile-inference-rebalance.ll
M llvm/test/Transforms/SampleProfile/profile-inference.ll
M llvm/test/Transforms/SampleProfile/propagate.ll
M llvm/test/Transforms/SampleProfile/remap.ll
M llvm/test/tools/UpdateTestChecks/update_analyze_test_checks/Inputs/branch-probability-analysis.ll.expected
Log Message:
-----------
[BPI] Reuse the AsmWriter's BB naming scheme in BranchProbabilityPrinterPass (#73593)
When using `BranchProbabilityPrinterPass`, if a BB has no name, we get pretty unusable information like `edge -> has probability...` (i.e. we have no idea what the vertices of that edge are).
This patch uses `printAsOperand`, which uses the same naming scheme as `Function::dump`, so for example during debugging sessions, the IR obtained from a function and the names used by `BranchProbabilityPrinterPass` will match.
A shortcoming is that `printAsOperand` will result in the numbering algorithm re-running for every edge and every vertex (when `BranchProbabilityPrinterPass` is run on a function). If, for the given scenario, this is a problem, we can revisit this subsequently.
Another nuance is that the entry basic block will be numbered, which may be slightly confusing when it's anonymous, but it's easily identifiable - the first edge would have it as source (and the number should be easily recognizable)
Commit: b04b89753daf9751a81ffbcfbfbe6c610fb88af8
https://github.com/llvm/llvm-project/commit/b04b89753daf9751a81ffbcfbfbe6c610fb88af8
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2023-12-02 (Sat, 02 Dec 2023)
Changed paths:
A llvm/include/llvm/TextAPI/Record.h
A llvm/include/llvm/TextAPI/RecordsSlice.h
M llvm/include/llvm/TextAPI/Symbol.h
M llvm/lib/TextAPI/CMakeLists.txt
A llvm/lib/TextAPI/RecordsSlice.cpp
M llvm/lib/TextAPI/Symbol.cpp
M llvm/unittests/TextAPI/CMakeLists.txt
A llvm/unittests/TextAPI/RecordTests.cpp
Log Message:
-----------
[TextAPI] Introduce Records & RecordSlice Types (#74115)
`Record`'s hold target triple specific information about APIs and
symbols. This holds information about the relationship between ObjC
symbols and their linkage properties. It will be used to compare and run
significant operations between the frontend representation of symbols in
AST and symbol information extracted from Mach-O binaries. This differs
from the lighter weight Symbol and SymbolSet class where they are
deduplicated across targets and only represent exported symbols, that
class is mostly used for serializing.
Commit: 96070e1e4c13f53c2cef8178d64e206162923f54
https://github.com/llvm/llvm-project/commit/96070e1e4c13f53c2cef8178d64e206162923f54
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2023-12-03 (Sun, 03 Dec 2023)
Changed paths:
M clang/test/CXX/drs/dr2xx.cpp
Log Message:
-----------
[clang][NFC] Adjust expected directives in DR tests
This is a follow-up to 0c06e8745f131d867c566f4d35a7a04e24b4a075, which accomodated expected directives for 32-bit ARM and Windows platforms.
Addressed bot failures:
https://lab.llvm.org/buildbot/#/builders/123/builds/23355
https://lab.llvm.org/buildbot/#/builders/245/builds/17458
Commit: fccc3745190c2e7f75805b7dd142c7262c7b2eb7
https://github.com/llvm/llvm-project/commit/fccc3745190c2e7f75805b7dd142c7262c7b2eb7
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2023-12-02 (Sat, 02 Dec 2023)
Changed paths:
M llvm/include/llvm/TextAPI/RecordsSlice.h
Log Message:
-----------
[TextAPI] fix fpermissive error
Commit: ad8084ff0693507f62f07dfba105263fcc153030
https://github.com/llvm/llvm-project/commit/ad8084ff0693507f62f07dfba105263fcc153030
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2023-12-02 (Sat, 02 Dec 2023)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/TextAPI/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/TextAPI/BUILD.gn
Log Message:
-----------
[gn build] Port b04b89753daf
Commit: 0801216f6273610c0eb9b3ffcbe525f0de4215bf
https://github.com/llvm/llvm-project/commit/0801216f6273610c0eb9b3ffcbe525f0de4215bf
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2023-12-02 (Sat, 02 Dec 2023)
Changed paths:
M llvm/unittests/TextAPI/CMakeLists.txt
Log Message:
-----------
[TextAPI][Tests] Add missing link to TargetParser in tests
* Caught in buildbot error
Commit: 7ec4f6094e54911794c142b5d88496a220d807d6
https://github.com/llvm/llvm-project/commit/7ec4f6094e54911794c142b5d88496a220d807d6
Author: Craig Topper <craig.topper at sifive.com>
Date: 2023-12-02 (Sat, 02 Dec 2023)
Changed paths:
M clang/test/Headers/__clang_hip_math.hip
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
M llvm/test/Transforms/InstCombine/2010-11-01-lshr-mask.ll
M llvm/test/Transforms/InstCombine/add.ll
M llvm/test/Transforms/InstCombine/and-or-not.ll
M llvm/test/Transforms/InstCombine/and-or.ll
M llvm/test/Transforms/InstCombine/and.ll
M llvm/test/Transforms/InstCombine/apint-shift.ll
M llvm/test/Transforms/InstCombine/binop-and-shifts.ll
M llvm/test/Transforms/InstCombine/binop-of-displaced-shifts.ll
M llvm/test/Transforms/InstCombine/bitcast-inselt-bitcast.ll
M llvm/test/Transforms/InstCombine/bitreverse.ll
M llvm/test/Transforms/InstCombine/bswap.ll
M llvm/test/Transforms/InstCombine/cast-mul-select.ll
M llvm/test/Transforms/InstCombine/cast.ll
M llvm/test/Transforms/InstCombine/free-inversion.ll
M llvm/test/Transforms/InstCombine/funnel.ll
M llvm/test/Transforms/InstCombine/icmp-mul-and.ll
M llvm/test/Transforms/InstCombine/icmp-of-xor-x.ll
M llvm/test/Transforms/InstCombine/icmp.ll
M llvm/test/Transforms/InstCombine/logical-select.ll
M llvm/test/Transforms/InstCombine/masked-merge-or.ll
M llvm/test/Transforms/InstCombine/masked-merge-xor.ll
M llvm/test/Transforms/InstCombine/memcpy-from-global.ll
M llvm/test/Transforms/InstCombine/mul-masked-bits.ll
M llvm/test/Transforms/InstCombine/mul_full_32.ll
M llvm/test/Transforms/InstCombine/mul_full_64.ll
M llvm/test/Transforms/InstCombine/or-concat.ll
M llvm/test/Transforms/InstCombine/or-shifted-masks.ll
M llvm/test/Transforms/InstCombine/or.ll
M llvm/test/Transforms/InstCombine/pr32686.ll
M llvm/test/Transforms/InstCombine/select-ctlz-to-cttz.ll
M llvm/test/Transforms/InstCombine/select-icmp-and.ll
M llvm/test/Transforms/InstCombine/select-with-bitwise-ops.ll
M llvm/test/Transforms/InstCombine/select.ll
M llvm/test/Transforms/InstCombine/shift-shift.ll
M llvm/test/Transforms/InstCombine/shift.ll
M llvm/test/Transforms/InstCombine/sub-of-negatible-inseltpoison.ll
M llvm/test/Transforms/InstCombine/sub-of-negatible.ll
M llvm/test/Transforms/InstCombine/trunc-demand.ll
M llvm/test/Transforms/InstCombine/trunc-inseltpoison.ll
M llvm/test/Transforms/InstCombine/trunc.ll
M llvm/test/Transforms/InstCombine/unfold-masked-merge-with-const-mask-scalar.ll
M llvm/test/Transforms/InstCombine/unfold-masked-merge-with-const-mask-vector.ll
M llvm/test/Transforms/InstCombine/xor.ll
M llvm/test/Transforms/InstCombine/xor2.ll
M llvm/test/Transforms/InstCombine/zext-or-icmp.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-masked-accesses.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-reductions.ll
M llvm/test/Transforms/LoopVectorize/SystemZ/addressing.ll
M llvm/test/Transforms/LoopVectorize/X86/interleaving.ll
M llvm/test/Transforms/LoopVectorize/X86/small-size.ll
M llvm/test/Transforms/LoopVectorize/X86/x86-interleaved-accesses-masked-group.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/interleaved-accesses.ll
M llvm/test/Transforms/PhaseOrdering/X86/SROA-after-final-loop-unrolling-2.ll
M llvm/test/Transforms/PhaseOrdering/X86/loadcombine.ll
M llvm/test/Transforms/PhaseOrdering/X86/pixel-splat.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/loadorder.ll
Log Message:
-----------
[InstCombine] Infer disjoint flag on Or instructions. (#72912)
The disjoint flag was recently added to IR in #72583
We already set it when we turn an add into an or. This patch sets it on Ors that weren't converted from an Add.
Commit: bb41fc682ee779c775185ada1aeab6f4be5c282f
https://github.com/llvm/llvm-project/commit/bb41fc682ee779c775185ada1aeab6f4be5c282f
Author: Lang Hames <lhames at gmail.com>
Date: 2023-12-02 (Sat, 02 Dec 2023)
Changed paths:
M compiler-rt/lib/orc/macho_platform.cpp
M compiler-rt/lib/orc/simple_packed_serialization.h
M llvm/include/llvm/ExecutionEngine/Orc/MachOPlatform.h
M llvm/include/llvm/ExecutionEngine/Orc/Shared/ObjectFormats.h
M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
M llvm/lib/ExecutionEngine/Orc/Shared/ObjectFormats.cpp
Log Message:
-----------
[ORC-RT][ORC][MachO] Add executor-side symbol tables to MachO platform support.
Adds symbol tables to the JITDylibState struct in the ORC runtime
MachOPlatformRuntimeState class. This table will hold the addresses of
materialized symbols (registered by a new JITLink pass in MachOPlatform),
allowing these to be looked up in the executor without an IPC request to the
controller.
The old lookup-symbols callback (made by the runtime in response to dlsym
lookups) is replaced with a push-symbols callback that can trigger
materialization of requested symbols.
Holding a symbol table on the executor side should make repeat calls to dlsym
(and other symbol lookup operations) cheaper since the IPC to trigger
materialization happens at most once per symbol. It should also enable us (at
some point in the future) to symbolicate backtraces in JIT'd code even if the
controller process is gone (e.g. detached or crashed). The trade-off for this
is increased memory consumption in the executor and larger JIT'd data transfers
(since symbol names are now transferred to the executor unconditionally, even
though they may never be used).
Commit: 5fcf3bbb1acfe226572474636714ede86fffcce8
https://github.com/llvm/llvm-project/commit/5fcf3bbb1acfe226572474636714ede86fffcce8
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2023-12-02 (Sat, 02 Dec 2023)
Changed paths:
M compiler-rt/lib/hwasan/hwasan_interceptors.cpp
Log Message:
-----------
[NFC][HWASAN] Remove unused macro parameter
Commit: 091a9f4957b9bed08e6c1c89eacc90a07d4bb603
https://github.com/llvm/llvm-project/commit/091a9f4957b9bed08e6c1c89eacc90a07d4bb603
Author: Stephan T. Lavavej <stl at nuwen.net>
Date: 2023-12-02 (Sat, 02 Dec 2023)
Changed paths:
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/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/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/test_helper.h
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/wait.pass.cpp
Log Message:
-----------
[libc++][test] Avoid truncation warnings from `double` to `float` (#74184)
Found while running libc++'s test suite with MSVC's STL, where we use
both MSVC's compiler and Clang/LLVM.
MSVC really enjoys emitting "warning C4305: 'initializing': truncation
from 'double' to 'float'". It might look repetitive, but `T(value)`
avoids this warning. (According to my understanding, the compiler looks
at the immediate context, and if it's a functional-style cast, it's
satisfied that the truncation was intentional. Not even the
direct-initialization context of `T unexpected(-9999.99)` is enough to
activate that "ok, the programmer knows what they're getting" codepath.)
I usually prefer to use `static_cast` instead of functional-style casts,
but I chose to remain consistent with the surrounding code.
By the way, you might notice that `1.5` doesn't need these changes. This
is because it's exactly representable as both a `double` and a `float`.
Values like `3.125` instead of `3.1` would similarly avoid truncation
warnings without the need for casts, but I didn't want to intrusively
change the test code.
Commit: 8f018d3ca027504d76a1996e7331ff46f9f966f6
https://github.com/llvm/llvm-project/commit/8f018d3ca027504d76a1996e7331ff46f9f966f6
Author: Stephan T. Lavavej <stl at nuwen.net>
Date: 2023-12-02 (Sat, 02 Dec 2023)
Changed paths:
M libcxx/test/std/language.support/support.limits/support.limits.general/latch.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/new.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/semaphore.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/stop_token.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/thread.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/utils/generate_feature_test_macro_components.py
Log Message:
-----------
[libc++][test] Make the feature-test macro tests more portable (#74185)
Found while running libc++'s test suite with MSVC's STL.
This is a followup to @philnik777's recent #71002 (thank you!) which
provided the existing examples of `__cpp_lib_barrier` and
`__cpp_lib_polymorphic_allocator`:
https://github.com/llvm/llvm-project/blob/66a3e4fafb6eae19764f8a192ca3a116c0554211/libcxx/utils/generate_feature_test_macro_components.py#L199-L203
https://github.com/llvm/llvm-project/blob/66a3e4fafb6eae19764f8a192ca3a116c0554211/libcxx/utils/generate_feature_test_macro_components.py#L866-L870
Applying that new pattern to the feature-test macros here gets their
corresponding tests passing for us.
:robot: Only `generate_feature_test_macro_components.py` was manually
updated; the other files were regenerated.
Commit: 38f75d606f94e6b552fd74d487b061a1f8f907fa
https://github.com/llvm/llvm-project/commit/38f75d606f94e6b552fd74d487b061a1f8f907fa
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2023-12-02 (Sat, 02 Dec 2023)
Changed paths:
M llvm/unittests/tools/llvm-exegesis/X86/SnippetFileTest.cpp
Log Message:
-----------
[llvm-exegesis] Removed useless test
This test was an exact duplicate of the one above, providing no value,
and also adding confusion as it referred to a behavior that (was
presumably) moved around and tested differently during the review
process with the test being forgotten about.
Commit: bdcf2087d9fb6112cc5a367590a633796af83015
https://github.com/llvm/llvm-project/commit/bdcf2087d9fb6112cc5a367590a633796af83015
Author: Craig Topper <craig.topper at sifive.com>
Date: 2023-12-02 (Sat, 02 Dec 2023)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
Log Message:
-----------
Recommit "[InstCombine] Retain exact instruction name for some cases in SimplifyDemandedUseBits."
It looks like my original patch got caught up in
ef388334ee5a3584255b9ef5b3fefdb244fa3fd7 that was reverting a different
patch.
Original message:
Retain name for SExt->ZExt and AShr->LShr. Previously SExt->ZExt copied
the name with a numeric suffix. AShr->LShr dropped it.
Commit: f376a3bba1900942f75092a7c2ea100a28e7cbac
https://github.com/llvm/llvm-project/commit/f376a3bba1900942f75092a7c2ea100a28e7cbac
Author: Eric <eric at efcs.ca>
Date: 2023-12-03 (Sun, 03 Dec 2023)
Changed paths:
M libcxx/test/std/containers/sequences/deque/deque.modifiers/insert_iter_iter.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.negbin/eval.pass.cpp
Log Message:
-----------
Work around GCC test failure that is caused by enabling optimizations. (#73998)
While trying to work around MSAN/TSAN build timeouts, we enabled
optimizations on some tests. This caused GCC to start complaining that
some values may be uninitialized. I believe GCC is wrong, but more
investigation is needed.
The values are initialized when the variable `__g` is either < 0 or >=
0. Which only leaves out NaN I believe, which is likely well into UB
land anyway.
However, more investigation needed.
Commit: 19bef888a8c7c58ddddbdf94d377fc485e050efb
https://github.com/llvm/llvm-project/commit/19bef888a8c7c58ddddbdf94d377fc485e050efb
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2023-12-03 (Sun, 03 Dec 2023)
Changed paths:
M clang/test/CXX/drs/dr2xx.cpp
Log Message:
-----------
[clang][NFC] Adjust expected directives in DR tests further
This is a follow-up to 96070e1e4c13f53c2cef8178d64e206162923f54, where long long case was hidden by a different error.
Addresses bot failures:
https://lab.llvm.org/buildbot/#/builders/123/builds/23355
Commit: 6b6552aa92a56e4132a62edf31c91ad77caad49f
https://github.com/llvm/llvm-project/commit/6b6552aa92a56e4132a62edf31c91ad77caad49f
Author: Kazu Hirata <kazu at google.com>
Date: 2023-12-02 (Sat, 02 Dec 2023)
Changed paths:
M llvm/tools/llvm-dwarfutil/Options.h
Log Message:
-----------
[llvm-dwarfutil] Adjust includes (NFC)
Identified with clangd.
Commit: 76cd0355cb9437641d9da64ef9025c18b016daad
https://github.com/llvm/llvm-project/commit/76cd0355cb9437641d9da64ef9025c18b016daad
Author: Craig Topper <craig.topper at sifive.com>
Date: 2023-12-02 (Sat, 02 Dec 2023)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
Log Message:
-----------
[InstCombine] Preserve exact instruction name for xor->or transform in SimplifyDemandedUseBits.
We were previously retaining the name with a numeric suffix.
Commit: 0fc69b1402d75704744c73e15d278dcc8f437f0e
https://github.com/llvm/llvm-project/commit/0fc69b1402d75704744c73e15d278dcc8f437f0e
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2023-12-03 (Sun, 03 Dec 2023)
Changed paths:
M clang-tools-extra/clangd/InlayHints.cpp
M clang-tools-extra/clangd/unittests/InlayHintTests.cpp
Log Message:
-----------
[clangd] Carefully handle PseudoObjectExprs for inlay hints (#71366)
Not all subexpressions for a PseudoObjectExpr are interesting, and they
probably mess up inlay hints.
Fixes https://github.com/clangd/clangd/issues/1813.
Commit: ecc080c07d97f7879ce64e644cac828922a7b0d9
https://github.com/llvm/llvm-project/commit/ecc080c07d97f7879ce64e644cac828922a7b0d9
Author: Sandeep Kosuri <66305775+sandeepkosuri at users.noreply.github.com>
Date: 2023-12-03 (Sun, 03 Dec 2023)
Changed paths:
M clang/lib/Parse/ParseOpenMP.cpp
A clang/test/OpenMP/nothing_ast_print.cpp
A openmp/runtime/test/misc_bugs/omp_nothing.c
Log Message:
-----------
[OpenMP] return empty stmt for `nothing` (#74042)
- `nothing` directive was effecting the `if` block structure which it
should not. So return an empty statement instead of an error statement
while parsing to avoid this.
Commit: e3b3c91dd0bbc8bd6f1ee562641daf1e554eb1b6
https://github.com/llvm/llvm-project/commit/e3b3c91dd0bbc8bd6f1ee562641daf1e554eb1b6
Author: Craig Topper <craig.topper at sifive.com>
Date: 2023-12-03 (Sun, 03 Dec 2023)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/test/Transforms/InstCombine/or.ll
Log Message:
-----------
[InstCombine] Fix missed opportunity to fold 'or' into 'mul' operand. (#74225)
We were able to fold
or (mul X, Y), X --> mul X, (add Y, 1) (when the multiply has no common
bits with X)
This patch makes the transform work if the mul operands are commuted.
Commit: c000f754bfb9fb3a7a0a1f9b0485f36ae70534b7
https://github.com/llvm/llvm-project/commit/c000f754bfb9fb3a7a0a1f9b0485f36ae70534b7
Author: Stephan T. Lavavej <stl at nuwen.net>
Date: 2023-12-03 (Sun, 03 Dec 2023)
Changed paths:
M libcxx/test/libcxx/gdb/gdb_pretty_printer_test.py
M libcxx/test/std/algorithms/alg.modifying.operations/alg.random.shuffle/random_shuffle.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.transform/ranges.transform.binary.iterator.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.transform/ranges.transform.binary.range.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.transform/ranges.transform.unary.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.ends_with/ranges.ends_with.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/ranges.equal.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find.end/ranges.find_end.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/ranges.for_each.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/ranges.for_each_n.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.search/ranges.search.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.search/ranges.search_n.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.starts_with/ranges.starts_with.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.partitions/ranges.is_partitioned.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/is.sorted/ranges.is_sorted.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/is.sorted/ranges.is_sorted_until.pass.cpp
M libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.observers/op_subscript.runtime.pass.cpp
M libcxx/utils/libcxx/test/params.py
Log Message:
-----------
[libc++][test] Avoid non-Standard zero-length arrays (#74183)
Found while running libc++'s test suite with MSVC's STL, where we use
both MSVC's compiler and Clang/LLVM.
MSVC's compiler rejects the non-Standard extension of zero-length
arrays. For conformance, I'm changing these occurrences to
`std::array<int, 0>`.
Many of these files already had `#include <array>`; I'm adding it to the
rest.
I wanted to add `-Wzero-length-array` to
`libcxx/utils/libcxx/test/params.py` to prevent future occurrences, but
it complained about product code :crying_cat_face: :
```
In file included from /home/runner/_work/llvm-project/llvm-project/libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/long.pass.cpp:18:
In file included from /home/runner/_work/llvm-project/llvm-project/build/generic-cxx03/include/c++/v1/istream:170:
In file included from /home/runner/_work/llvm-project/llvm-project/build/generic-cxx03/include/c++/v1/ostream:172:
In file included from /home/runner/_work/llvm-project/llvm-project/build/generic-cxx03/include/c++/v1/__system_error/error_code.h:18:
In file included from /home/runner/_work/llvm-project/llvm-project/build/generic-cxx03/include/c++/v1/__system_error/error_category.h:15:
/home/runner/_work/llvm-project/llvm-project/build/generic-cxx03/include/c++/v1/string:811:25: error: zero size arrays are an extension [-Werror,-Wzero-length-array]
811 | char __padding_[sizeof(value_type) - 1];
| ^~~~~~~~~~~~~~~~~~~~~~
/home/runner/_work/llvm-project/llvm-project/build/generic-cxx03/include/c++/v1/string:817:19: note: in instantiation of member class 'std::basic_string<char>::__short' requested here
817 | static_assert(sizeof(__short) == (sizeof(value_type) * (__min_cap + 1)), "__short has an unexpected size.");
| ^
/home/runner/_work/llvm-project/llvm-project/build/generic-cxx03/include/c++/v1/string:2069:5: note: in instantiation of template class 'std::basic_string<char>' requested here
2069 | _LIBCPP_STRING_V1_EXTERN_TEMPLATE_LIST(_LIBCPP_DECLARE, char)
| ^
/home/runner/_work/llvm-project/llvm-project/build/generic-cxx03/include/c++/v1/__string/extern_template_lists.h:31:60: note: expanded from macro '_LIBCPP_STRING_V1_EXTERN_TEMPLATE_LIST'
31 | _Func(_LIBCPP_EXPORTED_FROM_ABI basic_string<_CharType>& basic_string<_CharType>::replace(size_type, size_type, value_type const*, size_type)) \
| ^
```
I pushed a tiny commit to fix unrelated comment typos, in an attempt to
clear out spurious CI failures.
Commit: 5db1c6ed483d7184fa56406b799cb69b5bc7a549
https://github.com/llvm/llvm-project/commit/5db1c6ed483d7184fa56406b799cb69b5bc7a549
Author: Craig Topper <craig.topper at sifive.com>
Date: 2023-12-03 (Sun, 03 Dec 2023)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/test/Transforms/InstCombine/or.ll
Log Message:
-----------
Revert "[InstCombine] Fix missed opportunity to fold 'or' into 'mul' operand. (#74225)"
This reverts commit e3b3c91dd0bbc8bd6f1ee562641daf1e554eb1b6.
This is causing an infinite loop on stage 2 builds.
Commit: 2a3f1195d61e9fc1837926aa394ea73cc6f90bee
https://github.com/llvm/llvm-project/commit/2a3f1195d61e9fc1837926aa394ea73cc6f90bee
Author: Owen Pan <owenpiano at gmail.com>
Date: 2023-12-03 (Sun, 03 Dec 2023)
Changed paths:
M clang/tools/clang-format/git-clang-format
Log Message:
-----------
[clang-format] Fix a bug in `git-clang-format --binary` (#74176)
Fixed #74165.
Commit: c89058291248aecd7d43373b719aff74706026e7
https://github.com/llvm/llvm-project/commit/c89058291248aecd7d43373b719aff74706026e7
Author: Florian Hahn <flo at fhahn.com>
Date: 2023-12-03 (Sun, 03 Dec 2023)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/deterministic-type-shrinkage.ll
Log Message:
-----------
[VPlan] Account for live-in entries in MinBW used by replicate recipes.
In some cases MinBWs may contain entries for live-ins that are not used
by VPWidenRecipe or VPWidenSelectRecipes. In those cases, the live-ins
won't get processed, so make sure we include them in the count when used
as operands in VPWidenCast and VPWidenSelectRecipe.
Fixes https://github.com/llvm/llvm-project/issues/74231
Commit: 599cba3e7c82f046f247aa1cae4948dbbdcb7cb3
https://github.com/llvm/llvm-project/commit/599cba3e7c82f046f247aa1cae4948dbbdcb7cb3
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2023-12-03 (Sun, 03 Dec 2023)
Changed paths:
M clang/test/CXX/drs/dr3xx.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[clang][NFC] Fill in historical data on when C++ DRs 300-399 were fixed
Commit: bc51a36fd67c9ef08259612a1a04db6be51a8b76
https://github.com/llvm/llvm-project/commit/bc51a36fd67c9ef08259612a1a04db6be51a8b76
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2023-12-03 (Sun, 03 Dec 2023)
Changed paths:
M clang/test/CXX/drs/dr3xx.cpp
Log Message:
-----------
[clang][NFC] Refactor expected directives in C++ DRs 300-399 (#74243)
This patch continues the work started with ea5b1ef016d020c37f903d6c7d4f623be975dab8. See that commit and its corresponding PR for details.
Commit: 9f78edbd20ed922cced9482f7791deb9899a6d82
https://github.com/llvm/llvm-project/commit/9f78edbd20ed922cced9482f7791deb9899a6d82
Author: Dominik Wójt <dominik.wojt at arm.com>
Date: 2023-12-03 (Sun, 03 Dec 2023)
Changed paths:
M libcxx/test/std/iterators/iterator.primitives/iterator.traits/cxx20_iterator_traits.compile.pass.cpp
Log Message:
-----------
[libc++] tests with picolibc: Fix iterator diff_type to std::streamoff (#74072)
The hardcoded value of long int was not valid for newlib and picolibc.
Commit: 741975df928208d26fb61465f5f722dfa36cc9c7
https://github.com/llvm/llvm-project/commit/741975df928208d26fb61465f5f722dfa36cc9c7
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
Log Message:
-----------
[InstCombine][InstSimplify] Pass `SimplifyQuery` to `computeKnownBits` directly. NFC. (#74246)
This patch passes `SimplifyQuery` to `computeKnownBits` directly in
`InstSimplify` and `InstCombine`.
As the `DomConditionCache` in #73662 is only used in `InstCombine`, it
is inconvenient to introduce a new argument `DC` to `computeKnownBits`.
Commit: f25daa589ee0649ea87d1e8ae9332cb29d064b9e
https://github.com/llvm/llvm-project/commit/f25daa589ee0649ea87d1e8ae9332cb29d064b9e
Author: Kazu Hirata <kazu at google.com>
Date: 2023-12-03 (Sun, 03 Dec 2023)
Changed paths:
M llvm/include/llvm/ObjCopy/ELF/ELFConfig.h
M llvm/include/llvm/Target/CGPassBuilderOption.h
M llvm/include/llvm/Transforms/IPO/ProfiledCallGraph.h
M llvm/lib/Support/ARMBuildAttrs.cpp
M llvm/lib/Target/Hexagon/HexagonISelDAGToDAG.h
M llvm/lib/Testing/Support/Error.cpp
M llvm/tools/lli/ChildTarget/ChildTarget.cpp
Log Message:
-----------
[llvm] Stop including llvm/ADT/StringRef.h (NFC)
Identified with clangd.
Commit: 871dfd80bd1f9166b121253afb4eb41f9cbabb2e
https://github.com/llvm/llvm-project/commit/871dfd80bd1f9166b121253afb4eb41f9cbabb2e
Author: Kazu Hirata <kazu at google.com>
Date: 2023-12-03 (Sun, 03 Dec 2023)
Changed paths:
M llvm/include/llvm/DebugInfo/LogicalView/Readers/LVCodeViewVisitor.h
M llvm/include/llvm/ExecutionEngine/Orc/ExecutionUtils.h
M llvm/include/llvm/ExecutionEngine/Orc/ObjectLinkingLayer.h
M llvm/include/llvm/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.h
M llvm/include/llvm/ExecutionEngine/Orc/Shared/OrcRTBridge.h
Log Message:
-----------
[llvm] Stop including llvm/ADT/StringMap.h (NFC)
Identified with clangd.
Commit: 3b1761b845181073dbb3993ab5965ed1dfd67471
https://github.com/llvm/llvm-project/commit/3b1761b845181073dbb3993ab5965ed1dfd67471
Author: Kazu Hirata <kazu at google.com>
Date: 2023-12-03 (Sun, 03 Dec 2023)
Changed paths:
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVObject.h
M llvm/include/llvm/IR/ReplaceConstant.h
M llvm/lib/BinaryFormat/AMDGPUMetadataVerifier.cpp
M llvm/lib/DWARFLinkerParallel/DWARFLinkerGlobalData.h
M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
M llvm/tools/llvm-exegesis/lib/MCInstrDescView.cpp
M llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp
M llvm/tools/llvm-xray/xray-account.h
Log Message:
-----------
[llvm] Stop including map (NFC)
Identified with clangd.
Commit: 3e7ca05e93e3c6251edef928a08ce613b5c7aebb
https://github.com/llvm/llvm-project/commit/3e7ca05e93e3c6251edef928a08ce613b5c7aebb
Author: Craig Topper <craig.topper at sifive.com>
Date: 2023-12-03 (Sun, 03 Dec 2023)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/test/Transforms/InstCombine/or.ll
Log Message:
-----------
[InstCombine] Use disjoint flag instead of calling haveNoCommonBitsSet. (#74222)
Commit: ba3d0241e2b0c4e025a94ce872426314fe119765
https://github.com/llvm/llvm-project/commit/ba3d0241e2b0c4e025a94ce872426314fe119765
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2023-12-03 (Sun, 03 Dec 2023)
Changed paths:
M flang/include/flang/Optimizer/Analysis/TBAAForest.h
M flang/include/flang/Optimizer/Dialect/FIROpsSupport.h
M flang/lib/Optimizer/Transforms/ExternalNameConversion.cpp
M flang/test/Fir/external-mangling.fir
Log Message:
-----------
[flang] Record the original name of a function during ExternalNameCoversion (#74065)
We pass TBAA alias information with separate TBAA trees per function (to
prevent incorrect alias information after inlining). These TBAA trees
are identified by a unique string per function. Naturally, we use the
mangled name of the function.
TBAA tags are added in two places: during a dedicated pass relatively
early (structured control flow makes fir::AliasAnalysis more accurate),
then again during CodeGen (when implied box loads and stores become
visible). In between these two passes, the ExternalNameConversion pass
changes the name of some functions.
These functions with changed names previously ended up with separate
TBAA trees from the TBAA tags pass and from CodeGen - leading LLVM to
think that all data accesses alias with all descriptor accesses.
This patch solves this by storing the original name of a function in an
attribute during the ExternalNameConversion pass, and using the name
from that attribute when creating TBAA trees during CodeGen.
Commit: 74ff52345d1203995febf6f090a0ff9e91c92b4a
https://github.com/llvm/llvm-project/commit/74ff52345d1203995febf6f090a0ff9e91c92b4a
Author: Kazu Hirata <kazu at google.com>
Date: 2023-12-03 (Sun, 03 Dec 2023)
Changed paths:
M llvm/include/llvm/Support/Automaton.h
M llvm/tools/llvm-cfi-verify/lib/FileAnalysis.h
M llvm/tools/llvm-cfi-verify/lib/GraphBuilder.h
M llvm/tools/llvm-exegesis/lib/Analysis.h
M llvm/tools/llvm-pdbutil/PrettyClassDefinitionDumper.h
Log Message:
-----------
[llvm] Stop including unordered_map (NFC)
Identified with clangd.
Commit: e315bf25a843582de39257e1345408a10dc08224
https://github.com/llvm/llvm-project/commit/e315bf25a843582de39257e1345408a10dc08224
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2023-12-03 (Sun, 03 Dec 2023)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
[AArch64] Update LangRef to reference GHC calling convention (#72760)
AArch64 has supported the GHC calling convention for quite a few years
at this point (https://reviews.llvm.org/D6877), but the LangRef never
got updated noting that this was implemented on AArch64.
Commit: 7882f380a234a8c0260b79290406967c851a0df2
https://github.com/llvm/llvm-project/commit/7882f380a234a8c0260b79290406967c851a0df2
Author: David Li <57157229+david-xl at users.noreply.github.com>
Date: 2023-12-03 (Sun, 03 Dec 2023)
Changed paths:
M clang/docs/UsersManual.rst
Log Message:
-----------
Fix documentation on PGO/coverage related options. (#73845)
Update the user manual to provide guidance on the usage for different
flavors of instrumentations.
Commit: 21a9c7e6e7b89b2000e2249a5305cf5d0b04ccd2
https://github.com/llvm/llvm-project/commit/21a9c7e6e7b89b2000e2249a5305cf5d0b04ccd2
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2023-12-03 (Sun, 03 Dec 2023)
Changed paths:
M mlir/lib/CAPI/Dialect/AMDGPU.cpp
Log Message:
-----------
[mlir][AMDGPU] fix AMDGPU C API registration (#74255)
Commit: 4042fb8ce47947cc4d16985035f4106feb386ba1
https://github.com/llvm/llvm-project/commit/4042fb8ce47947cc4d16985035f4106feb386ba1
Author: Joshua Cao <cao.joshua at yahoo.com>
Date: 2023-12-03 (Sun, 03 Dec 2023)
Changed paths:
M llvm/test/Transforms/TailCallElim/accum_recursion.ll
Log Message:
-----------
[TRE] Generate tests for accumulator recursion
Commit: 57eb4826e5b4c99751c6eff4e4fc50b55919e5ae
https://github.com/llvm/llvm-project/commit/57eb4826e5b4c99751c6eff4e4fc50b55919e5ae
Author: Kazu Hirata <kazu at google.com>
Date: 2023-12-03 (Sun, 03 Dec 2023)
Changed paths:
M llvm/include/llvm/Analysis/InlineModelFeatureMaps.h
M llvm/include/llvm/DWARFLinkerParallel/StringPool.h
M llvm/include/llvm/Option/Option.h
M llvm/include/llvm/TableGen/Parser.h
M llvm/lib/CodeGen/SelectOptimize.cpp
M llvm/lib/Target/AArch64/AArch64Subtarget.h
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.h
M llvm/lib/Target/Mips/MipsSubtarget.h
M llvm/tools/llvm-cfi-verify/lib/GraphBuilder.h
M llvm/tools/llvm-exegesis/lib/Analysis.h
M llvm/tools/llvm-exegesis/lib/SnippetRepetitor.cpp
M llvm/tools/llvm-objcopy/llvm-objcopy.cpp
M llvm/tools/llvm-pdbutil/DumpOutputStyle.h
M llvm/tools/llvm-pdbutil/ExplainOutputStyle.h
M llvm/tools/llvm-rc/ResourceScriptToken.h
M llvm/tools/llvm-readobj/llvm-readobj.h
M llvm/unittests/Support/AddressRangeTest.cpp
Log Message:
-----------
[llvm] Stop including string (NFC)
Identified with clangd.
Commit: 4596dd103cf8a4624505e3fa820af5f64bff6b51
https://github.com/llvm/llvm-project/commit/4596dd103cf8a4624505e3fa820af5f64bff6b51
Author: Eric <eric at efcs.ca>
Date: 2023-12-03 (Sun, 03 Dec 2023)
Changed paths:
M .github/workflows/libcxx-build-and-test.yaml
Log Message:
-----------
Change how libc++ specifies the runners to use. (#74188)
Github actions has some quirks with how you use runner groups, labels,
names, etc... One of them is that groups can't "group" more than one set
of builders. To do that, you use the same name. So now we're specifying
the name.
Commit: dff5bb92d47ef226319ba1b70a334785d7896de8
https://github.com/llvm/llvm-project/commit/dff5bb92d47ef226319ba1b70a334785d7896de8
Author: David Truby <david.truby at arm.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M clang/lib/Driver/ToolChains/Flang.cpp
A flang/test/Driver/msvc-defines.f90
Log Message:
-----------
[flang] Add MSC_VER and target arch defines when targeting the MSVC ABI (#73250)
Fixes #67675
Commit: e9cd197d15300f186a5a32092103add65fbd3f50
https://github.com/llvm/llvm-project/commit/e9cd197d15300f186a5a32092103add65fbd3f50
Author: wanglei <wanglei at loongson.cn>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
A llvm/test/CodeGen/LoongArch/lasx/mulh.ll
A llvm/test/CodeGen/LoongArch/lsx/mulh.ll
Log Message:
-----------
[LoongArch] Support MULHS/MULHU with lsx/lasx
Mark MULHS/MULHU nodes as legal and adds the necessary patterns.
Commit: 239bcba65099558e2ec4f57d14ef6ce46b1ae74e
https://github.com/llvm/llvm-project/commit/239bcba65099558e2ec4f57d14ef6ce46b1ae74e
Author: Utkarsh Saxena <usx at google.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M clang/include/clang/Basic/AttrDocs.td
Log Message:
-----------
Fix [[clang::coro_wrapper]] documentation.
Commit: 26fc26c184bae3e5eb6f481f63edb7c285ada272
https://github.com/llvm/llvm-project/commit/26fc26c184bae3e5eb6f481f63edb7c285ada272
Author: Craig Topper <craig.topper at sifive.com>
Date: 2023-12-03 (Sun, 03 Dec 2023)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVCallLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Simplify computation of VarArgsSaveSize. NFC (#74209)
The computation we use for computing the size already returns 0 when all
registers are allocated. We don't need an if to set it to 0.
Use the size being 0 to check for whether we need to spill registers or
not.
I have another change I want to make to this code, but this change
seemed to stand on its own. I left the curly braces since I need them
for the other change.
Commit: 0f8681b38e51e8a68894042e638eba681f7737f1
https://github.com/llvm/llvm-project/commit/0f8681b38e51e8a68894042e638eba681f7737f1
Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
A clang/test/CodeGenHIP/ballot.cpp
Log Message:
-----------
[clang][AMDGPU] precommit test for ballot on Windows (#73920)
The Clang declaration of the wave-64 builtin uses "UL" as the return
type, which is interpreted as a 32-bit unsigned integer on Windows. This
emits an incorrect LLVM declaration with i32 return type instead of i64.
The clang declaration needs to be fixed to use "WU" instead.
Commit: 87526c836e27c0c18a8a9230dbf3c4a7456485b8
https://github.com/llvm/llvm-project/commit/87526c836e27c0c18a8a9230dbf3c4a7456485b8
Author: Craig Topper <craig.topper at sifive.com>
Date: 2023-12-03 (Sun, 03 Dec 2023)
Changed paths:
A llvm/test/CodeGen/RISCV/sextw-removal-debug.mir
Log Message:
-----------
[RISCV] Add test case showing that removal of W suffixes doesn't work with DBG_VALUE uses. NFC
Commit: 55f91bfe5074a22ead581a49e54ec9ed1744b39d
https://github.com/llvm/llvm-project/commit/55f91bfe5074a22ead581a49e54ec9ed1744b39d
Author: Craig Topper <craig.topper at sifive.com>
Date: 2023-12-03 (Sun, 03 Dec 2023)
Changed paths:
M llvm/lib/Target/RISCV/RISCVOptWInstrs.cpp
M llvm/test/CodeGen/RISCV/sextw-removal-debug.mir
Log Message:
-----------
[RISCV] Ignore debug instructions in hasAllNBitUsers in RISCVOptWInstrs.
Commit: 7c4eb1309ec4aceae659522038fd52e58427270d
https://github.com/llvm/llvm-project/commit/7c4eb1309ec4aceae659522038fd52e58427270d
Author: Kazu Hirata <kazu at google.com>
Date: 2023-12-03 (Sun, 03 Dec 2023)
Changed paths:
M llvm/include/llvm/Transforms/IPO.h
Log Message:
-----------
[Transforms] Remove unnecessary includes (NFC)
Identified with clangd.
Commit: f4b1f44cb570a61533a876ca1dfaefd87b902485
https://github.com/llvm/llvm-project/commit/f4b1f44cb570a61533a876ca1dfaefd87b902485
Author: Kazu Hirata <kazu at google.com>
Date: 2023-12-03 (Sun, 03 Dec 2023)
Changed paths:
R llvm/include/llvm/DebugInfo/PDB/Native/Formatters.h
Log Message:
-----------
[PDB] Remove llvm/DebugInfo/PDB/Native/Formatters.h (#74257)
The last use was removed by:
commit 7b84b678a993c8a8236868f65d1d4c2b3e29fb3d
Author: Zachary Turner <zturner at google.com>
Date: Mon Mar 26 18:01:07 2018 +0000
Commit: 0031efe6be19735402656a76b64a173d17f1f935
https://github.com/llvm/llvm-project/commit/0031efe6be19735402656a76b64a173d17f1f935
Author: wheatman <wheatman at users.noreply.github.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaExpr.cpp
M clang/test/Sema/warn-char-subscripts.c
A clang/test/Sema/warn-char-subscripts.cpp
Log Message:
-----------
Remove warnings from -Wchar-subscripts for known positive constants (#69061)
Fixes #18763
Remove warnings when using a signed char as an array bound if the char is a known positive constant.
This goes one step farther than gcc does.
For example given the following code
```c++
char upper[300];
int main() {
upper['a'] = 'A';
char b = 'a';
upper[b] = 'A';
const char c = 'a';
upper[c] = 'A';
constexpr char d = 'a';
upper[d] = 'A';
char e = -1;
upper[e] = 'A';
const char f = -1;
upper[f] = 'A';
constexpr char g = -1;
upper[g] = 'A';
return 1;
}
```
clang currently gives warnings for all cases, while gcc gives warnings
for all cases except for 'a' (https://godbolt.org/z/5ahjETTv3)
With the change there is no longer any warning for 'a', 'c', or 'd'.
Commit: fe0d629c1ebb175fc224fb016757e9a979a6c1e4
https://github.com/llvm/llvm-project/commit/fe0d629c1ebb175fc224fb016757e9a979a6c1e4
Author: Kazu Hirata <kazu at google.com>
Date: 2023-12-03 (Sun, 03 Dec 2023)
Changed paths:
M llvm/include/llvm/TableGen/Parser.h
Log Message:
-----------
[TableGen] Remove unnecessary includes (NFC)
Identified with clangd.
Commit: bc1fe6fd49b28e52ad289ec2aee6ea5709c3b25c
https://github.com/llvm/llvm-project/commit/bc1fe6fd49b28e52ad289ec2aee6ea5709c3b25c
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M llvm/lib/CodeGen/RegisterCoalescer.cpp
A llvm/test/CodeGen/AArch64/coalescer-drop-subreg-to-reg-imm-ops.mir
Log Message:
-----------
RegisterCoalescer: Fix producing malformed IMPLICIT_DEFs (#73784)
If this was coalescing a SUBREG_TO_REG as a copy, the resulting
instruction would be an IMPLICIT_DEF with an unexpected 2 immediate
operands, which need to be dropped. Until recently the verifier did not
catch this error, and an assert would fire if later the broken
IMPLICIT_DEF was rematerialized P
#73758 is related, it changes the failure mode to a verifier error.
Commit: 92c2529ccde4a7eff344acd4ba22bf9d4af26b9d
https://github.com/llvm/llvm-project/commit/92c2529ccde4a7eff344acd4ba22bf9d4af26b9d
Author: Kazu Hirata <kazu at google.com>
Date: 2023-12-03 (Sun, 03 Dec 2023)
Changed paths:
M llvm/include/llvm/ADT/PostOrderIterator.h
M llvm/include/llvm/CodeGen/CallingConvLower.h
M llvm/include/llvm/DebugInfo/GSYM/ExtractRanges.h
M llvm/include/llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h
M llvm/include/llvm/ExecutionEngine/Orc/EPCDebugObjectRegistrar.h
M llvm/include/llvm/ExecutionEngine/Orc/SpeculateAnalyses.h
M llvm/include/llvm/IR/Dominators.h
M llvm/include/llvm/IR/ReplaceConstant.h
M llvm/include/llvm/ObjCopy/ELF/ELFConfig.h
M llvm/include/llvm/Support/Automaton.h
M llvm/include/llvm/TargetParser/RISCVTargetParser.h
M llvm/include/llvm/Transforms/Instrumentation.h
M llvm/lib/CodeGen/InlineSpiller.cpp
M llvm/lib/CodeGen/MachineCSE.cpp
M llvm/lib/ObjCopy/XCOFF/XCOFFWriter.h
M llvm/lib/Object/RelocationResolver.cpp
M llvm/lib/TableGen/Main.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUMemoryUtils.h
M llvm/lib/Target/ARM/ARM.h
M llvm/lib/Target/ARM/ARMBasicBlockInfo.cpp
M llvm/lib/Target/AVR/AVRFrameLowering.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonShuffler.cpp
M llvm/lib/Target/Mips/MipsOptimizePICCall.cpp
M llvm/lib/Target/PowerPC/PPCCTRLoopsVerify.cpp
M llvm/lib/Transforms/IPO/Inliner.cpp
M llvm/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp
M llvm/lib/Transforms/Scalar/SCCP.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink.h
M llvm/tools/llvm-objcopy/ObjcopyOptions.h
M llvm/tools/llvm-profgen/CallContext.h
M llvm/tools/llvm-profgen/PerfReader.h
M llvm/tools/llvm-reduce/deltas/Delta.h
M llvm/tools/llvm-reduce/deltas/ReduceAttributes.cpp
M llvm/tools/llvm-reduce/deltas/ReduceFunctions.cpp
M llvm/tools/llvm-reduce/deltas/ReduceMetadata.cpp
M llvm/tools/llvm-reduce/llvm-reduce.cpp
M llvm/tools/llvm-xray/xray-account.h
Log Message:
-----------
[llvm] Stop including vector (NFC)
Identified with clangd.
Commit: 3406a2bc5ff71b2e395a28d4f65d177bafb60b9b
https://github.com/llvm/llvm-project/commit/3406a2bc5ff71b2e395a28d4f65d177bafb60b9b
Author: Kazu Hirata <kazu at google.com>
Date: 2023-12-03 (Sun, 03 Dec 2023)
Changed paths:
M llvm/include/llvm/DebugInfo/GSYM/FunctionInfo.h
M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
M llvm/lib/Transforms/Scalar/TLSVariableHoist.cpp
M llvm/unittests/ADT/CombinationGeneratorTest.cpp
M llvm/unittests/DebugInfo/DWARF/DwarfGenerator.h
M llvm/unittests/XRay/FDRProducerConsumerTest.cpp
Log Message:
-----------
[llvm] Stop including tuple (NFC)
Identified with clangd.
Commit: 67f9cd46708e74aa65341b07eeefa4fe198d7a9e
https://github.com/llvm/llvm-project/commit/67f9cd46708e74aa65341b07eeefa4fe198d7a9e
Author: Rik Huijzer <github at huijzer.xyz>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/test/Target/LLVMIR/llvmir-invalid.mlir
M mlir/test/Target/LLVMIR/llvmir.mlir
Log Message:
-----------
[mlir][llvm] Fix verifier for const float (#74247)
Fixes one of the cases of
https://github.com/llvm/llvm-project/issues/56962.
This PR basically moves some code from
`mlir::LLVM::detail::getLLVMConstant`
([source](https://github.com/llvm/llvm-project/blob/9f78edbd20ed922cced9482f7791deb9899a6d82/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp#L354-L371))
over to the verifier of `LLVM::ConstantOp`. For now, I focused just on
the case where the attribute is a float and ignored the integer case of
https://github.com/llvm/llvm-project/issues/56962. Note that without
this patch, both added tests will crash inside `getLLVMConstant` during
`mlir-translate -mlir-to-llvmir`.
Commit: 725656bdd885483c39f482a01ea25d67acf39c46
https://github.com/llvm/llvm-project/commit/725656bdd885483c39f482a01ea25d67acf39c46
Author: Sheng <ox59616e at gmail.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M llvm/lib/Target/M68k/M68kExpandPseudo.cpp
M llvm/lib/Target/M68k/M68kInstrControl.td
A llvm/test/CodeGen/M68k/CConv/rte.ll
Log Message:
-----------
[M68k] Emit RTE for interrupt handler. (#72787)
Fixes #64833
Commit: d49e9d88a27295b52f28cdcdcf5eb59d88dd99f9
https://github.com/llvm/llvm-project/commit/d49e9d88a27295b52f28cdcdcf5eb59d88dd99f9
Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
Log Message:
-----------
[SelectionDAG][NFC] Replace C-style casting with static_cast (#74060)
Fix comments in #73283.
Commit: c9c1b3c37fa5d5c617068afe67afcafacd58a241
https://github.com/llvm/llvm-project/commit/c9c1b3c37fa5d5c617068afe67afcafacd58a241
Author: Rik Huijzer <github at huijzer.xyz>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/test/Transforms/loop-invariant-code-motion.mlir
Log Message:
-----------
[mlir][memref] Fix an invalid dim loop motion crash (#74204)
Fixes https://github.com/llvm/llvm-project/issues/73382.
This PR suggests to replace two assertions that were introduced in
https://github.com/llvm/llvm-project/commit/adabce41185910227ca276a1cfd22e76443dd238
(https://reviews.llvm.org/D135748). According to the enum definition of
`NotSpeculatable`, an op that invokes undefined behavior is
`NotSpeculatable`.
https://github.com/llvm/llvm-project/blob/0c06e8745f131d867c566f4d35a7a04e24b4a075/mlir/include/mlir/Interfaces/SideEffectInterfaces.h#L248-L258
and both `tensor.dim` and `memref.dim` state that "If the dimension
index is out of bounds, the behavior is undefined."
So therefore it seems to me that `DimOp::getSpeculatability()` should
return `NotSpeculatable` if the dimension index is out of bounds.
The added test is just a simplified version of
https://github.com/llvm/llvm-project/issues/73382.
Commit: c1e2457a14f865371bb2dcba260ace32e3a2f71b
https://github.com/llvm/llvm-project/commit/c1e2457a14f865371bb2dcba260ace32e3a2f71b
Author: Brad Smith <brad at comstyle.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M lldb/source/Host/netbsd/HostNetBSD.cpp
Log Message:
-----------
[lldb] Fix build on NetBSD (#74190)
lldb/source/Host/netbsd/HostNetBSD.cpp:112:32: error: reinterpret_cast from 'const uint8_t *' (aka 'const unsigned char *') to 'char *' casts away qualifiers
{reinterpret_cast<char *>(buffer_sp->GetBytes()),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
Commit: b96bae2887f276345f9c0ea9974703e8dd3b5ddf
https://github.com/llvm/llvm-project/commit/b96bae2887f276345f9c0ea9974703e8dd3b5ddf
Author: Brad Smith <brad at comstyle.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M lldb/source/Plugins/Process/NetBSD/NativeProcessNetBSD.cpp
M lldb/source/Plugins/Process/NetBSD/NativeProcessNetBSD.h
Log Message:
-----------
[lldb] Fix building on NetBSD 8.x (#74191)
PT_STOP was introduced with NetBSD 9.0.
Commit: 0cdacd5f492991362bfc8e252673aafdb9651322
https://github.com/llvm/llvm-project/commit/0cdacd5f492991362bfc8e252673aafdb9651322
Author: Nikita Popov <npopov at redhat.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M llvm/include/llvm/Support/GenericDomTreeConstruction.h
Log Message:
-----------
[DomTree] Fix root attachment in runDFS() (#73148)
Currently, runDFS() only sets the Parent of the DFS root if it is
already in the NodeToInfo map. This doesn't matter if we're running DFS
on the DT root, which doesn't have a parent anyway. However, when
running on PDT roots, this means we end up keeping the parent at 0,
rather than setting it to 1 for the virtual PDT root. Because the
virtual root (nullptr) has the same value as the dummy value in
NumToNode (nullptr) this happens to work out by accident right now.
I believe we should always be setting the parent in runDFS(), and adjust
AttachToNum in doFullDFSWalk() to be 1 (the virtual root) for PDTs.
Commit: 71f2ec2db1295462d61e1407fcc1e715ba5d458b
https://github.com/llvm/llvm-project/commit/71f2ec2db1295462d61e1407fcc1e715ba5d458b
Author: martinboehme <mboehme at google.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M clang/include/clang/Analysis/FlowSensitive/DataflowAnalysis.h
M clang/include/clang/Analysis/FlowSensitive/DataflowAnalysisContext.h
M clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
M clang/include/clang/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.h
M clang/include/clang/Analysis/FlowSensitive/RecordOps.h
M clang/include/clang/Analysis/FlowSensitive/StorageLocation.h
M clang/lib/Analysis/FlowSensitive/DataflowAnalysisContext.cpp
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/lib/Analysis/FlowSensitive/HTMLLogger.cpp
M clang/lib/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.cpp
M clang/lib/Analysis/FlowSensitive/RecordOps.cpp
M clang/lib/Analysis/FlowSensitive/Transfer.cpp
M clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp
M clang/unittests/Analysis/FlowSensitive/DataflowEnvironmentTest.cpp
M clang/unittests/Analysis/FlowSensitive/RecordOpsTest.cpp
M clang/unittests/Analysis/FlowSensitive/TestingSupport.cpp
M clang/unittests/Analysis/FlowSensitive/TestingSupport.h
M clang/unittests/Analysis/FlowSensitive/UncheckedOptionalAccessModelTest.cpp
Log Message:
-----------
[clang][dataflow] Add synthetic fields to `RecordStorageLocation` (#73860)
Synthetic fields are intended to model the internal state of a class
(e.g. the value stored in a `std::optional`) without having to depend on
that class's implementation details.
Today, this is typically done with properties on `RecordValue`s, but
these have several drawbacks:
* Care must be taken to call `refreshRecordValue()` before modifying a
property so that the modified property values aren’t seen by other
environments that may have access to the same `RecordValue`.
* Properties aren’t associated with a storage location. If an analysis
needs to associate a location with the value stored in a property (e.g.
to model the reference returned by `std::optional::value()`), it needs
to manually add an indirection using a `PointerValue`. (See for example
the way this is done in UncheckedOptionalAccessModel.cpp, specifically
in `maybeInitializeOptionalValueMember()`.)
* Properties don’t participate in the builtin compare, join, and widen
operations. If an analysis needs to apply these operations to
properties, it needs to override the corresponding methods of
`ValueModel`.
* Longer-term, we plan to eliminate `RecordValue`, as by-value
operations on records aren’t really “a thing” in C++ (see
https://discourse.llvm.org/t/70086#changed-structvalue-api-14). This
would obviously eliminate the ability to set properties on
`RecordValue`s.
To demonstrate the advantages of synthetic fields, this patch converts
UncheckedOptionalAccessModel.cpp to synthetic fields. This greatly
simplifies the implementation of the check.
This PR is pretty big; to make it easier to review, I have broken it
down into a stack of three commits, each of which contains a set of
logically related changes. I considered submitting each of these as a
separate PR, but the commits only really make sense when taken together.
To review, I suggest first looking at the changes in
UncheckedOptionalAccessModel.cpp. This gives a flavor for how the
various API changes work together in the context of an analysis. Then,
review the rest of the changes.
Commit: f65e3af73dd507568bcb645e1fcb3ddb738fb809
https://github.com/llvm/llvm-project/commit/f65e3af73dd507568bcb645e1fcb3ddb738fb809
Author: jeanPerier <jperier at nvidia.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M flang/lib/Optimizer/CodeGen/Target.cpp
A flang/test/Fir/target-rewrite-complex-10-x86.fir
Log Message:
-----------
[flang] Implement COMPLEX(10) passing and return ABI for X86-64 linux (#74094)
COMPLEX(10) passing by value and returning follows C complex
passing/returning ABI.
Cover the COMPLEX(10) case (X87 / __Complex long double on X86-64).
Implements System V ABI for AMD64 version 1.0.
The LLVM signatures match the one generated by clang for the __Complex
long double case.
Note that a FIXME is added for the COMPLEX(8) case that is incorrect in
a corner case. This will be fixed when dealing with passing derived type
by value in BIND(C) context.
Commit: a01392cc95a03e97d8dc19cc3b3484daf9a4f19e
https://github.com/llvm/llvm-project/commit/a01392cc95a03e97d8dc19cc3b3484daf9a4f19e
Author: Valery Pykhtin <valery.pykhtin at gmail.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M llvm/lib/Target/AMDGPU/SIAnnotateControlFlow.cpp
M llvm/test/CodeGen/AMDGPU/si-annotate-dbg-info.ll
Log Message:
-----------
[AMDGPU] Set debug info on CFG annotation instructions. (#73958)
This fixes incorrect source location in ASAN diagnostics for #72247.
Commit: db3d0e4dfa34e59fab90c0726a6722f82db48462
https://github.com/llvm/llvm-project/commit/db3d0e4dfa34e59fab90c0726a6722f82db48462
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/test/CXX/basic/basic.lookup/basic.lookup.argdep/p5-ex2.cpp
M clang/test/CXX/module/module.interface/p2.cpp
A clang/test/Modules/pr73893.cppm
M clang/test/Modules/submodules-merge-defs.cpp
Log Message:
-----------
[C++20] [Modules] Don't diagnose on invisible namesapce
Close https://github.com/llvm/llvm-project/issues/73893
As the issue shows, generally, the diagnose information for
invisible namespace is confusing more than helpful. Also this patch
implements the same solution as suggested in the issue: don't diagnose
on invisible namespace.
Commit: a3fe9cb24da302a40c53d187271e472a6432c4f1
https://github.com/llvm/llvm-project/commit/a3fe9cb24da302a40c53d187271e472a6432c4f1
Author: Samira Bazuzi <bazuzi at users.noreply.github.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/unittests/Analysis/FlowSensitive/DataflowEnvironmentTest.cpp
Log Message:
-----------
[clang][dataflow] Retrieve members from accessors called using member… (#73978)
… pointers.
getMethodDecl does not handle pointers to members and returns nullptr
for them. getMethodDecl contains a decade-plus-old FIXME to handle
pointers to members, but two approaches I looked at for fixing it are
more invasive or complex than simply swapping to getCalleeDecl.
The first, have getMethodDecl call getCalleeDecl, creates a large tree
of const-ness mismatches due to getMethodDecl returning a non-const
value while being a const member function and getCalleeDecl only being a
const member function when it returns a const value.
The second, implementing an AST walk to match how
CXXMemberCallExpr::getImplicitObjectArgument grabs the LHS of the binary
operator, is basically reimplementing Expr::getReferencedDeclOfCallee,
which is used by Expr::getCalleeDecl. We don't need another copy of that
code.
Commit: ea668144d9c6d93fbe2ea7827bd8e8cbaf4c50dd
https://github.com/llvm/llvm-project/commit/ea668144d9c6d93fbe2ea7827bd8e8cbaf4c50dd
Author: Nikita Popov <npopov at redhat.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M llvm/include/llvm/CodeGen/PseudoSourceValue.h
A llvm/include/llvm/CodeGen/PseudoSourceValueManager.h
M llvm/lib/CodeGen/MIRParser/MIParser.cpp
M llvm/lib/CodeGen/MachineFunction.cpp
M llvm/lib/CodeGen/MachineOperand.cpp
M llvm/lib/CodeGen/PseudoSourceValue.cpp
M llvm/lib/CodeGen/StackColoring.cpp
M llvm/lib/CodeGen/StackSlotColoring.cpp
M llvm/lib/Target/Mips/MipsMachineFunction.cpp
M llvm/tools/llvm-reduce/ReducerWorkItem.cpp
Log Message:
-----------
[CodeGen] Split off PseudoSourceValueManager into separate header (NFC) (#73327)
Most users of PseudoSourceValue.h only need PseudoSourceValue, not the
PseudoSourceValueManager. However, this header pulls in some very
expensive dependencies like ValueMap.h, which is only used for the
manager.
Split off the manager into a separate header and include it only where
used.
Commit: 16232927062ec56d41911b1538a7887a6ee023a1
https://github.com/llvm/llvm-project/commit/16232927062ec56d41911b1538a7887a6ee023a1
Author: Nikita Popov <npopov at redhat.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M llvm/test/Transforms/InstCombine/udiv-simplify.ll
Log Message:
-----------
[InstCombine] Add test for #74242 (NFC)
Commit: 10063c5a29b9dd5041ea7e0ab9569ed74ef54d32
https://github.com/llvm/llvm-project/commit/10063c5a29b9dd5041ea7e0ab9569ed74ef54d32
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M mlir/lib/Conversion/ArmSMEToSCF/ArmSMEToSCF.cpp
M mlir/lib/Conversion/VectorToArmSME/VectorToArmSME.cpp
M mlir/test/Conversion/ArmSMEToSCF/arm-sme-to-scf.mlir
M mlir/test/Dialect/ArmSME/vector-ops-to-sme.mlir
Log Message:
-----------
[mlir][ArmSME] Move vector.print -> ArmSME lowering to VectorToArmSME (#74063)
This moves the SME tile vector.print lowering from
`-convert-arm-sme-to-scf` to `-convert-vector-to-arm-sme`. This seems
like a more logical place, as this is lowering a vector op to ArmSME,
and it also prevents vector.print from blocking tile allocation.
Commit: c1140d49ec3363bf903e4c1dbf7a3f5e8c1b6523
https://github.com/llvm/llvm-project/commit/c1140d49ec3363bf903e4c1dbf7a3f5e8c1b6523
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.h
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-dyn-alloca.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
M llvm/test/CodeGen/AArch64/stack-probing-dynamic.ll
Log Message:
-----------
[AArch64] Stack probing for dynamic allocas in GlobalISel (#67123)
Co-authored-by: Oliver Stannard <oliver.stannard at linaro.org>
Commit: 9db642394dee768e8a4404978c0e5d3af07fed17
https://github.com/llvm/llvm-project/commit/9db642394dee768e8a4404978c0e5d3af07fed17
Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/test/CodeGenHIP/ballot.cpp
Log Message:
-----------
[clang][AMDGPU] fix the return type for ballot (#73906)
In the builtins declaration, "ULi" is a 32-bit integer on Windows. Use
"WUi" instead to ensure a 64-bit integer on all platforms.
Commit: 077fe9773632b955ad114eeeb4153c734a9f5172
https://github.com/llvm/llvm-project/commit/077fe9773632b955ad114eeeb4153c734a9f5172
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
Log Message:
-----------
[llvm-exegesis] Disable core dumps in subprocess (#74144)
Core dumps are currently enabled within the llvm-exegesis subprocess
executor. This can create a lot of core dumps when going through
different snippets that might segfault when experimenting with memory
annotations. These core dumps are not really needed as the information
about the segfault is reported directly to the user.
Commit: 8628ca29aa4714f99e865c99b9d510ad14897fdc
https://github.com/llvm/llvm-project/commit/8628ca29aa4714f99e865c99b9d510ad14897fdc
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M libc/src/string/memory_utils/utils.h
Log Message:
-----------
[libc] Fix UB in memory utils (#74295)
The [standard](https://eel.is/c++draft/expr.add#4.3) forbids forming
pointers to invalid objects even if the pointer is never read from or
written to. This patch makes sure that we don't do pointer arithmetic on
invalid pointers.
Co-authored-by: Vitaly Buka <vitalybuka at google.com>
Commit: f827b953ab3206294530685b8b821f1a60f3836c
https://github.com/llvm/llvm-project/commit/f827b953ab3206294530685b8b821f1a60f3836c
Author: wangpc <wangpengcheng.pp at bytedance.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M .mailmap
Log Message:
-----------
[mailmap] Add entry for myself
Commit: 8171eac23fe7756319444c2caa27216a1e9f046a
https://github.com/llvm/llvm-project/commit/8171eac23fe7756319444c2caa27216a1e9f046a
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M mlir/include/mlir/Dialect/Vector/Utils/VectorUtils.h
M mlir/lib/Dialect/Vector/Transforms/VectorTransferOpTransforms.cpp
M mlir/lib/Dialect/Vector/Utils/VectorUtils.cpp
M mlir/test/Dialect/Vector/vector-transfer-flatten.mlir
Log Message:
-----------
[mlir][Vector] Update patterns for flattening vector.xfer Ops (1/N) (#73522)
Updates "flatten vector" patterns to support more cases, namely Ops that
read/write vectors with leading unit dims. For example:
```mlir
%0 = vector.transfer_read %arg0[%c0, %c0, %c0, %c0] ... :
memref<5x4x3x2xi8, strided<[24, 6, 2, 1], offset: ?>>, vector<1x1x2x2xi8>
```
Currently, the `vector.transfer_read` above would not be flattened. With
this
change, it will be rewritten as follows:
```mlir
%collapse_shape = memref.collapse_shape %arg0 [[0, 1, 2, 3]] :
memref<5x4x3x2xi8, strided<[24, 6, 2, 1], offset: ?>>
into memref<120xi8, strided<[1], offset: ?>>
%0 = vector.transfer_read %collapse_shape[%c0] ... :
memref<120xi8, strided<[1], offset: ?>>, vector<4xi8>
%1 = vector.shape_cast %0 : vector<4xi8> to vector<1x1x2x2xi8>
```
`hasMatchingInnerContigousShape` is generalised and renamed as
`isContiguousSlice` to better match the updated functionality. A few
test names are updated to better highlight what case is being exercised.
Commit: 3b6d63c5193bf5e3ce04c71703fc5c681a62f094
https://github.com/llvm/llvm-project/commit/3b6d63c5193bf5e3ce04c71703fc5c681a62f094
Author: martinboehme <mboehme at google.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/unittests/Analysis/FlowSensitive/DataflowEnvironmentTest.cpp
Log Message:
-----------
Revert "[clang][dataflow] Retrieve members from accessors called using member…" (#74299)
Reverts llvm/llvm-project#73978
Commit: 5c672d87ea5e63bf5e218c871228b62358e1ba51
https://github.com/llvm/llvm-project/commit/5c672d87ea5e63bf5e218c871228b62358e1ba51
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M llvm/lib/Target/ARM/ARMISelLowering.cpp
Log Message:
-----------
Fix MSVC signed/unsigned mismatch warning. NFC.
Commit: 4275da2278b146189268b1040b749fa9f3a7bdcc
https://github.com/llvm/llvm-project/commit/4275da2278b146189268b1040b749fa9f3a7bdcc
Author: Nikita Popov <npopov at redhat.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/lib/Analysis/LazyValueInfo.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
Log Message:
-----------
[ValueTracking] Add isGuaranteedNotToBeUndef() variant (NFC)
We have a bunch of places where we have to guard against undef
to avoid multi-use issues, but would be fine with poison. Use a
different function for these to make it clear, and to indicate that
this check can be removed once we no longer support undef. I've
replaced some of the obvious cases, but there's probably more.
For now, the implementation is the same as UndefOrPoison, it just
has a more precise name.
Commit: 83e01ea1a559a7da0e8f41620a05f91c9ae542a2
https://github.com/llvm/llvm-project/commit/83e01ea1a559a7da0e8f41620a05f91c9ae542a2
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
Log Message:
-----------
Fix MSVC signed/unsigned mismatch warning. NFC.
Commit: 99fd62adff24724547f6ba7716cca2e37c640667
https://github.com/llvm/llvm-project/commit/99fd62adff24724547f6ba7716cca2e37c640667
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
A llvm/test/CodeGen/X86/nontemporal-4.ll
Log Message:
-----------
[X86] Add tests for constant nontemporal vector stores
Extends the zero-vector test coverage in nontemporal-3.ll
Commit: 853682cc19e26964383af9e834215fae5966b140
https://github.com/llvm/llvm-project/commit/853682cc19e26964383af9e834215fae5966b140
Author: Adrian Kuegel <akuegel at google.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
Log Message:
-----------
[mlir][LLVIR] Apply ClangTidy finding.
Remove unused using declaration.
Commit: 6d6baef5c9bf880a28c3b9861fc5c1f578b6635c
https://github.com/llvm/llvm-project/commit/6d6baef5c9bf880a28c3b9861fc5c1f578b6635c
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Basic/Targets/X86.cpp
M clang/lib/Basic/Targets/X86.h
M clang/lib/Driver/ToolChains/Arch/X86.cpp
M clang/test/Driver/x86-target-features.c
M clang/test/Preprocessor/x86_target_features.c
M llvm/docs/ReleaseNotes.rst
M llvm/include/llvm/TargetParser/X86TargetParser.def
M llvm/lib/Target/X86/X86.td
M llvm/lib/TargetParser/X86TargetParser.cpp
Log Message:
-----------
[X86] Support CFE flags for APX features (#74199)
Positive options: -mapx-features=<comma-separated-features>
Negative options: -mno-apx-features=<comma-separated-features>
-m[no-]apx-features is designed to be able to control separate APX
features.
Besides, we also support the flag -m[no-]apxf, which can be used like an
alias of -m[no-]apx-features=< all APX features covered by CPUID APX_F>
Behaviour when positive and negative options are used together:
For boolean flags, the last one wins
-mapxf -mno-apxf -> -mno-apxf
-mno-apxf -mapxf -> -mapxf
For flags that take a set as arguments, it sets the mask by order of the
flags
-mapx-features=egpr,ndd -mno-apx-features=egpr -> -egpr,+ndd
-mapx-features=egpr -mno-apx-features=egpr,ndd -> -egpr,-ndd
-mno-apx-features=egpr -mapx-features=egpr,ndd -> +egpr,+ndd
-mno-apx-features=egpr,ndd -mapx-features=egpr -> -ndd,+egpr
The design is aligned with gcc
https://gcc.gnu.org/pipermail/gcc-patches/2023-August/628905.html
Commit: 666a61972f65eb7441a0e81b3ad20780ed857eea
https://github.com/llvm/llvm-project/commit/666a61972f65eb7441a0e81b3ad20780ed857eea
Author: Kiran Kumar T P <50909805+kiranktp at users.noreply.github.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
M flang/test/Semantics/OpenMP/clause-validity01.f90
M flang/test/Semantics/OpenMP/copying.f90
M flang/test/Semantics/OpenMP/threadprivate04.f90
M llvm/include/llvm/Frontend/OpenMP/OMP.td
Log Message:
-----------
[Flang] Add semantic check for usage of COPYPRIVATE and NOWAIT clauses (#73486)
1. COPYPRIVATE clause should be specified on END SINGLE construct.
2. NOWAIT clause should be specified on END DO/DO SIMD/SINGLE/SECTIONS
construct.
Special handling for semantic checks for nowait/copyprivate clause is
needed in Fortran due to the fact that Openmp pragmas for C/C++ doesn't
have end directive (clause). nowait/copyprivate clauses are allowed in
begin directive clause lists for C/C++ and it is not allowed for
Fortran.
Commit: 40a61458f56ed2f2336d8536bf4a97badbe821d7
https://github.com/llvm/llvm-project/commit/40a61458f56ed2f2336d8536bf4a97badbe821d7
Author: Nikita Popov <npopov at redhat.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M llvm/test/Transforms/InstCombine/not.ll
Log Message:
-----------
[InstCombine] Add tests for #74302 (NFC)
Commit: d43c081aef505b0f1d5e887a365cd69e7f9f37b2
https://github.com/llvm/llvm-project/commit/d43c081aef505b0f1d5e887a365cd69e7f9f37b2
Author: Youngsuk Kim <joseph942010 at gmail.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
Log Message:
-----------
[clang][CGOpenMPRuntimeGPU] Merge consecutive AddrSpaceCasts (NFC) (#74279)
Merge consecutive AddrSpaceCasts into a single AddrSpaceCast.
Commit: f5868cb6a672e54b4697f27c202f9eac68ec37b0
https://github.com/llvm/llvm-project/commit/f5868cb6a672e54b4697f27c202f9eac68ec37b0
Author: Mirko Brkušanin <Mirko.Brkusanin at amd.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.h
M llvm/lib/Target/AMDGPU/MIMGInstructions.td
M llvm/lib/Target/AMDGPU/SIDefines.h
M llvm/lib/Target/AMDGPU/SIInstrFormats.td
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
A llvm/test/MC/AMDGPU/gfx12_asm_vimage.s
A llvm/test/MC/AMDGPU/gfx12_asm_vimage_alias.s
A llvm/test/MC/AMDGPU/gfx12_asm_vsample.s
A llvm/test/MC/AMDGPU/gfx12_err.s
M llvm/test/MC/Disassembler/AMDGPU/decode-err.txt
A llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vimage.txt
A llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vsample.txt
Log Message:
-----------
[AMDGPU][MC] Add GFX12 VIMAGE and VSAMPLE encodings (#74062)
Commit: f9afe4049a8829aa8dad64b0eb7dccc8dd4a8bbe
https://github.com/llvm/llvm-project/commit/f9afe4049a8829aa8dad64b0eb7dccc8dd4a8bbe
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M clang/test/CXX/drs/dr4xx.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[clang][NFC] Fill in historical data on when C++ DRs 400-499 were fixed
Commit: efec4cc50145ed32139c7f5268f22ec6e56f7696
https://github.com/llvm/llvm-project/commit/efec4cc50145ed32139c7f5268f22ec6e56f7696
Author: Florian Hahn <flo at fhahn.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-option.ll
Log Message:
-----------
[LV] Remove unused CHECK lines, remove IR references from test.
Clean up sve-tail-folding-option.ll by removing the unused
CHECK-TF-NEOVERSE-V1 prefix (note the use of non-opaque pointers) and
remove IR value references.
Commit: 2377f20ac6719472308220e692f3651fbbf766f4
https://github.com/llvm/llvm-project/commit/2377f20ac6719472308220e692f3651fbbf766f4
Author: Dinar Temirbulatov <Dinar.Temirbulatov at arm.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M clang/include/clang/Basic/arm_sve.td
A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_rshl.c
Log Message:
-----------
[AArch64][SME2] Add intrinsics & builtins for S/URSHL (single, multi) (#74066)
Patch by: Kerry McLaughlin <kerry.mclaughlin at arm.com>
Commit: 9a99a1a39e1d067abb9a6cc0d53e7708d6c49995
https://github.com/llvm/llvm-project/commit/9a99a1a39e1d067abb9a6cc0d53e7708d6c49995
Author: shaojingzhi <shaojingzhi98 at gmail.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
M llvm/test/Transforms/InstCombine/mul_fold.ll
M llvm/test/Transforms/InstCombine/mul_full_64.ll
Log Message:
-----------
[InstCombine] Add one-use limitation to box multiply fold (#72876)
Check the operands of I are used in no more than one place, which can
not be deleted, cause a mul instruction has far more weight than add and
shl instruction in IR, thus this method cannot achieve the goal of
simplifying instructions, just return null.
Commit: 3c012562844b5ba83904e78da6e9d6a1e3ff6b95
https://github.com/llvm/llvm-project/commit/3c012562844b5ba83904e78da6e9d6a1e3ff6b95
Author: Jay Foad <jay.foad at amd.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M llvm/test/CodeGen/AMDGPU/back-off-barrier-subtarget-feature.ll
Log Message:
-----------
[AMDGPU] Fix back off barrier checks
Commit: 0e1b3ed0aaf64f99d4fab0d43a73497ad0de2c81
https://github.com/llvm/llvm-project/commit/0e1b3ed0aaf64f99d4fab0d43a73497ad0de2c81
Author: Jay Foad <jay.foad at amd.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M llvm/test/CodeGen/AMDGPU/non-entry-alloca.ll
Log Message:
-----------
[AMDGPU] Tweak non-entry-alloc prefixes to simplify rerunning UTC
Commit: 110319f20bb837ba47220b11da104713566c1e7e
https://github.com/llvm/llvm-project/commit/110319f20bb837ba47220b11da104713566c1e7e
Author: Jay Foad <jay.foad at amd.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M llvm/test/CodeGen/AMDGPU/waitcnt-overflow.mir
M llvm/test/CodeGen/AMDGPU/waitcnt-preexisting-vscnt.mir
Log Message:
-----------
[AMDGPU] Regenerate some MIR checks
Commit: 99aa5311ee7a20df5054ed9fc2aeaa7d1226d372
https://github.com/llvm/llvm-project/commit/99aa5311ee7a20df5054ed9fc2aeaa7d1226d372
Author: Florian Hahn <flo at fhahn.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/test/Transforms/LoopVectorize/vplan-dot-printing.ll
M llvm/unittests/Transforms/Vectorize/VPlanHCFGTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
Log Message:
-----------
[VPlan] Add missing output of live-ins to VPlan dot printing.
Split off live-in printing to VPlan::printLiveIns and use it to print
Live-ins when printing in the DOT format.
Commit: 8a9bbac6629686bd1107cc0742b343a67d37a3c9
https://github.com/llvm/llvm-project/commit/8a9bbac6629686bd1107cc0742b343a67d37a3c9
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M llvm/include/llvm/CodeGen/CodeGenPassBuilder.h
M llvm/include/llvm/CodeGen/MachinePassRegistry.def
A llvm/include/llvm/CodeGen/WinEHPrepare.h
M llvm/lib/CodeGen/WinEHPrepare.cpp
M llvm/lib/IR/EHPersonalities.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/test/CodeGen/WinEH/wineh-asm.ll
M llvm/test/CodeGen/WinEH/wineh-cloning.ll
M llvm/test/CodeGen/WinEH/wineh-demotion.ll
M llvm/test/CodeGen/WinEH/wineh-no-demotion.ll
Log Message:
-----------
[CodeGen] Port WinEHPrepare to new pass manager (#74233)
Commit: be054fe49513642483ace02da836f76e6cbc8f10
https://github.com/llvm/llvm-project/commit/be054fe49513642483ace02da836f76e6cbc8f10
Author: agozillon <Andrew.Gozillon at amd.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M flang/lib/Lower/DirectivesCommon.h
M flang/test/Lower/OpenACC/acc-bounds.f90
M flang/test/Lower/OpenACC/acc-data-operands.f90
M flang/test/Lower/OpenACC/acc-enter-data.f90
M flang/test/Lower/OpenACC/acc-private.f90
M flang/test/Lower/OpenACC/acc-reduction.f90
M flang/test/Lower/OpenMP/FIR/array-bounds.f90
M flang/test/Lower/OpenMP/array-bounds.f90
Log Message:
-----------
[Flang][OpenACC][OpenMP] Always add extent to acc/omp.BoundsOp (#73790)
This patch changes the bounds generation code shared between OpenMP and OpenACC to always attach an extent to the bounds generation. This is
currently required for OpenMP descriptor lowering but may not
necessarily be required in the case of OpenACC.
Commit: c556c9c3792a322dfc3a9c60be9d7d32cf335235
https://github.com/llvm/llvm-project/commit/c556c9c3792a322dfc3a9c60be9d7d32cf335235
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M clang/test/CXX/drs/dr4xx.cpp
Log Message:
-----------
[clang][NFC] Refactor expected directives in C++ DRs 400-499 (#74311)
This patch continues the work started with ea5b1ef016d020c37f903d6c7d4f623be975dab8. See that commit and its corresponding PR for details.
Commit: dd376f859526d9023c879e880f380158050daa5b
https://github.com/llvm/llvm-project/commit/dd376f859526d9023c879e880f380158050daa5b
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M flang/lib/Lower/Bridge.cpp
Log Message:
-----------
[flang] Fix move-assign operator for struct IncrementLoopInfo (#74137)
Commit: 2b7191c8993b5608ddb8b89c049717b497265796
https://github.com/llvm/llvm-project/commit/2b7191c8993b5608ddb8b89c049717b497265796
Author: Ivan Kosarev <ivan.kosarev at amd.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
M llvm/test/CodeGen/AMDGPU/fadd.f16.ll
Log Message:
-----------
[AMDGPU][True16][GISel] Support v_add_f16 codegen. (#74122)
Commit: bc8cff1d7fb2069aa3f7333e25642f2571049af1
https://github.com/llvm/llvm-project/commit/bc8cff1d7fb2069aa3f7333e25642f2571049af1
Author: Nicolas van Kempen <nvankempen at meta.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M clang-tools-extra/clang-tidy/abseil/StringFindStartswithCheck.h
M clang-tools-extra/clang-tidy/modernize/CMakeLists.txt
M clang-tools-extra/clang-tidy/modernize/ModernizeTidyModule.cpp
A clang-tools-extra/clang-tidy/modernize/UseStartsEndsWithCheck.cpp
A clang-tools-extra/clang-tidy/modernize/UseStartsEndsWithCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/abseil/string-find-startswith.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
A clang-tools-extra/docs/clang-tidy/checks/modernize/use-starts-ends-with.rst
M clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/stddef.h
M clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/string
M clang-tools-extra/test/clang-tidy/checkers/abseil/string-find-startswith.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-starts-ends-with.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/container-size-empty.cpp
Log Message:
-----------
[clang-tidy] Add new modernize-use-starts-ends-with check (#72385)
Make a modernize version of abseil-string-find-startswith using the
available C++20 `std::string::starts_with` and
`std::string_view::starts_with`. Following up from
https://github.com/llvm/llvm-project/pull/72283.
Commit: 83abe5703f1d48b21c2f9a11758737588ef23d9c
https://github.com/llvm/llvm-project/commit/83abe5703f1d48b21c2f9a11758737588ef23d9c
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/modernize/BUILD.gn
Log Message:
-----------
[gn build] Port bc8cff1d7fb2
Commit: 8f40ef3479fb16b9b754a29e56bac91c6377e7b7
https://github.com/llvm/llvm-project/commit/8f40ef3479fb16b9b754a29e56bac91c6377e7b7
Author: Nikita Popov <npopov at redhat.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M llvm/test/Transforms/IndVarSimplify/backedge-on-min-max.ll
Log Message:
-----------
[IndVarSimplify] Regenerate test checks (NFC)
Commit: 6da578cec1395ee54f82b51f912fb85fdb6cdce3
https://github.com/llvm/llvm-project/commit/6da578cec1395ee54f82b51f912fb85fdb6cdce3
Author: Justin Wilson <justin.wilson at omibyte.io>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrs.h
M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/include/mlir/Target/LLVMIR/ModuleTranslation.h
M mlir/lib/Dialect/LLVMIR/IR/LLVMAttrs.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Target/LLVMIR/DebugImporter.cpp
M mlir/lib/Target/LLVMIR/DebugImporter.h
M mlir/lib/Target/LLVMIR/DebugTranslation.cpp
M mlir/lib/Target/LLVMIR/DebugTranslation.h
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
M mlir/test/Dialect/LLVMIR/debuginfo.mlir
M mlir/test/Dialect/LLVMIR/global.mlir
M mlir/test/Target/LLVMIR/Import/debug-info.ll
M mlir/test/Target/LLVMIR/Import/global-variables.ll
M mlir/test/Target/LLVMIR/llvmir-debug.mlir
Log Message:
-----------
[mlir] Add support for DIGlobalVariable and DIGlobalVariableExpression (#73367)
This PR introduces DIGlobalVariableAttr and
DIGlobalVariableExpressionAttr so that ModuleTranslation can emit the
required metadata needed for debug information about global variable.
The translator implementation for debug metadata needed to be refactored
in order to allow translation of nodes based on MDNode
(DIGlobalVariableExpressionAttr and DIExpression) in addition to
DINode-based nodes.
A DIGlobalVariableExpressionAttr can now be passed to the GlobalOp
operation directly and ModuleTranslation will create the respective
DIGlobalVariable and DIGlobalVariableExpression nodes. The compile unit
that DIGlobalVariable is expected to be configured with will be updated
with the created DIGlobalVariableExpression.
Commit: e0357e9ce390a8be6c4a9ea89977c8b8a30b5454
https://github.com/llvm/llvm-project/commit/e0357e9ce390a8be6c4a9ea89977c8b8a30b5454
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M llvm/lib/CodeGen/WinEHPrepare.cpp
Log Message:
-----------
[CodeGen] Remove redundant ID in WinEHPrepareImpl (#74322)
Fix ppc build bot
Commit: c4b795df8075b111fc14cb5409f7138c32313a9b
https://github.com/llvm/llvm-project/commit/c4b795df8075b111fc14cb5409f7138c32313a9b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M llvm/test/CodeGen/X86/combine-or.ll
Log Message:
-----------
[X86] Regenerate combine-or.ll
Commit: 4c198542226223f6a5c5511a1f89b37d15ee10b9
https://github.com/llvm/llvm-project/commit/4c198542226223f6a5c5511a1f89b37d15ee10b9
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M libcxx/.clang-format
M libcxx/docs/Contributing.rst
M libcxx/docs/DesignDocs/VisibilityMacros.rst
M libcxx/include/__algorithm/any_of.h
M libcxx/include/__algorithm/binary_search.h
M libcxx/include/__algorithm/comp_ref_type.h
M libcxx/include/__algorithm/copy.h
M libcxx/include/__algorithm/copy_if.h
M libcxx/include/__algorithm/copy_n.h
M libcxx/include/__algorithm/count_if.h
M libcxx/include/__algorithm/fill.h
M libcxx/include/__algorithm/fill_n.h
M libcxx/include/__algorithm/find.h
M libcxx/include/__algorithm/find_first_of.h
M libcxx/include/__algorithm/find_if.h
M libcxx/include/__algorithm/find_if_not.h
M libcxx/include/__algorithm/for_each_n.h
M libcxx/include/__algorithm/generate.h
M libcxx/include/__algorithm/generate_n.h
M libcxx/include/__algorithm/half_positive.h
M libcxx/include/__algorithm/inplace_merge.h
M libcxx/include/__algorithm/is_heap.h
M libcxx/include/__algorithm/is_sorted.h
M libcxx/include/__algorithm/iter_swap.h
M libcxx/include/__algorithm/lexicographical_compare.h
M libcxx/include/__algorithm/max.h
M libcxx/include/__algorithm/merge.h
M libcxx/include/__algorithm/min.h
M libcxx/include/__algorithm/minmax.h
M libcxx/include/__algorithm/mismatch.h
M libcxx/include/__algorithm/move_backward.h
M libcxx/include/__algorithm/next_permutation.h
M libcxx/include/__algorithm/none_of.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/remove_copy.h
M libcxx/include/__algorithm/remove_copy_if.h
M libcxx/include/__algorithm/replace.h
M libcxx/include/__algorithm/replace_copy.h
M libcxx/include/__algorithm/replace_copy_if.h
M libcxx/include/__algorithm/replace_if.h
M libcxx/include/__algorithm/reverse.h
M libcxx/include/__algorithm/reverse_copy.h
M libcxx/include/__algorithm/rotate.h
M libcxx/include/__algorithm/rotate_copy.h
M libcxx/include/__algorithm/sample.h
M libcxx/include/__algorithm/search.h
M libcxx/include/__algorithm/shift_left.h
M libcxx/include/__algorithm/shift_right.h
M libcxx/include/__algorithm/stable_partition.h
M libcxx/include/__algorithm/swap_ranges.h
M libcxx/include/__algorithm/transform.h
M libcxx/include/__bit/blsr.h
M libcxx/include/__bit/countl.h
M libcxx/include/__bit/popcount.h
M libcxx/include/__chrono/duration.h
M libcxx/include/__chrono/time_point.h
M libcxx/include/__config
M libcxx/include/__exception/nested_exception.h
M libcxx/include/__filesystem/copy_options.h
M libcxx/include/__filesystem/directory_entry.h
M libcxx/include/__filesystem/directory_options.h
M libcxx/include/__filesystem/file_status.h
M libcxx/include/__filesystem/operations.h
M libcxx/include/__filesystem/path.h
M libcxx/include/__filesystem/path_iterator.h
M libcxx/include/__filesystem/perm_options.h
M libcxx/include/__filesystem/perms.h
M libcxx/include/__filesystem/recursive_directory_iterator.h
M libcxx/include/__filesystem/u8path.h
M libcxx/include/__functional/binary_negate.h
M libcxx/include/__functional/bind.h
M libcxx/include/__functional/binder1st.h
M libcxx/include/__functional/binder2nd.h
M libcxx/include/__functional/default_searcher.h
M libcxx/include/__functional/function.h
M libcxx/include/__functional/mem_fn.h
M libcxx/include/__functional/mem_fun_ref.h
M libcxx/include/__functional/operations.h
M libcxx/include/__functional/pointer_to_binary_function.h
M libcxx/include/__functional/pointer_to_unary_function.h
M libcxx/include/__functional/reference_wrapper.h
M libcxx/include/__functional/unary_negate.h
M libcxx/include/__fwd/get.h
M libcxx/include/__hash_table
M libcxx/include/__iterator/access.h
M libcxx/include/__iterator/data.h
M libcxx/include/__iterator/distance.h
M libcxx/include/__iterator/empty.h
M libcxx/include/__iterator/front_insert_iterator.h
M libcxx/include/__iterator/insert_iterator.h
M libcxx/include/__iterator/istream_iterator.h
M libcxx/include/__iterator/istreambuf_iterator.h
M libcxx/include/__iterator/next.h
M libcxx/include/__iterator/ostream_iterator.h
M libcxx/include/__iterator/ostreambuf_iterator.h
M libcxx/include/__iterator/prev.h
M libcxx/include/__iterator/reverse_access.h
M libcxx/include/__iterator/reverse_iterator.h
M libcxx/include/__iterator/size.h
M libcxx/include/__locale
M libcxx/include/__locale_dir/locale_base_api/bsd_locale_fallbacks.h
M libcxx/include/__locale_dir/locale_base_api/locale_guard.h
M libcxx/include/__memory/addressof.h
M libcxx/include/__memory/allocator.h
M libcxx/include/__memory/allocator_arg_t.h
M libcxx/include/__memory/allocator_destructor.h
M libcxx/include/__memory/allocator_traits.h
M libcxx/include/__memory/auto_ptr.h
M libcxx/include/__memory/destruct_n.h
M libcxx/include/__memory/pointer_traits.h
M libcxx/include/__memory/raw_storage_iterator.h
M libcxx/include/__memory/shared_ptr.h
M libcxx/include/__memory/temporary_buffer.h
M libcxx/include/__memory/unique_ptr.h
M libcxx/include/__node_handle
M libcxx/include/__numeric/accumulate.h
M libcxx/include/__numeric/adjacent_difference.h
M libcxx/include/__numeric/exclusive_scan.h
M libcxx/include/__numeric/gcd_lcm.h
M libcxx/include/__numeric/inclusive_scan.h
M libcxx/include/__numeric/inner_product.h
M libcxx/include/__numeric/iota.h
M libcxx/include/__numeric/midpoint.h
M libcxx/include/__numeric/partial_sum.h
M libcxx/include/__numeric/reduce.h
M libcxx/include/__numeric/transform_exclusive_scan.h
M libcxx/include/__numeric/transform_inclusive_scan.h
M libcxx/include/__numeric/transform_reduce.h
M libcxx/include/__random/bernoulli_distribution.h
M libcxx/include/__random/binomial_distribution.h
M libcxx/include/__random/cauchy_distribution.h
M libcxx/include/__random/chi_squared_distribution.h
M libcxx/include/__random/clamp_to_integral.h
M libcxx/include/__random/discard_block_engine.h
M libcxx/include/__random/discrete_distribution.h
M libcxx/include/__random/exponential_distribution.h
M libcxx/include/__random/extreme_value_distribution.h
M libcxx/include/__random/fisher_f_distribution.h
M libcxx/include/__random/gamma_distribution.h
M libcxx/include/__random/geometric_distribution.h
M libcxx/include/__random/independent_bits_engine.h
M libcxx/include/__random/linear_congruential_engine.h
M libcxx/include/__random/lognormal_distribution.h
M libcxx/include/__random/mersenne_twister_engine.h
M libcxx/include/__random/negative_binomial_distribution.h
M libcxx/include/__random/normal_distribution.h
M libcxx/include/__random/piecewise_constant_distribution.h
M libcxx/include/__random/piecewise_linear_distribution.h
M libcxx/include/__random/poisson_distribution.h
M libcxx/include/__random/random_device.h
M libcxx/include/__random/seed_seq.h
M libcxx/include/__random/shuffle_order_engine.h
M libcxx/include/__random/student_t_distribution.h
M libcxx/include/__random/subtract_with_carry_engine.h
M libcxx/include/__random/uniform_real_distribution.h
M libcxx/include/__random/weibull_distribution.h
M libcxx/include/__string/char_traits.h
M libcxx/include/__thread/this_thread.h
M libcxx/include/__thread/thread.h
M libcxx/include/__thread/timed_backoff_policy.h
M libcxx/include/__threading_support
M libcxx/include/__tree
M libcxx/include/__type_traits/integral_constant.h
M libcxx/include/__type_traits/invoke.h
M libcxx/include/__type_traits/is_constant_evaluated.h
M libcxx/include/__type_traits/is_swappable.h
M libcxx/include/__utility/cmp.h
M libcxx/include/__utility/convert_to_integral.h
M libcxx/include/__utility/exchange.h
M libcxx/include/__utility/integer_sequence.h
M libcxx/include/__utility/rel_ops.h
M libcxx/include/__utility/swap.h
M libcxx/include/__utility/to_underlying.h
M libcxx/include/any
M libcxx/include/array
M libcxx/include/barrier
M libcxx/include/bitset
M libcxx/include/cmath
M libcxx/include/codecvt
M libcxx/include/complex
M libcxx/include/condition_variable
M libcxx/include/experimental/__memory
M libcxx/include/experimental/propagate_const
M libcxx/include/ext/__hash
M libcxx/include/ext/hash_map
M libcxx/include/ext/hash_set
M libcxx/include/forward_list
M libcxx/include/fstream
M libcxx/include/future
M libcxx/include/initializer_list
M libcxx/include/iomanip
M libcxx/include/ios
M libcxx/include/iosfwd
M libcxx/include/istream
M libcxx/include/latch
M libcxx/include/limits
M libcxx/include/list
M libcxx/include/locale
M libcxx/include/map
M libcxx/include/mutex
M libcxx/include/new
M libcxx/include/optional
M libcxx/include/ostream
M libcxx/include/queue
M libcxx/include/regex
M libcxx/include/scoped_allocator
M libcxx/include/semaphore
M libcxx/include/set
M libcxx/include/span
M libcxx/include/sstream
M libcxx/include/stack
M libcxx/include/stdexcept
M libcxx/include/stdlib.h
M libcxx/include/streambuf
M libcxx/include/string_view
M libcxx/include/strstream
M libcxx/include/tuple
M libcxx/include/typeindex
M libcxx/include/typeinfo
M libcxx/include/unordered_map
M libcxx/include/unordered_set
M libcxx/include/valarray
M libcxx/include/variant
M libcxx/include/wchar.h
M libcxx/src/condition_variable_destructor.cpp
M libcxx/src/hash.cpp
M libcxx/src/include/atomic_support.h
M libcxx/src/include/sso_allocator.h
M libcxx/src/mutex_destructor.cpp
M libcxx/src/support/win32/thread_win32.cpp
M libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/noncopyable_return_type.pass.cpp
Log Message:
-----------
[libc++] Rename _LIBCPP_INLINE_VISIBILITY to _LIBCPP_HIDE_FROM_ABI (#74095)
In preparation for running clang-format on the whole code base, we are
also removing mentions of the legacy _LIBCPP_INLINE_VISIBILITY macro in
favor of the newer _LIBCPP_HIDE_FROM_ABI.
We're still leaving the definition of _LIBCPP_INLINE_VISIBILITY to avoid
creating needless breakage in case some older patches are checked-in
with mentions of the old macro. After we branch for LLVM 18, we can do
another pass to clean up remaining uses of the macro that might have
gotten introduced by mistake (if any) and remove the macro itself at the
same time. This is just a minor convenience to smooth out the transition
as much as possible.
See
https://discourse.llvm.org/t/rfc-clang-formatting-all-of-libc-once-and-for-all
for the clang-format proposal.
Commit: c274eea297417fff223fc6aaf9aa578ce4e5696a
https://github.com/llvm/llvm-project/commit/c274eea297417fff223fc6aaf9aa578ce4e5696a
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M .git-blame-ignore-revs
Log Message:
-----------
[git] Add _LIBCPP_INLINE_VISIBILITY renaming to .git-blame-ignore-revs file
Commit: 374e8288e047da640090629879072e4fa3af31fe
https://github.com/llvm/llvm-project/commit/374e8288e047da640090629879072e4fa3af31fe
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M clang/lib/Driver/ToolChains/Flang.cpp
M flang/include/flang/Tools/CLOptions.inc
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/test/Driver/falias-analysis.f90
M flang/test/Driver/mlir-pass-pipeline.f90
M flang/test/Driver/optimization-remark.f90
M flang/test/Fir/basic-program.fir
M flang/tools/tco/tco.cpp
Log Message:
-----------
[flang] (Re-)Enable alias tags pass by default (#74250)
Enable by default for optimization levels higher than 0 (same behavior
as clang).
For simplicity, only forward the flag to the frontend driver when it
contradicts what is implied by the optimization level.
This was first landed in
https://github.com/llvm/llvm-project/pull/73111 but was later reverted
due to a performance regression. That regression was fixed by
https://github.com/llvm/llvm-project/pull/74065.
Commit: e309667769c8f7d6f5616c226ee43a19dcee8bf3
https://github.com/llvm/llvm-project/commit/e309667769c8f7d6f5616c226ee43a19dcee8bf3
Author: Nikita Popov <npopov at redhat.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M llvm/lib/IR/AutoUpgrade.cpp
Log Message:
-----------
[AutoUpgrade] Simplify vclz upgrade (NFC)
We can use Intrinsic::getDeclaration() here, we just have to pass
the correct arguments. This function accepts only the mangled types,
not all argument types.
Commit: cd4348349a9dae6d61a3f7db0cb8d2ba2c0ad1c3
https://github.com/llvm/llvm-project/commit/cd4348349a9dae6d61a3f7db0cb8d2ba2c0ad1c3
Author: Florian Hahn <flo at fhahn.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/deterministic-type-shrinkage.ll
Log Message:
-----------
[VPlan] Sink cases where no truncate is needed in truncateMinimalBWs.
MinBWs contains entries that specify the minimum required bitwidth. In
some cases, the old and new bitwidths can be equal (see test case) and
in those cases no truncations are needed, so skip those cases.
Fixes #74307.
Commit: 0c568c2535848d1596a612c15248f299ec8c42be
https://github.com/llvm/llvm-project/commit/0c568c2535848d1596a612c15248f299ec8c42be
Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M llvm/test/CodeGen/SystemZ/vec-intrinsics-01.ll
M llvm/test/CodeGen/SystemZ/vec-intrinsics-02.ll
M llvm/test/CodeGen/SystemZ/vec-intrinsics-03.ll
M llvm/test/CodeGen/SystemZ/vec-intrinsics-04.ll
Log Message:
-----------
[SystemZ] Auto-generate vec-intrinsics tests
Commit: 3a03da37a3c1e146ce7af1a1bbf8a2d3a0bf53df
https://github.com/llvm/llvm-project/commit/3a03da37a3c1e146ce7af1a1bbf8a2d3a0bf53df
Author: Guray Ozen <guray.ozen at gmail.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M mlir/lib/Conversion/NVGPUToNVVM/NVGPUToNVVM.cpp
M mlir/lib/Dialect/NVGPU/TransformOps/NVGPUTransformOps.cpp
M mlir/test/Conversion/NVGPUToNVVM/nvgpu-to-nvvm.mlir
Log Message:
-----------
[mlir][nvgpu] Add address space attribute converter in nvgpu-to-nvvm pass (#74075)
GPU dialect has `#gpu.address_space<workgroup>` for shared memory of
NVGPU (address space =3). Howeverm when IR combine NVGPU and GPU
dialect, `nvgpu-to-nvvm` pass fails due to missing attribute conversion.
This PR adds `populateGpuMemorySpaceAttributeConversions` to
nvgou-to-nvvm lowering, so we can use `#gpu.address_space<workgroup>`
`nvgpu-to-nvvm` pass
Commit: 80ff67be8118d443f27595f6959d0468dfcf8ad7
https://github.com/llvm/llvm-project/commit/80ff67be8118d443f27595f6959d0468dfcf8ad7
Author: Guray Ozen <guray.ozen at gmail.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
M mlir/test/Conversion/NVVMToLLVM/invalid.mlir
M mlir/test/Conversion/NVVMToLLVM/nvvm-to-llvm.mlir
Log Message:
-----------
[mlir][nvvm] Introduce `nvvm.fence.proxy` (#74057)
This PR introduce `nvvm.fence.proxy` OP for the following cases:
```
nvvm.fence.proxy { kind = #nvvm.proxy_kind<alias>}
nvvm.fence.proxy { kind = #nvvm.proxy_kind<async>}
nvvm.fence.proxy { kind = #nvvm.proxy_kind<async.global>}
nvvm.fence.proxy { kind = #nvvm.proxy_kind<async.shared>, space = #nvvm.shared_space<cta>}
nvvm.fence.proxy { kind = #nvvm.proxy_kind<async.shared>, space = #nvvm.shared_space<cluster>}
```
Commit: c61eb440059d6e9c18e6f8404e06bf125aa942c9
https://github.com/llvm/llvm-project/commit/c61eb440059d6e9c18e6f8404e06bf125aa942c9
Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M clang/include/clang/Basic/BuiltinsSystemZ.def
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Headers/vecintrin.h
M clang/test/CodeGen/SystemZ/builtins-systemz-vector.c
M clang/test/CodeGen/SystemZ/builtins-systemz-zvector.c
M llvm/include/llvm/IR/IntrinsicsSystemZ.td
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.h
M llvm/lib/Target/SystemZ/SystemZInstrVector.td
M llvm/lib/Target/SystemZ/SystemZOperators.td
M llvm/test/CodeGen/SystemZ/vec-intrinsics-01.ll
A llvm/test/CodeGen/SystemZ/vec-rot-01.ll
A llvm/test/CodeGen/SystemZ/vec-rot-02.ll
Log Message:
-----------
[SystemZ] Implement vector rotate in terms of funnel shift
Clang currently implements a set of vector rotate builtins
(__builtin_s390_verll*) in terms of platform-specific LLVM
intrinsics. To simplify the IR (and allow for common code
optimizations if applicable), this patch removes those LLVM
intrinsics and implements the builtins in terms of the
platform-independent funnel shift intrinsics instead.
Also, fix the prototype of the __builtin_s390_verll*
builtins for full compatibility with GCC.
Commit: dca432cb7b1c282f5dc861095813c4f40f109619
https://github.com/llvm/llvm-project/commit/dca432cb7b1c282f5dc861095813c4f40f109619
Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M clang/include/clang/Basic/BuiltinsSystemZ.def
M clang/lib/Headers/vecintrin.h
M clang/test/CodeGen/SystemZ/builtins-systemz-vector2.c
M llvm/include/llvm/IR/IntrinsicsSystemZ.td
Log Message:
-----------
[SystemZ] Fix naming of vlrlr/vstrlr builtins
The builtins that expand to the vlrl/vlrlr and vstrl/vstrlr
instructions are currently named inconsistently between GCC
and clang. Rename the clang versions to match GCC.
Commit: 9d27139293890a18b903c62f2c43954cc2bc302d
https://github.com/llvm/llvm-project/commit/9d27139293890a18b903c62f2c43954cc2bc302d
Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M clang/include/clang/Basic/BuiltinsSystemZ.def
M clang/lib/Headers/vecintrin.h
M clang/test/CodeGen/SystemZ/builtins-systemz-vector.c
Log Message:
-----------
[SystemZ] Fix __builtin_s390_vceq* inconsistency
The __builtin_s390_vceq* family of builtins currently take
signed arguments with clang, but unsigned with GCC. Update
clang to match existing GCC precendent.
Commit: 901e484fdaba2be4eacbaee4fc9e05df8d5b783b
https://github.com/llvm/llvm-project/commit/901e484fdaba2be4eacbaee4fc9e05df8d5b783b
Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZInstPrinter.cpp
M llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
M llvm/test/MC/Disassembler/SystemZ/insns-z13.txt
M llvm/test/MC/SystemZ/fixups.s
M llvm/test/MC/SystemZ/insn-good-z13.s
M llvm/test/MC/SystemZ/insn-good.s
Log Message:
-----------
[SystemZ] Handle index-only addresses in (dis)assembler
Most addresses in SystemZ instructions take two registers,
an index register and a base register. However, either of
those can be omitted. If there is just a single register,
this usually is taken as the base register - however, there
are certain rare cases where you specifically want to use
an index register but no base register. This is currently
not handled consistently by the assembler / disassembler.
Fix this by
- always emitting a dummy 0 as base register for index-
only addresses
- correctly handle dummy 0 as indicating no base register
when parsing an address
This is compatible with current GNU binutils behavior.
Commit: 47a40e80c553b07a08f0f17fd68c12ae9b9a2a67
https://github.com/llvm/llvm-project/commit/47a40e80c553b07a08f0f17fd68c12ae9b9a2a67
Author: Da-Viper <57949090+Da-Viper at users.noreply.github.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M clang-tools-extra/docs/clang-tidy/checks/readability/named-parameter.rst
Log Message:
-----------
Fix #41439: Update the documentation with the correct information. (#69377)
Fixes #41439
The documentation is update to say it is allowed to have omitted
parameter names if the variable is not used
Commit: ec000a65553bac55a1f4b8b21c365d48dc6a540a
https://github.com/llvm/llvm-project/commit/ec000a65553bac55a1f4b8b21c365d48dc6a540a
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M llvm/lib/CodeGen/TargetInstrInfo.cpp
Log Message:
-----------
[TargetInstrInfo] update INLINEASM memoperands once (#74135)
In commit b05335989239 ("[X86InstrInfo] support memfold on spillable
inline asm
(#70832)"), I had a last minute fix to update the memoperands. I
originally
did this in the parent foldInlineAsmMemOperand call, updated the mir
test via
update_mir_test_checks.py, but then decided to move it to the child call
of
foldInlineAsmMemOperand.
But I forgot to rerun update_mir_test_checks.py. That last minute change
caused
the same memoperand to be added twice when recursion occurred (for tied
operands). I happened to get lucky that trailing content omitted from
the
CHECK line doesn't result in test failure.
But rerunning update_mir_test_checks.py on the mir test added in that
commit
produces updated output. This is resulting in updates to the test that:
1. conflate additions to the test in child commits with simply updating
the
test as it should have been when first committed.
2. look wrong because the same memoperand is specified twice (we don't
deduplicate memoperands when added). Example:
INLINEASM ... :: (load (s32) from %stack.0) (load (s32) from %stack.0)
Fix the bug, so that in child commits, we don't have additional
unrelated test
changes (which would be wrong anyways) from simply running
update_mir_test_checks.py.
Link: #20571
Commit: e3a97dffee93f03e12b5911869f9a443c39821bc
https://github.com/llvm/llvm-project/commit/e3a97dffee93f03e12b5911869f9a443c39821bc
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M clang/lib/Frontend/CompilerInvocation.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.cpp
M llvm/lib/Target/ARM/ARMMachineFunctionInfo.cpp
A llvm/test/Verifier/branch-prot-attrs.ll
Log Message:
-----------
[Verifier] Check function attributes related to branch protection (NFC) (#70565)
Commit: 67f387c67e2a1bfa9432cff372462e204e0952bc
https://github.com/llvm/llvm-project/commit/67f387c67e2a1bfa9432cff372462e204e0952bc
Author: DonatNagyE <donat.nagy at ericsson.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ConstraintManager.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h
M clang/lib/StaticAnalyzer/Checkers/BitwiseShiftChecker.cpp
M clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp
M clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp
M clang/test/Analysis/bitwise-shift-common.c
Log Message:
-----------
[analyzer] Let the checkers query upper and lower bounds on symbols (#74141)
This commit extends the class `SValBuilder` with the methods
`getMinValue()` and `getMaxValue()` to that work like
`SValBuilder::getKnownValue()` but return the minimal/maximal possible
value the `SVal` is not perfectly constrained.
This extension of the ConstraintManager API is discussed at:
https://discourse.llvm.org/t/expose-the-inferred-range-information-in-warning-messages/75192
As a simple proof-of-concept application of this new API, this commit
extends a message from `core.BitwiseShift` with some range information
that reports the assumptions of the analyzer.
My main motivation for adding these methods is that I'll also want to
use them in `ArrayBoundCheckerV2` to make the error messages less
awkward, but I'm starting with this simpler and less important usecase
because I want to avoid merge conflicts with my other commit
https://github.com/llvm/llvm-project/pull/72107 which is currently under
review.
The testcase `too_large_right_operand_compound()` shows a situation
where querying the range information does not work (and the extra
information is not added to the error message). This also affects the
debug utility `clang_analyzer_value()`, so the problem isn't in the
fresh code. I'll do some investigations to resolve this, but I think
that this commit is a step forward even with this limitation.
Commit: 8ac84a9555bc25ed9a53ea6a5a09432e18ee9042
https://github.com/llvm/llvm-project/commit/8ac84a9555bc25ed9a53ea6a5a09432e18ee9042
Author: Thomas Schenker <thomas.schenker at protonmail.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M clang-tools-extra/clang-tidy/readability/ContainerContainsCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/readability/container-contains.cpp
Log Message:
-----------
[clang-tidy] readability-container-contains literal suffixes (#74215)
Before this PR, readability-container-contains fix-its did not handle
integer literal suffixes correctly. It e.g. changed
```
MyMap.count(2) != 0U;
```
into
```
MyMap.contains(2)U;
```
With this PR, it correctly changes it to
```
MyMap.contains(2);
```
Commit: 86accd4e039ca60882caceab48701df4731a266c
https://github.com/llvm/llvm-project/commit/86accd4e039ca60882caceab48701df4731a266c
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrs.h
Log Message:
-----------
Remove unused includes. NFC.
Commit: b935f1a7edccd9f7c1b6342be80e48693af0ce11
https://github.com/llvm/llvm-project/commit/b935f1a7edccd9f7c1b6342be80e48693af0ce11
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Add missing dependency for 3a03da37a3c1e146ce7af1a1bbf8a2d3a0bf53df
Commit: 74e59e7752ac80607d817308a63d0574a6e8cbe1
https://github.com/llvm/llvm-project/commit/74e59e7752ac80607d817308a63d0574a6e8cbe1
Author: Brad Smith <brad at comstyle.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M flang/lib/Evaluate/variable.cpp
M flang/lib/Semantics/symbol.cpp
Log Message:
-----------
[flang] Remove GCC 7.2 workarounds (#73574)
The minimum GCC version was bumped from 7.1 to 7.4 so garbage collect
the 7.2 workarounds.
https://reviews.llvm.org/D156286
Commit: bbd2b08b95fe76bea138c1b03c1cd42ed3ee04df
https://github.com/llvm/llvm-project/commit/bbd2b08b95fe76bea138c1b03c1cd42ed3ee04df
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M mlir/include/mlir/Dialect/Vector/Transforms/VectorTransforms.h
M mlir/lib/Dialect/Vector/Transforms/LowerVectorTranspose.cpp
Log Message:
-----------
[mlir][vector] Make `TransposeOpLowering` configurable (#73915)
Following the discussion here:
* https://github.com/llvm/llvm-project/pull/72105
this patch makes the `TransposeOpLowering` configurable so that one can select
whether to favour `vector.shape_cast` over `vector.transpose`.
As per the discussion in #72105, using `vector.shape_cast` is very beneficial
and desirable when targeting `LLVM IR` (CPU lowering), but won't work when
targeting `SPIR-V` today (GPU lowering). Hence the need for a mechanism to be
able to disable/enable the pattern introduced in #72105. This patch proposes one
such mechanism.
While this should solve the problem that we are facing today, it's understood to
be a temporary workaround. It should be removed once support for lowering
`vector.shape_cast` to SPIR-V is added. Also, (once implemented) the following
proposal might make this workaround redundant:
* https://discourse.llvm.org/t/improving-handling-of-unit-dimensions-in-the-vector-dialect/
Commit: 01e40a8a3d40d7595d2cd95363c27d84b31e5cd2
https://github.com/llvm/llvm-project/commit/01e40a8a3d40d7595d2cd95363c27d84b31e5cd2
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M mlir/include/mlir/Conversion/ArmSMEToLLVM/ArmSMEToLLVM.h
M mlir/include/mlir/Dialect/ArmSME/Transforms/Passes.h
M mlir/lib/Conversion/ArmSMEToLLVM/ArmSMEToLLVM.cpp
R mlir/lib/Dialect/ArmSME/Transforms/ArmSMETypeConverter.cpp
M mlir/lib/Dialect/ArmSME/Transforms/CMakeLists.txt
A mlir/unittests/Dialect/ArmSME/CMakeLists.txt
A mlir/unittests/Dialect/ArmSME/TileTypeConversionTest.cpp
M mlir/unittests/Dialect/CMakeLists.txt
Log Message:
-----------
[mlir][ArmSME] Remove ArmSMETypeConverter (and configure LLVM one instead) (#73639)
This patch removes the ArmSMETypeConverter, and instead updates
`populateArmSMEToLLVMConversionPatterns()` to add an ArmSME vector type
conversion to the existing LLVMTypeConverter. This makes it easier to
add these patterns to an existing `-to-llvm` lowering pass.
Commit: dff2f59be39765c8d6814c9a06155f76a5393673
https://github.com/llvm/llvm-project/commit/dff2f59be39765c8d6814c9a06155f76a5393673
Author: Boian Petkantchin <boian at nod-labs.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M mlir/docs/Dialects/Mesh.md
M mlir/include/mlir/Dialect/Mesh/IR/MeshOps.td
M mlir/lib/Dialect/Mesh/IR/MeshOps.cpp
Log Message:
-----------
[mlir][mesh] Add TableGen deffinitions of more collective ops (#73842)
Add definitions for
broadcast, gather, receive, reduce, scatter, send and shift.
Commit: f368e6424fbfb7fdea4b9d9a2e44f2f7e188c133
https://github.com/llvm/llvm-project/commit/f368e6424fbfb7fdea4b9d9a2e44f2f7e188c133
Author: Natalie Chouinard <sudonatalie at google.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M llvm/test/CMakeLists.txt
A llvm/test/CodeGen/SPIRV/OpVariable_order.ll
M llvm/test/CodeGen/SPIRV/basic_int_types.ll
A llvm/test/CodeGen/SPIRV/basic_int_types_spirvdis.ll
M llvm/test/CodeGen/SPIRV/lit.local.cfg
M llvm/test/lit.site.cfg.py.in
A llvm/tools/spirv-tools/CMakeLists.txt
Log Message:
-----------
[SPIR-V] Add SPIRV-Tools for testing (#73044)
Add spirv-dis (disassembler) and spirv-val (validator) from SPIRV-Tools
as external dependencies for testing the SPIR-V backend. These tools are
test dependencies only.
SPIR-V backend tests now have a dependency on the spirv-dis and
spirv-val targets when the `LLVM_INCLUDE_SPIRV_TOOLS_TESTS` cmake
variable is set, which allows additional test files with the `REQUIRES:
spirv-tools` constraint to run, along with additional `RUN: %if
spirv-tools ...` lines in existing tests. All other SPIR-V backend tests
will run normally when `LLVM_INCLUDE_SPIRV_TOOLS_TESTS` is not set.
Several tests are included to show these tools' use, however more tests
will be migrated and added later.
* OpVariable_order.ll shows how spirv-val can catch bugs in the backend.
* basic_int_types_spirvdis.ll shows how tests can be much shorter and
more readable by FileChecking the spirv-dis output.
* basic_int_types.ll shows how an additional RUN line can add validation
to existing tests.
RFC:
https://discourse.llvm.org/t/rfc-add-a-test-dependency-on-spirv-tools/75135
Commit: 3aba9264b38c1aa3a991065305c0a04988432692
https://github.com/llvm/llvm-project/commit/3aba9264b38c1aa3a991065305c0a04988432692
Author: vdonaldson <37090318+vdonaldson at users.noreply.github.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M flang/include/flang/Lower/ConvertVariable.h
M flang/include/flang/Lower/PFTBuilder.h
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Builder/LowLevelIntrinsics.h
A flang/include/flang/Optimizer/Builder/Runtime/Exceptions.h
A flang/include/flang/Runtime/exceptions.h
R flang/include/flang/Runtime/ieee_arithmetic.h
M flang/include/flang/Runtime/magic-numbers.h
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Lower/PFTBuilder.cpp
M flang/lib/Optimizer/Builder/CMakeLists.txt
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/LowLevelIntrinsics.cpp
A flang/lib/Optimizer/Builder/Runtime/Exceptions.cpp
M flang/module/__cuda_builtins.f90
M flang/module/__fortran_builtins.f90
M flang/module/__fortran_ieee_exceptions.f90
M flang/module/__fortran_type_info.f90
M flang/module/ieee_arithmetic.f90
M flang/module/ieee_exceptions.f90
M flang/module/iso_c_binding.f90
M flang/module/iso_fortran_env.f90
M flang/runtime/CMakeLists.txt
A flang/runtime/exceptions.cpp
A flang/test/Lower/Intrinsics/ieee_compare.f90
A flang/test/Lower/Intrinsics/ieee_femodes.f90
A flang/test/Lower/Intrinsics/ieee_festatus.f90
A flang/test/Lower/Intrinsics/ieee_flag.f90
A flang/test/Lower/Intrinsics/ieee_logb.f90
A flang/test/Lower/Intrinsics/ieee_max_min.f90
M flang/test/Lower/Intrinsics/ieee_unordered.f90
Log Message:
-----------
[flang] IEEE_ARITHMETIC and IEEE_EXCEPTIONS intrinsic module procedures (#74138)
Implement a selection of intrinsic module procedures that involve
exceptions.
- IEEE_GET_FLAG
- IEEE_GET_HALTING_MODE
- IEEE_GET_MODES
- IEEE_GET_STATUS
- IEEE_LOGB
- [f23] IEEE_MAX, IEEE_MAX_MAG, IEEE_MAX_NUM, IEEE_MAX_NUM_MAG
- [f23] IEEE_MIN, IEEE_MIN_MAG, IEEE_MIN_NUM, IEEE_MIN_NUM_MAG
- IEEE_QUIET_EQ, IEEE_QUIET_GE, IEEE_QUIET_GT,
- IEEE_QUIET_LE, IEEE_QUIET_LT, IEEE_QUIET_NE
- IEEE_SET_FLAG
- IEEE_SET_HALTING_MODE
- IEEE_SET_MODES
- IEEE_SET_STATUS
- IEEE_SIGNALING_EQ, IEEE_SIGNALING_GE, IEEE_SIGNALING_GT,
- IEEE_SIGNALING_LE, IEEE_SIGNALING_LT, IEEE_SIGNALING_NE
- IEEE_SUPPORT_FLAG
- IEEE_SUPPORT_HALTING
Commit: f81eb7daf44b07f5b8d3a3ce490233cd6ad37617
https://github.com/llvm/llvm-project/commit/f81eb7daf44b07f5b8d3a3ce490233cd6ad37617
Author: Durga <r.durgadoss at gmail.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/test/Conversion/NVVMToLLVM/nvvm-to-llvm.mlir
M mlir/test/Target/LLVMIR/nvvmir.mlir
Log Message:
-----------
[MLIR][NVVM]: Add cp.async.mbarrier.arrive Op (#74241)
Add:
* an Op for 'cp.async.mbarrier.arrive', targeting the
nvvm_cp_async_mbarrier_arrive* family of intrinsics.
* The 'noinc' intrinsic property is modelled as a default-valued-attr of
type I1.
* Test cases are added to verify the Op as well as the intrinsic
lowering.
Signed-off-by: Durgadoss R <durgadossr at nvidia.com>
Commit: 78580715240e2744b2ba7995b532369a27bc76ac
https://github.com/llvm/llvm-project/commit/78580715240e2744b2ba7995b532369a27bc76ac
Author: Tobias Gysi <tobias.gysi at nextsilicon.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M mlir/lib/Dialect/LLVMIR/IR/LLVMAttrs.cpp
Log Message:
-----------
[mlir][llvm] Fix attribute printer warning (NFC)(#74351)
This commit fixes a compilation warning caused by the printExpressionArg
function that previously returned LogicalResult instead of void.
The warning has been introduced by #73367.
Commit: 503dbe75a042af2af35b90d23153752c66dcbf25
https://github.com/llvm/llvm-project/commit/503dbe75a042af2af35b90d23153752c66dcbf25
Author: Kamau Bridgeman <kamau.bridgeman.ibm at gmail.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.conversion.pass.cpp
M libcxx/test/std/experimental/simd/simd.class/simd_ctor_broadcast.pass.cpp
M libcxx/test/std/experimental/simd/simd.class/simd_ctor_conversion.pass.cpp
M libcxx/test/std/experimental/simd/simd.class/simd_ctor_generator.pass.cpp
M libcxx/test/std/experimental/simd/simd.class/simd_subscr.pass.cpp
M libcxx/test/std/experimental/simd/simd.reference/reference_assignment.pass.cpp
M libcxx/test/std/experimental/simd/simd.reference/reference_value_type.pass.cpp
Log Message:
-----------
XFailing test cases that fail on PowerPC
These test cases fail when the libcxx and libcxxabi runtimes are
built on Linux PowerPC. XFailing them until the issue is resolved.
Commit: 7a86cc6c4ca11e37d5985d4fc902658ab6ad0e22
https://github.com/llvm/llvm-project/commit/7a86cc6c4ca11e37d5985d4fc902658ab6ad0e22
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M lldb/source/Interpreter/OptionArgParser.cpp
Log Message:
-----------
[lldb][NFC] Remove unnecessary std::string temporaries
The existing code was taking three substrings from a regex match and converting
to std::strings prior to using them. This may have been done to address
null-termination concerns, but this is not the case:
1. `name` was being used to call `c_str()` and then implicitly converted back to
a `StringRef` on the call to `ToAddress`. While the path `const char *` ->
`StringRef` requires null-termination, we can simply use the original StringRef.
2. `str_offset` was being converted back to a StringRef in order to call a
member method. Member methods can't handle non-null termination.
3. `sign` simply had it's 0-th element accessed.
Commit: 3e98a285138a517fd918ec0ac8397dc56330d8e7
https://github.com/llvm/llvm-project/commit/3e98a285138a517fd918ec0ac8397dc56330d8e7
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M lldb/source/Interpreter/OptionArgParser.cpp
Log Message:
-----------
[lldb][NFC] Remove else after return in OptionArgParse
This will enable us to prove that there is unreachable code in this function in
a subsequent commit.
Commit: d24d7edaef9517edd9eb2ab26b02969e201bbcad
https://github.com/llvm/llvm-project/commit/d24d7edaef9517edd9eb2ab26b02969e201bbcad
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M lldb/source/Interpreter/OptionArgParser.cpp
Log Message:
-----------
[lldb][NFC] Delete unreachable code and dead variable in OptionArgParser
With the combination of an early return and removing an else-after-return, it
becomes evident that there is unreachable code in the function being changed.
Commit: c146c3b7471af576103971354f0d4c7b78f11495
https://github.com/llvm/llvm-project/commit/c146c3b7471af576103971354f0d4c7b78f11495
Author: Andres Villegas <andresvi at google.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer.h
M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_libcdep.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup.h
M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup_constants.h
M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup_fuchsia.cpp
A compiler-rt/test/sanitizer_common/TestCases/print-stack-trace-markup.cpp
Log Message:
-----------
[sanitizer_symbolizer] RenderContextual elements for symbolizer markup.
This is part of a stack of PRs to add support for symbolizer
markup in linux.
Render contextual symbolizer markup elements. For Fuchsia it is not
necessary to emit any context given that Fuchsia's logging
infrastructure already handles emitting it when necessary.
For more information about contextual symbolizer markup elements:
https://llvm.org/docs/SymbolizerMarkupFormat.html#contextual-elements
Reviewers: PiJoules, petrhosek, vitalybuka
Reviewed By: petrhosek, vitalybuka
Pull Request: https://github.com/llvm/llvm-project/pull/73194
Commit: a0eda109471b74ef929f5830438201973d70705e
https://github.com/llvm/llvm-project/commit/a0eda109471b74ef929f5830438201973d70705e
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M libc/config/linux/app.h
M libc/src/stdlib/getenv.cpp
M libc/startup/linux/aarch64/start.cpp
M libc/startup/linux/riscv/start.cpp
M libc/startup/linux/x86_64/start.cpp
Log Message:
-----------
[libc][NFC] unify startup library's code style with the rest (#74041)
This PR unifies the startup library's code style with the rest of libc.
Commit: 4d4c30a37c75a4c41bcc70be1431651704624b6a
https://github.com/llvm/llvm-project/commit/4d4c30a37c75a4c41bcc70be1431651704624b6a
Author: James Y Knight <jyknight at google.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M clang/lib/CodeGen/CGAtomic.cpp
M clang/lib/CodeGen/CGBuilder.h
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/test/CodeGen/atomic-ops.c
A clang/test/CodeGen/ms-intrinsics-underaligned.c
M clang/test/CodeGen/ms-intrinsics.c
M clang/test/OpenMP/parallel_reduction_codegen.cpp
Log Message:
-----------
Use Address for CGBuilder's CreateAtomicRMW and CreateAtomicCmpXchg. (#74349)
Update all callers to pass through the Address.
For the older builtins such as `__sync_*` and MSVC `_Interlocked*`,
natural alignment of the atomic access is _assumed_. This change
preserves that behavior. It will pass through greater-than-required
alignments, however.
Commit: cae650ef3764288e1df47dcc48a5e180d1289ff4
https://github.com/llvm/llvm-project/commit/cae650ef3764288e1df47dcc48a5e180d1289ff4
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
A llvm/test/tools/llvm-mca/RISCV/SiFive7/div-fdiv.s
Log Message:
-----------
[RISCV] Rework IDiv and FDiv pipes on SiFive7 (#73970)
Set BufferSize=0 and remove Super pipes for these resources.
Commit: e893f69545148c723a8b51d0975eb0142de86c62
https://github.com/llvm/llvm-project/commit/e893f69545148c723a8b51d0975eb0142de86c62
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M compiler-rt/lib/asan/asan_interceptors.h
M compiler-rt/lib/asan/asan_rtl.cpp
Log Message:
-----------
[NFC][ASAN] Move ENSURE_ASAN_INITED into AsanInitFromRtl (#74170)
Commit: c33e5d59e5dd4f54c3f4cc00d1bedaf644fdb694
https://github.com/llvm/llvm-project/commit/c33e5d59e5dd4f54c3f4cc00d1bedaf644fdb694
Author: Petr Hosek <phosek at google.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M libc/src/__support/CMakeLists.txt
M libc/src/__support/integer_utils.h
Log Message:
-----------
[libc] Add the missing math_extras.h include (#74259)
math_extras.h is used in integer_utils.h when building for 32-bit
platforms but the include is missing.
Commit: 606653091d1a66d1a83a1bfdea2883cc8d46687e
https://github.com/llvm/llvm-project/commit/606653091d1a66d1a83a1bfdea2883cc8d46687e
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M libc/cmake/modules/LLVMLibCObjectRules.cmake
M libc/docs/dev/code_style.rst
Log Message:
-----------
[libc] build with -Werror (#73966)
A recent commit introduced warnings observable when building unit tests.
If the
unit tests don't fail when warnings are introduced into the build, then
we
might fail to notice them in the stream of output from check-libc.
Link: https://github.com/llvm/llvm-project/pull/72763/files#r1410932348
Commit: 5aa2f8c98cd7b05e4cb8b6c74db08cf417c2a1a6
https://github.com/llvm/llvm-project/commit/5aa2f8c98cd7b05e4cb8b6c74db08cf417c2a1a6
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M compiler-rt/lib/asan/asan_interceptors.cpp
M compiler-rt/lib/asan/asan_internal.h
M compiler-rt/lib/asan/asan_malloc_linux.cpp
M compiler-rt/lib/asan/asan_rtl.cpp
Log Message:
-----------
[NFC][ASAN] Replace AsanInitIsRunning with TryAsanInitFromRtl
Reviewers: zacklj89
Reviewed By: zacklj89
Pull Request: https://github.com/llvm/llvm-project/pull/74171
Commit: 5bc391a7c96a58929794ec1dc664b966c0a03d09
https://github.com/llvm/llvm-project/commit/5bc391a7c96a58929794ec1dc664b966c0a03d09
Author: Craig Topper <craig.topper at sifive.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/Mips/msa/basic_operations.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert.ll
M llvm/test/CodeGen/X86/pr59980.ll
Log Message:
-----------
[SelectionDAG] Use getVectorElementPointer in DAGCombiner::replaceStoreOfInsertLoad. (#74249)
This ensures we clip the index to be in bounds of the vector we are
inserting into. If the index is out of bounds the results of the insert
element is poison. If we don't clip the index we can write memory that
was not part of the original store.
Fixes #74248.
Commit: c4cebe5b4489438185236881ce3d6eaaa23b0e7b
https://github.com/llvm/llvm-project/commit/c4cebe5b4489438185236881ce3d6eaaa23b0e7b
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Add missing dependency for dff2f59be39765c8d6814c9a06155f76a5393673
Commit: 47fe9fcaf28097fd4f3b70513c444b2cd391831a
https://github.com/llvm/llvm-project/commit/47fe9fcaf28097fd4f3b70513c444b2cd391831a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVCallLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
Log Message:
-----------
[RISCV] Share ArgGPRs array between SelectionDAG and GISel. (#74152)
This will allow us to isolate the EABI from D70401 to this new function.
Commit: 6886a52d6dbefff77f33de12ff85d654e2557f81
https://github.com/llvm/llvm-project/commit/6886a52d6dbefff77f33de12ff85d654e2557f81
Author: Nick Desaulniers <ndesaulniers at google.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M libc/cmake/modules/LLVMLibCObjectRules.cmake
M libc/docs/dev/code_style.rst
Log Message:
-----------
Revert "[libc] build with -Werror (#73966)"
This reverts commit 606653091d1a66d1a83a1bfdea2883cc8d46687e.
Post submit buildbots are now red. We can use these explicit errors to better
clean up existing warnings, then reland this.
Link: #73966
Commit: c43c86c285a39dcc6ec4a15b8f155152031b3997
https://github.com/llvm/llvm-project/commit/c43c86c285a39dcc6ec4a15b8f155152031b3997
Author: Kevin Frei <kevinfrei at users.noreply.github.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M lldb/include/lldb/Core/PluginManager.h
M lldb/source/Core/CoreProperties.td
M lldb/source/Core/PluginManager.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolLocator/CMakeLists.txt
A lldb/source/Plugins/SymbolLocator/Debuginfod/CMakeLists.txt
A lldb/source/Plugins/SymbolLocator/Debuginfod/SymbolLocatorDebuginfod.cpp
A lldb/source/Plugins/SymbolLocator/Debuginfod/SymbolLocatorDebuginfod.h
A lldb/source/Plugins/SymbolLocator/Debuginfod/SymbolLocatorDebuginfodProperties.td
M llvm/docs/ReleaseNotes.rst
M llvm/include/llvm/Debuginfod/Debuginfod.h
M llvm/lib/Debuginfod/Debuginfod.cpp
Log Message:
-----------
DEBUGINFOD based DWP acquisition for LLDB (#70996)
I've plumbed the LLVM DebugInfoD client into LLDB, and added automatic
downloading of DWP files to the SymbolFileDWARF.cpp plugin. If you have
DEBUGINFOD_URLS set to a space delimited set of web servers, LLDB will
try to use them as a last resort when searching for DWP files. If you do
*not* have that environment variable set, nothing should be changed.
There's also a setting, per @clayborg 's suggestion, that will override
the environment variable, or can be used instead of the environment
variable. The setting is why I also needed to add an API to the
llvm-debuginfod library
### Test Plan:
Suggestions are welcome here. I should probably have some positive and
negative tests, but I wanted to get the diff up for people who have a
clue what they're doing to rip it to pieces before spending too much
time validating the initial implementation.
---------
Co-authored-by: Kevin Frei <freik at meta.com>
Co-authored-by: Alex Langford <nirvashtzero at gmail.com>
Commit: f6c7baea098aac03687f5041fc860ca95f070e4e
https://github.com/llvm/llvm-project/commit/f6c7baea098aac03687f5041fc860ca95f070e4e
Author: Seth Brenith <sethbrenith at users.noreply.github.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/lib/Target/X86/X86CallingConv.td
M llvm/lib/Target/X86/X86RegisterInfo.cpp
A llvm/test/CodeGen/X86/preserve_mostcc64_win.ll
Log Message:
-----------
[Win/x64] Update preserve_most to treat XMM registers like C (#73866)
As [scottmcm
described](https://discourse.llvm.org/t/conv-c-and-conv-preservemost-mix-badly-on-windows-x64/73054),
the `preserve_most` calling convention, as currently implemented, is a
bad fit for Windows on x64. The intent of `preserve_most` is "to make
the code in the caller as unintrusive as possible", but `preserve_most`
causes the caller to spill and restore ten SIMD registers. It would be
preferable to make `preserve_most` treat the XMM registers however the C
calling convention does on the target operating system.
This is a breaking change, but the documentation indicates that
`preserve_most` is still experimental, so I believe that ABI
compatibility is not yet a requirement.
Commit: d00c502ee5e89575a6515c2f2bb3716e64027812
https://github.com/llvm/llvm-project/commit/d00c502ee5e89575a6515c2f2bb3716e64027812
Author: Florian Hahn <flo at fhahn.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
A llvm/test/Transforms/LoopVectorize/preserve-or-disjoint.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing.ll
Log Message:
-----------
[LV] Add tests for preserving and printing the new disjoint flag.
Tests for support for the disjoint flag added in #72583.
Commit: a2e61bc2f3bc66124575c0abf9b8421073470202
https://github.com/llvm/llvm-project/commit/a2e61bc2f3bc66124575c0abf9b8421073470202
Author: Brad Smith <brad at comstyle.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M lldb/source/Core/FormatEntity.cpp
M lldb/source/Host/common/SocketAddress.cpp
M lldb/source/Host/posix/DomainSocket.cpp
M lldb/source/Initialization/SystemInitializerCommon.cpp
M lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DYLDRendezvous.cpp
M lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp
M lldb/test/API/api/multithreaded/common.h
M lldb/test/API/tools/lldb-server/thread-name/main.cpp
Log Message:
-----------
[lldb] Additional pieces towards OpenBSD support (#74198)
Commit: b18a46e35d69e4148a147256c70472d0a16e00e8
https://github.com/llvm/llvm-project/commit/b18a46e35d69e4148a147256c70472d0a16e00e8
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M libcxx/include/__availability
M libcxx/include/__format/escaped_output_table.h
M libcxx/include/__format/extended_grapheme_cluster_table.h
M libcxx/include/__iterator/iter_swap.h
M libcxx/include/__string/extern_template_lists.h
M libcxx/include/__utility/integer_sequence.h
M libcxx/include/bitset
M libcxx/include/chrono
M libcxx/include/memory
M libcxx/include/span
M libcxx/include/sstream
M libcxx/include/string
M libcxx/include/string_view
M libcxx/include/tuple
M libcxx/include/unordered_set
M libcxx/include/vector
M libcxx/src/locale.cpp
M libcxx/utils/generate_escaped_output_table.py
M libcxx/utils/generate_extended_grapheme_cluster_table.py
Log Message:
-----------
[libc++][NFC] Add a few clang-format annotations (#74352)
This is in preparation for clang-formatting the whole code base. These
annotations are required either to avoid clang-format bugs or because
the manually formatted code is significantly more readable than the
clang-formatted alternative. All in all, it seems like very few
annotations are required, which means that clang-format is doing a very
good job in most cases.
Commit: 9eea7441831328a56bb0f91e7a15b7c575a42930
https://github.com/llvm/llvm-project/commit/9eea7441831328a56bb0f91e7a15b7c575a42930
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
A libcxx/utils/clang-format-merge-driver.sh
Log Message:
-----------
[libc++] Add a merge driver that can apply clang-format (#73712)
In preparation for the moment when we'll clang-format the whole code
base, this patch adds a script that can be used to rebase patches across
clang-format changes mechanically, without requiring manual
intervention.
See https://discourse.llvm.org/t/rfc-clang-formatting-all-of-libc-once-and-for-all.
Commit: 53d498d095c9969c3efb81ad417c76d5fd0b1aff
https://github.com/llvm/llvm-project/commit/53d498d095c9969c3efb81ad417c76d5fd0b1aff
Author: Nico Weber <thakis at chromium.org>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M llvm/utils/gn/secondary/llvm/test/BUILD.gn
Log Message:
-----------
[gn] port f368e6424fbf
Commit: ff51b60b18656ae05fdc65ac6f6abc3ec6a15eda
https://github.com/llvm/llvm-project/commit/ff51b60b18656ae05fdc65ac6f6abc3ec6a15eda
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2023-12-04 (Mon, 04 Dec 2023)
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
R libc/src/sys/mman/linux/mincore.cpp
R libc/src/sys/mman/mincore.h
M libc/test/src/sys/mman/linux/CMakeLists.txt
R libc/test/src/sys/mman/linux/mincore_test.cpp
Log Message:
-----------
[libc] Revert #73704 and subsequent fixes #73984, #74026 (#74355)
The test cases of mincore require getting correct page size from OS. As
`sysconf` is not functioning correctly, these patches are implemented in
a somewhat confusing way. We revert such patches and will reintroduce
mincore after we correct sysconf.
This reverts 54878b8, 985c0d1 and 418a3a4.
Commit: e1e34cc2a17c5f640333767df2d3bfe2b2f81a84
https://github.com/llvm/llvm-project/commit/e1e34cc2a17c5f640333767df2d3bfe2b2f81a84
Author: Kazu Hirata <kazu at google.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
R llvm/include/llvm/Support/Host.h
M llvm/include/module.modulemap
M polly/lib/External/isl/interface/extract_interface.cc
Log Message:
-----------
[Support] Remove llvm/Support/Host.h (#74261)
The header file has been deprecated since:
commit f09cf34d00625e57dea5317a3ac0412c07292148
Author: Archibald Elliott <archibald.elliott at arm.com>
Date: Tue Dec 20 10:24:02 2022 +0000
Commit: d605d9d7a153fb39eca2beac20f895f0407acabf
https://github.com/llvm/llvm-project/commit/d605d9d7a153fb39eca2beac20f895f0407acabf
Author: Craig Topper <craig.topper at sifive.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
M llvm/lib/Target/RISCV/RISCVGISel.td
A llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/rotate-rv32.mir
A llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/rotate-rv64.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-rotate-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-rotate-rv64.mir
Log Message:
-----------
[RISCV][GISel] Support G_ROTL/G_ROTR with Zbb. (#72825)
Commit: d1cdcddcc2ef712c4e2ab61c6e4ca83350e7e9e3
https://github.com/llvm/llvm-project/commit/d1cdcddcc2ef712c4e2ab61c6e4ca83350e7e9e3
Author: Youngsuk Kim <youngsuk.kim at hpe.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
Log Message:
-----------
[llvm][OMPIRBuilder] Remove no-op ptr-to-ptr bitcast (NFC)
Opaque ptr cleanup effort
Commit: 0d59cfc7a3446dc6078dfc57783048f490d8d998
https://github.com/llvm/llvm-project/commit/0d59cfc7a3446dc6078dfc57783048f490d8d998
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M libc/src/__support/float_to_string.h
Log Message:
-----------
[libc] fix -Wconversion in float_to_string.h (#74369)
Fixes:
libc/src/__support/float_to_string.h:551:48: error: conversion from
‘long
unsigned int’ to ‘int32_t’ {aka ‘int’} may change value
[-Werror=conversion]
551 | const int32_t shift_amount = SHIFT_CONST + (-exponent - IDX_SIZE *
idx);
| ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Observed in gcc fullbuilds.
IDX_SIZE is a size_t (aka 'long unsigned int'), but has the value 128,
so the
expression is undergoing implicit promotion.
Link: https://lab.llvm.org/buildbot/#/builders/250/builds/14891
Commit: 8dc474c6b7d5fc4e0e7f18aac7750eb8c6bb6b26
https://github.com/llvm/llvm-project/commit/8dc474c6b7d5fc4e0e7f18aac7750eb8c6bb6b26
Author: madanial0 <118996571+madanial0 at users.noreply.github.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M flang/include/flang/Frontend/CompilerInvocation.h
M flang/lib/Frontend/CompilerInvocation.cpp
Log Message:
-----------
[flang] Pass Argv0 to getIntriniscDir and getOpenMPHeadersDir (#73254)
The `llvm::sys::fs::getMainExecutable(nullptr, nullptr)` is not able to
obtain the correct executable path on AIX without Argv0 due to the lack
of a current process on AIX's `proc` filesystem. This causes a build
failure on AIX as intrinsic module directory is missing.
---------
Co-authored-by: Mark Danial <mak.danial at ibm.com>
Commit: 143133fe685bd0b8819a96bdc1af6a4ff2877b13
https://github.com/llvm/llvm-project/commit/143133fe685bd0b8819a96bdc1af6a4ff2877b13
Author: Martin Storsjö <martin at martin.st>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M lld/COFF/InputFiles.cpp
M lld/test/COFF/lto-imp-prefix.ll
Log Message:
-----------
[LLD] [COFF] Don't preserve unnecessary __imp_ prefixed symbols (#72989)
This redoes the fix from 3ab6209a3f93bdbeec8e9b9fcc00a9a4980915ff
differently, without the unwanted effect of preserving unnecessary
`__imp_` prefixed symbols.
If the referencing object is a regular object, the `__imp_` symbol will
have `isUsedInRegularObj` set on it from that already. If the
referencing object is an LTO object, we set `isUsedInRegularObj` for any
symbol starting with `__imp_`.
If the object file defining the `__imp_` symbol is a regular object, the
`isUsedInRegularObj` flag has no effect. If it is an LTO object, it
causes the symbol to be preserved.
Commit: e77bfaaf9d66748fc2dc3a710a0c9b4665dd3034
https://github.com/llvm/llvm-project/commit/e77bfaaf9d66748fc2dc3a710a0c9b4665dd3034
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M clang/test/CXX/drs/dr5xx.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[clang][NFC] Fill in historical data on when C++ DRs 500-599 were fixed
Commit: 54c30953b9374e3bcc1c79b53a231e4b53ceafed
https://github.com/llvm/llvm-project/commit/54c30953b9374e3bcc1c79b53a231e4b53ceafed
Author: Evgenii Stepanov <eugeni.stepanov at gmail.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M compiler-rt/lib/scudo/standalone/combined.h
Log Message:
-----------
Do not initialize the allocator on free(nullptr). (#74366)
free(nullptr) is guaranteed by ISO and POSIX to be a no-op, we should not pay for the overhead of maybeInit() in this case.
Additionally, Bionic calls free(nullptr) before the allocator settings are finalized.
Scudo should not run allocator initialization at that time. Doing so
causes various bad things to happen, like mapping primary regions with
the wrong PROT_MTE setting.
Commit: 78940a4e1f7f484d8a2dd0c646e288d6a5bf2f81
https://github.com/llvm/llvm-project/commit/78940a4e1f7f484d8a2dd0c646e288d6a5bf2f81
Author: Owen Pan <owenpiano at gmail.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M clang/tools/clang-format/git-clang-format
Log Message:
-----------
[clang-format] Fix a bug in `git-clang-format --binary` (#74293)
This is a rework of #74176, which erroneously changed the default
clang-format filename (`clang-format`, `clang-format.exe`, etc.) to an
absolute pathname. Instead, we should do that only if the name is a
pathname, e.g. `./clang-format`,
`llvm-project/build/bin/clang-format.exe`, etc. See also
https://github.com/llvm/llvm-project/pull/74176#issuecomment-1837921351.
Commit: fef1854318bd797c1f8a141d4b45b113b04860d1
https://github.com/llvm/llvm-project/commit/fef1854318bd797c1f8a141d4b45b113b04860d1
Author: Juergen Ributzka <juergen at ributzka.de>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Basic/CodeGenOptions.h
A clang/include/clang/Basic/DebugOptions.def
M clang/include/module.modulemap
M clang/lib/Basic/CodeGenOptions.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
A clang/test/ClangScanDeps/strip-codegen-args.m
Log Message:
-----------
[clang][modules] Reset codegen options. (#74006)
CodeGen options do not affect the AST, so they usually can be ignored.
The only exception to the rule is when a PCM is created with
`-gmodules`.
In that case the Clang module format is switched to object file
container and contains also serialized debug information that can be
affected by debug options. There the following approach was choosen:
1.) Split out all the debug options into a separate `DebugOptions.def`
file. The file is included by `CodeGenOptions.def`, so the change is
transparent to all existing users of `CodeGenOptions.def`.
2.) Reset all CodeGen options, but excluding affecting debug options.
3.) Conditionally reset debug options that can affect the PCM.
This fixes rdar://113135909.
Commit: e8f3ccd2737c638fafae7c5bf13cd2e913ef0f86
https://github.com/llvm/llvm-project/commit/e8f3ccd2737c638fafae7c5bf13cd2e913ef0f86
Author: Alexander Yermolovich <43973793+ayermolo at users.noreply.github.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M llvm/include/llvm/CodeGen/AccelTable.h
M llvm/lib/CodeGen/AsmPrinter/AccelTable.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
M llvm/test/DebugInfo/X86/debug-names-types.ll
Log Message:
-----------
[LLVM][DWARF] Add support for .debug_names with split dwarf (#73872)
Enables Type Units with DWARF5 accelerator tables for split dwarf. It is
still
under discussion what is the best way to implement support for
de-duplication in
DWP. This will be in follow up PR.
Commit: 6fd1c1b8ef407cb16f7c990a33908d289313559f
https://github.com/llvm/llvm-project/commit/6fd1c1b8ef407cb16f7c990a33908d289313559f
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M libc/src/__support/HashTable/bitmask.h
M libc/src/__support/HashTable/generic/bitmask_impl.inc
M libc/test/src/__support/HashTable/CMakeLists.txt
Log Message:
-----------
[libc] fix HashTable warnings and build problems (#74371)
According to https://lab.llvm.org/buildbot/#/builders/163/builds/48002,
the generic build on HashTable fails with two major issues with
`werror`:
1. warnings on `error: suggest braces around initialization of
subobject`.
2. `__support/HashTable` tests are built regardless of its entrypoints`
This PR attempts to fix such issues.
Commit: ce9b72c9798680c9297de3f2a77f0a09303c06e5
https://github.com/llvm/llvm-project/commit/ce9b72c9798680c9297de3f2a77f0a09303c06e5
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
Log Message:
-----------
[NFC] Fix unused variable (used only in assert) after d1cdcddcc2ef712c4e2ab61c6e4ca83350e7e9e3
Commit: b73d79fda85b26fc111c47fe292d94d46b925754
https://github.com/llvm/llvm-project/commit/b73d79fda85b26fc111c47fe292d94d46b925754
Author: Craig Topper <craig.topper at sifive.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Fix typo in comment. NFC
This should say "Assume that VL output is <= 65536".
Commit: d9570babf1b253767a3a6c1450fa1b9e10b4e2f9
https://github.com/llvm/llvm-project/commit/d9570babf1b253767a3a6c1450fa1b9e10b4e2f9
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
M llvm/lib/Target/RISCV/RISCVScheduleV.td
M llvm/test/tools/llvm-mca/RISCV/SiFive7/div-fdiv.s
M llvm/test/tools/llvm-mca/RISCV/SiFive7/gpr-bypass-c.s
M llvm/test/tools/llvm-mca/RISCV/SiFive7/gpr-bypass.s
M llvm/test/tools/llvm-mca/RISCV/SiFive7/reductions.s
M llvm/test/tools/llvm-mca/RISCV/SiFive7/strided-load-x0.s
M llvm/test/tools/llvm-mca/RISCV/SiFive7/vector-integer-arithmetic.s
M llvm/test/tools/llvm-mca/RISCV/different-lmul-instruments.s
M llvm/test/tools/llvm-mca/RISCV/different-sew-instruments.s
M llvm/test/tools/llvm-mca/RISCV/disable-im.s
M llvm/test/tools/llvm-mca/RISCV/fractional-lmul-data.s
M llvm/test/tools/llvm-mca/RISCV/lmul-instrument-at-start.s
M llvm/test/tools/llvm-mca/RISCV/lmul-instrument-in-middle.s
M llvm/test/tools/llvm-mca/RISCV/lmul-instrument-in-region.s
M llvm/test/tools/llvm-mca/RISCV/lmul-instrument-straddles-region.s
M llvm/test/tools/llvm-mca/RISCV/multiple-same-lmul-instruments.s
M llvm/test/tools/llvm-mca/RISCV/multiple-same-sew-instruments.s
M llvm/test/tools/llvm-mca/RISCV/needs-sew-but-only-lmul.s
M llvm/test/tools/llvm-mca/RISCV/no-vsetvli-to-start.s
M llvm/test/tools/llvm-mca/RISCV/sew-instrument-at-start.s
M llvm/test/tools/llvm-mca/RISCV/sew-instrument-in-middle.s
M llvm/test/tools/llvm-mca/RISCV/sew-instrument-in-region.s
M llvm/test/tools/llvm-mca/RISCV/sew-instrument-straddles-region.s
M llvm/test/tools/llvm-mca/RISCV/vle-vse.s
M llvm/test/tools/llvm-mca/RISCV/vsetivli-lmul-instrument.s
M llvm/test/tools/llvm-mca/RISCV/vsetivli-lmul-sew-instrument.s
M llvm/test/tools/llvm-mca/RISCV/vsetvli-lmul-instrument.s
M llvm/test/tools/llvm-mca/RISCV/vsetvli-lmul-sew-instrument.s
Log Message:
-----------
[RISCV] Remove SiFive7PipeV and replace it with SiFive7VCQ (#73969)
The Arithmetic, Load, and Store sequencers can accept instructions in
parallel. The PipeV blocked that from happening since it became busy if
any of the sequencers were busy. This change allows the sequencers to
accept instructions in parallel.
The VCQ accepts instructions from the the A Pipe and holds them until
the vector unit is ready to dequeue them. The unit dequeues up to one
instruction per cycle, in order, as soon as the sequencer for that type
of instruction is avaliable. This resource is meant to be used for 1
cycle by all vector instructions, to model that only one vector
instruction may be dequed at a time. The actual dequeueing into the
sequencer is modeled by the VA, VL, and VS sequencer resources below.
Each of them will only accept a single instruction at a time and remain
busy for the number of cycles associated with that instruction.
Commit: 1157bee5ce2c7acb803cda5003b2ea9d0ed962e2
https://github.com/llvm/llvm-project/commit/1157bee5ce2c7acb803cda5003b2ea9d0ed962e2
Author: Juergen Ributzka <juergen at ributzka.de>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Basic/CodeGenOptions.h
R clang/include/clang/Basic/DebugOptions.def
M clang/include/module.modulemap
M clang/lib/Basic/CodeGenOptions.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
R clang/test/ClangScanDeps/strip-codegen-args.m
Log Message:
-----------
Revert "[clang][modules] Reset codegen options. (#74006)"
This reverts commit fef1854318bd797c1f8a141d4b45b113b04860d1.
Commit: 3e09a93859c69f1e5692226a849c067b71d010b1
https://github.com/llvm/llvm-project/commit/3e09a93859c69f1e5692226a849c067b71d010b1
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M mlir/lib/Dialect/Mesh/IR/CMakeLists.txt
Log Message:
-----------
[mlir][mesh] Fix build breakage (#74362)
```
/usr/bin/ld: CMakeFiles/obj.MLIRMeshDialect.dir/MeshOps.cpp.o: in function
`mlir::mesh::BroadcastOp::print(mlir::OpAsmPrinter&) [clone .localalias]':
MeshOps.cpp:(.text._ZN4mlir4mesh11BroadcastOp5printERNS_12OpAsmPrinterE+0x2 d3): undefined reference to `mlir::printDynamicIndexList(mlir::OpAsmPrinter&, mlir::Operation*, mlir::OperandRange, llvm::ArrayRef<long>, mlir::TypeRange, llvm::ArrayRef<bool>, mlir::AsmParser::Delimiter)'
```
Commit: 7e3aeee3bf515f5922b564d3a850ab9f933a32dd
https://github.com/llvm/llvm-project/commit/7e3aeee3bf515f5922b564d3a850ab9f933a32dd
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M compiler-rt/lib/asan/asan_interceptors.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/Mips/msa/basic_operations.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert.ll
M llvm/test/CodeGen/X86/pr59980.ll
Log Message:
-----------
[NFC][asan] Replace AsanInited/ENSURE_ASAN_INITED with TryAsanInitFromRtl (#74172)
Commit: b83289b0b66c8e88a8ab5c53d91327a380cfb0bd
https://github.com/llvm/llvm-project/commit/b83289b0b66c8e88a8ab5c53d91327a380cfb0bd
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M compiler-rt/lib/asan/asan_interceptors.cpp
Log Message:
-----------
[NFC][asan] Replace a few `#if SANITIZER_APPLE` with `if (SANITIZER_APPLE` (#74173)
Commit: eef39f4341b16d1eb5d1a907d2cefe061f3a8928
https://github.com/llvm/llvm-project/commit/eef39f4341b16d1eb5d1a907d2cefe061f3a8928
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M compiler-rt/lib/asan/asan_interceptors.cpp
M compiler-rt/lib/asan/asan_interceptors.h
M compiler-rt/lib/asan/asan_malloc_linux.cpp
M compiler-rt/lib/asan/asan_malloc_mac.cpp
Log Message:
-----------
[NFC][asan] Inline ENSURE_ASAN_INITED macro (#74174)
Commit: ae6db862a9ea0977e44127eb36e5d25e5673df04
https://github.com/llvm/llvm-project/commit/ae6db862a9ea0977e44127eb36e5d25e5673df04
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M compiler-rt/lib/hwasan/hwasan_interceptors.cpp
M compiler-rt/test/hwasan/TestCases/Linux/syscalls.cpp
A compiler-rt/test/hwasan/TestCases/memset-recover.cpp
Log Message:
-----------
[hwasan] Use ErrorAction::Recover in interceptors (#74000)
Commit: 3d718d0ebac232f304a0a074610de2d9652ab21f
https://github.com/llvm/llvm-project/commit/3d718d0ebac232f304a0a074610de2d9652ab21f
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M compiler-rt/lib/asan/asan_rtl.cpp
Log Message:
-----------
[NFC][asan] Remove SetAsanInited parameter
Commit: 4b1254e7d4c30c7e15669e8879f405814c1790ee
https://github.com/llvm/llvm-project/commit/4b1254e7d4c30c7e15669e8879f405814c1790ee
Author: stephenpeckham <118857872+stephenpeckham at users.noreply.github.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M llvm/include/llvm/MC/MCSectionXCOFF.h
M llvm/include/llvm/MC/MCSymbolXCOFF.h
M llvm/include/llvm/MC/MCXCOFFStreamer.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/MC/MCObjectFileInfo.cpp
M llvm/lib/MC/MCStreamer.cpp
M llvm/lib/MC/MCXCOFFStreamer.cpp
M llvm/test/CodeGen/PowerPC/aix-alias.ll
M llvm/test/CodeGen/PowerPC/aix-emit-tracebacktable-clobber-register.ll
M llvm/test/CodeGen/PowerPC/aix-extern-weak.ll
M llvm/test/CodeGen/PowerPC/aix-extern.ll
M llvm/test/CodeGen/PowerPC/aix-func-align.ll
M llvm/test/CodeGen/PowerPC/aix-personality-alias.ll
M llvm/test/CodeGen/PowerPC/aix-weak.ll
M llvm/test/CodeGen/PowerPC/aix-xcoff-data.ll
M llvm/test/CodeGen/PowerPC/aix-xcoff-funcsect.ll
M llvm/test/CodeGen/PowerPC/aix-xcoff-symbol-rename.ll
M llvm/test/CodeGen/PowerPC/test_func_desc.ll
M llvm/test/DebugInfo/XCOFF/empty.ll
M llvm/test/DebugInfo/XCOFF/explicit-section.ll
M llvm/test/DebugInfo/XCOFF/function-sections.ll
Log Message:
-----------
[AIX] In assembly file, create a dummy text renamed to an empty string (#73052)
This works around an AIX assembler and linker bug. If the
-fno-integrated-as and -frecord-command-line options are used but
there's no actual code in the source file, the assembler creates an
object file with only an .info section. The AIX linker rejects such an
object file.
Commit: 924f6ca1bdc49efe776d7f5cfd43d421b65346ba
https://github.com/llvm/llvm-project/commit/924f6ca1bdc49efe776d7f5cfd43d421b65346ba
Author: Owen Pan <owenpiano at gmail.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M clang/lib/Format/ObjCPropertyAttributeOrderFixer.cpp
M clang/lib/Format/ObjCPropertyAttributeOrderFixer.h
M clang/unittests/Format/ObjCPropertyAttributeOrderFixerTest.cpp
Log Message:
-----------
[clang-format] Remove duplicates in @property using std::set (#74235)
Re-implement ObjCPropertyAttributeOrder using std::set for sorting and
removing duplicates. (We can't use llvm::SmallSet because it's
unordered.)
Commit: ab65c9c3bb9bdbc3271db9b25e2c5746fd59eead
https://github.com/llvm/llvm-project/commit/ab65c9c3bb9bdbc3271db9b25e2c5746fd59eead
Author: michaelrj-google <71531609+michaelrj-google at users.noreply.github.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M libc/src/__support/UInt.h
M libc/src/__support/float_to_string.h
M libc/src/math/generic/math_utils.h
M libc/src/stdio/printf_core/float_dec_converter.h
M libc/src/stdio/printf_core/float_hex_converter.h
Log Message:
-----------
[libc][NFC] fix int warnings in float conversion (#74379)
The printf float to string conversion functions had some implicit
integer conversion warnings on gcc. This patch adds explicit casts to
these places.
Commit: 961d943e396fa179988a160c2998f0bafc2a56c0
https://github.com/llvm/llvm-project/commit/961d943e396fa179988a160c2998f0bafc2a56c0
Author: Brad Smith <brad at comstyle.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M lldb/source/Host/netbsd/HostInfoNetBSD.cpp
Log Message:
-----------
[lldb] Remove unused variable
lldb/source/Host/netbsd/HostInfoNetBSD.cpp:48:8: warning: unused variable 'osrev_str' [-Wunused-variable]
char osrev_str[12];
^
1 warning generated.
Commit: 6a8a5629a6042da602fbc586c8b41137cdd2f053
https://github.com/llvm/llvm-project/commit/6a8a5629a6042da602fbc586c8b41137cdd2f053
Author: zhongyunde 00443407 <zhongyunde at huawei.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M llvm/test/CodeGen/AArch64/arm64-addrmode.ll
Log Message:
-----------
[AArch64] Precommit tests for PR71917
Commit: d6f4d5209ffcdc6d8e33a14fe8df70283b768f45
https://github.com/llvm/llvm-project/commit/d6f4d5209ffcdc6d8e33a14fe8df70283b768f45
Author: zhongyunde 00443407 <zhongyunde at huawei.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/test/CodeGen/AArch64/arm64-addrmode.ll
M llvm/test/Transforms/CodeGenPrepare/AArch64/large-offset-gep.ll
Log Message:
-----------
[CGP][AArch64] Rebase the common base offset for better ISel
When all the large const offsets masked with the same value from bit-12 to bit-23.
Fold
add x8, x0, #2031, lsl #12
add x8, x8, #960
ldr x9, [x8, x8]
ldr x8, [x8, #2056]
into
add x8, x0, #2031, lsl #12
ldr x9, [x8, #960]
ldr x8, [x8, #3016]
Commit: 66784dcb3b4302cea606c3e74913350197b7ed45
https://github.com/llvm/llvm-project/commit/66784dcb3b4302cea606c3e74913350197b7ed45
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M openmp/libomptarget/include/PluginManager.h
M openmp/libomptarget/include/Shared/Debug.h
M openmp/libomptarget/include/device.h
M openmp/libomptarget/src/OpenMP/InteropAPI.cpp
M openmp/libomptarget/src/PluginManager.cpp
M openmp/libomptarget/src/api.cpp
M openmp/libomptarget/src/device.cpp
M openmp/libomptarget/src/interface.cpp
M openmp/libomptarget/src/omptarget.cpp
Log Message:
-----------
[OpenMP] Ensure `Devices` is accessed exlusively (#74374)
We accessed the `Devices` container most of the time while holding the
RTLsMtx, but not always. Sometimes we used the mutex for the size query,
but then accessed Devices again unguarded. From now we properly
encapsulate the container in a ProtectedObj which ensures exclusive
accesses. We also hide the "isReady" part in the `getDevice` accessor
and use an `llvm::Expected` to allow to return errors.
Commit: c3a9c905fbc486add75e16218fe58a04b7b6c282
https://github.com/llvm/llvm-project/commit/c3a9c905fbc486add75e16218fe58a04b7b6c282
Author: Lu Weining <luweining at loongson.cn>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M llvm/include/llvm/BinaryFormat/ELFRelocs/LoongArch.def
M llvm/test/tools/llvm-readobj/ELF/reloc-types-loongarch64.test
M llvm/unittests/Object/ELFTest.cpp
Log Message:
-----------
[BinaryFormat][LoongArch] Define psABI v2.20 relocs (#73345)
psABI v2.20 added R_LARCH_CALL36 and removed R_LARCH_DELETE / R_LARCH_CFA.
R_LARCH_CALL36 was designed for function call on medium code model where
the 2 instructions (pcaddu18i + jirl) must be adjacent.
Commit: 192439db6e3fcccf98c850bda1b970a11c590bbb
https://github.com/llvm/llvm-project/commit/192439db6e3fcccf98c850bda1b970a11c590bbb
Author: Matthias Springer <me at m-sp.org>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M mlir/lib/Dialect/Complex/IR/ComplexOps.cpp
M mlir/test/Dialect/Complex/invalid.mlir
Log Message:
-----------
[mlir][Complex] Fix bug in `MergeComplexBitcast` (#74271)
When two `complex.bitcast` ops are folded and the resulting bitcast is a
non-complex -> non-complex bitcast, an `arith.bitcast` should be
generated. Otherwise, the generated `complex.bitcast` op is invalid.
Also remove a pattern that convertes non-complex -> non-complex
`complex.bitcast` ops to `arith.bitcast`. Such `complex.bitcast` ops are
invalid and should not appear in the input.
Note: This bug can only be triggered by running with `-debug` (which
will should intermediate IR that does not verify) or with
`MLIR_ENABLE_EXPENSIVE_PATTERN_API_CHECKS` (#74270).
Commit: a8874cf50bb676facb4429234dff7774e579faef
https://github.com/llvm/llvm-project/commit/a8874cf50bb676facb4429234dff7774e579faef
Author: hev <wangrui at loongson.cn>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/include/llvm/AsmParser/LLParser.h
M llvm/include/llvm/AsmParser/LLToken.h
M llvm/include/llvm/IR/GlobalObject.h
M llvm/include/llvm/IR/GlobalVariable.h
M llvm/lib/AsmParser/LLLexer.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/Globals.cpp
M llvm/test/Assembler/globalvariable-attributes.ll
A llvm/test/Transforms/GlobalOpt/globalvar-code-model.ll
Log Message:
-----------
[llvm][IR] Add per-global code model attribute (#72077)
This adds a per-global code model attribute, which can override the
target's code model to access global variables.
Suggested-by: Arthur Eubanks <aeubanks at google.com>
Link: https://discourse.llvm.org/t/how-to-best-implement-code-model-overriding-for-certain-values/71816
Link: https://discourse.llvm.org/t/rfc-add-per-global-code-model-attribute/74944
Commit: b3392c447ad7b18a652d2ed63e8ebb7741077a98
https://github.com/llvm/llvm-project/commit/b3392c447ad7b18a652d2ed63e8ebb7741077a98
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaChecking.cpp
M clang/test/SemaCXX/builtin-dump-struct.cpp
Log Message:
-----------
[clang] Reject incomplete type arguments for __builtin_dump_struct (#72749)
We used to assume that the CXXRecordDecl passed to the 1st argument
always had a definition. This is not true since a pointer to an
incomplete type was not excluded.
Fixes https://github.com/llvm/llvm-project/issues/63506
Commit: 89e775ac81ec9e5b45c3bdf39dc8e456c1f13690
https://github.com/llvm/llvm-project/commit/89e775ac81ec9e5b45c3bdf39dc8e456c1f13690
Author: Kevin Frei <kevinfrei at users.noreply.github.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M llvm/lib/Debuginfod/Debuginfod.cpp
Log Message:
-----------
Switch from the std::shared_mutex to an LLVM RWMutex (#74383)
@nico pointed out that my usage of `std::shared_mutex` broke builds on
older macOS devices. Switching to `llvm::sys::RWMutex` is the solution
that they provided.
Tracked in issue #74382
Co-authored-by: Kevin Frei <freik at meta.com>
Commit: 725a04066a210fdd812a56c3a6256cc97c0aaf4d
https://github.com/llvm/llvm-project/commit/725a04066a210fdd812a56c3a6256cc97c0aaf4d
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M llvm/docs/GettingStarted.rst
M llvm/docs/GitHub.rst
Log Message:
-----------
Update GitHub doc to mention that we accepts user branches for Stacked PRs (#73774)
This isn't yet a guide on how to do stacked PRs.
Commit: 4288fb8c26447280b9e8ddb22160ebbfc082a815
https://github.com/llvm/llvm-project/commit/4288fb8c26447280b9e8ddb22160ebbfc082a815
Author: Lang Hames <lhames at gmail.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/MachOPlatform.h
M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
Log Message:
-----------
[ORC][MachO] Fix JITDylib header-addr tracking in MachOPlatform.
HeaderAddr shouldn't be a member variable of MachOPlatformPlugin: there's only
one plugin instance shared between all JITDylibs, so the shared HeaderAddr will
be overwritten in an unpredictable and unsafe way. We haven't seen any issues
due to this yet, but it triggered failures during testing of an upcoming
llvm-jitlink patch (e.g. ORC-RT test Darwin/x86-64/jit-re-dlopen-trivial.S).
This patch pre-fixes the issue in advance of the llvm-jitlink patch landing.
This patch also removes some stale debugging output in MachOPlatform.
Commit: 3dae97cc011ca097bd457bbfa5855da86290f631
https://github.com/llvm/llvm-project/commit/3dae97cc011ca097bd457bbfa5855da86290f631
Author: Matthias Springer <me at m-sp.org>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M mlir/lib/Dialect/Bufferization/Transforms/BufferDeallocationSimplification.cpp
Log Message:
-----------
[mlir][bufferization] Fix op dominance bug in rewrite pattern (#74159)
Fixes a bug in `SplitDeallocWhenNotAliasingAnyOther`. This pattern used
to generate invalid IR (op dominance error). We never noticed this bug
in existing test cases because other patterns and/or foldings were
applied afterwards and those rewrites "fixed up" the IR again. (The bug
is visible when running `mlir-opt -debug`.) Also add additional comments
to the implementation and simplify the code a bit.
Apart from the fixed dominance error, this change is NFC. Without this
change, buffer deallocation tests will fail when running with #74270.
Commit: e31a7581a556da9ab789afac4ac95f1ff592530f
https://github.com/llvm/llvm-project/commit/e31a7581a556da9ab789afac4ac95f1ff592530f
Author: Ruiling Song <ruiling.song at amd.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
A llvm/test/CodeGen/AMDGPU/scratch-pointer-sink.ll
Log Message:
-----------
AMDGPU: Pre-commit test to show diff
Commit: 90681d3a41c0f8e12b51b73f1bfa9c366f8189d8
https://github.com/llvm/llvm-project/commit/90681d3a41c0f8e12b51b73f1bfa9c366f8189d8
Author: Ruiling, Song <ruiling.song at amd.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.h
M llvm/test/CodeGen/AMDGPU/scratch-pointer-sink.ll
Log Message:
-----------
AMDGPU: Return legal addressmode correctly for flat scratch (#71494)
Commit: 74c00d432944ca4ada5f105b0d396b55f2692f05
https://github.com/llvm/llvm-project/commit/74c00d432944ca4ada5f105b0d396b55f2692f05
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M llvm/lib/CodeGen/LiveRangeEdit.cpp
A llvm/test/CodeGen/AArch64/clear-dead-implicit-def-impdef.ll
A llvm/test/CodeGen/AArch64/clear-dead-implicit-def-impdef.mir
Log Message:
-----------
LiveRangeEdit: Clear all dead flags when rematerializing (#73933)
It's allowed to rematerialize instructions with implicit-defs of the
same register as the single explicit def. If this happened, it was only
clearing the dead flags on the one main result.
Commit: 943f3e52a0532d1d2b5c743635e1aed15033154b
https://github.com/llvm/llvm-project/commit/943f3e52a0532d1d2b5c743635e1aed15033154b
Author: Philip Reames <preames at rivosinc.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.h
M llvm/test/CodeGen/X86/atomic-unordered.ll
Log Message:
-----------
[X86] Remove x86-experimental-unordered-atomic-isel option and associated code
This option enables an experimental lowering for unordered atomics I worked
on a few years back. It never reached production quality, and hasn't been
worked on in years. So let's rip it out.
This wasn't a crazy idea, but I hit some stumbling block which prevented me
from pushing it across the finish line. From the look of 027aa27, that
change description is probably a good summary. I don't remember the
details any longer.
Commit: 3223936dc512c9f4f87a230a4d2931e37186ca22
https://github.com/llvm/llvm-project/commit/3223936dc512c9f4f87a230a4d2931e37186ca22
Author: Brad Smith <brad at comstyle.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
R compiler-rt/lib/asan/asan_lock.h
R compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_openbsd.cpp
R compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_openbsd.h
R llvm/test/DebugInfo/Inputs/dwarfdump-test3-decl.h
R llvm/test/DebugInfo/Inputs/dwarfdump-test3.cc
R polly/include/polly/CodeGen/CodegenCleanup.h
Log Message:
-----------
[lldb] A start at cleaning up zero byte files that should have been removed
Commit: 98b4c1ee212901f6b6478a928ca74ed6edb311a9
https://github.com/llvm/llvm-project/commit/98b4c1ee212901f6b6478a928ca74ed6edb311a9
Author: Brad Smith <brad at comstyle.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M lldb/include/lldb/Host/netbsd/HostInfoNetBSD.h
M lldb/source/Plugins/Process/Utility/NetBSDSignals.h
M lldb/source/Plugins/Process/Utility/RegisterContextNetBSD_i386.cpp
M lldb/source/Plugins/Process/Utility/RegisterContextNetBSD_x86_64.h
Log Message:
-----------
[lldb][NFC] Minor formatting nits with some of the NetBSD code
Commit: 2fd66e6eb659701b9d4c88708d55d5854a246815
https://github.com/llvm/llvm-project/commit/2fd66e6eb659701b9d4c88708d55d5854a246815
Author: Brad Smith <brad at comstyle.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
A compiler-rt/lib/asan/asan_lock.h
A compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_openbsd.cpp
A compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_openbsd.h
A llvm/test/DebugInfo/Inputs/dwarfdump-test3-decl.h
A llvm/test/DebugInfo/Inputs/dwarfdump-test3.cc
A polly/include/polly/CodeGen/CodegenCleanup.h
Log Message:
-----------
Revert "[lldb] A start at cleaning up zero byte files that should have been removed"
This reverts commit 3223936dc512c9f4f87a230a4d2931e37186ca22.
Commited by accident while mixed in with another commit.
Commit: 1334030f12e8f33a28167d32c51ca956634ec5f7
https://github.com/llvm/llvm-project/commit/1334030f12e8f33a28167d32c51ca956634ec5f7
Author: Joshua Cao <cao.joshua at yahoo.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
A llvm/test/Transforms/TailCallElim/tre-minmax-intrinsic.ll
Log Message:
-----------
[TRE] Add tests for intrinsic accumulators
Commit: 72ffaa915623e337abb5c689b5087d7e1d4477ae
https://github.com/llvm/llvm-project/commit/72ffaa915623e337abb5c689b5087d7e1d4477ae
Author: Joshua Cao <cao.joshua at yahoo.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M llvm/include/llvm/IR/Constants.h
M llvm/include/llvm/IR/IntrinsicInst.h
M llvm/lib/IR/Constants.cpp
M llvm/lib/IR/Instruction.cpp
M llvm/lib/Transforms/Scalar/Reassociate.cpp
M llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp
M llvm/test/Transforms/TailCallElim/accum_recursion.ll
M llvm/test/Transforms/TailCallElim/tre-minmax-intrinsic.ll
Log Message:
-----------
[IR][TRE] Support associative intrinsics (#74226)
There is support for intrinsics in Instruction::isCommunative, but there
is no equivalent implementation for isAssociative. This patch builds
support for associative intrinsics with TRE as an application. TRE can
now have associative intrinsics as an accumulator. For example:
```
struct Node {
Node *next;
unsigned val;
}
unsigned maxval(struct Node *n) {
if (!n) return 0;
return std::max(n->val, maxval(n->next));
}
```
Can be transformed into:
```
unsigned maxval(struct Node *n) {
struct Node *head = n;
unsigned max = 0; // Identity of unsigned std::max
while (true) {
if (!head) return max;
max = std::max(max, head->val);
head = head->next;
}
return max;
}
```
This example results in about 5x speedup in local runs.
We conservatively only consider min/max and as associative for this
patch to limit testing scope. There are probably other intrinsics that
could be considered associative. There are a few consumers of
isAssociative() that could be impacted. Testing has only required to
Reassociate pass be updated.
Commit: 12ed2c90a105f29b9b2f6056d936f47534d31624
https://github.com/llvm/llvm-project/commit/12ed2c90a105f29b9b2f6056d936f47534d31624
Author: Brad Smith <brad at comstyle.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
R compiler-rt/lib/asan/asan_lock.h
R compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_openbsd.cpp
R compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_openbsd.h
R llvm/test/DebugInfo/Inputs/dwarfdump-test3-decl.h
R llvm/test/DebugInfo/Inputs/dwarfdump-test3.cc
R polly/include/polly/CodeGen/CodegenCleanup.h
Log Message:
-----------
[llvm][NFC] A start at cleaning up zero byte files that should have been removed (#74404)
Commit: d11d38cb095b7f86d4c1298ea9806099d2fc4bd6
https://github.com/llvm/llvm-project/commit/d11d38cb095b7f86d4c1298ea9806099d2fc4bd6
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M clang/test/CXX/drs/dr5xx.cpp
Log Message:
-----------
[clang][NFC] Refactor expected directives in C++ DRs 500-599 (#74373)
This patch continues the work started with ea5b1ef016d020c37f903d6c7d4f623be975dab8. See that commit and its
corresponding PR for details.
Commit: 6b4b6d9ba4691fcb59a5e67cb1cac95027a7e132
https://github.com/llvm/llvm-project/commit/6b4b6d9ba4691fcb59a5e67cb1cac95027a7e132
Author: Danila Malyutin <danilaml at users.noreply.github.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
[llvm][docs] Expand section on non-integral pointers (#73242)
Specify their restrictions w.r.t. `align` attribute.
Commit: d50482402662ef6053e5666a1b9fddb46dec0e3a
https://github.com/llvm/llvm-project/commit/d50482402662ef6053e5666a1b9fddb46dec0e3a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M llvm/test/CodeGen/RISCV/push-pop-popret.ll
Log Message:
-----------
[RISCV] Use ABI align in varargs tests in push-pop-popret.ll. NFC (#74423)
The explicit 'align 4' caused the pointers to be underaligned on RV64.
Commit: 543589af492b43d1fe21aaf499bd4d168e64abf1
https://github.com/llvm/llvm-project/commit/543589af492b43d1fe21aaf499bd4d168e64abf1
Author: Amy Wang <kai.ting.wang at huawei.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M mlir/python/mlir/dialects/affine.py
M mlir/test/python/dialects/affine.py
Log Message:
-----------
[mlir][python] python binding wrapper for the affine.AffineForOp (#74408)
This PR creates the wrapper class AffineForOp and adds a testcase for
it. A testcase for the AffineLoadOp is also added.
Commit: 8cfdd37088d662338ec85ac15721dddf3f6d8db6
https://github.com/llvm/llvm-project/commit/8cfdd37088d662338ec85ac15721dddf3f6d8db6
Author: Yonggang Luo <luoyonggang at gmail.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Headers/bmiintrin.h
Log Message:
-----------
[clang] Fixes compile error that double colon operator cannot resolve macro with parentheses. (#68618)
Error message:
```
In file included from ../src/amd/addrlib/src/core/addrobject.h:21:
../src/amd/addrlib/src/core/addrcommon.h:343:13: error: expected unqualified-id
out = ::_tzcnt_u32(mask);
^
/usr/lib/llvm-15/lib/clang/15.0.6/include/bmiintrin.h:74:27: note: expanded from macro '_tzcnt_u32'
#define _tzcnt_u32(a) (__tzcnt_u32((a)))
```
This is because both GCC/Clang doesn't support compiling the following
code:
```
#ifdef _MSC_VER
#include <intrin.h>
#else
#include <x86intrin.h>
#endif
int f(int a) {
return ::(_tzcnt_u32)(a);
}
```
This is because the return statement expects an expression or braced
init list: http://eel.is/c++draft/stmt.jump#general-1 but we really only
need to care about the expression form (there's no braces in sight).
Grammatically, the leading :: will parse as a qualified-id because it
matches the production for nested-name-specifier:
http://eel.is/c++draft/expr.prim.id.qual#nt:qualified-id That needs to
be followed by an unqualified-id
(http://eel.is/c++draft/expr.prim.id.unqual#nt:unqualified-id), but the
open paren does not match any of the grammar productions, so this is a
syntax error.
Closes: https://github.com/llvm/llvm-project/issues/64467
Signed-off-by: Yonggang Luo <luoyonggang at gmail.com>
Commit: 5c70c181a359e651bc58f98a4654e32087abe417
https://github.com/llvm/llvm-project/commit/5c70c181a359e651bc58f98a4654e32087abe417
Author: Brad Smith <brad at comstyle.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M lldb/source/Host/openbsd/HostInfoOpenBSD.cpp
Log Message:
-----------
[lldb] Sync OpenBSD GetOSVersion() closer to NetBSD function (#74396)
Also eliminate an unused variable while here.
Commit: 0ca80eb5e814a6d061556888c9c9fbd04f054a80
https://github.com/llvm/llvm-project/commit/0ca80eb5e814a6d061556888c9c9fbd04f054a80
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M clang/docs/ReleaseNotes.rst
Log Message:
-----------
[NFC] Remove duplicated message resulted from a bad merge I think
Commit: e8dbe945f39f2249fe24e0d62ec8ac998e853c2b
https://github.com/llvm/llvm-project/commit/e8dbe945f39f2249fe24e0d62ec8ac998e853c2b
Author: Ramkumar Ramachandra <Ramkumar.Ramachandra at imgtec.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M llvm/lib/CodeGen/TargetInstrInfo.cpp
M llvm/lib/CodeGen/TargetSchedule.cpp
M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
Log Message:
-----------
TargetInstrInfo, TargetSchedule: fix non-NFC parts of 9468de4 (#74338)
Follow up on a post-commit review of 9468de4 (TargetInstrInfo: make
getOperandLatency return optional (NFC)) by Bjorn Pettersson to fix a
couple of things that are not NFC:
- std::optional<T>::operator<= returns true if the first operand is a
std::nullopt and second operand is T. Fix a couple of places where we
assumed it would return false.
- In TargetSchedule, computeInstrCost could take another codepath,
returning InstrLatency instead of DefaultDefLatency. Fix one instance
not accounting for this behavior.
Commit: 2eb9e33cc57d5acc2232d468a99f0e35c8f583dc
https://github.com/llvm/llvm-project/commit/2eb9e33cc57d5acc2232d468a99f0e35c8f583dc
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorTransferOpTransforms.cpp
M mlir/lib/Dialect/Vector/Utils/VectorUtils.cpp
M mlir/test/Dialect/Vector/vector-transfer-flatten.mlir
M mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp
Log Message:
-----------
[mlir][Vector] Update patterns for flattening vector.xfer Ops (2/N) (#73523)
Updates patterns for flattening `vector.transfer_read` by relaxing the
requirement that the "collapsed" indices are all zero. This enables
collapsing cases like this one:
```mlir
%2 = vector.transfer_read %arg4[%c0, %arg0, %arg1, %c0] ... :
memref<1x43x4x6xi32>, vector<1x2x6xi32>
```
Previously only the following case would be consider for collapsing
(all indices are 0):
```mlir
%2 = vector.transfer_read %arg4[%c0, %c0, %c0, %c0] ... :
memref<1x43x4x6xi32>, vector<1x2x6xi32>
```
Also adds some new comments and renames the `firstContiguousInnerDim`
parameter as `firstDimToCollapse` (the latter better matches the actual
meaning).
Similar updates for `vector.transfer_write` will be implemented in a
follow-up patch.
Commit: 43455a2f0d3cdcd8dc46c4fbdebf4e655b26c2f2
https://github.com/llvm/llvm-project/commit/43455a2f0d3cdcd8dc46c4fbdebf4e655b26c2f2
Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[bazel] port c33e5d59e5dd4f54c3f4cc00d1bedaf644fdb694
Commit: eaba81fd245da952a2a708495bf97d7791e8b965
https://github.com/llvm/llvm-project/commit/eaba81fd245da952a2a708495bf97d7791e8b965
Author: ZengZhijin <977862353 at qq.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
A llvm/test/CodeGen/RISCV/reduce-unnecessary-extension.ll
Log Message:
-----------
[SDAG] Count call argument attributes to reduce unnecessary extension (#73501)
Count how often the value is with signext/zeroext calls
when determining the preferred extension type.
Commit: 892abd34d22076cac2be297222acb269a3d1f605
https://github.com/llvm/llvm-project/commit/892abd34d22076cac2be297222acb269a3d1f605
Author: Hideto Ueno <uenoku.tokotoko at gmail.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M mlir/lib/IR/Verifier.cpp
Log Message:
-----------
[mlir][IR] Make verifyDominanceOfContainedRegions iterative (#74428)
This commit refactors `verifyDominanceOfContainedRegions` to iterative
algorithms similar to https://reviews.llvm.org/D154925 to fix stack
overflow for deeply nested regions (e.g.
https://github.com/llvm/circt/issues/5316). There should be no
functional change except that this could result in slightly different
order of verification.
Commit: 292ecb8b81fbd3784faa237d9f2613e5d962d488
https://github.com/llvm/llvm-project/commit/292ecb8b81fbd3784faa237d9f2613e5d962d488
Author: Nikita Popov <npopov at redhat.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M llvm/test/Transforms/GVN/captured-before.ll
Log Message:
-----------
[GVN] Add test for capture via vector GEP (NFC)
Reported at:
https://github.com/llvm/llvm-project/pull/69931#issuecomment-1839475854
Commit: 383e35048e16c85ab26bc46822d3ceb11fd4d3f2
https://github.com/llvm/llvm-project/commit/383e35048e16c85ab26bc46822d3ceb11fd4d3f2
Author: Nikita Popov <npopov at redhat.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M llvm/lib/Analysis/CaptureTracking.cpp
M llvm/test/Transforms/GVN/captured-before.ll
Log Message:
-----------
[CaptureTracking] Treat vector GEPs as captures
Because AA does not support vectors of pointers, we have to
treat pointers that are inserted into a vector as captures. We
mostly already do so, but missed the case where getelementptr
is used to produce a vector.
Commit: 432bb523e2939ca6049356efb4fa90b64b1ea7dc
https://github.com/llvm/llvm-project/commit/432bb523e2939ca6049356efb4fa90b64b1ea7dc
Author: eleviant <56861949+eleviant at users.noreply.github.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M llvm/lib/AsmParser/LLParser.cpp
A llvm/test/Assembler/index-value-order.ll
Log Message:
-----------
Fix parsing out-of-order ValueInfos (#73239)
AsmParser creates dummy values when value identifiers are not going in ascending order and tries to use those dummy values when/if they are being referenced. We need to postpone this until all required data is read.
Commit: 6b8d659062a0f9a7daa641432701dc6996939dc5
https://github.com/llvm/llvm-project/commit/6b8d659062a0f9a7daa641432701dc6996939dc5
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Flang.cpp
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/test/Driver/driver-help-hidden.f90
M flang/test/Driver/driver-help.f90
M flang/test/Driver/falias-analysis.f90
Log Message:
-----------
[flang] remove -f[no-]alias-analysis (#74343)
Now that tbaa tags pass is enabled by default, I would like to remove
these flags. `-fno-alias-analysis` was originally intended to be useful
for debugging, but as it also disables tbaa tag generation in codegen,
it turned out to be too noisy.
@banach-space expressed that these flags felt too non-standard.
The tbaa tags pass can be toggled using `-mllvm
-disable-fir-alias-tags=0`
Commit: fd870c6fa987869abc9c7fa4a59037088ac71636
https://github.com/llvm/llvm-project/commit/fd870c6fa987869abc9c7fa4a59037088ac71636
Author: Billy Zhu <billyzhu at modular.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M mlir/lib/Target/LLVMIR/DebugTranslation.cpp
M mlir/test/Target/LLVMIR/llvmir-debug.mlir
Log Message:
-----------
[MLIR][LLVM] Translate Debug EmissionKind (#74376)
Translate debug emission kind into LLVM (the importer already supports
this).
Commit: 1c55b227fe7d42b3ad18bf9e485fca66f14fa751
https://github.com/llvm/llvm-project/commit/1c55b227fe7d42b3ad18bf9e485fca66f14fa751
Author: Jay Foad <jay.foad at amd.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AMDGPU/SOPInstructions.td
A llvm/test/MC/AMDGPU/gfx12_asm_sop1.s
A llvm/test/MC/AMDGPU/gfx12_asm_sop2.s
A llvm/test/MC/AMDGPU/gfx12_asm_sop2_alias.s
A llvm/test/MC/AMDGPU/gfx12_asm_sopc.s
A llvm/test/MC/AMDGPU/gfx12_asm_sopk.s
A llvm/test/MC/AMDGPU/gfx12_asm_sopk_alias.s
A llvm/test/MC/AMDGPU/gfx12_asm_sopp.s
A llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sop1.txt
A llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sop2.txt
A llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sopc.txt
A llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sopk.txt
A llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sopp.txt
Log Message:
-----------
[AMDGPU] Add GFX12 encoding and aliases for existing SOP (SALU) instructions (#74305)
Commit: 0d0c2298552222b049fa3b8db5efef4b161e51e9
https://github.com/llvm/llvm-project/commit/0d0c2298552222b049fa3b8db5efef4b161e51e9
Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
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:
-----------
Revert "Reapply "ValueTracking: Identify implied fp classes by general fcmp (#66505)""
This reverts commit d55692d60d218f402ce107520daabed15f2d9ef6.
See discussion in #66505: assertion fires in OSS build of TensorFlow.
Commit: b14094885077fb10ae688a4cae85f7cfee795fb3
https://github.com/llvm/llvm-project/commit/b14094885077fb10ae688a4cae85f7cfee795fb3
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M libc/src/__support/CMakeLists.txt
M libc/src/__support/FPUtil/CMakeLists.txt
M libc/src/__support/FPUtil/FPBits.h
M libc/src/__support/FPUtil/Hypot.h
M libc/src/__support/FPUtil/generic/CMakeLists.txt
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/HashTable/CMakeLists.txt
M libc/src/__support/HashTable/bitmask.h
M libc/src/__support/HashTable/table.h
M libc/src/__support/UInt.h
R libc/src/__support/bit.h
M libc/src/__support/hash.h
M libc/src/__support/integer_utils.h
M libc/src/__support/memory_size.h
M libc/src/__support/str_to_float.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/powf.cpp
M libc/src/string/memory_utils/op_builtin.h
M libc/src/string/memory_utils/utils.h
M libc/test/src/__support/CMakeLists.txt
M libc/test/src/__support/HashTable/table_test.cpp
R libc/test/src/__support/bit_test.cpp
M libc/test/src/__support/memory_size_test.cpp
M libc/test/src/search/hsearch_test.cpp
M libc/test/src/string/memory_utils/utils_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/__support/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/math/libc_math_test_rules.bzl
Log Message:
-----------
[libc][NFC] Remove __support/bit.h and use __support/CPP/bit.h instead (#73939)
Commit: de7fdc5b54c229f05ddacc33a49203762cdb5f66
https://github.com/llvm/llvm-project/commit/de7fdc5b54c229f05ddacc33a49203762cdb5f66
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M libc/src/__support/CMakeLists.txt
M libc/src/__support/FPUtil/CMakeLists.txt
M libc/src/__support/FPUtil/FPBits.h
M libc/src/__support/FPUtil/Hypot.h
M libc/src/__support/FPUtil/generic/CMakeLists.txt
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/HashTable/CMakeLists.txt
M libc/src/__support/HashTable/bitmask.h
M libc/src/__support/HashTable/table.h
M libc/src/__support/UInt.h
A libc/src/__support/bit.h
M libc/src/__support/hash.h
M libc/src/__support/integer_utils.h
M libc/src/__support/memory_size.h
M libc/src/__support/str_to_float.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/powf.cpp
M libc/src/string/memory_utils/op_builtin.h
M libc/src/string/memory_utils/utils.h
M libc/test/src/__support/CMakeLists.txt
M libc/test/src/__support/HashTable/table_test.cpp
A libc/test/src/__support/bit_test.cpp
M libc/test/src/__support/memory_size_test.cpp
M libc/test/src/search/hsearch_test.cpp
M libc/test/src/string/memory_utils/utils_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/__support/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/math/libc_math_test_rules.bzl
Log Message:
-----------
Revert "[libc][NFC] Remove __support/bit.h and use __support/CPP/bit.h instead" (#74444)
Reverts llvm/llvm-project#73939
This broke libc-aarch64-ubuntu build bot
https://lab.llvm.org/buildbot/#/builders/138/builds/56186
Commit: 1d894788305c624c700ae332742886823554560e
https://github.com/llvm/llvm-project/commit/1d894788305c624c700ae332742886823554560e
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M libc/src/__support/CMakeLists.txt
M libc/src/__support/FPUtil/CMakeLists.txt
M libc/src/__support/FPUtil/FPBits.h
M libc/src/__support/FPUtil/Hypot.h
M libc/src/__support/FPUtil/generic/CMakeLists.txt
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/HashTable/CMakeLists.txt
M libc/src/__support/HashTable/bitmask.h
M libc/src/__support/HashTable/table.h
M libc/src/__support/UInt.h
R libc/src/__support/bit.h
M libc/src/__support/hash.h
M libc/src/__support/integer_utils.h
M libc/src/__support/memory_size.h
M libc/src/__support/str_to_float.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/powf.cpp
M libc/src/string/memory_utils/op_aarch64.h
M libc/src/string/memory_utils/op_builtin.h
M libc/src/string/memory_utils/utils.h
M libc/test/src/__support/CMakeLists.txt
M libc/test/src/__support/HashTable/table_test.cpp
R libc/test/src/__support/bit_test.cpp
M libc/test/src/__support/memory_size_test.cpp
M libc/test/src/search/hsearch_test.cpp
M libc/test/src/string/memory_utils/utils_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/__support/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/math/libc_math_test_rules.bzl
Log Message:
-----------
[reland][libc][NFC] Remove __support/bit.h and use __support/CPP/bit.h instead (#73939) (#74446)
Same as #73939 but also fix `libc/src/string/memory_utils/op_aarch64.h`
that was still using `deferred_static_assert`.
Commit: 900bb318b5b8c485e57cf810253a656b0fb683bc
https://github.com/llvm/llvm-project/commit/900bb318b5b8c485e57cf810253a656b0fb683bc
Author: Owen Pan <owenpiano at gmail.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M clang/tools/clang-format/clang-format-diff.py
Log Message:
-----------
[clang-format][NFC] Use `prog` in clang-format-diff.py (#74399)
This is a minor improvement to #73491.
Commit: 3257e4ca1657b3a018acac737f8c2b88f5805400
https://github.com/llvm/llvm-project/commit/3257e4ca1657b3a018acac737f8c2b88f5805400
Author: Radu Salavat <radusalavat48 at gmail.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMEnums.td
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
A mlir/test/Target/LLVMIR/Import/frame-pointer.ll
A mlir/test/Target/LLVMIR/frame-pointer.mlir
Log Message:
-----------
[MLIR] Add support for frame pointers in MLIR (#72145)
Add support for frame pointers in MLIR.
---------
Co-authored-by: Markus Böck <markus.boeck02 at gmail.com>
Co-authored-by: Christian Ulmann <christianulmann at gmail.com>
Commit: 7788ef4be19fdbcd0c1f5ecf9f5cc52ab8b4ac1e
https://github.com/llvm/llvm-project/commit/7788ef4be19fdbcd0c1f5ecf9f5cc52ab8b4ac1e
Author: Matthew Devereau <matthew.devereau at arm.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M clang/include/clang/Basic/arm_sme.td
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_ldr_str_zt.c
M clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_imm.cpp
Log Message:
-----------
[AArch64][SME2] Remove IsPreservesZA from ldr_zt builtin (#74303)
Commit: 72c6ca694384744225bbfcbd899602848e46e8ff
https://github.com/llvm/llvm-project/commit/72c6ca694384744225bbfcbd899602848e46e8ff
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M lld/COFF/Driver.cpp
M lld/COFF/Writer.cpp
M lld/test/COFF/Inputs/loadconfig-arm64ec.s
A lld/test/COFF/pdata-arm64ec.test
Log Message:
-----------
[lld][COFF] Support .pdata section on ARM64EC targets. (#72521)
ARM64EC needs to handle both ARM and x86_64 exception tables. This is
achieved by separating their chunks and sorting them separately.
EXCEPTION_TABLE directory references x86_64 variant, while ARM variant
is exposed using CHPE metadata, which references
__arm64x_extra_rfe_table and __arm64x_extra_rfe_table_size symbols.
Commit: 40381d12640932a4e8185d18e5a0da84b4e449c0
https://github.com/llvm/llvm-project/commit/40381d12640932a4e8185d18e5a0da84b4e449c0
Author: Samira Bazuzi <bazuzi at users.noreply.github.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/unittests/Analysis/FlowSensitive/DataflowEnvironmentTest.cpp
Log Message:
-----------
[clang][dataflow] Re-land: Retrieve members from accessors called usi… (#74336)
…ng member pointers.
This initially landed with a broken test due to a mid-air collision with
a new requirement for Environment initialization before field modeling.
Have added that initialization in the test.
>From first landing:
getMethodDecl does not handle pointers to members and returns nullptr
for them. getMethodDecl contains a decade-plus-old FIXME to handle
pointers to members, but two approaches I looked at for fixing it are
more invasive or complex than simply swapping to getCalleeDecl.
The first, have getMethodDecl call getCalleeDecl, creates a large tree
of const-ness mismatches due to getMethodDecl returning a non-const
value while being a const member function and getCalleeDecl only being a
const member function when it returns a const value.
The second, implementing an AST walk to match how
CXXMemberCallExpr::getImplicitObjectArgument grabs the LHS of the binary
operator, is basically reimplementing Expr::getReferencedDeclOfCallee,
which is used by Expr::getCalleeDecl. We don't need another copy of that
code.
Commit: b21175258b9a9a930acddef8ebc911e39095a436
https://github.com/llvm/llvm-project/commit/b21175258b9a9a930acddef8ebc911e39095a436
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M llvm/lib/Transforms/Utils/LoopRotationUtils.cpp
A llvm/test/Transforms/LoopRotate/delete-dbg-values.ll
Log Message:
-----------
[DebugInfo][RemoveDIs] Avoid crash and output-difference in loop-rotate (#74093)
Avoid editing a range of DPValues and then remapping them. This occurs
when we try to de-duplicate dbg.values, but then re-use the same
iterator range. We can instead remap them, and then erase any
duplicates.
At the same time refactor the computation of seen-intrinsic hashes, and
account for a peculiarity of loop-rotates existing behaviour: it will
only deduplicate dbg.values that are immediately before the preheaders
branch instruction, not just any dbg.value in the preheader.
Commit: 77249546aa5114b36734123fe5bb65310e516aea
https://github.com/llvm/llvm-project/commit/77249546aa5114b36734123fe5bb65310e516aea
Author: David Spickett <david.spickett at linaro.org>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M .github/workflows/new-prs.yml
M llvm/utils/git/github-automation.py
Log Message:
-----------
[GitHub] Add greeting comment to opened PRs from new contributors (#72384)
This includes some commonly needed information like how to add
reviewers.
This is implemented as a job before the labeler, so that on a new PR the
comment is added before there are any subscribers and only the author
gets a nofitication.
The labeler job depends on the greeter having run or having been
skipped. So if the PR wasn't just opened, or it's from a regular
contributor, the labeling still happens.
But we can be sure that when a greeting comment is left, it's the very
first thing we do.
Commit: 17de468df1af6479f31bb8c02973e01702f7b240
https://github.com/llvm/llvm-project/commit/17de468df1af6479f31bb8c02973e01702f7b240
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/lib/Dialect/LLVMIR/IR/LLVMAttrs.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
A mlir/test/Target/LLVMIR/Import/target-features.ll
M mlir/test/Target/LLVMIR/llvmir-invalid.mlir
A mlir/test/Target/LLVMIR/target-features.mlir
Log Message:
-----------
[mlir][llvm] Add llvm.target_features features attribute (#71510)
This patch adds a target_features (TargetFeaturesAttr) to the LLVM
dialect to allow setting and querying the features in use on a function.
The motivation for this comes from the Arm SME dialect where we would
like a convenient way to check what variants of an operation are
available based on the CPU features.
Intended usage:
The target_features attribute is populated manually or by a pass:
```mlir
func.func @example() attributes {
target_features = #llvm.target_features<["+sme", "+sve", "+sme-f64f64"]>
} {
// ...
}
```
Then within a later rewrite the attribute can be checked, and used to
make lowering decisions.
```c++
// Finds the "target_features" attribute on the parent
// FunctionOpInterface.
auto targetFeatures = LLVM::TargetFeaturesAttr::featuresAt(op);
// Check a feature.
// Returns false if targetFeatures is null or the feature is not in
// the list.
if (!targetFeatures.contains("+sme-f64f64"))
return failure();
```
For now, this is rather simple just checks if the exact feature is in
the list, though it could be possible to extend with implied features
using information from LLVM.
Commit: 13da9a58c5c823eeda6af125ef6df9d8b0748bd2
https://github.com/llvm/llvm-project/commit/13da9a58c5c823eeda6af125ef6df9d8b0748bd2
Author: Rik Huijzer <github at huijzer.xyz>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/test/Target/LLVMIR/llvmir-invalid.mlir
Log Message:
-----------
[mlir][llvm] Fix verifier for const int and dense (#74340)
Continuation of https://github.com/llvm/llvm-project/pull/74247 to fix
https://github.com/llvm/llvm-project/issues/56962. Fixes verifier for
(Integer Attr):
```mlir
llvm.mlir.constant(1 : index) : f32
```
and (Dense Attr):
```mlir
llvm.mlir.constant(dense<100.0> : vector<1xf64>) : f32
```
## Integer Attr
The addition that this PR makes to `LLVM::ConstantOp::verify` is meant
to be exactly verifying the code in
`mlir::LLVM::detail::getLLVMConstant`:
https://github.com/llvm/llvm-project/blob/9f78edbd20ed922cced9482f7791deb9899a6d82/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp#L350-L353
One failure mode is when the `type` (`llvm.mlir.constant(<value>) :
<type>`) is not an `Integer`, because then the `cast` in
`getIntegerBitWidth` will crash:
https://github.com/llvm/llvm-project/blob/dca432cb7b1c282f5dc861095813c4f40f109619/llvm/include/llvm/IR/DerivedTypes.h#L97-L99
So that's now caught in the verifier.
Apart from that, I don't see anything we could check for. `sextOrTrunc`
means "Sign extend or truncate to width" and that one is quite
permissive. For example, the following doesn't have to be caught in the
verifier as it doesn't crash during `mlir-translate -mlir-to-llvmir`:
```mlir
llvm.func @main() -> f32 {
%cst = llvm.mlir.constant(100 : i64) : f32
llvm.return %cst : f32
}
```
## Dense Attr
Crash if not either a MLIR Vector type or one of these:
https://github.com/llvm/llvm-project/blob/9f78edbd20ed922cced9482f7791deb9899a6d82/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp#L375-L391
Commit: 58dcac3948e8c9e0f24eb57fb6014366b75b2095
https://github.com/llvm/llvm-project/commit/58dcac3948e8c9e0f24eb57fb6014366b75b2095
Author: Florian Hahn <flo at fhahn.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/test/CodeGen/AArch64/store-swift-async-context-clobber-live-reg.ll
Log Message:
-----------
[AArch64] Check X16&X17 in prologue if the fn has an SwiftAsyncContext. (#73945)
StoreSwiftAsyncContext clobbers X16 & X17. Make sure they are available
in canUseAsPrologue, to avoid shrink wrapping moving the pseudo to a
place where X16 or X17 are live.
Commit: 7931426e21753ad330e710148bb291e6fdff1dab
https://github.com/llvm/llvm-project/commit/7931426e21753ad330e710148bb291e6fdff1dab
Author: Andrzej Warzynski <andrzej.warzynski at arm.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M mlir/test/Dialect/Vector/vector-transfer-flatten.mlir
Log Message:
-----------
[mlir][nfc] Add missing comment in a test
Commit: 600c12987e17d8be174bb4e4cd95244c598676e6
https://github.com/llvm/llvm-project/commit/600c12987e17d8be174bb4e4cd95244c598676e6
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M llvm/lib/IR/Metadata.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/unittests/IR/DebugInfoTest.cpp
Log Message:
-----------
[DebugInfo][RemoveDIs] Reverse order of DPValues from findDbgUsers (#74099)
The order of dbg.value intrinsics appearing in the output can affect the
order of tables in DWARF sections. This means that DPValues, our
dbg.value replacement, needs to obey the same ordering rules. For
dbg.values returned by findDbgUsers it's reverse order of creation (due
to how they're put on use-lists). Produce that order from findDbgUsers
for DPValues.
I've got a few IR files where the order of dbg.values flips, but it's a
fragile test -- ultimately it needs the number of times a DPValue is
handled by findDbgValues to be odd.
Commit: ecf881838045985f381003cc27569c73a207d0cc
https://github.com/llvm/llvm-project/commit/ecf881838045985f381003cc27569c73a207d0cc
Author: Valery Pykhtin <valery.pykhtin at gmail.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M llvm/test/CodeGen/AMDGPU/regpressure_printer.mir
Log Message:
-----------
[AMDGPU] Presubmit test: max register pressure on defs. (#74424)
Upcoming patch #74422.
Commit: dd04e183045f9fb2fb2322df4d623b60c0942850
https://github.com/llvm/llvm-project/commit/dd04e183045f9fb2fb2322df4d623b60c0942850
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M llvm/test/CodeGen/X86/fold-pcmpeqd-2.ll
Log Message:
-----------
[X86]fold-pcmpeqd-2.ll - replace X32 check prefix with X86
We use X32 for gnux32 triples - X86 should be used for 32-bit triples
Commit: 21b986637b950bb1762a38201223d62c4bca0dce
https://github.com/llvm/llvm-project/commit/21b986637b950bb1762a38201223d62c4bca0dce
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M libc/test/src/__support/memory_size_test.cpp
Log Message:
-----------
[libc] Fix arm32 tests (#74457)
`ASSERT_EQ` requires that both operands have the same type but on arm32
`size_t` is `unsigned int` instead of `unsigned long`. Using `size_t`
explicitely to avoid "conflicting types for parameter 'ValType"
Commit: eecb99c5f66c8491766628a2925587e20f3b1dbd
https://github.com/llvm/llvm-project/commit/eecb99c5f66c8491766628a2925587e20f3b1dbd
Author: Nikita Popov <npopov at redhat.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M llvm/test/Analysis/CostModel/X86/interleaved-load-half.ll
M llvm/test/Analysis/CostModel/X86/masked-interleaved-load-i16.ll
M llvm/test/Analysis/CostModel/X86/masked-interleaved-store-i16.ll
M llvm/test/Analysis/DependenceAnalysis/ExactRDIV.ll
M llvm/test/Analysis/DependenceAnalysis/ExactSIV.ll
M llvm/test/Analysis/DependenceAnalysis/GCD.ll
M llvm/test/Analysis/LoopAccessAnalysis/stride-access-dependence.ll
M llvm/test/Analysis/ScalarEvolution/nsw-offset-assume.ll
M llvm/test/Analysis/ScalarEvolution/nsw-offset.ll
M llvm/test/Analysis/ScalarEvolution/sext-mul.ll
M llvm/test/CodeGen/AArch64/aarch64-sched-store.ll
M llvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm.ll
M llvm/test/CodeGen/ARM/ParallelDSP/smlad0.ll
M llvm/test/CodeGen/ARM/ParallelDSP/smlad11.ll
M llvm/test/CodeGen/ARM/ParallelDSP/smladx-1.ll
M llvm/test/CodeGen/ARM/ParallelDSP/smlald0.ll
M llvm/test/CodeGen/ARM/ParallelDSP/smlald2.ll
M llvm/test/CodeGen/ARM/ParallelDSP/smlaldx-1.ll
M llvm/test/CodeGen/ARM/ParallelDSP/smlaldx-2.ll
M llvm/test/CodeGen/ARM/ParallelDSP/unroll-n-jam-smlad.ll
M llvm/test/CodeGen/ARM/dsp-loop-indexing.ll
M llvm/test/CodeGen/ARM/fpclamptosat.ll
M llvm/test/CodeGen/ARM/loop-indexing.ll
M llvm/test/CodeGen/ARM/shifter_operand.ll
M llvm/test/CodeGen/Hexagon/autohvx/interleave.ll
M llvm/test/CodeGen/PowerPC/rematerializable-instruction-machine-licm.ll
M llvm/test/CodeGen/RISCV/riscv-codegenprepare-asm.ll
M llvm/test/CodeGen/SystemZ/vec-load-element.ll
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/fast-fp-loops.ll
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/mve-float-loops.ll
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/mve-tail-data-types.ll
M llvm/test/CodeGen/Thumb2/mve-blockplacement.ll
M llvm/test/CodeGen/Thumb2/mve-tailpred-loopinvariant.ll
M llvm/test/CodeGen/Thumb2/pacbti-m-vla.ll
M llvm/test/CodeGen/WebAssembly/unrolled-mem-indices.ll
M llvm/test/CodeGen/X86/2008-08-06-CmpStride.ll
M llvm/test/CodeGen/X86/MergeConsecutiveStores.ll
M llvm/test/CodeGen/X86/avx512vnni-combine.ll
M llvm/test/CodeGen/X86/avxvnni-combine.ll
M llvm/test/CodeGen/X86/loop-strength-reduce4.ll
M llvm/test/CodeGen/X86/lsr-addrecloops.ll
M llvm/test/CodeGen/X86/lsr-loop-exit-cond.ll
M llvm/test/CodeGen/X86/merge_store.ll
M llvm/test/CodeGen/X86/optimize-max-0.ll
M llvm/test/CodeGen/X86/unused_stackslots.ll
M llvm/test/Transforms/IRCE/stride_more_than_1.ll
M llvm/test/Transforms/IndVarSimplify/ashr-tripcount.ll
M llvm/test/Transforms/IndVarSimplify/lcssa-preservation.ll
M llvm/test/Transforms/IndVarSimplify/no-iv-rewrite.ll
M llvm/test/Transforms/IndVarSimplify/pr58702-invalidate-scev-when-replacing-congruent-phis.ll
M llvm/test/Transforms/IndVarSimplify/pr64891.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/complex-index.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/extended-index.ll
M llvm/test/Transforms/LoopIdiom/unroll-custom-dl.ll
M llvm/test/Transforms/LoopIdiom/unroll.ll
M llvm/test/Transforms/LoopInterchange/pr57148.ll
M llvm/test/Transforms/LoopReroll/basic32iters.ll
M llvm/test/Transforms/LoopReroll/indvar_with_ext.ll
M llvm/test/Transforms/LoopReroll/reduction.ll
M llvm/test/Transforms/LoopReroll/reroll_with_dbg.ll
M llvm/test/Transforms/LoopStrengthReduce/ARM/complexity.ll
M llvm/test/Transforms/LoopStrengthReduce/ARM/ivchain-ARM.ll
M llvm/test/Transforms/LoopStrengthReduce/X86/ivchain-X86.ll
M llvm/test/Transforms/LoopStrengthReduce/X86/missing-phi-operand-update.ll
M llvm/test/Transforms/LoopUnroll/X86/high-cost-expansion.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll
M llvm/test/Transforms/LoopVectorize/AArch64/strict-fadd.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-masked-accesses.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-option.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-reductions.ll
M llvm/test/Transforms/LoopVectorize/X86/interleaving.ll
M llvm/test/Transforms/LoopVectorize/X86/pr47437.ll
M llvm/test/Transforms/LoopVectorize/X86/scatter_crash.ll
M llvm/test/Transforms/LoopVectorize/X86/x86-interleaved-accesses-masked-group.ll
M llvm/test/Transforms/LoopVectorize/X86/x86-interleaved-store-accesses-with-gaps.ll
M llvm/test/Transforms/LoopVectorize/interleaved-accesses-masked-group.ll
M llvm/test/Transforms/LoopVectorize/interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/pr39099.ll
M llvm/test/Transforms/LoopVectorize/reduction-with-invariant-store.ll
M llvm/test/Transforms/LoopVectorize/unroll_nonlatch.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/loadorder.ll
M llvm/test/Transforms/SLPVectorizer/NVPTX/v2f16.ll
M llvm/test/Transforms/SLPVectorizer/X86/compare-reduce.ll
M llvm/test/Transforms/SLPVectorizer/X86/consecutive-access.ll
M llvm/test/Transforms/SLPVectorizer/X86/hoist.ll
M llvm/test/Transforms/SLPVectorizer/X86/horizontal.ll
M llvm/test/Transforms/SLPVectorizer/X86/in-tree-user.ll
M llvm/test/Transforms/SLPVectorizer/X86/loopinvariant.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduction.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduction2.ll
M llvm/test/Transforms/SLPVectorizer/X86/remark_horcost.ll
M llvm/test/Transforms/SLPVectorizer/X86/remark_not_all_parts.ll
M llvm/test/Transforms/SLPVectorizer/X86/scheduling.ll
M llvm/test/Transforms/SLPVectorizer/X86/simple-loop.ll
M llvm/test/Transforms/SLPVectorizer/X86/slp-throttle.ll
Log Message:
-----------
[Tests] Add disjoint flag to some tests (NFC)
These tests rely on SCEV looking recognizing an "or" with no common
bits as an "add". Add the disjoint flag to relevant or instructions
in preparation for switching SCEV to use the flag instead of the
ValueTracking query. The IR with disjoint flag matches what
InstCombine would produce.
Commit: 0626cedb17555ee003bec7588c7b3d51353793a2
https://github.com/llvm/llvm-project/commit/0626cedb17555ee003bec7588c7b3d51353793a2
Author: Samuel Tebbs <samuel.tebbs at arm.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
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_st1.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_st1_vnum.c
Log Message:
-----------
[clang][NFC] Replace ARM_STREAMING_ATTR in tests with SME streaming attribute
Some tests were testing SME builtins before the streaming attributes
existed, and so either inserted them or not depending on a macro
definition. The intention was for the macro to be defined once the
attributes were added to clang, but it never was defined. This change
removes the macro logic and adds the attribute now that they have been
added to clang.
Commit: 17168f7f786b051dd4737a576ba371742a29894d
https://github.com/llvm/llvm-project/commit/17168f7f786b051dd4737a576ba371742a29894d
Author: Nikita Popov <npopov at redhat.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M polly/test/CodeGen/MemAccess/create_arrays_heap.ll
M polly/test/ForwardOpTree/out-of-quota1.ll
M polly/test/JSONExporter/ImportArrays/ImportArrays-Negative-size.ll
M polly/test/ScopInfo/multi-scop.ll
Log Message:
-----------
[Polly] Add disjoint flag to some tests (NFC)
Commit: cd865e36dbc0b1778739348ac9a25eb18b5c5c16
https://github.com/llvm/llvm-project/commit/cd865e36dbc0b1778739348ac9a25eb18b5c5c16
Author: Nikita Popov <npopov at redhat.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/lib/Transforms/InstCombine/InstCombineNegator.cpp
M llvm/test/Transforms/InstCombine/sub-of-negatible.ll
Log Message:
-----------
[InstCombine] Use disjoint flag instead of haveNoCommonBitsSet()
Slightly stronger, if disjoint was inferred earlier with information
that is no longer available.
Commit: 186695929db632b057334757923d1cab1aa395ca
https://github.com/llvm/llvm-project/commit/186695929db632b057334757923d1cab1aa395ca
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M llvm/lib/IR/Instruction.cpp
M llvm/unittests/IR/BasicBlockDbgInfoTest.cpp
Log Message:
-----------
[DebugInfo][RemoveDIs] Cope with instructions moving after themselves (#74113)
We occasionally move instructions to their own positions, which is not
an error, and has no effect on the program. However, if dbg.value
intrinsics are present then they can effectively be moved without any
other effect on the program.
This is a problem if we're using non-instruction debug-info: a moveAfter
that appears to be a no-op in RemoveDIs mode can jump in front of
intrinsics in dbg.value mode. Thus: if an instruction is moved to itself
and the head bit is set, force attached debug-info to shift down one
instruction, which replicates the dbg.value behaviour.
Commit: e4710872e98a931c6d5e89bc965b778746ead2c0
https://github.com/llvm/llvm-project/commit/e4710872e98a931c6d5e89bc965b778746ead2c0
Author: Nikita Popov <npopov at redhat.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M llvm/include/llvm/IR/PatternMatch.h
M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
M llvm/test/Transforms/InstCombine/add.ll
Log Message:
-----------
[InstCombine] Use disjoint flag in add of or fold
Use disjoint instead of haveNoCommonBitsSet(), which is slightly
stronger in case the information used to infer disjoint has been
lost.
Introduce the m_DisjointOr() matcher to make handling cases like
this cleaner.
Commit: c27de23b27dae50c5f49ad9fd69ddac9410a3e6e
https://github.com/llvm/llvm-project/commit/c27de23b27dae50c5f49ad9fd69ddac9410a3e6e
Author: Dominik Wójt <dominik.wojt at arm.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M libcxx/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/generic_category.pass.cpp
M libcxx/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/system_category.pass.cpp
Log Message:
-----------
[libc++] tests with picolibc: Fix expected error message (#74452)
Newlib's strerror function returns an empty string for unknown errnum
values as described in [1].
[1]: https://sourceware.org/git/?p=newlib-cygwin.git;a=blob;f=newlib/libc/string/strerror.c;hb=HEAD
Commit: 94708fbc0fa06b18c9b263ecb78d20a95a194e7f
https://github.com/llvm/llvm-project/commit/94708fbc0fa06b18c9b263ecb78d20a95a194e7f
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M clang/test/CXX/drs/dr6xx.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[clang][NFC] Fill in historical data on when C++ DRs 600-699 were fixed
Commit: 4ea268d831a79a1e466a126e4188b3a3b8615777
https://github.com/llvm/llvm-project/commit/4ea268d831a79a1e466a126e4188b3a3b8615777
Author: Baodi <lwshanbd at gmail.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_private_codegen.cpp
M clang/test/OpenMP/distribute_simd_private_codegen.cpp
A clang/test/OpenMP/simd_private_taskloop_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_private_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_private_codegen.cpp
Log Message:
-----------
[Clang][OpenMP] Fix private variables registration in `simd` (#74105)
Fix #69214
In `emitOMPSimdRegion`, the `EmitOMPPrivateLoopCounters` should be after
`EmitOMPPrivateClause`.
If not, the private variables will be registered too early, which is not
allowed by `EmitOMPPrivateClause`.
Commit: 056367bb1933d8484463489dc9af0b1dce0c14a9
https://github.com/llvm/llvm-project/commit/056367bb1933d8484463489dc9af0b1dce0c14a9
Author: Alexey Bataev <5361294+alexey-bataev at users.noreply.github.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/X86/drop-poison-generating-flags.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing.ll
Log Message:
-----------
[LV]Support dropping of nneg flag for zext widencast recipes. (#74112)
Compiler crashes when the assertion triggered for zext nneg instruction,
that checks that the instruction cannot produce poison. Changed the base
class for widencast recipe to handle dropping nneg flag to avoid
compiler crash.
Commit: 410bf5e1425432e49a46d3c4b7962b747a976c85
https://github.com/llvm/llvm-project/commit/410bf5e1425432e49a46d3c4b7962b747a976c85
Author: Nikita Popov <npopov at redhat.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
M llvm/test/Transforms/InstCombine/mul.ll
Log Message:
-----------
[InstCombine] Use disjoint flag in mul of or fold
Slightly more powerful if the information used to infer disjoint
was lost.
Commit: 164c204a19f7859d570003d4c5e82faf48cb65a9
https://github.com/llvm/llvm-project/commit/164c204a19f7859d570003d4c5e82faf48cb65a9
Author: Stephan T. Lavavej <stl at nuwen.net>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M libcxx/test/std/algorithms/alg.modifying.operations/alg.move/move.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.move/move_backward.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.count/count.pass.cpp
M libcxx/test/std/containers/views/mdspan/ConvertibleToIntegral.h
M libcxx/test/std/numerics/rand/rand.device/ctor.pass.cpp
M libcxx/test/std/strings/string.view/string.view.comparison/equal.pass.cpp
M libcxx/test/std/strings/string.view/string.view.comparison/greater.pass.cpp
M libcxx/test/std/strings/string.view/string.view.comparison/greater_equal.pass.cpp
M libcxx/test/std/strings/string.view/string.view.comparison/less.pass.cpp
M libcxx/test/std/strings/string.view/string.view.comparison/less_equal.pass.cpp
M libcxx/test/std/strings/string.view/string.view.comparison/not_equal.pass.cpp
M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.scoped/mutex.pass.cpp
M libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/default.pass.cpp
M libcxx/test/support/test_macros.h
Log Message:
-----------
[libc++][test] Fix simple warnings (#74186)
Found while running libc++'s tests with MSVC's STL. This fixes 3 kinds of warnings:
- Add void-casts to fix `-Wunused-variable` warnings.
- Avoid sign/truncation warnings in `ConvertibleToIntegral.h`.
- Add `TEST_STD_AT_LEAST_23_OR_RUNTIME_EVALUATED` to avoid mixing preprocessor
and runtime tests.
- Cleanup: Add `TEST_STD_AT_LEAST_20_OR_RUNTIME_EVALUATED` for
consistency.
Commit: 9e4210faf20014bf8637040b2231cbcd83c38ddd
https://github.com/llvm/llvm-project/commit/9e4210faf20014bf8637040b2231cbcd83c38ddd
Author: Craig Topper <craig.topper at sifive.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M llvm/test/CodeGen/RISCV/vararg.ll
Log Message:
-----------
[RISCV] Use iXLen for ptr<->int casts in vararg.ll (#74426)
Also use ABI alignment for ptr sized objects.
This makes the code more sane and avoids only loading part of what was
stored by vastart on RV64.
Commit: dfdedaf6dae0b4e54c64c740f8d22567447e0f8d
https://github.com/llvm/llvm-project/commit/dfdedaf6dae0b4e54c64c740f8d22567447e0f8d
Author: DonatNagyE <donat.nagy at ericsson.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp
M clang/test/Analysis/out-of-bounds-diagnostics.c
M clang/test/Analysis/out-of-bounds-new.cpp
M clang/test/Analysis/taint-diagnostic-visitor.c
Log Message:
-----------
[analyzer] Switch to PostStmt callbacks in ArrayBoundV2 (#72107)
...instead of the currently used, more abstract Location callback. The
main advantage of this change is that after it the checker will check
`array[index].field` while the previous implementation ignored this
situation (because here the ElementRegion is wrapped in a FieldRegion
object). This improvement fixes PR #70187.
Note that after this change `&array[idx]` will be handled as an access
to the `idx`th element of `array`, which is technically incorrect but
matches the programmer intuitions. In my opinion it's more helpful if
the report points to the source location where the indexing happens
(instead of the location where a pointer is finally dereferenced).
As a special case, this change allows code that forms the past-the-end
pointer of an array as `&arr[size]` (but still rejects code like
`if (idx >= size) return &array[idx];` and code that dereferences a
past-the-end pointer).
In addition to this primary improvement, this change tweaks the message
for the tainted index/offset case (using the more concrete information
that's available now) and clarifies/improves a few testcases.
The main change of this commit (replacing `check::Location` with
`check::PostStmt<...>` callbacks) was already proposed in my change
https://reviews.llvm.org/D150446 and https://reviews.llvm.org/D159107 by
steakhal. Those reviews were both abandoned, but the problems that led
to abandonment were unrelated to the change that is introduced in this
PR.
Commit: bbd1941a38fc84e7d371517db5b3dc695c31893c
https://github.com/llvm/llvm-project/commit/bbd1941a38fc84e7d371517db5b3dc695c31893c
Author: Florian Hahn <flo at fhahn.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/X86/scatter_crash.ll
M llvm/test/Transforms/LoopVectorize/preserve-or-disjoint.ll
M llvm/test/Transforms/LoopVectorize/reduction-with-invariant-store.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing.ll
Log Message:
-----------
[VPlan] Add disjoint flag to VPRecipeWithIRFlags. (#74364)
A new disjoint flag was added for OR instructions in #72583.
Update VPRecipeWithIRFlags to also support the new flag. This
allows printing and preserving the disjoint flag in vectorized code.
Commit: a28e4eac26ccd2e17f041b8d96da93df4a2414c0
https://github.com/llvm/llvm-project/commit/a28e4eac26ccd2e17f041b8d96da93df4a2414c0
Author: Joseph Huber <huberjn at outlook.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M libc/cmake/modules/prepare_libc_gpu_build.cmake
Log Message:
-----------
[libc] Default to a single threaded thread pool for GPU tests (#74486)
Summary:
The GPU tests tend to fail when run massively in parallel. This is why
we use a CMake job pool to limit it to 1 in most cases. We should
default to the configuration that is most likely to work, that being a
single thread. There aren't enough GPU tests for this to be a massive
increase in test time on the bots, so we should default to what works
guaranteed.
Commit: 3ad6d1cbe54dc06554303097cc51d590edaa1c1c
https://github.com/llvm/llvm-project/commit/3ad6d1cbe54dc06554303097cc51d590edaa1c1c
Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/test/Analysis/LoopAccessAnalysis/forward-negative-step.ll
A llvm/test/Analysis/LoopAccessAnalysis/print-order.ll
Log Message:
-----------
[LAA] Fix incorrect dependency classification. (#70819)
As shown in #70473, the following loop was not considered safe to
vectorize. When determining the memory access dependencies in
a loop which has negative iteration step, we invert the source and
sink of the dependence. Perhaps we should just invert the operands
to getMinusSCEV(). This way the dependency is not regarded to be
true, since the users of the `IsWrite` variables, which correspond to
each of the memory accesses, rely on program order and therefore
should not be swapped.
void vectorizable_Read_Write(int *A) {
for (unsigned i = 1022; i >= 0; i--)
A[i+1] = A[i] + 1;
}
Commit: 83dabd0569965cf9923ad552d030b9e87ee694c9
https://github.com/llvm/llvm-project/commit/83dabd0569965cf9923ad552d030b9e87ee694c9
Author: Craig Topper <craig.topper at sifive.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M llvm/test/CodeGen/RISCV/vararg.ll
Log Message:
-----------
[RISCV] Use iXLen for ptr<->int casts in vararg.ll. NFC
Fix another test I missed in 9e4210faf20014bf8637040b2231cbcd83c38ddd
Commit: 80fa79609e9adf0e2ccd71b9838d7fdb6ab2d07a
https://github.com/llvm/llvm-project/commit/80fa79609e9adf0e2ccd71b9838d7fdb6ab2d07a
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] combineStore - add early out for 32-bit f64 store combines. NFC.
Commit: 71809cfc7ae2fc69b5f6a2069354e74b320ec8d3
https://github.com/llvm/llvm-project/commit/71809cfc7ae2fc69b5f6a2069354e74b320ec8d3
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M llvm/lib/IR/BasicBlock.cpp
Log Message:
-----------
[DebugInfo][RemoveDIs] Avoid leaking trailing DPMarkers (#74458)
In the debug-info-splice implementation, we need to be careful to delete
trailing DPMarkers from blocks when we splice their contents out. This
is equivalent to removing the terminator from a block, then splicing the
rest of it's contents to another block: any DPValues trailing at the end
of the block get moved and we need to clean up afterwards.
Commit: 58b514921f119e07d70131d779c8ec81e85dcee5
https://github.com/llvm/llvm-project/commit/58b514921f119e07d70131d779c8ec81e85dcee5
Author: madanial0 <118996571+madanial0 at users.noreply.github.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M flang/test/Evaluate/fold-nearest.f90
M flang/test/Lower/assignment.f90
M flang/unittests/Evaluate/real.cpp
Log Message:
-----------
[flang] Run real 10 test on x86 only (NFC) (#73911)
Remove real 10 tests for powerpc
---------
Co-authored-by: Mark Danial <mark.danial at ibm.com>
Commit: e888e83fb64679e7869ddcbc7147b6255abf6315
https://github.com/llvm/llvm-project/commit/e888e83fb64679e7869ddcbc7147b6255abf6315
Author: Craig Topper <craig.topper at sifive.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
Log Message:
-----------
[ARM][AArch64] Use SelectionDAG::SplitScalar to simplify some code. (#74411)
We know we're splitting a type in half to two legal values. Instead of
using shift and truncate that need to be legalized, we can use two
ISD::EXTRACT_ELEMENTs.
Spotted while reviewing #67918 for RISC-V which copied this code.
Commit: 64a9b355fea89ced300e36108d6eb5a4f0fcd93a
https://github.com/llvm/llvm-project/commit/64a9b355fea89ced300e36108d6eb5a4f0fcd93a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
M llvm/test/CodeGen/RISCV/rvv/rv32-spill-zvlsseg.ll
M llvm/test/CodeGen/RISCV/rvv/rv64-spill-zvlsseg.ll
Log Message:
-----------
[RISCV] Optimize VRELOAD/VSPILL lowering if VLEN is known. (#74421)
Instead of using VLENB and a shift, load (VLEN/8)*LMUL directly into a
register. We could go further and use ADDI, but that would be more
intrusive to the code structure.
My primary goal is to remove the read of VLENB which might be expensive
if it's not optimized in hardware.
Commit: ff0e4fb89a75ebe5f30a0292caba1ff88c8bff88
https://github.com/llvm/llvm-project/commit/ff0e4fb89a75ebe5f30a0292caba1ff88c8bff88
Author: Nikita Popov <npopov at redhat.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/test/Analysis/ScalarEvolution/add-like-or.ll
Log Message:
-----------
[SCEV] Use or disjoint flag (#74467)
Use the disjoint flag to convert or to add instead of calling the
haveNoCommonBitsSet() ValueTracking query. This ensures that we can
reliably undo add -> or canonicalization, even in cases where the
necessary information has been lost or is too complex to reinfer in
SCEV.
I have updated the bulk of the test coverage to add the necessary
disjoint flags in advance.
Commit: a7993faf0c085610d35c501024aaa1edb5c21346
https://github.com/llvm/llvm-project/commit/a7993faf0c085610d35c501024aaa1edb5c21346
Author: Jakub Mazurkiewicz <mazkuba3 at gmail.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M libcxx/docs/Status/Cxx23Papers.csv
Log Message:
-----------
[libc++] Mark P2017R1 as complete (#74484)
[P2017R1](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p2017r1.html#wording)
appears to have been implemented in LLVM 16.0:
https://godbolt.org/z/GbcT4rjcd.
Commit: c568927f3e2e7d9804ea74ecbf11c16c014ddcbc
https://github.com/llvm/llvm-project/commit/c568927f3e2e7d9804ea74ecbf11c16c014ddcbc
Author: Jonas Paulsson <paulson1 at linux.ibm.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M clang/lib/Basic/Targets/SystemZ.h
A clang/test/CodeGen/SystemZ/atomic_is_lock_free.c
A clang/test/CodeGen/SystemZ/gnu-atomic-builtins-i128-16Al.c
A clang/test/CodeGen/SystemZ/gnu-atomic-builtins-i128-8Al.c
A clang/test/CodeGen/SystemZ/gnu-atomic-builtins-i16.c
A clang/test/CodeGen/SystemZ/gnu-atomic-builtins-i32.c
A clang/test/CodeGen/SystemZ/gnu-atomic-builtins-i64.c
A clang/test/CodeGen/SystemZ/gnu-atomic-builtins-i8.c
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/test/CodeGen/SystemZ/atomicrmw-ops-i128.ll
M llvm/test/CodeGen/SystemZ/atomicrmw-xchg-07.ll
Log Message:
-----------
[SystemZ] Properly support 16 byte atomic int/fp types and ops. (#73134)
- Clang FE now has MaxAtomicPromoteWidth / MaxAtomicInlineWidth set to 128, and now produces IR
instead of calls to __atomic instrinsics for 16 bytes as well.
- Atomic __int128 (and long double) variables are now aligned to 16 bytes by default (like gcc 14).
- AtomicExpand pass now expands 16 byte operations as well.
- tests for __atomic builtins for all integer widths, and __atomic_is_lock_free with friends.
- TODO: AtomicExpand pass handles with this patch expansion of i128 atomicrmw:s. As a next step
smaller integer types should also be possible to handle this way instead of by the backend.
Commit: 77a00c0d546cd4aa8311b5b9031ae9ea8cdb050c
https://github.com/llvm/llvm-project/commit/77a00c0d546cd4aa8311b5b9031ae9ea8cdb050c
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M libcxx/docs/Contributing.rst
M libcxx/include/__algorithm/clamp.h
M libcxx/include/__algorithm/copy_n.h
M libcxx/include/__algorithm/equal.h
M libcxx/include/__algorithm/fill.h
M libcxx/include/__algorithm/fill_n.h
M libcxx/include/__algorithm/find_first_of.h
M libcxx/include/__algorithm/for_each_n.h
M libcxx/include/__algorithm/generate_n.h
M libcxx/include/__algorithm/inplace_merge.h
M libcxx/include/__algorithm/is_heap.h
M libcxx/include/__algorithm/is_heap_until.h
M libcxx/include/__algorithm/is_sorted.h
M libcxx/include/__algorithm/is_sorted_until.h
M libcxx/include/__algorithm/lexicographical_compare.h
M libcxx/include/__algorithm/max.h
M libcxx/include/__algorithm/max_element.h
M libcxx/include/__algorithm/merge.h
M libcxx/include/__algorithm/min.h
M libcxx/include/__algorithm/min_element.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_point.h
M libcxx/include/__algorithm/prev_permutation.h
M libcxx/include/__algorithm/remove.h
M libcxx/include/__algorithm/remove_if.h
M libcxx/include/__algorithm/rotate.h
M libcxx/include/__algorithm/rotate_copy.h
M libcxx/include/__algorithm/sample.h
M libcxx/include/__algorithm/shift_left.h
M libcxx/include/__algorithm/shift_right.h
M libcxx/include/__algorithm/sift_down.h
M libcxx/include/__algorithm/stable_partition.h
M libcxx/include/__algorithm/stable_sort.h
M libcxx/include/__compare/compare_partial_order_fallback.h
M libcxx/include/__compare/compare_strong_order_fallback.h
M libcxx/include/__compare/compare_three_way.h
M libcxx/include/__compare/compare_weak_order_fallback.h
M libcxx/include/__compare/partial_order.h
M libcxx/include/__compare/strong_order.h
M libcxx/include/__compare/weak_order.h
M libcxx/include/__concepts/assignable.h
M libcxx/include/__concepts/boolean_testable.h
M libcxx/include/__concepts/invocable.h
M libcxx/include/__concepts/swappable.h
M libcxx/include/__config
M libcxx/include/__coroutine/coroutine_handle.h
M libcxx/include/__filesystem/directory_entry.h
M libcxx/include/__filesystem/directory_iterator.h
M libcxx/include/__filesystem/filesystem_error.h
M libcxx/include/__filesystem/path.h
M libcxx/include/__filesystem/recursive_directory_iterator.h
M libcxx/include/__filesystem/u8path.h
M libcxx/include/__format/buffer.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_floating_point.h
M libcxx/include/__format/formatter_integral.h
M libcxx/include/__format/formatter_output.h
M libcxx/include/__format/parser_std_format_spec.h
M libcxx/include/__format/write_escaped.h
M libcxx/include/__functional/bind.h
M libcxx/include/__functional/bind_back.h
M libcxx/include/__functional/bind_front.h
M libcxx/include/__functional/compose.h
M libcxx/include/__functional/function.h
M libcxx/include/__functional/hash.h
M libcxx/include/__functional/identity.h
M libcxx/include/__functional/invoke.h
M libcxx/include/__functional/not_fn.h
M libcxx/include/__functional/operations.h
M libcxx/include/__functional/perfect_forward.h
M libcxx/include/__functional/ranges_operations.h
M libcxx/include/__functional/reference_wrapper.h
M libcxx/include/__functional/weak_result_type.h
M libcxx/include/__hash_table
M libcxx/include/__iterator/advance.h
M libcxx/include/__iterator/back_insert_iterator.h
M libcxx/include/__iterator/common_iterator.h
M libcxx/include/__iterator/concepts.h
M libcxx/include/__iterator/counted_iterator.h
M libcxx/include/__iterator/distance.h
M libcxx/include/__iterator/front_insert_iterator.h
M libcxx/include/__iterator/insert_iterator.h
M libcxx/include/__iterator/istream_iterator.h
M libcxx/include/__iterator/iter_swap.h
M libcxx/include/__iterator/next.h
M libcxx/include/__iterator/ostream_iterator.h
M libcxx/include/__iterator/prev.h
M libcxx/include/__iterator/reverse_access.h
M libcxx/include/__iterator/wrap_iter.h
M libcxx/include/__locale
M libcxx/include/__locale_dir/locale_base_api/locale_guard.h
M libcxx/include/__memory/allocation_guard.h
M libcxx/include/__memory/allocator.h
M libcxx/include/__memory/allocator_arg_t.h
M libcxx/include/__memory/allocator_traits.h
M libcxx/include/__memory/builtin_new_allocator.h
M libcxx/include/__memory/pointer_traits.h
M libcxx/include/__memory/ranges_construct_at.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/swap_allocator.h
M libcxx/include/__memory/temporary_buffer.h
M libcxx/include/__memory/uninitialized_algorithms.h
M libcxx/include/__memory/unique_ptr.h
M libcxx/include/__memory/voidify.h
M libcxx/include/__mutex/once_flag.h
M libcxx/include/__node_handle
M libcxx/include/__numeric/accumulate.h
M libcxx/include/__numeric/adjacent_difference.h
M libcxx/include/__numeric/exclusive_scan.h
M libcxx/include/__numeric/gcd_lcm.h
M libcxx/include/__numeric/inclusive_scan.h
M libcxx/include/__numeric/inner_product.h
M libcxx/include/__numeric/midpoint.h
M libcxx/include/__numeric/partial_sum.h
M libcxx/include/__numeric/reduce.h
M libcxx/include/__numeric/transform_inclusive_scan.h
M libcxx/include/__numeric/transform_reduce.h
M libcxx/include/__random/binomial_distribution.h
M libcxx/include/__random/cauchy_distribution.h
M libcxx/include/__random/discard_block_engine.h
M libcxx/include/__random/discrete_distribution.h
M libcxx/include/__random/exponential_distribution.h
M libcxx/include/__random/extreme_value_distribution.h
M libcxx/include/__random/gamma_distribution.h
M libcxx/include/__random/independent_bits_engine.h
M libcxx/include/__random/lognormal_distribution.h
M libcxx/include/__random/mersenne_twister_engine.h
M libcxx/include/__random/normal_distribution.h
M libcxx/include/__random/piecewise_constant_distribution.h
M libcxx/include/__random/piecewise_linear_distribution.h
M libcxx/include/__random/poisson_distribution.h
M libcxx/include/__random/seed_seq.h
M libcxx/include/__random/shuffle_order_engine.h
M libcxx/include/__random/student_t_distribution.h
M libcxx/include/__random/subtract_with_carry_engine.h
M libcxx/include/__random/uniform_real_distribution.h
M libcxx/include/__random/weibull_distribution.h
M libcxx/include/__split_buffer
M libcxx/include/__string/char_traits.h
M libcxx/include/__thread/thread.h
M libcxx/include/__threading_support
M libcxx/include/__tree
M libcxx/include/__type_traits/invoke.h
M libcxx/include/__type_traits/is_nothrow_constructible.h
M libcxx/include/__type_traits/is_nothrow_convertible.h
M libcxx/include/__utility/cmp.h
M libcxx/include/__utility/exchange.h
M libcxx/include/__utility/swap.h
M libcxx/include/__utility/to_underlying.h
M libcxx/include/any
M libcxx/include/array
M libcxx/include/barrier
M libcxx/include/bitset
M libcxx/include/complex
M libcxx/include/condition_variable
M libcxx/include/deque
M libcxx/include/experimental/__config
M libcxx/include/experimental/__memory
M libcxx/include/experimental/iterator
M libcxx/include/experimental/propagate_const
M libcxx/include/ext/hash_map
M libcxx/include/ext/hash_set
M libcxx/include/forward_list
M libcxx/include/fstream
M libcxx/include/future
M libcxx/include/iomanip
M libcxx/include/ios
M libcxx/include/istream
M libcxx/include/limits
M libcxx/include/list
M libcxx/include/locale
M libcxx/include/map
M libcxx/include/mutex
M libcxx/include/new
M libcxx/include/optional
M libcxx/include/ostream
M libcxx/include/queue
M libcxx/include/regex
M libcxx/include/scoped_allocator
M libcxx/include/set
M libcxx/include/shared_mutex
M libcxx/include/span
M libcxx/include/sstream
M libcxx/include/stack
M libcxx/include/stdexcept
M libcxx/include/streambuf
M libcxx/include/string_view
M libcxx/include/strstream
M libcxx/include/tuple
M libcxx/include/unordered_map
M libcxx/include/unordered_set
M libcxx/include/valarray
M libcxx/include/variant
M libcxx/src/chrono.cpp
M libcxx/src/include/to_chars_floating_point.h
M libcxx/src/ios.cpp
M libcxx/src/iostream.cpp
M libcxx/src/locale.cpp
M libcxx/src/regex.cpp
M libcxx/src/std_stream.h
M libcxx/src/strstream.cpp
M libcxx/src/support/win32/thread_win32.cpp
M libcxx/src/vector.cpp
Log Message:
-----------
[libc++] Replace uses of _VSTD:: by std:: (#74331)
As part of the upcoming clang-formatting of libc++, this patch performs
the long desired removal of the _VSTD macro.
See https://discourse.llvm.org/t/rfc-clang-formatting-all-of-libc-once-and-for-all
for the clang-format proposal.
Commit: 953ac952eb17ef3a370699958f760ee81acdbe1a
https://github.com/llvm/llvm-project/commit/953ac952eb17ef3a370699958f760ee81acdbe1a
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M libcxx/include/array
Log Message:
-----------
[libc++][NFC] Use aliases instead of typedefs in std::array (#74491)
As requested in https://github.com/llvm/llvm-project/pull/74482.
Commit: 34cdc913214fd9561b6ec8d535bd3d0313772cb5
https://github.com/llvm/llvm-project/commit/34cdc913214fd9561b6ec8d535bd3d0313772cb5
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M llvm/lib/Transforms/Scalar/CallSiteSplitting.cpp
Log Message:
-----------
[NFC][DebugInfo][RemoveDIs] Use iterators to insert in callsite-splitting (#74455)
This patch gets call site splitting to use iterators for insertion
rather than instruction pointers. When we switch on non-instr debug-info
this becomes significant, as the iterators are going to signal whether
or not a position is before or after debug-info.
NFC as this isn't going to affect the output of any existing test.
Commit: f1db578f0d0f9d83f8b8b88d92ad5397377a74b2
https://github.com/llvm/llvm-project/commit/f1db578f0d0f9d83f8b8b88d92ad5397377a74b2
Author: Stephan T. Lavavej <stl at nuwen.net>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/pstl.replace.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/pstl.replace_copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/pstl.replace_copy_if.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/pstl.replace_if.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.merge/pstl.merge.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.three.way/lexicographical_compare_three_way.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.three.way/lexicographical_compare_three_way_comp.pass.cpp
M libcxx/test/std/containers/from_range_helpers.h
M libcxx/test/std/containers/views/views.span/span.cons/iterator_sentinel.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.chunk.by/range.chunk.by.iter/deref.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.chunk.by/range.chunk.by.iter/increment.pass.cpp
Log Message:
-----------
[libc++][test] Fix assumptions that `std::array` iterators are pointers (#74430)
Found while running libc++'s tests with MSVC's STL, where `std::array`
iterators are never pointers.
Most of these changes are reasonably self-explanatory (the `std::array`s
are right there, and the sometimes-slightly-wrapped raw pointer types
are a short distance away). A couple of changes are less obvious:
In `libcxx/test/std/containers/from_range_helpers.h`, `wrap_input()` is
called with `Iter` types that are constructible from raw pointers. It's
also sometimes called with an `array` as the `input`, so the first
overload was implicitly assuming that `array` iterators are pointers. We
can fix this assumption by providing a dedicated overload for `array`,
just like the one for `vector` immediately below. Finally,
`from_range_helpers.h` should explicitly include both `<array>` and
`<vector>`, even though they were apparently being dragged in already.
In `libcxx/test/std/containers/views/views.span/span.cons/iterator_sentinel.pass.cpp`,
fix `throw_operator_minus`. The error was pretty complicated, caused by
the concepts machinery noticing that `value_type` and `element_type`
were inconsistent. In the template instantiation context, you can see
the critical detail that `throw_operator_minus<std::_Array_iterator>` is
being formed.
Fortunately, the fix is extremely simple. To produce `element_type`
(which retains any cv-qualification, unlike `value_type`), we shouldn't
attempt to `remove_pointer` with the iterator type `It`. Instead, we've
already obtained the `reference` type, so we can `remove_reference_t`.
(This is modern code, where we have access to the alias templates, so I
saw no reason to use the older verbose form.)
Commit: 323451ab88866c42c87971cbc670771bd0d48692
https://github.com/llvm/llvm-project/commit/323451ab88866c42c87971cbc670771bd0d48692
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M llvm/lib/Target/TargetMachine.cpp
M llvm/test/CodeGen/X86/code-model-elf-sections.ll
Log Message:
-----------
[X86] Set SHF_X86_64_LARGE for globals with explicit well-known large section name (#74381)
Globals marked with the .lbss/.ldata/.lrodata should automatically be
treated as large.
Do this regardless of the code model for consistency when mixing object
files compiled with different code models.
Basically the other half of #70748.
Example in the wild:
https://codebrowser.dev/qt5/qtbase/src/testlib/qtestcase.cpp.html#1664
Commit: 4e0275a2c8f7f94cc1aacf4803fc827fad8f56d4
https://github.com/llvm/llvm-project/commit/4e0275a2c8f7f94cc1aacf4803fc827fad8f56d4
Author: Fangrui Song <i at maskray.me>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/test/Driver/arc-exceptions.m
M clang/test/Driver/arm-arch-darwin.c
M clang/test/Frontend/darwin-eabi.c
Log Message:
-----------
[Driver] Mark -arch as TargetSpecific (#74365)
`-arch` is a Darwin-specific option that is ignored for other targets
and not known by GCC.
```
% clang -arch arm64 -c a.c
clang: warning: argument unused during compilation: '-arch arm64' [-Wunused-command-line-argument]
```
We are utilizing TargetSpecific (from https://reviews.llvm.org/D151590)
to make more options lead to errors for unsupported targets.
Commit: 5ad3a32c79319b0721cb26398946b9a59b50d264
https://github.com/llvm/llvm-project/commit/5ad3a32c79319b0721cb26398946b9a59b50d264
Author: Juergen Ributzka <juergen at ributzka.de>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Basic/CodeGenOptions.h
A clang/include/clang/Basic/DebugOptions.def
M clang/include/module.modulemap
M clang/lib/Basic/CodeGenOptions.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
A clang/test/ClangScanDeps/strip-codegen-args.m
Log Message:
-----------
[clang][modules] Reset codegen options (take 2). (#74388)
CodeGen options do not affect the AST, so they usually can be ignored.
The only exception to the rule is when a PCM is created with
`-gmodules`.
In that case the Clang module format is switched to object file
container and contains also serialized debug information that can be
affected by debug options. There the following approach was choosen:
1.) Split out all the debug options into a separate `DebugOptions.def`
file. The file is included by `CodeGenOptions.def`, so the change is
transparent to all existing users of `CodeGenOptions.def`.
2.) Reset all CodeGen options, but excluding affecting debug options.
3.) Conditionally reset debug options that can affect the PCM.
This fixes rdar://113135909.
Commit: 2a95d47ed53e959017c345860df80898699cefb5
https://github.com/llvm/llvm-project/commit/2a95d47ed53e959017c345860df80898699cefb5
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M llvm/lib/IR/BasicBlock.cpp
Log Message:
-----------
[DebugInfo] Follow up to 34cdc91321 to fix a crash
We're removing trailing debug-records at the correct time, but from the
wrong block. Broken the iterators buildbot:
https://lab.llvm.org/buildbot/#/builders/275/builds/1889
Commit: 67f9b5ae7d7a256a547d97386d67e9a55fc3fe6a
https://github.com/llvm/llvm-project/commit/67f9b5ae7d7a256a547d97386d67e9a55fc3fe6a
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M flang/include/flang/Lower/ConvertExprToHLFIR.h
M flang/lib/Lower/CallInterface.cpp
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/test/Fir/dispatch.f90
M flang/test/Lower/allocatable-polymorphic.f90
M flang/test/Lower/dispatch.f90
M flang/test/Lower/nullify-polymorphic.f90
Log Message:
-----------
[flang] Fix issue with lookup in the binding table (#74416)
This patch is fixing two issue relative to the dynamic dispatch for
polymorphic entities.
1. Fix the `requireDispatchCall` function. It was checking for the first
symbol of the component but this is not the one to be checked. Instead
the last symbol of the base of the component object is the one to check
to know if it is polymorphic object with a dispatch call or not. This is
demonstrated in the new added test in `flang/test/Lower/dispatch.f90`
where the first symbol would point to `q` which is monomorphic and would
result in a simple `fir.call`
2. Fix the pass object in a no pass situation. In a no pass situation
the pass object is lowered anyway to be able to do the lookup in the
binding table. It was previously lowered wrongly an lead to unresolved
lookup. The base of the component is the passed object and should be
lowered. To achieve this, the `gen(DataRef)` entry point is exposed form
`ConvertExprToHLFIR` through a `convertDataRefToValue` function. The
same test added in `flang/test/Lower/dispatch.f90` is checking for the
correct passed object.
In addition couple of tests were updated to HLFIR since the lowering
used only works with it.
Commit: 86e99e11e50da254ddaf73fbb9ea24028756bdd7
https://github.com/llvm/llvm-project/commit/86e99e11e50da254ddaf73fbb9ea24028756bdd7
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M libc/docs/dev/undefined_behavior.rst
M libc/src/__support/HashTable/CMakeLists.txt
M libc/src/__support/HashTable/bitmask.h
M libc/src/__support/HashTable/generic/bitmask_impl.inc
M libc/src/__support/HashTable/sse2/bitmask_impl.inc
M libc/src/__support/HashTable/table.h
M libc/src/search/CMakeLists.txt
M libc/src/search/hcreate.cpp
M libc/src/search/hdestroy.cpp
M libc/src/search/hsearch.cpp
M libc/src/search/hsearch_r.cpp
M libc/test/src/__support/HashTable/bitmask_test.cpp
M libc/test/src/__support/HashTable/table_test.cpp
M libc/test/src/search/hsearch_test.cpp
Log Message:
-----------
[libc] [search] improve hsearch robustness (#73896)
Following up the discussion at
https://github.com/llvm/llvm-project/pull/73469#discussion_r1409593911
by @nickdesaulniers.
According to FreeBSD implementation
(https://android.googlesource.com/platform/bionic/+/refs/heads/main/libc/upstream-freebsd/lib/libc/stdlib/hcreate.c),
`hsearch` is able to handle the cases where the global table is not
properly initialized. To do this, FreeBSD actually allows hash table to
be dynamically resized. If the global table is uninitialized at the
first call, the table will be initialized with a minimal size; hence
subsequent insertion will be reasonable as the table grows
automatically.
This patch mimic such behaviors. More precisely, this patch introduces:
1. a full table iterator that scans each element in the table,
2. a resize routine that is automatically triggered whenever the load
factor is reached where it iterates the old table and insert the entries
into a new one,
3. more tests that cover the growth of the table.
Commit: 31aebdd8919b7bef4bbfe1d7988708215a8b953f
https://github.com/llvm/llvm-project/commit/31aebdd8919b7bef4bbfe1d7988708215a8b953f
Author: James Y Knight <jyknight at google.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M clang/CMakeLists.txt
M clang/test/Frontend/sarif-diagnostics.cpp
M llvm/utils/UpdateTestChecks/common.py
Log Message:
-----------
Include LLVM_VERSION_SUFFIX in the Clang version string. (#74469)
This causes current mainline to now report "18.0.0git" instead of
"18.0.0".
Fixes #53825
Commit: 030b8cb1561db4161b108b59044717d89026cf70
https://github.com/llvm/llvm-project/commit/030b8cb1561db4161b108b59044717d89026cf70
Author: Eduard Zingerman <eddyz87 at gmail.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
A clang/test/CodeGen/bpf-preserve-static-offset-arr.c
A clang/test/CodeGen/bpf-preserve-static-offset-bitfield.c
A clang/test/CodeGen/bpf-preserve-static-offset-lvalue.c
A clang/test/CodeGen/bpf-preserve-static-offset-non-bpf.c
A clang/test/CodeGen/bpf-preserve-static-offset-pai.c
M clang/test/Misc/pragma-attribute-supported-attributes-list.test
A clang/test/Sema/bpf-attr-preserve-static-offset-warns-nonbpf.c
A clang/test/Sema/bpf-attr-preserve-static-offset-warns.c
A clang/test/Sema/bpf-attr-preserve-static-offset.c
M llvm/include/llvm/IR/Intrinsics.td
M llvm/include/llvm/IR/IntrinsicsBPF.td
M llvm/lib/Target/BPF/BPF.h
M llvm/lib/Target/BPF/BPFAbstractMemberAccess.cpp
M llvm/lib/Target/BPF/BPFCORE.h
M llvm/lib/Target/BPF/BPFCheckAndAdjustIR.cpp
A llvm/lib/Target/BPF/BPFPreserveStaticOffset.cpp
M llvm/lib/Target/BPF/BPFTargetMachine.cpp
M llvm/lib/Target/BPF/CMakeLists.txt
A llvm/test/CodeGen/BPF/preserve-static-offset/load-align.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/load-arr-pai.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/load-atomic.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/load-chain-2.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/load-chain-oob.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/load-chain-u8-oob.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/load-chain-u8-type-mismatch.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/load-chain-u8.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/load-chain.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/load-inline.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/load-non-const.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/load-ptr-pai.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/load-simple.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/load-struct-pai.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/load-undo-align.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/load-undo-chain-oob.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/load-undo-chain-u8.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/load-undo-chain.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/load-undo-simple.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/load-undo-volatile.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/load-union-pai.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/load-unroll-inline.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/load-unroll.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/load-volatile.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/load-zero.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/store-align.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/store-atomic.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/store-chain-2.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/store-chain-oob.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/store-chain-u8-oob.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/store-chain-u8.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/store-chain.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/store-pai.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/store-simple.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/store-undo-align.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/store-undo-chain-oob.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/store-undo-chain-u8.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/store-undo-chain.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/store-undo-simple.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/store-undo-volatile.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/store-unroll-inline.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/store-volatile.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/store-zero.ll
Log Message:
-----------
[BPF] Attribute preserve_static_offset for structs
This commit adds a new BPF specific structure attribte
`__attribute__((preserve_static_offset))` and a pass to deal with it.
This attribute may be attached to a struct or union declaration, where
it notifies the compiler that this structure is a "context" structure.
The following limitations apply to context structures:
- runtime environment might patch access to the fields of this type by
updating the field offset;
BPF verifier limits access patterns allowed for certain data
types. E.g. `struct __sk_buff` and `struct bpf_sock_ops`. For these
types only `LD/ST <reg> <static-offset>` memory loads and stores are
allowed.
This is so because offsets of the fields of these structures do not
match real offsets in the running kernel. During BPF program
load/verification loads and stores to the fields of these types are
rewritten so that offsets match real offsets. For this rewrite to
happen static offsets have to be encoded in the instructions.
See `kernel/bpf/verifier.c:convert_ctx_access` function in the Linux
kernel source tree for details.
- runtime environment might disallow access to the field of the type
through modified pointers.
During BPF program verification a tag `PTR_TO_CTX` is tracked for
register values. In case if register with such tag is modified BPF
programs are not allowed to read or write memory using register. See
kernel/bpf/verifier.c:check_mem_access function in the Linux kernel
source tree for details.
Access to the structure fields is translated to IR as a sequence:
- `(load (getelementptr %ptr %offset))` or
- `(store (getelementptr %ptr %offset))`
During instruction selection phase such sequences are translated as a
single load instruction with embedded offset, e.g. `LDW %ptr, %offset`,
which matches access pattern necessary for the restricted
set of types described above (when `%offset` is static).
Multiple optimizer passes might separate these instructions, this
includes:
- SimplifyCFGPass (sinking)
- InstCombine (sinking)
- GVN (hoisting)
The `preserve_static_offset` attribute marks structures for which the
following transformations happen:
- at the early IR processing stage:
- `(load (getelementptr ...))` replaced by call to intrinsic
`llvm.bpf.getelementptr.and.load`;
- `(store (getelementptr ...))` replaced by call to intrinsic
`llvm.bpf.getelementptr.and.store`;
- at the late IR processing stage this modification is undone.
Such handling prevents various optimizer passes from generating
sequences of instructions that would be rejected by BPF verifier.
The __attribute__((preserve_static_offset)) has a priority over
__attribute__((preserve_access_index)). When preserve_access_index
attribute is present preserve access index transformations are not
applied.
This addresses the issue reported by the following thread:
https://lore.kernel.org/bpf/CAA-VZPmxh8o8EBcJ=m-DH4ytcxDFmo0JKsm1p1gf40kS0CE3NQ@mail.gmail.com/T/#m4b9ce2ce73b34f34172328f975235fc6f19841b6
This is a second attempt to commit this change, previous reverted
commit is: cb13e9286b6d4e384b5d4203e853d44e2eff0f0f.
The following items had been fixed:
- test case bpf-preserve-static-offset-bitfield.c now uses
`-triple bpfel` to avoid different codegen for little/big endian
targets.
- BPFPreserveStaticOffset.cpp:removePAICalls() modified to avoid
use after free for `WorkList` elements `V`.
Differential Revision: https://reviews.llvm.org/D133361
Commit: 067bebb50f6ec3f30ca8c34117c2c964729aca58
https://github.com/llvm/llvm-project/commit/067bebb50f6ec3f30ca8c34117c2c964729aca58
Author: Aart Bik <39774503+aartbik at users.noreply.github.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M mlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp
Log Message:
-----------
[mlir][sparse] minor refactoring of sparsification file (#74403)
Removed obsoleted TODOs and NOTEs, formatting, removed unused parameter
Commit: 989e8f9d51e6945905b0e26148574c8e1fa88c84
https://github.com/llvm/llvm-project/commit/989e8f9d51e6945905b0e26148574c8e1fa88c84
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M llvm/lib/Transforms/Scalar/CallSiteSplitting.cpp
Log Message:
-----------
Revert "[NFC][DebugInfo][RemoveDIs] Use iterators to insert in callsite-splitting (#74455)"
This reverts commit 34cdc913214fd9561b6ec8d535bd3d0313772cb5.
Two buildbots say this is bad:
https://lab.llvm.org/buildbot/#/builders/265/builds/861
https://lab.llvm.org/buildbot/#/builders/168/builds/17272
Commit: 3d0dd1a7d627f19ca9a7ae927bc8fa0bff1a0fdf
https://github.com/llvm/llvm-project/commit/3d0dd1a7d627f19ca9a7ae927bc8fa0bff1a0fdf
Author: Lang Hames <lhames at gmail.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M compiler-rt/test/orc/TestCases/Darwin/x86-64/jit-re-dlopen-data-reset.S
M compiler-rt/test/orc/TestCases/Darwin/x86-64/jit-re-dlopen-trivial.S
M compiler-rt/test/orc/TestCases/Darwin/x86-64/trivial-jit-dlopen-nested.c
M compiler-rt/test/orc/TestCases/Darwin/x86-64/trivial-jit-dlopen.c
M compiler-rt/test/orc/TestCases/Windows/x86-64/trivial-jit-dlopen.c
M llvm/test/ExecutionEngine/JITLink/AArch32/ELF_thumbv7_printf.s
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink.h
Log Message:
-----------
[llvm-jitlink] Add Process and Platform JITDylibs, generalize alias option.
The Process JITDylib holds reflected process symbols. The Platform JITDylib
holds ORC runtime symbols if the ORC runtime is loaded. The Platform and
Process JITDylibs are appended to the link order of all other JITDylibs,
including the main JITDylib, after any explicitly specified libraries. This
scheme is similar to the one introduced in LLJIT in 371cb1af61d, and makes
it easier to introduce aliases for process and platform symbols in a way that
affects all JITDylibs uniformly.
Since the Process and Platform JITDylibs are created implicitly the -alias
option is generalized to allow source and destination JITDylibs to be explicitly
specified, i.e. the -alias option now supports general re-exports.
Testcases are updated to account for the change.
Commit: 020746d1b1d0686498b7faa8b63920f61817d93a
https://github.com/llvm/llvm-project/commit/020746d1b1d0686498b7faa8b63920f61817d93a
Author: James Y Knight <jyknight at google.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M llvm/lib/Target/XCore/XCoreISelLowering.cpp
M llvm/lib/Target/XCore/XCoreISelLowering.h
M llvm/test/CodeGen/XCore/atomic.ll
Log Message:
-----------
[XCore] Set MaxAtomicSizeInBitsSupported to 0 (#74389)
XCore does not appear to have any support for atomicrmw or cmpxchg.
This will result in all atomic operations getting expanded to __atomic_*
libcalls via AtomicExpandPass, which matches what Clang already does in
the frontend.
Additionally, remove the code which handles atomic load/store, as it
will no longer be used.
Commit: d28194131b81809997962cfe8c472a9de2915842
https://github.com/llvm/llvm-project/commit/d28194131b81809997962cfe8c472a9de2915842
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/BPF/BUILD.gn
Log Message:
-----------
[gn build] Port 030b8cb1561d
Commit: df2485b215af46ebd5fd3a94b929ebc951c1d12e
https://github.com/llvm/llvm-project/commit/df2485b215af46ebd5fd3a94b929ebc951c1d12e
Author: Lang Hames <lhames at gmail.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M compiler-rt/test/orc/TestCases/Darwin/x86-64/jit-re-dlopen-data-reset.S
M compiler-rt/test/orc/TestCases/Darwin/x86-64/jit-re-dlopen-trivial.S
M compiler-rt/test/orc/TestCases/Darwin/x86-64/trivial-jit-dlopen-nested.c
M compiler-rt/test/orc/TestCases/Darwin/x86-64/trivial-jit-dlopen.c
M compiler-rt/test/orc/TestCases/Windows/x86-64/trivial-jit-dlopen.c
M llvm/test/ExecutionEngine/JITLink/AArch32/ELF_thumbv7_printf.s
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink.h
Log Message:
-----------
Revert "[llvm-jitlink] Add Process and Platform JITDylibs, generalize alias..."
This reverts commit 3d0dd1a7d62 while I investigate bot failures (e.g.
https://lab.llvm.org/buildbot/#/builders/272/builds/2573)
Commit: 02f4b36ad5f2f97ff63259e38244da8fcd5a205e
https://github.com/llvm/llvm-project/commit/02f4b36ad5f2f97ff63259e38244da8fcd5a205e
Author: Tacet <4922191+AdvenamTacet at users.noreply.github.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M libcxx/include/deque
M libcxx/include/vector
Log Message:
-----------
[libc++] Refactor of ASan annotation functions (#74023)
This commit refactors the ASan annotation functions in libc++ to reduce
unnecessary code duplication. Additionally it adds a small optimization.
- Eliminates two redundant function versions by utilizing the
`[[maybe_unused]]` attribute and guarding function bodies with `#ifndef
_LIBCPP_HAS_NO_ASAN`.
- Introduces an additional guard to an auxiliary function, allowing the
removal of a no-ops function body. This approach avoids relying on the
optimizer for code elimination.
Fixes #73043
Commit: 3c5b42acd3e2022da40f6e4b50f5035279b8b93a
https://github.com/llvm/llvm-project/commit/3c5b42acd3e2022da40f6e4b50f5035279b8b93a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVCallLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/lower-args-vararg.ll
M llvm/test/CodeGen/RISCV/vararg.ll
Log Message:
-----------
[RISCV] Allocate the varargs GPR save area as a single object. (#74354)
Previously we allocated one object for each GPR. We also allocated the
same offset twice, once to save for VASTART and then again for the first
register in the save loop.
This patch uses a single object for all the registers and shares this
with VASTART. This is more consistent with other targets like AArch64
and ARM.
I've removed the setValue(nullptr) from the memory operand now. Having a
single object makes me a lot more comfortable about alias analysis being
able to see what is going on. This led to the scheduling changes in
push-pop-popret.ll and vararg.ll.
Commit: 5c3496ff33ce8e4cc6f8c18edd7ae5fc65d23fdf
https://github.com/llvm/llvm-project/commit/5c3496ff33ce8e4cc6f8c18edd7ae5fc65d23fdf
Author: Craig Topper <craig.topper at sifive.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstCombine/add.ll
M llvm/test/Transforms/InstCombine/and-or-not.ll
M llvm/test/Transforms/InstCombine/logical-select.ll
M llvm/test/Transforms/InstCombine/masked-merge-add.ll
M llvm/test/Transforms/InstCombine/masked-merge-or.ll
M llvm/test/Transforms/InstCombine/masked-merge-xor.ll
M llvm/test/Transforms/InstCombine/pr53357.ll
M llvm/unittests/Analysis/ValueTrackingTest.cpp
Log Message:
-----------
[InstCombine] Check isGuaranteedNotToBeUndef in haveNoCommonBitsSetSpecialCases. (#74390)
It's not safe for InstCombine to add disjoint metadata when converting
Add to Or otherwise.
I've added noundef attribute to preserve existing test behavior.
Commit: ddebce70210dcc97646578705dd13c6fb0e3ee0e
https://github.com/llvm/llvm-project/commit/ddebce70210dcc97646578705dd13c6fb0e3ee0e
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M llvm/lib/Target/TargetMachine.cpp
M llvm/test/CodeGen/X86/code-model-elf-sections.ll
Log Message:
-----------
[X86] Respect code_model when determining if a global is small/large (#74498)
Using the GlobalVariable code_model property added in #72077.
code_model = "small" means the global should be treated as small
regardless of the TargetMachine code model.
code_model = "large" means the global should be treated as large
regardless of the TargetMachine code model.
Inferring small/large based on a known section name still takes
precedence for correctness.
The intention is to use this for globals that are accessed very
infrequently but also take up a lot of space in the binary to mitigate
relocation overflows. Prime examples are globals that go in
"__llvm_prf_names" for coverage/PGO instrumented builds and
"asan_globals" for ASan builds.
Commit: 7563eb64102c3bee9b0ab581309d170891fa0565
https://github.com/llvm/llvm-project/commit/7563eb64102c3bee9b0ab581309d170891fa0565
Author: Felix Schneider <fx.schn at gmail.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
Log Message:
-----------
[tosa] Fix crash in shape inference for `tosa.transpose` (#74367)
Fixes a crash in `TransposeOp::inferReturnTypeComponents()` when the
supplied permutation tensor is rank-0.
Also removes some dead code from the type inference function.
Fix https://github.com/llvm/llvm-project/issues/74237
Commit: 33af16f580b168c99a61db118ef59aaf6dd1488f
https://github.com/llvm/llvm-project/commit/33af16f580b168c99a61db118ef59aaf6dd1488f
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M llvm/lib/IR/Instruction.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/unittests/IR/BasicBlockDbgInfoTest.cpp
Log Message:
-----------
[DebugInfo][RemoveDIs] Final cleanup for enabling non-instr-debuginfo (#74497)
Some final errors have turned up when doing stage2clang builds:
* We can insert before end(), which won't have an attached DPMarker,
thus we can have a nullptr DPMarker in Instruction::insertBefore. Add a
null check there.
* We need to use the iterator-returning form of getFirstNonPHI to ensure
we don't insert any PHIs behind debug-info at the start of a block.
Commit: 3d21b5603835fcd1de8d0565c3324e36fed21ff1
https://github.com/llvm/llvm-project/commit/3d21b5603835fcd1de8d0565c3324e36fed21ff1
Author: Kamau Bridgeman <kamau.bridgeman at ibm.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M compiler-rt/CMakeLists.txt
Log Message:
-----------
[GTest][c++17] Silence warnings when building GTest with gcc-toolset-12
This change fixes a build break introduced by aafad2d(#70353) on
the clang-ppc64le-rhel build bot. If the third-party Google Test suite
is built using gcc-toolset-12, the implementation of std::stable_sort in
the toolchain will use a get_temporary_buffer declaration that is marked
_GLIBCXX17_DEPRECATED. This change adds -Wno-deprecated-declarations to
the GTest flags if the toolchain is detected in the build compiler on linux.
Commit: 9c2e5449f4c7b8dea918cf9640a4cc26c6972866
https://github.com/llvm/llvm-project/commit/9c2e5449f4c7b8dea918cf9640a4cc26c6972866
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M libc/src/__support/threads/linux/thread.cpp
Log Message:
-----------
[libc] remove spurious LIBC_INLINE (#74505)
This function is marked noinline; the inline keyword (or whatever
LIBC_INLINE
resolves to) will have no effect.
Commit: 391a7577e703516dbefd41b3da8f3bbd751c6978
https://github.com/llvm/llvm-project/commit/391a7577e703516dbefd41b3da8f3bbd751c6978
Author: Guray Ozen <guray.ozen at gmail.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
M mlir/test/Conversion/GPUCommon/lower-memory-space-attrs.mlir
Log Message:
-----------
[mlir][gpu] Add lowering dynamic_shared_memory op for rocdl (#74473)
This PR adds lowering of `gpu.dynamic_shared_memory` to rocdl target.
Commit: f20af7372fcef3f317743063999403beba630078
https://github.com/llvm/llvm-project/commit/f20af7372fcef3f317743063999403beba630078
Author: eleviant <56861949+eleviant at users.noreply.github.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
A bolt/test/AArch64/fp-reg-spill.s
Log Message:
-----------
[bolt] Support arm64 FP register spills (#73021)
At the moment llvm-bolt fails when analyzing jump tables on aarch64 in
case FP register spill/reload is used.
Commit: a855b2c894444419c3689aff6fd0381fdeb02491
https://github.com/llvm/llvm-project/commit/a855b2c894444419c3689aff6fd0381fdeb02491
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M clang/include/clang/Lex/PPCallbacks.h
Log Message:
-----------
Formatting change; NFC
I'm adding to the list of forward declares in a PR for #embed, so this
won't be a formatting-only change for long.
Commit: af03e2928971bbed2901e096b446e1e1a078de43
https://github.com/llvm/llvm-project/commit/af03e2928971bbed2901e096b446e1e1a078de43
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M clang/test/CXX/drs/dr6xx.cpp
Log Message:
-----------
[clang][NFC] Refactor expected directives in C++ DRs 600-699 (#74477)
[clang][NFC] Refactor expected directives in C++ DRs 600-699
This patch continues the work started with https://github.com/llvm/llvm-project/commit/ea5b1ef016d020c37f903d6c7d4f623be975dab8.
See that commit and its corresponding PR for details.
Commit: aaf3a8ded47121c8ec8136f97a7a2c39112b3e59
https://github.com/llvm/llvm-project/commit/aaf3a8ded47121c8ec8136f97a7a2c39112b3e59
Author: Zequan Wu <zequanwu at google.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M lld/COFF/Config.h
M lld/COFF/Driver.cpp
M lld/COFF/Options.td
M lld/COFF/Writer.cpp
M lld/MinGW/Driver.cpp
M lld/MinGW/Options.td
M lld/test/COFF/debug-reloc.s
M lld/test/COFF/rsds.test
M lld/test/MinGW/driver.test
Log Message:
-----------
[LLD][COFF] Add -build-id flag to generate .buildid section. (#71433)
[RFC](https://discourse.llvm.org/t/rfc-add-build-id-flag-to-lld-link/74661)
Before, lld-link only generate the debug directory containing guid when
generating PDB with the hash of PDB content.
With this change, lld-link can generate the debug directory when only
`/build-id` is given:
1. If generating PDB, `/build-id` is ignored. Same behaviour as before.
2. Not generating PDB, using hash of the binary.
- Not under MinGW, the debug directory is still in `.rdata` section.
- Under MinGW, place the debug directory into new `.buildid` section.
Commit: 1e3af94253cebb054db5d2050e00af0169862b39
https://github.com/llvm/llvm-project/commit/1e3af94253cebb054db5d2050e00af0169862b39
Author: Eric <eric at efcs.ca>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M .github/workflows/libcxx-build-and-test.yaml
Log Message:
-----------
Disable fail-fast for libc++ builders. (#74485)
It seems the fail fast just doesn't strike the right balance.
It wastes too many resources, especially if a build is killed because
the machine it was running on got preempted.
Instead, we should simply not run any future jobs if a failure has
occured, while letting the already running jobs finish.
Commit: 12e5148f9cf24b1360b3adfc7e3f5994a518f0cd
https://github.com/llvm/llvm-project/commit/12e5148f9cf24b1360b3adfc7e3f5994a518f0cd
Author: Billy Zhu <billyzhu at modular.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/test/Dialect/LLVMIR/roundtrip.mlir
M mlir/test/Target/LLVMIR/llvmir.mlir
Log Message:
-----------
[MLIR][LLVM] Fix CallOp asm parser for attr-dict (#74372)
Currently the parser & printer of `CallOp` do not match when both
varargs and attr-dict are present (round tripping is broken). This fixes
the parser so that it conforms to the written asm format in the
comments.
Commit: a0dde7b8d16842005d6f5247dda6f17c77a5906f
https://github.com/llvm/llvm-project/commit/a0dde7b8d16842005d6f5247dda6f17c77a5906f
Author: Philip Reames <preames at rivosinc.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
Log Message:
-----------
[DAG] Remove (dead) legalization for atomic LoadSDNode and StoreSDNode
This should have been part of 943f3e52 which removed the never completed
migration code which added these. I left them out because I thought there
was more generic SDAG code to cleanup, but I'd forgotten that SystemZ
relied on custom legalizing ATOMIC_LOAD to (atomic) LoadSDNode. As a
result, we still need the various legality checks on combines and the
common infrastructure to suport them.
Commit: 901bc5129d1a1e8ad47801343d48dcd9e01ad386
https://github.com/llvm/llvm-project/commit/901bc5129d1a1e8ad47801343d48dcd9e01ad386
Author: Augusto Noronha <augusto2112 at me.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M lldb/include/lldb/Expression/DiagnosticManager.h
Log Message:
-----------
[NFC][lldb] Implement DiagnosticManager::Consume (#74011)
In some situations it may be useful to have a separate DiagnosticManager
instance, and then later of move the contents of that instance back to
the "main" DiagnosticManager. For example, when silently retrying some
operation with different parameters, depending on whether the retry
succeeded or failed, LLDB may want to present a different set of
diagnostics to the user (the ones generated on the first try vs the
retry). Implement DiagnosticManager::Consume to allow for this use case.
Commit: 86bde5adc8f20a619c7ccbfee5d9bf92c5429226
https://github.com/llvm/llvm-project/commit/86bde5adc8f20a619c7ccbfee5d9bf92c5429226
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/sys/prctl.h.def
M libc/src/sys/CMakeLists.txt
A libc/src/sys/prctl/CMakeLists.txt
A libc/src/sys/prctl/linux/CMakeLists.txt
A libc/src/sys/prctl/linux/prctl.cpp
A libc/src/sys/prctl/prctl.h
M libc/test/src/sys/CMakeLists.txt
A libc/test/src/sys/prctl/CMakeLists.txt
A libc/test/src/sys/prctl/linux/CMakeLists.txt
A libc/test/src/sys/prctl/linux/prctl_test.cpp
Log Message:
-----------
[libc] implement prctl (#74386)
Implement `prctl` as specified in
https://man7.org/linux/man-pages/man2/prctl.2.html.
This patch also includes test cases covering two simple use cases:
1. `PR_GET_NAME/PR_SET_NAME`: where userspace data is passed via arg2.
2. `PR_GET_THP_DISABLE`: where return value is passed via syscal retval.
Commit: 0f45e45847a5f2969b8021c787a566531fc96473
https://github.com/llvm/llvm-project/commit/0f45e45847a5f2969b8021c787a566531fc96473
Author: Alex Light <allight at google.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M llvm/tools/lli/lli.cpp
Log Message:
-----------
Ensure `lli --force-interpreter` disables the OrcJIT too (#73717)
Unless the OrcJIT was explicitly disabled it would be used by lli even
if the --force-interpreter flag was passed.
Commit: d6fbd96e5eaf3e8acbf1b43dce7a311352907567
https://github.com/llvm/llvm-project/commit/d6fbd96e5eaf3e8acbf1b43dce7a311352907567
Author: Alex Bradbury <asb at igalia.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/test/CodeGen/RISCV/calling-conv-ilp32-ilp32f-ilp32d-common.ll
M llvm/test/CodeGen/RISCV/calling-conv-lp64-lp64f-lp64d-common.ll
M llvm/test/CodeGen/RISCV/push-pop-popret.ll
M llvm/test/CodeGen/RISCV/vararg.ll
M llvm/unittests/Target/RISCV/RISCVInstrInfoTest.cpp
Log Message:
-----------
[RISCV] Support FrameIndex operands in getMemOperandsWithOffsetWidth / getMemOperandWithOffsetWidth (#73802)
I noted AArch64 happily accepts a FrameIndex operand as well as a
register. This doesn't cause any changes outside of my C++ unit test for
the current state of in-tree, but this will cause additional test
changes if #73789 is rebased on top of it.
Note that the returned Offset doesn't seem at all as meaningful if you
have a FrameIndex base, though the approach taken here follows AArch64
(see D54847). This change won't harm the approach taken in
shouldClusterMemOps because memOpsHaveSameBasePtr will only return true
if the FrameIndex operand is the same for both operations.
Commit: 2284771fa02fa3c75b07fafc37c559cf6deddd59
https://github.com/llvm/llvm-project/commit/2284771fa02fa3c75b07fafc37c559cf6deddd59
Author: Andrzej Warzynski <andrzej.warzynski at arm.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
A flang/test/Driver/compiler-options.f90
R flang/test/Driver/compiler_options.f90
A flang/test/Driver/fast-math.f90
R flang/test/Driver/fast_math.f90
A flang/test/Driver/flang-f-opts.f90
R flang/test/Driver/flang_f_opts.f90
A flang/test/Driver/no-duplicate-main.f90
R flang/test/Driver/no_duplicate_main.f90
Log Message:
-----------
[flang][nfc] Rename four driver tests
This patch makes sure that hyphen ("-") (instead of an underscore "_")
is consistently used for all test files.
Sending without a review as this is rather straightforward.
Commit: 7fc792cba7663b2aa54f259515319d74a5625be0
https://github.com/llvm/llvm-project/commit/7fc792cba7663b2aa54f259515319d74a5625be0
Author: Sang Ik Lee <sang.ik.lee at intel.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M mlir/include/mlir/Target/LLVMIR/Dialect/All.h
A mlir/include/mlir/Target/LLVMIR/Dialect/SPIRV/SPIRVToLLVMIRTranslation.h
M mlir/lib/Target/LLVMIR/CMakeLists.txt
M mlir/lib/Target/LLVMIR/Dialect/CMakeLists.txt
M mlir/lib/Target/LLVMIR/Dialect/GPU/SelectObjectAttr.cpp
A mlir/lib/Target/LLVMIR/Dialect/SPIRV/CMakeLists.txt
A mlir/lib/Target/LLVMIR/Dialect/SPIRV/SPIRVToLLVMIRTranslation.cpp
M mlir/test/CMakeLists.txt
A mlir/test/Integration/GPU/SYCL/gpu-addf32-to-spirv.mlir
A mlir/test/Integration/GPU/SYCL/gpu-addi64-to-spirv.mlir
A mlir/test/Integration/GPU/SYCL/gpu-reluf32-to-spirv.mlir
A mlir/test/Integration/GPU/SYCL/lit.local.cfg
M mlir/test/Target/LLVMIR/gpu.mlir
M mlir/test/lit.cfg.py
M mlir/test/lit.site.cfg.py.in
Log Message:
-----------
[MLIR] Enable GPU Dialect to SYCL runtime integration (#71430)
GPU Dialect lowering to SYCL runtime is driven by spirv.target_env
attached to gpu.module. As a result of this, spirv.target_env remains as
an input to LLVMIR Translation.
A SPIRVToLLVMIRTranslation without any actual translation is added to
avoid an unregistered error in mlir-cpu-runner.
SelectObjectAttr.cpp is updated to
1) Pass binary size argument to getModuleLoadFn
2) Pass parameter count to getKernelLaunchFn
This change does not impact CUDA and ROCM usage since both
mlir_cuda_runtime and mlir_rocm_runtime are already updated to accept
and ignore the extra arguments.
Commit: 13e2200fa426faffb62bdaf8b2f1f5699eee1511
https://github.com/llvm/llvm-project/commit/13e2200fa426faffb62bdaf8b2f1f5699eee1511
Author: madanial0 <118996571+madanial0 at users.noreply.github.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M flang/runtime/exceptions.cpp
Log Message:
-----------
[Flang] remove assert using femode_t from AIX (#74500)
AIX does not have `femode_t` in `<cfenv>` header, removing the assert to
fix build failures
---------
Co-authored-by: Mark Danial <mark.danial at ibm.com>
Commit: 11ba327e69531255eae550d4de1eb07cd8c1ad39
https://github.com/llvm/llvm-project/commit/11ba327e69531255eae550d4de1eb07cd8c1ad39
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[bazel][libc] Add missing UInt.h -> CPP/bit.h dep
Commit: 16c61cad193f71b609890618fa156ed92c106d1b
https://github.com/llvm/llvm-project/commit/16c61cad193f71b609890618fa156ed92c106d1b
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
[bazel] Port 7fc792cba7663b2aa54f259515319d74a5625be0
Commit: 651a49c4b6bdef81c8deddbe653258c066867a58
https://github.com/llvm/llvm-project/commit/651a49c4b6bdef81c8deddbe653258c066867a58
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M llvm/include/llvm/IR/DerivedTypes.h
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
Log Message:
-----------
[IR] Remove deprecated PointerType methods that always return true (#74521)
Commit: cee5b8777fa98312b05bf8aa81554910a8f867c5
https://github.com/llvm/llvm-project/commit/cee5b8777fa98312b05bf8aa81554910a8f867c5
Author: elizabethandrews <elizabeth.andrews at intel.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/AttrDocs.td
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/test/CodeGen/attr-target-clones.c
M clang/test/CodeGenCXX/attr-target-clones.cpp
Log Message:
-----------
[Clang] Fix linker error for function multiversioning (#71706)
Currently target_clones attribute results in a linker error when there
are no multi-versioned function declarations in the calling TU.
In the calling TU, the call is generated with the ‘normal’ assembly
name. This does not match any of the versions or the ifunc, since
version mangling includes a .versionstring, and the ifunc includes
.ifunc suffix. The linker error is not seen with GCC since the mangling
for the ifunc symbol in GCC is the ‘normal’ assembly name for function
i.e. no ifunc suffix.
This PR removes the .ifunc suffix to match GCC. It also adds alias with
the .ifunc suffix so as to ensure backward compatibility.
The changes exclude aarch64 target because the mangling for default
versions on aarch64 does not include a .default suffix and is the
'normal' assembly name, unlike other targets. It is not clear to me what
the correct behavior for this target is.
Old Phabricator review - https://reviews.llvm.org/D158666
---------
Co-authored-by: Tom Honermann <tom at honermann.net>
Commit: 9fbcdfc7c6f547064a8fed7618aa6ba00153048d
https://github.com/llvm/llvm-project/commit/9fbcdfc7c6f547064a8fed7618aa6ba00153048d
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M llvm/include/llvm/IR/DerivedTypes.h
Log Message:
-----------
[IR] Remove deprecated PointerType::getWithSamePointeeType()
As the deprecation message says, use PointerType::get(LLVMContext &, unsigned) instead.
Commit: 9f87509b1902da2e98254f32bd32cc10eb88bb9e
https://github.com/llvm/llvm-project/commit/9f87509b1902da2e98254f32bd32cc10eb88bb9e
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M openmp/libomptarget/include/device.h
M openmp/libomptarget/plugins-nextgen/common/src/PluginInterface.cpp
M openmp/libomptarget/src/device.cpp
M openmp/libomptarget/src/omptarget.cpp
A openmp/libomptarget/test/Inputs/declare_indirect_func.c
A openmp/libomptarget/test/offloading/shared_lib_fp_mapping.c
Log Message:
-----------
[OpenMP][FIX] Ensure we allow shared libraries without kernels (#74532)
This fixes two bugs and adds a test for them:
- A shared library with declare target functions but without kernels
should not error out due to missing globals.
- Enabling LIBOMPTARGET_INFO=32 should not deadlock in the presence of
indirect declare targets.
Commit: 07157db81d4421ced9fcf9a2002255c2a3a80d49
https://github.com/llvm/llvm-project/commit/07157db81d4421ced9fcf9a2002255c2a3a80d49
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M clang-tools-extra/clang-tidy/ClangTidy.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/Inputs/compilation-database/template.json
M clang-tools-extra/test/clang-tidy/infrastructure/clang-tidy-run-with-database.cpp
M clang/lib/Rewrite/Rewriter.cpp
Log Message:
-----------
[clang][tidy] Ensure rewriter has the correct CWD (#67839)
This patch replaces use of the deprecated `FileEntry::getName()` with
`FileEntryRef::getName()`. This means the code now uses the path that
was used to register file entry in `SourceManager` instead of the
absolute path that happened to be used in the last call to
`FileManager::getFile()` some place else.
This caused some test failures due to the fact that some paths can be
relative and thus rely on the VFS CWD. The CWD can change for each TU,
so when we run `clang-tidy` on a compilation database and try to perform
all the replacements at the end, relative paths won't resolve the same.
This patch takes care to reinstate the correct CWD and make the path
reported by `FileEntryRef` absolute before passing it to
`llvm::writeToOutput()`.
Commit: 079ca05eea35745b2c362c218069dcc1c33982b9
https://github.com/llvm/llvm-project/commit/079ca05eea35745b2c362c218069dcc1c33982b9
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M libc/src/__support/wctype_utils.h
Log Message:
-----------
[libc] fix -Wtype-limits in wctob (#74511)
GCC warns:
```
libc/src/__support/wctype_utils.h:33:20: error: comparison of unsigned
expression in ‘< 0’ is always false [-Werror=type-limits]
33 | if (c > 127 || c < 0)
| ~~^~~
```
Looking into the signedness of wint_t, it looks like depending on the
platform,
__WINT_TYPE__ is defined to int or unsigned int depending on the
platform.
Link:
https://lab.llvm.org/buildbot/#/builders/250/builds/14891/steps/6/logs/stdio
Commit: bb0f162b3acfab3146807ab1e01946596d9921f9
https://github.com/llvm/llvm-project/commit/bb0f162b3acfab3146807ab1e01946596d9921f9
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M clang-tools-extra/clang-tidy/ClangTidy.cpp
Log Message:
-----------
[clang][tidy] Fix build failure after 07157db
Commit: 68db7aef74c9992de2af69e2d0b127ea7c7eacc3
https://github.com/llvm/llvm-project/commit/68db7aef74c9992de2af69e2d0b127ea7c7eacc3
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M openmp/libomptarget/include/PluginManager.h
M openmp/libomptarget/include/device.h
M openmp/libomptarget/plugins-nextgen/common/src/PluginInterface.cpp
M openmp/libomptarget/src/PluginManager.cpp
M openmp/libomptarget/src/device.cpp
Log Message:
-----------
[OpenMP] Reorganize the initialization of `PluginAdaptorTy` (#74397)
This introduces checked errors into the creation and initialization of
`PluginAdaptorTy`. We also allow the adaptor to "hide" devices from the
user if the initialization failed. The new organization avoids the
"initOnce" stuff but we still do not eagerly initialize the plugin
devices (I think we should merge `PluginAdaptorTy::initDevices` into
`PluginAdaptorTy::init`)
Commit: e68c265543722af32821eab2c77565d37079da47
https://github.com/llvm/llvm-project/commit/e68c265543722af32821eab2c77565d37079da47
Author: Florian Mayer <fmayer at google.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M compiler-rt/lib/scudo/standalone/include/scudo/interface.h
M compiler-rt/lib/scudo/standalone/wrappers_c_bionic.cpp
Log Message:
-----------
[scudo] Add parameters for ring buffer and stack depot sizes (#74539)
These will be used in follow-up CLs, committing this separately because
it needs a matching change in AOSP. This way we can avoid complicated
multi-repo rollbacks if something is wrong with the follow up CLs.
Commit: 20da662656931b5730ab21174a443ac828eb51f3
https://github.com/llvm/llvm-project/commit/20da662656931b5730ab21174a443ac828eb51f3
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M openmp/libomptarget/test/offloading/shared_lib_fp_mapping.c
Log Message:
-----------
[OpenMP][FIX] Fixup test that doesn't work with lit's `env` substitute
Commit: dbb782dffdbd37e4aafa745eba9ba0f2831e21e8
https://github.com/llvm/llvm-project/commit/dbb782dffdbd37e4aafa745eba9ba0f2831e21e8
Author: Matthias Springer <me at m-sp.org>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M mlir/include/mlir/Dialect/Shape/IR/ShapeOps.td
M mlir/lib/Dialect/Shape/IR/Shape.cpp
M mlir/test/Dialect/Shape/canonicalize.mlir
Log Message:
-----------
[mlir][shape] Turn `ShapeOfOp` folding into canonicalization pattern (#74438)
The `ShapeOfOp` folder used to generate invalid IR.
Input:
```
%0 = shape.shape_of %arg1 : tensor<index> -> tensor<?xindex>
```
Output:
```
%0 = "shape.const_shape"() <{shape = dense<> : tensor<0xindex>}> : () -> tensor<?xindex>
error: 'shape.const_shape' op inferred type(s) 'tensor<0xindex>' are incompatible with return type(s) of operation 'tensor<?xindex>'
```
This rewrite cannot be implemented as a folder because the result type
may have to change. In the above example, the original `shape.shape_of`
op had a return type of `tensor<?xindex>`, but the folded attribute
(materialized as a `shape.const_shape` op) must have a type of
`tensor<0xf32>` to be valid.
This commit fixes tests such as
`mlir/test/Dialect/Shape/canonicalize.mlir` when verifying the IR after
each pattern application (#74270).
Commit: 68f91cd257807ae8aad842d3cdc221415effbb93
https://github.com/llvm/llvm-project/commit/68f91cd257807ae8aad842d3cdc221415effbb93
Author: Matthias Springer <me at m-sp.org>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M mlir/lib/Dialect/Bufferization/IR/BufferizationOps.cpp
Log Message:
-----------
[mlir][bufferization] Fix invalid IR in `SimplifyClones` canonicalization (#74417)
`SimplifyClones` used to generate an invalid op:
```
error: 'memref.cast' op operand type 'memref<*xf32>' and result type 'memref<*xf32>' are cast incompatible
%2 = bufferization.clone %1 : memref<*xf32> to memref<*xf32
```
This commit fixes tests such as
`mlir/test/Dialect/Bufferization/canonicalize.mlir` when verifying the
IR after each pattern (#74270).
Commit: 8f9aac44279dbc1e7fdc5e4263da2b237db0cfc1
https://github.com/llvm/llvm-project/commit/8f9aac44279dbc1e7fdc5e4263da2b237db0cfc1
Author: Matthias Springer <me at m-sp.org>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M mlir/lib/Conversion/VectorToSCF/VectorToSCF.cpp
Log Message:
-----------
[mlir][vector] Fix invalid IR in `vector.print` lowering (#74410)
`DecomposePrintOpConversion` used to generate invalid op such as:
```
error: 'arith.extsi' op operand type 'vector<10xi32>' and result type 'vector<10xi32>' are cast incompatible
vector.print %v9 : vector<10xi32>
```
This commit fixes tests such as
`mlir/test/Integration/Dialect/Vector/CPU/test-reductions-i32.mlir` when
verifying the IR after each pattern application (#74270).
Commit: 7a49c30b830471c39d09d71a6a617f2a7f3e711c
https://github.com/llvm/llvm-project/commit/7a49c30b830471c39d09d71a6a617f2a7f3e711c
Author: Fangrui Song <i at maskray.me>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M clang/test/Driver/aarch64-thread-pointer.c
M clang/test/Headers/arm-neon-header.c
Log Message:
-----------
[Driver,test] Remove invalid -arch for non-Darwin AArch64 OSes
See also #74365. clang/lib/Driver/ToolChains/Arch/AArch64.cpp
inappropriately claims OPT_arch, which will be removed by the follow-up
change.
Commit: 8a686716e360157ad5726560cc5ea61be647893c
https://github.com/llvm/llvm-project/commit/8a686716e360157ad5726560cc5ea61be647893c
Author: Fangrui Song <i at maskray.me>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M clang/lib/Driver/ToolChains/Arch/AArch64.cpp
M clang/test/Driver/arm-arch-darwin.c
Log Message:
-----------
[Driver,AArch64] Ensure -arch logic is Darwin-specific
`-arch` is a Darwin-specific option that is ignored for other targets
and not known by GCC. It leads to an error for non-Darwin OSes for
non-AArch64 architectures. Ensure that it leads to an error for AArch64
non-Darwin OSes as well.
Commit: f5adb5bca9c52a0cd563834931b98597932e76d7
https://github.com/llvm/llvm-project/commit/f5adb5bca9c52a0cd563834931b98597932e76d7
Author: XinWang10 <108658776+XinWang10 at users.noreply.github.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M llvm/lib/Target/X86/X86InstrVMX.td
A llvm/test/MC/Disassembler/X86/apx/invept.txt
A llvm/test/MC/Disassembler/X86/apx/invvpid.txt
A llvm/test/MC/X86/apx/invept-att.s
A llvm/test/MC/X86/apx/invept-intel.s
A llvm/test/MC/X86/apx/invvpid-att.s
A llvm/test/MC/X86/apx/invvpid-intel.s
Log Message:
-----------
[X86][MC] Support Enc/Dec for EGPR for promoted VMX instructions (#74434)
R16-R31 was added into GPRs in
https://github.com/llvm/llvm-project/pull/70958,
This patch supports the encoding/decoding for promoted VMX instructions
in EVEX space.
RFC:
https://discourse.llvm.org/t/rfc-design-for-apx-feature-egpr-and-ndd-support/73031/4
Commit: 4699789249e6945c46cdbecd1fee493cbe553c66
https://github.com/llvm/llvm-project/commit/4699789249e6945c46cdbecd1fee493cbe553c66
Author: Ben Shi <2283975856 at qq.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
Log Message:
-----------
[clang][analyzer][NFC] Supplement comments in `evalFtell` of StreamChecker (#74291)
Commit: 689db42c9c393cbf27da5aa345f6a7429cf7e18f
https://github.com/llvm/llvm-project/commit/689db42c9c393cbf27da5aa345f6a7429cf7e18f
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M llvm/lib/Target/X86/X86Instr3DNow.td
M llvm/lib/Target/X86/X86InstrAVX512.td
M llvm/lib/Target/X86/X86InstrArithmetic.td
M llvm/lib/Target/X86/X86InstrCompiler.td
M llvm/lib/Target/X86/X86InstrFPStack.td
M llvm/lib/Target/X86/X86InstrFormats.td
A llvm/lib/Target/X86/X86InstrFragments.td
M llvm/lib/Target/X86/X86InstrFragmentsSIMD.td
M llvm/lib/Target/X86/X86InstrInfo.td
M llvm/lib/Target/X86/X86InstrMisc.td
A llvm/lib/Target/X86/X86InstrOperands.td
A llvm/lib/Target/X86/X86InstrPredicates.td
M llvm/lib/Target/X86/X86InstrSSE.td
A llvm/lib/Target/X86/X86InstrUtils.td
Log Message:
-----------
[X86][NFC] Reorgnize the X86Instr*.td (#74454)
1. Move all pattern fragments for SIMD instructions to X86InstrFragmentsSIMD.td
2. Create X86InstrFragments.td and move non-SIMD pattern fragments into it
3. Create X86InstrOperands.td and move operand definitions into it
4. Create X86InstrPredicates.td and move predicate definitions into it
5. Create X86InstrUtils.td and move utilities for simplifying the instruction definitions into it
Commit: aeaae5311b8d4bbcfe7ef5cff722ea36b038c0ad
https://github.com/llvm/llvm-project/commit/aeaae5311b8d4bbcfe7ef5cff722ea36b038c0ad
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M clang/tools/clang-format/git-clang-format
Log Message:
-----------
[clang-format] Add "three dot" diff option to git-clang-format (#74230)
This patch adds in the ability to do a "three dot" git-clang-format
between two commits. This looks at the diff between the second commit
and the common merge base rather than comparing at the point of the
specified commits. This is needed to improve the reliability of the LLVM
code formatting CI action which currently breaks in some cases where
files have been modified in the upstream tree and when the person
created their branch, leaving phantom formatting diffs that weren't
touched by the PR author.
Part of a fix for #73873
Commit: 9fa34555af26a1efdcb367ec70c236a84ece7659
https://github.com/llvm/llvm-project/commit/9fa34555af26a1efdcb367ec70c236a84ece7659
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[Bazel] Quick fix for #74469 CLANG_VERSION
Commit: 62ece9ce997a3ca077a931eff07bc2cfef978289
https://github.com/llvm/llvm-project/commit/62ece9ce997a3ca077a931eff07bc2cfef978289
Author: SiHuaN <liyongtai at iscas.ac.cn>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M flang/runtime/unit.cpp
Log Message:
-----------
[flang][runtime] Add a critical section for LookUpOrCreateAnonymous. (#74468)
In parallel regions `LookUpOrCreateAnonymous` may return an anonymous
unit that has not yet been opened, which may cause a runtime error.
This commit ensures that the returned anonymous unit has been opened.
For details see:
https://github.com/llvm/llvm-project/issues/68856#issuecomment-1788632511
Fixes https://github.com/llvm/llvm-project/issues/68856
Commit: a2b715920ab6978949db8c85a8afd22942898f5b
https://github.com/llvm/llvm-project/commit/a2b715920ab6978949db8c85a8afd22942898f5b
Author: Kazu Hirata <kazu at google.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M llvm/include/llvm/XRay/BlockVerifier.h
M llvm/lib/XRay/BlockVerifier.cpp
Log Message:
-----------
[XRay] Adjust includes of bitset (NFC)
BlockVerifier.cpp uses std::bitset, not BlockVerifier.h.
Identified with clangd.
Commit: 124b4ab85af254b9e8b6e466417d568fc50a25b2
https://github.com/llvm/llvm-project/commit/124b4ab85af254b9e8b6e466417d568fc50a25b2
Author: Kazu Hirata <kazu at google.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M llvm/lib/Target/ARM/Thumb1FrameLowering.cpp
M llvm/lib/Target/X86/X86LoadValueInjectionRetHardening.cpp
Log Message:
-----------
[Target] Stop including bitset (NFC)
Identified with clangd.
Commit: 06c5c27e44757e4917f7d7c995720ae8a2d3b1f9
https://github.com/llvm/llvm-project/commit/06c5c27e44757e4917f7d7c995720ae8a2d3b1f9
Author: Kazu Hirata <kazu at google.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
M llvm/tools/llvm-exegesis/lib/SnippetGenerator.cpp
M llvm/tools/llvm-exegesis/lib/SnippetRepetitor.cpp
Log Message:
-----------
[llvm-exegesis] Stop including array (NFC)
Identified with clangd.
Commit: 41507fe595d0fa3d81e151d70431d51897f8d14d
https://github.com/llvm/llvm-project/commit/41507fe595d0fa3d81e151d70431d51897f8d14d
Author: Pranav Taneja <138754701+prtaneja at users.noreply.github.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/test/CodeGen/AArch64/arm64-indexed-vector-ldst.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-add-mul.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement-stack-lower.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.i128.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.i16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.i8.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.ll
Log Message:
-----------
[GISel] Combine (Scalarize) vector load followed by an element extract.
Commit: a8d5f731d6696edcdbb6f71f8d58ca23962f5d9f
https://github.com/llvm/llvm-project/commit/a8d5f731d6696edcdbb6f71f8d58ca23962f5d9f
Author: Jie Fu <jiefu at tencent.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
Log Message:
-----------
[GlobalISel] Remove unused variable 'ResultTy' in CombinerHelper.cpp (NFC)
llvm-project/llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp:1179:7:
error: unused variable 'ResultTy' [-Werror,-Wunused-variable]
LLT ResultTy = MRI.getType(MI.getOperand(0).getReg());
^
1 error generated.
Commit: df7545e4be5cb65ef3ddd278119c0b8b2f37b0ec
https://github.com/llvm/llvm-project/commit/df7545e4be5cb65ef3ddd278119c0b8b2f37b0ec
Author: Matthias Springer <me at m-sp.org>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M mlir/lib/Dialect/SCF/IR/SCF.cpp
Log Message:
-----------
[mlir][SCF] Fix invalid IR in `ParallelOpSingleOrZeroIterationDimsFolder` pattern (#74552)
`ParallelOpSingleOrZeroIterationDimsFolder` used to produce invalid IR:
```
within split at mlir/test/Dialect/SCF/canonicalize.mlir:1 offset :11:3: error: 'scf.parallel' op expects region #0 to have 0 or 1 blocks
scf.parallel (%i0, %i1, %i2) = (%c0, %c3, %c7) to (%c1, %c6, %c10) step (%c1, %c2, %c3) {
^
within split at mlir/test/Dialect/SCF/canonicalize.mlir:1 offset :11:3: note: see current operation:
"scf.parallel"(%4, %5, %3) <{operandSegmentSizes = array<i32: 1, 1, 1, 0>}> ({
^bb0(%arg1: index):
"memref.store"(%0, %arg0, %1, %arg1, %6) : (i32, memref<?x?x?xi32>, index, index, index) -> ()
"scf.yield"() : () -> ()
^bb1(%8: index): // no predecessors
"scf.yield"() : () -> ()
}) : (index, index, index) -> ()
```
Together with #74551, this commit fixes
`mlir/test/Dialect/SCF/canonicalize.mlir` when verifying the IR after
each pattern application (#74270).
Commit: 68f0bc6f2e869dc7d3e8394b99fba7052ad8116a
https://github.com/llvm/llvm-project/commit/68f0bc6f2e869dc7d3e8394b99fba7052ad8116a
Author: Rik Huijzer <github at huijzer.xyz>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M mlir/include/mlir/Dialect/Utils/StaticValueUtils.h
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/lib/Dialect/Utils/StaticValueUtils.cpp
M mlir/test/Dialect/MemRef/canonicalize.mlir
Log Message:
-----------
[mlir] Fix a zero stride canonicalizer crash (#74200)
This PR fixes https://github.com/llvm/llvm-project/issues/73383 and is
another shot at the refactoring proposed in
https://github.com/llvm/llvm-project/pull/72885.
---------
Co-authored-by: Kai Sasaki <lewuathe at gmail.com>
Commit: a05e20b9720f8b012f06f410d92f1f22b55bce74
https://github.com/llvm/llvm-project/commit/a05e20b9720f8b012f06f410d92f1f22b55bce74
Author: Kohei Yamaguchi <fix7211 at gmail.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M mlir/benchmark/python/common.py
Log Message:
-----------
[mlir][benchmark] Fix broken benchmark script (#68841)
The mbr script was broken, so this patch fixes it to follow the latest
python binding.
Commit: c630f95f33e31fe11ec6242560d9bf5d57007673
https://github.com/llvm/llvm-project/commit/c630f95f33e31fe11ec6242560d9bf5d57007673
Author: Kazu Hirata <kazu at google.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M llvm/tools/llvm-exegesis/lib/Analysis.cpp
M llvm/tools/llvm-exegesis/lib/Analysis.h
M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
M llvm/tools/llvm-exegesis/lib/SchedClassResolution.cpp
M llvm/unittests/tools/llvm-exegesis/Mips/SnippetGeneratorTest.cpp
M llvm/unittests/tools/llvm-exegesis/PowerPC/SnippetGeneratorTest.cpp
Log Message:
-----------
[llvm-exegesis] Remove unnecessary includes (NFC)
Identified with clangd.
Commit: e8ae0e72b794bc1b879a3a90215a940572306c25
https://github.com/llvm/llvm-project/commit/e8ae0e72b794bc1b879a3a90215a940572306c25
Author: Matthias Springer <me at m-sp.org>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M mlir/include/mlir/Dialect/Transform/IR/TransformInterfaces.h
M mlir/lib/Dialect/Transform/IR/TransformInterfaces.cpp
M mlir/test/Dialect/Transform/test-pattern-application.mlir
Log Message:
-----------
[mlir][transform] TrackingListener: Improve dead handles detection (#74290)
The tracking listener should not report op replacement errors for
payload ops that are not mapped to any live handles. The handle liveless
analysis did not work properly with transform IR that has named
sequences.
A handle is live if it has a user after the transform op that is
currently being applied. With named sequences, we need to maintain a
stack of currently applied transform ops. That stack already exists
(`regionStack`), the only thing that's missing is the current transform
op for each stack frame.
This commit fixes #72931.
Commit: 7ca94a841c7c557191f278ab68f8358e5b9f6cee
https://github.com/llvm/llvm-project/commit/7ca94a841c7c557191f278ab68f8358e5b9f6cee
Author: Kazu Hirata <kazu at google.com>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M llvm/tools/llvm-reduce/deltas/Delta.cpp
M llvm/tools/llvm-reduce/deltas/Delta.h
M llvm/tools/llvm-reduce/deltas/ReduceDIMetadata.cpp
Log Message:
-----------
[llvm-reduce] Remove unnecessary includes (NFC)
Identified with clangd.
Commit: 114325b86a3d0360afc772c44335fc9092686f58
https://github.com/llvm/llvm-project/commit/114325b86a3d0360afc772c44335fc9092686f58
Author: Fangrui Song <i at maskray.me>
Date: 2023-12-05 (Tue, 05 Dec 2023)
Changed paths:
M llvm/docs/tutorial/MyFirstLanguageFrontend/LangImpl08.rst
M llvm/examples/Kaleidoscope/Chapter8/toy.cpp
Log Message:
-----------
Kaleidoscope-Ch8: use Reloc::PIC_
which has better portability across different OSes.
In addition, on many ELF OSes, this output relocatable file can be
linked without -no-pie.
Commit: 2ea60f41972dcb3c704c0b31a65a620ffcd9d4f6
https://github.com/llvm/llvm-project/commit/2ea60f41972dcb3c704c0b31a65a620ffcd9d4f6
Author: Billy Zhu <billyzhu at modular.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M mlir/lib/Target/LLVMIR/DebugImporter.cpp
M mlir/lib/Target/LLVMIR/DebugTranslation.cpp
M mlir/test/Target/LLVMIR/Import/debug-info.ll
M mlir/test/Target/LLVMIR/llvmir-debug.mlir
Log Message:
-----------
[MLIR][LLVM] Fuse Scope into CallsiteLoc Callee (#74546)
There's an issue in the translator today where, for a CallsiteLoc, if
the callee does not have a DI scope (perhaps due to compile options or
optimizations), it may get propagated the DI scope of its callsite's
parent function, which will create a non-existent DILocation combining
line & col number from one file, and the filename from another.
The root problem is we cannot propagate the parent scope when
translating the callee location, as it no longer applies to inlined
locations (see code diff and hopefully this will make sense).
To facilitate this, the importer is also changed so that callee scopes
are fused with the callee FileLineCol loc, instead of on the Callsite
loc itself. This comes with the benefit that we now have a symmetric
Callsite loc representation. If we required the callee scope be always
annotated on the Callsite loc, it would be hard for generic inlining
passes to maintain that, since it would have to somehow understand the
semantics of the fused metadata and pull it out while inlining.
Commit: de21308f78f3b0f0910638dbdac90967150d19f0
https://github.com/llvm/llvm-project/commit/de21308f78f3b0f0910638dbdac90967150d19f0
Author: wanglei <wanglei at loongson.cn>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
A llvm/test/CodeGen/LoongArch/lasx/vselect.ll
A llvm/test/CodeGen/LoongArch/lsx/vselect.ll
Log Message:
-----------
[LoongArch] Make ISD::VSELECT a legal operation with lsx/lasx
Commit: bb4484d41e1ee7856ce71ae0572a724c20d989f2
https://github.com/llvm/llvm-project/commit/bb4484d41e1ee7856ce71ae0572a724c20d989f2
Author: Dominik Adamski <dominik.adamski at amd.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M llvm/include/llvm/Frontend/OpenMP/OMPConstants.h
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
Log Message:
-----------
[OpenMPIRBuilder] Add support for target workshare loops (#73360)
The workshare loop for target region uses the new OpenMP device runtime.
The code generation scheme for the new device runtime is presented
below:
Input code:
```
workshare-loop {
loop-body
}
```
Output code:
helper function which represents loop body:
```
function-loop-body(counter, loop-body-args) {
loop-body
}
```
workshare-loop is replaced by the proper device runtime call:
```
call __kmpc_new_worksharing_rtl(function-loop-body, loop-body-args,
loop-tripcount, ...)
```
This PR uses the new device runtime functions which were added in PR:
https://github.com/llvm/llvm-project/pull/73225
Commit: 40d802a6b6d507c9ae9dc7b0462e54652b42ad39
https://github.com/llvm/llvm-project/commit/40d802a6b6d507c9ae9dc7b0462e54652b42ad39
Author: Diana Picus <Diana-Magda.Picus at amd.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUMachineFunction.h
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
Log Message:
-----------
[AMDGPU] Introduce isBottomOfStack helper. NFC (#74288)
Introduce a helper to check if a function is at the bottom of the stack,
i.e. if it's an entry function or a chain function.
This was suggested in #71913.
Commit: 08e63dd8feb0933e82d32c306e37f8174eb0d715
https://github.com/llvm/llvm-project/commit/08e63dd8feb0933e82d32c306e37f8174eb0d715
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
A llvm/test/CodeGen/AMDGPU/infloop-subrange-spill-inspect-subrange.mir
Log Message:
-----------
AMDGPU: Add a MIR test to catch infinite loop
This is derived from one of the regressions reported
after aed1a2217a1da0c9fb7d2c0856302dee25b1d4a1
Commit: 19c9f9c0bfc83ebcd4355ee7d5479c542324b332
https://github.com/llvm/llvm-project/commit/19c9f9c0bfc83ebcd4355ee7d5479c542324b332
Author: Mariusz Sikora <mariusz.sikora at amd.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AMDGPU/SMInstructions.td
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
A llvm/test/MC/AMDGPU/gfx12_asm_smem.s
M llvm/test/MC/AMDGPU/gfx12_err.s
A llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_smem.txt
Log Message:
-----------
[AMDGPU] GFX12: Add s_prefetch_inst/data instructions (#74448)
Co-authored-by: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Commit: b304873134e82054b18eb64d5c292d2ff06835b8
https://github.com/llvm/llvm-project/commit/b304873134e82054b18eb64d5c292d2ff06835b8
Author: sinan <sinan.lin at linux.alibaba.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M bolt/test/runtime/AArch64/instrumentation-ind-call.c
Log Message:
-----------
[BOLT] Fix a wrong compiler option in test (#74420)
-nopie is an option for OpenBSD, and other linux distribution might
report an `unsupported option '-nopie' for target` error.
Commit: ea4ce16da2c7105c72ec8a3f265d5949febe6718
https://github.com/llvm/llvm-project/commit/ea4ce16da2c7105c72ec8a3f265d5949febe6718
Author: Nikita Popov <npopov at redhat.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
M llvm/test/Transforms/ConstraintElimination/or.ll
Log Message:
-----------
[ConstraintElim] Use disjoint flag for decomposition (#74478)
Use the or disjoint flag for decomposing or into add, which will handle
cases that haveNoCommonBitsSet() may not be able to reinfer (e.g.
because they require context-sensitive facts, which the call here does
not use.)
Commit: 641e05decc64c541aa5fd5ce253020178ffe094a
https://github.com/llvm/llvm-project/commit/641e05decc64c541aa5fd5ce253020178ffe094a
Author: Guray Ozen <guray.ozen at gmail.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
M mlir/test/Conversion/GPUCommon/lower-memory-space-attrs.mlir
Log Message:
-----------
[mlir][gpu] Support dynamic_shared_memory Op with vector dialect (#74475)
`gpu.dynamic_shared_memory` currently does not get lowered when it is
used with vector dialect. The reason is that vector-to-llvm conversion
is not included in gpu-to-nvvm. This PR includes that and adds a test.
Commit: ecd2f56a80ed2c0ccba990a8d46ed73c994bb5c4
https://github.com/llvm/llvm-project/commit/ecd2f56a80ed2c0ccba990a8d46ed73c994bb5c4
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
A llvm/test/CodeGen/AMDGPU/min-waves-per-eu-not-respected.ll
Log Message:
-----------
[AMDGPU] Warn if 'amdgpu-waves-per-eu' target occupancy was not met (#74055)
This should make it a bit harder to miss this type of issue. The warning
only shows if amdgpu-waves-per-eu is used.
See SWDEV-434482
Commit: 8d4977affb78c0b165653b154f644078ad207f64
https://github.com/llvm/llvm-project/commit/8d4977affb78c0b165653b154f644078ad207f64
Author: Jay Foad <jay.foad at amd.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M llvm/lib/Target/AMDGPU/SIDefines.h
M llvm/lib/Target/AMDGPU/Utils/AMDGPUAsmUtils.cpp
M llvm/test/MC/AMDGPU/gfx12_asm_sopk.s
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sopk.txt
Log Message:
-----------
[AMDGPU] Update hardware registers for GFX12 (#74445)
Commit: b3f0fa8bb4316b489ddd7894f88983990bbfa43a
https://github.com/llvm/llvm-project/commit/b3f0fa8bb4316b489ddd7894f88983990bbfa43a
Author: Adrian Kuegel <akuegel at google.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][Bazel] Add missing dependency after 641e05decc64c541aa5fd5ce253020178ffe094a
Commit: 6704d6aadd34e3b984ef6dbe85b18895beee9831
https://github.com/llvm/llvm-project/commit/6704d6aadd34e3b984ef6dbe85b18895beee9831
Author: Matthew Devereau <matthew.devereau at arm.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M clang/include/clang/Basic/arm_sme.td
M clang/include/clang/Basic/arm_sve_sme_incl.td
A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti2_lane_zt_x4.c
A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti4_lane_zt_x4.c
M clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_imm.cpp
M clang/utils/TableGen/SveEmitter.cpp
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/SMEInstrFormats.td
A llvm/test/CodeGen/AArch64/sme2-intrinsics-luti2-lane-x4.ll
A llvm/test/CodeGen/AArch64/sme2-intrinsics-luti4-lane-x4.ll
Log Message:
-----------
[SME2] Add LUTI2 and LUTI4 quad Builtins and Intrinsics (#73317)
See https://github.com/ARM-software/acle/pull/217
Patch by: Hassnaa Hamdi <hassnaa.hamdi at arm.com>
Commit: f465a2c83d3c2a142ceba6104f7e7093859efa54
https://github.com/llvm/llvm-project/commit/f465a2c83d3c2a142ceba6104f7e7093859efa54
Author: Jay Foad <jay.foad at amd.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M llvm/lib/Target/AMDGPU/SOPInstructions.td
M llvm/test/MC/AMDGPU/gfx12_asm_sop2.s
M llvm/test/MC/AMDGPU/gfx12_asm_sop2_alias.s
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sop2.txt
Log Message:
-----------
[AMDGPU] Add new 64-bit SALU instructions (#74449)
Commit: 6ed7a8eae65153fbbc1f42139074dcbcab833e81
https://github.com/llvm/llvm-project/commit/6ed7a8eae65153fbbc1f42139074dcbcab833e81
Author: Jay Foad <jay.foad at amd.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M llvm/lib/Target/AMDGPU/SOPInstructions.td
A llvm/test/MC/AMDGPU/gfx12_unsupported.s
Log Message:
-----------
[AMDGPU] Remove s_subvector_loop_begin/end for GFX12 (#74451)
Commit: 6b1aa319754e76366edd88e10034e0539710d946
https://github.com/llvm/llvm-project/commit/6b1aa319754e76366edd88e10034e0539710d946
Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaCXXScopeSpec.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/test/CXX/temp/temp.decls/temp.alias/p3.cpp
M clang/test/SemaCXX/alias-template.cpp
Log Message:
-----------
[clang] Substitute alias templates from correct context (#74335)
Current context set to where alias was met, not where it is declared
caused incorrect access check in case alias referenced private members
of the parent class.
Fixes https://github.com/llvm/llvm-project/issues/41693
Commit: 34df53739af2ce0ffb2625075ee2e613b278969c
https://github.com/llvm/llvm-project/commit/34df53739af2ce0ffb2625075ee2e613b278969c
Author: Adam Paszke <apaszke at google.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Dialect/Vector/canonicalize.mlir
Log Message:
-----------
Revert "[mlir][Vector] Add fold transpose(shape_cast) -> shape_cast (#73951)" (#74579)
This reverts commit f42b7615b862bb5f77981f619f92877eb20adf54.
The fold pattern is incorrect, because it does not even look at the
permutation of non-unit dims and is happy to replace a pattern such as
```
%22 = vector.shape_cast %21 : vector<1x256x256xf32> to vector<256x256xf32>
%23 = vector.transpose %22, [1, 0] : vector<256x256xf32> to vector<256x256xf32>
```
with
```
%22 = vector.shape_cast %21 : vector<1x256x256xf32> to vector<256x256xf32>
```
which is obviously incorrect.
Commit: fcd06d774dad1b5bcdc22f5f10a9d5c62c585814
https://github.com/llvm/llvm-project/commit/fcd06d774dad1b5bcdc22f5f10a9d5c62c585814
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/test/Fir/convert-to-llvm.fir
M flang/test/Fir/fir-ops.fir
M flang/test/HLFIR/call_with_poly_dummy.f90
M flang/test/Lower/HLFIR/binary-ops.f90
M flang/test/Lower/HLFIR/user-defined-assignment.f90
M flang/test/Lower/Intrinsics/bessel_jn.f90
M flang/test/Lower/Intrinsics/bessel_yn.f90
M flang/test/Lower/Intrinsics/dim.f90
M flang/test/Lower/Intrinsics/min.f90
M flang/test/Lower/Intrinsics/modulo.f90
M flang/test/Lower/Intrinsics/nearest.f90
M flang/test/Lower/OpenACC/acc-reduction.f90
M flang/test/Lower/arithmetic-goto.f90
M flang/test/Lower/array-elemental-calls-2.f90
M flang/test/Lower/array-expression-slice-1.f90
M flang/test/Lower/array-user-def-assignments.f90
M flang/test/Lower/forall/forall-construct.f90
M flang/test/Lower/forall/forall-where.f90
M flang/test/Lower/host-associated.f90
M flang/test/Lower/real-operations-2.f90
M flang/test/Lower/where.f90
M flang/test/Transforms/simplifyintrinsics.fir
M mlir/include/mlir/Dialect/Arith/IR/ArithOps.td
M mlir/lib/Conversion/ArithToLLVM/ArithToLLVM.cpp
M mlir/test/Conversion/ArithToLLVM/arith-to-llvm.mlir
M mlir/test/Dialect/Arith/ops.mlir
Log Message:
-----------
[mlir][flang] add fast math attribute to fcmp (#74315)
`llvm.fcmp` does support fast math attributes therefore so should
`arith.cmpf`.
The heavy churn in flang tests are because flang sets
`fastmath<contract>` by default on all operations that support the fast
math interface. Downstream users of MLIR should not be so effected.
This was requested in https://github.com/llvm/llvm-project/issues/74263
Commit: bfdc562d0c6ff18ae3a8d618a2cb05c22a04898b
https://github.com/llvm/llvm-project/commit/bfdc562d0c6ff18ae3a8d618a2cb05c22a04898b
Author: Stephan T. Lavavej <stl at nuwen.net>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M libcxx/include/__algorithm/ranges_rotate_copy.h
M libcxx/test/std/algorithms/alg.modifying.operations/alg.rotate/ranges.rotate_copy.pass.cpp
Log Message:
-----------
[libc++] Fix copy-paste damage in `ranges::rotate_copy` and its test (#74544)
Found while running libc++'s tests with MSVC's STL.
`ranges::rotate_copy` takes `forward_iterator`s as this test's comment
banner correctly depicts. However, this test had bogus assertions
expecting that `ranges::rotate_copy` would be constrained away for
not-quite-**bidi** iterators. @philnik777 confirmed that these were
copy-paste relics from the `ranges::reverse_copy` test.
I fixed this by replacing the assertions with the test types that aren't
quite **forward** iterators/ranges. Additionally, I noticed that the
top-level `test()` function was missing coverage with the weakest
possible `forward_iterator<int*>`.
This revealed that the product code in `ranges_rotate_copy.h` was
similarly damaged. In addition to fixing it by taking `forward_iterator`
and `forward_range` as depicted in the Standard, this drops the
inclusion of `<__iterator/reverse_iterator.h>` as this algorithm doesn't
need `std::__reverse_range`.
Commit: a65363d98965082d4e3e660fa1aee51113104590
https://github.com/llvm/llvm-project/commit/a65363d98965082d4e3e660fa1aee51113104590
Author: JP Lehr <JanPatrick.Lehr at amd.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M openmp/libomptarget/test/offloading/barrier_fence.c
Log Message:
-----------
[OpenMP] Disable offloading/barrier_fence test
Unblock build bot, while investigating. Issue is tracked under llvm
https://github.com/llvm/llvm-project/issues/74582
Commit: 322c7c717b3a3415d6a1c5000752dd51f32341db
https://github.com/llvm/llvm-project/commit/322c7c717b3a3415d6a1c5000752dd51f32341db
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M llvm/test/CodeGen/X86/slow-unaligned-mem.ll
Log Message:
-----------
[X86] slow-unaligned-mem.ll - improve checks
We can't easily convert this to use the update scripts, but we can manually improve the checks so we check for the right number of stores
Commit: 46a36af98be29663f9debcd557ef48f62bab6304
https://github.com/llvm/llvm-project/commit/46a36af98be29663f9debcd557ef48f62bab6304
Author: Alex Bradbury <asb at igalia.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M llvm/docs/ReleaseNotes.rst
M llvm/include/llvm-c/Core.h
M llvm/lib/IR/Core.cpp
M llvm/test/Bindings/llvm-c/echo.ll
M llvm/tools/llvm-c-test/echo.cpp
Log Message:
-----------
[llvm-c] Add support for setting/getting new disjoint flag on or instructions (#74517)
Follows #73952 doing the same thing for the nneg flag on zext (i.e.,
exposing support in the C API).
Commit: 17544fa49df3f890ba22280d10cb28dedd789f9f
https://github.com/llvm/llvm-project/commit/17544fa49df3f890ba22280d10cb28dedd789f9f
Author: Alex Bradbury <asb at igalia.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M llvm/include/llvm-c/Core.h
Log Message:
-----------
[NFC][llvm-c] Add full-stop to doc comments
I'd copied and adjusted the doc comments for LLVMGetNNeg and LLVMSetNNeg
in #74517. Nikita pointed out in that review my comments were missing a
full stop, so I'm applying the same fix to these.
Commit: 84e01450a30eabab571103d2f1195565c0ab851a
https://github.com/llvm/llvm-project/commit/84e01450a30eabab571103d2f1195565c0ab851a
Author: Guray Ozen <guray.ozen at gmail.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/test/Conversion/NVVMToLLVM/nvvm-to-llvm.mlir
Log Message:
-----------
[mlir][nvvm] Introduce `fence.mbarrier.init` (#74058)
This PR introduce `fence.mbarrier.init` OP
Commit: 975c05b69db2d23f8d135811d46707a3802ea7fa
https://github.com/llvm/llvm-project/commit/975c05b69db2d23f8d135811d46707a3802ea7fa
Author: Nikita Popov <npopov at redhat.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
Log Message:
-----------
[Bitcode] Check for missing load type
We perform do this check independently of whether this is an old
or new style load.
Fixes https://github.com/llvm/llvm-project/issues/74556.
Commit: f12a0ba53ed1bef3bf42f20b2725cc2cac38409a
https://github.com/llvm/llvm-project/commit/f12a0ba53ed1bef3bf42f20b2725cc2cac38409a
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M llvm/test/CodeGen/X86/zero-remat.ll
Log Message:
-----------
[X86] zero-remat.ll - regenerate checks
Commit: 9db3b8d2537e2e3da8f9a8f8f12cd9263335f4f9
https://github.com/llvm/llvm-project/commit/9db3b8d2537e2e3da8f9a8f8f12cd9263335f4f9
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M flang/test/Lower/Intrinsics/ieee_compare.f90
M flang/test/Lower/Intrinsics/ieee_logb.f90
M flang/test/Lower/Intrinsics/ieee_max_min.f90
M flang/test/Lower/Intrinsics/ieee_unordered.f90
Log Message:
-----------
[flang] fix broken ieee tests
These tests were broken after
https://github.com/llvm/llvm-project/pull/74315
Fixing them to ignore the fastmath attribute on fcmp
Commit: f0f899932b8463488c82953667adb18c01147ca8
https://github.com/llvm/llvm-project/commit/f0f899932b8463488c82953667adb18c01147ca8
Author: Graham Hunter <graham.hunter at arm.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
A llvm/test/Transforms/LoopVectorize/AArch64/vector-call-linear-args.ll
Log Message:
-----------
[LV] Linear argument tests for vectorization of function calls (#73936)
Tests to exercise vectorization of function calls where a vector variant
takes a linear parameter.
Commit: 609d980b3f11d844e50d39fb9266134ddb6cce5b
https://github.com/llvm/llvm-project/commit/609d980b3f11d844e50d39fb9266134ddb6cce5b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M llvm/test/CodeGen/ARM/aapcs-hfa-code.ll
Log Message:
-----------
[ARM] Regenerate aapcs-hfa-code.ll
Commit: a9673bd1ca217e46800f3c2b705c1bed01fdc457
https://github.com/llvm/llvm-project/commit/a9673bd1ca217e46800f3c2b705c1bed01fdc457
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M clang/docs/InternalsManual.rst
Log Message:
-----------
Fix code blocks so that they render properly
It's rather disturbing that malformed syntax does not generate any
warnings or errors when building either locally or on the bots.
Commit: 3a772c3bfeb9d7641b2914672a55fe5838d748db
https://github.com/llvm/llvm-project/commit/3a772c3bfeb9d7641b2914672a55fe5838d748db
Author: Georgios Pinitas <georgios.pinitas at arm.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-resize.mlir
Log Message:
-----------
[mlir][tosa] Add fp16 support to `tosa.resize` (#73019)
Commit: e8ce1889eee83eb03fbd8d2dc1627f0e97fd26f0
https://github.com/llvm/llvm-project/commit/e8ce1889eee83eb03fbd8d2dc1627f0e97fd26f0
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M clang/docs/InternalsManual.rst
Log Message:
-----------
Fix a cross reference
Instead of linking to the doxygen documentation, link to the new sphinx
documentation instead.
Commit: a1b9736e9b588bdb510b49e373006b06f57e61c7
https://github.com/llvm/llvm-project/commit/a1b9736e9b588bdb510b49e373006b06f57e61c7
Author: Nikita Popov <npopov at redhat.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M llvm/include/llvm/IR/PatternMatch.h
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
Log Message:
-----------
[PatternMatch] Add m_c_DisjointOr (NFC)
Add commutative variant of m_DisjointOr.
Commit: d77067d08a3f56dc2d0e6c95bd2852c943df743a
https://github.com/llvm/llvm-project/commit/d77067d08a3f56dc2d0e6c95bd2852c943df743a
Author: Nikita Popov <npopov at redhat.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M clang/test/CodeGenCXX/RelativeVTablesABI/member-function-pointer.cpp
M clang/test/Headers/__clang_hip_math.hip
A llvm/include/llvm/Analysis/DomConditionCache.h
M llvm/include/llvm/Analysis/SimplifyQuery.h
M llvm/include/llvm/Transforms/InstCombine/InstCombiner.h
M llvm/lib/Analysis/CMakeLists.txt
A llvm/lib/Analysis/DomConditionCache.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Transforms/InstCombine/2007-10-31-RangeCrash.ll
M llvm/test/Transforms/InstCombine/2009-02-20-InstCombine-SROA.ll
M llvm/test/Transforms/InstCombine/cast_phi.ll
M llvm/test/Transforms/InstCombine/icmp-binop.ll
M llvm/test/Transforms/InstCombine/icmp-mul-zext.ll
M llvm/test/Transforms/InstCombine/icmp-ne-pow2.ll
M llvm/test/Transforms/InstCombine/icmp-of-or-x.ll
M llvm/test/Transforms/InstCombine/idioms.ll
M llvm/test/Transforms/InstCombine/known-non-zero.ll
M llvm/test/Transforms/InstCombine/minmax-of-xor-x.ll
M llvm/test/Transforms/InstCombine/shift.ll
M llvm/test/Transforms/InstCombine/sink_instruction.ll
M llvm/test/Transforms/InstCombine/sub-of-negatible-inseltpoison.ll
M llvm/test/Transforms/InstCombine/sub-of-negatible.ll
M llvm/test/Transforms/InstCombine/udiv-simplify.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/AArch64/vector-reverse-mask4.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-reductions.ll
M llvm/test/Transforms/LoopVectorize/X86/small-size.ll
M llvm/test/Transforms/LoopVectorize/X86/x86-interleaved-accesses-masked-group.ll
M llvm/test/Transforms/LoopVectorize/X86/x86-interleaved-store-accesses-with-gaps.ll
M llvm/test/Transforms/LoopVectorize/float-induction.ll
M llvm/test/Transforms/LoopVectorize/if-conversion-nest.ll
M llvm/test/Transforms/LoopVectorize/induction.ll
M llvm/test/Transforms/LoopVectorize/reduction.ll
M llvm/test/Transforms/LoopVectorize/runtime-check.ll
M llvm/test/Transforms/LoopVectorize/scalable-loop-unpredicated-body-scalar-tail.ll
M llvm/test/Transforms/PGOProfile/chr.ll
M llvm/test/Transforms/PhaseOrdering/X86/simplifycfg-late.ll
M llvm/test/Transforms/PhaseOrdering/X86/vdiv.ll
M llvm/test/Transforms/PhaseOrdering/loop-rotation-vs-common-code-hoisting.ll
M llvm/test/Transforms/SimpleLoopUnswitch/2007-08-01-LCSSA.ll
M llvm/test/Transforms/SimplifyCFG/merge-cond-stores.ll
Log Message:
-----------
[ValueTracking] Add dominating condition support in computeKnownBits() (#73662)
This adds support for using dominating conditions in computeKnownBits()
when called from InstCombine. The implementation uses a
DomConditionCache, which stores which branches may provide information
that is relevant for a given value.
DomConditionCache is similar to AssumptionCache, but does not try to do
any kind of automatic tracking. Relevant branches have to be explicitly
registered and invalidated values explicitly removed. The necessary
tracking is done inside InstCombine.
The reason why this doesn't just do exactly the same thing as
AssumptionCache is that a lot more transforms touch branches and branch
conditions than assumptions. AssumptionCache is an immutable analysis
and mostly gets away with this because only a handful of places have to
register additional assumptions (mostly as a result of cloning). This is
very much not the case for branches.
This change regresses compile-time by about ~0.2%. It also improves
stage2-O0-g builds by about ~0.2%, which indicates that this change results
in additional optimizations inside clang itself.
Fixes https://github.com/llvm/llvm-project/issues/74242.
Commit: e59e848805f57bd52ebbb0f7f7d4d951e6af597c
https://github.com/llvm/llvm-project/commit/e59e848805f57bd52ebbb0f7f7d4d951e6af597c
Author: jeanPerier <jperier at nvidia.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M flang/include/flang/Frontend/CompilerInstance.h
M flang/include/flang/Frontend/CompilerInvocation.h
M flang/include/flang/Frontend/FrontendActions.h
M flang/include/flang/Lower/Bridge.h
A flang/include/flang/Optimizer/Support/DataLayout.h
A flang/include/flang/Tools/TargetSetup.h
M flang/lib/Frontend/CompilerInstance.cpp
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Optimizer/Support/CMakeLists.txt
A flang/lib/Optimizer/Support/DataLayout.cpp
A flang/test/Fir/tco-default-datalayout.fir
A flang/test/Fir/tco-explicit-datalayout.fir
A flang/test/Lower/bbc-host-datalayout.f90
A flang/test/Lower/bbc-target-datalayout.f90
M flang/test/Semantics/realkinds-aarch64-01.f90
M flang/tools/bbc/CMakeLists.txt
M flang/tools/bbc/bbc.cpp
M flang/tools/f18/CMakeLists.txt
M flang/tools/tco/tco.cpp
M flang/unittests/Frontend/FrontendActionTest.cpp
Log Message:
-----------
[flang] Updating drivers to create data layout before semantics (#73301)
Preliminary patch to change lowering/code generation to use
llvm::DataLayout information instead of generating "sizeof" GEP (see
https://github.com/llvm/llvm-project/issues/71507).
Fortran Semantic analysis needs to know about the target type size and
alignment to deal with common blocks, and intrinsics like
C_SIZEOF/TRANSFER. This information should be obtained from the
llvm::DataLayout so that it is consistent during the whole compilation
flow.
This change is changing flang-new and bbc drivers to:
1. Create the llvm::TargetMachine so that the data layout of the target
can be obtained before semantics.
2. Sharing bbc/flang-new set-up of the
SemanticConstext.targetCharateristics from the llvm::TargetMachine. For
now, the actual part that set-up the Fortran type size and alignment
from the llvm::DataLayout is left TODO so that this change is mostly an
NFC impacting the drivers.
3. Let the lowering bridge set-up the mlir::Module datalayout attributes
since it is doing it for the target attribute, and that allows the llvm
data layout information to be available during lowering.
For flang-new, the changes are code shuffling: the `llvm::TargetMachine`
instance is moved to `CompilerInvocation` class so that it can be used
to set-up the semantic contexts. `setMLIRDataLayout` is moved to
`flang/Optimizer/Support/DataLayout.h` (it will need to be used from
codegen pass for fir-opt target independent testing.)), and the code
setting-up semantics targetCharacteristics is moved to
`Tools/TargetSetup.h` so that it can be shared with bbc.
As a consequence, LLVM targets must be registered when running
semantics, and it is not possible to run semantics for a target that is
not registered with the -triple option (hence the power pc specific
modules can only be built if the PowerPC target is available.
Commit: 50c66600b8c54b24a73e37e0305dd3bf26c19859
https://github.com/llvm/llvm-project/commit/50c66600b8c54b24a73e37e0305dd3bf26c19859
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M llvm/test/CodeGen/X86/avx512-broadcast-unfold.ll
Log Message:
-----------
[X86][test] Migrate test avx512-broadcast-unfold.ll for opaque pointers
Commit: e765a8894ac8bbc85c3f7fb097eecc69780fb011
https://github.com/llvm/llvm-project/commit/e765a8894ac8bbc85c3f7fb097eecc69780fb011
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Analysis/BUILD.gn
Log Message:
-----------
[gn build] Port d77067d08a3f
Commit: 6f3bd3a2f609ca2fdb8f2c0f4122b906824ef70f
https://github.com/llvm/llvm-project/commit/6f3bd3a2f609ca2fdb8f2c0f4122b906824ef70f
Author: Joseph Huber <huberjn at outlook.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M openmp/libomptarget/plugins-nextgen/amdgpu/src/rtl.cpp
M openmp/libomptarget/plugins-nextgen/common/include/GlobalHandler.h
M openmp/libomptarget/plugins-nextgen/common/src/GlobalHandler.cpp
M openmp/libomptarget/plugins-nextgen/common/src/PluginInterface.cpp
M openmp/libomptarget/plugins-nextgen/common/src/RPC.cpp
M openmp/libomptarget/plugins-nextgen/cuda/src/rtl.cpp
Log Message:
-----------
[Libomptarget] Add a utility function for checking existence of symbols (#74550)
Summary:
There are now a few cases that check if a symbol is present before
continuing, effectively making them optional features if present in the
image. This was done in at least three locations and required an ugly
operation to consume the error. This patch makes a utility function to
handle that instead.
Commit: ef2d59b1456866f441d324ed81b208851df26ef4
https://github.com/llvm/llvm-project/commit/ef2d59b1456866f441d324ed81b208851df26ef4
Author: madanial0 <118996571+madanial0 at users.noreply.github.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M flang/runtime/ISO_Fortran_binding.cpp
Log Message:
-----------
[Flang] malloc(1) on AIX as malloc(0) returns nullptr (#73878)
On AIX malloc(0) reutrns nullptr, which fails test case
`Evaluate/ISO-Fortran-binding.test`, using malloc(1) in AIX for
consistent behaviour
---------
Co-authored-by: Mark Danial <mark.danial at ibm.com>
Commit: 02d513cf3a700aa3c12cd07ead9828a233f49920
https://github.com/llvm/llvm-project/commit/02d513cf3a700aa3c12cd07ead9828a233f49920
Author: Stephan T. Lavavej <stl at nuwen.net>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
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.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.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.size.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/ctor.layout_right.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/ctor.layout_stride.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/ctor.mapping.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/properties.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/ctor.layout_left.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/ctor.layout_stride.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/ctor.mapping.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/properties.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/comparison.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/ctor.strided_mapping.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/deduction.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/is_exhaustive_corner_case.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/properties.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/assign.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.copy.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.default.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_array.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_extents.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_integers.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_map.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_map_acc.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_span.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.move.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/mapping.verify.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/move.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/swap.pass.cpp
Log Message:
-----------
[libc++][test] Drop unnecessary typename and template for layout_meow::mapping (#74571)
This is a pure syntax cleanup, I don't need it for running libc++'s
tests with MSVC's STL.
This is possible because std::layout_meow and layout_wrapping_integral<1729>
aren't dependent types. We only need typename and template when reaching
into a dependent type, like `typename OtherLayout::template mapping<E2>` or
`typename layout_wrapping_integral<Wraps>::template mapping<Extents>`.
Commit: bcb917eba70b454a3d11010c45889c364fd4d9ec
https://github.com/llvm/llvm-project/commit/bcb917eba70b454a3d11010c45889c364fd4d9ec
Author: Stephan T. Lavavej <stl at nuwen.net>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M libcxx/test/std/input.output/string.streams/stringbuf/stringbuf.assign/member_swap_noexcept.pass.cpp
M libcxx/test/std/input.output/string.streams/stringbuf/stringbuf.assign/nonmember_swap_noexcept.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.filter/iterator/arrow.pass.cpp
M libcxx/test/std/ranges/range.factories/range.repeat.view/size.pass.cpp
Log Message:
-----------
[libc++][test] Fix more MSVC warnings (#74256)
Found while running libc++'s test suite with MSVC's STL.
Commit: 3aee4a96289b32386d1a6ccda9bc6bf4fff40e13
https://github.com/llvm/llvm-project/commit/3aee4a96289b32386d1a6ccda9bc6bf4fff40e13
Author: Stephan T. Lavavej <stl at nuwen.net>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M libcxx/include/source_location
M libcxx/include/version
M libcxx/test/std/language.support/support.limits/support.limits.general/source_location.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/test/support/msvc_stdlib_force_include.h
M libcxx/utils/generate_feature_test_macro_components.py
Log Message:
-----------
[libc++] Update <source_location> and msvc_stdlib_force_include.h (#74266)
This makes libc++'s <filesystem> tests compatible with MSVC's STL.
In msvc_stdlib_force_include.h, we need to define 3 more macros:
- _CRT_DECLARE_NONSTDC_NAMES activates the POSIX names of
`getcwd` etc. As the comment explains, we need this because
we test with Clang `-fno-ms-compatibility`, which defines
`__STDC__` to `1`, which causes the UCRT headers to disable
the POSIX names by default.
- Then we need _CRT_NONSTDC_NO_WARNINGS to avoid emitting
deprecation warnings about the POSIX names.
- Finally, we need `NOMINMAX` to seal away the ancient evil.
These macros are documented in https://learn.microsoft.com/en-us/cpp/c-runtime-library/compatibility?view=msvc-170.
As a drive-by change, the patch adds a "simulated" macro for
__has_feature(hwaddress_sanitizer). It also clang-formats all
of msvc_stdlib_force_include.h and removes guards for
__has_builtin(__builtin_source_location) in <source_location>,
since those are not needed anymore.
Commit: bf454839a1b3e8d2177bec386d81a48ca6dc4733
https://github.com/llvm/llvm-project/commit/bf454839a1b3e8d2177bec386d81a48ca6dc4733
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M llvm/test/CodeGen/X86/vec_zero_cse.ll
Log Message:
-----------
[X86] vec_zero_cse.ll - replace X32 check prefix with X86
We use X32 for gnux32 triples - X86 should be used for 32-bit triples
Commit: c4a77bfb62b7caeb8a4d73a09df7e18e438b890f
https://github.com/llvm/llvm-project/commit/c4a77bfb62b7caeb8a4d73a09df7e18e438b890f
Author: jeanPerier <jperier at nvidia.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M flang/test/Semantics/kinds04_q10.f90
M flang/test/Semantics/real10-x86-01.f90
M flang/test/Semantics/real10-x86-02.f90
Log Message:
-----------
[flang] Fix PPC and AARCH64 after #73301 (#74591)
After https://github.com/llvm/llvm-project/pull/73301, all semantics
tests using `triple XXX` options need to have a
`REQUIRED: XX-registered-target` since the llvm::TargetMachine is needed
to get the llvm::DataLayout before semantics.
Fix three tests that lacked this.
Fixes:
https://lab.llvm.org/buildbot/#/builders/21/builds/87263
https://lab.llvm.org/buildbot/#/builders/268/builds/3841
Commit: b0b69fd879a03f3d37b8cd78049d27939de23ce2
https://github.com/llvm/llvm-project/commit/b0b69fd879a03f3d37b8cd78049d27939de23ce2
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M mlir/lib/Conversion/ArmSMEToSCF/ArmSMEToSCF.cpp
M mlir/lib/Conversion/VectorToArmSME/VectorToArmSME.cpp
M mlir/test/Conversion/ArmSMEToSCF/arm-sme-to-scf.mlir
M mlir/test/Dialect/ArmSME/arith-ops-to-sme.mlir
M mlir/test/Dialect/ArmSME/vector-ops-to-sme.mlir
Log Message:
-----------
[mlir][ArmSME] More precisely model dataflow in ArmSME to SCF lowerings (#73922)
Since #73253, loops over tiles in SSA form (i.e. loops that take
`iter_args` and yield a new tile) are supported, so this patch updates
ArmSME lowerings to this form. This is a NFC, as it still lowers to the
same intrinsics, but this makes IR less 'surprising' at a higher-level,
and may be recognised by more transforms.
Example:
IR before:
```mlir
scf.for %tile_slice_index = %c0 to %num_tile_slices step %c1
{
arm_sme.move_vector_to_tile_slice
%broadcast_to_1d, %tile, %tile_slice_index :
vector<[4]xi32> into vector<[4]x[4]xi32>
}
// ... later use %tile
```
IR now:
```mlir
%broadcast_to_tile = scf.for %tile_slice_index = %c0 to %num_tile_slices
step %c1 iter_args(%iter_tile = %init_tile) -> (vector<[4]x[4]xi32>)
{
%tile_update = arm_sme.move_vector_to_tile_slice
%broadcast_to_1d, %iter_tile, %tile_slice_index :
vector<[4]xi32> into vector<[4]x[4]xi32>
scf.yield %tile_update : vector<[4]x[4]xi32>
}
// ... later use %broadcast_to_tile
```
Commit: 721558ae40ebc996b6a8d51e3d5147f5a8c7d008
https://github.com/llvm/llvm-project/commit/721558ae40ebc996b6a8d51e3d5147f5a8c7d008
Author: Erich Keane <ekeane at nvidia.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M clang/include/clang/Basic/OpenACCKinds.h
M clang/include/clang/Parse/Parser.h
M clang/lib/Parse/ParseOpenACC.cpp
A clang/test/ParserOpenACC/parse-cache-construct.c
A clang/test/ParserOpenACC/parse-cache-construct.cpp
Log Message:
-----------
[OpenACC] Implement 'cache' construct parsing (#74324)
The 'cache' construct takes a list of 'vars', which are array-section
style definitions. This patch implements the parsing, leaving the lower
bound and length of the bound as expressions, so that we can validate
they are the correct 'thing' in sema.
Commit: 30faf19a88c56d064bc372fa325345d35d82902c
https://github.com/llvm/llvm-project/commit/30faf19a88c56d064bc372fa325345d35d82902c
Author: Matthew Devereau <matthew.devereau at arm.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M clang/include/clang/Basic/arm_sme.td
A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti2_lane_zt_x2.c
A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti4_lane_zt_x2.c
M clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_imm.cpp
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
A llvm/test/CodeGen/AArch64/sme2-intrinsics-luti2-lane-x2.ll
A llvm/test/CodeGen/AArch64/sme2-intrinsics-luti4-lane-x2.ll
Log Message:
-----------
[SME2] Add LUTI2 and LUTI4 double Builtins and Intrinsics (#73305)
See https://github.com/ARM-software/acle/pull/217
Patch by: Hassnaa Hamdi <hassnaa.hamdi at arm.com>
Commit: 56eb3e738a093d354c5e638eded8d34fbd10f959
https://github.com/llvm/llvm-project/commit/56eb3e738a093d354c5e638eded8d34fbd10f959
Author: Simon Pilgrim <RKSimon at users.noreply.github.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M llvm/lib/Target/X86/X86InstrFPStack.td
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/test/CodeGen/X86/swifterror.ll
Log Message:
-----------
[X86] Set x87 fld1/fldz pseudo instructions as rematerializable (#74592)
No need to generate/spill/restore to cpu stack
Cleanup work to allow us to properly use isFPImmLegal and fix some regressions encountered while looking at #74304
Commit: b8bc2351b8fde6da3bff34c1507391d3714427cc
https://github.com/llvm/llvm-project/commit/b8bc2351b8fde6da3bff34c1507391d3714427cc
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M llvm/test/CodeGen/X86/avx512-broadcast-unfold.ll
Log Message:
-----------
[X86][test] Simplify test avx512-broadcast-unfold.ll (#74593)
The test was updated by
opt -passes=early-cse -S
llvm/test/CodeGen/X86/avx512-broadcast-unfold.ll
Commit: 546a9ce80cac8fe73d239496010ae84972da3ca8
https://github.com/llvm/llvm-project/commit/546a9ce80cac8fe73d239496010ae84972da3ca8
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M llvm/include/llvm/CodeGen/TargetInstrInfo.h
M llvm/lib/Target/X86/X86InstrInfo.cpp
A llvm/test/CodeGen/AArch64/implicit-def-remat-requires-impdef-check.mir
Log Message:
-----------
CodeGen: Fix bypassing legality checks for IMPLICIT_DEF rematerialization (#73934)
It's permitted to have extra implicit-def operands of the same main
register
after the main register def. If there are implicit operands, use the
standard
legality checks which verify the operand contents.
Depends #73933
Commit: a599a6128c2e0032f4b5f05647987f0c8f112932
https://github.com/llvm/llvm-project/commit/a599a6128c2e0032f4b5f05647987f0c8f112932
Author: kkwli <kkwli at users.noreply.github.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M flang/unittests/Runtime/MatmulTranspose.cpp
Log Message:
-----------
[flang] match the actual data size with the KIND (NFC) (#73179)
Commit: 8d0fb9f6372ac558380b4771f673bd16ec4030a1
https://github.com/llvm/llvm-project/commit/8d0fb9f6372ac558380b4771f673bd16ec4030a1
Author: kkwli <kkwli at users.noreply.github.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M flang/unittests/Runtime/CommandTest.cpp
Log Message:
-----------
[flang] Make the length size matched in comparison (NFC) (#73280)
The template function call `CheckDescriptorEqInt(length.get(), 16)` is
deduced to have `INT_T` equal to `std::int32_t` instead of
`std::int64_t`, but the length descriptor points to a 64-byte storage.
The comparison does not work in a big endian.
Commit: 26f8e1461e24bd71dcd409d1fe88ddc1c7cf5da1
https://github.com/llvm/llvm-project/commit/26f8e1461e24bd71dcd409d1fe88ddc1c7cf5da1
Author: erichkeane <ekeane at nvidia.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/lib/Parse/ParseOpenACC.cpp
M clang/test/ParserOpenACC/parse-constructs.c
M clang/test/ParserOpenACC/unimplemented.c
M clang/test/ParserOpenACC/unimplemented.cpp
Log Message:
-----------
[OpenACC] NFC: Stop using 'getSpelling' while parsing OpenACC
It was brought up during the cache review that we shouldn't be using
'getSpelling', and instead should use the IdentifierInfo itself. This
patch replaces all uses of it.
Commit: 02c218c6fbbf4a3eec600618b4e8f3b44754b686
https://github.com/llvm/llvm-project/commit/02c218c6fbbf4a3eec600618b4e8f3b44754b686
Author: Samuel Tebbs <samuel.tebbs at arm.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaChecking.cpp
Log Message:
-----------
[Clang][NFC] Refactor out code from CheckSVEBuiltinFunctionCall into ParseSVEImmChecks
This moves code from CheckSVEBuiltinFunctionCall into ParseSVEImmChecks
in preparation for #74064
Commit: 10f7801cff26732b9a757ed42a1e2b89021a61d8
https://github.com/llvm/llvm-project/commit/10f7801cff26732b9a757ed42a1e2b89021a61d8
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M flang/include/flang/Lower/ConvertVariable.h
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Lower/OpenMP.cpp
Log Message:
-----------
[flang] Move `genCommonBlockMember` from OpenMP to ConvertVariable, NFC (#74488)
The function `genCommonBlockMember` is not specific to OpenMP, and it
could very well be a common utility. Move it to ConvertVariable.cpp
where it logically belongs.
Commit: b7173652163fa968e1df47fa211ce8a549489abd
https://github.com/llvm/llvm-project/commit/b7173652163fa968e1df47fa211ce8a549489abd
Author: Alex Bradbury <asb at igalia.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M llvm/include/llvm/CodeGen/TargetInstrInfo.h
M llvm/lib/CodeGen/MachineScheduler.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.h
M llvm/lib/Target/AMDGPU/SIInsertHardClauses.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
M llvm/lib/Target/PowerPC/PPCInstrInfo.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.h
Log Message:
-----------
[MachineScheduler][NFCI] Add Offset and OffsetIsScalable args to shouldClusterMemOps (#73778)
These are picked up from getMemOperandsWithOffsetWidth but weren't then
being passed through to shouldClusterMemOps, which forces backends to
collect the information again if they want to use the kind of heuristics
typically used for the similar shouldScheduleLoadsNear function (e.g.
checking the offset is within 1 cache line).
This patch just adds the parameters, but doesn't attempt to use them.
There is potential to use them in the current PPC and AArch64
shouldClusterMemOps implementation, and I intend to use the offset in
the heuristic for RISC-V. I've left these for future patches in the
interest of being as incremental as possible.
As noted in the review and in an inline FIXME, an ElementCount-style abstraction may later be used to condense these two parameters to one argument. ElementCount isn't quite suitable as it doesn't support negative offsets.
Commit: c7b3ae5ab9c8ffc19db00bd6e995d225ac1013e9
https://github.com/llvm/llvm-project/commit/c7b3ae5ab9c8ffc19db00bd6e995d225ac1013e9
Author: Matthew Devereau <matthew.devereau at arm.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M clang/include/clang/Basic/arm_sve.td
A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_cvt.c
A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_cvtn.c
Log Message:
-----------
[AArch64][SME2] Add multi-vector builtins for cvt (#74450)
Adds builtins for:
- FCVT
- BFCVT
- FCVTZS
- FCVTZU
- SCVTF
- UCVTF
- BFCVTN
- FCVTN
- SQCVT
- SQCVTU
- UQCVT
- SQCVTN
- SQCVTUN
- UQCVTN
See https://github.com/ARM-software/acle/pull/217
Commit: 1f283a60a4bb896fa2d37ce00a3018924be82b9f
https://github.com/llvm/llvm-project/commit/1f283a60a4bb896fa2d37ce00a3018924be82b9f
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M llvm/lib/CodeGen/RegisterCoalescer.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/arm64-pcsections.ll
A llvm/test/CodeGen/X86/coalescer-breaks-subreg-to-reg-liveness.ll
M llvm/test/CodeGen/X86/coalescer-implicit-def-regression-imp-operand-assert.mir
A llvm/test/CodeGen/X86/coalescing-subreg-to-reg-requires-subrange-update.mir
A llvm/test/CodeGen/X86/subreg-to-reg-coalescing.mir
Log Message:
-----------
Reapply "RegisterCoalescer: Add implicit-def of super register when coalescing SUBREG_TO_REG"
This reverts commit 9e50c6e6b5741895f58f3e530004052844b6af9f. A few assertion and verifier
errors have been fixed in the coalescer and allocator, so hopefully this sticks this time.
Commit: 8186e1500b1d9709f10199b7c599274f8a6f8e3a
https://github.com/llvm/llvm-project/commit/8186e1500b1d9709f10199b7c599274f8a6f8e3a
Author: Matthew Devereau <matthew.devereau at arm.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M clang/include/clang/Basic/arm_sme.td
A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti2_lane_zt.c
A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti4_lane_zt.c
M clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_imm.cpp
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/SMEInstrFormats.td
A llvm/test/CodeGen/AArch64/sme2-intrinsics-luti2-lane.ll
A llvm/test/CodeGen/AArch64/sme2-intrinsics-luti4-lane.ll
Log Message:
-----------
[SME2] Add LUTI2 and LUTI4 single Builtins and Intrinsics (#73304)
See https://github.com/ARM-software/acle/pull/217
Patch by: Hassnaa Hamdi <hassnaa.hamdi at arm.com>
Commit: 88fbc4d3df7c24105eb36232ff6250da95c8a202
https://github.com/llvm/llvm-project/commit/88fbc4d3df7c24105eb36232ff6250da95c8a202
Author: Teresa Johnson <tejohnson at google.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M llvm/include/llvm/Bitcode/LLVMBitCodes.h
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
M llvm/test/Analysis/StackSafetyAnalysis/ipa.ll
M llvm/test/Assembler/thinlto-summary.ll
M llvm/test/Bitcode/thinlto-alias.ll
M llvm/test/Bitcode/thinlto-alias2.ll
M llvm/test/Bitcode/thinlto-asm-noimport.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-cast.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-partial-sample-profile-summary.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-profile-summary.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-sample-profile-summary.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph.ll
M llvm/test/Bitcode/thinlto-function-summary-functionattrs.ll
M llvm/test/Bitcode/thinlto-function-summary-originalnames.ll
M llvm/test/Bitcode/thinlto-function-summary-paramaccess.ll
M llvm/test/Bitcode/thinlto-function-summary-refgraph.ll
M llvm/test/Bitcode/thinlto-function-summary.ll
M llvm/test/Bitcode/thinlto-summary-linkage-types.ll
M llvm/test/Bitcode/thinlto-summary-section.ll
M llvm/test/ThinLTO/X86/deadstrip.ll
M llvm/test/ThinLTO/X86/distributed_indexes.ll
Log Message:
-----------
[ThinLTO] Add tail call flag to call edges in summary (#74043)
This adds support for a HasTailCall flag on function call edges in the
ThinLTO summary. It is intended for use in aiding discovery of missing
frames from tail calls in profiled call stacks for MemProf of profiled
binaries that did not disable tail call elimination. A follow on change
will add the use of this new flag during MemProf context disambiguation.
The new flag is encoded in the bitcode along with either the hotness
flag from the profile, or the relative block frequency under the
-write-relbf-to-summary flag when there is no profile data.
Because we now will always have some additional call edge information, I
have removed the non-profile function summary record format, and we
simply encode the tail call flag along with a hotness type of none when
there is no profile information or relative block frequency. The change
of record format and name caused most of the test case changes.
I have added explicit testing of generation of the new tail call flag
into the bitcode and IR assembly format as part of the changes to
llvm/test/Bitcode/thinlto-function-summary-refgraph.ll. I have also
added round trip testing through assembly and bitcode to
llvm/test/Assembler/thinlto-summary.ll.
Commit: 03656776923b699dd4fc16dcde6495a4d12b7886
https://github.com/llvm/llvm-project/commit/03656776923b699dd4fc16dcde6495a4d12b7886
Author: Michael Kenzel <michael.kenzel at gmail.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M libcxx/test/support/container_debug_tests.h
M libcxx/test/support/test_macros.h
M libcxxabi/src/demangle/DemangleConfig.h
Log Message:
-----------
[libc++] Remove dependence on <ciso646> (#73271)
C++23 removed `<ciso646>` from the standard library. The header is used
in a few places in order to pull in implementation-specific and feature
test macros. The new way of doing that is `<version>`, which should be
supported by all supported implementations. This change replaces all
those uses of `<ciso646>` with `<version>`.
Commit: 565dddec6396d84befa122aa69634b055a60da17
https://github.com/llvm/llvm-project/commit/565dddec6396d84befa122aa69634b055a60da17
Author: Podchishchaeva, Mariya <mariya.podchishchaeva at intel.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaCXXScopeSpec.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/test/CXX/temp/temp.decls/temp.alias/p3.cpp
M clang/test/SemaCXX/alias-template.cpp
Log Message:
-----------
Revert "[clang] Substitute alias templates from correct context (#74335)"
It was reported in the PR that commit caused clang giving errors for
code previously considered valid.
This reverts commit 6b1aa319754e76366edd88e10034e0539710d946.
Commit: 384f916ea899ea6ac9af4a3fb9d0a5b03937acfe
https://github.com/llvm/llvm-project/commit/384f916ea899ea6ac9af4a3fb9d0a5b03937acfe
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M llvm/lib/Transforms/Scalar/CallSiteSplitting.cpp
Log Message:
-----------
Reapply 34cdc913214fd (#74455), call-site-splitting for RemoveDIs
Original commit message below; asan complained about this commit because it
transpires that the final comparison with CurrentI is in fact a comparison
of a pointer that has been freed. This seems to work fine most of the time,
but using the iterator for such an instruction causes the freed instruction
memory to be accessed, causing a use-after-free. The fix is to perform the
comparison as an instruction, not an iterator.
[NFC][DebugInfo][RemoveDIs] Use iterators to insert in callsite-splitting (#74455)
This patch gets call site splitting to use iterators for insertion
rather than instruction pointers. When we switch on non-instr debug-info
this becomes significant, as the iterators are going to signal whether
or not a position is before or after debug-info.
NFC as this isn't going to affect the output of any existing test.
Commit: 7b83f69db4a57c63c230d45ca2dc52b024612c17
https://github.com/llvm/llvm-project/commit/7b83f69db4a57c63c230d45ca2dc52b024612c17
Author: Paschalis Mpeis <paschalis.mpeis at arm.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M llvm/include/llvm/Analysis/VectorUtils.h
M llvm/lib/Analysis/VFABIDemangling.cpp
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/lib/Transforms/Utils/ModuleUtils.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/tools/vfabi-demangle-fuzzer/vfabi-demangler-fuzzer.cpp
M llvm/unittests/Analysis/VectorFunctionABITest.cpp
M llvm/unittests/Analysis/VectorUtilsTest.cpp
Log Message:
-----------
[NFC] Replace CallInst with FunctionType in VFABI, VFShape API (#74569)
Minor simplification applied to VFShape::getScalarShape,
VFShape::get, and VFABI::tryDemangleForVFABI methods.
Also, remove unnecessary `static_cast` in `SLPVectorizer.cpp`
Commit: d0858bffa11e418c257b2573acbf4a3901d5dcb1
https://github.com/llvm/llvm-project/commit/d0858bffa11e418c257b2573acbf4a3901d5dcb1
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M llvm/lib/CodeGen/CodeGenPrepare.cpp
A llvm/test/Transforms/CodeGenPrepare/debug-info-on-skipped-selects.ll
Log Message:
-----------
[DebugInfo][RemoveDIs] Maintain DPValues on skipped instrs in CGP (#74602)
It turns out that CodeGenPrepare will skip over consecutive select
instructions as it knows it can optimise them all at the same time. This
is unfortunate for the RemoveDIs project to remove intrinsic-based
debug-info, because that means debug-info attached to those skipped
instructions doesn't get seen by optimizeInst and so updated. Add code
to handle debug-info on those skipped instructions manually.
This code will also have been slower when it had dbg.values stuffed in
between instructions, but with RemoveDIs it'll go faster because the
dbg.values won't break up the select sequence.
Commit: 341a51aac4b344c96d9d8774cf97a57cad76a9f4
https://github.com/llvm/llvm-project/commit/341a51aac4b344c96d9d8774cf97a57cad76a9f4
Author: Reid Kleckner <rnk at google.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M mlir/include/mlir/Dialect/SparseTensor/IR/Enums.h
Log Message:
-----------
[mlir] Fix shift overflow and warning on LLP64 platforms (Windows) (#74002)
Commit: 5b0db27aceb46e66d9c14e950a546cba5fb33a2a
https://github.com/llvm/llvm-project/commit/5b0db27aceb46e66d9c14e950a546cba5fb33a2a
Author: Aart Bik <39774503+aartbik at users.noreply.github.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M mlir/lib/Dialect/SparseTensor/Transforms/CodegenEnv.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/CodegenEnv.h
M mlir/lib/Dialect/SparseTensor/Transforms/LoopEmitter.h
M mlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp
Log Message:
-----------
[mlir][sparse] remove LoopOrd type (#74540)
Rationale:
We no longer deal with topsort during sparsification, so that LoopId ==
LoopOrd for all methods. This first revision removes the types. A follow
up revision will simplify some other remaining constructs that deal with
loop order (e.g. at and ldx).
Commit: 56248caa3b427b0c0700f910d0b7b3e1b175bff1
https://github.com/llvm/llvm-project/commit/56248caa3b427b0c0700f910d0b7b3e1b175bff1
Author: Craig Topper <craig.topper at sifive.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M llvm/include/llvm/IR/InstrTypes.h
M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
Log Message:
-----------
[InstCombine] Explicitly set disjoint flag when converting xor to or. (#74229)
Commit: f85a38e21cfa1d5723ab4af4b76fd7529f2688b2
https://github.com/llvm/llvm-project/commit/f85a38e21cfa1d5723ab4af4b76fd7529f2688b2
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M llvm/test/Transforms/CodeGenPrepare/debug-info-on-skipped-selects.ll
Log Message:
-----------
Follow up to d0858bffa11, add missing REQUIRES x86
Commit: 3f73fd774cf8fc2f288767ea077bfa351eb7aa80
https://github.com/llvm/llvm-project/commit/3f73fd774cf8fc2f288767ea077bfa351eb7aa80
Author: Julian Schmidt <44101708+5chmidti at users.noreply.github.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/CMakeLists.txt
M clang-tools-extra/clang-tidy/modernize/ModernizeTidyModule.cpp
A clang-tools-extra/clang-tidy/modernize/UseStdNumbersCheck.cpp
A clang-tools-extra/clang-tidy/modernize/UseStdNumbersCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
A clang-tools-extra/docs/clang-tidy/checks/modernize/use-std-numbers.rst
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-numbers.cpp
Log Message:
-----------
[clang-tidy] add modernize-use-std-numbers (#66583)
Finds constants and function calls to math functions that can be
replaced with c++20's mathematical constants from the 'numbers'
header and offers fix-it hints.
Does not match the use of variables with that value, and instead,
offers a replacement at the definition of those variables.
Commit: 9bad6cb7fc571821bfacc8926a8a7f5d147ce540
https://github.com/llvm/llvm-project/commit/9bad6cb7fc571821bfacc8926a8a7f5d147ce540
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/modernize/BUILD.gn
Log Message:
-----------
[gn build] Port 3f73fd774cf8
Commit: 0e1a9e3084cd8dffa5d4f2cf6eabf9e7721e1cdd
https://github.com/llvm/llvm-project/commit/0e1a9e3084cd8dffa5d4f2cf6eabf9e7721e1cdd
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/delayed-gather-emission.ll
A llvm/test/Transforms/SLPVectorizer/X86/gathered-delayed-nodes-with-reused-user.ll
Log Message:
-----------
[SLP]Fix PR74607: Fix dependency between buildvector nodes with user
nodes, having same last instruction.
If the user nodes has the same last-instruction, used as insert points
for the buildvector nodes, finding the proper dependency is crucial.
Before, it depended on the indices of the buildvectors themselves but
looks like it should depend on indices of the user nodes, because it
identifies the vectorization order and, thus, properly aligns
buildvector nodes in terms of def-use chain.
Commit: 65cb5d58eb5783c17fd2121db79ebac950b767b2
https://github.com/llvm/llvm-project/commit/65cb5d58eb5783c17fd2121db79ebac950b767b2
Author: Craig Topper <craig.topper at sifive.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXSf.td
Log Message:
-----------
[RISCV] Remove DecoderNamespace from vector pseudoinstructions.
Pseudoinstructions don't have decoding information so don't need
a namespace.
Commit: 45e7b410c0a19fd36c2264cdc3a1b4f2ab966790
https://github.com/llvm/llvm-project/commit/45e7b410c0a19fd36c2264cdc3a1b4f2ab966790
Author: Peter Hawkins <phawkins at google.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M mlir/python/mlir/_mlir_libs/__init__.py
Log Message:
-----------
[mlir:python] Fail immediately if importing an initializer module raises ImportError (#74595)
Commit: 9982f8ee02be7aa82b88001e509a1b41d57eb1dc
https://github.com/llvm/llvm-project/commit/9982f8ee02be7aa82b88001e509a1b41d57eb1dc
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
Log Message:
-----------
[lldb][SymbolFileDWARF][NFC] Remove unnecessary calls to GetDWARFDeclContext (#74523)
The function FindDefinitionTypeForDWARFDeclContext loops over all DIEs
corresponding to types with a certain name and compares the context of
each found DIE with the context of a target DIE. However, the target DIE
never changes throughout this search, and yet we recompute its
DeclContext on every iteration of the search. This is wasteful because
the method is not exactly free (see
DWARFDebugInfoEntry::GetDWARFDeclContextStatic).
Commit: d1f86c3d03b7549eb0153c62550ef0f513ff50e8
https://github.com/llvm/llvm-project/commit/d1f86c3d03b7549eb0153c62550ef0f513ff50e8
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M clang/include/clang/Basic/FileEntry.h
M clang/unittests/Basic/FileManagerTest.cpp
M llvm/include/llvm/Support/Compiler.h
Log Message:
-----------
[clang] NFC: Deprecate `FileEntry::getName()` (#68157)
All uses of `FileEntry::getName()` were removed in favor of
`FileEntryRef::getName()`. This patch finally formally deprecates that
function. The plan is to remove it entirely in the main branch after we
cut the release branch for LLVM 18.
Commit: bb0b261c2c731f9ceb5a70b2343b892b2ee05f3e
https://github.com/llvm/llvm-project/commit/bb0b261c2c731f9ceb5a70b2343b892b2ee05f3e
Author: Piotr Zegar <me at piotrzegar.pl>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/UseStdNumbersCheck.cpp
Log Message:
-----------
[clang-tidy][NFC] Attemp to fix compliation issue in UseStdNumbersCheck.cpp
Attempt to fix issue introduced in #66583
Commit: a2d3bb1fa96aeba610273908d09fefad6d6032f8
https://github.com/llvm/llvm-project/commit/a2d3bb1fa96aeba610273908d09fefad6d6032f8
Author: Artem Belevich <tra at google.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/test/CodeGen/NVPTX/i8x4-instructions.ll
M llvm/test/CodeGen/NVPTX/vector-stores.ll
Log Message:
-----------
Revert "[NVPTX] Lower 16xi8 and 8xi8 stores efficiently (#73646)" (#74518)
This reverts commit 173fcf7da592acd284dc50749558fd36928861f0.
We need to constrain the optimization to properly aligned loads/stores
only.
https://github.com/llvm/llvm-project/pull/73646#issuecomment-1841454559
Commit: 7deb41db98230938486ad2f22dda353f8950ac95
https://github.com/llvm/llvm-project/commit/7deb41db98230938486ad2f22dda353f8950ac95
Author: Piotr Zegar <me at piotrzegar.pl>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/UseStdNumbersCheck.cpp
Log Message:
-----------
Revert "[clang-tidy][NFC] Attemp to fix compliation issue in UseStdNumbersCheck.cpp"
This reverts commit bb0b261c2c731f9ceb5a70b2343b892b2ee05f3e.
Commit: 1e1e11a4d7c57028953a23deae622acab5eee9ff
https://github.com/llvm/llvm-project/commit/1e1e11a4d7c57028953a23deae622acab5eee9ff
Author: Piotr Zegar <me at piotrzegar.pl>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/CMakeLists.txt
M clang-tools-extra/clang-tidy/modernize/ModernizeTidyModule.cpp
R clang-tools-extra/clang-tidy/modernize/UseStdNumbersCheck.cpp
R clang-tools-extra/clang-tidy/modernize/UseStdNumbersCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
R clang-tools-extra/docs/clang-tidy/checks/modernize/use-std-numbers.rst
R clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-numbers.cpp
Log Message:
-----------
Revert "[clang-tidy] add modernize-use-std-numbers (#66583)"
Compilation issue, to be resolved.
This reverts commit 3f73fd774cf8fc2f288767ea077bfa351eb7aa80.
Commit: 3ab41f912a6c219a93b87c257139822ea07c8863
https://github.com/llvm/llvm-project/commit/3ab41f912a6c219a93b87c257139822ea07c8863
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M llvm/test/tools/llvm-exegesis/X86/latency/memory-annotations-unsupported.s
A llvm/test/tools/llvm-exegesis/X86/latency/snippet-address-annotations-unsupported.s
A llvm/test/tools/llvm-exegesis/X86/latency/subprocess-address-annotation.s
M llvm/tools/llvm-exegesis/lib/BenchmarkResult.h
M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
M llvm/tools/llvm-exegesis/lib/SnippetFile.cpp
M llvm/tools/llvm-exegesis/llvm-exegesis.cpp
M llvm/unittests/tools/llvm-exegesis/X86/SnippetFileTest.cpp
Log Message:
-----------
[llvm-exegesis] Add in snippet address annotation (#74218)
Commit: e07c92a9c3e37c506e34196ccbafa20cfc064a2a
https://github.com/llvm/llvm-project/commit/e07c92a9c3e37c506e34196ccbafa20cfc064a2a
Author: Felix Schneider <fx.schn at gmail.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/test/Dialect/Linalg/transform-ops.mlir
M mlir/test/Dialect/Linalg/transform-patterns.mlir
Log Message:
-----------
[mlir] Fix TileUsingForOp attr-dict printing/parsing (#73261)
`TileUsingForOp` has an optional Attribute `interchange` which was given
in curly braces like this: `{interchange = [...]}`. The way this was
parsed meant that no `attr-dict` could be attached to the Op.
This patch adds printing / parsing of an `attr-dict` to the Op and
prints/parses the `interchange` Attribute separate from the
discardable Attributes.
Commit: 5baf66f3c2ee90d2de03f7ba3a558b1ad2632c2f
https://github.com/llvm/llvm-project/commit/5baf66f3c2ee90d2de03f7ba3a558b1ad2632c2f
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M llvm/include/llvm/CodeGen/CodeGenPassBuilder.h
M llvm/include/llvm/CodeGen/MachinePassRegistry.def
A llvm/include/llvm/CodeGen/WasmEHPrepare.h
M llvm/lib/CodeGen/WasmEHPrepare.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
A llvm/test/CodeGen/WebAssembly/wasm-eh-prepare.ll
R llvm/test/CodeGen/WebAssembly/wasmehprepare.ll
Log Message:
-----------
[CodeGen] Port WasmEHPrepare to new pass manager (#74435)
Port `WasmEHPrepare` to new pass manager, also rename `wasmehprepare` to
`wasm-eh-prepare`.
Commit: fa5486e487a6f98358eca572efb4b1fd7d27d1f5
https://github.com/llvm/llvm-project/commit/fa5486e487a6f98358eca572efb4b1fd7d27d1f5
Author: Ho Cheung <17492865+gz83 at users.noreply.github.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M bolt/lib/Passes/IndirectCallPromotion.cpp
M bolt/lib/Passes/ReorderAlgorithm.cpp
Log Message:
-----------
[BOLT] [Passes] Fix two compile warnings in BOLT (#73086)
Fix build issue on Windows.
issue:#73085
@maksfb PTAL thank you
Commit: 30d700117b772d94d8474ec56bd6f9cc423fc613
https://github.com/llvm/llvm-project/commit/30d700117b772d94d8474ec56bd6f9cc423fc613
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M llvm/test/tools/llvm-exegesis/X86/latency/memory-annotations-unsupported.s
R llvm/test/tools/llvm-exegesis/X86/latency/snippet-address-annotations-unsupported.s
R llvm/test/tools/llvm-exegesis/X86/latency/subprocess-address-annotation.s
M llvm/tools/llvm-exegesis/lib/BenchmarkResult.h
M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
M llvm/tools/llvm-exegesis/lib/SnippetFile.cpp
M llvm/tools/llvm-exegesis/llvm-exegesis.cpp
M llvm/unittests/tools/llvm-exegesis/X86/SnippetFileTest.cpp
Log Message:
-----------
Revert "[llvm-exegesis] Add in snippet address annotation (#74218)"
This reverts commit 3ab41f912a6c219a93b87c257139822ea07c8863.
Unit tests break after recent changes. Will investigate/reland.
Commit: 69c4930aad9659ec6ab846c8e7124d6afe044b1e
https://github.com/llvm/llvm-project/commit/69c4930aad9659ec6ab846c8e7124d6afe044b1e
Author: Thurston Dang <thurston at google.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M llvm/lib/CodeGen/RegisterCoalescer.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/arm64-pcsections.ll
R llvm/test/CodeGen/X86/coalescer-breaks-subreg-to-reg-liveness.ll
M llvm/test/CodeGen/X86/coalescer-implicit-def-regression-imp-operand-assert.mir
R llvm/test/CodeGen/X86/coalescing-subreg-to-reg-requires-subrange-update.mir
R llvm/test/CodeGen/X86/subreg-to-reg-coalescing.mir
Log Message:
-----------
Revert "Reapply "RegisterCoalescer: Add implicit-def of super register when coalescing SUBREG_TO_REG""
This reverts commit 1f283a60a4bb896fa2d37ce00a3018924be82b9f.
Reason: breaks MSan buildbot
(https://lab.llvm.org/buildbot/#/builders/74/builds/24077)
Commit: 2f620374a05d4bfd1e8bebe97a34c9a5471553ed
https://github.com/llvm/llvm-project/commit/2f620374a05d4bfd1e8bebe97a34c9a5471553ed
Author: Matthew Devereau <matthew.devereau at arm.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M clang/include/clang/Basic/arm_sve.td
M clang/lib/Sema/Sema.cpp
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_pfalse.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_ptrue.c
Log Message:
-----------
Add SME2 builtins for pfalse and ptrue (#71953)
Extend pfalse and ptrue builtins with svcount_t return types to be
enabled for sve2p1 and sme2
See https://github.com/ARM-software/acle/pull/217
Commit: f1c08eebb3bb5eb6e984bcca511381a9748c6705
https://github.com/llvm/llvm-project/commit/f1c08eebb3bb5eb6e984bcca511381a9748c6705
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M clang/include/clang/IndexSerialization/SerializablePathCollection.h
M clang/lib/IndexSerialization/SerializablePathCollection.cpp
Log Message:
-----------
[clang] NFCI: Use `FileEntryRef::getName()` in clangIndexSerialization
The clangIndexSerialization target seems to be unused, so it didn't build when I ran `check-all` before landing d1f86c3d. This should resolve the deprecation warning that caused some build bots to fail.
Commit: 1241b5b05b5cc2e39915a06ee679d644463dcd67
https://github.com/llvm/llvm-project/commit/1241b5b05b5cc2e39915a06ee679d644463dcd67
Author: Owen Pan <owenpiano at gmail.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M clang/lib/Format/TokenAnnotator.h
M clang/lib/Format/UnwrappedLineFormatter.cpp
Log Message:
-----------
[clang-format][NFC] Refactor getting first/last non-comment of line (#74570)
Commit: c37573e8c7a6bb82901f2bf35f08efcabd78f112
https://github.com/llvm/llvm-project/commit/c37573e8c7a6bb82901f2bf35f08efcabd78f112
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/modernize/BUILD.gn
Log Message:
-----------
[gn build] Port 1e1e11a4d7c5
Commit: cd83180c60d8cf149123c881526e3905c9c49275
https://github.com/llvm/llvm-project/commit/cd83180c60d8cf149123c881526e3905c9c49275
Author: madanial0 <118996571+madanial0 at users.noreply.github.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M flang/test/Lower/default-initialization-globals.f90
Log Message:
-----------
[flang] Change global initialization for equivalence on AIX (NFC) (#74614)
default initialization for equivalence on AIX results in a different
value due to endianness, changing the testcase to account for that.
Co-authored-by: Mark Danial <mark.danial at ibm.com>
Commit: 3d1172813fc640514c6cb421394c34f4b42cb634
https://github.com/llvm/llvm-project/commit/3d1172813fc640514c6cb421394c34f4b42cb634
Author: Thurston Dang <thurston.dang at gmail.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
Log Message:
-----------
[sanitizer_common] Fix potential null dereference in dlopen interceptor (#74645)
The test_only_replace_dlopen_main_program flag
(introduced in
https://github.com/llvm/llvm-project/commit/0be4c6b9483594494051e8f1f67afc2b516270ca)
will cause internal_strcmp to dereference NULL if DlAddrSelfFName()
returns NULL (which happens in very rare cases). This patch adds a
null pointer check.
Co-authored-by: Thurston Dang <thurston at google.com>
Commit: b4e19155171edf14412dc4132b7b10a84ac65fc5
https://github.com/llvm/llvm-project/commit/b4e19155171edf14412dc4132b7b10a84ac65fc5
Author: Lang Hames <lhames at gmail.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M compiler-rt/test/orc/TestCases/Darwin/x86-64/jit-re-dlopen-data-reset.S
M compiler-rt/test/orc/TestCases/Darwin/x86-64/jit-re-dlopen-trivial.S
M compiler-rt/test/orc/TestCases/Darwin/x86-64/trivial-jit-dlopen-nested.c
M compiler-rt/test/orc/TestCases/Darwin/x86-64/trivial-jit-dlopen.c
M compiler-rt/test/orc/TestCases/Linux/ppc64/trivial-atexit.S
M compiler-rt/test/orc/TestCases/Linux/x86-64/trivial-atexit.S
M compiler-rt/test/orc/TestCases/Windows/x86-64/trivial-jit-dlopen.c
M llvm/test/ExecutionEngine/JITLink/AArch32/ELF_thumbv7_printf.s
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink.h
Log Message:
-----------
Re-apply "[llvm-jitlink] Add Process and Platform JITDylibs, ..." with fixes.
This reapplies 3d0dd1a7d6, which was reverted in df2485b215a due to bot
failures. This patch addresses the issues seen on the bots by disabling two
Linux atexit tests in the ORC runtime whose behavior could not be maintained
now that the ORC runtime is being loaded into a separate Platform JITDylib.
https://github.com/llvm/llvm-project/issues/74641 has been filed to fix the
issue with atexit.
Commit: 0eb7d53cfc48f2e9287bb116415620618ca850b7
https://github.com/llvm/llvm-project/commit/0eb7d53cfc48f2e9287bb116415620618ca850b7
Author: Julian Schmidt <44101708+5chmidti at users.noreply.github.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/CMakeLists.txt
M clang-tools-extra/clang-tidy/modernize/ModernizeTidyModule.cpp
A clang-tools-extra/clang-tidy/modernize/UseStdNumbersCheck.cpp
A clang-tools-extra/clang-tidy/modernize/UseStdNumbersCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
A clang-tools-extra/docs/clang-tidy/checks/modernize/use-std-numbers.rst
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-numbers.cpp
Log Message:
-----------
[clang-tidy] add modernize-use-std-numbers (#66583)
Finds constants and function calls to math functions that can be
replaced with c++20's mathematical constants from the 'numbers'
header and offers fix-it hints.
Does not match the use of variables with that value, and instead,
offers a replacement at the definition of those variables.
Commit: e1fa2fea03ff94627008054267a244744d76b5c2
https://github.com/llvm/llvm-project/commit/e1fa2fea03ff94627008054267a244744d76b5c2
Author: Piotr Zegar <me at piotrzegar.pl>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/UseStdNumbersCheck.cpp
Log Message:
-----------
[clang-tidy][NFC] Change ArrayRef into std::vector in modernize-use-std-numbers
To avoid compiler errors on some platforms introduced
by #66583, now using std::vector to pass list of
matchers into main matcher, and removed static variable
as it could introduce some other issues.
Commit: 81360ec58217c42b288d1267aba4836f880b19ba
https://github.com/llvm/llvm-project/commit/81360ec58217c42b288d1267aba4836f880b19ba
Author: Oskar Wirga <10386631+oskarwirga at users.noreply.github.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
M llvm/test/Transforms/LowerTypeTests/aarch64-jumptable.ll
A llvm/test/Transforms/LowerTypeTests/cfi-nounwind-direct-call.ll
A llvm/test/Transforms/LowerTypeTests/cfi-unwind-direct-call.ll
M llvm/test/Transforms/LowerTypeTests/function-arm-thumb.ll
M llvm/test/Transforms/LowerTypeTests/function-thumb-bti.ll
M llvm/test/Transforms/LowerTypeTests/function.ll
M llvm/test/Transforms/LowerTypeTests/x86-jumptable.ll
Log Message:
-----------
[CFI] Fix Direct Call Issues in CFI Dispatch Table (#69663)
I discovered two issues for when a CFI dispatch table entry is used as a
direct call.
# Inlining
There is the possibility that the dispatch table entry contains only a
single function pointer:
```
; Function Attrs: naked nocf_check
define private void @.cfi.jumptable() #6 align 8 { entry:
call void asm sideeffect "jmp ${0:c}@plt\0Aint3\0Aint3\0Aint3\0A", "s"(ptr @_Z7throw_ei)
unreachable
}
```
If this function is inlined, the unreachable follows and ruins the
containing function.
# Exception Handling
The dispatch table is always marked NoUnwind. This is fine if the
entries are never used directly, but if a direct call is used which the
containing function expects to throw, it will no longer throw and the
exception handling code will be lost.
Commit: 48ca868dd3f803cd8c500475e5880652bad75815
https://github.com/llvm/llvm-project/commit/48ca868dd3f803cd8c500475e5880652bad75815
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/modernize/BUILD.gn
Log Message:
-----------
[gn build] Port 0eb7d53cfc48
Commit: 98ce2debc6ff3f6d31d7b63eb54e10e88a84ee78
https://github.com/llvm/llvm-project/commit/98ce2debc6ff3f6d31d7b63eb54e10e88a84ee78
Author: Aart Bik <39774503+aartbik at users.noreply.github.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M mlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp
Log Message:
-----------
[mlir][sparse] cleanup ldx/idx/depth/at usage (#74654)
This adds a consistent usage with `at` for everything that refers to the
current loop nesting. This cleans up some redundant legacy code from
when we were still using topSort inside sparsifier code.
Commit: 03c2f5d8bbcf31239a631d9343ac7f4b6b3094c1
https://github.com/llvm/llvm-project/commit/03c2f5d8bbcf31239a631d9343ac7f4b6b3094c1
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
A mlir/test/Dialect/Linalg/vectorize-convolution-flatten.mlir
Log Message:
-----------
[mlir][linalg][conv] Flatten the channel dimension when vectorizing (#71918)
The current vectorization of 1D depthwise convolutions in Linalg is
_sub-optimal_ for tensor with a low number of channel dimensions, e.g.:
```mlir
linalg.depthwise_conv_1d_nwc_wc
{dilations = dense<1> : vector<1xi64>,
strides = dense<1> : vector<1xi64>}
ins(%input, %filter : tensor<1x8x3xi8>, tensor<1x3xi8>)
outs(%output : tensor<1x8x3xi8>) -> tensor<1x8x3xi8>
```
That's due to the fact that ultimately (i.e. at LLVM level),
vectorization happens along the trailing dimension (i.e. the channel
dimension). In this case it leads to vectors with 3 elements (or worse,
if there's e.g. only 1 channel dimension). For comparison, a 128 bit
wide vector registers can hold 16 x i8.
Instead, this patch adds an option to flatten/collapse the channel
dimension into the width dimension of the input/filter/output using
`vector.shape_cast` operation:
```mlir
%sc_input = vector.shape_cast %input : vector<1x8x3xi8> to vector<1x24xi8>
%sc_output = vector.shape_cast %output : vector<1x8x3xi8> to vector<1x24xi8>
%b_filter = vector.broadcast %filter : vector<3xi8> to vector<1x8x3xi8>
%sc_filter = vector.shape_cast %b_filter : vector<1x8x3xi8> to vector<1x24xi8>
```
This new vectorization mode is implemented in `depthwiseConv` by
inserting `vector.shape_cast` Ops before and after
`depthwiseConv1dSliceAsMulAcc` is invoked. It can be selected through
e.g. a transform dialect attribute:
```mlir
transform.structured.vectorize_children_and_apply_patterns %conv {flatten_1d_depthwise_conv}
```
A forthcoming patch will implement a strategy to automatically switch
between the two implementations, depending on the shape of the input
tensors.
Co-authored by: Bradley Smith <bradley.smith at arm.com>
Commit: fb62a18615d28694f1a16a3e23915190703a2e98
https://github.com/llvm/llvm-project/commit/fb62a18615d28694f1a16a3e23915190703a2e98
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M mlir/docs/Dialects/ArmSME.md
Log Message:
-----------
[mlir][ArmSME] Update docs (#74527)
Commit: 6419fb51678ec8c648e311256ecc0498576b2066
https://github.com/llvm/llvm-project/commit/6419fb51678ec8c648e311256ecc0498576b2066
Author: Craig Topper <craig.topper at sifive.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerInfo.cpp
Log Message:
-----------
[GISel] Don't print the opcode twice in LegalityQuery::print. (#74232)
Commit: 78964457cf1bafe57a54629fafbd081452a9e528
https://github.com/llvm/llvm-project/commit/78964457cf1bafe57a54629fafbd081452a9e528
Author: Craig Topper <craig.topper at sifive.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M llvm/lib/Transforms/Scalar/Reassociate.cpp
M llvm/test/Transforms/Reassociate/add-like-or.ll
Log Message:
-----------
[Reassociate] Use disjoint flag to convert Or to Add. (#72772)
We still have to keep the noCommonBitsSet call to handle multiple reassociations in one pass. We'll lose the flag on the first reassociation.
Commit: 92fccea2e50030ac849313010e2d3914b953c6c6
https://github.com/llvm/llvm-project/commit/92fccea2e50030ac849313010e2d3914b953c6c6
Author: Craig Topper <craig.topper at sifive.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M llvm/lib/Transforms/Scalar/Reassociate.cpp
M llvm/test/Transforms/Reassociate/add-like-or.ll
Log Message:
-----------
Revert "[Reassociate] Use disjoint flag to convert Or to Add. (#72772)"
This reverts commit 78964457cf1bafe57a54629fafbd081452a9e528.
Looks like I didn't rebase this correctly before commit
Commit: 3b2f8795093ce64209bd648231ecda85df28748a
https://github.com/llvm/llvm-project/commit/3b2f8795093ce64209bd648231ecda85df28748a
Author: Lang Hames <lhames at gmail.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/ExecutionUtils.cpp
A llvm/test/ExecutionEngine/JITLink/Generic/Inputs/main-ret-0.ll
A llvm/test/ExecutionEngine/JITLink/Generic/error-object-passed-as-archive.test
Log Message:
-----------
[ORC] Use dyn_cast to check input type in StaticLibraryDefinitionGenerator.
Replaces an llvm::cast that assumed that all Binary instances were either
Archive or MachOUniversalBinary instances with a dyn_cast. The cast was
triggering an assert in StaticLibraryDefinitionGenerator::Load if that method
was given a path or MemoryBuffer containing a relocatable object file.
Switching to dyn_cast causes the operation to error out with a bad-format
error as expected.
Fixes rdar://119262300
Commit: c5a1732cf31c81ee9f12264b40eee60d49fd05dd
https://github.com/llvm/llvm-project/commit/c5a1732cf31c81ee9f12264b40eee60d49fd05dd
Author: Aart Bik <39774503+aartbik at users.noreply.github.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M mlir/lib/Dialect/SparseTensor/Transforms/CodegenEnv.h
M mlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp
Log Message:
-----------
[mlir][sparse] use "current" and "curr" consistently (#74656)
Removes at in favor of curr; also makes method delegates consistent
Commit: 4db54e659763401dbf2e5b1f90e9a3391e311e50
https://github.com/llvm/llvm-project/commit/4db54e659763401dbf2e5b1f90e9a3391e311e50
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGDebugInfo.h
M clang/test/CodeGenCXX/debug-info-class.cpp
R clang/test/CodeGenCXX/debug-info-static-inline-member.cpp
M clang/test/CodeGenCXX/debug-info-static-member.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
M lldb/test/API/lang/cpp/const_static_integral_member/TestConstStaticIntegralMember.py
Log Message:
-----------
[clang][DebugInfo] Revert "emit definitions for constant-initialized static data-members" (#74580)
This commit reverts the changes in
https://github.com/llvm/llvm-project/pull/71780 and all of its follow-up
patches.
We got reports of the `.debug_names/.debug_gnu_pubnames/gdb_index/etc.`
sections growing by a non-trivial amount for some large projects. While
GCC emits definitions for static data member constants into the Names
index, they do so *only* for explicitly `constexpr` members. We were
indexing *all* constant-initialized const-static members, which is
likely where the significant size difference comes from. However, only
emitting explicitly `constexpr` variables into the index doesn't seem
like a good way forward, since from clang's perspective `const`-static
integrals are `constexpr` too, and that shouldn't be any different in
the debug-info component. Also, as new code moves to `constexpr` instead
of `const` static for constants, such solution would just delay the
growth of the Names index.
To prevent the size regression we revert to not emitting definitions for
static data-members that have no location.
To support access to such constants from LLDB we'll most likely have to
have to make LLDB find the constants by looking at the containing class
first.
Commit: 2a1bcf1f388c3a2924c5429c3f55be054f479950
https://github.com/llvm/llvm-project/commit/2a1bcf1f388c3a2924c5429c3f55be054f479950
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M openmp/libomptarget/CMakeLists.txt
M openmp/libomptarget/src/CMakeLists.txt
M openmp/libomptarget/src/PluginManager.cpp
Log Message:
-----------
[OpenMP] Allow to specify what plugins to look for (#74538)
By default we now only look for the plugins we build, but the user can
overwrite that with `LIBOMPTARGET_PLUGINS_TO_LOAD="cuda,amdgpu,x86_64"`
Commit: 533a0856bff75c395deacadf98df8b83c72d55e4
https://github.com/llvm/llvm-project/commit/533a0856bff75c395deacadf98df8b83c72d55e4
Author: Craig Topper <craig.topper at sifive.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M llvm/lib/Transforms/Scalar/Reassociate.cpp
M llvm/test/Transforms/Reassociate/add-like-or.ll
Log Message:
-----------
Recommit "[Reassociate] Use disjoint flag to convert Or to Add. (#72772)"
Original message:
We still have to keep the noCommonBitsSet call to handle multiple reassociations in one pass. We'll lose the flag on the first reassociation.
Commit: a93cacf9b08f0780f2ae2832da10a9a841ae7d03
https://github.com/llvm/llvm-project/commit/a93cacf9b08f0780f2ae2832da10a9a841ae7d03
Author: Philip Reames <preames at rivosinc.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M clang/lib/Driver/Driver.cpp
Log Message:
-----------
[clang driver] Remove a bit of redundant flang specific code [nfc]
getOptionVisibilityMask already returns options::FlangOption in FlangMode,
so this assignment is entirely pointless.
Commit: 64454daab0c34d9f3a488979b6b7dfbe315fa9f8
https://github.com/llvm/llvm-project/commit/64454daab0c34d9f3a488979b6b7dfbe315fa9f8
Author: Christopher Di Bella <cjdb at google.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M libcxx/docs/Hardening.rst
Log Message:
-----------
[libcxx] reorganises the hardening documentation (#73159)
The reorganisation assists with identifying information that's relevant
to the reader by using sections, note/warning blocks, and highlighted
lists.
Some rewording was necessary to fit the new structure and some to
improve flow. Changes to the intention of the documentation have not
been made.
---------
Co-authored-by: Will Hawkins <whh8b at obs.cr>
Commit: 71be8f3c23497e28c86f1135f564b16106d8d6fb
https://github.com/llvm/llvm-project/commit/71be8f3c23497e28c86f1135f564b16106d8d6fb
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M lldb/test/API/lang/cpp/const_static_integral_member/TestConstStaticIntegralMember.py
Log Message:
-----------
[lldb] Un-xfail test after commit revert
These tests started passing after this PR landed:
https://github.com/llvm/llvm-project/pull/74580
Commit: aae7e2a7f77a45edf6b9e9648de7888ff12500c4
https://github.com/llvm/llvm-project/commit/aae7e2a7f77a45edf6b9e9648de7888ff12500c4
Author: Justin Bogner <mail at justinbogner.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M .git-blame-ignore-revs
M .github/workflows/libcxx-build-and-test.yaml
M .github/workflows/new-prs.yml
M .mailmap
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Core/FunctionLayout.cpp
M bolt/lib/Passes/IndirectCallPromotion.cpp
M bolt/lib/Passes/ReorderAlgorithm.cpp
M bolt/lib/Passes/SplitFunctions.cpp
M bolt/lib/Rewrite/DWARFRewriter.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
A bolt/test/AArch64/fp-reg-spill.s
A bolt/test/X86/cdsplit-call-scale.s
A bolt/test/X86/cdsplit-symbol-names.s
M bolt/test/X86/dwarf5-df-output-dir-same-name.test
M bolt/test/runtime/AArch64/instrumentation-ind-call.c
M bolt/utils/llvm-bolt-wrapper.py
M bolt/utils/nfc-stat-parser.py
M clang-tools-extra/clang-tidy/ClangTidy.cpp
M clang-tools-extra/clang-tidy/abseil/StringFindStartswithCheck.h
M clang-tools-extra/clang-tidy/modernize/CMakeLists.txt
M clang-tools-extra/clang-tidy/modernize/ModernizeTidyModule.cpp
A clang-tools-extra/clang-tidy/modernize/UseStartsEndsWithCheck.cpp
A clang-tools-extra/clang-tidy/modernize/UseStartsEndsWithCheck.h
A clang-tools-extra/clang-tidy/modernize/UseStdNumbersCheck.cpp
A clang-tools-extra/clang-tidy/modernize/UseStdNumbersCheck.h
M clang-tools-extra/clang-tidy/readability/ContainerContainsCheck.cpp
M clang-tools-extra/clangd/InlayHints.cpp
M clang-tools-extra/clangd/unittests/InlayHintTests.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/abseil/string-find-startswith.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
A clang-tools-extra/docs/clang-tidy/checks/modernize/use-starts-ends-with.rst
A clang-tools-extra/docs/clang-tidy/checks/modernize/use-std-numbers.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/named-parameter.rst
M clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/stddef.h
M clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/string
M clang-tools-extra/test/clang-tidy/checkers/abseil/string-find-startswith.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-starts-ends-with.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-numbers.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/container-contains.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/container-size-empty.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/Inputs/compilation-database/template.json
M clang-tools-extra/test/clang-tidy/infrastructure/clang-tidy-run-with-database.cpp
M clang/CMakeLists.txt
M clang/docs/ClangFormatStyleOptions.rst
M clang/docs/ClangOffloadBundler.rst
M clang/docs/InternalsManual.rst
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/UsersManual.rst
M clang/include/clang/Analysis/FlowSensitive/DataflowAnalysis.h
M clang/include/clang/Analysis/FlowSensitive/DataflowAnalysisContext.h
M clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
M clang/include/clang/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.h
M clang/include/clang/Analysis/FlowSensitive/RecordOps.h
M clang/include/clang/Analysis/FlowSensitive/StorageLocation.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/include/clang/Basic/BuiltinsSystemZ.def
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Basic/CodeGenOptions.h
A clang/include/clang/Basic/DebugOptions.def
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/FileEntry.h
M clang/include/clang/Basic/OpenACCKinds.h
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/Driver/Multilib.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/Format/.clang-format
M clang/include/clang/Format/Format.h
M clang/include/clang/IndexSerialization/SerializablePathCollection.h
M clang/include/clang/Lex/PPCallbacks.h
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/ExternalSemaSource.h
M clang/include/clang/Sema/MultiplexExternalSemaSource.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/StaticAnalyzer/Core/PathSensitive/ConstraintManager.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h
M clang/include/module.modulemap
M clang/lib/AST/ExprConstant.cpp
M clang/lib/Analysis/FlowSensitive/DataflowAnalysisContext.cpp
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/lib/Analysis/FlowSensitive/HTMLLogger.cpp
M clang/lib/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.cpp
M clang/lib/Analysis/FlowSensitive/RecordOps.cpp
M clang/lib/Analysis/FlowSensitive/Transfer.cpp
M clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp
M clang/lib/Basic/CodeGenOptions.cpp
M clang/lib/Basic/Targets/RISCV.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/CGAtomic.cpp
M clang/lib/CodeGen/CGBuilder.h
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGDebugInfo.h
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CGObjC.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenTBAA.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/Multilib.cpp
M clang/lib/Driver/ToolChains/Arch/AArch64.cpp
M clang/lib/Driver/ToolChains/Arch/RISCV.cpp
M clang/lib/Driver/ToolChains/Arch/X86.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/Flang.cpp
M clang/lib/Driver/ToolChains/FreeBSD.cpp
M clang/lib/Driver/ToolChains/FreeBSD.h
M clang/lib/Driver/ToolChains/HIPUtility.cpp
M clang/lib/ExtractAPI/ExtractAPIConsumer.cpp
M clang/lib/Format/.clang-format
M clang/lib/Format/CMakeLists.txt
M clang/lib/Format/Format.cpp
A clang/lib/Format/ObjCPropertyAttributeOrderFixer.cpp
A clang/lib/Format/ObjCPropertyAttributeOrderFixer.h
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/TokenAnnotator.h
M clang/lib/Format/UnwrappedLineFormatter.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Headers/bmiintrin.h
M clang/lib/Headers/opencl-c-base.h
M clang/lib/Headers/opencl-c.h
M clang/lib/Headers/vecintrin.h
M clang/lib/IndexSerialization/SerializablePathCollection.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Parse/ParseTemplate.cpp
M clang/lib/Rewrite/Rewriter.cpp
M clang/lib/Sema/MultiplexExternalSemaSource.cpp
M clang/lib/Sema/OpenCLBuiltins.td
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaCUDA.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp
M clang/lib/StaticAnalyzer/Checkers/BitwiseShiftChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
M clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp
M clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp
M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
M clang/test/Analysis/bitwise-shift-common.c
M clang/test/Analysis/out-of-bounds-diagnostics.c
M clang/test/Analysis/out-of-bounds-new.cpp
M clang/test/Analysis/taint-diagnostic-visitor.c
M clang/test/CXX/basic/basic.lookup/basic.lookup.argdep/p5-ex2.cpp
M clang/test/CXX/drs/dr0xx.cpp
M clang/test/CXX/drs/dr1xx.cpp
M clang/test/CXX/drs/dr20xx.cpp
A clang/test/CXX/drs/dr24xx.cpp
M clang/test/CXX/drs/dr2xx.cpp
M clang/test/CXX/drs/dr3xx.cpp
M clang/test/CXX/drs/dr4xx.cpp
M clang/test/CXX/drs/dr5xx.cpp
M clang/test/CXX/drs/dr6xx.cpp
M clang/test/CXX/module/module.interface/p2.cpp
A clang/test/ClangScanDeps/strip-codegen-args.m
A clang/test/ClangScanDeps/working-dir.m
A clang/test/CodeGen/SystemZ/atomic_is_lock_free.c
M clang/test/CodeGen/SystemZ/builtins-systemz-vector.c
M clang/test/CodeGen/SystemZ/builtins-systemz-vector2.c
M clang/test/CodeGen/SystemZ/builtins-systemz-zvector.c
A clang/test/CodeGen/SystemZ/gnu-atomic-builtins-i128-16Al.c
A clang/test/CodeGen/SystemZ/gnu-atomic-builtins-i128-8Al.c
A clang/test/CodeGen/SystemZ/gnu-atomic-builtins-i16.c
A clang/test/CodeGen/SystemZ/gnu-atomic-builtins-i32.c
A clang/test/CodeGen/SystemZ/gnu-atomic-builtins-i64.c
A clang/test/CodeGen/SystemZ/gnu-atomic-builtins-i8.c
M clang/test/CodeGen/X86/fp-eval-method.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_st1.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_st1_vnum.c
A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_cvt.c
A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_cvtn.c
A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_ldr_str_zt.c
A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti2_lane_zt.c
A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti2_lane_zt_x2.c
A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti2_lane_zt_x4.c
A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti4_lane_zt.c
A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti4_lane_zt_x2.c
A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti4_lane_zt_x4.c
A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_rshl.c
A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_zero_zt.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_pfalse.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_ptrue.c
M clang/test/CodeGen/atomic-ops.c
M clang/test/CodeGen/attr-target-clones.c
A clang/test/CodeGen/bpf-preserve-static-offset-arr.c
A clang/test/CodeGen/bpf-preserve-static-offset-bitfield.c
A clang/test/CodeGen/bpf-preserve-static-offset-lvalue.c
A clang/test/CodeGen/bpf-preserve-static-offset-non-bpf.c
A clang/test/CodeGen/bpf-preserve-static-offset-pai.c
M clang/test/CodeGen/fat-lto-objects.c
A clang/test/CodeGen/ms-intrinsics-underaligned.c
M clang/test/CodeGen/ms-intrinsics.c
M clang/test/CodeGenCXX/RelativeVTablesABI/member-function-pointer.cpp
M clang/test/CodeGenCXX/attr-target-clones.cpp
M clang/test/CodeGenCXX/debug-info-class.cpp
R clang/test/CodeGenCXX/debug-info-static-inline-member.cpp
M clang/test/CodeGenCXX/debug-info-static-member.cpp
A clang/test/CodeGenHIP/ballot.cpp
M clang/test/CodeGenOpenCL/sqrt-fpmath.cl
M clang/test/Driver/aarch64-thread-pointer.c
M clang/test/Driver/aarch64-v95a.c
M clang/test/Driver/arc-exceptions.m
M clang/test/Driver/arm-arch-darwin.c
A clang/test/Driver/baremetal-multilib-exclusive-group.yaml
A clang/test/Driver/baremetal-multilib-group-error.yaml
M clang/test/Driver/clang-g-opts.c
M clang/test/Driver/constructors.c
M clang/test/Driver/debug-options.c
M clang/test/Driver/fat-lto-objects.c
M clang/test/Driver/hip-toolchain-rdc.hip
M clang/test/Driver/linux-ld.c
M clang/test/Driver/netbsd.c
M clang/test/Driver/netbsd.cpp
M clang/test/Driver/riscv-features.c
M clang/test/Driver/solaris-ld.c
M clang/test/Driver/x86-target-features.c
A clang/test/ExtractAPI/vfs_redirected_include.m
M clang/test/Frontend/darwin-eabi.c
M clang/test/Frontend/sarif-diagnostics.cpp
M clang/test/Headers/__clang_hip_math.hip
M clang/test/Headers/arm-neon-header.c
M clang/test/Index/initializer-memory.cpp
M clang/test/Misc/pragma-attribute-supported-attributes-list.test
A clang/test/Modules/pr73893.cppm
M clang/test/Modules/submodules-merge-defs.cpp
A clang/test/OpenMP/debug-info-kmpc.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_private_codegen.cpp
M clang/test/OpenMP/distribute_simd_private_codegen.cpp
A clang/test/OpenMP/nothing_ast_print.cpp
M clang/test/OpenMP/parallel_reduction_codegen.cpp
A clang/test/OpenMP/simd_private_taskloop_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_private_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_private_codegen.cpp
R clang/test/PCH/instantiate-used-constexpr-function.cpp
A clang/test/ParserOpenACC/parse-cache-construct.c
A clang/test/ParserOpenACC/parse-cache-construct.cpp
M clang/test/ParserOpenACC/parse-constructs.c
M clang/test/ParserOpenACC/unimplemented.c
M clang/test/ParserOpenACC/unimplemented.cpp
M clang/test/Preprocessor/x86_target_features.c
M clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_imm.cpp
A clang/test/Sema/bpf-attr-preserve-static-offset-warns-nonbpf.c
A clang/test/Sema/bpf-attr-preserve-static-offset-warns.c
A clang/test/Sema/bpf-attr-preserve-static-offset.c
M clang/test/Sema/warn-char-subscripts.c
A clang/test/Sema/warn-char-subscripts.cpp
A clang/test/SemaCUDA/trivial-ctor-dtor.cu
M clang/test/SemaCXX/builtin-dump-struct.cpp
A clang/test/SemaCXX/pr72025.cpp
R clang/test/SemaTemplate/instantiate-used-constexpr-function.cpp
M clang/test/SemaTemplate/temp_arg_nontype_cxx20.cpp
A clang/test/SemaTemplate/temp_arg_nontype_cxx2c.cpp
M clang/tools/clang-format/.clang-format
M clang/tools/clang-format/ClangFormat.cpp
M clang/tools/clang-format/clang-format-diff.py
M clang/tools/clang-format/git-clang-format
M clang/tools/clang-fuzzer/handle-llvm/handle_llvm.cpp
M clang/unittests/Analysis/FlowSensitive/DataflowEnvironmentTest.cpp
M clang/unittests/Analysis/FlowSensitive/RecordOpsTest.cpp
M clang/unittests/Analysis/FlowSensitive/TestingSupport.cpp
M clang/unittests/Analysis/FlowSensitive/TestingSupport.h
M clang/unittests/Analysis/FlowSensitive/UncheckedOptionalAccessModelTest.cpp
M clang/unittests/Basic/FileManagerTest.cpp
M clang/unittests/Format/.clang-format
M clang/unittests/Format/CMakeLists.txt
M clang/unittests/Format/FormatTestVerilog.cpp
A clang/unittests/Format/ObjCPropertyAttributeOrderFixerTest.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
M clang/utils/TableGen/RISCVVEmitter.cpp
M clang/utils/TableGen/SveEmitter.cpp
M clang/www/cxx_dr_status.html
M clang/www/cxx_status.html
M compiler-rt/CMakeLists.txt
M compiler-rt/lib/asan/asan_interceptors.cpp
M compiler-rt/lib/asan/asan_interceptors.h
M compiler-rt/lib/asan/asan_internal.h
R compiler-rt/lib/asan/asan_lock.h
M compiler-rt/lib/asan/asan_malloc_linux.cpp
M compiler-rt/lib/asan/asan_malloc_mac.cpp
M compiler-rt/lib/asan/asan_rtl.cpp
M compiler-rt/lib/hwasan/hwasan_interceptors.cpp
M compiler-rt/lib/orc/macho_platform.cpp
M compiler-rt/lib/orc/simple_packed_serialization.h
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
R compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_openbsd.cpp
R compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_openbsd.h
M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer.h
M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_libcdep.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup.h
M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup_constants.h
M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup_fuchsia.cpp
M compiler-rt/lib/scudo/standalone/combined.h
M compiler-rt/lib/scudo/standalone/include/scudo/interface.h
M compiler-rt/lib/scudo/standalone/tests/wrappers_c_test.cpp
M compiler-rt/lib/scudo/standalone/wrappers_c.inc
M compiler-rt/lib/scudo/standalone/wrappers_c_bionic.cpp
M compiler-rt/test/hwasan/TestCases/Linux/syscalls.cpp
A compiler-rt/test/hwasan/TestCases/memset-recover.cpp
M compiler-rt/test/orc/TestCases/Darwin/x86-64/jit-re-dlopen-data-reset.S
M compiler-rt/test/orc/TestCases/Darwin/x86-64/jit-re-dlopen-trivial.S
M compiler-rt/test/orc/TestCases/Darwin/x86-64/trivial-jit-dlopen-nested.c
M compiler-rt/test/orc/TestCases/Darwin/x86-64/trivial-jit-dlopen.c
M compiler-rt/test/orc/TestCases/Linux/ppc64/trivial-atexit.S
M compiler-rt/test/orc/TestCases/Linux/x86-64/trivial-atexit.S
M compiler-rt/test/orc/TestCases/Windows/x86-64/trivial-jit-dlopen.c
A compiler-rt/test/sanitizer_common/TestCases/print-stack-trace-markup.cpp
M flang/include/flang/Common/Fortran-features.h
M flang/include/flang/Evaluate/characteristics.h
M flang/include/flang/Evaluate/tools.h
M flang/include/flang/Frontend/CompilerInstance.h
M flang/include/flang/Frontend/CompilerInvocation.h
M flang/include/flang/Frontend/FrontendActions.h
M flang/include/flang/ISO_Fortran_binding.h
M flang/include/flang/ISO_Fortran_binding_wrapper.h
M flang/include/flang/Lower/Bridge.h
M flang/include/flang/Lower/ConvertExprToHLFIR.h
M flang/include/flang/Lower/ConvertVariable.h
M flang/include/flang/Lower/OpenACC.h
M flang/include/flang/Lower/PFTBuilder.h
M flang/include/flang/Optimizer/Analysis/TBAAForest.h
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Builder/LowLevelIntrinsics.h
A flang/include/flang/Optimizer/Builder/Runtime/Exceptions.h
M flang/include/flang/Optimizer/Dialect/FIRAttr.h
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/Dialect/FIROpsSupport.h
A flang/include/flang/Optimizer/Support/DataLayout.h
A flang/include/flang/Runtime/exceptions.h
R flang/include/flang/Runtime/ieee_arithmetic.h
M flang/include/flang/Runtime/magic-numbers.h
M flang/include/flang/Semantics/scope.h
M flang/include/flang/Semantics/tools.h
M flang/include/flang/Tools/CLOptions.inc
A flang/include/flang/Tools/TargetSetup.h
M flang/lib/Evaluate/characteristics.cpp
M flang/lib/Evaluate/fold-integer.cpp
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Evaluate/tools.cpp
M flang/lib/Evaluate/variable.cpp
M flang/lib/Frontend/CompilerInstance.cpp
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Lower/Bridge.cpp
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/Lower/DirectivesCommon.h
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Lower/OpenMP.cpp
M flang/lib/Lower/PFTBuilder.cpp
M flang/lib/Optimizer/Builder/CMakeLists.txt
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/LowLevelIntrinsics.cpp
A flang/lib/Optimizer/Builder/Runtime/Exceptions.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/CodeGen/DescriptorModel.h
M flang/lib/Optimizer/CodeGen/Target.cpp
M flang/lib/Optimizer/Support/CMakeLists.txt
A flang/lib/Optimizer/Support/DataLayout.cpp
M flang/lib/Optimizer/Transforms/ExternalNameConversion.cpp
M flang/lib/Parser/preprocessor.cpp
M flang/lib/Parser/preprocessor.h
M flang/lib/Semantics/check-acc-structure.cpp
M flang/lib/Semantics/check-call.cpp
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/check-directive-structure.h
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
M flang/lib/Semantics/pointer-assignment.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/symbol.cpp
M flang/lib/Semantics/tools.cpp
M flang/module/__cuda_builtins.f90
M flang/module/__fortran_builtins.f90
M flang/module/__fortran_ieee_exceptions.f90
M flang/module/__fortran_type_info.f90
M flang/module/ieee_arithmetic.f90
M flang/module/ieee_exceptions.f90
M flang/module/iso_c_binding.f90
M flang/module/iso_fortran_env.f90
M flang/runtime/CMakeLists.txt
M flang/runtime/ISO_Fortran_binding.cpp
A flang/runtime/exceptions.cpp
M flang/runtime/format-implementation.h
M flang/runtime/unit.cpp
A flang/test/Driver/compiler-options.f90
R flang/test/Driver/compiler_options.f90
M flang/test/Driver/driver-help-hidden.f90
M flang/test/Driver/driver-help.f90
M flang/test/Driver/falias-analysis.f90
A flang/test/Driver/fast-math.f90
R flang/test/Driver/fast_math.f90
A flang/test/Driver/flang-f-opts.f90
R flang/test/Driver/flang_f_opts.f90
A flang/test/Driver/frame-pointer-forwarding.f90
M flang/test/Driver/frontend-forwarding.f90
M flang/test/Driver/mlir-pass-pipeline.f90
A flang/test/Driver/msvc-defines.f90
A flang/test/Driver/no-duplicate-main.f90
R flang/test/Driver/no_duplicate_main.f90
M flang/test/Driver/optimization-remark.f90
M flang/test/Driver/write-module.f90
M flang/test/Evaluate/fold-nearest.f90
M flang/test/Fir/basic-program.fir
M flang/test/Fir/convert-to-llvm.fir
M flang/test/Fir/dispatch.f90
M flang/test/Fir/external-mangling.fir
M flang/test/Fir/fir-ops.fir
A flang/test/Fir/target-rewrite-complex-10-x86.fir
A flang/test/Fir/tco-default-datalayout.fir
A flang/test/Fir/tco-explicit-datalayout.fir
M flang/test/HLFIR/call_with_poly_dummy.f90
M flang/test/Lower/HLFIR/binary-ops.f90
M flang/test/Lower/HLFIR/user-defined-assignment.f90
M flang/test/Lower/Intrinsics/bessel_jn.f90
M flang/test/Lower/Intrinsics/bessel_yn.f90
M flang/test/Lower/Intrinsics/dim.f90
A flang/test/Lower/Intrinsics/ieee_compare.f90
A flang/test/Lower/Intrinsics/ieee_femodes.f90
A flang/test/Lower/Intrinsics/ieee_festatus.f90
A flang/test/Lower/Intrinsics/ieee_flag.f90
A flang/test/Lower/Intrinsics/ieee_logb.f90
A flang/test/Lower/Intrinsics/ieee_max_min.f90
M flang/test/Lower/Intrinsics/ieee_unordered.f90
M flang/test/Lower/Intrinsics/min.f90
M flang/test/Lower/Intrinsics/modulo.f90
M flang/test/Lower/Intrinsics/nearest.f90
M flang/test/Lower/OpenACC/acc-bounds.f90
M flang/test/Lower/OpenACC/acc-data-operands.f90
M flang/test/Lower/OpenACC/acc-enter-data.f90
A flang/test/Lower/OpenACC/acc-loop-exit.f90
M flang/test/Lower/OpenACC/acc-private.f90
M flang/test/Lower/OpenACC/acc-reduction.f90
M flang/test/Lower/OpenMP/FIR/array-bounds.f90
M flang/test/Lower/OpenMP/array-bounds.f90
M flang/test/Lower/allocatable-polymorphic.f90
M flang/test/Lower/arithmetic-goto.f90
M flang/test/Lower/array-elemental-calls-2.f90
M flang/test/Lower/array-expression-slice-1.f90
M flang/test/Lower/array-user-def-assignments.f90
M flang/test/Lower/assignment.f90
A flang/test/Lower/bbc-host-datalayout.f90
A flang/test/Lower/bbc-target-datalayout.f90
M flang/test/Lower/default-initialization-globals.f90
M flang/test/Lower/dispatch.f90
M flang/test/Lower/forall/forall-construct.f90
M flang/test/Lower/forall/forall-where.f90
M flang/test/Lower/host-associated.f90
M flang/test/Lower/nullify-polymorphic.f90
M flang/test/Lower/real-operations-2.f90
M flang/test/Lower/where.f90
A flang/test/Preprocessing/unclosed-FLM.F90
M flang/test/Semantics/OpenACC/acc-parallel.f90
M flang/test/Semantics/OpenMP/clause-validity01.f90
M flang/test/Semantics/OpenMP/copying.f90
M flang/test/Semantics/OpenMP/threadprivate04.f90
M flang/test/Semantics/argshape01.f90
M flang/test/Semantics/associated.f90
M flang/test/Semantics/cuf10.cuf
A flang/test/Semantics/ichar01.f90
M flang/test/Semantics/kinds04_q10.f90
M flang/test/Semantics/misc-intrinsics.f90
M flang/test/Semantics/real10-x86-01.f90
M flang/test/Semantics/real10-x86-02.f90
M flang/test/Semantics/realkinds-aarch64-01.f90
M flang/test/Semantics/reduce01.f90
M flang/test/Semantics/stmt-func01.f90
M flang/test/Semantics/stmt-func02.f90
A flang/test/Semantics/symbol33.f90
M flang/test/Transforms/simplifyintrinsics.fir
M flang/tools/bbc/CMakeLists.txt
M flang/tools/bbc/bbc.cpp
M flang/tools/f18/CMakeLists.txt
M flang/tools/tco/tco.cpp
M flang/unittests/Evaluate/real.cpp
M flang/unittests/Frontend/FrontendActionTest.cpp
M flang/unittests/Runtime/CommandTest.cpp
M flang/unittests/Runtime/Format.cpp
M flang/unittests/Runtime/MatmulTranspose.cpp
M libc/cmake/modules/prepare_libc_gpu_build.cmake
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/app.h
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/dev/undefined_behavior.rst
M libc/include/sys/prctl.h.def
M libc/src/__support/CMakeLists.txt
M libc/src/__support/FPUtil/CMakeLists.txt
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/NormalFloat.h
M libc/src/__support/FPUtil/generic/CMakeLists.txt
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/x86_64/sqrt.h
M libc/src/__support/HashTable/CMakeLists.txt
M libc/src/__support/HashTable/bitmask.h
M libc/src/__support/HashTable/generic/bitmask_impl.inc
M libc/src/__support/HashTable/sse2/bitmask_impl.inc
M libc/src/__support/HashTable/table.h
M libc/src/__support/UInt.h
R libc/src/__support/bit.h
M libc/src/__support/float_to_string.h
M libc/src/__support/hash.h
M libc/src/__support/integer_utils.h
M libc/src/__support/macros/properties/CMakeLists.txt
M libc/src/__support/macros/properties/float.h
M libc/src/__support/macros/properties/os.h
M libc/src/__support/math_extras.h
M libc/src/__support/memory_size.h
R libc/src/__support/named_pair.h
M libc/src/__support/number_pair.h
M libc/src/__support/str_to_float.h
M libc/src/__support/str_to_num_result.h
M libc/src/__support/threads/linux/thread.cpp
M libc/src/__support/wctype_utils.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/math_utils.h
M libc/src/math/generic/powf.cpp
M libc/src/search/CMakeLists.txt
M libc/src/search/hcreate.cpp
M libc/src/search/hdestroy.cpp
M libc/src/search/hsearch.cpp
M libc/src/search/hsearch_r.cpp
M libc/src/stdio/generic/CMakeLists.txt
M libc/src/stdio/printf_core/float_dec_converter.h
M libc/src/stdio/printf_core/float_hex_converter.h
M libc/src/stdlib/getenv.cpp
M libc/src/string/memory_utils/op_aarch64.h
M libc/src/string/memory_utils/op_builtin.h
M libc/src/string/memory_utils/utils.h
M libc/src/sys/CMakeLists.txt
A libc/src/sys/prctl/CMakeLists.txt
A libc/src/sys/prctl/linux/CMakeLists.txt
A libc/src/sys/prctl/linux/prctl.cpp
A libc/src/sys/prctl/prctl.h
M libc/startup/linux/aarch64/start.cpp
M libc/startup/linux/riscv/start.cpp
M libc/startup/linux/x86_64/start.cpp
M libc/test/src/__support/CMakeLists.txt
M libc/test/src/__support/FPUtil/fpbits_test.cpp
M libc/test/src/__support/HashTable/CMakeLists.txt
M libc/test/src/__support/HashTable/bitmask_test.cpp
M libc/test/src/__support/HashTable/table_test.cpp
R libc/test/src/__support/bit_test.cpp
M libc/test/src/__support/memory_size_test.cpp
M libc/test/src/__support/str_to_float_test.cpp
M libc/test/src/search/hsearch_test.cpp
M libc/test/src/stdio/sprintf_test.cpp
M libc/test/src/stdio/sscanf_test.cpp
M libc/test/src/stdlib/strtold_test.cpp
M libc/test/src/string/memory_utils/utils_test.cpp
M libc/test/src/sys/CMakeLists.txt
A libc/test/src/sys/prctl/CMakeLists.txt
A libc/test/src/sys/prctl/linux/CMakeLists.txt
A libc/test/src/sys/prctl/linux/prctl_test.cpp
M libc/utils/gpu/loader/amdgpu/Loader.cpp
M libcxx/.clang-format
M libcxx/CMakeLists.txt
M libcxx/benchmarks/stop_token.bench.cpp
M libcxx/docs/Contributing.rst
M libcxx/docs/DesignDocs/VisibilityMacros.rst
M libcxx/docs/Hardening.rst
M libcxx/docs/Status/Cxx23Papers.csv
M libcxx/include/__algorithm/any_of.h
M libcxx/include/__algorithm/binary_search.h
M libcxx/include/__algorithm/clamp.h
M libcxx/include/__algorithm/comp_ref_type.h
M libcxx/include/__algorithm/copy.h
M libcxx/include/__algorithm/copy_if.h
M libcxx/include/__algorithm/copy_n.h
M libcxx/include/__algorithm/count_if.h
M libcxx/include/__algorithm/equal.h
M libcxx/include/__algorithm/fill.h
M libcxx/include/__algorithm/fill_n.h
M libcxx/include/__algorithm/find.h
M libcxx/include/__algorithm/find_first_of.h
M libcxx/include/__algorithm/find_if.h
M libcxx/include/__algorithm/find_if_not.h
M libcxx/include/__algorithm/for_each_n.h
M libcxx/include/__algorithm/generate.h
M libcxx/include/__algorithm/generate_n.h
M libcxx/include/__algorithm/half_positive.h
M libcxx/include/__algorithm/inplace_merge.h
M libcxx/include/__algorithm/is_heap.h
M libcxx/include/__algorithm/is_heap_until.h
M libcxx/include/__algorithm/is_sorted.h
M libcxx/include/__algorithm/is_sorted_until.h
M libcxx/include/__algorithm/iter_swap.h
M libcxx/include/__algorithm/lexicographical_compare.h
M libcxx/include/__algorithm/max.h
M libcxx/include/__algorithm/max_element.h
M libcxx/include/__algorithm/merge.h
M libcxx/include/__algorithm/min.h
M libcxx/include/__algorithm/min_element.h
M libcxx/include/__algorithm/minmax.h
M libcxx/include/__algorithm/mismatch.h
M libcxx/include/__algorithm/move_backward.h
M libcxx/include/__algorithm/next_permutation.h
M libcxx/include/__algorithm/none_of.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/partition_point.h
M libcxx/include/__algorithm/prev_permutation.h
M libcxx/include/__algorithm/ranges_rotate_copy.h
M libcxx/include/__algorithm/remove.h
M libcxx/include/__algorithm/remove_copy.h
M libcxx/include/__algorithm/remove_copy_if.h
M libcxx/include/__algorithm/remove_if.h
M libcxx/include/__algorithm/replace.h
M libcxx/include/__algorithm/replace_copy.h
M libcxx/include/__algorithm/replace_copy_if.h
M libcxx/include/__algorithm/replace_if.h
M libcxx/include/__algorithm/reverse.h
M libcxx/include/__algorithm/reverse_copy.h
M libcxx/include/__algorithm/rotate.h
M libcxx/include/__algorithm/rotate_copy.h
M libcxx/include/__algorithm/sample.h
M libcxx/include/__algorithm/search.h
M libcxx/include/__algorithm/shift_left.h
M libcxx/include/__algorithm/shift_right.h
M libcxx/include/__algorithm/sift_down.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/transform.h
M libcxx/include/__availability
M libcxx/include/__bit/blsr.h
M libcxx/include/__bit/countl.h
M libcxx/include/__bit/popcount.h
M libcxx/include/__chrono/duration.h
M libcxx/include/__chrono/time_point.h
M libcxx/include/__compare/compare_partial_order_fallback.h
M libcxx/include/__compare/compare_strong_order_fallback.h
M libcxx/include/__compare/compare_three_way.h
M libcxx/include/__compare/compare_weak_order_fallback.h
M libcxx/include/__compare/partial_order.h
M libcxx/include/__compare/strong_order.h
M libcxx/include/__compare/weak_order.h
M libcxx/include/__concepts/assignable.h
M libcxx/include/__concepts/boolean_testable.h
M libcxx/include/__concepts/invocable.h
M libcxx/include/__concepts/swappable.h
M libcxx/include/__config
M libcxx/include/__coroutine/coroutine_handle.h
M libcxx/include/__exception/nested_exception.h
M libcxx/include/__filesystem/copy_options.h
M libcxx/include/__filesystem/directory_entry.h
M libcxx/include/__filesystem/directory_iterator.h
M libcxx/include/__filesystem/directory_options.h
M libcxx/include/__filesystem/file_status.h
M libcxx/include/__filesystem/filesystem_error.h
M libcxx/include/__filesystem/operations.h
M libcxx/include/__filesystem/path.h
M libcxx/include/__filesystem/path_iterator.h
M libcxx/include/__filesystem/perm_options.h
M libcxx/include/__filesystem/perms.h
M libcxx/include/__filesystem/recursive_directory_iterator.h
M libcxx/include/__filesystem/u8path.h
M libcxx/include/__format/buffer.h
M libcxx/include/__format/escaped_output_table.h
M libcxx/include/__format/extended_grapheme_cluster_table.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_floating_point.h
M libcxx/include/__format/formatter_integral.h
M libcxx/include/__format/formatter_output.h
M libcxx/include/__format/parser_std_format_spec.h
M libcxx/include/__format/write_escaped.h
M libcxx/include/__functional/binary_negate.h
M libcxx/include/__functional/bind.h
M libcxx/include/__functional/bind_back.h
M libcxx/include/__functional/bind_front.h
M libcxx/include/__functional/binder1st.h
M libcxx/include/__functional/binder2nd.h
M libcxx/include/__functional/compose.h
M libcxx/include/__functional/default_searcher.h
M libcxx/include/__functional/function.h
M libcxx/include/__functional/hash.h
M libcxx/include/__functional/identity.h
M libcxx/include/__functional/invoke.h
M libcxx/include/__functional/mem_fn.h
M libcxx/include/__functional/mem_fun_ref.h
M libcxx/include/__functional/not_fn.h
M libcxx/include/__functional/operations.h
M libcxx/include/__functional/perfect_forward.h
M libcxx/include/__functional/pointer_to_binary_function.h
M libcxx/include/__functional/pointer_to_unary_function.h
M libcxx/include/__functional/ranges_operations.h
M libcxx/include/__functional/reference_wrapper.h
M libcxx/include/__functional/unary_negate.h
M libcxx/include/__functional/weak_result_type.h
M libcxx/include/__fwd/get.h
M libcxx/include/__hash_table
M libcxx/include/__iterator/access.h
M libcxx/include/__iterator/advance.h
M libcxx/include/__iterator/back_insert_iterator.h
M libcxx/include/__iterator/common_iterator.h
M libcxx/include/__iterator/concepts.h
M libcxx/include/__iterator/counted_iterator.h
M libcxx/include/__iterator/data.h
M libcxx/include/__iterator/distance.h
M libcxx/include/__iterator/empty.h
M libcxx/include/__iterator/front_insert_iterator.h
M libcxx/include/__iterator/insert_iterator.h
M libcxx/include/__iterator/istream_iterator.h
M libcxx/include/__iterator/istreambuf_iterator.h
M libcxx/include/__iterator/iter_swap.h
M libcxx/include/__iterator/next.h
M libcxx/include/__iterator/ostream_iterator.h
M libcxx/include/__iterator/ostreambuf_iterator.h
M libcxx/include/__iterator/prev.h
M libcxx/include/__iterator/reverse_access.h
M libcxx/include/__iterator/reverse_iterator.h
M libcxx/include/__iterator/size.h
M libcxx/include/__iterator/wrap_iter.h
M libcxx/include/__locale
M libcxx/include/__locale_dir/locale_base_api/bsd_locale_fallbacks.h
M libcxx/include/__locale_dir/locale_base_api/locale_guard.h
M libcxx/include/__memory/addressof.h
M libcxx/include/__memory/allocation_guard.h
M libcxx/include/__memory/allocator.h
M libcxx/include/__memory/allocator_arg_t.h
M libcxx/include/__memory/allocator_destructor.h
M libcxx/include/__memory/allocator_traits.h
M libcxx/include/__memory/auto_ptr.h
M libcxx/include/__memory/builtin_new_allocator.h
M libcxx/include/__memory/destruct_n.h
M libcxx/include/__memory/pointer_traits.h
M libcxx/include/__memory/ranges_construct_at.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/swap_allocator.h
M libcxx/include/__memory/temporary_buffer.h
M libcxx/include/__memory/uninitialized_algorithms.h
M libcxx/include/__memory/unique_ptr.h
M libcxx/include/__memory/voidify.h
M libcxx/include/__mutex/once_flag.h
M libcxx/include/__node_handle
M libcxx/include/__numeric/accumulate.h
M libcxx/include/__numeric/adjacent_difference.h
M libcxx/include/__numeric/exclusive_scan.h
M libcxx/include/__numeric/gcd_lcm.h
M libcxx/include/__numeric/inclusive_scan.h
M libcxx/include/__numeric/inner_product.h
M libcxx/include/__numeric/iota.h
M libcxx/include/__numeric/midpoint.h
M libcxx/include/__numeric/partial_sum.h
M libcxx/include/__numeric/reduce.h
M libcxx/include/__numeric/transform_exclusive_scan.h
M libcxx/include/__numeric/transform_inclusive_scan.h
M libcxx/include/__numeric/transform_reduce.h
M libcxx/include/__random/bernoulli_distribution.h
M libcxx/include/__random/binomial_distribution.h
M libcxx/include/__random/cauchy_distribution.h
M libcxx/include/__random/chi_squared_distribution.h
M libcxx/include/__random/clamp_to_integral.h
M libcxx/include/__random/discard_block_engine.h
M libcxx/include/__random/discrete_distribution.h
M libcxx/include/__random/exponential_distribution.h
M libcxx/include/__random/extreme_value_distribution.h
M libcxx/include/__random/fisher_f_distribution.h
M libcxx/include/__random/gamma_distribution.h
M libcxx/include/__random/geometric_distribution.h
M libcxx/include/__random/independent_bits_engine.h
M libcxx/include/__random/linear_congruential_engine.h
M libcxx/include/__random/lognormal_distribution.h
M libcxx/include/__random/mersenne_twister_engine.h
M libcxx/include/__random/negative_binomial_distribution.h
M libcxx/include/__random/normal_distribution.h
M libcxx/include/__random/piecewise_constant_distribution.h
M libcxx/include/__random/piecewise_linear_distribution.h
M libcxx/include/__random/poisson_distribution.h
M libcxx/include/__random/random_device.h
M libcxx/include/__random/seed_seq.h
M libcxx/include/__random/shuffle_order_engine.h
M libcxx/include/__random/student_t_distribution.h
M libcxx/include/__random/subtract_with_carry_engine.h
M libcxx/include/__random/uniform_real_distribution.h
M libcxx/include/__random/weibull_distribution.h
M libcxx/include/__split_buffer
M libcxx/include/__string/char_traits.h
M libcxx/include/__string/extern_template_lists.h
M libcxx/include/__thread/this_thread.h
M libcxx/include/__thread/thread.h
M libcxx/include/__thread/timed_backoff_policy.h
M libcxx/include/__threading_support
M libcxx/include/__tree
M libcxx/include/__type_traits/integral_constant.h
M libcxx/include/__type_traits/invoke.h
M libcxx/include/__type_traits/is_constant_evaluated.h
M libcxx/include/__type_traits/is_nothrow_constructible.h
M libcxx/include/__type_traits/is_nothrow_convertible.h
M libcxx/include/__type_traits/is_swappable.h
M libcxx/include/__utility/cmp.h
M libcxx/include/__utility/convert_to_integral.h
M libcxx/include/__utility/exchange.h
M libcxx/include/__utility/integer_sequence.h
M libcxx/include/__utility/rel_ops.h
M libcxx/include/__utility/swap.h
M libcxx/include/__utility/to_underlying.h
M libcxx/include/any
M libcxx/include/array
M libcxx/include/barrier
M libcxx/include/bitset
M libcxx/include/chrono
M libcxx/include/cmath
M libcxx/include/codecvt
M libcxx/include/complex
M libcxx/include/condition_variable
M libcxx/include/deque
M libcxx/include/experimental/__config
M libcxx/include/experimental/__memory
M libcxx/include/experimental/iterator
M libcxx/include/experimental/propagate_const
M libcxx/include/ext/__hash
M libcxx/include/ext/hash_map
M libcxx/include/ext/hash_set
M libcxx/include/forward_list
M libcxx/include/fstream
M libcxx/include/future
M libcxx/include/initializer_list
M libcxx/include/iomanip
M libcxx/include/ios
M libcxx/include/iosfwd
M libcxx/include/istream
M libcxx/include/latch
M libcxx/include/limits
M libcxx/include/list
M libcxx/include/locale
M libcxx/include/map
M libcxx/include/memory
M libcxx/include/mutex
M libcxx/include/new
M libcxx/include/optional
M libcxx/include/ostream
M libcxx/include/queue
M libcxx/include/regex
M libcxx/include/scoped_allocator
M libcxx/include/semaphore
M libcxx/include/set
M libcxx/include/shared_mutex
M libcxx/include/source_location
M libcxx/include/span
M libcxx/include/sstream
M libcxx/include/stack
M libcxx/include/stdexcept
M libcxx/include/stdlib.h
M libcxx/include/streambuf
M libcxx/include/string
M libcxx/include/string_view
M libcxx/include/strstream
M libcxx/include/tuple
M libcxx/include/typeindex
M libcxx/include/typeinfo
M libcxx/include/unordered_map
M libcxx/include/unordered_set
M libcxx/include/valarray
M libcxx/include/variant
M libcxx/include/vector
M libcxx/include/version
M libcxx/include/wchar.h
M libcxx/src/chrono.cpp
M libcxx/src/condition_variable_destructor.cpp
M libcxx/src/hash.cpp
M libcxx/src/include/atomic_support.h
M libcxx/src/include/sso_allocator.h
M libcxx/src/include/to_chars_floating_point.h
M libcxx/src/ios.cpp
M libcxx/src/iostream.cpp
M libcxx/src/locale.cpp
M libcxx/src/mutex_destructor.cpp
M libcxx/src/regex.cpp
M libcxx/src/std_stream.h
M libcxx/src/strstream.cpp
M libcxx/src/support/win32/thread_win32.cpp
M libcxx/src/vector.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.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.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.size.pass.cpp
M libcxx/test/libcxx/gdb/gdb_pretty_printer_test.py
M libcxx/test/libcxx/numerics/bit.ops.pass.cpp
M libcxx/test/libcxx/selftest/additional_compile_flags/substitutes-in-compile-flags.sh.cpp
M libcxx/test/libcxx/selftest/additional_compile_flags/substitutes-in-run.sh.cpp
M libcxx/test/libcxx/utilities/memory/ptr.align/assume_aligned.power2.verify.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.move/move.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.move/move_backward.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.random.shuffle/random_shuffle.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/pstl.replace.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/pstl.replace_copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/pstl.replace_copy_if.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/pstl.replace_if.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.rotate/ranges.rotate_copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.transform/ranges.transform.binary.iterator.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.transform/ranges.transform.binary.range.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.transform/ranges.transform.unary.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.count/count.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.ends_with/ranges.ends_with.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/ranges.equal.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find.end/ranges.find_end.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/ranges.for_each.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/ranges.for_each_n.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.search/ranges.search.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.search/ranges.search_n.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.starts_with/ranges.starts_with.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.merge/pstl.merge.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.partitions/ranges.is_partitioned.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/is.sorted/ranges.is_sorted.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/is.sorted/ranges.is_sorted_until.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.three.way/lexicographical_compare_three_way.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.three.way/lexicographical_compare_three_way_comp.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/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/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/test_helper.h
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/wait.pass.cpp
M libcxx/test/std/containers/from_range_helpers.h
M libcxx/test/std/containers/sequences/deque/deque.modifiers/insert_iter_iter.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.spec/equal.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.spec/member_swap.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.spec/non_member_swap.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.spec/relational.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.spec/swap_noexcept.pass.cpp
M libcxx/test/std/containers/views/mdspan/ConvertibleToIntegral.h
M libcxx/test/std/containers/views/mdspan/layout_left/ctor.layout_right.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/ctor.layout_stride.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/ctor.mapping.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/properties.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/ctor.layout_left.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/ctor.layout_stride.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/ctor.mapping.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/properties.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/comparison.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/ctor.strided_mapping.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/deduction.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/is_exhaustive_corner_case.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/properties.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/assign.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.copy.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.default.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_array.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_extents.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_integers.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_map.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_map_acc.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_span.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.move.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/mapping.verify.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/move.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/swap.pass.cpp
M libcxx/test/std/containers/views/views.span/span.cons/iterator_sentinel.pass.cpp
M libcxx/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/generic_category.pass.cpp
M libcxx/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/system_category.pass.cpp
M libcxx/test/std/experimental/simd/simd.class/simd_ctor_broadcast.pass.cpp
M libcxx/test/std/experimental/simd/simd.class/simd_ctor_conversion.pass.cpp
M libcxx/test/std/experimental/simd/simd.class/simd_ctor_generator.pass.cpp
M libcxx/test/std/experimental/simd/simd.class/simd_subscr.pass.cpp
M libcxx/test/std/experimental/simd/simd.reference/reference_assignment.pass.cpp
M libcxx/test/std/experimental/simd/simd.reference/reference_value_type.pass.cpp
M libcxx/test/std/input.output/string.streams/stringbuf/stringbuf.assign/member_swap_noexcept.pass.cpp
M libcxx/test/std/input.output/string.streams/stringbuf/stringbuf.assign/nonmember_swap_noexcept.pass.cpp
M libcxx/test/std/iterators/iterator.primitives/iterator.traits/cxx20_iterator_traits.compile.pass.cpp
M libcxx/test/std/language.support/support.dynamic/destroying_delete_t.pass.cpp
M libcxx/test/std/language.support/support.dynamic/destroying_delete_t_declaration.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete_fsizeddeallocation.pass.cpp
M libcxx/test/std/language.support/support.dynamic/nothrow_t.pass.cpp
M libcxx/test/std/language.support/support.dynamic/nothrow_t.verify.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/latch.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/new.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/semaphore.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/source_location.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/stop_token.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/thread.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/bit/bit.pow.two/bit_ceil.pass.cpp
M libcxx/test/std/numerics/bit/bit.pow.two/bit_ceil.verify.cpp
M libcxx/test/std/numerics/bit/bit.pow.two/bit_floor.pass.cpp
M libcxx/test/std/numerics/bit/bit.pow.two/bit_width.pass.cpp
M libcxx/test/std/numerics/bit/bit.pow.two/has_single_bit.pass.cpp
M libcxx/test/std/numerics/bit/bitops.count/countl_one.pass.cpp
M libcxx/test/std/numerics/bit/bitops.count/countl_zero.pass.cpp
M libcxx/test/std/numerics/bit/bitops.count/countr_one.pass.cpp
M libcxx/test/std/numerics/bit/bitops.count/countr_zero.pass.cpp
M libcxx/test/std/numerics/bit/bitops.count/popcount.pass.cpp
M libcxx/test/std/numerics/bit/bitops.rot/rotl.pass.cpp
M libcxx/test/std/numerics/bit/bitops.rot/rotr.pass.cpp
M libcxx/test/std/numerics/rand/rand.device/ctor.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.negbin/eval.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.chunk.by/range.chunk.by.iter/deref.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.chunk.by/range.chunk.by.iter/increment.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.filter/iterator/arrow.pass.cpp
M libcxx/test/std/ranges/range.factories/range.repeat.view/size.pass.cpp
M libcxx/test/std/strings/string.view/string.view.comparison/equal.pass.cpp
M libcxx/test/std/strings/string.view/string.view.comparison/greater.pass.cpp
M libcxx/test/std/strings/string.view/string.view.comparison/greater_equal.pass.cpp
M libcxx/test/std/strings/string.view/string.view.comparison/less.pass.cpp
M libcxx/test/std/strings/string.view/string.view.comparison/less_equal.pass.cpp
M libcxx/test/std/strings/string.view/string.view.comparison/not_equal.pass.cpp
M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.scoped/mutex.pass.cpp
M libcxx/test/std/thread/thread.mutex/thread.lock/types.verify.cpp
M libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/default.pass.cpp
M libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/deduct_F.pass.cpp
M libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/deduct_F.verify.cpp
M libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/deduct_ptr.pass.cpp
M libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/noncopyable_return_type.pass.cpp
M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.spec/swap.pass.cpp
M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.weak/util.smartptr.weak.spec/swap.pass.cpp
M libcxx/test/std/utilities/meta/meta.trans/meta.trans.other/common_reference.compile.pass.cpp
M libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.observers/op_subscript.runtime.pass.cpp
M libcxx/test/support/container_debug_tests.h
M libcxx/test/support/msvc_stdlib_force_include.h
M libcxx/test/support/test_macros.h
M libcxx/test/tools/clang_tidy_checks/uglify_attributes.cpp
M libcxx/utils/ci/Dockerfile
M libcxx/utils/ci/docker-compose.yml
A libcxx/utils/clang-format-merge-driver.sh
M libcxx/utils/generate_escaped_output_table.py
M libcxx/utils/generate_extended_grapheme_cluster_table.py
M libcxx/utils/generate_feature_test_macro_components.py
M libcxx/utils/libcxx/test/format.py
M libcxx/utils/libcxx/test/params.py
M libcxxabi/src/demangle/DemangleConfig.h
M lld/COFF/Config.h
M lld/COFF/Driver.cpp
M lld/COFF/InputFiles.cpp
M lld/COFF/Options.td
M lld/COFF/Writer.cpp
M lld/ELF/Arch/RISCV.cpp
M lld/MinGW/Driver.cpp
M lld/MinGW/Options.td
M lld/test/COFF/Inputs/loadconfig-arm64ec.s
M lld/test/COFF/debug-reloc.s
M lld/test/COFF/lto-imp-prefix.ll
A lld/test/COFF/pdata-arm64ec.test
M lld/test/COFF/rsds.test
M lld/test/ELF/lto/libcall-archive-calloc.ll
A lld/test/ELF/riscv-relax-call-mixed-rvc.s
M lld/test/MinGW/driver.test
M lldb/include/lldb/Breakpoint/BreakpointSite.h
R lldb/include/lldb/Breakpoint/BreakpointSiteList.h
A lldb/include/lldb/Breakpoint/StopPointSiteList.h
M lldb/include/lldb/Breakpoint/Watchpoint.h
A lldb/include/lldb/Breakpoint/WatchpointResource.h
A lldb/include/lldb/Breakpoint/WatchpointResourceList.h
M lldb/include/lldb/Core/PluginManager.h
M lldb/include/lldb/Expression/DiagnosticManager.h
M lldb/include/lldb/Host/netbsd/HostInfoNetBSD.h
M lldb/include/lldb/Interpreter/OptionGroupWatchpoint.h
M lldb/include/lldb/Target/Process.h
M lldb/include/lldb/lldb-defines.h
M lldb/include/lldb/lldb-forward.h
M lldb/include/lldb/lldb-types.h
M lldb/packages/Python/lldbsuite/test/lldbplatformutil.py
M lldb/source/API/SBThread.cpp
M lldb/source/API/SBWatchpoint.cpp
M lldb/source/Breakpoint/BreakpointLocation.cpp
M lldb/source/Breakpoint/BreakpointSite.cpp
R lldb/source/Breakpoint/BreakpointSiteList.cpp
M lldb/source/Breakpoint/CMakeLists.txt
A lldb/source/Breakpoint/StopPointSiteList.cpp
M lldb/source/Breakpoint/Watchpoint.cpp
A lldb/source/Breakpoint/WatchpointResource.cpp
A lldb/source/Breakpoint/WatchpointResourceList.cpp
M lldb/source/Commands/CommandObjectProcess.cpp
M lldb/source/Commands/CommandObjectWatchpoint.cpp
M lldb/source/Core/CoreProperties.td
M lldb/source/Core/FormatEntity.cpp
M lldb/source/Core/PluginManager.cpp
M lldb/source/Host/common/Host.cpp
M lldb/source/Host/common/SocketAddress.cpp
M lldb/source/Host/netbsd/HostInfoNetBSD.cpp
M lldb/source/Host/netbsd/HostNetBSD.cpp
M lldb/source/Host/openbsd/HostInfoOpenBSD.cpp
M lldb/source/Host/posix/DomainSocket.cpp
M lldb/source/Host/posix/PipePosix.cpp
M lldb/source/Initialization/SystemInitializerCommon.cpp
M lldb/source/Interpreter/OptionArgParser.cpp
M lldb/source/Interpreter/OptionGroupWatchpoint.cpp
M lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DYLDRendezvous.cpp
M lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp
M lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntime.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleThreadPlanStepThroughObjCTrampoline.cpp
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
M lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.cpp
M lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.h
M lldb/source/Plugins/Process/NetBSD/NativeProcessNetBSD.cpp
M lldb/source/Plugins/Process/NetBSD/NativeProcessNetBSD.h
M lldb/source/Plugins/Process/Utility/NetBSDSignals.h
M lldb/source/Plugins/Process/Utility/RegisterContextNetBSD_i386.cpp
M lldb/source/Plugins/Process/Utility/RegisterContextNetBSD_x86_64.h
M lldb/source/Plugins/Process/Utility/StopInfoMachException.cpp
M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.h
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolLocator/CMakeLists.txt
A lldb/source/Plugins/SymbolLocator/Debuginfod/CMakeLists.txt
A lldb/source/Plugins/SymbolLocator/Debuginfod/SymbolLocatorDebuginfod.cpp
A lldb/source/Plugins/SymbolLocator/Debuginfod/SymbolLocatorDebuginfod.h
A lldb/source/Plugins/SymbolLocator/Debuginfod/SymbolLocatorDebuginfodProperties.td
M lldb/source/Target/Platform.cpp
M lldb/source/Target/Process.cpp
M lldb/source/Target/StackFrameList.cpp
M lldb/source/Target/StopInfo.cpp
M lldb/source/Target/Target.cpp
M lldb/source/Target/ThreadPlanCallFunction.cpp
M lldb/source/Target/ThreadPlanStepOut.cpp
M lldb/source/Target/ThreadPlanStepRange.cpp
M lldb/source/Target/ThreadPlanStepUntil.cpp
M lldb/test/API/api/multithreaded/common.h
M lldb/test/API/lang/cpp/const_static_integral_member/TestConstStaticIntegralMember.py
M lldb/test/API/lit.cfg.py
A lldb/test/API/python_api/process/cancel_attach/TestCancelAttach.py
M lldb/test/API/python_api/watchpoint/watchlocation/TestTargetWatchAddress.py
M lldb/test/API/tools/lldb-server/thread-name/main.cpp
M lldb/test/Shell/Watchpoint/Inputs/val.c
M lldb/test/Shell/Watchpoint/LocalVariableWatchpointDisabler.test
M lldb/test/Shell/Watchpoint/SetErrorCases.test
M lldb/tools/debugserver/source/DNB.cpp
M lldb/tools/lldb-dap/JSONUtils.cpp
M llvm/cmake/modules/HandleLLVMOptions.cmake
M llvm/docs/CMake.rst
M llvm/docs/FatLTO.rst
M llvm/docs/GettingStarted.rst
M llvm/docs/GitHub.rst
M llvm/docs/LangRef.rst
M llvm/docs/ReleaseNotes.rst
M llvm/docs/tutorial/MyFirstLanguageFrontend/LangImpl08.rst
M llvm/examples/Kaleidoscope/Chapter8/toy.cpp
M llvm/include/llvm-c/Core.h
M llvm/include/llvm/ADT/PostOrderIterator.h
M llvm/include/llvm/ADT/bit.h
M llvm/include/llvm/Analysis/BasicAliasAnalysis.h
M llvm/include/llvm/Analysis/DemandedBits.h
A llvm/include/llvm/Analysis/DomConditionCache.h
M llvm/include/llvm/Analysis/InlineModelFeatureMaps.h
M llvm/include/llvm/Analysis/SimplifyQuery.h
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/include/llvm/Analysis/VectorUtils.h
M llvm/include/llvm/AsmParser/LLParser.h
M llvm/include/llvm/AsmParser/LLToken.h
M llvm/include/llvm/BinaryFormat/ELFRelocs/LoongArch.def
M llvm/include/llvm/Bitcode/LLVMBitCodes.h
M llvm/include/llvm/CodeGen/AccelTable.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/include/llvm/CodeGen/ByteProvider.h
M llvm/include/llvm/CodeGen/CallingConvLower.h
M llvm/include/llvm/CodeGen/CodeGenPassBuilder.h
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
M llvm/include/llvm/CodeGen/MachinePassRegistry.def
M llvm/include/llvm/CodeGen/PseudoSourceValue.h
A llvm/include/llvm/CodeGen/PseudoSourceValueManager.h
M llvm/include/llvm/CodeGen/TargetInstrInfo.h
M llvm/include/llvm/CodeGen/TargetLowering.h
A llvm/include/llvm/CodeGen/WasmEHPrepare.h
A llvm/include/llvm/CodeGen/WinEHPrepare.h
M llvm/include/llvm/DWARFLinkerParallel/StringPool.h
M llvm/include/llvm/DWP/DWP.h
M llvm/include/llvm/DebugInfo/GSYM/ExtractRanges.h
M llvm/include/llvm/DebugInfo/GSYM/FunctionInfo.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVObject.h
M llvm/include/llvm/DebugInfo/LogicalView/Readers/LVCodeViewVisitor.h
R llvm/include/llvm/DebugInfo/PDB/Native/Formatters.h
M llvm/include/llvm/Debuginfod/Debuginfod.h
M llvm/include/llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h
M llvm/include/llvm/ExecutionEngine/Orc/EPCDebugObjectRegistrar.h
M llvm/include/llvm/ExecutionEngine/Orc/ExecutionUtils.h
M llvm/include/llvm/ExecutionEngine/Orc/MachOPlatform.h
M llvm/include/llvm/ExecutionEngine/Orc/ObjectLinkingLayer.h
M llvm/include/llvm/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.h
M llvm/include/llvm/ExecutionEngine/Orc/Shared/ObjectFormats.h
M llvm/include/llvm/ExecutionEngine/Orc/Shared/OrcRTBridge.h
M llvm/include/llvm/ExecutionEngine/Orc/SpeculateAnalyses.h
M llvm/include/llvm/Frontend/OpenACC/ACC.td
M llvm/include/llvm/Frontend/OpenMP/OMP.td
M llvm/include/llvm/Frontend/OpenMP/OMPConstants.h
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/include/llvm/IR/BasicBlock.h
M llvm/include/llvm/IR/Constants.h
M llvm/include/llvm/IR/DebugProgramInstruction.h
M llvm/include/llvm/IR/DerivedTypes.h
M llvm/include/llvm/IR/Dominators.h
M llvm/include/llvm/IR/GlobalObject.h
M llvm/include/llvm/IR/GlobalVariable.h
M llvm/include/llvm/IR/IRBuilder.h
M llvm/include/llvm/IR/InstrTypes.h
M llvm/include/llvm/IR/IntrinsicInst.h
M llvm/include/llvm/IR/Intrinsics.td
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/include/llvm/IR/IntrinsicsBPF.td
M llvm/include/llvm/IR/IntrinsicsSystemZ.td
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/include/llvm/IR/PatternMatch.h
M llvm/include/llvm/IR/ReplaceConstant.h
M llvm/include/llvm/IR/RuntimeLibcalls.def
M llvm/include/llvm/IRReader/IRReader.h
M llvm/include/llvm/MC/MCDwarf.h
M llvm/include/llvm/MC/MCInstrItineraries.h
M llvm/include/llvm/MC/MCSectionXCOFF.h
M llvm/include/llvm/MC/MCSymbolXCOFF.h
M llvm/include/llvm/MC/MCXCOFFStreamer.h
M llvm/include/llvm/ObjCopy/ELF/ELFConfig.h
M llvm/include/llvm/Option/Option.h
M llvm/include/llvm/Passes/PassBuilder.h
M llvm/include/llvm/ProfileData/SampleProf.h
M llvm/include/llvm/Support/Automaton.h
M llvm/include/llvm/Support/Compiler.h
M llvm/include/llvm/Support/GenericDomTreeConstruction.h
R llvm/include/llvm/Support/Host.h
M llvm/include/llvm/Support/TypeSize.h
M llvm/include/llvm/TableGen/Parser.h
M llvm/include/llvm/Target/CGPassBuilderOption.h
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/include/llvm/Target/TargetMachine.h
M llvm/include/llvm/TargetParser/AArch64TargetParser.h
M llvm/include/llvm/TargetParser/RISCVTargetParser.h
M llvm/include/llvm/TargetParser/X86TargetParser.def
A llvm/include/llvm/TextAPI/Record.h
A llvm/include/llvm/TextAPI/RecordsSlice.h
M llvm/include/llvm/TextAPI/Symbol.h
M llvm/include/llvm/Transforms/IPO.h
M llvm/include/llvm/Transforms/IPO/EmbedBitcodePass.h
M llvm/include/llvm/Transforms/IPO/MemProfContextDisambiguation.h
M llvm/include/llvm/Transforms/IPO/ProfiledCallGraph.h
M llvm/include/llvm/Transforms/InstCombine/InstCombiner.h
M llvm/include/llvm/Transforms/Instrumentation.h
M llvm/include/llvm/Transforms/Instrumentation/CFGMST.h
M llvm/include/llvm/Transforms/Utils/BasicBlockUtils.h
M llvm/include/llvm/XRay/BlockVerifier.h
M llvm/include/module.modulemap
M llvm/lib/Analysis/BranchProbabilityInfo.cpp
M llvm/lib/Analysis/CMakeLists.txt
M llvm/lib/Analysis/CaptureTracking.cpp
A llvm/lib/Analysis/DomConditionCache.cpp
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/LazyValueInfo.cpp
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/Analysis/VFABIDemangling.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/lib/AsmParser/LLLexer.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/BinaryFormat/AMDGPUMetadataVerifier.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.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/CodeGenPrepare.cpp
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.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/InlineSpiller.cpp
M llvm/lib/CodeGen/LiveRangeEdit.cpp
M llvm/lib/CodeGen/MIRParser/MIParser.cpp
M llvm/lib/CodeGen/MachineCSE.cpp
M llvm/lib/CodeGen/MachineFunction.cpp
M llvm/lib/CodeGen/MachineOperand.cpp
M llvm/lib/CodeGen/MachineScheduler.cpp
M llvm/lib/CodeGen/PseudoSourceValue.cpp
M llvm/lib/CodeGen/RegisterCoalescer.cpp
M llvm/lib/CodeGen/SelectOptimize.cpp
M llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/lib/CodeGen/StackColoring.cpp
M llvm/lib/CodeGen/StackSlotColoring.cpp
M llvm/lib/CodeGen/TargetInstrInfo.cpp
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/CodeGen/TargetSchedule.cpp
M llvm/lib/CodeGen/WasmEHPrepare.cpp
M llvm/lib/CodeGen/WinEHPrepare.cpp
M llvm/lib/DWARFLinkerParallel/DWARFLinkerGlobalData.h
M llvm/lib/DWP/DWP.cpp
M llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
M llvm/lib/Debuginfod/Debuginfod.cpp
M llvm/lib/ExecutionEngine/Orc/Debugging/DebuggerSupportPlugin.cpp
M llvm/lib/ExecutionEngine/Orc/ExecutionUtils.cpp
M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
M llvm/lib/ExecutionEngine/Orc/Shared/ObjectFormats.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/IR/Constants.cpp
M llvm/lib/IR/ConstantsContext.h
M llvm/lib/IR/Core.cpp
M llvm/lib/IR/EHPersonalities.cpp
M llvm/lib/IR/Globals.cpp
M llvm/lib/IR/Instruction.cpp
M llvm/lib/IR/LLVMContextImpl.h
M llvm/lib/IR/Metadata.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/lib/MC/MCDisassembler/Disassembler.cpp
M llvm/lib/MC/MCDwarf.cpp
M llvm/lib/MC/MCObjectFileInfo.cpp
M llvm/lib/MC/MCStreamer.cpp
M llvm/lib/MC/MCXCOFFStreamer.cpp
M llvm/lib/ObjCopy/XCOFF/XCOFFWriter.h
M llvm/lib/Object/RelocationResolver.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Passes/StandardInstrumentations.cpp
M llvm/lib/Support/ARMBuildAttrs.cpp
M llvm/lib/Support/Regex.cpp
M llvm/lib/TableGen/Main.cpp
M llvm/lib/Target/AArch64/AArch64.td
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AArch64/AArch64FrameLowering.h
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.h
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.cpp
M llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.h
M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/AArch64SchedA64FX.td
M llvm/lib/Target/AArch64/AArch64SchedNeoverseN2.td
M llvm/lib/Target/AArch64/AArch64SchedNeoverseV1.td
M llvm/lib/Target/AArch64/AArch64SchedNeoverseV2.td
M llvm/lib/Target/AArch64/AArch64Subtarget.h
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.h
M llvm/lib/Target/AArch64/SMEInstrFormats.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCtorDtorLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMachineFunction.h
M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.h
M llvm/lib/Target/AMDGPU/MIMGInstructions.td
M llvm/lib/Target/AMDGPU/SIAnnotateControlFlow.cpp
M llvm/lib/Target/AMDGPU/SIDefines.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.h
M llvm/lib/Target/AMDGPU/SIInsertHardClauses.cpp
M llvm/lib/Target/AMDGPU/SIInstrFormats.td
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
M llvm/lib/Target/AMDGPU/SMInstructions.td
M llvm/lib/Target/AMDGPU/SOPInstructions.td
M llvm/lib/Target/AMDGPU/Utils/AMDGPUAsmUtils.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/lib/Target/AMDGPU/Utils/AMDGPUMemoryUtils.h
M llvm/lib/Target/ARM/ARM.h
M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
M llvm/lib/Target/ARM/ARMBaseInstrInfo.h
M llvm/lib/Target/ARM/ARMBasicBlockInfo.cpp
M llvm/lib/Target/ARM/ARMHazardRecognizer.h
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMMachineFunctionInfo.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp
M llvm/lib/Target/ARM/Thumb1FrameLowering.cpp
M llvm/lib/Target/AVR/AVRFrameLowering.cpp
M llvm/lib/Target/BPF/BPF.h
M llvm/lib/Target/BPF/BPFAbstractMemberAccess.cpp
M llvm/lib/Target/BPF/BPFCORE.h
M llvm/lib/Target/BPF/BPFCheckAndAdjustIR.cpp
A llvm/lib/Target/BPF/BPFPreserveStaticOffset.cpp
M llvm/lib/Target/BPF/BPFTargetMachine.cpp
M llvm/lib/Target/BPF/CMakeLists.txt
M llvm/lib/Target/Hexagon/HexagonISelDAGToDAG.h
M llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp
M llvm/lib/Target/Hexagon/HexagonInstrInfo.h
M llvm/lib/Target/Hexagon/HexagonSubtarget.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.h
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonShuffler.cpp
M llvm/lib/Target/LoongArch/LoongArchISelDAGToDAG.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
M llvm/lib/Target/M68k/M68kExpandPseudo.cpp
M llvm/lib/Target/M68k/M68kInstrControl.td
M llvm/lib/Target/Mips/MipsMachineFunction.cpp
M llvm/lib/Target/Mips/MipsOptimizePICCall.cpp
M llvm/lib/Target/Mips/MipsSubtarget.h
M llvm/lib/Target/NVPTX/NVPTXCtorDtorLowering.cpp
M llvm/lib/Target/PowerPC/PPCCTRLoopsVerify.cpp
M llvm/lib/Target/PowerPC/PPCFrameLowering.cpp
M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
M llvm/lib/Target/PowerPC/PPCInstrInfo.h
M llvm/lib/Target/PowerPC/PPCInstrP10.td
M llvm/lib/Target/RISCV/GISel/RISCVCallLowering.cpp
M llvm/lib/Target/RISCV/GISel/RISCVCallLowering.h
M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.h
M llvm/lib/Target/RISCV/RISCVExpandPseudoInsts.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/lib/Target/RISCV/RISCVGISel.td
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.h
M llvm/lib/Target/RISCV/RISCVInstrInfoXSf.td
M llvm/lib/Target/RISCV/RISCVOptWInstrs.cpp
M llvm/lib/Target/RISCV/RISCVRVVInitUndef.cpp
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
M llvm/lib/Target/RISCV/RISCVScheduleV.td
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZInstPrinter.cpp
M llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.h
M llvm/lib/Target/SystemZ/SystemZInstrVector.td
M llvm/lib/Target/SystemZ/SystemZOperators.td
M llvm/lib/Target/TargetMachine.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp
M llvm/lib/Target/X86/X86.td
M llvm/lib/Target/X86/X86CallingConv.td
M llvm/lib/Target/X86/X86DomainReassignment.cpp
M llvm/lib/Target/X86/X86FixupVectorConstants.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.h
M llvm/lib/Target/X86/X86Instr3DNow.td
M llvm/lib/Target/X86/X86InstrAVX512.td
M llvm/lib/Target/X86/X86InstrArithmetic.td
M llvm/lib/Target/X86/X86InstrCompiler.td
M llvm/lib/Target/X86/X86InstrFPStack.td
M llvm/lib/Target/X86/X86InstrFormats.td
A llvm/lib/Target/X86/X86InstrFragments.td
M llvm/lib/Target/X86/X86InstrFragmentsSIMD.td
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/X86/X86InstrInfo.td
M llvm/lib/Target/X86/X86InstrMisc.td
A llvm/lib/Target/X86/X86InstrOperands.td
A llvm/lib/Target/X86/X86InstrPredicates.td
M llvm/lib/Target/X86/X86InstrSSE.td
M llvm/lib/Target/X86/X86InstrShiftRotate.td
A llvm/lib/Target/X86/X86InstrUtils.td
M llvm/lib/Target/X86/X86InstrVMX.td
M llvm/lib/Target/X86/X86LoadValueInjectionRetHardening.cpp
M llvm/lib/Target/X86/X86RegisterInfo.cpp
A llvm/lib/Target/X86/X86ReplaceableInstrs.def
M llvm/lib/Target/X86/X86Subtarget.cpp
M llvm/lib/Target/XCore/XCoreISelLowering.cpp
M llvm/lib/Target/XCore/XCoreISelLowering.h
M llvm/lib/TargetParser/X86TargetParser.cpp
M llvm/lib/Testing/Support/Error.cpp
M llvm/lib/TextAPI/CMakeLists.txt
A llvm/lib/TextAPI/RecordsSlice.cpp
M llvm/lib/TextAPI/Symbol.cpp
M llvm/lib/Transforms/IPO/EmbedBitcodePass.cpp
M llvm/lib/Transforms/IPO/Inliner.cpp
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
M llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
M llvm/lib/Transforms/InstCombine/InstCombineNegator.cpp
M llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
M llvm/lib/Transforms/Instrumentation/MemProfiler.cpp
M llvm/lib/Transforms/Scalar/CallSiteSplitting.cpp
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
M llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
M llvm/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
M llvm/lib/Transforms/Scalar/Reassociate.cpp
M llvm/lib/Transforms/Scalar/SCCP.cpp
M llvm/lib/Transforms/Scalar/TLSVariableHoist.cpp
M llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp
M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/LoopPeel.cpp
M llvm/lib/Transforms/Utils/LoopRotationUtils.cpp
M llvm/lib/Transforms/Utils/ModuleUtils.cpp
M llvm/lib/Transforms/Utils/MoveAutoInit.cpp
M llvm/lib/Transforms/Utils/SimplifyIndVar.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/lib/XRay/BlockVerifier.cpp
A llvm/test/Analysis/BranchProbabilityInfo/anonymous-bb.ll
M llvm/test/Analysis/BranchProbabilityInfo/basic.ll
M llvm/test/Analysis/BranchProbabilityInfo/deopt-intrinsic.ll
M llvm/test/Analysis/BranchProbabilityInfo/deopt-invoke.ll
M llvm/test/Analysis/BranchProbabilityInfo/fcmp.ll
M llvm/test/Analysis/BranchProbabilityInfo/hoist.ll
M llvm/test/Analysis/BranchProbabilityInfo/libfunc_call.ll
M llvm/test/Analysis/BranchProbabilityInfo/loop.ll
M llvm/test/Analysis/BranchProbabilityInfo/noreturn.ll
M llvm/test/Analysis/BranchProbabilityInfo/pointer_heuristics.ll
M llvm/test/Analysis/BranchProbabilityInfo/pr18705.ll
M llvm/test/Analysis/BranchProbabilityInfo/pr22718.ll
M llvm/test/Analysis/BranchProbabilityInfo/switch.ll
M llvm/test/Analysis/BranchProbabilityInfo/unreachable.ll
M llvm/test/Analysis/BranchProbabilityInfo/zero_heuristics.ll
M llvm/test/Analysis/CostModel/X86/interleaved-load-half.ll
M llvm/test/Analysis/CostModel/X86/masked-interleaved-load-i16.ll
M llvm/test/Analysis/CostModel/X86/masked-interleaved-store-i16.ll
M llvm/test/Analysis/DependenceAnalysis/ExactRDIV.ll
M llvm/test/Analysis/DependenceAnalysis/ExactSIV.ll
M llvm/test/Analysis/DependenceAnalysis/GCD.ll
M llvm/test/Analysis/LoopAccessAnalysis/forward-negative-step.ll
A llvm/test/Analysis/LoopAccessAnalysis/print-order.ll
M llvm/test/Analysis/LoopAccessAnalysis/stride-access-dependence.ll
M llvm/test/Analysis/ScalarEvolution/add-like-or.ll
M llvm/test/Analysis/ScalarEvolution/nsw-offset-assume.ll
M llvm/test/Analysis/ScalarEvolution/nsw-offset.ll
M llvm/test/Analysis/ScalarEvolution/sext-mul.ll
M llvm/test/Analysis/StackSafetyAnalysis/ipa.ll
M llvm/test/Analysis/ValueTracking/select-known-non-zero.ll
R llvm/test/Assembler/debug-info-source-invalid.ll
R llvm/test/Assembler/debug-info-source.ll
M llvm/test/Assembler/globalvariable-attributes.ll
A llvm/test/Assembler/index-value-order.ll
M llvm/test/Assembler/thinlto-summary.ll
A llvm/test/Assembler/thinlto-vtable-summary2.ll
M llvm/test/Bindings/llvm-c/echo.ll
M llvm/test/Bitcode/thinlto-alias.ll
M llvm/test/Bitcode/thinlto-alias2.ll
M llvm/test/Bitcode/thinlto-asm-noimport.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-cast.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-partial-sample-profile-summary.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-profile-summary.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-sample-profile-summary.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph.ll
M llvm/test/Bitcode/thinlto-function-summary-functionattrs.ll
M llvm/test/Bitcode/thinlto-function-summary-originalnames.ll
M llvm/test/Bitcode/thinlto-function-summary-paramaccess.ll
M llvm/test/Bitcode/thinlto-function-summary-refgraph.ll
M llvm/test/Bitcode/thinlto-function-summary.ll
M llvm/test/Bitcode/thinlto-summary-linkage-types.ll
M llvm/test/Bitcode/thinlto-summary-section.ll
M llvm/test/CMakeLists.txt
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-dyn-alloca.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-fmaxnum.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-fminnum.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-memcpy-et-al.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
M llvm/test/CodeGen/AArch64/aarch64-sched-store.ll
M llvm/test/CodeGen/AArch64/arm64-addrmode.ll
M llvm/test/CodeGen/AArch64/arm64-indexed-vector-ldst.ll
A llvm/test/CodeGen/AArch64/clear-dead-implicit-def-impdef.ll
A llvm/test/CodeGen/AArch64/clear-dead-implicit-def-impdef.mir
A llvm/test/CodeGen/AArch64/coalescer-drop-subreg-to-reg-imm-ops.mir
A llvm/test/CodeGen/AArch64/implicit-def-remat-requires-impdef-check.mir
M llvm/test/CodeGen/AArch64/sme-streaming-compatible-interface.ll
M llvm/test/CodeGen/AArch64/sme-streaming-interface.ll
A llvm/test/CodeGen/AArch64/sme2-intrinsics-luti2-lane-x2.ll
A llvm/test/CodeGen/AArch64/sme2-intrinsics-luti2-lane-x4.ll
A llvm/test/CodeGen/AArch64/sme2-intrinsics-luti2-lane.ll
A llvm/test/CodeGen/AArch64/sme2-intrinsics-luti4-lane-x2.ll
A llvm/test/CodeGen/AArch64/sme2-intrinsics-luti4-lane-x4.ll
A llvm/test/CodeGen/AArch64/sme2-intrinsics-luti4-lane.ll
A llvm/test/CodeGen/AArch64/sme2-intrinsics-zero-zt.ll
A llvm/test/CodeGen/AArch64/sme2-intrinsics-zt0.ll
A llvm/test/CodeGen/AArch64/stack-probing-64k.ll
A llvm/test/CodeGen/AArch64/stack-probing-dynamic-no-frame-setup.ll
A llvm/test/CodeGen/AArch64/stack-probing-dynamic.ll
A llvm/test/CodeGen/AArch64/stack-probing-last-in-block.mir
A llvm/test/CodeGen/AArch64/stack-probing-sve.ll
A llvm/test/CodeGen/AArch64/stack-probing.ll
M llvm/test/CodeGen/AArch64/store-swift-async-context-clobber-live-reg.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-add-mul.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement-stack-lower.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.i128.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.i16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.i8.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.ll
A llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-rootn.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sqrt.ll
M llvm/test/CodeGen/AMDGPU/back-off-barrier-subtarget-feature.ll
M llvm/test/CodeGen/AMDGPU/fadd.f16.ll
M llvm/test/CodeGen/AMDGPU/idot4u.ll
A llvm/test/CodeGen/AMDGPU/infloop-subrange-spill-inspect-subrange.mir
A llvm/test/CodeGen/AMDGPU/llvm.exp10.ll
M llvm/test/CodeGen/AMDGPU/load-global-i32.ll
A llvm/test/CodeGen/AMDGPU/min-waves-per-eu-not-respected.ll
M llvm/test/CodeGen/AMDGPU/non-entry-alloca.ll
M llvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm.ll
M llvm/test/CodeGen/AMDGPU/regpressure_printer.mir
A llvm/test/CodeGen/AMDGPU/scratch-pointer-sink.ll
A llvm/test/CodeGen/AMDGPU/si-annotate-dbg-info.ll
M llvm/test/CodeGen/AMDGPU/waitcnt-overflow.mir
M llvm/test/CodeGen/AMDGPU/waitcnt-preexisting-vscnt.mir
M llvm/test/CodeGen/ARM/ParallelDSP/smlad0.ll
M llvm/test/CodeGen/ARM/ParallelDSP/smlad11.ll
M llvm/test/CodeGen/ARM/ParallelDSP/smladx-1.ll
M llvm/test/CodeGen/ARM/ParallelDSP/smlald0.ll
M llvm/test/CodeGen/ARM/ParallelDSP/smlald2.ll
M llvm/test/CodeGen/ARM/ParallelDSP/smlaldx-1.ll
M llvm/test/CodeGen/ARM/ParallelDSP/smlaldx-2.ll
M llvm/test/CodeGen/ARM/ParallelDSP/unroll-n-jam-smlad.ll
M llvm/test/CodeGen/ARM/aapcs-hfa-code.ll
M llvm/test/CodeGen/ARM/dsp-loop-indexing.ll
M llvm/test/CodeGen/ARM/fpclamptosat.ll
M llvm/test/CodeGen/ARM/loop-indexing.ll
M llvm/test/CodeGen/ARM/shifter_operand.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/load-align.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/load-arr-pai.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/load-atomic.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/load-chain-2.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/load-chain-oob.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/load-chain-u8-oob.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/load-chain-u8-type-mismatch.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/load-chain-u8.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/load-chain.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/load-inline.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/load-non-const.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/load-ptr-pai.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/load-simple.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/load-struct-pai.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/load-undo-align.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/load-undo-chain-oob.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/load-undo-chain-u8.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/load-undo-chain.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/load-undo-simple.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/load-undo-volatile.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/load-union-pai.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/load-unroll-inline.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/load-unroll.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/load-volatile.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/load-zero.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/store-align.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/store-atomic.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/store-chain-2.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/store-chain-oob.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/store-chain-u8-oob.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/store-chain-u8.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/store-chain.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/store-pai.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/store-simple.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/store-undo-align.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/store-undo-chain-oob.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/store-undo-chain-u8.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/store-undo-chain.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/store-undo-simple.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/store-undo-volatile.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/store-unroll-inline.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/store-volatile.ll
A llvm/test/CodeGen/BPF/preserve-static-offset/store-zero.ll
M llvm/test/CodeGen/Hexagon/autohvx/interleave.ll
A llvm/test/CodeGen/LoongArch/lasx/build-vector.ll
A llvm/test/CodeGen/LoongArch/lasx/ctpop-ctlz.ll
A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/add.ll
A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/and.ll
A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/ashr.ll
A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/fadd.ll
A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/fdiv.ll
A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/fmul.ll
A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/fsub.ll
A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/insertelement.ll
A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/lshr.ll
A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/mul.ll
A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/or.ll
A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/sdiv.ll
A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/shl.ll
A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/sub.ll
A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/udiv.ll
A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/xor.ll
A llvm/test/CodeGen/LoongArch/lasx/mulh.ll
A llvm/test/CodeGen/LoongArch/lasx/vselect.ll
A llvm/test/CodeGen/LoongArch/lsx/build-vector.ll
A llvm/test/CodeGen/LoongArch/lsx/ctpop-ctlz.ll
A llvm/test/CodeGen/LoongArch/lsx/ir-instruction/and.ll
A llvm/test/CodeGen/LoongArch/lsx/ir-instruction/insertelement.ll
M llvm/test/CodeGen/LoongArch/lsx/ir-instruction/mul.ll
A llvm/test/CodeGen/LoongArch/lsx/ir-instruction/or.ll
A llvm/test/CodeGen/LoongArch/lsx/ir-instruction/xor.ll
A llvm/test/CodeGen/LoongArch/lsx/mulh.ll
A llvm/test/CodeGen/LoongArch/lsx/vselect.ll
A llvm/test/CodeGen/M68k/CConv/rte.ll
M llvm/test/CodeGen/MLRegAlloc/dev-mode-extra-features-logging.ll
M llvm/test/CodeGen/Mips/GlobalISel/irtranslator/var_arg.ll
M llvm/test/CodeGen/PowerPC/aix-alias.ll
A llvm/test/CodeGen/PowerPC/aix-cc-abi-mir.ll
M llvm/test/CodeGen/PowerPC/aix-cc-abi.ll
M llvm/test/CodeGen/PowerPC/aix-emit-tracebacktable-clobber-register.ll
M llvm/test/CodeGen/PowerPC/aix-extern-weak.ll
M llvm/test/CodeGen/PowerPC/aix-extern.ll
M llvm/test/CodeGen/PowerPC/aix-func-align.ll
M llvm/test/CodeGen/PowerPC/aix-personality-alias.ll
M llvm/test/CodeGen/PowerPC/aix-weak.ll
M llvm/test/CodeGen/PowerPC/aix-xcoff-data.ll
M llvm/test/CodeGen/PowerPC/aix-xcoff-funcsect.ll
M llvm/test/CodeGen/PowerPC/aix-xcoff-symbol-rename.ll
M llvm/test/CodeGen/PowerPC/rematerializable-instruction-machine-licm.ll
M llvm/test/CodeGen/PowerPC/test_func_desc.ll
A llvm/test/CodeGen/RISCV/65704-illegal-instruction.ll
A llvm/test/CodeGen/RISCV/GlobalISel/constantpool.ll
A llvm/test/CodeGen/RISCV/GlobalISel/iabs.ll
A llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/rotate-rv32.mir
A llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/rotate-rv64.mir
A llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/lower-args-vararg.ll
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-abs-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-abs-rv64.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-rotate-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-rotate-rv64.mir
M llvm/test/CodeGen/RISCV/O0-pipeline.ll
M llvm/test/CodeGen/RISCV/O3-pipeline.ll
M llvm/test/CodeGen/RISCV/calling-conv-ilp32-ilp32f-ilp32d-common.ll
M llvm/test/CodeGen/RISCV/calling-conv-lp64-lp64f-lp64d-common.ll
M llvm/test/CodeGen/RISCV/memcpy-inline.ll
M llvm/test/CodeGen/RISCV/memcpy.ll
M llvm/test/CodeGen/RISCV/memset-inline.ll
M llvm/test/CodeGen/RISCV/pr56110.ll
M llvm/test/CodeGen/RISCV/push-pop-popret.ll
A llvm/test/CodeGen/RISCV/reduce-unnecessary-extension.ll
M llvm/test/CodeGen/RISCV/riscv-codegenprepare-asm.ll
M llvm/test/CodeGen/RISCV/riscv-func-target-feature.ll
M llvm/test/CodeGen/RISCV/rvv/bitreverse-vp.ll
M llvm/test/CodeGen/RISCV/rvv/concat-vectors-constant-stride.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-load-combine.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-unaligned.ll
M llvm/test/CodeGen/RISCV/rvv/fshr-fshl-vp.ll
M llvm/test/CodeGen/RISCV/rvv/handle-noreg-with-implicit-def.mir
M llvm/test/CodeGen/RISCV/rvv/memcpy-inline.ll
M llvm/test/CodeGen/RISCV/rvv/memset-inline.ll
M llvm/test/CodeGen/RISCV/rvv/regalloc-fast-crash.ll
M llvm/test/CodeGen/RISCV/rvv/rv32-spill-zvlsseg.ll
M llvm/test/CodeGen/RISCV/rvv/rv64-spill-zvlsseg.ll
M llvm/test/CodeGen/RISCV/rvv/setcc-fp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/unaligned-loads-stores.ll
M llvm/test/CodeGen/RISCV/rvv/undef-earlyclobber-chain.mir
A llvm/test/CodeGen/RISCV/sextw-removal-debug.mir
M llvm/test/CodeGen/RISCV/unaligned-load-store.ll
M llvm/test/CodeGen/RISCV/vararg.ll
M llvm/test/CodeGen/SPIRV/EnqueueEmptyKernel.ll
A llvm/test/CodeGen/SPIRV/OpVariable_order.ll
M llvm/test/CodeGen/SPIRV/basic_int_types.ll
A llvm/test/CodeGen/SPIRV/basic_int_types_spirvdis.ll
M llvm/test/CodeGen/SPIRV/half_no_extension.ll
M llvm/test/CodeGen/SPIRV/linked-list.ll
M llvm/test/CodeGen/SPIRV/lit.local.cfg
M llvm/test/CodeGen/SPIRV/opencl/basic/vstore_private.ll
M llvm/test/CodeGen/SPIRV/opencl/device_execution/execute_block.ll
M llvm/test/CodeGen/SPIRV/pstruct.ll
M llvm/test/CodeGen/SPIRV/transcoding/BuildNDRange_2.ll
M llvm/test/CodeGen/SPIRV/transcoding/block_w_struct_return.ll
M llvm/test/CodeGen/SPIRV/transcoding/enqueue_kernel.ll
M llvm/test/CodeGen/SPIRV/transcoding/extract_insert_value.ll
M llvm/test/CodeGen/SPIRV/transcoding/global_block.ll
M llvm/test/CodeGen/SystemZ/atomicrmw-ops-i128.ll
M llvm/test/CodeGen/SystemZ/atomicrmw-xchg-07.ll
M llvm/test/CodeGen/SystemZ/vec-intrinsics-01.ll
M llvm/test/CodeGen/SystemZ/vec-intrinsics-02.ll
M llvm/test/CodeGen/SystemZ/vec-intrinsics-03.ll
M llvm/test/CodeGen/SystemZ/vec-intrinsics-04.ll
M llvm/test/CodeGen/SystemZ/vec-load-element.ll
A llvm/test/CodeGen/SystemZ/vec-rot-01.ll
A llvm/test/CodeGen/SystemZ/vec-rot-02.ll
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/fast-fp-loops.ll
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/mve-float-loops.ll
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/mve-tail-data-types.ll
M llvm/test/CodeGen/Thumb2/mve-blockplacement.ll
M llvm/test/CodeGen/Thumb2/mve-tailpred-loopinvariant.ll
M llvm/test/CodeGen/Thumb2/pacbti-m-vla.ll
M llvm/test/CodeGen/WebAssembly/unrolled-mem-indices.ll
A llvm/test/CodeGen/WebAssembly/wasm-eh-prepare.ll
R llvm/test/CodeGen/WebAssembly/wasmehprepare.ll
M llvm/test/CodeGen/WinEH/wineh-asm.ll
M llvm/test/CodeGen/WinEH/wineh-cloning.ll
M llvm/test/CodeGen/WinEH/wineh-demotion.ll
M llvm/test/CodeGen/WinEH/wineh-no-demotion.ll
M llvm/test/CodeGen/X86/2008-08-06-CmpStride.ll
M llvm/test/CodeGen/X86/MergeConsecutiveStores.ll
A llvm/test/CodeGen/X86/apx/kmov-kk.ll
M llvm/test/CodeGen/X86/atomic-unordered.ll
M llvm/test/CodeGen/X86/avx512-broadcast-unfold.ll
M llvm/test/CodeGen/X86/avx512vnni-combine.ll
M llvm/test/CodeGen/X86/avxvnni-combine.ll
M llvm/test/CodeGen/X86/code-model-elf-sections.ll
A llvm/test/CodeGen/X86/code-model-elf-text-sections.ll
M llvm/test/CodeGen/X86/code-model-elf.ll
M llvm/test/CodeGen/X86/combine-or.ll
M llvm/test/CodeGen/X86/fat-lto-section.ll
M llvm/test/CodeGen/X86/fold-pcmpeqd-2.ll
M llvm/test/CodeGen/X86/loop-strength-reduce4.ll
M llvm/test/CodeGen/X86/lsr-addrecloops.ll
M llvm/test/CodeGen/X86/lsr-loop-exit-cond.ll
M llvm/test/CodeGen/X86/merge_store.ll
A llvm/test/CodeGen/X86/nontemporal-4.ll
M llvm/test/CodeGen/X86/optimize-max-0.ll
M llvm/test/CodeGen/X86/pcsections.ll
A llvm/test/CodeGen/X86/preserve_mostcc64_win.ll
M llvm/test/CodeGen/X86/slow-unaligned-mem.ll
M llvm/test/CodeGen/X86/swifterror.ll
M llvm/test/CodeGen/X86/unused_stackslots.ll
M llvm/test/CodeGen/X86/vec_zero_cse.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-8.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.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-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-lzcnt-512.ll
M llvm/test/CodeGen/X86/zero-remat.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
M llvm/test/CodeGen/XCore/atomic.ll
A llvm/test/DebugInfo/Generic/mixed-source.ll
R llvm/test/DebugInfo/Inputs/dwarfdump-test3-decl.h
R llvm/test/DebugInfo/Inputs/dwarfdump-test3.cc
M llvm/test/DebugInfo/X86/debug-names-types.ll
M llvm/test/DebugInfo/XCOFF/empty.ll
M llvm/test/DebugInfo/XCOFF/explicit-section.ll
M llvm/test/DebugInfo/XCOFF/function-sections.ll
M llvm/test/ExecutionEngine/JITLink/AArch32/ELF_thumbv7_printf.s
A llvm/test/ExecutionEngine/JITLink/Generic/Inputs/main-ret-0.ll
A llvm/test/ExecutionEngine/JITLink/Generic/error-object-passed-as-archive.test
M llvm/test/ExecutionEngine/OrcLazy/debug-objects-elf-minimal.ll
M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/asan_instrument_constant_address_space.ll
M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/asan_instrument_generic_address_space.ll
M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/asan_instrument_global_address_space.ll
R llvm/test/MC/AArch64/SVE/armv9.5a-cpa.s
R llvm/test/MC/AArch64/armv9.5a-cpa.s
M llvm/test/MC/AArch64/basic-a64-diagnostics.s
M llvm/test/MC/AArch64/basic-a64-instructions.s
A llvm/test/MC/AMDGPU/gfx12_asm_smem.s
A llvm/test/MC/AMDGPU/gfx12_asm_sop1.s
A llvm/test/MC/AMDGPU/gfx12_asm_sop2.s
A llvm/test/MC/AMDGPU/gfx12_asm_sop2_alias.s
A llvm/test/MC/AMDGPU/gfx12_asm_sopc.s
A llvm/test/MC/AMDGPU/gfx12_asm_sopk.s
A llvm/test/MC/AMDGPU/gfx12_asm_sopk_alias.s
A llvm/test/MC/AMDGPU/gfx12_asm_sopp.s
A llvm/test/MC/AMDGPU/gfx12_asm_vimage.s
A llvm/test/MC/AMDGPU/gfx12_asm_vimage_alias.s
A llvm/test/MC/AMDGPU/gfx12_asm_vsample.s
A llvm/test/MC/AMDGPU/gfx12_err.s
A llvm/test/MC/AMDGPU/gfx12_unsupported.s
A llvm/test/MC/ARM/pcrel-adr16-relocs.s
A llvm/test/MC/ARM/pcrel-adr32-relocs.s
M llvm/test/MC/ARM/pcrel-arm-ldr-imm8-relocs.s
M llvm/test/MC/ARM/pcrel-global.s
M llvm/test/MC/ARM/pcrel-ldr-relocs.s
M llvm/test/MC/ARM/pcrel-thumb-ldr2-relocs.s
M llvm/test/MC/ARM/thumb1-relax-adr.s
R llvm/test/MC/Disassembler/AArch64/armv9.5a-cpa.txt
M llvm/test/MC/Disassembler/AArch64/basic-a64-instructions.txt
M llvm/test/MC/Disassembler/AMDGPU/decode-err.txt
A llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_smem.txt
A llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sop1.txt
A llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sop2.txt
A llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sopc.txt
A llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sopk.txt
A llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sopp.txt
A llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vimage.txt
A llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vsample.txt
M llvm/test/MC/Disassembler/SystemZ/insns-z13.txt
A llvm/test/MC/Disassembler/X86/apx/andn.txt
A llvm/test/MC/Disassembler/X86/apx/bextr.txt
A llvm/test/MC/Disassembler/X86/apx/blsi.txt
A llvm/test/MC/Disassembler/X86/apx/blsmsk.txt
A llvm/test/MC/Disassembler/X86/apx/blsr.txt
A llvm/test/MC/Disassembler/X86/apx/bzhi.txt
M llvm/test/MC/Disassembler/X86/apx/evex-format.txt
A llvm/test/MC/Disassembler/X86/apx/invept.txt
A llvm/test/MC/Disassembler/X86/apx/invvpid.txt
M llvm/test/MC/Disassembler/X86/apx/kmov.txt
A llvm/test/MC/Disassembler/X86/apx/mulx.txt
A llvm/test/MC/Disassembler/X86/apx/pdep.txt
A llvm/test/MC/Disassembler/X86/apx/pext.txt
A llvm/test/MC/Disassembler/X86/apx/rorx.txt
A llvm/test/MC/Disassembler/X86/apx/sarx.txt
A llvm/test/MC/Disassembler/X86/apx/shlx.txt
A llvm/test/MC/Disassembler/X86/apx/shrx.txt
A llvm/test/MC/PowerPC/ppc64-encoding-full-names.s
M llvm/test/MC/SystemZ/fixups.s
M llvm/test/MC/SystemZ/insn-good-z13.s
M llvm/test/MC/SystemZ/insn-good.s
A llvm/test/MC/X86/apx/andn-att.s
A llvm/test/MC/X86/apx/andn-intel.s
A llvm/test/MC/X86/apx/bextr-att.s
A llvm/test/MC/X86/apx/bextr-intel.s
A llvm/test/MC/X86/apx/blsi-att.s
A llvm/test/MC/X86/apx/blsi-intel.s
A llvm/test/MC/X86/apx/blsmsk-att.s
A llvm/test/MC/X86/apx/blsmsk-intel.s
A llvm/test/MC/X86/apx/blsr-att.s
A llvm/test/MC/X86/apx/blsr-intel.s
A llvm/test/MC/X86/apx/bzhi-att.s
A llvm/test/MC/X86/apx/bzhi-intel.s
M llvm/test/MC/X86/apx/evex-format-att.s
M llvm/test/MC/X86/apx/evex-format-intel.s
A llvm/test/MC/X86/apx/invept-att.s
A llvm/test/MC/X86/apx/invept-intel.s
A llvm/test/MC/X86/apx/invvpid-att.s
A llvm/test/MC/X86/apx/invvpid-intel.s
M llvm/test/MC/X86/apx/kmov-att.s
M llvm/test/MC/X86/apx/kmov-intel.s
A llvm/test/MC/X86/apx/mulx-att.s
A llvm/test/MC/X86/apx/mulx-intel.s
A llvm/test/MC/X86/apx/pdep-att.s
A llvm/test/MC/X86/apx/pdep-intel.s
A llvm/test/MC/X86/apx/pext-att.s
A llvm/test/MC/X86/apx/pext-intel.s
A llvm/test/MC/X86/apx/rorx-att.s
A llvm/test/MC/X86/apx/rorx-intel.s
A llvm/test/MC/X86/apx/sarx-att.s
A llvm/test/MC/X86/apx/sarx-intel.s
A llvm/test/MC/X86/apx/shlx-att.s
A llvm/test/MC/X86/apx/shlx-intel.s
A llvm/test/MC/X86/apx/shrx-att.s
A llvm/test/MC/X86/apx/shrx-intel.s
A llvm/test/Other/trigger-verifier-error.ll
M llvm/test/TableGen/x86-fold-tables.inc
M llvm/test/ThinLTO/X86/builtin-nostrip.ll
M llvm/test/ThinLTO/X86/deadstrip.ll
M llvm/test/ThinLTO/X86/distributed_indexes.ll
M llvm/test/ThinLTO/X86/memprof-duplicate-context-ids.ll
M llvm/test/Transforms/CodeGenPrepare/AArch64/large-offset-gep.ll
A llvm/test/Transforms/CodeGenPrepare/debug-info-on-skipped-selects.ll
M llvm/test/Transforms/ConstraintElimination/or.ll
A llvm/test/Transforms/Coroutines/coro-split-musttail-chain-pgo-counter-promo.ll
M llvm/test/Transforms/EmbedBitcode/embed.ll
M llvm/test/Transforms/GVN/captured-before.ll
A llvm/test/Transforms/GlobalOpt/globalvar-code-model.ll
M llvm/test/Transforms/IRCE/stride_more_than_1.ll
M llvm/test/Transforms/IndVarSimplify/ashr-tripcount.ll
M llvm/test/Transforms/IndVarSimplify/backedge-on-min-max.ll
M llvm/test/Transforms/IndVarSimplify/lcssa-preservation.ll
M llvm/test/Transforms/IndVarSimplify/no-iv-rewrite.ll
M llvm/test/Transforms/IndVarSimplify/pr58702-invalidate-scev-when-replacing-congruent-phis.ll
M llvm/test/Transforms/IndVarSimplify/pr64891.ll
M llvm/test/Transforms/InstCombine/2007-10-31-RangeCrash.ll
M llvm/test/Transforms/InstCombine/2009-02-20-InstCombine-SROA.ll
M llvm/test/Transforms/InstCombine/2010-11-01-lshr-mask.ll
M llvm/test/Transforms/InstCombine/add.ll
M llvm/test/Transforms/InstCombine/and-or-not.ll
M llvm/test/Transforms/InstCombine/and-or.ll
M llvm/test/Transforms/InstCombine/and.ll
M llvm/test/Transforms/InstCombine/apint-shift.ll
M llvm/test/Transforms/InstCombine/binop-and-shifts.ll
M llvm/test/Transforms/InstCombine/binop-of-displaced-shifts.ll
M llvm/test/Transforms/InstCombine/bitcast-inselt-bitcast.ll
M llvm/test/Transforms/InstCombine/bitreverse.ll
M llvm/test/Transforms/InstCombine/bswap.ll
M llvm/test/Transforms/InstCombine/cast-mul-select.ll
M llvm/test/Transforms/InstCombine/cast.ll
M llvm/test/Transforms/InstCombine/cast_phi.ll
M llvm/test/Transforms/InstCombine/free-inversion.ll
M llvm/test/Transforms/InstCombine/funnel.ll
M llvm/test/Transforms/InstCombine/icmp-binop.ll
M llvm/test/Transforms/InstCombine/icmp-mul-and.ll
M llvm/test/Transforms/InstCombine/icmp-mul-zext.ll
M llvm/test/Transforms/InstCombine/icmp-ne-pow2.ll
M llvm/test/Transforms/InstCombine/icmp-of-or-x.ll
M llvm/test/Transforms/InstCombine/icmp-of-xor-x.ll
M llvm/test/Transforms/InstCombine/icmp.ll
M llvm/test/Transforms/InstCombine/idioms.ll
M llvm/test/Transforms/InstCombine/known-non-zero.ll
M llvm/test/Transforms/InstCombine/logical-select.ll
M llvm/test/Transforms/InstCombine/masked-merge-add.ll
M llvm/test/Transforms/InstCombine/masked-merge-or.ll
M llvm/test/Transforms/InstCombine/masked-merge-xor.ll
M llvm/test/Transforms/InstCombine/memcpy-from-global.ll
M llvm/test/Transforms/InstCombine/minmax-of-xor-x.ll
M llvm/test/Transforms/InstCombine/mul-masked-bits.ll
M llvm/test/Transforms/InstCombine/mul.ll
M llvm/test/Transforms/InstCombine/mul_fold.ll
M llvm/test/Transforms/InstCombine/mul_full_32.ll
M llvm/test/Transforms/InstCombine/mul_full_64.ll
M llvm/test/Transforms/InstCombine/not.ll
M llvm/test/Transforms/InstCombine/or-concat.ll
M llvm/test/Transforms/InstCombine/or-shifted-masks.ll
M llvm/test/Transforms/InstCombine/or.ll
M llvm/test/Transforms/InstCombine/pr32686.ll
M llvm/test/Transforms/InstCombine/pr53357.ll
M llvm/test/Transforms/InstCombine/select-ctlz-to-cttz.ll
M llvm/test/Transforms/InstCombine/select-icmp-and.ll
M llvm/test/Transforms/InstCombine/select-with-bitwise-ops.ll
M llvm/test/Transforms/InstCombine/select.ll
M llvm/test/Transforms/InstCombine/shift-shift.ll
M llvm/test/Transforms/InstCombine/shift.ll
M llvm/test/Transforms/InstCombine/sink_instruction.ll
M llvm/test/Transforms/InstCombine/sub-of-negatible-inseltpoison.ll
M llvm/test/Transforms/InstCombine/sub-of-negatible.ll
M llvm/test/Transforms/InstCombine/trunc-demand.ll
M llvm/test/Transforms/InstCombine/trunc-inseltpoison.ll
M llvm/test/Transforms/InstCombine/trunc.ll
M llvm/test/Transforms/InstCombine/udiv-simplify.ll
M llvm/test/Transforms/InstCombine/unfold-masked-merge-with-const-mask-scalar.ll
M llvm/test/Transforms/InstCombine/unfold-masked-merge-with-const-mask-vector.ll
M llvm/test/Transforms/InstCombine/xor.ll
M llvm/test/Transforms/InstCombine/xor2.ll
M llvm/test/Transforms/InstCombine/zext-or-icmp.ll
M llvm/test/Transforms/InstSimplify/implies.ll
M llvm/test/Transforms/InstSimplify/select.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/complex-index.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/extended-index.ll
M llvm/test/Transforms/LoopIdiom/unroll-custom-dl.ll
M llvm/test/Transforms/LoopIdiom/unroll.ll
M llvm/test/Transforms/LoopInterchange/pr57148.ll
M llvm/test/Transforms/LoopReroll/basic32iters.ll
M llvm/test/Transforms/LoopReroll/indvar_with_ext.ll
M llvm/test/Transforms/LoopReroll/reduction.ll
M llvm/test/Transforms/LoopReroll/reroll_with_dbg.ll
A llvm/test/Transforms/LoopRotate/delete-dbg-values.ll
M llvm/test/Transforms/LoopStrengthReduce/ARM/complexity.ll
M llvm/test/Transforms/LoopStrengthReduce/ARM/ivchain-ARM.ll
M llvm/test/Transforms/LoopStrengthReduce/X86/ivchain-X86.ll
M llvm/test/Transforms/LoopStrengthReduce/X86/missing-phi-operand-update.ll
M llvm/test/Transforms/LoopUnroll/X86/high-cost-expansion.ll
M llvm/test/Transforms/LoopUnroll/peel-loop-conditions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/deterministic-type-shrinkage.ll
M llvm/test/Transforms/LoopVectorize/AArch64/loop-vectorization-factors.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll
M llvm/test/Transforms/LoopVectorize/AArch64/strict-fadd.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-masked-accesses.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-option.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/AArch64/type-shrinkage-insertelt.ll
A llvm/test/Transforms/LoopVectorize/AArch64/vector-call-linear-args.ll
M llvm/test/Transforms/LoopVectorize/AArch64/vector-reverse-mask4.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-reductions.ll
M llvm/test/Transforms/LoopVectorize/SystemZ/addressing.ll
M llvm/test/Transforms/LoopVectorize/X86/drop-poison-generating-flags.ll
M llvm/test/Transforms/LoopVectorize/X86/interleaving.ll
M llvm/test/Transforms/LoopVectorize/X86/pr47437.ll
M llvm/test/Transforms/LoopVectorize/X86/scatter_crash.ll
M llvm/test/Transforms/LoopVectorize/X86/small-size.ll
M llvm/test/Transforms/LoopVectorize/X86/x86-interleaved-accesses-masked-group.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/first-order-recurrence-sink-replicate-region.ll
M llvm/test/Transforms/LoopVectorize/float-induction.ll
M llvm/test/Transforms/LoopVectorize/if-conversion-nest.ll
M llvm/test/Transforms/LoopVectorize/induction.ll
M llvm/test/Transforms/LoopVectorize/interleaved-accesses-masked-group.ll
M llvm/test/Transforms/LoopVectorize/interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/pr39099.ll
A llvm/test/Transforms/LoopVectorize/preserve-or-disjoint.ll
M llvm/test/Transforms/LoopVectorize/reduction-with-invariant-store.ll
M llvm/test/Transforms/LoopVectorize/reduction.ll
M llvm/test/Transforms/LoopVectorize/runtime-check.ll
M llvm/test/Transforms/LoopVectorize/scalable-loop-unpredicated-body-scalar-tail.ll
M llvm/test/Transforms/LoopVectorize/scalable-trunc-min-bitwidth.ll
M llvm/test/Transforms/LoopVectorize/trunc-shifts.ll
M llvm/test/Transforms/LoopVectorize/unroll_nonlatch.ll
M llvm/test/Transforms/LoopVectorize/vplan-dot-printing.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing.ll
M llvm/test/Transforms/LowerTypeTests/aarch64-jumptable.ll
A llvm/test/Transforms/LowerTypeTests/cfi-nounwind-direct-call.ll
A llvm/test/Transforms/LowerTypeTests/cfi-unwind-direct-call.ll
M llvm/test/Transforms/LowerTypeTests/function-arm-thumb.ll
M llvm/test/Transforms/LowerTypeTests/function-thumb-bti.ll
M llvm/test/Transforms/LowerTypeTests/function.ll
M llvm/test/Transforms/LowerTypeTests/x86-jumptable.ll
A llvm/test/Transforms/PGOProfile/Inputs/memprof_internal_linkage.exe
A llvm/test/Transforms/PGOProfile/Inputs/memprof_internal_linkage.memprofraw
M llvm/test/Transforms/PGOProfile/Inputs/update_memprof_inputs.sh
M llvm/test/Transforms/PGOProfile/chr.ll
M llvm/test/Transforms/PGOProfile/indirectbr.ll
A llvm/test/Transforms/PGOProfile/memprof_internal_linkage.ll
M llvm/test/Transforms/PhaseOrdering/X86/SROA-after-final-loop-unrolling-2.ll
M llvm/test/Transforms/PhaseOrdering/X86/loadcombine.ll
M llvm/test/Transforms/PhaseOrdering/X86/pixel-splat.ll
M llvm/test/Transforms/PhaseOrdering/X86/simplifycfg-late.ll
M llvm/test/Transforms/PhaseOrdering/X86/vdiv.ll
M llvm/test/Transforms/PhaseOrdering/loop-rotation-vs-common-code-hoisting.ll
M llvm/test/Transforms/Reassociate/add-like-or.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/loadorder.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/scalarization-overhead.ll
M llvm/test/Transforms/SLPVectorizer/NVPTX/v2f16.ll
M llvm/test/Transforms/SLPVectorizer/X86/compare-reduce.ll
M llvm/test/Transforms/SLPVectorizer/X86/consecutive-access.ll
M llvm/test/Transforms/SLPVectorizer/X86/delayed-gather-emission.ll
A llvm/test/Transforms/SLPVectorizer/X86/gathered-delayed-nodes-with-reused-user.ll
M llvm/test/Transforms/SLPVectorizer/X86/hoist.ll
M llvm/test/Transforms/SLPVectorizer/X86/horizontal.ll
M llvm/test/Transforms/SLPVectorizer/X86/in-tree-user.ll
M llvm/test/Transforms/SLPVectorizer/X86/loopinvariant.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduction.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduction2.ll
M llvm/test/Transforms/SLPVectorizer/X86/remark_horcost.ll
M llvm/test/Transforms/SLPVectorizer/X86/remark_not_all_parts.ll
M llvm/test/Transforms/SLPVectorizer/X86/scheduling.ll
M llvm/test/Transforms/SLPVectorizer/X86/simple-loop.ll
M llvm/test/Transforms/SLPVectorizer/X86/slp-throttle.ll
M llvm/test/Transforms/SampleProfile/branch.ll
M llvm/test/Transforms/SampleProfile/calls.ll
M llvm/test/Transforms/SampleProfile/discriminator.ll
M llvm/test/Transforms/SampleProfile/fnptr.ll
M llvm/test/Transforms/SampleProfile/fsafdo_test.ll
M llvm/test/Transforms/SampleProfile/offset.ll
M llvm/test/Transforms/SampleProfile/profile-inference-even-count-distribution.ll
M llvm/test/Transforms/SampleProfile/profile-inference-rebalance-large.ll
M llvm/test/Transforms/SampleProfile/profile-inference-rebalance.ll
M llvm/test/Transforms/SampleProfile/profile-inference.ll
M llvm/test/Transforms/SampleProfile/propagate.ll
M llvm/test/Transforms/SampleProfile/remap.ll
M llvm/test/Transforms/SimpleLoopUnswitch/2007-08-01-LCSSA.ll
M llvm/test/Transforms/SimplifyCFG/merge-cond-stores.ll
M llvm/test/Transforms/TailCallElim/accum_recursion.ll
A llvm/test/Transforms/TailCallElim/tre-minmax-intrinsic.ll
A llvm/test/Verifier/branch-prot-attrs.ll
M llvm/test/lit.site.cfg.py.in
M llvm/test/tools/UpdateTestChecks/update_analyze_test_checks/Inputs/branch-probability-analysis.ll.expected
A llvm/test/tools/llvm-exegesis/X86/latency/subprocess-rsp.s
A llvm/test/tools/llvm-mca/RISCV/SiFive7/div-fdiv.s
M llvm/test/tools/llvm-mca/RISCV/SiFive7/gpr-bypass-c.s
M llvm/test/tools/llvm-mca/RISCV/SiFive7/gpr-bypass.s
M llvm/test/tools/llvm-mca/RISCV/SiFive7/reductions.s
M llvm/test/tools/llvm-mca/RISCV/SiFive7/strided-load-x0.s
M llvm/test/tools/llvm-mca/RISCV/SiFive7/vector-integer-arithmetic.s
M llvm/test/tools/llvm-mca/RISCV/different-lmul-instruments.s
M llvm/test/tools/llvm-mca/RISCV/different-sew-instruments.s
M llvm/test/tools/llvm-mca/RISCV/disable-im.s
M llvm/test/tools/llvm-mca/RISCV/fractional-lmul-data.s
M llvm/test/tools/llvm-mca/RISCV/lmul-instrument-at-start.s
M llvm/test/tools/llvm-mca/RISCV/lmul-instrument-in-middle.s
M llvm/test/tools/llvm-mca/RISCV/lmul-instrument-in-region.s
M llvm/test/tools/llvm-mca/RISCV/lmul-instrument-straddles-region.s
M llvm/test/tools/llvm-mca/RISCV/multiple-same-lmul-instruments.s
M llvm/test/tools/llvm-mca/RISCV/multiple-same-sew-instruments.s
M llvm/test/tools/llvm-mca/RISCV/needs-sew-but-only-lmul.s
M llvm/test/tools/llvm-mca/RISCV/no-vsetvli-to-start.s
M llvm/test/tools/llvm-mca/RISCV/sew-instrument-at-start.s
M llvm/test/tools/llvm-mca/RISCV/sew-instrument-in-middle.s
M llvm/test/tools/llvm-mca/RISCV/sew-instrument-in-region.s
M llvm/test/tools/llvm-mca/RISCV/sew-instrument-straddles-region.s
M llvm/test/tools/llvm-mca/RISCV/vle-vse.s
M llvm/test/tools/llvm-mca/RISCV/vsetivli-lmul-instrument.s
M llvm/test/tools/llvm-mca/RISCV/vsetivli-lmul-sew-instrument.s
M llvm/test/tools/llvm-mca/RISCV/vsetvli-lmul-instrument.s
M llvm/test/tools/llvm-mca/RISCV/vsetvli-lmul-sew-instrument.s
M llvm/test/tools/llvm-readobj/ELF/reloc-types-loongarch64.test
M llvm/tools/lli/ChildTarget/ChildTarget.cpp
M llvm/tools/lli/lli.cpp
M llvm/tools/llvm-c-test/echo.cpp
M llvm/tools/llvm-cfi-verify/lib/FileAnalysis.h
M llvm/tools/llvm-cfi-verify/lib/GraphBuilder.h
M llvm/tools/llvm-dwarfutil/Error.h
M llvm/tools/llvm-dwarfutil/Options.h
M llvm/tools/llvm-dwp/Opts.td
M llvm/tools/llvm-dwp/llvm-dwp.cpp
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/BenchmarkResult.h
M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
M llvm/tools/llvm-exegesis/lib/MCInstrDescView.cpp
M llvm/tools/llvm-exegesis/lib/SchedClassResolution.cpp
M llvm/tools/llvm-exegesis/lib/SnippetGenerator.cpp
M llvm/tools/llvm-exegesis/lib/SnippetRepetitor.cpp
M llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink.h
M llvm/tools/llvm-lto/llvm-lto.cpp
M llvm/tools/llvm-objcopy/ObjcopyOptions.cpp
M llvm/tools/llvm-objcopy/ObjcopyOptions.h
M llvm/tools/llvm-objcopy/llvm-objcopy.cpp
M llvm/tools/llvm-objdump/llvm-objdump.cpp
M llvm/tools/llvm-pdbutil/DumpOutputStyle.h
M llvm/tools/llvm-pdbutil/ExplainOutputStyle.h
M llvm/tools/llvm-pdbutil/PrettyClassDefinitionDumper.h
M llvm/tools/llvm-profdata/llvm-profdata.cpp
M llvm/tools/llvm-profgen/CallContext.h
M llvm/tools/llvm-profgen/PerfReader.h
M llvm/tools/llvm-profgen/ProfiledBinary.h
M llvm/tools/llvm-rc/ResourceScriptStmt.h
M llvm/tools/llvm-rc/ResourceScriptToken.h
M llvm/tools/llvm-readobj/llvm-readobj.h
M llvm/tools/llvm-reduce/ReducerWorkItem.cpp
M llvm/tools/llvm-reduce/deltas/Delta.cpp
M llvm/tools/llvm-reduce/deltas/Delta.h
M llvm/tools/llvm-reduce/deltas/ReduceAttributes.cpp
M llvm/tools/llvm-reduce/deltas/ReduceDIMetadata.cpp
M llvm/tools/llvm-reduce/deltas/ReduceFunctions.cpp
M llvm/tools/llvm-reduce/deltas/ReduceMetadata.cpp
M llvm/tools/llvm-reduce/llvm-reduce.cpp
M llvm/tools/llvm-remarkutil/RemarkCounter.h
M llvm/tools/llvm-xray/xray-account.h
A llvm/tools/spirv-tools/CMakeLists.txt
M llvm/tools/vfabi-demangle-fuzzer/vfabi-demangler-fuzzer.cpp
M llvm/unittests/ADT/CombinationGeneratorTest.cpp
M llvm/unittests/Analysis/ValueTrackingTest.cpp
M llvm/unittests/Analysis/VectorFunctionABITest.cpp
M llvm/unittests/Analysis/VectorUtilsTest.cpp
M llvm/unittests/DebugInfo/DWARF/DwarfGenerator.h
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
M llvm/unittests/IR/BasicBlockDbgInfoTest.cpp
M llvm/unittests/IR/DebugInfoTest.cpp
M llvm/unittests/IR/InstructionsTest.cpp
M llvm/unittests/IR/VectorBuilderTest.cpp
M llvm/unittests/Object/ELFTest.cpp
M llvm/unittests/Support/AddressRangeTest.cpp
M llvm/unittests/Support/DivisionByConstantTest.cpp
M llvm/unittests/Support/RegexTest.cpp
M llvm/unittests/Target/RISCV/RISCVInstrInfoTest.cpp
M llvm/unittests/TargetParser/TargetParserTest.cpp
M llvm/unittests/TextAPI/CMakeLists.txt
A llvm/unittests/TextAPI/RecordTests.cpp
M llvm/unittests/Transforms/Utils/BasicBlockUtilsTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanHCFGTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
M llvm/unittests/XRay/FDRProducerConsumerTest.cpp
M llvm/unittests/tools/llvm-exegesis/Mips/SnippetGeneratorTest.cpp
M llvm/unittests/tools/llvm-exegesis/PowerPC/SnippetGeneratorTest.cpp
M llvm/unittests/tools/llvm-exegesis/X86/SnippetFileTest.cpp
M llvm/utils/TableGen/RISCVTargetDefEmitter.cpp
M llvm/utils/UpdateTestChecks/common.py
M llvm/utils/git/github-automation.py
M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/modernize/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/Format/BUILD.gn
M llvm/utils/gn/secondary/clang/unittests/Format/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Breakpoint/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Analysis/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Target/BPF/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/TextAPI/BUILD.gn
M llvm/utils/gn/secondary/llvm/test/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/TextAPI/BUILD.gn
M llvm/utils/lit/lit/TestRunner.py
M llvm/utils/lit/tests/Inputs/testrunner-custom-parsers/test.txt
M llvm/utils/lit/tests/unit/TestRunner.py
M mlir/benchmark/python/common.py
M mlir/docs/Dialects/ArmSME.md
M mlir/docs/Dialects/Mesh.md
M mlir/examples/toy/Ch7/include/toy/Dialect.h
M mlir/include/mlir/Conversion/ArmSMEToLLVM/ArmSMEToLLVM.h
M mlir/include/mlir/Dialect/Arith/IR/ArithOps.td
M mlir/include/mlir/Dialect/ArmSME/Transforms/Passes.h
M mlir/include/mlir/Dialect/ArmSME/Transforms/Passes.td
M mlir/include/mlir/Dialect/DLTI/DLTI.h
M mlir/include/mlir/Dialect/GPU/IR/GPUDialect.h
M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMEnums.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMTypes.h
M mlir/include/mlir/Dialect/LLVMIR/LLVMTypes.td
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/include/mlir/Dialect/Linalg/IR/LinalgNamedStructuredOps.yaml
M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
M mlir/include/mlir/Dialect/Mesh/IR/MeshOps.td
M mlir/include/mlir/Dialect/Quant/QuantTypes.h
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVAttributes.h
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVTypes.h
M mlir/include/mlir/Dialect/Shape/IR/ShapeOps.td
M mlir/include/mlir/Dialect/SparseTensor/IR/Enums.h
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensor.h
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorType.h
M mlir/include/mlir/Dialect/Tensor/IR/TensorOps.td
M mlir/include/mlir/Dialect/Tensor/TransformOps/TensorTransformOps.td
M mlir/include/mlir/Dialect/Tensor/Transforms/Transforms.h
M mlir/include/mlir/Dialect/Transform/IR/TransformInterfaces.h
M mlir/include/mlir/Dialect/Utils/StaticValueUtils.h
M mlir/include/mlir/Dialect/Vector/Transforms/VectorTransforms.h
M mlir/include/mlir/Dialect/Vector/Utils/VectorUtils.h
M mlir/include/mlir/ExecutionEngine/SparseTensor/Storage.h
M mlir/include/mlir/IR/AttrTypeBase.td
M mlir/include/mlir/IR/AttributeSupport.h
M mlir/include/mlir/IR/BuiltinAttributes.h
M mlir/include/mlir/IR/BuiltinAttributes.td
M mlir/include/mlir/IR/BuiltinLocationAttributes.td
M mlir/include/mlir/IR/BuiltinTypes.td
M mlir/include/mlir/IR/TypeSupport.h
M mlir/include/mlir/TableGen/AttrOrTypeDef.h
M mlir/include/mlir/Target/LLVMIR/Dialect/All.h
A mlir/include/mlir/Target/LLVMIR/Dialect/SPIRV/SPIRVToLLVMIRTranslation.h
M mlir/include/mlir/Target/LLVMIR/ModuleTranslation.h
M mlir/lib/CAPI/Dialect/AMDGPU.cpp
M mlir/lib/Conversion/ArithToLLVM/ArithToLLVM.cpp
M mlir/lib/Conversion/ArmSMEToLLVM/ArmSMEToLLVM.cpp
M mlir/lib/Conversion/ArmSMEToSCF/ArmSMEToSCF.cpp
M mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
M mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
M mlir/lib/Conversion/NVGPUToNVVM/NVGPUToNVVM.cpp
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp
M mlir/lib/Conversion/VectorToArmSME/VectorToArmSME.cpp
M mlir/lib/Conversion/VectorToSCF/VectorToSCF.cpp
R mlir/lib/Dialect/ArmSME/Transforms/ArmSMETypeConverter.cpp
M mlir/lib/Dialect/ArmSME/Transforms/CMakeLists.txt
M mlir/lib/Dialect/ArmSME/Transforms/EnableArmStreaming.cpp
M mlir/lib/Dialect/Bufferization/IR/BufferizationOps.cpp
M mlir/lib/Dialect/Bufferization/Transforms/BufferDeallocationSimplification.cpp
M mlir/lib/Dialect/Complex/IR/ComplexOps.cpp
M mlir/lib/Dialect/GPU/CMakeLists.txt
M mlir/lib/Dialect/LLVMIR/IR/LLVMAttrs.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/lib/Dialect/Mesh/IR/CMakeLists.txt
M mlir/lib/Dialect/Mesh/IR/MeshOps.cpp
M mlir/lib/Dialect/NVGPU/TransformOps/NVGPUTransformOps.cpp
M mlir/lib/Dialect/SCF/IR/SCF.cpp
M mlir/lib/Dialect/SCF/Transforms/LoopPipelining.cpp
M mlir/lib/Dialect/Shape/IR/Shape.cpp
M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/CodegenEnv.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/CodegenEnv.h
M mlir/lib/Dialect/SparseTensor/Transforms/LoopEmitter.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/LoopEmitter.h
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorCodegen.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorDescriptor.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorDescriptor.h
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparsificationAndBufferizationPass.cpp
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/lib/Dialect/Tensor/TransformOps/TensorTransformOps.cpp
M mlir/lib/Dialect/Tensor/Transforms/CMakeLists.txt
A mlir/lib/Dialect/Tensor/Transforms/ConcatOpPatterns.cpp
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaInferShapes.cpp
M mlir/lib/Dialect/Transform/IR/TransformInterfaces.cpp
M mlir/lib/Dialect/Utils/StaticValueUtils.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorTranspose.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorTransferOpTransforms.cpp
M mlir/lib/Dialect/Vector/Utils/VectorUtils.cpp
M mlir/lib/ExecutionEngine/CudaRuntimeWrappers.cpp
M mlir/lib/ExecutionEngine/SparseTensor/Storage.cpp
M mlir/lib/IR/Builders.cpp
M mlir/lib/IR/ExtensibleDialect.cpp
M mlir/lib/IR/MLIRContext.cpp
M mlir/lib/IR/Verifier.cpp
M mlir/lib/TableGen/AttrOrTypeDef.cpp
M mlir/lib/Target/LLVMIR/CMakeLists.txt
M mlir/lib/Target/LLVMIR/DebugImporter.cpp
M mlir/lib/Target/LLVMIR/DebugImporter.h
M mlir/lib/Target/LLVMIR/DebugTranslation.cpp
M mlir/lib/Target/LLVMIR/DebugTranslation.h
M mlir/lib/Target/LLVMIR/Dialect/CMakeLists.txt
M mlir/lib/Target/LLVMIR/Dialect/GPU/SelectObjectAttr.cpp
M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
A mlir/lib/Target/LLVMIR/Dialect/SPIRV/CMakeLists.txt
A mlir/lib/Target/LLVMIR/Dialect/SPIRV/SPIRVToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
M mlir/python/mlir/_mlir_libs/__init__.py
M mlir/python/mlir/dialects/affine.py
M mlir/python/mlir/dialects/linalg/opdsl/ops/core_named_ops.py
M mlir/test/CMakeLists.txt
M mlir/test/Conversion/ArithToLLVM/arith-to-llvm.mlir
M mlir/test/Conversion/ArmSMEToSCF/arm-sme-to-scf.mlir
M mlir/test/Conversion/GPUCommon/lower-memory-space-attrs.mlir
M mlir/test/Conversion/NVGPUToNVVM/nvgpu-to-nvvm.mlir
M mlir/test/Conversion/NVVMToLLVM/invalid.mlir
M mlir/test/Conversion/NVVMToLLVM/nvvm-to-llvm.mlir
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-named.mlir
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-resize.mlir
M mlir/test/Dialect/Arith/ops.mlir
M mlir/test/Dialect/ArmSME/arith-ops-to-sme.mlir
M mlir/test/Dialect/ArmSME/enable-arm-streaming.mlir
M mlir/test/Dialect/ArmSME/vector-ops-to-sme.mlir
M mlir/test/Dialect/Complex/invalid.mlir
M mlir/test/Dialect/LLVMIR/debuginfo.mlir
M mlir/test/Dialect/LLVMIR/func.mlir
M mlir/test/Dialect/LLVMIR/global.mlir
M mlir/test/Dialect/LLVMIR/roundtrip.mlir
M mlir/test/Dialect/Linalg/canonicalize.mlir
M mlir/test/Dialect/Linalg/named-ops.mlir
M mlir/test/Dialect/Linalg/transform-ops.mlir
M mlir/test/Dialect/Linalg/transform-patterns.mlir
A mlir/test/Dialect/Linalg/vectorize-convolution-flatten.mlir
M mlir/test/Dialect/MemRef/canonicalize.mlir
M mlir/test/Dialect/SCF/loop-pipelining.mlir
M mlir/test/Dialect/Shape/canonicalize.mlir
M mlir/test/Dialect/SparseTensor/sparse_conv_2d_slice_based.mlir
M mlir/test/Dialect/Tensor/canonicalize.mlir
A mlir/test/Dialect/Tensor/decompose-concat.mlir
M mlir/test/Dialect/Tensor/invalid.mlir
M mlir/test/Dialect/Tensor/ops.mlir
M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
M mlir/test/Dialect/Transform/test-pattern-application.mlir
M mlir/test/Dialect/Vector/vector-contract-to-outerproduct-matvec-transforms.mlir
M mlir/test/Dialect/Vector/vector-emulate-narrow-type.mlir
M mlir/test/Dialect/Vector/vector-transfer-drop-unit-dims-patterns.mlir
M mlir/test/Dialect/Vector/vector-transfer-flatten.mlir
M mlir/test/IR/test-clone.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSVE/matmul.mlir
R mlir/test/Integration/Dialect/Linalg/CPU/ArmSVE/matmul_mixed_ty.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conv_2d.mlir
A mlir/test/Integration/Dialect/Tosa/CPU/test-fully-connected.mlir
A mlir/test/Integration/GPU/SYCL/gpu-addf32-to-spirv.mlir
A mlir/test/Integration/GPU/SYCL/gpu-addi64-to-spirv.mlir
A mlir/test/Integration/GPU/SYCL/gpu-reluf32-to-spirv.mlir
A mlir/test/Integration/GPU/SYCL/lit.local.cfg
M mlir/test/Target/LLVMIR/Import/debug-info.ll
A mlir/test/Target/LLVMIR/Import/frame-pointer.ll
M mlir/test/Target/LLVMIR/Import/global-variables.ll
A mlir/test/Target/LLVMIR/Import/target-features.ll
A mlir/test/Target/LLVMIR/frame-pointer.mlir
M mlir/test/Target/LLVMIR/gpu.mlir
M mlir/test/Target/LLVMIR/llvmir-debug.mlir
M mlir/test/Target/LLVMIR/llvmir-invalid.mlir
M mlir/test/Target/LLVMIR/llvmir.mlir
M mlir/test/Target/LLVMIR/nvvmir.mlir
A mlir/test/Target/LLVMIR/target-features.mlir
M mlir/test/Transforms/loop-invariant-code-motion.mlir
M mlir/test/lib/Dialect/Test/TestTypes.h
M mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp
M mlir/test/lib/IR/TestClone.cpp
M mlir/test/lit.cfg.py
M mlir/test/lit.site.cfg.py.in
M mlir/test/mlir-tblgen/attrdefs.td
M mlir/test/mlir-tblgen/op-attribute.td
M mlir/test/mlir-tblgen/op-decl-and-defs.td
M mlir/test/mlir-tblgen/typedefs.td
M mlir/test/python/dialects/affine.py
M mlir/tools/mlir-tblgen/AttrOrTypeDefGen.cpp
A mlir/unittests/Dialect/ArmSME/CMakeLists.txt
A mlir/unittests/Dialect/ArmSME/TileTypeConversionTest.cpp
M mlir/unittests/Dialect/CMakeLists.txt
M mlir/unittests/IR/CMakeLists.txt
A mlir/unittests/IR/TypeAttrNamesTest.cpp
M mlir/unittests/IR/TypeTest.cpp
M mlir/unittests/Interfaces/DataLayoutInterfacesTest.cpp
M openmp/docs/design/Runtimes.rst
M openmp/libomptarget/CMakeLists.txt
M openmp/libomptarget/DeviceRTL/CMakeLists.txt
A openmp/libomptarget/include/DeviceImage.h
A openmp/libomptarget/include/OffloadEntry.h
A openmp/libomptarget/include/OffloadPolicy.h
M openmp/libomptarget/include/OpenMP/Mapping.h
A openmp/libomptarget/include/PluginManager.h
M openmp/libomptarget/include/Shared/APITypes.h
M openmp/libomptarget/include/Shared/Debug.h
A openmp/libomptarget/include/Shared/EnvironmentVar.h
M openmp/libomptarget/include/Shared/PluginAPI.h
A openmp/libomptarget/include/Shared/PluginAPI.inc
M openmp/libomptarget/include/Shared/Profile.h
A openmp/libomptarget/include/Shared/Requirements.h
M openmp/libomptarget/include/Shared/Utils.h
M openmp/libomptarget/include/device.h
M openmp/libomptarget/include/omptarget.h
M openmp/libomptarget/include/rtl.h
M openmp/libomptarget/plugins-nextgen/amdgpu/dynamic_hsa/hsa_ext_amd.h
M openmp/libomptarget/plugins-nextgen/amdgpu/src/rtl.cpp
M openmp/libomptarget/plugins-nextgen/common/include/GlobalHandler.h
M openmp/libomptarget/plugins-nextgen/common/include/JIT.h
M openmp/libomptarget/plugins-nextgen/common/include/MemoryManager.h
M openmp/libomptarget/plugins-nextgen/common/include/PluginInterface.h
M openmp/libomptarget/plugins-nextgen/common/src/GlobalHandler.cpp
M openmp/libomptarget/plugins-nextgen/common/src/PluginInterface.cpp
M openmp/libomptarget/plugins-nextgen/common/src/RPC.cpp
M openmp/libomptarget/plugins-nextgen/cuda/src/rtl.cpp
M openmp/libomptarget/src/CMakeLists.txt
A openmp/libomptarget/src/DeviceImage.cpp
M openmp/libomptarget/src/OpenMP/InteropAPI.cpp
A openmp/libomptarget/src/PluginManager.cpp
M openmp/libomptarget/src/api.cpp
M openmp/libomptarget/src/device.cpp
M openmp/libomptarget/src/interface.cpp
M openmp/libomptarget/src/omptarget.cpp
M openmp/libomptarget/src/rtl.cpp
A openmp/libomptarget/test/Inputs/declare_indirect_func.c
M openmp/libomptarget/test/lit.cfg
M openmp/libomptarget/test/lit.site.cfg.in
M openmp/libomptarget/test/offloading/barrier_fence.c
M openmp/libomptarget/test/offloading/ctor_dtor.cpp
M openmp/libomptarget/test/offloading/fortran/target_map_common_block.f90
M openmp/libomptarget/test/offloading/requires.c
A openmp/libomptarget/test/offloading/shared_lib_fp_mapping.c
M openmp/runtime/src/kmp_gsupport.cpp
M openmp/runtime/src/kmp_os.h
M openmp/runtime/src/kmp_runtime.cpp
R openmp/runtime/src/kmp_utils.h
A openmp/runtime/test/misc_bugs/omp_nothing.c
R polly/include/polly/CodeGen/CodegenCleanup.h
M polly/lib/External/isl/interface/extract_interface.cc
M polly/test/CodeGen/MemAccess/create_arrays_heap.ll
M polly/test/ForwardOpTree/out-of-quota1.ll
M polly/test/JSONExporter/ImportArrays/ImportArrays-Negative-size.ll
M polly/test/ScopInfo/multi-scop.ll
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/__support/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/math/libc_math_test_rules.bzl
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
[𝘀𝗽𝗿] changes introduced through rebase
Created using spr 1.3.5
[skip ci]
Compare: https://github.com/llvm/llvm-project/compare/4d46c334a0d3...aae7e2a7f77a
More information about the All-commits
mailing list