[all-commits] [llvm/llvm-project] dd0d95: [clang][bytecode] Support vector-to-vector bitcast...
Fangrui Song via All-commits
all-commits at lists.llvm.org
Tue Dec 3 00:14:10 PST 2024
Branch: refs/heads/users/MaskRay/spr/elf-rename-target-specific-relexpr-enumerators
Home: https://github.com/llvm/llvm-project
Commit: dd0d9561b8945d4128814bd7eda1bc470a1552f7
https://github.com/llvm/llvm-project/commit/dd0d9561b8945d4128814bd7eda1bc470a1552f7
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
A clang/test/AST/ByteCode/altivec.c
M clang/test/AST/ByteCode/vectors.cpp
Log Message:
-----------
[clang][bytecode] Support vector-to-vector bitcasts (#118230)
Commit: 08c1a6b3e181c3af019b18489139bfe4b03d9d08
https://github.com/llvm/llvm-project/commit/08c1a6b3e181c3af019b18489139bfe4b03d9d08
Author: Lang Hames <lhames at gmail.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/Core.cpp
M llvm/unittests/ExecutionEngine/Orc/CoreAPIsTest.cpp
Log Message:
-----------
Revert "[ORC] Track all dependencies on symbols that aren't Ready yet."
This reverts commit 427fb5cc5ac34414c4682c90d3db0c63c5a1b227 while I investigate
the bot failure in https://lab.llvm.org/buildbot/#/builders/95/builds/6835.
Commit: eaa6cc547e7300b122efbbaf8940ee9d15f7964c
https://github.com/llvm/llvm-project/commit/eaa6cc547e7300b122efbbaf8940ee9d15f7964c
Author: Shankhin <44582011+firestrike007 at users.noreply.github.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M libc/src/__support/threads/linux/rwlock.h
Log Message:
-----------
Fixes #118231: Corrected spelling mistake in has_acitive_owner function (#118266)
Fixes #118231
- Updated the method name to `has_active_owner` in
`llvm-project/libc/src/__support/threads/linux/rwlock.h`
- Verified usage and updated all references to the method.
- Ran tests:
- `check-llvm-unit`
- `check-all`
Commit: 979a0356d4c90ec855be4f2d2f6687132cf10298
https://github.com/llvm/llvm-project/commit/979a0356d4c90ec855be4f2d2f6687132cf10298
Author: Veera <32646674+veera-sivarajan at users.noreply.github.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M clang/test/CodeGen/attr-counted-by.c
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
A llvm/test/Transforms/InstCombine/canonicalize-const-to-bop.ll
M llvm/test/Transforms/InstCombine/minmax-fold.ll
M llvm/test/Transforms/InstCombine/saturating-add-sub.ll
M llvm/test/Transforms/InstCombine/select.ll
M llvm/test/Transforms/InstCombine/unsigned_saturated_sub.ll
Log Message:
-----------
[InstCombine] Fold `X Pred C2 ? X BOp C1 : C2 BOp C1` to `min/max(X, C2) BOp C1` (#116888)
Fixes #82414.
General Proof: https://alive2.llvm.org/ce/z/ERjNs4
Proof for Tests: https://alive2.llvm.org/ce/z/K-934G
This PR transforms `select` instructions of the form `select (Cmp X C1)
(BOp X C2) C3` to `BOp (min/max X C1) C2` iff `C3 == BOp C1 C2`.
This helps in eliminating a noop loop in
https://github.com/rust-lang/rust/issues/123845 but does not improve
optimizations.
Commit: 7bbc049688a1586827d87ad8e2fc7cb3638ef2fc
https://github.com/llvm/llvm-project/commit/7bbc049688a1586827d87ad8e2fc7cb3638ef2fc
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/test/Transforms/InstCombine/select-value-equivalence.ll
Log Message:
-----------
[InstCombine] Consolidate another fold into select value equivalence (#117746)
We had a separate fold that handled just the trivial case where we're
replacing exactly the argument of the select. Handle this in select
value equivalence by relaxing the infinite loop protection to allow a
replacement of a non-constant with a constant.
This also fixes https://github.com/llvm/llvm-project/issues/113301, as
the separate fold did not handle undef values correctly.
Commit: 770adc56097342d3478c1b3b6d3e67cdf6d2c93e
https://github.com/llvm/llvm-project/commit/770adc56097342d3478c1b3b6d3e67cdf6d2c93e
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M clang/lib/Sema/SemaAttr.cpp
M clang/test/AST/attr-lifetime-capture-by.cpp
Log Message:
-----------
[clang] Infer lifetime_capture_by for map's subscript operator. (#118078)
Commit: a545cf5c6da6decbde95287f95e1ffce40116d23
https://github.com/llvm/llvm-project/commit/a545cf5c6da6decbde95287f95e1ffce40116d23
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M flang/include/flang/Optimizer/Builder/HLFIRTools.h
M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
M flang/lib/Optimizer/HLFIR/Transforms/BufferizeHLFIR.cpp
A flang/test/HLFIR/eval_in_mem-codegen.fir
A flang/test/HLFIR/eval_in_mem.fir
M flang/test/HLFIR/invalid.fir
Log Message:
-----------
[flang][hlfir] add hlfir.eval_in_mem operation (#118067)
See HLFIROps.td change for the description of the operation.
The goal is to ease temporary storage elision for expression evaluation
(typically evaluating the RHS directly inside the LHS) for expressions
that do not have abtsractions in HLFIR and for which it is not clear
adding one would bring much. The case that is implemented in [the
following lowering
patch](https://github.com/llvm/llvm-project/pull/118070) is the array
call case, where adding a new hlfir.call would add complexity (needs to
deal with dispatch, inlining ....).
Commit: 8201926ec0a61ea182e3b25c23e3dbaae6036dbf
https://github.com/llvm/llvm-project/commit/8201926ec0a61ea182e3b25c23e3dbaae6036dbf
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/test/Transforms/InstSimplify/compare.ll
M llvm/test/Transforms/InstSimplify/icmp-monotonic.ll
Log Message:
-----------
[InstSimplify] Generalize simplification of icmps with monotonic operands (#69471)
InstSimplify currently folds patterns like `(x | y) uge x` and `(x & y)
ule x` to true. However, it cannot handle combinations of such
situations, such as `(x | y) uge (x & z)` etc.
To support this, recursively collect operands of monotonic instructions
(that preserve either a greater-or-equal or less-or-equal relationship)
and then check whether any of them match.
Fixes https://github.com/llvm/llvm-project/issues/69333.
Commit: 54fcf3ec26ad192e91b6ac924f6d3eb562e3647d
https://github.com/llvm/llvm-project/commit/54fcf3ec26ad192e91b6ac924f6d3eb562e3647d
Author: antangelo <contact at antangelo.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/lib/Parse/ParseDecl.cpp
M clang/test/CXX/drs/cwg722.cpp
A clang/test/Parser/cxx2c-oxford-variadic-comma.cpp
M clang/www/cxx_status.html
Log Message:
-----------
[clang] Implement P3176R1: The Oxford variadic comma (#117524)
Emit a deprecation warning when a variadic parameter in a
parameter-declaration-clause is not preceded by a comma for C++26.
Commit: 4851dbb8d6f1c00ad382ff4780293ca9a743c609
https://github.com/llvm/llvm-project/commit/4851dbb8d6f1c00ad382ff4780293ca9a743c609
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonPatterns.td
A llvm/test/CodeGen/Hexagon/addrmode-neg-offset.ll
Log Message:
-----------
[Hexagon] Use getSignedConstant for RoundTo8 XForm
To handle negative offset addrmodes correctly.
Fixes https://github.com/llvm/llvm-project/pull/117558#issuecomment-2510208764.
Commit: 98e747ba56b2f8b51a7c797a3f379d02c545c42b
https://github.com/llvm/llvm-project/commit/98e747ba56b2f8b51a7c797a3f379d02c545c42b
Author: Pedro Lobo <pedro.lobo at tecnico.ulisboa.pt>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M clang/lib/CodeGen/CGCall.cpp
M clang/test/CodeGen/AArch64/pure-scalable-args.c
M clang/test/CodeGen/AArch64/sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.cpp
M clang/test/CodeGen/AArch64/sve-vls-arith-ops.c
M clang/test/CodeGen/AArch64/sve-vls-bitwise-ops.c
M clang/test/CodeGen/AArch64/sve-vls-compare-ops.c
M clang/test/CodeGen/AArch64/sve-vls-shift-ops.c
M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-cast.c
M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-codegen.c
M clang/test/CodeGen/RISCV/rvv-vls-arith-ops.c
M clang/test/CodeGen/RISCV/rvv-vls-bitwise-ops.c
M clang/test/CodeGen/RISCV/rvv-vls-compare-ops.c
M clang/test/CodeGen/RISCV/rvv-vls-shift-ops.c
M clang/test/CodeGen/attr-arm-sve-vector-bits-cast.c
M clang/test/CodeGen/attr-arm-sve-vector-bits-codegen.c
Log Message:
-----------
[clang] Use poison instead of undef as the placeholder when creating a new vector [NFC] (#117064)
Call `@llvm.vector.insert` with a `poison` vector when coercing a fixed
vector to a scalable vector with the same element type.
Commit: 7be501c1d3b3153e08603670873e1b3b700c9598
https://github.com/llvm/llvm-project/commit/7be501c1d3b3153e08603670873e1b3b700c9598
Author: Balázs Kéri <balazs.keri at ericsson.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M clang/lib/AST/ASTImporter.cpp
M clang/unittests/AST/ASTImporterTest.cpp
Log Message:
-----------
[clang][ASTImporter] Allow import of similar friend template with different depth (#115734)
This fix applies to a case that occurs when the AST contains a friend
template that is contained within another template and this (outer)
template has specialization. (See the added test code in the commit.)
Commit: 9cbbf15db925c8d588b998487115a46250954dc1
https://github.com/llvm/llvm-project/commit/9cbbf15db925c8d588b998487115a46250954dc1
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIAnnotateControlFlow.cpp
Log Message:
-----------
[AMDGPU] Only insert intrinsic declarations when needed (#117998)
Commit: 085e7d2b22876ebc03948a0690580e0189cddcc1
https://github.com/llvm/llvm-project/commit/085e7d2b22876ebc03948a0690580e0189cddcc1
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
R bolt/CODE_OWNERS.TXT
A bolt/Maintainers.txt
M llvm/Maintainers.md
Log Message:
-----------
[bolt] Move CODE_OWNERS.txt to Maintainers.txt (#118082)
To align with: https://llvm.org/docs/DeveloperPolicy.html#maintainers
I have not changed the format of the file, my only goal here is that the
project have a `bolt/Maintainers.*` so it is easy to find.
Commit: fec0eb4c3ef2a1fa2e0e413b0ea4871ee0bcebd1
https://github.com/llvm/llvm-project/commit/fec0eb4c3ef2a1fa2e0e413b0ea4871ee0bcebd1
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
R compiler-rt/CODE_OWNERS.TXT
A compiler-rt/Maintainers.txt
M llvm/Maintainers.md
Log Message:
-----------
[compiler-rt] Move CODE_OWNERS.txt to Maintainers.txt (#118086)
To align with https://llvm.org/docs/DeveloperPolicy.html#maintainers
No format change, I just want each project to have a `Maintainers.*`
file so it is easy to find.
Commit: df10f1c6f79a77e45e44c62974a186decb0f1f33
https://github.com/llvm/llvm-project/commit/df10f1c6f79a77e45e44c62974a186decb0f1f33
Author: Luke Lau <luke at igalia.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
Log Message:
-----------
[RISCV] Use getRISCVInstructionCost for split cost in mask reductions. NFC
This is effectively the same due to how the mask instructions have an
LMUL of 1 and cost of 1, but matches how we use LT.first elsewhere in
RISCVTargetTransformInfo.cpp by using it to multiply another
instruction cost.
Commit: 51003076ebc1ccc0cf339f9d96b2cfec84ab867c
https://github.com/llvm/llvm-project/commit/51003076ebc1ccc0cf339f9d96b2cfec84ab867c
Author: Paschalis Mpeis <paschalis.mpeis at arm.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/lib/Profile/DataAggregator.cpp
M bolt/unittests/Core/CMakeLists.txt
A bolt/unittests/Core/MemoryMaps.cpp
M llvm/utils/gn/secondary/bolt/unittests/Core/BUILD.gn
Log Message:
-----------
Reapply [BOLT] DataAggregator support for binaries with multiple text segments (#118023)
When a binary has multiple text segments, the Size is computed as the
difference of the last address of these segments from the BaseAddress.
The base addresses of all text segments must be the same.
Introduces flag 'perf-script-events' for testing, which allows passing
perf events without BOLT having to parse them by invoking 'perf script'.
The flag is used to pass a mock perf profile that has two memory
mappings for a mock binary that has two text segments. The mapping
size is updated as `parseMMapEvents` now processes all text segments.
Commit: 7a7a426188eea0b181738436205759e13ad6fd7b
https://github.com/llvm/llvm-project/commit/7a7a426188eea0b181738436205759e13ad6fd7b
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M llvm/lib/Analysis/LazyValueInfo.cpp
M llvm/test/Transforms/CorrelatedValuePropagation/vectors.ll
Log Message:
-----------
[LVI] Fix insertelement of constexpr
Bail out when evaluating an insertelement of a constant expression.
Unlike other ValueLattice kinds, these don't have implicit splat
semantics and we end up with type mismatches. If we actually wanted
to handle these, we should actually evaluate the insertion via
constant folding. I'm not bothering with that, as these should
get constant folded on construction already.
Commit: 5248e1d4e1ee950d1703ec57141257b02446dd67
https://github.com/llvm/llvm-project/commit/5248e1d4e1ee950d1703ec57141257b02446dd67
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
A llvm/test/CodeGen/AArch64/stack-hazard-windows.ll
M llvm/test/CodeGen/AArch64/stack-hazard.ll
Log Message:
-----------
[AArch64] Fix frame-pointer offset with hazard padding (#118091)
The `-aarch64-stack-hazard-size=<val>` option disables register paring
(as the hazard padding may mean the offset is too large for STP/LDP).
This broke setting the frame-pointer offset, as the code to find the
frame record looked for a (FP, LR) register pair.
This patch resolves this by looking for FP, LR as two unpaired registers
when hazard padding is enabled.
Commit: ede570980a2534c4a21850777b92505c02924416
https://github.com/llvm/llvm-project/commit/ede570980a2534c4a21850777b92505c02924416
Author: LiqinWeng <liqin.weng at spacemit.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll
Log Message:
-----------
[RISCV][TTI] Add llvm.vp.select into canSplatOperand. (#117982)
The second operand of llvm.vp.select is a splat operand , it can help
llvm.vp.select fold vv instructions to vx instructions.
Commit: fe1c4f0106fe4fd6d61c38ba46e71fda8f4d1573
https://github.com/llvm/llvm-project/commit/fe1c4f0106fe4fd6d61c38ba46e71fda8f4d1573
Author: Andrzej Warzynski <andrzej.warzynski at arm.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
Log Message:
-----------
[mlir][vector][nfc] Remove redundant "`"
Commit: 34d4cd8208b9378d5ec00f256d8ea898162430be
https://github.com/llvm/llvm-project/commit/34d4cd8208b9378d5ec00f256d8ea898162430be
Author: Kerry McLaughlin <kerry.mclaughlin at arm.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M clang/lib/AST/ItaniumMangle.cpp
A clang/test/CodeGenCXX/aarch64-mangle-sme-atts.cpp
Log Message:
-----------
[Clang][AArch64] Include SME attributes in the name mangling of function types (#114209)
Similar to arm_sve_vector_bits, the mangling of function types is
implemented as a pseudo template if there are any SME attributes
present, i.e.
`__SME_ATTRS<normal_function_type, sme_state>`
For example, the following function:
`void f(svint8_t (*fn)() __arm_streaming) { fn(); }`
would be mangled as:
`_Z1fP11__SME_ATTRSIFu10__SVInt8_tELj1EE`
See https://github.com/ARM-software/acle/pull/358
Commit: 541d5d911119d0268bc55fa1367ada5ef25f99c1
https://github.com/llvm/llvm-project/commit/541d5d911119d0268bc55fa1367ada5ef25f99c1
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
Log Message:
-----------
[clang][bytecode][NFC] Reject invalid FromTypes in emitBuiltinBitcast (#118274)
instead of silently accepting them and failing later.
Commit: 6f285d31159501050de5563b1a844a3e1ac79a03
https://github.com/llvm/llvm-project/commit/6f285d31159501050de5563b1a844a3e1ac79a03
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
A llvm/test/CodeGen/AArch64/zeroing-forms-fcvt-bfcvt.ll
Log Message:
-----------
[AArch64] Generate zeroing forms of certain SVE2.2 instructions (2/11) (#116828)
SVE2.2 introduces instructions with predicated forms with zeroing of
the inactive lanes. This allows in some cases to save a `movprfx` or
a `mov` instruction when emitting code for `_x` or `_z` variants of
intrinsics.
This patch adds support for emitting the zeroing forms of certain
`FCVT`, and `BFCVT` instructions.
Commit: 3348b4688f570d5be3180f80c888325958c37db7
https://github.com/llvm/llvm-project/commit/3348b4688f570d5be3180f80c888325958c37db7
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M compiler-rt/lib/builtins/cpu_model/x86.c
M llvm/lib/TargetParser/Host.cpp
Log Message:
-----------
[X86][compiler-rt] Split CPU names even they have the same subtype (#118237)
Fixes: #118205
Commit: f8ce2e4bb38609033098714a467e25abe5b1f9d4
https://github.com/llvm/llvm-project/commit/f8ce2e4bb38609033098714a467e25abe5b1f9d4
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
Log Message:
-----------
[Matrix] Only retrieve analyses if there are any matrix intrinsics (NFC)
Only request analyses if there are any matrix intrinics to avoid
computing them if there are no matrix intrinsics.
Commit: 50c66e52f8946bc66147f615b1beaffff620e69e
https://github.com/llvm/llvm-project/commit/50c66e52f8946bc66147f615b1beaffff620e69e
Author: David Green <david.green at arm.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/concat-vector.ll
Log Message:
-----------
[AArch64] Add tests for concat(extract-high, extract-high). NFC
Commit: f5bc6b47e856ec4b44026bb82bfbe244afcc1d98
https://github.com/llvm/llvm-project/commit/f5bc6b47e856ec4b44026bb82bfbe244afcc1d98
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M llvm/test/Transforms/PhaseOrdering/SystemZ/sub-xor.ll
Log Message:
-----------
[PhaseOrdering] Remove -enable-matrix flag from sub-xor.ll test.
The test does not use matrix intrinsics, so does not need enable-matrix.
Commit: e6eac65ad6aa2c61475d65f13d6d938d0e3a7728
https://github.com/llvm/llvm-project/commit/e6eac65ad6aa2c61475d65f13d6d938d0e3a7728
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M llvm/test/CodeGen/ARM/2012-03-13-DAGCombineBug.ll
Log Message:
-----------
[ARM] 2012-03-13-DAGCombineBug.ll - regenerate checks
Commit: 9a34a4f8d668b72868fde3b6a58bb3a57d72c0c9
https://github.com/llvm/llvm-project/commit/9a34a4f8d668b72868fde3b6a58bb3a57d72c0c9
Author: dlav-sc <daniil.avdeev at syntacore.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M lldb/packages/Python/lldbsuite/test/lldbtest.py
Log Message:
-----------
[lldb] fix fd leak during lldb testsuite (#118093)
During lldb testing dotest.py opens files to dump testcase results, but
doesn't close them.
This patch makes necessary changes to fix the file descriptors leak.
Commit: 4930f69b78e215c60eb53e25596599c2f98b6564
https://github.com/llvm/llvm-project/commit/4930f69b78e215c60eb53e25596599c2f98b6564
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/pr50609.ll
Log Message:
-----------
[X86] canonicalizeShuffleWithOp - add initial shuffle(sint_to_fp(x)) -> sint_to_fp(shuffle(x)) handling
Another tentative step towards folding shuffles through conversion ops - initially limited to cases where the src/dst types are matching width.
Commit: 0611fdd32046c41647a7719252166033f7bce2f2
https://github.com/llvm/llvm-project/commit/0611fdd32046c41647a7719252166033f7bce2f2
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
Log Message:
-----------
[clang][bytecode] Add simple __builtin_memcpy implementation (#118278)
Not handling all the special- and error cases yet. Just making sure the
bitcast code can be used for this as well.
Commit: 16ec534989a7ec0f67b694c3b9b21914794d8aef
https://github.com/llvm/llvm-project/commit/16ec534989a7ec0f67b694c3b9b21914794d8aef
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstCombine/fpclass-from-dom-cond.ll
Log Message:
-----------
[ValueTracking] Handle and/or of conditions in `computeKnownFPClassFromContext` (#118257)
Fix a typo introduced by
https://github.com/llvm/llvm-project/pull/83161.
This patch also supports decomposition of and/or expressions in
`computeKnownFPClassFromContext`.
Compile-time improvement:
http://llvm-compile-time-tracker.com/compare.php?from=688bb432c4b618de69a1d0e7807077a22f15762a&to=07493fc354b686f0aca79d6f817091a757bd7cd5&stat=instructions:u
Commit: c1dcf75a7cf8840ddf20b622148c4ab0c3b16943
https://github.com/llvm/llvm-project/commit/c1dcf75a7cf8840ddf20b622148c4ab0c3b16943
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M clang/lib/AST/ByteCode/Integral.h
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
Log Message:
-----------
[clang][bytecode] Implement __builtin_reduce_mul (#118287)
Commit: e48c7fe49f8575b7737d07ac5a71d1fc924d37f7
https://github.com/llvm/llvm-project/commit/e48c7fe49f8575b7737d07ac5a71d1fc924d37f7
Author: Devajith <devajith.valaparambil.sreeramaswamy at cern.ch>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M llvm/include/llvm/LineEditor/LineEditor.h
M llvm/lib/LineEditor/LineEditor.cpp
Log Message:
-----------
Reland '[lineeditor] Add `setHistorySize()` method for adjusting history size' (#115442)
Reland: https://github.com/llvm/llvm-project/pull/110092
Buildbot was failing due to an unused variable warning as there were 2
implementations (with and without libedit). Compared to last version,
wrap the variable inside the `#ifdef HAVE_LIBEDIT`.
Apologies for the oversight @vgvassilev
Commit: ccc471fe3eb825db76ec4248c4d0dfe447aa04b1
https://github.com/llvm/llvm-project/commit/ccc471fe3eb825db76ec4248c4d0dfe447aa04b1
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
Log Message:
-----------
[clang][bytecode] Implement __builtin_reduce_and (#118289)
Commit: da23a8372cd37e1a6280e9e0519bc0be60e2c209
https://github.com/llvm/llvm-project/commit/da23a8372cd37e1a6280e9e0519bc0be60e2c209
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M llvm/lib/Support/FormattedStream.cpp
Log Message:
-----------
[FormattedStream] Add ASCII fast path (#117892)
Printing IR spends a large amount of time updating the column count via
generic UTF-8 APIs. Speed it up by adding a fast path for the common
printable ASCII case.
This makes `-print-on-crash -print-module-scope` about two times faster.
Commit: cbb49d4be676a251ca140db92aa2788dd5514569
https://github.com/llvm/llvm-project/commit/cbb49d4be676a251ca140db92aa2788dd5514569
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M flang/include/flang/Optimizer/CodeGen/Target.h
M flang/lib/Optimizer/CodeGen/Target.cpp
M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
M flang/test/Fir/target-rewrite-boxchar.fir
M flang/test/Fir/target.fir
Log Message:
-----------
[flang][fir] fix ABI bug 116844 (#118121)
Fix issue #116844.
The issue came from a look-up on the func.func for the sret attribute
when lowering fir.call with character arguments. This was broken because
the func.func may or may not have been rewritten when dealing with the
fir.call, but the lookup assumed it had not been rewritten yet. If the
func.func was rewritten and the result moved to a sret argument, the
call was lowered as if the character was meant to be the result, leading
to bad call code and an assert.
It turns out that the whole logic is actually useless since fir.boxchar
are never lowered as sret arguments, instead, lowering directly breaks
the character result into the first two `fir.ref<>, i64` arguments. So,
the sret case was actually never used, except in this bug.
Hence, instead of fixing the logic (probably by looking for argument
attributes on the call itself), just remove this logic that brings
unnecessary complexity.
Commit: c2950982fe481091df91a06e59ab8a86af71509e
https://github.com/llvm/llvm-project/commit/c2950982fe481091df91a06e59ab8a86af71509e
Author: A. Jiang <de34 at live.cn>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/docs/Status/Cxx2cPapers.csv
Log Message:
-----------
[libc++] Add Wroclaw straw polls (#118116)
Commit: 2474cf7ad123ea14308293a2237e3552cddb1136
https://github.com/llvm/llvm-project/commit/2474cf7ad123ea14308293a2237e3552cddb1136
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
A llvm/test/CodeGen/AArch64/zeroing-forms-fcvtlt-fcvtx.ll
Log Message:
-----------
[AArch64] Generate zeroing forms of certain SVE2.2 instructions (3/11) (#116829)
SVE2.2 introduces instructions with predicated forms with zeroing of
the inactive lanes. This allows in some cases to save a `movprfx` or
a `mov` instruction when emitting code for `_x` or `_z` variants of
intrinsics.
This patch adds support for emitting the zeroing forms of certain
`FCVTLT`, and `FCVTX` instructions.
Commit: 94488445cdd1657d1363a4994393b193c291b2cc
https://github.com/llvm/llvm-project/commit/94488445cdd1657d1363a4994393b193c291b2cc
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
A flang/test/Lower/OpenMP/DelayedPrivatization/wsloop.f90
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
Log Message:
-----------
[flang][MLIR] Support delayed privatization for `wsloop` (PFT -> MLIR) (#118271)
Adds PFT to MLIR lowering for delayed privatization of `omp.wsloop` ops.
Lowering to LLVM IR will be added in a later PR.
Commit: cdbd22876b71acad9e5eeceadc0d8859e6e73b18
https://github.com/llvm/llvm-project/commit/cdbd22876b71acad9e5eeceadc0d8859e6e73b18
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M flang/examples/FeatureList/FeatureList.cpp
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Semantics/openmp-modifiers.h
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Lower/OpenMP/Clauses.h
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/openmp-modifiers.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/test/Parser/OpenMP/allocators-unparse.f90
M flang/test/Semantics/OpenMP/allocate-clause01.f90
M flang/test/Semantics/OpenMP/allocators01.f90
M flang/test/Semantics/OpenMP/allocators04.f90
M flang/test/Semantics/OpenMP/allocators05.f90
M flang/test/Semantics/OpenMP/allocators06.f90
M flang/test/Semantics/OpenMP/resolve06.f90
M llvm/include/llvm/Frontend/OpenMP/ClauseT.h
M llvm/unittests/Frontend/OpenMPDecompositionTest.cpp
Log Message:
-----------
[flang][OpenMP] Use new modifiers in ALLOCATE clause (#117627)
Again, this simplifies the semantic checks and lowering quite a bit.
Update the check for positive alignment to use a more informative
message, and to highlight the modifier itsef, not the whole clause.
Remove the checks for the allocator expression itself being positive:
there is nothing in the spec that says that it should be positive.
Remove the "simple" modifier from the AllocateT template, since both
simple and complex modifiers are the same thing, only differing in
syntax.
Commit: 61a58fc676297756519412ddc1dfab6a75207b70
https://github.com/llvm/llvm-project/commit/61a58fc676297756519412ddc1dfab6a75207b70
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
Log Message:
-----------
[flang] remove unused var after #118121 (#118295)
Fix https://lab.llvm.org/buildbot/#/builders/89/builds/11704
Commit: 39337ff2dc366fde83b07193b72c294a846c5959
https://github.com/llvm/llvm-project/commit/39337ff2dc366fde83b07193b72c294a846c5959
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/test/CodeGen/AMDGPU/hazards-gfx950.mir
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.pk.gfx950.ll
M llvm/test/CodeGen/AMDGPU/materialize-frame-index-sgpr.ll
Log Message:
-----------
AMDGPU: Handle cvt_scale F32/F16->F4/F8 gfx950 hazard (#117844)
gfx950 SP changes doc says:
No 4 clk forwarding on opcodes that convert from
F32/F16->F8 or F32/F16->F4. Must insert a NOP or
instruction writing some other destination VREG
after a conversion to F4/F8 since it writes either
low/high half or bytes.
Co-authored-by: Pravin Jagtap <Pravin.Jagtap at amd.com>
Co-authored-by: Jeffrey Byrnes <Jeffrey.Byrnes at amd.com>
Commit: 1288f6d405768f57bf2d2fd5914c5a20f902f5d6
https://github.com/llvm/llvm-project/commit/1288f6d405768f57bf2d2fd5914c5a20f902f5d6
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
Log Message:
-----------
[clang][bytecode] Implement __builtin_reduce_or (#118292)
Commit: eae30a240e34e1fd31b57096a1b8bdbd8b84352d
https://github.com/llvm/llvm-project/commit/eae30a240e34e1fd31b57096a1b8bdbd8b84352d
Author: Chris Apple <cja-private at pm.me>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp
M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp
A compiler-rt/test/rtsan/syscall.cpp
Log Message:
-----------
[rtsan] Add syscall interceptor (#118250)
This is a complex one - `syscall` is used when people want to bypass
libc and make the call directly
However, this call:
* Has a variable amount of arguments (up to 6, typically)
* Has arguments that can be any type, (think of whatever arguments go in
to the libc call, or see more details here
https://syscalls.mebeim.net/?table=x86/64/x64/latest)
I've tried to put in a couple tests to ensure we aren't mucking with the
underlying functionality and they seem to be working.
Commit: b587b910d5b6fd27f4730ad933a8465528d6f5be
https://github.com/llvm/llvm-project/commit/b587b910d5b6fd27f4730ad933a8465528d6f5be
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
Log Message:
-----------
[clang][bytecode] Implement __builtin_reduce_xor (#118299)
Commit: 03b5f8f0f0d10c412842ed04b90e2217cf071218
https://github.com/llvm/llvm-project/commit/03b5f8f0f0d10c412842ed04b90e2217cf071218
Author: Mats Petersson <mats.petersson at arm.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
A flang/test/Lower/OpenMP/Todo/atomic-compare.f90
A flang/test/Parser/OpenMP/atomic-compare.f90
M flang/test/Parser/OpenMP/atomic-unparse.f90
A flang/test/Semantics/OpenMP/atomic-compare.f90
M flang/test/Semantics/OpenMP/atomic.f90
Log Message:
-----------
[flang][OpenMP]Add parsing and semantics support for ATOMIC COMPARE (#117032)
This adds a minimalistic implementation of parsing and semantics for the
ATOMIC COMPARE feature from OpenMP 5.1.
There is no lowering, just a TODO for that part. Some of the Semantics
is also just a comment explaining that more is needed.
Commit: 40fb74a8ff23c0ff042b5e80b330882b7a625e43
https://github.com/llvm/llvm-project/commit/40fb74a8ff23c0ff042b5e80b330882b7a625e43
Author: Brox Chen <guochen2 at amd.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/GlobalISel/mul.ll
M llvm/test/CodeGen/AMDGPU/mul.i16.ll
Log Message:
-----------
[AMDGPU][True16][CodeGen] V_MUL_LO_U16 true16 test (#118118)
This is a NFC. Update and eable V_MUL_LO_U16 codegen test for
true16/fake16 flow
Commit: aa7fe1c10e5d6d0d3aacdb345fed995de413e142
https://github.com/llvm/llvm-project/commit/aa7fe1c10e5d6d0d3aacdb345fed995de413e142
Author: Nathan Gauër <brioche at google.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M clang/include/clang/Basic/AddressSpaces.h
M clang/lib/AST/TypePrinter.cpp
M clang/lib/Basic/TargetInfo.cpp
M clang/lib/Basic/Targets/AArch64.h
M clang/lib/Basic/Targets/AMDGPU.cpp
M clang/lib/Basic/Targets/DirectX.h
M clang/lib/Basic/Targets/NVPTX.h
M clang/lib/Basic/Targets/SPIR.h
M clang/lib/Basic/Targets/SystemZ.h
M clang/lib/Basic/Targets/TCE.h
M clang/lib/Basic/Targets/WebAssembly.h
M clang/lib/Basic/Targets/X86.h
M clang/test/SemaTemplate/address_space-dependent.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.h
A llvm/test/CodeGen/SPIRV/pointers/global-addrspacecast.ll
A llvm/test/CodeGen/SPIRV/pointers/variables-storage-class-vk.ll
M llvm/test/CodeGen/SPIRV/pointers/variables-storage-class.ll
Log Message:
-----------
[SPIR-V] Fixup storage class for global private (#116636)
Adds a new address spaces: `hlsl_private`. Variables with such address
space will be emitted with a `Private` storage class.
This is useful for variables global to a SPIR-V module, since up to now,
they were still emitted with a `Function` storage class, which is wrong.
---------
Signed-off-by: Nathan Gauër <brioche at google.com>
Commit: 4ad4d34a226043a5d594b261a9c2a50efd292a76
https://github.com/llvm/llvm-project/commit/4ad4d34a226043a5d594b261a9c2a50efd292a76
Author: Oleksandr T. <oleksandr.tarasiuk at outlook.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/test/CXX/temp/temp.deduct.guide/p3.cpp
Log Message:
-----------
Revert [Clang] prevent errors for deduction guides using deduced type aliases (#118165)
Reverts https://github.com/llvm/llvm-project/pull/117450
---
Revert https://github.com/llvm/llvm-project/pull/117450 because the
prior behavior aligns with the standard - _`template-name`_ in the
_`simple-template-id`_ in the return type shall be the actual name of a
class template rather than some equivalent alias template. Details
https://github.com/llvm/llvm-project/issues/54909#issuecomment-2508418355.
Commit: 608f4ae113f94b0c4a9b3c944a2aa9f115a805b4
https://github.com/llvm/llvm-project/commit/608f4ae113f94b0c4a9b3c944a2aa9f115a805b4
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M flang/examples/FeatureList/FeatureList.cpp
M flang/examples/FlangOmpReport/FlangOmpReportVisitor.cpp
M flang/examples/FlangOmpReport/FlangOmpReportVisitor.h
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/test/Parser/OpenMP/bind-clause.f90
M flang/test/Parser/OpenMP/declare_target-device_type.f90
M flang/test/Parser/OpenMP/proc-bind.f90
M flang/test/Parser/OpenMP/target-loop-unparse.f90
Log Message:
-----------
[flang][OpenMP] Rename some `Type` members in OpenMP clauses (#117784)
The intent is to keep names in sync with the terminology from the OpenMP
spec:
```
OmpBindClause::Type -> Binding
OmpDefaultClause::Type -> DataSharingAttribute
OmpDeviceTypeClause::Type -> DeviceTypeDescription
OmpProcBindClause::Type -> AffinityPolicy
```
Add more comments with references to the OpenMP specs.
Commit: b27d97bef782a8405e80e7b9f60b44d0537f43b6
https://github.com/llvm/llvm-project/commit/b27d97bef782a8405e80e7b9f60b44d0537f43b6
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/test/Dialect/Tensor/invalid.mlir
Log Message:
-----------
[mlir][tensor] Add test for invalid tensor.unpack + update error msg (#118275)
Adds a new test for invalid `tensor.unpack` operations where the output
rank does not match the expected rank (input rank + num inner tile
sizes). For example:
```mlir
tensor.unpack %output
inner_dims_pos = [0, 1]
inner_tiles = [32, 16]
into %input : tensor<64x32x16xf32> -> tensor<256x128xf32>
```
In addition, updates the corresponding error message to make it more
informative:
BEFORE:
```mlir
error: packed rank must equal unpacked rank + tiling factors}
```
AFTER:
```mlir
error: packed rank != (unpacked rank + num tiling factors), got 3 != 4
```
Commit: b343f3f3faf5b732cc19c9c51d392389677477ce
https://github.com/llvm/llvm-project/commit/b343f3f3faf5b732cc19c9c51d392389677477ce
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h
M clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
Log Message:
-----------
[analyzer][NFC] Cleanup BranchNodeBuilder (#117898)
Previously `BranchNodeBuilder` had a machinery to mark the two possible
branches (true, false) as infeasible, but this was completely useless in
practice, because the `BranchNodeBuilder` objects where short-lived
local variables so the `markInfeasible()` calls did not affect any later
calls.
The only theoretical exception was that in `ExprEngine::processBranch`
the methods of `BranchNodeBuilder` were called within a `for` loop that
iterates over the nodes created by the `check::BranchCondition`
callbacks.
However, currently only two checkers listen to `check::BranchCondition`
and neither of them produces multiple out nodes. This is fortunate,
because if the `for` loop had multiple iterations, then the lingering
effects of `markInfeasible()` would have caused wildly incorrect
behavior.
_For example, let's assume that a hypothetical `check::BranchCondition`
callback transitions to two different states, and the condition
expression happens to be true in the first and false in the second. In
this situation the first iteration of the loop would mark the false
branch as 'infeasible' and then in the second iteration the analyzer
would skip creating the transition to the false branch (from the state
where that is the 'right' path forward)._
After removing `markInfeasible()`, it became clear that the
`isFeasible()` calls in `ExprEngine::processBranch` are redundant
because they only guarded a `generateNode` call -- which immediately
calls `isFeasible()` and does nothing on an infeasible branch.
At this point in the refactoring the only code writing the feasibility
data members is their initialization in the constructors of
`BranchNodeBuilder` and the only code reading them is the check at the
beginning of `BranchNodeBuilder::generateNode`, so it was
straightforward to remove them completely and simplify the logic of
`generateNode()` to let it directly check the nullness of the
`CFGBlock*` pointer that it wants to use.
Finally, after these changes it became clear that in
`ExprEngine::processBranch` the `else` branch
(corresponding to the case when `assumeCondition` fails) is equivalent
to the "normal" case, so I eliminated it as well.
I also update the capitalization of a few variables that are already
affected by this change.
Commit: 637a1ae85538554b98973861802e842fc30d0f91
https://github.com/llvm/llvm-project/commit/637a1ae85538554b98973861802e842fc30d0f91
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
Log Message:
-----------
[clang][bytecode] Implement __builtin_elementwise_popcount (#118307)
Commit: 21d27b3aabf3d06f7e8b1002b34bb467f6ab66d8
https://github.com/llvm/llvm-project/commit/21d27b3aabf3d06f7e8b1002b34bb467f6ab66d8
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
A llvm/test/Transforms/LoopUnroll/AArch64/apple-unrolling.ll
Log Message:
-----------
[LoopUnroll] Add tests for loop unrolling on Apple platforms.
Add first set of tests where runtime unrolling can be highly beneficial
on Apple Silicon CPUs.
Commit: 97f94af3560d3ae046f6c3d7ec74b03d1d2493d0
https://github.com/llvm/llvm-project/commit/97f94af3560d3ae046f6c3d7ec74b03d1d2493d0
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M .github/workflows/docs.yml
Log Message:
-----------
[Github] Upload built docs as artifact from test build docs job (#118159)
This patch makes the test documentation build job upload the docs that
have been built as artifacts. This makes it much easier to take a peek
at the resulting documentation rather than just being able to see that
it builds.
Commit: 071da9261b7e94c2d2d4e9d3d4eba1f29115e8ae
https://github.com/llvm/llvm-project/commit/071da9261b7e94c2d2d4e9d3d4eba1f29115e8ae
Author: Oleksandr T. <oleksandr.tarasiuk at outlook.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/test/CodeGen/alias.cpp
Log Message:
-----------
[Clang] ensure mangled names are valid identifiers before being suggested in ifunc/alias attributes notes (#118170)
Fixes #112205
---
Commit that introduced this feature -
https://github.com/llvm/llvm-project/commit/9306ef9750b7a319d59f6d3e4977e01e39b8f161
Commit: f8b4182f076f8fe55f9d5f617b5a25008a77b22f
https://github.com/llvm/llvm-project/commit/f8b4182f076f8fe55f9d5f617b5a25008a77b22f
Author: Nathan Gauër <brioche at google.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M clang/include/clang/Basic/AddressSpaces.h
M clang/lib/AST/TypePrinter.cpp
M clang/lib/Basic/TargetInfo.cpp
M clang/lib/Basic/Targets/AArch64.h
M clang/lib/Basic/Targets/AMDGPU.cpp
M clang/lib/Basic/Targets/DirectX.h
M clang/lib/Basic/Targets/NVPTX.h
M clang/lib/Basic/Targets/SPIR.h
M clang/lib/Basic/Targets/SystemZ.h
M clang/lib/Basic/Targets/TCE.h
M clang/lib/Basic/Targets/WebAssembly.h
M clang/lib/Basic/Targets/X86.h
M clang/test/SemaTemplate/address_space-dependent.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.h
R llvm/test/CodeGen/SPIRV/pointers/global-addrspacecast.ll
R llvm/test/CodeGen/SPIRV/pointers/variables-storage-class-vk.ll
M llvm/test/CodeGen/SPIRV/pointers/variables-storage-class.ll
Log Message:
-----------
Revert "[SPIR-V] Fixup storage class for global private (#116636)" (#118312)
This reverts commit aa7fe1c10e5d6d0d3aacdb345fed995de413e142.
Commit: 8935165659b7c31914e86059b91c9da8389cf19a
https://github.com/llvm/llvm-project/commit/8935165659b7c31914e86059b91c9da8389cf19a
Author: Alex Bradbury <asb at igalia.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
A llvm/test/MachineVerifier/RISCV/lit.local.cfg
M llvm/test/MachineVerifier/RISCV/subreg-liveness.mir
Log Message:
-----------
[NFCI][test] Use lit.local.cfg in test/MachineVerifier/RISCV to gate tests (#118217)
87cc4b48c08a627f330396f941b84671c5e591d5 added `REQUIRES:
riscv64-registered-target` to the only test in this directory. It seems
better (and also reflects what we do elsewhere, including in the AMDGPU/
subdir in MachineVerifier) to gate for all files in the directory via
lit.local.cfg.
Commit: fcfdabfea18b4d2dd98a1c5b52d5b33aff77ae1a
https://github.com/llvm/llvm-project/commit/fcfdabfea18b4d2dd98a1c5b52d5b33aff77ae1a
Author: Ian Wood <ianwood2024 at u.northwestern.edu>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M mlir/include/mlir/Dialect/Utils/ReshapeOpsUtils.h
M mlir/test/Dialect/Tensor/canonicalize.mlir
Log Message:
-----------
[MLIR] Improve compose expand(collapse) pattern (#117768)
If expand(collapse) has a dimension that gets collapsed and then
expanded to the same shape, the pattern would fail to canonicalize this
to a single collapse shape. Line 341 was changed because the
expand(collapse) could be a reinterpret-cast like sequence where the
shapes differ but the rank is the same. This cannot be represented by a
single `collapse_shape` op.
Signed-off-by: Ian Wood <ianwood2024 at u.northwestern.edu>
Commit: ac7fe426163adf9123473aeb94448cf3e84f6d09
https://github.com/llvm/llvm-project/commit/ac7fe426163adf9123473aeb94448cf3e84f6d09
Author: SpencerAbson <Spencer.Abson at arm.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M clang/include/clang/Basic/arm_sve.td
M clang/utils/TableGen/SveEmitter.cpp
Log Message:
-----------
[Clang][AArch64]Refactor typespec handling in SveEmitter.cpp (#117717)
- Switch to an enumerated type approach, which is less error-prone as we
continue to add new types. This is similar to NeonEmitter.
- Fix existing faulty typespec modifiers
Commit: fed07a05454d53763c10d482cd6e853509eee252
https://github.com/llvm/llvm-project/commit/fed07a05454d53763c10d482cd6e853509eee252
Author: Paul Osmialowski <pawel.osmialowski at arm.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M compiler-rt/test/builtins/Unit/atomic_test.c
Log Message:
-----------
[compiler-rt][tests] Make this test case pass on AArch64 (#117628)
See also D92832 and GCC bug
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80878
Commit: 05096590e0ce68bdc6d32aac9ddbe8728e7514ae
https://github.com/llvm/llvm-project/commit/05096590e0ce68bdc6d32aac9ddbe8728e7514ae
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M flang/examples/FeatureList/FeatureList.cpp
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Semantics/openmp-modifiers.h
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/openmp-modifiers.cpp
M flang/test/Parser/OpenMP/affinity-clause.f90
M flang/test/Parser/OpenMP/target_device_parse.f90
M flang/test/Parser/OpenMP/target_device_unparse.f90
M flang/test/Semantics/OpenMP/clause-validity01.f90
Log Message:
-----------
[flang][OpenMP] Use new modifiers with AFFINITY/ALIGNED/DEVICE (#117786)
This is a mostly mechanical change from specific modifiers embedded
directly in a clause to the Modifier variant.
Additional comments and references to the OpenMP specs were added.
Commit: a951e76fbed642dbe3f51965d17ca566be586cc5
https://github.com/llvm/llvm-project/commit/a951e76fbed642dbe3f51965d17ca566be586cc5
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py
Log Message:
-----------
[lldb] Added an exponential algorithm for the sleep time in connect_to_debug_monitor() (#118222)
Reduced MAX_ATTEMPTS to 10.
The sleep time will be 3, 3.6, 4.3, ..., 13, 15.
The total sleep time is 78 + 0.5 * MAX_CONNECT_ATTEMPTS * MAX_ATTEMPTS = 128.
Note the timeout is 600, so the rest time must be enough.
Increased the port range (12000..20000).
Commit: 582754280c73f3b3ead67603df6b896d3ad058d8
https://github.com/llvm/llvm-project/commit/582754280c73f3b3ead67603df6b896d3ad058d8
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M libcxx/docs/Status/Cxx23Papers.csv
Log Message:
-----------
[libc++][NFC] Fix slightly incorrect row in the CSV files
Commit: d898ff650ae09e3ef942592aee2e87627f45d7c6
https://github.com/llvm/llvm-project/commit/d898ff650ae09e3ef942592aee2e87627f45d7c6
Author: Perry Gibson <Wheest at users.noreply.github.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M mlir/python/mlir/dialects/func.py
M mlir/test/python/dialects/func.py
Log Message:
-----------
[mlir,python] Fix case when `FuncOp.arg_attrs` is not set (#117188)
FuncOps can have `arg_attrs`, an array of dictionary attributes
associated with their arguments.
E.g.,
```mlir
func.func @main(%arg0: tensor<8xf32> {test.attr_name = "value"}, %arg1: tensor<8x16xf32>)
```
These are exposed via the MLIR Python bindings with
`my_funcop.arg_attrs`.
In this case, it would return `[{test.attr_name = "value"}, {}]`, i.e.,
`%arg1` has an empty `DictAttr`.
However, if I try and access this property from a FuncOp with an empty
`arg_attrs`, e.g.,
```mlir
func.func @main(%arg0: tensor<8xf32>, %arg1: tensor<8x16xf32>)
```
This raises the error:
```python
return ArrayAttr(self.attributes[ARGUMENT_ATTRIBUTE_NAME])
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
KeyError: 'attempt to access a non-existent attribute'
```
This PR fixes this by returning the expected `[{}, {}]`.
Commit: 73186546f0c0209c65c4b4ef1379a4832545b871
https://github.com/llvm/llvm-project/commit/73186546f0c0209c65c4b4ef1379a4832545b871
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/test/CodeGen/RISCV/rv64-float-convert-strict.ll
M llvm/test/CodeGen/RISCV/rv64-float-convert.ll
M llvm/test/CodeGen/RISCV/rv64-half-convert-strict.ll
M llvm/test/CodeGen/RISCV/rv64-half-convert.ll
Log Message:
-----------
[LegalizeTypes][RISCV] Call setTypeListBeforeSoften from ExpandIntRes_FP_TO_XINT if the FP type needs to be softened (#118269)
This avoids an unnecessary sext.w before the libcall.
Commit: bee33b5291a28aec76e98c0da25349266c7b653c
https://github.com/llvm/llvm-project/commit/bee33b5291a28aec76e98c0da25349266c7b653c
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
M llvm/test/CodeGen/RISCV/GlobalISel/double-intrinsics.ll
M llvm/test/CodeGen/RISCV/GlobalISel/float-intrinsics.ll
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer-info-validation.mir
Log Message:
-----------
[RISCV][GISel] Support f32/f64 powi. (#117937)
Need to force libcall legalization to treat the integer argument as
signed so that it can be promoted to XLen in call lowering for RV64.
Alternatively we could promote the operand before converting to libcall,
but going through call lowering is closer to what SelectionDAG does.
Commit: c16c0e26236d0468a2411cb3bce219d3c70650e9
https://github.com/llvm/llvm-project/commit/c16c0e26236d0468a2411cb3bce219d3c70650e9
Author: Christudasan Devadasan <christudasan.devadasan at amd.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIOptimizeVGPRLiveRange.cpp
Log Message:
-----------
[AMDGPU][SIOptimizeVGPRLiveRange] Add setpreservesCFG in the legacy pass flow. (#118256)
Commit: c9fa3195f0f012a5606ec3e403a1f111b3a4e0c7
https://github.com/llvm/llvm-project/commit/c9fa3195f0f012a5606ec3e403a1f111b3a4e0c7
Author: Luke Lau <luke at igalia.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
M llvm/test/CodeGen/RISCV/rvv/compressstore.ll
Log Message:
-----------
[RISCV] Use LiveIntervals to determine if AVL dominates when coalescing (#118285)
In order to coalesce a vsetvli with a register AVL into a previous
vsetvli, we need to make sure that the AVL register is reachable at the
previous vsetvli.
Back in pre-RA vsetvli insertion we just checked to see if the two
virtual registers were the same virtual register, and then this was
hacked around in the move to post-RA. We can instead use live intervals
to check that the reaching definition is the same at both instructions.
On its own this doesn't have much of an impact, but helps a lot in
#118283 and enables coalescing in about 60 of the test cases from that
PR.
Commit: a6fa51f5ce8f31a088f04d7c14690bb0de3259f1
https://github.com/llvm/llvm-project/commit/a6fa51f5ce8f31a088f04d7c14690bb0de3259f1
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M lld/Common/ErrorHandler.cpp
Log Message:
-----------
[lld] Move handling of message separator to reportDiagnostic()
This ensures that it is also updated when calling log() and not just for
errors and warnings. This was noticed in the downstream CHERI fork where
a test using CHECK-NEXT was seeing empty lines after single-line log()
messages.
Reviewed By: MaskRay
Pull Request: https://github.com/llvm/llvm-project/pull/117587
Commit: 57452bb3a92d77f260296669269815e057b19b6e
https://github.com/llvm/llvm-project/commit/57452bb3a92d77f260296669269815e057b19b6e
Author: Raphael Moreira Zinsly <6718397+rzinsly at users.noreply.github.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/lib/Target/RISCV/RISCVFrameLowering.h
Log Message:
-----------
[NFC][RISCV] Remove CFIIndex argument from allocateStack (#117871)
Calculates CFIIndex inside RISCVFrameLowering::allocateStack instead of
sending it by argument.
Commit: 1b03747ed85cd4a6573b728674e88f4bd3fa844d
https://github.com/llvm/llvm-project/commit/1b03747ed85cd4a6573b728674e88f4bd3fa844d
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M libcxx/utils/synchronize_csv_status_files.py
Log Message:
-----------
[libc++] Augment Github - CSV synchronization script to auto-create new Github issues (#118139)
This makes it easier to create the Github issues and add them to the
libc++ conformance project after a WG21 meeting.
Commit: d33dc14833b581d276a712a8425ab8f62a59c589
https://github.com/llvm/llvm-project/commit/d33dc14833b581d276a712a8425ab8f62a59c589
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M compiler-rt/test/builtins/Unit/extendhfxf2_test.c
M compiler-rt/test/builtins/Unit/fp_test.h
Log Message:
-----------
[compiler-rt] Allow running extendhfxf2_test without int128 support
We don't need 128-bit integers here, instead rewrite the fp_test.h helpers
to avoid the need for __int128. Also change the high argument for
compareResultF80() and F80FromRep80() to be uint16_t since values greater
than this do not make any sense. This should allow the compiler to detect
accidentally swapping the arguments.
Reviewed By: biabbas, alexander-shaposhnikov
Pull Request: https://github.com/llvm/llvm-project/pull/117818
Commit: 02eaeec1ac61b3933bf10a40abdeff4e2958a4a5
https://github.com/llvm/llvm-project/commit/02eaeec1ac61b3933bf10a40abdeff4e2958a4a5
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M libcxx/src/CMakeLists.txt
Log Message:
-----------
[libc++] Remove obsolete CMake variable (#118119)
That variable is not referenced anywhere anymore, so it can be removed.
Commit: 1f2aeef97bf229821b1b254d7ce4e3d1c7f8683f
https://github.com/llvm/llvm-project/commit/1f2aeef97bf229821b1b254d7ce4e3d1c7f8683f
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M clang/lib/Sema/SemaOpenACC.cpp
M clang/test/AST/ast-print-openacc-combined-construct.cpp
M clang/test/SemaOpenACC/combined-construct-auto_seq_independent-clauses.c
A clang/test/SemaOpenACC/combined-construct-copy-ast.cpp
A clang/test/SemaOpenACC/combined-construct-copy-clause.c
A clang/test/SemaOpenACC/combined-construct-copy-clause.cpp
A clang/test/SemaOpenACC/combined-construct-copyin-ast.cpp
A clang/test/SemaOpenACC/combined-construct-copyin-clause.c
A clang/test/SemaOpenACC/combined-construct-copyin-clause.cpp
A clang/test/SemaOpenACC/combined-construct-copyout-ast.cpp
A clang/test/SemaOpenACC/combined-construct-copyout-clause.c
A clang/test/SemaOpenACC/combined-construct-copyout-clause.cpp
A clang/test/SemaOpenACC/combined-construct-create-ast.cpp
A clang/test/SemaOpenACC/combined-construct-create-clause.c
A clang/test/SemaOpenACC/combined-construct-create-clause.cpp
M clang/test/SemaOpenACC/combined-construct-default-clause.c
M clang/test/SemaOpenACC/combined-construct-default-clause.cpp
M clang/test/SemaOpenACC/compute-construct-default-clause.c
Log Message:
-----------
[OpenACC] Enable copy/create clauses for combined constructs
This is the last set of 'no op' changes, and are all incredibly similar,
so they are being done together. They work the exact same for combined
constructs as they do for compute constructs, so this adds tests and
enables them.
Commit: de6d0d2de0e2df72bd77f29d27addf13ebfbc997
https://github.com/llvm/llvm-project/commit/de6d0d2de0e2df72bd77f29d27addf13ebfbc997
Author: Luke Quinn <lquinn2015 at gmail.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVRegisterBankInfo.cpp
A llvm/test/CodeGen/RISCV/GlobalISel/float-fclass.ll
Log Message:
-----------
[RISCV][GISel] Add FCLASS to onlyUsesFP for register bank selection (#118021)
Bug fix FCLASS instruction in RISCV. The bug is due the fact that FCLASS
has an input float register and output GPR this caused reg bank select
regression.
Commit: 94316dd5415fbeb7ce7432620ffbbb4b2fc03237
https://github.com/llvm/llvm-project/commit/94316dd5415fbeb7ce7432620ffbbb4b2fc03237
Author: Brox Chen <guochen2 at amd.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/test/CodeGen/AMDGPU/saddsat.ll
M llvm/test/CodeGen/AMDGPU/ssubsat.ll
Log Message:
-----------
[AMDGPU][True16][CodeGen] saddsat/ssubsat sdag for true16 format (#118245)
saddsat and ssubsat SDAG codeGen pattern for True16 format
Commit: 3d437893c3b8431a35f5edb65409f0d0fb0e2d95
https://github.com/llvm/llvm-project/commit/3d437893c3b8431a35f5edb65409f0d0fb0e2d95
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M libcxx/include/chrono
M libcxx/test/libcxx/clang_tidy.gen.py
M libcxx/test/tools/clang_tidy_checks/CMakeLists.txt
Log Message:
-----------
[libc++] Re-enable Clang-tidy checks in the CI (#110026)
Now that we've gained control of our CI docker image again,
we can re-enable the clang-tidy tests.
Commit: a796f597cd445bf6577c09efcac710b568f29d92
https://github.com/llvm/llvm-project/commit/a796f597cd445bf6577c09efcac710b568f29d92
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx950-read-tr.cl
M llvm/lib/Target/AMDGPU/DSInstructions.td
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/intrinsics.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.read.tr.gfx950.ll
Log Message:
-----------
AMDGPU: Allow f16/bf16 for DS_READ_TR16_B64 gfx950 builtins (#118297)
Co-authored-by: Sirish Pande <Sirish.Pande at amd.com>
Commit: 468fb5fc7ebc42820cf8a2114d20f321a9ede0ee
https://github.com/llvm/llvm-project/commit/468fb5fc7ebc42820cf8a2114d20f321a9ede0ee
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/RegisterCoalescer.cpp
A llvm/test/CodeGen/AMDGPU/register-coalescer--set-undef-full-reg-use-implicit-def-erase-issue109249.mir
Log Message:
-----------
RegisterCoalescer: Set undef on full register uses when coalescing implicit_def (#118321)
Previously this would delete the IMPLICIT_DEF and not introduce the undef
flag on the use operand.
Fixes sub-issue found while reducing #109294
Commit: 75452831948d86674374f645df75c543f4587635
https://github.com/llvm/llvm-project/commit/75452831948d86674374f645df75c543f4587635
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M compiler-rt/cmake/base-config-ix.cmake
Log Message:
-----------
[compiler-rt] Don't detect a versioned clang test compiler as GCC
I was trying to build compiler-rt with /usr/bin/clang-17 and the testsuite
failed due to the code in lit.common.cfg.py:
```
# GCC-ASan uses dynamic runtime by default (since config.bits is not set).
if config.compiler_id == "GNU":
gcc_dir = os.path.dirname(config.clang)
libasan_dir = os.path.join(gcc_dir, "..", "lib" + config.bits)
push_dynamic_library_lookup_path(config, libasan_dir)
```
Fix this in two ways: First, if the test compiler matches the library
compiler, set COMPILER_RT_TEST_COMPILER_ID to CMAKE_C_COMPILER_ID. Second,
relax the regex detecting clang to allow any kind of suffix.
Reviewed By: compnerd
Pull Request: https://github.com/llvm/llvm-project/pull/117812
Commit: 681bd84563cf559fca4eea3ae8ac064e0ae833f5
https://github.com/llvm/llvm-project/commit/681bd84563cf559fca4eea3ae8ac064e0ae833f5
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
A llvm/test/Transforms/InstCombine/AMDGPU/lane-index-simplify-demanded-bits.ll
Log Message:
-----------
AMDGPU: Add baseline test for lane index simplification (#117962)
Commit: b36f1c8e9b0c9b9151be15b36a0f8d59ea8fc989
https://github.com/llvm/llvm-project/commit/b36f1c8e9b0c9b9151be15b36a0f8d59ea8fc989
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
A clang/test/Driver/xtensa-char.c
Log Message:
-----------
[Xtensa] Default to unsigned char
This matches GCC.
Partially addresses https://github.com/llvm/llvm-project/pull/115964
Pull Request: https://github.com/llvm/llvm-project/pull/115967
Commit: 93d2a2caf63ee9c3dab8b3e0a1b54a9ba484714d
https://github.com/llvm/llvm-project/commit/93d2a2caf63ee9c3dab8b3e0a1b54a9ba484714d
Author: Justin Bogner <mail at justinbogner.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M llvm/lib/Target/DirectX/DXILFinalizeLinkage.cpp
M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
M llvm/test/CodeGen/DirectX/BufferStore-errors.ll
A llvm/test/CodeGen/DirectX/finalize-linkage-intrinsics.ll
M llvm/test/CodeGen/DirectX/llc-pipeline.ll
Log Message:
-----------
[DirectX] Run DXILFinalizeLinkage earlier in the pipeline (#117950)
This moves DXILFinalizeLinkage before the DXIL op lowering passes so
that it doesn't end up internalizing any of the `dx.op.*` functions.
This also exposed a bug when the pass is run on a module with intrinsics
in them - marking the intrinsics as internal will fail the validator.
Fixes #117761
Commit: 0fe1f8524e02a2d28946e8356615f16166670474
https://github.com/llvm/llvm-project/commit/0fe1f8524e02a2d28946e8356615f16166670474
Author: stma247 <184293860+stma247 at users.noreply.github.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
A llvm/test/tools/llvm-cov/branch-export-lcov-unify-instances.test
M llvm/test/tools/llvm-cov/branch-export-lcov.test
M llvm/tools/llvm-cov/CodeCoverage.cpp
M llvm/tools/llvm-cov/CoverageExporterLcov.cpp
M llvm/tools/llvm-cov/CoverageViewOptions.h
Log Message:
-----------
[llvm-cov] Fix branch counts of template functions (#111743) (#113925)
Added option "--unify-instantiations" to llvm-cov export to combine
branch execution counts of C++ template instantiations.
on-behalf-of: @e-solutions-GmbH <info at esolutions.de>
Commit: 6baf0023ce7f880a15aa89eaea2dcbea59abfa16
https://github.com/llvm/llvm-project/commit/6baf0023ce7f880a15aa89eaea2dcbea59abfa16
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M flang/include/flang/Common/Fortran-features.h
M flang/lib/Semantics/expression.cpp
M flang/test/Semantics/expr-errors06.f90
Log Message:
-----------
[flang] Downgrade recently added error to a warning (#117217)
An empty array shouldn't be subscripted, but sometimes they are in
zero-trip loops in real applications. So change a recently added error
message to a warning (off by default).
Commit: c1c9929028004a717d8dea3cdf416260ef97bea8
https://github.com/llvm/llvm-project/commit/c1c9929028004a717d8dea3cdf416260ef97bea8
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M flang/include/flang/Common/Fortran-features.h
M flang/lib/Common/Fortran-features.cpp
M flang/lib/Semantics/check-declarations.cpp
M flang/test/Semantics/call14.f90
M flang/test/Semantics/resolve58.f90
Log Message:
-----------
[flang] Allow a few irrelevant attributes, with warning (#117374)
INTENT, VALUE, and OPTIONAL attributes apply only to dummy arguments. A
couple older compilers accept them, usually with a warning, if they are
applied to names that are not dummy arguments, and they show up in some
older non-portable source code. Change these cases into stern warnings
by default.
Commit: 8115454aa05caf4ebfaa98466a8c8b7aa274cefd
https://github.com/llvm/llvm-project/commit/8115454aa05caf4ebfaa98466a8c8b7aa274cefd
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M flang/docs/Extensions.md
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Parser/Fortran-parsers.cpp
M flang/lib/Parser/type-parsers.h
A flang/test/Parser/decl-char-length.f90
Log Message:
-----------
[flang] Extension: accept "var*length(bounds)" (#117399)
A character length specifier in an entity declaration or a component
declaration is required by the standard to follow any array bounds or
coarray bounds that are present. Several Fortran compilers allow the
character length specifier to follow the name and appear before the
bounds.
Fixes https://github.com/llvm/llvm-project/issues/117372.
Commit: dfbc80febb45544710b12cc05f268f40ef88cd6e
https://github.com/llvm/llvm-project/commit/dfbc80febb45544710b12cc05f268f40ef88cd6e
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M flang/lib/Parser/prescan.cpp
A flang/test/Preprocessing/bug117297.F90
Log Message:
-----------
[flang] Fix continuation when line begins with empty macro expansion (#117407)
A free form source line that begins with a macro should still be
classified as a source line, and have its continuation lines work, even
if the macro expands to an empty replacement.
Fixes https://github.com/llvm/llvm-project/issues/117297.
Commit: 9b64811e27f8377b77f8561cf678c9d2f2d67393
https://github.com/llvm/llvm-project/commit/9b64811e27f8377b77f8561cf678c9d2f2d67393
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M flang/runtime/edit-input.cpp
Log Message:
-----------
[flang][runtime] Skip unused truncated list-directed character input (#118320)
When reading non-delimited list-directed character input, read the whole
field even if it doesn't fit into the variable.
Fixes https://github.com/llvm/llvm-project/issues/118277.
Commit: 91f5f974cb75309a94c9efc76238ef98abcf1582
https://github.com/llvm/llvm-project/commit/91f5f974cb75309a94c9efc76238ef98abcf1582
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M offload/DeviceRTL/CMakeLists.txt
M offload/DeviceRTL/src/Misc.cpp
M offload/DeviceRTL/src/exports
A offload/include/Shared/RPCOpcodes.h
M offload/plugins-nextgen/amdgpu/src/rtl.cpp
M offload/plugins-nextgen/common/CMakeLists.txt
M offload/plugins-nextgen/common/include/PluginInterface.h
M offload/plugins-nextgen/common/src/PluginInterface.cpp
M offload/plugins-nextgen/common/src/RPC.cpp
M offload/plugins-nextgen/cuda/src/rtl.cpp
A offload/test/api/omp_host_call.c
R offload/test/libc/host_call.c
Log Message:
-----------
[OpenMP] Unconditionally provide an RPC client interface for OpenMP (#117933)
Summary:
This patch adds an RPC interface that lives directly in the OpenMP
device runtime. This allows OpenMP to implement custom opcodes.
Currently this is only providing the host call interface, which is the
raw version of reverse offloading. Previously this lived in `libc/` as
an extension which is not the correct place.
The interface here uses a weak symbol for the RPC client by the same
name that the `libc` interface uses. This means that it will defer to
the libc one if both are present so we don't need to set up multiple
instances.
The presense of this symbol is what controls whether or not we set up
the RPC server. Because this is an external symbol it normally won't be
optimized out, so there's a special pass in OpenMPOpt that deletes this
symbol if it is unused during linking. That means at `O0` the RPC server
will always be present now, but will be removed trivially if it's not
used at O1 and higher.
Commit: 0aef005c94f91a91edc77a4f43337950e66bc462
https://github.com/llvm/llvm-project/commit/0aef005c94f91a91edc77a4f43337950e66bc462
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/SemaOpenACC.h
M clang/lib/Sema/SemaOpenACC.cpp
M clang/test/AST/ast-print-openacc-combined-construct.cpp
M clang/test/SemaOpenACC/combined-construct-auto_seq_independent-clauses.c
A clang/test/SemaOpenACC/combined-construct-collapse-ast.cpp
A clang/test/SemaOpenACC/combined-construct-collapse-clause.cpp
M clang/test/SemaOpenACC/combined-construct-device_type-clause.c
Log Message:
-----------
[OpenACC] Implement 'collapse' for combined constructs.
Most of the restrictions on 'collapse' involve the contents of the loop,
so this extends enforcement of all of that to all combined construct
loops, and alters the diagnostics to better reflect the construct it is
associated with.
Commit: 15676ec552c7028ce3c902cec19efe9c99d7f303
https://github.com/llvm/llvm-project/commit/15676ec552c7028ce3c902cec19efe9c99d7f303
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/test/CodeGen/AMDGPU/fptrunc.f16.ll
M llvm/test/MC/AMDGPU/gfx950_asm_features.s
M llvm/test/MC/Disassembler/AMDGPU/gfx950_dasm_vop3.txt
Log Message:
-----------
AMDGPU: Add support for V_CVT_PK_F16_F32 instruction for gfx950 (#118300)
Co-authored-by: Shilei Tian <shilei.tian at amd.com>
Commit: f3af593d6f0ed0243c4f483e120974ab2c2eb334
https://github.com/llvm/llvm-project/commit/f3af593d6f0ed0243c4f483e120974ab2c2eb334
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
Log Message:
-----------
AMDGPU: Create InstrMapping from VGPR MFMA to equivalent AGPR instruction (#117102)
This provides infrastructure for a future optimization.
Commit: eaa4eb281d4a0e34c7b4c2dac50cd151c3cb27e6
https://github.com/llvm/llvm-project/commit/eaa4eb281d4a0e34c7b4c2dac50cd151c3cb27e6
Author: David Olsen <dolsen at nvidia.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M clang/lib/CIR/FrontendAction/CIRGenAction.cpp
Log Message:
-----------
[CIR] Fix warning in CIRGenAction.cpp (#118389)
Fix a compiler warning in `CIRGenConsumer::HandleTranslationUnit` in
`clang/lib/CIR/FrontendAction/CIRGenAction.cpp`. The warning was about a
`default:` section in a switch statement that already covered all the
values of an enum. Delete the `default:` section.
Commit: bde79c0e27fd0fb1e31c9b8b34ae71716c51a8e8
https://github.com/llvm/llvm-project/commit/bde79c0e27fd0fb1e31c9b8b34ae71716c51a8e8
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M flang/examples/FeatureList/FeatureList.cpp
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Semantics/openmp-modifiers.h
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Lower/OpenMP/Clauses.h
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/parse-tree.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/openmp-modifiers.cpp
M flang/test/Parser/OpenMP/depobj-construct.f90
M flang/test/Parser/OpenMP/taskloop.f90
M flang/test/Semantics/OpenMP/depend05.f90
M llvm/include/llvm/Frontend/OpenMP/ClauseT.h
Log Message:
-----------
[flang][OpenMP] Use new modifiers in DEPEND/GRAINSIZE/NUM_TASKS (#117917)
The usual changes, added more references to OpenMP specs.
Commit: a15400d05d23dd45a8ed583da857d1b02329eb40
https://github.com/llvm/llvm-project/commit/a15400d05d23dd45a8ed583da857d1b02329eb40
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
M llvm/test/CodeGen/RISCV/GlobalISel/double-intrinsics.ll
M llvm/test/CodeGen/RISCV/GlobalISel/float-intrinsics.ll
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer-info-validation.mir
Log Message:
-----------
[RISCV][GISel] Support f32/f64 ldexp. (#117941)
The existing libcall lowering in LegalizerHelper.cpp did not account
for one operand being integer. Reuse the G_FPOWI code to fix this.
Commit: 0aa7892772a94b0395cb5a7fce077ab2348ecaa5
https://github.com/llvm/llvm-project/commit/0aa7892772a94b0395cb5a7fce077ab2348ecaa5
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M clang/include/clang/Sema/SemaOpenACC.h
M clang/lib/Sema/SemaOpenACC.cpp
M clang/test/AST/ast-print-openacc-combined-construct.cpp
M clang/test/SemaOpenACC/combined-construct-auto_seq_independent-clauses.c
M clang/test/SemaOpenACC/combined-construct-device_type-clause.c
A clang/test/SemaOpenACC/combined-construct-tile-ast.cpp
A clang/test/SemaOpenACC/combined-construct-tile-clause.cpp
Log Message:
-----------
[OpenACC] Implement 'tile' for combined constructs
Like collapse, this clause has only mild changes that need to be made.
Most of the associated work for the RAII container was already done
previously, so this is mostly just updating the diagnostics to properly
emit the right construct.
Commit: 2c88ac9da9f842875592b232ba957da341e62ea5
https://github.com/llvm/llvm-project/commit/2c88ac9da9f842875592b232ba957da341e62ea5
Author: Justin Bogner <mail at justinbogner.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
M llvm/test/CodeGen/DirectX/BufferStore.ll
Log Message:
-----------
[DirectX] Clean up extra vectors when lowering to buffer store (#116721)
DXILOpLowering runs after scalarization but `@llvm.dx.typedbuffer.store`
takes a vector, so the argument is usually an artifact. Avoid creating a
vector just to extract elements from it immediately.
Commit: 4226e0a0c75e5cfd784eff429f93101c03a1995c
https://github.com/llvm/llvm-project/commit/4226e0a0c75e5cfd784eff429f93101c03a1995c
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Transforms/Utils/UnrollLoop.h
M llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
M llvm/lib/Transforms/Utils/LoopUnroll.cpp
M llvm/lib/Transforms/Utils/LoopUnrollAndJam.cpp
M llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp
M llvm/unittests/Transforms/Utils/UnrollLoopTest.cpp
Log Message:
-----------
[TTI] Add SCEVExpansionBudget to loop unrolling options. (#118316)
Add an extra know to UnrollingPreferences to let backends control the
maximum budget for SCEV expansions.
This gives backends more fine-grained control on the cost of the runtime
checks for runtime unrolling.
PR: https://github.com/llvm/llvm-project/pull/118316
Commit: a6ef0debb1d60966b5bcc69f7d58a2b75c9c621d
https://github.com/llvm/llvm-project/commit/a6ef0debb1d60966b5bcc69f7d58a2b75c9c621d
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M libc/shared/rpc_opcodes.h
M libc/src/__support/GPU/allocator.cpp
M libc/src/__support/OSUtil/gpu/exit.cpp
M libc/src/__support/OSUtil/gpu/io.cpp
M libc/src/gpu/rpc_host_call.cpp
M libc/src/stdio/gpu/clearerr.cpp
M libc/src/stdio/gpu/fclose.cpp
M libc/src/stdio/gpu/feof.cpp
M libc/src/stdio/gpu/ferror.cpp
M libc/src/stdio/gpu/fflush.cpp
M libc/src/stdio/gpu/fgets.cpp
M libc/src/stdio/gpu/file.h
M libc/src/stdio/gpu/fopen.cpp
M libc/src/stdio/gpu/fseek.cpp
M libc/src/stdio/gpu/ftell.cpp
M libc/src/stdio/gpu/puts.cpp
M libc/src/stdio/gpu/remove.cpp
M libc/src/stdio/gpu/rename.cpp
M libc/src/stdio/gpu/ungetc.cpp
M libc/src/stdio/gpu/vfprintf_utils.h
M libc/src/stdlib/gpu/abort.cpp
M libc/src/stdlib/gpu/system.cpp
M libc/test/integration/startup/gpu/rpc_test.cpp
M libc/utils/gpu/loader/Loader.h
M libc/utils/gpu/server/rpc_server.cpp
M offload/plugins-nextgen/common/src/RPC.cpp
Log Message:
-----------
[libc][NFC] Rename RPC opcodes to better reflect their usage
Summary:
RPC_ is a generic prefix here, use LIBC_ to indicate that these are
opcodes used to implement the C library
Commit: 56cb5cbfcdc09499d366046d6ea2ea6655fc11ef
https://github.com/llvm/llvm-project/commit/56cb5cbfcdc09499d366046d6ea2ea6655fc11ef
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-changes-length.ll
Log Message:
-----------
[RISCV] Remove RISCVISD::VNSRL_VL and adjust deinterleave lowering to match (#118391)
Instead of directly lowering to vnsrl_vl and having custom pattern
matching for that case, we can just lower to a (legal) shift and
truncate, and let generic pattern matching produce the vnsrl.
The major motivation for this is that I'm going to reuse this logic to
handle e.g. deinterleave4 w/ i8 result.
The test changes aren't particularly interesting. They're minor code
improvements - I think because we do slightly better with the
insert_subvector patterns, but that's mostly irrelevant.
Commit: c906907d871d840b176cd0101863b7be3f33dee9
https://github.com/llvm/llvm-project/commit/c906907d871d840b176cd0101863b7be3f33dee9
Author: Brian Cain <bcain at quicinc.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M compiler-rt/cmake/caches/hexagon-linux-clangrt.cmake
Log Message:
-----------
[hexagon][cmake] Disable ctx_profile (#117965)
Since #105495, we will build sanitizer_common when
COMPILER_RT_BUILD_CTX_PROFILE is set. But we have outstanding failures
when building sanitizer_common, so for now we'll disable ctx_profile
too.
Commit: 92f5314706319a2a654a914c54ba6e73563fa906
https://github.com/llvm/llvm-project/commit/92f5314706319a2a654a914c54ba6e73563fa906
Author: Alan Phipps <a-phipps at ti.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
R llvm/test/tools/llvm-cov/branch-export-lcov-unify-instances.test
M llvm/test/tools/llvm-cov/branch-export-lcov.test
M llvm/tools/llvm-cov/CodeCoverage.cpp
M llvm/tools/llvm-cov/CoverageExporterLcov.cpp
M llvm/tools/llvm-cov/CoverageViewOptions.h
Log Message:
-----------
Revert "[llvm-cov] Fix branch counts of template functions (#111743)" (#118398)
Reverts llvm/llvm-project#113925
Reverting to address buildbot failures.
Commit: 1250a1db1a378736afda389c94d2846d7a254576
https://github.com/llvm/llvm-project/commit/1250a1db1a378736afda389c94d2846d7a254576
Author: Dave Lee <davelee.com at gmail.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M lldb/source/Commands/CommandObjectDWIMPrint.cpp
M lldb/test/API/commands/dwim-print/Makefile
M lldb/test/API/commands/dwim-print/TestDWIMPrint.py
R lldb/test/API/commands/dwim-print/main.c
A lldb/test/API/commands/dwim-print/main.cpp
Log Message:
-----------
[lldb] Update dwim-print to support limited variable expression paths (#117452)
`frame variable` supports nested variable access, which the API calls "variable
expression paths". This change updates `dwim-print` to support a subset of supported
variable expression paths.
Consider the expression `a->b`. In C++, the arrow operator can be overloaded, and where
that is the case, expression evaluation must be used to evaluate it, not frame variable.
Likewise, the subscript operator can be overloaded.
To avoid those cases, this change introduces a limited support for variable expression
paths. Use of the dot operator is allowed.
Additionally, this change allows `dwim-print` to directly access children of `this` and
`self` (see AllowDirectIVarAccess). This functionality is also provided by the same
`GetValueForVariableExpressionPath` method.
rdar://104348908
Commit: bd92e46204331b9af296f53abb708317e72ab7a8
https://github.com/llvm/llvm-project/commit/bd92e46204331b9af296f53abb708317e72ab7a8
Author: Justin Bogner <mail at justinbogner.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M clang/include/clang/Basic/Builtins.td
M clang/lib/AST/Type.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/test/AST/HLSL/StructuredBuffers-AST.hlsl
M clang/test/AST/HLSL/TypedBuffers-AST.hlsl
M clang/test/CodeGenHLSL/builtins/RWBuffer-constructor.hlsl
M clang/test/CodeGenHLSL/builtins/RWBuffer-elementtype.hlsl
M clang/test/CodeGenHLSL/builtins/RWBuffer-subscript.hlsl
M clang/test/CodeGenHLSL/builtins/RWStructuredBuffer-elementtype.hlsl
M clang/test/CodeGenHLSL/builtins/RasterizerOrderedStructuredBuffer-elementtype.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffer-elementtype.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffers-constructors.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffers-methods-lib.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffers-methods-ps.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffers-subscripts.hlsl
M clang/test/CodeGenHLSL/builtins/hlsl_resource_t.hlsl
M clang/test/CodeGenHLSL/implicit-norecurse-attrib.hlsl
A clang/test/SemaHLSL/BuiltIns/resource_getpointer-errors.hlsl
M llvm/include/llvm/IR/IntrinsicsDirectX.td
Log Message:
-----------
[HLSL] Implement RWBuffer::operator[] via __builtin_hlsl_resource_getpointer (#117017)
This introduces `__builtin_hlsl_resource_getpointer`, which lowers to
`llvm.dx.resource.getpointer` and is used to implement indexing into
resources.
This will only work through the backend for typed buffers at this point,
but the changes to structured buffers should be correct as far as the
frontend is concerned.
Note: We probably want this to return a reference in the HLSL device
address space, but for now we're just using address space 0. Creating a
device address space and updating this code can be done later as
necessary.
Fixes #95956
Commit: 0c98776159cea0d1f391a8e1ac290483d4490240
https://github.com/llvm/llvm-project/commit/0c98776159cea0d1f391a8e1ac290483d4490240
Author: llvmssh <shaosenhao at huawei.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M llvm/lib/Object/RecordStreamer.h
Log Message:
-----------
Use MapVector to fix lld thinLTO "nondeterminism" issue. (#117551)
When the ModuleSymbolTable is generated, the binary consistency problem occurs due to the
data structure for collecting asm symbols was ordered by memory pointers.
Commit: b8daa45a566b15d929a812d85f3f1ff8c868c889
https://github.com/llvm/llvm-project/commit/b8daa45a566b15d929a812d85f3f1ff8c868c889
Author: Petr Hosek <phosek at google.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/llvm-libc-macros/time-macros.h
M libc/newhdrgen/yaml/time.yaml
M libc/spec/stdc.td
M libc/src/time/CMakeLists.txt
A libc/src/time/baremetal/CMakeLists.txt
A libc/src/time/baremetal/timespec_get.cpp
M libc/src/time/gpu/CMakeLists.txt
A libc/src/time/gpu/timespec_get.cpp
M libc/src/time/linux/CMakeLists.txt
A libc/src/time/linux/timespec_get.cpp
A libc/src/time/timespec_get.h
M libc/test/src/time/CMakeLists.txt
A libc/test/src/time/timespec_get_test.cpp
Log Message:
-----------
[libc] Implement `timespec_get` (#116102)
`timespec_get` is C standard counterpart to POSIX `clock_gettime`. On
Linux we simply use `clock_gettime`. On baremetal we introduce a new
external API `__llvm_libc_timespec_get_utc` that should be implemented
by the vendor.
Commit: 33faa8285f3dc5ca10e35770b288770b4bbc2bc1
https://github.com/llvm/llvm-project/commit/33faa8285f3dc5ca10e35770b288770b4bbc2bc1
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M flang/examples/FeatureList/FeatureList.cpp
M flang/examples/FlangOmpReport/FlangOmpReportVisitor.cpp
M flang/examples/FlangOmpReport/FlangOmpReportVisitor.h
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Semantics/openmp-modifiers.h
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Parser/CMakeLists.txt
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/openmp-modifiers.cpp
M flang/test/Parser/OpenMP/if-clause-unparse.f90
M flang/test/Parser/OpenMP/if-clause.f90
M flang/test/Parser/OpenMP/lastprivate-clause.f90
M flang/test/Semantics/OpenMP/clause-validity01.f90
M flang/test/Semantics/OpenMP/if-clause.f90
Log Message:
-----------
[flang][OpenMP] Use new modifiers in IF/LASTPRIVATE (#118128)
The usual changes, added more references to OpenMP specs.
Commit: da5f330e84d74aeacdbb801c46282b9eebec6793
https://github.com/llvm/llvm-project/commit/da5f330e84d74aeacdbb801c46282b9eebec6793
Author: Niels Dekker <N.Dekker at lumc.nl>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.h
M clang-tools-extra/docs/clang-tidy/checks/readability/container-size-empty.rst
Log Message:
-----------
[clang-tidy] Adjust size-empty doc because C++11 size() is constant-time (#117629)
>From C++11, a conforming `size()` method is guaranteed to be a
constant-time function. `empty()` is not _generally_ more efficient than
`size()`. It might even be implemented in terms of `size()`.
----
Notes:
- Microsoft's STL had implemented `empty()` as `return size() == 0`,
until May 2021: https://github.com/microsoft/STL/pull/1836/files
- The time complexity of `size()` (specifically for `std::set`) was
discussed by the library working group in 2007-2009:
https://cplusplus.github.io/LWG/issue632
Commit: 5f881b7139bba1b8cd5c09ea021c78b92d1e72c9
https://github.com/llvm/llvm-project/commit/5f881b7139bba1b8cd5c09ea021c78b92d1e72c9
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M llvm/CMakeLists.txt
Log Message:
-----------
[libc] Deprecate LLVM_ENABLE_PROJECTS in favor of LLVM_ENABLE_RUNTIMES. (#117265)
We plan to make this a hard error in the LLVM 21 release.
Link: #78479
Commit: 867a1d621d1c6146dc29fa6b471407327d8f1bff
https://github.com/llvm/llvm-project/commit/867a1d621d1c6146dc29fa6b471407327d8f1bff
Author: Dimitry Andric <dimitry at andric.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
Log Message:
-----------
[sanitizer_common] mark __elf_aux_vector as weak on FreeBSD (#118110)
At some point FreeBSD introduced libsys as a wrapper between syscalls
and libc, and then linking sanitized programs started failing with:
```text
# c++ -fsanitize=address main.cc
ld: error: undefined symbol: __elf_aux_vector
>>> referenced by sanitizer_linux_libcdep.cpp:950 (/usr/src/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp:950)
>>> sanitizer_linux_libcdep.o:(__sanitizer::ReExec()) in archive /usr/lib/clang/17/lib/freebsd/libclang_rt.asan-x86_64.a
c++: error: linker command failed with exit code 1 (use -v to see invocation)
```
Mark `__elf_aux_vector` as weak in the internal sanitizer declaration,
so the linker will accept it at link time. The dynamic linker will then
take care of the symbol at run time.
Commit: fdc7ccf5432f72e6c87a78625bb55f8d4ceaea16
https://github.com/llvm/llvm-project/commit/fdc7ccf5432f72e6c87a78625bb55f8d4ceaea16
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVCallLowering.cpp
M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/calling-conv-ilp32-ilp32f-ilp32d-common.ll
M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/calling-conv-lp64-lp64f-lp64d-common.ll
Log Message:
-----------
[RISCV][GISel] Allow fp128 function arguments.
Add more testing for large arguments.
Commit: f500ed5646bef11b9daa74ee79188af0de6ab0be
https://github.com/llvm/llvm-project/commit/f500ed5646bef11b9daa74ee79188af0de6ab0be
Author: Luke Lau <luke at igalia.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
A llvm/test/CodeGen/RISCV/rvv/vl-opt-op-info.mir
Log Message:
-----------
[RISCV][VLOPT] Add separate tests for getOperandInfo. NFC (#116170)
This adds separate tests for getOperandInfo to try and get better
coverage over all the possible operands.
It's done in MIR as it makes checking incompatible EEWs and EMULs
easier, which is difficult (but not impossible) to do in LLVM IR.
It tests each instruction "format", e.g. vop.vv/vwop.vv/vwop.wv etc.,
and for each format it tests the individual operands.
For each operand it tests when the EEW and EMUL match, when the EEW
doesn't match, and when the EMUL doesn't match.
Commit: 7267c85959aa2490e2950f7fb817a76af7e94043
https://github.com/llvm/llvm-project/commit/7267c85959aa2490e2950f7fb817a76af7e94043
Author: Matthias Springer <me at m-sp.org>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
R mlir/include/mlir/Dialect/Func/Transforms/DecomposeCallGraphTypes.h
M mlir/lib/Dialect/Func/Transforms/CMakeLists.txt
R mlir/lib/Dialect/Func/Transforms/DecomposeCallGraphTypes.cpp
M mlir/lib/Dialect/Func/Transforms/FuncConversions.cpp
M mlir/test/lib/Dialect/Func/TestDecomposeCallGraphTypes.cpp
Log Message:
-----------
[mlir][Func] Delete `DecomposeCallGraphTypes.cpp` (#117424)
`DecomposeCallGraphTypes.cpp` was a workaround around missing 1:N
support in the dialect conversion. Now that 1:N support was added, the
workaround can be deleted. The test remains in place, as an example for
how to write such a transformation with the dialect conversion
framework.
Note for LLVM integration: If you are using
`DecomposeCallGraphTypes.cpp`, switch to the patterns that are used in
`TestDecomposeCallGraphTypes.cpp`.
Commit: 6faf17b7626bfdeea977a7a333c6e20ed677615d
https://github.com/llvm/llvm-project/commit/6faf17b7626bfdeea977a7a333c6e20ed677615d
Author: Mingming Liu <mingmingl at google.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/IR/ModuleSummaryIndex.cpp
M llvm/lib/Transforms/IPO/FunctionImport.cpp
M llvm/test/ThinLTO/X86/import_callee_declaration.ll
Log Message:
-----------
[ThinLTO]Supports declaration import for global variables in distributed ThinLTO (#117616)
When `-import-declaration` option is enabled, declaration import is
supported for functions. https://github.com/llvm/llvm-project/pull/88024
has the context for this option.
This patch supports declaration import for global variables in
distributed ThinLTO. The motivating use case is to propagate `dso_local`
attribute of global variables across modules, to optimize global
variable access when a binary is built with
`-fno-direct-access-external-data`.
* With `-fdirect-access-external-data`, non thread-local global
variables will [have `dso_local`
attributes](https://github.com/llvm/llvm-project/blob/fe3c23b439b9a2d00442d9bc6a4ca86f73066a3d/clang/lib/CodeGen/CodeGenModule.cpp#L1730-L1746).
This optimizes the global variable access as shown by
https://gcc.godbolt.org/z/vMzWcKdh3
Commit: b2dd4fabacd72d650a15116f361b1aa0020e2368
https://github.com/llvm/llvm-project/commit/b2dd4fabacd72d650a15116f361b1aa0020e2368
Author: Mingming Liu <mingmingl at google.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M llvm/test/ThinLTO/X86/distributed_indexes.ll
Log Message:
-----------
[NFC]Update a ThinLTO test case (#117584)
Run `function-import` pass in a similar way that it runs in a ThinLTO
distributed backend compile and checks that function alias is imported
as a definition. More accurately, the function alias
[is](https://github.com/llvm/llvm-project/blob/0c98776159cea0d1f391a8e1ac290483d4490240/llvm/lib/Transforms/IPO/FunctionImport.cpp#L1912)
a
[clone](https://github.com/llvm/llvm-project/blob/0c98776159cea0d1f391a8e1ac290483d4490240/llvm/lib/Transforms/IPO/FunctionImport.cpp#L1782)
of the aliasee function.
Commit: b80a157d12ebeebb85fa0a1e53beb5b46dc16d36
https://github.com/llvm/llvm-project/commit/b80a157d12ebeebb85fa0a1e53beb5b46dc16d36
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
A llvm/test/CodeGen/AMDGPU/v_ashr_pk.ll
Log Message:
-----------
AMDGPU: Add codegen support for gfx950 v_ashr_pk_i8/u8_i32 (#118304)
Co-authored-by: Sirish Pande <Sirish.Pande at amd.com>
Commit: 0a96161beb161933e64e188bfb0754df494c3a58
https://github.com/llvm/llvm-project/commit/0a96161beb161933e64e188bfb0754df494c3a58
Author: Dave Lee <davelee.com at gmail.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M lldb/include/lldb/DataFormatters/DumpValueObjectOptions.h
M lldb/source/DataFormatters/DumpValueObjectOptions.cpp
M lldb/source/DataFormatters/ValueObjectPrinter.cpp
M lldb/source/Interpreter/OptionGroupValueObjectDisplay.cpp
Log Message:
-----------
[lldb] Simplify DumpValueObjectOptions::PointerDepth (NFC) (#117504)
`Mode::Always` and `Mode::Default` are handled identically.
`Mode::Never` is the same as having a count of 0.
Commit: 897dbdeab7e86248183f2e20cb1ae35e59551f62
https://github.com/llvm/llvm-project/commit/897dbdeab7e86248183f2e20cb1ae35e59551f62
Author: Nico Weber <thakis at chromium.org>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/bolt/unittests/Core/BUILD.gn
Log Message:
-----------
[gn] port 51003076ebc1
Commit: a2cb2088e766eaadfd6d573d379d5c692262e24f
https://github.com/llvm/llvm-project/commit/a2cb2088e766eaadfd6d573d379d5c692262e24f
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-deinterleave.ll
Log Message:
-----------
[RISCV] Fix a typo in a deinterleave test
This was supposed to test a deinterleave Factor=4, Offset=1, but had an
off by one in the shuffle mask.
Commit: f71ea4bc1b01fd7e29048db82b3e21fba74e8dab
https://github.com/llvm/llvm-project/commit/f71ea4bc1b01fd7e29048db82b3e21fba74e8dab
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/revec.ll
Log Message:
-----------
[SLP][REVEC] reorderNodeWithReuses should not be called if all users of a TreeEntry are ShuffleVectorInst. (#118260)
Commit: c3536b263f253a69fb336fb0617ee33a01a5c5dd
https://github.com/llvm/llvm-project/commit/c3536b263f253a69fb336fb0617ee33a01a5c5dd
Author: Dan Gohman <dev at sunfishcode.online>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Basic/Targets/WebAssembly.cpp
M clang/lib/Basic/Targets/WebAssembly.h
M lld/test/wasm/compress-relocs.ll
M lld/test/wasm/import-table-explicit.s
M lld/test/wasm/invalid-mvp-table-use.s
M lld/test/wasm/lto/Inputs/libcall-archive.ll
M lld/test/wasm/lto/libcall-archive.ll
M lld/test/wasm/lto/stub-library-libcall.s
M lld/test/wasm/multi-table.s
M lld/wasm/InputFiles.cpp
M lld/wasm/SyntheticSections.cpp
M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp
M llvm/lib/Target/WebAssembly/WebAssembly.td
M llvm/lib/Target/WebAssembly/WebAssemblyFastISel.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyInstrBulkMemory.td
M llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.td
M llvm/lib/Target/WebAssembly/WebAssemblySelectionDAGInfo.cpp
M llvm/lib/Target/WebAssembly/WebAssemblySubtarget.cpp
M llvm/lib/Target/WebAssembly/WebAssemblySubtarget.h
M llvm/lib/Target/WebAssembly/WebAssemblyUtilities.cpp
M llvm/test/CodeGen/WebAssembly/call-indirect.ll
M llvm/test/CodeGen/WebAssembly/cfg-stackify-eh-legacy.ll
M llvm/test/CodeGen/WebAssembly/cfg-stackify-eh.ll
M llvm/test/CodeGen/WebAssembly/disable-feature.ll
M llvm/test/CodeGen/WebAssembly/function-pointer64.ll
M llvm/test/CodeGen/WebAssembly/reference-types.ll
M llvm/test/CodeGen/WebAssembly/target-features-attrs.ll
M llvm/test/CodeGen/WebAssembly/target-features-cpus.ll
M llvm/test/CodeGen/WebAssembly/target-features-tls.ll
M llvm/test/MC/WebAssembly/extern-functype-intrinsic.ll
M llvm/test/MC/WebAssembly/function-alias.ll
M llvm/test/MC/WebAssembly/libcall.ll
Log Message:
-----------
[WebAssembly] Define call-indirect-overlong and bulk-memory-opt features (#117087)
This defines some new target features. These are subsets of existing
features that reflect implementation concerns:
- "call-indirect-overlong" - implied by "reference-types"; just the
overlong encoding for the `call_indirect` immediate, and not the actual
reference types.
- "bulk-memory-opt" - implied by "bulk-memory": just `memory.copy` and
`memory.fill`, and not the other instructions in the bulk-memory
proposal.
This is split out from https://github.com/llvm/llvm-project/pull/112035.
---------
Co-authored-by: Heejin Ahn <aheejin at gmail.com>
Commit: 7907292daa781aaba2be531a8599998f5fd3f645
https://github.com/llvm/llvm-project/commit/7907292daa781aaba2be531a8599998f5fd3f645
Author: fengfeng <153487255+fengfeng09 at users.noreply.github.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
A llvm/test/CodeGen/AArch64/apply-disjoint-flag-in-dagcombine.ll
Log Message:
-----------
[DAG] Apply Disjoint flag. (#118045)
or disjoint (or disjoint (x, c0), c1)
-->
or disjont x, or (c0, c1)
Alive2: https://alive2.llvm.org/ce/z/3wPth5
---------
Signed-off-by: feng.feng <feng.feng at iluvatar.com>
Commit: 814ed93e48db4d95965258e64e8580056828a264
https://github.com/llvm/llvm-project/commit/814ed93e48db4d95965258e64e8580056828a264
Author: c8ef <c8ef at outlook.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/Builtins.td
M clang/lib/AST/ExprConstant.cpp
M clang/test/CodeGen/builtins-elementwise-math.c
M clang/test/Sema/constant_builtins_vector.cpp
Log Message:
-----------
[clang] constexpr built-in elementwise bitreverse function. (#118177)
Part of #51787.
This patch adds constexpr support for the built-in elementwise
bitreverse function.
Commit: 1724188c19f363c877fcf1bca86d92af3864b338
https://github.com/llvm/llvm-project/commit/1724188c19f363c877fcf1bca86d92af3864b338
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M llvm/lib/ObjectYAML/ELFEmitter.cpp
M llvm/test/tools/yaml2obj/ELF/note-section.yaml
Log Message:
-----------
[ObjectYAML][ELF] Take alignment into account when generating notes (#118157)
The [System V ABI](https://www.sco.com/developers/gabi/latest/ch5.pheader.html#note_section)
states that the note entries and their descriptor fields must be aligned
to 4 or 8 bytes for 32-bit or 64-bit objects respectively. In practice,
64-bit systems can use both alignments, with the actual format being
determined by the alignment of the segment. For example, the
[Linux gABI extension](https://github.com/hjl-tools/linux-abi/wiki/linux-abi-draft.pdf)
contains a special note on this, see 2.1.7 "Alignment of Note Sections".
This patch adjusts the format of the generated notes to the specified
section alignment. Since `llvm-readobj` was fixed in a similar way in
[D150022](https://reviews.llvm.org/D150022), "[Object] Fix handling of
Elf_Nhdr with sh_addralign=8", the generated notes can now be parsed
successfully by the tool.
Commit: fb140125ac679c33c2c663062c6409e09fc885b9
https://github.com/llvm/llvm-project/commit/fb140125ac679c33c2c663062c6409e09fc885b9
Author: Lang Hames <lhames at gmail.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/Core.cpp
Log Message:
-----------
[ORC] Fix typo in comment. NFC.
Commit: 9ea993f975b045679907a0789d6fd4d7180593a0
https://github.com/llvm/llvm-project/commit/9ea993f975b045679907a0789d6fd4d7180593a0
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaDecl.cpp
M clang/test/SemaCXX/lambda-capture-type-deduction.cpp
Log Message:
-----------
[Clang] Recover GLTemplateParameterList for generic lambdas in RebuildLambdaScopeInfo (#118176)
The NTTP argument appearing inside a trailing return type of a generic
lambda would have us check for potential lambda captures, where the
function needs GLTemplateParameterList of the current LSI to tell
whether the lambda is generic.
The lambda scope in this context is rebuilt by the
LambdaScopeForCallOperatorInstantiationRAII when substituting the lambda
operator during template argument deduction. Thus, I think the template
parameter list should be preserved in the rebuilding process, as it
seems otherwise innocuous to me.
Fixes #115931
Commit: eb3f1aec6eff08ce1c76259bb0801f6457a55400
https://github.com/llvm/llvm-project/commit/eb3f1aec6eff08ce1c76259bb0801f6457a55400
Author: LiqinWeng <liqin.weng at spacemit.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/RISCV/fp-min-max-abs.ll
M llvm/test/Analysis/CostModel/RISCV/fp-sqrt-pow.ll
M llvm/test/Analysis/CostModel/RISCV/int-bit-manip.ll
M llvm/test/Analysis/CostModel/RISCV/int-sat-math.ll
Log Message:
-----------
[TTI][RISCV] Implement cost of some intrinsics with LMUL (#117874)
Intrinsics include:
sadd_sat/ssub_sat/uadd_sat/usub_sat/fabs/fsqrt/cttz/ctlz/ctpop
Commit: 95979717e1122d4bb473efef2447ae92c24c9381
https://github.com/llvm/llvm-project/commit/95979717e1122d4bb473efef2447ae92c24c9381
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M llvm/lib/ObjectYAML/ELFEmitter.cpp
M llvm/test/tools/yaml2obj/ELF/note-section.yaml
Log Message:
-----------
Revert "[ObjectYAML][ELF] Take alignment into account when generating notes (#118157)"
This reverts commit 1724188c19f363c877fcf1bca86d92af3864b338.
Some build bots reported a failure in the updated test
Commit: fc9052ee258e35c5aaba3dc2c1419870975f3a7a
https://github.com/llvm/llvm-project/commit/fc9052ee258e35c5aaba3dc2c1419870975f3a7a
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
Log Message:
-----------
[clang][bytecode] Check __builtin_memcpy for null pointers (#118313)
Commit: 2af2634c64b1c6f34c4905b24863b930effe3b9c
https://github.com/llvm/llvm-project/commit/2af2634c64b1c6f34c4905b24863b930effe3b9c
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-load.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave.ll
Log Message:
-----------
[RISCV] Use vcompress in deinterleave2 intrinsic lowering (#118325)
This is analogous to febbf91 which added shuffle lowering using
vcompress; we can do the same thing in the deinterleave2 lowering path
which is used for scalable vectors.
Note that we can further improve this for high lmul usage by adjusting
how we materialize the mask (whose result is at most m1 with a known bit
pattern). I am deliberately staging the work so that the changes to
reduce register pressure are more easily evaluated on their own merit.
Commit: 2f5bfb41e2e0c4178627a3492beed35f8143ce2f
https://github.com/llvm/llvm-project/commit/2f5bfb41e2e0c4178627a3492beed35f8143ce2f
Author: hstk30-hw <hanwei62 at huawei.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M llvm/test/tools/llvm-objdump/ELF/AArch64/mattr.s
M llvm/tools/llvm-objdump/llvm-objdump.cpp
Log Message:
-----------
[llvm-objdump] Default to --mattr=+all for AArch64be and AArch64_32 (#118311)
GNU objdump disassembles all unknown instructions by default.
Complement for [D128030](https://reviews.llvm.org/D128030)。
Commit: 877b934831d491e4388b82794cded417b1b11862
https://github.com/llvm/llvm-project/commit/877b934831d491e4388b82794cded417b1b11862
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M compiler-rt/cmake/Modules/CompilerRTDarwinUtils.cmake
Log Message:
-----------
[CompilerRT] Remove sanitizer support for i386 watchsim (#117013)
This patch removes remaining support for i386 simulators, watch was the
only one left though.
resolves: rdar://102741146
Commit: 295d6b18f77fc67c186c031204a82ff82cf59daa
https://github.com/llvm/llvm-project/commit/295d6b18f77fc67c186c031204a82ff82cf59daa
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
M llvm/test/Transforms/InstCombine/lshr.ll
Log Message:
-----------
[InstCombine] Fold `(X * (Y << K)) u>> K -> X * Y` when highbits are not demanded (#111151)
Alive2: https://alive2.llvm.org/ce/z/Z7QgjH
Commit: 6ef4990daa1da215b25b1802f5d03cf1044f72bf
https://github.com/llvm/llvm-project/commit/6ef4990daa1da215b25b1802f5d03cf1044f72bf
Author: Lang Hames <lhames at gmail.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/Core.cpp
M llvm/unittests/ExecutionEngine/Orc/CoreAPIsTest.cpp
Log Message:
-----------
Re-apply "[ORC] Track all dependencies on symbols that aren't..." with fixes.
This reapplies 427fb5cc5ac, which was reverted in 08c1a6b3e18 due to bot
failures.
The fix was to remove an incorrect assertion: In IL_emit, during the initial
worklist loop, an EDU can have all of its dependencies removed without becoming
ready (because it may still have implicit dependencies that will be added back
during the subsequent propagateExtraEmitDeps operation). The EDU will be marked
Ready at the end of IL_emit if its Dependencies set is empty at that point.
Prior to that we can only assert that it's either Emitted or Ready (which is
already covered by other assertions).
Commit: aba6bb0820b247d4caf4b5e00810909214a58053
https://github.com/llvm/llvm-project/commit/aba6bb0820b247d4caf4b5e00810909214a58053
Author: Lang Hames <lhames at gmail.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
M llvm/lib/ExecutionEngine/Orc/COFFPlatform.cpp
M llvm/lib/ExecutionEngine/Orc/ELFNixPlatform.cpp
M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
M llvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp
Log Message:
-----------
[ORC][JITLink] Add jitlink::Scope::SideEffectsOnly, use it in ORC Platforms.
SideEffectsOnly is a new jitlink::Scope value that corresponds to the
JITSymbolFlags::MaterializationSideEffectsOnly flag: Symbols with this scope
can be looked up (and form part of the initial interface of a LinkGraph) but
never actually resolve to an address (so can only be looked up with a
WeaklyReferencedSymbol lookup).
Previously ObjectLinkingLayer implicitly treated JITLink symbols as having this
scope, regardless of a Symbol's actual scope, if the
MaterializationSideEffectsOnly flag was set on the corresponding symbol in the
MaterializationResponsibility object. Using an explicit scope in JITLink for
this (1) allows JITLink plugins to identify and correctly handle
side-effects-only symbols, and (2) allows raw LinkGraphs to define
side-effects-only symbols without clients having to manually modify their
`MaterializationUnit::Interface`.
Commit: 28e2a8912102ac442166a593f2efb15c5bd30346
https://github.com/llvm/llvm-project/commit/28e2a8912102ac442166a593f2efb15c5bd30346
Author: Lang Hames <lhames at gmail.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
M llvm/lib/ExecutionEngine/Orc/COFFPlatform.cpp
M llvm/lib/ExecutionEngine/Orc/ELFNixPlatform.cpp
M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
M llvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp
Log Message:
-----------
Revert "[ORC][JITLink] Add jitlink::Scope::SideEffectsOnly, use it in ORC Platforms."
This reverts commit aba6bb0820b247d4caf4b5e00810909214a58053 while I investigate bot
failures (e.g. https://lab.llvm.org/buildbot/#/builders/143/builds/3848)
Commit: dac9736d05f51b47633b51d599a07ff8d1d65df3
https://github.com/llvm/llvm-project/commit/dac9736d05f51b47633b51d599a07ff8d1d65df3
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
Log Message:
-----------
[clang][bytecode][NFC] Diagnose no-constexpr memcpy/strlen versions (#118429)
Commit: de415fbb450d0e15c535f0ccc135e2368a15bf6f
https://github.com/llvm/llvm-project/commit/de415fbb450d0e15c535f0ccc135e2368a15bf6f
Author: Rajat Bajpai <rbajpai at nvidia.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/test/Transforms/InstCombine/fcmp-fadd-select.ll
M llvm/test/Transforms/InstCombine/fcmp-select.ll
M llvm/test/Transforms/InstCombine/fneg.ll
M llvm/test/Transforms/InstCombine/minmax-fp.ll
M llvm/test/Transforms/InstCombine/unordered-fcmp-select.ll
Log Message:
-----------
[InstCombine][FP] Fix nnan preservation for transform fcmp + sel => fmax/fmin (#117977)
Preserve `nnan` constraint only if present on both `fcmp` and `select`.
Alive2: https://alive2.llvm.org/ce/z/ZNDjzt
Commit: 45162635bf657eb0a6cdebc6398fada974981c64
https://github.com/llvm/llvm-project/commit/45162635bf657eb0a6cdebc6398fada974981c64
Author: Thorsten Schütt <schuett at gmail.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/test/CodeGen/AArch64/GlobalISel/combine-cast.mir
M llvm/test/CodeGen/AArch64/extract-vector-elt.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-amdgpu-cvt-f32-ubyte.mir
M llvm/test/CodeGen/AMDGPU/shrink-add-sub-constant.ll
Log Message:
-----------
[GlobalISel] Combine [s,z]ext of undef into 0 (#117439)
Alternative for https://github.com/llvm/llvm-project/pull/113764
It builds on a minimalistic approach with the legality check in match
and a blind apply. The precise patterns are used for better compile-time
and modularity. It also moves the pattern check into combiner. While
unary_undef_to_zero and propagate_undef_any_op rely on custom C++ code
for pattern matching.
Is there a limit on the number of patterns?
G_ANYEXT of undef -> undef
G_SEXT of undef -> 0
G_ZEXT of undef -> 0
The combine is not a member of the post legalizer combiner for AArch64.
Test:
llvm/test/CodeGen/AArch64/GlobalISel/combine-cast.mir
Commit: 789551362e20c1adf1f292a256b7276c2045d4e1
https://github.com/llvm/llvm-project/commit/789551362e20c1adf1f292a256b7276c2045d4e1
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
Log Message:
-----------
[clang][bytecode] Handle memmove like memcpy (#118431)
This is the same thing for us, except for diagnostic differences.
Commit: e776484a02194986028424ef5a5a782de0a681c2
https://github.com/llvm/llvm-project/commit/e776484a02194986028424ef5a5a782de0a681c2
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-02 (Mon, 02 Dec 2024)
Changed paths:
M llvm/include/llvm/Support/InstructionCost.h
Log Message:
-----------
[InstructionCost] Optimize operator==
`!(*this < RHS) && !(RHS < *this)` is difficult for the optimizer to
reason about.
Commit: 4b4b8fc138b342502850a9b857fef35e1b13360c
https://github.com/llvm/llvm-project/commit/4b4b8fc138b342502850a9b857fef35e1b13360c
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M .github/workflows/docs.yml
R bolt/CODE_OWNERS.TXT
A bolt/Maintainers.txt
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/lib/Profile/DataAggregator.cpp
M bolt/unittests/Core/CMakeLists.txt
A bolt/unittests/Core/MemoryMaps.cpp
M clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.h
M clang-tools-extra/docs/clang-tidy/checks/readability/container-size-empty.rst
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/arm_sve.td
M clang/include/clang/Driver/Options.td
M clang/include/clang/Sema/SemaOpenACC.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Integral.h
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/Type.cpp
M clang/lib/Basic/Targets/WebAssembly.cpp
M clang/lib/Basic/Targets/WebAssembly.h
M clang/lib/CIR/FrontendAction/CIRGenAction.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/lib/Sema/SemaAttr.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
A clang/test/AST/ByteCode/altivec.c
M clang/test/AST/ByteCode/builtin-functions.cpp
M clang/test/AST/ByteCode/vectors.cpp
M clang/test/AST/HLSL/StructuredBuffers-AST.hlsl
M clang/test/AST/HLSL/TypedBuffers-AST.hlsl
M clang/test/AST/ast-print-openacc-combined-construct.cpp
M clang/test/AST/attr-lifetime-capture-by.cpp
M clang/test/CXX/drs/cwg722.cpp
M clang/test/CXX/temp/temp.deduct.guide/p3.cpp
M clang/test/CodeGen/AArch64/pure-scalable-args.c
M clang/test/CodeGen/AArch64/sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.cpp
M clang/test/CodeGen/AArch64/sve-vls-arith-ops.c
M clang/test/CodeGen/AArch64/sve-vls-bitwise-ops.c
M clang/test/CodeGen/AArch64/sve-vls-compare-ops.c
M clang/test/CodeGen/AArch64/sve-vls-shift-ops.c
M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-cast.c
M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-codegen.c
M clang/test/CodeGen/RISCV/rvv-vls-arith-ops.c
M clang/test/CodeGen/RISCV/rvv-vls-bitwise-ops.c
M clang/test/CodeGen/RISCV/rvv-vls-compare-ops.c
M clang/test/CodeGen/RISCV/rvv-vls-shift-ops.c
M clang/test/CodeGen/alias.cpp
M clang/test/CodeGen/attr-arm-sve-vector-bits-cast.c
M clang/test/CodeGen/attr-arm-sve-vector-bits-codegen.c
M clang/test/CodeGen/attr-counted-by.c
M clang/test/CodeGen/builtins-elementwise-math.c
A clang/test/CodeGenCXX/aarch64-mangle-sme-atts.cpp
M clang/test/CodeGenHLSL/builtins/RWBuffer-constructor.hlsl
M clang/test/CodeGenHLSL/builtins/RWBuffer-elementtype.hlsl
M clang/test/CodeGenHLSL/builtins/RWBuffer-subscript.hlsl
M clang/test/CodeGenHLSL/builtins/RWStructuredBuffer-elementtype.hlsl
M clang/test/CodeGenHLSL/builtins/RasterizerOrderedStructuredBuffer-elementtype.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffer-elementtype.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffers-constructors.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffers-methods-lib.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffers-methods-ps.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffers-subscripts.hlsl
M clang/test/CodeGenHLSL/builtins/hlsl_resource_t.hlsl
M clang/test/CodeGenHLSL/implicit-norecurse-attrib.hlsl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx950-read-tr.cl
A clang/test/Driver/xtensa-char.c
A clang/test/Parser/cxx2c-oxford-variadic-comma.cpp
M clang/test/Sema/constant_builtins_vector.cpp
M clang/test/SemaCXX/lambda-capture-type-deduction.cpp
A clang/test/SemaHLSL/BuiltIns/resource_getpointer-errors.hlsl
M clang/test/SemaOpenACC/combined-construct-auto_seq_independent-clauses.c
A clang/test/SemaOpenACC/combined-construct-collapse-ast.cpp
A clang/test/SemaOpenACC/combined-construct-collapse-clause.cpp
A clang/test/SemaOpenACC/combined-construct-copy-ast.cpp
A clang/test/SemaOpenACC/combined-construct-copy-clause.c
A clang/test/SemaOpenACC/combined-construct-copy-clause.cpp
A clang/test/SemaOpenACC/combined-construct-copyin-ast.cpp
A clang/test/SemaOpenACC/combined-construct-copyin-clause.c
A clang/test/SemaOpenACC/combined-construct-copyin-clause.cpp
A clang/test/SemaOpenACC/combined-construct-copyout-ast.cpp
A clang/test/SemaOpenACC/combined-construct-copyout-clause.c
A clang/test/SemaOpenACC/combined-construct-copyout-clause.cpp
A clang/test/SemaOpenACC/combined-construct-create-ast.cpp
A clang/test/SemaOpenACC/combined-construct-create-clause.c
A clang/test/SemaOpenACC/combined-construct-create-clause.cpp
M clang/test/SemaOpenACC/combined-construct-default-clause.c
M clang/test/SemaOpenACC/combined-construct-default-clause.cpp
M clang/test/SemaOpenACC/combined-construct-device_type-clause.c
A clang/test/SemaOpenACC/combined-construct-tile-ast.cpp
A clang/test/SemaOpenACC/combined-construct-tile-clause.cpp
M clang/test/SemaOpenACC/compute-construct-default-clause.c
M clang/unittests/AST/ASTImporterTest.cpp
M clang/utils/TableGen/SveEmitter.cpp
M clang/www/cxx_status.html
R compiler-rt/CODE_OWNERS.TXT
A compiler-rt/Maintainers.txt
M compiler-rt/cmake/Modules/CompilerRTDarwinUtils.cmake
M compiler-rt/cmake/base-config-ix.cmake
M compiler-rt/cmake/caches/hexagon-linux-clangrt.cmake
M compiler-rt/lib/builtins/cpu_model/x86.c
M compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp
M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
M compiler-rt/test/builtins/Unit/atomic_test.c
M compiler-rt/test/builtins/Unit/extendhfxf2_test.c
M compiler-rt/test/builtins/Unit/fp_test.h
A compiler-rt/test/rtsan/syscall.cpp
M flang/docs/Extensions.md
M flang/examples/FeatureList/FeatureList.cpp
M flang/examples/FlangOmpReport/FlangOmpReportVisitor.cpp
M flang/examples/FlangOmpReport/FlangOmpReportVisitor.h
M flang/include/flang/Common/Fortran-features.h
M flang/include/flang/Optimizer/Builder/HLFIRTools.h
M flang/include/flang/Optimizer/CodeGen/Target.h
M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Semantics/openmp-modifiers.h
M flang/lib/Common/Fortran-features.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Lower/OpenMP/Clauses.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/CodeGen/Target.cpp
M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
M flang/lib/Optimizer/HLFIR/Transforms/BufferizeHLFIR.cpp
M flang/lib/Parser/CMakeLists.txt
M flang/lib/Parser/Fortran-parsers.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/parse-tree.cpp
M flang/lib/Parser/prescan.cpp
M flang/lib/Parser/type-parsers.h
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/openmp-modifiers.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/runtime/edit-input.cpp
M flang/test/Fir/target-rewrite-boxchar.fir
M flang/test/Fir/target.fir
A flang/test/HLFIR/eval_in_mem-codegen.fir
A flang/test/HLFIR/eval_in_mem.fir
M flang/test/HLFIR/invalid.fir
A flang/test/Lower/OpenMP/DelayedPrivatization/wsloop.f90
A flang/test/Lower/OpenMP/Todo/atomic-compare.f90
M flang/test/Parser/OpenMP/affinity-clause.f90
M flang/test/Parser/OpenMP/allocators-unparse.f90
A flang/test/Parser/OpenMP/atomic-compare.f90
M flang/test/Parser/OpenMP/atomic-unparse.f90
M flang/test/Parser/OpenMP/bind-clause.f90
M flang/test/Parser/OpenMP/declare_target-device_type.f90
M flang/test/Parser/OpenMP/depobj-construct.f90
M flang/test/Parser/OpenMP/if-clause-unparse.f90
M flang/test/Parser/OpenMP/if-clause.f90
M flang/test/Parser/OpenMP/lastprivate-clause.f90
M flang/test/Parser/OpenMP/proc-bind.f90
M flang/test/Parser/OpenMP/target-loop-unparse.f90
M flang/test/Parser/OpenMP/target_device_parse.f90
M flang/test/Parser/OpenMP/target_device_unparse.f90
M flang/test/Parser/OpenMP/taskloop.f90
A flang/test/Parser/decl-char-length.f90
A flang/test/Preprocessing/bug117297.F90
M flang/test/Semantics/OpenMP/allocate-clause01.f90
M flang/test/Semantics/OpenMP/allocators01.f90
M flang/test/Semantics/OpenMP/allocators04.f90
M flang/test/Semantics/OpenMP/allocators05.f90
M flang/test/Semantics/OpenMP/allocators06.f90
A flang/test/Semantics/OpenMP/atomic-compare.f90
M flang/test/Semantics/OpenMP/atomic.f90
M flang/test/Semantics/OpenMP/clause-validity01.f90
M flang/test/Semantics/OpenMP/depend05.f90
M flang/test/Semantics/OpenMP/if-clause.f90
M flang/test/Semantics/OpenMP/resolve06.f90
M flang/test/Semantics/call14.f90
M flang/test/Semantics/expr-errors06.f90
M flang/test/Semantics/resolve58.f90
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/llvm-libc-macros/time-macros.h
M libc/newhdrgen/yaml/time.yaml
M libc/shared/rpc_opcodes.h
M libc/spec/stdc.td
M libc/src/__support/GPU/allocator.cpp
M libc/src/__support/OSUtil/gpu/exit.cpp
M libc/src/__support/OSUtil/gpu/io.cpp
M libc/src/__support/threads/linux/rwlock.h
M libc/src/gpu/rpc_host_call.cpp
M libc/src/stdio/gpu/clearerr.cpp
M libc/src/stdio/gpu/fclose.cpp
M libc/src/stdio/gpu/feof.cpp
M libc/src/stdio/gpu/ferror.cpp
M libc/src/stdio/gpu/fflush.cpp
M libc/src/stdio/gpu/fgets.cpp
M libc/src/stdio/gpu/file.h
M libc/src/stdio/gpu/fopen.cpp
M libc/src/stdio/gpu/fseek.cpp
M libc/src/stdio/gpu/ftell.cpp
M libc/src/stdio/gpu/puts.cpp
M libc/src/stdio/gpu/remove.cpp
M libc/src/stdio/gpu/rename.cpp
M libc/src/stdio/gpu/ungetc.cpp
M libc/src/stdio/gpu/vfprintf_utils.h
M libc/src/stdlib/gpu/abort.cpp
M libc/src/stdlib/gpu/system.cpp
M libc/src/time/CMakeLists.txt
A libc/src/time/baremetal/CMakeLists.txt
A libc/src/time/baremetal/timespec_get.cpp
M libc/src/time/gpu/CMakeLists.txt
A libc/src/time/gpu/timespec_get.cpp
M libc/src/time/linux/CMakeLists.txt
A libc/src/time/linux/timespec_get.cpp
A libc/src/time/timespec_get.h
M libc/test/integration/startup/gpu/rpc_test.cpp
M libc/test/src/time/CMakeLists.txt
A libc/test/src/time/timespec_get_test.cpp
M libc/utils/gpu/loader/Loader.h
M libc/utils/gpu/server/rpc_server.cpp
M libcxx/docs/Status/Cxx23Papers.csv
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/include/chrono
M libcxx/src/CMakeLists.txt
M libcxx/test/libcxx/clang_tidy.gen.py
M libcxx/test/tools/clang_tidy_checks/CMakeLists.txt
M libcxx/utils/synchronize_csv_status_files.py
M lld/Common/ErrorHandler.cpp
M lld/ELF/Arch/AArch64.cpp
M lld/ELF/Arch/ARM.cpp
M lld/ELF/Arch/LoongArch.cpp
M lld/ELF/Arch/Mips.cpp
M lld/ELF/Arch/PPC.cpp
M lld/ELF/Arch/PPC64.cpp
M lld/ELF/Arch/RISCV.cpp
M lld/ELF/InputSection.cpp
M lld/ELF/Relocations.cpp
M lld/ELF/Relocations.h
M lld/ELF/SyntheticSections.cpp
M lld/test/wasm/compress-relocs.ll
M lld/test/wasm/import-table-explicit.s
M lld/test/wasm/invalid-mvp-table-use.s
M lld/test/wasm/lto/Inputs/libcall-archive.ll
M lld/test/wasm/lto/libcall-archive.ll
M lld/test/wasm/lto/stub-library-libcall.s
M lld/test/wasm/multi-table.s
M lld/wasm/InputFiles.cpp
M lld/wasm/SyntheticSections.cpp
M lldb/include/lldb/DataFormatters/DumpValueObjectOptions.h
M lldb/packages/Python/lldbsuite/test/lldbtest.py
M lldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py
M lldb/source/Commands/CommandObjectDWIMPrint.cpp
M lldb/source/DataFormatters/DumpValueObjectOptions.cpp
M lldb/source/DataFormatters/ValueObjectPrinter.cpp
M lldb/source/Interpreter/OptionGroupValueObjectDisplay.cpp
M lldb/test/API/commands/dwim-print/Makefile
M lldb/test/API/commands/dwim-print/TestDWIMPrint.py
R lldb/test/API/commands/dwim-print/main.c
A lldb/test/API/commands/dwim-print/main.cpp
M llvm/CMakeLists.txt
M llvm/Maintainers.md
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/include/llvm/Frontend/OpenMP/ClauseT.h
M llvm/include/llvm/IR/IntrinsicsDirectX.td
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/include/llvm/LineEditor/LineEditor.h
M llvm/include/llvm/Support/InstructionCost.h
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/include/llvm/Transforms/Utils/UnrollLoop.h
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/LazyValueInfo.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/RegisterCoalescer.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/ExecutionEngine/Orc/Core.cpp
M llvm/lib/IR/ModuleSummaryIndex.cpp
M llvm/lib/LineEditor/LineEditor.cpp
M llvm/lib/Object/RecordStreamer.h
M llvm/lib/Support/FormattedStream.cpp
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.h
M llvm/lib/Target/AMDGPU/DSInstructions.td
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/SIAnnotateControlFlow.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/SIOptimizeVGPRLiveRange.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
M llvm/lib/Target/DirectX/DXILFinalizeLinkage.cpp
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
M llvm/lib/Target/Hexagon/HexagonPatterns.td
M llvm/lib/Target/RISCV/GISel/RISCVCallLowering.cpp
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
M llvm/lib/Target/RISCV/GISel/RISCVRegisterBankInfo.cpp
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/lib/Target/RISCV/RISCVFrameLowering.h
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp
M llvm/lib/Target/WebAssembly/WebAssembly.td
M llvm/lib/Target/WebAssembly/WebAssemblyFastISel.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyInstrBulkMemory.td
M llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.td
M llvm/lib/Target/WebAssembly/WebAssemblySelectionDAGInfo.cpp
M llvm/lib/Target/WebAssembly/WebAssemblySubtarget.cpp
M llvm/lib/Target/WebAssembly/WebAssemblySubtarget.h
M llvm/lib/Target/WebAssembly/WebAssemblyUtilities.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/TargetParser/Host.cpp
M llvm/lib/Transforms/IPO/FunctionImport.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
M llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
M llvm/lib/Transforms/Utils/LoopUnroll.cpp
M llvm/lib/Transforms/Utils/LoopUnrollAndJam.cpp
M llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Analysis/CostModel/RISCV/fp-min-max-abs.ll
M llvm/test/Analysis/CostModel/RISCV/fp-sqrt-pow.ll
M llvm/test/Analysis/CostModel/RISCV/int-bit-manip.ll
M llvm/test/Analysis/CostModel/RISCV/int-sat-math.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/intrinsics.ll
M llvm/test/CodeGen/AArch64/GlobalISel/combine-cast.mir
A llvm/test/CodeGen/AArch64/apply-disjoint-flag-in-dagcombine.ll
M llvm/test/CodeGen/AArch64/concat-vector.ll
M llvm/test/CodeGen/AArch64/extract-vector-elt.ll
A llvm/test/CodeGen/AArch64/stack-hazard-windows.ll
M llvm/test/CodeGen/AArch64/stack-hazard.ll
A llvm/test/CodeGen/AArch64/zeroing-forms-fcvt-bfcvt.ll
A llvm/test/CodeGen/AArch64/zeroing-forms-fcvtlt-fcvtx.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-amdgpu-cvt-f32-ubyte.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/mul.ll
M llvm/test/CodeGen/AMDGPU/fptrunc.f16.ll
M llvm/test/CodeGen/AMDGPU/hazards-gfx950.mir
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.pk.gfx950.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.read.tr.gfx950.ll
M llvm/test/CodeGen/AMDGPU/materialize-frame-index-sgpr.ll
M llvm/test/CodeGen/AMDGPU/mul.i16.ll
A llvm/test/CodeGen/AMDGPU/register-coalescer--set-undef-full-reg-use-implicit-def-erase-issue109249.mir
M llvm/test/CodeGen/AMDGPU/saddsat.ll
M llvm/test/CodeGen/AMDGPU/shrink-add-sub-constant.ll
M llvm/test/CodeGen/AMDGPU/ssubsat.ll
A llvm/test/CodeGen/AMDGPU/v_ashr_pk.ll
M llvm/test/CodeGen/ARM/2012-03-13-DAGCombineBug.ll
M llvm/test/CodeGen/DirectX/BufferStore-errors.ll
M llvm/test/CodeGen/DirectX/BufferStore.ll
A llvm/test/CodeGen/DirectX/finalize-linkage-intrinsics.ll
M llvm/test/CodeGen/DirectX/llc-pipeline.ll
A llvm/test/CodeGen/Hexagon/addrmode-neg-offset.ll
M llvm/test/CodeGen/RISCV/GlobalISel/double-intrinsics.ll
A llvm/test/CodeGen/RISCV/GlobalISel/float-fclass.ll
M llvm/test/CodeGen/RISCV/GlobalISel/float-intrinsics.ll
M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/calling-conv-ilp32-ilp32f-ilp32d-common.ll
M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/calling-conv-lp64-lp64f-lp64d-common.ll
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer-info-validation.mir
M llvm/test/CodeGen/RISCV/rv64-float-convert-strict.ll
M llvm/test/CodeGen/RISCV/rv64-float-convert.ll
M llvm/test/CodeGen/RISCV/rv64-half-convert-strict.ll
M llvm/test/CodeGen/RISCV/rv64-half-convert.ll
M llvm/test/CodeGen/RISCV/rvv/compressstore.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-changes-length.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-deinterleave.ll
M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-load.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave.ll
A llvm/test/CodeGen/RISCV/rvv/vl-opt-op-info.mir
M llvm/test/CodeGen/WebAssembly/call-indirect.ll
M llvm/test/CodeGen/WebAssembly/cfg-stackify-eh-legacy.ll
M llvm/test/CodeGen/WebAssembly/cfg-stackify-eh.ll
M llvm/test/CodeGen/WebAssembly/disable-feature.ll
M llvm/test/CodeGen/WebAssembly/function-pointer64.ll
M llvm/test/CodeGen/WebAssembly/reference-types.ll
M llvm/test/CodeGen/WebAssembly/target-features-attrs.ll
M llvm/test/CodeGen/WebAssembly/target-features-cpus.ll
M llvm/test/CodeGen/WebAssembly/target-features-tls.ll
M llvm/test/CodeGen/X86/pr50609.ll
M llvm/test/MC/AMDGPU/gfx950_asm_features.s
M llvm/test/MC/Disassembler/AMDGPU/gfx950_dasm_vop3.txt
M llvm/test/MC/WebAssembly/extern-functype-intrinsic.ll
M llvm/test/MC/WebAssembly/function-alias.ll
M llvm/test/MC/WebAssembly/libcall.ll
A llvm/test/MachineVerifier/RISCV/lit.local.cfg
M llvm/test/MachineVerifier/RISCV/subreg-liveness.mir
M llvm/test/ThinLTO/X86/distributed_indexes.ll
M llvm/test/ThinLTO/X86/import_callee_declaration.ll
M llvm/test/Transforms/CorrelatedValuePropagation/vectors.ll
A llvm/test/Transforms/InstCombine/AMDGPU/lane-index-simplify-demanded-bits.ll
A llvm/test/Transforms/InstCombine/canonicalize-const-to-bop.ll
M llvm/test/Transforms/InstCombine/fcmp-fadd-select.ll
M llvm/test/Transforms/InstCombine/fcmp-select.ll
M llvm/test/Transforms/InstCombine/fneg.ll
M llvm/test/Transforms/InstCombine/fpclass-from-dom-cond.ll
M llvm/test/Transforms/InstCombine/lshr.ll
M llvm/test/Transforms/InstCombine/minmax-fold.ll
M llvm/test/Transforms/InstCombine/minmax-fp.ll
M llvm/test/Transforms/InstCombine/saturating-add-sub.ll
M llvm/test/Transforms/InstCombine/select-value-equivalence.ll
M llvm/test/Transforms/InstCombine/select.ll
M llvm/test/Transforms/InstCombine/unordered-fcmp-select.ll
M llvm/test/Transforms/InstCombine/unsigned_saturated_sub.ll
M llvm/test/Transforms/InstSimplify/compare.ll
M llvm/test/Transforms/InstSimplify/icmp-monotonic.ll
A llvm/test/Transforms/LoopUnroll/AArch64/apple-unrolling.ll
M llvm/test/Transforms/PhaseOrdering/SystemZ/sub-xor.ll
M llvm/test/Transforms/SLPVectorizer/revec.ll
M llvm/test/tools/llvm-objdump/ELF/AArch64/mattr.s
M llvm/tools/llvm-objdump/llvm-objdump.cpp
M llvm/unittests/Frontend/OpenMPDecompositionTest.cpp
M llvm/unittests/Transforms/Utils/UnrollLoopTest.cpp
M llvm/utils/gn/secondary/bolt/unittests/Core/BUILD.gn
R mlir/include/mlir/Dialect/Func/Transforms/DecomposeCallGraphTypes.h
M mlir/include/mlir/Dialect/Utils/ReshapeOpsUtils.h
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
M mlir/lib/Dialect/Func/Transforms/CMakeLists.txt
R mlir/lib/Dialect/Func/Transforms/DecomposeCallGraphTypes.cpp
M mlir/lib/Dialect/Func/Transforms/FuncConversions.cpp
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/python/mlir/dialects/func.py
M mlir/test/Dialect/Tensor/canonicalize.mlir
M mlir/test/Dialect/Tensor/invalid.mlir
M mlir/test/lib/Dialect/Func/TestDecomposeCallGraphTypes.cpp
M mlir/test/python/dialects/func.py
M offload/DeviceRTL/CMakeLists.txt
M offload/DeviceRTL/src/Misc.cpp
M offload/DeviceRTL/src/exports
A offload/include/Shared/RPCOpcodes.h
M offload/plugins-nextgen/amdgpu/src/rtl.cpp
M offload/plugins-nextgen/common/CMakeLists.txt
M offload/plugins-nextgen/common/include/PluginInterface.h
M offload/plugins-nextgen/common/src/PluginInterface.cpp
M offload/plugins-nextgen/common/src/RPC.cpp
M offload/plugins-nextgen/cuda/src/rtl.cpp
A offload/test/api/omp_host_call.c
R offload/test/libc/host_call.c
Log Message:
-----------
.
Created using spr 1.3.5-bogner
Compare: https://github.com/llvm/llvm-project/compare/ba97d4d85d2c...4b4b8fc138b3
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list