[all-commits] [llvm/llvm-project] 523719: [NFC] Fix typos in comments
Justin Bogner via All-commits
all-commits at lists.llvm.org
Wed Nov 29 22:30:47 PST 2023
Branch: refs/heads/users/bogner/spr/clangsema-dont-say-is-declared-here-for-invalid-template-locations
Home: https://github.com/llvm/llvm-project
Commit: 5237193b87721134541f228e28edfd544a9c8ac8
https://github.com/llvm/llvm-project/commit/5237193b87721134541f228e28edfd544a9c8ac8
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2023-11-19 (Sun, 19 Nov 2023)
Changed paths:
M clang/lib/CodeGen/CodeGenFunction.cpp
Log Message:
-----------
[NFC] Fix typos in comments
Commit: 934245891361ab8568aba10d4381d21fe1e8b699
https://github.com/llvm/llvm-project/commit/934245891361ab8568aba10d4381d21fe1e8b699
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2023-11-18 (Sat, 18 Nov 2023)
Changed paths:
M .github/workflows/scorecard.yml
Log Message:
-----------
[Github] Prevent scorecard action from running on forks (#72780)
Currently, the scorecard action runs on forks. This means that every
recent fork will be periodically running a job that doesn't really make
a lot of sense to run outside the main monorepo. This patch fixes that
by restricting the job to only run in the monorepo.
Commit: aafd2119fa497e234a28ad7d912910e0a3e1296d
https://github.com/llvm/llvm-project/commit/aafd2119fa497e234a28ad7d912910e0a3e1296d
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2023-11-18 (Sat, 18 Nov 2023)
Changed paths:
M .github/workflows/scorecard.yml
Log Message:
-----------
[Github] Fix typo
I swore I copied the if statement from somewhere, but whatever I did to
it while moving it over dropped one of the equals signs. This patch
fixes that so the action will actually work properly.
Commit: 23c47eba879769a29772c999be2991201c2fe399
https://github.com/llvm/llvm-project/commit/23c47eba879769a29772c999be2991201c2fe399
Author: Brad Smith <brad at comstyle.com>
Date: 2023-11-19 (Sun, 19 Nov 2023)
Changed paths:
M clang/lib/Basic/Targets/OSTargets.h
M clang/test/CodeGenCXX/float128-declarations.cpp
Log Message:
-----------
[Driver] Enable __float128 support on X86 on FreeBSD / NetBSD (#72788)
Commit: 42204c94ba9fcb0b4b1335e648ce140a3eef8a9d
https://github.com/llvm/llvm-project/commit/42204c94ba9fcb0b4b1335e648ce140a3eef8a9d
Author: Bill Wendling <morbo at google.com>
Date: 2023-11-19 (Sun, 19 Nov 2023)
Changed paths:
M llvm/include/llvm/CodeGen/TargetInstrInfo.h
M llvm/lib/CodeGen/TargetInstrInfo.cpp
Log Message:
-----------
Revert "[TargetInstrInfo] enable foldMemoryOperand for InlineAsm (#70743)"
This reverts commit 99ee2db198d86f685bcb07a1495a7115ffc31d7e.
It's causing ICEs in the ARM tests. See the comment here:
https://github.com/llvm/llvm-project/commit/99ee2db198d86f685bcb07a1495a7115ffc31d7e
Commit: 5a305cea52bf45d4070b366fd7bc7592b6db0072
https://github.com/llvm/llvm-project/commit/5a305cea52bf45d4070b366fd7bc7592b6db0072
Author: philnik777 <nikolasklauser at berlin.de>
Date: 2023-11-19 (Sun, 19 Nov 2023)
Changed paths:
M libcxx/include/__string/char_traits.h
Log Message:
-----------
[libc++] Use __is_pointer_in_range for char_traits checks (#72643)
This allows us to also check the constraints during constant evaluation.
Commit: dfe1d35c629f2948c0e8cf29d926729b1dbc1709
https://github.com/llvm/llvm-project/commit/dfe1d35c629f2948c0e8cf29d926729b1dbc1709
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
M llvm/test/Transforms/InstCombine/sub-from-sub.ll
Log Message:
-----------
[InstCombine] Propagate NSW/NUW flags for `(X - Y) - Z -> X - (Y + Z)` (#72693)
Alive2: https://alive2.llvm.org/ce/z/gqeaVo
Related patch:
https://github.com/llvm/llvm-project/commit/31d219d2997fed1b7dc97e0adf170d5aaf65883e
Commit: 3af514e5aea2a3e7774c667232ccd0d611cf911a
https://github.com/llvm/llvm-project/commit/3af514e5aea2a3e7774c667232ccd0d611cf911a
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2023-11-19 (Sun, 19 Nov 2023)
Changed paths:
M llvm/test/Transforms/InstCombine/fold-sub-of-not-to-inc-of-add.ll
Log Message:
-----------
[InstCombine] Add tests for improving `sub X, ~Y` -> `add X, -Y`; NFC
Commit: f112e4693a9718ef55019ab4d68ede739b2dca3d
https://github.com/llvm/llvm-project/commit/f112e4693a9718ef55019ab4d68ede739b2dca3d
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2023-11-19 (Sun, 19 Nov 2023)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineNegator.cpp
M llvm/test/Analysis/ValueTracking/knownbits-and-or-xor-lowbit.ll
M llvm/test/Transforms/InstCombine/fold-sub-of-not-to-inc-of-add.ll
Log Message:
-----------
[InstCombine] Don't transform `sub X, ~Y` -> `add X, -Y` unless `Y` is actually negatable
This combine was previously adding instruction in some cases (see the
tests).
Closes #72767
Commit: 160a13a0cc98afc15c08bdeb07bec8f72b04e051
https://github.com/llvm/llvm-project/commit/160a13a0cc98afc15c08bdeb07bec8f72b04e051
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2023-11-19 (Sun, 19 Nov 2023)
Changed paths:
M llvm/test/CodeGen/X86/cmp-shiftX-maskX.ll
Log Message:
-----------
[X86] Add more tests for transform `(icmp eq/ne (and X,C0),(shift X,C1))`; PR71598
Commit: ed7c97e0ad335eec8d65c00d8f963fea3455d4cf
https://github.com/llvm/llvm-project/commit/ed7c97e0ad335eec8d65c00d8f963fea3455d4cf
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2023-11-19 (Sun, 19 Nov 2023)
Changed paths:
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.h
M llvm/test/CodeGen/X86/cmp-shiftX-maskX.ll
Log Message:
-----------
Recommit "[DAGCombiner] Transform `(icmp eq/ne (and X,C0),(shift X,C1))` to use rotate or to getter constants." (2nd Try)
Added missing check that the mask and shift amount added up to correct
bitwidth as well as test cases for the bug.
Closes #71729
Commit: 0f3a9efcbdc90b9e29dce405ee6c2ac5703fd63f
https://github.com/llvm/llvm-project/commit/0f3a9efcbdc90b9e29dce405ee6c2ac5703fd63f
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2023-11-19 (Sun, 19 Nov 2023)
Changed paths:
A llvm/test/Transforms/InstCombine/icmp-of-trunc-ext.ll
Log Message:
-----------
[InstCombine] Add tests for transforming `(icmp eq/ne trunc(x), truncOrZext(y))`; NFC
Commit: 99387e33dc750b35223a86f59f755d41d8614bd5
https://github.com/llvm/llvm-project/commit/99387e33dc750b35223a86f59f755d41d8614bd5
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2023-11-19 (Sun, 19 Nov 2023)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/test/Transforms/InstCombine/eq-of-parts.ll
M llvm/test/Transforms/InstCombine/icmp-of-trunc-ext.ll
Log Message:
-----------
[InstCombine] Add transforms for `(icmp uPred (trunc x),(truncOrZext(y)))`->`(icmp uPred x,y)`
Three transforms (all commutative):
https://alive2.llvm.org/ce/z/Bc-nh4
Closes #71309
Commit: aa6be2f7c94ea3302fcc1ab034a85cd375eaa800
https://github.com/llvm/llvm-project/commit/aa6be2f7c94ea3302fcc1ab034a85cd375eaa800
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2023-11-19 (Sun, 19 Nov 2023)
Changed paths:
M mlir/include/mlir/Dialect/Affine/Analysis/LoopAnalysis.h
M mlir/include/mlir/Dialect/Affine/IR/AffineOps.h
M mlir/include/mlir/Dialect/Affine/IR/AffineOps.td
M mlir/include/mlir/Dialect/Affine/LoopUtils.h
M mlir/lib/Dialect/Affine/Analysis/LoopAnalysis.cpp
M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
M mlir/lib/Dialect/Affine/Transforms/AffineDataCopyGeneration.cpp
M mlir/lib/Dialect/Affine/Utils/LoopFusionUtils.cpp
M mlir/lib/Dialect/Affine/Utils/LoopUtils.cpp
M mlir/lib/Dialect/Affine/Utils/Utils.cpp
M mlir/test/lib/Dialect/Affine/TestAffineDataCopy.cpp
Log Message:
-----------
[mlir][affine] implement `promoteIfSingleIteration` for `AffineForOp` (#72547)
Commit: 5603bb5f5001e88a490b8f9c11c6e8969037183b
https://github.com/llvm/llvm-project/commit/5603bb5f5001e88a490b8f9c11c6e8969037183b
Author: Fangrui Song <i at maskray.me>
Date: 2023-11-19 (Sun, 19 Nov 2023)
Changed paths:
M clang/test/Driver/lanai-unknown-unknown.cpp
R clang/test/Driver/mipsel-nacl-defines.cpp
M clang/test/Driver/wasm32-unknown-unknown.cpp
M clang/test/Driver/wasm64-unknown-unknown.cpp
M clang/test/Driver/x86_64-nacl-defines.cpp
Log Message:
-----------
[test] Fix misused Joined -e options
Some tests for the obsoleted NaCl misuse the -e for linking.
Commit: d1e9c7b68c80992decec5b23e92019c7263f066d
https://github.com/llvm/llvm-project/commit/d1e9c7b68c80992decec5b23e92019c7263f066d
Author: max <maksim.levental at gmail.com>
Date: 2023-11-19 (Sun, 19 Nov 2023)
Changed paths:
M mlir/include/mlir/Dialect/Affine/Analysis/LoopAnalysis.h
M mlir/include/mlir/Dialect/Affine/IR/AffineOps.h
M mlir/include/mlir/Dialect/Affine/IR/AffineOps.td
M mlir/include/mlir/Dialect/Affine/LoopUtils.h
M mlir/lib/Dialect/Affine/Analysis/LoopAnalysis.cpp
M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
M mlir/lib/Dialect/Affine/Transforms/AffineDataCopyGeneration.cpp
M mlir/lib/Dialect/Affine/Utils/LoopFusionUtils.cpp
M mlir/lib/Dialect/Affine/Utils/LoopUtils.cpp
M mlir/lib/Dialect/Affine/Utils/Utils.cpp
M mlir/test/lib/Dialect/Affine/TestAffineDataCopy.cpp
Log Message:
-----------
Revert "[mlir][affine] implement `promoteIfSingleIteration` for `AffineForOp` (#72547)"
This reverts commit aa6be2f7c94ea3302fcc1ab034a85cd375eaa800.
Commit: 9ae04a77d12667d1fe8a2392240a85bde9e490fc
https://github.com/llvm/llvm-project/commit/9ae04a77d12667d1fe8a2392240a85bde9e490fc
Author: Craig Topper <craig.topper at sifive.com>
Date: 2023-11-19 (Sun, 19 Nov 2023)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
Log Message:
-----------
[RISCV] Don't set nsw/nuw/exact flag after MachineCombiner reassociation.
This matches what PowerPC and X86 do.
Commit: 797b68c0ba699994e1038ac33d3083541482bf19
https://github.com/llvm/llvm-project/commit/797b68c0ba699994e1038ac33d3083541482bf19
Author: Martin Storsjö <martin at martin.st>
Date: 2023-11-19 (Sun, 19 Nov 2023)
Changed paths:
M lld/test/COFF/gc-dwarf-eh.s
M llvm/lib/MC/MCParser/AsmParser.cpp
R llvm/test/MC/AArch64/cfi-bad-nesting.s
Log Message:
-----------
Revert "[MC][AsmParser] Diagnose improperly nested .cfi frames"
This reverts commit 4323da926f12672daec7f59384bd153a7cf28674.
This broke building libffi for ARM on Windows (and probably Darwin),
where one extern function intentionally falls through to another
one, while sharing one CFI region.
As long as one isn't using .subsections_via_symbols on MachO,
this probably shouldn't be a hard error.
Secondly, the tested pattern only produces an error on MachO and
COFF targets, but not for ELF, making the error case even more
inconsistent.
Reverting this commit for now, to figure out the best way forward.
Commit: e16a8344d0efa33caddc147f9b316ba4734c99ff
https://github.com/llvm/llvm-project/commit/e16a8344d0efa33caddc147f9b316ba4734c99ff
Author: Owen Pan <owenpiano at gmail.com>
Date: 2023-11-19 (Sun, 19 Nov 2023)
Changed paths:
M clang/lib/Format/WhitespaceManager.h
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format][NFC] Skip alignArrayInitializers() for 1-row matrices (#72166)
Commit: 5860d248a780aaef860db3d54184b49fc758c3c1
https://github.com/llvm/llvm-project/commit/5860d248a780aaef860db3d54184b49fc758c3c1
Author: Owen Pan <owenpiano at gmail.com>
Date: 2023-11-19 (Sun, 19 Nov 2023)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/FormatTestComments.cpp
Log Message:
-----------
[clang-format] Fix a bug in aligning comments above PPDirective (#72791)
Fixed #72785.
Commit: cb3a605c5d453f9c6af8c44f84a11815aed7fe85
https://github.com/llvm/llvm-project/commit/cb3a605c5d453f9c6af8c44f84a11815aed7fe85
Author: Owen Pan <owenpiano at gmail.com>
Date: 2023-11-19 (Sun, 19 Nov 2023)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Fix a bug in isStartOfName() on macro definitions (#72768)
Fixed #72751.
Commit: edad025d1e1f8043637c65fed91060b327e85313
https://github.com/llvm/llvm-project/commit/edad025d1e1f8043637c65fed91060b327e85313
Author: Owen Pan <owenpiano at gmail.com>
Date: 2023-11-19 (Sun, 19 Nov 2023)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Correctly annotate braces of empty functions (#72733)
Also fixed some existing test cases.
Fixed #57305.
Fixed #58251.
Commit: 0f8406858afd758f60bd6a9873309a67a0ac5123
https://github.com/llvm/llvm-project/commit/0f8406858afd758f60bd6a9873309a67a0ac5123
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M .mailmap
Log Message:
-----------
[mailmap] Add my entry
Commit: eb7698254ab668e53133062fbc53b9635de95c4d
https://github.com/llvm/llvm-project/commit/eb7698254ab668e53133062fbc53b9635de95c4d
Author: Kai Luo <lkail at cn.ibm.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
M llvm/test/CodeGen/PowerPC/early-ifcvt-no-isel.mir
Log Message:
-----------
[PowerPC][EarlyIfConversion] Do not insert `isel` if subtarget doesn't support `isel` (#72211)
Some subtargets of PPC don't support `isel` instruction, early-ifcvt
should not insert this instruction.
Commit: a76adfb992c6f5a9b05fbcc2de5889d2531607db
https://github.com/llvm/llvm-project/commit/a76adfb992c6f5a9b05fbcc2de5889d2531607db
Author: Bill Wendling <5993918+bwendling at users.noreply.github.com>
Date: 2023-11-19 (Sun, 19 Nov 2023)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CodeGenFunction.h
Log Message:
-----------
[NFC][Clang] Refactor code to calculate flexible array member size (#72790)
The code that calculates the flexible array member size is big enough to
warrant its own method.
Commit: 3494c555c93c5f5cf5c36a84a819b80a4d922a82
https://github.com/llvm/llvm-project/commit/3494c555c93c5f5cf5c36a84a819b80a4d922a82
Author: Piyou Chen <piyou.chen at sifive.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M llvm/lib/Target/RISCV/RISCVRVVInitUndef.cpp
M llvm/test/CodeGen/RISCV/regalloc-last-chance-recoloring-failure.ll
A llvm/test/CodeGen/RISCV/rvv/handle-noreg-with-implicit-def.mir
Log Message:
-----------
[RISCV] postpone removal in initundef pass (#71661)
InitUndef pass need replace the implicit def with Undef pseudo, but
current remove method will make noreg2implicit borken.
This patch postpone the removal until all basicblock be processed.
Commit: 95d584c6ac5b518a66992293b4ff63fc05a81685
https://github.com/llvm/llvm-project/commit/95d584c6ac5b518a66992293b4ff63fc05a81685
Author: HaohaiWen <haohai.wen at intel.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/test/Transforms/InstCombine/funnel.ll
Log Message:
-----------
[InstCombine] Convert or concat to fshl if opposite or concat exists (#68502)
If there are two 'or' instructions concat variables in opposite order
and the first 'or' dominates the second one, the second 'or' can be
optimized to fshl to rotate shift first 'or'. This can eliminate an shl
and expose more optimization opportunity for bswap/bitreverse.
Commit: 69f64dedb09bf39bd3ad66bcbc2c947b23342a11
https://github.com/llvm/llvm-project/commit/69f64dedb09bf39bd3ad66bcbc2c947b23342a11
Author: Luke Lau <luke at igalia.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
Log Message:
-----------
[RISCV] Use DemandedFields instead of checking for vmv.s.x/vmv.x.s. NFC
The property we're explicitly looking for is whether or not MI only cares about
VL zeroness and not VL itself, so we can just use DemandedFields for this. This
should simplify an upcoming change in #72352
Commit: 933dd03386df3c0cfedf4fe6bc984d776f1298ca
https://github.com/llvm/llvm-project/commit/933dd03386df3c0cfedf4fe6bc984d776f1298ca
Author: Luke Lau <luke at igalia.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
Log Message:
-----------
[RISCV] Remove checks that MI's info is valid. NFC
It's always guaranteed to be valid since we compute it ourselves from MI.
This should simplify an upcoming change in #72352
Commit: 7cc54da16f25b1a4149b45d73e0fa42a2ee38e03
https://github.com/llvm/llvm-project/commit/7cc54da16f25b1a4149b45d73e0fa42a2ee38e03
Author: MaheshRavishankar <1663364+MaheshRavishankar at users.noreply.github.com>
Date: 2023-11-19 (Sun, 19 Nov 2023)
Changed paths:
M .github/CODEOWNERS
Log Message:
-----------
Add @MaheshRavishankar to CODEOWNERS on relevant source files. (#72449)
Commit: c1fe1900491ae773e45e41604af25312e5fc6559
https://github.com/llvm/llvm-project/commit/c1fe1900491ae773e45e41604af25312e5fc6559
Author: Muhammad Omair Javaid <omair.javaid at linaro.org>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M lldb/include/lldb/API/SBTarget.h
M lldb/source/API/SBTarget.cpp
M lldb/test/API/functionalities/postmortem/elf-core/TestLinuxCore.py
Log Message:
-----------
Revert "Add new API in SBTarget for loading core from SBFile (#71769)"
This reverts commit e2fb816c4f0286ddf8b1030148a343d5efc14e01.
It breaks TestLinuxCore.py on lldb-*-windows. See buildbot below:
https://lab.llvm.org/buildbot/#/builders/219/builds/7014
Commit: d572c4cdef4b3a2b1f57769233f33a1788f5172e
https://github.com/llvm/llvm-project/commit/d572c4cdef4b3a2b1f57769233f33a1788f5172e
Author: Qiu Chaofan <qiucofan at cn.ibm.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M clang/lib/Basic/Targets/PPC.cpp
M clang/test/Sema/128bitfloat.cpp
Log Message:
-----------
[PowerPC] Disable float128 on AIX in Clang (#67298)
PowerPC AIX backend does not support float128 at all. Diagnose even when
specifying -mfloat128 to avoid backend crash.
---------
Co-authored-by: Kai Luo <gluokai at gmail.com>
Commit: 592386400d515cdd043fe787e702fe96d150986a
https://github.com/llvm/llvm-project/commit/592386400d515cdd043fe787e702fe96d150986a
Author: Kai Luo <lkail at cn.ibm.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
A llvm/test/CodeGen/PowerPC/select-cc-no-isel.ll
Log Message:
-----------
[PowerPC] Precommit test to show codegen while `isel` is unavailable. NFC.
Commit: a2e1de193477e7d92ec5c0a2ecd17a622cbf7aed
https://github.com/llvm/llvm-project/commit/a2e1de193477e7d92ec5c0a2ecd17a622cbf7aed
Author: Serge Pavlov <sepavloff at gmail.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M llvm/include/llvm/Target/TargetSelectionDAG.td
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMInstrVFP.td
M llvm/test/CodeGen/ARM/fpenv.ll
Log Message:
-----------
[ARM][FPEnv] Lowering of fpenv intrinsics
The change implements lowering of `get_fpenv`, `set_fpenv` and
`reset_fpenv`.
Differential Revision: https://reviews.llvm.org/D81843
Commit: cdf6693f072b97ec42a95f569115ad7f0afd37d5
https://github.com/llvm/llvm-project/commit/cdf6693f072b97ec42a95f569115ad7f0afd37d5
Author: Matthew Devereau <matthew.devereau at arm.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/Basic/Targets/AArch64.h
M llvm/include/llvm/TargetParser/AArch64TargetParser.h
M llvm/lib/Target/AArch64/AArch64.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64SchedA64FX.td
M llvm/lib/Target/AArch64/AArch64Subtarget.cpp
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
A llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-reduce-fa64.ll
A llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-mla-neon-fa64.ll
A llvm/test/MC/AArch64/SME/fa64-implies-sve2.s
M llvm/unittests/TargetParser/TargetParserTest.cpp
Log Message:
-----------
[AArch64][SME] Add support for sme-fa64 (#70809)
Commit: bf897d5d77e974486e37d33e83f50f5ea95390fa
https://github.com/llvm/llvm-project/commit/bf897d5d77e974486e37d33e83f50f5ea95390fa
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorTransferOpTransforms.cpp
M mlir/test/Dialect/Vector/vector-transfer-drop-unit-dims-patterns.mlir
Log Message:
-----------
[mlir][vector] Extend TransferReadDropUnitDimsPattern to support partially-static memrefs (#72142)
This patch extends TransferReadDropUnitDimsPattern to support dropping
unit dims from partially-static memrefs, for example:
%v = vector.transfer_read %base[%c0, %c0], %pad {in_bounds = [true, true]} :
memref<?x1xi8, strided<[?, ?], offset: ?>>, vector<[16]x1xi8>
Is rewritten as:
%dim0 = memref.dim %base, %c0 : memref<?x1xi8, strided<[?, ?], offset: ?>>
%subview = memref.subview %base[0, 0] [%dim0, 1] [1, 1] :
memref<?x1xi8, strided<[?, ?], offset: ?>> to memref<?xi8, #map1>
%v = vector.transfer_read %subview[%c0], %pad {in_bounds = [true]}
: memref<?xi8, #map1>, vector<[16]xi8>
Scalable vectors are now also supported, the scalable dims were being
dropped when creating the rank-reduced vector type. The xfer op can also
have a mask of type 'vector.create_mask', which gets rewritten as long
as the mask of the unit dim is a constant of 1.
Commit: d715e2c65b4449f00b39493b1e0a19c04b75bc7c
https://github.com/llvm/llvm-project/commit/d715e2c65b4449f00b39493b1e0a19c04b75bc7c
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/LinkAllPasses.h
M llvm/include/llvm/Transforms/Scalar.h
M llvm/lib/Transforms/Scalar/GuardWidening.cpp
M llvm/lib/Transforms/Scalar/Scalar.cpp
Log Message:
-----------
[NewPM] Remove GuardWideningLegacyPass (#72810)
This legacy pass isn't used anywhere and there is no test coverage, so
at this point it should be removed.
Commit: b9975cec0ea0a2f10d65b7bd1197d9e1706cbd3d
https://github.com/llvm/llvm-project/commit/b9975cec0ea0a2f10d65b7bd1197d9e1706cbd3d
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/LinkAllPasses.h
M llvm/include/llvm/Transforms/Scalar.h
M llvm/lib/Transforms/Scalar/LoopSink.cpp
M llvm/lib/Transforms/Scalar/Scalar.cpp
Log Message:
-----------
[NewPM] Remove LoopSinkLegacy Pass (#72811)
This pass isn't used anywhere and thus has no test coverage. For these
reasons, remove it.
Commit: cd11a7fba44d92ca018a2b418da69b8a680614f3
https://github.com/llvm/llvm-project/commit/cd11a7fba44d92ca018a2b418da69b8a680614f3
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/Transforms/Scalar.h
M llvm/lib/Transforms/Scalar/LoopInstSimplify.cpp
M llvm/lib/Transforms/Scalar/Scalar.cpp
Log Message:
-----------
[NewPM] Remove LoopInstSimplifyLegacyPass (#72812)
This pass isn't used anywhere and thus has no test coverage. Remove it
for these reasons.
For whatever reason, there was no entry in
`llvm/include/llvm/LinkAllPasses.h` to remove.
Commit: 8319e222c89bf9a0df42a17df771645eaf4beb95
https://github.com/llvm/llvm-project/commit/8319e222c89bf9a0df42a17df771645eaf4beb95
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/LinkAllPasses.h
M llvm/include/llvm/Transforms/Scalar.h
M llvm/lib/Transforms/Scalar/MergedLoadStoreMotion.cpp
M llvm/lib/Transforms/Scalar/Scalar.cpp
Log Message:
-----------
[NewPM] Remove MergedLoadStoreMotionLegacyPass (#72813)
This pass isn't used anywhere and thus isn't tested anywhere. Because of
these reasons, remove it.
Commit: 7e65dc72c4251cb7409545686bc2751d50d4efae
https://github.com/llvm/llvm-project/commit/7e65dc72c4251cb7409545686bc2751d50d4efae
Author: Alex Zinenko <zinenko at google.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M mlir/lib/Bindings/Python/IRCore.cpp
Log Message:
-----------
Revert "Apply clang-tidy fixes for misc-include-cleaner in IRCore.cpp (NFC)"
This reverts commit 0d109035c29408f06efc148d67aab7e4b2aada5d.
Changes make Python bindings unbuildable without additional cmake
modifications (or modified `$PATH`).
```
/llvm-project/mlir/lib/Bindings/Python/IRCore.cpp:33:10: fatal error: 'funcobject.h' file not found
```
This header is provided by cpython, and we are not looking for that in
cmake.
Moreover, the nature of this change is not very clear to me. Seems to
replace one include with two dozens, presumably because the code is only
using transitively included headers, but the value for readability is
dubious. LLVM is also not strictly following IWYU.
Commit: 61332cb047faca2dffce9a0ae68bf0d1c0cdee39
https://github.com/llvm/llvm-project/commit/61332cb047faca2dffce9a0ae68bf0d1c0cdee39
Author: Diana <Diana-Magda.Picus at amd.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUPALMetadata.cpp
M llvm/test/CodeGen/AMDGPU/amdpal-callable.ll
A llvm/test/CodeGen/AMDGPU/amdpal-chain-metadata.ll
Log Message:
-----------
[AMDGPU] Emit backend_stack_size PAL metadata (#72509)
For chain functions, PAL uses a `backend_stack_size` metadata item,
which at the moment has the same meaning as `stack_frame_size_in_bytes`.
We emit both for now in order to simplify coordination with PAL.
The new item must be emitted in the `shader_functions` section, just as
the metadata for other module entry functions. For simplicity, we mark
chain functions as module entry functions and emit the same metadata for
all of them.
Commit: 3cc523d935427baf62766e9e2cc7b65eca5925bb
https://github.com/llvm/llvm-project/commit/3cc523d935427baf62766e9e2cc7b65eca5925bb
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/LinkAllPasses.h
M llvm/include/llvm/Transforms/Utils/UnifyFunctionExitNodes.h
M llvm/lib/Transforms/Utils/UnifyFunctionExitNodes.cpp
M llvm/lib/Transforms/Utils/Utils.cpp
Log Message:
-----------
[NewPM] Remove UnifyFunctionExitNodesLegacyPass (#72816)
UnifyFunctionExitNodesLegacyPass isn't used anywhere in upstream and
thus isn't tested at all. For these reasons, remove it.
Commit: 72ab99500f45d8672f91fe4d75ffdc6f5146b007
https://github.com/llvm/llvm-project/commit/72ab99500f45d8672f91fe4d75ffdc6f5146b007
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M llvm/include/llvm/InitializePasses.h
M llvm/lib/Transforms/Utils/AssumeBundleBuilder.cpp
M llvm/lib/Transforms/Utils/Utils.cpp
Log Message:
-----------
[NewPM] Remove AssumeBundleBuilderPassLegacyPass (#72817)
This pass isn't used upstream anywhere and doesn't have have a
create...() function, thus isn't tested anywhere. Because of this,
remove it.
Commit: 4671f18906ad2149df1720b5a0513f23f17abde1
https://github.com/llvm/llvm-project/commit/4671f18906ad2149df1720b5a0513f23f17abde1
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/Transforms/Scalar.h
M llvm/lib/Transforms/Scalar/LowerWidenableCondition.cpp
M llvm/lib/Transforms/Scalar/Scalar.cpp
Log Message:
-----------
[NewPM] Remove LowerWidenableConditionLegacyPass (#72818)
This legacy pass isn't used anywhere upstream and thus has no test
coverage, so remove it.
Commit: edd675ac283909397880f85ba68d0d5f99dc1be2
https://github.com/llvm/llvm-project/commit/edd675ac283909397880f85ba68d0d5f99dc1be2
Author: Sunil Kuravinakop <koops at hpe.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M clang/include/clang/AST/OpenMPClause.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/OpenMPKinds.def
M clang/include/clang/Basic/OpenMPKinds.h
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/OpenMPClause.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/Basic/OpenMPKinds.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/test/OpenMP/atomic_ast_print.cpp
M clang/test/OpenMP/atomic_messages.cpp
M clang/tools/libclang/CIndex.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M llvm/include/llvm/Frontend/OpenMP/OMP.td
Log Message:
-----------
[OpenMP] atomic compare fail : Parser & AST support
Diff Revision: https://reviews.llvm.org/D123235
Commit: 2470857fe701f41278dac33580ca8b0bdb38031f
https://github.com/llvm/llvm-project/commit/2470857fe701f41278dac33580ca8b0bdb38031f
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/LinkAllPasses.h
M llvm/include/llvm/Transforms/Scalar/Scalarizer.h
M llvm/lib/Transforms/Scalar/Scalar.cpp
M llvm/lib/Transforms/Scalar/Scalarizer.cpp
Log Message:
-----------
[NewPM] Remove ScalarizerLegacyPass (#72814)
This pass isn't used anywhere upstream and thus has no test coverage.
Because of these reasons, remove it.
Commit: 3300bc34f7bccf29c14221fa4b651f7bc82c46d5
https://github.com/llvm/llvm-project/commit/3300bc34f7bccf29c14221fa4b651f7bc82c46d5
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M llvm/test/tools/llvm-exegesis/X86/latency/memory-annotations-livein.s
M llvm/test/tools/llvm-exegesis/X86/latency/memory-annotations.s
M llvm/test/tools/llvm-exegesis/X86/latency/subprocess-abnormal-exit-code.s
M llvm/test/tools/llvm-exegesis/X86/latency/subprocess-preserved-registers.s
M llvm/test/tools/llvm-exegesis/X86/latency/subprocess-segfault.s
M llvm/test/tools/llvm-exegesis/X86/latency/subprocess.s
M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
Log Message:
-----------
[llvm-exegesis] Fix race condition in subprocess mode (#72778)
If there were some scheduler effects where something like the parent
process got interrupted while the child process continued to run, there
would be nothing blocking it from exiting before the parent process
issued a PTRACE_ATTACH call. This would cause transient failures as this
occurred pretty rarely. This patch removes the possibility of a
transient failure by ensuring that the parent process attaches to the
child process before sending the counter file descriptor through the
socket, ensuring that the child process has at most progressed to being
blocked in the read call for the counter file descriptor.
Commit: 27c98958c067c341dd3f65b7218c376d333fbed5
https://github.com/llvm/llvm-project/commit/27c98958c067c341dd3f65b7218c376d333fbed5
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M llvm/test/tools/llvm-exegesis/X86/latency/subprocess-preserved-registers.s
M llvm/tools/llvm-exegesis/lib/X86/Target.cpp
Log Message:
-----------
[llvm-exegesis] Preserve rcx and r11 around system call (#72807)
Currently, when making the ioctl system call, we're not preserving rcx
and r11. The system call will clobber these registers, meaning that the
values of the registers in the snippet will be different than expected.
This patch fixes that be preserving the registers around the system
call, similar to how the other registers involved in the making the
system call get preserved.
Fixes #72741.
Commit: 5c1650e7f43f6abab2c5790507ffc04dcbd19e76
https://github.com/llvm/llvm-project/commit/5c1650e7f43f6abab2c5790507ffc04dcbd19e76
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
Log Message:
-----------
Apply clang-tidy fixes for llvm-else-after-return in AMDGPUToROCDL.cpp (NFC)
Commit: d09e86359b1bd21b906126536d7fe31b5bc63947
https://github.com/llvm/llvm-project/commit/d09e86359b1bd21b906126536d7fe31b5bc63947
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M mlir/lib/Conversion/ComplexToLLVM/ComplexToLLVM.cpp
Log Message:
-----------
Apply clang-tidy fixes for llvm-include-order in ComplexToLLVM.cpp (NFC)
Commit: 8b51b62559e6cd9b59b592c42a84e3362e5bba47
https://github.com/llvm/llvm-project/commit/8b51b62559e6cd9b59b592c42a84e3362e5bba47
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M mlir/lib/Conversion/ConvertToLLVM/ConvertToLLVMPass.cpp
Log Message:
-----------
Apply clang-tidy fixes for llvm-qualified-auto in ConvertToLLVMPass.cpp (NFC)
Commit: ad7937d338303d8d98b29f8947cf9d407f34b5de
https://github.com/llvm/llvm-project/commit/ad7937d338303d8d98b29f8947cf9d407f34b5de
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M mlir/lib/Conversion/ConvertToLLVM/ToLLVMInterface.cpp
Log Message:
-----------
Apply clang-tidy fixes for llvm-qualified-auto in ToLLVMInterface.cpp (NFC)
Commit: e204b9198aebec16f28da79ec00105fceba0d755
https://github.com/llvm/llvm-project/commit/e204b9198aebec16f28da79ec00105fceba0d755
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M mlir/lib/Conversion/GPUCommon/GPUToLLVMConversion.cpp
Log Message:
-----------
Apply clang-tidy fixes for llvm-else-after-return in GPUToLLVMConversion.cpp (NFC)
Commit: bfd3734610cb2cef6a6a40314bcd4156deef8a50
https://github.com/llvm/llvm-project/commit/bfd3734610cb2cef6a6a40314bcd4156deef8a50
Author: Kai Luo <lkail at cn.ibm.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
R llvm/test/CodeGen/PowerPC/aix-csr-alloc.ll
A llvm/test/CodeGen/PowerPC/aix-csr-alloc.mir
A llvm/test/CodeGen/PowerPC/aix64-csr-alloc.mir
Log Message:
-----------
[PowerPC] Use MIR test so that it's not affected by instruction selection. NFC.
Commit: f7b5c255070ef2d8a4492a45613a6a7df0b5f0cb
https://github.com/llvm/llvm-project/commit/f7b5c255070ef2d8a4492a45613a6a7df0b5f0cb
Author: Sam Tebbs <samuel.tebbs at arm.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_ldr.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_str.c
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/SMEInstrFormats.td
M llvm/test/CodeGen/AArch64/sme-intrinsics-loads.ll
M llvm/test/CodeGen/AArch64/sme-intrinsics-stores.ll
M mlir/include/mlir/Dialect/ArmSME/IR/ArmSMEIntrinsicOps.td
M mlir/test/Target/LLVMIR/arm-sme.mlir
Log Message:
-----------
[AArch64][SME] Remove immediate argument restriction for svldr and svstr (#68565)
The svldr_vnum and svstr_vnum builtins always modify the base register
and tile slice and provide immediate offsets of zero, even when the
offset provided to the builtin is an immediate. This patch optimises the
output of the builtins when the offset is an immediate, to pass it
directly to the instruction and to not need the base register and tile
slice updates.
Commit: befa925acac8fd6a9266e76acdec8d8c664abdc8
https://github.com/llvm/llvm-project/commit/befa925acac8fd6a9266e76acdec8d8c664abdc8
Author: Rin <irina.dobrescu at arm.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M llvm/lib/CodeGen/MachineLICM.cpp
M llvm/test/CodeGen/AArch64/tbl-loops.ll
M llvm/test/CodeGen/AArch64/zext-to-tbl.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fp64-atomics-gfx90a.ll
M llvm/test/CodeGen/AMDGPU/flat_atomics_i32_system.ll
M llvm/test/CodeGen/AMDGPU/flat_atomics_i64_system.ll
M llvm/test/CodeGen/AMDGPU/fp64-atomics-gfx90a.ll
M llvm/test/CodeGen/AMDGPU/global-load-saddr-to-vaddr.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_i32_system.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_i64_system.ll
M llvm/test/CodeGen/AMDGPU/local-atomics-fp.ll
M llvm/test/CodeGen/AMDGPU/memcpy-crash-issue63986.ll
M llvm/test/CodeGen/AMDGPU/optimize-negated-cond.ll
M llvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm.ll
M llvm/test/CodeGen/AMDGPU/remat-fp64-constants.ll
M llvm/test/CodeGen/AMDGPU/sdiv64.ll
M llvm/test/CodeGen/AMDGPU/sdwa-peephole.ll
M llvm/test/CodeGen/AMDGPU/srem64.ll
M llvm/test/CodeGen/AMDGPU/udiv64.ll
M llvm/test/CodeGen/AMDGPU/urem64.ll
M llvm/test/CodeGen/X86/2007-01-13-StackPtrIndex.ll
M llvm/test/CodeGen/X86/2009-02-26-MachineLICMBug.ll
M llvm/test/CodeGen/X86/avx512-i1test.ll
M llvm/test/CodeGen/X86/pr38795.ll
M llvm/test/CodeGen/X86/pr53842.ll
M llvm/test/CodeGen/X86/pr63108.ll
M llvm/test/CodeGen/X86/vector-shift-by-select-loop.ll
Log Message:
-----------
[MachineLICM][AArch64] Hoist COPY instructions with other uses in the loop (#71403)
When there is a COPY instruction in the loop with other uses, we want to
hoist the COPY, which in turn leads to the users being hoisted as well.
Co-authored-by David Green : David.Green at arm.com
Commit: 43af73f0d0c02fae5c4652f8248e4b614080695b
https://github.com/llvm/llvm-project/commit/43af73f0d0c02fae5c4652f8248e4b614080695b
Author: h-vetinari <h.vetinari at gmx.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
Log Message:
-----------
[lit] Use raw strings for backslash escapes to fix SyntaxWarnings (#70907)
Unless specified as a "raw" string, Python will try to interpret
backslashes, which means they don't get passed on correctly to the
underlying regex-engine, unless escaped manually (`\\`).
Use raw strings in `llvm/test/lit.cfg.py` to avoid a `SyntaxWarning`:
```
llvm/test/lit.cfg.py:275: SyntaxWarning: invalid escape sequence '\d'
match = re.search("release (\d+)\.(\d+)", ptxas_out)
```
Other such warning present in 17.0.x were already fixed in
7ed0f5b6de74989c739389770a2d45dc7d58166a.
Commit: abcbca21cc2e8a2b256cd519df2b1559f29e8edd
https://github.com/llvm/llvm-project/commit/abcbca21cc2e8a2b256cd519df2b1559f29e8edd
Author: hstk30-hw <hanwei62 at huawei.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/aarch64-load-ext.ll
M llvm/test/CodeGen/AArch64/aarch64-uzp1-combine.ll
A llvm/test/CodeGen/AArch64/fix-shuffle-vector-be-rev.ll
M llvm/test/CodeGen/AArch64/neon-bitcast.ll
M llvm/test/CodeGen/AArch64/zext-to-tbl.ll
Log Message:
-----------
[AArch64] Fix big endian shuffle vector miscompile (#68673)
Fixes https://github.com/llvm/llvm-project/issues/65884
Commit: 32c3decb773b0cc7fd1736fe1b47d889c8c0011c
https://github.com/llvm/llvm-project/commit/32c3decb773b0cc7fd1736fe1b47d889c8c0011c
Author: Matthias Springer <me at m-sp.org>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
M mlir/include/mlir/IR/AffineMap.h
M mlir/lib/Conversion/VectorToArmSME/VectorToArmSME.cpp
M mlir/lib/Conversion/VectorToGPU/VectorToGPU.cpp
M mlir/lib/Dialect/Arith/Transforms/IntNarrowing.cpp
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorTranspose.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorUnroll.cpp
M mlir/lib/Dialect/Vector/Utils/VectorUtils.cpp
M mlir/lib/IR/AffineMap.cpp
Log Message:
-----------
[mlir][vector] Modernize `vector.transpose` op (#72594)
* Declare arguments/results with `let` statements.
* Rename `transp` to `permutation`.
* Change type of `transp` from `I64ArrayAttr` to `DenseI64ArrayAttr`
(provides direct access to `ArrayRef<int64_t>` instead of `ArrayAttr`).
Commit: 4028dd2e93fa1697b68339b04b89f5ddbf7f9aea
https://github.com/llvm/llvm-project/commit/4028dd2e93fa1697b68339b04b89f5ddbf7f9aea
Author: Graham Hunter <graham.hunter at arm.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/test/Transforms/InstSimplify/po2-shift-add-and-to-zero.ll
Log Message:
-----------
[InstSimplify] Fold converted urem to 0 if there's no overlapping bits (#71528)
When folding urem instructions we can end up not recognizing that
the output will always be 0 due to Value*s being different, despite
generating the same data (in this case, 2 different calls to vscale).
This patch recognizes the (x << N) & (add (x << M), -1) pattern that
instcombine replaces urem with after the two vscale calls have been
reduced to one via CSE, then replaces with 0 when x is a power of 2
and N >= M.
Commit: 761a963dfc8f80af9c5487997d5bdacb3e2c0062
https://github.com/llvm/llvm-project/commit/761a963dfc8f80af9c5487997d5bdacb3e2c0062
Author: Simon Pilgrim <RKSimon at users.noreply.github.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/Analysis/CostModel/AArch64/vector-select.ll
M llvm/test/CodeGen/AArch64/aarch64-minmaxv.ll
M llvm/test/CodeGen/X86/avx512-insert-extract.ll
M llvm/test/CodeGen/X86/fold-int-pow2-with-fmul-or-fdiv.ll
M llvm/test/CodeGen/X86/kshift.ll
Log Message:
-----------
[DAG] narrowExtractedVectorBinOp - ensure we limit late node creation to LegalOperations only (#72130)
Avoids infinite issues in some upcoming patches to help D152928 - x86 sees a number of regressions that are addressed by extending SimplifyDemandedVectorEltsForTargetNode to cover more binop opcodes
Commit: 661a73ff712c54d05042eb37d536be4bade307b4
https://github.com/llvm/llvm-project/commit/661a73ff712c54d05042eb37d536be4bade307b4
Author: Utkarsh Saxena <usx at google.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
Log Message:
-----------
Fix typo in DiagnosticSemaKinds.td
s/makred/marked
Commit: 5d353423c97517ae1dc66506186e265538b0111f
https://github.com/llvm/llvm-project/commit/5d353423c97517ae1dc66506186e265538b0111f
Author: Florian Hahn <flo at fhahn.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M llvm/test/Analysis/LoopAccessAnalysis/forward-negative-step.ll
Log Message:
-----------
[LAA] Add extra test for #70819 showing incorrect Forward dep.
Add an additional test case where we currently incorrectly identify a
dependence as Foward instead of ForwardButPreventsForwarding.
Also cleans up the names in the tests a bit to improve readability.
Commit: 4594d5bb3ac6772bb20e429bbb04842ef6eaea35
https://github.com/llvm/llvm-project/commit/4594d5bb3ac6772bb20e429bbb04842ef6eaea35
Author: dewen <923406109 at qq.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/CodeGen/AArch64/bf16.ll
Log Message:
-----------
[AArch64] Add missing bf16 store pattern (#72844)
We have STURHi store patterns but would fail to select from unscaled
offsets. This adds the missing pattern.
Commit: 4a8b43ba3bd5427dd98a7a93d1b1ed25051c31e8
https://github.com/llvm/llvm-project/commit/4a8b43ba3bd5427dd98a7a93d1b1ed25051c31e8
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.h
Log Message:
-----------
[clang][Interp][NFC] Factor array element init into its own function
Commit: dfc03c45c1e1d80482963ceb5dd3eb48079dd8c0
https://github.com/llvm/llvm-project/commit/dfc03c45c1e1d80482963ceb5dd3eb48079dd8c0
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M llvm/test/CodeGen/X86/vector-half-conversions.ll
Log Message:
-----------
[X86] vector-half-conversions.ll - regenerate with AVX512 slow/fast lane shuffles
Adds missing check prefixes
Commit: cfee7152d4eb673976b51b831295dcf5b1811634
https://github.com/llvm/llvm-project/commit/cfee7152d4eb673976b51b831295dcf5b1811634
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUMacroFusion.cpp
M llvm/lib/Target/ARM/ARMMacroFusion.cpp
M llvm/lib/Target/PowerPC/PPCMacroFusion.cpp
M llvm/lib/Target/X86/X86MacroFusion.cpp
Log Message:
-----------
[DAG] clang-format createBranchMacroFusionDAGMutation calls. NFC.
Reduces diff in #72227
Commit: 9bdbb8226e70fb248b40a4b5002699ee9eeeda93
https://github.com/llvm/llvm-project/commit/9bdbb8226e70fb248b40a4b5002699ee9eeeda93
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M clang/lib/AST/Interp/Interp.h
Log Message:
-----------
[clang][Interp][NFC] Use isArrayRoot() when comparing pointers
The previous code was just an open-coded version of isArrayRoot().
Commit: 54984f58f5437af39f05771449c53462aa8b8963
https://github.com/llvm/llvm-project/commit/54984f58f5437af39f05771449c53462aa8b8963
Author: Hans <hans at hanshq.net>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M llvm/cmake/modules/AddLLVM.cmake
Log Message:
-----------
Add llvm-mca to the list of toolchain tools (#72840)
It's a user-facing tool, so including it makes sense.
Fixes https://github.com/llvm/llvm-project/issues/72754
Commit: 57a11b7f75742ba74b563b8af75bc106a1e9d29e
https://github.com/llvm/llvm-project/commit/57a11b7f75742ba74b563b8af75bc106a1e9d29e
Author: Valery Pykhtin <valery.pykhtin at gmail.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNRegPressure.cpp
M llvm/test/CodeGen/AMDGPU/regpressure_printer.mir
Log Message:
-----------
[AMDGPU] Add live-through register set printing to GCNRegPressurePrinter pass. (#71096)
Add live-through register set printing, assuming live-through register
is in live-in and live-out sets, has no redefinitions but may have uses
in the block.
Commit: cd88047765a3242f1ebc8d25ec2eeb7752d44867
https://github.com/llvm/llvm-project/commit/cd88047765a3242f1ebc8d25ec2eeb7752d44867
Author: Bruno De Fraine <144025007+brunodf-snps at users.noreply.github.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M llvm/include/llvm/Transforms/Scalar/SROA.h
M llvm/lib/Transforms/Scalar/SROA.cpp
Log Message:
-----------
[NFC][SROA] Remove implementation details from SROA header (#72846)
This moves the SROA implementation from SROAPass into a separate SROA
class that is defined in the cpp file, and reduces the SROAPass class to
a thin NewPM wrapper. This allows to remove all implementation details
from the SROA header, and the SROALegacyPass can wrap the SROA class
instead of the NewPM SROAPass.
The trigger for this change is a GCC warning about visibility of
implementation details in the SROA header after D138238. Credits to
Nikita Popov for suggesting this reorganization.
Commit: ba24b814f2a20a136f0a7a0b492b6ad8a62114c6
https://github.com/llvm/llvm-project/commit/ba24b814f2a20a136f0a7a0b492b6ad8a62114c6
Author: Nikita Popov <npopov at redhat.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M llvm/lib/IR/Core.cpp
Log Message:
-----------
[llvm-c] Fix outdated comment (NFC)
Use the function value type instead of the element type of the
function pointer type.
Fixes https://github.com/llvm/llvm-project/issues/72798.
Commit: 1716c5b614c004cf4a890eeaa113d18c8f7cb1f7
https://github.com/llvm/llvm-project/commit/1716c5b614c004cf4a890eeaa113d18c8f7cb1f7
Author: David Spickett <david.spickett at linaro.org>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M mlir/docs/Tools/MLIRLSP.md
Log Message:
-----------
[mlir][Docs] Code review is now done on GitHub
Commit: 4d64a2bcd31818aa0aed0ce9e6b64898a6f0eb55
https://github.com/llvm/llvm-project/commit/4d64a2bcd31818aa0aed0ce9e6b64898a6f0eb55
Author: Graham Hunter <graham.hunter at arm.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[LV] Refactor vector function variant selection to prepare for uniform args (#68879)
Parameters marked as uniform take a scalar value, assuming the value is
invariant in the scalar loop. In order to support this, we need to stop
asking for a vector function variant with a default shape assuming that all
arguments will become vector arguments, and instead consider all available
variants and their parameter types.
Commit: 84ebe5b7e8cdd9084097fa82d841ab0707b8067a
https://github.com/llvm/llvm-project/commit/84ebe5b7e8cdd9084097fa82d841ab0707b8067a
Author: Graham Hunter <graham.hunter at arm.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
A llvm/test/Transforms/LoopVectorize/AArch64/uniform-args-call-variants.ll
A llvm/test/Transforms/LoopVectorize/uniform-args-call-variants.ll
Log Message:
-----------
[LV] Precommit tests for uniform arguments for vector function variants
See https://github.com/llvm/llvm-project/pull/68879
Commit: 28b5054751899c9e96c2f42f0f91f1a3d73f0381
https://github.com/llvm/llvm-project/commit/28b5054751899c9e96c2f42f0f91f1a3d73f0381
Author: bcahoon <59846893+bcahoon at users.noreply.github.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
M llvm/test/CodeGen/AMDGPU/promote-alloca-subvecs.ll
Log Message:
-----------
[AMDGPU] Fix PromoteAlloca size check of alloca for store (#72528)
When storing a subvector, too many element were written when the
size of the alloca is smaller than the size of the vector store.
This patch checks for the minimum of the alloca vector and the
store vector to determine the number of elements to store.
Commit: c4c52d4199e13125fd9560f9f3b2d8a6bf2582f2
https://github.com/llvm/llvm-project/commit/c4c52d4199e13125fd9560f9f3b2d8a6bf2582f2
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M mlir/lib/Conversion/VectorToArmSME/VectorToArmSME.cpp
M mlir/lib/Dialect/ArmSME/Transforms/LegalizeForLLVMExport.cpp
Log Message:
-----------
[mlir][ArmSME] Move vector.extract/insert lowerings to vector-to-arm-sme (NFC) (#72852)
These were placed in LegalizeForLLVMExport.cpp, which is the wrong stage
for these, as these lower to high-level ArmSME ops, not intrinsics.
Commit: 40e46b6effd38ee93c0de76f1b898230209bca1c
https://github.com/llvm/llvm-project/commit/40e46b6effd38ee93c0de76f1b898230209bca1c
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/int-bitcast-minbitwidth.ll
Log Message:
-----------
[SLP]Do not emit int bitcast after minbitwidth analysis.
No need to emit bitcat op for integer operands if it is detected that
after minbitwidth analysis the type is the same.
Commit: f9c47e89c1d6433e3bc28e756e08ebc600a38946
https://github.com/llvm/llvm-project/commit/f9c47e89c1d6433e3bc28e756e08ebc600a38946
Author: Kolya Panchenko <87679760+nikolaypanchenko at users.noreply.github.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.cpp
A llvm/test/Transforms/LoopVectorize/outer_loop_hcfg_construction.ll
Log Message:
-----------
[LV] Stability fix for outerloop vectorization (#68118)
HCFG builder doesn't correctly handle cases when non-outermost loop is
requested to be vectorized
[Original] Differential Revision: https://reviews.llvm.org/D150700
Commit: 23e1b6159ea1a327fa8ee1fbaec5c503bdcdd518
https://github.com/llvm/llvm-project/commit/23e1b6159ea1a327fa8ee1fbaec5c503bdcdd518
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M llvm/test/CodeGen/X86/constant-pool-sharing.ll
Log Message:
-----------
[X86] Regenerate constant-pool-sharing.ll with AVX test coverage
Shows failure to share the constant pool load (broadcast) on AVX targets
Commit: 2fdf283c3f7977b12965183ed64c8c0d3f22fa82
https://github.com/llvm/llvm-project/commit/2fdf283c3f7977b12965183ed64c8c0d3f22fa82
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M llvm/test/CodeGen/X86/constant-pool-sharing.ll
Log Message:
-----------
[X86] constant-pool-sharing.ll - add test showing failure to reuse subvectors when storing larger vector types
We do correctly use implicit zero-extension of xmm constant load -> ymm constant store though.
Commit: b0154c36d6387272f7f961c22582693d2850d21c
https://github.com/llvm/llvm-project/commit/b0154c36d6387272f7f961c22582693d2850d21c
Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M llvm/lib/ProfileData/InstrProfReader.cpp
M llvm/lib/ProfileData/InstrProfWriter.cpp
A llvm/test/Transforms/PGOProfile/Inputs/coverage.proftext
M llvm/test/Transforms/PGOProfile/coverage.ll
Log Message:
-----------
[InstrProf] Add pgo use block coverage test (#72443)
Back in https://reviews.llvm.org/D124490 we added a block coverage mode
that instruments a subset of basic blocks using single byte counters to
get coverage for the whole function.
This commit adds a test to make sure that we correctly assign branch
weights based on the coverage profile.
I noticed this test was missing after seeing that we had no coverage on
`PGOUseFunc::populateCoverage()`
https://lab.llvm.org/coverage/coverage-reports/coverage/Users/buildslave/jenkins/workspace/coverage/llvm-project/llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp.html#L1383
Commit: 9ca9c2cf7e05a0fe44a8a688d0c322d5229511d9
https://github.com/llvm/llvm-project/commit/9ca9c2cf7e05a0fe44a8a688d0c322d5229511d9
Author: Nikita Popov <npopov at redhat.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M llvm/lib/Analysis/InstructionSimplify.cpp
Log Message:
-----------
[InstSimplify] Remove redundant gep zero fold (NFC)
We already higher the all zero indices case above, no need to
also handle the special case of a single zero index.
Commit: a2cf44b72cbf9361f37dd6f680502bb18070cba3
https://github.com/llvm/llvm-project/commit/a2cf44b72cbf9361f37dd6f680502bb18070cba3
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
M llvm/test/Transforms/InstCombine/canonicalize-lshr-shl-to-masking.ll
M llvm/test/Transforms/InstCombine/known-signbit-shift.ll
Log Message:
-----------
[InstCombine] Propagate NUW flags for `shl (lshr X, C1), C2 -> shl X, C2-C1` (#72525)
Alive2: https://alive2.llvm.org/ce/z/KNXNQA
Commit: 59d14b623357d9b0514a9575e6d92474694b2f74
https://github.com/llvm/llvm-project/commit/59d14b623357d9b0514a9575e6d92474694b2f74
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/broadcast-elm-cross-splat-vec.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
Log Message:
-----------
[X86] combineLoad - try to reuse existing constant pool entries for smaller vector constant data (REAPPLIED)
If we already have a YMM/ZMM constant that a smaller XMM/YMM has matching lower bits, then ensure we reuse the same constant pool entry.
Extends the similar combines we already have to reuse VBROADCAST_LOAD/SUBV_BROADCAST_LOAD constant loads.
This is a mainly a canonicalization, but should make it easier for us to merge constant loads in a future commit (related to both #70947 and better X86FixupVectorConstantsPass usage for #71078).
Reapplied with fix to ensure we don't 'flip-flop' between multiple matching constants - only perform the fold if the new constant pool entry is larger than the current entry.
Commit: 37fa32785e23198fc9585296e990b18abfd2ba90
https://github.com/llvm/llvm-project/commit/37fa32785e23198fc9585296e990b18abfd2ba90
Author: Oleksandr "Alex" Zinenko <zinenko at google.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M .github/CODEOWNERS
Log Message:
-----------
Add @ftynse as GitHub codeowner for MLIR Transform dialect (#72882)
Commit: 8bd06d5b65845e5e01dd899a2deb773580460b89
https://github.com/llvm/llvm-project/commit/8bd06d5b65845e5e01dd899a2deb773580460b89
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Parse/Parser.h
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Parse/ParseStmt.cpp
M clang/test/C/C2x/n2508.c
M clang/test/OpenMP/barrier_ast_print.cpp
M clang/test/OpenMP/barrier_messages.cpp
M clang/test/OpenMP/cancel_messages.cpp
M clang/test/OpenMP/cancellation_point_messages.cpp
M clang/test/OpenMP/depobj_messages.cpp
M clang/test/OpenMP/error_message.cpp
M clang/test/OpenMP/flush_messages.cpp
M clang/test/OpenMP/scan_messages.cpp
M clang/test/OpenMP/taskwait_messages.cpp
M clang/test/OpenMP/taskyield_messages.cpp
M clang/www/c_status.html
Log Message:
-----------
[C23] Complete support for WG14 N2508 (#71398)
In Clang 16, we implemented the ability to add a label at the end of a
compound statement. These changes complete the implementation by
allowing a label to be followed by a declaration in C.
Note, this seems to have fixed an issue with some OpenMP stand-alone
directives not being properly diagnosed as per:
https://www.openmp.org/spec-html/5.1/openmpsu19.html#x34-330002.1.3
(The same requirement exists in OpenMP 5.2 as well.)
Commit: 197f30597d086e4466687fa533d3142fa404b1fc
https://github.com/llvm/llvm-project/commit/197f30597d086e4466687fa533d3142fa404b1fc
Author: Krasimir Georgiev <krasimir at google.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M llvm/test/DebugInfo/X86/debug-names-types.ll
Log Message:
-----------
NFCI: update debug-names-types test to use an output file unique to the test
This makes it work in environments where the test is running in a write-protected
current directory. Updated similarly to other such tests, like
https://github.com/llvm/llvm-project/blob/8bd06d5b65845e5e01dd899a2deb773580460b89/llvm/test/tools/llvm-dwp/X86/absolute_paths.test#L3.
Commit: a32a2b2ceb6b4c1bbcbcb39363c8dee44daf86ab
https://github.com/llvm/llvm-project/commit/a32a2b2ceb6b4c1bbcbcb39363c8dee44daf86ab
Author: Liviu Ionescu <ilg at livius.net>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/test/Driver/darwin-header-search-libcxx.cpp
Log Message:
-----------
[clang][driver] Add <executable>/../include/c++/v1 to include path on Darwin (#70817)
On macOS, when clang is invoked via a symlink, since the InstalledDir is
where the link is located, the C++ headers are not identified and the
default system headers from the SDK are used.
This can be undesirable if a toolchain is created by symlinking clang
into a directory and placing libc++ headers in that directory with the
intent of those headers overriding the SDK headers. This change solves
that problem by also looking for libc++ headers in the toolchain-relative
location of the executable symlink, if any.
Commit: c38ae74b48c1cb8aedf384686eaa05815d366609
https://github.com/llvm/llvm-project/commit/c38ae74b48c1cb8aedf384686eaa05815d366609
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M libcxx/utils/ci/run-buildbot
Log Message:
-----------
[libc++] Stop checking for trailing whitespace in check-generated-output (#72711)
Trailing whitespace is removed by clang-format, so if someone tries to
check-in new code with trailing whitespaces, it'll be caught by the
clang-format job. Removing this duplication helps reduce the confusion
around our numerous ways of enforcing formatting rules.
Commit: f609d4ba1d940c781f4fed44f7c69422d1766f09
https://github.com/llvm/llvm-project/commit/f609d4ba1d940c781f4fed44f7c69422d1766f09
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-transformed-operand.ll
Log Message:
-----------
[SLP]Fix PR72833: do not crash if only operand is casted but the use
instruction.
Need to check if only operand is casted, not the user instruction
itself, if the types of the operands does not match the actual type.
Commit: 882d4006b96c067e9c14ba93cdb41f278923438e
https://github.com/llvm/llvm-project/commit/882d4006b96c067e9c14ba93cdb41f278923438e
Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M flang/lib/Lower/OpenMP.cpp
Log Message:
-----------
[Flang][OpenMP] NFC: Formatting change
Commit: ddfed815c930979414d403e01caca23875072676
https://github.com/llvm/llvm-project/commit/ddfed815c930979414d403e01caca23875072676
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M clang/include/clang/AST/OpenMPClause.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/OpenMPKinds.def
M clang/include/clang/Basic/OpenMPKinds.h
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/OpenMPClause.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/Basic/OpenMPKinds.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/test/OpenMP/atomic_ast_print.cpp
M clang/test/OpenMP/atomic_messages.cpp
M clang/tools/libclang/CIndex.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M llvm/include/llvm/Frontend/OpenMP/OMP.td
Log Message:
-----------
Revert "[OpenMP] atomic compare fail : Parser & AST support"
This reverts commit edd675ac283909397880f85ba68d0d5f99dc1be2.
This breaks clang build where every component is a shared library.
The file clang/lib/Basic/OpenMPKinds.cpp, which is a part of
libclangBasic.so, uses `getOpenMPClauseName` which isn't:
/usr/bin/ld: CMakeFiles/obj.clangBasic.dir/OpenMPKinds.cpp.o: in functio
n `clang ::getOpenMPSimpleClauseTypeName(llvm::omp::Clause, unsigned int
)':
OpenMPKinds.cpp:(.text._ZN5clang29getOpenMPSimpleClauseTypeNameEN4llvm3o
mp6ClauseEj+0x9b): undefined reference to `llvm::omp::getOpenMPClauseNam
e(llvm::omp::Clause)'
Commit: 5e36c64cb6e8f9c6c0c2db8a9a7120b28fbc36df
https://github.com/llvm/llvm-project/commit/5e36c64cb6e8f9c6c0c2db8a9a7120b28fbc36df
Author: David Truby <david at truby.dev>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M flang/lib/Frontend/FrontendActions.cpp
M flang/test/Driver/dependent-lib.f90
Log Message:
-----------
[flang] Remove extra space added with --dependent-lib option
This patch fixes a bug with the --dependent-lib option where an
extra space is added to the directive causing linking to fail.
Commit: 6e547ce1c072f6f086a4f44fb8168df23413f597
https://github.com/llvm/llvm-project/commit/6e547ce1c072f6f086a4f44fb8168df23413f597
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M clang/lib/AST/Interp/Interp.h
M clang/lib/AST/Interp/InterpBlock.h
Log Message:
-----------
[clang][Interp][NFC] Add const InterpBlock::deref() overload
Commit: 80d3a4c39f5065ef620d7b3e73935cf491f0c394
https://github.com/llvm/llvm-project/commit/80d3a4c39f5065ef620d7b3e73935cf491f0c394
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M llvm/include/llvm/Transforms/Utils/Local.h
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/test/DebugInfo/salvage-cast-debug-info.ll
M llvm/test/DebugInfo/salvage-gep.ll
M llvm/test/Transforms/InstCombine/debuginfo-dce.ll
M llvm/test/Transforms/InstCombine/salvage-dbg-declare.ll
M llvm/test/Transforms/Mem2Reg/ConvertDebugInfo.ll
M llvm/test/Transforms/Mem2Reg/ConvertDebugInfo2.ll
M llvm/test/Transforms/Mem2Reg/dbg-inline-scope-for-phi.ll
M llvm/test/Transforms/Mem2Reg/dbg_declare_to_value_conversions.ll
M llvm/test/Transforms/Mem2Reg/debug-alloca-phi-2.ll
M llvm/test/Transforms/Mem2Reg/debug-alloca-phi.ll
M llvm/test/Transforms/Mem2Reg/debug-alloca-vla-1.ll
M llvm/test/Transforms/Mem2Reg/debug-alloca-vla-2.ll
M llvm/test/Transforms/Reassociate/undef_intrinsics_when_deleting_instructions.ll
M llvm/test/Transforms/SROA/dbg-inline.ll
M llvm/test/Transforms/SROA/dbg-single-piece.ll
M llvm/test/Transforms/SafeStack/X86/debug-loc-dynamic.ll
M llvm/test/Transforms/SafeStack/X86/debug-loc.ll
M llvm/test/Transforms/SafeStack/X86/debug-loc2.ll
M llvm/test/Transforms/SimplifyCFG/tail-merge-noreturn.ll
M llvm/test/Transforms/Util/salvage-debuginfo.ll
Log Message:
-----------
[DebugInfo][RemoveDIs] Add local-utility plumbing for DPValues (#72276)
This patch re-implements a variety of debug-info maintenence functions
to use DPValues instead of DbgValueInst's: supporting the "new"
non-intrinsic representation of debug-info. As per [0], we need to have
parallel implementations of various utilities for a time, and these are
the most fundamental utilities used throughout the compiler.
I've added --try-experimental-debuginfo-iterators to a variety of RUN
lines: this is a flag that turns on "new debug-info" if it's built into
LLVM, and not otherwise. This should ensure that we have the same
behaviour for the same IR inputs, but using a different internal
representation. For the most part these changes affect SROA/Mem2Reg
promotion of dbg.declares into dbg.value intrinsics (now DPValues),
we're leaving dbg.declares as instructions until later in the day.
There's also some salvaging changes made.
I believe the tests that I've added cover almost all the code being
updated here. The only thing I'm not confident about is SimplifyCFG,
which calls rewriteDebugUsers down a variety of code paths. Those
changes can't immediately get full coverage as an additional patch is
needed that updates handling of Unreachable instructions, will upload
that shortly.
[0]
https://discourse.llvm.org/t/rfc-instruction-api-changes-needed-to-eliminate-debug-intrinsics-from-ir/68939/9
Commit: 4a020018ce7abdee21e976f7ed5746ef2eb2c0fd
https://github.com/llvm/llvm-project/commit/4a020018ce7abdee21e976f7ed5746ef2eb2c0fd
Author: MaheshRavishankar <1663364+MaheshRavishankar at users.noreply.github.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M mlir/include/mlir/Dialect/SCF/Transforms/TileUsingInterface.h
M mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp
M mlir/test/Dialect/Tensor/tiling.mlir
M mlir/test/Interfaces/TilingInterface/tile-and-fuse-using-interface.mlir
M mlir/test/Interfaces/TilingInterface/tile-using-interface.mlir
M mlir/test/lib/Interfaces/TilingInterface/TestTilingInterface.cpp
Log Message:
-----------
[NFC] Simplify the tiling implementation using cloning. (#72178)
The current implementation of tiling using `scf.for` is convoluted to
make sure that the destination passing style of the untiled program is
preserved. The addition of support to tile using `scf.forall` (adapted
from the transform operation in Linalg) in
https://github.com/llvm/llvm-project/pull/67083 used cloning of the
tiled operations to better streamline the implementation. This PR adapts
the other tiling methods to use a similar approach, making the
transformations (and handling destination passing style semantics) more
systematic.
---------
Co-authored-by: Abhishek-Varma <avarma094 at gmail.com>
Commit: 88b672b0a79e9f68253abf7edcfa5a42d1321cae
https://github.com/llvm/llvm-project/commit/88b672b0a79e9f68253abf7edcfa5a42d1321cae
Author: Joseph Huber <huberjn at outlook.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M clang/lib/Headers/llvm_libc_wrappers/stdio.h
Log Message:
-----------
[libc] Adjust headers for some implementations of 'stdio.h'
Summary:
This is sometimes a macro, undefine it so we can declare it as the GPU
needs.
Commit: 4376f8c949a95914856199941ebed18c8c27b5cc
https://github.com/llvm/llvm-project/commit/4376f8c949a95914856199941ebed18c8c27b5cc
Author: Ivan Butygin <ivan.butygin at gmail.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVCLOps.td
Log Message:
-----------
[mlir][spirv][nfc] Sort CL ops (#72868)
Extracted from https://github.com/llvm/llvm-project/pull/72800
Commit: d8447c78ab16c16eb17abab76e0bc77f58d2d9be
https://github.com/llvm/llvm-project/commit/d8447c78ab16c16eb17abab76e0bc77f58d2d9be
Author: Bill Wendling <5993918+bwendling at users.noreply.github.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/test/CodeGen/attr-counted-by.c
Log Message:
-----------
[Clang] Correct handling of negative and out-of-bounds indices (#71877)
GCC returns 0 for a negative index on an array in a structure. It also
returns 0 for an array index that goes beyond the extent of the array.
In addition. a pointer to a struct field returns that field's size, not
the size of it plus the rest of the struct, unless it's the first field
in the struct.
struct s {
int count;
char dummy;
int array[] __attribute((counted_by(count)));
};
struct s *p = malloc(...);
p->count = 10;
A __bdos on the elements of p return:
__bdos(p, 0) == 30
__bdos(p->array, 0) == 10
__bdos(&p->array[0], 0) == 10
__bdos(&p->array[-1], 0) == 0
__bdos(&p->array[42], 0) == 0
Also perform some refactoring, putting the "counted_by" calculations in
their own function.
Commit: 97f96172ad90b5ae9975f09361e9fa523b73a3a2
https://github.com/llvm/llvm-project/commit/97f96172ad90b5ae9975f09361e9fa523b73a3a2
Author: wlei <wlei at fb.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M compiler-rt/lib/sanitizer_common/symbolizer/scripts/build_symbolizer.sh
Log Message:
-----------
[build_symbolizer] Fix a missing mkdir cmd
Commit: 445f6f1373429fb2c86ead77ec2ff64f17948899
https://github.com/llvm/llvm-project/commit/445f6f1373429fb2c86ead77ec2ff64f17948899
Author: Maksim Panchenko <maks at fb.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
A bolt/test/lsda-section-name.cpp
R bolt/test/lsda.cpp
Log Message:
-----------
[BOLT][TEST] Remove LTO flag from a test (#72896)
The LTO flag is not needed for the test to work properly. However, it
may not build on a system where compiler and linker versions don't match
one another. Remove the LTO flag.
Commit: 2cc4b3d07c230f9c38d7693490d6d5b5ed0e1248
https://github.com/llvm/llvm-project/commit/2cc4b3d07c230f9c38d7693490d6d5b5ed0e1248
Author: Peiming Liu <36770114+PeimingLiu at users.noreply.github.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorCodegen.cpp
M mlir/test/Dialect/SparseTensor/codegen.mlir
Log Message:
-----------
[mlir][sparse] code cleanup using the assumption that dim2lvl maps ar… (#72894)
…e simplified.
Commit: 5cd24759c41864215e67c280234b6c745a4cd369
https://github.com/llvm/llvm-project/commit/5cd24759c41864215e67c280234b6c745a4cd369
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M libcxx/test/std/experimental/simd/simd.reference/reference_assignment.pass.cpp
M libcxx/test/std/experimental/simd/test_utils.h
Log Message:
-----------
[libc++] Reduce the compilation time required by SIMD tests (#72602)
Testing all the SIMD widths exhaustively is nice in theory, however in
practice it leads to extremely slow tests. Given that
1. our testing resources are finite and actually pretty costly
2. we have thousands of other tests we also need to run
3. the value of executing these SIMD tests for absolutely all supported
SIMD widths is fairly small compared to cherry-picking a few relevant
widths
I think it makes a lot of sense to reduce the exhaustiveness of these
tests. I'm getting a ~4x speedup for the worst offender
(reference_assignment.pass.cpp) after this patch.
I'd also like to make this a reminder to anyone seeing this PR that
tests impact everyone's productivity. Slow unit tests contribute to
making the CI slower as a whole, and that has a direct impact on
everyone's ability to iterate quickly during PRs. Even though we have a
pretty robust CI setup in place, we should remember that it doesn't come
for free and should strive to keep our tests at a good bang for the buck
ratio.
Commit: 9824040ad56103e350e6edbd59f05c606227c2c5
https://github.com/llvm/llvm-project/commit/9824040ad56103e350e6edbd59f05c606227c2c5
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M libcxx/include/__config
Log Message:
-----------
[libc++] Don't open-close namespace std in __config (#72695)
This doesn't seem necessary and it is just kind of weird to do that in
__config, so remove it.
Commit: 47a3ad5be1c60fc0bd40bef5b53907bb1792b6e5
https://github.com/llvm/llvm-project/commit/47a3ad5be1c60fc0bd40bef5b53907bb1792b6e5
Author: Joseph Huber <huberjn at outlook.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M openmp/libomptarget/plugins-nextgen/amdgpu/dynamic_hsa/hsa.h
M openmp/libomptarget/plugins-nextgen/amdgpu/src/rtl.cpp
M openmp/libomptarget/plugins-nextgen/common/PluginInterface/PluginInterface.h
Log Message:
-----------
[Libomptarget] Handle dynamic stack sizes for AMD COV5 (#72606)
Summary:
One of the changes in the AMD code-object version five was that kernels
that use an unknown amount of private stack memory now no longer default
to 16 KBs. Instead it emits a flag that indicates the runtime must
provide a value. This patch checks if we must provide such a stack, and
uses the existing handling of the stack environment variable to
configure it.
Commit: 2404477219f87dd9fdd3ed46cc9257699af475a8
https://github.com/llvm/llvm-project/commit/2404477219f87dd9fdd3ed46cc9257699af475a8
Author: Matthias Braun <matze at braunis.de>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/branch-weights.ll
Log Message:
-----------
LoopVectorize: Add better heuristic for vectorized epilogue skip test (#72589)
This is a follow-up to PR #72450 correcting the branch_weights used
for the test whether the vectorized epilogue loop should be skipped.
Commit: 0ba5f6e6bd971d74c530e50587c69489e625ce8e
https://github.com/llvm/llvm-project/commit/0ba5f6e6bd971d74c530e50587c69489e625ce8e
Author: Amy Huang <akhuang at google.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M clang/lib/Sema/ParsedAttr.cpp
Log Message:
-----------
Fix to attribute plugins reaching an unreachable (#70877)
[0faee97](https://github.com/llvm/llvm-project/commit/0faee97a924adec76d5c7cd680c289ced51e6b5a)
broke attribute plugins. Specifically, it added a call to
`getAttributeSpellingListIndex()` in situations that reached an
unreachable statement. This patch adds a check before calling that to
avoid hitting the unreachable.
`clang/test/Frontend/plugin-attribute.cpp` has been broken since
[0faee97](https://github.com/llvm/llvm-project/commit/0faee97a924adec76d5c7cd680c289ced51e6b5a),
and this patch fixes it.
Bug: [70702](https://github.com/llvm/llvm-project/issues/70702)
Commit: b9951b3fe67075a1ed1d8d0c01d7f372d9e6a842
https://github.com/llvm/llvm-project/commit/b9951b3fe67075a1ed1d8d0c01d7f372d9e6a842
Author: Zequan Wu <zequanwu at google.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M compiler-rt/test/profile/Linux/binary-id.c
M llvm/include/llvm/ProfileData/InstrProfReader.h
M llvm/lib/ProfileData/InstrProfReader.cpp
Log Message:
-----------
[llvm-profdata] Fix binary ids with multiple raw profiles in a single… (#72740)
Save binary ids when iterating through `RawInstrProfReader`.
Fixes #72699.
Commit: 70f41022546ea8b2b41ad70702124acd4ed488dc
https://github.com/llvm/llvm-project/commit/70f41022546ea8b2b41ad70702124acd4ed488dc
Author: Erich Keane <ekeane at nvidia.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M clang/include/clang/Basic/OpenACCKinds.h
M clang/lib/Parse/ParseOpenACC.cpp
M clang/test/ParserOpenACC/parse-constructs.c
Log Message:
-----------
[OpenACC] Implement compound construct parsing (#72692)
This patch implements the compound construct parsing, which allows
'parallel loop', 'serial loop', and 'kernel loop' to act as their own
constructs.
Commit: f4c6947a18d5c07d5743eb435c2854e61804ad24
https://github.com/llvm/llvm-project/commit/f4c6947a18d5c07d5743eb435c2854e61804ad24
Author: eric <eric at efcs.ca>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M .github/workflows/libcxx-build-and-test.yaml
Log Message:
-----------
Move all libc++ builders to one machine type.
There are ongoing issues with the libc++ bots, some of them seem
related to a new release of the gha action runner controllers.
Until I get this figured out, it's a lot easier to have 99% of the
bots using a single machine shape
Commit: 69a5869da4906f61caf59ff021559ca7d974c5f9
https://github.com/llvm/llvm-project/commit/69a5869da4906f61caf59ff021559ca7d974c5f9
Author: Tom Yang <zhenyutyang at gmail.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M lldb/include/lldb/Symbol/SymbolFileOnDemand.h
M lldb/test/API/commands/target/dump-separate-debug-info/dwo/Makefile
M lldb/test/API/commands/target/dump-separate-debug-info/dwo/TestDumpDwo.py
A lldb/test/API/commands/target/dump-separate-debug-info/dwo/foo.c
R lldb/test/API/commands/target/dump-separate-debug-info/dwo/foo.cpp
A lldb/test/API/commands/target/dump-separate-debug-info/dwo/main.c
R lldb/test/API/commands/target/dump-separate-debug-info/dwo/main.cpp
M lldb/test/API/commands/target/dump-separate-debug-info/oso/TestDumpOso.py
Log Message:
-----------
[lldb][split-dwarf] implement GetSeparateDebugInfo for SymbolFileOnDemand (#71230)
Small change to get `image dump separate-debug-info` working when using
`symbols.load-on-demand`.
Added tests to `TestDumpDwo`, and enabled the test for all platforms. If we fail to build, we skip the test, so this shouldn't cause the test to fail on unsupported platforms.
```
bin/lldb-dotest -p TestDumpDwo
```
It's easy to verify this manually by running
```
lldb --one-line-before-file "settings set symbols.load-on-demand true" <some_target>
(lldb) image dump separate-debug-info
...
```
---------
Co-authored-by: Tom Yang <toyang at fb.com>
Commit: 6352a07ba65301b60ace8e5e67e54f4967e375ae
https://github.com/llvm/llvm-project/commit/6352a07ba65301b60ace8e5e67e54f4967e375ae
Author: Aart Bik <39774503+aartbik at users.noreply.github.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
A mlir/test/Integration/Dialect/SparseTensor/CPU/block_majors.mlir
Log Message:
-----------
[mlir][sparse] test four row/col major versions of BSR (#72898)
Note, this is a redo of https://github.com/llvm/llvm-project/pull/72712
which was reverted due to time outs in the bot. I have timed the tests
on various settings, and it does not even hit the top 20 of integration
tests. To be safe, I removed the SIMD version of the tests, just keeping
libgen/direcIR paths (which are the most important to test for us).
I will also keep an eye on
https://lab.llvm.org/buildbot/#/builders/264/builds after submitting to
make sure there is no repeat.
Commit: f42482def236999b0f7896c09cd714b708861c8b
https://github.com/llvm/llvm-project/commit/f42482def236999b0f7896c09cd714b708861c8b
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M llvm/lib/Transforms/IPO/SCCP.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/test/Transforms/InstCombine/assume.ll
M llvm/test/Transforms/InstCombine/unreachable-dbg-info-modified.ll
M llvm/test/Transforms/SCCP/ipsccp-branch-unresolved-undef.ll
M llvm/test/Transforms/SimplifyCFG/PR27615-simplify-cond-br.ll
M llvm/test/Transforms/SimplifyCFG/branch-fold-dbg.ll
M llvm/test/Transforms/SimplifyCFG/dbginfo.ll
Log Message:
-----------
[DebugInfo][RemoveDIs] Don't convert debug-intrinsics to Unreachable (#72380)
It might seem obvious, but it's not a good idea to convert a
debug-intrinsic instruction into an UnreachableInst, as this means
things operate differently with and without the -g option. However this
can happen due to the "mutate the next instruction" API calls we make.
With RemoveDIs eliminating debug intrinsics, this behaviour is at risk
of changing, hence this patch ensures we only ever mutate the next _non_
debuginfo instruction into an Unreachable.
The tests instrumented with the --try... flag all exercise this, I've
added some metadata to a SCCP test to ensure it's exercised.
Commit: a1e2c6566305061c115954b048f2957c8d55cb5b
https://github.com/llvm/llvm-project/commit/a1e2c6566305061c115954b048f2957c8d55cb5b
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M clang/lib/Sema/SemaOverload.cpp
M clang/test/SemaCUDA/implicit-member-target-inherited.cu
M clang/test/SemaCUDA/trivial-ctor-dtor.cu
Log Message:
-----------
[CUDA][HIP] ignore implicit host/device attr for override (#72815)
When deciding whether a previous function declaration is an overload or
override, implicit host/device attrs should not be considered.
This fixes the failure for the following code:
`template <typename T>
class C {
explicit C() {};
};
template <> C<int>::C() {};
`
The issue was introduced by
https://github.com/llvm/llvm-project/pull/72394
sine the template specialization is treated as overload due to implicit
host/device attrs are considered for overload/override differentiation.
Commit: 0e24179797faf5d309fcc5024131c2293accff26
https://github.com/llvm/llvm-project/commit/0e24179797faf5d309fcc5024131c2293accff26
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M llvm/docs/CodeGenerator.rst
M llvm/docs/ReleaseNotes.rst
M llvm/include/llvm/CodeGen/SelectionDAGISel.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
A llvm/test/CodeGen/Generic/selectiondag-dump-filter.ll
Log Message:
-----------
[SelectionDAG] Add support to filter SelectionDAG dumps during ISel by function names (#72696)
`-debug-only=isel-dump` is the new debug type for printing SelectionDAG
after each ISel phase. This can be furthered filter by
`-filter-print-funcs=<function names>`.
Note that the existing `-debug-only=isel` will take precedence over the
new behavior and print SelectionDAG dumps of every single function
regardless of `-filter-print-funcs`'s values.
Commit: 48ff35415c06cdbd9115bfe5318449afddcc7ff5
https://github.com/llvm/llvm-project/commit/48ff35415c06cdbd9115bfe5318449afddcc7ff5
Author: smanna12 <soumi.manna at intel.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/Sema.h
M clang/lib/CodeGen/CGLoopInfo.cpp
M clang/lib/CodeGen/CGLoopInfo.h
M clang/lib/Sema/SemaStmtAttr.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/TreeTransform.h
A clang/test/CodeGen/code_align.c
A clang/test/Sema/code_align.c
A clang/test/Sema/code_align_ast.c
Log Message:
-----------
[clang] Add support for new loop attribute [[clang::code_align()]] (#70762)
This patch adds support for new loop attribute:
[[clang::code_align(N)]].
This attribute applies to a loop and specifies the byte alignment for a
loop.
The attribute accepts a positive integer constant initialization
expression
indicating the number of bytes for the minimum alignment boundary.
Its value must be a power of 2, between 1 and 4096 (inclusive).
Commit: 3e6d629ccff6e3561be07f66f8f0dc2774dab279
https://github.com/llvm/llvm-project/commit/3e6d629ccff6e3561be07f66f8f0dc2774dab279
Author: Gulfem Savrun Yeniceri <gulfem at google.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
Log Message:
-----------
Revert "[clang-format][NFC] Remove a redundant isLiteral() call"
This reverts commit f6033699646b7650123a273c043a93e5eeaac6d8.
This change is labeled as NFC, but introduces a functional change
without a test, and caused a breakage as reported in
https://reviews.llvm.org/rGf6033699646b7650123a273c043a93e5eeaac6d8.
Commit: ed73121ffeb636e75162f116bfeca56e7ec310de
https://github.com/llvm/llvm-project/commit/ed73121ffeb636e75162f116bfeca56e7ec310de
Author: Youngsuk Kim <youngsuk.kim at hpe.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M clang/lib/CodeGen/CodeGenModule.cpp
Log Message:
-----------
[CodeGenModule] Remove no-op ptr-to-ptr bitcasts (NFC)
Opaque ptr cleanup effort (NFC)
Commit: 97a6c1534f65f2a9ac4490269b0051475d8384d9
https://github.com/llvm/llvm-project/commit/97a6c1534f65f2a9ac4490269b0051475d8384d9
Author: Florian Hahn <flo at fhahn.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
A llvm/test/Transforms/ConstraintElimination/transfer-signed-facts-to-unsigned-is-known-non-negative.ll
M llvm/test/Transforms/ConstraintElimination/transfer-signed-facts-to-unsigned.ll
A llvm/test/Transforms/ConstraintElimination/transfer-unsigned-facts-to-signed-is-known-non-negative.ll
Log Message:
-----------
[ConstraintElim] Add extra info transfer tests for #72879.
Extend test coverage to include all predicates we support transfers for.
Commit: 523c0d3e4912d70f2f26f58c03069647165b90f7
https://github.com/llvm/llvm-project/commit/523c0d3e4912d70f2f26f58c03069647165b90f7
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M llvm/test/Analysis/MemorySSA/update-remove-dead-blocks.ll
Log Message:
-----------
[MemorySSA] Update test to use NewPM (#72915)
This test is the last holdout that still uses the legacy loop simplify
CFG pass. The issues originally pointed out in the test comments seem to
have been fixed now as there are no MemorySSA verification failures.
Commit: c597dc3566db27b3c2ad2a4c1f5ae61693d5465b
https://github.com/llvm/llvm-project/commit/c597dc3566db27b3c2ad2a4c1f5ae61693d5465b
Author: Mingming Liu <mingmingl at google.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M llvm/unittests/ProfileData/InstrProfTest.cpp
Log Message:
-----------
[nfc][InstrProfTest]Factor out common code for value profile test (#72611)
Three existing test cases {get_icall_data_read_write, get_icall_data_read_write_with_weight,get_icall_data_read_write_big_endian} have common test data and testing
logic. Extract common code into `testICallDataReadWrite`.
- Add helper function `addValueProfData` and `testValueDataArray`. This two helper functions are used by `testICallDataReadWrite`, and possibly other test cases.
Commit: 44c796d5669e78dc020fc4b00865ed6fea42dd4d
https://github.com/llvm/llvm-project/commit/44c796d5669e78dc020fc4b00865ed6fea42dd4d
Author: Mingming Liu <mingmingl at google.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M llvm/unittests/ProfileData/InstrProfTest.cpp
Log Message:
-----------
Revert "[nfc][InstrProfTest]Factor out common code for value profile test" (#72921)
Reverts llvm/llvm-project#72611 for more follow-up discussions
Commit: abd85cd473afedf112bf00630a22382fee4a7853
https://github.com/llvm/llvm-project/commit/abd85cd473afedf112bf00630a22382fee4a7853
Author: Joseph Huber <huberjn at outlook.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M libc/startup/gpu/nvptx/start.cpp
M libc/test/integration/startup/gpu/init_fini_array_test.cpp
Log Message:
-----------
[libc] Remove the optional arguments for NVPTX constructors (#69536)
Summary:
We call the global constructors by function pointer. For whatever reason
the NVPTX architecture relies very specifically on the arguments to the
function pointer invocation matching what the function is implemented
as. This is problematic as most of these constructors are generated
with no arguments. This patch removes the extended arguments that GNU
and LLVM use for the constructors optionally so that it can support the
common case.
Commit: dfcf9fe1408168699c27bc8e8c877bf78b8fd390
https://github.com/llvm/llvm-project/commit/dfcf9fe1408168699c27bc8e8c877bf78b8fd390
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M flang/test/Lower/OpenACC/acc-atomic-capture.f90
M flang/test/Lower/OpenACC/acc-atomic-read.f90
M flang/test/Lower/OpenACC/acc-atomic-update-array.f90
M flang/test/Lower/OpenACC/acc-atomic-update-hlfir.f90
M flang/test/Lower/OpenACC/acc-atomic-update.f90
M flang/test/Lower/OpenACC/acc-atomic-write.f90
Log Message:
-----------
[flang][openacc][NFC] Check only HLFIR lowering for atomic tests (#72922)
HLFIR lowering has been set by default now and FIR lowering support will
be removed in the near future. This patch is the first of a series to
update the OpenACC lowering tests to check only the HLFIR lowering and
remove and specific FIR check lines.
Commit: 85ee3fc7ec15f432430ee0c73fe81f3d6382d9df
https://github.com/llvm/llvm-project/commit/85ee3fc7ec15f432430ee0c73fe81f3d6382d9df
Author: jeffreytan81 <jeffreytan at meta.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py
M lldb/tools/lldb-dap/JSONUtils.cpp
Log Message:
-----------
Fix command escape bug in lldb-dap (#72902)
https://github.com/llvm/llvm-project/pull/69238 caused breakage in
VSCode debug console usage -- the user's input is always treated as
commands instead of expressions (the same behavior as if empty command
escape prefix is specified).
The bug is in one overload of `GetString()` which did not respect the
default value of "\`". But more important, I am puzzled to find out why
the regression is not caught by lldb test (testdap_evaluate). Turns out
https://github.com/llvm/llvm-project/pull/69238 specifies
commandEscapePrefix default value in test framework to be "\`" while
VSCode will default not specify any commandEscapePrefix at all. Changing
it to None will fail `testdap_evaluate`. We should align the default
behavior between DAP client and testcase.
This patches fixes the bug in `GetString()` and changed the default
value of commandEscapePrefix in testcases to be None (be consistent with
IDE).
Co-authored-by: jeffreytan81 <jeffreytan at fb.com>
Commit: c4d8d9167938aa09fd7b1492a4abcfcf5bc1a9ca
https://github.com/llvm/llvm-project/commit/c4d8d9167938aa09fd7b1492a4abcfcf5bc1a9ca
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M llvm/test/Transforms/InstCombine/sub.ll
Log Message:
-----------
[InstCombine] Add tests for folding `(X + Y) - (W + Z)`; NFC
Commit: dbf6f30926891dfab4d59d0ff0e960c2a31ab472
https://github.com/llvm/llvm-project/commit/dbf6f30926891dfab4d59d0ff0e960c2a31ab472
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
M llvm/test/Transforms/InstCombine/sub.ll
Log Message:
-----------
[InstCombine] Add folds for `(X + Y) - (W + Z)`
If `Y` and `Z` are constant then we can simplify to `(X - W) + (Y -
Z)`. If `Y == Z` we can fold to `X - W`.
Note these transform exist outside of InstCombine. The purpose of this
commit is primarily to make it so that folds can generate these
simplifiable patterns without having to worry about creating an inf
loop.
Commit: d01857803f3593c26118b7f9fe59db71234a3359
https://github.com/llvm/llvm-project/commit/d01857803f3593c26118b7f9fe59db71234a3359
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M llvm/include/llvm/Transforms/InstCombine/InstCombiner.h
M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
M llvm/test/Transforms/InstCombine/minmax-intrinsics.ll
Log Message:
-----------
[InstCombine] Make `isFreeToInvert` check recursively.
Some Instructions (select/min/max) are inverted by just inverting the
operands. So the answer of whether they are free to invert is really
just whether the operands are free to invert.
Differential Revision: https://reviews.llvm.org/D159056
Commit: 742c15adcb28701709de7a01f2dc5374e63b9908
https://github.com/llvm/llvm-project/commit/742c15adcb28701709de7a01f2dc5374e63b9908
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
A llvm/test/Transforms/InstCombine/free-inversion.ll
Log Message:
-----------
[InstCombine] Add additional tests for free inversion; NFC
Commit: 3039691f53487289bab40a4f889810ffd91980c2
https://github.com/llvm/llvm-project/commit/3039691f53487289bab40a4f889810ffd91980c2
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M llvm/include/llvm/Transforms/InstCombine/InstCombiner.h
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Transforms/InstCombine/free-inversion.ll
M llvm/test/Transforms/InstCombine/icmp-of-or-x.ll
Log Message:
-----------
[InstCombine] add `getFreeInverted` to perform folds for free inversion of op
With the current logic of `if(isFreeToInvert(Op)) return Not(Op)` its
fairly easy to either 1) cause regressions or 2) infinite loops
if the folds we have for `Not(Op)` ever de-sync with the cases we
know are freely invertible.
This patch adds `getFreeInverted` which is able to build the free
inverted op along with check for free inversion to alleviate this
problem.
Commit: b7c0f79926ad0e4f4abe193c82dad8468855eb81
https://github.com/llvm/llvm-project/commit/b7c0f79926ad0e4f4abe193c82dad8468855eb81
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/test/Transforms/InstCombine/demorgan-sink-not-into-xor.ll
M llvm/test/Transforms/InstCombine/free-inversion.ll
M llvm/test/Transforms/InstCombine/icmp-mul-zext.ll
M llvm/test/Transforms/InstCombine/minmax-intrinsics.ll
Log Message:
-----------
[InstCombine] Replace `isFreeToInvert` + `CreateNot` with `getFreelyInverted`
This is nearly an NFC, the only change is potentially to order that
values are created/names.
Otherwise it is a slight speed boost/simplification to avoid having to
go through the `getFreelyInverted` recursive logic twice to simplify
the extra `not` op.
Commit: 5271d330770573d2df772aa0fa50d958f44400aa
https://github.com/llvm/llvm-project/commit/5271d330770573d2df772aa0fa50d958f44400aa
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
M llvm/test/Transforms/InstCombine/free-inversion.ll
Log Message:
-----------
[InstCombine] Add transform for `~X + ~Y)` -> `-2 - Y - X`
Proof: https://alive2.llvm.org/ce/z/36FySK
Closes #66787.
Commit: eaffcc85ea53d7d90ac0271490f62526f91a5af6
https://github.com/llvm/llvm-project/commit/eaffcc85ea53d7d90ac0271490f62526f91a5af6
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M llvm/lib/IR/DebugInfo.cpp
M llvm/lib/Transforms/Scalar/ADCE.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/test/Transforms/ADCE/adce-salvage-dbg-value.ll
M llvm/test/Transforms/ADCE/debug-info-intrinsic.ll
M llvm/test/Transforms/SimplifyCFG/return-merge.ll
M llvm/test/Transforms/SimplifyCFG/speculate-dbgvalue.ll
Log Message:
-----------
[DebugInfo][RemoveDIs] Make dropping variable locations explicit (#72399)
In present-day debug-info, when you delete all instructions, you delete
all their debug-info with it because debug-info is stored in
instructions. With debug-info stored in DPValue objects however,
deleting instructions causes DPValue objects to clump together into a
large blob of debug-info that hangs around in the block, as nothing has
explicitly deleted it.
To restore this behaviour, scatter calls to dropDbgValues around in
places that used to delete chunks of dbg.values, for example during
stripDebugInfo and in the code that deletes everything after an
Unreachable instruction. DCE is another example.
The tests with --try... added to them are new scenarios where we can now
correctly replicate the "normal" debug-info behaviour. Alas, there's no
explicit test for the opt -strip-debug option though (in dbg.value mode
or DPValue mode).
Commit: d3285123bc9c2e170c8aa7e418c132119bc7aaf1
https://github.com/llvm/llvm-project/commit/d3285123bc9c2e170c8aa7e418c132119bc7aaf1
Author: Yuxuan Chen <ych at meta.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/test/SemaCXX/template-specialization.cpp
Log Message:
-----------
[Clang] Fix finding instantiated decls for class template specializations during instantiation (#72346)
This change aims to fix
https://github.com/llvm/llvm-project/issues/70375
It appears to me that the logic here should be handling specializations
in general, not just partial specialization. It also seems that both the
comment before the block and the `isInstantiationOf(ClassTemplate,
SpecTemplate)` below agree with my judgement.
The issue might just be a mistake that someone mistaken specialization
as a special case of partial specializations, while it's actually the
other way around.
Needs some experts to comment here if this is the right fix.
The code that caused clang ICE is added as a test case.
Commit: 2ca028ce7c6de5f1350440012355a65383b8729a
https://github.com/llvm/llvm-project/commit/2ca028ce7c6de5f1350440012355a65383b8729a
Author: ZhaoQi <zhaoqi01 at loongson.cn>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
A llvm/test/CodeGen/LoongArch/test_bl_fixupkind.mir
Log Message:
-----------
[LoongArch][MC] Pre-commit tests for instr bl fixupkind testing (#72826)
This patch is used to test whether fixupkind for bl can be returned
correctly. When BL has target-flags(loongarch-call), there is no error.
But without this flag, an assertion error will appear. So the test is
just tagged as "Expectedly Failed" now until the following patch fix it.
Commit: 3e6ae77950e90d9795bd53bd57797d83f1c89aee
https://github.com/llvm/llvm-project/commit/3e6ae77950e90d9795bd53bd57797d83f1c89aee
Author: Jie Fu <jiefu at tencent.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp
Log Message:
-----------
[mlir] Non-void lambda does not return a value in all control paths in yieldReplacementForFusedProducer (NFC)
/llvm-project/mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp:703:5: error: non-void lambda does not return a value in all
control paths [-Werror,-Wreturn-type]
};
^
1 error generated.
Commit: 6663df30c0c14093dd7eb0dabd727b036c919e0c
https://github.com/llvm/llvm-project/commit/6663df30c0c14093dd7eb0dabd727b036c919e0c
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M openmp/libomptarget/plugins-nextgen/amdgpu/src/rtl.cpp
M openmp/libomptarget/plugins-nextgen/common/PluginInterface/PluginInterface.cpp
M openmp/libomptarget/plugins-nextgen/cuda/src/rtl.cpp
Log Message:
-----------
[OpenMP][NFC] Remove std::move to silence warnings
Commit: 41566fb8520a1284678d5a344632930b0d3d1fbf
https://github.com/llvm/llvm-project/commit/41566fb8520a1284678d5a344632930b0d3d1fbf
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M openmp/libomptarget/plugins-nextgen/common/PluginInterface/PluginInterface.cpp
Log Message:
-----------
[OpenMP][FIX] Ensure recording works properly w/ late allocations
Commit: f48c4d8aa1e46bcaf3204a87e3e62716cf35b47b
https://github.com/llvm/llvm-project/commit/f48c4d8aa1e46bcaf3204a87e3e62716cf35b47b
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M openmp/libomptarget/include/omptarget.h
M openmp/libomptarget/include/rtl.h
M openmp/libomptarget/plugins-nextgen/common/PluginInterface/PluginInterface.cpp
M openmp/libomptarget/src/device.cpp
M openmp/libomptarget/src/interface.cpp
M openmp/libomptarget/src/omptarget.cpp
M openmp/libomptarget/src/private.h
M openmp/libomptarget/tools/kernelreplay/llvm-omp-kernel-replay.cpp
Log Message:
-----------
[OpenMP] Be more forgiving during record and replay
When we record and replay kernels we should not error out early if there
is a chance the program might still run fine. This patch will:
1) Fallback to the allocation heuristic if the VAMap doesn't work.
2) Adjust the memory start to match the required address if possible.
3) Adjust the (guessed) pointer arguments if the memory start adjustment
is impossible. This will allow kernels without indirect accesses to
work while indirect accesses will most likely fail.
Commit: 525396a3ae63a1b35695bd2c0c0a7ccef8271f3d
https://github.com/llvm/llvm-project/commit/525396a3ae63a1b35695bd2c0c0a7ccef8271f3d
Author: Shraiysh <Shraiysh.Vaishay at amd.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M flang/lib/Semantics/check-omp-structure.cpp
A flang/test/Semantics/OpenMP/device-clause01.f90
Log Message:
-----------
[flang][OpenMP] Add semantic check for device clause (#72789)
This patch adds the following semantic check:
```
The ancestor device-modifier must not appear on the device clause on any
directive other than the target construct.
```
Commit: 26dc765088d27dff9cae3df7de198f3aed4f757b
https://github.com/llvm/llvm-project/commit/26dc765088d27dff9cae3df7de198f3aed4f757b
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M mlir/lib/Bindings/Python/IRModule.cpp
Log Message:
-----------
[mlir][python] remove eager loading of dialect module (for type and value casting) (#72338)
Commit: 0d77978e75a6e287e4c74fe5763227712ce3e3ac
https://github.com/llvm/llvm-project/commit/0d77978e75a6e287e4c74fe5763227712ce3e3ac
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M flang/docs/OpenACC.md
Log Message:
-----------
[flang][doc] Added remark about array element references in data clauses. (#72332)
Commit: dcab84fd5e0dcd9f5210dc024c2a2081cfb2e87e
https://github.com/llvm/llvm-project/commit/dcab84fd5e0dcd9f5210dc024c2a2081cfb2e87e
Author: Owen Pan <owenpiano at gmail.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
Log Message:
-----------
Reland [clang-format][NFC] Remove a redundant isLiteral() call
Commit: 26a0b277369adc31b162b1cc38b1a712bc10c1a0
https://github.com/llvm/llvm-project/commit/26a0b277369adc31b162b1cc38b1a712bc10c1a0
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M flang/lib/Optimizer/Dialect/FIRDialect.cpp
M mlir/docs/Tutorials/Toy/Ch-4.md
M mlir/examples/toy/Ch4/mlir/Dialect.cpp
M mlir/examples/toy/Ch5/mlir/Dialect.cpp
M mlir/examples/toy/Ch6/mlir/Dialect.cpp
M mlir/examples/toy/Ch7/mlir/Dialect.cpp
M mlir/include/mlir/IR/Value.h
M mlir/include/mlir/Transforms/InliningUtils.h
M mlir/lib/Conversion/ControlFlowToSPIRV/ControlFlowToSPIRV.cpp
M mlir/lib/Dialect/Func/Extensions/InlinerExtension.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMInlining.cpp
M mlir/lib/Dialect/Linalg/IR/LinalgDialect.cpp
M mlir/lib/Dialect/SCF/IR/SCF.cpp
M mlir/lib/Dialect/SPIRV/IR/SPIRVDialect.cpp
M mlir/lib/IR/AsmPrinter.cpp
M mlir/lib/IR/Value.cpp
M mlir/lib/Transforms/Utils/InliningUtils.cpp
M mlir/test/lib/Dialect/Test/TestDialectInterfaces.cpp
Log Message:
-----------
Make MLIR Value more consistent in terms of `const` "correctness" (NFC) (#72765)
MLIR can't really be const-correct (it would need a `ConstValue` class
alongside the `Value` class really, like `ArrayRef` and
`MutableArrayRef`). This is however making is more consistent: method
that are directly modifying the Value shouldn't be marked const.
Commit: 84602066a6be175513880283394268b0f29eb296
https://github.com/llvm/llvm-project/commit/84602066a6be175513880283394268b0f29eb296
Author: Maksim Panchenko <maks at fb.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M bolt/lib/Core/Exceptions.cpp
A bolt/test/runtime/X86/exceptions-lpstart-zero.s
Log Message:
-----------
[BOLT] Fix C++ exceptions when LPStart is specified (#72737)
Whenever LPStartEncoding was different from DW_EH_PE_omit, we used to
miscalculate LPStart. As a result, landing pads were assigned wrong
addresses. Fix that.
Commit: 89f095d20469f5343d9652ec70e53837978abc61
https://github.com/llvm/llvm-project/commit/89f095d20469f5343d9652ec70e53837978abc61
Author: dong jianqiang <dongjianqiang2 at huawei.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M lld/ELF/InputFiles.cpp
M lld/test/ELF/lto/arm.ll
Log Message:
-----------
[lld][ELF] Add armeb support when incoming bc is arm big endian (#72604)
Add armeb support when incoming bc is arm big endian:
Fix error: could not infer e_machine from bitcode target triple
armebv7-linux-gnueabi.
Commit: d84834a695ed848f47b721c1b7f75f2ef25fb4e0
https://github.com/llvm/llvm-project/commit/d84834a695ed848f47b721c1b7f75f2ef25fb4e0
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M flang/test/Lower/OpenACC/acc-bounds.f90
M flang/test/Lower/OpenACC/acc-data-operands.f90
M flang/test/Lower/OpenACC/acc-data.f90
Log Message:
-----------
[flang][openacc][NFC] Check only HLFIR lowering for data tests (#72926)
HLFIR lowering as been set by default now and FIR lowering support will
be removed in the near future. This patch removes the specific FIR check
lines.
Commit: 9166cd2a71ba81d2c9c68f80371b1397943a813b
https://github.com/llvm/llvm-project/commit/9166cd2a71ba81d2c9c68f80371b1397943a813b
Author: Liao Chunyu <chunyu at iscas.ac.cn>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int.ll
M llvm/test/CodeGen/RISCV/rvv/vmadd-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vnmsub-sdnode.ll
Log Message:
-----------
[RISCV] DAG combine (mul (add x, 1), y) -> vmadd (#71495)
vmadd: (mul (add x, 1), y) -> (add (mul x, y), y)
(mul x, add (y, 1)) -> (add x, (mul x, y))
vnmsub: (mul (sub 1, x), y) -> (sub y, (mul x, y))
(mul x, (sub 1, y)) -> (sub x, (mul x, y))
Comparison with gcc:
vmadd: https://gcc.godbolt.org/z/xjePx87Y7
vnsub: https://gcc.godbolt.org/z/b17zG7nT1
Commit: a1de0946abe8d0195bc06651e0abe32966be47cd
https://github.com/llvm/llvm-project/commit/a1de0946abe8d0195bc06651e0abe32966be47cd
Author: Craig Topper <craig.topper at sifive.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
A llvm/test/CodeGen/RISCV/short-forward-branch-opt.ll
R llvm/test/CodeGen/RISCV/short-foward-branch-opt.ll
Log Message:
-----------
[RISCV] Fix spelling error in test name. NFC
foward -> forward
Commit: d102f8bda1544945fe82b1fbbf4629e7c1389970
https://github.com/llvm/llvm-project/commit/d102f8bda1544945fe82b1fbbf4629e7c1389970
Author: Freddy Ye <freddy.ye at intel.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M llvm/docs/ReleaseNotes.rst
M llvm/include/llvm/CodeGen/MachineLoopInfo.h
M llvm/lib/CodeGen/MachineBlockPlacement.cpp
M llvm/lib/CodeGen/MachineLoopInfo.cpp
A llvm/test/CodeGen/X86/code-align-loops.ll
Log Message:
-----------
[MachineBlockPlacement][X86] Use max of MDAlign and TLIAlign to align Loops. (#71026)
This patch added backend consumption on a new loop metadata:
!1 = !{!"llvm.loop.align", i32 64}
which is generated from clang's new loop attribute:
[[clang::code_align()]]
clang patch: #70762
Commit: ba3598667f0da87961b6bec390bc7b03cfa72583
https://github.com/llvm/llvm-project/commit/ba3598667f0da87961b6bec390bc7b03cfa72583
Author: Utkarsh Saxena <usx at google.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M clang-tools-extra/test/clang-tidy/checkers/misc/coroutine-hostile-raii.cpp
Log Message:
-----------
Fix tab spaces in coroutine-hostile-raii.cpp
Commit: e4151cc9d6cc977e9f49500d6a45f4eb41085130
https://github.com/llvm/llvm-project/commit/e4151cc9d6cc977e9f49500d6a45f4eb41085130
Author: Liviu Ionescu <ilg at livius.net>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M clang/test/Driver/darwin-header-search-libcxx.cpp
Log Message:
-----------
[Driver,test] Remove -v from mkdir & ln -s from a test since it fails on AIX (#72924)
The PR https://github.com/llvm/llvm-project/pull/70817 introduced a
small bug, the tests failed on ppc64-aix with:
```
RUN: at line 186: mkdir -pv /home/powerllvm/powerllvm_env/aix-ppc64/clang-ppc64-aix/build/tools/clang/test/Driver/Output/darwin-header-search-libcxx.cpp.tmp/install/bin
+ mkdir -pv /home/powerllvm/powerllvm_env/aix-ppc64/clang-ppc64-aix/build/tools/clang/test/Driver/Output/darwin-header-search-libcxx.cpp.tmp/install/bin
mkdir: illegal option -- v
Usage: mkdir [-p] [-e] [-m mode] Directory ...
```
This PR removes the verbose flag from both `mkdir` and `ln -s`.
Commit: 70cfb3a367f51d805dc5cfc5a54dfc7271a23095
https://github.com/llvm/llvm-project/commit/70cfb3a367f51d805dc5cfc5a54dfc7271a23095
Author: Utkarsh Saxena <usx at google.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M clang-tools-extra/test/clang-tidy/checkers/misc/coroutine-hostile-raii.cpp
Log Message:
-----------
Revert "Fix tab spaces in coroutine-hostile-raii.cpp"
This reverts commit ba3598667f0da87961b6bec390bc7b03cfa72583.
Commit: ec1086f2a0852e1ab3b00de306df0c3aa6fd7698
https://github.com/llvm/llvm-project/commit/ec1086f2a0852e1ab3b00de306df0c3aa6fd7698
Author: MaheshRavishankar <1663364+MaheshRavishankar at users.noreply.github.com>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp
Log Message:
-----------
Fix build error from #72178 (#72905)
Commit: cac82e26c642d55672b1de6f3d026826c89994ec
https://github.com/llvm/llvm-project/commit/cac82e26c642d55672b1de6f3d026826c89994ec
Author: Fangrui Song <i at maskray.me>
Date: 2023-11-20 (Mon, 20 Nov 2023)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Gnu.cpp
M clang/lib/Driver/ToolChains/OpenBSD.cpp
M clang/lib/Driver/ToolChains/Solaris.cpp
M clang/test/Driver/android-pie.c
M clang/test/Driver/pic.c
Log Message:
-----------
[Driver] Make ELF -nopie specific to OpenBSD (#72578)
-no-pie[1]/-nopie is rarely used and among the rare uses almost
everwhere uses -no-pie, since GCC does not recognize -nopie.
However, OpenBSD seems to use -nopie. Therefore, make -nopie specific
to OpenBSD to prevent newer ToolChains (Solaris, SerenityOS) from cargo
culting and copying -nopie.
[1]: https://reviews.llvm.org/D35462
Commit: c8c81f4dd6e9b90582b9bc34c2092dbeb9c294df
https://github.com/llvm/llvm-project/commit/c8c81f4dd6e9b90582b9bc34c2092dbeb9c294df
Author: Valery Pykhtin <valery.pykhtin at gmail.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.ballot.i32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ballot.i32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ballot.i64.wave32.ll
Log Message:
-----------
[AMDGPU] Move ballot64 wave32 mode tests to the appropriate place. NFC. (#72959)
Commit: 88f0e4c75c1ac498f2223fc640c4ff6c572c5ed1
https://github.com/llvm/llvm-project/commit/88f0e4c75c1ac498f2223fc640c4ff6c572c5ed1
Author: Rik Huijzer <github at huijzer.xyz>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M mlir/include/mlir/Dialect/Async/Passes.td
M mlir/test/Dialect/Async/async-parallel-for-compute-fn.mlir
M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
Log Message:
-----------
[mlir][async] Avoid crash when not using `func.func` (#72801)
The `createParallelComputeFunction` crashed when calling
`getFunctionTypeAttrName` during the creation of a new `FuncOp` inside
the pass. The problem is that `getFunctionTypeAttrName` looks up the
attribute name for the function type which in this case is `func.func`.
However, `name.getAttributeNames()` was empty when clients used
`llvm.func` instead of `func.func`.
To fix this, the `func` dialect is now registered as a dependent
dialect. Also, I've added an assertion which could save other people
some time.
Fixes #71281, fixes #64326.
Commit: ce800c27768400aa3efba882bcac120f2bdd6eeb
https://github.com/llvm/llvm-project/commit/ce800c27768400aa3efba882bcac120f2bdd6eeb
Author: Muhammad Omair Javaid <omair.javaid at linaro.org>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M clang/test/Sema/code_align.c
Log Message:
-----------
Fix clang/test/Sema/code_align.c for Arm v7 #70762
This patch disables parts of clang/test/Sema/code_align.c that need
__int128_t to be defined. This will fix failures on Arm v7 buildbots
due to #70762
Following bots are failing:
https://lab.llvm.org/buildbot/#/builders/245
https://lab.llvm.org/buildbot/#/builders/178
https://lab.llvm.org/buildbot/#/builders/182
https://lab.llvm.org/buildbot/#/builders/186
https://lab.llvm.org/buildbot/#/builders/187
Commit: bebf3a9b8a53169e97e6965b42e73792d8ce88bc
https://github.com/llvm/llvm-project/commit/bebf3a9b8a53169e97e6965b42e73792d8ce88bc
Author: Jessica Del <50999226+OutOfCache at users.noreply.github.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.bitreplicate.ll
Log Message:
-----------
[AMDGPU] - Add bitreplicate const folding tests (#72649)
Add more test cases for `s_bitreplicate` constant folding.
Commit: 68386a74ba48cf084a56bf54d1efb6b822e28939
https://github.com/llvm/llvm-project/commit/68386a74ba48cf084a56bf54d1efb6b822e28939
Author: Matthias Springer <me at m-sp.org>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M mlir/include/mlir/Dialect/Utils/StaticValueUtils.h
M mlir/include/mlir/Interfaces/ViewLikeInterface.h
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/lib/Dialect/Utils/StaticValueUtils.cpp
M mlir/test/Dialect/Tensor/canonicalize.mlir
Log Message:
-----------
[mlir][tensor] Fix crash when canonicalizing invalid IR (#72888)
This commit fixes a crash of the canonicalizer when there are slice ops
with offset/size SSA values that have a negative constant value. Such
ops are invalid if they are reachable and their offsets/sizes should not
be folded to static integer values. (But such ops may appear in
non-reachable block.)
This commit fixes #71150.
Commit: 9a09c737a052dc0e2b8c15a969d16cff7ea0c133
https://github.com/llvm/llvm-project/commit/9a09c737a052dc0e2b8c15a969d16cff7ea0c133
Author: Nikita Popov <npopov at redhat.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M llvm/include/llvm/Analysis/AliasAnalysis.h
M llvm/lib/Analysis/BasicAliasAnalysis.cpp
M llvm/test/Transforms/GVN/captured-before.ll
Log Message:
-----------
[BasicAA] Make isNotCapturedBeforeOrAt() check for calls more precise (#69931)
For calls, we are only interested in captures before the call, not
captures by the call itself -- arguments that get passed to the call are
checked explicitly.
In particular, the current implementation is not optimal if the pointer
is captured via a readonly argument -- in that case, we know that even
if the argument is captured, the call will not modify the argument (at
least not via that argument).
Make this more precise by renaming to isCapturedBefore() and adding an
OrAt argument that allows us to toggle whether to consider captures in
the instruction itself or not.
Commit: 21dc3e3491f0586b2b23f440271417c81e3cbb6b
https://github.com/llvm/llvm-project/commit/21dc3e3491f0586b2b23f440271417c81e3cbb6b
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/LinkAllPasses.h
M llvm/include/llvm/Transforms/Scalar.h
M llvm/lib/Transforms/Scalar/LoopSimplifyCFG.cpp
M llvm/lib/Transforms/Scalar/Scalar.cpp
Log Message:
-----------
[NewPM] Remove LoopSimplifyCFGLegacyPass (#72930)
This pass isn't used anywhere in upstream and thus has no test coverage.
For these reasons, remove it.
Commit: fc3c4e1725273df3c701d57458373a50f215069b
https://github.com/llvm/llvm-project/commit/fc3c4e1725273df3c701d57458373a50f215069b
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/Transforms/Scalar/SimpleLoopUnswitch.h
M llvm/lib/Transforms/Scalar/Scalar.cpp
M llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
Log Message:
-----------
[NewPM] Remove SimpleLoopUnswitchLegacyPass (#72934)
This pass isn't used anywhere in upstream and thus doesn't have any test
coverage. For these reasons, remove it.
Commit: 4444374fd1536e80f1cb14e4b7ab4b9fcd4b79bd
https://github.com/llvm/llvm-project/commit/4444374fd1536e80f1cb14e4b7ab4b9fcd4b79bd
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M llvm/include/llvm/Analysis/Passes.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/LinkAllPasses.h
M llvm/lib/Analysis/Analysis.cpp
M llvm/lib/Analysis/InstCount.cpp
Log Message:
-----------
[NewPM] Remove InstCountLegacyPass (#72936)
This pass isn't used/tested anywhere upstream, so remove it.
Commit: bc3cc2693d5864925ce42fa22173e89eaba316d8
https://github.com/llvm/llvm-project/commit/bc3cc2693d5864925ce42fa22173e89eaba316d8
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/LinkAllPasses.h
M llvm/include/llvm/Transforms/Scalar.h
M llvm/lib/Transforms/Scalar/GuardWidening.cpp
M llvm/lib/Transforms/Scalar/Scalar.cpp
Log Message:
-----------
[NewPM] Remove LoopGuardWideningLegacyPass (#72937)
This pass isn't used/tested upstream at all, so remove it.
Commit: ddcd6d6ffbc67ccd26d5add31eb75d674863ff9c
https://github.com/llvm/llvm-project/commit/ddcd6d6ffbc67ccd26d5add31eb75d674863ff9c
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M llvm/include/llvm/Analysis/Passes.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/LinkAllPasses.h
M llvm/lib/Analysis/Analysis.cpp
M llvm/lib/Analysis/CostModel.cpp
Log Message:
-----------
[NewPM] Remove CostModelAnalysis Legacy Pass (#72941)
This pass isn't used/tested anywhere upstream, so remove it.
Commit: 13663310c63d20a03a18a4197bb0032e722baefe
https://github.com/llvm/llvm-project/commit/13663310c63d20a03a18a4197bb0032e722baefe
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/LinkAllPasses.h
M llvm/include/llvm/Transforms/Scalar.h
M llvm/lib/Transforms/Scalar/LoopPredication.cpp
M llvm/lib/Transforms/Scalar/Scalar.cpp
Log Message:
-----------
[NewPM] Remove LoopPredicationLegacyPass (#72944)
This pass isn't used/tested upstream anywhere, so remove it.
Commit: 62439d182e6f9c9e0f0624c144fe81f5091a6322
https://github.com/llvm/llvm-project/commit/62439d182e6f9c9e0f0624c144fe81f5091a6322
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M llvm/include/llvm/InitializePasses.h
M llvm/lib/Transforms/Scalar/MakeGuardsExplicit.cpp
M llvm/lib/Transforms/Scalar/Scalar.cpp
Log Message:
-----------
[NewPM] Remove MakeGuardsExplicitLegacyPass (#72946)
This pass isn't used anywhere or tested anywhere upstream (it doesn't
even have a create function), so remove it.
Commit: 0cfa10955f716d58d7a223e2e39625674e703931
https://github.com/llvm/llvm-project/commit/0cfa10955f716d58d7a223e2e39625674e703931
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M llvm/include/llvm/Analysis/Passes.h
M llvm/include/llvm/InitializePasses.h
M llvm/lib/Analysis/Analysis.cpp
M llvm/lib/Analysis/Delinearization.cpp
Log Message:
-----------
[NewPM] Remove Delinearization legacy pass (#72942)
This pass isn't used/tested anywhere in upstream LLVM, so remove it.
Commit: 19cdc0a13480806e474de6a7e6e200b1eccc7a13
https://github.com/llvm/llvm-project/commit/19cdc0a13480806e474de6a7e6e200b1eccc7a13
Author: Youngsuk Kim <joseph942010 at gmail.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M llvm/include/llvm/IR/Constants.h
Log Message:
-----------
[llvm] Specialize 'NoCFIValue::getType()' (#72923)
Specialize `NoCFIValue::getType()` to give a more detailed type hint to
clients.
---------
Co-authored-by: Nikita Popov <github at npopov.com>
Commit: c77d79b6fe6aa55ef50a3b828581068a21dce71d
https://github.com/llvm/llvm-project/commit/c77d79b6fe6aa55ef50a3b828581068a21dce71d
Author: CarolineConcatto <51754594+CarolineConcatto at users.noreply.github.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M clang/include/clang/Basic/arm_sve.td
M clang/include/clang/Basic/arm_sve_sme_incl.td
M clang/lib/Sema/SemaChecking.cpp
A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_extq.c
A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_pmov_to_pred.c
A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_pmov_to_vector.c
A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_tblq.c
A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_tbxq.c
A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_uzpq1.c
A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_uzpq2.c
A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_zipq1.c
A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_zipq2.c
M clang/test/Sema/aarch64-sve2p1-intrinsics/acle_sve2p1_imm.cpp
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-extq.ll
A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-pmov-to-pred.ll
A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-pmov-to-vector.ll
A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-tblq.ll
A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-tbxq.ll
A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-uzpq1.ll
A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-uzpq2.ll
A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-zipq1.ll
A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-zipq2.ll
Log Message:
-----------
[SVE2.1][Clang][LLVM]Add 128bits builtin in Clang and LLVM intrinisc (#71930)
This patch implements the builtins in Clang
and the LLVM-IR intrinsic for the following:
EXTQ
// Variants are also available for:
// _s8, _s16, _u16, _s32, _u32, _s64, _u64
// _bf16, _f16, _f32, _f64
svuint8_t svextq_lane[_u8](svuint8_t zdn, svuint8_t zm, uint64_t imm);
TBLQ and TBXQ
// Variants are also available for:
// _u8, _u16, _s16, _u32, _s32, _u64, _s64
// _bf16, _f16, _f32, _f64
svint8_t svtblq[_s8](svint8_t zn, svuint8_t zm);
svint8_t svtbxq[_s8](svint8_t zn, svuint8_t zm);
UZPQ1, UZPQ2, ZIPQ1 and ZIPQ2
// Variants are also available for:
// _s8, _u16, _s16, _u32, _s32, _u64, _s64
// _bf16, _f16, _f32, _f64
svuint8_t svuzpq1[_u8](svuint8_t zn, svuint8_t zm); svuint8_t
svuzpq2[_u8](svuint8_t zn, svuint8_t zm); svuint8_t
svzipq1[_u8](svuint8_t zn, svuint8_t zm); svuint8_t
svzipq2[_u8](svuint8_t zn, svuint8_t zm);
PMOV
// Variants are available for:
// _s8, _u16, _s16, _s32, _u32, _s64, _u64
svbool_t svpmov_lane[_u8](svuint8_t zn, uint64_t imm); svbool_t
svpmov[_u8](svuint8_t zn); // The immediate is zero svuint8_t
svpmov_u8_z(svbool_t pn); // The immediate is zero
// Variants are available for:
// _s16, _s32, _u32, _s64, _u64
svuint16_t svpmov_lane[_u16]_m(svuint16_t zd, svbool_t pn, uint64_t
imm);
According to the PR#257[1]
[1]ARM-software/acle#257
Co-authored-by: Hassnaa Hamdi <hassnaa.hamdi at arm.com>
Commit: 4ccdab363618afbfd6958c4351c5a9ab3e37dcc8
https://github.com/llvm/llvm-project/commit/4ccdab363618afbfd6958c4351c5a9ab3e37dcc8
Author: Florian Hahn <flo at fhahn.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
M llvm/test/Transforms/ConstraintElimination/transfer-signed-facts-to-unsigned-is-known-non-negative.ll
M llvm/test/Transforms/ConstraintElimination/transfer-unsigned-facts-to-signed-is-known-non-negative.ll
M llvm/test/Transforms/PhaseOrdering/loop-access-checks.ll
Log Message:
-----------
[ConstraintElim] Use isKnownNonNegative for condition transfer. (#72879)
Use isKnownNonNegative for information transfer. This can improve
results, in cases where ValueTracking can infer additional non-negative
info, e.g. for phi nodes.
This allows simplifying the check from
https://github.com/llvm/llvm-project/issues/63126 by
ConstraintElimination. It is also simplified by IndVarSimplify now; note
the changes in llvm/test/Transforms/PhaseOrdering/loop-access-checks.ll,
due to this now being simplified earlier.
Commit: ef9bcace834e63f25bbbc5e8e2b615f89d85fb2f
https://github.com/llvm/llvm-project/commit/ef9bcace834e63f25bbbc5e8e2b615f89d85fb2f
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M llvm/lib/CodeGen/MachineSink.cpp
M llvm/test/CodeGen/AArch64/sink-and-fold-drop-dbg.mir
A llvm/test/CodeGen/AArch64/sink-and-fold-preserve-debugloc.mir
Log Message:
-----------
[MachineSink][AArch64] Preserve debug location when rematerialising an instruction to replace a COPY (#72685)
Fixes a regression in `tools/lldb-dap/optimized/TestDAP_optimized.py`
caused by enabling "sink-and-fold" in MachineSink.
Commit: 6d23aaad4ffdcdda56845e4ca392f09c5795630a
https://github.com/llvm/llvm-project/commit/6d23aaad4ffdcdda56845e4ca392f09c5795630a
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
M llvm/test/Transforms/DCE/dbg-value-removal.ll
Log Message:
-----------
[DebugInfo][RemoveDIs] Implement redundant elimination for DPValues (#72284)
This pass steps through a block forwards and backwards, identifying those
variable assignment records that are redundant, and erases them, saving us
a decent wedge of compile-time. This patch re-implements it to use the
replacement for DbgValueInsts, DPValues, in an almost identical way.
Alas the test I've added the try-remove-dis flag to is the only one I've
been able to find that manually runs this pass.
Commit: 6a323e7ec3478e633ba85ce6c274f02d0b31299b
https://github.com/llvm/llvm-project/commit/6a323e7ec3478e633ba85ce6c274f02d0b31299b
Author: Martin Storsjö <martin at martin.st>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
A lld/test/COFF/lto-dllimport.ll
M lld/test/COFF/lto-imp-prefix.ll
R llvm/test/LTO/X86/Inputs/dllimport.ll
R llvm/test/LTO/X86/dllimport.ll
Log Message:
-----------
[LLD] [COFF] Add tests to observe details about LTO and __imp_ prefixes. NFC. (#72764)
The commit 3ab6209a3f93bdbeec8e9b9fcc00a9a4980915ff had the undesired
effect of retaining every `__imp_` symbol, even if it isn't referenced
in any way. Add a testcase to observe this behaviour, to serve as
a reference point if this behaviour were to be improved later.
Port the testcase from b963c0b658cc54b370832df4f5a3d63fd69da334 from
the llvm/LTO testsuite into LLD as a preparation for changing that fix;
the moved testcase has a comment for one case which doesn't work
currently.
The testcase is ported mostly as is, but with symbol mangling
simplified, rewriting function names from MSVC C++ mangling to plain
C, and unnecessary debug info is removed.
Add a case of a dllimported data symbol, in addition to the existing
call of a dllimported function.
Also extend the testcase to test combinations of both regular
object files and LTO objects. Leave out one combination which currently
fails, with a comment.
Commit: ead35564c0136fef0c1efface7b9857ad87af9de
https://github.com/llvm/llvm-project/commit/ead35564c0136fef0c1efface7b9857ad87af9de
Author: Florian Hahn <flo at fhahn.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M llvm/lib/Transforms/Utils/LoopUtils.cpp
M llvm/test/Transforms/LoopVectorize/forked-pointers.ll
M llvm/test/Transforms/LoopVectorize/pointer-select-runtime-checks.ll
Log Message:
-----------
[LoopUtils] Freeze compare results for diff checks instead of pointers.
THe freezes are introduced to avoid branch on undef/poison, if any of
the pointers may be poison. The same can be achieved by just freezing
the compare, which reduces the number of freezes needed. See
https://alive2.llvm.org/ce/z/NHa_ud
Note that the individual compares need to be frozen and it is not
sufficient to only freeze the resulting OR:
Result OR frozen only (UNSOUND): https://alive2.llvm.org/ce/z/YzFHQY
Individual conds frozen (SOUND): https://alive2.llvm.org/ce/z/5L6Z3f
Commit: 775d2f3201cf7fb657aaf58d1b37c130bd9eb8f9
https://github.com/llvm/llvm-project/commit/775d2f3201cf7fb657aaf58d1b37c130bd9eb8f9
Author: ZhaoQi <zhaoqi01 at loongson.cn>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCCodeEmitter.cpp
M llvm/test/CodeGen/LoongArch/test_bl_fixupkind.mir
Log Message:
-----------
[LoongArch][MC] Support to get the FixupKind for BL (#72938)
Previously, bolt could not get FixupKind for BL correctly, because bolt
cannot get target-flags for BL. Here just add support in MCCodeEmitter.
Fixes https://github.com/llvm/llvm-project/pull/72826.
Commit: ff75121d4b6c5f4023e36a4edd7296a419ed5c04
https://github.com/llvm/llvm-project/commit/ff75121d4b6c5f4023e36a4edd7296a419ed5c04
Author: Nikita Popov <npopov at redhat.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M llvm/include/llvm/Support/GenericLoopInfoImpl.h
Log Message:
-----------
[LoopInfo] Avoid redundant DomTree lookup (NFC)
For Header we already have the DomTreeNode. For Backedge, fetch it
only once.
Commit: 7f740be4acddd8acf46796229c46117b735a9be8
https://github.com/llvm/llvm-project/commit/7f740be4acddd8acf46796229c46117b735a9be8
Author: Nikita Popov <npopov at redhat.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M llvm/lib/Analysis/BasicAliasAnalysis.cpp
Log Message:
-----------
[BasicAA] Don't assume DT is nonnull
I thought DT is required in BasicAA, but apparently it can be null
in unit tests at least. This should fix the ubsan bot failures.
Commit: f3e54f2f97daa135b99a47277625cc6e8391753e
https://github.com/llvm/llvm-project/commit/f3e54f2f97daa135b99a47277625cc6e8391753e
Author: llongint <hezuoqiang2 at huawei.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M bolt/include/bolt/Core/BinaryContext.h
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Passes/ValidateInternalCalls.cpp
Log Message:
-----------
[BOLT][NFC] Extract a function for dump MCInst (#67225)
In GDB debugging, obtaining the assembly representation of MCInst is
more intuitive.
Commit: b84fe8ff16dc4432e759cf3901d37d34ae8ec46f
https://github.com/llvm/llvm-project/commit/b84fe8ff16dc4432e759cf3901d37d34ae8ec46f
Author: Ivan Butygin <ivan.butygin at gmail.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
M mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp
M mlir/lib/Target/SPIRV/Serialization/Serializer.cpp
M mlir/test/Target/SPIRV/decorations.mlir
Log Message:
-----------
[mlir][spirv] Add some op decorations (#72809)
NoSignedWrap, NoUnsignedWrap, FPFastMathMode.
Commit: 521277cd1a8044c5930608fd2f056d8ce5181b4f
https://github.com/llvm/llvm-project/commit/521277cd1a8044c5930608fd2f056d8ce5181b4f
Author: Ivan Butygin <ivan.butygin at gmail.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVCLOps.td
M mlir/test/Dialect/SPIRV/IR/ocl-ops.mlir
Log Message:
-----------
[mlir][spirv] Add `CL.mix` op (#72800)
Commit: 72d3bf2b87ff7fab1a189d76f516bc03eac3271d
https://github.com/llvm/llvm-project/commit/72d3bf2b87ff7fab1a189d76f516bc03eac3271d
Author: Balázs Kéri <balazs.keri at ericsson.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/docs/analyzer/checkers.rst
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/test/Analysis/analyzer-config.c
M clang/test/Analysis/analyzer-enabled-checkers.c
M clang/test/Analysis/errno-notes.c
M clang/test/Analysis/errno-options.c
M clang/test/Analysis/errno-stdlibraryfunctions-notes.c
M clang/test/Analysis/errno-stdlibraryfunctions.c
M clang/test/Analysis/errno.c
M clang/test/Analysis/std-c-library-functions-arg-enabled-checkers.c
M clang/test/Analysis/stream-errno-note.c
M clang/test/Analysis/stream-errno.c
M clang/test/Analysis/stream-noopen.c
Log Message:
-----------
[clang][Analyzer] Move checker 'alpha.unix.Errno' to 'unix.Errno'. (#69469)
Commit: 52204a29aba2ca8a10f0bd1b5d5c3b8e0b8fa082
https://github.com/llvm/llvm-project/commit/52204a29aba2ca8a10f0bd1b5d5c3b8e0b8fa082
Author: Joseph Huber <huberjn at outlook.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M clang/test/CodeGenCUDA/offloading-entries.cu
M clang/test/Driver/linker-wrapper-image.c
M clang/test/OpenMP/declare_target_link_codegen.cpp
M llvm/lib/Frontend/Offloading/CMakeLists.txt
M llvm/lib/Frontend/Offloading/Utility.cpp
Log Message:
-----------
[Offload] Initial support for registering offloading entries on COFF targets (#72697)
Summary:
This patch provides the initial support to allow handling the new
driver's offloading entries. Normally, the ELF target can emit varibles
at C-identifier named sections and the linker will provide a pointer to
the section. For COFF target, instead the linker merges sections
containing a `$` in alphabetical order. We thus can emit these variables
at sections and then emit two variables that are guaranteed to be sorted
before and after the others to traverse it. Previous patches
consolidated the handling of offloading entries so that this patch more
easily can handle mapping them to the appropriate section.
Ideally, the only remaining step to allow the new driver to run on
Windows targets is to accurately map the following `ld.lld` arguments to
their `llvm-link` equivalents. These are used inside the linker-wrapper,
so we should simply need to remap the arguments to the same
functionality if possible.
```
-o, -output
-l, --library
-L, --library-path
-v, --version
-rpath
-whole-archive, -no-whole-archive
```
I have not tested this at runtime as I do not have access to a windows
machine.
This patch was adapted from some initial efforts in
https://reviews.llvm.org/D137470.
Commit: f4418f8813ee15d13217ab0dd995a2a519d9c688
https://github.com/llvm/llvm-project/commit/f4418f8813ee15d13217ab0dd995a2a519d9c688
Author: Abhina Sree <69635948+abhina-sree at users.noreply.github.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M clang/include/clang/Basic/AttrDocs.td
Log Message:
-----------
[SystemZ][z/OS] Replace unconventional characters that are not within the ASCII range (#72906)
This revision fixes the following error on z/OS.
`LLVM ERROR: IO failure on output stream: EDC5122I Input/output error.`
I replace unconventional characters with characters that are within the
ASCII range.
Commit: 414815872434f6b4f7479a2732e87d221eefb01d
https://github.com/llvm/llvm-project/commit/414815872434f6b4f7479a2732e87d221eefb01d
Author: David Green <david.green at arm.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M llvm/lib/CodeGen/RegisterBankInfo.cpp
Log Message:
-----------
[RegBankInfo] Add brackets around || in assert. NFC
Commit: fd640384a5ac472e4f812ab5211d9d227078ec5e
https://github.com/llvm/llvm-project/commit/fd640384a5ac472e4f812ab5211d9d227078ec5e
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M llvm/include/llvm/CodeGen/TargetLowering.h
Log Message:
-----------
[CodeGen] getPointerMemTy - move FIXME to start of comment line so editors are more likely to detect it. NFC.
Commit: 8336bfb17ee0ed694a30519da8ed3a930a5661ee
https://github.com/llvm/llvm-project/commit/8336bfb17ee0ed694a30519da8ed3a930a5661ee
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M llvm/test/CodeGen/X86/ispow2.ll
Log Message:
-----------
[X86] Regenerate ispow2.ll. NFC.
Commit: 527fcb8e5d6b1d491b6699cde818db1127bbb12c
https://github.com/llvm/llvm-project/commit/527fcb8e5d6b1d491b6699cde818db1127bbb12c
Author: Gábor Spaits <48805437+spaits at users.noreply.github.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h
M clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
A clang/lib/StaticAnalyzer/Checkers/StdVariantChecker.cpp
A clang/lib/StaticAnalyzer/Checkers/TaggedUnionModeling.h
M clang/lib/StaticAnalyzer/Core/CallEvent.cpp
M clang/test/Analysis/Inputs/system-header-simulator-cxx.h
M clang/test/Analysis/diagnostics/explicit-suppression.cpp
A clang/test/Analysis/std-variant-checker.cpp
Log Message:
-----------
[analyzer] Add std::variant checker (#66481)
As my BSc thesis I've implemented a checker for std::variant and
std::any, and in the following weeks I'll upload a revised version of
them here.
# Prelude
@Szelethus and I sent out an email with our initial plans here:
https://discourse.llvm.org/t/analyzer-new-checker-for-std-any-as-a-bsc-thesis/65613/2
We also created a stub checker patch here:
https://reviews.llvm.org/D142354.
Upon the recommendation of @haoNoQ , we explored an option where instead
of writing a checker, we tried to improve on how the analyzer natively
inlined the methods of std::variant and std::any. Our attempt is in this
patch https://reviews.llvm.org/D145069, but in a nutshell, this is what
happened: The analyzer was able to model much of what happened inside
those classes, but our false positive suppression machinery erroneously
suppressed it. After months of trying, we could not find a satisfying
enhancement on the heuristic without introducing an allowlist/denylist
of which functions to not suppress.
As a result (and partly on the encouragement of @Xazax-hun) I wrote a
dedicated checker!
The advantage of the checker is that it is not dependent on the
standard's implementation and won't put warnings in the standard library
definitions. Also without the checker it would be difficult to create
nice user-friendly warnings and NoteTags -- as per the standard's
specification, the analysis is sinked by an exception, which we don't
model well now.
# Design ideas
The working of the checker is straightforward: We find the creation of
an std::variant instance, store the type of the variable we want to
store in it, then save this type for the instance. When retrieving type
from the instance we check what type we want to retrieve as, and compare
it to the actual type. If the two don't march we emit an error.
Distinguishing variants by instance (e.g. MemRegion *) is not the most
optimal way. Other checkers, like MallocChecker uses a symbol-to-trait
map instead of region-to-trait. The upside of using symbols (which would
be the value of a variant, not the variant itself itself) is that the
analyzer would take care of modeling copies, moves, invalidation, etc,
out of the box. The problem is that for compound types, the analyzer
doesn't create a symbol as a result of a constructor call that is fit
for this job. MallocChecker in contrast manipulates simple pointers.
My colleges and I considered the option of making adjustments directly
to the memory model of the analyzer, but for the time being decided
against it, and go with the bit more cumbersome, but immediately viable
option of simply using MemRegions.
# Current state and review plan
This patch contains an already working checker that can find and report
certain variant/any misuses, but still lands it in alpha. I plan to
upload the rest of the checker in later patches.
The full checker is also able to "follow" the symbolic value held by the
std::variant and updates the program state whenever we assign the value
stored in the variant. I have also built a library that is meant to
model union-like types similar to variant, hence some functions being a
bit more multipurpose then is immediately needed.
I also intend to publish my std::any checker in a later commit.
---------
Co-authored-by: Gabor Spaits <gabor.spaits at ericsson.com>
Co-authored-by: Balazs Benics <benicsbalazs at gmail.com>
Commit: 89efffd463ecc39cb17440ef7bb66d26141322aa
https://github.com/llvm/llvm-project/commit/89efffd463ecc39cb17440ef7bb66d26141322aa
Author: Martin Storsjö <martin at martin.st>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M lld/COFF/SymbolTable.cpp
M lld/test/COFF/lto-dllimport.ll
M lld/test/COFF/lto-imp-prefix.ll
M llvm/lib/LTO/LTO.cpp
Log Message:
-----------
[LTO] [LLD] Don't alias the __imp_func and func symbol resolutions (#71376)
Commit b963c0b658cc54b370832df4f5a3d63fd69da334 fixed LTO compilation of
cases where one translation unit is calling a function with the
dllimport attribute, and another translation unit provides this function
locally within the same linked module (i.e. not actually dllimported);
see https://github.com/llvm/llvm-project/issues/37453 or
https://bugs.llvm.org/show_bug.cgi?id=38105 for full context.
This was fixed by aliasing their GlobalResolution structs, for the
`__imp_` prefixed and non prefixed symbols.
I believe this fix to be wrong.
This patch reverts that fix, and fixes the same issue differently,
within LLD instead.
The fix assumed that one can treat the `__imp_` prefixed and unprefixed
symbols as equal, referencing SVN r240620
(d766653534e0cff702e42a43b44d3057b6094fea). However that referenced
commit had mistaken how this logic works, which was corrected later in
SVN r240622 (88e0f9206b4dccb56dee931adab08f89ff80525a); those symbols
aren't direct aliases for each other - but if there's a need for the
`__imp_` prefixed one and the other one exists, the `__imp_` prefixed
one is created, as a pointer to the other one.
However this fix only works if both translation units are compiled as
LTO; if the caller is compiled as a regular object file and the callee
is compiled as LTO, the fix fails, as the LTO compilation doesn't know
that the unprefixed symbol is needed.
The only level that knows of the potential relationship between the
`__imp_` prefixed and unprefixed symbol, across regular and bitcode
object files, is LLD itself.
Therefore, revert the original fix from
b963c0b658cc54b370832df4f5a3d63fd69da334, and fix the issue differently
- when concluding that we can fulfill an undefined symbol starting with
`__imp_`, mark the corresponding non prefixed symbol as used in a
regular object for the LTO compilation, to make sure that this non
prefixed symbol exists after the LTO compilation, to let LLD do the
fixup of the local import.
Extend the testcase to test a regular object file calling an LTO object
file, which previously failed.
This change also fixes another issue; an object file can provide both
unprefixed and prefixed versions of the same symbol, like this:
void importedFunc(void) {
}
void (*__imp_importedFunc)(void) = importedFunc;
That allows the function to be called both with and without dllimport
markings. (The concept of automatically resolving a reference to
`__imp_func` to a locally defined `func` only is done in MSVC style
linkers, but not in GNU ld, therefore MinGW mode code often uses this
construct.)
Previously, the aliasing of global resolutions at the LTO level would
trigger a failed assert with "Multiple prevailing defs are not allowed"
for this case, as both `importedFunc` and `__imp_importedFunc` could be
prevailing. Add a case to the existing LLD test case lto-imp-prefix.ll
to test this as well.
This change (together with previous change in
3ab6209a3f93bdbeec8e9b9fcc00a9a4980915ff) completes LLD to work with
mingw-w64-crt files (the base glue code for a mingw-w64 toolchain) built
with LTO.
Commit: 8341a40ec1993a5d2b75b326720e7b6661f4b36a
https://github.com/llvm/llvm-project/commit/8341a40ec1993a5d2b75b326720e7b6661f4b36a
Author: Joseph Huber <huberjn at outlook.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M libc/cmake/modules/prepare_libc_gpu_build.cmake
M libc/utils/gpu/loader/amdgpu/Loader.cpp
Log Message:
-----------
[libc] Update the AMDGPU implementation to use code object 5 (#72580)
Summary:
This patch includes the necessary changes to make the `libc` tests
running on AMD GPUs run using the newer code object version. The 'code
object version' is AMD's internal ABI for making kernel calls. The move
from 4 to 5 changed how we handle arguments for builtins such as
obtaining the grid size or setting up the size of the private stack.
Fixes: https://github.com/llvm/llvm-project/issues/72517
Commit: a243128ed6ec325a752e931637284d3fec53318f
https://github.com/llvm/llvm-project/commit/a243128ed6ec325a752e931637284d3fec53318f
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/StaticAnalyzer/Checkers/BUILD.gn
Log Message:
-----------
[gn build] Port 527fcb8e5d6b
Commit: 56f569049c9df7e4db6aa14eae6c4fe200350bf6
https://github.com/llvm/llvm-project/commit/56f569049c9df7e4db6aa14eae6c4fe200350bf6
Author: Nikita Popov <npopov at redhat.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M llvm/lib/Analysis/AssumeBundleQueries.cpp
M llvm/lib/Analysis/ValueTracking.cpp
Log Message:
-----------
[ValueTracking] Handle operand bundle assumes in same loop (NFCI)
We are already iterating over all assumes in AC, so handle
operand bundle based assumes in the same loop, instead of querying
them separately.
To keep the debug counter working, make it work per-bundle rather
than per-value.
Commit: e6ef31524729fc03275b1ea4f92b66c1e1eb013e
https://github.com/llvm/llvm-project/commit/e6ef31524729fc03275b1ea4f92b66c1e1eb013e
Author: Egor Zhdan <e_zhdan at apple.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M clang/include/clang/Frontend/CompilerInstance.h
M clang/include/clang/Sema/Sema.h
M clang/lib/Frontend/CMakeLists.txt
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Sema/CMakeLists.txt
M clang/lib/Sema/Sema.cpp
Log Message:
-----------
[APINotes] Introduce APINotes infrastructure in Clang Sema and Frontend
This upstreams more of the Clang API Notes functionality that is
currently implemented in the Apple fork:
https://github.com/apple/llvm-project/tree/next/clang/lib/APINotes
This adds the initial Clang APINotes infrastructure to Clang Sema and
Clang Frontend.
There will shortly be a follow-up patch with the actual usages of this
API. I'm splitting these changes into separate PRs to keep the diffs
easier to review.
Commit: ad86d3e94f21fb13e504b0b1044ef7c10bc86a98
https://github.com/llvm/llvm-project/commit/ad86d3e94f21fb13e504b0b1044ef7c10bc86a98
Author: Florian Hahn <flo at fhahn.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M llvm/test/Analysis/BasicAA/gep-modulo.ll
Log Message:
-----------
[BasicAA] Add wrapping test for #72831.
Add test with GEP where the index may wrap.
Commit: f79676a17eae4c63318561ba35613d97053fa12c
https://github.com/llvm/llvm-project/commit/f79676a17eae4c63318561ba35613d97053fa12c
Author: CarolineConcatto <51754594+CarolineConcatto at users.noreply.github.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M clang/include/clang/Basic/arm_sve.td
A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfadd.c
A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfclamp.c
A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmax.c
A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmaxnm.c
A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmin.c
A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfminnm.c
A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmla.c
A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmla_lane.c
A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmls.c
A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmls_lane.c
A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmul.c
A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmul_lane.c
A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfsub.c
M clang/test/Sema/aarch64-sve2p1-intrinsics/acle_sve2p1_imm.cpp
M llvm/lib/Target/AArch64/AArch64.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfadd.ll
A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfclamp.ll
A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmax.ll
A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmaxnm.ll
A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmin.ll
A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfminnm.ll
A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmla.ll
A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmla_lane.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmls.ll
A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmls_lane.ll
A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmlsl.ll
A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmul.ll
A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmul_lane.ll
A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfsub.ll
M llvm/test/MC/AArch64/SVE2p1/bfadd.s
M llvm/test/MC/AArch64/SVE2p1/bfclamp.s
M llvm/test/MC/AArch64/SVE2p1/bfmax.s
M llvm/test/MC/AArch64/SVE2p1/bfmaxnm.s
M llvm/test/MC/AArch64/SVE2p1/bfmin.s
M llvm/test/MC/AArch64/SVE2p1/bfminnm.s
M llvm/test/MC/AArch64/SVE2p1/bfmla.s
M llvm/test/MC/AArch64/SVE2p1/bfmls.s
M llvm/test/MC/AArch64/SVE2p1/bfmul.s
M llvm/test/MC/AArch64/SVE2p1/bfsub.s
Log Message:
-----------
[SVE2.1][Clang][LLVM]Add BFloat16 builtin in Clang and LLVM intrinisc (#70362)
This patch implements the builtins in Clang
and the LLVM-IR intrinsic for the following:
For BFADD , BFSUB, BFMAX, BFMIN, BFMAXNM and BFMINNM, for instance:
svbfloat16_t svadd[_bf16]_m (svbool_t pg, svbfloat16_t zdn, svbfloat16_t
zm);
svbfloat16_t svadd[_bf16]_x (svbool_t pg, svbfloat16_t zdn, svbfloat16_t
zm);
svbfloat16_t svadd[_bf16]_z (svbool_t pg, svbfloat16_t zdn, svbfloat16_t
zm);
svbfloat16_t svadd[_n_bf16]_m (svbool_t pg, svbfloat16_t zdn, bfloat16_t
zm);
svbfloat16_t svadd[_n_bf16]_x (svbool_t pg, svbfloat16_t zdn, bfloat16_t
zm);
svbfloat16_t svadd[_n_bf16]_z (svbool_t pg, svbfloat16_t zdn, bfloat16_t
zm);
the add, could be replaced by sub, max, min, maxnm and minnm.
For BFMUL:
svbfloat16_t svmul[_bf16]_m(svbool_t pg, svbfloat16_t zdn, svbfloat16_t
zm);
svbfloat16_t svmul[_bf16]_x(svbool_t pg, svbfloat16_t zdn, svbfloat16_t
zm);
svbfloat16_t svmul[_bf16]_z(svbool_t pg, svbfloat16_t zdn, svbfloat16_t
zm);
svbfloat16_t svmul[_n_bf16]_m(svbool_t pg, svbfloat16_t zdn, bfloat16_t
zm);
svbfloat16_t svmul[_n_bf16]_x(svbool_t pg, svbfloat16_t zdn, bfloat16_t
zm);
svbfloat16_t svmul[_n_bf16]_z(svbool_t pg, svbfloat16_t zdn, bfloat16_t
zm);
svbfloat16_t svmul_lane[_bf16](svbfloat16_t zn, svbfloat16_t zm,
uint64_t imm_idx);
For BFCLAMP:
svbfloat16_t svclamp[_bf16](svbfloat16_t op, svbfloat16_t min,
svbfloat16_t max);
For BFMLA and BFMLS
svbfloat16_t svmla[_bf16]_m(svbool_t pg, svbfloat16_t zda, svbfloat16_t
zn,
svbfloat16_t zm);
svbfloat16_t svmla[_bf16]_z(svbool_t pg, svbfloat16_t zda, svbfloat16_t
zn,
svbfloat16_t zm);
svbfloat16_t svmla[_bf16]_x(svbool_t pg, svbfloat16_t zda, svbfloat16_t
zn,
svbfloat16_t zm);
svbfloat16_t svmla[_n_bf16]_m(svbool_t pg, svbfloat16_t zda,
svbfloat16_t zn,
bfloat16_t zm);
svbfloat16_t svmla[_n_bf16]_z(svbool_t pg, svbfloat16_t zda,
svbfloat16_t zn,
bfloat16_t zm);
svbfloat16_t svmla[_n_bf16]_x(svbool_t pg, svbfloat16_t zda,
svbfloat16_t zn,
bfloat16_t zm);
svbfloat16_t svmla_lane[_bf16](svbfloat16_t zda, svbfloat16_t zn,
svbfloat16_t zm, uint64_t
According to the PR#257[1]
[1]ARM-software/acle#257
Co-authored-by: Matthew Devereau <matthew.devereau at arm.com>
Commit: 0c49fc4c68aff96ebe700d2af50a3c445ee0484e
https://github.com/llvm/llvm-project/commit/0c49fc4c68aff96ebe700d2af50a3c445ee0484e
Author: Nishant Mittal <mittalnishant14 at outlook.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M libc/config/darwin/arm/entrypoints.txt
M libc/config/darwin/x86_64/entrypoints.txt
M libc/config/gpu/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/config/windows/entrypoints.txt
M libc/docs/math/index.rst
M libc/spec/stdc.td
M libc/src/__support/FPUtil/CMakeLists.txt
M libc/src/__support/FPUtil/ManipulationFunctions.h
M libc/src/__support/FPUtil/x86_64/NextAfterLongDouble.h
M libc/src/math/CMakeLists.txt
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/nexttoward.cpp
A libc/src/math/generic/nexttowardf.cpp
A libc/src/math/generic/nexttowardl.cpp
A libc/src/math/nexttoward.h
A libc/src/math/nexttowardf.h
A libc/src/math/nexttowardl.h
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/NextTowardTest.h
A libc/test/src/math/smoke/nexttoward_test.cpp
A libc/test/src/math/smoke/nexttowardf_test.cpp
A libc/test/src/math/smoke/nexttowardl_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Implement nexttoward functions (#72763)
Implements the `nexttoward`, `nexttowardf` and `nexttowardl` functions.
Also, raise excepts required by the standard in `nextafter` functions.
cc: @lntue
Commit: 1f141737c734482fce224b99ffd25bd23158ef47
https://github.com/llvm/llvm-project/commit/1f141737c734482fce224b99ffd25bd23158ef47
Author: MaheshRavishankar <1663364+MaheshRavishankar at users.noreply.github.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorTranspose.cpp
M mlir/test/Dialect/Vector/canonicalize.mlir
M mlir/test/Dialect/Vector/vector-transpose-lowering.mlir
Log Message:
-----------
Revert "[mlir][vector] Move transpose with unit-dim to shape_cast pattern (#72493)" (#72918)
This reverts commit 95acb33b458128b7ff2314efa3b41b93b3897179.
Commit: 42cd9aeec286a6928da59dce1134fdced0f0462a
https://github.com/llvm/llvm-project/commit/42cd9aeec286a6928da59dce1134fdced0f0462a
Author: MaheshRavishankar <1663364+MaheshRavishankar at users.noreply.github.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/test/Dialect/Linalg/canonicalize.mlir
Log Message:
-----------
Fold `linalg.fill` -> `linalg.copy` (#72920)
Commit: 2d39cb49833abaf7a67110149a010940d7790d7e
https://github.com/llvm/llvm-project/commit/2d39cb49833abaf7a67110149a010940d7790d7e
Author: Florian Hahn <flo at fhahn.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M llvm/lib/Analysis/BasicAliasAnalysis.cpp
M llvm/test/Analysis/BasicAA/gep-modulo.ll
Log Message:
-----------
[BasicAA] Don't use MinAbsVarIndex = 1. (#72993)
The current code incorrectly assumed that the absolute variable index
needs to be at least 1, if the variable is != 0. This is incorrect, in
case multiplying with Scale wraps.
The code below already checks for wrapping properly, so just remove the
incorrect assignment.
Fixes https://github.com/llvm/llvm-project/issues/72831.
Commit: 9250fbd2a187b102765f2747fa804640a9468ed3
https://github.com/llvm/llvm-project/commit/9250fbd2a187b102765f2747fa804640a9468ed3
Author: Nico Weber <thakis at chromium.org>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Frontend/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/Sema/BUILD.gn
Log Message:
-----------
[gn] port e6ef31524729fc
Commit: 9d26c6bd7fd3e22ec3e7434b857cc7afa3c153a6
https://github.com/llvm/llvm-project/commit/9d26c6bd7fd3e22ec3e7434b857cc7afa3c153a6
Author: agozillon <Andrew.Gozillon at amd.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
Log Message:
-----------
[MLIR][OpenMP] remove now unnecessary getUsedValuesDefinedAbove call from convertTargetOp (#72904)
This block of code was here to create pseudo handling of implicit
captures in target regions to prevent gfortran test regressions and
allow certain pieces of code to function, however, with the introduction
of the IFA patch which adds proper handling of implicits by adding them
to the map operands list alongside explicit mappings at the initial
Fortran -> MLIR generation phase this should no longer be required and
may cause some adverse affects at worse in the future.
Commit: 9cd617c5dc5c082fb64c3436bb6b0d46088d8ac1
https://github.com/llvm/llvm-project/commit/9cd617c5dc5c082fb64c3436bb6b0d46088d8ac1
Author: smanna12 <soumi.manna at intel.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M clang/test/Sema/code_align.c
Log Message:
-----------
[clang] Fix lit test failure caused by https://github.com/llvm/llvm-project/pull/70762 (#72928)
Lit test generates different outputs for usage of __int128_t in
clang-armv8-quick environment. This patch adds triple to fix the lit
failure.
```
Step 5 (ninja check 1) failure: 1 unexpected failures 38623 expected passes 71 expected failures 36752 unsupported tests (failure)
******************** TEST 'Clang :: Sema/code_align.c' FAILED ******************** Exit Code: 1
Command Output (stderr):
--
RUN: at line 1: /home/tcwg-buildbot/worker/clang-armv8-quick/stage1/bin/clang -cc1 -internal-isystem /home/tcwg-buildbot/worker/clang-armv8-quick/stage1/lib/clang/18/include -nostdsysteminc -fsyntax-only -verify=expected,c-local -x c /home/tcwg-buildbot/worker/clang-armv8-quick/llvm/clang/test/Sema/code_align.c
+ /home/tcwg-buildbot/worker/clang-armv8-quick/stage1/bin/clang -cc1
+ -internal-isystem
+ /home/tcwg-buildbot/worker/clang-armv8-quick/stage1/lib/clang/18/inclu
+ de -nostdsysteminc -fsyntax-only -verify=expected,c-local -x c
+ /home/tcwg-buildbot/worker/clang-armv8-quick/llvm/clang/test/Sema/code
+ _align.c
error: 'c-local-error' diagnostics expected but not seen:
File /home/tcwg-buildbot/worker/clang-armv8-quick/llvm/clang/test/Sema/code_align.c Line 79 (directive at /home/tcwg-buildbot/worker/clang-armv8-quick/llvm/clang/test/Sema/code_align.c:78): 'code_align' attribute requires an integer argument which is a constant power of two between 1 and 4096 inclusive; provided argument was (__int128_t)1311768467294899680ULL << 64
File /home/tcwg-buildbot/worker/clang-armv8-quick/llvm/clang/test/Sema/code_align.c Line 89 (directive at /home/tcwg-buildbot/worker/clang-armv8-quick/llvm/clang/test/Sema/code_align.c:88): 'code_align' attribute requires an integer argument which is a constant power of two between 1 and 4096 inclusive; provided argument was -(__int128_t)1311768467294899680ULL << 64
error: 'c-local-error' diagnostics seen but not expected:
File /home/tcwg-buildbot/worker/clang-armv8-quick/llvm/clang/test/Sema/code_align.c Line 79: use of undeclared identifier '__int128_t'
File /home/tcwg-buildbot/worker/clang-armv8-quick/llvm/clang/test/Sema/code_align.c Line 89: use of undeclared identifier '__int128_t'
4 errors generated.
```
Commit: 6088e9cdba902f78d88bbd3e7ff21c6ddb8fcf98
https://github.com/llvm/llvm-project/commit/6088e9cdba902f78d88bbd3e7ff21c6ddb8fcf98
Author: Florian Hahn <flo at fhahn.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M llvm/test/Transforms/LoopVectorize/runtime-checks-difference.ll
Log Message:
-----------
[LV] Add test case for diff checks with nested AddRecs.
Add a test case where the AddRec for the pointers in the inner loop
have the AddRec of the outer loop as start value.
It is sufficient to subtract the start values (%dst, %src) of the outer
AddRecs. This simplification will be done in a follow-up commit.
Commit: a1652fdb5ebf4a7d94d28200765232ebc2ba7c62
https://github.com/llvm/llvm-project/commit/a1652fdb5ebf4a7d94d28200765232ebc2ba7c62
Author: Nikita Popov <npopov at redhat.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M llvm/test/Transforms/InstCombine/shift.ll
Log Message:
-----------
[InstCombine] Add tests for incorrect shift nneg inference (NFC)
The second test is a miscompile.
Commit: ac75171d41f0000d53eadf64a943d6fabc24af6c
https://github.com/llvm/llvm-project/commit/ac75171d41f0000d53eadf64a943d6fabc24af6c
Author: Nikita Popov <npopov at redhat.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/test/Transforms/InstCombine/shift.ll
Log Message:
-----------
[InstCombine] Fix incorrect nneg inference on shift amount
Whether this is valid depends on the bit widths of the involved
integers.
Fixes https://github.com/llvm/llvm-project/issues/72927.
Commit: 5f7c8c1068d23d1f23643ddd141ca6f4f23f3578
https://github.com/llvm/llvm-project/commit/5f7c8c1068d23d1f23643ddd141ca6f4f23f3578
Author: Boian Petkantchin <boian at nod-labs.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
A mlir/docs/Dialects/Mesh.md
M mlir/include/mlir/Dialect/Mesh/IR/MeshBase.td
M mlir/include/mlir/Dialect/Mesh/IR/MeshOps.h
M mlir/include/mlir/Dialect/Mesh/IR/MeshOps.td
M mlir/lib/Dialect/Mesh/IR/MeshOps.cpp
A mlir/test/Dialect/Mesh/canonicalization.mlir
M mlir/test/Dialect/Mesh/invalid.mlir
M mlir/test/Dialect/Mesh/ops.mlir
Log Message:
-----------
[mlir][mesh] Add collective communication operations (#71960)
Add all-gather, all-reduce, all-to-all and reduce-scatter. These
operations have device mesh semantics.
Commit: 49f0070237709a979905d8fe823f47a1b0ebd8ee
https://github.com/llvm/llvm-project/commit/49f0070237709a979905d8fe823f47a1b0ebd8ee
Author: martinboehme <mboehme at google.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
Log Message:
-----------
[clang][dataflow] Remove deprecated synonyms from `Environment`. (#72987)
Commit: 8134a8fc3ff93db3a28a1ee1016c5024859dc1c6
https://github.com/llvm/llvm-project/commit/8134a8fc3ff93db3a28a1ee1016c5024859dc1c6
Author: Oleksandr "Alex" Zinenko <zinenko at google.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M mlir/docs/DataLayout.md
M mlir/include/mlir/Dialect/LLVMIR/LLVMTypes.h
M mlir/include/mlir/Interfaces/DataLayoutInterfaces.h
M mlir/include/mlir/Interfaces/DataLayoutInterfaces.td
M mlir/lib/Dialect/LLVMIR/IR/LLVMTypes.cpp
M mlir/lib/Dialect/Linalg/Transforms/Promotion.cpp
M mlir/lib/Interfaces/DataLayoutInterfaces.cpp
M mlir/lib/Target/LLVMIR/DataLayoutImporter.cpp
M mlir/lib/Target/LLVMIR/DataLayoutImporter.h
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
M mlir/test/Conversion/MemRefToLLVM/convert-dynamic-memref-ops.mlir
M mlir/test/Dialect/LLVMIR/dynamic-gep-index.mlir
A mlir/test/Dialect/LLVMIR/inline-byval-huge.mlir
M mlir/test/Dialect/LLVMIR/layout.mlir
M mlir/test/Interfaces/DataLayoutInterfaces/query.mlir
M mlir/test/Interfaces/DataLayoutInterfaces/types.mlir
M mlir/test/Target/LLVMIR/Import/data-layout.ll
M mlir/test/Target/LLVMIR/data-layout.mlir
M mlir/test/lib/Dialect/Test/TestTypeDefs.td
M mlir/test/lib/Dialect/Test/TestTypes.cpp
M mlir/unittests/Interfaces/DataLayoutInterfacesTest.cpp
Log Message:
-----------
[mlir] use TypeSize and uint64_t in DataLayout (#72874)
Data layout queries may be issued for types whose size exceeds the range
of 32-bit integer as well as for types that don't have a size known at
compile time, such as scalable vectors. Use best practices from LLVM IR
and adopt `llvm::TypeSize` for size-related queries and `uint64_t` for
alignment-related queries.
See #72678.
Commit: 2749f52ec46bf64d6f15d0708d917d1eec9e357b
https://github.com/llvm/llvm-project/commit/2749f52ec46bf64d6f15d0708d917d1eec9e357b
Author: Brandon Wu <brandon.wu at sifive.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M clang/include/clang/Basic/riscv_sifive_vector.td
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/xsfvcp-xv-rv64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/xsfvcp-xv.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/xsfvcp-xvv-rv64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/xsfvcp-xvv.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/xsfvcp-xvw.c
M llvm/include/llvm/IR/IntrinsicsRISCVXsf.td
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoXSf.td
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-xsfvcp-x.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-xsfvcp-xv.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-xsfvcp-xvv.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-xsfvcp-xvw.ll
M llvm/test/CodeGen/RISCV/rvv/xsfvcp-x.ll
M llvm/test/CodeGen/RISCV/rvv/xsfvcp-xv.ll
M llvm/test/CodeGen/RISCV/rvv/xsfvcp-xvv.ll
M llvm/test/CodeGen/RISCV/rvv/xsfvcp-xvw.ll
Log Message:
-----------
[RISCV] Convert all floating point vector type operands to integer vector type (#69559)
Commit: a3908d33b17cb9655d336039bf6a9bd798930eb4
https://github.com/llvm/llvm-project/commit/a3908d33b17cb9655d336039bf6a9bd798930eb4
Author: Nikita Popov <npopov at redhat.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M llvm/lib/Analysis/BasicAliasAnalysis.cpp
Log Message:
-----------
[BasicAA] Optimize index size adjustment (NFC)
In most cases we do not actually have to perform an index size
adjustment. Don't perform any APInt operations in that case.
Commit: f33588380886e1bda124b213a90b7c8163ca3d3b
https://github.com/llvm/llvm-project/commit/f33588380886e1bda124b213a90b7c8163ca3d3b
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M clang/include/clang/Basic/arm_sve.td
M clang/lib/CodeGen/CGBuiltin.cpp
A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_ld1_single.c
A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_loads.c
A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_st1_single.c
A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_store.c
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-gather-loads-128bit-unscaled-offset.ll
A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-ld1-single.ll
A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-multivec-loads.ll
A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-multivec-stores.ll
A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-scatter-stores-128bit-unscaled-offset.ll
A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-st1-single.ll
Log Message:
-----------
[AArch64][SVE2.1] Add intrinsics for quadword loads/stores with unscaled offset (#70474)
This patch adds a set of SVE2.1 quadword load/store intrisics:
* Contiguous zero-extending load to quadword (single vector)
sv<type>_t svld1uwq[_<typ>](svbool_t, const <type>_t *ptr);
sv<type>_t svld1uwq_vnum[_<typ>](svbool_t, const <type> *ptr, int64_t vnum);
sv<type>_t svld1udq[_<typ>](svbool_t, const <type>_t *ptr);
sv<type>_t svld1udq_vnum[_<typ>](svbool_t, const <type>_t *ptr, int64_t vnum);
* Contiguous truncating store of single vector operand
void svst1uwq[_<typ>](svbool_t, const <type>_t *ptr, sv<type>_t data);
void svst1uwq_vnum[_<typ>](svbool_t, const <type>_t *ptr, int64_t vnum, sv<type>_t data);
void svst1udq[_<typ>](svbool_t, const <type>_t *ptr, sv<type>_t data);
void svst1udq_vnum[_<typ>](svbool_t, const <type>_t *ptr, int64_t vnum, sv<type>_t data);
* Gather load quadword
sv<type>_t svld1q_gather[_u64base]_<typ>(svbool_t pg, svuint64_t zn);
sv<type>_t svld1q_gather[_u64base]_offset_<typ>(svbool_t pg, svuint64_t zn, int64_t offset);
* Scatter store quadword
void svst1q_scatter[_u64base][_<typ>](svbool_t pg, svuint64_t zn, sv<type>_t data);
void svst1q_scatter[_u64base]_offset[_<typ>](svbool_t pg, svuint64_t zn, int64_t offset, sv<type>_t data);
* Contiguous load two, three or four quadword structures.
sv<type>x2_t svld2q[_<typ>](svbool_t pg, const <type>_t *rn);
sv<type>x2_t svld2q_vnum[_<typ>](svbool_t pg, const <type>_t *rn, uint64_t vnum);
sv<type>x3_t svld3q[_<typ>](svbool_t pg, const <type>_t *rn);
sv<type>x3_t svld3q_vnum[_<typ>](svbool_t pg, const <type>_t *rn, uint64_t vnum);
sv<type>x4_t svld4q[_<typ>](svbool_t pg, const <type>_t *rn);
sv<type>x4_t svld4q_vnum[_<typ>](svbool_t pg, const <type>_t *rn, uint64_t vnum);
* Contiguous store two, three or four quadword structures.
void svst2q[_<typ>](svbool_t pg, <type>_t *rn, sv<type>x2_t zt);
void svst2q_vnum[_<typ>](svbool_t pg, <type>_t *rn, int64_t vnum, sv<type>x2_t zt);
void svst3q[_<typ>](svbool_t pg, <type>_t *rn, sv<type>x3_t zt);
void svst3q_vnum[_<typ>](svbool_t pg, <type>_t *rn, int64_t vnum, sv<type>x3_t zt);
void svst4q[_<typ>](svbool_t pg, <type>_t *rn, sv<type>x4_t zt);
void svst4q_vnum[_<typ>](svbool_t pg, <type>_t *rn, int64_t vnum, sv<type>x4_t zt);
ACLE spec: https://github.com/ARM-software/acle/pull/257
Co-authored-by: Caroline Concatto <caroline.concatto at arm.com>
Co-authored-by: Hassnaa Hamdi <hassnaa.hamdi at arm.com>
Commit: f85e7ab03534842d57d8fd385617a8d56b31bf09
https://github.com/llvm/llvm-project/commit/f85e7ab03534842d57d8fd385617a8d56b31bf09
Author: Jessica Del <50999226+OutOfCache at users.noreply.github.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wqm.ll
Log Message:
-----------
[AMDGPU] - Add constant folding to s_wqm intrinsic (#72382)
Fold any constant input to the `s_wqm` intrinsic.
Commit: 61835152ca9fb6b008711d6fb873ea50d4e566af
https://github.com/llvm/llvm-project/commit/61835152ca9fb6b008711d6fb873ea50d4e566af
Author: Ivan Butygin <ivan.butygin at gmail.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVCLOps.td
M mlir/test/Dialect/SPIRV/IR/ocl-ops.mlir
Log Message:
-----------
[mlir][spirv] Add more CL math ops (#72995)
tan
atan
atanh
sinh
cosh
asin
asinh
acos
acosh
atan2
Commit: 7ffabb61a5569444b5ac9322e22e5471cc5e4a77
https://github.com/llvm/llvm-project/commit/7ffabb61a5569444b5ac9322e22e5471cc5e4a77
Author: Fangrui Song <i at maskray.me>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M lld/ELF/Arch/RISCV.cpp
M lld/ELF/InputSection.cpp
M lld/ELF/Relocations.h
A lld/test/ELF/riscv-reloc-leb128.s
Log Message:
-----------
[ELF] Support R_RISCV_SET_ULEB128/R_RISCV_SUB_ULEB128 in non-SHF_ALLOC sections (#72610)
For a label difference like `.uleb128 A-B`, MC generates a pair of
R_RISCV_SET_ULEB128/R_RISCV_SUB_ULEB128 if A-B cannot be folded as a
constant. GNU assembler generates a pair of relocations in more cases
(when A or B is in a code section with linker relaxation).
`.uleb128 A-B` is primarily used by DWARF v5
.debug_loclists/.debug_rnglists (DW_LLE_offset_pair/DW_RLE_offset_pair
entry kinds) implemented in Clang and GCC.
`.uleb128 A-B` can be used in SHF_ALLOC sections as well (e.g.
`.gcc_except_table`). This patch does not handle SHF_ALLOC.
`-z dead-reloc-in-nonalloc=` can be used to change the relocated value,
if the R_RISCV_SET_ULEB128 symbol is in a discarded section. We don't
check the R_RISCV_SUB_ULEB128 symbol since for the expected cases A and
B should be defined in the same input section.
Commit: 147b38b1464cb39e763a9865c476d5c3d54bc619
https://github.com/llvm/llvm-project/commit/147b38b1464cb39e763a9865c476d5c3d54bc619
Author: Erich Keane <ekeane at nvidia.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/OpenACCKinds.h
M clang/lib/Parse/ParseOpenACC.cpp
M clang/test/ParserOpenACC/parse-constructs.c
Log Message:
-----------
[OpenACC] Implement enter data/exit data construct parsing (#72916)
These two constructs, 'enter data' and 'exit data', are novel compared
to what is currently in the parser, as this is the first set implemented
where the first token is itself not a valid construct. Because of this,
it requires some additional work to do the first keyword parsing.
Commit: c0a1fcd3bf8ead39e8f0290a8a0af1e0367c7cad
https://github.com/llvm/llvm-project/commit/c0a1fcd3bf8ead39e8f0290a8a0af1e0367c7cad
Author: Youngsuk Kim <youngsuk.kim at hpe.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M llvm/lib/Linker/IRMover.cpp
Log Message:
-----------
[llvm][IRMover] Remove no-op ptr-to-ptr bitcast (NFC)
Opaque ptr cleanup effort.
Commit: 28f62d72f4d56de0db0ed20c9b8c309ec5e8e193
https://github.com/llvm/llvm-project/commit/28f62d72f4d56de0db0ed20c9b8c309ec5e8e193
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M clang/include/clang/Basic/arm_sve.td
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_loads.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_store.c
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-gather-loads-128bit-index.ll
A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-scatter-stores-128bit-index.ll
Log Message:
-----------
[AArch64] Add SVE2.1 intrinsics for indexed quadword gather loads and scatter stores (#70476)
This patch adds the quadword gather load intrinsics of the form
sv<type>_t svld1q_gather_u64index_<typ>(svbool_t, const <type>_t *, svuint64_t);
sv<type>_t svld1q_gather_u64base_index_<typ>(svbool_t, svuint64_t, int64_t);
and the quadword scatter store intrinsics of the form
void svst1q_scatter_u64index_<typ>(svbool_t, <type>_t *, svuint64_t, sv<type>_t);
void svst1q_scatter_u64base_index_<typ>(svbool, svuint64_t, int64_t, sv<type>_t);
ACLE spec: https://github.com/ARM-software/acle/pull/257
Commit: 2fe24fdc94cb10795a196eadcf3eed8055ea4000
https://github.com/llvm/llvm-project/commit/2fe24fdc94cb10795a196eadcf3eed8055ea4000
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M llvm/include/llvm/CodeGen/TargetInstrInfo.h
M llvm/lib/CodeGen/TargetInstrInfo.cpp
Log Message:
-----------
reapply "[TargetInstrInfo] enable foldMemoryOperand for InlineAsm (#70743)" (#72910)
This reverts commit 42204c94ba9fcb0b4b1335e648ce140a3eef8a9d.
It was accidentally backed out.
#20571
#70743
Commit: 4495485eb6558aac0b0fd81e90b317a8aca30945
https://github.com/llvm/llvm-project/commit/4495485eb6558aac0b0fd81e90b317a8aca30945
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/test/DebugInfo/X86/arg-dbg-value-list.ll
M llvm/test/DebugInfo/X86/dbg-empty-metadata-lowering.ll
M llvm/test/DebugInfo/X86/dbg-val-list-dangling.ll
M llvm/test/DebugInfo/X86/dbg-val-list-undef.ll
M llvm/test/DebugInfo/X86/dbg-value-arg-movement.ll
M llvm/test/DebugInfo/X86/sdag-dbgvalue-phi-use-1.ll
M llvm/test/DebugInfo/X86/sdag-dbgvalue-phi-use-2.ll
M llvm/test/DebugInfo/X86/sdag-dbgvalue-phi-use-3.ll
M llvm/test/DebugInfo/X86/sdag-dbgvalue-phi-use-4.ll
M llvm/test/DebugInfo/X86/sdag-dbgvalue-ssareg.ll
M llvm/test/DebugInfo/X86/sdag-ir-salvage.ll
M llvm/tools/llc/llc.cpp
Log Message:
-----------
[DebugInfo][RemoveDIs] Interpret DPValue objects in SelectionDAG (#72253)
DPValues are the non-intrinsic replacements for dbg.values, and when an
IR function is converted by SelectionDAG we need to convert the variable
location information in the same way. Happily all the information is in
the same format, it's just stored in a slightly different object,
therefore this patch refactors a few things to store the set of
{Variable,Expr,DILocation,Location} instead of just a pointer to a
DbgValueInst.
This also adds a hook in llc that's much like the one I've added to opt
in PR #71937, allowing tests to optionally ask for the use RemoveDIs
mode if support for it is built into the compiler.
I've added that flag to a variety of SelectionDAG debug-info tests to
ensure that we get some coverage on the RemoveDIs / debug-info-iterator
buildbot.
Commit: 1caaec1fa785f48167c9a20cd2f8f1208ff2c4aa
https://github.com/llvm/llvm-project/commit/1caaec1fa785f48167c9a20cd2f8f1208ff2c4aa
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M flang/test/Lower/OpenACC/acc-declare-globals.f90
M flang/test/Lower/OpenACC/acc-declare.f90
Log Message:
-----------
[flang][openacc][NFC] Check only HLFIR lowering for declare tests (#73011)
HLFIR lowering as been set by default now and FIR lowering support will
be removed in the near future. This patch removes the specific FIR check
lines on declare tests.
Commit: b52eb7c2fe936697c538d49c723db59eb2fda1f5
https://github.com/llvm/llvm-project/commit/b52eb7c2fe936697c538d49c723db59eb2fda1f5
Author: Peiming Liu <36770114+PeimingLiu at users.noreply.github.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M mlir/lib/Dialect/SparseTensor/Transforms/LoopEmitter.cpp
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_block_matmul.mlir
Log Message:
-----------
[mlir][sparse] add a csr x bsr matmul test case (#73012)
Commit: 219d029490429cf5e1b87b716d9e4c59551bd2c2
https://github.com/llvm/llvm-project/commit/219d029490429cf5e1b87b716d9e4c59551bd2c2
Author: Valentin Clement <clementval at gmail.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
R flang/test/Fir/achar.f90
A flang/test/Lower/achar.f90
Log Message:
-----------
[flang][NFC] Move lowering test to correct folder
Commit: e02b85bef72e23170fa8b5c9d3263da84be8d59b
https://github.com/llvm/llvm-project/commit/e02b85bef72e23170fa8b5c9d3263da84be8d59b
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M llvm/utils/gn/build/toolchain/BUILD.gn
M llvm/utils/gn/build/toolchain/compiler.gni
Log Message:
-----------
[gn build] Add a generic `compiler_wrapper` gn arg (#72757)
Since goma is going away soon, we need to experiment with other
wrappers.
We can clean up the goma stuff once it's fully non-functional.
Commit: c97e4273e2725578c8d51767321149e87f31d606
https://github.com/llvm/llvm-project/commit/c97e4273e2725578c8d51767321149e87f31d606
Author: Aart Bik <39774503+aartbik at users.noreply.github.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
A mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_permute.mlir
Log Message:
-----------
[mlir][sparse] test on read/convert permuted 3d sparse tensors (#72925)
3! = 6
Commit: 8169c157d5aaee67f6a5b13ca82d09e1b2848051
https://github.com/llvm/llvm-project/commit/8169c157d5aaee67f6a5b13ca82d09e1b2848051
Author: Oleksandr "Alex" Zinenko <zinenko at google.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M mlir/lib/Dialect/LLVMIR/IR/LLVMInlining.cpp
M mlir/test/Dialect/LLVMIR/inline-byval-huge.mlir
Log Message:
-----------
[mlir] fix overflow in LLVM dialect inlining (#72878)
Don't use unsigned for sizes as they may be larger than that type can
hold.
Fixes #72678.
Commit: f5e50b21da0cb543064b2d0b9304ce0b368cf2bb
https://github.com/llvm/llvm-project/commit/f5e50b21da0cb543064b2d0b9304ce0b368cf2bb
Author: Joachim Jenke <jenke at itc.rwth-aachen.de>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M openmp/runtime/src/kmp.h
M openmp/runtime/src/kmp_taskdeps.cpp
A openmp/runtime/test/tasking/kmp_task_deps.h
A openmp/runtime/test/tasking/kmp_task_deps_multiple_edges.c
A openmp/runtime/test/tasking/kmp_task_deps_multiple_edges_inoutset.c
Log Message:
-----------
[OpenMP] Optimized trivial multiple edges from task dependency graph
>From "3.1 Reducing the number of edges" of this [[ https://hal.science/hal-04136674v1/ | paper ]] - Optimization (b)
Task (dependency) nodes have a `successors` list built upon passed dependency.
Given the following code, B will be added to A's successors list building the graph `A` -> `B`
```
// A
# pragma omp task depend(out: x)
{}
// B
# pragma omp task depend(in: x)
{}
```
In the following code, B is currently added twice to A's successor list
```
// A
# pragma omp task depend(out: x, y)
{}
// B
# pragma omp task depend(in: x, y)
{}
```
This patch removes such dupplicates by checking lastly inserted task in `A` successor list.
Authored by: Romain Pereira (rpereira-dev)
Differential Revision: https://reviews.llvm.org/D158544
Commit: d34ac0ee729e1d447492d4acb939e30ff4a98282
https://github.com/llvm/llvm-project/commit/d34ac0ee729e1d447492d4acb939e30ff4a98282
Author: Nathan Sidwell <nathan at acm.org>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M llvm/lib/IR/AutoUpgrade.cpp
Log Message:
-----------
[llvm][NFC] Autoupdater x86 detection (#72808)
Sort x86 intrinsics for better readability and use common prefixes to reduce number of comparisons.
Commit: f802fed2b59ec0fa3983de209e9192217a0f7479
https://github.com/llvm/llvm-project/commit/f802fed2b59ec0fa3983de209e9192217a0f7479
Author: Jacob Lambert <jacob.lambert at amd.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M llvm/docs/CommandGuide/llvm-mc.rst
Log Message:
-----------
[NFC] Fix typos in llvm-mc doc (#72457)
Commit: 1552b91162bbb410971e2d4e5ec7afd1c7cc932f
https://github.com/llvm/llvm-project/commit/1552b91162bbb410971e2d4e5ec7afd1c7cc932f
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M llvm/lib/Target/X86/X86FixupVectorConstants.cpp
M llvm/test/CodeGen/X86/combine-abs.ll
M llvm/test/CodeGen/X86/vector-shuffle-128-v16.ll
M llvm/test/CodeGen/X86/vector-shuffle-256-v32.ll
Log Message:
-----------
[X86] X86FixupVectorConstantsPass - attempt to match VEX logic ops back to EVEX if we can create a broadcast fold
On non-DQI AVX512 targets, X86InstrInfo::setExecutionDomainCustom will convert EVEX int-domain instructions to VEX fp-domain instructions. But, if we have the chance to use a broadcast fold we're better off using a EVEX instruction, so handle a reverse fold.
Commit: d506aa4edfa66074db3dc1fa84da9d9c80d71500
https://github.com/llvm/llvm-project/commit/d506aa4edfa66074db3dc1fa84da9d9c80d71500
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M lld/test/COFF/gc-dwarf-eh.s
M llvm/lib/MC/MCParser/AsmParser.cpp
A llvm/test/MC/AArch64/cfi-bad-nesting-darwin.s
A llvm/test/MC/AArch64/cfi-bad-nesting-elf.s
Log Message:
-----------
Reland "[MC][AsmParser] Diagnose improperly nested .cfi frames"
This showed up when simplifying some large testcase, where the cfi directives
became out of sync with the proc's they enclose.
Now restricted to platforms that support .subsections_via_symbols.
This reverts commit 797b68c0ba699994e1038ac33d3083541482bf19.
Fixes: #72802
Differential revision: https://reviews.llvm.org/D153167
rdar://111459507
Commit: 30e8dcd8ccbac748e9e45e8c94bad6e5645352e4
https://github.com/llvm/llvm-project/commit/30e8dcd8ccbac748e9e45e8c94bad6e5645352e4
Author: David Li <57157229+david-xl at users.noreply.github.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vec_fabs.ll
Log Message:
-----------
Enable customer lowering for fabs_v16f16 with AVX2 (#72914)
This is part-2 change to improve codegen for vec_fabs. In this patch,
v16f16 and v132f16 fabs are improved.
There will be at least two followups patches after this one.
1) fixing the ISEL crash when fabs.v32f16 uses custom lowering with
AVX512
2) better expansion for v16f16, v32f16 types on AVX1 subtargets.
Commit: b072ec5ec670b1de356efa23ebfb3165389e81b9
https://github.com/llvm/llvm-project/commit/b072ec5ec670b1de356efa23ebfb3165389e81b9
Author: Joe Nash <joseph.nash at amd.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.interp.inreg.ll
M llvm/test/CodeGen/AMDGPU/dual-source-blend-export.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.interp.inreg.ll
M llvm/test/CodeGen/AMDGPU/ptr-arg-dbg-value.ll
Log Message:
-----------
[AMDGPU] NFC. Run auto-update on a few tests
Commit: ce6127433b91943917c63b33bf16936e394ff3bb
https://github.com/llvm/llvm-project/commit/ce6127433b91943917c63b33bf16936e394ff3bb
Author: Craig Topper <craig.topper at sifive.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M llvm/test/CodeGen/RISCV/short-forward-branch-opt.ll
Log Message:
-----------
[RISCV] Add rv32 command line to short-forward-branch-opt.ll. NFC
Commit: 7a6fd49c8a4f9576d3dafe98e78f9c4bc3798105
https://github.com/llvm/llvm-project/commit/7a6fd49c8a4f9576d3dafe98e78f9c4bc3798105
Author: Craig Topper <craig.topper at sifive.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/test/CodeGen/RISCV/short-forward-branch-opt.ll
Log Message:
-----------
[RISCV] Use short forward branch for ISD::ABS.
We can use short forward branch to conditionally negate if the
value is negative.
Commit: 730e0d035b3bf12d37668540edbc6328e499f12f
https://github.com/llvm/llvm-project/commit/730e0d035b3bf12d37668540edbc6328e499f12f
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M mlir/test/Dialect/Vector/vector-contract-matvec-transforms.mlir
Log Message:
-----------
[mlir][vector][nfc] Refactor vector.contract matvec tests (#72832)
Update tests in "vector-contract-matvec-transforms.mlir" so that they
are consistent with similar tests in:
* "vector-contract-to-outerproduct-transforms.mlir".
This is to enable further refactoring in a follow-up patch, namely to:
* remove duplication (this will be much easier once consistent naming
is used),
* extend tests in "vector-contract-matvec-transforms.mlir" with cases
for scalable vectors,
* merge "vector-contract-matvec-transforms.mlir" and
"vector-contract-to-outerproduct-transforms.mlir" (there's no need
for 2 different files testing identical transformations).
Overview of changes in this patch:
1. Simplify the test by removing MemRef wrappers - this test verifies
Vector -> Vector transformations and MemRefs are not needed.
2. Use (m, k) indices instead of (i, j).
3. Rename function names.
This is part of a larger effort to improve test coverage for scalable
vectors in the Vector dialect. Implements #72834.
Commit: 04e9b61cec8491ca35ba804d8e004a37caa4045e
https://github.com/llvm/llvm-project/commit/04e9b61cec8491ca35ba804d8e004a37caa4045e
Author: Erich Keane <ekeane at nvidia.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M clang/include/clang/Basic/OpenACCKinds.h
M clang/lib/Parse/ParseOpenACC.cpp
M clang/test/ParserOpenACC/parse-constructs.c
Log Message:
-----------
[OpenACC] Implement Atomic construct variants (#73015)
`atomic` is required to be followed by a special `atomic clause`, so
this patch manages the parsing of that. We are representing each of the
variants of the atomic construct as separate kinds, because they have
distinct rules/application/etc, and this should make it easier to check
rules in the future.
Commit: e1ee0e85104eed2c68b6821d9e5a2066e4154099
https://github.com/llvm/llvm-project/commit/e1ee0e85104eed2c68b6821d9e5a2066e4154099
Author: Muhammad Omair Javaid <omair.javaid at linaro.org>
Date: 2023-11-22 (Wed, 22 Nov 2023)
Changed paths:
M clang/include/clang/Basic/arm_sve.td
R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfadd.c
R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfclamp.c
R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmax.c
R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmaxnm.c
R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmin.c
R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfminnm.c
R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmla.c
R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmla_lane.c
R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmls.c
R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmls_lane.c
R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmul.c
R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmul_lane.c
R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfsub.c
M clang/test/Sema/aarch64-sve2p1-intrinsics/acle_sve2p1_imm.cpp
M llvm/lib/Target/AArch64/AArch64.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
R llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfadd.ll
R llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfclamp.ll
R llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmax.ll
R llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmaxnm.ll
R llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmin.ll
R llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfminnm.ll
R llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmla.ll
R llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmla_lane.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmls.ll
R llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmls_lane.ll
R llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmlsl.ll
R llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmul.ll
R llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmul_lane.ll
R llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfsub.ll
M llvm/test/MC/AArch64/SVE2p1/bfadd.s
M llvm/test/MC/AArch64/SVE2p1/bfclamp.s
M llvm/test/MC/AArch64/SVE2p1/bfmax.s
M llvm/test/MC/AArch64/SVE2p1/bfmaxnm.s
M llvm/test/MC/AArch64/SVE2p1/bfmin.s
M llvm/test/MC/AArch64/SVE2p1/bfminnm.s
M llvm/test/MC/AArch64/SVE2p1/bfmla.s
M llvm/test/MC/AArch64/SVE2p1/bfmls.s
M llvm/test/MC/AArch64/SVE2p1/bfmul.s
M llvm/test/MC/AArch64/SVE2p1/bfsub.s
Log Message:
-----------
Revert "[SVE2.1][Clang][LLVM]Add BFloat16 builtin in Clang and LLVM intrinisc (#70362)"
This reverts commit f79676a17eae4c63318561ba35613d97053fa12c.
Commit: c9fd76f45f5a6ace7c87ce6fdc6efe455fd39e95
https://github.com/llvm/llvm-project/commit/c9fd76f45f5a6ace7c87ce6fdc6efe455fd39e95
Author: Craig Topper <craig.topper at sifive.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
Log Message:
-----------
[RISCV] Replace XLenVT in RV64 only pattern with i64. NFC
Commit: 36e53885e6ac52ff948fac909178f82b602477dd
https://github.com/llvm/llvm-project/commit/36e53885e6ac52ff948fac909178f82b602477dd
Author: bd1976bris <Ben.Dunbobbin at sony.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M clang/lib/CodeGen/CGVTT.cpp
M clang/test/CodeGenCXX/visibility.cpp
Log Message:
-----------
[clang codegen][regression] Add dso_local/hidden/etc. markings to VTT definitions and declarations (#72452)
https://reviews.llvm.org/D128482 regressed certain cases of VTT emission
which are no longer hidden with -fvisibility=hidden.
Fix this regression by marking both declarations and definitions.
Fixes [clang codegen][regression] VTT definitions missing
dso_local/hidden/etc markings #72451
Commit: 46a84794486e610785b860af3776a892ab5016d0
https://github.com/llvm/llvm-project/commit/46a84794486e610785b860af3776a892ab5016d0
Author: Eric <eric at efcs.ca>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M libcxx/utils/ci/buildkite-pipeline.yml
Log Message:
-----------
[libc++] Promote android to supported. (#72949)
The bots have been running smoothly for a while. Check out
https://libcxx.efcs.ca/cistats.html for more info.
Commit: a855a16a02e76a0f4192c038bb64f3773947a2f7
https://github.com/llvm/llvm-project/commit/a855a16a02e76a0f4192c038bb64f3773947a2f7
Author: Marco Elver <elver at google.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M compiler-rt/lib/interception/interception.h
M compiler-rt/lib/sanitizer_common/sanitizer_asm.h
Log Message:
-----------
[compiler-rt] Fix interceptors with Solaris as (#72973)
Jakub Jelínek reports:
As mentioned in https://gcc.gnu.org/PR112563, the new DECLARE_WRAPPER
macro
added in 37445e9 and ammended in 85d3873 doesn't work on SPARC/Solaris
with
Solaris as.
While clang and GNU as when used from GCC seems to be forgiving on most
architectures and allow both %function and @function (with the latter
not being
allowed on ARM/AArch64 I believe because @ is assembler comment start
there),
Solaris as doesn't allow the %function form.
Fix it by using %function only for ARM.
Co-developed-by: Jakub Jelínek <jakub at redhat.com>
Reported-by: Jakub Jelínek <jakub at redhat.com>
Closes: https://github.com/llvm/llvm-project/issues/72970
Commit: f54453320386b97ad75782563d95ddf771345ff9
https://github.com/llvm/llvm-project/commit/f54453320386b97ad75782563d95ddf771345ff9
Author: David Blaikie <dblaikie at gmail.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[Bazel][clang] Fix build for e6ef315
Commit: bed1a5b3426059f2418f7be90c53a247ce082680
https://github.com/llvm/llvm-project/commit/bed1a5b3426059f2418f7be90c53a247ce082680
Author: Konstantin Varlamov <varconsteq at gmail.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M libcxx/src/include/ryu/common.h
M libcxx/src/include/ryu/d2s_intrinsics.h
M libcxx/src/ryu/d2fixed.cpp
M libcxx/src/ryu/d2s.cpp
M libcxx/src/ryu/f2s.cpp
Log Message:
-----------
[libc++][hardening] Categorize all `ryu` assertions as internal (#71853)
These assertions can only be triggered by bugs in the algorithm's
implementation; all user inputs should be handled gracefully.
Commit: 8cf6e940b3e3f76026b7007a95262e59b6809a36
https://github.com/llvm/llvm-project/commit/8cf6e940b3e3f76026b7007a95262e59b6809a36
Author: kkwli <kkwli at users.noreply.github.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M flang/include/flang/Runtime/io-api.h
M flang/lib/Lower/IO.cpp
M flang/runtime/io-api.cpp
M flang/unittests/Runtime/ExternalIOTest.cpp
Log Message:
-----------
[flang] Remove dead code and update test (NFC) (#73004)
OutputUnformattedBlock and InputUnformattedBlock are not used.
Commit: e746b56c98f6180cffd4cad9ebdd249bdaa17283
https://github.com/llvm/llvm-project/commit/e746b56c98f6180cffd4cad9ebdd249bdaa17283
Author: Tom Stellard <tstellar at redhat.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M .github/workflows/release-binaries.yml
Log Message:
-----------
workflows/release-binaries: Do a preliminary build to fill ccache (#72576)
Build clang with the host compiler and ccache enabled in order to speed
up the phase 1 builds. This helps reduce the amount of time spent
running on the non-free builders.
Commit: 03ac08db7d9b9f00815b07a27e128dcdd382c899
https://github.com/llvm/llvm-project/commit/03ac08db7d9b9f00815b07a27e128dcdd382c899
Author: Mingming Liu <mingmingl at google.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M llvm/unittests/ProfileData/InstrProfTest.cpp
Log Message:
-----------
[nfc][InstrProfTest]Un-parameterize test cases that doesn't use profile reader and writer (#73026)
Test fixture `MaybeSparseInstrProfTest` parameterize InstrProfWriter by
whether output is sparse or not. This test fixture has 20 test cases,
and 6 of them doesn't use profile reader and writer. Undo the
parameterization for these test cases will reduce redundant tests. This
is one clean-up PR. (A few more clean-ups to come soon, but they are not
inter-dependent)
Commit: 5b2fee84189beec48a4f935afda831e1ebdcce1e
https://github.com/llvm/llvm-project/commit/5b2fee84189beec48a4f935afda831e1ebdcce1e
Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
Log Message:
-----------
[AMDGPU] NFC: Add flag to disable clustered low occupancy phase (#73025)
This will help users analyze whether high register usage is coming from
inability of scheduler to reduce RP, or from sacrificing good RP to
improve ILP.
Commit: 6a082ed6923e2d9fac508ba0a8190176b50c23fd
https://github.com/llvm/llvm-project/commit/6a082ed6923e2d9fac508ba0a8190176b50c23fd
Author: Craig Topper <craig.topper at sifive.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
Log Message:
-----------
[SelectionDAG] Fix copy/paste mistake in SDNodeFlags::intersectWith
The NonNeg flag was being Anded with the Exact flag.
Commit: 752c21be68613f92e2de16cd380098cf830bc261
https://github.com/llvm/llvm-project/commit/752c21be68613f92e2de16cd380098cf830bc261
Author: Logikable <seanluchen at google.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M clang/lib/CodeGen/CGAtomic.cpp
Log Message:
-----------
[clang][NFC] Reorder Atomic builtins to be consistent. (#72718)
Commit: fb57f4e0e0b302ec1b3181e952a4bd4b3c57a286
https://github.com/llvm/llvm-project/commit/fb57f4e0e0b302ec1b3181e952a4bd4b3c57a286
Author: Evgenii Stepanov <eugeni.stepanov at gmail.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M clang/lib/Driver/ToolChains/BareMetal.cpp
M clang/lib/Driver/ToolChains/BareMetal.h
M clang/test/Driver/fsanitize.c
Log Message:
-----------
Allow multiple sanitizers on baremetal targets. (#72933)
Baremetal targets tend to implement their own runtime support for
sanitizers. Clang driver gatekeeping of allowed sanitizer types is
counter productive.
This change allows anything that does not crash and burn in compilation,
and leaves any potential runtime issues for the user to figure out.
Commit: 907ed77ad1d7a154317e5f8398d17d441711dc38
https://github.com/llvm/llvm-project/commit/907ed77ad1d7a154317e5f8398d17d441711dc38
Author: Tom Stellard <tstellar at redhat.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M llvm/utils/release/test-release.sh
Log Message:
-----------
test-release.sh: Only build the clang target in stage 1 and 2 (#72703)
This skips the build of all the unittests and llvm/clang tools, reducing
the number of ninja targets from 4,826 to 3,816 in phase 1 and phase 2.
Commit: ca9b1d1ac77a6ac1d53ea233ba20ec77781a25b0
https://github.com/llvm/llvm-project/commit/ca9b1d1ac77a6ac1d53ea233ba20ec77781a25b0
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M libcxx/include/__iterator/common_iterator.h
Log Message:
-----------
[libc++] Make common_iterator's data member private (#72564)
Fixes #71498
Commit: 23c84fb362849865990c0e160158b19f54742147
https://github.com/llvm/llvm-project/commit/23c84fb362849865990c0e160158b19f54742147
Author: Andres Villegas <andresvi at google.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_stacktrace_printer.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_stacktrace_printer.h
Log Message:
-----------
[NFC sanitizer_symbolizer] Make some functions non virtual in StackTracePrinter. (#73029)
Make some methods of StackTracPrinter that will have a common
implementation, non virtual.
Commit: cc2128714e66b985919442bdece4902a35e56937
https://github.com/llvm/llvm-project/commit/cc2128714e66b985919442bdece4902a35e56937
Author: Andres Villegas <andresvi at google.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_stacktrace_printer.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_stacktrace_printer.h
M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup.cpp
Log Message:
-----------
[sanitizer_symbolizer] Add MarkupStackTracePrinter (#73032)
Adds a new Implementation of StackTracePrinter that only
emits symbolizer markup. Currently this change only
affects Fuchsia OS. Should be NFC.
Commit: 2743b30e2a0c8ff80ed07d6da405340f3333302d
https://github.com/llvm/llvm-project/commit/2743b30e2a0c8ff80ed07d6da405340f3333302d
Author: Mingming Liu <mingmingl at google.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M llvm/unittests/ProfileData/InstrProfTest.cpp
Log Message:
-----------
[nfc][InstrProfTest]Add a test fixture to parameterize the read-write test of value profiles (#73038)
This patch factor out the common code among three similar test cases.
The input data and test logic are pretty similar. Parameterize the
differences (prof-weight and endianness) as advised in
https://github.com/llvm/llvm-project/pull/72611.
- Remove duplicated tests
Commit: d2d29288bd4f64e0966db42b821d84587501669b
https://github.com/llvm/llvm-project/commit/d2d29288bd4f64e0966db42b821d84587501669b
Author: Aart Bik <39774503+aartbik at users.noreply.github.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorAttrDefs.td
M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
Log Message:
-----------
[mlir][sparse] code cleanup (#73047)
removed two unused methods, removed obsoleted FIXME
Commit: d82b52139a418a4c6eb6d95e553c25506988b169
https://github.com/llvm/llvm-project/commit/d82b52139a418a4c6eb6d95e553c25506988b169
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M flang/test/Lower/OpenACC/acc-fixed-form.f
M flang/test/Lower/OpenACC/acc-init.f90
M flang/test/Lower/OpenACC/acc-routine-named.f90
M flang/test/Lower/OpenACC/acc-routine.f90
M flang/test/Lower/OpenACC/acc-routine02.f90
M flang/test/Lower/OpenACC/acc-routine03.f90
M flang/test/Lower/OpenACC/acc-routine04.f90
M flang/test/Lower/OpenACC/acc-set.f90
M flang/test/Lower/OpenACC/acc-shutdown.f90
M flang/test/Lower/OpenACC/acc-unstructured.f90
M flang/test/Lower/OpenACC/acc-wait.f90
M flang/test/Lower/OpenACC/locations.f90
M flang/test/Lower/OpenACC/stop-stmt-in-region.f90
Log Message:
-----------
[flang][openacc][NFC] Remove run line for FIR only checks (#73050)
Remove the run lines that check for the FIR lowering. HLFIR lowering
produce the same check lines.
Commit: 7c3c243c9bf80377fcad6c7699dc9aaedd650a18
https://github.com/llvm/llvm-project/commit/7c3c243c9bf80377fcad6c7699dc9aaedd650a18
Author: GkvJwa <gkvjwa at gmail.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M clang/lib/CodeGen/CGDebugInfo.cpp
A clang/test/CodeGenCXX/debug-info-lambda-this.cpp
Log Message:
-----------
Supports viewing class member variables in lambda when using the vs debugger (#71564)
Use "__this" in DataMemberRecord, make vs debugger can be parsed normally
Fixes #71562
Commit: c384888fb38b4410618fd87bfb3c25a83de06511
https://github.com/llvm/llvm-project/commit/c384888fb38b4410618fd87bfb3c25a83de06511
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M flang/test/Lower/OpenACC/acc-enter-data.f90
M flang/test/Lower/OpenACC/acc-exit-data.f90
Log Message:
-----------
[flang][openacc][NFC] Check only HLFIR lowering for enter/exit data tests (#73035)
HLFIR lowering as been set by default now and FIR lowering support will
be removed in the near future. This patch removes the specific FIR check
lines on enter/exit data tests.
Commit: bda3409f2c1920dd414041a843635832a0acd8f7
https://github.com/llvm/llvm-project/commit/bda3409f2c1920dd414041a843635832a0acd8f7
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M flang/test/Lower/OpenACC/acc-host-data.f90
M flang/test/Lower/OpenACC/acc-kernels-loop.f90
M flang/test/Lower/OpenACC/acc-kernels.f90
M flang/test/Lower/OpenACC/acc-parallel-loop.f90
M flang/test/Lower/OpenACC/acc-parallel.f90
M flang/test/Lower/OpenACC/acc-serial-loop.f90
M flang/test/Lower/OpenACC/acc-serial.f90
Log Message:
-----------
[flang][openacc][NFC] Check only HLFIR lowering for compute construct tests (#73051)
Commit: 60fa8cf2c3253cc1e1ade7eede395e460da9882c
https://github.com/llvm/llvm-project/commit/60fa8cf2c3253cc1e1ade7eede395e460da9882c
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M flang/test/Lower/OpenACC/HLFIR/acc-declare.f90
M flang/test/Lower/OpenACC/acc-private.f90
M flang/test/Lower/OpenACC/acc-update.f90
Log Message:
-----------
[flang][openacc][NFC] Check only HLFIR lowering for remaining tests (#73054)
Commit: a756a6b97e44d0c446111a3a34afdee0dacadfe7
https://github.com/llvm/llvm-project/commit/a756a6b97e44d0c446111a3a34afdee0dacadfe7
Author: Yeting Kuo <46629943+yetingk at users.noreply.github.com>
Date: 2023-11-22 (Wed, 22 Nov 2023)
Changed paths:
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/test/CodeGen/RISCV/condops.ll
M llvm/test/CodeGen/RISCV/select.ll
Log Message:
-----------
[TargetLowering][RISCV] Introduce shouldFoldSelectWithSingleBitTest and RISC-V implement. (#72978)
DAGCombiner folds (select_cc seteq (and x, y), 0, 0, A) to (and (sra
(shl x)) A) where y has a single bit set. Previously, DAGCombiner relies
on `shouldAvoidTransformToShift` to decide when to do the combine, but
`shouldAvoidTransformToShift` is only about shift cost. This patch
introuduces a specific hook to decide when to do the combine and disable
the combine when Zicond enabled and AndMask <= 1024.
Commit: d213220a9ac031133fa360b94a343f3d09f01ea8
https://github.com/llvm/llvm-project/commit/d213220a9ac031133fa360b94a343f3d09f01ea8
Author: Aart Bik <39774503+aartbik at users.noreply.github.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M mlir/include/mlir/Dialect/SparseTensor/IR/Enums.h
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorType.h
M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorCodegen.cpp
Log Message:
-----------
[mlir][sparse] fixed naming consistency (#73053)
All DLT related methods have DLT at end, removed stale TODO
Commit: 331111277a3e80aedd1a6877524feadfbcb41a88
https://github.com/llvm/llvm-project/commit/331111277a3e80aedd1a6877524feadfbcb41a88
Author: Matthias Braun <matze at braunis.de>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M llvm/lib/Analysis/BranchProbabilityInfo.cpp
M llvm/test/Analysis/BranchProbabilityInfo/basic.ll
M llvm/test/Analysis/BranchProbabilityInfo/pointer_heuristics.ll
A llvm/test/tools/UpdateTestChecks/update_analyze_test_checks/Inputs/branch-probability-analysis.ll
A llvm/test/tools/UpdateTestChecks/update_analyze_test_checks/Inputs/branch-probability-analysis.ll.expected
A llvm/test/tools/UpdateTestChecks/update_analyze_test_checks/branch-probability-analysis.test
M llvm/utils/UpdateTestChecks/common.py
Log Message:
-----------
Support BranchProbabilityInfo in update_analyze_test_checks.py (#72943)
- Change `BranchProbabilityPrinterPass` output to match expectations of `update_analyze_test_checks.py`.
- Add `Branch Probability Analysis` to list of supported analyses.
- Process `llvm/test/Analysis/BranchProbabilityInfo/basic.ll` with `update_analyze_test_checks.py` as proof of concept. Leaving the other tests unchanged to reduce the amount of churn.
Commit: 42d484082cd190400e0e493a8d679762ce0efbba
https://github.com/llvm/llvm-project/commit/42d484082cd190400e0e493a8d679762ce0efbba
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2023-11-22 (Wed, 22 Nov 2023)
Changed paths:
M llvm/include/llvm/Support/X86DisassemblerDecoderCommon.h
M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
M llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86BaseInfo.h
M llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp
M llvm/lib/Target/X86/X86InstrControl.td
M llvm/lib/Target/X86/X86InstrFormats.td
M llvm/lib/Target/X86/X86InstrSSE.td
A llvm/test/MC/Disassembler/X86/apx/jmpabs.txt
A llvm/test/MC/X86/apx/jmpabs-att.s
A llvm/test/MC/X86/apx/jmpabs-intel.s
M llvm/utils/TableGen/X86DisassemblerTables.cpp
M llvm/utils/TableGen/X86RecognizableInstr.cpp
M llvm/utils/TableGen/X86RecognizableInstr.h
Log Message:
-----------
[X86][MC] Support encoding/decoding for JMPABS (#72835)
JMPABS is a 64-bit only ISA extension, and acts as a near-direct branch
with an absolute target. The 64-bit immediate operand is treated an as
absolute effective address, which is subject to canonicality checks. It
is in legacy map 0 and requires REX2 prefix with `REX2.M0=0` and
`REX2.W=0`. All other REX2 payload bits are ignored.
blog: https://kanrobert.github.io/rfc/All-about-APX-JMPABS/
This patch
1. Extends `ExplicitVEXPrefix` to `ExplicitOpPrefix` for instrcutions
requires explicit `REX2` or `EVEX`
2. Adds `ATTR_REX2` and `IC_64BIT_REX2` to put `JMPABS` , `MOV EAX,
moffs32` in different tables to avoid opcode conflict
NOTE:
1. `ExplicitREX2Prefix` can be reused by the following PUSHP/POPP
instructions.
2. `ExplicitEVEXPrefix` will be used by the instructions promoted to
EVEX space for EGPR.
Commit: 3af586f797523243d651d13f40bbc6c8771a5b5a
https://github.com/llvm/llvm-project/commit/3af586f797523243d651d13f40bbc6c8771a5b5a
Author: Ho Cheung <17492865+gz83 at users.noreply.github.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M bolt/lib/Profile/YAMLProfileReader.cpp
Log Message:
-----------
[BOLT] Fix type mismatch error (#73016)
Fix build issue on Windows.
Fixes #73006
Commit: 2c875719c841ff13b9b250e6ea97fc3e0aca2070
https://github.com/llvm/llvm-project/commit/2c875719c841ff13b9b250e6ea97fc3e0aca2070
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M compiler-rt/test/hwasan/TestCases/Linux/release-shadow.c
Log Message:
-----------
[test][hwasan] Deflake release-shadow.c
kNumShadowPages=1024 helps to pass it consistenly (10k runs).
But to be sure also changing success condition to 8 out of 10.
Commit: 1fad78b123d20db675d339053e4265aceb07c4af
https://github.com/llvm/llvm-project/commit/1fad78b123d20db675d339053e4265aceb07c4af
Author: Yuxuan Chen <yuxuanchen1997 at outlook.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/CodeGen/CGCoroutine.cpp
A clang/test/CodeGenCoroutines/coro-init-await-nontrivial-return.cpp
Log Message:
-----------
[Clang][Coroutines] Properly emit EH code for initial suspend `await_resume` (#73073)
This change aims to fix an ICE in issue
https://github.com/llvm/llvm-project/issues/63803
The crash happens in `ExitCXXTryStmt` because `EmitAnyExpr()` adds
additional cleanup to the `EHScopeStack`. This messes up the assumption
in `ExitCXXTryStmt` that the top of the stack should be a
`EHCatchScope`.
However, since we never read a value returned from `await_resume()` of
an init suspend, we can skip the part that builds this `RValue`.
The code here may not be in the best shape. There's another bug that
`memberCallExpressionCanThrow` doesn't work on the current Expr due to
type mismatch. I am preparing a separate PR to address it plus some
refactoring might be beneficial.
Commit: 9a6452377ba56f835f5071c3c94d859b62da0c99
https://github.com/llvm/llvm-project/commit/9a6452377ba56f835f5071c3c94d859b62da0c99
Author: Craig Topper <craig.topper at sifive.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
M llvm/test/CodeGen/RISCV/rv64-legal-i32/rv64zbs.ll
Log Message:
-----------
[RISCV] Add more Zbs patterns for -riscv-experimental-rv64-legal-i32.
Commit: 06e733b198696b31285acbf359753c62e7ad06fd
https://github.com/llvm/llvm-project/commit/06e733b198696b31285acbf359753c62e7ad06fd
Author: Zi Xuan Wu (Zeson) <zixuan.wu at linux.alibaba.com>
Date: 2023-11-22 (Wed, 22 Nov 2023)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Fix the order of arguments of setTruncStoreAction and setLoadExtAction (#73090)
The first argument of setTruncStoreAction/setLoadExtAction should be
Value VT instead of Memory VT.
Commit: 03f05a4e72891237264ab48adf62034aaac8bd46
https://github.com/llvm/llvm-project/commit/03f05a4e72891237264ab48adf62034aaac8bd46
Author: Nikita Popov <npopov at redhat.com>
Date: 2023-11-22 (Wed, 22 Nov 2023)
Changed paths:
M llvm/include/llvm/IR/Dominators.h
M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
M llvm/lib/IR/Dominators.cpp
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/tools/llvm-reduce/deltas/ReduceOperandsSkip.cpp
Log Message:
-----------
[IR] Don't include GenericDomTreeConstruction.h in header (NFC)
The whole point of the GenericDomTree.h vs
GenericDomTreeConstruction.h distinction is that the latter only
needs to be included in the source file and not the header.
Commit: 81b7f115fb272ef6fd6967f4121b64814b4bcf10
https://github.com/llvm/llvm-project/commit/81b7f115fb272ef6fd6967f4121b64814b4bcf10
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2023-11-22 (Wed, 22 Nov 2023)
Changed paths:
M clang/lib/CodeGen/CGGPUBuiltin.cpp
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/include/llvm/CodeGen/LowLevelType.h
M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
M llvm/include/llvm/IR/DataLayout.h
M llvm/include/llvm/Support/TypeSize.h
M llvm/include/llvm/Transforms/Instrumentation/AddressSanitizerCommon.h
M llvm/lib/Analysis/BasicAliasAnalysis.cpp
M llvm/lib/Analysis/Local.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypesGeneric.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/CodeGen/StackProtector.cpp
M llvm/lib/CodeGen/ValueTypes.cpp
M llvm/lib/IR/DataLayout.cpp
M llvm/lib/IR/DebugInfo.cpp
M llvm/lib/IR/Type.cpp
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
M llvm/lib/Target/AMDGPU/R600TargetTransformInfo.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMTargetTransformInfo.h
M llvm/lib/Target/DirectX/CBufferDataLayout.cpp
M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
M llvm/lib/Target/Hexagon/HexagonISelLoweringHVX.cpp
M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp
M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.h
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
M llvm/lib/Target/VE/VETargetTransformInfo.h
M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/unittests/CodeGen/LowLevelTypeTest.cpp
M llvm/unittests/CodeGen/SelectionDAGAddressAnalysisTest.cpp
M llvm/unittests/IR/InstructionsTest.cpp
M llvm/unittests/Support/TypeSizeTest.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMTypes.cpp
Log Message:
-----------
[llvm][TypeSize] Fix addition/subtraction in TypeSize. (#72979)
It seems TypeSize is currently broken in the sense that:
TypeSize::Fixed(4) + TypeSize::Scalable(4) => TypeSize::Fixed(8)
without failing its assert that explicitly tests for this case:
assert(LHS.Scalable == RHS.Scalable && ...);
The reason this fails is that `Scalable` is a static method of class
TypeSize,
and LHS and RHS are both objects of class TypeSize. So this is
evaluating
if the pointer to the function Scalable == the pointer to the function
Scalable,
which is always true because LHS and RHS have the same class.
This patch fixes the issue by renaming `TypeSize::Scalable` ->
`TypeSize::getScalable`, as well as `TypeSize::Fixed` to
`TypeSize::getFixed`,
so that it no longer clashes with the variable in
FixedOrScalableQuantity.
The new methods now also better match the coding standard, which
specifies that:
* Variable names should be nouns (as they represent state)
* Function names should be verb phrases (as they represent actions)
Commit: 21646789497346a1a8dabb4b369e12db482b4daa
https://github.com/llvm/llvm-project/commit/21646789497346a1a8dabb4b369e12db482b4daa
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2023-11-22 (Wed, 22 Nov 2023)
Changed paths:
M mlir/lib/Dialect/LLVMIR/IR/LLVMTypes.cpp
M mlir/lib/Interfaces/DataLayoutInterfaces.cpp
M mlir/test/lib/Dialect/Test/TestTypes.cpp
M mlir/unittests/Interfaces/DataLayoutInterfacesTest.cpp
Log Message:
-----------
[mlir] Fix a few more TypeSize::Fixed->TypeSize::getFixed following #72979.
Commit: 74cdb8e6f8c88b97204f540601a553b412d1cd56
https://github.com/llvm/llvm-project/commit/74cdb8e6f8c88b97204f540601a553b412d1cd56
Author: simpal01 <55694978+simpal01 at users.noreply.github.com>
Date: 2023-11-22 (Wed, 22 Nov 2023)
Changed paths:
M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMTargetStreamer.cpp
A llvm/test/CodeGen/ARM/arm-v8.1m-check-mve-extension.ll
A llvm/test/MC/ARM/arm-v8.1m-check-mve-extension.s
Log Message:
-----------
[llvm][ARM] Emit MVE .arch_extension after .fpu directive if it does not include MVE features (#71545)
The floating-point and MVE features together specify the MVE
functionality that is supported on the Cortex-M85 processor. But the FPU
extension for the underlying architecture(armv8.1-m.main) is FPV5 which
does not include MVE-F. So Compiler's -S output and `-save-temps=obj`
loses MVE feature which leads to assembler error. What happening here is
.fpu directive overrides any previously set features by .cpu directive.
Since the the corresponding .fpu generated (.fpu fpv5-d16) does not
include MVE-F, it overrides those features even though it is supported
and set by the .cpu directive. Looks like .fpu is supposed to do this.
In this case, there should be an .arch_extension directive re-enabling
the relevant extensions after .fpu if the goal is to keep these
extensions enabled. GCC also does the same.
So this patch enables the MVE features by emitting the below arch
extension:
.fpu fpv5-d16
.arch_extension mve.fp
---------
Co-authored-by: Simi Pallipurath <simi.pallipurath.com>
Commit: 510fb8711e9ad68afdf2b9ef0f2bbf312bf9ccf5
https://github.com/llvm/llvm-project/commit/510fb8711e9ad68afdf2b9ef0f2bbf312bf9ccf5
Author: Nikita Popov <npopov at redhat.com>
Date: 2023-11-22 (Wed, 22 Nov 2023)
Changed paths:
M llvm/include/llvm/IR/Function.h
M llvm/lib/Analysis/TargetLibraryInfo.cpp
M llvm/lib/IR/Function.cpp
M llvm/lib/IR/Value.cpp
Log Message:
-----------
[IR][TLI] Cache getLibFunc() result on Function (NFC) (#72867)
Cache the result of the TLI libfunc lookup in the Function object. This
only caches the actual lookup of the LibFunc in the TLI map, but not the
prototype validation, as that might differ between different TLI
instances.
This uses the existing mechanism for invalidating the intrinsic ID when
the function name changes. The libfunc will be invalidated in that case
as well.
I don't believe this increases the size of Function on 64bit (which
currently has a trailing `bool` member), and I don't think we would
particularly care if it did, as Functions are uncommon as Values go.
Commit: 2e09ea65c4f9e458ffb31fe63d84a4991704f9e6
https://github.com/llvm/llvm-project/commit/2e09ea65c4f9e458ffb31fe63d84a4991704f9e6
Author: Jonas Paulsson <151035182+JonPsson1 at users.noreply.github.com>
Date: 2023-11-22 (Wed, 22 Nov 2023)
Changed paths:
M clang/lib/AST/ASTContext.cpp
A clang/test/Driver/systemz-alignment.c
Log Message:
-----------
[clang] Ensure minimal alignment of global vars of incomplete type. (#72886)
The SystemZ ABI requires any global variable to be aligned to at least 2
bytes, and therefore an external global Value with an opaque type should
get this alignment as well.
Commit: 2fb51fba8ca904a6d3ddf30ae94228ecf9e6a231
https://github.com/llvm/llvm-project/commit/2fb51fba8ca904a6d3ddf30ae94228ecf9e6a231
Author: Mats Petersson <mats.petersson at arm.com>
Date: 2023-11-22 (Wed, 22 Nov 2023)
Changed paths:
M llvm/include/llvm/Transforms/IPO/FunctionSpecialization.h
M llvm/lib/Transforms/IPO/FunctionSpecialization.cpp
A llvm/test/Transforms/FunctionSpecialization/discover-transitive-phis.ll
A llvm/test/Transforms/FunctionSpecialization/phi-nodes-can-constfold.ll
A llvm/test/Transforms/FunctionSpecialization/phi-nodes-non-constfoldable.ll
Log Message:
-----------
[FuncSpec] Update function specialization to handle phi-chains (#72903)
When using the LLVM flang compiler with alias analysis (AA) enabled,
SPEC2017:548.exchange2_r was running significantly slower than wihtout
the AA.
This was caused by the GVN pass replacing many of the loads in the
pre-AA code with phi-nodes that form a long chain of dependencies, which
the function specialization was unable to follow.
This adds a function to discover phi-nodes in a transitive set, with
some limitations to avoid spending ages analysing phi-nodes.
The minimum latency savings also had to be lowered - fewer load
instructions means less saving.
Adding some more prints to help debugging the isProfitable decision.
No significant change in compile time or generated code-size.
(A previous attempt to fix this was abandoned: https://github.com/llvm/llvm-project/pull/71442)
---------
Co-authored-by: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
Commit: cfad8bf5098c051924040703ac3c6c2e65b21f6a
https://github.com/llvm/llvm-project/commit/cfad8bf5098c051924040703ac3c6c2e65b21f6a
Author: Nikita Popov <npopov at redhat.com>
Date: 2023-11-22 (Wed, 22 Nov 2023)
Changed paths:
M llvm/include/llvm/Support/GenericDomTreeConstruction.h
Log Message:
-----------
[DomTree] Remove unnecessary check (NFC)
ReverseChildren is populated during runDFS() with reachable nodes
only. This check dates back to a time when this code used
inverse_children<> directly, which could indeed contain unreachable
nodes.
Commit: b3a9e8f7c0afb00147ab6c6a6ad426de149420dd
https://github.com/llvm/llvm-project/commit/b3a9e8f7c0afb00147ab6c6a6ad426de149420dd
Author: Florian Hahn <flo at fhahn.com>
Date: 2023-11-22 (Wed, 22 Nov 2023)
Changed paths:
M llvm/test/Transforms/LoopVectorize/PowerPC/interleaved-pointer-runtime-check-unprofitable.ll
Log Message:
-----------
[LV] Reduce memory-check-threshold for test to preserve original test.
Future patches will remove some redundant instructions for runtime
checks, which brings this test case slightly below the default limit of
128. Force a lower limit to preserve the original spirit of the test
(checking that no interleaving happens if the number of checks is
above he threshold)
Commit: 95828eed41a678818a5f51b39a8d93a82ad36db7
https://github.com/llvm/llvm-project/commit/95828eed41a678818a5f51b39a8d93a82ad36db7
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2023-11-22 (Wed, 22 Nov 2023)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] combineFaddCFmul - use KnownBits to detect FNEG patterns.
We currently look for X86ISD::VBROADCAST_LOAD patterns, but this won't work with a future patch which will improve sharing of constant pool loads.
Commit: 956cf0e5de4b816ccba64206ead8bc2d4fd22158
https://github.com/llvm/llvm-project/commit/956cf0e5de4b816ccba64206ead8bc2d4fd22158
Author: NimishMishra <42909663+NimishMishra at users.noreply.github.com>
Date: 2023-11-22 (Wed, 22 Nov 2023)
Changed paths:
M flang/lib/Lower/OpenMP.cpp
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-min.f90
M flang/test/Lower/OpenMP/wsloop-reduction-min.f90
Log Message:
-----------
[flang][OpenMP] Fix min reduction initialization (#73102)
Initialization of reduction variable for min-reduction is set to largest
negative value. As such, in presence of non-negative operands, min
reduction gives incorrect output. This patch initialises min-reduction
to use the maximum positive value instead, so that it can produce
correct output for the entire range of real valued operands.
Fixes https://github.com/llvm/llvm-project/issues/73101
Commit: de7fbfeef5984ed3dc178957fbfaf4b1bb95fa94
https://github.com/llvm/llvm-project/commit/de7fbfeef5984ed3dc178957fbfaf4b1bb95fa94
Author: Hui <hui.xie0621 at gmail.com>
Date: 2023-11-22 (Wed, 22 Nov 2023)
Changed paths:
M libcxx/docs/ReleaseNotes/18.rst
M libcxx/docs/Status/Cxx20Papers.csv
M libcxx/include/__atomic/atomic.h
M libcxx/include/__atomic/cxx_atomic_impl.h
M libcxx/include/atomic
A libcxx/test/libcxx/atomics/atomics.types.generic/atomics.types.float/lockfree.pass.cpp
A libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/assign.pass.cpp
A libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/compare_exchange_strong.pass.cpp
A libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/compare_exchange_weak.pass.cpp
A libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/copy.compile.pass.cpp
A libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/ctor.pass.cpp
A libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/exchange.pass.cpp
A libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_add.pass.cpp
A libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_sub.pass.cpp
A libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/load.pass.cpp
A libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/lockfree.pass.cpp
A libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/notify_all.pass.cpp
A libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/notify_one.pass.cpp
A libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.float.pass.cpp
A libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.minus_equals.pass.cpp
A libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.plus_equals.pass.cpp
A libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/store.pass.cpp
A libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/test_helper.h
A libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/types.compile.pass.cpp
A libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/wait.pass.cpp
M libcxx/utils/libcxx/test/features.py
Log Message:
-----------
[libc++] Floating Point Atomic (#67799)
- implement P0020R6 Floating Point Atomic
Differential Revision: https://reviews.llvm.org/D153981
Commit: fbfd2c9972695bc74a646bfa5e3e2d00477dabe2
https://github.com/llvm/llvm-project/commit/fbfd2c9972695bc74a646bfa5e3e2d00477dabe2
Author: Utkarsh Saxena <usx at google.com>
Date: 2023-11-22 (Wed, 22 Nov 2023)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/lib/Sema/SemaInit.cpp
M clang/test/Misc/pragma-attribute-supported-attributes-list.test
A clang/test/SemaCXX/coro-lifetimebound.cpp
Log Message:
-----------
[coroutines] Introduce [[clang::coro_lifetimebound]] (#72851)
Adds attribute `[[clang::coro_lifetimebound]]`.
All arguments to a function are considered to be **lifetime bound** if
the function
returns a type annotated with ``[[clang::coro_lifetimebound]]`` and
``[[clang::coro_return_type]]``.
Commit: 9b20af165138f94ea9ca67d2a04df657d870aa88
https://github.com/llvm/llvm-project/commit/9b20af165138f94ea9ca67d2a04df657d870aa88
Author: Florian Hahn <flo at fhahn.com>
Date: 2023-11-22 (Wed, 22 Nov 2023)
Changed paths:
A llvm/test/Transforms/LoopVectorize/runtime-checks-difference-simplifications.ll
Log Message:
-----------
[LV] Add test with a number of redundant runtime check instructions.
Add a test case where many runtime check instructions can be simplified.
Commit: eed17dcf76b5aea30348a515e9fddd0789fec054
https://github.com/llvm/llvm-project/commit/eed17dcf76b5aea30348a515e9fddd0789fec054
Author: Spenser Bauman <sbauman at mathworks.com>
Date: 2023-11-22 (Wed, 22 Nov 2023)
Changed paths:
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-named.mlir
Log Message:
-----------
[mlir][tosa] Fix lowering of tosa.matmul with dynamic outputs (#72724)
The existing lowering of tosa.matmul will construct illegal tensor.empty
operations when the output type is more dynamic than the input types.
%0 = tosa.matmul %arg0, %arg1 : (tensor<1x1x8xf32>, tensor<1x8x1xf32>)
-> tensor<?x1x1xf32>
When constructing the tensor.empty operation, consult the output type
rather than the input types to decide whether a dimension is dynamic.
Commit: 32d1197a8faf4c04df5fcd6c0588aa288bc42e35
https://github.com/llvm/llvm-project/commit/32d1197a8faf4c04df5fcd6c0588aa288bc42e35
Author: Florian Hahn <flo at fhahn.com>
Date: 2023-11-22 (Wed, 22 Nov 2023)
Changed paths:
M llvm/lib/Transforms/Utils/LoopUtils.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/sve-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/runtime-check-small-clamped-bounds.ll
M llvm/test/Transforms/LoopVectorize/runtime-checks-difference-simplifications.ll
M llvm/test/Transforms/LoopVectorize/runtime-checks-difference.ll
M llvm/test/Transforms/LoopVectorize/runtime-checks-hoist.ll
Log Message:
-----------
[LV] Use SCEV for subtraction of src/sink for diff runtime checks.
Instead of expanding the src/sink SCEV expressions and emitting an IR
sub to compute the difference, the subtraction can be directly be
performed by ScalarEvolution. This allows the subtraction to be
simplified by SCEV, which in turn can reduced the number of redundant
runtime check instructions generated.
It also allows to generate checks that are invariant w.r.t. an outer
loop, if he inner loop AddRecs have the same outer loop AddRec as start.
Commit: b810b668172a25a9ccc716fa216646558f126847
https://github.com/llvm/llvm-project/commit/b810b668172a25a9ccc716fa216646558f126847
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2023-11-22 (Wed, 22 Nov 2023)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] combineFMulcFCMulc - use KnownBits to detect conjugate patterns.
We currently look for X86ISD::VBROADCAST_LOAD patterns, but this won't work with a future patch which will improve sharing of constant pool loads.
Commit: ea47887e6f5fd2e394c7196203322be69ea142f9
https://github.com/llvm/llvm-project/commit/ea47887e6f5fd2e394c7196203322be69ea142f9
Author: Rafael Ubal <rubal at mathworks.com>
Date: 2023-11-22 (Wed, 22 Nov 2023)
Changed paths:
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
Log Message:
-----------
Fix for TOSA-to-linalg lowering of tosa.transpose op (#72698)
The TOSA-to-linalg conversion of `tosa.transpose` contains a bug in the
computation of the result tensor shape when using dynamic dimensions.
This bug may have widespread implications in projects such as
Tensorflow, where `tosa.transpose` is frequently generated.
Consider the following TOSA code using only static dimensions. The code
transposes a tensor of shape 10x11x12 into 12x10x11 by permuting
dimensions [2, 0, 1] into [0, 1, 2].
```
func.func @test_tosa_transpose(%input: tensor<10x11x12xf32>) -> tensor<12x10x11xf32> {
%perms = "tosa.const"() <{value = dense<[2, 0, 1]> : tensor<3xi32>}> : () -> tensor<3xi32>
%transposed = "tosa.transpose"(%input, %perms) : (tensor<10x11x12xf32>, tensor<3xi32>) -> tensor<12x10x11xf32>
return %transposed : tensor<12x10x11xf32>
}
```
The code is correctly lowered to:
```
#map = affine_map<(d0, d1, d2) -> (d1, d2, d0)>
#map1 = affine_map<(d0, d1, d2) -> (d0, d1, d2)>
module {
func.func @test_tosa_transpose(%arg0: tensor<10x11x12xf32>) -> tensor<12x10x11xf32> {
%empty = tensor.empty() : tensor<12x10x11xf32>
%transposed = linalg.generic {indexing_maps = [#map, #map1], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg0 : tensor<10x11x12xf32>) outs(%empty : tensor<12x10x11xf32>) {
^bb0(%in: f32, %out: f32):
linalg.yield %in : f32
} -> tensor<12x10x11xf32>
return %transposed : tensor<12x10x11xf32>
}
}
```
Now let's make all dimensions dynamic in the TOSA code:
```
func.func @test_tosa_transpose(%input: tensor<?x?x?xf32>) -> tensor<?x?x?xf32> {
%perms = "tosa.const"() <{value = dense<[2, 0, 1]> : tensor<3xi32>}> : () -> tensor<3xi32>
%transposed = "tosa.transpose"(%input, %perms) : (tensor<?x?x?xf32>, tensor<3xi32>) -> tensor<?x?x?xf32>
return %transposed : tensor<?x?x?xf32>
}
```
The `tensor.empty()` op now needs additional information about the size
of the output tensor, which is computed dynamically with a set of
`tensor.dim` ops. The comments below assume an input tensor of size
10x11x12, as before. The code is lowered as:
```
#map = affine_map<(d0, d1, d2) -> (d1, d2, d0)>
#map1 = affine_map<(d0, d1, d2) -> (d0, d1, d2)>
module {
func.func @test_tosa_transpose(%arg0: tensor<?x?x?xf32>) -> tensor<?x?x?xf32> {
%c0 = arith.constant 0 : index
%c1 = arith.constant 1 : index
%c2 = arith.constant 2 : index
%arg0_dim0 = tensor.dim %arg0, %c0 : tensor<?x?x?xf32> // Evaluates to 10
%arg0_dim1 = tensor.dim %arg0, %c1 : tensor<?x?x?xf32> // Evaluates to 11
%arg0_dim2 = tensor.dim %arg0, %c2 : tensor<?x?x?xf32> // Evaluates to 12
%empty = tensor.empty(%arg0_dim1, %arg0_dim2, %arg0_dim0) : tensor<?x?x?xf32> // Output of type tensor<11x12x10> WRONG!
%transposed = linalg.generic {indexing_maps = [#map, #map1], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg0 : tensor<?x?x?xf32>) outs(%empty : tensor<?x?x?xf32>) {
^bb0(%in: f32, %out: f32):
linalg.yield %in : f32
} -> tensor<?x?x?xf32>
return %transposed : tensor<?x?x?xf32>
}
}
```
The output tensor shape is dynamically computed as 11x12x10 instead of
12x10x11. Since the total size of the output tensor is still the same,
the code does not segfault after bufferization. However, index
computations are invalid and lead to SWAs.
Commit: 22d05acc9040acbddbdaf0922edf424ab183d056
https://github.com/llvm/llvm-project/commit/22d05acc9040acbddbdaf0922edf424ab183d056
Author: Tai Ly <tai.ly at arm.com>
Date: 2023-11-22 (Wed, 22 Nov 2023)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/test/Dialect/Tosa/ops.mlir
Log Message:
-----------
[Tosa] Add local_bound attribute (#73001)
This adds an optional bool attribute, local_bound, with default false,
to following ops per TOSA spec 0.90:
CONV2D
CONV3D
DEPTHWISE_CONV2D
FFT2D
RFFT2D
TRANSPOSE_CONV2D
also added tests in ops.mlir to validate this attribute is optional
Signed-off-by: Tai Ly <tai.ly at arm.com>
Commit: 55f067f3bafac284ff0c8e259af01b1202de94d1
https://github.com/llvm/llvm-project/commit/55f067f3bafac284ff0c8e259af01b1202de94d1
Author: CarolineConcatto <51754594+CarolineConcatto at users.noreply.github.com>
Date: 2023-11-22 (Wed, 22 Nov 2023)
Changed paths:
M clang/include/clang/Basic/arm_sve.td
A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfadd.c
A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfclamp.c
A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmax.c
A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmaxnm.c
A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmin.c
A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfminnm.c
A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmla.c
A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmla_lane.c
A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmls.c
A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmls_lane.c
A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmul.c
A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmul_lane.c
A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfsub.c
M clang/test/Sema/aarch64-sve2p1-intrinsics/acle_sve2p1_imm.cpp
M llvm/lib/Target/AArch64/AArch64.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfadd.ll
A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfclamp.ll
A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmax.ll
A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmaxnm.ll
A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmin.ll
A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfminnm.ll
A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmla.ll
A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmla_lane.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmls.ll
A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmls_lane.ll
A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmlsl.ll
A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmul.ll
A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmul_lane.ll
A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfsub.ll
M llvm/test/MC/AArch64/SVE2p1/bfadd.s
M llvm/test/MC/AArch64/SVE2p1/bfclamp.s
M llvm/test/MC/AArch64/SVE2p1/bfmax.s
M llvm/test/MC/AArch64/SVE2p1/bfmaxnm.s
M llvm/test/MC/AArch64/SVE2p1/bfmin.s
M llvm/test/MC/AArch64/SVE2p1/bfminnm.s
M llvm/test/MC/AArch64/SVE2p1/bfmla.s
M llvm/test/MC/AArch64/SVE2p1/bfmls.s
M llvm/test/MC/AArch64/SVE2p1/bfmul.s
M llvm/test/MC/AArch64/SVE2p1/bfsub.s
M llvm/test/MC/AArch64/SVE2p1/ld1d_q.s
M llvm/test/MC/AArch64/SVE2p1/ld1w_q.s
M llvm/test/MC/AArch64/SVE2p1/st1d_q.s
M llvm/test/MC/AArch64/SVE2p1/st1w_q.s
Log Message:
-----------
Revert "Revert "[SVE2.1][Clang][LLVM]Add BFloat16 builtin in Clang an… (#73110)
…d LLVM intrinisc (#70362)""
This reverts commit e1ee0e85104eed2c68b6821d9e5a2066e4154099.
The patch https://github.com/llvm/llvm-project/pull/70362 had a test in
LLDB failing. The Feature sve2p1 in AArch64InstrInfo.td uses
AssemblerPredicate instead of AssemblerPredicateWithAll This patch adds
again PR #70362 with the fix in the AArch64InstrInfo.td.
Commit: dff97c1e4c30183dbd056c6a648b17f2cc87c972
https://github.com/llvm/llvm-project/commit/dff97c1e4c30183dbd056c6a648b17f2cc87c972
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2023-11-22 (Wed, 22 Nov 2023)
Changed paths:
A mlir/include/mlir/Conversion/ArmSMEToLLVM/ArmSMEToLLVM.h
M mlir/include/mlir/Conversion/Passes.h
M mlir/include/mlir/Conversion/Passes.td
M mlir/include/mlir/Dialect/ArmSME/Transforms/Transforms.h
A mlir/lib/Conversion/ArmSMEToLLVM/ArmSMEToLLVM.cpp
A mlir/lib/Conversion/ArmSMEToLLVM/CMakeLists.txt
M mlir/lib/Conversion/CMakeLists.txt
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVMPass.cpp
M mlir/lib/Dialect/ArmSME/Transforms/CMakeLists.txt
R mlir/lib/Dialect/ArmSME/Transforms/LegalizeForLLVMExport.cpp
M mlir/test/Dialect/ArmSME/arm-sme-to-llvm-casts.mlir
M mlir/test/Dialect/ArmSME/arm-sme-to-llvm.mlir
M mlir/test/Dialect/ArmSME/enable-arm-za.mlir
M mlir/test/Dialect/ArmSME/tile-zero-masks.mlir
M mlir/test/Dialect/ArmSME/vector-ops-to-llvm.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/fill-2d.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/matmul-transpose-a.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/load-store-128-bit-tile.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-load-vertical.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-outerproduct-f32.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-outerproduct-f64.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-transfer-read-2d.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-transfer-write-2d.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-transpose.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/tile_fill.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/vector-load-store.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/vector-ops.mlir
Log Message:
-----------
[mlir][ArmSME] Move ArmSME -> intrinsics lowerings to `convert-arm-sme-to-llvm` pass (#72890)
This gives more flexibility with when these lowerings are performed,
without also lowering unrelated vector ops.
This is a NFC (other than adding a new `-convert-arm-sme-to-llvm` pass)
Commit: fa1e49cf3785bab01c902063e013b2305630417f
https://github.com/llvm/llvm-project/commit/fa1e49cf3785bab01c902063e013b2305630417f
Author: Joseph Huber <huberjn at outlook.com>
Date: 2023-11-22 (Wed, 22 Nov 2023)
Changed paths:
M libc/test/src/math/smoke/CMakeLists.txt
Log Message:
-----------
[libc] Disable nexttoward tests on the GPU
Summary:
These tests are currently failing for some reason. A lot of math tests
on the GPU are disabled temporarily and need to be fixed.
Commit: e5cc3da6a9077548f613eee3aacc5e7b017c81f3
https://github.com/llvm/llvm-project/commit/e5cc3da6a9077548f613eee3aacc5e7b017c81f3
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2023-11-22 (Wed, 22 Nov 2023)
Changed paths:
M clang/lib/Headers/mmintrin.h
Log Message:
-----------
[X86][AVX10] Add no-evex512 for MMX intrinsics, NFCI
Some MMX intrinsics like _mm_setzero_si64 will be called by XMM
intrinsics, so need to propagate no-evex512 there.
Checked locally with a lot of modified tests and no side effect with
this change. No extra test needed for the update.
Commit: 2b0b0ad7e760e30b66cebfc994d0eb64de8846ad
https://github.com/llvm/llvm-project/commit/2b0b0ad7e760e30b66cebfc994d0eb64de8846ad
Author: Johannes Reifferscheid <jreiffers at google.com>
Date: 2023-11-22 (Wed, 22 Nov 2023)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[Bazel] Fixes for dff97c1e4c30183dbd056c6a648b17f2cc87c972
Commit: ed5404cd6b20ef6b54ef713399f03857990861a8
https://github.com/llvm/llvm-project/commit/ed5404cd6b20ef6b54ef713399f03857990861a8
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2023-11-22 (Wed, 22 Nov 2023)
Changed paths:
M clang/include/clang/Basic/arm_sve.td
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_loads.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_store.c
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-gather-loads-128bit-unscaled-offset.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-scatter-stores-128bit-unscaled-offset.ll
Log Message:
-----------
[AArch64] Add quadword gather load/scatter store intrinsics with unscaled vector offset (#71290)
This patch add intrinsics of the form
sv<type>_t svld1q_gather_u64offset_<typ>(svbool_t pg, const <type>_t *base, svuint64_t offs);
void svst1q_scatter_u64offset_<typ>(sbvool_t, <type>_t *base, svuint64_t offst, sv<type>_t data);
as well as their short forms.
ACLE spec: ARM-software/acle#257
Commit: 9ceea088592ebaafed8eaccfc236a0ec284655ce
https://github.com/llvm/llvm-project/commit/9ceea088592ebaafed8eaccfc236a0ec284655ce
Author: Guray Ozen <guray.ozen at gmail.com>
Date: 2023-11-22 (Wed, 22 Nov 2023)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/lib/Conversion/NVGPUToNVVM/NVGPUToNVVM.cpp
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
M mlir/test/Conversion/NVGPUToNVVM/nvgpu-to-nvvm.mlir
M mlir/test/Conversion/NVVMToLLVM/nvvm-to-llvm.mlir
M mlir/test/Dialect/LLVMIR/invalid.mlir
Log Message:
-----------
[mlir] `im2col` & `l2cache` on cp.async.bulk.tensor.shared.cluster.global` (#72967)
PR adds support of `im2col` and `l2cache` to
`cp.async.bulk.tensor.shared.cluster.global`. The Op is now supports all
the traits of the corresponding PTX instruction.
The current structure of this operation looks somewhat like below. The
PR also simplifies types so we don't need to write obvious types after
`:` anymore.
```
nvvm.cp.async.bulk.tensor.shared.cluster.global
%dest, %tmaDescriptor, %barrier,
box[%crd0,%crd1,%crd2,%crd3,%crd4]
im2col[%off0,%off1,%off2] <-- PR introduces
multicast_mask = %ctamask
l2_cache_hint = %cacheHint <-- PR introduces
: !llvm.ptr<3>, !llvm.ptr
```
Commit: 64c0e86c9e07bd65ac7c584ca2e97769852616a5
https://github.com/llvm/llvm-project/commit/64c0e86c9e07bd65ac7c584ca2e97769852616a5
Author: Tom Stellard <tstellar at redhat.com>
Date: 2023-11-22 (Wed, 22 Nov 2023)
Changed paths:
M clang/lib/Driver/ToolChains/Gnu.cpp
M clang/lib/Driver/ToolChains/Gnu.h
Log Message:
-----------
[Driver] Simply some gcc search logic (#72558)
Commit: c1146f306d2b924449d2b60943ec6fff1efa785d
https://github.com/llvm/llvm-project/commit/c1146f306d2b924449d2b60943ec6fff1efa785d
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2023-11-22 (Wed, 22 Nov 2023)
Changed paths:
M llvm/lib/Transforms/Utils/LCSSA.cpp
M llvm/test/Transforms/LCSSA/rewrite-existing-dbg-values.ll
Log Message:
-----------
[DebugInfo][RemoveDIs] Handle DPValues in LCSSA (#72996)
LCSSA needs to manually update dbg.value intrinsic users of Values that
are having LCSSA PHIs inserted -- instrument it to do the same for
DPValues, the replacement for dbg.values.
This patch also contains an opportunistic fix replacing
instruction-insertion with iterator-insertion, necessary for
communicating debug-info in the future.
Commit: 06e113af4c3bdad8a7ffc389922285ebb65f332a
https://github.com/llvm/llvm-project/commit/06e113af4c3bdad8a7ffc389922285ebb65f332a
Author: Mircea Trofin <mtrofin at google.com>
Date: 2023-11-22 (Wed, 22 Nov 2023)
Changed paths:
M llvm/test/CodeGen/MLRegAlloc/dev-mode-extra-features-logging.ll
Log Message:
-----------
[mlgo] Fix test post 42d484082cd190400e0e493a8d679762ce0efbba
The opcodes got bumped, and an expected 1299 became 1300.
Commit: 8c02b34e3b9b1e2596651959ba76c66a7afaf545
https://github.com/llvm/llvm-project/commit/8c02b34e3b9b1e2596651959ba76c66a7afaf545
Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: 2023-11-22 (Wed, 22 Nov 2023)
Changed paths:
M flang/lib/Lower/OpenMP.cpp
Log Message:
-----------
[Flang][OpenMP] NFC: Minor refactoring of Reduction lowering code (#70790)
Move reduction lowering code into a ReductionProcessor class. Create an
enumeration for Intrinsic Procedure reductions.
Commit: d33bad66d86a6fdb443c59561f9524f451a82db0
https://github.com/llvm/llvm-project/commit/d33bad66d86a6fdb443c59561f9524f451a82db0
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2023-11-22 (Wed, 22 Nov 2023)
Changed paths:
M mlir/include/mlir/Dialect/Vector/Transforms/VectorRewritePatterns.h
M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
A mlir/test/Dialect/Vector/chained-vector-reduction-folding.mlir
M mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp
Log Message:
-----------
[mlir][vector] Add patterns to simplify chained reductions (#73048)
Chained reductions get created during vector unrolling. These patterns
simplify them into a series of adds followed by a final reductions.
This is preferred on GPU targets like SPIR-V/Vulkan where vector
reduction gets lowered into subgroup operations that are generally more
expensive than simple vector additions.
For now, only the `add` combining kind is handled.
Commit: c4c59192e6e913dcb0c68ad1632efb277d329cc7
https://github.com/llvm/llvm-project/commit/c4c59192e6e913dcb0c68ad1632efb277d329cc7
Author: martinboehme <mboehme at google.com>
Date: 2023-11-22 (Wed, 22 Nov 2023)
Changed paths:
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/lib/Analysis/FlowSensitive/Transfer.cpp
M clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp
M clang/unittests/Analysis/FlowSensitive/DataflowEnvironmentTest.cpp
M clang/unittests/Analysis/FlowSensitive/TypeErasedDataflowAnalysisTest.cpp
Log Message:
-----------
[clang][dataflow] Clear `ExprToLoc` and `ExprToVal` at the start of a block. (#72985)
We never need to access entries from these maps outside of the current
basic
block. This could only ever become a consideration when flow control
happens
inside a full-expression (i.e. we have multiple basic blocks for a full
expression); there are two kinds of expression where this can happen,
but we
already deal with these in other ways:
* Short-circuiting logical operators (`&&` and `||`) have operands that
live in
different basic blocks than the operator itself, but we already have
code in
the framework to retrieve the value of these operands from the
environment
for the block they are computed in, rather than in the environment of
the
block containing the operator.
* The conditional operator similarly has operands that live in different
basic
blocks. However, we currently don't implement a transfer function for
the
conditional operator. When we do this, we need to retrieve the values of
the
operands from the environments of the basic blocks they live in, as we
already do for logical operators. This patch adds a comment to this
effect
to the code.
Clearing out `ExprToLoc` and `ExprToVal` has two benefits:
* We avoid performing joins on boolean expressions contained in
`ExprToVal` and
hence extending the flow condition in cases where this is not needed.
Simpler
flow conditions should reduce the amount of work we do in the SAT
solver.
* Debugging becomes easier when flow conditions are simpler and
`ExprToLoc` /
`ExprToVal` don’t contain any extraneous entries.
Benchmark results on Crubit's `pointer_nullability_analysis_benchmark
show a
slight runtime increase for simple benchmarks, offset by substantial
runtime
reductions for more complex benchmarks:
```
name old cpu/op new cpu/op delta
BM_PointerAnalysisCopyPointer 29.8µs ± 1% 29.9µs ± 4% ~ (p=0.879 n=46+49)
BM_PointerAnalysisIntLoop 101µs ± 3% 104µs ± 4% +2.96% (p=0.000 n=55+57)
BM_PointerAnalysisPointerLoop 378µs ± 3% 245µs ± 3% -35.09% (p=0.000 n=47+55)
BM_PointerAnalysisBranch 118µs ± 2% 122µs ± 3% +3.37% (p=0.000 n=59+59)
BM_PointerAnalysisLoopAndBranch 779µs ± 3% 413µs ± 5% -47.01% (p=0.000 n=56+45)
BM_PointerAnalysisTwoLoops 187µs ± 3% 192µs ± 5% +2.80% (p=0.000 n=57+58)
BM_PointerAnalysisJoinFilePath 17.4ms ± 3% 7.2ms ± 3% -58.75% (p=0.000 n=58+57)
BM_PointerAnalysisCallInLoop 14.7ms ± 4% 10.3ms ± 2% -29.87% (p=0.000 n=56+58)
```
Commit: f12be145ecceaf874fb1430f68fc13118d243833
https://github.com/llvm/llvm-project/commit/f12be145ecceaf874fb1430f68fc13118d243833
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2023-11-22 (Wed, 22 Nov 2023)
Changed paths:
M libc/src/__support/char_vector.h
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
A utils/bazel/llvm-project-overlay/libc/test/src/__support/BUILD.bazel
Log Message:
-----------
[libc][bazel] Enable __support tests (#73125)
Commit: c2b3f16fb595fa88bfd21b455785c59ac6a21ed4
https://github.com/llvm/llvm-project/commit/c2b3f16fb595fa88bfd21b455785c59ac6a21ed4
Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: 2023-11-22 (Wed, 22 Nov 2023)
Changed paths:
M flang/lib/Lower/OpenMP.cpp
Log Message:
-----------
Revert "[Flang][OpenMP] NFC: Minor refactoring of Reduction lowering code" (#73139)
Reverts llvm/llvm-project#70790 to fix CI failure
(https://lab.llvm.org/buildbot/#/builders/268/builds/2884)
Commit: cae46f6210293ba4d3568eb21b935d438934290d
https://github.com/llvm/llvm-project/commit/cae46f6210293ba4d3568eb21b935d438934290d
Author: Vettel <924105575 at qq.com>
Date: 2023-11-22 (Wed, 22 Nov 2023)
Changed paths:
M llvm/lib/CodeGen/MachineCopyPropagation.cpp
M llvm/test/CodeGen/RISCV/machine-cp.mir
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-nearbyint-vp.ll
M llvm/test/CodeGen/X86/shift-i128.ll
M llvm/test/CodeGen/X86/shift-i256.ll
M llvm/test/CodeGen/X86/smulo-128-legalisation-lowering.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-8.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
M llvm/test/CodeGen/X86/wide-scalar-shift-legalization.ll
Log Message:
-----------
[MCP] Enhance MCP copy Instruction removal for special case (#70778)
Machine Copy Propagation Pass may lose some opportunities to further
remove the redundant copy instructions during the ForwardCopyPropagateBlock
procedure. When we Clobber a "Def" register, we also need to remove the record
from the copy maps that indicates "Src" defined "Def" to ensure the correct semantics
of the ClobberRegister function.
For more information, please see the C++ test case generated code in
"vector.body" after the MCP Pass: https://gcc.godbolt.org/z/nK4oMaWv5.
Commit: 369c0eb55be9d07557afd1a82df4c1635c546b4c
https://github.com/llvm/llvm-project/commit/369c0eb55be9d07557afd1a82df4c1635c546b4c
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2023-11-22 (Wed, 22 Nov 2023)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC]Use SmallVector instead of std::vector and remove unused
includes, NFC.
Commit: a842430c20f1dbeec552af09612dd6073785a005
https://github.com/llvm/llvm-project/commit/a842430c20f1dbeec552af09612dd6073785a005
Author: Florian Hahn <flo at fhahn.com>
Date: 2023-11-22 (Wed, 22 Nov 2023)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
A llvm/test/CodeGen/AArch64/emit-prologue-clobber-verification.mir
M llvm/test/CodeGen/AArch64/framelayout-scavengingslot.mir
M llvm/test/CodeGen/AArch64/framelayout-sve-calleesaves-fix.mir
A llvm/test/CodeGen/AArch64/store-swift-async-context-clobber-live-reg.ll
Log Message:
-----------
[AArch64] Add check that prologue insertion doesn't clobber live regs. (#71826)
This patch extends AArch64FrameLowering::emitProglogue to check if the
inserted prologue clobbers live registers.
It updates `llvm/test/CodeGen/AArch64/framelayout-scavengingslot.mir`
with an extra load to make x9 live before the store, preserving the
original test.
It uses the original
`llvm/test/CodeGen/AArch64/framelayout-scavengingslot.mir` as
`llvm/test/CodeGen/AArch64/emit-prologue-clobber-verification.mir`,
because there x9 is marked as live on entry, but used as scratch reg as
it is not callee saved.
The new assertion catches a mis-compile in
`store-swift-async-context-clobber-live-reg.ll` on
https://github.com/apple/llvm-project/tree/next
Commit: e07fec10ac208c2868a24c5c0be88e45778b297e
https://github.com/llvm/llvm-project/commit/e07fec10ac208c2868a24c5c0be88e45778b297e
Author: Daniel Chen <cdchen at ca.ibm.com>
Date: 2023-11-22 (Wed, 22 Nov 2023)
Changed paths:
M flang/include/flang/Lower/BoxAnalyzer.h
M flang/include/flang/Lower/CallInterface.h
M flang/include/flang/Lower/ConvertProcedureDesignator.h
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/Builder/HLFIRTools.h
M flang/include/flang/Optimizer/HLFIR/HLFIRDialect.h
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/CallInterface.cpp
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Lower/ConvertExpr.cpp
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Lower/ConvertProcedureDesignator.cpp
M flang/lib/Lower/ConvertType.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
A flang/test/Lower/HLFIR/procedure-pointer.f90
Log Message:
-----------
[Flang] Add partial support for lowering procedure pointer assignment. (#70461)
**Scope of the PR:**
1. Lowering global and local procedure pointer declaration statement
with explicit or implicit interface. The explicit interface can be from
an interface block, a module procedure or an internal procedure.
2. Lowering procedure pointer assignment, where the target procedure
could be external, module or internal procedures.
3. Lowering reference to procedure pointers so that it works end to end.
**PR notes:**
1. The first commit of the PR does not include testing. I would like to
collect some comments first, which may alter the output. Once I confirm
the implementation, I will add some testing as a follow up commit to
this PR.
2. No special handling of the host-associated entities when an internal
procedure is the target of a procedure pointer assignment in this PR.
**Implementation notes:**
1. The implementation is using the HLFIR path.
2. Flang currently uses `getUntypedBoxProcType` to get the
`fir::BoxProcType` for `ProcedureDesignator` when getting the address of
a procedure in order to pass it as an actual argument. This PR inherits
the same design decision for procedure pointer as the `fir::StoreOp`
requires the same memory type.
Commit: 1dd387e10624ece478759ec95c18545d051b7dbe
https://github.com/llvm/llvm-project/commit/1dd387e10624ece478759ec95c18545d051b7dbe
Author: Aart Bik <39774503+aartbik at users.noreply.github.com>
Date: 2023-11-22 (Wed, 22 Nov 2023)
Changed paths:
M mlir/include/mlir/Dialect/SparseTensor/IR/Enums.h
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorAttrDefs.td
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorStorageLayout.h
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorType.h
M mlir/include/mlir/Dialect/SparseTensor/Utils/Merger.h
M mlir/include/mlir/ExecutionEngine/SparseTensor/Storage.h
M mlir/lib/Dialect/SparseTensor/IR/Detail/DimLvlMap.cpp
M mlir/lib/Dialect/SparseTensor/IR/Detail/LvlTypeParser.cpp
M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/CodegenEnv.h
M mlir/lib/Dialect/SparseTensor/Transforms/CodegenUtils.h
M mlir/lib/Dialect/SparseTensor/Transforms/LoopEmitter.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorCodegen.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorConversion.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorDescriptor.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp
M mlir/lib/Dialect/SparseTensor/Utils/Merger.cpp
Log Message:
-----------
[mlir][sparse] change dim level type -> level type (#73058)
The "dimension" before "level" does not really make sense Note that
renaming the actual type DimLevelType to LevelType is still TBD, since
this is an externally visible change (e.g. visible to Python API).
Commit: 32903b0b6dbbb1ca90a39df18a9816fa20bdb214
https://github.com/llvm/llvm-project/commit/32903b0b6dbbb1ca90a39df18a9816fa20bdb214
Author: LWenH <924105575 at qq.com>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
M llvm/test/CodeGen/PowerPC/mma-acc-spill.ll
M llvm/test/CodeGen/PowerPC/mma-outer-product.ll
Log Message:
-----------
[MCP] fix PowerPC redundant copy instructions removal fail test cases, NFC
Commit: 3e28e1ec56c72c5f401fcc76f5590ece692d2425
https://github.com/llvm/llvm-project/commit/3e28e1ec56c72c5f401fcc76f5590ece692d2425
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2023-11-22 (Wed, 22 Nov 2023)
Changed paths:
M llvm/utils/git/code-format-helper.py
Log Message:
-----------
[code-format] Also include libc++ extensionless headers and .inc and .cppm (#73142)
These headers were skipped by the job because they didn't have an
extension. However, such headers are extremely common in libc++.
As a drive-by change, also include `.cppm` and `.inc` extensions since
those are also common in libc++.
Commit: 1822bc15cb378458e942e405ae7da32ee75b8c5b
https://github.com/llvm/llvm-project/commit/1822bc15cb378458e942e405ae7da32ee75b8c5b
Author: nicole mazzuca <nicole at strega-nil.co>
Date: 2023-11-22 (Wed, 22 Nov 2023)
Changed paths:
M compiler-rt/include/sanitizer/common_interface_defs.h
A compiler-rt/test/asan/TestCases/Windows/msvc/gz.cpp
Log Message:
-----------
Remove `__cdecl` from _ReturnAddress (#72919)
As an intrinsic, `_ReturnAddress` does not need it; additionally,
if someone else declares `_ReturnAddress` without `__cdecl` (for
example, `<intrin.h>`)
Additionally, actually add a test for this change. I've tested it
locally with both LLVM and MSVC.
Commit: 1cd682f26bfe63e65683b0e68d75207852a67b35
https://github.com/llvm/llvm-project/commit/1cd682f26bfe63e65683b0e68d75207852a67b35
Author: David Blaikie <dblaikie at gmail.com>
Date: 2023-11-22 (Wed, 22 Nov 2023)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
Log Message:
-----------
Sink variable into #ifndef NDEBUG where it is used
(addresses -Wunused-variable warning)
Commit: 9be9f622bfd62e4cdceb48f19a882067d8a03587
https://github.com/llvm/llvm-project/commit/9be9f622bfd62e4cdceb48f19a882067d8a03587
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2023-11-22 (Wed, 22 Nov 2023)
Changed paths:
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/exchange.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_add.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_sub.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.minus_equals.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.plus_equals.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/wait.pass.cpp
Log Message:
-----------
[libc++][test][msan] Fix bots after #67799 (#73152)
This adds a few UNSUPPORTED annotations for tests that hang on some
msan bots:
https://lab.llvm.org/buildbot/#/builders/sanitizer-x86_64-linux-bootstrap-msan
https://lab.llvm.org/buildbot/#/builders/sanitizer-aarch64-linux-bootstrap-msan
We still haven't figured out the root cause of them hanging on these
bots but not on the main libc++ CI infra.
Commit: 61ab43ae00b71b8bd85e07808217e14b4151d2d1
https://github.com/llvm/llvm-project/commit/61ab43ae00b71b8bd85e07808217e14b4151d2d1
Author: Davide Italiano <dcci at users.noreply.github.com>
Date: 2023-11-22 (Wed, 22 Nov 2023)
Changed paths:
M llvm/lib/Transforms/IPO/IROutliner.cpp
A llvm/test/Transforms/IROutliner/gvn-phi-debug.ll
Log Message:
-----------
[IROutliner] Skip dbg values during the candidate search. (#72945)
dbg value don't really have a value number associated as they have no
semantic value associated, i.e. they don't change the code being
generated. Use the correct API to go over them.
Fixes https://github.com/llvm/llvm-project/issues/62876
Commit: 12bcd6339d36ab4d3f7b0010a2df87ec81bec986
https://github.com/llvm/llvm-project/commit/12bcd6339d36ab4d3f7b0010a2df87ec81bec986
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2023-11-22 (Wed, 22 Nov 2023)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/remark-partial-loads-vectorize.ll
Log Message:
-----------
[SLP]Improve detection of gathered loads, if no other deps are detected.
If the gather node includes ordered loads only partially (not the whole
node consists of loads) and the other gathered scalar are not loads, and
no other dependency from other nodes is found, we still can improve the
cost of gather, if take into account the fact that these loads still can
be vectorized.
Commit: 5d73c7d1af78379827759dfb57887246e47a503e
https://github.com/llvm/llvm-project/commit/5d73c7d1af78379827759dfb57887246e47a503e
Author: bgra8 <32298056+bgra8 at users.noreply.github.com>
Date: 2023-11-22 (Wed, 22 Nov 2023)
Changed paths:
M libcxx/docs/ReleaseNotes/18.rst
M libcxx/include/variant
M libcxx/test/std/utilities/variant/variant.variant/variant.assign/T.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.assign/conv.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.ctor/T.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.ctor/conv.pass.cpp
M libcxx/test/support/variant_test_helpers.h
Log Message:
-----------
[libc++] Re-introduce special support for narrowing conversions to bool in variant (#73121)
This patch re-introduces special support for narrowing conversions to
bool
in std::variant, which was removed in 170810fca6ee in order to make
libc++
Standards-conforming.
The special support is gated by the
`_LIBCPP_ENABLE_NARROWING_CONVERSIONS_IN_VARIANT`
macro and will be supported for LLVM 18 only as a courtesy to help large
code bases migrate over to the Standard behavior.
---------
Co-authored-by: Bogdan Graur <bgraur at google.com>
Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>
Commit: 6f0c52e56fb7f237ed8071573ce8a2021b4c7289
https://github.com/llvm/llvm-project/commit/6f0c52e56fb7f237ed8071573ce8a2021b4c7289
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2023-11-22 (Wed, 22 Nov 2023)
Changed paths:
M libcxx/include/__atomic/aliases.h
M libcxx/include/atomic
M libcxx/test/std/atomics/types.pass.cpp
Log Message:
-----------
[libc++] Refactor atomic_{unsigned,signed}_lock_free (#73041)
Their definition was a bit roundabout and it was actually wrong since
atomic_unsigned_lock_free would be a signed type whenever
__cxx_contention_t is lock free, which is most of the time.
Fixes #72968
Commit: 23628137ea9e7a2942d6a691ea74a7697564e65b
https://github.com/llvm/llvm-project/commit/23628137ea9e7a2942d6a691ea74a7697564e65b
Author: Florian Hahn <flo at fhahn.com>
Date: 2023-11-22 (Wed, 22 Nov 2023)
Changed paths:
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
Log Message:
-----------
[ConstraintElim] Treat ConstantPointerNull as constant offset 0.
Treat ConstantPointerNull (null) as constant offset 0 in the constraint
instead of a variable. This slightly reduces the number of variables. I
was not able to find a test case where this actually caused any changes.
Commit: 5717236f7e1fde7948569466fa7dfd7c6562f160
https://github.com/llvm/llvm-project/commit/5717236f7e1fde7948569466fa7dfd7c6562f160
Author: Fangrui Song <i at maskray.me>
Date: 2023-11-22 (Wed, 22 Nov 2023)
Changed paths:
M compiler-rt/lib/asan/CMakeLists.txt
Log Message:
-----------
[CMake] Fix the condition to include asan_rtl_x86_64.S in libclang_rt.asan_static.a
In a build supporting both i386/x86_64, the condition added by
https://reviews.llvm.org/D149957 caused asan_rtl_x86_64.S not to be
built. Fix it.
Commit: a9c149df7666bb2f8755794b97573134e5cfeb38
https://github.com/llvm/llvm-project/commit/a9c149df7666bb2f8755794b97573134e5cfeb38
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2023-11-22 (Wed, 22 Nov 2023)
Changed paths:
M libcxx/docs/ReleaseNotes/18.rst
Log Message:
-----------
[libc++] Document upcoming removal of _LIBCPP_ENABLE_NARROWING_CONVERSIONS_IN_VARIANT in LLVM 19
Commit: 6772c4f2483204fd0bc28717fe63e009e07abaf5
https://github.com/llvm/llvm-project/commit/6772c4f2483204fd0bc28717fe63e009e07abaf5
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2023-11-22 (Wed, 22 Nov 2023)
Changed paths:
M libcxx/utils/ci/run-buildbot
R libcxx/utils/data/ignore_format.txt
R libcxx/utils/generate_ignore_format.sh
M llvm/utils/git/code-format-helper.py
Log Message:
-----------
[libc++] Remove the ignore_format.txt file (#73135)
The ignore_format.txt file and the associated checks have been causing a
lot of confusion since we introduced them. Formatting becomes one of the
main hurdle for contributors (especially new contributors), and that is
not great.
The original goal of ignore_format.txt was to enforce clang-format only
in a subset of the files of the project. In practice, we have now
shifted to a model where we have a Github action that checks whether new
code surrounding edits is formatted. In that context, it probably
doesn't make sense to keep having a ignore list for formatting files.
After this patch, the clang-format job will enforce that all new code is
formatted properly, and that all edits to existing files are formatted
properly, regardless of which files the edits are in. This seems
reasonable and I believe will lead to much less confusion than our
current setup.
In the future, we could consider clang-formatting the whole code base
once and for all but this requires a bit of upfront technical work to
put in place a merge driver to help resolve merge conflicts across
formatting changes.
Commit: aba040182a5cf4d22c28b406ad11507bcfdf75ef
https://github.com/llvm/llvm-project/commit/aba040182a5cf4d22c28b406ad11507bcfdf75ef
Author: Craig Topper <craig.topper at sifive.com>
Date: 2023-11-22 (Wed, 22 Nov 2023)
Changed paths:
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/Transforms/Coroutines/CoroCleanup.cpp
M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
M llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
M llvm/lib/Transforms/Scalar/SROA.cpp
M llvm/lib/Transforms/Utils/AMDGPUEmitPrintf.cpp
M llvm/lib/Transforms/Utils/ModuleUtils.cpp
M llvm/lib/Transforms/Utils/RelLookupTableConverter.cpp
M llvm/lib/Transforms/Utils/SanitizerStats.cpp
Log Message:
-----------
[IR] Replace uses of IRBuilder::getInt8PtrTy with getPtrTy. NFC (#73154)
Commit: 53f912480f7fab5ee903d76fd5c7aed5df88eea4
https://github.com/llvm/llvm-project/commit/53f912480f7fab5ee903d76fd5c7aed5df88eea4
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2023-11-22 (Wed, 22 Nov 2023)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC]Remove extra unused vars, add TODO, NFC.
Commit: 575c9bf940e584d4928272ce8a87fe71cca50840
https://github.com/llvm/llvm-project/commit/575c9bf940e584d4928272ce8a87fe71cca50840
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2023-11-22 (Wed, 22 Nov 2023)
Changed paths:
M flang/lib/Semantics/resolve-directives.cpp
M flang/test/Semantics/OpenACC/acc-loop.f90
Log Message:
-----------
[flang][openacc] Avoid crash when collapse loop nest has extra directive (#73166)
The compiler was crashing when the collapse loop nest could not be
retrieved because of extra acc loop directive inside it.
Commit: 04016684830e10a2267257e5fb4cb28a197ed022
https://github.com/llvm/llvm-project/commit/04016684830e10a2267257e5fb4cb28a197ed022
Author: Felix Schneider <fx.schn at gmail.com>
Date: 2023-11-22 (Wed, 22 Nov 2023)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/test/Dialect/Linalg/transform-ops.mlir
Log Message:
-----------
[mlir] Fix `TileUsingForOp` attr-dict printing/parsing (#72745)
`TileUsingForOp` has an optional Attribute `interchange` which was given
in curly braces like this: `{interchange = [...]}`. The way this was
parsed meant that no normal `attr-dict` could be attached to the Op.
This patch adds printing / parsing of an `attr-dict` to the Op and treats
the `interchange` Attribute as part of that dictionary for now.
Commit: 07fdc084fe75f971688d4140a5bd2dcb1d60eba2
https://github.com/llvm/llvm-project/commit/07fdc084fe75f971688d4140a5bd2dcb1d60eba2
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2023-11-22 (Wed, 22 Nov 2023)
Changed paths:
M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_is_lock_free.pass.cpp
Log Message:
-----------
[libc++] Add missing check for C++17 in test
This was never caught on our bots because this specific test is marked
as `XFAIL: !is-lockfree-runtime-function`, which is the case on our bots.
Commit: 58286f9c665ad4aa748779d559f2f296de704094
https://github.com/llvm/llvm-project/commit/58286f9c665ad4aa748779d559f2f296de704094
Author: Florian Hahn <flo at fhahn.com>
Date: 2023-11-22 (Wed, 22 Nov 2023)
Changed paths:
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
Log Message:
-----------
Revert "[ConstraintElim] Treat ConstantPointerNull as constant offset 0."
This reverts commit 23628137ea9e7a2942d6a691ea74a7697564e65b.
Revert as this is causing some test failures.
Commit: 7f215b1380da49dccbf57da3040a40d25ed898f4
https://github.com/llvm/llvm-project/commit/7f215b1380da49dccbf57da3040a40d25ed898f4
Author: Tom Stellard <tstellar at redhat.com>
Date: 2023-11-22 (Wed, 22 Nov 2023)
Changed paths:
M llvm/CMakeLists.txt
Log Message:
-----------
[runtimes] Add missing test dependencies to check-all (#72955)
The test-depends target contained all the dependencies needed to run the
runtimes tests, but it was never added as a dependency of check-all.
This caused some of the tsan tests to fail, since the custom libcxx
build the tests were looking for was never built. Besides the tsan
failures, this fixes all the other test failures I was seeing with:
cmake -G Ninja -B release-build -S llvm \
-DCMAKE_POSITION_INDEPENDENT_CODE=ON \
-DCMAKE_BUILD_TYPE=Release \
-DLLVM_ENABLE_ASSERTIONS=OFF \
-DLLVM_ENABLE_PROJECTS="clang;lld" \
-DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi;libunwind;compiler-rt"
This is the same configuration the test-release.sh script uses, so I'm
hoping this will also fix all the test failures we've been seeing when
building the releases.
Fixes #58680
Commit: 8840eb3fb535bc44704bb61515ca90dceaae35a7
https://github.com/llvm/llvm-project/commit/8840eb3fb535bc44704bb61515ca90dceaae35a7
Author: Shraiysh <Shraiysh.Vaishay at amd.com>
Date: 2023-11-22 (Wed, 22 Nov 2023)
Changed paths:
M clang/lib/Parse/ParseOpenMP.cpp
M clang/test/OpenMP/target_enter_data_nowait_messages.cpp
M flang/lib/Lower/OpenMP.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
M flang/lib/Semantics/resolve-directives.cpp
M flang/test/Lower/OpenMP/FIR/declare-target-data.f90
M flang/test/Lower/OpenMP/FIR/declare-target-func-and-subr.f90
A flang/test/Lower/OpenMP/FIR/declare-target-implicit-func-and-subr-cap-enter.f90
M flang/test/Lower/OpenMP/declare-target-data.f90
M flang/test/Lower/OpenMP/declare-target-func-and-subr.f90
A flang/test/Lower/OpenMP/declare-target-implicit-func-and-subr-cap-enter.f90
M flang/test/Lower/OpenMP/declare-target-implicit-tarop-cap.f90
M flang/test/Lower/OpenMP/function-filtering-2.f90
M flang/test/Lower/OpenMP/function-filtering.f90
M flang/test/Parser/OpenMP/declare_target-device_type.f90
M flang/test/Semantics/OpenMP/declarative-directive.f90
M flang/test/Semantics/OpenMP/declare-target01.f90
M flang/test/Semantics/OpenMP/declare-target02.f90
M flang/test/Semantics/OpenMP/declare-target06.f90
M flang/test/Semantics/OpenMP/requires04.f90
M flang/test/Semantics/OpenMP/requires05.f90
M llvm/include/llvm/Frontend/OpenMP/OMP.td
Log Message:
-----------
[flang][OpenMP] Add semantic check for declare target (#72770)
Commit: a8450619358c3de23b72aef7c1fd932bca112257
https://github.com/llvm/llvm-project/commit/a8450619358c3de23b72aef7c1fd932bca112257
Author: Craig Topper <craig.topper at sifive.com>
Date: 2023-11-22 (Wed, 22 Nov 2023)
Changed paths:
M llvm/lib/CodeGen/TargetInstrInfo.cpp
M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
M llvm/lib/Target/PowerPC/PPCInstrInfo.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.h
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/test/CodeGen/AArch64/machine-combiner-reassociate.mir
A llvm/test/CodeGen/AArch64/pr72777.ll
Log Message:
-----------
[AArch64] Use the same fast math preservation for MachineCombiner reassociation as X86/PowerPC/RISCV. (#72820)
Don't blindly copy the original flags from the pre-reassociated
instrutions.
This copied the integer poison flags which are not safe to preserve
after reassociation.
For the FP flags, I think we should only keep the intersection of
the flags. Override setSpecialOperandAttr to do this.
Fixes #72777.
Commit: 227654e87117d7705c78e0ad1d4d9261bbc6af55
https://github.com/llvm/llvm-project/commit/227654e87117d7705c78e0ad1d4d9261bbc6af55
Author: Felix Schneider <fx.schn at gmail.com>
Date: 2023-11-22 (Wed, 22 Nov 2023)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/test/Dialect/Linalg/transform-ops.mlir
Log Message:
-----------
Revert "[mlir] Fix `TileUsingForOp` attr-dict printing/parsing, cleanup assembly format" (#73178)
Reverts llvm/llvm-project#72745 as it is causing test failures on
mlir-nvidia in
`mlir/test/python/dialects/transform_structured_ext.py`.
Commit: 48f5855e4c48709d71d7aae4595232a3296c735e
https://github.com/llvm/llvm-project/commit/48f5855e4c48709d71d7aae4595232a3296c735e
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2023-11-22 (Wed, 22 Nov 2023)
Changed paths:
M libcxx/docs/ReleaseNotes/18.rst
M libcxx/include/__verbose_abort
R libcxx/test/libcxx/assertions/deprecated-link-time-custom-handler.pass.cpp
Log Message:
-----------
[libc++] Remove the deprecated _LIBCPP_AVAILABILITY_CUSTOM_VERBOSE_ABORT_PROVIDED macro (#73164)
We release-noted that we were going to remove it in the LLVM 18 timeline
and we've been issuing a warning since then.
Commit: 74dcc2da62a815b55a37fb8d0e193c0af08d09a1
https://github.com/llvm/llvm-project/commit/74dcc2da62a815b55a37fb8d0e193c0af08d09a1
Author: Craig Topper <craig.topper at sifive.com>
Date: 2023-11-22 (Wed, 22 Nov 2023)
Changed paths:
M llvm/lib/Target/PowerPC/PPCInstrInfo.h
Log Message:
-----------
[PowerPC] Silence -Woverloaded-virtual warning. NFC
Commit: 51c5d74940c3a6682ccd44491cb40c7e26fb83e5
https://github.com/llvm/llvm-project/commit/51c5d74940c3a6682ccd44491cb40c7e26fb83e5
Author: Brad Smith <brad at comstyle.com>
Date: 2023-11-22 (Wed, 22 Nov 2023)
Changed paths:
M llvm/tools/llvm-shlib/CMakeLists.txt
Log Message:
-----------
[CMake] Support building shared library for NetBSD
Commit: c9e347a0ce98fe42c58d205b6f32ddda823c29d6
https://github.com/llvm/llvm-project/commit/c9e347a0ce98fe42c58d205b6f32ddda823c29d6
Author: kkwli <kkwli at users.noreply.github.com>
Date: 2023-11-22 (Wed, 22 Nov 2023)
Changed paths:
M flang/test/Driver/dynamic-linker.f90
Log Message:
-----------
[flang] Make .exe extension of the linker optional (NFC) (#73157)
Commit: e096732307d1eb9476fc2b88dfa12586250c8111
https://github.com/llvm/llvm-project/commit/e096732307d1eb9476fc2b88dfa12586250c8111
Author: Min Hsu <min.hsu at sifive.com>
Date: 2023-11-22 (Wed, 22 Nov 2023)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInstrInfoD.td
M llvm/lib/Target/RISCV/RISCVInstrInfoF.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZfh.td
Log Message:
-----------
[RISCV][NFC] Rename `RISCVISD::FPCLASS` to `RISCVISD::FCLASS`
To be consistent with `fclass.s/d`. Also rename `riscv_fpclass` to
`riscv_fclass`. NFC.
Commit: 7c3c8a12775bdb0b0771986f008e2589db4846f9
https://github.com/llvm/llvm-project/commit/7c3c8a12775bdb0b0771986f008e2589db4846f9
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2023-11-22 (Wed, 22 Nov 2023)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.h
M llvm/lib/Target/RISCV/GISel/RISCVRegisterBankInfo.cpp
A llvm/lib/Target/RISCV/RISCVInstrGISel.td
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
A llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/is-fpclass-rv32.mir
A llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/is-fpclass-rv64.mir
A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-is-fpclass-rv32.mir
A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-is-fpclass-rv64.mir
A llvm/test/CodeGen/RISCV/GlobalISel/regbankselect/is-fpclass-rv32.mir
A llvm/test/CodeGen/RISCV/GlobalISel/regbankselect/is-fpclass-rv64.mir
Log Message:
-----------
[RISCV][GISel] Add support for G_IS_FPCLASS in F and D extensions (#72000)
Add legalizer, regbankselect, and isel supports for floating point
version of G_IS_FPCLASS.
Commit: 7cf26e0c6decf0ca90ad0780057ffe82fe83816f
https://github.com/llvm/llvm-project/commit/7cf26e0c6decf0ca90ad0780057ffe82fe83816f
Author: Jie Fu <jiefu at tencent.com>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
Log Message:
-----------
[AArch64] Fix -Wunused-function of getLivePhysRegsUpTo in AArch64FrameLowering.cpp (NFC)
/llvm-project/llvm/lib/Target/AArch64/AArch64FrameLowering.cpp:1428:13: error: unused function 'getLivePhysRegsUpTo' [-Werror,-Wunused-function]
static void getLivePhysRegsUpTo(MachineInstr &MI, const TargetRegisterInfo &TRI,
^
1 error generated.
Commit: b14f651caf4bb507753ffc94db8911bb2e2a7995
https://github.com/llvm/llvm-project/commit/b14f651caf4bb507753ffc94db8911bb2e2a7995
Author: dong jianqiang <dongjianqiang2 at huawei.com>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
M clang/lib/Driver/ToolChains/Gnu.cpp
M clang/test/Driver/aarch64-features.c
Log Message:
-----------
[Driver] Default Generic_GCC aarch64_be to -fasynchronous-unwind-tables (#72971)
This patch defaults Generic_GCC aarch64_be to use
-fasynchronous-unwind-tables and ensures consistent behavior with
aarch64 little endian.
Commit: 22078bd9f6842411aac2b75196975d68a817a358
https://github.com/llvm/llvm-project/commit/22078bd9f6842411aac2b75196975d68a817a358
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2023-11-22 (Wed, 22 Nov 2023)
Changed paths:
M clang/lib/Sema/SemaOverload.cpp
M clang/test/SemaCUDA/implicit-member-target-inherited.cu
M clang/test/SemaCUDA/trivial-ctor-dtor.cu
Log Message:
-----------
Revert "[CUDA][HIP] ignore implicit host/device attr for override (#72815)"
This reverts commit a1e2c6566305061c115954b048f2957c8d55cb5b.
Revert this patch due to regression. A testcase is:
`template <typename T>
class C {
explicit C() {};
};
template <> C<int>::C() {};
`
Commit: 0e5da2eceb89f1e947e8b9b4aa42804e4ea89acc
https://github.com/llvm/llvm-project/commit/0e5da2eceb89f1e947e8b9b4aa42804e4ea89acc
Author: joyhou-hw <houzhenyu at huawei.com>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
M compiler-rt/lib/builtins/cpu_model.c
Log Message:
-----------
[compiler-rt] Fix the HWCAP2_EBF16 and HWCAP2_SVE_EBF16 macro value (#70905)
HWCAP2_EBF16 (1UL << 32)
HWCAP2_SVE_EBF16 (1UL << 33)
this will overflow in aarch64 ilp32 abi, and make func
__init_cpu_features_constructor() wrong.
Commit: 6b3470b4b83195aeeda60b101e8d3bf8800c321c
https://github.com/llvm/llvm-project/commit/6b3470b4b83195aeeda60b101e8d3bf8800c321c
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2023-11-22 (Wed, 22 Nov 2023)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaCUDA.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/test/SemaCUDA/call-host-fn-from-device.cu
M clang/test/SemaCUDA/default-ctor.cu
M clang/test/SemaCUDA/implicit-member-target-collision-cxx11.cu
M clang/test/SemaCUDA/implicit-member-target-collision.cu
M clang/test/SemaCUDA/implicit-member-target-inherited.cu
M clang/test/SemaCUDA/implicit-member-target.cu
R clang/test/SemaCUDA/trivial-ctor-dtor.cu
Log Message:
-----------
Revert "[CUDA][HIP] make trivial ctor/dtor host device (#72394)"
This reverts commit 27e6e4a4d0e3296cebad8db577ec0469a286795e.
This patch is reverted due to regression. A testcase is:
`template <class T>
struct ptr {
~ptr() { static int x = 1;}
};
template <class T>
struct Abc : ptr<T> {
public:
Abc();
~Abc() {}
};
template
class Abc<int>;
`
Commit: b16f765d6fec56a07aecd2056bb1760a9e72d64f
https://github.com/llvm/llvm-project/commit/b16f765d6fec56a07aecd2056bb1760a9e72d64f
Author: Joseph Huber <huberjn at outlook.com>
Date: 2023-11-22 (Wed, 22 Nov 2023)
Changed paths:
M clang/test/Driver/linker-wrapper.c
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/clang-linker-wrapper/LinkerWrapperOpts.td
Log Message:
-----------
[LinkerWrapper] Accept some needed lld-link linker arguments for COFF targets (#72889)
Summary:
The linker wrapper is a utility used to create offloading programs from
single-source offloading languages such as OpenMP or CUDA. This is done
by embedding device code into the host object, then feeding it into the
linker wrapper which extracts the accelerator object files, links them,
then wraps them in registration code for the target runtime. This
previously has only worked in Linux / ELF platforms.
This patch attempts to hand Windows / COFF inputs by also accepting COFF
forms of certain linker arguments we use internally. The important
arguments are library search paths, so we can identify libraries which
may contain device code, libraries themselves, and the output name used
for intermediate output.
I am not intimately familiar with the semantics here for the semantics
in how a `lib` file is earched. I am simply treating `foo.lib` as the
GNU equivalent `-l:foo.lib` in the search logic. Similarly, I am
assuming that static libraries will be llvm-ar style libraries. I will
need to investigate the actual deficiencies later, but this should be a
good starting point along with
https://github.com/llvm/llvm-project/pull/72697
Commit: e99ee06400404d3058e6f379465b9ac50aedb74c
https://github.com/llvm/llvm-project/commit/e99ee06400404d3058e6f379465b9ac50aedb74c
Author: Craig Topper <craig.topper at sifive.com>
Date: 2023-11-22 (Wed, 22 Nov 2023)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] Reject fpsr in inline asm constraints other than clobber.
Fixes #73197 and #69201.
Commit: 2eb9c649f0971aaa05404764d74ee7fff15b83ed
https://github.com/llvm/llvm-project/commit/2eb9c649f0971aaa05404764d74ee7fff15b83ed
Author: Jianjian Guan <jacquesguan at me.com>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
M clang/lib/AST/ItaniumMangle.cpp
M clang/test/CodeGenCXX/riscv-mangle-rvv-fixed-vectors.cpp
Log Message:
-----------
[RISCV] Use Float type instead of Half type for Fixed RVV vector type mangling (#73091)
Commit: dc683d2e66de79bbea786f51788961eec5d0b793
https://github.com/llvm/llvm-project/commit/dc683d2e66de79bbea786f51788961eec5d0b793
Author: Craig Topper <craig.topper at sifive.com>
Date: 2023-11-22 (Wed, 22 Nov 2023)
Changed paths:
M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
Log Message:
-----------
[X86] Remove unused IES_IDENTIFIER state from IntelExprState. NFC
Commit: 9ab133bd9f9cedb880b453dd830b58857fab41ec
https://github.com/llvm/llvm-project/commit/9ab133bd9f9cedb880b453dd830b58857fab41ec
Author: Mingming Liu <mingmingl at google.com>
Date: 2023-11-22 (Wed, 22 Nov 2023)
Changed paths:
M llvm/unittests/ProfileData/InstrProfTest.cpp
Log Message:
-----------
[nfc][InstrProfTest]Parameterize the edge cases of value profile merge by value kind (#73165)
There are three test cases to test the merge of value profiles. 'get_icall_data_merge1' tests the basic case;
{get_icall_data_merge1_saturation, get_icall_data_merge_site_trunc} tests the edge case.
This patch parameterizes the edge case test coverage by value kind and adds the coverage of 'IPVK_MemOPSize'. Keep the basic test structure as it is. The main reason is test data construction and test assertions is
clearer for each kind in the basic test.
- Using a loop for different value kinds in one test case doesn't work
very well. The instr-prof-writer is stateful (e.g., keeps track of
per-function profile data in a
[container](https://github.com/llvm/llvm-project/blob/a9c149df7666bb2f8755794b97573134e5cfeb38/llvm/include/llvm/ProfileData/InstrProfWriter.h#L43))
Commit: 0d2860b795879f4dd152963b52f969b53b136899
https://github.com/llvm/llvm-project/commit/0d2860b795879f4dd152963b52f969b53b136899
Author: serge-sans-paille <sguelton at mozilla.com>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
M clang/lib/CodeGen/CGDecl.cpp
M clang/test/CodeGenCXX/auto-var-init.cpp
Log Message:
-----------
[clang] Avoid memcopy for small structure with padding under -ftrivial-auto-var-init (#71677)
Commit: 5973272af796b33b75467ba8fba8b0a98b42757a
https://github.com/llvm/llvm-project/commit/5973272af796b33b75467ba8fba8b0a98b42757a
Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVProcessors.td
M llvm/lib/Target/RISCV/RISCVSubtarget.cpp
M llvm/lib/Target/RISCV/RISCVSubtarget.h
M llvm/test/CodeGen/RISCV/jumptable.ll
Log Message:
-----------
[RISCV] Add MinimumJumpTableEntries to TuneInfo (#72963)
This is like what AArch64 has done in #71166 except that we don't
handle `HasMinSize` case now.
Commit: 7f18f9a28c73490d09938af1fdb1908eb333a62c
https://github.com/llvm/llvm-project/commit/7f18f9a28c73490d09938af1fdb1908eb333a62c
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2023-11-22 (Wed, 22 Nov 2023)
Changed paths:
R flang/test/Lower/OpenACC/HLFIR/acc-declare.f90
M flang/test/Lower/OpenACC/acc-declare.f90
Log Message:
-----------
[flang][openacc][NFC] Merge acc-declare.f90 tests (#73055)
Commit: 7414c0db962f8a5029fd44c3e0bc93d9ce20be71
https://github.com/llvm/llvm-project/commit/7414c0db962f8a5029fd44c3e0bc93d9ce20be71
Author: hev <wangrui at loongson.cn>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
A llvm/test/CodeGen/LoongArch/smul-with-overflow.ll
Log Message:
-----------
[LoongArch] Precommit a test for smul with overflow (NFC) (#73212)
Commit: 49f55d107548a340992eaec1b9767c0f8fc443cd
https://github.com/llvm/llvm-project/commit/49f55d107548a340992eaec1b9767c0f8fc443cd
Author: Muhammad Omair Javaid <omair.javaid at linaro.org>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
M flang/include/flang/Lower/BoxAnalyzer.h
M flang/include/flang/Lower/CallInterface.h
M flang/include/flang/Lower/ConvertProcedureDesignator.h
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/Builder/HLFIRTools.h
M flang/include/flang/Optimizer/HLFIR/HLFIRDialect.h
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/CallInterface.cpp
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Lower/ConvertExpr.cpp
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Lower/ConvertProcedureDesignator.cpp
M flang/lib/Lower/ConvertType.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
R flang/test/Lower/HLFIR/procedure-pointer.f90
Log Message:
-----------
Revert "[Flang] Add partial support for lowering procedure pointer assignment. (#70461)"
This reverts commit e07fec10ac208c2868a24c5c0be88e45778b297e.
This change appears to have broken following buildbots:
https://lab.llvm.org/buildbot/#/builders/176
https://lab.llvm.org/buildbot/#/builders/179
https://lab.llvm.org/buildbot/#/builders/184
https://lab.llvm.org/buildbot/#/builders/197
https://lab.llvm.org/buildbot/#/builders/198
All bots fails in testsuite where following tests seems broken:
(eg: https://lab.llvm.org/buildbot/#/builders/176/builds/7131)
test-suite::gfortran-regression-compile-regression__proc_ptr_46_f90.test
test-suite::gfortran-regression-compile-regression__proc_ptr_37_f90.test
Commit: 083a53971758c6f9bbd448eeb9c5d839661e3f68
https://github.com/llvm/llvm-project/commit/083a53971758c6f9bbd448eeb9c5d839661e3f68
Author: Ramkumar Ramachandra <Ramkumar.Ramachandra at imgtec.com>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
A clang/test/CodeGen/RISCV/math-builtins.c
A clang/test/CodeGen/X86/math-builtins.c
R clang/test/CodeGen/math-builtins.c
Log Message:
-----------
clang/CodeGen/RISCV: test lowering of math builtins (#71399)
Ever since 98c90a1 (ISel: introduce vector ISD::LRINT, ISD::LLRINT;
custom RISCV lowering) landed, there have been several discussions on
how the lrint and llrint libcalls would lower to LLVM IR via clang on
RV32 and RV64, in an effort to enable vectorization of lrint and llrint
via SLPVectorizer and LoopVectorize. This patch adds a new
math-builtins.c test to the RISC-V target to test the lowering of all
math libcalls, including lrint and llrint.
Commit: d76d8e541dab6d65b2490957707341352eac8320
https://github.com/llvm/llvm-project/commit/d76d8e541dab6d65b2490957707341352eac8320
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
M llvm/test/CodeGen/AMDGPU/GlobalISel/memory-legalizer-atomic-fence.ll
Log Message:
-----------
[AMDGPU][NFC] Update GISel memory-legalizer-atomic-fence test (#72829)
Test needs to be moved to MIR checks and use
stop-after=si-memory-legalizer to avoid being optimized out in a future
patch.
Commit: a3cab1fa17ebf29b01fcb566648e2f3fb2955993
https://github.com/llvm/llvm-project/commit/a3cab1fa17ebf29b01fcb566648e2f3fb2955993
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
M llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
M llvm/lib/Target/X86/X86InstrMisc.td
A llvm/test/MC/Disassembler/X86/apx/pushp-popp.txt
A llvm/test/MC/X86/apx/pushp-popp-att.s
A llvm/test/MC/X86/apx/pushp-popp-intel.s
Log Message:
-----------
[X86][MC] Support encoding/decoding for PUSHP/POPP (#73092)
A PUSH and its corresponding POP may be marked with a 1-bit Push-Pop Acceleration (PPX)
hint to indicate that the POP reads the value written by the PUSH from the stack. The PPX hint
is encoded by setting REX2.W = 1 and is applicable only to PUSH with opcode 0x50+rd and POP
with opcode 0x58+rd in the legacy space. It is not applicable to any other variants of PUSH and POP.
Commit: 147c5d6686b935ecd93f8fa0e2dcf38deb593890
https://github.com/llvm/llvm-project/commit/147c5d6686b935ecd93f8fa0e2dcf38deb593890
Author: Zhaoxuan Jiang <jiangzhaoxuan94 at gmail.com>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
M llvm/test/CodeGen/AArch64/arm64-variadic-aapcs.ll
M llvm/test/CodeGen/AArch64/fexplog.ll
M llvm/test/CodeGen/AArch64/fpow.ll
M llvm/test/CodeGen/AArch64/frem.ll
M llvm/test/CodeGen/AArch64/fsincos.ll
M llvm/test/CodeGen/AArch64/ldrpre-ldr-merge.mir
M llvm/test/CodeGen/AArch64/neon-dotreduce.ll
M llvm/test/CodeGen/AArch64/stp-opt-with-renaming.mir
M llvm/test/CodeGen/AArch64/sve-fixed-length-fp128.ll
M llvm/test/CodeGen/AArch64/vecreduce-add.ll
Log Message:
-----------
[AArch64] Allow LDR merge with same destination register by renaming (#71908)
The patch is based on a reverted patch:
https://reviews.llvm.org/D103597. It was trying to rename registers
before alias check, which is not safe and causes miscompiles. This patch
does 2 things:
1. Do the renaming with necessary checks passed, including alias check.
2. Rename the register for the instructions between the pairs and
combine the second load into the first. By doing so we can just check
the renamability between the pairs and avoid scanning unknown amount of
instructions before/after the pairs.
Necessary refactoring has been made in order to reuse as much code
possible with STR renaming.
Commit: 6367677c9d901f412934b4935c4341dc6d421d36
https://github.com/llvm/llvm-project/commit/6367677c9d901f412934b4935c4341dc6d421d36
Author: Matthias Springer <me at m-sp.org>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
Log Message:
-----------
[mlir][linalg] `BufferizeToAllocationOp`: fix side effects (#72986)
`bufferize_to_allocation` does not bufferize/replace targeted ops if
`bufferize_destination_only` is set.
Fixes #72931.
Commit: 1c68c4c57a65a67963264878bc4646be8b58854c
https://github.com/llvm/llvm-project/commit/1c68c4c57a65a67963264878bc4646be8b58854c
Author: ZhaoQi <zhaoqi01 at loongson.cn>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCTargetDesc.cpp
A llvm/test/tools/llvm-objdump/ELF/LoongArch/branches.s
A llvm/test/tools/llvm-objdump/ELF/LoongArch/lit.local.cfg
Log Message:
-----------
[LoongArch][MC] Modify branch evaluation for MCInstrAnalysis (#73205)
Function evaluateBranch() is used to compute target address for a given
branch instruction and return true on success. But target address of
indirect branch cannot be simply added, so rule it out and just return
false.
This patch also add objdump tests which capture the current state of
support for printing branch targets. Without this patch, the result of
"jirl $zero, $a0, 4" is "jirl $zero, $a0, 4 <foo+0x64>". It is obviously
incorrect, because this instruction represents an indirect branch whose
target address depends on both the register value and the imm. After
this patch, it will be right despite loss of details.
Commit: 1343d96ec10af9760bc25f5f2c2258269de18c2d
https://github.com/llvm/llvm-project/commit/1343d96ec10af9760bc25f5f2c2258269de18c2d
Author: Craig Topper <craig.topper at sifive.com>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
A llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/bswap-rv32.mir
A llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/bswap-rv64.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-bswap-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-bswap-rv64.mir
Log Message:
-----------
[RISCV][GISel] Suppport G_BSWAP with Zbb.
Commit: fae3964cbc6d27e89f93d6579f2e8188f240e6cb
https://github.com/llvm/llvm-project/commit/fae3964cbc6d27e89f93d6579f2e8188f240e6cb
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
A mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/matmul.mlir
Log Message:
-----------
[mlir][linalg] Add an e2e test for linalg.matmul to ArmSME (#72144)
This patch adds an integration test lowering a linalg.matmul to SME via
vector.outerproduct.
It's similar to the linalg.matmul_transpose_a e2e test added recently in
as well as vector transpose canonicalizations, to lower the following
sequence (taken from the inner loop):
```
%subview = memref.subview %arg0[%arg3, %arg5] [%2, 1] [1, 1] :
memref<?x?xf32, strided<[?, ?], offset: ?>> to memref<?x1xf32, strided<[?, ?], offset: ?>>
%mask = vector.create_mask %2, %c1 : vector<[4]x1xi1>
%0 = vector.transfer_read %subview[%c0, %c0], %pad, %mask {in_bounds = [true, true]} :
memref<?x1xf32, strided<[?, ?], offset: ?>>, vector<[4]x1xf32>
%1 = vector.transpose %0, [1, 0] : vector<[4]x1xf32> to vector<1x[4]xf32>
%2 = vector.extract %1[0] : vector<[4]xf32> from vector<1x[4]xf32>
```
Rank-2 vectors with leading scalable dim can't be type converted to an
array. TransferReadDropUnitDimsPattern drops the unit dim on the
vector.transfer_read so it can be lowered via the generic path (to SVE).
The transpose canonicalizations lower the transpose to a shape_cast
which folds away.
Commit: c4448793134ab7a4c3a5dd935a2070232643b349
https://github.com/llvm/llvm-project/commit/c4448793134ab7a4c3a5dd935a2070232643b349
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
M libc/src/__support/CMakeLists.txt
M libc/src/__support/FPUtil/CMakeLists.txt
M libc/src/__support/FPUtil/FPBits.h
M libc/src/__support/FPUtil/Hypot.h
M libc/src/__support/FPUtil/generic/CMakeLists.txt
M libc/src/__support/FPUtil/generic/FMA.h
M libc/src/__support/FPUtil/generic/FMod.h
M libc/src/__support/FPUtil/generic/sqrt.h
M libc/src/__support/FPUtil/generic/sqrt_80_bit_long_double.h
M libc/src/__support/UInt.h
A libc/src/__support/bit.h
R libc/src/__support/builtin_wrappers.h
M libc/src/__support/integer_utils.h
A libc/src/__support/math_extras.h
M libc/src/__support/str_to_float.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/powf.cpp
M libc/test/src/__support/CMakeLists.txt
A libc/test/src/__support/bit_test.cpp
A libc/test/src/__support/math_extras_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/libc_build_rules.bzl
M utils/bazel/llvm-project-overlay/libc/test/src/__support/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/math/libc_math_test_rules.bzl
Log Message:
-----------
[libc][NFC] Split builtin_wrapper into bit and math_extras (#73113)
Split `builtin_wrapper.h` into `bit.h` and `math_extras.h` to mimic LLVM
`llvm/ADT/Bit.h` and `llvm/Support/MathExtras.h`.
Also added unittest place holders.
Commit: 436f5f652b31c8d7b8bac98fbc8acb5ab573401e
https://github.com/llvm/llvm-project/commit/436f5f652b31c8d7b8bac98fbc8acb5ab573401e
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
M libc/src/__support/FPUtil/PlatformDefs.h
Log Message:
-----------
[libc][NFC] Remove unused define (#73222)
Commit: b71b32ba872fed4cb5a7da1ef539ebbecbbe0809
https://github.com/llvm/llvm-project/commit/b71b32ba872fed4cb5a7da1ef539ebbecbbe0809
Author: Thorsten Schütt <schuett at gmail.com>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
A llvm/test/CodeGen/AArch64/GlobalISel/legalize-fp-class.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
Log Message:
-----------
[Gisel][AArch64] legalize G_IS_FPCLASS (#72796)
Commit: e0d93d5aaadb10749049c5b25df08ce4fe6ca807
https://github.com/llvm/llvm-project/commit/e0d93d5aaadb10749049c5b25df08ce4fe6ca807
Author: Jay Foad <jay.foad at amd.com>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
M llvm/lib/TargetParser/TargetParser.cpp
M llvm/tools/llvm-readobj/ELFDumper.cpp
Log Message:
-----------
[AMDGPU] Reindent some tables
This keeps clang-format happy on future patches.
Commit: 9b374a800d18c02cc7881774c73352876f9e0cef
https://github.com/llvm/llvm-project/commit/9b374a800d18c02cc7881774c73352876f9e0cef
Author: Jay Foad <jay.foad at amd.com>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
M llvm/include/llvm/BinaryFormat/ELF.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
M llvm/lib/TargetParser/TargetParser.cpp
Log Message:
-----------
[AMDGPU] Add some clang-format off/on markers
This keeps clang-format happy on future patches.
Commit: dbb86433333154226233da46271e8c520e8a5119
https://github.com/llvm/llvm-project/commit/dbb86433333154226233da46271e8c520e8a5119
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOpBase.td
M mlir/include/mlir/Target/LLVMIR/ModuleImport.h
M mlir/include/mlir/Target/LLVMIR/ModuleTranslation.h
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
M mlir/test/Target/LLVMIR/Import/intrinsic.ll
Log Message:
-----------
[mlir][LLVM] Support `immargs` in LLVM_IntrOpBase intrinsics (#73013)
This extends `LLVM_IntrOpBase` so that it can be passed a list of
`immArgPositions` and a list (of the same length) of `immArgAttrNames`.
`immArgPositions` contains the positions of `immargs` on the LLVM IR
intrinsic, and `immArgAttrNames` maps those to a corresponding MLIR
attribute.
This allows modeling LLVM `immargs` as MLIR attributes, which is the
closest match semantically (and had already been done manually for the
LLVM dialect intrinsics).
This has two upsides:
* It's slightly easier to implement intrinsics with immargs now
(especially if they make use of other features, such as overloads)
* It clearly defines that `immargs` should map to attributes, before
there was no mention of `immargs` in LLVMOpBase.td, so implementing them
was unclear
This works with other features of the `LLVM_IntrOpBase`, so `immargs`
can be marked as overloaded too (which is used in some intrinsics).
As part of this patch (and to test correctness) existing intrinsics have
been updated to use these new parameters.
This also uncovered a few issues with the
`llvm.intr.vector.insert/extract` intrinsics. First, the argument order
for insert did not match the LLVM intrinsic, and secondly, both were
missing a mlirBuilder (so failed to import from LLVM IR). This is
corrected with this patch (and a test case added).
Commit: d924c5d721f03fe37fae1badc6bfd05d2a33024c
https://github.com/llvm/llvm-project/commit/d924c5d721f03fe37fae1badc6bfd05d2a33024c
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
M libc/src/__support/FPUtil/CMakeLists.txt
M libc/src/__support/FPUtil/FPBits.h
M libc/src/__support/FPUtil/FloatProperties.h
M libc/src/__support/FPUtil/ManipulationFunctions.h
R libc/src/__support/FPUtil/PlatformDefs.h
M libc/src/__support/FPUtil/generic/CMakeLists.txt
M libc/src/__support/FPUtil/generic/sqrt.h
M libc/src/__support/FPUtil/generic/sqrt_80_bit_long_double.h
M libc/test/src/stdio/CMakeLists.txt
M libc/test/src/stdio/sprintf_test.cpp
M libc/test/src/stdio/sscanf_test.cpp
M libc/utils/MPFRWrapper/CMakeLists.txt
M libc/utils/MPFRWrapper/MPFRUtils.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/libc_build_rules.bzl
M utils/bazel/llvm-project-overlay/libc/test/src/stdio/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/utils/MPFRWrapper/BUILD.bazel
Log Message:
-----------
[libc][NFC] Sink "PlatformDefs.h" into "FloatProperties.h" (#73226)
`PlatformDefs.h` does not bring a lot of value as a separate file.
It is transitively included in `FloatProperties.h` and `FPBits.h`. This
patch sinks it into `FloatProperties.h` and removes the associated build
targets.
Commit: 272812c7e43d8a45f19ea7b4a3b2667e7fb9e67a
https://github.com/llvm/llvm-project/commit/272812c7e43d8a45f19ea7b4a3b2667e7fb9e67a
Author: Muhammad Omair Javaid <omair.javaid at linaro.org>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
M clang/lib/CodeGen/CGDecl.cpp
M clang/test/CodeGenCXX/auto-var-init.cpp
Log Message:
-----------
Revert "[clang] Avoid memcopy for small structure with padding under -ftrivial-auto-var-init (#71677)"
This reverts commit 0d2860b795879f4dd152963b52f969b53b136899.
This change appears to have broken several clang tests on following buildbots:
https://lab.llvm.org/buildbot/#/builders/245
https://lab.llvm.org/buildbot/#/builders/188
https://lab.llvm.org/buildbot/#/builders/186
https://lab.llvm.org/buildbot/#/builders/183
Commit: b61ac4a88f934ab5c02ee2a4957fb1b9943e7a5d
https://github.com/llvm/llvm-project/commit/b61ac4a88f934ab5c02ee2a4957fb1b9943e7a5d
Author: avl-llvm <55248412+avl-llvm at users.noreply.github.com>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
A llvm/lib/DWARFLinkerParallel/AcceleratorRecordsSaver.cpp
A llvm/lib/DWARFLinkerParallel/AcceleratorRecordsSaver.h
M llvm/lib/DWARFLinkerParallel/ArrayList.h
M llvm/lib/DWARFLinkerParallel/CMakeLists.txt
M llvm/lib/DWARFLinkerParallel/DIEAttributeCloner.cpp
M llvm/lib/DWARFLinkerParallel/DIEAttributeCloner.h
M llvm/lib/DWARFLinkerParallel/DIEGenerator.h
M llvm/lib/DWARFLinkerParallel/DWARFLinker.cpp
M llvm/lib/DWARFLinkerParallel/DWARFLinkerCompileUnit.cpp
M llvm/lib/DWARFLinkerParallel/DWARFLinkerCompileUnit.h
M llvm/lib/DWARFLinkerParallel/DWARFLinkerGlobalData.h
M llvm/lib/DWARFLinkerParallel/DWARFLinkerImpl.cpp
M llvm/lib/DWARFLinkerParallel/DWARFLinkerImpl.h
A llvm/lib/DWARFLinkerParallel/DWARFLinkerTypeUnit.cpp
A llvm/lib/DWARFLinkerParallel/DWARFLinkerTypeUnit.h
M llvm/lib/DWARFLinkerParallel/DWARFLinkerUnit.cpp
M llvm/lib/DWARFLinkerParallel/DWARFLinkerUnit.h
M llvm/lib/DWARFLinkerParallel/DebugLineSectionEmitter.h
M llvm/lib/DWARFLinkerParallel/DependencyTracker.cpp
M llvm/lib/DWARFLinkerParallel/DependencyTracker.h
M llvm/lib/DWARFLinkerParallel/OutputSections.cpp
M llvm/lib/DWARFLinkerParallel/OutputSections.h
A llvm/lib/DWARFLinkerParallel/SyntheticTypeNameBuilder.cpp
A llvm/lib/DWARFLinkerParallel/SyntheticTypeNameBuilder.h
A llvm/lib/DWARFLinkerParallel/TypePool.h
A llvm/lib/DWARFLinkerParallel/Utils.h
A llvm/test/tools/dsymutil/ARM/DWARFLinkerParallel/accel-imported-declarations.test
M llvm/test/tools/dsymutil/ARM/accel-imported-declarations.test
M llvm/test/tools/dsymutil/ARM/dwarf5-addr-base.test
M llvm/test/tools/dsymutil/ARM/dwarf5-dwarf4-combination-macho.test
M llvm/test/tools/dsymutil/ARM/dwarf5-macho.test
M llvm/test/tools/dsymutil/ARM/dwarf5-str-offsets-base-strx.test
A llvm/test/tools/dsymutil/X86/DWARFLinkerParallel/dead-stripped.cpp
A llvm/test/tools/dsymutil/X86/DWARFLinkerParallel/empty-CU.test
A llvm/test/tools/dsymutil/X86/DWARFLinkerParallel/inlined-static-variable.cpp
A llvm/test/tools/dsymutil/X86/DWARFLinkerParallel/keep-func.test
A llvm/test/tools/dsymutil/X86/DWARFLinkerParallel/odr-anon-namespace.cpp
A llvm/test/tools/dsymutil/X86/DWARFLinkerParallel/odr-fwd-declaration.test
A llvm/test/tools/dsymutil/X86/DWARFLinkerParallel/odr-fwd-declaration2.test
A llvm/test/tools/dsymutil/X86/DWARFLinkerParallel/odr-fwd-declaration3.test
A llvm/test/tools/dsymutil/X86/DWARFLinkerParallel/odr-member-functions.cpp
A llvm/test/tools/dsymutil/X86/DWARFLinkerParallel/odr-namespace-extension.test
A llvm/test/tools/dsymutil/X86/DWARFLinkerParallel/odr-nested-types1.test
A llvm/test/tools/dsymutil/X86/DWARFLinkerParallel/odr-nested-types2.test
A llvm/test/tools/dsymutil/X86/DWARFLinkerParallel/odr-parents.test
A llvm/test/tools/dsymutil/X86/DWARFLinkerParallel/odr-predictable-output.test
A llvm/test/tools/dsymutil/X86/DWARFLinkerParallel/odr-predictable-output2.test
A llvm/test/tools/dsymutil/X86/DWARFLinkerParallel/odr-recursive-dependence.test
A llvm/test/tools/dsymutil/X86/DWARFLinkerParallel/odr-string.test
A llvm/test/tools/dsymutil/X86/DWARFLinkerParallel/odr-template-parameters.test
A llvm/test/tools/dsymutil/X86/DWARFLinkerParallel/odr-two-units-in-single-file.test
A llvm/test/tools/dsymutil/X86/DWARFLinkerParallel/odr-types-in-subprogram1.test
A llvm/test/tools/dsymutil/X86/DWARFLinkerParallel/odr-uniquing.cpp
A llvm/test/tools/dsymutil/X86/Inputs/String/foo1.o
A llvm/test/tools/dsymutil/X86/Inputs/String/foo2.o
A llvm/test/tools/dsymutil/X86/Inputs/String/foo3.o
A llvm/test/tools/dsymutil/X86/Inputs/String/main.o
M llvm/test/tools/dsymutil/X86/dead-stripped.cpp
M llvm/test/tools/dsymutil/X86/dummy-debug-map.map
M llvm/test/tools/dsymutil/X86/dwarf5-rnglists.test
M llvm/test/tools/dsymutil/X86/empty-CU.test
M llvm/test/tools/dsymutil/X86/inlined-static-variable.cpp
M llvm/test/tools/dsymutil/X86/keep-func.test
A llvm/test/tools/dsymutil/X86/linker-llvm-union-fwd-decl.test
M llvm/test/tools/dsymutil/X86/location-expression.test
M llvm/test/tools/dsymutil/X86/modules-empty.m
M llvm/test/tools/dsymutil/X86/odr-uniquing.cpp
M llvm/test/tools/dsymutil/X86/op-convert.test
M llvm/test/tools/dsymutil/X86/union-fwd-decl.test
M llvm/test/tools/llvm-dwarfutil/ELF/X86/dwarf5-addresses.test
M llvm/test/tools/llvm-dwarfutil/ELF/X86/dwarf5-rnglists.test
M llvm/test/tools/llvm-dwarfutil/ELF/X86/gc-default.test
M llvm/test/tools/llvm-dwarfutil/ELF/X86/gc-func-overlapping-address-ranges.test
M llvm/test/tools/llvm-dwarfutil/ELF/X86/gc-maxpc.test
M llvm/test/tools/llvm-dwarfutil/ELF/X86/gc-no-garbage.test
M llvm/test/tools/llvm-dwarfutil/ELF/X86/gc-unit-overlapping-address-ranges.test
M llvm/tools/dsymutil/DwarfLinkerForBinary.cpp
Log Message:
-----------
[DWARFLinkerParallel] Add support for -odr mode. (#68721)
This patch is extracted from D96035, it adds support for the type
deduplication mode. With this patch DWARFLinkerParallel handles --odr
option. It also processes clang modules.
Commit: 0d1b220f368f1c03e4d509efe36f94098f6489c7
https://github.com/llvm/llvm-project/commit/0d1b220f368f1c03e4d509efe36f94098f6489c7
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/DWARFLinkerParallel/BUILD.gn
Log Message:
-----------
[gn build] Port b61ac4a88f93
Commit: 0d9f557b6c36da3aa92daff4c0d37ea821d7ae1e
https://github.com/llvm/llvm-project/commit/0d9f557b6c36da3aa92daff4c0d37ea821d7ae1e
Author: hev <wangrui at loongson.cn>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/test/CodeGen/LoongArch/smul-with-overflow.ll
Log Message:
-----------
[LoongArch] Disable mulodi4 and muloti4 libcalls (#73199)
This library function only exists in compiler-rt not libgcc. So this
would fail to link unless we were linking with compiler-rt.
Fixes https://github.com/ClangBuiltLinux/linux/issues/1958
Commit: 19e6d541889f24e21c7a9a6e021aeb82efd4dcb2
https://github.com/llvm/llvm-project/commit/19e6d541889f24e21c7a9a6e021aeb82efd4dcb2
Author: Florian Hahn <flo at fhahn.com>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
M llvm/lib/Transforms/Utils/LoopUtils.cpp
M llvm/test/Transforms/LoopVectorize/runtime-checks-difference-simplifications.ll
Log Message:
-----------
[LV] Re-use existing compare if possible for diff checks.
SCEV simplifying the subtraction may result in redundant compares that
are all OR'd together. Keep track of the generated operands in
SeenCompares, with the key being the pair of operands for the compare.
If we alrady generated the same compare previously, skip it.
Commit: c43c88501e3bc273a7c1074a19e86dc305ad7234
https://github.com/llvm/llvm-project/commit/c43c88501e3bc273a7c1074a19e86dc305ad7234
Author: Edgar <git at edgarluque.com>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
A mlir/include/mlir-c/Target/LLVMIR.h
M mlir/lib/CAPI/CMakeLists.txt
A mlir/lib/CAPI/Target/CMakeLists.txt
A mlir/lib/CAPI/Target/LLVMIR.cpp
M mlir/test/CAPI/CMakeLists.txt
A mlir/test/CAPI/translation.c
M mlir/test/CMakeLists.txt
M mlir/test/lit.cfg.py
Log Message:
-----------
[mlir] Add mlirTranslateModuleToLLVMIR to MLIR-C (#73117)
Fixes #73008
Commit: 376b22a37136bdb26452056d473d2b87fda4991e
https://github.com/llvm/llvm-project/commit/376b22a37136bdb26452056d473d2b87fda4991e
Author: Acim Maravic <Acim.Maravic at Syrmia.com>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
M llvm/lib/Target/AMDGPU/SOPInstructions.td
M llvm/test/CodeGen/AMDGPU/remat-sop.mir
A llvm/test/CodeGen/AMDGPU/s-getpc-b64-remat.ll
Log Message:
-----------
[LLVM] Make s_getpc_b64 rematerializable (#71823)
Commit: 7b97d5048a8f5261bf493ad8989f0eaed59c4bf1
https://github.com/llvm/llvm-project/commit/7b97d5048a8f5261bf493ad8989f0eaed59c4bf1
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
M llvm/lib/DWARFLinkerParallel/DependencyTracker.cpp
Log Message:
-----------
Fix MSVC "not all control paths return a value" warning. NFC.
Commit: 6248c24876d81d83544af02399d46813dbea869c
https://github.com/llvm/llvm-project/commit/6248c24876d81d83544af02399d46813dbea869c
Author: Ivan Butygin <ivan.butygin at gmail.com>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
M mlir/lib/ExecutionEngine/ArmSMEStubs.cpp
M mlir/lib/ExecutionEngine/CMakeLists.txt
Log Message:
-----------
[mlir] Workaround for export lib generation on Windows for `mlir_arm_sme_abi_stubs` (#73147)
Using mlir cmake in downstream project fails with error
```
CMake Error at D:/projs/llvm/llvm-install/lib/cmake/mlir/MLIRTargets.cmake:2537 (message):
The imported target "mlir_arm_sme_abi_stubs" references the file
"D:/projs/llvm/llvm-install/lib/mlir_arm_sme_abi_stubs.lib"
but this file does not exist. Possible reasons include:
* The file was deleted, renamed, or moved to another location.
* An install or uninstall procedure did not complete successfully.
* The installation package was faulty and contained
"D:/projs/llvm/llvm-install/lib/cmake/mlir/MLIRTargets.cmake"
but not all the files it references.
Call Stack (most recent call first):
D:/projs/llvm/llvm-install/lib/cmake/mlir/MLIRConfig.cmake:37 (include)
mlir/CMakeLists.txt:5 (find_package)
```
Windows cmake needs export libaries but it seems they are only being
generated if you have at least one exported symbol.
Add export attributes to symbols.
Not sure what the best approach to fix this (probably we should just
disable this lib on windows entirely), but it fixed things for me
locally.
Commit: ce1b24330efb242172324e39099668dcc15c21f0
https://github.com/llvm/llvm-project/commit/ce1b24330efb242172324e39099668dcc15c21f0
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
M llvm/lib/Transforms/Utils/LoopUtils.cpp
M llvm/test/Transforms/LoopDeletion/crashbc.ll
M llvm/test/Transforms/LoopDeletion/diundef.ll
M llvm/test/Transforms/LoopDeletion/over-defensive-undefing-dbg-values.ll
Log Message:
-----------
[DebugInfo][RemoveDIs] Instrument loop-deletion for DPValues (#73042)
Loop deletion identifies dbg.value intrinsics in the loop, sets them to
undef/poison, and sinks them to the exit of the loop, to ensure that any
variable assignments that happen in a deleted loop are "optimised out".
This needs to be replicated for DPValues, the non-instruction
replacement for dbg.value intrinsics.
The movement API for DPValues is (deliberately) more limited than
dbg.values, which is tricky because inserting the collection of
dbg.values at an arbitrary iterator can insert a dbg.value in the middle
of a sequence of dbg.values. A big no-no for DPValues. This patch
replicates the order by inserting DPValues in reverse at the
head-iterator of the block, to ensure the same output as dbg.value mode.
Technically the order isn't important, but we're trying to ensure
identical outputs from optimisation passes right now.
Add more CHECK lines for dbg.values in diundef.ll to ensure that we
don't create any spurious dbg.values, and to ensure that sequences of
dbg.values come out of the optimisation in the correct order.
Commit: 521b4682a55eb735b75e08d5f71c8cbe47395e40
https://github.com/llvm/llvm-project/commit/521b4682a55eb735b75e08d5f71c8cbe47395e40
Author: Jonas Paulsson <paulson1 at linux.ibm.com>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
M clang/test/CodeGen/SystemZ/align-systemz.c
R clang/test/Driver/systemz-alignment.c
Log Message:
-----------
[SystemZ] Move new test into existing CodeGen test. (#73230)
The test for emitted alignments is better placed in CodeGen.
Commit: bda723f5badde4d4a7ece0e07380bee58394e1d9
https://github.com/llvm/llvm-project/commit/bda723f5badde4d4a7ece0e07380bee58394e1d9
Author: Dominik Adamski <dominik.adamski at amd.com>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
M mlir/test/Target/LLVMIR/omptarget-parallel-llvm.mlir
Log Message:
-----------
[NFC][OpenMP][MLIR] Add MLIR test for lowering parallel if (#71788)
Add test for clause omp target parallel if (parallel : cond )
Test checks if corresponding MLIR construct is correctly lowered to LLVM IR.
Commit: bf353a71a2c1360a445618dde6610cf850a1f417
https://github.com/llvm/llvm-project/commit/bf353a71a2c1360a445618dde6610cf850a1f417
Author: Ivan Butygin <ivan.butygin at gmail.com>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
M mlir/lib/ExecutionEngine/ArmSMEStubs.cpp
M mlir/lib/ExecutionEngine/CMakeLists.txt
Log Message:
-----------
Revert "[mlir] Workaround for export lib generation on Windows for `mlir_arm_sme_abi_stubs` (#73147)"
This reverts commit 6248c24876d81d83544af02399d46813dbea869c.
broke the bots
Commit: 8735b7dcc9ebcfd00f478660656f75432af38ed3
https://github.com/llvm/llvm-project/commit/8735b7dcc9ebcfd00f478660656f75432af38ed3
Author: Oleksandr "Alex" Zinenko <zinenko at google.com>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
M mlir/test/Target/LLVMIR/llvmir.mlir
Log Message:
-----------
[mlir] do not inject malloc/free in to-LLVM translation (#73224)
In the early days of MLIR-to-LLVM IR translation, it had to forcefully
inject declarations of `malloc` and `free` functions as then-standard
(now `memref`) dialect ops were unconditionally lowering to libc calls.
This is no longer the case. Even when they do lower to libc calls, the
signatures of those methods are injected at lowering since calls must
target declared functions in valid IR. Don't inject those declarations
anymore.
Commit: fd9a777e018d23d258646af613179eebf6df4b34
https://github.com/llvm/llvm-project/commit/fd9a777e018d23d258646af613179eebf6df4b34
Author: Florian Hahn <flo at fhahn.com>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
M llvm/test/Transforms/LoopVectorize/runtime-checks-difference.ll
Log Message:
-----------
[LV] Remove TODO addressed in 32d1197a8fa.
Commit: af09219edd87db860d1fc5a33dd49ecd31291699
https://github.com/llvm/llvm-project/commit/af09219edd87db860d1fc5a33dd49ecd31291699
Author: Daniel Chen <cdchen at ca.ibm.com>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
M flang/include/flang/Lower/BoxAnalyzer.h
M flang/include/flang/Lower/CallInterface.h
M flang/include/flang/Lower/ConvertProcedureDesignator.h
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/Builder/HLFIRTools.h
M flang/include/flang/Optimizer/HLFIR/HLFIRDialect.h
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/CallInterface.cpp
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Lower/ConvertExpr.cpp
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Lower/ConvertProcedureDesignator.cpp
M flang/lib/Lower/ConvertType.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
A flang/test/Lower/HLFIR/procedure-pointer.f90
Log Message:
-----------
[Flang] Add partial support for lowering procedure pointer assignment. (#70461)
**Scope of the PR:**
1. Lowering global and local procedure pointer declaration statement
with explicit or implicit interface. The explicit interface can be from
an interface block, a module procedure or an internal procedure.
2. Lowering procedure pointer assignment, where the target procedure
could be external, module or internal procedures.
3. Lowering reference to procedure pointers so that it works end to end.
**PR notes:**
1. The first commit of the PR does not include testing. I would like to
collect some comments first, which may alter the output. Once I confirm
the implementation, I will add some testing as a follow up commit to
this PR.
2. No special handling of the host-associated entities when an internal
procedure is the target of a procedure pointer assignment in this PR.
**Implementation notes:**
1. The implementation is using the HLFIR path.
2. Flang currently uses `getUntypedBoxProcType` to get the
`fir::BoxProcType` for `ProcedureDesignator` when getting the address of
a procedure in order to pass it as an actual argument. This PR inherits
the same design decision for procedure pointer as the `fir::StoreOp`
requires the same memory type.
Note: this commit is actually resubmitting the original commit from
PR #70461 that was reverted. See PR #73221.
Commit: 78148064c60353af5ec7505c90119870a5cb536d
https://github.com/llvm/llvm-project/commit/78148064c60353af5ec7505c90119870a5cb536d
Author: Ivan Kosarev <ivan.kosarev at amd.com>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
M llvm/lib/Target/AMDGPU/BUFInstructions.td
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/test/MC/AMDGPU/atomic-fadd-insts.s
M llvm/test/MC/AMDGPU/gfx90a_asm_features.s
Log Message:
-----------
[AMDGPU] Fix CPol operands of MUBUF atomics. (#73118)
Resolves AsmParser ambiguities, e.g., between
BUFFER_ATOMIC_XOR_X2_BOTHEN_vi and BUFFER_ATOMIC_XOR_X2_BOTHEN_RTN_vi.
Part of <https://github.com/llvm/llvm-project/issues/69256>.
Commit: c50972d67e40d7ded23f65d600a7f668bfed3824
https://github.com/llvm/llvm-project/commit/c50972d67e40d7ded23f65d600a7f668bfed3824
Author: Alex Zinenko <zinenko at google.com>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
M mlir/test/CAPI/translation.c
Log Message:
-----------
[mlir] fix CAPI/translation.c test
It should not have been checking for irrelevant function injections in
the first place.
Commit: 0bda20b8bec8e4fa26dd1ae5d408c5e137284817
https://github.com/llvm/llvm-project/commit/0bda20b8bec8e4fa26dd1ae5d408c5e137284817
Author: Ivan Butygin <ivan.butygin at gmail.com>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
M mlir/lib/ExecutionEngine/ArmSMEStubs.cpp
M mlir/lib/ExecutionEngine/CMakeLists.txt
Log Message:
-----------
Reland [mlir] Workaround for export lib generation on Windows for mlir_arm_sme_abi_stubs #73147 (#73238)
https://github.com/llvm/llvm-project/pull/73147
Fixed the visibility macro
Commit: aaae104e282505add432ccc76a4adb674087190f
https://github.com/llvm/llvm-project/commit/aaae104e282505add432ccc76a4adb674087190f
Author: Johannes Reifferscheid <jreiffers at google.com>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[Bazel] Fixes for c43c88501e3bc273a7c1074a19e86dc305ad7234
Commit: 67275263b3b781a55ec4f297b5f42ffd783349ec
https://github.com/llvm/llvm-project/commit/67275263b3b781a55ec4f297b5f42ffd783349ec
Author: Simon Pilgrim <RKSimon at users.noreply.github.com>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
M llvm/test/CodeGen/X86/avx512-regcall-Mask.ll
M llvm/test/CodeGen/X86/bfloat.ll
M llvm/test/CodeGen/X86/bitcast-int-to-vector-bool-sext.ll
M llvm/test/CodeGen/X86/bitcast-int-to-vector-bool-zext.ll
M llvm/test/CodeGen/X86/broadcast-elm-cross-splat-vec.ll
M llvm/test/CodeGen/X86/constant-pool-sharing.ll
M llvm/test/CodeGen/X86/insert-into-constant-vector.ll
M llvm/test/CodeGen/X86/midpoint-int-vec-512.ll
M llvm/test/CodeGen/X86/pr57340.ll
M llvm/test/CodeGen/X86/splat-for-size.ll
M llvm/test/CodeGen/X86/subvector-broadcast.ll
M llvm/test/CodeGen/X86/vec_fabs.ll
M llvm/test/CodeGen/X86/vec_int_to_fp.ll
M llvm/test/CodeGen/X86/vector-fshl-256.ll
M llvm/test/CodeGen/X86/vector-fshl-512.ll
M llvm/test/CodeGen/X86/vector-fshl-rot-256.ll
M llvm/test/CodeGen/X86/vector-fshr-256.ll
M llvm/test/CodeGen/X86/vector-fshr-512.ll
M llvm/test/CodeGen/X86/vector-fshr-rot-256.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
M llvm/test/CodeGen/X86/vector-sext.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx.ll
M llvm/test/CodeGen/X86/viabs.ll
M llvm/test/CodeGen/X86/vselect-avx.ll
M llvm/test/CodeGen/X86/x86-interleaved-access.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast_from_memory.ll
Log Message:
-----------
[X86] X86DAGToDAGISel - attempt to merge XMM/YMM loads with YMM/ZMM loads of the same ptr (#73126)
If we are loading the same ptr at different vector widths, then reuse the larger load and just extract the low subvector.
Unlike the equivalent VBROADCAST_LOAD/SUBV_BROADCAST_LOAD folds which can occur in DAG, we have to wait until DAGISel otherwise we can hit infinite loops if constant folding recreates the original constant value.
This is mainly useful for better constant sharing.
Commit: 0bc7cd4d51226344a54da5929d87184730e73e83
https://github.com/llvm/llvm-project/commit/0bc7cd4d51226344a54da5929d87184730e73e83
Author: David Truby <david.truby at arm.com>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/CommonArgs.h
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/DragonFly.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Driver/ToolChains/FreeBSD.cpp
M clang/lib/Driver/ToolChains/Gnu.cpp
M clang/lib/Driver/ToolChains/Haiku.cpp
M clang/lib/Driver/ToolChains/MSVC.cpp
M clang/lib/Driver/ToolChains/MinGW.cpp
M clang/lib/Driver/ToolChains/NetBSD.cpp
M clang/lib/Driver/ToolChains/OpenBSD.cpp
M clang/lib/Driver/ToolChains/Solaris.cpp
M flang/test/Driver/linker-flags.f90
A flang/test/Driver/msvc-dependent-lib-flags.f90
Log Message:
-----------
[flang] Add runtimes using --dependent-lib on MSVC targets (#72519)
This patch uses the added --dependent-lib support to add the relevant
runtimes on MSVC targets as `/DEFAULTLIB:` sections in the object file
rather than on the link line. This should help CMake support for flang
on Windows.
Fixes #63741
Fixes #68017
Commit: 53578e5c854d681d4b76e311e2bbc7cbd92ad4ce
https://github.com/llvm/llvm-project/commit/53578e5c854d681d4b76e311e2bbc7cbd92ad4ce
Author: Ben Shi <2283975856 at qq.com>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
M clang/test/Analysis/Inputs/system-header-simulator.h
M clang/test/Analysis/stream-error.c
M clang/test/Analysis/stream.c
Log Message:
-----------
[clang][analyzer] Support `fgetc` in StreamChecker (#72627)
Commit: 4b1fe097f9a3882f437bc3b829ef02331e28a8d6
https://github.com/llvm/llvm-project/commit/4b1fe097f9a3882f437bc3b829ef02331e28a8d6
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
M libcxx/CMakeLists.txt
Log Message:
-----------
[libc++] Simplify the conditions for generating a linker script (#73151)
We really shouldn't be depending on far away configuration options like
LLVM_HAVE_LINK_VERSION_SCRIPT here. This patch simplifies the enablement
of the linker scripts and as a result gets rid of an undesirable
dependency on HandleLLVMOptions.cmake.
As a drive-by, the patch also stops taking into account whether Python3
is available. This should have no bearing on whether we generate a
linker script or not, which is required for correctness. If someone
tries to build libc++ and generate a linker script but Python3 is not
available, they should get an error instead of silently getting an
incorrect installation of the library.
Commit: d8c40800edc5995c5ff765c4e2940ea001589fa0
https://github.com/llvm/llvm-project/commit/d8c40800edc5995c5ff765c4e2940ea001589fa0
Author: Youngsuk Kim <joseph942010 at gmail.com>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
M clang/lib/CodeGen/CGExprConstant.cpp
Log Message:
-----------
[clang][CGExprConstant] Remove no-op ptr-to-ptr bitcast (NFC)
Remove a call to `getPointerCast` which is effectively does a no-op ptr-to-ptr
bitcast.
Opaque ptr clean-up effort.
Commit: dc40415a8b08f9af2d666dd22cdd4b56b5e67e26
https://github.com/llvm/llvm-project/commit/dc40415a8b08f9af2d666dd22cdd4b56b5e67e26
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/exchange.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/wait.pass.cpp
Log Message:
-----------
[libc++][test][msan] Refine XFAIL after #67799 (#73213)
Undo a part of #73152.
These test do not hang, but unexpectedlty pass on aarch64
https://lab.llvm.org/buildbot/#/builders/74/builds/23708
Tests work on aarch64 and probably any platform without fp80.
Commit: 97952aa31987a30c64bf389e0b0d5951eca7df87
https://github.com/llvm/llvm-project/commit/97952aa31987a30c64bf389e0b0d5951eca7df87
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
M libcxx/test/support/uses_alloc_types.h
Log Message:
-----------
[libc++][NFC] Run clang-format on uses_alloc_types.h
Commit: 026776fb60e52be04ea26d3d1d371d9efcb6ae3b
https://github.com/llvm/llvm-project/commit/026776fb60e52be04ea26d3d1d371d9efcb6ae3b
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
M libcxx/include/__locale
M libcxx/src/locale.cpp
M libcxx/test/std/localization/locales/locale/locale.cons/char_pointer.pass.cpp
Log Message:
-----------
[libc++] Refactor the creation of the global and classic locales (#72581)
The creation of the global and the classic locales was pretty twisty.
This patch refactors how this is done to reduce the amount of
indirections and prepare the terrain for a future where GCC implements
the no_destroy attribute.
Commit: e1afd0636366fe8789dc32bf5d0ca1eddc4d237b
https://github.com/llvm/llvm-project/commit/e1afd0636366fe8789dc32bf5d0ca1eddc4d237b
Author: Maciej Gabka <maciej.gabka at arm.com>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
M llvm/lib/CodeGen/ValueTypes.cpp
M llvm/unittests/CodeGen/ScalableVectorMVTsTest.cpp
Log Message:
-----------
[NFC] Use TypeSize for comparison in EVT::isExtendedXBitVector functions (#73131)
The functions should not compare results of
getExtendedSizeInBits(), i.e TypeSize variables with plain integer values,
but create a fixed TypeSize object so the correct operator can be used.
Commit: a9ea02d679b948332af111292a7d6c00ae057070
https://github.com/llvm/llvm-project/commit/a9ea02d679b948332af111292a7d6c00ae057070
Author: Florian Hahn <flo at fhahn.com>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
M llvm/test/Transforms/ConstraintElimination/reproducer-remarks-debug.ll
Log Message:
-----------
Recommit "[ConstraintElim] Treat ConstantPointerNull as constant offset 0."
This reverts commit 58286f9c665ad4aa748779d559f2f296de704094.
Now with the test correctly updated.
Original message:
Treat ConstantPointerNull (null) as constant offset 0 in the constraint
instead of a variable. This slightly reduces the number of variables. I
was not able to find a test case where this actually caused any changes.
Commit: 1fb91beb173b1c3ca93c6ac6e01aab210369e083
https://github.com/llvm/llvm-project/commit/1fb91beb173b1c3ca93c6ac6e01aab210369e083
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
M libcxx/include/new
Log Message:
-----------
[libc++][NFC] Adjust synopsis for std::launder
Commit: 10e483521a067eb5be9c844a41248e9d12e46dde
https://github.com/llvm/llvm-project/commit/10e483521a067eb5be9c844a41248e9d12e46dde
Author: Youngsuk Kim <joseph942010 at gmail.com>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGStmt.cpp
Log Message:
-----------
[clang][CodeGen] Remove ptr-to-ptr bitcasts (NFC) (#73020)
Opaque ptr cleanup effort
Commit: fe5c360a9aae61db37886c0c795c409b5129905f
https://github.com/llvm/llvm-project/commit/fe5c360a9aae61db37886c0c795c409b5129905f
Author: serge-sans-paille <sguelton at mozilla.com>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
M clang/lib/CodeGen/CGDecl.cpp
M clang/test/CodeGenCXX/auto-var-init.cpp
M clang/test/CodeGenOpenCL/amdgpu-printf.cl
M clang/test/OpenMP/bug54082.c
Log Message:
-----------
[clang] Avoid memcopy for small structure with padding under -ftrivial-auto-var-init (#71677)
Recommit of 0d2860b795879f4dd152963b52f969b53b136899 with extra test
cases fixed.
Commit: cf1e0c0b07c09af6b72ee912a5e0529c8ff66cad
https://github.com/llvm/llvm-project/commit/cf1e0c0b07c09af6b72ee912a5e0529c8ff66cad
Author: Jay Foad <jay.foad at amd.com>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
M clang/include/clang/Basic/Cuda.h
M clang/lib/Basic/Cuda.cpp
M clang/lib/Basic/Targets/NVPTX.cpp
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/test/CodeGenOpenCL/amdgpu-features.cl
M clang/test/Driver/amdgpu-macros.cl
M clang/test/Driver/amdgpu-mcpu.cl
M clang/test/Misc/target-invalid-cpu-note.c
M llvm/docs/AMDGPUUsage.rst
M llvm/include/llvm/BinaryFormat/ELF.h
M llvm/include/llvm/TargetParser/TargetParser.h
M llvm/lib/Object/ELFObjectFile.cpp
M llvm/lib/ObjectYAML/ELFYAML.cpp
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.h
M llvm/lib/Target/AMDGPU/GCNProcessors.td
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
M llvm/lib/Target/AMDGPU/SIDefines.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/lib/TargetParser/TargetParser.cpp
M llvm/test/CodeGen/AMDGPU/directive-amdgcn-target.ll
M llvm/test/CodeGen/AMDGPU/elf-header-flags-mach.ll
M llvm/test/Object/AMDGPU/elf-header-flags-mach.yaml
M llvm/test/tools/llvm-objdump/ELF/AMDGPU/subtarget.ll
M llvm/test/tools/llvm-readobj/ELF/amdgpu-elf-headers.test
M llvm/tools/llvm-readobj/ELFDumper.cpp
Log Message:
-----------
[AMDGPU] Define new targets gfx1200 and gfx1201 (#73133)
Define target names and ELF numbers for new GFX12 targets gfx1200 and
gfx1201. For now they behave identically to GFX11.
Commit: 381efa4960004520e8945e89a2ee0ca1a37f41c7
https://github.com/llvm/llvm-project/commit/381efa4960004520e8945e89a2ee0ca1a37f41c7
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
M llvm/test/CodeGen/X86/avx512-regcall-Mask.ll
M llvm/test/CodeGen/X86/bfloat.ll
M llvm/test/CodeGen/X86/bitcast-int-to-vector-bool-sext.ll
M llvm/test/CodeGen/X86/bitcast-int-to-vector-bool-zext.ll
M llvm/test/CodeGen/X86/broadcast-elm-cross-splat-vec.ll
M llvm/test/CodeGen/X86/constant-pool-sharing.ll
M llvm/test/CodeGen/X86/insert-into-constant-vector.ll
M llvm/test/CodeGen/X86/midpoint-int-vec-512.ll
M llvm/test/CodeGen/X86/pr57340.ll
M llvm/test/CodeGen/X86/splat-for-size.ll
M llvm/test/CodeGen/X86/subvector-broadcast.ll
M llvm/test/CodeGen/X86/vec_fabs.ll
M llvm/test/CodeGen/X86/vec_int_to_fp.ll
M llvm/test/CodeGen/X86/vector-fshl-256.ll
M llvm/test/CodeGen/X86/vector-fshl-512.ll
M llvm/test/CodeGen/X86/vector-fshl-rot-256.ll
M llvm/test/CodeGen/X86/vector-fshr-256.ll
M llvm/test/CodeGen/X86/vector-fshr-512.ll
M llvm/test/CodeGen/X86/vector-fshr-rot-256.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
M llvm/test/CodeGen/X86/vector-sext.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx.ll
M llvm/test/CodeGen/X86/viabs.ll
M llvm/test/CodeGen/X86/vselect-avx.ll
M llvm/test/CodeGen/X86/x86-interleaved-access.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast_from_memory.ll
Log Message:
-----------
Revert rG67275263b3b781a "[X86] X86DAGToDAGISel - attempt to merge XMM/YMM loads with YMM/ZMM loads of the same ptr (#73126)"
Missed an issue that we were calling continue from within the for loop - fixed version incoming shortly.
Commit: 906f59826344504dd516cce44e0ba13e25c933f7
https://github.com/llvm/llvm-project/commit/906f59826344504dd516cce44e0ba13e25c933f7
Author: Florian Hahn <flo at fhahn.com>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
Log Message:
-----------
[VPlan] Remove dead IsEpilogueVec argument from prepareToExecute (NFC).
Commit: e09758224b65bfa30f1d9e5082f03abeeb610964
https://github.com/llvm/llvm-project/commit/e09758224b65bfa30f1d9e5082f03abeeb610964
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
M llvm/include/llvm/Transforms/Utils/SSAUpdater.h
M llvm/lib/Transforms/Scalar/JumpThreading.cpp
M llvm/lib/Transforms/Utils/SSAUpdater.cpp
M llvm/test/Transforms/JumpThreading/redundant-dbg-info.ll
M llvm/test/Transforms/JumpThreading/thread-debug-info.ll
Log Message:
-----------
[DebugInfo][RemoveDIs] Instrument jump-threading to update DPValues (#73127)
This patch makes jump-threading handle non-instruction debug-info stored
in DPValues in the same way that it updates dbg.values nowadays. This
involves re-targetting their operands as with dbg.values getting moved
from one block to another, and manually cloning them when duplicating
blocks. The SSAUpdater class also grows some functions for SSA-updating
DPValues in the same way as dbg.values.
All of this is largely covered by existing debug-info tests, except for
the cloning of DPValues attached to elidable instructions and branches,
where I've added a test to thread-debug-info.ll. Where previously we
could rely on dbg.values being copied and cloned as normal instructions
are, as we need to explicitly perform that operation now I've added some
explicit testing for it.
Commit: 3114bd32e758b0f25cfa3dee5fa520e45f8fe491
https://github.com/llvm/llvm-project/commit/3114bd32e758b0f25cfa3dee5fa520e45f8fe491
Author: Björn Pettersson <bjorn.a.pettersson at ericsson.com>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
M llvm/lib/CodeGen/StackColoring.cpp
A llvm/test/CodeGen/X86/StackColoring-tbaa.mir
Log Message:
-----------
[StackColoring] Do not drop AA metadata when not doing remappings (#71958)
In the StackColoring pass we first scan for possible stack slot merges.
A SlotRemap map is setup with the remappings that should be performed.
Then the main work is done by calling remapInstructions and providing
that map.
Most of the work in remapInstructions would just be a waste of time in
situations when the SlotRemap map is empty, but it turns out that the
part that adjusts Alias Analysis information could end up dropping AA
metadata even when there are no stack slot merges being done. This
happens since all instruction's machine memory operands are considered,
and if we can't determine the underlying object that is accessed (using
getUnderlyingObjectsForCodeGen) then we conservatively drop AA metadata.
This patch simply avoids calling remapInstructions if we don't intend to
do any remappings (i.e. if SlotRemap is empty). That avoids touching AA
metadata when all we do is to remove lifetime markers. That seems like a
safe thing to do, as it is the same thing as happens when we bail out
early due to other reasons (e.g. when only having one lifetime marker).
For targets that do not care about Alias Analysis information after the
StackColoring pass this shouldn't have any impact, except that it might
improve compile time slightly as we now skip spending time in
remapInstructions when not doing any stack merges.
Commit: b1fba568f6d4d824554fa22f43ec0f689a265664
https://github.com/llvm/llvm-project/commit/b1fba568f6d4d824554fa22f43ec0f689a265664
Author: Graham Hunter <graham.hunter at arm.com>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
M llvm/include/llvm/Analysis/VectorUtils.h
M llvm/lib/Analysis/VFABIDemangling.cpp
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/lib/Transforms/Utils/ModuleUtils.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/masked-call.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-call.ll
A llvm/test/Transforms/LoopVectorize/AArch64/sve-vfabi.ll
M llvm/test/Transforms/LoopVectorize/AArch64/wider-VF-for-callinst.ll
M llvm/tools/vfabi-demangle-fuzzer/vfabi-demangler-fuzzer.cpp
M llvm/unittests/Analysis/VectorFunctionABITest.cpp
Log Message:
-----------
[SVE] Don't require lookup when demangling vector function mappings (#72260)
We can determine the VF from a combination of the mangled name (which
indicates the arguments that take vectors) and the element sizes of
the arguments for the scalar function the mapping has been established
for.
The assert when demangling fails has been removed in favour of just
not adding the mapping, which prevents the crash seen in
https://github.com/llvm/llvm-project/issues/71892
This patch also stops using _LLVM_ as an ISA for scalable vector tests,
since there aren't defined rules for the way vector arguments should be
handled (e.g. packed vs. unpacked representation).
Commit: 002d471a4a3cd8b429e4ca7c84fd54a642e50e4c
https://github.com/llvm/llvm-project/commit/002d471a4a3cd8b429e4ca7c84fd54a642e50e4c
Author: Fred Fu <moonsolo at gmail.com>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
M clang/include/clang/Interpreter/CodeCompletion.h
M clang/include/clang/Interpreter/Interpreter.h
M clang/lib/Interpreter/CodeCompletion.cpp
M clang/lib/Interpreter/Interpreter.cpp
M clang/tools/clang-repl/ClangRepl.cpp
M clang/unittests/Interpreter/CodeCompletionTest.cpp
Log Message:
-----------
[ClangRepl] Type Directed Code Completion (#67349)
Differential Revision: https://reviews.llvm.org/D159128
Commit: 0ca830ea8e4917562c2e3897c7cf477414c18da2
https://github.com/llvm/llvm-project/commit/0ca830ea8e4917562c2e3897c7cf477414c18da2
Author: Adam Paszke <apaszke at google.com>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/python/BUILD.bazel
Log Message:
-----------
[Bazel] Add Bazel build files for Python bindings of the GPU dialect (#73256)
Commit: c308d903a8fd479e49271ae9f08f7260ff5f58a7
https://github.com/llvm/llvm-project/commit/c308d903a8fd479e49271ae9f08f7260ff5f58a7
Author: Petr Maj <53400784+zduka at users.noreply.github.com>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
M llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
Log Message:
-----------
Extra assertions in RS4GC (#71201)
Adds assertion that the base/derived pointers are of the same size.
---------
Co-authored-by: Petr Maj <pmaj at azul.com>
Commit: 258631fc0c640b5091950a3323e2c51545c3f0a9
https://github.com/llvm/llvm-project/commit/258631fc0c640b5091950a3323e2c51545c3f0a9
Author: David Green <david.green at arm.com>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/GenericMachineInstrs.h
Log Message:
-----------
[GlobalISel] Fix a bit of formatting. NFC
Commit: 07d799f08fec4cb9ceb14a43cc134dee7f1621fc
https://github.com/llvm/llvm-project/commit/07d799f08fec4cb9ceb14a43cc134dee7f1621fc
Author: Egor Zhdan <e_zhdan at apple.com>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
Log Message:
-----------
[APINotes] Upstream Driver and Frontend options that enable API Notes
This upstreams more of the Clang API Notes functionality that is
currently implemented in the Apple fork:
https://github.com/apple/llvm-project/tree/next/clang/lib/APINotes
Commit: aea7929b0a04c5ea0ac85aba2b85fb58c718626f
https://github.com/llvm/llvm-project/commit/aea7929b0a04c5ea0ac85aba2b85fb58c718626f
Author: Anton Rydahl <44206479+AntonRydahl at users.noreply.github.com>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
M libcxx/include/CMakeLists.txt
M libcxx/include/__algorithm/comp.h
M libcxx/include/__algorithm/equal.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/transform_reduce.h
M libcxx/include/__functional/operations.h
M libcxx/include/__functional/ranges_operations.h
M libcxx/include/__numeric/pstl_transform_reduce.h
M libcxx/include/__type_traits/operation_traits.h
R libcxx/include/__type_traits/predicate_traits.h
M libcxx/include/module.modulemap.in
Log Message:
-----------
[libc++] Unify __is_trivial_equality_predicate and __is_trivial_plus_operation into __desugars_to (#68642)
When working on an OpenMP offloading backend for standard parallel
algorithms (https://github.com/llvm/llvm-project/pull/66968) we noticed
the need of a generalization of `__is_trivial_plus_operation`. This patch
merges `__is_trivial_equality_predicate` and `__is_trivial_plus_operation`
into `__desugars_to`, and in the future we might extend the latter to support
other binary operations as well.
Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>
Commit: 9ebe6e28cdbe97f6c03209b87e91be6b55a8026a
https://github.com/llvm/llvm-project/commit/9ebe6e28cdbe97f6c03209b87e91be6b55a8026a
Author: Fred Fu <moonsolo at gmail.com>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
M clang/include/clang/Interpreter/CodeCompletion.h
M clang/include/clang/Interpreter/Interpreter.h
M clang/lib/Interpreter/CodeCompletion.cpp
M clang/lib/Interpreter/Interpreter.cpp
M clang/tools/clang-repl/ClangRepl.cpp
M clang/unittests/Interpreter/CodeCompletionTest.cpp
Log Message:
-----------
Revert "[ClangRepl] Type Directed Code Completion" (#73259)
Reverts llvm/llvm-project#67349
There are some issues with the sanitizers. We will reland once that's fixed.
Commit: 0e15f245557000038f27f2dc8926a65bf3d4ccaf
https://github.com/llvm/llvm-project/commit/0e15f245557000038f27f2dc8926a65bf3d4ccaf
Author: Florian Hahn <flo at fhahn.com>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
Log Message:
-----------
mp
Commit: 419a4e41fc36a91999da6cbe06d430cac07224f1
https://github.com/llvm/llvm-project/commit/419a4e41fc36a91999da6cbe06d430cac07224f1
Author: Florian Hahn <flo at fhahn.com>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
M clang/lib/CodeGen/CGDecl.cpp
M clang/test/CodeGenCXX/auto-var-init.cpp
M clang/test/CodeGenOpenCL/amdgpu-printf.cl
M clang/test/OpenMP/bug54082.c
Log Message:
-----------
Revert "[clang] Avoid memcopy for small structure with padding under -ftrivial-auto-var-init (#71677)"
This reverts commit fe5c360a9aae61db37886c0c795c409b5129905f.
The commit causes the tests below to fail on many buildbots, e.g.
https://lab.llvm.org/buildbot/#/builders/245/builds/17047
Clang :: CodeGen/aapcs-align.cpp
Clang :: CodeGen/aapcs64-align.cpp
Commit: 442fef6eea22ac7d26261f88bff778d78857c36a
https://github.com/llvm/llvm-project/commit/442fef6eea22ac7d26261f88bff778d78857c36a
Author: Florian Hahn <flo at fhahn.com>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
Log Message:
-----------
Revert "mp"
Commit was pushed by accident.
This reverts commit 0e15f245557000038f27f2dc8926a65bf3d4ccaf.
Commit: d333c0e062e76df466cd06b1b04d52749acd944d
https://github.com/llvm/llvm-project/commit/d333c0e062e76df466cd06b1b04d52749acd944d
Author: ShatianWang <38512325+ShatianWang at users.noreply.github.com>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
M bolt/include/bolt/Core/BinaryContext.h
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Core/BinaryFunction.cpp
A bolt/test/X86/calculate-emitted-block-size.s
Log Message:
-----------
[BOLT] Extend calculateEmittedSize() for block size calculation (#73076)
This commit modifies BinaryContext::calculateEmittedSize() to update
the BinaryBasicBlock::OutputAddressRange of each basic block in the
function in place. BinaryBasicBlock::getOutputSize() now gives the
emitted size of the basic block.
Commit: b90eba4e8b82c1bd5f5f9f37295573395b127de4
https://github.com/llvm/llvm-project/commit/b90eba4e8b82c1bd5f5f9f37295573395b127de4
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port aea7929b0a04
Commit: 17a1104d81767313bdcb0a58101d3c074d150274
https://github.com/llvm/llvm-project/commit/17a1104d81767313bdcb0a58101d3c074d150274
Author: Florian Hahn <flo at fhahn.com>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
M llvm/test/Transforms/ConstraintElimination/gep-sub.ll
Log Message:
-----------
[ConstraintElim] Add tests with GEPs with variable and negative offsets
Extra test coverage for precondition generation.
Commit: 3bf6cbd51a38c17516d832e5d409cbd4faa1d238
https://github.com/llvm/llvm-project/commit/3bf6cbd51a38c17516d832e5d409cbd4faa1d238
Author: Stefan Gränitz <stefan.graenitz at gmail.com>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
M llvm/test/ExecutionEngine/JITLink/AArch32/ELF_static_arm_reloc.s
M llvm/test/ExecutionEngine/JITLink/AArch32/ELF_static_thumb_reloc.s
Log Message:
-----------
[JITLink][AArch32] Add tests for BLX interworking calls
Exercise transformation of BL into BLX instructions, if
instruction set mode differs between origin and target.
Commit: 5bb03d25f7a0d713ba16a60bd6bf7e611a2ac96c
https://github.com/llvm/llvm-project/commit/5bb03d25f7a0d713ba16a60bd6bf7e611a2ac96c
Author: Craig Topper <craig.topper at sifive.com>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
A llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/ctpop-rv32.mir
A llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/ctpop-rv64.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-ctpop-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-ctpop-rv64.mir
Log Message:
-----------
[RISCV][GISel] Support G_CTPOP with Zbb.
Commit: 59e24eea3438ab2925bda025f52d2cce92195065
https://github.com/llvm/llvm-project/commit/59e24eea3438ab2925bda025f52d2cce92195065
Author: Craig Topper <craig.topper at sifive.com>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
Log Message:
-----------
[RISCV][GISel] Rename some variables to be more consistent. NFC
Commit: e90845fb9ea05c1b493769f5a9504df22a1fe355
https://github.com/llvm/llvm-project/commit/e90845fb9ea05c1b493769f5a9504df22a1fe355
Author: philnik777 <nikolasklauser at berlin.de>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
M libcxx/include/__config
Log Message:
-----------
[libc++][NFC] Move QoI attributes into a single place inside <__config> (#70870)
We have quite a few macros scattered around in `<__config>` which are
there for QoI purposes. To make things a bit simpler this patch moves
all these attributes into a single place.
Commit: 43bc81d7488a8fbd43b855f7e1100cfe110f90fc
https://github.com/llvm/llvm-project/commit/43bc81d7488a8fbd43b855f7e1100cfe110f90fc
Author: Oleksandr "Alex" Zinenko <zinenko at google.com>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
M mlir/docs/TargetLLVMIR.md
M mlir/lib/Conversion/LLVMCommon/TypeConverter.cpp
A mlir/test/Conversion/LLVMCommon/types.mlir
Log Message:
-----------
[mlir] fix LLVM type converter for structs (#73231)
Existing implementation of the LLVM type converter for LLVM structs
containing incompatible types was attempting to change identifiers of
the struct in case of name clash post-conversion (all identified structs
have different names post-conversion since one cannot change the body of
the struct once initialized). Beyond a trivial error of not updating the
counter in renaming, this approach was broken for recursive structs that
can't be made aware of the renaming and would use the pre-existing
struct with clashing name instead.
For example, given
`!llvm.struct<"_Converted.foo", (struct<"_Converted.foo">, f32)>`
the following type
`!llvm.struct<"foo", (struct<"foo", index>)>`
would incorrectly convert to
```
!llvm.struct<"_Converted_1.foo",
(struct<"_Converted.foo",
(struct<"_Converted.foo">, f32)>)>
```
Remove this incorrect renaming and simply refuse to convert types if it
would lead to identifier clashes for structs with different bodies.
Document the expectation that such generated names are reserved and must
not be present in the input IR of the converter. If we ever actually
need to use handle such cases, this can be achieved by temporarily
renaming structs with reserved identifiers to an unreserved name and
back in a pre/post-processing pass that does _not_ use the type
conversion infra.
Commit: 96452676e534c70a652ffdf260ee849290f374c4
https://github.com/llvm/llvm-project/commit/96452676e534c70a652ffdf260ee849290f374c4
Author: Florian Hahn <flo at fhahn.com>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
Log Message:
-----------
[LAA] Factor out logic to compute dependence distance. (NFCI)
This patch refactors the logic to compute the dependence distance,
stride, size and write info to a separate function. This limits the
scope of various A* and B* variables, which in turn makes it easier to
reason about their uses.
In particular this makes it more explicit why dropping the various
std::swaps as done in https://github.com/llvm/llvm-project/pull/70819/
is valid.
Commit: 0a9c6bea6b08538e6e910ec13dd83b8f04530835
https://github.com/llvm/llvm-project/commit/0a9c6bea6b08538e6e910ec13dd83b8f04530835
Author: Craig Topper <craig.topper at sifive.com>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-ctlz-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-ctlz-rv64.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-cttz-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-cttz-rv64.mir
Log Message:
-----------
[RISCV][GISel] Support G_CTTZ/CTLZ with Zbb.
Commit: c4779ea8e709a7bce7288988fabf1ba50e9c9477
https://github.com/llvm/llvm-project/commit/c4779ea8e709a7bce7288988fabf1ba50e9c9477
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
M libcxxabi/src/abort_message.h
M libcxxabi/src/cxa_demangle.cpp
M libcxxabi/src/demangle/DemangleConfig.h
M libcxxabi/src/demangle/ItaniumDemangle.h
M libcxxabi/src/demangle/Utility.h
M libcxxabi/src/fallback_malloc.cpp
M libcxxabi/test/test_fallback_malloc.pass.cpp
M llvm/include/llvm/Demangle/DemangleConfig.h
M llvm/include/llvm/Demangle/ItaniumDemangle.h
M llvm/include/llvm/Demangle/Utility.h
Log Message:
-----------
[libc++abi] Avoid raw calls to assert() in libc++abi (#71121)
The runtimes now have a principled way of doing assertions in relation
to hardening, so we should use that instead of raw calls to assert()
inside libc++abi. This patch aims to maintain the behavior of the
demangler code when it is used from within LLVM by introducing a simple
DEMANGLE_ASSERT(...) macro that is then defined to the appropriate
assertion mechanism.
Commit: ba89749cd24950c9c51f4cc64277ce0421d86d20
https://github.com/llvm/llvm-project/commit/ba89749cd24950c9c51f4cc64277ce0421d86d20
Author: ZhangYin <zhangyin2018 at iscas.ac.cn>
Date: 2023-11-24 (Fri, 24 Nov 2023)
Changed paths:
M libcxx/docs/Status/ParallelismProjects.csv
M libcxx/include/experimental/__simd/simd.h
M libcxx/include/experimental/__simd/simd_mask.h
A libcxx/test/std/experimental/simd/simd.class/simd_ctor_conversion.pass.cpp
A libcxx/test/std/experimental/simd/simd.mask.class/simd_mask_ctor_conversion.pass.cpp
Log Message:
-----------
[libc++] <experimental/simd> Add implicit type conversion constructor for class simd/simd_mask (#71132)
Commit: af7a1453526a88a0e242baf156244aa4ae42ae4b
https://github.com/llvm/llvm-project/commit/af7a1453526a88a0e242baf156244aa4ae42ae4b
Author: Alexander Kornienko <alexfh at google.com>
Date: 2023-11-24 (Fri, 24 Nov 2023)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
Revert "[SLP][NFC]Make collectValuesToDemote member of BoUpSLP to avoid using"
This reverts commit 52df67ba76a03ad33132d1d4f4202d5a2313a3cd, which causes
spurious clang crashes. See
https://github.com/llvm/llvm-project/commit/52df67ba76a03ad33132d1d4f4202d5a2313a3cd#commitcomment-133381701
Commit: 28d91a6e17c58c129eda75c53448c8a81d63b445
https://github.com/llvm/llvm-project/commit/28d91a6e17c58c129eda75c53448c8a81d63b445
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2023-11-24 (Fri, 24 Nov 2023)
Changed paths:
M llvm/include/llvm/Support/X86DisassemblerDecoderCommon.h
Log Message:
-----------
[NFC][X86] Clang-format X86DisassemblerDecoderCommon.h (#73272)
Commit: 3422203abccd7ff4bd839011b780b41f8fa8ca8f
https://github.com/llvm/llvm-project/commit/3422203abccd7ff4bd839011b780b41f8fa8ca8f
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2023-11-24 (Fri, 24 Nov 2023)
Changed paths:
M llvm/lib/Target/X86/MCTargetDesc/X86BaseInfo.h
Log Message:
-----------
[NFC][X86] Clang-format X86BaseInfo.h and refine some comments (#73274)
Commit: 39124f525accda4002fd0a91dfe9c1d697709ad0
https://github.com/llvm/llvm-project/commit/39124f525accda4002fd0a91dfe9c1d697709ad0
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2023-11-24 (Fri, 24 Nov 2023)
Changed paths:
M llvm/utils/TableGen/X86RecognizableInstr.cpp
Log Message:
-----------
[NFC][X86] Clang-format X86RecognizableInstr.cpp (#73278)
Commit: dab7684ad172b06b51becef9b2c5614a68023b89
https://github.com/llvm/llvm-project/commit/dab7684ad172b06b51becef9b2c5614a68023b89
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2023-11-24 (Fri, 24 Nov 2023)
Changed paths:
M llvm/utils/TableGen/X86RecognizableInstr.h
Log Message:
-----------
[NFC][X86] Clang-format X86RecognizableInstr.h (#73279)
Commit: be0307d5769f87a2e64b7e9e78a78bcd3dcca800
https://github.com/llvm/llvm-project/commit/be0307d5769f87a2e64b7e9e78a78bcd3dcca800
Author: wangpc <wangpengcheng.pp at bytedance.com>
Date: 2023-11-24 (Fri, 24 Nov 2023)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAGISel.h
Log Message:
-----------
[SelectionDAG] Format BuiltinOpcodes
Commit: 8c2537fde66406dd08021d28e302e1cdb862fc3f
https://github.com/llvm/llvm-project/commit/8c2537fde66406dd08021d28e302e1cdb862fc3f
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2023-11-24 (Fri, 24 Nov 2023)
Changed paths:
M llvm/include/llvm/Support/X86DisassemblerDecoderCommon.h
M llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
M llvm/lib/Target/X86/Disassembler/X86DisassemblerDecoder.h
M llvm/lib/Target/X86/MCTargetDesc/X86BaseInfo.h
M llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp
M llvm/lib/Target/X86/X86InstrFormats.td
M llvm/lib/Target/X86/X86InstrMisc.td
A llvm/test/MC/Disassembler/X86/apx/push2-pop2.txt
A llvm/test/MC/Disassembler/X86/apx/push2p-pop2p.txt
A llvm/test/MC/X86/apx/push2-pop2-att.s
A llvm/test/MC/X86/apx/push2-pop2-intel.s
A llvm/test/MC/X86/apx/push2p-pop2p-att.s
A llvm/test/MC/X86/apx/push2p-pop2p-intel.s
M llvm/utils/TableGen/X86DisassemblerTables.cpp
M llvm/utils/TableGen/X86DisassemblerTables.h
M llvm/utils/TableGen/X86RecognizableInstr.cpp
M llvm/utils/TableGen/X86RecognizableInstr.h
Log Message:
-----------
[X86][MC] Support encoding/decoding for PUSH2[P]/POP2[P] (#73233)
PUSH2 and POP2 are two new instructions for (respectively)
pushing/popping 2 GPRs at a time to/from
the stack. The opcodes of PUSH2 and POP2 are those of “PUSH r/m” and
“POP r/m” from legacy map 0, but we
require ModRM.Mod = 3 in order to disallow memory operand.
The 1-bit Push-Pop Acceleration hint described in #73092 applies to
PUSH2/POP2 too, then we have PUSH2P/POP2P.
For AT&T syntax, PUSH2[P] pushes the registers from right to left onto
the stack. POP2[P] pops the stack to registers from right to left. Intel
syntax has the opposite order - from left to right.
The assembly syntax is aligned with GCC & binutils
https://gcc.gnu.org/pipermail/gcc-patches/2023-November/637718.html
Commit: ea81e31aa11c5783ca423b7595e3a957d30aaf56
https://github.com/llvm/llvm-project/commit/ea81e31aa11c5783ca423b7595e3a957d30aaf56
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2023-11-24 (Fri, 24 Nov 2023)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-fshl-128.ll
M llvm/test/CodeGen/X86/vector-fshl-256.ll
M llvm/test/CodeGen/X86/vector-fshr-128.ll
M llvm/test/CodeGen/X86/vector-fshr-256.ll
Log Message:
-----------
[X86][AVX10] Allow AVX10 use VBMI2 instructions (#73276)
Commit: 006f264b0343d0a27a95854e4f3aa610e5dac3bb
https://github.com/llvm/llvm-project/commit/006f264b0343d0a27a95854e4f3aa610e5dac3bb
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2023-11-24 (Fri, 24 Nov 2023)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
Adding missing `useSoftFloat` check, NFCI
Commit: 8ff08ebe5ebd7ca8a93ed08dd48a8f1ff65d8d32
https://github.com/llvm/llvm-project/commit/8ff08ebe5ebd7ca8a93ed08dd48a8f1ff65d8d32
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2023-11-24 (Fri, 24 Nov 2023)
Changed paths:
M llvm/lib/Target/X86/MCTargetDesc/X86BaseInfo.h
Log Message:
-----------
[NFC][X86] Move the comments to a right place (#73284)
Commit: 5169100ecddadb35e3537c74d5b15fad5b6d86d1
https://github.com/llvm/llvm-project/commit/5169100ecddadb35e3537c74d5b15fad5b6d86d1
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2023-11-24 (Fri, 24 Nov 2023)
Changed paths:
M llvm/lib/Target/X86/X86FrameLowering.cpp
Log Message:
-----------
[NFC][X86] Clang-format X86FrameLowering.cpp (#73287)
Commit: c0722478d5c10d44c0a31663ff62fae0a7cba0f2
https://github.com/llvm/llvm-project/commit/c0722478d5c10d44c0a31663ff62fae0a7cba0f2
Author: GongMengyao <gongmengyao at loongson.cn>
Date: 2023-11-24 (Fri, 24 Nov 2023)
Changed paths:
A lld/test/ELF/lto/loongarch.ll
Log Message:
-----------
[lld][ELF] Add getBitcodeMachineKind test for LoongArch (#71931)
Test that getBitcodeMachineKind can get right e_machine for
Triple::loongarch64 and Triple::loongarch32 during LTO.
Commit: 81761bd0f1fbb142546c946105384eab4811eba8
https://github.com/llvm/llvm-project/commit/81761bd0f1fbb142546c946105384eab4811eba8
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2023-11-24 (Fri, 24 Nov 2023)
Changed paths:
M llvm/utils/git/github-automation.py
Log Message:
-----------
Try to fix good-first-issue bot (#71816)
The previous code was just overriding the `comment` variable. Fix this by writing two comments if necessary instead.
Commit: d80e46da7d20645afd7b751a4e6cba9837addcb4
https://github.com/llvm/llvm-project/commit/d80e46da7d20645afd7b751a4e6cba9837addcb4
Author: Piyou Chen <piyou.chen at sifive.com>
Date: 2023-11-23 (Thu, 23 Nov 2023)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Basic/Targets/RISCV.cpp
M clang/lib/Basic/Targets/RISCV.h
M clang/lib/Sema/SemaDeclAttr.cpp
A clang/test/CodeGen/RISCV/riscv-func-attr-target-err.c
A clang/test/CodeGen/RISCV/riscv-func-attr-target.c
Log Message:
-----------
[RISCV] Support target attribute for function
The proposal of target attribute is https://github.com/riscv-non-isa/riscv-c-api-doc/pull/35
This patch implements it by emitting .option arch during codegen.
Reviewed By: craig.topper
Differential Revision: https://reviews.llvm.org/D151730
Commit: 579e721ce91bd47a7e519a85f99498eb45d3d693
https://github.com/llvm/llvm-project/commit/579e721ce91bd47a7e519a85f99498eb45d3d693
Author: Brad Smith <brad at comstyle.com>
Date: 2023-11-24 (Fri, 24 Nov 2023)
Changed paths:
M llvm/lib/Support/Unix/Path.inc
Log Message:
-----------
[Support] Implement getMainExecutable for Haiku
This uses argv[0] on Haiku.
Commit: dd0b3c2fa62786d9e1fd8d70cdcfe778c74c0a7d
https://github.com/llvm/llvm-project/commit/dd0b3c2fa62786d9e1fd8d70cdcfe778c74c0a7d
Author: Ben Shi <2283975856 at qq.com>
Date: 2023-11-24 (Fri, 24 Nov 2023)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/CheckSecuritySyntaxOnly.cpp
M clang/test/Analysis/security-syntax-checks.c
Log Message:
-----------
[clang][analyzer] Support `fprintf` in the SecuritySyntaxChecker (#73247)
Commit: b98a594977f25e555822e5ceef457f69c73cce45
https://github.com/llvm/llvm-project/commit/b98a594977f25e555822e5ceef457f69c73cce45
Author: Endre Fülöp <endre.fulop at sigmatechnology.com>
Date: 2023-11-24 (Fri, 24 Nov 2023)
Changed paths:
M clang/docs/analyzer/checkers.rst
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/test/Analysis/analyzer-config.c
M clang/test/Analysis/cert/env31-c.c
M clang/test/Analysis/cert/env34-c-cert-examples.c
M clang/test/Analysis/cert/env34-c.c
M clang/test/Analysis/invalid-ptr-checker.c
Log Message:
-----------
[clang][analyzer] Move `security.cert.env.InvalidPtr` out of `alpha` (#71912)
Thanks to recent improvements in #67663, InvalidPtr checker does not
emit any false positives on the following OS projects: memcached, tmux,
curl, twin, vim, openssl, sqlite, ffmpeg, postgres, tinyxml2, libwebm,
xerces, bitcoin, protobuf, qtbase, contour, acid, openrct2. (Before the
changes mentioned above, there were 27 reports, catching the `getenv`
invalidates previous `getenv` results cases. That strict behaviour is
disabled by default)
Commit: 25b5e5c4e9a39a86ca3c1a05ad6eae33771ab052
https://github.com/llvm/llvm-project/commit/25b5e5c4e9a39a86ca3c1a05ad6eae33771ab052
Author: Utkarsh Saxena <usx at google.com>
Date: 2023-11-24 (Fri, 24 Nov 2023)
Changed paths:
M clang/include/clang/Basic/AttrDocs.td
Log Message:
-----------
Update links in AttrDocs.td for coro_lifetimebound
Commit: 59edb432256064ee4f66c3a30fd4875030c5166b
https://github.com/llvm/llvm-project/commit/59edb432256064ee4f66c3a30fd4875030c5166b
Author: Ramkumar Ramachandra <Ramkumar.Ramachandra at imgtec.com>
Date: 2023-11-24 (Fri, 24 Nov 2023)
Changed paths:
M clang/include/clang/APINotes/APINotesManager.h
Log Message:
-----------
clang/APINotes: squelch a -Wparantheses warning (NFC)
Commit: 6b87d84ff45d03c244e7511fba9359776ce27977
https://github.com/llvm/llvm-project/commit/6b87d84ff45d03c244e7511fba9359776ce27977
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2023-11-24 (Fri, 24 Nov 2023)
Changed paths:
M llvm/lib/CodeGen/MachineSink.cpp
M llvm/test/DebugInfo/AArch64/constant-dbgloc.ll
Log Message:
-----------
[MachineSink] Some more preserving of debug location when rematerialising an instruction to replace a COPY (#73155)
Somewhat similar to ef9bcace834e63f25bbbc5e8e2b615f89d85fb2f
([MachineSink][AArch64] Preserve debug location when rematerialising
an instruction to replace a COPY (#72685))
reuse the debug location of the COPY, iff the rematerialised instruction
did not have a location.
Fixes a regression in `DebugInfo/AArch64/constant-dbgloc.ll` after
enabling sink-and-fold.
Commit: b3dd14ce07f2750ae1068fe62abbf2f3bd2cade8
https://github.com/llvm/llvm-project/commit/b3dd14ce07f2750ae1068fe62abbf2f3bd2cade8
Author: David Green <david.green at arm.com>
Date: 2023-11-24 (Fri, 24 Nov 2023)
Changed paths:
A llvm/test/CodeGen/AArch64/vecreduce-fmul.ll
Log Message:
-----------
[AArch64] Add extra vecreduce.fmul tests. NFC
Commit: 8a02b70324f03967a6697c782d2b2436d1e1bac2
https://github.com/llvm/llvm-project/commit/8a02b70324f03967a6697c782d2b2436d1e1bac2
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2023-11-24 (Fri, 24 Nov 2023)
Changed paths:
M llvm/tools/llvm-exegesis/lib/Assembler.cpp
M llvm/tools/llvm-exegesis/lib/Assembler.h
M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
M llvm/unittests/tools/llvm-exegesis/Common/AssemblerUtils.h
Log Message:
-----------
[llvm-exegesis] Refactor ExecutableFunction to use a named constructor (#72837)
This patch refactors ExecutableFunction to use a named constructor
pattern, namely adding the create function, so that errors occurring
during the creation of an ExecutableFunction can be propogated back up
rather than having to deal with them in report_fatal_error.
Commit: 17fcad7f84a831e52f30d6417d97707b91b9848d
https://github.com/llvm/llvm-project/commit/17fcad7f84a831e52f30d6417d97707b91b9848d
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2023-11-24 (Fri, 24 Nov 2023)
Changed paths:
M .github/workflows/docs.yml
Log Message:
-----------
[Github] Build clang docs in CI if autogenerated files change (#72623)
These are unlikely to produce errors in the build, assuming that the
tablegen emitter works as expected, but we're still losing some
documentation build testing coverage but not building upon changes to
these files.
Commit: 28233b11ac0efd28ab1f6c83842342d2e7f0a4d3
https://github.com/llvm/llvm-project/commit/28233b11ac0efd28ab1f6c83842342d2e7f0a4d3
Author: Jay Foad <jay.foad at amd.com>
Date: 2023-11-24 (Fri, 24 Nov 2023)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.h
A llvm/lib/Target/AMDGPU/AMDGPUInsertSingleUseVDST.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/CMakeLists.txt
A llvm/test/CodeGen/AMDGPU/insert-singleuse-vdst.mir
Log Message:
-----------
[AMDGPU] New AMDGPUInsertSingleUseVDST pass (#72388)
Add support for emitting GFX11.5 s_singleuse_vdst instructions. This is
a power saving feature whereby the compiler can annotate VALU
instructions whose results are known to have only a single use, so the
hardware can in some cases avoid writing the result back to VGPR RAM.
To begin with the pass is disabled by default because of one missing
feature: we need an exclusion list of opcodes that never qualify as
single-use producers and/or consumers. A future patch will implement
this and enable the pass by default.
---------
Co-authored-by: Scott Egerton <scott.egerton at amd.com>
Commit: 3049c76e43be0db265ea4b2a0497adabc88edcc5
https://github.com/llvm/llvm-project/commit/3049c76e43be0db265ea4b2a0497adabc88edcc5
Author: Kai Wang <hsiangkai.wang at arm.com>
Date: 2023-11-24 (Fri, 24 Nov 2023)
Changed paths:
M mlir/lib/Conversion/VectorToSPIRV/VectorToSPIRV.cpp
M mlir/test/Conversion/VectorToSPIRV/vector-to-spirv.mlir
Log Message:
-----------
[mlir][vector][spirv] Lower vector.load and vector.store to SPIR-V (#71674)
Add patterns to lower vector.load to spirv.load and vector.store to
spirv.store.
Commit: da85160e7531119ab43c069e84d5f26ab09b7e42
https://github.com/llvm/llvm-project/commit/da85160e7531119ab43c069e84d5f26ab09b7e42
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2023-11-24 (Fri, 24 Nov 2023)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/BUILD.gn
Log Message:
-----------
[gn build] Port 28233b11ac0e
Commit: 076ec9f5f5bf03983f43f703e3f9d4600bad9653
https://github.com/llvm/llvm-project/commit/076ec9f5f5bf03983f43f703e3f9d4600bad9653
Author: Kadir Cetinkaya <kadircet at google.com>
Date: 2023-11-24 (Fri, 24 Nov 2023)
Changed paths:
M clang/lib/Basic/Targets/RISCV.cpp
Log Message:
-----------
Fix build failure on certain bots
Commit: c1e3a94105225a0ad6aa181ec15a9f31cf546237
https://github.com/llvm/llvm-project/commit/c1e3a94105225a0ad6aa181ec15a9f31cf546237
Author: Nikita Popov <npopov at redhat.com>
Date: 2023-11-24 (Fri, 24 Nov 2023)
Changed paths:
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/X86/X86CallingConv.cpp
Log Message:
-----------
[TargetLowering] Don't include ComplexDeinterleavingPass.h (NFC)
TargetLowering.h shouldn't include any passes and thus pull in
the entire pass infrastructure. Replace the include with forward
declarations.
Commit: f1d773863dc2707d96ce0f506801b363f8b079cf
https://github.com/llvm/llvm-project/commit/f1d773863dc2707d96ce0f506801b363f8b079cf
Author: Akash Banerjee <akash.banerjee at amd.com>
Date: 2023-11-24 (Fri, 24 Nov 2023)
Changed paths:
M flang/lib/Lower/OpenMP.cpp
M flang/test/Lower/OpenMP/FIR/array-bounds.f90
M flang/test/Lower/OpenMP/FIR/target.f90
M flang/test/Lower/OpenMP/array-bounds.f90
M flang/test/Lower/OpenMP/target.f90
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Dialect/OpenMP/invalid.mlir
R openmp/libomptarget/test/offloading/fortran/basic-target-region-array.f90
M openmp/libomptarget/test/offloading/fortran/constant-arr-index.f90
A openmp/libomptarget/test/offloading/fortran/target-region-implicit-array.f90
Log Message:
-----------
[Flang][OpenMP] Remove use of non reference values from MapInfoOp (#72444)
This patch removes the val field from the `MapInfoOp`.
Previously when lowering `TargetOp`, the bounds information for the
`BoxValues` were also being mapped. Instead these ops are now cloned
inside the target region to prevent mapping of non reference typed
values.
Commit: 6bdeb53ed9ad85fc16f495120b4e2382c4bdaafa
https://github.com/llvm/llvm-project/commit/6bdeb53ed9ad85fc16f495120b4e2382c4bdaafa
Author: Akash Banerjee <akash.banerjee at amd.com>
Date: 2023-11-24 (Fri, 24 Nov 2023)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
Log Message:
-----------
[MLIR][OpenMP] Fix the assertion failure for VariableCaptureKind::ByCopy (#72424)
Commit: a4ee55fe6ea088f55bf44236bd05f6a847a3de6c
https://github.com/llvm/llvm-project/commit/a4ee55fe6ea088f55bf44236bd05f6a847a3de6c
Author: Alexander Batashev <alexbatashev at gmail.com>
Date: 2023-11-24 (Fri, 24 Nov 2023)
Changed paths:
M mlir/lib/Conversion/ComplexToLibm/ComplexToLibm.cpp
M mlir/lib/Conversion/MathToLibm/MathToLibm.cpp
M mlir/lib/Conversion/SCFToSPIRV/SCFToSPIRV.cpp
M mlir/lib/Pass/PassRegistry.cpp
Log Message:
-----------
[MLIR][NFC] Fix build on recent GCC with C++20 enabled (#73308)
The following pattern fails on recent GCC versions with -std=c++20 flag
passed and succeeds with -std=c++17. Such behavior is not observed on
Clang 16.0.
```
template <typename T>
struct Foo {
Foo<T>(int a) {}
};
```
This patch removes template parameter from constructor in two occurences
to make the following command complete successfully:
bazel build -c fastbuild --cxxopt=-std=c++20 --host_cxxopt=-std=c++20
@llvm-project//mlir/...
This patch is similar to https://reviews.llvm.org/D154782
Co-authored-by: Alexander Batashev <a.batashev at partner.samsung.com>
Commit: cf1bde33423da5eb9b7dc95daac4aada3167de3c
https://github.com/llvm/llvm-project/commit/cf1bde33423da5eb9b7dc95daac4aada3167de3c
Author: Tulio Magno Quites Machado Filho <tuliom at redhat.com>
Date: 2023-11-24 (Fri, 24 Nov 2023)
Changed paths:
M clang/lib/Lex/ModuleMap.cpp
Log Message:
-----------
[clang] Fix sorting module headers (#73146)
Struct Module::Header is not a POD type. As such, qsort() and
llvm::array_pod_sort() must not be used to sort it. This became an issue
with the new implementation of qsort() in glibc 2.39 that is not
guaranteed to be a stable sort, causing Headers to be re-ordered and
corrupted.
Replace the usage of llvm::array_pod_sort() with std::stable_sort() in
order to fix this issue. The signature of compareModuleHeaders() has to
be modified.
Fixes #73145.
Commit: de6c9c84e2eec2d1ef865a8d9d1775d78ca0cc51
https://github.com/llvm/llvm-project/commit/de6c9c84e2eec2d1ef865a8d9d1775d78ca0cc51
Author: pasmpe01 <Paschalis.Mpeis at arm.com>
Date: 2023-11-24 (Fri, 24 Nov 2023)
Changed paths:
M llvm/include/llvm/Analysis/VecFuncs.def
M llvm/test/CodeGen/AArch64/replace-intrinsics-with-veclib-armpl.ll
M llvm/test/CodeGen/AArch64/replace-intrinsics-with-veclib-sleef-scalable.ll
M llvm/test/CodeGen/AArch64/replace-intrinsics-with-veclib-sleef.ll
M llvm/test/Transforms/LoopVectorize/AArch64/armpl-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sleef-intrinsic-calls-aarch64.ll
Log Message:
-----------
[TLI][AArch64] Add TLI Mappings of @llvm.exp10 for ArmPL and SLEEF.
Update regex to _explicitly_ show which exp versions are added.
The previous regex used `exp[^e]` to avoid matching calls like:
`@llvm.experimental.stepvector`.
Note: ArmPL Mappings for scalable types are not yet utilized
(eg, `llvm.exp10.nxv2f64`, `llvm.exp10.nxv4f32`), as `replace-with-veclib`
pass needs improvements.
Commit: e8cd401eaefe8113cae4b4f85ee78600925a9481
https://github.com/llvm/llvm-project/commit/e8cd401eaefe8113cae4b4f85ee78600925a9481
Author: Utkarsh Saxena <usx at google.com>
Date: 2023-11-24 (Fri, 24 Nov 2023)
Changed paths:
M clang/include/clang/Basic/AttrDocs.td
Log Message:
-----------
Remove extraneous ` in AttrDocs.td
Commit: 84f6e1d71c19bccd13a23a008ed815391e4f6b8e
https://github.com/llvm/llvm-project/commit/84f6e1d71c19bccd13a23a008ed815391e4f6b8e
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2023-11-24 (Fri, 24 Nov 2023)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/test/Transforms/SimplifyCFG/branch-fold-dbg.ll
Log Message:
-----------
[DebugInfo] Clone dbg.values in SimplifyCFG like normal instructions (#72526)
The code in the CloneInstructionsIntoPredec... function modified by this
patch has a long history that dates back to 2011, see d715ec82b4ad12c59.
There, when folding branches, all dbg.value intrinsics seen when folding
would be saved and then re-inserted at the end of whatever was folded. Over
the last 12 years this behaviour has been preserved.
However, IMO it's bad behaviour. If we have:
inst1
dbg.value1
inst2
dbg.value2
And we fold that sequence into a different block, then we would want the
instructions and variable assignments to appear in the same order. However
because of this old behaviour, the dbg.values are sunk, and we get:
inst1
inst2
dbg.value1
dbg.value2
This clustering of dbg.values can make assignments to the same variable
invisible, as well as reducing the coverage of other assignments.
This patch relaxes the CloneInstructions... function and allows it to clone
and update dbg.values in-place, causing them to appear in the original
order in the destination block. I've added some extra dbg.values to the
updated test: without the changes to the pass, the dbg.values sink into a
blob ahead of the select. The RemoveDIs code can't cope with this right now
so I've removed the "--try..." flag, restored in a commit to land in a
couple of hours.
(Metadata changes to make the LLVM-IR parser not drop the debug-info for it
being out of date. The RemoveDIs related RUN line has been removed because
it was spuriously passing due to the debug-info being dropped).
Commit: dc9787c87223540a6058aa1d0f647d6b0e1c53c7
https://github.com/llvm/llvm-project/commit/dc9787c87223540a6058aa1d0f647d6b0e1c53c7
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2023-11-24 (Fri, 24 Nov 2023)
Changed paths:
M libc/src/__support/FPUtil/FloatProperties.h
Log Message:
-----------
[libc][NFC] Remove dead code (#73315)
Commit: 3d8a9105d7e0e4baa744428e55d1c2462803118a
https://github.com/llvm/llvm-project/commit/3d8a9105d7e0e4baa744428e55d1c2462803118a
Author: Balázs Kéri <balazs.keri at ericsson.com>
Date: 2023-11-24 (Fri, 24 Nov 2023)
Changed paths:
M clang/lib/AST/ASTImporter.cpp
M clang/unittests/AST/ASTImporterTest.cpp
Log Message:
-----------
[clang][ASTImporter] Fix import of SubstTemplateTypeParmType in return type of function. (#69724)
Import of a function with `auto` return type that is expanded to a
`SubstTemplateTypeParmType` could fail if the function itself is the
template specialization where the parameter was replaced.
Commit: a79a5611bd18baab02ea6ad31f7b6b767f4028a7
https://github.com/llvm/llvm-project/commit/a79a5611bd18baab02ea6ad31f7b6b767f4028a7
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2023-11-24 (Fri, 24 Nov 2023)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/ExprConstShared.h
M clang/lib/AST/ExprConstant.cpp
M clang/test/Sema/builtin-classify-type.c
M clang/test/SemaCXX/builtin-classify-type.cpp
Log Message:
-----------
[clang] Classify vector types in __builtin_classify_type (#73299)
Commit: 7eeedc124f9901a65573668bc504a45111a3f837
https://github.com/llvm/llvm-project/commit/7eeedc124f9901a65573668bc504a45111a3f837
Author: Nikita Popov <npopov at redhat.com>
Date: 2023-11-24 (Fri, 24 Nov 2023)
Changed paths:
M llvm/include/llvm/CodeGen/MIRFormatter.h
M llvm/include/llvm/CodeGen/MIRParser/MIParser.h
M llvm/include/llvm/CodeGen/MachineMemOperand.h
M llvm/include/llvm/CodeGen/ModuloSchedule.h
M llvm/include/llvm/CodeGen/TargetFrameLowering.h
M llvm/lib/CodeGen/LiveDebugVariables.cpp
M llvm/lib/Target/AArch64/AArch64SIMDInstrOpt.cpp
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.h
M llvm/lib/Target/BPF/BPFAbstractMemberAccess.cpp
M llvm/lib/Target/Hexagon/HexagonExpandCondsets.cpp
Log Message:
-----------
[CodeGen] Make some includes explicit (NFC)
Explicitly include some headers or forward-declare types, in
preparation for removing an include that pulls in many transitive
headers.
Commit: c8562e81bce36f45f03ba059a58c3a1762a77ebe
https://github.com/llvm/llvm-project/commit/c8562e81bce36f45f03ba059a58c3a1762a77ebe
Author: Stefan Gränitz <stefan.graenitz at gmail.com>
Date: 2023-11-24 (Fri, 24 Nov 2023)
Changed paths:
M llvm/tools/llvm-jitlink/llvm-jitlink-elf.cpp
Log Message:
-----------
[llvm-jitlink] Avoid assertion failure in make_error parameter
If GOTSym is not defined, we cannot call `GOTSym.getBlock()`. It failed with:
```
Assertion failed: (Base->isDefined() && "Not a defined symbol"), function getBlock, file JITLink.h, line 554.
```
Commit: 962829bdb342d5dc9998a9f146146608812a832b
https://github.com/llvm/llvm-project/commit/962829bdb342d5dc9998a9f146146608812a832b
Author: Stefan Gränitz <stefan.graenitz at gmail.com>
Date: 2023-11-24 (Fri, 24 Nov 2023)
Changed paths:
M llvm/include/llvm-c/Orc.h
M llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
M llvm/include/llvm/ExecutionEngine/JITLink/aarch64.h
M llvm/include/llvm/ExecutionEngine/JITLink/loongarch.h
Log Message:
-----------
[JITLink] Fix typos: symobls -> symbols (NFC)
Commit: 820b3583c9681a1969814ac3b04a6fe41b87d079
https://github.com/llvm/llvm-project/commit/820b3583c9681a1969814ac3b04a6fe41b87d079
Author: Florian Hahn <flo at fhahn.com>
Date: 2023-11-24 (Fri, 24 Nov 2023)
Changed paths:
M llvm/test/CodeGen/AArch64/store-swift-async-context-clobber-live-reg.ll
Log Message:
-----------
[AArch64] Add artificial clobbers to swift async context test.
Manually add clobbers for various register combinations to tests. This
highlights incorrectly performing shrink-wrapping, with
StoreSwiftAsyncContext expansion clobbering a live register.
Commit: 85ee351aa7b1112b1b9ac2e0ead547e9af8712b5
https://github.com/llvm/llvm-project/commit/85ee351aa7b1112b1b9ac2e0ead547e9af8712b5
Author: Jinsong Ji <jinsong.ji at intel.com>
Date: 2023-11-24 (Fri, 24 Nov 2023)
Changed paths:
M .github/workflows/libcxx-build-and-test.yaml
Log Message:
-----------
[CI] Skip libcxx in non-llvm repo (#73282)
The new libcxx workflow are run and failing in non llvm repo.
Skip it similar to other workflow.
Commit: 88f7dc17eb271e37caf381f02eb75b3493e2b4a5
https://github.com/llvm/llvm-project/commit/88f7dc17eb271e37caf381f02eb75b3493e2b4a5
Author: Nikita Popov <npopov at redhat.com>
Date: 2023-11-24 (Fri, 24 Nov 2023)
Changed paths:
M llvm/test/Analysis/ScalarEvolution/add-like-or.ll
M llvm/test/Analysis/ScalarEvolution/addrec-computed-during-addrec-calculation.ll
M llvm/test/Analysis/ScalarEvolution/addrec-sub-nsw.ll
M llvm/test/Analysis/ScalarEvolution/alloca.ll
M llvm/test/Analysis/ScalarEvolution/backedge-taken-count-guard-info.ll
M llvm/test/Analysis/ScalarEvolution/decrementing_addrecs.ll
M llvm/test/Analysis/ScalarEvolution/exact-exit-count-more-precise.ll
M llvm/test/Analysis/ScalarEvolution/exit-count-select-safe.ll
M llvm/test/Analysis/ScalarEvolution/exit-count-select.ll
M llvm/test/Analysis/ScalarEvolution/extract-lowbits-sameconstmask.ll
M llvm/test/Analysis/ScalarEvolution/finite-trip-count.ll
M llvm/test/Analysis/ScalarEvolution/flags-from-poison-noautogen.ll
M llvm/test/Analysis/ScalarEvolution/flags-from-poison.ll
M llvm/test/Analysis/ScalarEvolution/fold.ll
M llvm/test/Analysis/ScalarEvolution/huge-trip-multiple.ll
M llvm/test/Analysis/ScalarEvolution/increasing-or-decreasing-iv.ll
M llvm/test/Analysis/ScalarEvolution/load.ll
M llvm/test/Analysis/ScalarEvolution/logical-operations.ll
M llvm/test/Analysis/ScalarEvolution/lshr-shl-differentconstmask.ll
M llvm/test/Analysis/ScalarEvolution/malloc.ll
M llvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info-rewrite-expressions.ll
M llvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info.ll
M llvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-limit-by-wrapping.ll
M llvm/test/Analysis/ScalarEvolution/max-be-count-not-constant.ll
M llvm/test/Analysis/ScalarEvolution/max-expr-cache.ll
M llvm/test/Analysis/ScalarEvolution/min-max-exprs.ll
M llvm/test/Analysis/ScalarEvolution/ne-overflow.ll
M llvm/test/Analysis/ScalarEvolution/no-wrap-symbolic-becount.ll
M llvm/test/Analysis/ScalarEvolution/nsw-offset-assume.ll
M llvm/test/Analysis/ScalarEvolution/nsw-offset.ll
M llvm/test/Analysis/ScalarEvolution/nsw.ll
M llvm/test/Analysis/ScalarEvolution/overflow-intrinsics-trip-count.ll
M llvm/test/Analysis/ScalarEvolution/predicated-trip-count.ll
M llvm/test/Analysis/ScalarEvolution/ptrtoint.ll
M llvm/test/Analysis/ScalarEvolution/range-signedness.ll
M llvm/test/Analysis/ScalarEvolution/range_nw_flag.ll
M llvm/test/Analysis/ScalarEvolution/ranges.ll
M llvm/test/Analysis/ScalarEvolution/sdiv.ll
M llvm/test/Analysis/ScalarEvolution/sext-add-inreg-loop.ll
M llvm/test/Analysis/ScalarEvolution/sext-mul.ll
M llvm/test/Analysis/ScalarEvolution/sext-to-zext.ll
M llvm/test/Analysis/ScalarEvolution/shift-recurrences.ll
M llvm/test/Analysis/ScalarEvolution/shl-lshr-differentconstmask.ll
M llvm/test/Analysis/ScalarEvolution/smax-br-phi-idioms.ll
M llvm/test/Analysis/ScalarEvolution/smin-smax-folds.ll
M llvm/test/Analysis/ScalarEvolution/solve-quadratic-i1.ll
M llvm/test/Analysis/ScalarEvolution/solve-quadratic-overflow.ll
M llvm/test/Analysis/ScalarEvolution/srem.ll
M llvm/test/Analysis/ScalarEvolution/symbolic_max_exit_count.ll
M llvm/test/Analysis/ScalarEvolution/trip-count-andor-selectform.ll
M llvm/test/Analysis/ScalarEvolution/trip-count-andor.ll
M llvm/test/Analysis/ScalarEvolution/trip-count-implied-addrec.ll
M llvm/test/Analysis/ScalarEvolution/trip-count-minmax.ll
M llvm/test/Analysis/ScalarEvolution/trip-count.ll
M llvm/test/Analysis/ScalarEvolution/trip-count10.ll
M llvm/test/Analysis/ScalarEvolution/trip-count14.ll
M llvm/test/Analysis/ScalarEvolution/trip-count15.ll
M llvm/test/Analysis/ScalarEvolution/trip-count2.ll
M llvm/test/Analysis/ScalarEvolution/trip-count3.ll
M llvm/test/Analysis/ScalarEvolution/trip-count4.ll
M llvm/test/Analysis/ScalarEvolution/trip-count8.ll
M llvm/test/Analysis/ScalarEvolution/trip-count9.ll
M llvm/test/Analysis/ScalarEvolution/trip-multiple-guard-info.ll
M llvm/test/Analysis/ScalarEvolution/trip-multiple.ll
M llvm/test/Analysis/ScalarEvolution/umin-umax-folds.ll
M llvm/test/Analysis/ScalarEvolution/unknown_phis.ll
Log Message:
-----------
[SCEV] Regenerate test checks (NFC)
There have been some minor but pervasive changes to the generated
CHECK lines, so regenerate all of them, to minimize future diffs.
Commit: 50c298fd174f1a98fd20374a65d1faecba5649e1
https://github.com/llvm/llvm-project/commit/50c298fd174f1a98fd20374a65d1faecba5649e1
Author: Nikita Popov <npopov at redhat.com>
Date: 2023-11-24 (Fri, 24 Nov 2023)
Changed paths:
M llvm/test/Transforms/CorrelatedValuePropagation/basic.ll
Log Message:
-----------
[CVP] Regenerate test checks (NFC)
Avoid some spurious changes in a future patch.
Commit: 5e5a22caf88ac1ccfa8dc5720295fdeba0ad9372
https://github.com/llvm/llvm-project/commit/5e5a22caf88ac1ccfa8dc5720295fdeba0ad9372
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2023-11-24 (Fri, 24 Nov 2023)
Changed paths:
M libc/cmake/modules/compiler_features/check_float128.cpp
M libc/docs/dev/code_style.rst
M libc/src/__support/CMakeLists.txt
M libc/src/__support/CPP/CMakeLists.txt
M libc/src/__support/CPP/type_traits/is_floating_point.h
M libc/src/__support/FPUtil/CMakeLists.txt
M libc/src/__support/FPUtil/FloatProperties.h
M libc/src/__support/macros/properties/CMakeLists.txt
M libc/src/__support/macros/properties/compiler.h
A libc/src/__support/macros/properties/float.h
A libc/src/__support/macros/properties/os.h
M libc/src/math/copysignf128.h
M libc/src/math/generic/copysignf128.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][NFC] Move float macro into its own header / add target os detection (#73311)
Floating point properties are a combination of target OS, target
architecture and compiler support.
- Adding target OS detection,
- Moving floating point type detection to its own file.
This is in preparation of adding support for `_Float16` which requires
testing compiler **version** and target architecture.
Commit: 2f7c050e1943f63af0823c1327b44579d0bdb584
https://github.com/llvm/llvm-project/commit/2f7c050e1943f63af0823c1327b44579d0bdb584
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2023-11-24 (Fri, 24 Nov 2023)
Changed paths:
M llvm/lib/IR/BasicBlock.cpp
Log Message:
-----------
[DebugInfo][RemoveDIs] Allow speculative-DPMarker creation
There's good justification for having a function specifying "I need there to be
a marker here, so return the marker there or create a new one". This was going
to come later in the series, but it's starting to become necessary much eariler
alas.
Make use of it in spliceDebugInfo, where we can occasionally splice DPValues
onto the end() iterator of a block while it's been edited.
Commit: 59fab2264217648ff11412666b69fb4c5fc9451c
https://github.com/llvm/llvm-project/commit/59fab2264217648ff11412666b69fb4c5fc9451c
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2023-11-24 (Fri, 24 Nov 2023)
Changed paths:
M llvm/include/llvm/Transforms/Utils/ValueMapper.h
M llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
M llvm/lib/Transforms/Utils/CloneFunction.cpp
M llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/lib/Transforms/Utils/ValueMapper.cpp
M llvm/test/Transforms/LoopUnroll/runtime-epilog-debuginfo.ll
A llvm/test/Transforms/SimpleLoopUnswitch/debuginfo.ll
M llvm/test/Transforms/SimplifyCFG/branch-fold-dbg.ll
A llvm/test/Transforms/SimplifyCFG/jump-threading-debuginfo.ll
Log Message:
-----------
[DebugInfo][RemoveDIs] Support cloning and remapping DPValues (#72546)
This patch adds support for CloneBasicBlock duplicating the DPValues
attached to instructions, and adds facilities to remap them into their new
context. The plumbing to achieve this is fairly straightforwards and
mechanical.
I've also added illustrative uses to LoopUnrollRuntime, SimpleLoopUnswitch
and SimplifyCFG. The former only updates for the epilogue right now so I've
added CHECK lines just for the end of an unrolled loop (further updates
coming later). SimpleLoopUnswitch had no debug-info tests so I've added a
new one. The two modified parts of SimplifyCFG are covered by the two
modified SimplifyCFG tests.
These are scenarios where we have to do extra cloning for copying of
DPValues because they're no longer instructions, and remap them too.
Commit: 89a832435d786e5ce0668da3720db668beb10e70
https://github.com/llvm/llvm-project/commit/89a832435d786e5ce0668da3720db668beb10e70
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2023-11-24 (Fri, 24 Nov 2023)
Changed paths:
M libc/src/__support/CPP/CMakeLists.txt
Log Message:
-----------
[libc][cmake] Add missing dependencies for type_traits (#73339)
Commit: 18a5ca14d16e6e5142fc5527accdfb10c1a22820
https://github.com/llvm/llvm-project/commit/18a5ca14d16e6e5142fc5527accdfb10c1a22820
Author: Egor Zhdan <e_zhdan at apple.com>
Date: 2023-11-24 (Fri, 24 Nov 2023)
Changed paths:
M clang/include/clang/AST/OpenMPClause.h
Log Message:
-----------
[Clang] Fix `-Wdocumentation` warning (NFC)
```
llvm-project/clang/include/clang/AST/OpenMPClause.h:7762:14: warning: parameter 'Modifier' not found in the function declaration [-Wdocumentation]
/// \param Modifier The modifier applied to 'order' clause.
^~~~~~~~
llvm-project/clang/include/clang/AST/OpenMPClause.h:7762:14: note: did you mean 'M'?
/// \param Modifier The modifier applied to 'order' clause.
```
Commit: bd8f1068cad06b0f0342ac7ef351bf01c2e27322
https://github.com/llvm/llvm-project/commit/bd8f1068cad06b0f0342ac7ef351bf01c2e27322
Author: José Lira Junior <josejunior at 10xengineers.ai>
Date: 2023-11-24 (Fri, 24 Nov 2023)
Changed paths:
M lldb/source/Commands/CommandObjectProcess.cpp
M lldb/test/Shell/Breakpoint/jit-loader_jitlink_elf.test
M lldb/test/Shell/Breakpoint/jit-loader_rtdyld_elf.test
Log Message:
-----------
[lldb] correct inconsistent order of messages on process launch (#73173)
Fixes [#68035](https://github.com/llvm/llvm-project/issues/68035), where
an inconsistency in the order of "Process launched" and "Process
stopped" messages occurs during `process launch`.
The fix involves adjusting the message output sequence in
`CommandObjectProcessLaunch::DoExecute` within
`source/Commands/CommandObjectProcess.cpp`. This ensures "Process
launched" consistently precedes "Process stopped" when executing
commands with the '-o' flag, i.e., non-interactive mode.
Upon implementing this change, two tests failed:
`lldb/test/Shell/Breakpoint/jit-loader_jitlink_elf.test` and
`lldb/test/Shell/Breakpoint/jit-loader_rtdyld_elf.test`. These failures
were expected as they relied on the previous, now-corrected message
order. Updating these tests to align with the new message sequence is
part of this PR's scope.
Commit: ee5749bf785b66adfd9b4edc4d3a676691f28599
https://github.com/llvm/llvm-project/commit/ee5749bf785b66adfd9b4edc4d3a676691f28599
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2023-11-24 (Fri, 24 Nov 2023)
Changed paths:
M libc/src/__support/macros/properties/compiler.h
Log Message:
-----------
[libc] Provide compiler version properties (#73344)
This will be used to support conditional compilation based on compiler
version.
We adopt the same convention as
[libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/__config)
- thx @legrosbuffle for the suggestion!
Usage:
```
#if defined(LIBC_COMPILER_CLANG_VER)
# if LIBC_COMPILER_CLANG_VER < 1500
# warning "Libc only supports Clang 15 and later"
# endif
#elif defined(LIBC_COMPILER_GCC_VER)
# if LIBC_COMPILER_GCC_VER < 1500
# warning "Libc only supports GCC 15 and later"
# endif
#elif defined(LIBC_COMPILER_MSC_VER)
# if LIBC_COMPILER_MSC_VER < 1930
# warning "Libc only supports Visual Studio 2022 RTW (17.0) and later"
# endif
#endif
```
Commit: c38dbfd3bec92f30c9a2f5b1e784dcd800f88dcd
https://github.com/llvm/llvm-project/commit/c38dbfd3bec92f30c9a2f5b1e784dcd800f88dcd
Author: Akash Banerjee <akash.banerjee at amd.com>
Date: 2023-11-24 (Fri, 24 Nov 2023)
Changed paths:
R flang/test/Driver/OpenMP/host-ir-flag.f90
R flang/test/Driver/OpenMP/map-types-and-sizes.f90
A flang/test/Integration/OpenMP/host-ir-flag.f90
A flang/test/Integration/OpenMP/map-types-and-sizes.f90
A flang/test/Integration/OpenMP/target-filtering.f90
A flang/test/Integration/README.md
Log Message:
-----------
[Flang] Add new Integration tests directory to Flang (#73141)
As per the RFC:
[https://discourse.llvm.org/t/rfc-flang-new-directory-for-adding-end-to-end-tests-for-lowering-to-llvm-ir-in-flang/74872/11](https://discourse.llvm.org/t/rfc-flang-new-directory-for-adding-end-to-end-tests-for-lowering-to-llvm-ir-in-flang/74872/11),
this patch adds a new Integration test directory for OpenMP-
`flang/test/Integration/OpenMP` and moves the existing OpenMP
integration tests from `flang/test/Driver/OpenMP` to this directory.
**This directory can be used to add Integration tests involving multiple
stages of the compiler (for eg. from Fortran to LLVM IR). It should not
contain executable tests. We should only add tests here sparingly and
only if there is no other way to test. Repeat this message in each test
that is added to this directory and sub-directories.**
Commit: e9fdb965f9b016d5df819969f37c49a8075e70b6
https://github.com/llvm/llvm-project/commit/e9fdb965f9b016d5df819969f37c49a8075e70b6
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2023-11-24 (Fri, 24 Nov 2023)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC]Make collectValuesToDemote member of BoUpSLP to avoid using
Expr container, NFC.
Saves the memory and may improve compile time.
Commit: 7091ca1ae3a87479b6febdf1c3a324d707c633d9
https://github.com/llvm/llvm-project/commit/7091ca1ae3a87479b6febdf1c3a324d707c633d9
Author: Sebastian Poeplau <poeplau at adacore.com>
Date: 2023-11-24 (Fri, 24 Nov 2023)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaCodeComplete.cpp
M clang/test/Index/recursive-cxx-member-calls.cpp
M clang/tools/c-index-test/c-index-test.c
Log Message:
-----------
[clang] Add missing LinkageSpec case to getCursorKindForDecl (#72401)
The LinkageSpec case was omitted, and there is a declared CXCursor_Kind
for it. Adapt the testsuite drivers to print mangled names for
declarations with extern linkage. Also update the test baseline for the
recursive-cxx-member-calls.cpp test.
Co-authored-by: Matthieu Eyraud <eyraud at adacore.com>
Commit: 76c4a6e310f68d6b462a7c98f6b10067277e53fd
https://github.com/llvm/llvm-project/commit/76c4a6e310f68d6b462a7c98f6b10067277e53fd
Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: 2023-11-24 (Fri, 24 Nov 2023)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
Log Message:
-----------
[MLIR][OpenMP] NFC: Remove unused variable
Commit: 92d9f232dd627eea8bd2c825c539b28374bbfa69
https://github.com/llvm/llvm-project/commit/92d9f232dd627eea8bd2c825c539b28374bbfa69
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2023-11-24 (Fri, 24 Nov 2023)
Changed paths:
M libcxx/docs/ReleaseNotes/18.rst
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/docs/Status/FormatIssues.csv
M libcxx/include/__format/format_functions.h
M libcxx/include/format
M libcxx/modules/std/format.inc
A libcxx/test/std/utilities/format/format.fmt.string/ctor.runtime-format-string.pass.cpp
A libcxx/test/std/utilities/format/format.functions/format.locale.runtime_format.pass.cpp
A libcxx/test/std/utilities/format/format.functions/format.runtime_format.pass.cpp
A libcxx/test/std/utilities/format/format.syn/runtime_format_string.pass.cpp
M libcxx/utils/generate_feature_test_macro_components.py
Log Message:
-----------
[libc++] Implements Runtime format strings II. (#72543)
Implements
- P2918R2 Runtime format strings II
Commit: 233e7c5de2d2abda024577e79dcd195562de68c8
https://github.com/llvm/llvm-project/commit/233e7c5de2d2abda024577e79dcd195562de68c8
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2023-11-24 (Fri, 24 Nov 2023)
Changed paths:
M libcxx/docs/ReleaseNotes/18.rst
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/docs/UsingLibcxx.rst
M libcxx/include/codecvt
M libcxx/modules/std/codecvt.inc
M libcxx/test/libcxx/localization/locales/locale.convenience/conversions/conversions.string/ctor_move.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/ifstream.members/buffered_reads.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/ofstream.members/buffered_writes.pass.cpp
M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/utf_sanity_check.pass.cpp
M libcxx/test/std/localization/locale.stdcvt/codecvt_mode.pass.cpp
M libcxx/test/std/localization/locale.stdcvt/codecvt_utf16.pass.cpp
M libcxx/test/std/localization/locale.stdcvt/codecvt_utf16_always_noconv.pass.cpp
M libcxx/test/std/localization/locale.stdcvt/codecvt_utf16_encoding.pass.cpp
M libcxx/test/std/localization/locale.stdcvt/codecvt_utf16_in.pass.cpp
M libcxx/test/std/localization/locale.stdcvt/codecvt_utf16_length.pass.cpp
M libcxx/test/std/localization/locale.stdcvt/codecvt_utf16_max_length.pass.cpp
M libcxx/test/std/localization/locale.stdcvt/codecvt_utf16_out.pass.cpp
M libcxx/test/std/localization/locale.stdcvt/codecvt_utf16_unshift.pass.cpp
M libcxx/test/std/localization/locale.stdcvt/codecvt_utf8.pass.cpp
M libcxx/test/std/localization/locale.stdcvt/codecvt_utf8_always_noconv.pass.cpp
M libcxx/test/std/localization/locale.stdcvt/codecvt_utf8_encoding.pass.cpp
M libcxx/test/std/localization/locale.stdcvt/codecvt_utf8_in.pass.cpp
M libcxx/test/std/localization/locale.stdcvt/codecvt_utf8_length.pass.cpp
M libcxx/test/std/localization/locale.stdcvt/codecvt_utf8_max_length.pass.cpp
M libcxx/test/std/localization/locale.stdcvt/codecvt_utf8_out.pass.cpp
M libcxx/test/std/localization/locale.stdcvt/codecvt_utf8_unshift.pass.cpp
M libcxx/test/std/localization/locale.stdcvt/codecvt_utf8_utf16_always_noconv.pass.cpp
M libcxx/test/std/localization/locale.stdcvt/codecvt_utf8_utf16_encoding.pass.cpp
M libcxx/test/std/localization/locale.stdcvt/codecvt_utf8_utf16_in.pass.cpp
M libcxx/test/std/localization/locale.stdcvt/codecvt_utf8_utf16_length.pass.cpp
M libcxx/test/std/localization/locale.stdcvt/codecvt_utf8_utf16_max_length.pass.cpp
M libcxx/test/std/localization/locale.stdcvt/codecvt_utf8_utf16_out.pass.cpp
M libcxx/test/std/localization/locale.stdcvt/codecvt_utf8_utf16_unshift.pass.cpp
M libcxx/test/std/localization/locale.stdcvt/depr.verify.cpp
A libcxx/test/std/localization/locale.stdcvt/remove.verify.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/ctor.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/depr.verify.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/overflow.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/pbackfail.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/rdbuf.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/state.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/test.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/underflow.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/converted.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/ctor_codecvt.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/ctor_codecvt_state.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/ctor_copy.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/ctor_err_string.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/depr.verify.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/from_bytes.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/state.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/to_bytes.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/types.pass.cpp
Log Message:
-----------
[libc++] Removes codecvt. (#72496)
Implements:
- P2871R3 Remove Deprecated Unicode Conversion Facets from C++26
Commit: 5d501b1091ce3632b885c60a8fc9f74ed9c95ae3
https://github.com/llvm/llvm-project/commit/5d501b1091ce3632b885c60a8fc9f74ed9c95ae3
Author: Craig Topper <craig.topper at sifive.com>
Date: 2023-11-24 (Fri, 24 Nov 2023)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-mulo-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-mulo-rv64.mir
Log Message:
-----------
[GISel][RISCV] Fix several boundary cases in narrow G_SEXT_INREG. (#72719)
This fixes cases when SizeInBits is a multiple of the narrow size.
If SizeBits is equal to NarrowTy size, the first block would create an
illegal G_SEXT_INREG where the the extension size is equal to the type.
I tried to turn it into G_TRUNC+G_SEXT, but that just turned back into
G_SEXT_INREG causing an infinite loop. So punt to the splitting case.
In the for loop we should copy when the part ends on SizeInBits. In that
case there is no G_SEXT_INREG needed for partial. But we should note
that register in PartialExtensionReg for the first full part to use.
If the part starts on SizeInBits then we should do an AShr of
PartialExtensionReg.
We should only get to the G_SEXT_INREG case if the SizeInBits is in the
middle of the part.
Commit: d9962c400f970d17396e84c1a55cdbea29a7c893
https://github.com/llvm/llvm-project/commit/d9962c400f970d17396e84c1a55cdbea29a7c893
Author: Craig Topper <craig.topper at sifive.com>
Date: 2023-11-24 (Fri, 24 Nov 2023)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/include/llvm/AsmParser/LLToken.h
M llvm/include/llvm/Bitcode/LLVMBitCodes.h
M llvm/include/llvm/IR/InstrTypes.h
M llvm/lib/AsmParser/LLLexer.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/Instruction.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
M llvm/test/Assembler/flags.ll
M llvm/test/Bitcode/compatibility.ll
M llvm/test/Bitcode/flags.ll
M llvm/test/Transforms/InstCombine/freeze.ll
M llvm/test/Transforms/InstCombine/or.ll
M llvm/test/Transforms/SimplifyCFG/HoistCode.ll
Log Message:
-----------
[IR] Add disjoint flag for Or instructions. (#72583)
This flag indicates that every bit is known to be zero in at least one
of the inputs. This allows the Or to be treated as an Add since there is
no possibility of a carry from any bit.
If the flag is present and this property does not hold, the result is
poison.
This makes it easier to reverse the InstCombine transform that turns Add
into Or.
This is inspired by a comment here
https://github.com/llvm/llvm-project/pull/71955#discussion_r1391614578
Discourse thread
https://discourse.llvm.org/t/rfc-add-or-disjoint-flag/75036
Commit: 0ff5281c947a56bf81205c4758f713aacd006a2f
https://github.com/llvm/llvm-project/commit/0ff5281c947a56bf81205c4758f713aacd006a2f
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2023-11-24 (Fri, 24 Nov 2023)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-trivial-arith.mir
Log Message:
-----------
[GlobalISel] Treat shift amounts as unsigned in `matchShiftImmedChain`
A miscompilation issue in the GISel pre-legalization
phase has been addressed with improved routines.
Fixes: https://github.com/llvm/llvm-project/issues/71440.
Commit: d896b1f5a614daef1c3aa65cb3521ec82bc728d5
https://github.com/llvm/llvm-project/commit/d896b1f5a614daef1c3aa65cb3521ec82bc728d5
Author: Stefan Pintilie <stefanp at ca.ibm.com>
Date: 2023-11-24 (Fri, 24 Nov 2023)
Changed paths:
M llvm/lib/Target/PowerPC/PPCMergeStringPool.cpp
A llvm/test/CodeGen/PowerPC/aix-xcoff-used-with-stringpool.ll
Log Message:
-----------
[PowerPC] Do not string pool globals that are part of llvm used. (#66848)
The string pooling pass was incorrectly pooling global varables that
were part of llvm.used or llvm.compiler.used. This patch fixes the pass
to prevent that by checking each candidate to make sure that it is not
in either of those lists.
Commit: 6ba60390cc4b6a8f7f0815df2a64d7b912f25e83
https://github.com/llvm/llvm-project/commit/6ba60390cc4b6a8f7f0815df2a64d7b912f25e83
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2023-11-24 (Fri, 24 Nov 2023)
Changed paths:
M mlir/lib/Dialect/SPIRV/Transforms/SPIRVConversion.cpp
M mlir/test/Conversion/MemRefToSPIRV/alloc.mlir
Log Message:
-----------
[mlir][spirv] Handle all zero-element memref types (#73351)
Bail out of type conversion instead of crashing.
Fixes: https://github.com/llvm/llvm-project/issues/73289
Commit: 12b0ab2c9ce8ef813d9eb888860f20daac3336bd
https://github.com/llvm/llvm-project/commit/12b0ab2c9ce8ef813d9eb888860f20daac3336bd
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2023-11-24 (Fri, 24 Nov 2023)
Changed paths:
M llvm/tools/llvm-exegesis/lib/Assembler.cpp
M llvm/tools/llvm-exegesis/lib/Assembler.h
M llvm/tools/llvm-exegesis/lib/CMakeLists.txt
Log Message:
-----------
[llvm-exegesis] Switch from MCJIT to LLJIT (#72838)
This patch switches from using MCJIT to LLJIT as MCJIT is going to be
deprecated soon.
Fixes #41764.
Commit: 4233176f9bf8d0309c03b127aa113ae826718dfa
https://github.com/llvm/llvm-project/commit/4233176f9bf8d0309c03b127aa113ae826718dfa
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2023-11-24 (Fri, 24 Nov 2023)
Changed paths:
M llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
Log Message:
-----------
[SimpleLoopUnswitch] Remove callbacks (#73300)
After the removal of the legacyPM version of simple loop unswitch, there
is no longer a need for the callback mechanism to handle PM specific
tasks. This patch removes the callbacks to help simplify the code now
that they're no longer needed.
Commit: ddc6ef46418cc419041d0bd85de40d0eb9396848
https://github.com/llvm/llvm-project/commit/ddc6ef46418cc419041d0bd85de40d0eb9396848
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2023-11-24 (Fri, 24 Nov 2023)
Changed paths:
M llvm/tools/llvm-exegesis/lib/Assembler.cpp
M llvm/tools/llvm-exegesis/lib/Assembler.h
M llvm/tools/llvm-exegesis/lib/CMakeLists.txt
Log Message:
-----------
Revert "[llvm-exegesis] Switch from MCJIT to LLJIT (#72838)"
This reverts commit 12b0ab2c9ce8ef813d9eb888860f20daac3336bd.
Currently failing on certain configurations due to a missing
constructor. Pulling out so that I can reproduce the issue and make sure
I fix it before resubmitting.
Commit: d625ea12c71813db0da4c2e5867e907da22e22f2
https://github.com/llvm/llvm-project/commit/d625ea12c71813db0da4c2e5867e907da22e22f2
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2023-11-24 (Fri, 24 Nov 2023)
Changed paths:
M mlir/lib/Conversion/VectorToSPIRV/VectorToSPIRV.cpp
Log Message:
-----------
[mlir][spirv] Split codegen for float min/max reductions and others v2. [NFC] (#73363)
This is https://github.com/llvm/llvm-project/pull/69023 but with
cleanups.
Reduced complexity by avoiding CRTP and preprocessor defines in favor of
free functions
Original description by @unterumarmung:
---
This patch is part of a larger initiative aimed at fixing floating-point
`max` and `min` operations in MLIR:
https://discourse.llvm.org/t/rfc-fix-floating-point-max-and-min-operations-in-mlir/72671.
There are two types of min/max operations for floating-point numbers:
`minf`/`maxf` and `minimumf`/`maximumf`. The code generation for these
operations should differ from that of other vector reduction kinds. This
difference arises because CL and GL operations for floating-point min
and max do not have the same semantics when handling NaNs. Therefore, we
must enforce the desired semantics with additional ops.
~~However, since the code generation for floating-point min/max
operations shares the same functionality as extracting values for the
vector, we have decided to refactor the existing code using the CRTP
pattern.~~ This change does not alter the actual behavior of the code
and is necessary for future fixes to the codegen for floating-point
min/max operations.
---------
Co-authored-by: Daniil Dudkin <unterumarmung at yandex.ru>
Commit: 20f634f275b431ff256ba45cbcbb6dc5bd945fb3
https://github.com/llvm/llvm-project/commit/20f634f275b431ff256ba45cbcbb6dc5bd945fb3
Author: Florian Hahn <flo at fhahn.com>
Date: 2023-11-24 (Fri, 24 Nov 2023)
Changed paths:
A llvm/test/CodeGen/Thumb2/outlined-fn-may-clobber-lr-in-caller.ll
Log Message:
-----------
[Thumb] Add test case where the machine-outliner clobbers LR.
Add ad test case where `bl OUTLINED_FUNCTION_0` clobbers LR, which in
turn is used the later call to memcpy to return to the caller.
Commit: 95dcb8b49dd3bb0fcb9f020fe931632a0ddf4994
https://github.com/llvm/llvm-project/commit/95dcb8b49dd3bb0fcb9f020fe931632a0ddf4994
Author: Stefan Gränitz <stefan.graenitz at gmail.com>
Date: 2023-11-24 (Fri, 24 Nov 2023)
Changed paths:
M llvm/include/llvm/ExecutionEngine/JITLink/aarch32.h
A llvm/test/ExecutionEngine/JITLink/AArch32/ELF_thumb_stubs.s
M llvm/tools/llvm-jitlink/llvm-jitlink-elf.cpp
Log Message:
-----------
[llvm-jitlink] Support plain AArch32 stubs in jitlink-check's stub_addr() expressions (#73268)
We want to use regular `stub_addr()` expressions in `jitlink-check` lines to test the generation of stubs in AArch32, but we don't want this to require a standardized GOT-based PLT implementation. In terms of performance and binary size it doesn't seem beneficial. And in terms of patching branch targets, we should be able to handle range-extension- and interworking-stubs without a lot of extra logic.
In order to allow such AArch32 stubs we add a separate path for `stub_addr()` expressions in `llvm-jitlink-elf`. The relocations in our stubs are not pointing to the GOT, but to the external symbol directly. Thus, we have to avoid access to the block of the edge target. Instead we only return the symbol name, which is enough to use `stub_addr()` expressions in tests.
The name of the AArch32 stubs section differs from the conventional `$__STUBS` on purpose. It allows to add a regular PLT/GOT implementation as an orthogonal feature in the future. In order to also allow decoding of stub target addresses in the future, we mention the stub flavor in the section name as well.
Commit: b86420c614b57342e752ff40359e09c85b940475
https://github.com/llvm/llvm-project/commit/b86420c614b57342e752ff40359e09c85b940475
Author: Stefan Gränitz <stefan.graenitz at gmail.com>
Date: 2023-11-24 (Fri, 24 Nov 2023)
Changed paths:
M llvm/include/llvm/ExecutionEngine/JITLink/aarch32.h
M llvm/lib/ExecutionEngine/JITLink/aarch32.cpp
M llvm/unittests/ExecutionEngine/JITLink/AArch32Tests.cpp
Log Message:
-----------
[JITLink][AArch32] Add dynamic lookup for relocation fixup infos (#71649)
Specifying relocation fixup constants with name and type facilitates
readability and compile-time checks. The `FixupInfo<EdgeKind>` facade
organizes the information into entries per relocation type and provides
uniform access across Arm and Thumb relocations. Since it uses template
specializations, it doesn't limit potential entries. We cannot access
the entries dynamically though, because `EdgeKind` must be given as a
compile-time constant.
With this patch we populate a static lookup table on-demand and use it
for dynamic access in opcode-checks.
Commit: 85b2e9c02295a54100d41207cddce5908b8c513f
https://github.com/llvm/llvm-project/commit/85b2e9c02295a54100d41207cddce5908b8c513f
Author: Raymond Chang <raymondkenchang at gmail.com>
Date: 2023-11-24 (Fri, 24 Nov 2023)
Changed paths:
M clang/lib/CodeGen/CGStmt.cpp
A clang/test/OpenMP/dispatch_unsupported.c
Log Message:
-----------
[Clang][OpenMP] Emit unsupported directive error (#70233)
Hello!
This PR fixes #63871. Clang should no longer crash and instead emits an
error message.
Below is an example of the new error message:
```
~/dev/fork-llvm-project omp_dispatch_unimpl
❯ ./install/bin/clang -fopenmp -c -emit-llvm -Xclang -disable-llvm-passes test.c
test.c:6:5: error: cannot compile this OpenMP dispatch directive yet
6 | #pragma omp dispatch
| ^~~~~~~~~~~~~~~~~~~~
1 error generated.
```
Commit: a3c0f705db03c4ebf651ee2d83cebb02b1e27540
https://github.com/llvm/llvm-project/commit/a3c0f705db03c4ebf651ee2d83cebb02b1e27540
Author: Lixi Zhou <zhoulx2013 at gmail.com>
Date: 2023-11-24 (Fri, 24 Nov 2023)
Changed paths:
M openmp/runtime/test/ompt/callback.h
Log Message:
-----------
[NFC] fix failed ompt tests on M1 device (#65696)
Fix the 2 failed ompt tests on M1 device found on #63194.
```
libomp :: ompt/synchronization/masked.c
libomp :: ompt/synchronization/master.c
```
For the details of this fix, please check the origin discussion in
https://github.com/llvm/llvm-project/issues/63194#issuecomment-1710494689
Thanks @jprotze for the fix.
Commit: 12563ea6403f6f5a467862732b92db3517626cd2
https://github.com/llvm/llvm-project/commit/12563ea6403f6f5a467862732b92db3517626cd2
Author: philnik777 <nikolasklauser at berlin.de>
Date: 2023-11-24 (Fri, 24 Nov 2023)
Changed paths:
M libcxx/include/__availability
M libcxx/include/__verbose_abort
M libcxx/include/fstream
M libcxx/include/sstream
M libcxx/include/version
M libcxx/src/ios.instantiations.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/atomic.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/barrier.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/filesystem.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/latch.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/memory_resource.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/semaphore.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/stop_token.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/thread.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_terminates.sh.cpp
M libcxx/utils/generate_feature_test_macro_components.py
Log Message:
-----------
[libc++][NFC] Refactor _LIBCPP_AVAILABILITY_HAS_* macros to always be defined (#71002)
This makes the conditionals quite a bit simpler to understand, since it
avoids double negatives and makes sure we have <__availability>
included. For vendors which use availability macros, it also enforces
that they check when specific features are introduced and define the
macro for their platform appropriately.
Commit: afe8b93ffdfef5d8879e1894b9d7dda40dee2b8d
https://github.com/llvm/llvm-project/commit/afe8b93ffdfef5d8879e1894b9d7dda40dee2b8d
Author: serge-sans-paille <sguelton at mozilla.com>
Date: 2023-11-25 (Sat, 25 Nov 2023)
Changed paths:
M clang/lib/CodeGen/CGDecl.cpp
M clang/test/CodeGen/aapcs-align.cpp
M clang/test/CodeGen/aapcs64-align.cpp
M clang/test/CodeGenCXX/auto-var-init.cpp
M clang/test/CodeGenOpenCL/amdgpu-printf.cl
M clang/test/OpenMP/bug54082.c
Log Message:
-----------
[clang] Avoid memcopy for small structure with padding under -ftrivial-auto-var-init (#71677)
Recommit of 0d2860b795879f4dd152963b52f969b53b136899 with extra test
cases fixed.
Commit: 1a3b14d26152ab7e7352c8e7aa97ec880cdac82d
https://github.com/llvm/llvm-project/commit/1a3b14d26152ab7e7352c8e7aa97ec880cdac82d
Author: Craig Topper <craig.topper at sifive.com>
Date: 2023-11-24 (Fri, 24 Nov 2023)
Changed paths:
M clang/lib/Headers/CMakeLists.txt
A clang/lib/Headers/riscv_bitmanip.h
A clang/lib/Headers/riscv_crypto.h
M clang/test/CodeGen/RISCV/rvb-intrinsics/zbkb.c
M clang/test/CodeGen/RISCV/rvb-intrinsics/zbkc.c
M clang/test/CodeGen/RISCV/rvb-intrinsics/zbkx.c
M clang/test/CodeGen/RISCV/rvk-intrinsics/riscv32-zknd.c
M clang/test/CodeGen/RISCV/rvk-intrinsics/riscv32-zkne.c
M clang/test/CodeGen/RISCV/rvk-intrinsics/riscv32-zknh.c
M clang/test/CodeGen/RISCV/rvk-intrinsics/riscv64-zknd-zkne.c
M clang/test/CodeGen/RISCV/rvk-intrinsics/riscv64-zknd.c
M clang/test/CodeGen/RISCV/rvk-intrinsics/riscv64-zkne.c
M clang/test/CodeGen/RISCV/rvk-intrinsics/riscv64-zknh.c
M clang/test/CodeGen/RISCV/rvk-intrinsics/zksed.c
M clang/test/CodeGen/RISCV/rvk-intrinsics/zksh.c
M llvm/docs/ReleaseNotes.rst
Log Message:
-----------
[RISCV] Add C intrinsics for scalar bitmanip and crypto
This adds riscv_bitmanip and riscv_crypto.h
This is based on the proposed spec here https://github.com/riscv-non-isa/riscv-c-api-doc/pull/44
Tests that previously used builtins directly now use the intrinsics.
Reviewed By: wangpc
Differential Revision: https://reviews.llvm.org/D155647
Commit: bc85284273ea1e6efbf7367f736f7982459c652b
https://github.com/llvm/llvm-project/commit/bc85284273ea1e6efbf7367f736f7982459c652b
Author: Youngsuk Kim <joseph942010 at gmail.com>
Date: 2023-11-24 (Fri, 24 Nov 2023)
Changed paths:
M clang/tools/clang-linker-wrapper/OffloadWrapper.cpp
Log Message:
-----------
[clang-linker-wrapper] Re-use type returned from 'PointerType::getUnqual(C)' (NFC) (#73374)
Multiple calls to `PointerType::getUnqual(C)`, and calls to
`Type::getPointerTo(AddrSpace=0)` on them all result in the same type.
Clean them up to re-use the same `PtrTy` variable within function
`createRegisterGlobalsFunction()`.
Commit: a0a41d106dc932fa39c40562fc0d6f05fb8f5119
https://github.com/llvm/llvm-project/commit/a0a41d106dc932fa39c40562fc0d6f05fb8f5119
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2023-11-25 (Sat, 25 Nov 2023)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn
Log Message:
-----------
[gn build] Port 1a3b14d26152
Commit: 2ac6b268dacd6539a9c51cc930d11def2e14197c
https://github.com/llvm/llvm-project/commit/2ac6b268dacd6539a9c51cc930d11def2e14197c
Author: Youngsuk Kim <youngsuk.kim at hpe.com>
Date: 2023-11-24 (Fri, 24 Nov 2023)
Changed paths:
M llvm/lib/Transforms/Utils/InlineFunction.cpp
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
Log Message:
-----------
[llvm][Transforms][Utils] Remove no-op ptr-to-ptr bitcasts (NFC)
Opaque ptr cleanup effort (NFC).
Commit: 5ac5c0e7d1007745456329dbcf05aa15b50c08c8
https://github.com/llvm/llvm-project/commit/5ac5c0e7d1007745456329dbcf05aa15b50c08c8
Author: Youngsuk Kim <youngsuk.kim at hpe.com>
Date: 2023-11-24 (Fri, 24 Nov 2023)
Changed paths:
M llvm/lib/Target/X86/X86WinEHState.cpp
Log Message:
-----------
[llvm][X86WinEHState] Replace calls to 'Type::getPointerTo' (NFC)
Work towards to the TODO item of removing method `Type::getPointerTo`
(as noted in llvm/include/llvm/IR/Type.h).
Commit: 024718313b526a4530d7cd58886fcc157247e0ff
https://github.com/llvm/llvm-project/commit/024718313b526a4530d7cd58886fcc157247e0ff
Author: Daniel Chen <cdchen at ca.ibm.com>
Date: 2023-11-24 (Fri, 24 Nov 2023)
Changed paths:
M flang/unittests/Runtime/RuntimeCrashTest.cpp
Log Message:
-----------
[Flang] Fix a test case that depends on stderr output of nullptr. (#73349)
This test case depends on the stderr output of a `nullptr` being
"(null)". However, it is empty string on AIX.
This PR is to initialize the `sourceFileName_` to be a specific string
to avoid that.
Commit: 16dc5572fa7a1eca35fa1a41f8c69425a38a0fa0
https://github.com/llvm/llvm-project/commit/16dc5572fa7a1eca35fa1a41f8c69425a38a0fa0
Author: Yida Zhang <zyd200101 at outlook.com>
Date: 2023-11-24 (Fri, 24 Nov 2023)
Changed paths:
M llvm/lib/Target/MSP430/MSP430InstrInfo.td
Log Message:
-----------
[MSP430] Add missed mayStore flag for MSP430 PUSH instructions (#73377)
Commit: f995afe7f265683a6343a41ac62401150b40ca33
https://github.com/llvm/llvm-project/commit/f995afe7f265683a6343a41ac62401150b40ca33
Author: Craig Topper <craig.topper at sifive.com>
Date: 2023-11-24 (Fri, 24 Nov 2023)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/load-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/load-rv64.mir
Log Message:
-----------
[RISCV][GISel] Add G_FRAME_INDEX support to selectAddrRegImm.
We can fold the G_FRAME_INDEX into a load/store address.
Commit: 26cf3aab836ce421156d7542985f35701e1b5783
https://github.com/llvm/llvm-project/commit/26cf3aab836ce421156d7542985f35701e1b5783
Author: Craig Topper <craig.topper at sifive.com>
Date: 2023-11-24 (Fri, 24 Nov 2023)
Changed paths:
M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/load-rv64.mir
Log Message:
-----------
[RISCV][GISel] Add more G_SEXTLOAD instruction selection tests. NFC
Commit: c8f6bb452a77260f543cb256e53a5028bb180668
https://github.com/llvm/llvm-project/commit/c8f6bb452a77260f543cb256e53a5028bb180668
Author: Rik Huijzer <github at huijzer.xyz>
Date: 2023-11-25 (Sat, 25 Nov 2023)
Changed paths:
M mlir/include/mlir/Dialect/Arith/IR/ArithOps.td
M mlir/include/mlir/Dialect/Complex/IR/ComplexOps.td
M mlir/include/mlir/Dialect/MemRef/IR/MemRefOps.td
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
Log Message:
-----------
[mlir][doc] Remove duplicate syntax formats (#73343)
Some operations defined their syntax both in the documentation and via
`assemblyFormat`. This leads to two `Syntax:` subheadings in the
documentation, see for example the documentation for
[`arith.maximumf`](https://mlir.llvm.org/docs/Dialects/ArithOps/#arithmaximumf-arithmaximumfop).
Since the `assemblyFormat` is used to generate the actual parsers and
printer implementations, this PR suggest to remove the manual syntax
descriptions.
Commit: 9cee94b81b14acf6e22b123e03e88ccff6d6913d
https://github.com/llvm/llvm-project/commit/9cee94b81b14acf6e22b123e03e88ccff6d6913d
Author: David Green <david.green at arm.com>
Date: 2023-11-25 (Sat, 25 Nov 2023)
Changed paths:
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/test/CodeGen/AArch64/GlobalISel/combine-add.mir
Log Message:
-----------
[GlobalISel] Add identity fold for fadd -0.0 (#73296)
-0.0 acts as the identity element for fadd. This doesn't try to add 0.0
too, which would require nsz fast math flags.
Commit: 2170252b443f898d7c650ce93ab701a697c351df
https://github.com/llvm/llvm-project/commit/2170252b443f898d7c650ce93ab701a697c351df
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2023-11-25 (Sat, 25 Nov 2023)
Changed paths:
M .ci/monolithic-linux.sh
M .ci/monolithic-windows.sh
Log Message:
-----------
[CI] Add check-mlir-python to MLIR pre-merge checks (#72847)
PR for: https://discourse.llvm.org/t/add-check-mlir-python-to-the-mlir-pre-commit-tests/74041
It’s easy to forget about the Python bindings and not build/test them
locally. It’s also easy to change something that’ll break the python
binding tests and not find out till after you’ve committed your change.
These tests seem to run quickly and don’t require much extra setup, so
let's add them to the general MLIR pre-merge tests.
Commit: e970652776bd07dbe42be557bf98722749230653
https://github.com/llvm/llvm-project/commit/e970652776bd07dbe42be557bf98722749230653
Author: Stefan Gränitz <stefan.graenitz at gmail.com>
Date: 2023-11-25 (Sat, 25 Nov 2023)
Changed paths:
M llvm/lib/ExecutionEngine/JITLink/aarch32.cpp
M llvm/unittests/ExecutionEngine/JITLink/AArch32ErrorTests.cpp
M llvm/unittests/ExecutionEngine/JITLink/AArch32Tests.cpp
Log Message:
-----------
[JITLink][AArch32] Reflow code structure after llvm::endianness refactor (NFC)
Commit: 9020026b88b7f49d9d0e1780a89df4a2bce811e8
https://github.com/llvm/llvm-project/commit/9020026b88b7f49d9d0e1780a89df4a2bce811e8
Author: Stefan Gränitz <stefan.graenitz at gmail.com>
Date: 2023-11-25 (Sat, 25 Nov 2023)
Changed paths:
M llvm/unittests/ExecutionEngine/JITLink/AArch32ErrorTests.cpp
Log Message:
-----------
[JITLink][AArch32] Fix GetEdgeKindName function in error tests
The `getGenericEdgeKindName()` function returned "<Unrecognized edge kind>" for all our relocations.
We must use `aarch32::getEdgeKindName()` instead.
Commit: 385304eb6f8c5b3137cd4937d6a93c5072bfc6b1
https://github.com/llvm/llvm-project/commit/385304eb6f8c5b3137cd4937d6a93c5072bfc6b1
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2023-11-25 (Sat, 25 Nov 2023)
Changed paths:
R mlir/test/Dialect/Vector/vector-contract-matvec-transforms.mlir
A mlir/test/Dialect/Vector/vector-contract-to-outerproduct-matvec-transforms.mlir
M mlir/test/Dialect/Vector/vector-contract-to-outerproduct-transforms.mlir
Log Message:
-----------
[MLIR][Vector] Refactor tests for contract -> OP transforms (#73348)
This patch refactors tests for:
* vector.contract -> vector.outerproduct
transformations for matvec operations (b += Ax). Specifically, relevant
tests from the following 2 files:
* vector-contract-matvec-transforms.mlir
* vector-contract-to-outerproduct-transforms.mlir
are combined into one:
* vector-contract-to-outerproduct-matvec-transforms.mlir
All original tests are preserved and no new tests are added.
This is a part of a larger effort to add cases with scalable vectors
to tests for the Vector dialect. I am refactoring these test as a
preparation for follow-up patches.
Implements #72834.
Commit: bbc5d9fe427362f3fec8d147d5f7bc2d39b08e44
https://github.com/llvm/llvm-project/commit/bbc5d9fe427362f3fec8d147d5f7bc2d39b08e44
Author: Eleanor Bonnici <eleanor.bonnici at arm.com>
Date: 2023-11-25 (Sat, 25 Nov 2023)
Changed paths:
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp
A llvm/test/MC/ARM/pcrel-arm-ldr-imm8-relocs.s
M llvm/test/MC/ARM/pcrel-global.s
A llvm/test/MC/ARM/pcrel-ldr-relocs.s
A llvm/test/MC/ARM/pcrel-thumb-ldr2-relocs.s
M llvm/test/MC/ARM/thumb1-relax-ldrlit.s
Log Message:
-----------
[llvm][MC][ARM][Assembly] Emit relocations for LDRs (#72873)
It's possible (though inadvisable) to use LDR and refer to labels in
different
sections. In the Arm state, the assembler resolves the LDR instruction
without
emitting a relocation. That's incorrect because the assembler cannot
make any
assumptions about the relative position of the sections and the compiler
output
is therefore wrong.
This patch ensures relocations are generated for all `LDR <Rt...>,
label`
instructions in the Arm state (little endian). This is not necessary
when the
label is in the same section but the relocation is now generated
regardless.
Instructions that now generate relocations have been removed from the
pcrel-global.s test.
Fortunately, LLD already implements the generated relocations and can
fix LDR
instructions when the symbol is in a different section, or report an
error if
the offset is too large for the immediate field in the particular LDR's
encoding.
The patch to address this problem for big endian targets will follow, as
well
as a fix for ADR that exhibits a similar behavior.
Commit: 84a20989c6f72d0f7d04c9981d51c7838e95855c
https://github.com/llvm/llvm-project/commit/84a20989c6f72d0f7d04c9981d51c7838e95855c
Author: Weining Lu <luweining at loongson.cn>
Date: 2023-11-25 (Sat, 25 Nov 2023)
Changed paths:
M lld/ELF/Arch/LoongArch.cpp
M lld/test/ELF/loongarch-pc-aligned.s
Log Message:
-----------
[lld][LoongArch] Add a another corner testcase for elf::getLoongArchPageDelta
Similar to e752b58e0d26.
Commit: 494c9e5f59302b1681d1f6171cd01c26004d05fb
https://github.com/llvm/llvm-project/commit/494c9e5f59302b1681d1f6171cd01c26004d05fb
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2023-11-25 (Sat, 25 Nov 2023)
Changed paths:
M libcxx/docs/ReleaseNotes/18.rst
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/docs/UsingLibcxx.rst
M libcxx/include/string
M libcxx/test/libcxx/strings/basic.string/string.capacity/PR53170.pass.cpp
M libcxx/test/std/strings/basic.string/string.capacity/reserve.deprecated_in_cxx20.verify.cpp
M libcxx/test/std/strings/basic.string/string.capacity/reserve.pass.cpp
A libcxx/test/std/strings/basic.string/string.capacity/reserve.removed_in_cxx26.verify.cpp
Log Message:
-----------
[libc++] Removes basic_string::reserve(). (#73354)
Implements:
- P2870R3 Remove basic_string::reserve()
---------
Co-authored-by: philnik777 <nikolasklauser at berlin.de>
Commit: fcf5ac84a62de48fc9a6be545e84ccd7e6436320
https://github.com/llvm/llvm-project/commit/fcf5ac84a62de48fc9a6be545e84ccd7e6436320
Author: Nathan Sidwell <nathan at acm.org>
Date: 2023-11-25 (Sat, 25 Nov 2023)
Changed paths:
M llvm/lib/IR/AutoUpgrade.cpp
Log Message:
-----------
[llvm][NFC] Autoupdater x86 intrinsic selection (#73046)
Sort x86 intrinsics and use prefix checking.
Commit: 0fea00d48bcd2368f21ecbca80833093f3a96e64
https://github.com/llvm/llvm-project/commit/0fea00d48bcd2368f21ecbca80833093f3a96e64
Author: Stefan Gränitz <stefan.graenitz at gmail.com>
Date: 2023-11-25 (Sat, 25 Nov 2023)
Changed paths:
M llvm/unittests/ExecutionEngine/JITLink/AArch32ErrorTests.cpp
Log Message:
-----------
[JITLink][AArch32] Split invalid edge kind test out into readAddendDataErrors
This test actually exercises the readAddendData() function.
Commit: 3703e7cb424269740cccaa936db3afc250af5371
https://github.com/llvm/llvm-project/commit/3703e7cb424269740cccaa936db3afc250af5371
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2023-11-25 (Sat, 25 Nov 2023)
Changed paths:
M libcxx/docs/ReleaseNotes/18.rst
Log Message:
-----------
[libc++][doc] Fixes grammar issues.
Commit: 7c44167daa7529d0a1352746e17c9aba6a4ed8ae
https://github.com/llvm/llvm-project/commit/7c44167daa7529d0a1352746e17c9aba6a4ed8ae
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2023-11-25 (Sat, 25 Nov 2023)
Changed paths:
M libcxx/include/mdspan
Log Message:
-----------
[libc++] Updates mdspan synopsis,
The class layout_stride has been implemented in
639a0986f3a34d52533a726e2a4193411cc1312f
Commit: fa23d2b9d972134fba3424814b690dd29a33c231
https://github.com/llvm/llvm-project/commit/fa23d2b9d972134fba3424814b690dd29a33c231
Author: Stefan Gränitz <stefan.graenitz at gmail.com>
Date: 2023-11-25 (Sat, 25 Nov 2023)
Changed paths:
M llvm/unittests/ExecutionEngine/JITLink/AArch32ErrorTests.cpp
Log Message:
-----------
[JITLink][AArch32] Add test fixture with helper functions in error tests
Commit: bc6b632723f8a025c7daa78c82f7d2ad1962a4e9
https://github.com/llvm/llvm-project/commit/bc6b632723f8a025c7daa78c82f7d2ad1962a4e9
Author: Youngsuk Kim <youngsuk.kim at hpe.com>
Date: 2023-11-25 (Sat, 25 Nov 2023)
Changed paths:
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
Log Message:
-----------
[CGOpenMPRuntimeGPU] Remove no-op ptr-to-ptr bitcasts (NFC)
Opaque ptr cleanup effort
Commit: 564ff80e22735505cb58e8b05cc40434a8559725
https://github.com/llvm/llvm-project/commit/564ff80e22735505cb58e8b05cc40434a8559725
Author: Craig Topper <craig.topper at sifive.com>
Date: 2023-11-25 (Sat, 25 Nov 2023)
Changed paths:
M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/store-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/store-rv64.mir
Log Message:
-----------
[RISCV][GISel] Test G_FRAME_INDEX folding into store address. NFC
Commit: 75a9ed42461aad6d8e3a0db20d660b6a598491ad
https://github.com/llvm/llvm-project/commit/75a9ed42461aad6d8e3a0db20d660b6a598491ad
Author: Craig Topper <craig.topper at sifive.com>
Date: 2023-11-25 (Sat, 25 Nov 2023)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/load-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/load-rv64.mir
M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/store-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/store-rv64.mir
Log Message:
-----------
[RISCV][GISel] Add simplest case of folding add with immediate into load/store address.
This covers the simm12 offset case.
Commit: bee78b88f8effdb378a809e0416988ce9c37f5ac
https://github.com/llvm/llvm-project/commit/bee78b88f8effdb378a809e0416988ce9c37f5ac
Author: antangelo <contact at antangelo.com>
Date: 2023-11-25 (Sat, 25 Nov 2023)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaTemplate.cpp
M clang/test/SemaTemplate/nested-deduction-guides.cpp
A clang/test/SemaTemplate/nested-implicit-deduction-guides.cpp
Log Message:
-----------
Reland "[clang][Sema] Use original template pattern when declaring implicit deduction guides for nested template classes" (#73087)
Reland of f418319730341e9d41ce8ead6fbfe5603c343985 with proper handling
of template constructors
When a nested template is instantiated, the template pattern of the
inner class is not copied into the outer class
ClassTemplateSpecializationDecl. The specialization contains a
ClassTemplateDecl with an empty record that points to the original
template pattern instead.
As a result, when looking up the constructors of the inner class, no
results are returned. This patch finds the original template pattern and
uses that for the lookup instead.
Based on CWG2471 we must also substitute the known outer template
arguments when creating deduction guides for the inner class.
Changes from last iteration:
1. In template constructors, arguments are first rewritten to depth - 1
relative to the constructor as compared to depth 0 originally. These
arguments are needed for substitution into constraint expressions.
2. Outer arguments are then applied with the template instantiator to
produce a template argument at depth zero for use in the deduction
guide. This substitution does not evaluate constraints, which preserves
constraint arguments at the correct depth for later evaluation.
3. Tests are added that cover template constructors within nested
deduction guides for all special substitution cases.
4. Computation of the template pattern and outer instantiation arguments
are pulled into the constructor of
`ConvertConstructorToDeductionGuideTransform`.
Commit: 92b821f2dcddbfa934689e10d8f11df150ab1043
https://github.com/llvm/llvm-project/commit/92b821f2dcddbfa934689e10d8f11df150ab1043
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2023-11-25 (Sat, 25 Nov 2023)
Changed paths:
M llvm/tools/llvm-exegesis/lib/Assembler.cpp
M llvm/tools/llvm-exegesis/lib/Assembler.h
M llvm/tools/llvm-exegesis/lib/CMakeLists.txt
Log Message:
-----------
Reland "[llvm-exegesis] Switch from MCJIT to LLJIT (#72838)"
This reverts commit ddc6ef46418cc419041d0bd85de40d0eb9396848.
This relands commit 12b0ab2c9ce8ef813d9eb888860f20daac3336bd.
There was an issue with certain configurations failing to build due to a
deleted Error constructor that should be fixed with this relanding.
Commit: 6b708cc96b4b78e943fc7af7beb3c9c1f52f979f
https://github.com/llvm/llvm-project/commit/6b708cc96b4b78e943fc7af7beb3c9c1f52f979f
Author: avl-llvm <55248412+avl-llvm at users.noreply.github.com>
Date: 2023-11-26 (Sun, 26 Nov 2023)
Changed paths:
M llvm/lib/DWARFLinkerParallel/DWARFLinkerCompileUnit.h
M llvm/lib/DWARFLinkerParallel/DependencyTracker.h
Log Message:
-----------
[DWARFLinkerParallel] fix build on 32-bit platform. (#73388)
This fixes usage of PointerIntPair on 32-bit platform -
https://github.com/llvm/llvm-project/issues/73267.
Commit: c018ae92945b0f5ec1bd5581e8305a5db7b48169
https://github.com/llvm/llvm-project/commit/c018ae92945b0f5ec1bd5581e8305a5db7b48169
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2023-11-25 (Sat, 25 Nov 2023)
Changed paths:
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/LinkAllPasses.h
M llvm/include/llvm/Transforms/Scalar.h
M llvm/lib/Transforms/Scalar/Reg2Mem.cpp
M llvm/lib/Transforms/Scalar/Scalar.cpp
Log Message:
-----------
[NewPM] Remove Reg2Mem Legacy Pass (#73404)
This pass isn't used anywhere upstream and thus has no test coverage.
For these reasons it should be removed.
Commit: 24f6f12ba8d5099fd5674b0400f69e1868ed3644
https://github.com/llvm/llvm-project/commit/24f6f12ba8d5099fd5674b0400f69e1868ed3644
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2023-11-25 (Sat, 25 Nov 2023)
Changed paths:
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/Transforms/Utils/PredicateInfo.h
M llvm/lib/Transforms/Utils/PredicateInfo.cpp
M llvm/lib/Transforms/Utils/Utils.cpp
Log Message:
-----------
[NewPM] Remove PredicateInfoPrinterLegacyPass (#73407)
This pass isn't used anywhere upstream and thus has no test coverage.
For these reasons, remove it.
Commit: 631e737d7240a0eb0cdfa143fc1bf6ca820c5477
https://github.com/llvm/llvm-project/commit/631e737d7240a0eb0cdfa143fc1bf6ca820c5477
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2023-11-25 (Sat, 25 Nov 2023)
Changed paths:
M llvm/include/llvm/InitializePasses.h
M llvm/lib/Analysis/Analysis.cpp
M llvm/lib/Analysis/CallGraph.cpp
Log Message:
-----------
[NewPM] Remove CallGraphPrinterLegacyPass (#73409)
This pass isn't used anywhere upstream and thus doesn't have any test
coverage. For these reasons, remove it.
Commit: 835e2e43266244b6fe3664e94285226df1aee034
https://github.com/llvm/llvm-project/commit/835e2e43266244b6fe3664e94285226df1aee034
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2023-11-25 (Sat, 25 Nov 2023)
Changed paths:
M llvm/include/llvm/InitializePasses.h
M llvm/lib/Analysis/Analysis.cpp
M llvm/lib/Analysis/CFGPrinter.cpp
Log Message:
-----------
[NewPM] Remove CFGViewerLegacyPass (#73410)
This pass isn't used anywhere upstream, has a NewPM equivalent, and has
no test coverage. For these reasons, remove it.
Commit: 65cbe068d275ddd216cc3ba23708f093e3718bd1
https://github.com/llvm/llvm-project/commit/65cbe068d275ddd216cc3ba23708f093e3718bd1
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2023-11-25 (Sat, 25 Nov 2023)
Changed paths:
M llvm/include/llvm/InitializePasses.h
M llvm/lib/Analysis/Analysis.cpp
M llvm/lib/Analysis/CFGPrinter.cpp
Log Message:
-----------
[NewPM] Remove CFGOnlyViewerLegacyPass (#73411)
This pass has a NewPM equivalent, isn't used anywhere upstream, and
doesn't have any test coverage. For these reasons, remove it.
Commit: cd4e62833554b9925f055d1b890ca3d0c061fbe4
https://github.com/llvm/llvm-project/commit/cd4e62833554b9925f055d1b890ca3d0c061fbe4
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2023-11-25 (Sat, 25 Nov 2023)
Changed paths:
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/LinkAllPasses.h
M llvm/include/llvm/Transforms/Scalar.h
M llvm/lib/Transforms/Scalar/DCE.cpp
M llvm/lib/Transforms/Scalar/Scalar.cpp
Log Message:
-----------
[NewPM] Remove Legacy RedudantDbgInstEliminationPass (#73405)
This pass isn't used by anywhere upstream and thus has no test coverage.
For these reasons, remove it.
Commit: 505523ed34869c4f4324d79da11d27fe0c628238
https://github.com/llvm/llvm-project/commit/505523ed34869c4f4324d79da11d27fe0c628238
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2023-11-25 (Sat, 25 Nov 2023)
Changed paths:
M llvm/include/llvm/Analysis/CFGPrinter.h
M llvm/include/llvm/InitializePasses.h
M llvm/lib/Analysis/Analysis.cpp
M llvm/lib/Analysis/CFGPrinter.cpp
Log Message:
-----------
[NewPM] Remove CFGOnlyPrinterLegacyPass (#73412)
This pass has no test coverage upstream, is not used anywhere upstream,
and has a NewPM equivalent. For these reasons, remove it.
Commit: 52848d001766ea2deb5705458632d4b0efe8ea34
https://github.com/llvm/llvm-project/commit/52848d001766ea2deb5705458632d4b0efe8ea34
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2023-11-26 (Sun, 26 Nov 2023)
Changed paths:
M llvm/test/MC/X86/x86_errors.s
Log Message:
-----------
[X86[MC][test] Error for EGPR in 32-bit mode
Commit: 3bbed4ee26817e50ec699fe66017638ee080fc20
https://github.com/llvm/llvm-project/commit/3bbed4ee26817e50ec699fe66017638ee080fc20
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2023-11-26 (Sun, 26 Nov 2023)
Changed paths:
M llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp
Log Message:
-----------
[X86][MC] Remove duplicated code in getX86SubSuperRegister by using macros, NFCI
Commit: abc405858d6d6212d1eb40298865771e8a3b759a
https://github.com/llvm/llvm-project/commit/abc405858d6d6212d1eb40298865771e8a3b759a
Author: Chen Zheng <czhengsz at cn.ibm.com>
Date: 2023-11-26 (Sun, 26 Nov 2023)
Changed paths:
M llvm/include/llvm/Object/XCOFFObjectFile.h
M llvm/lib/Object/XCOFFObjectFile.cpp
M llvm/test/CodeGen/PowerPC/aix-text.ll
M llvm/test/CodeGen/PowerPC/aix-xcoff-funcsect.ll
A llvm/test/tools/llvm-objdump/XCOFF/aux-entry-invalid-type.test
M llvm/test/tools/llvm-symbolizer/xcoff-sd-symbol.ll
Log Message:
-----------
[XCOFF] make related SD symbols as isFunction (#69553)
This will help tools like llvm-symbolizer recognizes more functions.
Commit: 365114292a312f5caf95186168bd25105b302416
https://github.com/llvm/llvm-project/commit/365114292a312f5caf95186168bd25105b302416
Author: Maksim Panchenko <maks at fb.com>
Date: 2023-11-25 (Sat, 25 Nov 2023)
Changed paths:
M bolt/lib/Core/BinaryFunction.cpp
Log Message:
-----------
[BOLT][NFC] Refactor function state check (#73420)
Remove redundant check in updateOutputValues().
Commit: 1aa1d176ba96ded489b902376426dde71556be1f
https://github.com/llvm/llvm-project/commit/1aa1d176ba96ded489b902376426dde71556be1f
Author: Douglas Yung <douglas.yung at sony.com>
Date: 2023-11-25 (Sat, 25 Nov 2023)
Changed paths:
M llvm/test/CodeGen/AArch64/store-swift-async-context-clobber-live-reg.ll
Log Message:
-----------
Add "REQUIRES: asserts" to test as it requires the compiler to hit an assertion failure to pass and was failing in release builds.
Commit: f4834255d30d695fb89c4b566d65917a8e505ca2
https://github.com/llvm/llvm-project/commit/f4834255d30d695fb89c4b566d65917a8e505ca2
Author: Maksim Panchenko <maks at fb.com>
Date: 2023-11-25 (Sat, 25 Nov 2023)
Changed paths:
M bolt/lib/Core/BinaryFunction.cpp
Log Message:
-----------
[BOLT] Reset output addresses for deleted blocks (#73429)
This is a follow-up to #73076. We need to reset output addresses for
deleted blocks, otherwise the address translation may mistakenly
attribute input address of a deleted block to a non-zero address.
While working on a test case, I've discovered that DWARF output ranges
were already broken for deleted basic blocks: #73428. I will provide a
test case for this PR with a DWARF address range fix PR.
Commit: 1449b349ac4072adb1f593234c1d6f67986d3b6a
https://github.com/llvm/llvm-project/commit/1449b349ac4072adb1f593234c1d6f67986d3b6a
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2023-11-26 (Sun, 26 Nov 2023)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[Bazel] Fix llvm-exegesis build post 12b0ab2
12b0ab2 switched llvm-exegesis from using MCJIT to OrcJIT, which is a
different dep/library. This was ported over in the CMake build, but not
in the bazel build. This patch adjusts the llvm-exegesis deps in the
Bazel build to account for this change.
Commit: 9ba74c2ee044381544c8e1e736c4c85a1a9d56bf
https://github.com/llvm/llvm-project/commit/9ba74c2ee044381544c8e1e736c4c85a1a9d56bf
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2023-11-26 (Sun, 26 Nov 2023)
Changed paths:
M llvm/include/llvm/Analysis/CFGPrinter.h
M llvm/include/llvm/InitializePasses.h
M llvm/lib/Analysis/Analysis.cpp
M llvm/lib/Analysis/CFGPrinter.cpp
Log Message:
-----------
[NewPM] Remove CFGPrinterLegacyPass (#73414)
This pass has no test coverage in upstream LLVM, is not used anywhere in
upstream LLVM, and has a NewPM equivalent. For these reasons, remove it.
Commit: f42eb15c39405a8ae26d7f4f2fe7b29337ed6799
https://github.com/llvm/llvm-project/commit/f42eb15c39405a8ae26d7f4f2fe7b29337ed6799
Author: Youngsuk Kim <joseph942010 at gmail.com>
Date: 2023-11-26 (Sun, 26 Nov 2023)
Changed paths:
M llvm/lib/Transforms/Coroutines/CoroCleanup.cpp
M llvm/lib/Transforms/Coroutines/Coroutines.cpp
M llvm/test/Transforms/Coroutines/coro-resume-destroy.ll
Log Message:
-----------
[llvm][Coroutines] Remove no-op ptr-to-ptr bitcasts (NFC) (#73427)
Opaque ptr cleanup effort
Commit: 79a2cf5da31913d75056fa272c784272fcc1278d
https://github.com/llvm/llvm-project/commit/79a2cf5da31913d75056fa272c784272fcc1278d
Author: Tom Stellard <tstellar at redhat.com>
Date: 2023-11-26 (Sun, 26 Nov 2023)
Changed paths:
M llvm/utils/release/test-release.sh
Log Message:
-----------
test-release.sh: Default to letting ninja select the number of build jobs (#73187)
ninja defaults to using ncpus + 2 build jobs, and this extra parallelism
helps the script complete faster in my testing on the GitHub runners.
Commit: dc8b055c71d2ff2f43c0f4cac66e15a210b91e3b
https://github.com/llvm/llvm-project/commit/dc8b055c71d2ff2f43c0f4cac66e15a210b91e3b
Author: Da-Viper <57949090+Da-Viper at users.noreply.github.com>
Date: 2023-11-26 (Sun, 26 Nov 2023)
Changed paths:
M llvm/utils/git/github-automation.py
Log Message:
-----------
[GitHub] Update bot message to suggest GitHub pull requests (#65914)
Fixes #65890.
---------
Co-authored-by: Danny Mösch <danny.moesch at icloud.com>
Commit: 346a29908e0a0401073169ea94c17be72a9c83db
https://github.com/llvm/llvm-project/commit/346a29908e0a0401073169ea94c17be72a9c83db
Author: Stephan T. Lavavej <stl at nuwen.net>
Date: 2023-11-26 (Sun, 26 Nov 2023)
Changed paths:
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/sort.heap/complexity.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.cons/from_range.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.modifiers/append_range.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.modifiers/assign_range.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.modifiers/insert_range.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.modifiers/prepend_range.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/append_range.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/assign_range.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/construct_from_range.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/insert_range.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.cons/construct_from_range.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.modifiers/append_range.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.modifiers/assign_range.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.modifiers/insert_range.pass.cpp
M libcxx/test/std/strings/basic.string/string.modifiers/string_append/append_range.pass.cpp
M libcxx/test/std/strings/basic.string/string.modifiers/string_assign/assign_range.pass.cpp
M libcxx/test/std/strings/basic.string/string.modifiers/string_insert/insert_range.pass.cpp
M libcxx/test/std/thread/futures/futures.future_error/what.pass.cpp
M libcxx/test/std/utilities/function.objects/func.invoke/invoke_r.pass.cpp
M libcxx/test/support/deduction_guides_sfinae_checks.h
Log Message:
-----------
[libc++][test] Fix unused and nodiscard warnings (#73437)
Found while running libc++'s test suite with MSVC's STL.
This is structured into a series of commits for easier reviewing; I
could also split this into smaller PRs if desired.
* Add void-casts for `invoke_r` calls to fix MSVC STL `[[nodiscard]]`
warnings.
+ Our rationale is that if someone is calling `invoke_r<NonVoidType>`,
it sure looks like they care about the return value.
* Add `[[maybe_unused]]` to silence `-Wunused-parameter` warnings.
+ This happens because the parameters are used within `LIBCPP_ASSERT`,
which vanishes for MSVC's STL. This also motivates the following
changes.
* Add `[[maybe_unused]]` to fix `-Wunused-variable` warnings.
* Always void-cast `debug_comparisons` to fix `-Wunused-variable`
warnings.
+ As this was already unused with a void-cast in one
`_LIBCPP_HARDENING_MODE` branch, I'm simply lifting it next to the
variable definition.
* Add `[[maybe_unused]]` to fix `-Wunused-local-typedef` warnings.
Commit: bc191ac376fb30e118bca873cfa6d66e6572a6b7
https://github.com/llvm/llvm-project/commit/bc191ac376fb30e118bca873cfa6d66e6572a6b7
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2023-11-26 (Sun, 26 Nov 2023)
Changed paths:
M llvm/tools/llvm-readtapi/llvm-readtapi.cpp
Log Message:
-----------
[readtapi] Use consistent error handling diagnostics (#73419)
Commit: d033f51a0aafd8149f5059bc0f89ffd300093356
https://github.com/llvm/llvm-project/commit/d033f51a0aafd8149f5059bc0f89ffd300093356
Author: Sunil Kuravinakop <koops at hpe.com>
Date: 2023-11-26 (Sun, 26 Nov 2023)
Changed paths:
M clang/include/clang/AST/OpenMPClause.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/OpenMPKinds.def
M clang/include/clang/Basic/OpenMPKinds.h
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/OpenMPClause.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/Basic/CMakeLists.txt
M clang/lib/Basic/OpenMPKinds.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/test/OpenMP/atomic_ast_print.cpp
M clang/test/OpenMP/atomic_messages.cpp
M clang/tools/libclang/CIndex.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M llvm/include/llvm/Frontend/OpenMP/OMP.td
Log Message:
-----------
[OpenMP] atomic compare fail : Parser & AST support
Diff Revision: https://reviews.llvm.org/D123235
Commit: 2c545131b09f5ef7b361855ddc609f6687cce184
https://github.com/llvm/llvm-project/commit/2c545131b09f5ef7b361855ddc609f6687cce184
Author: philnik777 <nikolasklauser at berlin.de>
Date: 2023-11-26 (Sun, 26 Nov 2023)
Changed paths:
R libcxx/test/std/algorithms/alg.nonmodifying/alg.all_of/pstl.exception_handling.cpp
A libcxx/test/std/algorithms/alg.nonmodifying/alg.all_of/pstl.exception_handling.pass.cpp
R libcxx/test/std/experimental/memory/memory.observer.ptr/ctor.copy_move.cpp
A libcxx/test/std/experimental/memory/memory.observer.ptr/ctor.copy_move.pass.cpp
R libcxx/test/std/input.output/filesystems/class.file_status/file_status.status.eq.ops.cpp
A libcxx/test/std/input.output/filesystems/class.file_status/file_status.status.eq.ops.pass.cpp
R libcxx/test/std/iterators/predef.iterators/counted.iterator/increment.cpp
A libcxx/test/std/iterators/predef.iterators/counted.iterator/increment.pass.cpp
Log Message:
-----------
[libc++] Fix a few tests that are missing proper suffixes (#73444)
The tests were missing the `.pass.cpp` suffix to be recognized as tests.
As a result, they were never run and some are completely broken.
Commit: cd9829c231e32dc73cfe1957f84b1645e9105196
https://github.com/llvm/llvm-project/commit/cd9829c231e32dc73cfe1957f84b1645e9105196
Author: philnik777 <nikolasklauser at berlin.de>
Date: 2023-11-26 (Sun, 26 Nov 2023)
Changed paths:
M libcxx/include/__memory/allocator_traits.h
M libcxx/include/optional
M libcxx/test/std/containers/sequences/vector/vector.cons/copy.move_only.verify.cpp
M libcxx/test/std/containers/sequences/vector/vector.modifiers/resize_not_move_insertable.verify.cpp
Log Message:
-----------
[libc++][NFC] Use __construct_at and __destroy_at instead of using preprocessor conditionals (#70866)
Commit: 5a74805bd6b28af7744b88c0cfe2e2b68ac1779f
https://github.com/llvm/llvm-project/commit/5a74805bd6b28af7744b88c0cfe2e2b68ac1779f
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2023-11-26 (Sun, 26 Nov 2023)
Changed paths:
M llvm/include/llvm/Analysis/LazyValueInfo.h
M llvm/lib/Analysis/LazyValueInfo.cpp
M llvm/lib/Passes/PassRegistry.def
A llvm/test/Analysis/LazyValueAnalysis/print.ll
Log Message:
-----------
[LVI] Add NewPM printer pass (#73425)
This patch adds a NewPM printer pass for the LazyValueAnalysis.
Commit: f4a4e2f85d819f44772b29c12a6cd2b86c14d611
https://github.com/llvm/llvm-project/commit/f4a4e2f85d819f44772b29c12a6cd2b86c14d611
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2023-11-26 (Sun, 26 Nov 2023)
Changed paths:
M llvm/include/llvm/InitializePasses.h
M llvm/lib/Transforms/Utils/StripGCRelocates.cpp
M llvm/lib/Transforms/Utils/Utils.cpp
Log Message:
-----------
[NewPM] Remove StripGCRelocatesLegacyPass (#73403)
This pass isn't used anywhere upstream and thus has no test coverage.
For these reasons, remove it.
Commit: c672ba7dde3a6ec2f6c89fcb207c9a6a8474cedc
https://github.com/llvm/llvm-project/commit/c672ba7dde3a6ec2f6c89fcb207c9a6a8474cedc
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2023-11-26 (Sun, 26 Nov 2023)
Changed paths:
M llvm/include/llvm/IR/DebugInfo.h
M llvm/lib/IR/DebugInfo.cpp
M llvm/lib/Transforms/Scalar/CallSiteSplitting.cpp
M llvm/lib/Transforms/Scalar/JumpThreading.cpp
M llvm/lib/Transforms/Utils/CloneFunction.cpp
M llvm/lib/Transforms/Utils/CloneModule.cpp
M llvm/lib/Transforms/Utils/InlineFunction.cpp
A llvm/test/DebugInfo/Generic/inline-alloca-ordering.ll
A llvm/test/DebugInfo/Generic/inline-dbg-values.ll
M llvm/test/DebugInfo/Generic/inline-debug-loc.ll
M llvm/test/Transforms/CallSiteSplitting/callsite-split-preserve-debug.ll
M llvm/test/Transforms/Inline/alloca-dbgdeclare.ll
M llvm/test/Transforms/Inline/delete-function-with-metadata-use.ll
M llvm/test/Transforms/Inline/ignore-debug-info.ll
M llvm/test/Transforms/Inline/inline-skip-use-empty-alloca.ll
M llvm/test/Transforms/Inline/local-as-metadata-undominated-use.ll
M llvm/test/Transforms/Inline/no-inline-line-tables.ll
A llvm/test/Transforms/JumpThreading/guard-split-debuginfo.ll
M llvm/test/Transforms/LoopUnroll/debug-info.ll
Log Message:
-----------
[DebugInfo][RemoveDIs] Instrument inliner for non-instr debug-info (#72884)
With intrinsics representing debug-info, we just clone all the
intrinsics when inlining a function and don't think about it any
further. With non-instruction debug-info however we need to be a bit
more careful and manually move the debug-info from one place to another.
For the most part, this means keeping a "cursor" during block cloning of
where we last copied debug-info from, and performing debug-info copying
whenever we successfully clone another instruction.
There are several utilities in LLVM for doing this, all of which now
need to manually call cloneDebugInfo. The testing story for this is not
well covered as we could rely on normal instruction-cloning mechanisms
to do all the hard stuff. Thus, I've added a few tests to explicitly
test dbg.value behaviours, ahead of them becoming not-instructions.
Commit: 580858ad0accee171256d720cff465e7016f018d
https://github.com/llvm/llvm-project/commit/580858ad0accee171256d720cff465e7016f018d
Author: Nico Weber <thakis at chromium.org>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M llvm/utils/gn/secondary/llvm/tools/llvm-exegesis/lib/BUILD.gn
Log Message:
-----------
[gn] port 92b821f2dcdd
Commit: acdd3cc1785f5f002dbde48ccd9140578e5b59c9
https://github.com/llvm/llvm-project/commit/acdd3cc1785f5f002dbde48ccd9140578e5b59c9
Author: Nico Weber <thakis at chromium.org>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M llvm/utils/gn/secondary/llvm/tools/llvm-exegesis/BUILD.gn
M llvm/utils/gn/secondary/llvm/tools/llvm-exegesis/lib/BUILD.gn
Log Message:
-----------
[gn] manually re-sync llvm-exegesis tool deps
As far as I can tell, the non-lib part never depended on MCJIT,
so I'm not sure why I added that. While here, re-sync some other
deps.
Since there's no shared library build for the gn build, no real
behavior change.
Commit: 1a08887784484f7ea49c66c188c73527e7764648
https://github.com/llvm/llvm-project/commit/1a08887784484f7ea49c66c188c73527e7764648
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2023-11-26 (Sun, 26 Nov 2023)
Changed paths:
M llvm/lib/Transforms/Utils/CloneFunction.cpp
Log Message:
-----------
Suppressed unused-var warning from c672ba7dde
Commit: f0b5527b793413e40bfe1db799d9188e9180b53d
https://github.com/llvm/llvm-project/commit/f0b5527b793413e40bfe1db799d9188e9180b53d
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2023-11-26 (Sun, 26 Nov 2023)
Changed paths:
M llvm/include/llvm/IR/DebugInfoMetadata.h
M llvm/lib/IR/DebugInfoMetadata.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/LoopRotationUtils.cpp
M llvm/test/Transforms/LoopRotate/dbgvalue.ll
Log Message:
-----------
[DebugInfo][RemoveDIs] Instrument loop-rotate for DPValues (#72997)
Loop-rotate manually maintains dbg.value intrinsics -- it also needs to
manually maintain the replacement for dbg.value intrinsics, DPValue
objects. For the most part this patch adds parallel implementations
using the new type Some extra juggling is needed when loop-rotate hoists
loop-invariant instructions out of the loop: the DPValues attached to
such an instruction need to get rotated but not hoisted. Exercised by
the new test function invariant_hoist in dbgvalue.ll.
There's also a "don't insert duplicate debug intrinsics" facility in
LoopRotate. The value and correctness of this isn't clear, but to
continue preserving behaviour that's now tested in the "tak_dup"
function in dbgvalue.ll.
Other things in this patch include a helper DebugVariable constructor
for DPValues, a insertDebugValuesForPHIs handler for RemoveDIs
(exercised by the new tests), and beefing up the dbg.value checking in
dbgvalue.ll to ensure that each record is tested (and that there's an
implicit check-not).
Commit: 1314e8774f73565934c88c606fd7c81225d415fc
https://github.com/llvm/llvm-project/commit/1314e8774f73565934c88c606fd7c81225d415fc
Author: philnik777 <nikolasklauser at berlin.de>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M libcxx/include/__algorithm/pstl_move.h
M libcxx/include/__algorithm/pstl_rotate_copy.h
M libcxx/include/experimental/__simd/abi_tag.h
M libcxx/include/experimental/__simd/aligned_tag.h
M libcxx/include/experimental/__simd/declaration.h
M libcxx/include/experimental/__simd/internal_declaration.h
M libcxx/include/experimental/__simd/reference.h
M libcxx/include/experimental/__simd/scalar.h
M libcxx/include/experimental/__simd/simd.h
M libcxx/include/experimental/__simd/simd_mask.h
M libcxx/include/experimental/__simd/traits.h
M libcxx/include/experimental/__simd/utility.h
M libcxx/include/experimental/__simd/vec_ext.h
M libcxx/include/module.modulemap.in
A libcxx/test/libcxx/headers_in_modulemap.sh.py
M libcxx/utils/libcxx/header_information.py
Log Message:
-----------
[libc++] Add missing headers to the modulemap (#71127)
I don't know when, but at some point we lost test coverage to ensue that
all the headers are in the modulemap. This adds a test to make sure all
the headers (excluding a few which shouldn't be part of the modulemap)
are at least mentioned. This also fixes a few headers which bit-rotted
while we were missing the coverage.
Commit: 3bebf3b4950494ce9d20a7b26bb6676e6a395294
https://github.com/llvm/llvm-project/commit/3bebf3b4950494ce9d20a7b26bb6676e6a395294
Author: Raghu Maddhipatla <7686592+raghavendhra at users.noreply.github.com>
Date: 2023-11-26 (Sun, 26 Nov 2023)
Changed paths:
M flang/include/flang/Common/enum-class.h
Log Message:
-----------
Fix for building llvm-flang with gcc 7.5.0 (minimum LLVM required gcc version (#73265)
Fix for https://github.com/llvm/llvm-project/issues/68593
Commit: a369a5946f99254d56455f3deb0031199562c1dd
https://github.com/llvm/llvm-project/commit/a369a5946f99254d56455f3deb0031199562c1dd
Author: Owen Pan <owenpiano at gmail.com>
Date: 2023-11-26 (Sun, 26 Nov 2023)
Changed paths:
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Fix a bug in formating `#define A x:` (#73220)
Fixed #70789.
Commit: 897141449e306ba56a8b214c0799f00e5a1289cc
https://github.com/llvm/llvm-project/commit/897141449e306ba56a8b214c0799f00e5a1289cc
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2023-11-26 (Sun, 26 Nov 2023)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVArithmeticOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
M mlir/lib/Conversion/VectorToSPIRV/VectorToSPIRV.cpp
M mlir/test/Conversion/VectorToSPIRV/vector-to-spirv.mlir
M mlir/test/Dialect/SPIRV/IR/arithmetic-ops.mlir
Log Message:
-----------
[mlir][spirv] Add floating point dot product (#73466)
Because `OpDot` does not require any extra capabilities or extensions,
enable it by default in the vector to spirv conversion.
Commit: 42d669f82c4db6abd6f39e1d89e4e62872c4e0a8
https://github.com/llvm/llvm-project/commit/42d669f82c4db6abd6f39e1d89e4e62872c4e0a8
Author: cmtice <cmtice at google.com>
Date: 2023-11-26 (Sun, 26 Nov 2023)
Changed paths:
M lldb/include/lldb/Symbol/CompilerType.h
M lldb/source/Symbol/CompilerType.cpp
Log Message:
-----------
[LLDB] Add more helper functions to CompilerType class. (#73467)
This adds 23 new helper functions to LLDB's CompilerType class, things
like IsSmartPtrType, IsPromotableIntegerType,
GetNumberofNonEmptyBaseClasses, and GetTemplateArgumentType (to name a
few).
These helper functions are needed as part of the implementation for the
Data Inspection Language, (see
https://discourse.llvm.org/t/rfc-data-inspection-language/69893).
Commit: 1b70587ca13bc1d372ddd3928818b7d774e21595
https://github.com/llvm/llvm-project/commit/1b70587ca13bc1d372ddd3928818b7d774e21595
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2023-11-26 (Sun, 26 Nov 2023)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVIntegerDotProductOps.td
M mlir/lib/Dialect/SPIRV/IR/IntegerDotProductOps.cpp
M mlir/test/Conversion/VectorToSPIRV/vector-reduction-to-spirv-dot-prod.mlir
M mlir/test/Dialect/SPIRV/IR/availability.mlir
M mlir/test/Dialect/SPIRV/IR/integer-dot-product-ops.mlir
Log Message:
-----------
[mlir][spirv] Update integer dot product op syntax (#73468)
Make the syntax more concise and aligned with the `spirv.Dot` syntax in
https://github.com/llvm/llvm-project/pull/73466.
Move some type verification from C++ to ODS.
Regexes to update existing code and tests:
`(\s*\{format\s+=\s+#spirv.packed_vector_format([^}]+)\})`
==>
`, $2`
`(spirv.[SU]+Dot[a-zA-Z]*[^:]+:)(\s*\(([^,]+),[^\)]+\))(.+)`
==>
`$1 $3$4`
Commit: af3c5a7cf1e008a467eb3104424ed122b533d7b3
https://github.com/llvm/llvm-project/commit/af3c5a7cf1e008a467eb3104424ed122b533d7b3
Author: Caroline Tice <cmtice at google.com>
Date: 2023-11-26 (Sun, 26 Nov 2023)
Changed paths:
M lldb/include/lldb/Symbol/CompilerType.h
M lldb/source/Symbol/CompilerType.cpp
Log Message:
-----------
Revert "[LLDB] Add more helper functions to CompilerType class."
PR 73467 was committed by accident. This undoes the premature commit.
Commit: f5832bab6f5024cabe32a9f668b7f44e6b7cfef5
https://github.com/llvm/llvm-project/commit/f5832bab6f5024cabe32a9f668b7f44e6b7cfef5
Author: Stephan T. Lavavej <stl at nuwen.net>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M libcxx/test/libcxx/algorithms/alg.modifying.operations/copy_move_nontrivial.pass.cpp
M libcxx/test/libcxx/algorithms/pstl.robust_against_customization_points_not_working.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.conversion.pass.cpp
M libcxx/test/libcxx/diagnostics/bit.nodiscard_extensions.compile.pass.cpp
M libcxx/test/libcxx/diagnostics/chrono.nodiscard_extensions.compile.pass.cpp
M libcxx/test/libcxx/diagnostics/format.nodiscard_extensions.compile.pass.cpp
M libcxx/test/libcxx/diagnostics/pstl.nodiscard_extensions.compile.pass.cpp
M libcxx/test/libcxx/diagnostics/ranges.nodiscard_extensions.compile.pass.cpp
M libcxx/test/libcxx/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/construct_piecewise_pair.pass.cpp
M libcxx/test/libcxx/utilities/meta/stress_tests/stress_test_variant_overloads_impl.sh.cpp
M libcxx/test/libcxx/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/construct_piecewise_pair.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.remove/ranges.remove.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.transform/ranges.transform.binary.iterator.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.transform/ranges.transform.binary.range.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.transform/ranges.transform.unary.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/equal.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/ranges.for_each_n.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.partitions/ranges.is_partitioned.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/sort/sort.pass.cpp
M libcxx/test/std/concepts/concepts.object/semiregular.compile.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.modifiers/push_back_exception_safety.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.modifiers/push_front_exception_safety.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/push_front_exception_safety.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/remove_if.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/unique_pred.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/push_back_exception_safety.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/push_front_exception_safety.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/remove_if.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/unique_pred.pass.cpp
M libcxx/test/std/containers/views/mdspan/ConvertibleToIntegral.h
M libcxx/test/std/containers/views/mdspan/CustomTestLayouts.h
M libcxx/test/std/containers/views/mdspan/extents/CtorTestCombinations.h
M libcxx/test/std/containers/views/mdspan/extents/ctad.pass.cpp
M libcxx/test/std/containers/views/mdspan/extents/ctor_default.pass.cpp
M libcxx/test/std/containers/views/mdspan/extents/ctor_from_array.pass.cpp
M libcxx/test/std/containers/views/mdspan/extents/ctor_from_span.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/CustomTestAccessors.h
M libcxx/test/std/containers/views/mdspan/mdspan/types.pass.cpp
M libcxx/test/std/experimental/simd/simd.class/simd_ctor_default.pass.cpp
M libcxx/test/std/experimental/simd/simd.mask.class/simd_mask_ctor_default.pass.cpp
M libcxx/test/std/input.output/syncstream/syncbuf/sputc.pass.cpp
M libcxx/test/std/input.output/syncstream/syncbuf/sputn.pass.cpp
M libcxx/test/std/input.output/syncstream/syncbuf/syncstream.syncbuf.assign/assign.pass.cpp
M libcxx/test/std/numerics/numarray/class.gslice/gslice.cons/default.pass.cpp
M libcxx/test/std/numerics/numarray/class.gslice/gslice.cons/start_size_stride.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.drop/dangling.cache.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.join.view/sentinel/ctor.other.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.reverse/begin.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/iterator/iter_move.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/iterator/iter_swap.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/sentinel/minus.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/types.h
M libcxx/test/std/ranges/range.factories/range.repeat.view/views_repeat.pass.cpp
M libcxx/test/std/re/re.const/re.matchflag/match_flag_type.pass.cpp
M libcxx/test/std/re/re.const/re.synopt/syntax_option_type.pass.cpp
M libcxx/test/std/strings/string.view/string.view.comparison/common_type_specialization.pass.cpp
M libcxx/test/std/thread/futures/futures.async/async.pass.cpp
M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex_duration.pass.cpp
M libcxx/test/std/time/time.syn/formatter.file_time.pass.cpp
M libcxx/test/std/time/time.syn/formatter.sys_time.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.list/erase_after.compile.pass.cpp
M libcxx/test/std/utilities/expected/expected.expected/assign/assign.U.pass.cpp
M libcxx/test/std/utilities/expected/expected.expected/assign/emplace.intializer_list.pass.cpp
M libcxx/test/std/utilities/expected/expected.expected/swap/free.swap.pass.cpp
M libcxx/test/std/utilities/expected/expected.expected/swap/member.swap.pass.cpp
M libcxx/test/std/utilities/expected/expected.void/swap/free.swap.pass.cpp
M libcxx/test/std/utilities/expected/expected.void/swap/member.swap.pass.cpp
M libcxx/test/std/utilities/expected/types.h
M libcxx/test/std/utilities/format/format.formattable/concept.formattable.compile.pass.cpp
M libcxx/test/std/utilities/format/format.formatter/format.context/format.context/ctor.pass.cpp
M libcxx/test/std/utilities/format/format.formatter/format.context/format.context/locale.pass.cpp
M libcxx/test/std/utilities/format/format.functions/escaped_output.ascii.pass.cpp
M libcxx/test/std/utilities/format/format.functions/escaped_output.unicode.pass.cpp
M libcxx/test/std/utilities/format/format.functions/format_tests.h
M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.enab/enable_shared_from_this.pass.cpp
M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/pointer_deleter.pass.cpp
M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/pointer_deleter_allocator.pass.cpp
M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.create/allocate_shared.lwg2070.pass.cpp
M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.create/make_shared.private.compile.fail.cpp
M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.obs/op_bool.pass.cpp
M libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.asgn/move.pass.cpp
M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/alloc_UTypes.pass.cpp
M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/alloc_const_Types.verify.cpp
M libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/tracking_mem_res.h
M libcxx/test/std/utilities/utility/pairs/pairs.pair/assign_rv_pair_U_V.pass.cpp
M libcxx/test/support/assert_macros.h
M libcxx/test/support/boolean_testable.h
M libcxx/test/support/concat_macros.h
M libcxx/test/support/copy_move_types.h
M libcxx/test/support/iterator_traits_cpp17_iterators.h
M libcxx/test/support/test_container_comparisons.h
M libcxx/test/support/test_iterators.h
Log Message:
-----------
[libc++][test] Cleanup typos and unnecessary semicolons (#73435)
I've structured this into a series of commits for even easier reviewing,
if that helps. I could easily split this up into separate PRs if
desired, but as this is low-risk with simple edits, I thought one PR
would be easiest.
* Drop unnecessary semicolons after function definitions.
* Cleanup comment typos.
* Cleanup `static_assert` typos.
* Cleanup test code typos.
+ There should be no functional changes, assuming I've changed all
occurrences.
* ~~Fix massive test code typos.~~
+ This was a real problem, but needed more surgery. I reverted those
changes here, and @philnik777 is fixing this properly with #73444.
* clang-formatting as requested by the CI.
Commit: b84cb9c2e672a39cb94f080b67c121ff5ae74879
https://github.com/llvm/llvm-project/commit/b84cb9c2e672a39cb94f080b67c121ff5ae74879
Author: Stephan T. Lavavej <stl at nuwen.net>
Date: 2023-11-26 (Sun, 26 Nov 2023)
Changed paths:
M libcxx/test/std/containers/views/mdspan/layout_left/static_requirements.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/static_requirements.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/static_requirements.pass.cpp
Log Message:
-----------
[libc++][test] Use `LIBCPP_STATIC_ASSERT` for `std::__mdspan_detail` (#73436)
Found while running libc++'s test suite against MSVC's STL.
`libcxx/test/std` should be portable, so these lines checking
`std::__mdspan_detail` machinery should be using `LIBCPP_STATIC_ASSERT`.
I checked for other occurrences and these appear to be the only ones
which have appeared since our last libc++ test suite update.
Commit: 6c462fe2112c83b2682ffa3e7b0a70c33ea4ca7e
https://github.com/llvm/llvm-project/commit/6c462fe2112c83b2682ffa3e7b0a70c33ea4ca7e
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
Log Message:
-----------
AMDGPU: Move intrinsic definition out of subtarget specific section
This was at the end of the subtarget specific intrinsics and
before backend internal intrinsics. Move it with other genericish
synthetic intrinsics.
Commit: c419f3e10ee091ab4757f3f343795e9f1661bfd5
https://github.com/llvm/llvm-project/commit/c419f3e10ee091ab4757f3f343795e9f1661bfd5
Author: Youngsuk Kim <youngsuk.kim at hpe.com>
Date: 2023-11-26 (Sun, 26 Nov 2023)
Changed paths:
M llvm/lib/Transforms/Scalar/SROA.cpp
Log Message:
-----------
[llvm][SROA] Replace calls to Type::getPointerTo (NFC)
NFC cleanup towards removing method Type::getPointerTo.
* Remove unnecessary call to Type::getPointerTo
* Replace call to Type::getPointerTo with IRB.getPtrTy
Commit: a77ea94c3c2132b7d9a0f4c12a64675ba2aa6f1a
https://github.com/llvm/llvm-project/commit/a77ea94c3c2132b7d9a0f4c12a64675ba2aa6f1a
Author: XinWang10 <108658776+XinWang10 at users.noreply.github.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86InstPrinterCommon.cpp
Log Message:
-----------
[X86][MC] Update condition about ExplicitVEXPrefix (#73312)
After #72835, ExplicitVEXPrefix has changed and it is not a bit now, but
in scope ExplicitOpPrefix, so the bitwise op of ExplicitVEXPrefix may
need to update.
Commit: 282201dc633e164042df0ae726a804c0aad46e50
https://github.com/llvm/llvm-project/commit/282201dc633e164042df0ae726a804c0aad46e50
Author: Fangrui Song <i at maskray.me>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M clang/include/clang/Driver/Options.td
A clang/test/Driver/entry.s
Log Message:
-----------
[Driver] Allow -e entry but reject -eentry (#72804)
This short option taking an argument is unfortunate.
* If a cc1-only option starts with `-e`, using it for driver will not be
reported as an error (e.g. commit
6cd9886c88d16d288c74846495d89f2fe84ff827).
* If another `-e` driver option is intended but a typo is made, the
option will be recognized as a `-e`.
`gcc -export-dynamic` passes `-export-dynamic` to ld. It's not clear
whether some options behave this way.
It seems `-Wl,-eentry` and `-Wl,--entry=entry` are primarily used. There
may also be a few `gcc -e entry`, but `gcc -eentry` is extremely rare or
not used at all. Therefore, we probably should reject the Joined form of
`-e`.
Commit: 2e6c01be0db5d137c48953adde386eaef0982775
https://github.com/llvm/llvm-project/commit/2e6c01be0db5d137c48953adde386eaef0982775
Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAGISel.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/test/TableGen/DAGDefaultOps.td
M llvm/test/TableGen/dag-isel-regclass-emit-enum.td
M llvm/test/TableGen/dag-isel-subregs.td
M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
Log Message:
-----------
[SelectionDAG] Add instantiated OPC_EmitInteger and OPC_EmitStringInteger (#73241)
These two opcodes are used to be followed by a MVT operand, which is
always one of i8/i16/i32/i64.
We add instantiated `OPC_EmitInteger` and `OPC_EmitStringInteger` with
i8/i16/i32/i64 so that we can reduce one byte.
We reserve `OPC_EmitInteger` and `OPC_EmitStringInteger` in case that
we may need them someday, though I haven't found one usage after this
change.
Overall this reduces the llc binary size with all in-tree targets by
about 200K.
Commit: 771676878a1df2610cdc2ece6a55b4aa81a3da6a
https://github.com/llvm/llvm-project/commit/771676878a1df2610cdc2ece6a55b4aa81a3da6a
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2023-11-26 (Sun, 26 Nov 2023)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVNonUniformOps.td
M mlir/lib/Dialect/SPIRV/IR/GroupOps.cpp
M mlir/test/Dialect/SPIRV/IR/non-uniform-ops.mlir
Log Message:
-----------
[mlir][spirv] Add missing group non-uniform bitwise and logical ops (#73475)
This covers the following ops:
`spirv.GroupNonUniform` x {`Bitwise`, `Logical`} x {`And`, `Or`, `Xor`}
We need these to efficiently lower from the `gpu.subgroup_reduce` op.
Commit: 6318dd82732c583fcfa12fe5b8d837e048dbb571
https://github.com/llvm/llvm-project/commit/6318dd82732c583fcfa12fe5b8d837e048dbb571
Author: Kazu Hirata <kazu at google.com>
Date: 2023-11-26 (Sun, 26 Nov 2023)
Changed paths:
M mlir/lib/Pass/PassRegistry.cpp
Log Message:
-----------
[mlir] Fix a warning
This patch fixes:
mlir/lib/Pass/PassRegistry.cpp:376:37: error: ISO C++ requires the
name after '::~' to be found in the same scope as the name before
'::~' [-Werror,-Wdtor-name]
Commit: e89324219acf3d799a86fed5651e492bbab4867c
https://github.com/llvm/llvm-project/commit/e89324219acf3d799a86fed5651e492bbab4867c
Author: Zi Xuan Wu (Zeson) <zixuan.wu at linux.alibaba.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
A llvm/test/CodeGen/RISCV/rvv/combine-store-extract-crash.ll
Log Message:
-----------
[RISCV] Don't combine store of vmv.x.s/vfmv.f.s to vp_store with VL of 1 when it's indexed store (#73219)
Because we can't support vp_store with indexed address mode by lowering to vse intrinsic later.
Commit: f8afc53d641ce9d4ad8565aae9e7b5911b572a02
https://github.com/llvm/llvm-project/commit/f8afc53d641ce9d4ad8565aae9e7b5911b572a02
Author: Dmitry Vyukov <dvyukov at google.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M libcxx/benchmarks/stringstream.bench.cpp
M libcxx/include/CMakeLists.txt
M libcxx/include/__locale
A libcxx/include/__utility/no_destroy.h
M libcxx/include/module.modulemap.in
M libcxx/src/locale.cpp
Log Message:
-----------
[libc++] Speed up classic locale (#72112)
Locale objects use atomic reference counting, which may be very
expensive in parallel applications. The classic locale is used by
default by all streams and can be very contended. But it's never
destroyed, so the reference counting is also completely pointless on the
classic locale. Currently ~70% of time in the parallel stringstream
benchmarks is spent in locale ctor/dtor. And the execution radically
slows down with more threads.
Avoid reference counting on the classic locale. With this change
parallel benchmarks start to scale with threads.
Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>
```
│ baseline │ optimized │
│ sec/op │ sec/op vs base │
Istream_numbers/0/threads:1 4.672µ ± 0% 4.419µ ± 0% -5.42% (p=0.000 n=30+39)
Istream_numbers/0/threads:72 539.817µ ± 0% 9.842µ ± 1% -98.18% (p=0.000 n=30+40)
Istream_numbers/1/threads:1 4.890µ ± 0% 4.750µ ± 0% -2.85% (p=0.000 n=30+40)
Istream_numbers/1/threads:72 66.44µ ± 1% 10.14µ ± 1% -84.74% (p=0.000 n=30+40)
Istream_numbers/2/threads:1 4.888µ ± 0% 4.746µ ± 0% -2.92% (p=0.000 n=30+40)
Istream_numbers/2/threads:72 494.8µ ± 0% 410.2µ ± 1% -17.11% (p=0.000 n=30+40)
Istream_numbers/3/threads:1 4.697µ ± 0% 4.695µ ± 5% ~ (p=0.391 n=30+37)
Istream_numbers/3/threads:72 421.5µ ± 7% 421.9µ ± 9% ~ (p=0.665 n=30)
Ostream_number/0/threads:1 183.0n ± 0% 141.0n ± 2% -22.95% (p=0.000 n=30)
Ostream_number/0/threads:72 24196.5n ± 1% 343.5n ± 3% -98.58% (p=0.000 n=30)
Ostream_number/1/threads:1 250.0n ± 0% 196.0n ± 2% -21.60% (p=0.000 n=30)
Ostream_number/1/threads:72 16260.5n ± 0% 407.0n ± 2% -97.50% (p=0.000 n=30)
Ostream_number/2/threads:1 254.0n ± 0% 196.0n ± 1% -22.83% (p=0.000 n=30)
Ostream_number/2/threads:72 28.49µ ± 1% 18.89µ ± 5% -33.72% (p=0.000 n=30)
Ostream_number/3/threads:1 185.0n ± 0% 185.0n ± 0% 0.00% (p=0.017 n=30)
Ostream_number/3/threads:72 19.38µ ± 4% 19.33µ ± 5% ~ (p=0.425 n=30)
```
Commit: 681d02d09e35dbcf0f87dff2e8a786d4e0a2be55
https://github.com/llvm/llvm-project/commit/681d02d09e35dbcf0f87dff2e8a786d4e0a2be55
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port f8afc53d641c
Commit: 659e4017b7371efa8ce97da2d87270c60a93d03d
https://github.com/llvm/llvm-project/commit/659e4017b7371efa8ce97da2d87270c60a93d03d
Author: Owen Pan <owenpiano at gmail.com>
Date: 2023-11-26 (Sun, 26 Nov 2023)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
Log Message:
-----------
[clang-format][NFC] Improve an `if` conditional in the annotator
Commit: 27c0bc9cae3e2483e14cf724df78f40e956a39b9
https://github.com/llvm/llvm-project/commit/27c0bc9cae3e2483e14cf724df78f40e956a39b9
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp
M llvm/test/CodeGen/X86/asm-mismatched-types.ll
Log Message:
-----------
[X86][MC] Allow to specify any of the 8/16/32/64 register names interchangeably for R16-R31 (#73421)
Commit: 477c0b67a3ab30e74f3563b3f0b9d4d53caba465
https://github.com/llvm/llvm-project/commit/477c0b67a3ab30e74f3563b3f0b9d4d53caba465
Author: Hsiangkai Wang <hsiangkai.wang at arm.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M mlir/lib/Conversion/SCFToGPU/SCFToGPU.cpp
M mlir/test/Conversion/SCFToGPU/step_positive.mlir
Log Message:
-----------
[mlir][affine][gpu] Replace DivSIOp to CeilDivSIOp when lowering to GPU launch (#73328)
When converting affine.for to GPU launch operator, we have to calculate
the block dimension and thread dimension for the launch operator.
The formula of the dimension size is
(upper_bound - lower_bound) / step_size
When the difference is indivisible by step_size, we use rounding-to-zero
as the division result. However, the block dimension and thread
dimension is right-open range, i.e., [0, block_dim) and [0, thread_dim).
So, we will get the wrong result if we use DivSIOp. In this patch, we
replace it with CeilDivSIOp to get the correct block and thread
dimension values.
Commit: 2b646b598942b87f25fda1713a3c5e211585ca88
https://github.com/llvm/llvm-project/commit/2b646b598942b87f25fda1713a3c5e211585ca88
Author: Nikita Popov <npopov at redhat.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
M llvm/test/Transforms/CorrelatedValuePropagation/basic.ll
Log Message:
-----------
[CVP] Don't try to fold load/store operands to constant (#73338)
CVP currently tries to fold load/store pointer operands to constants
using LVI. If there is a dominating condition of the form `icmp eq ptr
%p, @g`, then `%p` will be replaced with `@g`.
LVI is geared towards range-based optimizations, and is *very*
inefficient at handling simple pointer equality conditions. We have
other passes that can handle this optimization in a more efficient way,
such as IPSCCP and GVN.
Removing this optimization gives a geomean 0.4-1.2% compile-time
improvement depending on configuration. At the same time, there
is no impact on codegen.
Commit: 5eb85c052e458a11dd1d536e00b9d4170d812612
https://github.com/llvm/llvm-project/commit/5eb85c052e458a11dd1d536e00b9d4170d812612
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M llvm/lib/Transforms/Scalar/JumpThreading.cpp
M llvm/test/Analysis/LazyValueAnalysis/lvi-after-jumpthreading.ll
Log Message:
-----------
[JumpThreading] Remove LVI printer flag (#73426)
This patch removes the -print-lvi-after-jump-threading flag now that we
can print everything in the LVI cache using the print<lazy-value-info>
pass.
Commit: 295edaab13326d842f8298ad07e9a5f9e5d3b131
https://github.com/llvm/llvm-project/commit/295edaab13326d842f8298ad07e9a5f9e5d3b131
Author: David Green <david.green at arm.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/vecreduce-fadd.ll
Log Message:
-----------
[AArch64][GlobalISel] Better vecreduce.fadd lowering. (PR #73294)
This changes the fadd legalization to handle fp16 types, and treats more types
as legal so that the backend can produce the correct patterns. This is
currently a missing identity fold for `fadd x -0.0 -> x`
Commit: 553f8853db1a41543bcd3c7c9a6e0f75c537d2f9
https://github.com/llvm/llvm-project/commit/553f8853db1a41543bcd3c7c9a6e0f75c537d2f9
Author: Nikita Popov <npopov at redhat.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M llvm/include/llvm/Support/GenericDomTreeConstruction.h
Log Message:
-----------
[DomTree] Reduce number of hash table lookups (NFC) (#73097)
Inside runSemiNCA(), create a direct mapping from node number of node
info, so we can save the node number -> node pointer -> node info lookup
in many cases.
To allow this in more cases, change Label to a node number instead of
node pointer.
I've limited this to runSemiNCA() for now, because we have the
convenient property there that no new node infos will be added, so we
don't have to worry about pointer invalidation.
This gives a pretty nice compile-time improvement of about 0.4%.
Commit: 57a0a9aadf1ec4c111e303b7f0fe76505b3ad137
https://github.com/llvm/llvm-project/commit/57a0a9aadf1ec4c111e303b7f0fe76505b3ad137
Author: Nikita Popov <npopov at redhat.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M llvm/test/Transforms/InstCombine/indexed-gep-compares.ll
Log Message:
-----------
[InstCombine] Add more inbounds tests for indexed compare fold (NFC)
Don't only test the case where all GEPs are missing inbounds, also
test inbounds only being present on some of them. The fold should
not be performed in either case.
Commit: d045e23c2d00a445e40a8c97471df023d8364f59
https://github.com/llvm/llvm-project/commit/d045e23c2d00a445e40a8c97471df023d8364f59
Author: Florian Hahn <flo at fhahn.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
M llvm/test/Transforms/ConstraintElimination/gep-add-multiple-indices.ll
M llvm/test/Transforms/ConstraintElimination/gep-sub.ll
Log Message:
-----------
[ConstraintElim] Refactor GEP offset collection.
Move GEP offset collection to separate helper function and collect
variable and constant offsets in OffsetResult. For now, this only
supports 1 VariableOffset, but the new code structure can be more easily
extended to handle more offsets in the future.
The refactoring drops the check that the VariableOffset >= -1 * constant
offset. This is not needed to check whether the constraint is
monotonically increasing. The constant factors can be ignored, the
constraint will be monotonically increasing if all variables are
positive.
See https://alive2.llvm.org/ce/z/ah2uSQ,
https://alive2.llvm.org/ce/z/NCADNZ
Commit: 8167934480a7b6a8e122aa6233aa8ed2e2683d6a
https://github.com/llvm/llvm-project/commit/8167934480a7b6a8e122aa6233aa8ed2e2683d6a
Author: David Spickett <david.spickett at linaro.org>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M lldb/source/Plugins/ScriptInterpreter/None/ScriptInterpreterNone.cpp
Log Message:
-----------
[lldb] Improve error message for script commands when there's no interpreter (#73321)
It was:
```
error: there is no embedded script interpreter in this mode.
```
1. What does "mode" mean?
2. It implies there might be an embedded script interpreter for some
other "mode", whatever that would be.
So I'm simplifying it and noting the most common reason for this which
is that lldb wasn't built with a scripting language enabled in the first
place.
There are other tips for dealing with this, but I'm not sure this
message is the best place for them.
Commit: 772f296214e10323ca16921c02b1852307b7d51b
https://github.com/llvm/llvm-project/commit/772f296214e10323ca16921c02b1852307b7d51b
Author: David Spickett <david.spickett at linaro.org>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M lldb/source/Plugins/Process/Utility/RegisterFlagsLinux_arm64.cpp
M lldb/test/API/commands/register/register/register_command/TestRegisters.py
M lldb/test/API/functionalities/postmortem/elf-core/TestLinuxCore.py
Log Message:
-----------
[lldb][AArch64][Linux] Correct name of FPCR field
It should be "RMode" as in "rounding mode" not "RMMode".
Commit: 1726a59d462147986e6860d228f27f0131c8645b
https://github.com/llvm/llvm-project/commit/1726a59d462147986e6860d228f27f0131c8645b
Author: Tim Northover <tnorthover at apple.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M llvm/include/llvm/TargetParser/AArch64TargetParser.h
Log Message:
-----------
AArch64: remove duplicate SHA3 feature from Apple CPUs. NFC.
Commit: d1652ff0803ac9f2f3ea99336f71edacdf95a721
https://github.com/llvm/llvm-project/commit/d1652ff0803ac9f2f3ea99336f71edacdf95a721
Author: Kerry McLaughlin <kerry.mclaughlin at arm.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M clang/include/clang/Basic/arm_sme.td
A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_bmop.c
A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mop.c
A clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_imm.cpp
Log Message:
-----------
[Clang][SME2] Add outer product and accumulate/subtract builtins (#71176)
Adds the following SME2 builtins:
- svmop(a|s)_za32,
- svbmop(a|s)_za32
See https://github.com/ARM-software/acle/pull/217
Commit: edf5cae7391cdb097a090ea142dfa7ac6ac03555
https://github.com/llvm/llvm-project/commit/edf5cae7391cdb097a090ea142dfa7ac6ac03555
Author: Guray Ozen <guray.ozen at gmail.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M mlir/include/mlir/Dialect/GPU/IR/GPUOps.td
M mlir/lib/Conversion/GPUCommon/GPUToLLVMConversion.cpp
M mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
M mlir/lib/Dialect/GPU/IR/InferIntRangeInterfaceImpls.cpp
M mlir/lib/ExecutionEngine/CudaRuntimeWrappers.cpp
M mlir/lib/Target/LLVMIR/Dialect/GPU/SelectObjectAttr.cpp
M mlir/test/Conversion/GPUCommon/lower-launch-func-to-gpu-runtime-calls.mlir
M mlir/test/Dialect/GPU/invalid.mlir
M mlir/test/Dialect/GPU/ops.mlir
A mlir/test/Integration/GPU/CUDA/sm90/cga_cluster.mlir
M mlir/test/Target/LLVMIR/gpu.mlir
Log Message:
-----------
[mlir][gpu] Support Cluster of Thread Blocks in `gpu.launch_func` (#72871)
NVIDIA Hopper architecture introduced the Cooperative Group Array (CGA).
It is a new level of parallelism, allowing clustering of Cooperative
Thread Arrays (CTA) to synchronize and communicate through shared memory
while running concurrently.
This PR enables support for CGA within the `gpu.launch_func` in the GPU
dialect. It extends `gpu.launch_func` to accommodate this functionality.
The GPU dialect remains architecture-agnostic, so we've added CGA
functionality as optional parameters. We want to leverage mechanisms
that we have in the GPU dialects such as outlining and kernel launching,
making it a practical and convenient choice.
An example of this implementation can be seen below:
```
gpu.launch_func @kernel_module::@kernel
clusters in (%1, %0, %0) // <-- Optional
blocks in (%0, %0, %0)
threads in (%0, %0, %0)
```
The PR also introduces index and dimensions Ops specific to clusters,
binding them to NVVM Ops:
```
%cidX = gpu.cluster_id x
%cidY = gpu.cluster_id y
%cidZ = gpu.cluster_id z
%cdimX = gpu.cluster_dim x
%cdimY = gpu.cluster_dim y
%cdimZ = gpu.cluster_dim z
```
We will introduce cluster support in `gpu.launch` Op in an upcoming PR.
See [the
documentation](https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#cluster-of-cooperative-thread-arrays)
provided by NVIDIA for details.
Commit: 2fda8ca6da736ac5ead87b1301400d22f8b33637
https://github.com/llvm/llvm-project/commit/2fda8ca6da736ac5ead87b1301400d22f8b33637
Author: Florian Hahn <flo at fhahn.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M llvm/test/Analysis/LoopAccessAnalysis/forward-loop-carried.ll
Log Message:
-----------
[LAA] Auto-generate checks for forward-loop-carried.ll
Auto-generate checks for -loop-carried.ll to make it easier to update in
follow-on patch. As this test only checks the dependence, mark pointers
as noalias to avoid also checking various runtime pointer check groups.
Commit: 0e86d3ea9b93da273ee800a251dd60a44b85a320
https://github.com/llvm/llvm-project/commit/0e86d3ea9b93da273ee800a251dd60a44b85a320
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/test/SemaCXX/complex-folding.cpp
M clang/test/SemaCXX/static-assert.cpp
Log Message:
-----------
[clang] Print static_assert values of arithmetic binary operators (#71671)
These are actually quite useful to print.
Commit: 17139f38e55ec06b8546b9306e04e64d0408033a
https://github.com/llvm/llvm-project/commit/17139f38e55ec06b8546b9306e04e64d0408033a
Author: Florian Hahn <flo at fhahn.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/test/Analysis/LoopAccessAnalysis/forward-loop-carried.ll
Log Message:
-----------
[LAA] Check HasSameSize before couldPreventStoreLoadForward.
After 9645267, TypeByteSize is 0 if both access do not have the same
size (i.e. HasSameSize will be false). This can cause an infinite loop
in couldPreventStoreLoadForward, if HasSameSize is not checked first.
So check HasSameSize first instead of after
couldPreventStoreLoadForward. Checking HasSameSize first is also
cheaper.
Commit: 272085f10bfaa33349682a9e4d08c990c159355d
https://github.com/llvm/llvm-project/commit/272085f10bfaa33349682a9e4d08c990c159355d
Author: Nikita Popov <npopov at redhat.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M llvm/include/llvm/Support/GenericDomTreeConstruction.h
Log Message:
-----------
[DomTree] Remove unnecessary domtree level check in SemiNCA (NFC) (#73107)
runSemiNCA() currently checks that the ReverseChildren are below
MinLevel in the DT, which is used when performing incremental updates.
However, ReverseChildren is populated during runDFS with only the
predecessors that are part of that DFS walk, which will itself be level
limited in the relevant cases. As such, I don't believe that this should
be checked during runSemiNCA().
This code probably dates back to a time when predecessors were not
cached during runDFS and as such not limited to the visited subtree
only.
Commit: 56cf3ff479ab70b4d802f935afa64a343b402a73
https://github.com/llvm/llvm-project/commit/56cf3ff479ab70b4d802f935afa64a343b402a73
Author: Rik Huijzer <github at huijzer.xyz>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVArithmeticOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBarrierOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBitOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVCLOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVCastOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVCompositeOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVControlFlowOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVCooperativeMatrixOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVGLOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVGroupOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVImageOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVIntelExtOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVJointMatrixOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVLogicalOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVMatrixOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVMiscOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVNonUniformOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVStructureOps.td
Log Message:
-----------
[mlir][spirv][doc] Remove duplicate syntax formats (#73386)
Some operations defined their syntax both in the documentation and via
`assemblyFormat`. This leads to two syntax descriptions in the
documentation for SPIR-V, see for example the documentation for
[`spirv.mlir.yield`](https://mlir.llvm.org/docs/Dialects/SPIR-V/#spirvmliryield-spirvyieldop).
Since the `assemblyFormat` is used to generate the actual parsers and
printer implementations, this PR removes the manual syntax descriptions.
(Similar to https://github.com/llvm/llvm-project/pull/73343.)
The strategy that I used to find the duplicates was pretty
uncomplicated. I scrolled through the [SPIR-V
Dialect](https://mlir.llvm.org/docs/Dialects/SPIR-V) to find all
duplicates and then remove the duplicate text from the `td` file.
Note that the `Syntax:` block in the docs is a good proxy for whether
`assemblyFormat` is defined because it will only be generated if the op
has defined `assemblyFormat` (`op.hasAssemblyFormat()`):
https://github.com/llvm/llvm-project/blob/e970652776bd07dbe42be557bf98722749230653/mlir/tools/mlir-tblgen/OpDocGen.cpp#L108-L124
https://github.com/llvm/llvm-project/blob/e970652776bd07dbe42be557bf98722749230653/mlir/tools/mlir-tblgen/OpDocGen.cpp#L197-L199
Related issue https://github.com/llvm/llvm-project/issues/73359.
Commit: 489df61a2960cbd154fe0a2c23918c2609ef4357
https://github.com/llvm/llvm-project/commit/489df61a2960cbd154fe0a2c23918c2609ef4357
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
Log Message:
-----------
[clang][Interp][NFC] const qualify a local variable
Commit: 11276563c81987791a2326950dbc3315a32dd709
https://github.com/llvm/llvm-project/commit/11276563c81987791a2326950dbc3315a32dd709
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
M llvm/test/CodeGen/X86/avx512-regcall-Mask.ll
M llvm/test/CodeGen/X86/bfloat.ll
M llvm/test/CodeGen/X86/bitcast-int-to-vector-bool-sext.ll
M llvm/test/CodeGen/X86/bitcast-int-to-vector-bool-zext.ll
M llvm/test/CodeGen/X86/broadcast-elm-cross-splat-vec.ll
M llvm/test/CodeGen/X86/constant-pool-sharing.ll
M llvm/test/CodeGen/X86/insert-into-constant-vector.ll
M llvm/test/CodeGen/X86/midpoint-int-vec-512.ll
M llvm/test/CodeGen/X86/pr57340.ll
M llvm/test/CodeGen/X86/splat-for-size.ll
M llvm/test/CodeGen/X86/subvector-broadcast.ll
M llvm/test/CodeGen/X86/vec_fabs.ll
M llvm/test/CodeGen/X86/vec_int_to_fp.ll
M llvm/test/CodeGen/X86/vector-fshl-256.ll
M llvm/test/CodeGen/X86/vector-fshl-512.ll
M llvm/test/CodeGen/X86/vector-fshl-rot-256.ll
M llvm/test/CodeGen/X86/vector-fshr-256.ll
M llvm/test/CodeGen/X86/vector-fshr-512.ll
M llvm/test/CodeGen/X86/vector-fshr-rot-256.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
M llvm/test/CodeGen/X86/vector-sext.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx.ll
M llvm/test/CodeGen/X86/viabs.ll
M llvm/test/CodeGen/X86/vselect-avx.ll
M llvm/test/CodeGen/X86/x86-interleaved-access.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast_from_memory.ll
Log Message:
-----------
[X86] X86DAGToDAGISel - attempt to merge XMM/YMM loads with YMM/ZMM loads of the same ptr (#73126)
If we are loading the same ptr at different vector widths, then reuse the largest load and just extract the low subvector.
Unlike the equivalent VBROADCAST_LOAD/SUBV_BROADCAST_LOAD folds which can occur in DAG, we have to wait until DAGISel otherwise we can hit infinite loops if constant folding recreates the original constant value.
This is mainly useful for better constant sharing.
Commit: ea5de6021cf69a233106689cc6f0ee14899e1a83
https://github.com/llvm/llvm-project/commit/ea5de6021cf69a233106689cc6f0ee14899e1a83
Author: Hans Wennborg <hans at chromium.org>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M llvm/tools/llvm-exegesis/lib/Assembler.cpp
M llvm/tools/llvm-exegesis/lib/Assembler.h
M llvm/tools/llvm-exegesis/lib/CMakeLists.txt
Log Message:
-----------
Revert "Reland "[llvm-exegesis] Switch from MCJIT to LLJIT (#72838)""
This broke
tools/llvm-exegesis/X86/latency/dummy-counters.test
on Mac, see comment on the PR.
> There was an issue with certain configurations failing to build due to a
> deleted Error constructor that should be fixed with this relanding.
This reverts commit 92b821f2dcddbfa934689e10d8f11df150ab1043.
Commit: 344b5346a0e899d59ff52f60421788eef4e2c864
https://github.com/llvm/llvm-project/commit/344b5346a0e899d59ff52f60421788eef4e2c864
Author: Nico Weber <thakis at chromium.org>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M llvm/utils/gn/secondary/llvm/tools/llvm-exegesis/lib/BUILD.gn
Log Message:
-----------
Revert "[gn] port 92b821f2dcdd"
This reverts commit 580858ad0accee171256d720cff465e7016f018d.
92b821f2dcdd was reverted in ea5de6021cf69a23
Commit: f21a70f9fe21539f70212ba2346c3db54f4d9980
https://github.com/llvm/llvm-project/commit/f21a70f9fe21539f70212ba2346c3db54f4d9980
Author: Guray Ozen <guray.ozen at gmail.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M mlir/lib/ExecutionEngine/CudaRuntimeWrappers.cpp
Log Message:
-----------
[mlir][cuda] Guard mgpuLaunchClusterKernel for Cuda 12.0+ (NFC) (#73495)
Commit: ac06d4e4cb0b604f89130ce7cf63556381baac46
https://github.com/llvm/llvm-project/commit/ac06d4e4cb0b604f89130ce7cf63556381baac46
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
M llvm/test/CodeGen/AArch64/sink-and-fold.ll
Log Message:
-----------
Re-commit "[MachineSink][AArch64] Enable sink-and-fold by default (#72132)"
This re-commits 13fe0386454d after fixing a couple of issues in the LLDB
testsuite in ef9bcace834e and 6b87d84ff45d
Commit: a9e3d232a520a17f098d4dc872c9591c565e7d36
https://github.com/llvm/llvm-project/commit/a9e3d232a520a17f098d4dc872c9591c565e7d36
Author: Hans Wennborg <hans at chromium.org>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M llvm/CMakeLists.txt
Log Message:
-----------
Revert "[runtimes] Add missing test dependencies to check-all (#72955)"
This caused some runtimes builds to fail with:
error: unknown target 'runtimes-test-depends'
See comments on the PR.
> The test-depends target contained all the dependencies needed to run the
> runtimes tests, but it was never added as a dependency of check-all.
> This caused some of the tsan tests to fail, since the custom libcxx
> build the tests were looking for was never built. Besides the tsan
> failures, this fixes all the other test failures I was seeing with:
> cmake -G Ninja -B release-build -S llvm \
> -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
> -DCMAKE_BUILD_TYPE=Release \
> -DLLVM_ENABLE_ASSERTIONS=OFF \
> -DLLVM_ENABLE_PROJECTS="clang;lld" \
> -DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi;libunwind;compiler-rt"
>
> This is the same configuration the test-release.sh script uses, so I'm
> hoping this will also fix all the test failures we've been seeing when
> building the releases.
>
> Fixes #58680
This reverts commit 7f215b1380da49dccbf57da3040a40d25ed898f4.
Commit: d7c03a196edb1e5f5a45121bb51899e8f5e72ca6
https://github.com/llvm/llvm-project/commit/d7c03a196edb1e5f5a45121bb51899e8f5e72ca6
Author: David Spickett <david.spickett at linaro.org>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M clang/utils/TableGen/SveEmitter.cpp
Log Message:
-----------
[clang][AArch64][NFC] Remove trailing space in SME intriniscs header
Commit: cb112eb16cff222d8fbe7cfd3cb0834f538a691d
https://github.com/llvm/llvm-project/commit/cb112eb16cff222d8fbe7cfd3cb0834f538a691d
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M llvm/lib/Target/X86/X86.td
M llvm/lib/Target/X86/X86FrameLowering.cpp
M llvm/lib/Target/X86/X86MachineFunctionInfo.h
A llvm/test/CodeGen/X86/apx/push2-pop2-cfi-seh.ll
A llvm/test/CodeGen/X86/apx/push2-pop2-vector-register.ll
A llvm/test/CodeGen/X86/apx/push2-pop2.ll
A llvm/test/CodeGen/X86/apx/pushp-popp.ll
Log Message:
-----------
[X86][CodeGen] Teach frame lowering to spill/reload registers w/ PUSHP/POPP, PUSH2[P]/POP2[P] (#73292)
#73092 supported the encoding/decoding for PUSHP/POPP
#73233 supported the encoding/decoding for PUSH2[P]/POP2[P]
In this patch, we teach frame lowering to spill/reload registers w/
these instructions.
1. Use PPX for balanced spill/reload
2. Use PUSH2/POP2 for continuous spills/reloads
3. PUSH2/POP2 must be 16B-aligned on the stack, so pad when necessary
Commit: edf645616f8734b0dbf08e15cc5209e6cf553c12
https://github.com/llvm/llvm-project/commit/edf645616f8734b0dbf08e15cc5209e6cf553c12
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-4.ll
Log Message:
-----------
[X86] Regenerate vector-interleaved-store-i64-stride-4.ll
Commit: 5bd643e1456bd2acc53ac0bf594d285be89a44fe
https://github.com/llvm/llvm-project/commit/5bd643e1456bd2acc53ac0bf594d285be89a44fe
Author: martinboehme <mboehme at google.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
Log Message:
-----------
[clang][dataflow] Strengthen widening of boolean values. (#73484)
Before we widen to top, we now check if both values can be proved either
true or
false in their respective environments; if so, widening returns a true
or false
literal. The idea is that we avoid losing information if posssible.
This patch includes a test that fails without this change to widening.
This change does mean that we call the SAT solver in more places, but
this seems
acceptable given the additional precision we gain.
In tests on an internal codebase, the number of SAT solver timeouts we
observe
with Crubit's nullability checker does increase by about 25%. They can
be
brought back to the previous level by doubling the SAT solver work
limit.
Commit: adb130ccad67a18eb15506822e9cfcb1cb00cb45
https://github.com/llvm/llvm-project/commit/adb130ccad67a18eb15506822e9cfcb1cb00cb45
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M llvm/include/llvm/Support/TypeSize.h
M llvm/unittests/Support/TypeSizeTest.cpp
Log Message:
-----------
[llvm][TypeSize] Consider TypeSize of '0' to be fixed/scalable-agnostic. (#72994)
This patch allows adding any quantity to a zero-initialized TypeSize,
such
that e.g.:
TypeSize::Scalable(0) + TypeSize::Fixed(4) == TypeSize::Fixed(4)
TypeSize::Fixed(0) + TypeSize::Scalable(4) == TypeSize::Scalable(4)
This makes it easier to implement add-reductions using TypeSize where
the 'scalable' flag is not yet known before starting the reduction.
(this PR follows on from #72979)
Commit: 6778dbe50228ea47c586d7b9b60ef57a78915148
https://github.com/llvm/llvm-project/commit/6778dbe50228ea47c586d7b9b60ef57a78915148
Author: Nikita Popov <npopov at redhat.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M llvm/include/llvm/Support/GenericDomTreeConstruction.h
Log Message:
-----------
[DomTree] Avoid duplicate hash lookup (NFC)
We're performing the same lookup twice here, just to access
different fields. Only perform it once.
Also prefer using find() over operator[], as we do not want to
perform an insert if the node does not exist.
Commit: 79b03306af5c11d354fa90db8bfd7818cd811ef5
https://github.com/llvm/llvm-project/commit/79b03306af5c11d354fa90db8bfd7818cd811ef5
Author: Joseph Huber <huberjn at outlook.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M runtimes/CMakeLists.txt
Log Message:
-----------
[llvm] Disable HandleLLVMOptions in runtimes mode (#73031)
Summary:
There are a few default options that LLVM adds that can be problematic
for runtimes builds. These options are generally intended to handle
building LLVM itself, but are also added when building in a runtimes
mode. One such issue I've run into is that in `libc` we deliberately use
`--target` to use a different device toolchain, which doesn't support
some linker arguments passed via `-Wl`. This is observed in
https://github.com/llvm/llvm-project/pull/73030 when attempting to use
these options.
This patch completely removes these default arguments.
The consensus is that any issues created by this patch should ultimately
be solved on a per-runtime basis.
Commit: ae10baf0a0dff53837c3729b8bde64505f54f7aa
https://github.com/llvm/llvm-project/commit/ae10baf0a0dff53837c3729b8bde64505f54f7aa
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M libcxxabi/test/test_demangle.pass.cpp
Log Message:
-----------
[libcxxabi][test][NFC] Turn off clang-format for demangler test-case array (#73503)
Adding test-cases to the `cases` array causes `git clang-format` to
split the strings of many of the existing test-cases, making them harder
to read/work with in most cases.
This patch disables `clang-format` for the `cases` array so it doesn't
catch anyone off-guard in the future.
Commit: 839abdb0d293a87a8bf9a298c9d5c29845fd59b2
https://github.com/llvm/llvm-project/commit/839abdb0d293a87a8bf9a298c9d5c29845fd59b2
Author: Igor Kirillov <igor.kirillov at arm.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M llvm/lib/CodeGen/MachineLICM.cpp
M llvm/test/CodeGen/AArch64/machine-licm-hoist-load.ll
Log Message:
-----------
[MachineLICM] Fix incorrect CSE on hoisted const load (#73007)
When hoisting an invariant load, we should not combine it with an
existing load through common subexpression elimination (CSE). This is
because there might be memory-changing instructions between the existing
load and the end of the block entering the loop.
Fixes https://github.com/llvm/llvm-project/issues/72855
Commit: bf02c84cb8e7f60dfc12f822cd2bb71890b03101
https://github.com/llvm/llvm-project/commit/bf02c84cb8e7f60dfc12f822cd2bb71890b03101
Author: Joseph Huber <huberjn at outlook.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M libc/utils/gpu/server/rpc_server.cpp
Log Message:
-----------
[libc] Use file lock to join newline on RPC puts call (#73373)
Summary:
The puts call appends a newline. With multiple threads, this can be done
out of order such that another thread puts something before we finish
appending the newline. Add a flockfile and funlockfile to ensure that
the whole string is printed before another string can appear.
Commit: ba1c869f0026923e0db80ffbd94d02e4718cc1f1
https://github.com/llvm/llvm-project/commit/ba1c869f0026923e0db80ffbd94d02e4718cc1f1
Author: Erich Keane <ekeane at nvidia.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/OpenACCKinds.h
M clang/include/clang/Parse/Parser.h
M clang/lib/Parse/ParseOpenACC.cpp
M clang/test/ParserOpenACC/parse-constructs.c
A clang/test/ParserOpenACC/parse-constructs.cpp
Log Message:
-----------
[OpenACC] Implement 'routine' construct parsing (#73143)
The 'routine' construct applies either to a function directly, or, when
provided a name, applies to the function named (and is visible in the
current scope). This patch implements the parsing for this. The
identifier provided (or Id Expression) is required to be a valid,
declared identifier, though the semantic analysis portion of the Routine
directive will need to enforce it being a function/overload set.
Commit: 934efd2c9b9461bf79599cac3f57fc35cff978f7
https://github.com/llvm/llvm-project/commit/934efd2c9b9461bf79599cac3f57fc35cff978f7
Author: Dmitri Gribenko <gribozavr at gmail.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
Revert "[Bazel] Fix llvm-exegesis build post 12b0ab2"
This reverts commit 1449b349ac4072adb1f593234c1d6f67986d3b6a. The
corresponding CMake commit (12b0ab2) was reverted.
Commit: 286905351f5b0f520ec4ed6081f7008a0b292aa5
https://github.com/llvm/llvm-project/commit/286905351f5b0f520ec4ed6081f7008a0b292aa5
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-2.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-8.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-2.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-8.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-2.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-8.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-2.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-8.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-2.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-8.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-2.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-8.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-2.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-8.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-2.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-8.ll
Log Message:
-----------
[X86] vector-interleaved tests - add AVX512F/AVX512DQ/AVX512BW/AVX512DQBW-ONLY common prefixes to merge more SLOW/FAST checks
Not used by many vector-interleaved tests, but its a LOT easier to maintain if we use the same prefixes for all of them.
Commit: 9539cbf03304b0f36f95414d40b3c8ecce42eb70
https://github.com/llvm/llvm-project/commit/9539cbf03304b0f36f95414d40b3c8ecce42eb70
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M libc/src/__support/macros/properties/float.h
Log Message:
-----------
[libc] Add detection support for float16 (#73372)
Commit: caba0314cf631a3ba3e982cbcdc455224046c7a8
https://github.com/llvm/llvm-project/commit/caba0314cf631a3ba3e982cbcdc455224046c7a8
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M clang/lib/Driver/ToolChains/Flang.cpp
M flang/include/flang/Tools/CLOptions.inc
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/test/Driver/falias-analysis.f90
M flang/test/Driver/mlir-pass-pipeline.f90
M flang/test/Driver/optimization-remark.f90
M flang/test/Fir/basic-program.fir
M flang/tools/tco/tco.cpp
Log Message:
-----------
[flang] Enable alias tags pass by default (#73111)
Enable by default for optimization levels higher than 0 (same behavior
as clang).
For simplicity, only forward the flag to the frontend driver when it
contradicts what is implied by the optimization level.
Since https://github.com/llvm/llvm-project/pull/72903 there are now no
known performance regressions.
Commit: 80403e9fee77b24ad85420a5449fd3ab31794218
https://github.com/llvm/llvm-project/commit/80403e9fee77b24ad85420a5449fd3ab31794218
Author: h-vetinari <h.vetinari at gmx.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M libcxx/docs/Status/Cxx20Issues.csv
M libcxx/docs/Status/Cxx20Papers.csv
M libcxx/docs/Status/Cxx23Issues.csv
M libcxx/docs/Status/Cxx23Papers.csv
Log Message:
-----------
[libc++] fix some inconsistencies on libcxx status pages (#73471)
Minor things I've noticed from looking at the pages. For the missing
space I actually searched for "``\\\s\w" to see where they were hiding.
Commit: c94444390f4c8f4d898ac8a8444bc4bf3394609f
https://github.com/llvm/llvm-project/commit/c94444390f4c8f4d898ac8a8444bc4bf3394609f
Author: Utkarsh Saxena <usx at google.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M clang-tools-extra/clang-tidy/misc/CoroutineHostileRAIICheck.cpp
M clang-tools-extra/clang-tidy/misc/CoroutineHostileRAIICheck.h
M clang-tools-extra/docs/clang-tidy/checks/misc/coroutine-hostile-raii.rst
M clang-tools-extra/test/clang-tidy/checkers/misc/coroutine-hostile-raii.cpp
Log Message:
-----------
[clangtidy] Allow safe suspensions in coroutine-hostile-raii check (#72954)
Certain `awaitable` types could be safe to `co_await` on even when we
have suspension-hostile RAII objects in scope.
This PR adds a way for users to mark such safe `awaitable` and silence
false positive warnings in `co_await` expressions involving such an
`awaitable`.
`co_await`-ing an expression of `awaitable` type is considered safe if
the type is part of `SafeAwaiatablesList` check option. RAII objects
persisting across such a `co_await` expression are
considered safe and hence are not flagged.
Commit: fb23fabc190f528e09d85505c094666bb75fbf11
https://github.com/llvm/llvm-project/commit/fb23fabc190f528e09d85505c094666bb75fbf11
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M libc/src/__support/macros/properties/float.h
Log Message:
-----------
[libc] Fix forward octal prefix (#73526)
To fix failing build bots after :
https://github.com/llvm/llvm-project/pull/73372
```
/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu-fullbuild-dbg/llvm-project/libc/src/__support/macros/properties/float.h:40:71: error: invalid digit '9' in octal constant
#if (defined(LIBC_COMPILER_CLANG_VER) && (LIBC_COMPILER_CLANG_VER >= 0900)) || \
```
Commit: ca007181eadf9bce357e382400cfddb5b925c142
https://github.com/llvm/llvm-project/commit/ca007181eadf9bce357e382400cfddb5b925c142
Author: Joseph Huber <huberjn at outlook.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M openmp/cmake/HandleOpenMPOptions.cmake
Log Message:
-----------
[OpenMP] Fix missing CMake function in runtimes build
Summary:
We borrowed this function from LLVM, my previous patch removed that. Now
we redefine it if it's not present.
Commit: bf95a0cd2073b6f5bd2c00bc645be00d38bf49a6
https://github.com/llvm/llvm-project/commit/bf95a0cd2073b6f5bd2c00bc645be00d38bf49a6
Author: Stephan T. Lavavej <stl at nuwen.net>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M libcxx/test/std/containers/views/mdspan/CustomTestLayouts.h
M libcxx/test/std/containers/views/mdspan/mdspan/CustomTestAccessors.h
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_array.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_extents.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_integers.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_map.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_map_acc.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_span.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/swap.pass.cpp
M libcxx/test/std/utilities/expected/expected.expected/observers/has_value.pass.cpp
M libcxx/test/std/utilities/expected/expected.void/monadic/and_then.pass.cpp
M libcxx/test/std/utilities/expected/expected.void/monadic/transform.pass.cpp
Log Message:
-----------
[libc++][test] Avoid C++23 Core features that MSVC lacks (#73438)
Found while running libc++'s test suite with MSVC's STL, where we use
both Clang and MSVC's compiler.
libc++'s test suite has started using some C++23 Core Language features
that MSVC hasn't implemented yet. When avoiding these features costs
just a tiny bit of syntax, I would like to ask libc++ to consider making
that change in the interest of practical portability, at least until
MSVC catches up. If there's no desire to do so, then I could skip the
affected tests, but that would make me a slightly sad kitty.
Commit: c449460d8a657e46500ad12be457928207207e3e
https://github.com/llvm/llvm-project/commit/c449460d8a657e46500ad12be457928207207e3e
Author: Fangrui Song <i at maskray.me>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M clang/test/CodeGen/ms-inline-asm-64.c
M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
Log Message:
-----------
ms inline asm: Fix {call,jmp} fptr (#73207)
https://reviews.llvm.org/D151863 (2023-05) removed
`BaseReg = BaseReg ? BaseReg : 1` (introduced in commit
175d0aeef3725ce17032e9ef76e018139f2f52f0 (2013)) and caused a
regression: ensuring a non-zero `BaseReg` was to treat
`static void (*fptr)(); __asm { call fptr }` as non-`AbsMem`
`AsmOperandClass` and generate `call $0`/`callq *fptr(%rip)` instead of
`call ${0:P}`/`callq *fptr`
(The asm template argument modifier `P` is for call targets, while
no modifier is used by other instructions like `mov rax, fptr`)
This patch reinstates the BaseReg-setting statement but places it inside
`if (IsGlobalLV)` for clarify.
The special case is unfortunate, but we also have special case in
similar places (https://reviews.llvm.org/D149920).
Fix: #73033
Commit: 936180a5e8816b2d02393b8faa535bcd37ac9b42
https://github.com/llvm/llvm-project/commit/936180a5e8816b2d02393b8faa535bcd37ac9b42
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M libcxx/include/__algorithm/pstl_backend.h
Log Message:
-----------
[libc++][NFC] Fix typo in comment
Commit: 28a5e6b069ee7540cd0965a0ad6cf0475db8d68c
https://github.com/llvm/llvm-project/commit/28a5e6b069ee7540cd0965a0ad6cf0475db8d68c
Author: Nikita Popov <npopov at redhat.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M llvm/lib/Analysis/AssumptionCache.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstCombine/assume.ll
M llvm/test/Transforms/InstCombine/zext-or-icmp.ll
Log Message:
-----------
[InstCombine] Remove over-generalization from computeKnownBitsFromCmp() (#72637)
For most practical purposes, the only KnownBits patterns we care about are
those involving a constant comparison RHS and constant mask. However,
the actual implementation is written in a very general way -- and of
course, with basically no test coverage of those generalizations.
This patch reduces the implementation to only handle cases with constant
operands. The test changes are all in "make sure we don't crash" tests.
The motivation for this change is an upcoming patch to handling dominating
conditions in computeKnownBits(). Handling non-constant RHS would add
significant additional compile-time overhead in that case, without any
significant impact on optimization quality.
Commit: 12bb2910c3e339730279f65b2c0813ccfce024f1
https://github.com/llvm/llvm-project/commit/12bb2910c3e339730279f65b2c0813ccfce024f1
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M libcxx/docs/DesignDocs/ExperimentalFeatures.rst
M libcxx/docs/ReleaseNotes/18.rst
M libcxx/include/CMakeLists.txt
M libcxx/include/__std_clang_module
M libcxx/include/experimental/__config
R libcxx/include/experimental/deque
R libcxx/include/experimental/forward_list
R libcxx/include/experimental/list
R libcxx/include/experimental/map
R libcxx/include/experimental/memory_resource
R libcxx/include/experimental/regex
R libcxx/include/experimental/set
R libcxx/include/experimental/string
R libcxx/include/experimental/unordered_map
R libcxx/include/experimental/unordered_set
R libcxx/include/experimental/vector
M libcxx/include/module.modulemap.in
M libcxx/src/CMakeLists.txt
A libcxx/src/experimental/keep.cpp
R libcxx/src/experimental/memory_resource.cpp
R libcxx/src/experimental/memory_resource_init_helper.h
R libcxx/test/libcxx/experimental/lit.local.cfg
R libcxx/test/libcxx/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/assert.deallocate.pass.cpp
R libcxx/test/libcxx/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/construct_piecewise_pair.pass.cpp
R libcxx/test/libcxx/experimental/memory/memory.resource.adaptor/memory.resource.adaptor.mem/assert.deallocate.pass.cpp
R libcxx/test/libcxx/experimental/memory/memory.resource.global/global_memory_resource_lifetime.pass.cpp
R libcxx/test/libcxx/experimental/memory/memory.resource.global/new_delete_resource_lifetime.pass.cpp
M libcxx/test/libcxx/transitive_includes/cxx03.csv
M libcxx/test/libcxx/transitive_includes/cxx11.csv
M libcxx/test/libcxx/transitive_includes/cxx14.csv
M libcxx/test/libcxx/transitive_includes/cxx17.csv
M libcxx/test/libcxx/transitive_includes/cxx20.csv
M libcxx/test/libcxx/transitive_includes/cxx23.csv
M libcxx/test/libcxx/transitive_includes/cxx26.csv
R libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.ctor/assign.pass.cpp
R libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.ctor/copy.pass.cpp
R libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.ctor/default.pass.cpp
R libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.ctor/memory_resource_convert.pass.cpp
R libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.ctor/other_alloc.pass.cpp
R libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.eq/equal.pass.cpp
R libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.eq/not_equal.pass.cpp
R libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/allocate.pass.cpp
R libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/construct_pair.pass.cpp
R libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/construct_pair_const_lvalue_pair.pass.cpp
R libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/construct_pair_rvalue.pass.cpp
R libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/construct_pair_values.pass.cpp
R libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/construct_piecewise_pair.pass.cpp
R libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/construct_piecewise_pair_evil.pass.cpp
R libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/construct_types.pass.cpp
R libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/deallocate.pass.cpp
R libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/destroy.pass.cpp
R libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/resource.pass.cpp
R libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/select_on_container_copy_construction.pass.cpp
R libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.overview/nothing_to_do.pass.cpp
R libcxx/test/std/experimental/memory/memory.resource.adaptor/memory.resource.adaptor.ctor/alloc_copy.pass.cpp
R libcxx/test/std/experimental/memory/memory.resource.adaptor/memory.resource.adaptor.ctor/alloc_move.pass.cpp
R libcxx/test/std/experimental/memory/memory.resource.adaptor/memory.resource.adaptor.ctor/default.pass.cpp
R libcxx/test/std/experimental/memory/memory.resource.adaptor/memory.resource.adaptor.mem/do_allocate_and_deallocate.pass.cpp
R libcxx/test/std/experimental/memory/memory.resource.adaptor/memory.resource.adaptor.mem/do_is_equal.pass.cpp
R libcxx/test/std/experimental/memory/memory.resource.adaptor/memory.resource.adaptor.overview/overview.pass.cpp
R libcxx/test/std/experimental/memory/memory.resource.aliases/header_deque_synop.pass.cpp
R libcxx/test/std/experimental/memory/memory.resource.aliases/header_forward_list_synop.pass.cpp
R libcxx/test/std/experimental/memory/memory.resource.aliases/header_list_synop.pass.cpp
R libcxx/test/std/experimental/memory/memory.resource.aliases/header_map_synop.pass.cpp
R libcxx/test/std/experimental/memory/memory.resource.aliases/header_regex_synop.pass.cpp
R libcxx/test/std/experimental/memory/memory.resource.aliases/header_set_synop.pass.cpp
R libcxx/test/std/experimental/memory/memory.resource.aliases/header_string_synop.pass.cpp
R libcxx/test/std/experimental/memory/memory.resource.aliases/header_unordered_map_synop.pass.cpp
R libcxx/test/std/experimental/memory/memory.resource.aliases/header_unordered_set_synop.pass.cpp
R libcxx/test/std/experimental/memory/memory.resource.aliases/header_vector_synop.pass.cpp
R libcxx/test/std/experimental/memory/memory.resource.global/default_resource.pass.cpp
R libcxx/test/std/experimental/memory/memory.resource.global/new_delete_resource.pass.cpp
R libcxx/test/std/experimental/memory/memory.resource.global/null_memory_resource.pass.cpp
R libcxx/test/std/experimental/memory/memory.resource.synop/nothing_to_do.pass.cpp
R libcxx/test/std/experimental/memory/memory.resource/construct.verify.cpp
R libcxx/test/std/experimental/memory/memory.resource/memory.resource.eq/equal.pass.cpp
R libcxx/test/std/experimental/memory/memory.resource/memory.resource.eq/not_equal.pass.cpp
R libcxx/test/std/experimental/memory/memory.resource/memory.resource.overview/nothing_to_do.pass.cpp
R libcxx/test/std/experimental/memory/memory.resource/memory.resource.priv/private_members.verify.cpp
R libcxx/test/std/experimental/memory/memory.resource/memory.resource.public/allocate.pass.cpp
R libcxx/test/std/experimental/memory/memory.resource/memory.resource.public/deallocate.pass.cpp
R libcxx/test/std/experimental/memory/memory.resource/memory.resource.public/dtor.pass.cpp
R libcxx/test/std/experimental/memory/memory.resource/memory.resource.public/is_equal.pass.cpp
R libcxx/test/support/test_memory_resource.h
M libcxx/test/support/uses_alloc_types.h
M libcxx/utils/libcxx/header_information.py
Log Message:
-----------
[libc++] Remove experimental pmr headers now shipped in mainline (#73172)
Several experimental headers around std::pmr have been slated for
removal for a while now. This patch actually performs the removal and
cleanups from the code base.
Commit: 63a6e51f8ad68a1f573b3a278486124c0ade8711
https://github.com/llvm/llvm-project/commit/63a6e51f8ad68a1f573b3a278486124c0ade8711
Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M flang/lib/Semantics/resolve-names.cpp
A flang/test/Semantics/OpenMP/critical-empty.f90
Log Message:
-----------
[Flang][OpenMP] Fix issue with empty critical or critical without surrounding context (#71944)
Add the sourcerange for critical directive.
Fixes #65571
Commit: c599b8eec0c4f134afcd28ac3baf6fc7b0b36901
https://github.com/llvm/llvm-project/commit/c599b8eec0c4f134afcd28ac3baf6fc7b0b36901
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M libc/src/__support/FPUtil/FloatProperties.h
M libc/src/__support/FPUtil/dyadic_float.h
Log Message:
-----------
[libc][NFC] Decouple FP properties from C++ types (#73517)
We simplify the floating point properties by splitting concerns:
- We define all distinct floating point formats in the `FPType` enum.
- We map them to properties via the `FPProperties` trait.
- We map from C++ type to `FPType` in the `getFPType` function so logic
is easier to understand and extend.
Commit: 6b9c186b2d4c8bd315034a9655a28d32bcf745ab
https://github.com/llvm/llvm-project/commit/6b9c186b2d4c8bd315034a9655a28d32bcf745ab
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M mlir/lib/Conversion/VectorToSPIRV/VectorToSPIRV.cpp
M mlir/test/Conversion/VectorToSPIRV/vector-to-spirv.mlir
Log Message:
-----------
[mlir][spirv] Handle non-innerprod float vector add reductions (#73476)
Instead of extracting all individual vector components and performing a
scalar summation, use `spirv.Dot` with the original reduction operand
and a vector constant of all ones.
Commit: e0aac8c88d0d30e8da0f8a240ad1e6b4d88782e0
https://github.com/llvm/llvm-project/commit/e0aac8c88d0d30e8da0f8a240ad1e6b4d88782e0
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M mlir/include/mlir/Dialect/GPU/IR/GPUOps.td
M mlir/include/mlir/IR/CommonTypeConstraints.td
M mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
M mlir/lib/Conversion/GPUToSPIRV/GPUToSPIRV.cpp
M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
M mlir/lib/Dialect/GPU/Transforms/AllReduceLowering.cpp
M mlir/test/Conversion/GPUToNVVM/gpu-to-nvvm.mlir
M mlir/test/Conversion/GPUToSPIRV/reductions.mlir
A mlir/test/Dialect/GPU/all-reduce-add.mlir
R mlir/test/Dialect/GPU/all-reduce-max.mlir
A mlir/test/Dialect/GPU/all-reduce-maxf.mlir
R mlir/test/Dialect/GPU/all-reduce.mlir
M mlir/test/Dialect/GPU/invalid.mlir
Log Message:
-----------
[mlir][gpu] Align reduction operations with vector combining kinds (#73423)
The motivation for this change is explained in
https://github.com/llvm/llvm-project/issues/72354.
Before this change, we could not tell between signed/unsigned
minimum/maximum and NaN treatment for floating point values.
The mapping of old reduction operations to the new ones is as follows:
* `min` --> `minsi` for ints, `minf` for floats
* `max` --> `maxsi` for ints, `maxf` for floats
New reduction kinds not represented in the old enum: `minui`, `maxui`,
`minimumf`, `maximumf`.
As a next step, I would like to have a common definition of combining
kinds used by the `vector` and `gpu` dialects. Separately, the GPU to
SPIR-V lowering does not yet properly handle zero and NaN values -- the
behavior of floating point min/max group reductions is not specified by
the SPIR-V spec, see https://github.com/llvm/llvm-project/issues/73459.
Issue: https://github.com/llvm/llvm-project/issues/72354
Commit: 3c23ed156f0151923b168bdff0c34ec73fb37f38
https://github.com/llvm/llvm-project/commit/3c23ed156f0151923b168bdff0c34ec73fb37f38
Author: David Green <david.green at arm.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
A llvm/test/CodeGen/AArch64/sve-aliasing.ll
Log Message:
-----------
[AArch64] Add a test to show scheduling aliasing between SVE loads and stores. NFC
Commit: dd3184c30ff531b8aecea280e65233337dd02815
https://github.com/llvm/llvm-project/commit/dd3184c30ff531b8aecea280e65233337dd02815
Author: Fangrui Song <i at maskray.me>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M llvm/examples/ExceptionDemo/ExceptionDemo.cpp
M llvm/unittests/Analysis/MemorySSATest.cpp
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
M llvm/unittests/IR/InstructionsTest.cpp
M llvm/unittests/Transforms/Utils/FunctionComparatorTest.cpp
Log Message:
-----------
[unittest,examples] Replace uses of IRBuilder::getInt8PtrTy with getPtrTy. NFC
Commit: dd09221a29506031415cad8a1308998358633d48
https://github.com/llvm/llvm-project/commit/dd09221a29506031415cad8a1308998358633d48
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M mlir/include/mlir/Dialect/GPU/IR/GPUOps.td
M mlir/include/mlir/IR/CommonTypeConstraints.td
M mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
M mlir/lib/Conversion/GPUToSPIRV/GPUToSPIRV.cpp
M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
M mlir/lib/Dialect/GPU/Transforms/AllReduceLowering.cpp
M mlir/test/Conversion/GPUToNVVM/gpu-to-nvvm.mlir
M mlir/test/Conversion/GPUToSPIRV/reductions.mlir
R mlir/test/Dialect/GPU/all-reduce-add.mlir
A mlir/test/Dialect/GPU/all-reduce-max.mlir
R mlir/test/Dialect/GPU/all-reduce-maxf.mlir
A mlir/test/Dialect/GPU/all-reduce.mlir
M mlir/test/Dialect/GPU/invalid.mlir
Log Message:
-----------
Revert "[mlir][gpu] Align reduction operations with vector combining kinds (#73423)"
This reverts commit e0aac8c88d0d30e8da0f8a240ad1e6b4d88782e0.
I'm seeing some nvidia integration test failures:
https://lab.llvm.org/buildbot/#/builders/61/builds/52334.
Commit: 129440728ce3e688969ed253a6709a5d50c5e850
https://github.com/llvm/llvm-project/commit/129440728ce3e688969ed253a6709a5d50c5e850
Author: Philip Reames <preames at rivosinc.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFoldMasks.cpp
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
Log Message:
-----------
[RISCV] Partially move doPeepholeMaskedRVV into RISCVFoldMasks (#72441)
This change is motived by a point of confusion on
https://github.com/llvm/llvm-project/pull/71764. I hadn't fully
understood why doPeepholeMaskedRVV needed to be part of the same change.
As indicated in the fixme in this patch, the reason is that
performCombineVMergeAndVOps doesn't know how to deal with the true side
of the merge being a all-ones masked instruction.
This change removes one of two calls to the routine in
RISCVISELDAGToDAG, and adds a clarifying comment on the precondition for
the remaining call. The post-ISEL code is tested by the cases where we
can form a unmasked instruction after folding the vmerge back into true.
I don't really care if we actually land this patch, or leave it roled
into https://github.com/llvm/llvm-project/pull/71764. I'm posting it
mostly to clarify the confusion.
Commit: c6444867405d25e5784e36302c90bca1c280a964
https://github.com/llvm/llvm-project/commit/c6444867405d25e5784e36302c90bca1c280a964
Author: Nikita Popov <npopov at redhat.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
Log Message:
-----------
[ValueTracking] Pass unpacked arguments to computeKnownBitsFromCmp() (NFC)
This will alllow using it with an inverted predicate in the future.
Commit: 7eccd5284290fea26df44fbc5a604b54e7b115a2
https://github.com/llvm/llvm-project/commit/7eccd5284290fea26df44fbc5a604b54e7b115a2
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M mlir/include/mlir/Dialect/GPU/IR/GPUOps.td
M mlir/include/mlir/IR/CommonTypeConstraints.td
M mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
M mlir/lib/Conversion/GPUToSPIRV/GPUToSPIRV.cpp
M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
M mlir/lib/Dialect/GPU/Transforms/AllReduceLowering.cpp
M mlir/test/Conversion/GPUToNVVM/gpu-to-nvvm.mlir
M mlir/test/Conversion/GPUToSPIRV/reductions.mlir
A mlir/test/Dialect/GPU/all-reduce-add.mlir
R mlir/test/Dialect/GPU/all-reduce-max.mlir
A mlir/test/Dialect/GPU/all-reduce-maxf.mlir
R mlir/test/Dialect/GPU/all-reduce.mlir
M mlir/test/Dialect/GPU/invalid.mlir
R mlir/test/Integration/GPU/CUDA/all-reduce-max.mlir
A mlir/test/Integration/GPU/CUDA/all-reduce-maxsi.mlir
R mlir/test/Integration/GPU/CUDA/all-reduce-min.mlir
A mlir/test/Integration/GPU/CUDA/all-reduce-minsi.mlir
Log Message:
-----------
Reland "[mlir][gpu] Align reduction operations with vector combining kinds (#73423)"
This reverts commit dd09221a29506031415cad8a1308998358633d48 and relands
https://github.com/llvm/llvm-project/pull/73423.
* Updated `gpu.all_reduce` `min`/`max` in CUDA integration tests.
Commit: d8b8aa3a56611477f93d029a59a0b350fb5166b0
https://github.com/llvm/llvm-project/commit/d8b8aa3a56611477f93d029a59a0b350fb5166b0
Author: Youngsuk Kim <youngsuk.kim at hpe.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/InterleavedLoadCombinePass.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
Log Message:
-----------
[llvm] Replace calls to Type::getPointerTo (NFC)
Cleanup work towards removing the method Type::getPointerTo.
If a call to Type::getPointerTo is used solely to support an unneeded
pointer-cast, remove the call entirely.
Commit: b9b627fbc3bc64cd3e7e009917df35d2971827d9
https://github.com/llvm/llvm-project/commit/b9b627fbc3bc64cd3e7e009917df35d2971827d9
Author: Dmitri Gribenko <gribozavr at gmail.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M clang/test/OpenMP/dispatch_unsupported.c
Log Message:
-----------
[clang] Fix a new test to not write temp files to the git repository
Commit: 811234ee954a2d7e3c4e91aab390e87f4a36e9b9
https://github.com/llvm/llvm-project/commit/811234ee954a2d7e3c4e91aab390e87f4a36e9b9
Author: Craig Topper <craig.topper at sifive.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
Log Message:
-----------
[RISCV] Add Zbs Write classes to SiFive7AnyToGPRBypass. (#72560)
Commit: fe3c4218438adeebba4914a57b4d382e3a947394
https://github.com/llvm/llvm-project/commit/fe3c4218438adeebba4914a57b4d382e3a947394
Author: Craig Topper <craig.topper at sifive.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
Log Message:
-----------
[RISCV][GISel] Merge selectGlobalValue and selectJumpTable. NFC (#72759)
We can use addDisp in place of addGlobalAddress/addJumpTableIndex to
copy the existing MachineOperand from the generic instruction.
Commit: 9a376530b3e3b5d105f46ca5abc2375a593b9a63
https://github.com/llvm/llvm-project/commit/9a376530b3e3b5d105f46ca5abc2375a593b9a63
Author: Joseph Huber <huberjn at outlook.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M runtimes/CMakeLists.txt
Log Message:
-----------
Revert "[llvm] Disable HandleLLVMOptions in runtimes mode (#73031)"
This reverts commit 79b03306af5c11d354fa90db8bfd7818cd811ef5.
I am seeing very confusing errors with the `libomptarget` test suite
when using dlopen / other flags. Reverting to investigate why this is.
Commit: 623cd75105398dfe199b9588d58281956b8e6753
https://github.com/llvm/llvm-project/commit/623cd75105398dfe199b9588d58281956b8e6753
Author: Jason Liu <47833311+jasonliudev at users.noreply.github.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M llvm/include/llvm/Object/ELF.h
A llvm/test/tools/llvm-objdump/X86/phdrs-lma3.test
M llvm/tools/llvm-objdump/ELFDump.cpp
M llvm/tools/llvm-readobj/ELFDumper.cpp
Log Message:
-----------
[llvm-objdump] Fix lma display issue for non-bss sections (#72141)
llvm-readobj and llvm-objdump have inconsistent handling of display
lma for sections.
This patch tries to common code up and adapt the same approach for
both tools.
Commit: d79aee9f7339e80facedb140492181a4bba3c5b7
https://github.com/llvm/llvm-project/commit/d79aee9f7339e80facedb140492181a4bba3c5b7
Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M compiler-rt/lib/interception/interception_win.cpp
M compiler-rt/lib/interception/tests/interception_win_test.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_platform.h
Log Message:
-----------
Changes to support running tests for Windows arm64 asan (#66973)
1. Differentiate SANITIZER_WINDOWS64 for x64 and arm64
2. turn off interception tests that expect x86 assembly
---------
Co-authored-by: Farzon Lotfi <farzon at farzon.com>
Commit: 390840fbdf280b68a5498af952926ffcd678954e
https://github.com/llvm/llvm-project/commit/390840fbdf280b68a5498af952926ffcd678954e
Author: Dimitrij Mijoski <dmjpp at hotmail.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M libcxx/src/locale.cpp
A libcxx/test/std/localization/codecvt_unicode.pass.cpp
Log Message:
-----------
[libc++] Fix UTF-8 decoding in codecvts (#68442)
This patch fixes one case where the decoding member function `in()` was
returning `partial` instead of `error`. Additionally, it adds large
testsuite that tests all `codecvt` facets that were added in C++11 and
in C++20. The testsuite covers this bug.
Fixes #60177.
Commit: 1bdb2e85509da95544fbad7af053196061feca8c
https://github.com/llvm/llvm-project/commit/1bdb2e85509da95544fbad7af053196061feca8c
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M mlir/lib/Conversion/GPUToSPIRV/GPUToSPIRV.cpp
M mlir/test/Conversion/GPUToSPIRV/reductions.mlir
Log Message:
-----------
[mlir][spirv] Simplify gpu reduction to spirv logic (#73546)
Check the type only once and then specialize op handlers based on it.
Do not use boolean types in group arithmetic ops that expect integers.
Commit: 6e8f7d5966f51f3c3ddf76bb00eb60f4fb9ceebe
https://github.com/llvm/llvm-project/commit/6e8f7d5966f51f3c3ddf76bb00eb60f4fb9ceebe
Author: Quinn Dawkins <quinn.dawkins at gmail.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.h
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorDropLeadUnitDim.cpp
M mlir/test/Dialect/Vector/vector-dropleadunitdim-transforms.mlir
Log Message:
-----------
[mlir][vector] Fix patterns for dropping leading unit dims from masks (#73525)
Previously the pattern only worked when the permutation map was a minor
identity. Infer the new mask type from the new transfer map after
dropping leading unit dims.
Commit: 7138fabfbcdfedfe7e9271ee8355774101dfcfed
https://github.com/llvm/llvm-project/commit/7138fabfbcdfedfe7e9271ee8355774101dfcfed
Author: Lang Hames <lhames at gmail.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M compiler-rt/lib/orc/simple_packed_serialization.h
M compiler-rt/lib/orc/tests/unit/simple_packed_serialization_test.cpp
Log Message:
-----------
[ORC-RT] Add SPS serialization for std::tuple.
This will be used in upcoming changes to macho_platform.
Commit: 56c72c7f339cd6ff780a0d6aa1a0ac8bfc1487aa
https://github.com/llvm/llvm-project/commit/56c72c7f339cd6ff780a0d6aa1a0ac8bfc1487aa
Author: Lang Hames <lhames at gmail.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/SymbolStringPool.h
M llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
M llvm/unittests/ExecutionEngine/Orc/SymbolStringPoolTest.cpp
Log Message:
-----------
[ORC] Add a public unsafe-operations helper for SymbolStringPtr.
SymbolStringPoolEntryUnsafe provides unsafe access to SymbolStringPtr objects,
allowing clients to manually retain and release pool entries, or consume or
create SymbolStringPtr instances without affecting an entry's ref-count. This
can be useful when writing C APIs that need to handle SymbolStringPtrs.
As part of this patch the LLVM-C API implementation is updated to use the new
utility, rather than the old, private OrcV2CAPIHelper utility.
Commit: 4a2db23e6ce48f393dea5667755bb87baca348f1
https://github.com/llvm/llvm-project/commit/4a2db23e6ce48f393dea5667755bb87baca348f1
Author: Craig Topper <craig.topper at sifive.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
Log Message:
-----------
[RISCV][GISel] Use setDesc in some cases instead of creating new instructions. (#72769)
Slight memory usage improvement by reusing.
Commit: 20406af31ba5996edd4db3b7363ac1a870859929
https://github.com/llvm/llvm-project/commit/20406af31ba5996edd4db3b7363ac1a870859929
Author: Brad Smith <brad at comstyle.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M openmp/runtime/src/kmp_safe_c_api.h
Log Message:
-----------
[runtime] Have the runtime use the compiler builtin for alloca on NetBSD (#73480)
Most of the tests were failing with the following in their logs..
| /usr/bin/ld: /home/brad/llvm-build/runtimes/runtimes-bins/openmp/runtime/src/libomp.so:
warning: Warning: reference to the libc supplied alloca(3); this most likely will not
work. Please use the compiler provided version of alloca(3), by supplying the appropriate
compiler flags (e.g. -std=gnu99).
By making use of __builtin_alloca..
before:
Total Discovered Tests: 353
Unsupported: 59 (16.71%)
Passed : 51 (14.45%)
Failed : 243 (68.84%)
after:
Total Discovered Tests: 353
Unsupported: 59 (16.71%)
Passed : 290 (82.15%)
Failed : 4 (1.13%)
Commit: e66876f2e05faa82ffee8e3c28cbfe0637193b99
https://github.com/llvm/llvm-project/commit/e66876f2e05faa82ffee8e3c28cbfe0637193b99
Author: Brad Smith <brad at comstyle.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M openmp/tools/multiplex/tests/lit.cfg
Log Message:
-----------
[OpenMP][Tools] Have sort(1) not use long name parameters (#73477)
I noticed a few tests were failing on NetBSD. NetBSD's sort(1) does not
support long name parameters unlike GNU and FreeBSD/OpenBSD/DragonFly's
sort(1).
executed command: sort --numeric-sort --stable
.---command stderr------------
| sort: unknown option -- -
| usage: sort [-bdfHilmnrSsu] [-k kstart[,kend]] [-o output] [-R char] [-T dir]
| [-t char] [file ...]
| or: sort -C|-c [-bdfilnru] [-k kstart[,kend]] [-o output] [-R char]
| [-t char] [file]
`-----------------------------
Commit: 90b3e6711e0a03520fb617994178cdbe083ff20c
https://github.com/llvm/llvm-project/commit/90b3e6711e0a03520fb617994178cdbe083ff20c
Author: Kazu Hirata <kazu at google.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFoldMasks.cpp
Log Message:
-----------
[RISCV] Fix a warning
This patch fixes:
llvm/lib/Target/RISCV/RISCVFoldMasks.cpp:151:14: error: unused
variable 'HasPolicyOp' [-Werror,-Wunused-variable]
Commit: 5f31dbd18d24f0084363891139edf4fe71081eed
https://github.com/llvm/llvm-project/commit/5f31dbd18d24f0084363891139edf4fe71081eed
Author: Craig Topper <craig.topper at sifive.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
M llvm/lib/Target/RISCV/GISel/RISCVRegisterBankInfo.cpp
A llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/fp-select-rv32.mir
A llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/fp-select-rv64.mir
A llvm/test/CodeGen/RISCV/GlobalISel/regbankselect/fp-select-rv32.mir
A llvm/test/CodeGen/RISCV/GlobalISel/regbankselect/fp-select-rv64.mir
Log Message:
-----------
[RISCV] Add register bank and instruction selection support for FP G_SELECT. (#72726)
Try to pick the FP register bank based on surrounding use/defs. Code is
basically copied from AArch64.
Need legalizer changes to make this more useful. Right now we're stuck
with only being able to FP select types less than or equal to XLen.
Commit: 30afb21547dd075729910d33cd8f610e057f2c9b
https://github.com/llvm/llvm-project/commit/30afb21547dd075729910d33cd8f610e057f2c9b
Author: Bjorn Pettersson <bjorn.a.pettersson at ericsson.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M llvm/lib/CodeGen/MachineCopyPropagation.cpp
M llvm/test/CodeGen/PowerPC/mma-acc-spill.ll
M llvm/test/CodeGen/PowerPC/mma-outer-product.ll
M llvm/test/CodeGen/RISCV/machine-cp.mir
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-nearbyint-vp.ll
M llvm/test/CodeGen/X86/shift-i128.ll
M llvm/test/CodeGen/X86/shift-i256.ll
M llvm/test/CodeGen/X86/smulo-128-legalisation-lowering.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-8.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
M llvm/test/CodeGen/X86/wide-scalar-shift-legalization.ll
Log Message:
-----------
Revert "[MCP] Enhance MCP copy Instruction removal for special case (#70778)"
This reverts commit cae46f6210293ba4d3568eb21b935d438934290d.
Reverted due to miscompiles.
See https://github.com/llvm/llvm-project/issues/73512
Commit: b29332a318d922aa3a626feeb3e39a312c32ba12
https://github.com/llvm/llvm-project/commit/b29332a318d922aa3a626feeb3e39a312c32ba12
Author: Max191 <44243577+Max191 at users.noreply.github.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M mlir/lib/Dialect/MemRef/Transforms/EmulateNarrowType.cpp
M mlir/test/Dialect/MemRef/emulate-narrow-type.mlir
Log Message:
-----------
[mlir] Add narrow type emulation for `memref.reinterpret_cast` (#73144)
Commit: ab14eb23b6b4939cefa01f8cb16d7540f9686144
https://github.com/llvm/llvm-project/commit/ab14eb23b6b4939cefa01f8cb16d7540f9686144
Author: Amir Ayupov <aaupov at fb.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M bolt/test/AArch64/got-ld64-relaxation.test
M bolt/test/AArch64/skip-got-rel.test
M bolt/test/RISCV/branch-no-secondary-entry.s
M bolt/test/RISCV/call-annotations.s
M bolt/test/RISCV/load-store.s
M bolt/test/RISCV/reloc-abs.s
M bolt/test/RISCV/reloc-bb-split.s
M bolt/test/RISCV/reloc-branch.s
M bolt/test/RISCV/reloc-call.s
M bolt/test/RISCV/reloc-got.s
M bolt/test/RISCV/reloc-jal.s
M bolt/test/RISCV/reloc-lohi.s
M bolt/test/RISCV/reloc-pcrel.s
M bolt/test/RISCV/reloc-rvc-branch.s
M bolt/test/RISCV/reloc-rvc-jump.s
M bolt/test/RISCV/reloc-tls.s
M bolt/test/X86/block-reordering.test
M bolt/test/X86/branch-data.test
M bolt/test/X86/bug-function-layout-execount.s
M bolt/test/X86/call-zero.s
M bolt/test/X86/cfi-instrs-count.s
M bolt/test/X86/checkvma-large-section.test
M bolt/test/X86/data-to-data-pcrel.s
M bolt/test/X86/double-rel.s
M bolt/test/X86/exceptions-args.test
M bolt/test/X86/fptr-addend-pcrel.s
M bolt/test/X86/gotpcrelx.s
M bolt/test/X86/icp-inline.s
M bolt/test/X86/indirect-goto.test
M bolt/test/X86/is-strip.s
M bolt/test/X86/jmpjmp.test
M bolt/test/X86/jump-table-footprint-reduction.test
M bolt/test/X86/jump-table-pic-order.test
M bolt/test/X86/jump-table-reference.test
M bolt/test/X86/layout-heuristic.test
M bolt/test/X86/line-number.test
M bolt/test/X86/lto-name-match.s
M bolt/test/X86/no-entry-reordering.test
M bolt/test/X86/pt_gnu_relro.s
M bolt/test/X86/reader-stale-yaml.test
M bolt/test/X86/reader.test
M bolt/test/X86/sctc-bug.test
M bolt/test/X86/sctc-bug2.test
M bolt/test/X86/sctc-bug3.test
M bolt/test/X86/sctc-bug4.test
M bolt/test/X86/section-end-sym.s
M bolt/test/X86/tailcall.test
M bolt/test/X86/vararg.test
M bolt/test/X86/yaml-multiple-profiles.test
M bolt/test/bad-exe.test
M bolt/test/no-relocs.test
M bolt/test/pie.test
M bolt/test/re-optimize.test
M bolt/test/runtime/X86/asm-dump.c
M bolt/test/yaml-profile-kind.c
Log Message:
-----------
[BOLT][test] Replace /dev/null with temp file (#73485)
NFC processing time script identifies tests by output filename.
When `/dev/null` is used as output filename, we're unable to tell the
source test, and the reports are unhelpful.
Replace `/dev/null/` with `%t.null` which resolves the issue.
Commit: 9c33bf62a7f1047e96d9da702baf0d436980fb34
https://github.com/llvm/llvm-project/commit/9c33bf62a7f1047e96d9da702baf0d436980fb34
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M openmp/libomptarget/include/rtl.h
M openmp/libomptarget/src/interface.cpp
M openmp/libomptarget/src/rtl.cpp
M openmp/libomptarget/tools/kernelreplay/llvm-omp-kernel-replay.cpp
Log Message:
-----------
[OpenMP][NFC] Remove unused (un)register_lib plugin API
These APIs have not been hooked up for a while. No need to carry them.
Commit: 2b2e711afcc3b627284538c965351add6608cc64
https://github.com/llvm/llvm-project/commit/2b2e711afcc3b627284538c965351add6608cc64
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M openmp/libomptarget/include/omptargetplugin.h
M openmp/libomptarget/include/rtl.h
M openmp/libomptarget/plugins-nextgen/common/PluginInterface/PluginInterface.cpp
M openmp/libomptarget/plugins-nextgen/common/PluginInterface/PluginInterface.h
M openmp/libomptarget/src/rtl.cpp
Log Message:
-----------
[OpenMP][NFC] Remove no-op __tgt_rtl_deinit_plugin
The order in which we deinit things, especially when shared libraries
are involved, is complicated. To simplify our lives the nextgen plugin
deinitializes the GenericPluginTy and subclasses automatically. The old
__tgt_rtl_deinit_plugin is not needed anymore.
Commit: f9436464a9c8ecae8e7eac5be788bc48041b19b4
https://github.com/llvm/llvm-project/commit/f9436464a9c8ecae8e7eac5be788bc48041b19b4
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M openmp/libomptarget/include/device.h
M openmp/libomptarget/src/interface.cpp
Log Message:
-----------
[OpenMP][NFC] Minor name and code simplification
Commit: c2ba2b219054ea1f898678cceea4a159f948fa98
https://github.com/llvm/llvm-project/commit/c2ba2b219054ea1f898678cceea4a159f948fa98
Author: David Li <57157229+david-xl at users.noreply.github.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
M llvm/test/CodeGen/X86/shuffle-half.ll
Log Message:
-----------
Fix ISel crash when lowering BUILD_VECTOR (#73186)
512bit vpbroadcastw is available only with AVX512BW. Avoid lowering
BUILD_VEC into vbroard_cast node when the condition is not met. This
fixed a crash (see the added new test).
Commit: e3f16de9a33d48f6a9d8035a9aebfdb0e3a16ea5
https://github.com/llvm/llvm-project/commit/e3f16de9a33d48f6a9d8035a9aebfdb0e3a16ea5
Author: Duo Wang <duow1 at uci.edu>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M llvm/unittests/Support/LEB128Test.cpp
Log Message:
-----------
[unittest][Support] Fix bad negation of signed integer in LEB128Test.SLEB128Size (#72700)
I came across an undefined behavior when running Support unit tests with
UBSAN on Windows.
```bash
[ RUN ] LEB128Test.SLEB128Size
C:\llvm\unittests\Support\LEB128Test.cpp:382:3: runtime error: negation of -9223372036854775808 cannot be represented in type 'long long'; cast to an unsigned type to negate this value to itself
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior C:\llvm\unittests\Support\LEB128Test.cpp:382:3 in
```
UBSAN did not report the same error on macOS, but the negation still
seemed invalid (`0x8000000000000000LL == -0x8000000000000000LL`
evaluated to `true`).
I can confirm that `-0x7fffffffffffffffLL - 1` results in the expected
value on both platforms.
Commit: 7bfcce3e940f401a519906ecad3632978ccd0fb5
https://github.com/llvm/llvm-project/commit/7bfcce3e940f401a519906ecad3632978ccd0fb5
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M openmp/libomptarget/include/omptargetplugin.h
M openmp/libomptarget/include/rtl.h
M openmp/libomptarget/plugins-nextgen/common/PluginInterface/PluginInterface.cpp
M openmp/libomptarget/plugins-nextgen/common/PluginInterface/PluginInterface.h
M openmp/libomptarget/src/device.cpp
M openmp/libomptarget/src/rtl.cpp
Log Message:
-----------
[OpenMP] Tear down GenericDeviceTy's with GenericPluginTy (#73557)
There is no point in keeping GenericDeviceTy objects alive longer than
the associated GenericPluginTy. Instead of the old API we now tear them
down with the plugin, avoiding ordering issues.
Commit: 2b7cca1ccfea5f3ff233afa7f85bf84cf41226ef
https://github.com/llvm/llvm-project/commit/2b7cca1ccfea5f3ff233afa7f85bf84cf41226ef
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M libcxx/test/std/algorithms/alg.nonmodifying/alg.all_of/pstl.exception_handling.pass.cpp
Log Message:
-----------
[libc++] Add missing REQUIRES for exception handling test
It otherwise fails on Windows.
Commit: ee922e6ebfb6aab722f6b0f7cfc0c20af636a250
https://github.com/llvm/llvm-project/commit/ee922e6ebfb6aab722f6b0f7cfc0c20af636a250
Author: Joseph Huber <huberjn at outlook.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M runtimes/CMakeLists.txt
Log Message:
-----------
[llvm] Disable HandleLLVMOptions in runtimes mode (#73031)
Summary:
There are a few default options that LLVM adds that can be problematic
for runtimes builds. These options are generally intended to handle
building LLVM itself, but are also added when building in a runtimes
mode. One such issue I've run into is that in `libc` we deliberately use
`--target` to use a different device toolchain, which doesn't support
some linker arguments passed via `-Wl`. This is observed in
https://github.com/llvm/llvm-project/pull/73030 when attempting to use
these options.
This patch completely removes these default arguments.
The consensus is that any issues created by this patch should ultimately
be solved on a per-runtime basis.
Commit: 983a2757b0a66812f1b0bfc5a2262bfcee6ac562
https://github.com/llvm/llvm-project/commit/983a2757b0a66812f1b0bfc5a2262bfcee6ac562
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M llvm/lib/Target/AArch64/AArch64CallingConvention.td
Log Message:
-----------
[AArch64] Update comment on GHC CC (#72761)
Currently, there are a couple dead links in the comment surrounding the
tablegen implementtion of the GHC calling convention in AArch64. There
was some refactoring in GHC that moved things around. This patch fixes
up the comment to match the current state of the repository to make it
easier for future readers to reference the relevant documentation.
Commit: 4e0c48b907f1349f62e8ecb97f76e8f078c9c0f2
https://github.com/llvm/llvm-project/commit/4e0c48b907f1349f62e8ecb97f76e8f078c9c0f2
Author: Kirill Stoimenov <kstoimenov at google.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M libcxx/benchmarks/stringstream.bench.cpp
M libcxx/include/CMakeLists.txt
M libcxx/include/__locale
R libcxx/include/__utility/no_destroy.h
M libcxx/include/module.modulemap.in
M libcxx/src/locale.cpp
Log Message:
-----------
Revert "[libc++] Speed up classic locale (#72112)"
Looks like it broke the ASAN build: https://lab.llvm.org/buildbot/#/builders/168/builds/17053/steps/9/logs/stdio
This reverts commit f8afc53d641ce9d4ad8565aae9e7b5911b572a02.
Commit: 3d87b9d5f0ebc0df2b258817ff6a25a40e1fbc37
https://github.com/llvm/llvm-project/commit/3d87b9d5f0ebc0df2b258817ff6a25a40e1fbc37
Author: Johannes Reifferscheid <jreiffers at google.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[Bazel] Fix for 7eccd5284290fea26df44fbc5a604b54e7b115a2
Commit: 4b7beab4187ab0766c3d7b272511d5751431a8da
https://github.com/llvm/llvm-project/commit/4b7beab4187ab0766c3d7b272511d5751431a8da
Author: Joseph Huber <huberjn at outlook.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M openmp/cmake/HandleOpenMPOptions.cmake
M openmp/cmake/config-ix.cmake
Log Message:
-----------
[OpenMP] Add back implicit flags manually
Summary:
We used to inherit these flags from the LLVM options in a runtimes
build. This patch adds them back in manually as they are helpful for
diagnostics and optimizing the created binary.
Commit: 71e3082d8572fd335dcc994fd63a75d69b9d2b2e
https://github.com/llvm/llvm-project/commit/71e3082d8572fd335dcc994fd63a75d69b9d2b2e
Author: Joseph Huber <huberjn at outlook.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M openmp/libomptarget/plugins-nextgen/CMakeLists.txt
M openmp/libomptarget/src/CMakeLists.txt
Log Message:
-----------
[OpenMP] Enable position independent code for libomptarget
Summary:
This option used to be passed manually by the `-fPIC` option that was
always enabled by the LLVM flags. Since we now do this manually we want
to specify that these are supposed for use fPIC code.
Commit: e666e27485d69ca60747c198418e64922c72238f
https://github.com/llvm/llvm-project/commit/e666e27485d69ca60747c198418e64922c72238f
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M libcxx/utils/libcxx/test/features.py
Log Message:
-----------
[libc++] Move compiler-detection Lit features first (#73544)
Lit features are evaluated in order. Some checks may require the
compiler detection to have run first in order to work properly, for
example some checks being added in https://reviews.llvm.org/D154246
which require GCC to have been detected. It is kind of brittle to rely
on such ordering, but in practice moving the compiler detection first
should never hurt.
Commit: 03d4a9d94da30590ebfc444cf13a8763f47b7bb9
https://github.com/llvm/llvm-project/commit/03d4a9d94da30590ebfc444cf13a8763f47b7bb9
Author: Craig Topper <craig.topper at sifive.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M clang/test/CodeGen/aarch64-ls64-inline-asm.c
M clang/test/CodeGen/ms-intrinsics.c
M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
M llvm/test/Analysis/ValueTracking/assume.ll
M llvm/test/Transforms/InstCombine/add.ll
M llvm/test/Transforms/InstCombine/add2.ll
M llvm/test/Transforms/InstCombine/apint-add.ll
M llvm/test/Transforms/InstCombine/apint-shift.ll
M llvm/test/Transforms/InstCombine/bitreverse-known-bits.ll
M llvm/test/Transforms/InstCombine/masked-merge-add.ll
M llvm/test/Transforms/InstCombine/minmax-intrinsics.ll
M llvm/test/Transforms/InstCombine/or.ll
M llvm/test/Transforms/InstCombine/pr72433.ll
M llvm/test/Transforms/InstCombine/ptrtoint-nullgep.ll
M llvm/test/Transforms/InstCombine/rem.ll
M llvm/test/Transforms/LoopUnroll/AArch64/runtime-unroll-generic.ll
M llvm/test/Transforms/LoopUnroll/WebAssembly/basic-unrolling.ll
M llvm/test/Transforms/LoopUnroll/runtime-multiexit-heuristic.ll
M llvm/test/Transforms/LoopUnroll/runtime-unroll-remainder.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/SystemZ/addressing.ll
M llvm/test/Transforms/LoopVectorize/X86/float-induction-x86.ll
M llvm/test/Transforms/LoopVectorize/X86/parallel-loops.ll
M llvm/test/Transforms/LoopVectorize/X86/small-size.ll
M llvm/test/Transforms/LoopVectorize/X86/x86-interleaved-accesses-masked-group.ll
M llvm/test/Transforms/LoopVectorize/X86/x86-interleaved-store-accesses-with-gaps.ll
M llvm/test/Transforms/LoopVectorize/X86/x86_fp80-vector-store.ll
M llvm/test/Transforms/LoopVectorize/consecutive-ptr-uniforms.ll
M llvm/test/Transforms/LoopVectorize/float-induction.ll
M llvm/test/Transforms/LoopVectorize/forked-pointers.ll
M llvm/test/Transforms/LoopVectorize/induction.ll
M llvm/test/Transforms/LoopVectorize/interleaved-accesses-pred-stores.ll
M llvm/test/Transforms/LoopVectorize/interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/loop-scalars.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop-cond.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop-pred.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop-uf4.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop.ll
M llvm/test/Transforms/LoopVectorize/reduction-predselect.ll
M llvm/test/Transforms/LoopVectorize/reduction.ll
M llvm/test/Transforms/LoopVectorize/scalar_after_vectorization.ll
M llvm/test/Transforms/LoopVectorize/uniform-args-call-variants.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/peel-multiple-unreachable-exits-for-vectorization.ll
M llvm/test/Transforms/PhaseOrdering/X86/SROA-after-final-loop-unrolling-2.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/getelementptr.ll
Log Message:
-----------
[InstCombine] Set disjoint flag when turning Add into Or. (#72702)
The disjoint flag was recently added to IR in #72583
Commit: 9e8691962626e62382eb31da6fea49ddbb559750
https://github.com/llvm/llvm-project/commit/9e8691962626e62382eb31da6fea49ddbb559750
Author: Craig Topper <craig.topper at sifive.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVCallLowering.cpp
M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/calls.ll
Log Message:
-----------
[RISCV][GISel] Fix 2 indirect call bugs. (#73170)
We can't set MO_PLT on an indirect call.
We need to constrain the register class for the operand to the call
instruction.
Commit: 39faf13dde5502cdba7aff1b967c51cd0a93bb71
https://github.com/llvm/llvm-project/commit/39faf13dde5502cdba7aff1b967c51cd0a93bb71
Author: Owen Pan <owenpiano at gmail.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M clang/docs/ClangFormatStyleOptions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Format/Format.h
M clang/lib/Format/Format.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Add BreakAdjacentStringLiterals option (#73432)
Closes #70451.
Commit: 179a2e04439d449bbcd7482070c27983ef345c20
https://github.com/llvm/llvm-project/commit/179a2e04439d449bbcd7482070c27983ef345c20
Author: Craig Topper <craig.topper at sifive.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
A llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/brindirect-rv32.mir
A llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/brindirect-rv64.mir
A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-brindirect-rv32.mir
A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-brindirect-rv64.mir
Log Message:
-----------
[RISCV][GISel] Legalize and select G_BRINDIRECT. (#73059)
Commit: a8837b49c1c1650357d7d8f2957c903b3a5ab039
https://github.com/llvm/llvm-project/commit/a8837b49c1c1650357d7d8f2957c903b3a5ab039
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M cross-project-tests/debuginfo-tests/dexter-tests/memvars/struct-dse.c
Log Message:
-----------
[cross-project-tests] Fix struct-dse example so that it fails again (#73566)
The purpose of this example is to provide a case where the debugger /
debug info experience could be improved. A recent commit by clang
(0d2860b795879f4dd152963b52f969b53b136899) changed codegen such that it
changes how "small structs" are initialized, in a way that the debugger
is now able to correctly display the variable being targeted by this
test.
In order to keep the example relevant, i.e. failing, this commit makes
it so that the struct is now "big enough" to not trigger the new
codegen.
Commit: 0f189840a9a8268664c9e6d4701bf35d9a19fd5f
https://github.com/llvm/llvm-project/commit/0f189840a9a8268664c9e6d4701bf35d9a19fd5f
Author: Chris B <chris.bieneman at me.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
Log Message:
-----------
[NFC] Cleanup and sort hlsl_intrinsics.h (#72414)
This is just a simple cleanup of hlsl_intrinsics.h. I've broken this
into two commits to make it easier to follow during review. The first
commit replaces the `__attribute__` annotations with preprocessor macros
to make it easier to read the function declarations. The second commit
sorts the function declarations.
Function declarations are sorted by function name alphabetically, then
grouped by base element type. The declarations within each group are
sorted in increasing order by number of elements, and the groups
themselves are sorted by increasing element size. For elements of the
same size they are then sorted by signed integers, then unsigned
integers then floating point.
Commit: f385f6c93b33eff211523e7838ea023d7beee3f2
https://github.com/llvm/llvm-project/commit/f385f6c93b33eff211523e7838ea023d7beee3f2
Author: Quinn Dawkins <quinn.dawkins at gmail.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorDistribute.cpp
M mlir/test/Dialect/Vector/vector-warp-distribute.mlir
Log Message:
-----------
[mlir][vector] Distribute all non-permutation or broadcasted masked transfer reads (#73539)
The primary difficulty with distribution of masked transfers is when the
permutation map permutes the vector, in which case the distribution
logic needs to make sure the correct mask elements end up with the
distributed transfer. This is only tricky when the permutation map has a
permutation in it, so we can relax the condition for distribution.
Commit: fc6b72523f3d73b921690a713e97a433c96066c6
https://github.com/llvm/llvm-project/commit/fc6b72523f3d73b921690a713e97a433c96066c6
Author: Jason Molenda <jmolenda at apple.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M lldb/include/lldb/Breakpoint/BreakpointSite.h
R lldb/include/lldb/Breakpoint/BreakpointSiteList.h
A lldb/include/lldb/Breakpoint/StopPointSiteList.h
M lldb/include/lldb/Breakpoint/Watchpoint.h
A lldb/include/lldb/Breakpoint/WatchpointResource.h
A lldb/include/lldb/Breakpoint/WatchpointResourceList.h
M lldb/include/lldb/Interpreter/OptionGroupWatchpoint.h
M lldb/include/lldb/Target/Process.h
M lldb/include/lldb/lldb-defines.h
M lldb/include/lldb/lldb-forward.h
M lldb/include/lldb/lldb-types.h
M lldb/source/API/SBThread.cpp
M lldb/source/API/SBWatchpoint.cpp
M lldb/source/Breakpoint/BreakpointLocation.cpp
M lldb/source/Breakpoint/BreakpointSite.cpp
R lldb/source/Breakpoint/BreakpointSiteList.cpp
M lldb/source/Breakpoint/CMakeLists.txt
A lldb/source/Breakpoint/StopPointSiteList.cpp
M lldb/source/Breakpoint/Watchpoint.cpp
A lldb/source/Breakpoint/WatchpointResource.cpp
A lldb/source/Breakpoint/WatchpointResourceList.cpp
M lldb/source/Commands/CommandObjectProcess.cpp
M lldb/source/Commands/CommandObjectWatchpoint.cpp
M lldb/source/Interpreter/OptionGroupWatchpoint.cpp
M lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntime.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleThreadPlanStepThroughObjCTrampoline.cpp
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
M lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.cpp
M lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.h
M lldb/source/Plugins/Process/Utility/StopInfoMachException.cpp
M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.h
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
M lldb/source/Target/Platform.cpp
M lldb/source/Target/Process.cpp
M lldb/source/Target/StackFrameList.cpp
M lldb/source/Target/StopInfo.cpp
M lldb/source/Target/Target.cpp
M lldb/source/Target/ThreadPlanCallFunction.cpp
M lldb/source/Target/ThreadPlanStepOut.cpp
M lldb/source/Target/ThreadPlanStepRange.cpp
M lldb/source/Target/ThreadPlanStepUntil.cpp
M lldb/test/API/python_api/watchpoint/watchlocation/TestTargetWatchAddress.py
M lldb/test/Shell/Watchpoint/Inputs/val.c
M lldb/test/Shell/Watchpoint/LocalVariableWatchpointDisabler.test
M lldb/test/Shell/Watchpoint/SetErrorCases.test
Log Message:
-----------
[lldb] [mostly NFC] Large WP foundation: WatchpointResources (#68845)
This patch is rearranging code a bit to add WatchpointResources to
Process. A WatchpointResource is meant to represent a hardware
watchpoint register in the inferior process. It has an address, a size,
a type, and a list of Watchpoints that are using this
WatchpointResource.
This current patch doesn't add any of the features of
WatchpointResources that make them interesting -- a user asking to watch
a 24 byte object could watch this with three 8 byte WatchpointResources.
Or a Watchpoint on 1 byte at 0x1002 and a second watchpoint on 1 byte at
0x1003, these must both be served by a single WatchpointResource on that
doubleword at 0x1000 on a 64-bit target, if two hardware watchpoint
registers were used to track these separately, one of them may not be
hit. Or if you have one Watchpoint on a variable with a condition set,
and another Watchpoint on that same variable with a command defined or
different condition, or ignorecount, both of those Watchpoints need to
evaluate their criteria/commands when their WatchpointResource has been
hit.
There's a bit of code movement to rearrange things in the direction I'll
need for implementing this feature, so I want to start with reviewing &
landing this mostly NFC patch and we can focus on the algorithmic
choices about how WatchpointResources are shared and handled as they're
triggeed, separately.
This patch also stops printing "Watchpoint <n> hit: old value: <x>, new
vlaue: <y>" for Read watchpoints. I could make an argument for print
"Watchpoint <n> hit: current value <x>" but the current output doesn't
make any sense, and the user can print the value if they are
particularly interested. Read watchpoints are used primarily to
understand what code is reading a variable.
This patch adds more fallbacks for how to print the objects being
watched if we have types, instead of assuming they are all integral
values, so a struct will print its elements. As large watchpoints are
added, we'll be doing a lot more of those.
To track the WatchpointSP in the WatchpointResources, I changed the
internal API which took a WatchpointSP and devolved it to a Watchpoint*,
which meant touching several different Process files. I removed the
watchpoint code in ProcessKDP which only reported that watchpoints
aren't supported, the base class does that already.
I haven't yet changed how we receive a watchpoint to identify the
WatchpointResource responsible for the trigger, and identify all
Watchpoints that are using this Resource to evaluate their conditions
etc. This is the same work that a BreakpointSite needs to do when it has
been tiggered, where multiple Breakpoints may be at the same address.
There is not yet any printing of the Resources that a Watchpoint is
implemented in terms of ("watchpoint list", or
SBWatchpoint::GetDescription).
"watchpoint set var" and "watchpoint set expression" take a size
argument which was previously 1, 2, 4, or 8 (an enum). I've changed this
to an unsigned int. Most hardware implementations can only watch 1, 2,
4, 8 byte ranges, but with Resources we'll allow a user to ask for
different sized watchpoints and set them in hardware-expressble terms
soon.
I've annotated areas where I know there is work still needed with
LWP_TODO that I'll be working on once this is landed.
I've tested this on aarch64 macOS, aarch64 Linux, and Intel macOS.
https://discourse.llvm.org/t/rfc-large-watchpoint-support-in-lldb/72116
Commit: 9a38a72f1d482ce3e1ecd30550d78484debd69ae
https://github.com/llvm/llvm-project/commit/9a38a72f1d482ce3e1ecd30550d78484debd69ae
Author: Yusra Syeda <99052248+ysyeda at users.noreply.github.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M clang/lib/CodeGen/CodeGenModule.cpp
A clang/test/CodeGen/SystemZ/systemz-ppa2.c
M llvm/include/llvm/BinaryFormat/GOFF.h
M llvm/include/llvm/MC/MCObjectFileInfo.h
M llvm/lib/MC/MCObjectFileInfo.cpp
M llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
M llvm/lib/Target/SystemZ/SystemZAsmPrinter.h
A llvm/test/CodeGen/SystemZ/zos-ppa2.ll
Log Message:
-----------
[SystemZ][z/OS] This change adds support for the PPA2 section in zOS (#68926)
This PR adds support for the PPA2 fields.
---------
Co-authored-by: Yusra Syeda <yusra.syeda at ibm.com>
Commit: f90f036efbe6879ecf1c9ff8cf0fb956b5ceb877
https://github.com/llvm/llvm-project/commit/f90f036efbe6879ecf1c9ff8cf0fb956b5ceb877
Author: michaelrj-google <71531609+michaelrj-google at users.noreply.github.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M libc/src/__support/CPP/optional.h
M libc/test/src/__support/CPP/optional_test.cpp
Log Message:
-----------
[libc] Move in_use into OptionalStorage (#73569)
The previous optional class would call the destructor on a non-trivially
destructible object regardless of if it had already been reset. This
patch fixes this by moving tracking for if the object exists into the
internal storage class for optional.
Commit: a0a1ff3ab40e347589b4e27d8fd350c600526735
https://github.com/llvm/llvm-project/commit/a0a1ff3ab40e347589b4e27d8fd350c600526735
Author: Jason Molenda <jason at molenda.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M lldb/include/lldb/Breakpoint/WatchpointResource.h
Log Message:
-----------
Include <vector> in WatchpointResource.h
On macOS <vector> was already included via another
header file, but this failed on the CI bots. I'd
tested on linux earlier in this patch's life when
the headers were differently arranged.
Commit: 7440e4ed85aa992718d4b5ccd1c97724bc3bdd2c
https://github.com/llvm/llvm-project/commit/7440e4ed85aa992718d4b5ccd1c97724bc3bdd2c
Author: Dimitry Andric <dimitry at andric.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
Log Message:
-----------
[sanitizer] Add re-execution on FreeBSD when ASLR is detected (#73439)
In the FreeBSD base system, re-executing the main binary when ASLR is
detected was implemented in the following commits:
* freebsd/freebsd-src at 7cafe89f9ce33
* freebsd/freebsd-src at 96fe7c8ab0f65
* freebsd/freebsd-src at 930a7c2ac67e1
* freebsd/freebsd-src at 0a736f0a6aeb0
* freebsd/freebsd-src at 4c9a0adad1826
Squash all these to bring them into upstream compiler-rt.
When ASLR is detected to be enabled, this first force-disables ASLR for
the current process, then calls ReExec(). The ReExec() function gets a
FreeBSD specific implementation for finding the path of the executed
program, via the ELF auxiliary vector. This is done without calling into
the regular elf_aux_info(3) function, as that makes use of several
already-intercepted functions.
Commit: 216040eef2bf854ee56380d7625ee76c6479c0f5
https://github.com/llvm/llvm-project/commit/216040eef2bf854ee56380d7625ee76c6479c0f5
Author: Joseph Huber <huberjn at outlook.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M openmp/libomptarget/test/ompt/veccopy.c
M openmp/libomptarget/test/ompt/veccopy_data.c
M openmp/libomptarget/test/ompt/veccopy_disallow_both.c
M openmp/libomptarget/test/ompt/veccopy_emi.c
M openmp/libomptarget/test/ompt/veccopy_emi_map.c
M openmp/libomptarget/test/ompt/veccopy_map.c
Log Message:
-----------
[OpenMP] Temporarily disable OMPT tests for x64
Summary:
These tests are currently failing, disable them so we can keep the bots
green until we find a better solution. The x64 tests are not the core
target so this is low priority.
Commit: 6a9613eee76c1842f9f5c012d7fdf14d4632fab5
https://github.com/llvm/llvm-project/commit/6a9613eee76c1842f9f5c012d7fdf14d4632fab5
Author: Han-Chung Wang <hanhan0912 at gmail.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M .github/CODEOWNERS
Log Message:
-----------
[GitHub] Add @hanhanW to CODEOWNERS for relevant files. (#73571)
Commit: 225648e91ccd951eab9a4ab3200248d5617df1cc
https://github.com/llvm/llvm-project/commit/225648e91ccd951eab9a4ab3200248d5617df1cc
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M mlir/lib/Bindings/Python/IRCore.cpp
M mlir/lib/Bindings/Python/IRTypes.cpp
M mlir/python/CMakeLists.txt
A mlir/python/mlir/extras/__init__.py
A mlir/python/mlir/extras/types.py
M mlir/test/python/ir/builtin_types.py
M mlir/test/python/ir/context_managers.py
Log Message:
-----------
[mlir][python] add type wrappers (#71218)
Commit: f45453ab642800d567d148eb7891a47d7ce4fc33
https://github.com/llvm/llvm-project/commit/f45453ab642800d567d148eb7891a47d7ce4fc33
Author: Dimitry Andric <dimitry at andric.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_linux.h
M compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_linux_s390.cpp
Log Message:
-----------
[sanitizer][nfc] Reformat sanitizer_linux sources (#73573)
Commit: e1f69b863df87227a48f10831b44a2adfba1c80d
https://github.com/llvm/llvm-project/commit/e1f69b863df87227a48f10831b44a2adfba1c80d
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M llvm/test/tools/llvm-readtapi/command-line.test
A llvm/test/tools/llvm-readtapi/extract-invalid.test
A llvm/test/tools/llvm-readtapi/extract.test
A llvm/test/tools/llvm-readtapi/remove-invalid.test
A llvm/test/tools/llvm-readtapi/remove.test
M llvm/tools/llvm-readtapi/TapiOpts.td
M llvm/tools/llvm-readtapi/llvm-readtapi.cpp
Log Message:
-----------
[readtapi] Add Extract & Remove architecture functionality (#72657)
This adds functionality to tbd files similar to what `lipo -extract`
and `lipo -remove` does for binaries.
Commit: 1944c4f76b47c0b86c91845987baca24fd4775f8
https://github.com/llvm/llvm-project/commit/1944c4f76b47c0b86c91845987baca24fd4775f8
Author: Aart Bik <39774503+aartbik at users.noreply.github.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M mlir/include/mlir-c/Dialect/SparseTensor.h
M mlir/include/mlir/Dialect/SparseTensor/IR/Enums.h
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorAttrDefs.td
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorStorageLayout.h
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorType.h
M mlir/include/mlir/Dialect/SparseTensor/Utils/Merger.h
M mlir/include/mlir/ExecutionEngine/SparseTensor/File.h
M mlir/include/mlir/ExecutionEngine/SparseTensor/Storage.h
M mlir/include/mlir/ExecutionEngine/SparseTensorRuntime.h
M mlir/lib/Bindings/Python/DialectSparseTensor.cpp
M mlir/lib/CAPI/Dialect/SparseTensor.cpp
M mlir/lib/Dialect/SparseTensor/IR/Detail/DimLvlMap.cpp
M mlir/lib/Dialect/SparseTensor/IR/Detail/DimLvlMap.h
M mlir/lib/Dialect/SparseTensor/IR/Detail/DimLvlMapParser.cpp
M mlir/lib/Dialect/SparseTensor/IR/Detail/LvlTypeParser.cpp
M mlir/lib/Dialect/SparseTensor/IR/Detail/LvlTypeParser.h
M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/CodegenEnv.h
M mlir/lib/Dialect/SparseTensor/Transforms/CodegenUtils.h
M mlir/lib/Dialect/SparseTensor/Transforms/LoopEmitter.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/LoopEmitter.h
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorCodegen.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorConversion.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorDescriptor.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp
M mlir/lib/Dialect/SparseTensor/Utils/Merger.cpp
M mlir/lib/ExecutionEngine/SparseTensor/Storage.cpp
M mlir/lib/ExecutionEngine/SparseTensorRuntime.cpp
M mlir/test/CAPI/sparse_tensor.c
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conversion_element.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conversion_sparse2sparse.mlir
M mlir/test/Integration/Dialect/SparseTensor/python/test_SDDMM.py
M mlir/test/Integration/Dialect/SparseTensor/python/test_SpMM.py
M mlir/test/Integration/Dialect/SparseTensor/python/test_output.py
M mlir/test/Integration/Dialect/SparseTensor/python/test_stress.py
M mlir/test/python/dialects/sparse_tensor/dialect.py
M mlir/unittests/Dialect/SparseTensor/MergerTest.cpp
Log Message:
-----------
[mlir][sparse] rename DimLevelType to LevelType (#73561)
The "Dim" prefix is a legacy left-over that no longer makes sense, since
we have a very strict "Dimension" vs. "Level" definition for sparse
tensor types and their storage.
Commit: cf17a24a4b47dde8b0222a3e641d55fe8f36a083
https://github.com/llvm/llvm-project/commit/cf17a24a4b47dde8b0222a3e641d55fe8f36a083
Author: Philip Reames <preames at rivosinc.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/extractelt-int-rv64.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-explodevector.ll
Log Message:
-----------
[RISCV] Use subreg extract for extract_vector_elt when vlen is known (#72666)
This is the first in a planned patch series to teach our vector lowering
how to exploit register boundaries in LMUL>1 types when VLEN is known to
be an exact constant. This corresponds to code compiled by clang with
the -mrvv-vector-bits=zvl option.
For extract_vector_elt, if we have a constant index and a known vlen,
then we can identify which register out of a register group is being
accessed. Given this, we can do a sub-register extract for that
register, and then shift any remaining index.
This results in all constant index extracts becoming m1 operations, and
thus eliminates the complexity concern for explode-vector idioms at high
lmul.
Commit: 488d900209bc6d8321724a5c9867ce677c098c3b
https://github.com/llvm/llvm-project/commit/488d900209bc6d8321724a5c9867ce677c098c3b
Author: Chris Bieneman <chris.bieneman at me.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M .github/workflows/pr-code-format.yml
Log Message:
-----------
[NFC] Map changed file through envar
This sanitizes the string for printing.
Commit: e7dd596c68c4c292494ffabb1c89a63c84af8115
https://github.com/llvm/llvm-project/commit/e7dd596c68c4c292494ffabb1c89a63c84af8115
Author: spupyrev <spupyrev at users.noreply.github.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Core/HashUtilities.cpp
M bolt/lib/Profile/StaleProfileMatching.cpp
M bolt/test/X86/Inputs/blarge_profile_stale.yaml
M bolt/test/X86/pre-aggregated-perf.test
M bolt/test/X86/reader-stale-yaml.test
Log Message:
-----------
[BOLT] Use deterministic xxh3 for computing BF/BB hashes (#72542)
std::hash and ADT/Hashing::hash_value are non-deterministic functions
whose
results might vary across implementation/process/execution. Using xxh3
instead
for computing hashes of BinaryFunctions and BinaryBasicBlock for stale
profile
matching.
(A possible alternative is to use ADT/StableHashing.h based on FNV
hashing but
xxh3 seems to be more popular in LLVM)
This is to address https://github.com/llvm/llvm-project/issues/65241.
Commit: c0fe0719df457b0992606b0f2a235719a5bbfd54
https://github.com/llvm/llvm-project/commit/c0fe0719df457b0992606b0f2a235719a5bbfd54
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M llvm/utils/vim/ftplugin/llvm.vim
Log Message:
-----------
[vim] set commentstring (#71838)
I recently moved from using vim to lunarvim. I noticed that `gcc` (lol)
wasn't able to comment out lines, because commentstring is not set.
Thanks to Chase Colman for the suggestion in
https://github.com/LunarVim/LunarVim/issues/4394.
Commit: 4e2f1521ec4b03a5838f9a4b61cd59bb8d60d8e6
https://github.com/llvm/llvm-project/commit/4e2f1521ec4b03a5838f9a4b61cd59bb8d60d8e6
Author: Peiming Liu <36770114+PeimingLiu at users.noreply.github.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensor.h
M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/CodegenUtils.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/CodegenUtils.h
M mlir/lib/Dialect/SparseTensor/Transforms/IterationGraphSorter.h
M mlir/lib/Dialect/SparseTensor/Transforms/LoopEmitter.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseReinterpretMap.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
Log Message:
-----------
[mlir][sparse] code cleanup, remove FIXMEs (#73575)
Commit: 0bdb9cb1ea981978e66039b6441999cc5b11c5b2
https://github.com/llvm/llvm-project/commit/0bdb9cb1ea981978e66039b6441999cc5b11c5b2
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M llvm/include/llvm/InitializePasses.h
M llvm/lib/Analysis/Analysis.cpp
M llvm/lib/Analysis/LazyValueInfo.cpp
Log Message:
-----------
[NewPM] Remove LazyValueInfoPrinter Pass (#73408)
This pass isn't used anywhere upstream and thus has no test coverage.
For these reasons, remove it.
Commit: fea023b129190edeb503dbe947034f925bbda666
https://github.com/llvm/llvm-project/commit/fea023b129190edeb503dbe947034f925bbda666
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
R mlir/include/mlir-c/Target/LLVMIR.h
M mlir/lib/CAPI/CMakeLists.txt
R mlir/lib/CAPI/Target/CMakeLists.txt
R mlir/lib/CAPI/Target/LLVMIR.cpp
M mlir/test/CAPI/CMakeLists.txt
R mlir/test/CAPI/translation.c
M mlir/test/CMakeLists.txt
M mlir/test/lit.cfg.py
Log Message:
-----------
Revert "[mlir] Add mlirTranslateModuleToLLVMIR to MLIR-C (#73117)"
Breaks https://lab.llvm.org/buildbot/#/builders/5/builds/38700
This reverts commit c43c88501e3bc273a7c1074a19e86dc305ad7234.
Commit: eae1811e4f0431ea6336e68a38318a55f7529ef6
https://github.com/llvm/llvm-project/commit/eae1811e4f0431ea6336e68a38318a55f7529ef6
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M llvm/docs/SourceLevelDebugging.rst
Log Message:
-----------
[docs] Fix issues in SourceLevelDebugging (#73528)
An SSA register `value` was being defined twice.
An "external" link was using the "internal" link syntax.
Commit: 8cd7184dc0f1e5e28e39b03c90bc9aeee96d104f
https://github.com/llvm/llvm-project/commit/8cd7184dc0f1e5e28e39b03c90bc9aeee96d104f
Author: Nico Weber <thakis at chromium.org>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
M llvm/utils/gn/secondary/libcxx/src/BUILD.gn
Log Message:
-----------
[gn] port 12bb2910c3e3
Commit: ed6560240d5b0e2faa993e86d0ded0f5be0c8d19
https://github.com/llvm/llvm-project/commit/ed6560240d5b0e2faa993e86d0ded0f5be0c8d19
Author: Nico Weber <thakis at chromium.org>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn] add a bunch of missing libc++ headers
Ports:
* fcaccf817d31d (mdspan)
* 73d94b1916135 (source_location)
* b77e50e6aef56 (stop_token)
* 7cc72a0a2ec22 (syncstream)
Commit: be1e8a659df5003fa74e1f55c40acf3667f3cdb9
https://github.com/llvm/llvm-project/commit/be1e8a659df5003fa74e1f55c40acf3667f3cdb9
Author: Nico Weber <thakis at chromium.org>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn] port 12bb2910c3e3 more
Commit: b4cf014991bfa144306a1069ca5c1eabbb456ddd
https://github.com/llvm/llvm-project/commit/b4cf014991bfa144306a1069ca5c1eabbb456ddd
Author: Craig Topper <craig.topper at sifive.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
A llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/trap.mir
Log Message:
-----------
[RISCV][GISel] Select trap and debugtrap. (#73171)
Commit: a6c62bf1a4717accc852463b664cd1012237d334
https://github.com/llvm/llvm-project/commit/a6c62bf1a4717accc852463b664cd1012237d334
Author: Nico Weber <thakis at chromium.org>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M lldb/source/Breakpoint/WatchpointResource.cpp
Log Message:
-----------
[lldb] try to fix build on linux after fc6b72523f3d7
Tries to fix:
../../lldb/source/Breakpoint/WatchpointResource.cpp:59:12:
error: no member named 'find' in namespace 'std'; did you mean 'fill'?
std::find(m_constituents.begin(), m_constituents.end(), wp_sp);
~~~~~^~~~
fill
Commit: 5623c44f08176cf7c1707786c65c55a20c7fa112
https://github.com/llvm/llvm-project/commit/5623c44f08176cf7c1707786c65c55a20c7fa112
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port 4e0c48b907f1
Commit: 295bd6fc4b91fec9eea5456cafb97c14c45107bb
https://github.com/llvm/llvm-project/commit/295bd6fc4b91fec9eea5456cafb97c14c45107bb
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/Breakpoint/BUILD.gn
Log Message:
-----------
[gn build] Port fc6b72523f3d
Commit: 77aa79d4fb646b9fd28176d3845117a6a2da6745
https://github.com/llvm/llvm-project/commit/77aa79d4fb646b9fd28176d3845117a6a2da6745
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M openmp/libomptarget/README.txt
Log Message:
-----------
[OpenMP][Docs] Cleanup libomptarget README
Commit: 755e1088258b030cdd00cfa1b184c58fe41b4287
https://github.com/llvm/llvm-project/commit/755e1088258b030cdd00cfa1b184c58fe41b4287
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M openmp/libomptarget/DeviceRTL/src/Utils.cpp
Log Message:
-----------
[OpenMP][NFC] Remove unused variable
Commit: 30fbe73ba9c726acbe0658e4ea98f328724482e5
https://github.com/llvm/llvm-project/commit/30fbe73ba9c726acbe0658e4ea98f328724482e5
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M openmp/libomptarget/src/interface.cpp
Log Message:
-----------
[OpenMP][NFC] Remove else after return
Commit: d2636dc39043f6adda3a6797fc5b7966bd4cb2f0
https://github.com/llvm/llvm-project/commit/d2636dc39043f6adda3a6797fc5b7966bd4cb2f0
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M openmp/libomptarget/src/omptarget.cpp
Log Message:
-----------
[OpenMP][NFC] Fix diagnostic warnings
Commit: e1f911e40ce6ad4a7f393ea1b33e65b24940eb84
https://github.com/llvm/llvm-project/commit/e1f911e40ce6ad4a7f393ea1b33e65b24940eb84
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M openmp/libomptarget/src/rtl.cpp
Log Message:
-----------
[OpenMP][NFC] Simplify code
Commit: b823f8469b5364411cde31a215c9bcbe0d3c08f7
https://github.com/llvm/llvm-project/commit/b823f8469b5364411cde31a215c9bcbe0d3c08f7
Author: Max191 <44243577+Max191 at users.noreply.github.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M mlir/lib/Dialect/MemRef/Transforms/EmulateNarrowType.cpp
M mlir/test/Dialect/MemRef/emulate-narrow-type.mlir
Log Message:
-----------
[mlir] Add support for `memref.alloca` sub-byte emulation (#73138)
Adds a similar case to `memref.alloc` for `memref.alloca` in
EmulateNarrowTypes.
Fixes https://github.com/openxla/iree/issues/15515
Commit: 93a2be26e7cb54331033aad8f306bdbb5ef4b4c4
https://github.com/llvm/llvm-project/commit/93a2be26e7cb54331033aad8f306bdbb5ef4b4c4
Author: Andres Villegas <andresvi at google.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M compiler-rt/lib/sanitizer_common/CMakeLists.txt
M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup.cpp
A compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup.h
A compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup_fuchsia.cpp
Log Message:
-----------
[NFC sanitizer_symbolizer] Move Fuchsia specific code.
Moves sanitizer symbolizer code that is specific for
fuchsia into its own _fuchsia.cpp file.
This is preparation to enable symbolizer markup in
linux.
Reviewers: PiJoules, petrhosek, vitalybuka
Reviewed By: PiJoules, vitalybuka
Pull Request: https://github.com/llvm/llvm-project/pull/73192
Commit: 93e156833bfadfbabfa5be2afad4f002c019257f
https://github.com/llvm/llvm-project/commit/93e156833bfadfbabfa5be2afad4f002c019257f
Author: Philip Reames <preames at rivosinc.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/RISCV/rvv/insert-subvector.ll
Log Message:
-----------
[DAG] Fix a miscompile in insert_subvector undef (insert_subvector undef, ..), idx combine (#73587)
The combine was implicitly assuming that the index on the outer
insert_subvector meant the same thing when the source was switched to be
the index of the inner insert_subvector. This is not true if the
innermost sub-vector is fixed, and the outer subvector is scalable.
I could do a less restrictive fix here - i.e. allow the case where the
scalability of the subvectors are the same - but there's no test
coverage which shows this transform actually has profit. Given that, go
for the simplest fix.
Commit: 9a7f4bde2489f6529d336998e2c3fe902a1d864a
https://github.com/llvm/llvm-project/commit/9a7f4bde2489f6529d336998e2c3fe902a1d864a
Author: Jacob Yu <pingshiyu at gmail.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M mlir/include/mlir/Dialect/Arith/IR/ArithBase.td
M mlir/include/mlir/Dialect/Arith/IR/ArithOps.td
Log Message:
-----------
[mlir][arith] doc updates for ub semantics, and int representations (#72932)
Following the discussions in this thread,
https://discourse.llvm.org/t/some-question-on-the-semantics-of-the-arith-dialect/74861,
here are some updates to the documented semantics of Arith.
Added are clarifications on poison behaviour, UBs, overflow semantics,
and the underlying two's complement representation used for integers
Co-authored-by: kuhar <jakubk at openxla.org>
Co-authored-by: math-fehr <mathieu.fehr at gmail.com>
Commit: 52b413f25ae79b07df88c0224adec4a6d7dabecc
https://github.com/llvm/llvm-project/commit/52b413f25ae79b07df88c0224adec4a6d7dabecc
Author: Philip Reames <preames at rivosinc.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-buildvec.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-buildvec.ll
Log Message:
-----------
[RISCV] Precommit tests for buildvector lowering with exact VLEN
Commit: 67268da61aa2f8b24172907ee6f8d9250ee18b65
https://github.com/llvm/llvm-project/commit/67268da61aa2f8b24172907ee6f8d9250ee18b65
Author: michaelrj-google <71531609+michaelrj-google at users.noreply.github.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/libc_build_rules.bzl
Log Message:
-----------
[libc][bazel] Add copts to libc_support_library (#73591)
Most libc_support_library calls are for header-only libraries, but there
are a few that have .cpp files. This patch adds the same base copts to
these that libc_function already has.
Commit: 7cbf9598cc6f207a268599cea636533a5c7b2dbd
https://github.com/llvm/llvm-project/commit/7cbf9598cc6f207a268599cea636533a5c7b2dbd
Author: Stephan T. Lavavej <stl at nuwen.net>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M libcxx/test/std/containers/views/mdspan/MinimalElementType.h
Log Message:
-----------
[libc++][test] Avoid using `allocator<const T>` (#73545)
Found while running libc++'s test suite with MSVC's STL.
MSVC's STL rejects `allocator<const T>`. This may or may not be
justified by the current Standardese (it was bogus in the C++03 era),
but it's how we reject usage like `vector<const T>`.
A bunch of `mdspan` tests are failing for us because some centralized
machinery is using `allocator<const T>`. Testing that `mdspan` and its
associated types work properly with `const T` is good and necessary, but
directly allocating `const T` is what's a problem for MSVC's STL. I'd
like to ask for a very targeted change here that preserves all of the
test coverage but changes how `ElementPool` interacts with `allocator`.
This intentionally leaves `ElementPool::get_ptr()` returning `T*`
(pointer-to-possibly-const), so there's no externally visible
difference.
Commit: 17ec364b1b338b6bee5a65a886d0fe75089e6bb9
https://github.com/llvm/llvm-project/commit/17ec364b1b338b6bee5a65a886d0fe75089e6bb9
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M mlir/python/mlir/_mlir_libs/__init__.py
M mlir/python/mlir/dialects/python_test.py
M mlir/python/mlir/ir.py
M mlir/test/python/dialects/python_test.py
M mlir/test/python/lib/PythonTestModule.cpp
Log Message:
-----------
[mlir][python] enable registering dialects with the default `Context` (#72488)
Commit: 79cb594fdf15c4bb8fc357b615210e6e57eb1c26
https://github.com/llvm/llvm-project/commit/79cb594fdf15c4bb8fc357b615210e6e57eb1c26
Author: Aart Bik <39774503+aartbik at users.noreply.github.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensor.h
M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
Log Message:
-----------
[mlir][sparse] remove unused COO method (#73595)
step closer towards moving all type related methods into encoding and/or
sparse tensor type class
Commit: d3143a09acb30f9d3978373d20d67d2c78ce07a9
https://github.com/llvm/llvm-project/commit/d3143a09acb30f9d3978373d20d67d2c78ce07a9
Author: Douglas Yung <douglas.yung at sony.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M clang/test/CodeGen/SystemZ/systemz-ppa2.c
Log Message:
-----------
Add `REQUIRES: systemz-registered-target` to test added in #68926 (9a38a72).
Commit: 8b3944ca19645df13b0800336de2bac77ddb60b0
https://github.com/llvm/llvm-project/commit/8b3944ca19645df13b0800336de2bac77ddb60b0
Author: Andres Villegas <andresvi at google.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_flags.inc
M compiler-rt/lib/sanitizer_common/sanitizer_stacktrace_printer.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup.h
M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp
Log Message:
-----------
[sanitizer_symbolizer] Add initial symbolizer markup support for linux.
This is part of a stack of PRs to add support for symbolizer
markup in linux.
You can check the symbolizer markup specification at:
https://llvm.org/docs/SymbolizerMarkupFormat.html
Reviewers: vitalybuka, PiJoules
Reviewed By: vitalybuka
Pull Request: https://github.com/llvm/llvm-project/pull/73193
Commit: a3529aa92ee48552946066330f5302281a49e447
https://github.com/llvm/llvm-project/commit/a3529aa92ee48552946066330f5302281a49e447
Author: Stephan T. Lavavej <stl at nuwen.net>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M libcxx/test/std/input.output/iostream.format/print.fun/print.file.pass.cpp
M libcxx/test/std/input.output/iostream.format/print.fun/println.file.pass.cpp
M libcxx/test/std/input.output/iostream.format/print.fun/vprint_nonunicode.file.pass.cpp
M libcxx/test/std/input.output/iostream.format/print.fun/vprint_unicode.file.pass.cpp
M libcxx/test/support/test_macros.h
Log Message:
-----------
[libc++][test] Avoid preprocessor directives in macro argument lists (#73440)
Found while running libc++'s test suite with MSVC's STL.
MSVC has a level 1 "warning C5101: use of preprocessor directive in
function-like macro argument list is undefined behavior". I don't know
why Clang doesn't complain about this.
There are some formatting tests which densely interleave preprocessor
directives within function-like macros, and they would need invasive
changes. For now, I'm just skipping those tests.
However, a few tests were only slightly affected, and I was able to add
a new test macro `TEST_IF_AIX` to make them portable.
Commit: 1ece4d3a0dc951aa349616c3c8740d8b3f9926c1
https://github.com/llvm/llvm-project/commit/1ece4d3a0dc951aa349616c3c8740d8b3f9926c1
Author: Peiming Liu <36770114+PeimingLiu at users.noreply.github.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M mlir/lib/Dialect/SparseTensor/Transforms/LoopEmitter.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp
Log Message:
-----------
[mlir][sparse] code simplification: always use synthetical tensor for… (#73597)
… loop bound.
Commit: d9221da72baee50b24b14b0dc0200a6ddec49ea0
https://github.com/llvm/llvm-project/commit/d9221da72baee50b24b14b0dc0200a6ddec49ea0
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
A llvm/test/CodeGen/X86/apx/asm-constraint.ll
M llvm/test/CodeGen/X86/callbr-asm-bb-exports.ll
M llvm/test/CodeGen/X86/callbr-asm-outputs-indirect-isel-m32.ll
M llvm/test/CodeGen/X86/callbr-asm-outputs-indirect-isel.ll
Log Message:
-----------
[X86][MC] Keep backward compatibility in inline asm for constraints (#73529)
Not use r16-r31 with 'q','r','l' constraint for backward compatibility
Commit: 5d59e97e883445f36e99d4b9600330ac4a631565
https://github.com/llvm/llvm-project/commit/5d59e97e883445f36e99d4b9600330ac4a631565
Author: Nico Weber <thakis at chromium.org>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M llvm/utils/gn/secondary/compiler-rt/lib/sanitizer_common/BUILD.gn
Log Message:
-----------
[gn] port 93a2be26e7cb
Commit: e247e6ff272ce70003ca67f62be178f332f9de0f
https://github.com/llvm/llvm-project/commit/e247e6ff272ce70003ca67f62be178f332f9de0f
Author: yonghong-song <yhs at fb.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M llvm/lib/Target/BPF/BPFInstrFormats.td
M llvm/lib/Target/BPF/BPFInstrInfo.td
M llvm/test/MC/BPF/insn-unit-32.s
M llvm/test/MC/BPF/insn-unit.s
Log Message:
-----------
[BPF] Add asm support for JSET insn (#73161)
BPF upstream reported that JSET insn is not supported in inline asm
([1]). BPF_JSET insn is part of BPF ISA so let us add asm support for it
now.
[1]
https://lore.kernel.org/bpf/2e8a1584-a289-4b2e-800c-8b463e734bcb@linux.dev/
Commit: 4537985ccc907395ec520a0bd8cceca386c11dc0
https://github.com/llvm/llvm-project/commit/4537985ccc907395ec520a0bd8cceca386c11dc0
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M llvm/lib/Target/X86/X86InstrArithmetic.td
M llvm/lib/Target/X86/X86InstrFormats.td
Log Message:
-----------
[X86][CodeGen] Remove CodeSize settings for instructions, NFCI
CodeSize was designed to used as the 3rd isel sorting tie-breaker.
>From observation, it has no impact on X86 ISEL.
Commit: fdefe88bfff17075e6f35979318bff40a338c836
https://github.com/llvm/llvm-project/commit/fdefe88bfff17075e6f35979318bff40a338c836
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
A clang/test/CXX/drs/dr27xx.cpp
M clang/test/SemaCXX/static-assert-cxx26.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[Clang] Improve support for expression messages in `static_assert` (#73234)
- Support non-member functions and callable objects for size and data().
We previously tried to (badly) pick the best overload ourselves, in a
way that would only support member functions. We now leave clang
construct an unresolved member expression and call that, properly
performing overload resolution with callable objects and static
functions, consistent with the logic for `get` calls for structured
bindings.
- Support UDLs as message expression.
- Add tests and mark CWG2798 as resolved
Commit: 00f99466805f7860fce5f359f5601b9c4f0214ca
https://github.com/llvm/llvm-project/commit/00f99466805f7860fce5f359f5601b9c4f0214ca
Author: Kai Luo <lkail at cn.ibm.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
A llvm/test/CodeGen/PowerPC/build-vector-from-load-and-zeros.ll
Log Message:
-----------
[PowerPC] Precommit test of building vector via load and zeros. NFC.
Commit: a3b7b2d6354f622372ce6967e082869979c25ed8
https://github.com/llvm/llvm-project/commit/a3b7b2d6354f622372ce6967e082869979c25ed8
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M llvm/lib/Target/X86/X86EvexToVex.cpp
A llvm/test/CodeGen/X86/apx/evex-to-vex.ll
Log Message:
-----------
[X86][CodeGen] Not compress EVEX into VEX when R16-R31 is used (#73604)
b/c VEX prefix can not encode R16-R31.
Commit: ffcc5c7796b00dd7f945cb2a1bd30399f616c6b0
https://github.com/llvm/llvm-project/commit/ffcc5c7796b00dd7f945cb2a1bd30399f616c6b0
Author: Craig Topper <craig.topper at sifive.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
A llvm/test/CodeGen/RISCV/GlobalISel/atomic-fence.ll
Log Message:
-----------
[RISCV][GISel] Select G_FENCE. (#73184)
Using IR test to make it easier to compare with the SelectionDAG test
output. The constant operands otherwise make it harder to understand.
Commit: 04072485204c75f8a38287a0817f0cec55d4fe8c
https://github.com/llvm/llvm-project/commit/04072485204c75f8a38287a0817f0cec55d4fe8c
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M llvm/test/tools/llvm-exegesis/X86/latency/dummy-counters.test
M llvm/tools/llvm-exegesis/lib/Assembler.cpp
M llvm/tools/llvm-exegesis/lib/Assembler.h
M llvm/tools/llvm-exegesis/lib/CMakeLists.txt
Log Message:
-----------
Reland "Reland "[llvm-exegesis] Switch from MCJIT to LLJIT (#72838)"
This reverts commit ea5de6021cf69a233106689cc6f0ee14899e1a83.
This patch was reverted as it broke a test on x86_64 Darwin due to the
symbol naming being different between platforms. As Darwin isn't a
supported platform for executing snippets for llvm-exegesis, we can just
disable the test to fix the issue.
Commit: a3ef858968d3a7c4da03cd9126a2909dbd64c1d4
https://github.com/llvm/llvm-project/commit/a3ef858968d3a7c4da03cd9126a2909dbd64c1d4
Author: Fangrui Song <i at maskray.me>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M mlir/lib/ExecutionEngine/ExecutionEngine.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M polly/lib/CodeGen/LoopGeneratorsGOMP.cpp
M polly/lib/CodeGen/LoopGeneratorsKMP.cpp
M polly/lib/CodeGen/PerfMonitor.cpp
M polly/lib/CodeGen/RuntimeDebugBuilder.cpp
Log Message:
-----------
[mlir,polly] Replace uses of IRBuilder::getInt8PtrTy with getPtrTy. NFC
Commit: f3d2a31d7d433f9c843a61caa7b025f3b7188ddf
https://github.com/llvm/llvm-project/commit/f3d2a31d7d433f9c843a61caa7b025f3b7188ddf
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M llvm/lib/Target/X86/X86EvexToVex.cpp
M llvm/lib/Target/X86/X86InstrFormats.td
M llvm/lib/Target/X86/X86InstrSSE.td
M llvm/utils/TableGen/X86EVEX2VEXTablesEmitter.cpp
Log Message:
-----------
[X86][CodeGen] Cleanup code for EVEX2VEX pass, NFCI
1. Remove unused variables, e.g X86Subtarget object in performCustomAdjustments
2. Define checkVEXInstPredicate directly instead of generating it b/c
the function is small and it's unlikely we have more instructions to
check the predicate in the future
3. Check the tables are sorted only once for each function
4. Remove some blanks and clang-format code
Commit: e2d60c86268479b019d62bba25745407dc15ce98
https://github.com/llvm/llvm-project/commit/e2d60c86268479b019d62bba25745407dc15ce98
Author: Fangrui Song <i at maskray.me>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M clang/lib/Frontend/CompilerInvocation.cpp
Log Message:
-----------
[Frontend] Remove unneeded -frtti check. NFC
-frtti is not a CC1 option. We just need to check -fno-rtti.
Commit: 18fd6df885da35f6b6e65a373d70297ac8db303b
https://github.com/llvm/llvm-project/commit/18fd6df885da35f6b6e65a373d70297ac8db303b
Author: Nishant Mittal <nishantwrp at google.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M libc/test/UnitTest/FPMatcher.h
M libc/test/src/math/smoke/NextAfterTest.h
Log Message:
-----------
[libc][math] Add unit tests for raising excepts in nextafter (#73556)
Follow up to
https://github.com/llvm/llvm-project/pull/72763#discussion_r1398277962.
### Summary
- Add unit tests for raising excepts in `nextafter`.
- Fixed a bug in testing code for `nexttoward`.
cc: @lntue
Commit: 1b1f3c20b5081b97dace604c64bc8034f39acdfc
https://github.com/llvm/llvm-project/commit/1b1f3c20b5081b97dace604c64bc8034f39acdfc
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M llvm/lib/Target/X86/X86InstrFoldTables.cpp
Log Message:
-----------
[X86][CodeGen] Remove duplicated code for the table checks, NFCI
Commit: 3247f1e7a281184ac0db4fc6df35232e8f1a4f12
https://github.com/llvm/llvm-project/commit/3247f1e7a281184ac0db4fc6df35232e8f1a4f12
Author: Rik Huijzer <github at huijzer.xyz>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
M mlir/test/Conversion/FuncToSPIRV/func-ops-to-spirv.mlir
M mlir/test/Dialect/Affine/invalid.mlir
M mlir/test/Dialect/Affine/load-store-invalid.mlir
Log Message:
-----------
[mlir][affine] Fix dim index out of bounds crash (#73266)
This PR suggests a way to fix
https://github.com/llvm/llvm-project/issues/70418. It now throws an
error if the `index` operand for `memref.dim` is out of bounds. Catching
it in the verifier was not possible because the constant value is not
yet available at that point. Unfortunately, the error is not very
descriptive since it was only possible to propagate boolean up.
Commit: 9166d5318d728f545bfe791175f21c512b352c0e
https://github.com/llvm/llvm-project/commit/9166d5318d728f545bfe791175f21c512b352c0e
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2023-11-27 (Mon, 27 Nov 2023)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
Reland "[Bazel] Fix llvm-exegesis build post 12b0ab2"
This reverts commit 934efd2c9b9461bf79599cac3f57fc35cff978f7.
This relands commit 1449b349ac4072adb1f593234c1d6f67986d3b6a.
This build system fix was reverted as the underlying patch that required
the fix got reverted due to test failures on Darwin. The test failures
have since been fixed and the patch has relanded, so we need support in
Bazel again.
Commit: 1d50560335e908a71787c13da450366733296db5
https://github.com/llvm/llvm-project/commit/1d50560335e908a71787c13da450366733296db5
Author: Adrian Kuegel <akuegel at google.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
Revert "[Bazel] Fixes for c43c88501e3bc273a7c1074a19e86dc305ad7234"
This reverts commit aaae104e282505add432ccc76a4adb674087190f.
Commit: 4cf4c5201830c5854ee34acd868576083204011d
https://github.com/llvm/llvm-project/commit/4cf4c5201830c5854ee34acd868576083204011d
Author: Nico Weber <thakis at chromium.org>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M llvm/utils/gn/secondary/llvm/tools/llvm-exegesis/lib/BUILD.gn
Log Message:
-----------
Reland "[gn] port 92b821f2dcdd"
This reverts commit 344b5346a0e899d59ff52f60421788eef4e2c864.
92b821f2dcdd relanded in 04072485204c7.
Commit: aefca74d44667749e6f513fbe1908de1429e9226
https://github.com/llvm/llvm-project/commit/aefca74d44667749e6f513fbe1908de1429e9226
Author: Nikita Popov <npopov at redhat.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M llvm/include/llvm/Support/GenericDomTreeConstruction.h
Log Message:
-----------
[DomTree] Store ReverseChildren as indices (NFC) (#73505)
Store the ReverseChildren using node indices instead of node pointers.
This avoids some more hash table lookups.
I've also increased the size of the SmallVector from 2 to 4. As the
indices are half as large as the pointers (on 64bit) this keeps memory
usage the same as before. I've found the larger SmallVector to perform a
bit better.
Commit: d01237c45b7cdbf83d1249dd019178b2cafbb63c
https://github.com/llvm/llvm-project/commit/d01237c45b7cdbf83d1249dd019178b2cafbb63c
Author: Nikita Popov <npopov at redhat.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/indexed-gep-compares.ll
M llvm/test/Transforms/InstCombine/opaque-ptr.ll
Log Message:
-----------
[InstCombine] Make indexed compare fold GEP source type independent (#71663)
The indexed compare fold converts comparisons of GEPs with same
(indirect) base into comparisons of offset. Currently, it only supports
GEPs with the same source element type.
This change makes the transform operate on offsets instead, which
removes the type dependence. To keep closer to the scope of the original
implementation, this keeps the limitation that we should only have at
most one variable index per GEP.
This addresses the main regression from
https://github.com/llvm/llvm-project/pull/68882.
TBH I have some doubts that this is really a useful transform (at least
for the case where there are extra pointer users, so we have to
rematerialize pointers at some point). I can only assume it exists for a
reason...
Commit: 82d22a1bb407ffe08dc9a272c1d5c627b4609587
https://github.com/llvm/llvm-project/commit/82d22a1bb407ffe08dc9a272c1d5c627b4609587
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.udot2.ll
Log Message:
-----------
[AMDGPU] Fixed folding of inline imm into dot w/o opsel (#73589)
A splat packed constant can be folded as an inline immediate but it
shall use opsel. On gfx940 this code path can be skipped due to HW bug
workaround and then it may be folded w/o opsel which is a bug. Fixed.
Commit: 61e58c4dc1001597c48d59a37884a534ab37b47b
https://github.com/llvm/llvm-project/commit/61e58c4dc1001597c48d59a37884a534ab37b47b
Author: paperchalice <29250197+paperchalice at users.noreply.github.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
A llvm/include/llvm/CodeGen/DwarfEHPrepare.h
M llvm/lib/CodeGen/DwarfEHPrepare.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/test/CodeGen/X86/dwarf-eh-prepare-dbg.ll
M llvm/test/CodeGen/X86/dwarf-eh-prepare.ll
M llvm/test/CodeGen/X86/dwarf_eh_resume.ll
Log Message:
-----------
[CodeGen] Port DwarfEHPrepare to new pass manager (#72500)
Co-authored-by: PaperChalice <example at example.com>
Commit: b7ccaf0bf6b5efcab8390a6b3ca93314c4e3bbec
https://github.com/llvm/llvm-project/commit/b7ccaf0bf6b5efcab8390a6b3ca93314c4e3bbec
Author: Adrian Kuegel <akuegel at google.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/python/BUILD.bazel
Log Message:
-----------
[mlir][Python] Add filegroup for files in mlir/extras.
This is needed after 225648e91ccd951eab9a4ab3200248d5617df1cc
Commit: b31cd07de5b7dfb435b062c80d85083e14f28321
https://github.com/llvm/llvm-project/commit/b31cd07de5b7dfb435b062c80d85083e14f28321
Author: Nikita Popov <npopov at redhat.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M clang/test/CodeGen/attr-counted-by.c
M clang/test/Headers/__clang_hip_math.hip
M clang/test/OpenMP/bug57757.cpp
Log Message:
-----------
[Clang] Regenerate test checks (NFC)
The UTC output has changes slightly, regenerate tests to minimize
future diff.
Commit: 1459c627f0bc1a4938b5b6a7f4c2bdc1f3ec6a2c
https://github.com/llvm/llvm-project/commit/1459c627f0bc1a4938b5b6a7f4c2bdc1f3ec6a2c
Author: David Spickett <david.spickett at linaro.org>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M lldb/test/Shell/SymbolFile/NativePDB/local-variables.cpp
Log Message:
-----------
[lldb][PDB] Fix message order in test case
Launch/stopped ordering was fixed by bd8f1068cad06b0f0342ac7ef351bf01c2e27322
but the Windows on Arm bot wasn't running at the time it landed.
Commit: b0af8a1ede89e87f737f2a31b6a2e2491e38ac04
https://github.com/llvm/llvm-project/commit/b0af8a1ede89e87f737f2a31b6a2e2491e38ac04
Author: David Spickett <david.spickett at linaro.org>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M lldb/include/lldb/Breakpoint/BreakpointSite.h
A lldb/include/lldb/Breakpoint/BreakpointSiteList.h
R lldb/include/lldb/Breakpoint/StopPointSiteList.h
M lldb/include/lldb/Breakpoint/Watchpoint.h
R lldb/include/lldb/Breakpoint/WatchpointResource.h
R lldb/include/lldb/Breakpoint/WatchpointResourceList.h
M lldb/include/lldb/Interpreter/OptionGroupWatchpoint.h
M lldb/include/lldb/Target/Process.h
M lldb/include/lldb/lldb-defines.h
M lldb/include/lldb/lldb-forward.h
M lldb/include/lldb/lldb-types.h
M lldb/source/API/SBThread.cpp
M lldb/source/API/SBWatchpoint.cpp
M lldb/source/Breakpoint/BreakpointLocation.cpp
M lldb/source/Breakpoint/BreakpointSite.cpp
A lldb/source/Breakpoint/BreakpointSiteList.cpp
M lldb/source/Breakpoint/CMakeLists.txt
R lldb/source/Breakpoint/StopPointSiteList.cpp
M lldb/source/Breakpoint/Watchpoint.cpp
R lldb/source/Breakpoint/WatchpointResource.cpp
R lldb/source/Breakpoint/WatchpointResourceList.cpp
M lldb/source/Commands/CommandObjectProcess.cpp
M lldb/source/Commands/CommandObjectWatchpoint.cpp
M lldb/source/Interpreter/OptionGroupWatchpoint.cpp
M lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntime.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleThreadPlanStepThroughObjCTrampoline.cpp
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
M lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.cpp
M lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.h
M lldb/source/Plugins/Process/Utility/StopInfoMachException.cpp
M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.h
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
M lldb/source/Target/Platform.cpp
M lldb/source/Target/Process.cpp
M lldb/source/Target/StackFrameList.cpp
M lldb/source/Target/StopInfo.cpp
M lldb/source/Target/Target.cpp
M lldb/source/Target/ThreadPlanCallFunction.cpp
M lldb/source/Target/ThreadPlanStepOut.cpp
M lldb/source/Target/ThreadPlanStepRange.cpp
M lldb/source/Target/ThreadPlanStepUntil.cpp
M lldb/test/API/python_api/watchpoint/watchlocation/TestTargetWatchAddress.py
M lldb/test/Shell/Watchpoint/Inputs/val.c
M lldb/test/Shell/Watchpoint/LocalVariableWatchpointDisabler.test
M lldb/test/Shell/Watchpoint/SetErrorCases.test
Log Message:
-----------
Revert "[lldb] [mostly NFC] Large WP foundation: WatchpointResources (#68845)"
...and follow ups.
As it has caused test failures on Linux Arm and AArch64:
https://lab.llvm.org/buildbot/#/builders/96/builds/49126
https://lab.llvm.org/buildbot/#/builders/17/builds/45824
```
lldb-shell :: Subprocess/clone-follow-child-wp.test
lldb-shell :: Subprocess/fork-follow-child-wp.test
lldb-shell :: Subprocess/vfork-follow-child-wp.test
```
This reverts commit a6c62bf1a4717accc852463b664cd1012237d334,
commit a0a1ff3ab40e347589b4e27d8fd350c600526735 and commit
fc6b72523f3d73b921690a713e97a433c96066c6.
Commit: 06157a6d865e1f65362144aa9c3f44f34f241267
https://github.com/llvm/llvm-project/commit/06157a6d865e1f65362144aa9c3f44f34f241267
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/Breakpoint/BUILD.gn
Log Message:
-----------
[gn build] Port b0af8a1ede89
Commit: 4a3d2088d61e994dd1aa4e66cdecd15f28d2f397
https://github.com/llvm/llvm-project/commit/4a3d2088d61e994dd1aa4e66cdecd15f28d2f397
Author: Jack Frankland <jack.frankland at arm.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt
A mlir/lib/Dialect/Linalg/Transforms/TransposeConv2D.cpp
A mlir/test/Dialect/Linalg/transpose-conv2d.mlir
Log Message:
-----------
[mlir][linalg] Add TransposeConv2D Transform Op (#68567)
* Add a LinAlg pass to convert 2D convolutions and quantized 2D
convolutions that have the `FHWC` filter channel ordering into a
transpose followed by 2D convolutions that have the `HWCF` channel
ordering.
* Add a lit test to check the semantics of the transformation are
correct for both quantized and unquantized variants.
Signed-off-by: Jack Frankland <jack.frankland at arm.com>
Commit: 08a6968127f04a40d767bf3fe296bc36667c89eb
https://github.com/llvm/llvm-project/commit/08a6968127f04a40d767bf3fe296bc36667c89eb
Author: Florian Hahn <flo at fhahn.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/aarch64_function_name.ll
M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/aarch64_function_name.ll.expected
M llvm/utils/UpdateTestChecks/asm.py
Log Message:
-----------
[UTC] Support arm64-apple-macosx in update_llc_test_checks.py. (#73568)
arm64-apple-macosx is the default triple (usually with the macOS version
number) on arm64 macOS. Support it in update_llc_test_checks.py.
Commit: eba50929b863c6270fce6b24538dd871aa1f2fd6
https://github.com/llvm/llvm-project/commit/eba50929b863c6270fce6b24538dd871aa1f2fd6
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
M llvm/test/CodeGen/X86/pr57340.ll
M llvm/test/CodeGen/X86/vselect-avx.ll
Log Message:
-----------
[X86] X86DAGToDAGISel - fix typo in #73126
We were casting the LoadSDNode from the wrong node in the base pointer uses list, meaning the ptr/chain comparison were comparing against themselves.
Commit: dd0973be58b8a8d94d63762941f741f2b93aec28
https://github.com/llvm/llvm-project/commit/dd0973be58b8a8d94d63762941f741f2b93aec28
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M llvm/utils/TableGen/GlobalISel/CMakeLists.txt
A llvm/utils/TableGen/GlobalISel/CXXPredicates.cpp
A llvm/utils/TableGen/GlobalISel/CXXPredicates.h
M llvm/utils/TableGen/GlobalISel/CombinerUtils.h
A llvm/utils/TableGen/GlobalISel/MatchDataInfo.cpp
A llvm/utils/TableGen/GlobalISel/MatchDataInfo.h
A llvm/utils/TableGen/GlobalISel/Patterns.cpp
A llvm/utils/TableGen/GlobalISel/Patterns.h
M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
Log Message:
-----------
[TableGen] Split GlobalISelCombinerEmitter into multiple files (#73325)
Split MatchDataInfo, CXXPredicates and the Pattern hierarchy into their
own files.
This should help with maintenance a bit, and make the API easier to
navigate.
I hope this encourages a bit more experimentation with MIR patterns,
e.g. I'd like to try getting them in ISel at some point.
Currently, this is pretty much only moving code around. There is no
significant refactoring in there.
I want to split the Combiner backend even more at some point though,
e.g. by separating the TableGen parsing logic into yet another file so
other backends could very easily parse patterns themselves.
Note: I moved the responsibility of managing string lifetimes into the
backend instead of the Pattern class.
e.g. Before you'd do `P.addOperand(Name)` but now it's
`P.addOperand(insertStrRef(Name))`.
I verified this was done correctly by running the tests with UBSan/ASan.
Commit: a05c23fdcf45c39e31931a68f2352a7eff5333a4
https://github.com/llvm/llvm-project/commit/a05c23fdcf45c39e31931a68f2352a7eff5333a4
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M llvm/utils/gn/secondary/llvm/utils/TableGen/GlobalISel/BUILD.gn
Log Message:
-----------
[gn build] Port dd0973be58b8
Commit: facead618b830b682ea6b12148a0e02f2bc4fd54
https://github.com/llvm/llvm-project/commit/facead618b830b682ea6b12148a0e02f2bc4fd54
Author: Mariusz Sikora <mariusz.sikora at amd.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
M llvm/test/CodeGen/AMDGPU/fix-frame-reg-in-custom-csr-spills.ll
M llvm/test/CodeGen/AMDGPU/promote-alloca-volatile.ll
Log Message:
-----------
[AMDGPU] PromoteAlloca - bail always if load/store is volatile (#73228)
This change is addressing case where alloca size is the same as
load/store size.
Commit: 4142a64ae3ca4856e6a5ffae9e40014ef5cf9db5
https://github.com/llvm/llvm-project/commit/4142a64ae3ca4856e6a5ffae9e40014ef5cf9db5
Author: Corentin Jabot <corentinjabot at gmail.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M clang/lib/Sema/SemaDeclCXX.cpp
Log Message:
-----------
[Clang] Fix compilation with GCC 7.5
Fixes #73628
Commit: c66c15a76dc7b021c29479a54aa1785928e9d1bf
https://github.com/llvm/llvm-project/commit/c66c15a76dc7b021c29479a54aa1785928e9d1bf
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M llvm/lib/Target/X86/X86InstrFoldTables.cpp
M llvm/test/TableGen/x86-fold-tables.inc
M llvm/utils/TableGen/X86FoldTablesEmitter.cpp
Log Message:
-----------
[X86] Rename some variables for memory fold and format code, NFCI
1. Rename the names of tables to simplify the print
2. Align the abbreviation in the same file Instr -> Inst
3. Clang-format
4. Capitalize the first char of the variable name
Commit: 439b16e2b369a0e3d482597b2c6597ce187e65f9
https://github.com/llvm/llvm-project/commit/439b16e2b369a0e3d482597b2c6597ce187e65f9
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
M lldb/test/API/lang/cpp/alignas_base_class/TestAlignAsBaseClass.py
M lldb/test/API/lang/cpp/alignas_base_class/main.cpp
Log Message:
-----------
[LLDB] Respect the DW_AT_alignment attribute. (#73307)
Part of fixes for #72913.
clang emits `DW_AT_alignment` attribute, however LLDB didn't respect it,
resulting in incorrect RecordDecls built by lldb.
This only fixes non-inheritance cases. The inheritance case will be
handled in a follow-up patch.
Commit: 2a8040e8f6639b5bf35b65c7e881de4b4ca8742f
https://github.com/llvm/llvm-project/commit/2a8040e8f6639b5bf35b65c7e881de4b4ca8742f
Author: Luke Lau <luke at igalia.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFoldMasks.cpp
Log Message:
-----------
[RISCV] Avoid looking up base opcode when converting vmerge -> vmv. NFC
This helps avoid a diff in #71764
Commit: ea640472a2f1b851a5edf653c5257767d7fedd70
https://github.com/llvm/llvm-project/commit/ea640472a2f1b851a5edf653c5257767d7fedd70
Author: Hans Wennborg <hans at chromium.org>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M runtimes/CMakeLists.txt
Log Message:
-----------
Revert "[llvm] Disable HandleLLVMOptions in runtimes mode (#73031)"
This appears to have caused a variety of breakages, see comments on the PR.
> Summary:
> There are a few default options that LLVM adds that can be problematic
> for runtimes builds. These options are generally intended to handle
> building LLVM itself, but are also added when building in a runtimes
> mode. One such issue I've run into is that in `libc` we deliberately use
> `--target` to use a different device toolchain, which doesn't support
> some linker arguments passed via `-Wl`. This is observed in
> https://github.com/llvm/llvm-project/pull/73030 when attempting to use
> these options.
>
> This patch completely removes these default arguments.
>
> The consensus is that any issues created by this patch should ultimately
> be solved on a per-runtime basis.
This reverts commit ee922e6ebfb6aab722f6b0f7cfc0c20af636a250.
Commit: d20cc3ef4cc37d93b9db30218d85888b8e947e34
https://github.com/llvm/llvm-project/commit/d20cc3ef4cc37d93b9db30218d85888b8e947e34
Author: Luke Lau <luke at igalia.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFoldMasks.cpp
Log Message:
-----------
[RISCV] Order includes. NFC
Silences a clang-format warning
Commit: bafa51c8a50a68a26455ee86d97e28d7e0624eb7
https://github.com/llvm/llvm-project/commit/bafa51c8a50a68a26455ee86d97e28d7e0624eb7
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M llvm/lib/Target/X86/X86FixupVectorConstants.cpp
M llvm/lib/Target/X86/X86InstrFoldTables.cpp
M llvm/lib/Target/X86/X86InstrFoldTables.h
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/test/TableGen/x86-fold-tables.inc
M llvm/utils/TableGen/X86FoldTablesEmitter.cpp
Log Message:
-----------
[X86] Rename X86MemoryFoldTableEntry to X86FoldTableEntry, NFCI
b/c it's used for element that folds a load, store or broadcast.
Commit: 17041276d4c0a988da48361eb25b3271bcca8602
https://github.com/llvm/llvm-project/commit/17041276d4c0a988da48361eb25b3271bcca8602
Author: Nikita Popov <npopov at redhat.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/lib/Analysis/ValueTracking.cpp
Log Message:
-----------
[ValueTracking] Remove unused computeKnownBits() overload (NFC)
If you need this, use one of the variants returning KnownBits
instead.
Commit: 3e6207a775dfed9a8b54e4afbbffb9d6cdabf3ef
https://github.com/llvm/llvm-project/commit/3e6207a775dfed9a8b54e4afbbffb9d6cdabf3ef
Author: Nikita Popov <npopov at redhat.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/include/llvm/Transforms/InstCombine/InstCombiner.h
M llvm/lib/Analysis/ValueTracking.cpp
Log Message:
-----------
[InstCombine] Use SimplifyQuery for computeKnownBits() (NFC)
Call computeKnownBits() with SimplifyQuery to make sure it gets
all available analyses, even if more are added in the future.
As this code is performance-critical, I'm exporting the variant
with by-ref KnownBits and SimplifyQuery, as the variant returning
KnownBits is measurably slower in this context.
Commit: ab7110bcd6b137803935508de8c9f6af377f9454
https://github.com/llvm/llvm-project/commit/ab7110bcd6b137803935508de8c9f6af377f9454
Author: David Green <david.green at arm.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SchedA510.td
M llvm/lib/Target/AArch64/AArch64SchedNeoverseN2.td
M llvm/lib/Target/AArch64/AArch64SchedNeoverseV1.td
M llvm/lib/Target/AArch64/AArch64SchedNeoverseV2.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
M llvm/test/CodeGen/AArch64/alloca-load-store-scalable-array.ll
M llvm/test/CodeGen/AArch64/alloca-load-store-scalable-struct.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-reductions-predicated-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-reductions-scalable.ll
M llvm/test/CodeGen/AArch64/insert-subvector-res-legalization.ll
M llvm/test/CodeGen/AArch64/sve-calling-convention-mixed.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-concat.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-fcopysign.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-fp-arith.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-fp-compares.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-fp-fma.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-fp-minmax.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-fp-reduce.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-fp-vselect.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-frame-offests-crash.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-int-arith.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-int-compares.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-int-div.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-int-log.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-int-minmax.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-int-mulh.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-int-rem.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-int-shifts.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-int-vselect.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-gather.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-loads.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-scatter.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-stores.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-permute-zip-uzp-trn.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-subvector.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-vector-shuffle-tbl.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-vector-shuffle.ll
M llvm/test/CodeGen/AArch64/sve-fptrunc-store.ll
M llvm/test/CodeGen/AArch64/sve-gather-scatter-dag-combine.ll
M llvm/test/CodeGen/AArch64/sve-insert-vector.ll
M llvm/test/CodeGen/AArch64/sve-ld-post-inc.ll
M llvm/test/CodeGen/AArch64/sve-masked-ldst-sext.ll
M llvm/test/CodeGen/AArch64/sve-masked-ldst-zext.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-ext-loads.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fcopysign.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-extend-trunc.ll
M llvm/test/CodeGen/AArch64/sve-vscale-attr.ll
M llvm/test/CodeGen/AArch64/sve2-fixed-length-fcopysign.ll
Log Message:
-----------
[AArch64][SVE] Remove pseudo from LD1_IMM (#73631)
The LD1 immediate offset instructions have both a pseudo and a real
instruction, mostly as the instructions shares a tablegen class with the
FFR version of the instructions. As far as I can tell the pseudo for the
non-ffr versions does not serve any useful purpose though, and we can
rejig the the classes to only define the pseudo for FFR instructions
similar to the existing sve_mem_cld_ss instructions.
The end result of this is that we don't have a SideEffects flag on the
LD1_IMM instructions whilst scheduling them, and have a few less pseudo
instructions which is usually a good thing.
Commit: 95a47bca5ed87bab975d9e5c841e346feee59be6
https://github.com/llvm/llvm-project/commit/95a47bca5ed87bab975d9e5c841e346feee59be6
Author: Ben Shi <2283975856 at qq.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
M clang/test/Analysis/Inputs/system-header-simulator.h
M clang/test/Analysis/stream-error.c
M clang/test/Analysis/stream.c
Log Message:
-----------
[clang][analyzer] Support `fputs` in the StreamChecker (#73335)
Commit: 205f53010d0da11a9c4ab7a4655edb4a2ded1b02
https://github.com/llvm/llvm-project/commit/205f53010d0da11a9c4ab7a4655edb4a2ded1b02
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaOverload.cpp
M clang/test/CXX/drs/dr27xx.cpp
Log Message:
-----------
[Clang] CWG2789 Overload resolution with implicit and explicit object… (#73493)
… member functions
Implement the resolution to CWG2789 from
https://wiki.edg.com/pub/Wg21kona2023/StrawPolls/p3046r0.html
The DR page is not updated because the issue has not made it to a
published list yet.
Commit: 6b89fab8978f2b075cecc98b3d37769b24019034
https://github.com/llvm/llvm-project/commit/6b89fab8978f2b075cecc98b3d37769b24019034
Author: Daniel Grumberg <dgrumberg at apple.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M clang/include/clang/ExtractAPI/DeclarationFragments.h
M clang/lib/ExtractAPI/DeclarationFragments.cpp
A clang/test/ExtractAPI/objc_block.m
M clang/test/ExtractAPI/objc_category.m
M clang/test/ExtractAPI/objc_id_protocol.m
M clang/test/ExtractAPI/objc_interface.m
M clang/test/ExtractAPI/objc_property.m
Log Message:
-----------
[clang][ExtractAPI] Add support for blocks in declaration fragments (#73369)
Ensure that block types get represented correctly in declaration
fragments, as block parameter names are important for documentation
clients we need a separate system from getFragmentsForType in order to
have access to full ParmVarDecls for the parameters.
rdar://118257401
Commit: d6f00654fbc686f5413f9c8d1bac2c4050fdf350
https://github.com/llvm/llvm-project/commit/d6f00654fbc686f5413f9c8d1bac2c4050fdf350
Author: Alex <1132174766 at qq.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M openmp/runtime/test/ompt/tasks/explicit_task_thread_num.c
Log Message:
-----------
[OpenMP][Runtime][test] Fix ompt task testcase fail randomly (#72337)
Fixed #72231
Commit: 2c729d29aa1390253508c19b4d83dbedb233098d
https://github.com/llvm/llvm-project/commit/2c729d29aa1390253508c19b4d83dbedb233098d
Author: Nikita Popov <npopov at redhat.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M llvm/lib/Analysis/AssumptionCache.cpp
Log Message:
-----------
[AssumptionCache] Remove unnecessary bitcast/not handling
We only handle not for the top level value of the condition, so
move it there instead of trying to look through not at all leafs.
Also remove bitcast handling entirely -- we don't do anything
special wrt bitcasts, this is probably a leftover from pointer
types.
Commit: ced0f28a35b8a14759e6bd9418e8c8a7c35775c8
https://github.com/llvm/llvm-project/commit/ced0f28a35b8a14759e6bd9418e8c8a7c35775c8
Author: serge-sans-paille <sguelton at mozilla.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M clang/tools/clang-format/clang-format-diff.py
Log Message:
-----------
Improve clang-format-diff help output (#73491)
It is quite common to symlink clang-format-diff.py to clang-format-diff,
and in that case the help output still refers to the .py version.
Compute it instead to work in both setup.
Commit: 3c0f87147d0e5904ab469381329f4661cf17a024
https://github.com/llvm/llvm-project/commit/3c0f87147d0e5904ab469381329f4661cf17a024
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M llvm/utils/TableGen/X86FoldTablesEmitter.cpp
Log Message:
-----------
[X86][fold-table] Add an assertion in addEntryWithFlags, NFCI
Commit: 1116e4f5dc2ba070dd655ec55231a5b21d33573f
https://github.com/llvm/llvm-project/commit/1116e4f5dc2ba070dd655ec55231a5b21d33573f
Author: Nikita Popov <npopov at redhat.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
Log Message:
-----------
[ValueTracking] Rename computeKnownBitsFrom{Assume -> Context} (NFC)
In preparation for handling non-assume context-sensitive facts.
Commit: b5d132010dd460453203ed03e223283ba63383c3
https://github.com/llvm/llvm-project/commit/b5d132010dd460453203ed03e223283ba63383c3
Author: Uday Bondhugula <uday at polymagelabs.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M llvm/test/CodeGen/NVPTX/vector-stores.ll
Log Message:
-----------
[NFC][NVPTX] Add a simpler test case for 0b80288e9e0b (#73379)
While 0b80288e9e0b allowed more efficient lowering for 16xi8 loads, its
test case was closer to an "integration" one. Add a much simpler unit
test case that exercises it.
Commit: 01091fd101ee78fb8068a2b916ae007a4873d66a
https://github.com/llvm/llvm-project/commit/01091fd101ee78fb8068a2b916ae007a4873d66a
Author: Zhikai Zeng <44666321+Backl1ght at users.noreply.github.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M clang/lib/Sema/SemaInit.cpp
Log Message:
-----------
[clang] fix typo (#73644)
Commit: 0d408317650930d550e6bc88cdf9ff3d03557495
https://github.com/llvm/llvm-project/commit/0d408317650930d550e6bc88cdf9ff3d03557495
Author: Jay Foad <jay.foad at amd.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/test/CodeGen/AMDGPU/code-size-estimate.ll
M llvm/test/CodeGen/AMDGPU/fma.f16.ll
M llvm/test/CodeGen/AMDGPU/madak.ll
Log Message:
-----------
[AMDGPU] Allow folding to FMAAK with SGPR and immediate operand on GFX10+ (#72266)
Allow foldImmediate to create instructions like:
v_fmaak_f32 v0, s0, v0, 0x42000000
This instruction has two "scalar values": s0 and 0x42000000. On GFX10+
this is allowed. This fold was originally implemented before the
compiler supported GFX10, when all ASICs were limited to one scalar
value.
Commit: 82a5708c7a4809ca9095499b2bc70caf244bee4e
https://github.com/llvm/llvm-project/commit/82a5708c7a4809ca9095499b2bc70caf244bee4e
Author: Jay Foad <jay.foad at amd.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
Log Message:
-----------
[AMDGPU] Document that PAL uses Elf64_Rel relocation records (#73648)
Commit: ced5c1c715b2ade886a5501fa0ef728a3e1ce830
https://github.com/llvm/llvm-project/commit/ced5c1c715b2ade886a5501fa0ef728a3e1ce830
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
Log Message:
-----------
AMDGPU: Remove let Predicates from PredicateControl'd InstAliases (#73474)
This was overriding the Predicate list computed by PredicateControl.
There are other places that seem to also be setting confusing overrides
of computed predicate lists.
Commit: 0237f1b998fab69ce365f0ebc79f0ecfa4294744
https://github.com/llvm/llvm-project/commit/0237f1b998fab69ce365f0ebc79f0ecfa4294744
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/PragmaKinds.h
M clang/include/clang/Sema/Sema.h
M clang/lib/Parse/ParsePragma.cpp
M clang/lib/Sema/SemaAttr.cpp
A clang/test/CodeGen/fp-reciprocal-pragma.cpp
M clang/test/Parser/pragma-fp-contract.c
M clang/test/Parser/pragma-fp.cpp
M clang/test/Sema/eval-method-with-unsafe-math.c
Log Message:
-----------
clang: Add pragma clang fp reciprocal (#68267)
Just follow along with the reassociate pragma. This allows locally
setting the arcp fast math flag. Previously you could only access this
through the global -freciprocal-math.
Fixes #64798
Commit: a86bce6577bbbc12fb31bae2edf715178f9b493d
https://github.com/llvm/llvm-project/commit/a86bce6577bbbc12fb31bae2edf715178f9b493d
Author: Nikita Popov <npopov at redhat.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M llvm/test/Transforms/LoopUnroll/peel-loop.ll
Log Message:
-----------
[LoopPeel] Regenerate test checks (NFC)
Commit: 1237e313ef0015dcdc06c820737a134fb7991fd5
https://github.com/llvm/llvm-project/commit/1237e313ef0015dcdc06c820737a134fb7991fd5
Author: Nikita Popov <npopov at redhat.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M llvm/test/Transforms/InstCombine/2007-10-31-RangeCrash.ll
M llvm/test/Transforms/InstCombine/2009-02-20-InstCombine-SROA.ll
Log Message:
-----------
[InstCombine] Regenerate test checks (NFC)
Commit: f0faff8b9bb66be700a0e6881aa9c2baf06e6cbd
https://github.com/llvm/llvm-project/commit/f0faff8b9bb66be700a0e6881aa9c2baf06e6cbd
Author: Nikita Popov <npopov at redhat.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/sve-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/induction.ll
Log Message:
-----------
[LoopVectorize] Regenerate test checks (NFC)
Commit: a90e215dfbc99803b30904c521ac375ebe0ea271
https://github.com/llvm/llvm-project/commit/a90e215dfbc99803b30904c521ac375ebe0ea271
Author: Nikita Popov <npopov at redhat.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M llvm/test/Transforms/SimpleLoopUnswitch/2007-08-01-LCSSA.ll
Log Message:
-----------
[SimpleLoopUnswitch] Regenerate test checks (NFC)
Commit: af4d8d5af670d41d31fd5d508daf15a5d29d01ff
https://github.com/llvm/llvm-project/commit/af4d8d5af670d41d31fd5d508daf15a5d29d01ff
Author: Amir Ayupov <aaupov at fb.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M bolt/test/perf2bolt/Inputs/perf_test.c
Log Message:
-----------
[BOLT][test] Update perf2bolt/perf_test.test (#73482)
Commit: 104b7c624ed54865ea2caf5180ccc8824bddec4b
https://github.com/llvm/llvm-project/commit/104b7c624ed54865ea2caf5180ccc8824bddec4b
Author: Graham Hunter <graham.hunter at arm.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/uniform-args-call-variants.ll
M llvm/test/Transforms/LoopVectorize/uniform-args-call-variants.ll
Log Message:
-----------
[LV] Add support for uniform parameters on vectorized function variants (#72891)
Parameters marked as uniform take a scalar value, assuming the value is
invariant in the scalar loop.
Commit: eb1d5065c560b3468fa0d34af3103359cd78c088
https://github.com/llvm/llvm-project/commit/eb1d5065c560b3468fa0d34af3103359cd78c088
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M mlir/test/Dialect/Vector/vector-contract-to-outerproduct-matvec-transforms.mlir
Log Message:
-----------
[MLIR][Vector] Refactor tests for contract -> OP transforms (2/N) (#73445)
This is a direct follow-up of #73348. The matvec trait that's used for
`@matvec_m_mk_k` was incorrectly updated from:
```
#redpar_vecmattrans_accesses = [
affine_map<(m, k) -> (m)>,
affine_map<(m, k) -> (m, k)>,
affine_map<(m, k) -> (k)>
]
indexing_maps = #redpar_vecmattrans_accesses,
iterator_types = ["reduction", "parallel"]
}
```
to:
```
#matvec_accesses_4 = [
affine_map<(m, k) -> (k)>,
affine_map<(m, k) -> (k, m)>,
affine_map<(m, k) -> (m)>
]
indexing_maps = #matvec_accesses_4,
iterator_types = ["parallel", "reduction"]
}
```
Note that these traits describe identical matvec operation, hence the
`CHECK` lines are identical for both.
Also, `#redpar_vecmattrans_trait` is identical to `#matvec_trait_8`
that's already present in:
* "vector-contract-to-outerproduct-matvec-transforms.mlir"
For this reason:
* `@matvec_m_mk_k` is moved near other tests that already use
`#matvec_trait_8`,
* `#redpar_vecmattrans_trait` is replaced `#matvec_trait_8`.
This is a part of a larger effort to add cases with scalable vectors to
tests for the Vector dialect. I am refactoring these tests so that it's
easier to identify what cases are tested and where to add tests for
scalable vectors.
Implements #72834.
Commit: 4d29bdabab5cc953e21603f7f8c127a7f7540ed0
https://github.com/llvm/llvm-project/commit/4d29bdabab5cc953e21603f7f8c127a7f7540ed0
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M llvm/test/tools/llvm-readtapi/command-line.test
M llvm/test/tools/llvm-readtapi/extract-invalid.test
M llvm/test/tools/llvm-readtapi/merge-invalid.test
M llvm/test/tools/llvm-readtapi/remove.test
Log Message:
-----------
[readtapi][tests] add descriptions to tests (#73576)
Commit: 45139ab6cadcdf3d9a31fc5f04425ce87efeb9d3
https://github.com/llvm/llvm-project/commit/45139ab6cadcdf3d9a31fc5f04425ce87efeb9d3
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC]Improve aliasing support in SLP, NFC.
No need to store optional boolean in the map, enough to store boolean
directly. Also, we can do preliminary check for instruction and if they
are not simple, mark as aliased without storing this result in the map.
Commit: a3ae7b660acfac3a812fe366b9210a24bd383963
https://github.com/llvm/llvm-project/commit/a3ae7b660acfac3a812fe366b9210a24bd383963
Author: Philip Reames <preames at rivosinc.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Minor style cleanup to cf17a24 [nfc]
This was suggested in another related review, so backporting it to the
existing code as well.
Commit: 0424546ed4a7570837626922edc66530cd3c3ab7
https://github.com/llvm/llvm-project/commit/0424546ed4a7570837626922edc66530cd3c3ab7
Author: DonatNagyE <donat.nagy at ericsson.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h
M clang/lib/StaticAnalyzer/Checkers/BuiltinFunctionChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
M clang/lib/StaticAnalyzer/Core/SValBuilder.cpp
M clang/test/Analysis/malloc.c
M clang/test/Analysis/memory-model.cpp
M clang/test/Analysis/out-of-bounds-diagnostics.c
Log Message:
-----------
[analyzer] Use AllocaRegion in MallocChecker (#72402)
...to model the results of alloca() and _alloca() calls. Previously it
acted as if these functions were returning memory from the heap, which
led to alpha.security.ArrayBoundV2 producing incorrect messages.
Commit: b6eb740cae13b26ddc8762277f2eb6e552320fc3
https://github.com/llvm/llvm-project/commit/b6eb740cae13b26ddc8762277f2eb6e552320fc3
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC]Improve/fix auto declarations, NFC.
Commit: f3a9dbe7fcabb10d81a56d3757fb1b32fa37972e
https://github.com/llvm/llvm-project/commit/f3a9dbe7fcabb10d81a56d3757fb1b32fa37972e
Author: Philip Reames <preames at rivosinc.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-buildvec.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-buildvec.ll
Log Message:
-----------
[RISCV] Split build_vector into vreg sized pieces when exact VLEN is known (#73606)
If we have a high LMUL build_vector and a known exact VLEN, we can
decompose the build_vector into one build_vector per register in the
register group. Doing so requires exact knowledge of which elements
correspond to each register in the register group, and thus an exact
VLEN must be known.
Since we no longer have operations which are linear (or worse) in LMUL,
this also allows us to lower all build_vectors without resorting to
going through the stack.
Commit: 7f3ee3ca1d09daf0f7d350ed9d62796640a59bf4
https://github.com/llvm/llvm-project/commit/7f3ee3ca1d09daf0f7d350ed9d62796640a59bf4
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/test/CodeGenCXX/debug-info-static-inline-member.cpp
M clang/test/CodeGenCXX/debug-info-static-member.cpp
Log Message:
-----------
[clang][DebugInfo] Revert to attaching DW_AT_const_value on static member declarations (#73626)
In https://github.com/llvm/llvm-project/pull/71780 we started emitting
definitions for all static data-members with constant initialisers, even
if they were constants (i.e., didn't have a location). We also dropped
the DW_AT_const_value from the declaration to [help resolve
inconsistencies during type merging in the
DWARFParallelLinker](https://github.com/llvm/llvm-project/pull/68721).
However, for static data members that do have locations, we wouldn't
emit a DW_AT_const_value on it, assuming that the consumer knows how to
read the value using the location. This broke some consumers that really
wanted to find a DW_AT_const_value. Ultimately we want to attach a
DW_AT_const_value to definitions that have a location too. But to fix
consumers broken by said change, this patch adds the constant back onto
the declaration. This is what we used to do prior to
https://github.com/llvm/llvm-project/pull/71780
Commit: 2bdf6231dadc59d9be3ad32b787120f473b6ca9e
https://github.com/llvm/llvm-project/commit/2bdf6231dadc59d9be3ad32b787120f473b6ca9e
Author: Stefan Gränitz <stefan.graenitz at gmail.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M llvm/unittests/ExecutionEngine/JITLink/AArch32ErrorTests.cpp
Log Message:
-----------
[JITLink][AArch32] Split out error test for invalid edge in applyFixup()
Also rename the fixture class since these tests are not ELF-specific.
Commit: b3bc8d75ff3c9d44d0f547fb949e73e6b8b65fef
https://github.com/llvm/llvm-project/commit/b3bc8d75ff3c9d44d0f547fb949e73e6b8b65fef
Author: Lucas Duarte Prates <lucas.prates at arm.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SystemOperands.td
A llvm/test/MC/AArch64/armv9.5a-spmu2-error.s
A llvm/test/MC/AArch64/armv9.5a-spmu2.s
A llvm/test/MC/AArch64/armv9.5a-step2.s
M llvm/test/MC/AArch64/basic-a64-diagnostics.s
M llvm/test/MC/AArch64/basic-a64-instructions.s
A llvm/test/MC/Disassembler/AArch64/armv9.5a-spmu2.txt
A llvm/test/MC/Disassembler/AArch64/armv9.5a-step2.txt
M llvm/test/MC/Disassembler/AArch64/basic-a64-instructions.txt
Log Message:
-----------
[AArch64] Assembly support for Armv9.5-A Debug/PMU Extensions (#73537)
This implements assembly support for the Debug/PMU extensions introduced
as part of the Armv9.5-A architecture version.
The changes include:
* New ID_AA64DFR2_EL1 ID system register
* New MDSTEPOP_EL1 and SPMZR_EL0 system registers
Mode details about these extensions can be found at:
* https://community.arm.com/arm-community-blogs/b/architectures-and-processors-blog/posts/arm-a-profile-architecture-developments-2023
* https://developer.arm.com/documentation/ddi0602/2023-09/
Co-authored-by: Oliver Stannard <oliver.stannard at arm.com>
Commit: 3e5acc78f78a75ec76ef6ddc36e08d3d124fb099
https://github.com/llvm/llvm-project/commit/3e5acc78f78a75ec76ef6ddc36e08d3d124fb099
Author: Philip Reames <preames at rivosinc.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert.ll
Log Message:
-----------
[RISCV] Precommit test coverage for insert_vector_elt with exact VLEN
Commit: f4c5c470cdd6962550cfbdd41318b3a63a9d3747
https://github.com/llvm/llvm-project/commit/f4c5c470cdd6962550cfbdd41318b3a63a9d3747
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M flang/lib/Semantics/check-acc-structure.cpp
M flang/test/Parser/acc-unparse.f90
M flang/test/Semantics/OpenACC/acc-branch.f90
Log Message:
-----------
[flang][openacc] Enforce no branching out of compute region for combined construct (#73581)
`A program may not branch into or out of a compute construct.` This
restriction is also true for combined constructs. This patch enforce
this rule.
Commit: 202dda8e5c3fb45e6a96691a40a66cd5877a9a9b
https://github.com/llvm/llvm-project/commit/202dda8e5c3fb45e6a96691a40a66cd5877a9a9b
Author: Amir Ayupov <aaupov at fb.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M bolt/utils/nfc-stat-parser.py
Log Message:
-----------
[BOLT][utils] Bump default time threshold to 1s in nfc-stat-parser
Commit: a1b3b78c55be7e95042e22d83a7f183ae6cc865a
https://github.com/llvm/llvm-project/commit/a1b3b78c55be7e95042e22d83a7f183ae6cc865a
Author: Jay Foad <jay.foad at amd.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
Log Message:
-----------
[AMDGPU] Clarify description of _HI relocation types (#73663)
Clarify how the addend is used in _HI relocation types like
R_AMDGPU_ABS32_HI based on the current behaviour of the Mesa and AMDPAL
ELF loaders.
This affects Mesa and AMDPAL because they use REL relocation records, so
the addend for these types is the 32-bit literal value from the
instruction being relocated. AMDHSA is not affected because it uses RELA
relocation records which have a 64-bit addend.
Commit: 87d884b5c8ff3f477b54fcd5a7966df49f1f8111
https://github.com/llvm/llvm-project/commit/87d884b5c8ff3f477b54fcd5a7966df49f1f8111
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fdot2.bf16.bf16.ll
Log Message:
-----------
[AMDGPU] Fix folding of v2i16/v2f16 splat imms (#72709)
We can use inline constants with packed 16-bit operands, but these
should use op_sel. Currently splat of inlinable constants is considered
legal, which is not really true if we fail to fold it with op_sel and
drop the high half. It may be legal as a literal but not as inline
constant, but then usual literal checks must be performed.
This patch makes these splat literals illegal but adds additional logic
to the operand folding to keep current folds. This logic is somewhat
heavy though.
This has fixed constant bus violation in the fdot2 test.
Commit: c72884225b46486493d903897f62591faaad4f81
https://github.com/llvm/llvm-project/commit/c72884225b46486493d903897f62591faaad4f81
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC]Fix naming of variables/functions, NFC.
Commit: 21361bb8605fd26a06312d80b9fb20a8b41c58ed
https://github.com/llvm/llvm-project/commit/21361bb8605fd26a06312d80b9fb20a8b41c58ed
Author: Juergen Ributzka <juergen at ributzka.de>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M clang/include/clang/Frontend/ASTUnit.h
M clang/lib/Frontend/ASTMerge.cpp
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Frontend/FrontendAction.cpp
M clang/tools/c-index-test/core_main.cpp
M clang/tools/libclang/CIndex.cpp
M clang/unittests/Frontend/ASTUnitTest.cpp
Log Message:
-----------
[clang] Remove unused argument. NFC. (#73594)
Commit: 4667dd62eee3c5d70e47fd45cb8c45d2f1234bff
https://github.com/llvm/llvm-project/commit/4667dd62eee3c5d70e47fd45cb8c45d2f1234bff
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M openmp/libomptarget/plugins-nextgen/CMakeLists.txt
M openmp/libomptarget/plugins-nextgen/amdgpu/CMakeLists.txt
M openmp/libomptarget/plugins-nextgen/common/CMakeLists.txt
M openmp/libomptarget/plugins-nextgen/common/OMPT/CMakeLists.txt
M openmp/libomptarget/plugins-nextgen/common/PluginInterface/CMakeLists.txt
M openmp/libomptarget/plugins-nextgen/common/PluginInterface/GlobalHandler.cpp
M openmp/libomptarget/plugins-nextgen/common/PluginInterface/PluginInterface.cpp
A openmp/libomptarget/plugins-nextgen/common/PluginInterface/Utils/ELF.cpp
A openmp/libomptarget/plugins-nextgen/common/PluginInterface/Utils/ELF.h
R openmp/libomptarget/plugins-nextgen/common/elf_common/CMakeLists.txt
R openmp/libomptarget/plugins-nextgen/common/elf_common/ELFSymbols.cpp
R openmp/libomptarget/plugins-nextgen/common/elf_common/ELFSymbols.h
R openmp/libomptarget/plugins-nextgen/common/elf_common/elf_common.cpp
R openmp/libomptarget/plugins-nextgen/common/elf_common/elf_common.h
M openmp/libomptarget/plugins-nextgen/cuda/CMakeLists.txt
Log Message:
-----------
[OpenMP][NFC] Merge elf_common into PluginInterface (#73677)
The overhead of a library and 4 files seems high without benefit. This
simply tries to consolidate our structure.
Commit: 50b9930cfaa145145c13a89ef59b67efc9a772de
https://github.com/llvm/llvm-project/commit/50b9930cfaa145145c13a89ef59b67efc9a772de
Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_platform.h
Log Message:
-----------
[asan] Fix Windows i386 regression (#73650)
This change makes x64 enablement case explicit and
adds an else case for 32bit which fixes a regression
on Windows i386 asan builds introduced
by https://github.com/llvm/llvm-project/pull/66973.
Commit: 6c62f7cbfb3a4dc12cee2f6c02191b83047321d9
https://github.com/llvm/llvm-project/commit/6c62f7cbfb3a4dc12cee2f6c02191b83047321d9
Author: Emma Pilkington <emma.pilkington95 at gmail.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M llvm/include/llvm/BinaryFormat/MsgPackReader.h
M llvm/lib/BinaryFormat/MsgPackDocument.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUPALMetadata.cpp
M llvm/test/tools/llvm-readobj/ELF/note-amd-invalid-v3.test
M llvm/test/tools/llvm-readobj/ELF/note-amdgpu-invalid.s
Log Message:
-----------
[MsgPack] Handle Expected<T> errors in document reader (#73183)
This was causing an assert on invalid in the modified test case.
Commit: 43f783ff66d7ae5a8bf43cdab251750780de7934
https://github.com/llvm/llvm-project/commit/43f783ff66d7ae5a8bf43cdab251750780de7934
Author: michaelrj-google <71531609+michaelrj-google at users.noreply.github.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M libc/docs/dev/api_test.rst
M libc/docs/dev/clang_tidy_checks.rst
M libc/docs/dev/header_generation.rst
M libc/docs/dev/implementation_standard.rst
M libc/docs/dev/source_tree_layout.rst
M libc/docs/strings.rst
Log Message:
-----------
[libc][docs] Update implementation docs (#73590)
Some of the files in the docs/ directory are from 2019 and haven't been
updated since. This patch updates implementation_standard.rst,
source_tree_layout.rst, and has some minor fixes for strings.rst. It
also marks the most severely out of date files with a warning. These
files will be updated in a later patch.
Commit: 0783bf1cb3e47fc48813ee63f42d72b70d8cb792
https://github.com/llvm/llvm-project/commit/0783bf1cb3e47fc48813ee63f42d72b70d8cb792
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M openmp/libomptarget/plugins-nextgen/CMakeLists.txt
M openmp/libomptarget/plugins-nextgen/amdgpu/CMakeLists.txt
M openmp/libomptarget/plugins-nextgen/common/CMakeLists.txt
R openmp/libomptarget/plugins-nextgen/common/MemoryManager/CMakeLists.txt
R openmp/libomptarget/plugins-nextgen/common/MemoryManager/MemoryManager.h
M openmp/libomptarget/plugins-nextgen/common/OMPT/CMakeLists.txt
M openmp/libomptarget/plugins-nextgen/common/PluginInterface/CMakeLists.txt
A openmp/libomptarget/plugins-nextgen/common/PluginInterface/MemoryManager.h
M openmp/libomptarget/plugins-nextgen/cuda/CMakeLists.txt
Log Message:
-----------
[OpenMP][NFC] Merge MemoryManager into PluginInterface (#73678)
Similar to #73677, there is no benefit from keeping MemoryManager
seperate; it's tied into the current design. Except the move I also
replaced the getenv call with our Env handling.
Commit: efac016e32f3b7ded78650b0e40a9880a298bdbe
https://github.com/llvm/llvm-project/commit/efac016e32f3b7ded78650b0e40a9880a298bdbe
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M libcxx/test/std/time/time.cal/euclidian.h
M libcxx/test/std/time/time.cal/time.cal.day/time.cal.day.members/decrement.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.day/time.cal.day.members/increment.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.day/time.cal.day.members/plus_minus_equal.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.day/time.cal.day.nonmembers/minus.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.day/time.cal.day.nonmembers/plus.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.month/time.cal.month.nonmembers/minus.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.weekday/time.cal.weekday.members/c_encoding.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.weekday/time.cal.weekday.members/decrement.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.weekday/time.cal.weekday.members/increment.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.weekday/time.cal.weekday.members/iso_encoding.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.weekday/time.cal.weekday.members/plus_minus_equal.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.weekday/time.cal.weekday.nonmembers/minus.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.weekday/time.cal.weekday.nonmembers/plus.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.year/time.cal.year.members/decrement.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.year/time.cal.year.members/increment.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.year/time.cal.year.members/plus_minus.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.year/time.cal.year.members/plus_minus_equal.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.year/time.cal.year.nonmembers/minus.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.year/time.cal.year.nonmembers/plus.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ym/time.cal.ym.members/plus_minus_equal_month.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ym/time.cal.ym.members/plus_minus_equal_year.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ym/time.cal.ym.nonmembers/minus.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymd/time.cal.ymd.members/plus_minus_equal_month.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymd/time.cal.ymd.members/plus_minus_equal_year.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymd/time.cal.ymd.nonmembers/plus.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymdlast/time.cal.ymdlast.members/plus_minus_equal_month.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymdlast/time.cal.ymdlast.members/plus_minus_equal_year.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymdlast/time.cal.ymdlast.nonmembers/minus.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymdlast/time.cal.ymdlast.nonmembers/plus.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymwd/time.cal.ymwd.members/plus_minus_equal_month.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymwd/time.cal.ymwd.members/plus_minus_equal_year.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymwd/time.cal.ymwd.nonmembers/minus.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymwd/time.cal.ymwd.nonmembers/plus.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymwdlast/time.cal.ymwdlast.members/plus_minus_equal_month.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymwdlast/time.cal.ymwdlast.members/plus_minus_equal_year.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymwdlast/time.cal.ymwdlast.nonmembers/minus.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymwdlast/time.cal.ymwdlast.nonmembers/plus.pass.cpp
Log Message:
-----------
[NFC][libc++] Refactors the time.cal tests. (#73356)
These tests use an old way to test code in constexpr context. This
changes the code to the idomatic libc++ method.
This is a preparation for #73162.
Side changes
- Updated formatting
- Made some helper functions constexpr
- Some naming improvements
Commit: badec9b7bfb6fb27d8be42d1b71bea7a3cd37da6
https://github.com/llvm/llvm-project/commit/badec9b7bfb6fb27d8be42d1b71bea7a3cd37da6
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC]Fix loops variables names, NFC.
Commit: 98e674c9f16d677d95c67bc130e267fae331e43c
https://github.com/llvm/llvm-project/commit/98e674c9f16d677d95c67bc130e267fae331e43c
Author: Amirreza Ashouri <ar.ashouri999 at gmail.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/Type.cpp
M clang/test/SemaCXX/type-traits-incomplete.cpp
A clang/test/SemaCXX/type-traits-nonobject.cpp
Log Message:
-----------
[clang] Non-object types are non-trivially relocatable (#69734)
Both active C++ proposals (P1144 and P2786) agree that
`is_trivially_relocatable_v<int&>` and
`is_trivially_relocatable_v<int()>` should be false, not true. Only
complete object types can be trivially relocatable.
Fixes #67498
Commit: c846f8ba104f18053ce666de7e2da0a82deb45cd
https://github.com/llvm/llvm-project/commit/c846f8ba104f18053ce666de7e2da0a82deb45cd
Author: Chelsea Cassanova <chelsea_cassanova at apple.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M lldb/source/Core/Progress.cpp
Log Message:
-----------
[lldb][progress] Always report progress upon Progress object destruction (#73605)
This commit allows a final progress report upon the destruction of the
`Progress` object to happen at all times as opposed to when the progress
was not completed.
Commit: 02cbae4fe0683c90ccd544d0be7fa82732a502e8
https://github.com/llvm/llvm-project/commit/02cbae4fe0683c90ccd544d0be7fa82732a502e8
Author: Philip Reames <preames at rivosinc.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert.ll
Log Message:
-----------
[RISCV] Work on subreg for insert_vector_elt when vlen is known (#72666) (#73680)
If we have a constant index and a known vlen, then we can identify which
registers out of a register group is being accessed. Given this, we can
reuse the (slightly generalized) existing handling for working on
sub-register groups. This results in all constant index extracts with
known vlen becoming m1 operations.
One bit of weirdness to highlight and explain: the existing code uses
the VL from the original vector type, not the inner vector type. This is
correct because the inner register group must be smaller than the
original (possibly fixed length) vector type. Overall, this seems to a
reasonable codegen tradeoff as it biases us towards immediate AVLs,
which avoids needing the vsetvli form which clobbers a GPR for no real
purpose. The downside is that for large fixed length vectors, we end up
materializing an immediate in register for little value. We should
probably generalize this idea and try to optimize the large fixed length
vector case, but that can be done in separate work.
Commit: a8ac930b99d93b2a539ada7e566993d148899144
https://github.com/llvm/llvm-project/commit/a8ac930b99d93b2a539ada7e566993d148899144
Author: Dominik Adamski <dominik.adamski at amd.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M clang/include/clang/Basic/TargetOptions.h
M clang/include/clang/Driver/Options.td
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/Targets/AMDGPU.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Driver/ToolChains/Flang.h
M flang/include/flang/Frontend/CodeGenOptions.h
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendActions.cpp
A flang/test/Driver/code-object-version.f90
M flang/test/Driver/driver-help-hidden.f90
M flang/test/Driver/driver-help.f90
A flang/test/Lower/AMD/code-object-version.f90
M llvm/include/llvm/Target/TargetOptions.h
Log Message:
-----------
[Flang] Add code-object-version option (#72638)
Information about code object version can be configured by the user for
AMD GPU target and it needs to be placed in LLVM IR generated by Flang.
Information about code object version in MLIR generated by the parser
can be reused by other tools. There is no need to specify extra flags if
we want to invoke MLIR tools (like fir-opt) separately.
Commit: 19fa27605ca63c0d60ffd532f41de004a57a455f
https://github.com/llvm/llvm-project/commit/19fa27605ca63c0d60ffd532f41de004a57a455f
Author: Michael Halkenhaeuser <MichaelGerald.Halkenhauser at amd.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
M openmp/docs/design/Runtimes.rst
Log Message:
-----------
[NFC][docs] Add AMDGPU documentation for `LIBOMPTARGET_STACK_SIZE`
Add documentation w.r.t. changes by #72606, which allows to set the dynamic
callstack size.
Commit: f00ffcdb58d6db902a8f86b0ce83a03874d113ad
https://github.com/llvm/llvm-project/commit/f00ffcdb58d6db902a8f86b0ce83a03874d113ad
Author: Dominik Adamski <dominik.adamski at amd.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M clang/include/clang/Basic/TargetOptions.h
M clang/include/clang/Driver/Options.td
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/Targets/AMDGPU.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Driver/ToolChains/Flang.h
M flang/include/flang/Frontend/CodeGenOptions.h
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendActions.cpp
R flang/test/Driver/code-object-version.f90
M flang/test/Driver/driver-help-hidden.f90
M flang/test/Driver/driver-help.f90
R flang/test/Lower/AMD/code-object-version.f90
M llvm/include/llvm/Target/TargetOptions.h
Log Message:
-----------
Revert "[Flang] Add code-object-version option (#72638)"
This commit causes test errors on buildbots.
This reverts commit a8ac930b99d93b2a539ada7e566993d148899144.
Commit: 447da954c7dc3175ef3e04da7b2c65cd75c16f92
https://github.com/llvm/llvm-project/commit/447da954c7dc3175ef3e04da7b2c65cd75c16f92
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC]Use DenseSet instead of SetVector, NFC.
For CSEBlocks we can safely use DenseSet, the order should not be
preserved for this container.
Commit: e88a1ce0137bc14b754b86313228fdc48ba737f3
https://github.com/llvm/llvm-project/commit/e88a1ce0137bc14b754b86313228fdc48ba737f3
Author: Usama Hameed <u_hameed at apple.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M llvm/include/llvm/Transforms/Instrumentation/AddressSanitizer.h
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
Log Message:
-----------
[ASan] Allow for passing AddressSanitizer command line options through the AddressSanitizerOptions struct. (#72439)
This patch adds the ability to pass values for the command line options
of -max-inline-poisoning-size, -instrumentation-with-calls-threshold and
-asan-guard-against-version-mismatch through the AddressSanitizerOptions
struct. The motivation is to use these new options when using the pass
in Swift.
rdar://118470958
Commit: 3a6f02a6581b49b269710eea944dc114166403ed
https://github.com/llvm/llvm-project/commit/3a6f02a6581b49b269710eea944dc114166403ed
Author: Max191 <44243577+Max191 at users.noreply.github.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M mlir/lib/Dialect/MemRef/Transforms/EmulateNarrowType.cpp
M mlir/test/Dialect/MemRef/emulate-narrow-type.mlir
Log Message:
-----------
[mlir] Add subbyte emulation support for `memref.store`. (#73174)
This adds a conversion for narrow type emulation of memref.store ops.
The conversion replaces the memref.store with two memref.atomic_rmw ops.
Atomics are used to prevent race conditions on same-byte accesses, in
the event that two threads are storing into the same byte.
Fixes https://github.com/openxla/iree/issues/15370
Commit: 17feb330aab39c6c0c21ee9b02efb484dfb2261e
https://github.com/llvm/llvm-project/commit/17feb330aab39c6c0c21ee9b02efb484dfb2261e
Author: Michael Klemm <michael.klemm at amd.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/CommonArgs.h
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/DragonFly.cpp
M clang/lib/Driver/ToolChains/FreeBSD.cpp
M clang/lib/Driver/ToolChains/Gnu.cpp
M clang/lib/Driver/ToolChains/Haiku.cpp
M clang/lib/Driver/ToolChains/MSVC.cpp
M clang/lib/Driver/ToolChains/MinGW.cpp
M clang/lib/Driver/ToolChains/NetBSD.cpp
M clang/lib/Driver/ToolChains/OpenBSD.cpp
M clang/lib/Driver/ToolChains/Solaris.cpp
A flang/test/Driver/Inputs/no_duplicate_main.ll
M flang/test/Driver/linker-flags.f90
A flang/test/Driver/no_duplicate_main.f90
Log Message:
-----------
[flang][Driver] Let the linker fail on multiple definitions of main() (#73124)
The flang driver was silently ignoring the `main()` function in
`Fortran_main.a` for entry into the Fortran program unit if an external
`main()` as supplied (e.g., via cross-language linkage with Fortran and
C/C++). This PR fixes this by making sure that the linker always pulls
in the `main()` definition from `Fortran_main.a` and consequently fails
due to multiple definitions of the same symbol if another object file
also has a definition of `main()`.
Commit: 6989859254e8ce486d21d5a981c7fddf7964c7ad
https://github.com/llvm/llvm-project/commit/6989859254e8ce486d21d5a981c7fddf7964c7ad
Author: Youngsuk Kim <youngsuk.kim at hpe.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
Log Message:
-----------
[llvm][HWASan] Replace calls to Type::getPointerTo (NFC)
If `Type::getPointerTo` is called solely to support an unnecessary
pointer-cast, remove the call entirely.
Otherwise, replace with IRB.getPtrTy().
Clean-up work towards removing method `Type::getPointerTo`.
Commit: 38e435895779c6f0e6c47a171f3b300ad99828b3
https://github.com/llvm/llvm-project/commit/38e435895779c6f0e6c47a171f3b300ad99828b3
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M llvm/include/llvm/Target/TargetMachine.h
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/Target/TargetMachine.cpp
M llvm/lib/Target/X86/X86Subtarget.cpp
A llvm/test/CodeGen/X86/code-model-elf-text-sections.ll
M llvm/test/CodeGen/X86/pcsections.ll
M llvm/test/ExecutionEngine/OrcLazy/debug-objects-elf-minimal.ll
Log Message:
-----------
[X86] With large code model, put functions into .ltext with large section flag (#73037)
So that when mixing small and large text, large text stays out of the
way of the rest of the binary.
This is useful for mixing precompiled small code model object files and
built-from-source large code model binaries so that the the text
sections don't get merged.
Commit: e1f59ad9f6b4df592925e39462ba95bb299eca26
https://github.com/llvm/llvm-project/commit/e1f59ad9f6b4df592925e39462ba95bb299eca26
Author: James Y Knight <jyknight at google.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M libcxx/include/__config
M libcxx/include/string
Log Message:
-----------
Mark some std::string functions noinline. (#72869)
The intent of these particular functions, since their introduction, was
to NOT be inlinable.
However, the mechanism by which this was accomplished was non-obvious,
and stopped working when string is compiled for C++20.
A longstanding behavior specified by the C++ standard is that
instantiation of the body of a template function is suppressed by an
extern template declaration -- unless the function is explicitly marked
either constexpr or inline. Of course, if the body is not instantiated,
then it cannot possibly be inlined, and thus all the functions listed in
libcxx/include/__string/extern_template_lists.h were uninlineable.
But, in C++20 mode, string functions were annotated constexpr, which
means they _are_ instantiated, and do become inlineable. And, in fact,
they do get inlined, which has caused noticeable binary-size growth for
users.
For example, in C++17,
`std::string f(std::string *in) { return *in; }`
does not inline the copy-constructor call, and instead generates a call
to the exported function defined in the libc++ shared library.
I think we probably don't want to mark all functions that are currently
in the extern template list as noinline, as many of them really are
reasonable inlining candidates. Thus, I've restricted this change to
only the few functions that were clearly intended to be outlined.
See commits like b019c5c0372eb08800327efb5e7955ce918b75d1 (and some
others like it) for background, in which functions were removed from the
extern template list in the unstable ABI in order to allow the
short-string case to be inlined, while moving the long-string case to a
separate function, added to the extern template list.
Commit: ed27a4edb03809f0fe38f780765acfb97346c127
https://github.com/llvm/llvm-project/commit/ed27a4edb03809f0fe38f780765acfb97346c127
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M libcxx/docs/Status/PSTLPaper.csv
M libcxx/include/CMakeLists.txt
M libcxx/include/__algorithm/pstl_backend.h
A libcxx/include/__algorithm/pstl_equal.h
M libcxx/include/algorithm
M libcxx/include/module.modulemap.in
A libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/pstl.equal.pass.cpp
A libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/pstl.exception_handling.pass.cpp
Log Message:
-----------
[libc++][PSTL] Implement std::equal (#72448)
Differential Revision: https://reviews.llvm.org/D157131
Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>
Commit: d4626216943f8c4712bd17a709e439a0ffd0006b
https://github.com/llvm/llvm-project/commit/d4626216943f8c4712bd17a709e439a0ffd0006b
Author: Chris B <chris.bieneman at me.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/TokenKinds.def
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/TypePrinter.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseTentative.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaType.cpp
A clang/test/ParserHLSL/hlsl_groupshared.cpp
A clang/test/ParserHLSL/hlsl_parameter_modifiers.cpp
A clang/test/SemaHLSL/parameter_modifiers.hlsl
A clang/test/SemaHLSL/parameter_modifiers_ast.hlsl
Log Message:
-----------
[HLSL] Parameter modifier parsing and AST (#72139)
This change implements parsing for HLSL's parameter modifier keywords
`in`, `out` and `inout`. Because HLSL doesn't support references or
pointers, these keywords are used to allow parameters to be passed in
and out of functions.
This change only implements the parsing and AST support. In the HLSL
ASTs we represent `out` and `inout` parameters as references, and we
implement the semantics of by-value passing during IR generation.
In HLSL parameters marked `out` and `inout` are ambiguous in function
declarations, and `in`, `out` and `inout` may be ambiguous at call
sites.
This means a function may be defined as `fn(in T)` and `fn(inout T)` or
`fn(out T)`, but not `fn(inout T)` and `fn(out T)`. If a funciton `fn`
is declared with `in` and `inout` or `out` arguments, the call will be
ambiguous the same as a C++ call would be ambiguous given declarations
`fn(T)` and `fn(T&)`.
Fixes #59849
Commit: ec76d3975c42cb4906fe6e2b555f720d097cc49f
https://github.com/llvm/llvm-project/commit/ec76d3975c42cb4906fe6e2b555f720d097cc49f
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port ed27a4edb038
Commit: 4d5079c4dc0ce30ba36315a7c822255cd1eeb9fb
https://github.com/llvm/llvm-project/commit/4d5079c4dc0ce30ba36315a7c822255cd1eeb9fb
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M libcxxabi/src/demangle/ItaniumDemangle.h
M libcxxabi/src/demangle/ItaniumNodes.def
M libcxxabi/test/test_demangle.pass.cpp
M llvm/include/llvm/Demangle/ItaniumDemangle.h
M llvm/include/llvm/Demangle/ItaniumNodes.def
Log Message:
-----------
[libcxxabi][ItaniumDemangle] Demangle explicitly named object parameters (#72881)
The mangling for an explicitly named object was introduced in
https://reviews.llvm.org/D140828
See following discussion for why a new mangling had to be introduced:
https://github.com/itanium-cxx-abi/cxx-abi/issues/148
Since clang started emitting names with the new mangling, this patch
implements support for demangling such names.
The approach this patch takes is to add a new `ExplicitObjectParameter`
node that will print the first parameter of a function declaration with
a `this ` prefix, to reflect what was spelled out in source.
Example:
```
void MyClass::func(this MyClass const& self); // _ZNH7MyClass4funcERKS_
```
With this patch, the above demangles to:
```
_ZNH7MyClass4funcERKS_ -> MyClass::func(this MyClass const&)
```
Note that `func` is not marked as `const &`, since the
function-qualifiers are now encoded as part of the explicit `this`. C++
doesn't allow specifying the function-qualifiers in the presence of an
explicit object parameter, so this demangling is consistent with the
source spelling.
Commit: ce731770f869e8e61afa2dccb772e8367105a1a6
https://github.com/llvm/llvm-project/commit/ce731770f869e8e61afa2dccb772e8367105a1a6
Author: Chris Bieneman <chris.bieneman at me.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M clang/include/clang/Basic/AttrDocs.td
Log Message:
-----------
Fix clang Attribute doc build
This fixes the clang attributes documentation build.
Commit: 8327f4a851fe45760b12752acd0f3b9c1a64b1f3
https://github.com/llvm/llvm-project/commit/8327f4a851fe45760b12752acd0f3b9c1a64b1f3
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
R openmp/libomptarget/include/Debug.h
M openmp/libomptarget/include/OmptConnector.h
A openmp/libomptarget/include/Shared/Debug.h
A openmp/libomptarget/include/Shared/Utils.h
R openmp/libomptarget/include/Utilities.h
M openmp/libomptarget/plugins-nextgen/amdgpu/dynamic_hsa/hsa.cpp
M openmp/libomptarget/plugins-nextgen/amdgpu/src/rtl.cpp
M openmp/libomptarget/plugins-nextgen/amdgpu/utils/UtilitiesRTL.h
M openmp/libomptarget/plugins-nextgen/common/OMPT/OmptCallback.cpp
M openmp/libomptarget/plugins-nextgen/common/PluginInterface/GlobalHandler.cpp
M openmp/libomptarget/plugins-nextgen/common/PluginInterface/GlobalHandler.h
M openmp/libomptarget/plugins-nextgen/common/PluginInterface/JIT.cpp
M openmp/libomptarget/plugins-nextgen/common/PluginInterface/JIT.h
M openmp/libomptarget/plugins-nextgen/common/PluginInterface/MemoryManager.h
M openmp/libomptarget/plugins-nextgen/common/PluginInterface/PluginInterface.cpp
M openmp/libomptarget/plugins-nextgen/common/PluginInterface/PluginInterface.h
M openmp/libomptarget/plugins-nextgen/common/PluginInterface/RPC.cpp
M openmp/libomptarget/plugins-nextgen/common/PluginInterface/Utils/ELF.cpp
M openmp/libomptarget/plugins-nextgen/cuda/dynamic_cuda/cuda.cpp
M openmp/libomptarget/plugins-nextgen/cuda/src/rtl.cpp
M openmp/libomptarget/plugins-nextgen/generic-elf-64bit/src/rtl.cpp
M openmp/libomptarget/src/OmptCallback.cpp
M openmp/libomptarget/src/device.cpp
M openmp/libomptarget/src/interface.cpp
M openmp/libomptarget/src/private.h
M openmp/libomptarget/src/rtl.cpp
Log Message:
-----------
[OpenMP][NFC] Move Utils.h and Debug.h into a "Shared" include folder (#73701)
Headers used throughout the different runtimes are different from the
internal headers. This is a first step to bring structure in into the
include folder.
Commit: 3661eb150e6d4e1e06adb8a62c4b45b056f3c8be
https://github.com/llvm/llvm-project/commit/3661eb150e6d4e1e06adb8a62c4b45b056f3c8be
Author: Greg Clayton <gclayton at fb.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.cpp
A lldb/test/Shell/SymbolFile/DWARF/x86/debug-types-debug-names.cpp
M llvm/include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h
M llvm/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp
Log Message:
-----------
Add support for parsing type unit entries in .debug_names. (#72952)
This is a follow up patch after .debug_names can now emit local type
unit entries when we compile with type units + DWARF5 + .debug_names.
The pull request that added this functionality was:
https://github.com/llvm/llvm-project/pull/70515
This patch makes sure that the DebugNamesDWARFIndex in LLDB will not
manually need to parse type units if they have a valid index. It also
fixes the index to be able to correctly extract name entries that
reference type unit DIEs. Added a test to verify things work as
expected.
Commit: d8d9394cb0ec052d54f51d50d33e76062bf63e9a
https://github.com/llvm/llvm-project/commit/d8d9394cb0ec052d54f51d50d33e76062bf63e9a
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M llvm/include/llvm/Target/TargetMachine.h
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/Target/TargetMachine.cpp
M llvm/lib/Target/X86/X86Subtarget.cpp
R llvm/test/CodeGen/X86/code-model-elf-text-sections.ll
M llvm/test/CodeGen/X86/pcsections.ll
M llvm/test/ExecutionEngine/OrcLazy/debug-objects-elf-minimal.ll
Log Message:
-----------
Revert "[X86] With large code model, put functions into .ltext with large section flag (#73037)"
This reverts commit 38e435895779c6f0e6c47a171f3b300ad99828b3.
May be culprit for https://lab.llvm.org/buildbot/#/builders/37/builds/28079/steps/9/logs/stdio.
Commit: 1a041a3ad8a0104da70202e68256513de8848dbf
https://github.com/llvm/llvm-project/commit/1a041a3ad8a0104da70202e68256513de8848dbf
Author: PiJoules <6019989+PiJoules at users.noreply.github.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_allocator_primary64.h
Log Message:
-----------
[compiler-rt][sanitizer_common] Increase min user-map/freearray round… (#73600)
…ing size
About 90% of the time when running scudo tests on fuchsia+riscv with
asan instrumentation, we will be unable to map the arena for scudo's
primary allocator. We have enough space, but much of the existing
allocations are fragmented enough such that we can't allocate that large
enough contiguous space. This reduces fragmentation more by increase min
allocation rounding for user-map and freearray in the primary allocator.
Note that changing these values doesn't have a functional effect on the
actual size of the user-map or freearray portions of a region. Those are
toggled by different constants. This will reduce the number of times
mmap is called and reduce the number of fragments.
Locally, I've been able to run the scudo tests under
asan-instrumentation on riscv 39-bit vma and haven't run into the `SCUDO
ERROR: zx_vmar_map` error.
Commit: 7233e42dff7f819d76baeb67781648718828e026
https://github.com/llvm/llvm-project/commit/7233e42dff7f819d76baeb67781648718828e026
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M openmp/libomptarget/DeviceRTL/include/Configuration.h
M openmp/libomptarget/DeviceRTL/include/Interface.h
M openmp/libomptarget/DeviceRTL/include/State.h
M openmp/libomptarget/DeviceRTL/src/Allocator.cpp
M openmp/libomptarget/DeviceRTL/src/Debug.cpp
M openmp/libomptarget/DeviceRTL/src/Kernel.cpp
M openmp/libomptarget/DeviceRTL/src/State.cpp
R openmp/libomptarget/include/Environment.h
A openmp/libomptarget/include/Shared/Environment.h
A openmp/libomptarget/include/Shared/SourceInfo.h
R openmp/libomptarget/include/SourceInfo.h
M openmp/libomptarget/include/omptarget.h
M openmp/libomptarget/plugins-nextgen/amdgpu/src/rtl.cpp
M openmp/libomptarget/plugins-nextgen/common/PluginInterface/PluginInterface.cpp
M openmp/libomptarget/plugins-nextgen/common/PluginInterface/PluginInterface.h
M openmp/libomptarget/plugins-nextgen/cuda/src/rtl.cpp
M openmp/libomptarget/plugins-nextgen/generic-elf-64bit/src/rtl.cpp
M openmp/libomptarget/src/private.h
Log Message:
-----------
[OpenMP][NFC] Move Environment.h and SourceInfo.h into "Shared" folder (#73703)
Commit: 86b0ccaee12221d088b35b7b57d415ba290fabb9
https://github.com/llvm/llvm-project/commit/86b0ccaee12221d088b35b7b57d415ba290fabb9
Author: michaelrj-google <71531609+michaelrj-google at users.noreply.github.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M libc/src/__support/FPUtil/ManipulationFunctions.h
M libc/src/math/generic/nexttoward.cpp
M libc/src/math/generic/nexttowardf.cpp
M libc/src/math/generic/nexttowardl.cpp
Log Message:
-----------
[libc][NFC] unify nextafter and nexttoward code (#73698)
Previously the nextafter and nexttoward implementations were almost
identical, with the exception of whether or not the second argument was
a template or just long double. This patch unifies them by making the
two argument templates independent.
Commit: ab562686d1d67962576b7a01346d9ff691b6b28d
https://github.com/llvm/llvm-project/commit/ab562686d1d67962576b7a01346d9ff691b6b28d
Author: Stephan T. Lavavej <stl at nuwen.net>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M libcxx/test/std/containers/views/mdspan/ConvertibleToIntegral.h
M libcxx/test/std/containers/views/mdspan/extents/CtorTestCombinations.h
M libcxx/test/std/containers/views/mdspan/extents/obs_static.pass.cpp
M libcxx/test/std/containers/views/mdspan/extents/types.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/extents.verify.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/index_operator.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/properties.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/static_requirements.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/extents.verify.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/index_operator.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/properties.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/static_requirements.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/extents.verify.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/index_operator.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/properties.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/static_requirements.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/assign.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.copy.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.default.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_array.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_extents.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_integers.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_map.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_map_acc.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_span.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.move.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/deduction.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/index_operator.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/move.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/properties.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/types.pass.cpp
Log Message:
-----------
[libc++][test] Change forbidden `extents<char>` to `extents<signed char>` (#73535)
Found while running libc++'s test suite with MSVC's STL.
[mdspan.extents.overview]/1.1 mandates that IndexType is a signed or
unsigned integer type, which excludes char.
MSVC's STL enforces the Mandates here, so this PR changes the relevant
occurrences of `char to `signed char`. To make this work, we also need
to add an `operator signed char()` to the test helper type `IntType` so
it remains unambiguously convertible, and then we can remove `operator
char()`.
libc++ should also enforce the Mandates, but this PR doesn't attempt to make
such a change.
Commit: eaab947a8aa39002e8bdaa82be08cbc31e116a11
https://github.com/llvm/llvm-project/commit/eaab947a8aa39002e8bdaa82be08cbc31e116a11
Author: Shilei Tian <i at tianshilei.me>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M openmp/runtime/src/kmp_gsupport.cpp
M openmp/runtime/src/kmp_runtime.cpp
A openmp/runtime/src/kmp_utils.h
Log Message:
-----------
[OpenMP] Use simple VLA implementation to replace uses of actual VLA (#71412)
Use of VLA can cause compile warning that was introduced in D156565.
This patch
implements a simple stack/heap-based VLA that can miminc the behavior of
an
actual VLA and prevent the warning. By default the stack accomodates the
elements. If the number of emelements is greater than N, which by
default is 8,
a heap buffer will be allocated and used to acccomodate the elements.
Commit: 4701f776d0f22dc0ff80a7d33ef3ae031eac9c2f
https://github.com/llvm/llvm-project/commit/4701f776d0f22dc0ff80a7d33ef3ae031eac9c2f
Author: Petr Hosek <phosek at google.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M runtimes/CMakeLists.txt
Log Message:
-----------
[CMake] Always define runtimes-test-depends (#73629)
This allows the parent build to depend on this target unconditionally
even when the tests are disabled.
Commit: e7f5d609dd7ec73f9e098532d3fa73b9fa4be02d
https://github.com/llvm/llvm-project/commit/e7f5d609dd7ec73f9e098532d3fa73b9fa4be02d
Author: Shilei Tian <i at tianshilei.me>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M openmp/runtime/src/kmp_gsupport.cpp
M openmp/runtime/src/kmp_runtime.cpp
R openmp/runtime/src/kmp_utils.h
Log Message:
-----------
Revert "[OpenMP] Use simple VLA implementation to replace uses of actual VLA (#71412)"
This reverts commit eaab947a8aa39002e8bdaa82be08cbc31e116a11 because it
causes link error.
Commit: d1057014a184acaa93df0acbf4df37bc5226accd
https://github.com/llvm/llvm-project/commit/d1057014a184acaa93df0acbf4df37bc5226accd
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
A openmp/libomptarget/include/OpenMP/InternalTypes.h
A openmp/libomptarget/include/OpenMP/InteropAPI.h
A openmp/libomptarget/include/OpenMP/omp.h
R openmp/libomptarget/include/interop.h
M openmp/libomptarget/src/CMakeLists.txt
A openmp/libomptarget/src/OpenMP/InteropAPI.cpp
R openmp/libomptarget/src/interop.cpp
M openmp/libomptarget/src/omptarget.cpp
M openmp/libomptarget/src/private.h
Log Message:
-----------
[OpenMP][NFC] Create an "OpenMP" folder in the include folder (#73713)
Not everything in libomptarget (include) is "OpenMP", but some things
most certainly are. This commit moves some code around to start making
this distinction without the intention to change functionality.
Commit: ac8c9f1e39e1a773fd81ce23dbf1c80ea186f226
https://github.com/llvm/llvm-project/commit/ac8c9f1e39e1a773fd81ce23dbf1c80ea186f226
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M libcxx/benchmarks/filesystem.bench.cpp
M libcxx/include/__chrono/file_clock.h
M libcxx/include/__config
M libcxx/include/__filesystem/copy_options.h
M libcxx/include/__filesystem/directory_entry.h
M libcxx/include/__filesystem/directory_iterator.h
M libcxx/include/__filesystem/directory_options.h
M libcxx/include/__filesystem/file_status.h
M libcxx/include/__filesystem/file_time_type.h
M libcxx/include/__filesystem/file_type.h
M libcxx/include/__filesystem/filesystem_error.h
M libcxx/include/__filesystem/operations.h
M libcxx/include/__filesystem/path.h
M libcxx/include/__filesystem/path_iterator.h
M libcxx/include/__filesystem/perm_options.h
M libcxx/include/__filesystem/perms.h
M libcxx/include/__filesystem/recursive_directory_iterator.h
M libcxx/include/__filesystem/space_info.h
M libcxx/include/__filesystem/u8path.h
M libcxx/include/fstream
M libcxx/src/filesystem/directory_entry.cpp
M libcxx/src/filesystem/file_descriptor.h
M libcxx/test/libcxx/input.output/filesystems/class.directory_entry/directory_entry.mods/last_write_time.pass.cpp
M libcxx/test/libcxx/input.output/filesystems/class.path/path.itr/assert.iterator.pass.cpp
M libcxx/test/libcxx/input.output/filesystems/class.path/path.member/path.native.obs/string_alloc.pass.cpp
M libcxx/test/libcxx/input.output/filesystems/class.path/path.req/is_pathable.pass.cpp
M libcxx/test/libcxx/input.output/filesystems/convert_file_time.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/copy.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/copy_assign.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/default.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/default_const.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/move.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/move_assign.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/path.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.io/directory_entry.io.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/assign.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/refresh.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/replace_filename.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/comparisons.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/file_size.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/file_type_obs.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/hard_link_count.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/last_write_time.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/path.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/status.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/symlink_status.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/copy.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/copy_assign.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/ctor.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/default_ctor.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/equal.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/increment.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/move.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/move_assign.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.nonmembers/begin_end.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_iterator/iterator_concept_conformance.compile.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_iterator/range_concept_conformance.compile.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_iterator/types.pass.cpp
M libcxx/test/std/input.output/filesystems/class.file_status/file_status.cons.pass.cpp
M libcxx/test/std/input.output/filesystems/class.file_status/file_status.mods.pass.cpp
M libcxx/test/std/input.output/filesystems/class.file_status/file_status.obs.pass.cpp
M libcxx/test/std/input.output/filesystems/class.filesystem_error/filesystem_error.members.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.itr/iterator.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.append.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.assign/copy.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.assign/move.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.assign/source.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.charconv.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.compare.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.concat.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.construct/copy.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.construct/default.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.construct/move.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.construct/source.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.decompose/empty.verify.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.decompose/path.decompose.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.gen/lexically_normal.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.gen/lexically_relative_and_proximate.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.generic.obs/generic_string_alloc.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.generic.obs/named_overloads.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.hash_enabled.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.modifiers/clear.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.modifiers/make_preferred.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.modifiers/remove_filename.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.modifiers/replace_extension.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.modifiers/replace_filename.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.modifiers/swap.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.native.obs/c_str.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.native.obs/named_overloads.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.native.obs/native.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.native.obs/operator_string.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.query/tested_in_path_decompose.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.nonmember/append_op.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.nonmember/append_op.verify.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.nonmember/comparison_ops.verify.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.nonmember/comparison_ops_tested_elsewhere.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.nonmember/path.factory.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.nonmember/path.io.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.nonmember/path.io.unicode_bug.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.nonmember/swap.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path_helper.h
M libcxx/test/std/input.output/filesystems/class.path/range_concept_conformance.compile.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/synop.pass.cpp
M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/range_concept_conformance.compile.pass.cpp
M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/copy.pass.cpp
M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/copy_assign.pass.cpp
M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/ctor.pass.cpp
M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/depth.pass.cpp
M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/disable_recursion_pending.pass.cpp
M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/equal.pass.cpp
M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/increment.pass.cpp
M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/move.pass.cpp
M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/move_assign.pass.cpp
M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/pop.pass.cpp
M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/recursion_pending.pass.cpp
M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.nonmembers/begin_end.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.enum/enum.copy_options.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.enum/enum.directory_options.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.enum/enum.file_type.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.enum/enum.path.format.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.enum/enum.perm_options.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.enum/enum.perms.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.filesystem.synopsis/file_time_type.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.filesystem.synopsis/file_time_type_resolution.compile.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.filesystem.synopsis/space_info.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.absolute/absolute.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.canonical/canonical.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy/copy.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy_file/copy_file.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy_file/copy_file_large.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy_symlink/copy_symlink.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directories/create_directories.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directory/create_directory.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directory/create_directory_with_attributes.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directory_symlink/create_directory_symlink.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_hard_link/create_hard_link.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_symlink/create_symlink.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.current_path/current_path.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.equivalent/equivalent.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.exists/exists.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.file_size/file_size.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.hard_lk_ct/hard_link_count.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_block_file/is_block_file.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_char_file/is_character_file.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_directory/is_directory.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_empty/is_empty.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_fifo/is_fifo.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_other/is_other.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_regular_file/is_regular_file.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_socket/is_socket.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_symlink/is_symlink.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.last_write_time/last_write_time.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.permissions/permissions.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.proximate/proximate.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.read_symlink/read_symlink.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.relative/relative.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.remove/remove.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.remove_all/remove_all.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.remove_all/toctou.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.rename/rename.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.resize_file/resize_file.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.space/space.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.status/status.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.status_known/status_known.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.symlink_status/symlink_status.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.temp_dir_path/temp_directory_path.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.weakly_canonical/weakly_canonical.pass.cpp
R libcxx/test/std/input.output/filesystems/fs.req.namespace/namespace.verify.cpp
R libcxx/test/support/filesystem_include.h
M libcxx/test/support/filesystem_test_helper.h
Log Message:
-----------
[libc++] Properly guard std::filesystem with >= C++17 (#72701)
<filesystem> is a C++17 addition. In C++11 and C++14 modes, we actually
have all the code for <filesystem> but it is hidden behind a non-inline
namespace __fs so it is not accessible. Instead of doing this unusual
dance, just guard the code for filesystem behind a classic C++17 check
like we normally do.
Commit: b47b3bee7ba500e81646aa9720f5ca1eddd66875
https://github.com/llvm/llvm-project/commit/b47b3bee7ba500e81646aa9720f5ca1eddd66875
Author: Alexander Yermolovich <43973793+ayermolo at users.noreply.github.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M bolt/include/bolt/Core/DIEBuilder.h
M bolt/lib/Core/DIEBuilder.cpp
M bolt/lib/Rewrite/DWARFRewriter.cpp
A bolt/test/X86/Inputs/dwarf5-df-types-dup-helper.s
A bolt/test/X86/Inputs/dwarf5-df-types-dup-main.s
A bolt/test/X86/dwarf5-df-types-dup-dwp-input.test
Log Message:
-----------
[BOLT][DWARF] Fix handling of DWARF5 DWP (#72729)
Fixed handling of DWP as input. Before BOLT crashed. Now it will write
out
correct CU, and all the TUs. Potential future improvement is to scan all
the TUs
used in this CU, and only include those.
Commit: d46f63553ab9ee041884b5306527afefaf00e144
https://github.com/llvm/llvm-project/commit/d46f63553ab9ee041884b5306527afefaf00e144
Author: Shilei Tian <i at tianshilei.me>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M openmp/runtime/src/kmp_gsupport.cpp
M openmp/runtime/src/kmp_runtime.cpp
A openmp/runtime/src/kmp_utils.h
Log Message:
-----------
[OpenMP] Use simple VLA implementation to replace uses of actual VLA
Use of VLA can cause compile warning that was introduced in D156565. This patch
implements a simple stack/heap-based VLA that can miminc the behavior of an
actual VLA and prevent the warning. By default the stack accomodates the
elements. If the number of emelements is greater than N, which by default is 8,
a heap buffer will be allocated and used to acccomodate the elements.
Commit: 351c3ee5f6d0bf7f89e70282e84b8766c9dd1256
https://github.com/llvm/llvm-project/commit/351c3ee5f6d0bf7f89e70282e84b8766c9dd1256
Author: Shilei Tian <i at tianshilei.me>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M openmp/runtime/src/kmp_gsupport.cpp
M openmp/runtime/src/kmp_runtime.cpp
R openmp/runtime/src/kmp_utils.h
Log Message:
-----------
Revert "[OpenMP] Use simple VLA implementation to replace uses of actual VLA"
This reverts commit d46f63553ab9ee041884b5306527afefaf00e144.
Commit: 45288085b5b2711a15f107a5bffdcc6bfe5a43b0
https://github.com/llvm/llvm-project/commit/45288085b5b2711a15f107a5bffdcc6bfe5a43b0
Author: Aart Bik <39774503+aartbik at users.noreply.github.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensor.h
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorType.h
M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
M mlir/lib/Dialect/SparseTensor/IR/SparseTensorInterfaces.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
Log Message:
-----------
[mlir][sparse] move toCOOType into SparseTensorType class (#73708)
Migrates dangling convenience method into proper SparseTensorType class.
Also cleans up some details (picking right dim2lvl/lvl2dim). Removes
more dead code.
Commit: 97e16da450e94c92456fa5a74768ec1b22fe6b63
https://github.com/llvm/llvm-project/commit/97e16da450e94c92456fa5a74768ec1b22fe6b63
Author: Shilei Tian <i at tianshilei.me>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M openmp/runtime/src/kmp_gsupport.cpp
M openmp/runtime/src/kmp_runtime.cpp
A openmp/runtime/src/kmp_utils.h
Log Message:
-----------
[OpenMP] Use simple VLA implementation to replace uses of actual VLA
Use of VLA can cause compile warning that was introduced in D156565. This patch
implements a simple stack/heap-based VLA that can miminc the behavior of an
actual VLA and prevent the warning. By default the stack accomodates the
elements. If the number of emelements is greater than N, which by default is 8,
a heap buffer will be allocated and used to acccomodate the elements.
Commit: 57a0416e0e8ccd522d4242dbe5d0d7893864a10a
https://github.com/llvm/llvm-project/commit/57a0416e0e8ccd522d4242dbe5d0d7893864a10a
Author: Alex Voicu <alexandru.voicu at amd.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M clang/lib/CodeGen/CGExpr.cpp
A clang/test/CodeGenCXX/template-param-objects-address-space.cpp
Log Message:
-----------
[clang][CodeGen] Handle template parameter objects with explicit address spaces (#69266)
For certain cases (e.g. when their address is observable at run time) it
is necessary to provide physical backing for non-type template parameter
objects. Said backing comes in the form of a global variable. For
certain targets (e.g. AMDGPU), which use a non-default address space for
globals, this can lead to an issue when referencing said global in
address space agnostic languages (such as HIP), for example when passing
them to a function.
This patch addresses this issue by inserting an address space cast iff
there is an address space mismatch between the type of a reference
expression and the address space of the backing global. A test is also
added.
Commit: d6783c7c98ac7a02290d17c5109052f9d71ed914
https://github.com/llvm/llvm-project/commit/d6783c7c98ac7a02290d17c5109052f9d71ed914
Author: michaelrj-google <71531609+michaelrj-google at users.noreply.github.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/libc_build_rules.bzl
Log Message:
-----------
Revert "[libc][bazel] Add copts to libc_support_library" (#73723)
Reverts llvm/llvm-project#73591
Broke downstream builds. I will look into relanding tomorrow.
Commit: 110f927f937102b1233291ba70dd5f873f4b1724
https://github.com/llvm/llvm-project/commit/110f927f937102b1233291ba70dd5f873f4b1724
Author: Aart Bik <39774503+aartbik at users.noreply.github.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorAttrDefs.td
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.td
Log Message:
-----------
[mlir][sparse] refactor sparse tensor traits (#73726)
Slightly refactors the order of the sparse tensor
traits, and usage. Also makes minor doc improvements.
Commit: 4eb421192479dbecae2621b868e55aaf6d945b02
https://github.com/llvm/llvm-project/commit/4eb421192479dbecae2621b868e55aaf6d945b02
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M lldb/test/API/lang/cpp/const_static_integral_member/TestConstStaticIntegralMember.py
Log Message:
-----------
[lldb][test] TestConstStaticIntegralMember: relax assertion on number of global variables (#73707)
In https://github.com/llvm/llvm-project/pull/73626 we started attaching
`DW_AT_const_value`s on a static data-member's declaration again. In
DWARFv5, those static members are represented with a `DW_TAG_variable`.
When LLDB builds the `ManualDWARFIndex`, it simply iterates over all
DIEs in a CU and puts *any* `DW_TAG_variable` with a constant or
location into the index. So when using the manual index, we can end up
having 2 entries for a static data member in the index, one for the
declaration and one for the definition.
This caused a test failure on Linux (where DWARFv5 is the default and
the tests use the manual index).
This patch loosens the restriction that we find exactly 1 variable.
Commit: 00dbea7c73d0d5c3b1fe92f1b3de3c6680869c01
https://github.com/llvm/llvm-project/commit/00dbea7c73d0d5c3b1fe92f1b3de3c6680869c01
Author: Alexander Yermolovich <43973793+ayermolo at users.noreply.github.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M bolt/lib/Core/DIEBuilder.cpp
Log Message:
-----------
[BOLT][DWARF][NFC] Added const to variable (#73731)
Nit followup to 72729.
Commit: 1debbae96b77b88fbc2f20ff749e742759b7419f
https://github.com/llvm/llvm-project/commit/1debbae96b77b88fbc2f20ff749e742759b7419f
Author: paperchalice <29250197+paperchalice at users.noreply.github.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
A llvm/include/llvm/CodeGen/CallBrPrepare.h
M llvm/lib/CodeGen/CallBrPrepare.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/test/CodeGen/AArch64/callbr-prepare.ll
Log Message:
-----------
[CodeGen] Port CallBrPrepare to new pass manager (#73630)
IIUC in the new pass manager infrastructure, the analysis result is
always computed lazily. So just use `getResult` here.
Commit: 3287ae8f6520ef81570377c1fb4c7147782a13ef
https://github.com/llvm/llvm-project/commit/3287ae8f6520ef81570377c1fb4c7147782a13ef
Author: Qizhi Hu <836744285 at qq.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M clang/include/clang/Basic/AttributeCommonInfo.h
M clang/lib/AST/ASTImporter.cpp
M clang/unittests/AST/ASTImporterTest.cpp
Log Message:
-----------
[clang][ASTImporter] IdentifierInfo of Attribute should be set using 'ToASTContext' (#73290)
Co-authored-by: huqizhi <836744285 at qq.com>
Commit: 523160555925ff451e7c6d213a377d191e514805
https://github.com/llvm/llvm-project/commit/523160555925ff451e7c6d213a377d191e514805
Author: Edgar <git at edgarluque.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
A mlir/include/mlir-c/Target/LLVMIR.h
M mlir/lib/CAPI/CMakeLists.txt
A mlir/lib/CAPI/Target/CMakeLists.txt
A mlir/lib/CAPI/Target/LLVMIR.cpp
M mlir/test/CAPI/CMakeLists.txt
A mlir/test/CAPI/translation.c
M mlir/test/CMakeLists.txt
M mlir/test/lit.cfg.py
Log Message:
-----------
[mlir] Re-Add mlirTranslateModuleToLLVMIR to MLIR-C (#73627)
The test was checking something unrelated to what it controlled so it
failed after that part changed, i removed that.
See https://github.com/llvm/llvm-project/pull/73117
Commit: 5d57041d39461d0262fcef71bd9cfa0ee20c6576
https://github.com/llvm/llvm-project/commit/5d57041d39461d0262fcef71bd9cfa0ee20c6576
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M openmp/libomptarget/src/CMakeLists.txt
M openmp/libomptarget/src/private.h
M openmp/libomptarget/test/env/omp_target_debug.c
M openmp/libomptarget/test/mapping/alloc_fail.c
M openmp/libomptarget/test/mapping/ompx_hold/omp_target_disassociate_ptr.c
M openmp/libomptarget/test/mapping/padding_not_mapped.c
M openmp/libomptarget/test/mapping/present/target.c
M openmp/libomptarget/test/mapping/present/target_array_extension.c
M openmp/libomptarget/test/mapping/present/target_data.c
M openmp/libomptarget/test/mapping/present/target_data_array_extension.c
M openmp/libomptarget/test/mapping/present/target_data_at_exit.c
M openmp/libomptarget/test/mapping/present/target_enter_data.c
M openmp/libomptarget/test/mapping/present/target_exit_data_delete.c
M openmp/libomptarget/test/mapping/present/target_exit_data_release.c
M openmp/libomptarget/test/mapping/present/target_update.c
M openmp/libomptarget/test/mapping/present/target_update_array_extension.c
M openmp/libomptarget/test/mapping/present/unified_shared_memory.c
M openmp/libomptarget/test/mapping/present/zero_length_array_section.c
M openmp/libomptarget/test/mapping/present/zero_length_array_section_exit.c
M openmp/libomptarget/test/mapping/target_data_array_extension_at_exit.c
M openmp/libomptarget/test/mapping/target_update_array_extension.c
M openmp/libomptarget/test/mapping/target_wrong_use_device_addr.c
M openmp/libomptarget/test/offloading/info.c
M openmp/libomptarget/test/offloading/mandatory_but_no_devices.c
Log Message:
-----------
[OpenMP][NFC] Move debug declares into CMAKE out of "private.h" (#73732)
Everywhere else we define this in the CMakeLists.txt and "private.h"
needs to go. Rename "Libomptarget" into "omptarget", no benefit from
"lib".
Commit: 83305faeb54cf254d133e39ddac7f2fee36972cc
https://github.com/llvm/llvm-project/commit/83305faeb54cf254d133e39ddac7f2fee36972cc
Author: Heejin Ahn <aheejin at gmail.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
A lld/test/wasm/lto/Inputs/comdat_ordering1.ll
A lld/test/wasm/lto/Inputs/comdat_ordering2.ll
A lld/test/wasm/lto/comdat_ordering.test
M lld/wasm/SymbolTable.cpp
Log Message:
-----------
[lld][WebAssembly] Fix bitcode LTO order in archive parsing (#73095)
When doing LTO on multiple archives, the order with which bitcodes are
linked to the LTO module is hard to control, given that processing
undefined symbols can lead to parsing of an object file, which in turn
lead to parsing of another object file before finishing parsing of the
previous file. This can result in encountering a non-prevailing comdat
first when linking, which can make the the symbol undefined, and the
real definition is added later with an additional prefix to avoid
duplication (e.g. `__cxx_global_var_init` and `__cxx_global_var_init.2`)
So this one-line fix ensures we compile bitcodes in the order that we
process comdats, so that when multiple archived bitcode files have the
same variable with the same comdat, we make sure that the prevailing
comdat will be linked first in the LTO.
Fixes #62243.
Commit: 98f8b1afb408e488274e77533dbb8041c9513ca7
https://github.com/llvm/llvm-project/commit/98f8b1afb408e488274e77533dbb8041c9513ca7
Author: Aart Bik <39774503+aartbik at users.noreply.github.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorAttrDefs.td
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.td
M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
Log Message:
-----------
[mlir][sparse] remove COO test from trait and encoding (#73733)
This is a minor step towards moving ALL COO related tests into the
SparseTensorType class rather than
having it all over the place (with risk of becoming inconsistent). Next
revision will move ALL COO related methods into this class.
Commit: f7247d50414df36d6aa47a0aa225fda9f6708d91
https://github.com/llvm/llvm-project/commit/f7247d50414df36d6aa47a0aa225fda9f6708d91
Author: LiqinWeng <liqin.weng at spacemit.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
A llvm/test/Transforms/InstCombine/array.ll
Log Message:
-----------
[InstCombine] Canonicalise SextADD + GEP (#69581)
Commit: 81e3e7e5d455f85e070a27763c578df493716ae9
https://github.com/llvm/llvm-project/commit/81e3e7e5d455f85e070a27763c578df493716ae9
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M libc/cmake/modules/LLVMLibCFlagRules.cmake
M libc/cmake/modules/LLVMLibCObjectRules.cmake
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/aarch64/headers.txt
M libc/config/linux/api.td
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/arm/headers.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/riscv/headers.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/config/linux/x86_64/headers.txt
M libc/include/CMakeLists.txt
A libc/include/llvm-libc-types/ACTION.h
M libc/include/llvm-libc-types/CMakeLists.txt
A libc/include/llvm-libc-types/ENTRY.h
A libc/include/llvm-libc-types/struct_hsearch_data.h
A libc/include/search.h.def
M libc/spec/gnu_ext.td
M libc/spec/posix.td
M libc/spec/spec.td
M libc/src/CMakeLists.txt
M libc/src/__support/CMakeLists.txt
A libc/src/__support/HashTable/CMakeLists.txt
A libc/src/__support/HashTable/bitmask.h
A libc/src/__support/HashTable/generic/bitmask_impl.inc
A libc/src/__support/HashTable/randomness.h
A libc/src/__support/HashTable/sse2/bitmask_impl.inc
A libc/src/__support/HashTable/table.h
M libc/src/__support/bit.h
A libc/src/__support/hash.h
A libc/src/__support/memory_size.h
A libc/src/search/CMakeLists.txt
A libc/src/search/hcreate.cpp
A libc/src/search/hcreate.h
A libc/src/search/hcreate_r.cpp
A libc/src/search/hcreate_r.h
A libc/src/search/hdestroy.cpp
A libc/src/search/hdestroy.h
A libc/src/search/hdestroy_r.cpp
A libc/src/search/hdestroy_r.h
A libc/src/search/hsearch.cpp
A libc/src/search/hsearch.h
A libc/src/search/hsearch/CMakeLists.txt
A libc/src/search/hsearch/global.cpp
A libc/src/search/hsearch/global.h
A libc/src/search/hsearch_r.cpp
A libc/src/search/hsearch_r.h
M libc/test/src/CMakeLists.txt
M libc/test/src/__support/CMakeLists.txt
A libc/test/src/__support/HashTable/CMakeLists.txt
A libc/test/src/__support/HashTable/bitmask_test.cpp
A libc/test/src/__support/HashTable/group_test.cpp
A libc/test/src/__support/HashTable/table_test.cpp
M libc/test/src/__support/bit_test.cpp
A libc/test/src/__support/hash_test.cpp
A libc/test/src/__support/memory_size_test.cpp
A libc/test/src/search/CMakeLists.txt
A libc/test/src/search/hsearch_test.cpp
Log Message:
-----------
[libc] [search] implement hcreate(_r)/hsearch(_r)/hdestroy(_r) (#73469)
This patch implements `hcreate(_r)/hsearch(_r)/hdestroy(_r)` as
specified in https://man7.org/linux/man-pages/man3/hsearch.3.html.
Notice that `neon/asimd` extension is not yet added in this patch.
- The implementation is largely simplified from rust's
[`hashbrown`](https://github.com/rust-lang/hashbrown/blob/master/src/raw/mod.rs)
as we only consider fix-sized insertion-only hashtables. Technical
details are provided in code comments.
- This patch also contains a portable string hash function, which is
derived from [`aHash`](https://github.com/tkaitchuck/aHash)'s fallback
routine. Not using any SIMD acceleration, it has a good enough quality
(passing all SMHasher tests) and is not too bad in speed.
- Some general functionalities are added, such as `memory_size`,
`offset_to`(alignment), `next_power_of_two`, `is_power_of_two`.
`ctz/clz` are extended to support shorter integers.
Commit: 593358937025e8635f75ba8931130b1ca5212ea1
https://github.com/llvm/llvm-project/commit/593358937025e8635f75ba8931130b1ca5212ea1
Author: Craig Topper <craig.topper at sifive.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M llvm/docs/GlobalISel/GenericOpcode.rst
Log Message:
-----------
[GISel][Docs] Add a little bit of documentation for G_FENCE. (#73722)
Commit: 4a294b5806417aa88c91aa05735b2d557ea5dfe5
https://github.com/llvm/llvm-project/commit/4a294b5806417aa88c91aa05735b2d557ea5dfe5
Author: Yuxuan Chen <ych at meta.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M clang/lib/CodeGen/CGCoroutine.cpp
M clang/test/CodeGenCoroutines/coro-init-await-nontrivial-return.cpp
Log Message:
-----------
[Clang] CGCoroutines skip emitting try block for value returning `noexcept` init `await_resume` calls (#73160)
Previously we were not properly skipping the generation of the `try { }`
block around the `init_suspend.await_resume()` if the `await_resume` is
not returning void. The reason being that the resume expression was
wrapped in a `CXXBindTemporaryExpr` and the first dyn_cast failed,
silently ignoring the noexcept. This only mattered for `init_suspend`
because it had its own try block.
This patch changes to first extract the sub expression when we see a
`CXXBindTemporaryExpr`. Then perform the same logic to check for
`noexcept`.
Another version of this patch also wanted to assert the second step by
`cast<CXXMemberCallExpr>` and as far as I understand it should be a
valid assumption. I can change to that if upstream prefers.
Commit: ae86239e86e9e289167fad2d7465d254852ecb82
https://github.com/llvm/llvm-project/commit/ae86239e86e9e289167fad2d7465d254852ecb82
Author: Teresa Johnson <tejohnson at google.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M compiler-rt/include/sanitizer/memprof_interface.h
M compiler-rt/lib/memprof/memprof_allocator.cpp
M compiler-rt/lib/memprof/memprof_interface_internal.h
A compiler-rt/test/memprof/TestCases/profile_reset.cpp
Log Message:
-----------
[MemProf] Add interface for reseting the profile file descriptor (#73714)
Add __memprof_profile_reset() interface which can be used to facilitate
dumping multiple rounds of profiles from a single binary run. This
closes the current file descriptor and resets the internal file
descriptor to invalid (-1), which ensures the underlying writer reopens
the recorded profile filename. This can be used once the client is done
moving or copying a dumped profile, to prepare for reinvoking profile
dumping.
Commit: e399a317ef63d05991f6b15f74247eee6bfc5279
https://github.com/llvm/llvm-project/commit/e399a317ef63d05991f6b15f74247eee6bfc5279
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/src/__support/bit.h
M libc/test/src/__support/hash_test.cpp
Log Message:
-----------
[libc] fix build on aarch64 (#73739)
* avoid implicit narrowing conversion
* move hsearch entrypoints to FULL_BUILD
Commit: 649e8111a95ae0d8814576e9ca74823572ee404b
https://github.com/llvm/llvm-project/commit/649e8111a95ae0d8814576e9ca74823572ee404b
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M clang/lib/Serialization/ASTReaderDecl.cpp
A clang/test/Modules/pr72828.cppm
Log Message:
-----------
[C++20] [Modules] Handling capturing strucuted bindings
Close https://github.com/llvm/llvm-project/issues/72828.
This should be an overlook that we extend the type of captures but we
forgot to fix it in deserializer side.
Commit: 4b8964dfd8b7ec989cd64a3606a364f2ddbbf285
https://github.com/llvm/llvm-project/commit/4b8964dfd8b7ec989cd64a3606a364f2ddbbf285
Author: frgossen <frgossen at google.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
Fix bazel build (#73741)
Commit: f73844d92b36cb6801ac50ea721f4ba29b35d7a9
https://github.com/llvm/llvm-project/commit/f73844d92b36cb6801ac50ea721f4ba29b35d7a9
Author: Yeting Kuo <46629943+yetingk at users.noreply.github.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/condops.ll
Log Message:
-----------
[RISCV] Generate bexti for (select(setcc eq (and x, c))) where c is power of 2. (#73649)
Currently, llvm can transform (setcc ne (and x, c)) to (bexti x,
log2(c)) where c is power of 2.
This patch transform (select (setcc ne (and x, c)), T, F) into (select
(setcc eq (and x, c)), F, T).
It is benefit to the case c is not fit to 12-bits.
Commit: c6d6a57c697452e9320acea86f6631a92ab8017c
https://github.com/llvm/llvm-project/commit/c6d6a57c697452e9320acea86f6631a92ab8017c
Author: Dan Klishch <30951924+DanShaders at users.noreply.github.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M clang/include/clang/Basic/AttrDocs.td
Log Message:
-----------
[clang][docs] Fix emphasis syntax in attribute documentation (#73737)
This causes CI failure for PRs updating `AttrDocs.td`. CC @llvm-beanz (I
don't have write access)
Commit: c1511a65d5c09f7cff15feba91ce9bda23d74b6e
https://github.com/llvm/llvm-project/commit/c1511a65d5c09f7cff15feba91ce9bda23d74b6e
Author: Ruiling, Song <ruiling.song at amd.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.h
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-scratch.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-load-private.mir
M llvm/test/CodeGen/AMDGPU/chain-hi-to-lo.ll
M llvm/test/CodeGen/AMDGPU/flat-scratch-i8-i16.ll
M llvm/test/CodeGen/AMDGPU/flat-scratch-svs.ll
M llvm/test/CodeGen/AMDGPU/flat-scratch.ll
M llvm/test/CodeGen/AMDGPU/function-returns.ll
M llvm/test/CodeGen/AMDGPU/gfx-callable-return-types.ll
M llvm/test/CodeGen/AMDGPU/memory_clause.ll
Log Message:
-----------
[AMDGPU] Folding imm offset in more cases for scratch access (#70634)
For scratch load/store, our hardware only accept non-negative value in
SGPR/VGPR. Besides the case that we can prove from known bits, we can
also prove that the value in `base` will be non-negative: 1.) When the
ADD for the address calculation has NonUnsignedWrap flag. 2.) When the
immediate offset is already negative.
Commit: 1886b1a580240fc6aa3173f5a9344d3ead0421b6
https://github.com/llvm/llvm-project/commit/1886b1a580240fc6aa3173f5a9344d3ead0421b6
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M libc/cmake/modules/LLVMLibCFlagRules.cmake
M libc/cmake/modules/LLVMLibCObjectRules.cmake
M libc/src/__support/HashTable/CMakeLists.txt
M libc/src/__support/HashTable/bitmask.h
Log Message:
-----------
[libc] add PREFER_GENERIC flag (#73744)
There are some basic vectorization features in standard architecture
specifications. Such as SSE/SSE2 for x86-64, or NEON for aarch64. Even
though such features are almost always available, we still need some
methods to test fallback routines without any vectorization.
Previous attempt in hsearch adds a DISABLE_SSE2_OPT flag that tries to
compile the code with -mno-sse2 in order to test specific table scanning
routines. However, it turns out that such flag may have some unwanted
side effects hindering portability.
This PR introduces PREFER_GENERIC as an alternative. When a target is
built with PREFER_GENERIC, cmake will define a macro
__LIBC_PREFER_GENERIC such that developers can selectively choose the
fallback routine based on the macro.
Commit: 9c5003cc0c706f3cf0b13e709f41e3a64249477a
https://github.com/llvm/llvm-project/commit/9c5003cc0c706f3cf0b13e709f41e3a64249477a
Author: Alex Bradbury <asb at igalia.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.h
M llvm/unittests/Target/RISCV/RISCVInstrInfoTest.cpp
Log Message:
-----------
[RISCV] Implement RISCVInstrInfo::getMemOperandsWithOffsetWidth (#73681)
This hook is called by the default implementation of
getMemOperandWithOffset and by the load/store clustering code in the
MachineScheduler though this isn't enabled by default and is not yet
enabled for RISC-V. Only return true for queries on scalar loads/stores
for now (this is a conservative starting point, and vector load/store
can be handled in a follow-on patch).
Commit: 4e49358cdcad9aed232ed1e95eab9ded5e6fd7b1
https://github.com/llvm/llvm-project/commit/4e49358cdcad9aed232ed1e95eab9ded5e6fd7b1
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
R mlir/include/mlir-c/Target/LLVMIR.h
M mlir/lib/CAPI/CMakeLists.txt
R mlir/lib/CAPI/Target/CMakeLists.txt
R mlir/lib/CAPI/Target/LLVMIR.cpp
M mlir/test/CAPI/CMakeLists.txt
R mlir/test/CAPI/translation.c
M mlir/test/CMakeLists.txt
M mlir/test/lit.cfg.py
Log Message:
-----------
Revert "[mlir] Re-Add mlirTranslateModuleToLLVMIR to MLIR-C (#73627)" (#73749)
Still breaks
https://lab.llvm.org/buildbot/#/builders/5/builds/38743/steps/9/logs/stdio
There is some info on how to reproduce
https://github.com/google/sanitizers/wiki/SanitizerBotReproduceBuild
This reverts commit 523160555925ff451e7c6d213a377d191e514805.
Commit: c954414c0a0b55ad747d5d526100314ecc352c32
https://github.com/llvm/llvm-project/commit/c954414c0a0b55ad747d5d526100314ecc352c32
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M compiler-rt/lib/msan/msan_interceptors.cpp
M compiler-rt/test/msan/Linux/mallinfo.cpp
Log Message:
-----------
[msan][aarch64] Fix mallinfo interceptor (#73728)
Not sure how the previous implementation supposed to work, but the test
was disabled.
This implementation works for x86_64 and aarch64.
Commit: f35c0f2f232a0b298a35bfb0047bf8a00b107bf0
https://github.com/llvm/llvm-project/commit/f35c0f2f232a0b298a35bfb0047bf8a00b107bf0
Author: Yeting Kuo <46629943+yetingk at users.noreply.github.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/condops.ll
Log Message:
-----------
[RISCV] Refine pattern (select_cc seteq (and x, C), 0, 0, A) with Zbs. (#73746)
PR #72978 disabled transformation (select_cc seteq (and x, C), 0, 0, A)
-> (and (sra(shl x)), A) for better Zicond codegen. It still enables the
combine when C is not fit into 12-bits. This patch disables the combine
when Zbs enabled.
Commit: 2e838c8437f8466455932c31e82474800056c712
https://github.com/llvm/llvm-project/commit/2e838c8437f8466455932c31e82474800056c712
Author: Tom Stellard <tstellar at redhat.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M llvm/runtimes/CMakeLists.txt
Log Message:
-----------
[runtimes] Pass-through CLANG_RESOURCE_DIR to cmake invocations (#73185)
compiler-rt and libomp need access to this variable in order to install
their libraries and headers to the path that clang expects.
Commit: 3d7e6db12072c26c7ad42c2c473d1dc321725db4
https://github.com/llvm/llvm-project/commit/3d7e6db12072c26c7ad42c2c473d1dc321725db4
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M lldb/packages/Python/lldbsuite/test/decorators.py
M lldb/test/API/commands/expression/test/TestExprs.py
M lldb/test/API/functionalities/jitloader_gdb/TestJITLoaderGDB.py
M lldb/test/API/functionalities/thread/state/TestThreadStates.py
M lldb/test/API/lang/c/shared_lib/TestSharedLib.py
M lldb/test/API/lang/c/shared_lib_stripped_symbols/TestSharedLibStrippedSymbols.py
M lldb/test/API/lang/cpp/namespace/TestNamespaceLookup.py
M lldb/test/API/lang/cpp/reference-to-outer-type/TestCppReferenceToOuterClass.py
M lldb/test/API/lang/objc/hidden-ivars/TestHiddenIvars.py
Log Message:
-----------
[lldb][test] Remove `reason` from `unittest2.expectedFailure` usage (#73028)
Commit: 9535e011c7b25ece5e51c0b9e0f2c43a2912a417
https://github.com/llvm/llvm-project/commit/9535e011c7b25ece5e51c0b9e0f2c43a2912a417
Author: Fangrui Song <i at maskray.me>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
Log Message:
-----------
[AMDGPU] Fix -Wc++98-compat-extra-semi after c1511a65d5c09f7cff15feba91ce9bda23d74b6e
Commit: 35db35b7cfb80139ab6f23c7f10c47df5d1d7462
https://github.com/llvm/llvm-project/commit/35db35b7cfb80139ab6f23c7f10c47df5d1d7462
Author: Craig Topper <craig.topper at sifive.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
M llvm/lib/Target/RISCV/GISel/RISCVRegisterBankInfo.cpp
M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/fp-arith.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-fp-arith.mir
M llvm/test/CodeGen/RISCV/GlobalISel/regbankselect/fp-arith.mir
Log Message:
-----------
[RISCV][GISel] Support G_FCOPYSIGN with F and D extension.
Commit: 0acfe8483a1ab972a435bc551cc4a5c6c78be3f0
https://github.com/llvm/llvm-project/commit/0acfe8483a1ab972a435bc551cc4a5c6c78be3f0
Author: Maksim Panchenko <maks at fb.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M bolt/lib/Rewrite/DWARFRewriter.cpp
A bolt/test/X86/dwarf4-deleted-range.s
A bolt/test/X86/dwarf5-deleted-range.s
Log Message:
-----------
[BOLT][DWARF] Fix output ranges for deleted code (#73464)
Set range low_pc to 0 for DIEs that correspond to deleted code.
Fixes #73428
Commit: d0c8d41e103dcd3ee1b2b5ed17f9a68e973e01d6
https://github.com/llvm/llvm-project/commit/d0c8d41e103dcd3ee1b2b5ed17f9a68e973e01d6
Author: wangpc <wangpengcheng.pp at bytedance.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
Log Message:
-----------
[TableGen][NFC] Format getOpcodeString and remove unreachable breaks
Commit: 5e7e0d603204ede803323a825318e365a87f73e9
https://github.com/llvm/llvm-project/commit/5e7e0d603204ede803323a825318e365a87f73e9
Author: wanglei <wanglei at loongson.cn>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchFloat32InstrInfo.td
M llvm/lib/Target/LoongArch/LoongArchFloat64InstrInfo.td
M llvm/test/CodeGen/LoongArch/double-fma.ll
M llvm/test/CodeGen/LoongArch/float-fma.ll
Log Message:
-----------
[LoongArch] Fix pattern for FNMSUB_{S/D} instructions (#73742)
```
when a=c=-0.0, b=0.0:
-(a * b + (-c)) = -0.0
-a * b + c = 0.0
(fneg (fma a, b (-c))) != (fma (fneg a), b ,c)
```
See https://reviews.llvm.org/D90901 for a similar discussion on X86.
Commit: d345cfb55c2c923041a7e0a8eb5c7d1302cd2221
https://github.com/llvm/llvm-project/commit/d345cfb55c2c923041a7e0a8eb5c7d1302cd2221
Author: Craig Topper <craig.topper at sifive.com>
Date: 2023-11-28 (Tue, 28 Nov 2023)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
M llvm/lib/Target/RISCV/GISel/RISCVRegisterBankInfo.cpp
M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/fp-select-rv32.mir
A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-fp-select-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/regbankselect/fp-select-rv32.mir
Log Message:
-----------
[RISCV][GISel] Support s64 G_SELECT on RV32 with D extension.
We have to force the register bank to FPRB if the type is s64 and
the GPR is 32 bits.
Commit: b6ee831b59ef11b424c819d272216add268e6164
https://github.com/llvm/llvm-project/commit/b6ee831b59ef11b424c819d272216add268e6164
Author: David Green <david.green at arm.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
M llvm/test/CodeGen/AArch64/stp-opt-with-renaming.mir
Log Message:
-----------
[AArch64] Load/store optimizer fixes and cleanup.
This includes a couple of fixes after #71908 for bundles and some cleanup for
the debug output. One was an iterator type that asserted on bundles, the second
a rather subtle issue where forAllMIsUntilDef would hit the LdStLimit when
renaming registers, meaning the last instruction was not updated leaving an
invalid `ldp x6, x6` instruction.
Commit: 6a4489a73337907d52e7eaf3716f3de9008e6e53
https://github.com/llvm/llvm-project/commit/6a4489a73337907d52e7eaf3716f3de9008e6e53
Author: Danny Mösch <danny.moesch at icloud.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M llvm/utils/git/github-automation.py
Log Message:
-----------
[GitHub] Use proper Markdown syntax and avoid child list items (#73700)
Commit: 403ab9ac740d00b2f85ae6ee3a474cf81e257e4f
https://github.com/llvm/llvm-project/commit/403ab9ac740d00b2f85ae6ee3a474cf81e257e4f
Author: Qiu Chaofan <qiucofan at cn.ibm.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M llvm/test/CodeGen/X86/frem.ll
Log Message:
-----------
[NFC] Update X86 frem CodeGen case
Commit: ebeae22cdebc1db62a0264cf8f5179d079ff3262
https://github.com/llvm/llvm-project/commit/ebeae22cdebc1db62a0264cf8f5179d079ff3262
Author: Adrian Kuegel <akuegel at google.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
Revert "Fix bazel build (#73741)"
This reverts commit 4b8964dfd8b7ec989cd64a3606a364f2ddbbf285.
Commit: 95943d2fab7e6f8dcea216df2d56a0512201b467
https://github.com/llvm/llvm-project/commit/95943d2fab7e6f8dcea216df2d56a0512201b467
Author: Dominik Adamski <dominik.adamski at amd.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M clang/include/clang/Basic/TargetOptions.h
M clang/include/clang/Driver/Options.td
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/Targets/AMDGPU.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Driver/ToolChains/Flang.h
M flang/include/flang/Frontend/CodeGenOptions.h
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendActions.cpp
A flang/test/Driver/code-object-version.f90
M flang/test/Driver/driver-help-hidden.f90
M flang/test/Driver/driver-help.f90
A flang/test/Lower/AMD/code-object-version.f90
M llvm/include/llvm/Target/TargetOptions.h
Log Message:
-----------
[Flang] Add code-object-version option (#72638)
Information about code object version can be configured by the user for
AMD GPU target and it needs to be placed in LLVM IR generated by Flang.
Information about code object version in MLIR generated by the parser
can be reused by other tools. There is no need to specify extra flags if
we want to invoke MLIR tools (like fir-opt) separately.
Changes in comparison to a8ac93:
* added information about required targets for test
flang/test/Driver/driver-help.f90
Commit: dad73bcd802c35bc877d0ec1ceef3722bafb0f33
https://github.com/llvm/llvm-project/commit/dad73bcd802c35bc877d0ec1ceef3722bafb0f33
Author: Tim Northover <tnorthover at apple.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M llvm/include/llvm/TargetParser/AArch64TargetParser.h
M llvm/unittests/TargetParser/TargetParserTest.cpp
Log Message:
-----------
AArch64: switch Apple CPUs (that support it) to v8.6a. (#73497)
We pretended they were v8.5a in the past because LLVM's modelling used
to fold SM4 crypto support into v8.6a (which the CPUs don't actually
have). That's changed in the last year so we can use the real value.
This is mostly a tidy-up commit before one that'll bring in A17 and M3.
Commit: c145e4c18eab5d5edf664ad07d5c5be0e536d095
https://github.com/llvm/llvm-project/commit/c145e4c18eab5d5edf664ad07d5c5be0e536d095
Author: paperchalice <29250197+paperchalice at users.noreply.github.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M llvm/lib/Passes/PassRegistry.def
Log Message:
-----------
[Pass][NFC] Sort and format passes in PassRegistery.def (#73762)
- Sort all passes in alphabetical order.
- Format `llvm/lib/Passes/PassRegistry.def`.
- Remove redundant semicolon.
Commit: 91e1b4a64f7df6cc51af74e91610f84ee1bdc74a
https://github.com/llvm/llvm-project/commit/91e1b4a64f7df6cc51af74e91610f84ee1bdc74a
Author: jeanPerier <jperier at nvidia.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIRAttr.td
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
A flang/test/Fir/box-offset-codegen.fir
A flang/test/Fir/box-offset.fir
M flang/test/Fir/invalid.fir
Log Message:
-----------
[flang] add fir.box_offset operation (#73641)
This operation allows computing the address of descriptor fields. It is
needed to help attaching descriptors in OpenMP/OpenACC target region.
The pointers inside the descriptor structure must be mapped too, but the
fir.box is abstract, so these fields cannot be computed with
fir.coordinate_of.
To preserve the abstraction of the descriptor layout in FIR, introduce
an operation specifically to !fir.ref<fir.box<>> address fields based on
field names (base_addr or derived_type).
Commit: e2a37e5130709e3e3df52fac97ed3f5356bc0a21
https://github.com/llvm/llvm-project/commit/e2a37e5130709e3e3df52fac97ed3f5356bc0a21
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M libc/src/__support/CPP/limits.h
M libc/src/__support/CPP/type_traits/invoke.h
M libc/src/__support/CPP/utility/in_place.h
M libc/src/__support/CPP/utility/move.h
M libc/src/__support/FPUtil/FPBits.h
M libc/src/__support/FPUtil/FloatProperties.h
M libc/src/__support/FPUtil/x86_64/LongDoubleBits.h
M libc/src/__support/UInt.h
M libc/src/__support/integer_operations.h
M libc/src/string/memmem.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][NFC] Fix missing LIBC_INLINE + style (#73659)
Commit: 9eb80ab3787e1851be8c686651688e870b93506b
https://github.com/llvm/llvm-project/commit/9eb80ab3787e1851be8c686651688e870b93506b
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
A llvm/test/tools/llvm-exegesis/X86/latency/subprocess-rsp.s
M llvm/tools/llvm-exegesis/lib/Assembler.cpp
Log Message:
-----------
[llvm-exegesis] Set stack pointer register after starting perf counter (#72489)
Before this patch, in subprocess mode, llvm-exegesis setup the stack
pointer register with the rest of the registers when it was requested by
the user. This would cause a segfault when the instructions to start the
perf counter ran as they use the stack to preserve the three registers
needed to make the syscall. This patch moves the setup of the stack
register to after the configuration of the perf counter to fix this
issue so that we have a valid stack pointer for all the preceeding
operations.
Regression test added.
This fixes #72193.
Commit: 6e0101684e59d5e8b11853a7311c71090547d355
https://github.com/llvm/llvm-project/commit/6e0101684e59d5e8b11853a7311c71090547d355
Author: Sandeep Kosuri <66305775+sandeepkosuri at users.noreply.github.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M clang/lib/Parse/ParseOpenMP.cpp
M clang/test/OpenMP/metadirective_ast_print.c
M clang/test/OpenMP/metadirective_empty.cpp
M clang/test/OpenMP/nothing_messages.cpp
Log Message:
-----------
[OpenMP] Support for `nothing` in `metadirective` (#73690)
- Removed an unnecessary check that was preventing `nothing` to work
properly inside `metadirective`.
Commit: 6cf3566850a807085d413dee4a573b3eca7b6bee
https://github.com/llvm/llvm-project/commit/6cf3566850a807085d413dee4a573b3eca7b6bee
Author: Alex Bradbury <asb at igalia.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M llvm/include/llvm/CodeGen/TargetInstrInfo.h
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
M llvm/lib/Target/PowerPC/PPCInstrInfo.h
Log Message:
-----------
[NFC][MachineScheduler] Rename NumLoads parameter of shouldClusterMemOps to ClusterSize (#73757)
As the same hook is called for both load and store clustering, NumLoads
is a misleading name. Use ClusterSize instead.
Commit: 10d6d5f224c2e9b5fed025940bc1ac45a4f6f70f
https://github.com/llvm/llvm-project/commit/10d6d5f224c2e9b5fed025940bc1ac45a4f6f70f
Author: Tim Northover <tnorthover at apple.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M clang/test/Misc/target-invalid-cpu-note.c
M llvm/include/llvm/TargetParser/AArch64TargetParser.h
M llvm/lib/Target/AArch64/AArch64.td
M llvm/lib/Target/AArch64/AArch64Subtarget.cpp
M llvm/lib/Target/AArch64/AArch64Subtarget.h
M llvm/unittests/TargetParser/TargetParserTest.cpp
Log Message:
-----------
AArch64: add support for currently released Apple CPUs. (#73499)
These are still v8.6a and have no real changes as far as LLVM cares, so
it's mostly just a copy/paste job.
Commit: 4b3ea337ad188d5c3ff05bf64cc61c3355e66376
https://github.com/llvm/llvm-project/commit/4b3ea337ad188d5c3ff05bf64cc61c3355e66376
Author: Nikita Popov <npopov at redhat.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
M llvm/lib/Transforms/Scalar/LICM.cpp
M llvm/lib/Transforms/Scalar/NaryReassociate.cpp
Log Message:
-----------
[ValueTracking] Convert isKnownNonNegative() to use SimplifyQuery (NFC)
Commit: 85c9c16895082dfaee3e8440440c83ba9b436da0
https://github.com/llvm/llvm-project/commit/85c9c16895082dfaee3e8440440c83ba9b436da0
Author: Alex Bradbury <asb at igalia.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.h
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
A llvm/test/CodeGen/RISCV/misched-load-clustering.ll
Log Message:
-----------
[RISCV] Support load clustering in the MachineScheduler (off by default) (#73754)
This adds minimal support for load clustering, but disables it by
default. The intent is to iterate on the precise heuristic and the
question of turning this on by default in a separate PR. Although
previous discussion indicates hope that the MachineScheduler would
replace most uses of the SelectionDAG scheduler, it does seem most
targets aren't using MachineScheduler load clustering right now:
PPC+AArch64 seem to just use it to help with paired load/store formation
and although AMDGPU uses it for general clustering it also implements
ShouldScheduleLoadsNear for the SelectionDAG scheduler's clustering.
Commit: 52b4b357268ac114f7972e37da1e5954f322df09
https://github.com/llvm/llvm-project/commit/52b4b357268ac114f7972e37da1e5954f322df09
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
R llvm/test/tools/llvm-exegesis/X86/latency/subprocess-rsp.s
M llvm/tools/llvm-exegesis/lib/Assembler.cpp
Log Message:
-----------
Revert "[llvm-exegesis] Set stack pointer register after starting perf counter (#72489)"
This reverts commit 9eb80ab3787e1851be8c686651688e870b93506b.
This is causing failures on multiple builders. Pulling it out until I
have time to fix it.
Commit: d6e8f3b9a23475e0da6ebbfd6950c6b8c8bd20c0
https://github.com/llvm/llvm-project/commit/d6e8f3b9a23475e0da6ebbfd6950c6b8c8bd20c0
Author: Nikita Popov <npopov at redhat.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
Log Message:
-----------
[ValueTracking] Convert isKnownPositive() to use SimplifyQuery (NFC)
Commit: 42b6c8ed3ae44ed61af5ba81bdaa5b81a9ce61ad
https://github.com/llvm/llvm-project/commit/42b6c8ed3ae44ed61af5ba81bdaa5b81a9ce61ad
Author: Nikita Popov <npopov at redhat.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/lib/Analysis/ValueTracking.cpp
Log Message:
-----------
[ValueTracking] Convert isKnownNegative() to use SimplifyQuery (NFC)
It looks like this function is actually unused.
Commit: d9e8ae7d2f74fff629a8be10835677ce8039d452
https://github.com/llvm/llvm-project/commit/d9e8ae7d2f74fff629a8be10835677ce8039d452
Author: Nikita Popov <npopov at redhat.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/include/llvm/Transforms/InstCombine/InstCombiner.h
M llvm/lib/Analysis/BasicAliasAnalysis.cpp
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/ValueTracking.cpp
Log Message:
-----------
[ValueTracking] Convert MaskedValueIsZero() to use SimplifyQuery (NFC)
Commit: 511218642bc5df7815423de211192dd577eb3a9c
https://github.com/llvm/llvm-project/commit/511218642bc5df7815423de211192dd577eb3a9c
Author: Nikita Popov <npopov at redhat.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M llvm/test/Transforms/InstCombine/idioms.ll
Log Message:
-----------
[InstCombine] Regenerate test checks (NFC)
Commit: 621183cb45b93517169787bb254705ab3baff2a2
https://github.com/llvm/llvm-project/commit/621183cb45b93517169787bb254705ab3baff2a2
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
A llvm/test/CodeGen/X86/addr-mode-matcher-4.ll
Log Message:
-----------
[X86] Add test case showing failure to remove unnecessary zext from address math
Thanks to @yubingex007-a11y for the original test case
Commit: 0fac9da7342e7846fbc4464abe5c00086cbf026c
https://github.com/llvm/llvm-project/commit/0fac9da7342e7846fbc4464abe5c00086cbf026c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/X86/addr-mode-matcher-4.ll
Log Message:
-----------
[DAG] getNode() - relax (zext (trunc x)) -> x fold iff the upper bits are known zero.
Just leave the (zext (trunc (and x, c))) pattern which is still being used to create some zext_inreg patterns.
Commit: 1bfb84b47738155cc3c290ac7034075bec60920b
https://github.com/llvm/llvm-project/commit/1bfb84b47738155cc3c290ac7034075bec60920b
Author: Paschalis Mpeis <paschalis.mpeis at arm.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M llvm/test/CodeGen/AArch64/replace-intrinsics-with-veclib-armpl.ll
M llvm/test/CodeGen/AArch64/replace-intrinsics-with-veclib-sleef.ll
M llvm/test/Transforms/LoopVectorize/AArch64/armpl-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sleef-intrinsic-calls-aarch64.ll
Log Message:
-----------
[NFC][TLI] Improve tests for ArmPL and SLEEF Intrinsics. (#73352)
Auto-generate test `armpl-intrinsics.ll` and simplify tests:
- Eliminate scalar tail with no tail-folding flag.
- Use active lane mask for shorter check lines (no long `shufflevectors`).
- Eliminate scalar loops by providing `noalias` to relevant arguments and
run `simplifycfg` to drop them.
- Update script now use `@llvm.compiler.used` instead of a longer regex.
Commit: 47df664c7acfd8abd082c0252d1793182c92dc3d
https://github.com/llvm/llvm-project/commit/47df664c7acfd8abd082c0252d1793182c92dc3d
Author: Ben Shi <2283975856 at qq.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
M clang/test/Analysis/Inputs/system-header-simulator.h
M clang/test/Analysis/stream-error.c
M clang/test/Analysis/stream.c
Log Message:
-----------
[clang][analyzer] Support `fgets` in the SteamChecker (#73638)
Commit: 241076fb529eafccea9bae8bb407a57d83480745
https://github.com/llvm/llvm-project/commit/241076fb529eafccea9bae8bb407a57d83480745
Author: Francesco Petrogalli <francesco.petrogalli at apple.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
Log Message:
-----------
[SelectionDAG] Fix assertion for widening of mask operand in MSTORE. (#73295)
According to the code in `SelectionDAG::getMaskedStore`, the Mask
operator is in position 4, not 3:
SDValue Ops[] = {Chain, Val, Base, Offset, Mask};
Commit: af65379e383bac651f0868237e9086630b15ee0d
https://github.com/llvm/llvm-project/commit/af65379e383bac651f0868237e9086630b15ee0d
Author: Pete Steinfeld <47540744+psteinfeld at users.noreply.github.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M flang/test/Driver/ctofortran.f90
Log Message:
-----------
[flang] Fix test ctofortran (#73738)
After merge request #73124, the flang test Driver/ctofortran started
failing because both the C and the Fortran code had main programs. This
update fixes that by eliminating the C main program in the test.
Commit: 437a48b2d9bfc6e38a0ca43f1cee48ceaf0fe249
https://github.com/llvm/llvm-project/commit/437a48b2d9bfc6e38a0ca43f1cee48ceaf0fe249
Author: jeanPerier <jperier at nvidia.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/test/Lower/Intrinsics/loc.f90
Log Message:
-----------
[flang] Handle absent optional in LOC (#73530)
LOC is a GNU extension, so gfortran is the reference for it, and it
accepts absent OPTIONAL and returns zero. Support this use case in flang
too.
Update the LOC test to use HLFIR while touching it.
Fixes https://github.com/llvm/llvm-project/issues/72823.
Commit: 15798f4ec4dfa9607f4a7c94b922b80049e1575d
https://github.com/llvm/llvm-project/commit/15798f4ec4dfa9607f4a7c94b922b80049e1575d
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M clang/docs/InternalsManual.rst
M clang/include/clang/Frontend/VerifyDiagnosticConsumer.h
Log Message:
-----------
Move documentation about -verify from a header to public docs (#73694)
The internals manual seems like a more obvious home for the details
instead of hiding them away in a header file and relying on doxygen
output to document it publicly.
Commit: d2d9dc8eb4126271ee1406c2586a4953db831d21
https://github.com/llvm/llvm-project/commit/d2d9dc8eb4126271ee1406c2586a4953db831d21
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M llvm/lib/Transforms/Utils/Debugify.cpp
M llvm/test/Transforms/ArgumentPromotion/pr27568.ll
M llvm/test/Transforms/BDCE/basic.ll
M llvm/test/Transforms/DCE/basic.ll
M llvm/test/Transforms/DeadStoreElimination/debuginfo.ll
M llvm/test/Transforms/GlobalOpt/shrink-global-to-bool-check-debug.ll
M llvm/test/Transforms/InstCombine/call-guard.ll
M llvm/test/Transforms/InstCombine/cast-mul-select.ll
M llvm/test/Transforms/InstCombine/debuginfo-variables.ll
M llvm/test/Transforms/InstCombine/double-float-shrink-2.ll
M llvm/test/Transforms/InstCombine/storemerge-dbg.ll
M llvm/test/Transforms/JumpThreading/branch-debug-info.ll
M llvm/test/Transforms/LCSSA/avoid-intrinsics-in-catchswitch.ll
M llvm/test/Transforms/LCSSA/basictest.ll
M llvm/test/Transforms/LICM/sinking-debugify.ll
M llvm/test/Transforms/LoopIdiom/X86/arithmetic-right-shift-until-zero.ll
M llvm/test/Transforms/LoopIdiom/X86/left-shift-until-bittest.ll
M llvm/test/Transforms/LoopIdiom/X86/logical-right-shift-until-zero-debuginfo.ll
M llvm/test/Transforms/LoopIdiom/memcpy-debugify-remarks.ll
M llvm/test/Transforms/LoopIdiom/memset-debugify-remarks.ll
M llvm/test/Transforms/LoopUnroll/X86/call-remark.ll
M llvm/test/Transforms/LoopVectorize/i8-induction.ll
M llvm/test/Transforms/LoopVectorize/preserve-dbg-loc-and-loop-metadata.ll
M llvm/test/Transforms/Mem2Reg/PromoteMemToRegister.ll
M llvm/test/Transforms/MemCpyOpt/pr37967.ll
M llvm/test/Transforms/MergedLoadStoreMotion/st_sink_check_debug.ll
M llvm/test/Transforms/SCCP/ipsccp-basic.ll
M llvm/test/Transforms/SCCP/loadtest.ll
M llvm/test/Transforms/SROA/alignment.ll
M llvm/test/Transforms/SimplifyCFG/X86/merge-compatible-invokes-of-landingpad-debuginfo.ll
M llvm/test/Transforms/SimplifyCFG/debug-info-thread-phi.ll
M llvm/test/Transforms/TailCallElim/debugloc.ll
M llvm/test/Transforms/Util/Debugify/loc-only.ll
Log Message:
-----------
[DebugInfo][RemoveDIs] Make debugify pass convert to/from RemoveDIs mode (#73251)
Debugify is extremely useful as a testing and debugging tool, and a good
number of LLVM-IR transform tests use it. We need it to support "new"
non-instruction debug-info to get test coverage, but it's not important
enough to completely convert right now (and it'd be a large
undertaking). Thus: convert to/from dbg.value/DPValue mode on entry and
exit of the pass, which gives us the functionality without any further
work. The cost is compile-time, but again this is only happening during
tests.
Tested by: the large set of debugify tests enabled here. Note the
InstCombine test (cast-mul-select.ll) that hasn't been fully enabled:
this is because there's a debug-info sinking piece of code there that
hasn't been instrumented.
Commit: 3930a0b57a9a558409a7368f52f905029112e3c2
https://github.com/llvm/llvm-project/commit/3930a0b57a9a558409a7368f52f905029112e3c2
Author: Jan Patrick Lehr <jplehr at users.noreply.github.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M openmp/libomptarget/plugins-nextgen/amdgpu/src/rtl.cpp
Log Message:
-----------
[OpenMP][libomptarget] Use two SDMA engines (#73633)
Limit the use to two SDMA engines which are optimized for such transfers.
Commit: d4d88b8499b66e0904e5c545613a14d170b3ea62
https://github.com/llvm/llvm-project/commit/d4d88b8499b66e0904e5c545613a14d170b3ea62
Author: Dominik Adamski <dominik.adamski at amd.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M llvm/include/llvm/Frontend/OpenMP/OMPKinds.def
M openmp/libomptarget/DeviceRTL/src/Workshare.cpp
Log Message:
-----------
[OpenMP] New Openmp device RTL functions (#73225)
Add new implementation of workshare loop functions.
These functions will be used by OpenMPIRBuilder to support
handling of OpenMP workshare loops for the target region.
---------
Co-authored-by: Johannes Doerfert <johannes at jdoerfert.de>
Commit: 23b82bfdc2b6771231cc6a51e6aad9b48318cc1f
https://github.com/llvm/llvm-project/commit/23b82bfdc2b6771231cc6a51e6aad9b48318cc1f
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] Add getTargetConstantPoolFromBasePtr helper. NFC.
Split out of getTargetConstantFromBasePtr
Commit: 9619a2420eac885060bae6c45e85f85abfc7d6a9
https://github.com/llvm/llvm-project/commit/9619a2420eac885060bae6c45e85f85abfc7d6a9
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M mlir/test/Dialect/Vector/vector-contract-to-outerproduct-matvec-transforms.mlir
Log Message:
-----------
[MLIR][Vector] Refactor tests for contract -> OP transforms (3/N) (#73447)
This patch refactors tests for:
vector.contract -> vector.outerproduct
for matvec operations (b += Ax). Summary of changes:
* names of LIT variables are unified,
* "plain" tests (i.e. without masking and with fixed-width vectors)
are moved to the top of their respective sections,
* missing "plain" cases are added.
This is a part of a larger effort to add cases with scalable vectors to
tests for the Vector dialect. I am refactoring these tests so that it's
easier to identify what cases are tested and where to add tests for
scalable vectors.
Implements #72834.
Commit: 0d3c40b82b3b667a4f7f69f45658c184615fd54f
https://github.com/llvm/llvm-project/commit/0d3c40b82b3b667a4f7f69f45658c184615fd54f
Author: Stephan T. Lavavej <stl at nuwen.net>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M libcxx/test/libcxx/transitive_includes_to_csv.py
M libcxx/utils/adb_run.py
M libcxx/utils/gdb/libcxx/printers.py
M libcxx/utils/generate_escaped_output_table.py
M libcxx/utils/generate_extended_grapheme_cluster_table.py
M libcxx/utils/generate_extended_grapheme_cluster_test.py
M libcxx/utils/generate_std_clang_module_header.py
M libcxx/utils/generate_std_cppm_in.py
M libcxx/utils/generate_width_estimation_table.py
M libcxx/utils/graph_header_deps.py
M libcxx/utils/libcxx/test/android.py
M libcxx/utils/libcxx/test/dsl.py
M libcxx/utils/libcxx/test/format.py
M libcxx/utils/qemu_baremetal.py
Log Message:
-----------
[libc++] Remove unused Python imports (#73724)
VSCode's Pylance extension informed me, and text searching confirmed,
that these imports are unused. I believe we should be able to remove
them harmlessly.
Commit: 68433f6b27a2d95d8132d4a636a7e18ed85ca9e6
https://github.com/llvm/llvm-project/commit/68433f6b27a2d95d8132d4a636a7e18ed85ca9e6
Author: Guray Ozen <guray.ozen at gmail.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
M mlir/test/Conversion/NVVMToLLVM/invalid.mlir
M mlir/test/Conversion/NVVMToLLVM/nvvm-to-llvm.mlir
Log Message:
-----------
[mlir][nvvm] Introduce `setmaxregister.sync.aligned` Op (#73780)
This PR introduce `setmaxregister.sync.aligned` Op to increase or
decrease the register size.
https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#miscellaneous-instructions-setmaxnreg
Commit: fa712b0764d30e415159537d3e89c994cdef73f9
https://github.com/llvm/llvm-project/commit/fa712b0764d30e415159537d3e89c994cdef73f9
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M libcxx/CMakeLists.txt
Log Message:
-----------
[libc++] Build the dylib with sanitizers when requested (#73656)
We were detecting which sanitizer flags to use when building
libc++.dylib but we were never actually adding those flags to the
targets, which means that our sanitized builds would basically build the
dylib without any sanitizers enabled.
Commit: 1a5af34e6fcb56098e67d3272e1e89a05528f15e
https://github.com/llvm/llvm-project/commit/1a5af34e6fcb56098e67d3272e1e89a05528f15e
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M libcxx/benchmarks/stringstream.bench.cpp
M libcxx/include/CMakeLists.txt
M libcxx/include/__locale
A libcxx/include/__utility/no_destroy.h
M libcxx/include/module.modulemap.in
M libcxx/src/locale.cpp
Log Message:
-----------
[libc++] Speed up classic locale (take 2) (#73533)
Locale objects use atomic reference counting, which may be very
expensive in parallel applications. The classic locale is used by
default by all streams and can be very contended. But it's never
destroyed, so the reference counting is also completely pointless on the
classic locale. Currently ~70% of time in the parallel stringstream
benchmarks is spent in locale ctor/dtor. And the execution radically
slows down with more threads.
Avoid reference counting on the classic locale. With this change
parallel benchmarks start to scale with threads.
This is a re-application of f8afc53d641c (aka PR #72112) which was
reverted in 4e0c48b907f1 because it broke the sanitizer builds due
to an initialization order fiasco. This issue has now been fixed by
ensuring that the locale is constinit'ed.
Co-authored-by: Dmitry Vyukov <dvyukov at google.com>
Commit: 3c00c8c0fcd64600f7adc4538b2116a91ef60ced
https://github.com/llvm/llvm-project/commit/3c00c8c0fcd64600f7adc4538b2116a91ef60ced
Author: Dinar Temirbulatov <Dinar.Temirbulatov at arm.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M clang/include/clang/Basic/arm_sve.td
A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_clamp.c
Log Message:
-----------
[AArch64][SME2] Enable CLAMP multi-vector builtins for SME2 (#72272)
Thing change add builtins for SME2:
sclamp.single.x2
uclamp.single.x2
fclamp.single.x2
sclamp.single.x4
uclamp.single.x4
fclamp.single.x4
Patch by: Hassnaa Hamdi <hassnaa.hamdi at arm.com>
Commit: 9b192596ded4982ea360e70f723f9d05dc456ec0
https://github.com/llvm/llvm-project/commit/9b192596ded4982ea360e70f723f9d05dc456ec0
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port 1a5af34e6fcb
Commit: 738c3ede315acb413fc8e0e15c78657102110e94
https://github.com/llvm/llvm-project/commit/738c3ede315acb413fc8e0e15c78657102110e94
Author: Alex Bradbury <asb at igalia.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M llvm/unittests/Target/RISCV/RISCVInstrInfoTest.cpp
Log Message:
-----------
[RISCV] Pre-commit test for FrameIndex handling in getMemOperandsWithOffsetWidth
Currently AArch64 handles a FrameIndex operand in this function, but we
fail to.
Commit: 53f3e59e59339cdc3b55f1f6f5c87951df2039de
https://github.com/llvm/llvm-project/commit/53f3e59e59339cdc3b55f1f6f5c87951df2039de
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
A llvm/test/CodeGen/X86/combine-fneg.ll
R llvm/test/CodeGen/X86/vec_fneg.ll
Log Message:
-----------
[X86] Rename vec_fneg.ll to combine-fneg.ll
These tests are for fneg canonicalization combines, not codegen coverage tests like most of the other vec_* test files.
Commit: 244389ad1794b0bc6c659bd685cf6ea9a7cad8e3
https://github.com/llvm/llvm-project/commit/244389ad1794b0bc6c659bd685cf6ea9a7cad8e3
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
A llvm/test/CodeGen/X86/vec_fneg.ll
Log Message:
-----------
[X86] Add fneg vector test coverage
Commit: 0468867c982c9438cf1e9adb71709cb9c7d66391
https://github.com/llvm/llvm-project/commit/0468867c982c9438cf1e9adb71709cb9c7d66391
Author: Joseph Huber <huberjn at outlook.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M libc/src/__support/HashTable/CMakeLists.txt
M libc/src/__support/HashTable/generic/bitmask_impl.inc
Log Message:
-----------
[libc] Fix the GPU build for the hashing support (#73799)
Summary:
For reasons unknown to me, this function is undefined only on the GPU
build if you use `uintptr_t` but not `uint64_t` directly. This patch
makes an ifdef to use this directly for the GPU build to fix the bots.
Commit: 3af82b3962c443d43edba1abb50a82fb3048999a
https://github.com/llvm/llvm-project/commit/3af82b3962c443d43edba1abb50a82fb3048999a
Author: sstwcw <su3e8a96kzlver at posteo.net>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M clang/lib/Format/FormatTokenLexer.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/FormatTestVerilog.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Add spaces around the Verilog implication operator (#71352)
The Verilog implication operator `->` is a binary operator meaning
either the left hand side is false or the right hand side is true.
Previously it was treated as the C++ struct member operator.
I didn't even know it existed when I added the operator formatting part.
And I didn't check all the tests for all the operators I added. That is
how the bad test got in.
Commit: 9fa2d74be415a3e30d811c0acc05c45e1c55759e
https://github.com/llvm/llvm-project/commit/9fa2d74be415a3e30d811c0acc05c45e1c55759e
Author: sstwcw <su3e8a96kzlver at posteo.net>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M clang/lib/Format/ContinuationIndenter.cpp
M clang/unittests/Format/FormatTestVerilog.cpp
Log Message:
-----------
[clang-format] Indent Verilog case statements with comments (#71353)
If a line contains a comment outside of (fake) parentheses, the part
following it is indented according to `CurrentState.Indent`. A Verilog
case label and the statement that follows are broken with
mustBreakBefore. So the part that follows the case label needs some
special handling. Previously, that variable was left out. So the
indentation was wrong when there was a comment.
old:
```Verilog
case (data)
16'd0:
result = //
10'b0111111111;
endcase
case (data)
16'd0:
//
//
result = //
10'b0111111111;
endcase
```
new:
```Verilog
case (data)
16'd0:
result = //
10'b0111111111;
endcase
case (data)
16'd0:
//
//
result = //
10'b0111111111;
endcase
```
Commit: 2212e900599bb98a46b99b61ccc1983cdaf422d1
https://github.com/llvm/llvm-project/commit/2212e900599bb98a46b99b61ccc1983cdaf422d1
Author: Fangrui Song <i at maskray.me>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
A lld/test/ELF/lto/libcall-archive-calloc.ll
Log Message:
-----------
[ELF,LTO] Test calloc defined in a lazy bitcode file for (malloc+memset => calloc) libcall optimization
Similar to https://reviews.llvm.org/D50017: malloc+memset references can
be combined to a calloc reference, which is not explicit in the
referencer's IR symbol table. If calloc is defined in a lazy bitcode
file, we should extract the archive member to satisfy possible
references from LTO generated object files; otherwise (current status,
which will be fixed by #72673), `calloc` as a LazyObject symbol will be
resolved by compileBitcodeFiles generated Undefined, leading to an
incorrectly-extracted Defined symbol without section, which will lower
to an SHN_ABS symbol at address 0.
Commit: 7eb3103123ffa5c6061ad6775ba6c87d6cd5e256
https://github.com/llvm/llvm-project/commit/7eb3103123ffa5c6061ad6775ba6c87d6cd5e256
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M libc/src/__support/integer_to_string.h
Log Message:
-----------
[libc] Fix cast semantic in integer_to_string (#73804)
Commit: 8aeacebf288b2f5dc9d3f23e9ac9a4f910238504
https://github.com/llvm/llvm-project/commit/8aeacebf288b2f5dc9d3f23e9ac9a4f910238504
Author: Michael Platings <michael.platings at arm.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
A libcxx/cmake/caches/Armv7M-picolibc.cmake
M libcxx/docs/index.rst
A libcxx/test/configs/armv7m-picolibc-libc++.cfg.in
M libcxx/test/libcxx/atomics/atomics.types.generic/atomics.types.float/lockfree.pass.cpp
M libcxx/test/libcxx/clang_modules_include.gen.py
M libcxx/test/libcxx/selftest/dsl/dsl.sh.py
M libcxx/test/libcxx/selftest/pass.cpp/run-error.pass.cpp
M libcxx/test/libcxx/selftest/pass.mm/run-error.pass.mm
M libcxx/test/libcxx/system_reserved_names.gen.py
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/assign.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/compare_exchange_strong.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/compare_exchange_weak.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/ctor.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/exchange.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_add.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_sub.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/load.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/lockfree.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/notify_all.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/notify_one.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.float.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.minus_equals.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.plus_equals.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/store.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/wait.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/integral.pass.cpp
M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_add.pass.cpp
M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_add_explicit.pass.cpp
M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_and.pass.cpp
M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_and_explicit.pass.cpp
M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_or.pass.cpp
M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_or_explicit.pass.cpp
M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_sub.pass.cpp
M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_sub_explicit.pass.cpp
M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_xor.pass.cpp
M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_xor_explicit.pass.cpp
M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/ctor.pass.cpp
M libcxx/test/std/depr/depr.c.headers/fenv_h.compile.pass.cpp
M libcxx/test/std/depr/depr.c.headers/uchar_h.compile.pass.cpp
M libcxx/test/std/experimental/simd/simd.reference/reference_assignment.pass.cpp
M libcxx/test/std/input.output/iostream.objects/narrow.stream.objects/cerr.sh.cpp
M libcxx/test/std/input.output/iostream.objects/narrow.stream.objects/clog.sh.cpp
M libcxx/test/std/input.output/iostream.objects/narrow.stream.objects/cout.sh.cpp
M libcxx/test/std/iterators/iterator.primitives/iterator.traits/cxx20_iterator_traits.compile.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array14.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete14.pass.cpp
M libcxx/test/std/language.support/support.runtime/ctime.timespec.compile.pass.cpp
M libcxx/test/std/numerics/cfenv/cfenv.syn/cfenv.pass.cpp
M libcxx/test/std/strings/c.strings/cuchar.compile.pass.cpp
M libcxx/test/std/time/time.clock/time.clock.file/to_from_sys.pass.cpp
M libcxx/test/std/time/time.clock/time.clock.hires/now.pass.cpp
M libcxx/test/std/time/time.clock/time.clock.system/from_time_t.pass.cpp
M libcxx/test/std/time/time.clock/time.clock.system/now.pass.cpp
M libcxx/test/std/time/time.clock/time.clock.system/to_time_t.pass.cpp
M libcxx/test/std/time/time.point/time.point.nonmember/op_-duration.pass.cpp
M libcxx/utils/ci/BOT_OWNERS.txt
A libcxx/utils/ci/build-picolibc.sh
M libcxx/utils/ci/buildkite-pipeline.yml
M libcxx/utils/ci/run-buildbot
M libcxx/utils/libcxx/test/features.py
A libcxxabi/test/configs/armv7m-picolibc-libc++abi.cfg.in
M libcxxabi/test/test_demangle.pass.cpp
A libunwind/test/configs/armv7m-picolibc-libunwind.cfg.in
Log Message:
-----------
[libc++] Add initial support for picolibc
Picolibc is a C Standard Library that is commonly used in embedded
environments. This patch adds initial support for this configuration
along with pre-commit CI. As of this patch, the test suite only builds
the tests and nothing is run. A follow-up patch will make the test suite
actually run the tests.
Differential Revision: https://reviews.llvm.org/D154246
Commit: fad77dce5111214c51a7c2fe8f30153d630349cb
https://github.com/llvm/llvm-project/commit/fad77dce5111214c51a7c2fe8f30153d630349cb
Author: Benji Smith <6193112+Benjins at users.noreply.github.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M llvm/docs/ReleaseNotes.rst
M llvm/include/llvm-c/Core.h
M llvm/lib/IR/Core.cpp
M llvm/test/Bindings/llvm-c/echo.ll
M llvm/tools/llvm-c-test/echo.cpp
Log Message:
-----------
[C API] Add support for setting/getting new nneg flag on zext instructions (#73592)
This flag was added in #67982, but was not yet accessible via the C API.
This commit adds a getter/setter for this flag, and a test for it.
Commit: dc16964f0ecc1dc292c064ef439c1f48629e8c41
https://github.com/llvm/llvm-project/commit/dc16964f0ecc1dc292c064ef439c1f48629e8c41
Author: Tom Stellard <tstellar at redhat.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
R .github/workflows/sync-release-repo.yml
R llvm/utils/git/sync-release-repo.sh
Log Message:
-----------
[workflows] Remove sync-release-repo.yml (#73682)
This should not be needed now that the project uses PRs, plus the
OpenSSF Scorecard report flagged this as insecure.
Commit: 2cfe7b1b6625ae982d8d0d489bdf0f0d15b234f7
https://github.com/llvm/llvm-project/commit/2cfe7b1b6625ae982d8d0d489bdf0f0d15b234f7
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
A openmp/libomptarget/include/Shared/Profile.h
M openmp/libomptarget/src/LegacyAPI.cpp
M openmp/libomptarget/src/api.cpp
M openmp/libomptarget/src/interface.cpp
M openmp/libomptarget/src/omptarget.cpp
M openmp/libomptarget/src/private.h
M openmp/libomptarget/src/rtl.cpp
Log Message:
-----------
[OpenMP][NFC] Extract timescope profile support into its own header (#73727)
Commit: 672b3d097464becb6e0077ee49a1117ea9bd8238
https://github.com/llvm/llvm-project/commit/672b3d097464becb6e0077ee49a1117ea9bd8238
Author: Nikita Popov <npopov at redhat.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
A llvm/test/Transforms/LICM/pr64897.ll
Log Message:
-----------
[LICM] Add test for #64897 (NFC)
Commit: db96a9c3b7f1855a586c23328bfa073dde6f1352
https://github.com/llvm/llvm-project/commit/db96a9c3b7f1855a586c23328bfa073dde6f1352
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
R openmp/libomptarget/include/dlwrap.h
M openmp/libomptarget/plugins-nextgen/CMakeLists.txt
M openmp/libomptarget/plugins-nextgen/amdgpu/CMakeLists.txt
M openmp/libomptarget/plugins-nextgen/amdgpu/dynamic_hsa/hsa.cpp
M openmp/libomptarget/plugins-nextgen/common/CMakeLists.txt
R openmp/libomptarget/plugins-nextgen/common/PluginInterface/CMakeLists.txt
R openmp/libomptarget/plugins-nextgen/common/PluginInterface/GlobalHandler.cpp
R openmp/libomptarget/plugins-nextgen/common/PluginInterface/GlobalHandler.h
R openmp/libomptarget/plugins-nextgen/common/PluginInterface/JIT.cpp
R openmp/libomptarget/plugins-nextgen/common/PluginInterface/JIT.h
R openmp/libomptarget/plugins-nextgen/common/PluginInterface/MemoryManager.h
R openmp/libomptarget/plugins-nextgen/common/PluginInterface/PluginInterface.cpp
R openmp/libomptarget/plugins-nextgen/common/PluginInterface/PluginInterface.h
R openmp/libomptarget/plugins-nextgen/common/PluginInterface/RPC.cpp
R openmp/libomptarget/plugins-nextgen/common/PluginInterface/RPC.h
R openmp/libomptarget/plugins-nextgen/common/PluginInterface/Utils/ELF.cpp
R openmp/libomptarget/plugins-nextgen/common/PluginInterface/Utils/ELF.h
A openmp/libomptarget/plugins-nextgen/common/include/DLWrap.h
A openmp/libomptarget/plugins-nextgen/common/include/GlobalHandler.h
A openmp/libomptarget/plugins-nextgen/common/include/JIT.h
A openmp/libomptarget/plugins-nextgen/common/include/MemoryManager.h
A openmp/libomptarget/plugins-nextgen/common/include/PluginInterface.h
A openmp/libomptarget/plugins-nextgen/common/include/RPC.h
A openmp/libomptarget/plugins-nextgen/common/src/GlobalHandler.cpp
A openmp/libomptarget/plugins-nextgen/common/src/JIT.cpp
A openmp/libomptarget/plugins-nextgen/common/src/PluginInterface.cpp
A openmp/libomptarget/plugins-nextgen/common/src/RPC.cpp
A openmp/libomptarget/plugins-nextgen/common/src/Utils/ELF.cpp
A openmp/libomptarget/plugins-nextgen/common/src/Utils/ELF.h
M openmp/libomptarget/plugins-nextgen/cuda/CMakeLists.txt
M openmp/libomptarget/plugins-nextgen/cuda/dynamic_cuda/cuda.cpp
Log Message:
-----------
[OpenMP][NFC] Flatten plugin-nextgen/common folder sturcture (#73725)
For historic reasons we had it setup that there was
` plugin-nextgen/common/PluginInterface/<sources + headers>`
which is not what we do anywhere else.
Now it looks like the rest:
```
plugin-nextgen/common/include/<headers>
plugin-nextgen/common/src/<sources>
```
As part of this, `dlwrap.h` was moved into common/include (as
`DLWrap.h`)
since it is exclusively used by the plugins.
Commit: 953d675c42c254676ca446951bd728abefecf436
https://github.com/llvm/llvm-project/commit/953d675c42c254676ca446951bd728abefecf436
Author: jyu2-git <jennifer.yu at intel.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M clang/lib/Sema/SemaOpenMP.cpp
M clang/test/OpenMP/target_ast_print.cpp
Log Message:
-----------
Fix accsessing "PresentModifierLocs" array beyond its end. (#73579)
Currently PresentModifierLocs defined with size DefaultmapKindNum; where
DefaultmapKindNum = OMPC_DEFAULTMAP_pointer + 1
Before 5.0 variable-category can not be omitted. For the test like
\#pragma omp target map(tofrom: errors) defaultmap(present)
error would be mitted.
After 5.0 that is allowd.
When try to:
PresentModifierLocs[DMC->getDefaultmapKind()] =
DMC->getDefaultmapModifierLoc();
It is accessed beyond array end.
To fix this using OMPC_DEFAULTMAP_unknow instead OMPC_DEFAULTMAP_poiner.
Commit: 0ccef6a723cbfe3d72b85d34963badb37a6a9a53
https://github.com/llvm/llvm-project/commit/0ccef6a723cbfe3d72b85d34963badb37a6a9a53
Author: Mats Petersson <mats.petersson at arm.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M flang/include/flang/Lower/ConvertExpr.h
M flang/include/flang/Optimizer/Builder/HLFIRTools.h
M flang/include/flang/Optimizer/Dialect/FIROps.h
M flang/include/flang/Optimizer/Dialect/FIROpsSupport.h
M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Lower/ConvertExpr.cpp
M flang/lib/Lower/OpenMP.cpp
M flang/lib/Optimizer/Builder/Character.cpp
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
M flang/lib/Optimizer/HLFIR/Transforms/BufferizeHLFIR.cpp
M flang/test/HLFIR/associate-codegen.fir
M flang/test/HLFIR/call_with_poly_dummy.f90
M flang/test/HLFIR/extents-of-shape-of.f90
M flang/test/HLFIR/mul_transpose.f90
M flang/test/Lower/HLFIR/array-ctor-as-elemental-nested.f90
M flang/test/Lower/HLFIR/array-ctor-as-elemental.f90
M flang/test/Lower/HLFIR/array-ctor-as-inlined-temp.f90
M flang/test/Lower/HLFIR/array-ctor-as-runtime-temp.f90
M flang/test/Lower/HLFIR/associate-for-args-with-alloc-components.f90
M flang/test/Lower/HLFIR/calls-assumed-shape.f90
M flang/test/Lower/HLFIR/calls-constant-expr-arg-polymorphic.f90
M flang/test/Lower/HLFIR/calls-constant-expr-arg.f90
M flang/test/Lower/HLFIR/calls-f77.f90
M flang/test/Lower/HLFIR/calls-optional.f90
M flang/test/Lower/HLFIR/charconvert.f90
M flang/test/Lower/HLFIR/cray-pointers.f90
M flang/test/Lower/HLFIR/elemental-array-ops.f90
M flang/test/Lower/HLFIR/elemental-call-vector-subscripts.f90
M flang/test/Lower/HLFIR/elemental-user-procedure-ref-polymorphic.f90
M flang/test/Lower/HLFIR/entry_return.f90
M flang/test/Lower/HLFIR/expr-addr.f90
M flang/test/Lower/HLFIR/poly_expr_for_nonpoly_dummy.f90
M flang/test/Lower/HLFIR/polymorphic-expressions.f90
M flang/test/Lower/HLFIR/transformational.f90
M flang/test/Lower/HLFIR/user-defined-assignment.f90
M flang/test/Lower/HLFIR/vector-subscript-as-value.f90
M flang/test/Lower/Intrinsics/storage_size-2.f90
Log Message:
-----------
[flang] Make adapt.valuebyref attribute work again (#73658)
This got "lost" in the HLFIR transformation. This patch applies the old
attribute to the AssociateOp that needs it, and forwards it to the
AllocaOp that is generated when lowering to FIR.
Commit: b05335989239f08f0931b9153b1872790b8645f4
https://github.com/llvm/llvm-project/commit/b05335989239f08f0931b9153b1872790b8645f4
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M llvm/include/llvm/CodeGen/TargetInstrInfo.h
M llvm/lib/CodeGen/TargetInstrInfo.cpp
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/X86/X86InstrInfo.h
A llvm/test/CodeGen/MIR/X86/inline-asm-rm-exhaustion.mir
Log Message:
-----------
[X86InstrInfo] support memfold on spillable inline asm (#70832)
This enables -regalloc=greedy to memfold spillable inline asm
MachineOperands.
Because no instruction selection framework marks MachineOperands as
spillable, no language frontend can observe functional changes from this
patch. That will change once instruction selection frameworks are
updated.
Link: https://github.com/llvm/llvm-project/issues/20571
Commit: 3bf72bf427f15521111df4e35c868005ceb0013b
https://github.com/llvm/llvm-project/commit/3bf72bf427f15521111df4e35c868005ceb0013b
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M llvm/lib/Transforms/Utils/CodeExtractor.cpp
M llvm/test/Transforms/CodeExtractor/LoopExtractor_alloca.ll
Log Message:
-----------
[DebugInfo][RemoveDIs] Extract DPValues in CodeExtractor like dbg.values (#73252)
CodeExtractor shifts dbg.value intrinsics out of the region being
extracted and updates them to be appropriate in the extracted function.
With new non-intrinsic variable locations, we need to manually do this
too, with DPValues.
Most of this patch shifts and refactors some utilities in
fixupDebugInfoPostExtraction so that we can add a single extra helper
lambda that iterates over DPValues and applies update-utilities. We also
have to assign the IsNewDbgInfoFormat flag in a bunch of places -- this
normally gets set the moment you insert a block into a function (or
function into a module), however a few blocks are constructed here
before being inserted, thus we have to do some manual setup.
Tested via LoopExtractor_alloca.ll, which invokes debugify.
Commit: 859338a695169d2804d6999f44e1e94bedf6ddd7
https://github.com/llvm/llvm-project/commit/859338a695169d2804d6999f44e1e94bedf6ddd7
Author: Youngsuk Kim <youngsuk.kim at hpe.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M llvm/lib/CodeGen/SafeStack.cpp
M llvm/lib/CodeGen/ShadowStackGCLowering.cpp
M llvm/lib/Transforms/Coroutines/CoroInternal.h
M llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
Log Message:
-----------
[llvm] Replace uses of Type::getPointerTo (NFC)
Work towards removing method Type::getPointerTo.
Opaque ptr cleanup effort.
Commit: e2299e8d9d99ed1e5315b767a8dd5790967ef485
https://github.com/llvm/llvm-project/commit/e2299e8d9d99ed1e5315b767a8dd5790967ef485
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
R openmp/libomptarget/include/OmptCallback.h
R openmp/libomptarget/include/OmptConnector.h
A openmp/libomptarget/include/OpenMP/OMPT/Callback.h
A openmp/libomptarget/include/OpenMP/OMPT/Connector.h
A openmp/libomptarget/include/OpenMP/OMPT/Interface.h
M openmp/libomptarget/plugins-nextgen/amdgpu/src/rtl.cpp
M openmp/libomptarget/plugins-nextgen/common/OMPT/OmptCallback.cpp
M openmp/libomptarget/plugins-nextgen/common/src/PluginInterface.cpp
M openmp/libomptarget/plugins-nextgen/cuda/src/rtl.cpp
M openmp/libomptarget/plugins-nextgen/generic-elf-64bit/src/rtl.cpp
M openmp/libomptarget/src/OmptCallback.cpp
R openmp/libomptarget/src/OmptInterface.h
M openmp/libomptarget/src/device.cpp
M openmp/libomptarget/src/interface.cpp
M openmp/libomptarget/src/omptarget.cpp
M openmp/libomptarget/src/rtl.cpp
Log Message:
-----------
[OpenMP][NFC] Move OMPT headers into OpenMP/OMPT (#73718)
Commit: fd2d0bf90e37756308a5fa91a0bcd80d0923989e
https://github.com/llvm/llvm-project/commit/fd2d0bf90e37756308a5fa91a0bcd80d0923989e
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M openmp/libomptarget/include/OpenMP/InternalTypes.h
M openmp/libomptarget/src/api.cpp
M openmp/libomptarget/src/private.h
Log Message:
-----------
[OpenMP][NFC] Replace unnecessary typedefs (#73815)
Commit: bdecfebce4b0af94b3afa3e20add0b9d232f21ad
https://github.com/llvm/llvm-project/commit/bdecfebce4b0af94b3afa3e20add0b9d232f21ad
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M openmp/libomptarget/src/CMakeLists.txt
R openmp/libomptarget/src/OmptCallback.cpp
A openmp/libomptarget/src/OpenMP/OMPT/Callback.cpp
Log Message:
-----------
[OpenMP][NFC] Rename OmptCallback.cpp into OpenMP/OMPT/Callback.cpp (#73813)
Also revert the ifdef OMPT_SUPPORT order to have the short fallback
first and not after 400 lines.
Commit: 16b8c9608f2081c4f5a9beab6432c4aed842f2f8
https://github.com/llvm/llvm-project/commit/16b8c9608f2081c4f5a9beab6432c4aed842f2f8
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/ReleaseNotes/18.rst
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/docs/Status/FormatIssues.csv
M libcxx/include/__format/format_arg_store.h
M libcxx/include/__format/formatter_char.h
M libcxx/include/version
M libcxx/test/std/language.support/support.limits/support.limits.general/.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
A libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.char.fsigned-char.pass.cpp
A libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.char.funsigned-char.pass.cpp
M libcxx/utils/generate_feature_test_macro_components.py
Log Message:
-----------
[libc++][format] Fixes formatting code units as integers. (#73396)
This paper was voted in as a DR, so it's retroactively enabled back to
C++20; the C++ version that introduced std::format.
Implements:
- P2909R4 Fix formatting of code units as integers (Dude, where’s my
``char``?)
Commit: 740f14edb4f2bf836b8892dd772ed1d52d24288d
https://github.com/llvm/llvm-project/commit/740f14edb4f2bf836b8892dd772ed1d52d24288d
Author: jeanPerier <jperier at nvidia.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
Log Message:
-----------
[flang] fix codegen warning from #73641 (#73808)
Commit: aeb051affe690d42e4a7bf96b4704244acc6cefb
https://github.com/llvm/llvm-project/commit/aeb051affe690d42e4a7bf96b4704244acc6cefb
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M clang/include/clang/Basic/AttrDocs.td
Log Message:
-----------
Correct the documentation category for the 'cleanup' attribute
It was previously classified as a type attribute when it is actually a
variable attribute.
Commit: 5ce5ea3786246815ce4913dcf8020bde976d2c95
https://github.com/llvm/llvm-project/commit/5ce5ea3786246815ce4913dcf8020bde976d2c95
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M clang/lib/Driver/ToolChains/Flang.cpp
M flang/include/flang/Tools/CLOptions.inc
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/test/Driver/falias-analysis.f90
M flang/test/Driver/mlir-pass-pipeline.f90
M flang/test/Driver/optimization-remark.f90
M flang/test/Fir/basic-program.fir
M flang/tools/tco/tco.cpp
Log Message:
-----------
Revert "[flang] Enable alias tags pass by default (#73111)" (#73821)
This reverts commit caba0314cf631a3ba3e982cbcdc455224046c7a8.
Serious performance regressions were reported by @vzakhari
https://github.com/llvm/llvm-project/issues/58303#issuecomment-1830754173
Fixing this doesn't look quick so I will revert for now.
Commit: b465f94b7c47f4c759fbfb15cde672739dd0b3d3
https://github.com/llvm/llvm-project/commit/b465f94b7c47f4c759fbfb15cde672739dd0b3d3
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
A openmp/libomptarget/include/Utils/ExponentialBackoff.h
M openmp/libomptarget/src/interface.cpp
M openmp/libomptarget/src/private.h
Log Message:
-----------
[OpenMP][NFC] Put ExponentialBackoff in a Utils header (#73816)
"private.h" will go.
Commit: 2273ee086a5ecd676b0d9782f7b55c8fa2409b35
https://github.com/llvm/llvm-project/commit/2273ee086a5ecd676b0d9782f7b55c8fa2409b35
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M clang/include/clang/Sema/Overload.h
Log Message:
-----------
Remove an outdated comment; NFC
StandardConversionSequence is significantly larger than a word.
Commit: 04b185302be963c3c6399b2284c2ec75eb81b6cf
https://github.com/llvm/llvm-project/commit/04b185302be963c3c6399b2284c2ec75eb81b6cf
Author: Pete Steinfeld <47540744+psteinfeld at users.noreply.github.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M flang/include/flang/Optimizer/Support/Utils.h
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Numeric.cpp
M flang/lib/Optimizer/Builder/Runtime/Reduction.cpp
M flang/lib/Optimizer/Builder/Runtime/Transformational.cpp
M flang/lib/Optimizer/CodeGen/Target.cpp
M flang/runtime/character.cpp
M flang/runtime/descriptor-io.h
M flang/runtime/random.cpp
M flang/runtime/tools.cpp
M flang/runtime/transformational.cpp
M flang/test/Lower/Intrinsics/missing-math-runtime.f90
Log Message:
-----------
[flang] Cleanup of NYI messages (#73740)
This update makes the user visible messages relating to features that
are not yet implemented be more consistent. I also cleaned up some of
the code.
For NYI messages that refer to intrinsics, I made sure the the message
begins with "not yet implemented: intrinsic:" to make them easier to
recognize.
I created some utility functions for NYI reporting that I put into
.../include/Optimizer/Support/Utils.h. These mainly convert MLIR types
to their Fortran equivalents.
I converted the NYI code to use the newly created utility functions.
Commit: 8391bb3f5c0d0d90e47db157809d671d360231bc
https://github.com/llvm/llvm-project/commit/8391bb3f5c0d0d90e47db157809d671d360231bc
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M openmp/libomptarget/include/OpenMP/InternalTypes.h
M openmp/libomptarget/include/OpenMP/omp.h
M openmp/libomptarget/include/omptarget.h
M openmp/libomptarget/src/api.cpp
M openmp/libomptarget/src/private.h
Log Message:
-----------
[OpenMP][NFC] Move more declarations out of private.h (#73823)
Commit: 2630d72cb343fed771e505c1bb0e4f334aed66ce
https://github.com/llvm/llvm-project/commit/2630d72cb343fed771e505c1bb0e4f334aed66ce
Author: Chris B <chris.bieneman at me.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/Lex/Lexer.cpp
M clang/lib/Lex/LiteralSupport.cpp
M clang/lib/Sema/SemaExprMember.cpp
A clang/test/CodeGenHLSL/builtins/ScalarSwizzles.hlsl
A clang/test/SemaHLSL/Types/BuiltinVector/ScalarSwizzleErrors.hlsl
A clang/test/SemaHLSL/Types/BuiltinVector/ScalarSwizzles.hlsl
Log Message:
-----------
[HLSL] Support vector swizzles on scalars (#67700)
HLSL supports vector swizzles on scalars by implicitly converting the
scalar to a single-element vector. This syntax is a convienent way to
initialize vectors based on filling a scalar value.
There are two parts of this change. The first part in the Lexer splits
numeric constant tokens when a `.x` or `.r` suffix is encountered. This
splitting is a bit hacky but allows the numeric constant to be parsed
separately from the vector element expression. There is an ambiguity
here with the `r` suffix used by fixed point types, however fixed point
types aren't supported in HLSL so this should not cause any exposable
problems (a separate issue has been filed to track validating language
options for HLSL: #67689).
The second part of this change is in Sema::LookupMemberExpr. For HLSL,
if the base type is a scalar, we implicit cast the scalar to a
one-element vector then call back to perform the vector lookup.
Fixes #56658 and #67511
Commit: f688e0901213726feb9b26cedc61919413cbf59c
https://github.com/llvm/llvm-project/commit/f688e0901213726feb9b26cedc61919413cbf59c
Author: David Li <57157229+david-xl at users.noreply.github.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vec_fabs.ll
Log Message:
-----------
Enable custom lowering of fabs_v16f16 with AVX and fabs_v32f16 with A… (#73565)
This is the last patch for fabs lowering. v32f16 works for AVX as well
with the patch (with type legalization).
Commit: ff96567bd0fb8ed7a4739afa27a3cf3908115021
https://github.com/llvm/llvm-project/commit/ff96567bd0fb8ed7a4739afa27a3cf3908115021
Author: Chris Bieneman <chris.bieneman at me.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M clang/test/SemaHLSL/Types/BuiltinVector/ScalarSwizzles.hlsl
Log Message:
-----------
[NFC] Fix failing test introduced in #67700
This fixes the test to handle the changes in the AST printer.
../clang/test/SemaHLSL/Types/BuiltinVector/ScalarSwizzles.hlsl
Commit: 40422bf150bf29e9d4ac00da5e29fa0ff9bcd8b6
https://github.com/llvm/llvm-project/commit/40422bf150bf29e9d4ac00da5e29fa0ff9bcd8b6
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
A openmp/libomptarget/include/OpenMP/Mapping.h
M openmp/libomptarget/include/device.h
M openmp/libomptarget/src/CMakeLists.txt
A openmp/libomptarget/src/OpenMP/Mapping.cpp
M openmp/libomptarget/src/omptarget.cpp
M openmp/libomptarget/src/private.h
Log Message:
-----------
[OpenMP][NFC] Separate OpenMP/OpenACC specific mapping code (#73817)
While this does not really encapsulate the mapping code, it at least
moves most of the declarations out of the way.
Commit: 749d595de906e43660dfd0daa1a60b501e1dc838
https://github.com/llvm/llvm-project/commit/749d595de906e43660dfd0daa1a60b501e1dc838
Author: Teresa Johnson <tejohnson at google.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M llvm/lib/ProfileData/MemProf.cpp
Log Message:
-----------
[MemProf][NFC] Correct comment about stripping of suffixes in profile (#73840)
The comment about the stripping of suffixes when creating the indexed
MemProf profile was partially incorrect, as we do not strip ".__uniq."
suffixes by default (by design). Update the comment accordingly.
Commit: 5259e14e7dcb58f50c31cf3b15a9b9f6e64dc7a1
https://github.com/llvm/llvm-project/commit/5259e14e7dcb58f50c31cf3b15a9b9f6e64dc7a1
Author: Finn Plummer <50529406+inbelic at users.noreply.github.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVArithmeticOps.td
M mlir/lib/Dialect/SPIRV/IR/SPIRVCanonicalization.cpp
M mlir/test/Dialect/SPIRV/Transforms/canonicalize.mlir
Log Message:
-----------
[mlir][spirv] Add folding for [S|U]Mod, [S|U]Div, SRem (#73341)
Add missing constant propogation folder for [S|U]Mod, [S|U]Div, SRem
Implement additional folding when rhs is 1 for all ops.
This helps for readability of lowered code into SPIR-V.
Part of work for #70704
Commit: 2f1399c73f52aac77afbdd2ba53dd9f1dcbb7c98
https://github.com/llvm/llvm-project/commit/2f1399c73f52aac77afbdd2ba53dd9f1dcbb7c98
Author: Ramkumar Ramachandra <r at artagnon.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M clang/include/clang/APINotes/APINotesManager.h
Log Message:
-----------
clang/APINotes: fix parenthesization of &&, ||
Follow up on 59edb43 (clang/APINotes: squelch a -Wparantheses warning
(NFC)) to fix parenthesization, as requested by David Blaikie.
Commit: 7fb89bfb0f93d5cfe3cf661253bbb2e2ef19359a
https://github.com/llvm/llvm-project/commit/7fb89bfb0f93d5cfe3cf661253bbb2e2ef19359a
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
A mlir/include/mlir-c/Target/LLVMIR.h
M mlir/lib/CAPI/CMakeLists.txt
A mlir/lib/CAPI/Target/CMakeLists.txt
A mlir/lib/CAPI/Target/LLVMIR.cpp
M mlir/test/CAPI/CMakeLists.txt
A mlir/test/CAPI/translation.c
M mlir/test/CMakeLists.txt
M mlir/test/lit.cfg.py
Log Message:
-----------
Reapply "[mlir] Add mlirTranslateModuleToLLVMIR to MLIR-C (#73627)" (#73749) (#73751)
Co-authored-by: Edgar <git at edgarluque.com>
Commit: 6a634953e1a2ec1e434e1ed274e6b37ff7aa643d
https://github.com/llvm/llvm-project/commit/6a634953e1a2ec1e434e1ed274e6b37ff7aa643d
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M compiler-rt/lib/msan/msan_interceptors.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_mallinfo.h
M compiler-rt/test/msan/Linux/mallinfo.cpp
Log Message:
-----------
[msan] Intercept mallinfo2 (#73729)
Commit: 8f564a1f30c160635a8225af5d20669ee42b468a
https://github.com/llvm/llvm-project/commit/8f564a1f30c160635a8225af5d20669ee42b468a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M clang/lib/Headers/riscv_crypto.h
Log Message:
-----------
[RISCV] Remove reference to non-existant __builtin_riscv_sha512sum0l/__builtin_riscv_sha512sum1l.
This was a copy/paste mistake from sig0/sig1 which have high and low halves.
sum0 and sum1 have sum0r and sum1r instead.
Commit: ce00133e5f5b243b320d55f7e000057a3f8ad2c9
https://github.com/llvm/llvm-project/commit/ce00133e5f5b243b320d55f7e000057a3f8ad2c9
Author: Greg Clayton <gclayton at fb.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFContext.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.h
Log Message:
-----------
Allow lldb to load .dwp files with large .debug_info or .debug_types. (#73736)
A previous patch to llvm allowed the DWARFUnitIndex class to handle
.debug_info.dwo and .debug_types.dwo sections to go over 4GB by checking
for this case and fixing up the DWARFUnitIndex. LLDB's DWARF parser
tries to use the llvm's DWARF parser when it can, and LLDB's DWARF
parser uses the llvm::DWARFUnitIndex which should allow us to load large
.dwp files, but there were a few things missing on the LLDB front:
- support for parsing DWARFUnit objects when the offset exceeds 4GB due
to a 32 bit truncation issue
- not populating the required DWARF sections when we call
DWARFContext::GetAsLLVM() which didn't allow the fixups to happen as the
data was missing.
This patch fixes these issues and now allows LLDB to parse large .dwp
files without issues. The issue was discovered when running the "target
modules dump separate-debug-info" command on one of these binaries that
used a large .dwp file.
This is unfortunately hard to test without creating a huge .dwp file, so
there are currently no tests for this that I can think of adding that
wouldn't cause disk space constraints or making testing times longer by
producing a huge .dwp file.
Commit: 14028ec0a62210d68a4dd7a046ac79c8c3b7727e
https://github.com/llvm/llvm-project/commit/14028ec0a62210d68a4dd7a046ac79c8c3b7727e
Author: Finn Plummer <50529406+inbelic at users.noreply.github.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVArithmeticOps.td
M mlir/lib/Dialect/SPIRV/IR/SPIRVCanonicalization.cpp
M mlir/test/Dialect/SPIRV/Transforms/canonicalize.mlir
Log Message:
-----------
[mlir][spirv] Add canon patterns for IAddCarry/[S|U]MulExtended (#73340)
Add missing constant propogation folder for IAddCarry and
[S|U]MulExtended. Due to currently missing constant value for
spirv.struct the folding is done using canonicalization patterns.
Implement additional folding when rhs is 0 for all ops and when rhs is 1
for UMulExt.
This helps for readability of lowered code into SPIR-V.
Part of work for #70704
Commit: 9e7b6f46ba13ef0bac72e18b425aed37f576fb1e
https://github.com/llvm/llvm-project/commit/9e7b6f46ba13ef0bac72e18b425aed37f576fb1e
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M mlir/include/mlir/Conversion/ConvertToLLVM/ToLLVMPass.h
M mlir/lib/Conversion/ConvertToLLVM/ConvertToLLVMPass.cpp
M mlir/lib/Conversion/GPUCommon/GPUToLLVMConversion.cpp
Log Message:
-----------
[mlir] Adopt `ConvertToLLVMPatternInterface` GpuToLLVMConversionPass to align with `convert-to-llvm` (#73761)
This is a follow-up to the introduction of `convert-to-llvm`: it is
supposed to be a unifying pass through the
`ConvertToLLVMPatternInterface`, but some specific conversion (like the
GPU target) aren't vanilla LLVM target. Instead they need extra
customizations that are specific to LLVM-on-GPUs and our custom runtime
wrappers.
This change make the GpuToLLVMConversionPass just as pluggable as the
`convert-to-llvm` by using the same mechanism.
Commit: 002c54a2e6cced2eb9d79608afee5fb36dcc5b98
https://github.com/llvm/llvm-project/commit/002c54a2e6cced2eb9d79608afee5fb36dcc5b98
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
A flang/docs/OpenACC-descriptor-management.md
Log Message:
-----------
[flang][openacc] Representing Fortran descriptor management with OpenACC. (#72725)
This document describes the aspects of Fortran descriptor management
in the offload data environment and how this semantics can be
represented using MLIR OpenACC dialect.
In the document I tried to clarify some parts of the OpenACC
specification that seemed unclear to me, e.g. where the spec allowed different
interpretations (in my opinion) or did not specify the actual runtime
behavior. I tried to demonstrate how this ambiguity can affect user
programs with examples.
The document proposes using `attachRecipe` on the data operations
to represent the non-trivial pointer attachment semantics for variables
represented by descriptors. The recipe provides the actual
implementation of the pointer attachment, e.g. we can call an F18 offload runtime
function that will perform all necessary checks and actions.
It is unclear at this point if we want to expose the implementation
details in FIR, otherwise, the recipe could have contained more low
level acc operations such as is_present lookups, host to device
memory copies, etc.
Commit: e947f953370abe8ffc8713b8f3250a3ec39599fe
https://github.com/llvm/llvm-project/commit/e947f953370abe8ffc8713b8f3250a3ec39599fe
Author: Philip Reames <preames at rivosinc.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
M llvm/test/CodeGen/RISCV/branch-on-zero.ll
M llvm/test/CodeGen/RISCV/riscv-codegenprepare-asm.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-buildvec.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-load-store-asm.ll
M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands-i1.ll
M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.ll
M llvm/test/Transforms/LoopStrengthReduce/RISCV/lsr-cost-compare.ll
Log Message:
-----------
[LSR][TTI][RISCV] Enable terminator folding for RISC-V
If looking for a miscompile revert candidate, look here!
The transform being enabled prefers comparing to a loop invariant
exit value for a secondary IV over using an otherwise dead primary
IV. This increases register pressure (by requiring the exit value
to be live through the loop), but reduces the number of instructions
within the loop by one.
On RISC-V which has a large number of scalar registers, this is
generally a profitable transform. We loose the ability to use a beqz
on what is typically a count down IV, and pay the cost of computing
the exit value on the secondary IV in the loop preheader, but save
an add or sub in the loop body. For anything except an extremely
short running loop, or one with extreme register pressure, this is
profitable. On spec2017, we see a 0.42% geomean improvement in
dynamic icount, with no individual workload regressing by more than
0.25%.
Code size wise, we trade a (possibly compressible) beqz and a (possibly
compressible) addi for a uncompressible beq. We also add instructions
in the preheader. Net result is a slight regression overall, but
neutral or better inside the loop.
Previous versions of this transform had numerous cornercase correctness
bugs. All of them ones I can spot by inspection have been fixed, and I
have run this through all of spec2017, but there may be further issues
lurking. Adding uses to an IV is a fraught thing to do given poison
semantics, so this transform is somewhat inherently risky.
This patch is a reworked version of D134893 by @eop. That patch has
been abandoned since May, so I picked it up, reworked it a bit, and
am landing it.
Commit: 771e9cda239c12ebc3aec65d8a6fd861b2c9e4dc
https://github.com/llvm/llvm-project/commit/771e9cda239c12ebc3aec65d8a6fd861b2c9e4dc
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M compiler-rt/lib/msan/msan_interceptors.cpp
M compiler-rt/test/lit.common.cfg.py
M compiler-rt/test/msan/Linux/mallinfo.cpp
A compiler-rt/test/msan/Linux/mallinfo2.cpp
Log Message:
-----------
[msan] Intercept mallinfo2 only on GLIBC 2.33+
Followup to #73729
Commit: 792253ae0ef3acf9e55f92de25e0bd47a8531d1a
https://github.com/llvm/llvm-project/commit/792253ae0ef3acf9e55f92de25e0bd47a8531d1a
Author: Francesco Petrogalli <francesco.petrogalli at apple.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M llvm/docs/CommandGuide/llvm-reduce.rst
Log Message:
-----------
[llvm][docs] Add example use of `llvm-reduce`. (#73237)
The script is based on an example provided by Tim
Northover (https://github.com/TNorthover).
Commit: 545c8e009e2b649ef38f7e432ffbc06ba8a9b813
https://github.com/llvm/llvm-project/commit/545c8e009e2b649ef38f7e432ffbc06ba8a9b813
Author: Adrian Prantl <aprantl at apple.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M lld/COFF/Driver.cpp
M lld/ELF/Driver.cpp
M llvm/include/llvm/Support/LEB128.h
M llvm/lib/Object/MachOObjectFile.cpp
M llvm/lib/Support/DataExtractor.cpp
M llvm/tools/llvm-readobj/ELFDumper.cpp
Log Message:
-----------
[LEB128] Don't initialize error on success
This change removes an unnecessary branch from a hot path. It's also
questionable API to override any previous error unconditonally.
Commit: b96121c2e7de66154a70db5f202c9adce515aa45
https://github.com/llvm/llvm-project/commit/b96121c2e7de66154a70db5f202c9adce515aa45
Author: Adrian Prantl <aprantl at apple.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M llvm/include/llvm/Support/LEB128.h
Log Message:
-----------
[LEB128] Factor out redundant code
Commit: 0cc2acc30b3d2f4e914fd49c599cfde8a17f26a6
https://github.com/llvm/llvm-project/commit/0cc2acc30b3d2f4e914fd49c599cfde8a17f26a6
Author: Adrian Prantl <aprantl at apple.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M llvm/include/llvm/Support/LEB128.h
Log Message:
-----------
[LEB128] Don't handle edge cases in every loop iteration
Previously the overflow check was done for every byte even though it
is only needed for the case where Shift == 63.
Commit: 80fc872a24c4dca4820d2e7885b5ee9195bec42a
https://github.com/llvm/llvm-project/commit/80fc872a24c4dca4820d2e7885b5ee9195bec42a
Author: Adrian Prantl <aprantl at apple.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M llvm/include/llvm/Support/LEB128.h
Log Message:
-----------
[LEB128] Mark error condition with LLVM_UNLIKELY
Commit: 9415fca848db7686700f17eb5a238484c24f87de
https://github.com/llvm/llvm-project/commit/9415fca848db7686700f17eb5a238484c24f87de
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M mlir/lib/Conversion/GPUCommon/CMakeLists.txt
Log Message:
-----------
[mlir] Fix build with shared libs (missing cmake link dependency) (NFC)
Commit: f32509b2ca209f8620bbe5e66e77ed85aa8d1d84
https://github.com/llvm/llvm-project/commit/f32509b2ca209f8620bbe5e66e77ed85aa8d1d84
Author: Stefan Gränitz <stefan.graenitz at gmail.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M llvm/unittests/ExecutionEngine/JITLink/AArch32ErrorTests.cpp
Log Message:
-----------
[JITLink][AArch32] Test out-of-range and interworking errors for Thumb (#73397)
Commit: 1cbd52f791d3f088246526c0801634edb65cee31
https://github.com/llvm/llvm-project/commit/1cbd52f791d3f088246526c0801634edb65cee31
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaExpr.cpp
A clang/test/SemaCXX/cxx2c-enum-compare.cpp
M clang/www/cxx_status.html
Log Message:
-----------
[Clang] Implement P2864R2 Remove Deprecated Arithmetic Conversion on Enumerations (#73105)
https://isocpp.org/files/papers/P2864R2.pdf
Commit: b2f42f5d298cd68366b48ab7f20ab02dc80c8cae
https://github.com/llvm/llvm-project/commit/b2f42f5d298cd68366b48ab7f20ab02dc80c8cae
Author: Florian Hahn <flo at fhahn.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M llvm/test/Transforms/LoopVectorize/reduction-small-size.ll
Log Message:
-----------
[LV] Add test variant without sdiv by undef and uses.
Add a variant of @PR34687 with a sdiv with non-undef operands and actual
uses, to avoid the SDIV and SELECT being folded away triviall.y
Commit: 3313c256c82e16e6f15a182bbf77ad2d60548a56
https://github.com/llvm/llvm-project/commit/3313c256c82e16e6f15a182bbf77ad2d60548a56
Author: Craig Topper <craig.topper at sifive.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M clang/lib/Headers/riscv_crypto.h
Log Message:
-----------
[RISCV] Fix a couple copy/paste mistakes in riscv_crypto.h. NFC
Commit: 77e5c5dbd88a7845fe5b8225f6bb139048ced1a9
https://github.com/llvm/llvm-project/commit/77e5c5dbd88a7845fe5b8225f6bb139048ced1a9
Author: Adrian Prantl <aprantl at apple.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M llvm/include/llvm/Support/LEB128.h
Log Message:
-----------
Revert "[LEB128] Mark error condition with LLVM_UNLIKELY"
This reverts commit 80fc872a24c4dca4820d2e7885b5ee9195bec42a.
Commit: 275bec486f68cc027d121e3ff8f807086cdf4902
https://github.com/llvm/llvm-project/commit/275bec486f68cc027d121e3ff8f807086cdf4902
Author: Adrian Prantl <aprantl at apple.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M llvm/include/llvm/Support/LEB128.h
Log Message:
-----------
Revert "[LEB128] Don't handle edge cases in every loop iteration"
This reverts commit 0cc2acc30b3d2f4e914fd49c599cfde8a17f26a6.
Commit: fc05a82fa6f91c6872a0fad80177d63b578df14f
https://github.com/llvm/llvm-project/commit/fc05a82fa6f91c6872a0fad80177d63b578df14f
Author: Adrian Prantl <aprantl at apple.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M llvm/include/llvm/Support/LEB128.h
Log Message:
-----------
Revert "[LEB128] Factor out redundant code"
This reverts commit b96121c2e7de66154a70db5f202c9adce515aa45.
Commit: 69b0cb9c567eb0f937474f5424b9ed23b61c04d7
https://github.com/llvm/llvm-project/commit/69b0cb9c567eb0f937474f5424b9ed23b61c04d7
Author: Adrian Prantl <aprantl at apple.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M lld/COFF/Driver.cpp
M lld/ELF/Driver.cpp
M llvm/include/llvm/Support/LEB128.h
M llvm/lib/Object/MachOObjectFile.cpp
M llvm/lib/Support/DataExtractor.cpp
M llvm/tools/llvm-readobj/ELFDumper.cpp
Log Message:
-----------
Revert "[LEB128] Don't initialize error on success"
This reverts commit 545c8e009e2b649ef38f7e432ffbc06ba8a9b813.
Commit: 076bd22f579ec4c90b41c700fca21a90fd2b6dbc
https://github.com/llvm/llvm-project/commit/076bd22f579ec4c90b41c700fca21a90fd2b6dbc
Author: ShatianWang <38512325+ShatianWang at users.noreply.github.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M bolt/include/bolt/Core/BinaryContext.h
M bolt/include/bolt/Passes/SplitFunctions.h
M bolt/lib/Passes/ReorderFunctions.cpp
M bolt/lib/Passes/SplitFunctions.cpp
M bolt/lib/Rewrite/BinaryPassManager.cpp
Log Message:
-----------
[BOLT] Add structure of CDSplit to SplitFunctions (#73430)
This commit establishes the general structure of the CDSplit strategy in
SplitFunctions without incorporating the exact splitting logic. With
-split-functions -split-strategy=cdsplit, the SplitFunctions pass will
run twice: the first time is before function reordering and functions
are hot-cold split; the second time is after function reordering and
functions are hot-warm-cold split based on the fixed function ordering.
Currently, all functions are hot-warm split after the entry block in the
second splitting pass. Subsequent commits will introduce the precise
splitting logic. NFC.
Commit: 2c07181424b45d0785002b760f9ab404b7506b57
https://github.com/llvm/llvm-project/commit/2c07181424b45d0785002b760f9ab404b7506b57
Author: Adrian Prantl <aprantl at apple.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M lld/COFF/Driver.cpp
M lld/ELF/Driver.cpp
M llvm/include/llvm/Support/LEB128.h
M llvm/lib/Object/MachOObjectFile.cpp
M llvm/lib/Support/DataExtractor.cpp
M llvm/tools/llvm-readobj/COFFDumper.cpp
M llvm/tools/llvm-readobj/ELFDumper.cpp
Log Message:
-----------
[LEB128] Don't initialize error on success
This change removes an unnecessary branch from a hot path. It's also
questionable API to override any previous error unconditonally.
Commit: 643f25fb1d0b2153e8684354968ad358cc0e3f53
https://github.com/llvm/llvm-project/commit/643f25fb1d0b2153e8684354968ad358cc0e3f53
Author: Adrian Prantl <aprantl at apple.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M llvm/include/llvm/Support/LEB128.h
Log Message:
-----------
[LEB128] Factor out redundant code
Commit: 963b186951ec9b8babb924ebda6a9f193a6269c8
https://github.com/llvm/llvm-project/commit/963b186951ec9b8babb924ebda6a9f193a6269c8
Author: Adrian Prantl <aprantl at apple.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M llvm/include/llvm/Support/LEB128.h
Log Message:
-----------
[LEB128] Don't handle edge cases in every loop iteration
Previously the overflow check was done for every byte even though it
is only needed for the case where Shift == 63.
Commit: efa1d0d641c770267ff4c523a450334cd24ebe15
https://github.com/llvm/llvm-project/commit/efa1d0d641c770267ff4c523a450334cd24ebe15
Author: Adrian Prantl <aprantl at apple.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M llvm/include/llvm/Support/LEB128.h
Log Message:
-----------
[LEB128] Mark error condition with LLVM_UNLIKELY
Commit: 4c1745207665262380e9bff65201816a966339d0
https://github.com/llvm/llvm-project/commit/4c1745207665262380e9bff65201816a966339d0
Author: Owen Pan <owenpiano at gmail.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M clang/include/clang/Format/Format.h
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/FormatToken.cpp
M clang/lib/Format/FormatTokenLexer.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
Log Message:
-----------
[clang-format][NFC] Extend isProto() to also cover LK_TextProto (#73582)
Commit: bbae59ae71c73e26809d4ab7da1a80239ebd9381
https://github.com/llvm/llvm-project/commit/bbae59ae71c73e26809d4ab7da1a80239ebd9381
Author: Owen Pan <owenpiano at gmail.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M clang/lib/Format/UnwrappedLineFormatter.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Finalize children after formatting them (#73753)
This would also fix the overlapping replacements below:
```
$ clang-format
a(
#else
#endif
) = []() {
)}
The new replacement overlaps with an existing replacement.
New replacement: <stdin>: 38:+7:"
"
Existing replacement: <stdin>: 38:+7:" "
```
Fixed #73487.
Commit: 0123608822a7b58d6deca528eef8dc958420acd1
https://github.com/llvm/llvm-project/commit/0123608822a7b58d6deca528eef8dc958420acd1
Author: Craig Topper <craig.topper at sifive.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M clang/lib/Basic/Targets/RISCV.cpp
Log Message:
-----------
[RISCV] Minor improvements/cleanup to target attribute handling. NFC (#73851)
Use ArrayRef to avoid a vector copy.
Replace a push_back loop with a call to std::vector::insert.
Commit: 44c5593cd5f337d44e23a2151c3e84495b007109
https://github.com/llvm/llvm-project/commit/44c5593cd5f337d44e23a2151c3e84495b007109
Author: David Li <57157229+david-xl at users.noreply.github.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
Log Message:
-----------
Fix stale comment (#73846)
Fix stale comment.
Commit: 328fd363daabb464670613dece6c75cf99d03410
https://github.com/llvm/llvm-project/commit/328fd363daabb464670613dece6c75cf99d03410
Author: Youngsuk Kim <youngsuk.kim at hpe.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M clang/lib/CodeGen/CGStmtOpenMP.cpp
Log Message:
-----------
[clang][CGStmtOpenMP] Remove unneeded calls to CreatePointerBitCastOrAddrSpaceCast (NFC)
Opaque ptr cleanup effort (NFC).
Commit: 73f8aa01d8b60bf4323359a9e2d45e68395ac290
https://github.com/llvm/llvm-project/commit/73f8aa01d8b60bf4323359a9e2d45e68395ac290
Author: michaelrj-google <71531609+michaelrj-google at users.noreply.github.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][NFC] Fix missing dep in bazel (#73854)
Patch #73469 added a dependency from __support/bit.h to
__support/CPP/type_traits.h, but didn't add a dependency in the bazel.
This caused downstream build failures. This patch fixes the missing
dependency.
Commit: ae4d7ac9c885d56c98c1a19af9c330de37883ad1
https://github.com/llvm/llvm-project/commit/ae4d7ac9c885d56c98c1a19af9c330de37883ad1
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M flang/include/flang/Frontend/CompilerInstance.h
M flang/include/flang/Frontend/CompilerInvocation.h
M flang/lib/Frontend/CompilerInstance.cpp
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendAction.cpp
M flang/lib/Frontend/FrontendActions.cpp
Log Message:
-----------
[flang][driver][nfc] Move the definition of SemanticsContext (#73669)
Moves the defintion of `SemanticsContext` within the Flang driver.
Rather than in `CompilerInvocation`, semantic context fits better within
`CompilerInstance` that encapsulates the objects that are required to
run the
frontend. `CompilerInvocation` is better suited for objects
encapsulating compiler configuration (e.g. set-up resulting from user
input or host set-up).
Commit: 4b2ba5a61aaa9b7bea493425699f8a8d32a191b0
https://github.com/llvm/llvm-project/commit/4b2ba5a61aaa9b7bea493425699f8a8d32a191b0
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
A mlir/test/Integration/Dialect/Linalg/CPU/ArmSVE/matmul_mixed_ty.mlir
Log Message:
-----------
[mlir][sve] Add an e2e for linalg.matmul with mixed types (#73773)
Apart from the test itself, this patch also updates a few patterns to
fix how new VectorType(s) are created. Namely, it makes sure that
"scalability" is correctly propagated.
Regression tests will be updated seperately while auditing Vector
dialect tests in the context of scalable vectors:
* https://github.com/orgs/llvm/projects/23
Commit: f150ecc32276d3afa96f673ebbd388d99ac1ccca
https://github.com/llvm/llvm-project/commit/f150ecc32276d3afa96f673ebbd388d99ac1ccca
Author: Tom Stellard <tstellar at redhat.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M .github/workflows/libcxx-build-and-test.yaml
Log Message:
-----------
[workflows] Add top-level permissions for libcxx-build-and-test.yaml (#73689)
This is the standard convention for our workflow files.
Commit: cc33f2e1bf31679932e8570f2ad37d46c47004cb
https://github.com/llvm/llvm-project/commit/cc33f2e1bf31679932e8570f2ad37d46c47004cb
Author: Justin Bogner <mail at justinbogner.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
M .ci/monolithic-linux.sh
M .ci/monolithic-windows.sh
M .github/CODEOWNERS
M .github/new-prs-labeler.yml
M .github/workflows/docs.yml
M .github/workflows/issue-subscriber.yml
A .github/workflows/libcxx-build-and-test.yaml
M .github/workflows/pr-code-format.yml
M .github/workflows/pr-subscriber.yml
M .github/workflows/release-binaries.yml
M .github/workflows/scorecard.yml
R .github/workflows/sync-release-repo.yml
M .mailmap
M bolt/docs/doxygen.cfg.in
M bolt/include/bolt/Core/BinaryContext.h
M bolt/include/bolt/Core/BinaryFunction.h
M bolt/include/bolt/Core/BinarySection.h
M bolt/include/bolt/Core/DIEBuilder.h
M bolt/include/bolt/Core/DebugData.h
M bolt/include/bolt/Core/DynoStats.h
M bolt/include/bolt/Core/Exceptions.h
M bolt/include/bolt/Core/MCPlus.h
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/include/bolt/Core/Relocation.h
M bolt/include/bolt/Passes/FixRelaxationPass.h
M bolt/include/bolt/Passes/InstrumentationSummary.h
M bolt/include/bolt/Passes/ReorderAlgorithm.h
M bolt/include/bolt/Passes/SplitFunctions.h
M bolt/include/bolt/Passes/StackReachingUses.h
M bolt/include/bolt/Passes/StokeInfo.h
M bolt/include/bolt/Passes/TailDuplication.h
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/include/bolt/Profile/DataReader.h
M bolt/include/bolt/Rewrite/RewriteInstance.h
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Core/BinaryEmitter.cpp
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Core/BinarySection.cpp
M bolt/lib/Core/DIEBuilder.cpp
M bolt/lib/Core/DebugData.cpp
M bolt/lib/Core/DynoStats.cpp
M bolt/lib/Core/Exceptions.cpp
M bolt/lib/Core/HashUtilities.cpp
M bolt/lib/Core/MCPlusBuilder.cpp
M bolt/lib/Core/Relocation.cpp
M bolt/lib/Passes/ADRRelaxationPass.cpp
M bolt/lib/Passes/BinaryPasses.cpp
M bolt/lib/Passes/IndirectCallPromotion.cpp
M bolt/lib/Passes/Instrumentation.cpp
M bolt/lib/Passes/JTFootprintReduction.cpp
M bolt/lib/Passes/PatchEntries.cpp
M bolt/lib/Passes/ReorderData.cpp
M bolt/lib/Passes/ReorderFunctions.cpp
M bolt/lib/Passes/RetpolineInsertion.cpp
M bolt/lib/Passes/ShrinkWrapping.cpp
M bolt/lib/Passes/SplitFunctions.cpp
M bolt/lib/Passes/StokeInfo.cpp
M bolt/lib/Passes/TailDuplication.cpp
M bolt/lib/Passes/ValidateInternalCalls.cpp
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Profile/DataReader.cpp
M bolt/lib/Profile/StaleProfileMatching.cpp
M bolt/lib/Profile/YAMLProfileReader.cpp
M bolt/lib/Rewrite/BinaryPassManager.cpp
M bolt/lib/Rewrite/BoltDiff.cpp
M bolt/lib/Rewrite/DWARFRewriter.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/lib/RuntimeLibs/HugifyRuntimeLibrary.cpp
M bolt/lib/RuntimeLibs/InstrumentationRuntimeLibrary.cpp
M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
M bolt/lib/Utils/CommandLineOpts.cpp
M bolt/runtime/instr.cpp
A bolt/test/AArch64/Inputs/iplt.ld
M bolt/test/AArch64/go_dwarf.test
M bolt/test/AArch64/got-ld64-relaxation.test
A bolt/test/AArch64/hook-fini.s
A bolt/test/AArch64/ifunc.c
A bolt/test/AArch64/patch-entries.s
M bolt/test/AArch64/r_aarch64_prelxx.s
R bolt/test/AArch64/reloc-call26.s
M bolt/test/AArch64/skip-got-rel.test
M bolt/test/AArch64/unmarked-data.test
A bolt/test/Inputs/lsda.ldscript
M bolt/test/RISCV/branch-no-secondary-entry.s
M bolt/test/RISCV/call-annotations.s
M bolt/test/RISCV/load-store.s
M bolt/test/RISCV/reloc-abs.s
M bolt/test/RISCV/reloc-bb-split.s
M bolt/test/RISCV/reloc-branch.s
M bolt/test/RISCV/reloc-call.s
M bolt/test/RISCV/reloc-got.s
M bolt/test/RISCV/reloc-jal.s
M bolt/test/RISCV/reloc-lohi.s
M bolt/test/RISCV/reloc-pcrel.s
M bolt/test/RISCV/reloc-rvc-branch.s
M bolt/test/RISCV/reloc-rvc-jump.s
M bolt/test/RISCV/reloc-tls.s
M bolt/test/X86/Inputs/blarge_profile_stale.yaml
M bolt/test/X86/Inputs/dwarf5-cu-no-debug-addr-helper.s
A bolt/test/X86/Inputs/dwarf5-df-output-dir-same-name-helper.s
A bolt/test/X86/Inputs/dwarf5-df-output-dir-same-name-main.s
A bolt/test/X86/Inputs/dwarf5-df-types-dup-helper.s
A bolt/test/X86/Inputs/dwarf5-df-types-dup-main.s
M bolt/test/X86/Inputs/linenumber.cpp
M bolt/test/X86/block-reordering.test
M bolt/test/X86/branch-data.test
M bolt/test/X86/bug-function-layout-execount.s
A bolt/test/X86/calculate-emitted-block-size.s
M bolt/test/X86/call-zero.s
M bolt/test/X86/cfi-instrs-count.s
M bolt/test/X86/checkvma-large-section.test
M bolt/test/X86/data-to-data-pcrel.s
M bolt/test/X86/double-jump.test
M bolt/test/X86/double-rel.s
A bolt/test/X86/dwarf-inline-range.s
A bolt/test/X86/dwarf4-deleted-range.s
M bolt/test/X86/dwarf5-call-pc-function-null-check.test
A bolt/test/X86/dwarf5-deleted-range.s
M bolt/test/X86/dwarf5-df-inlined-subroutine-range-0.test
A bolt/test/X86/dwarf5-df-output-dir-same-name.test
A bolt/test/X86/dwarf5-df-types-dup-dwp-input.test
M bolt/test/X86/dwarf5-split-dwarf4-monolithic.test
M bolt/test/X86/dynrelocs.s
M bolt/test/X86/exceptions-args.test
M bolt/test/X86/fallthrough-to-noop.test
M bolt/test/X86/fptr-addend-pcrel.s
M bolt/test/X86/gotpcrelx.s
M bolt/test/X86/icp-inline.s
M bolt/test/X86/indirect-goto.test
M bolt/test/X86/is-strip.s
M bolt/test/X86/jmpjmp.test
M bolt/test/X86/jump-table-footprint-reduction.test
M bolt/test/X86/jump-table-icp.test
M bolt/test/X86/jump-table-pic-order.test
M bolt/test/X86/jump-table-reference.test
A bolt/test/X86/keep-nops.s
M bolt/test/X86/layout-heuristic.test
M bolt/test/X86/line-number.test
M bolt/test/X86/lto-name-match.s
M bolt/test/X86/no-entry-reordering.test
M bolt/test/X86/pre-aggregated-perf.test
M bolt/test/X86/pt_gnu_relro.s
M bolt/test/X86/reader-stale-yaml.test
M bolt/test/X86/reader.test
M bolt/test/X86/sctc-bug.test
M bolt/test/X86/sctc-bug2.test
M bolt/test/X86/sctc-bug3.test
M bolt/test/X86/sctc-bug4.test
M bolt/test/X86/section-end-sym.s
M bolt/test/X86/tail-duplication-cache.s
M bolt/test/X86/tailcall.test
M bolt/test/X86/vararg.test
M bolt/test/X86/yaml-multiple-profiles.test
M bolt/test/bad-exe.test
A bolt/test/lsda-section-name.cpp
M bolt/test/no-relocs.test
A bolt/test/perf2bolt/Inputs/perf_test.c
A bolt/test/perf2bolt/Inputs/perf_test.lds
A bolt/test/perf2bolt/lit.local.cfg
A bolt/test/perf2bolt/perf_test.test
M bolt/test/pie.test
M bolt/test/re-optimize.test
M bolt/test/runtime/AArch64/adrrelaxationpass.s
M bolt/test/runtime/AArch64/controlflow.s
A bolt/test/runtime/AArch64/hook-fini.test
M bolt/test/runtime/X86/asm-dump.c
A bolt/test/runtime/X86/exceptions-lpstart-zero.s
M bolt/test/runtime/X86/instrumentation-ind-calls.s
M bolt/test/runtime/iplt.c
M bolt/test/yaml-profile-kind.c
M bolt/unittests/Core/BinaryContext.cpp
A bolt/utils/nfc-stat-parser.py
M clang-tools-extra/clang-tidy/abseil/StringFindStartswithCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/AssertSideEffectCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/LambdaFunctionNameCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SizeofExpressionCheck.cpp
M clang-tools-extra/clang-tidy/misc/CoroutineHostileRAIICheck.cpp
M clang-tools-extra/clang-tidy/misc/CoroutineHostileRAIICheck.h
M clang-tools-extra/clang-tidy/modernize/AvoidBindCheck.cpp
M clang-tools-extra/clang-tidy/modernize/LoopConvertUtils.cpp
M clang-tools-extra/clang-tidy/modernize/MakeSmartPtrCheck.cpp
M clang-tools-extra/clang-tidy/performance/EnumSizeCheck.cpp
M clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
M clang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.cpp
M clang-tools-extra/clang-tidy/utils/IncludeSorter.cpp
M clang-tools-extra/clangd/CodeComplete.cpp
M clang-tools-extra/clangd/Hover.cpp
M clang-tools-extra/clangd/index/CanonicalIncludes.cpp
M clang-tools-extra/clangd/refactor/tweaks/CMakeLists.txt
M clang-tools-extra/clangd/refactor/tweaks/ExtractVariable.cpp
M clang-tools-extra/clangd/refactor/tweaks/PopulateSwitch.cpp
A clang-tools-extra/clangd/refactor/tweaks/ScopifyEnum.cpp
M clang-tools-extra/clangd/test/diagnostics-tidy.test
M clang-tools-extra/clangd/tool/ClangdMain.cpp
M clang-tools-extra/clangd/unittests/CMakeLists.txt
M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
M clang-tools-extra/clangd/unittests/DiagnosticsTests.cpp
M clang-tools-extra/clangd/unittests/HoverTests.cpp
M clang-tools-extra/clangd/unittests/tweaks/ExtractVariableTests.cpp
A clang-tools-extra/clangd/unittests/tweaks/ScopifyEnumTests.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/abseil/string-find-startswith.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/avoid-c-arrays.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/avoid-goto.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/no-assembler.rst
M clang-tools-extra/docs/clang-tidy/checks/misc/coroutine-hostile-raii.rst
M clang-tools-extra/docs/clang-tidy/checks/performance/enum-size.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/identifier-naming.rst
M clang-tools-extra/include-cleaner/lib/Record.cpp
M clang-tools-extra/include-cleaner/lib/WalkAST.cpp
M clang-tools-extra/include-cleaner/unittests/RecordTest.cpp
M clang-tools-extra/include-cleaner/unittests/WalkASTTest.cpp
M clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/string
M clang-tools-extra/test/clang-tidy/checkers/abseil/string-find-startswith.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/assert-side-effect.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/sizeof-expression-warn-on-sizeof-pointer-to-aggregate.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/sizeof-expression.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-templates.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/coroutine-hostile-raii.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-bind.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/enum-size.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-case-match.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion.cpp
M clang/cmake/caches/Fuchsia-stage2.cmake
M clang/cmake/caches/Fuchsia.cmake
M clang/docs/AutomaticReferenceCounting.rst
M clang/docs/ClangFormatStyleOptions.rst
M clang/docs/InternalsManual.rst
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/UsersManual.rst
M clang/docs/analyzer/checkers.rst
M clang/docs/tools/clang-formatted-files.txt
M clang/examples/CMakeLists.txt
A clang/examples/LLVMPrintFunctionNames/CMakeLists.txt
A clang/examples/LLVMPrintFunctionNames/LLVMPrintFunctionNames.cpp
A clang/examples/LLVMPrintFunctionNames/LLVMPrintFunctionNames.exports
A clang/include/clang/APINotes/APINotesManager.h
M clang/include/clang/APINotes/APINotesYAMLCompiler.h
M clang/include/clang/APINotes/Types.h
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/Attr.h
M clang/include/clang/AST/CXXInheritance.h
M clang/include/clang/AST/Comment.h
M clang/include/clang/AST/CommentSema.h
M clang/include/clang/AST/CommentVisitor.h
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclBase.h
M clang/include/clang/AST/DeclCXX.h
M clang/include/clang/AST/DeclFriend.h
M clang/include/clang/AST/DeclObjC.h
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/AST/DependentDiagnostic.h
M clang/include/clang/AST/Expr.h
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/ExprConcepts.h
M clang/include/clang/AST/ExprObjC.h
M clang/include/clang/AST/OpenMPClause.h
M clang/include/clang/AST/PrettyPrinter.h
M clang/include/clang/AST/RawCommentList.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/Stmt.h
M clang/include/clang/AST/StmtOpenMP.h
M clang/include/clang/AST/TemplateBase.h
M clang/include/clang/AST/TemplateName.h
M clang/include/clang/AST/Type.h
M clang/include/clang/Analysis/FlowSensitive/Arena.h
M clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
A clang/include/clang/Analysis/FlowSensitive/SimplifyConstraints.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/AttributeCommonInfo.h
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Basic/CodeGenOptions.h
M clang/include/clang/Basic/Cuda.h
M clang/include/clang/Basic/Diagnostic.h
M clang/include/clang/Basic/DiagnosticCommonKinds.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticIDs.h
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/Features.def
M clang/include/clang/Basic/IdentifierTable.h
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/LangOptions.h
M clang/include/clang/Basic/Module.h
A clang/include/clang/Basic/OpenACCKinds.h
M clang/include/clang/Basic/OpenMPKinds.def
M clang/include/clang/Basic/OpenMPKinds.h
M clang/include/clang/Basic/ParsedAttrInfo.h
M clang/include/clang/Basic/PragmaKinds.h
M clang/include/clang/Basic/RISCVVTypes.def
M clang/include/clang/Basic/SourceManager.h
A clang/include/clang/Basic/SourceMgrAdapter.h
M clang/include/clang/Basic/Specifiers.h
M clang/include/clang/Basic/TargetInfo.h
M clang/include/clang/Basic/TargetOptions.h
M clang/include/clang/Basic/TokenKinds.def
M clang/include/clang/Basic/arm_sme.td
M clang/include/clang/Basic/arm_sve.td
M clang/include/clang/Basic/arm_sve_sme_incl.td
M clang/include/clang/Basic/riscv_sifive_vector.td
M clang/include/clang/Basic/riscv_vector.td
M clang/include/clang/Basic/riscv_vector_common.td
M clang/include/clang/CodeGen/BackendUtil.h
M clang/include/clang/CodeGen/ConstantInitBuilder.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/ExtractAPI/DeclarationFragments.h
M clang/include/clang/Format/Format.h
M clang/include/clang/Frontend/ASTUnit.h
M clang/include/clang/Frontend/CompilerInstance.h
M clang/include/clang/Frontend/DependencyOutputOptions.h
M clang/include/clang/Frontend/FrontendOptions.h
M clang/include/clang/Frontend/MigratorOptions.h
M clang/include/clang/Frontend/PreprocessorOutputOptions.h
M clang/include/clang/Frontend/TextDiagnosticPrinter.h
M clang/include/clang/Frontend/Utils.h
M clang/include/clang/Frontend/VerifyDiagnosticConsumer.h
M clang/include/clang/Lex/DirectoryLookup.h
M clang/include/clang/Lex/HeaderSearch.h
M clang/include/clang/Lex/HeaderSearchOptions.h
M clang/include/clang/Lex/MacroInfo.h
M clang/include/clang/Lex/ModuleMap.h
M clang/include/clang/Lex/PreprocessingRecord.h
M clang/include/clang/Lex/Preprocessor.h
M clang/include/clang/Lex/VariadicMacroSupport.h
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Parse/RAIIObjectsForParser.h
M clang/include/clang/Sema/Overload.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/Serialization/ASTRecordReader.h
M clang/include/clang/Serialization/ASTWriter.h
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/include/clang/StaticAnalyzer/Checkers/SValExplainer.h
M clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/DynamicType.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SValVisitor.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.def
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h
M clang/include/clang/Support/RISCVVIntrinsicUtils.h
M clang/include/clang/Tooling/DependencyScanning/DependencyScanningFilesystem.h
M clang/include/clang/Tooling/DependencyScanning/DependencyScanningService.h
M clang/include/clang/Tooling/DependencyScanning/DependencyScanningWorker.h
M clang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h
M clang/lib/APINotes/APINotesFormat.h
A clang/lib/APINotes/APINotesManager.cpp
M clang/lib/APINotes/APINotesReader.cpp
M clang/lib/APINotes/APINotesWriter.cpp
M clang/lib/APINotes/APINotesYAMLCompiler.cpp
M clang/lib/APINotes/CMakeLists.txt
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/Comment.cpp
M clang/lib/AST/CommentSema.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclBase.cpp
M clang/lib/AST/DeclObjC.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ExprCXX.cpp
A clang/lib/AST/ExprConstShared.h
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/Interp/ByteCodeEmitter.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.h
M clang/lib/AST/Interp/Function.cpp
M clang/lib/AST/Interp/Function.h
M clang/lib/AST/Interp/IntegralAP.h
M clang/lib/AST/Interp/Interp.cpp
M clang/lib/AST/Interp/Interp.h
M clang/lib/AST/Interp/InterpBlock.h
M clang/lib/AST/Interp/InterpBuiltin.cpp
M clang/lib/AST/Interp/Pointer.h
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/JSONNodeDumper.cpp
M clang/lib/AST/ODRHash.cpp
M clang/lib/AST/OpenMPClause.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TemplateBase.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/AST/VTableBuilder.cpp
M clang/lib/Analysis/ExprMutationAnalyzer.cpp
M clang/lib/Analysis/FlowSensitive/CMakeLists.txt
M clang/lib/Analysis/FlowSensitive/DataflowAnalysisContext.cpp
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
A clang/lib/Analysis/FlowSensitive/SimplifyConstraints.cpp
M clang/lib/Analysis/FlowSensitive/Transfer.cpp
M clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp
M clang/lib/Analysis/FlowSensitive/Value.cpp
M clang/lib/Basic/CMakeLists.txt
M clang/lib/Basic/Cuda.cpp
M clang/lib/Basic/IdentifierTable.cpp
M clang/lib/Basic/OpenMPKinds.cpp
M clang/lib/Basic/SourceManager.cpp
A clang/lib/Basic/SourceMgrAdapter.cpp
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/Basic/Targets/AArch64.h
M clang/lib/Basic/Targets/BPF.cpp
M clang/lib/Basic/Targets/NVPTX.cpp
M clang/lib/Basic/Targets/OSTargets.h
M clang/lib/Basic/Targets/PPC.cpp
M clang/lib/Basic/Targets/RISCV.cpp
M clang/lib/Basic/Targets/RISCV.h
M clang/lib/Basic/Targets/X86.cpp
A clang/lib/CodeGen/BackendConsumer.h
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CGAtomic.cpp
M clang/lib/CodeGen/CGBlocks.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCXXABI.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGCoroutine.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGDebugInfo.h
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGDeclCXX.cpp
M clang/lib/CodeGen/CGException.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CGExprConstant.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CGGPUBuiltin.cpp
M clang/lib/CodeGen/CGLoopInfo.cpp
M clang/lib/CodeGen/CGLoopInfo.h
M clang/lib/CodeGen/CGNonTrivialStruct.cpp
M clang/lib/CodeGen/CGObjC.cpp
M clang/lib/CodeGen/CGObjCGNU.cpp
M clang/lib/CodeGen/CGObjCMac.cpp
M clang/lib/CodeGen/CGOpenCLRuntime.cpp
M clang/lib/CodeGen/CGOpenCLRuntime.h
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.h
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/CGVTT.cpp
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/CodeGen/CMakeLists.txt
M clang/lib/CodeGen/CodeGenAction.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenModule.h
M clang/lib/CodeGen/CodeGenPGO.cpp
M clang/lib/CodeGen/CodeGenTypes.cpp
M clang/lib/CodeGen/CoverageMappingGen.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
A clang/lib/CodeGen/LinkInModulesPass.cpp
A clang/lib/CodeGen/LinkInModulesPass.h
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/CodeGen/TargetInfo.cpp
M clang/lib/CodeGen/Targets/AMDGPU.cpp
M clang/lib/CodeGen/Targets/LoongArch.cpp
M clang/lib/Driver/ToolChains/AIX.cpp
M clang/lib/Driver/ToolChains/AVR.cpp
M clang/lib/Driver/ToolChains/Arch/AArch64.cpp
M clang/lib/Driver/ToolChains/Arch/RISCV.cpp
M clang/lib/Driver/ToolChains/Arch/X86.cpp
M clang/lib/Driver/ToolChains/BareMetal.cpp
M clang/lib/Driver/ToolChains/BareMetal.h
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/CommonArgs.h
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/DragonFly.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Driver/ToolChains/Flang.h
M clang/lib/Driver/ToolChains/FreeBSD.cpp
M clang/lib/Driver/ToolChains/Fuchsia.cpp
M clang/lib/Driver/ToolChains/Gnu.cpp
M clang/lib/Driver/ToolChains/Gnu.h
M clang/lib/Driver/ToolChains/Haiku.cpp
M clang/lib/Driver/ToolChains/MSVC.cpp
M clang/lib/Driver/ToolChains/MinGW.cpp
M clang/lib/Driver/ToolChains/NetBSD.cpp
M clang/lib/Driver/ToolChains/OpenBSD.cpp
M clang/lib/Driver/ToolChains/Solaris.cpp
M clang/lib/Driver/ToolChains/ZOS.cpp
M clang/lib/Edit/RewriteObjCFoundationAPI.cpp
M clang/lib/ExtractAPI/DeclarationFragments.cpp
M clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatToken.cpp
M clang/lib/Format/FormatToken.h
M clang/lib/Format/FormatTokenLexer.cpp
M clang/lib/Format/QualifierAlignmentFixer.cpp
M clang/lib/Format/QualifierAlignmentFixer.h
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/UnwrappedLineFormatter.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Format/UnwrappedLineParser.h
M clang/lib/Format/WhitespaceManager.cpp
M clang/lib/Format/WhitespaceManager.h
M clang/lib/Frontend/ASTMerge.cpp
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Frontend/CMakeLists.txt
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/DependencyFile.cpp
M clang/lib/Frontend/FrontendAction.cpp
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp
M clang/lib/Frontend/Rewrite/RewriteObjC.cpp
M clang/lib/Headers/CMakeLists.txt
M clang/lib/Headers/avx2intrin.h
M clang/lib/Headers/avx512bf16intrin.h
M clang/lib/Headers/avx512bwintrin.h
M clang/lib/Headers/avx512dqintrin.h
M clang/lib/Headers/avx512fintrin.h
M clang/lib/Headers/avx512fp16intrin.h
M clang/lib/Headers/avx512ifmavlintrin.h
M clang/lib/Headers/avx512pfintrin.h
M clang/lib/Headers/avx512vbmivlintrin.h
M clang/lib/Headers/avx512vlbf16intrin.h
M clang/lib/Headers/avx512vlbitalgintrin.h
M clang/lib/Headers/avx512vlbwintrin.h
M clang/lib/Headers/avx512vlcdintrin.h
M clang/lib/Headers/avx512vldqintrin.h
M clang/lib/Headers/avx512vlfp16intrin.h
M clang/lib/Headers/avx512vlintrin.h
M clang/lib/Headers/avx512vlvbmi2intrin.h
M clang/lib/Headers/avx512vlvnniintrin.h
M clang/lib/Headers/avx512vlvp2intersectintrin.h
M clang/lib/Headers/avx512vpopcntdqvlintrin.h
M clang/lib/Headers/avxintrin.h
M clang/lib/Headers/emmintrin.h
M clang/lib/Headers/gfniintrin.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/lib/Headers/llvm_libc_wrappers/ctype.h
M clang/lib/Headers/llvm_libc_wrappers/stdio.h
M clang/lib/Headers/mmintrin.h
M clang/lib/Headers/pmmintrin.h
A clang/lib/Headers/riscv_bitmanip.h
A clang/lib/Headers/riscv_crypto.h
M clang/lib/Headers/smmintrin.h
M clang/lib/Headers/tmmintrin.h
M clang/lib/Headers/xmmintrin.h
M clang/lib/Index/CommentToXML.cpp
M clang/lib/Interpreter/CMakeLists.txt
M clang/lib/Lex/Lexer.cpp
M clang/lib/Lex/LiteralSupport.cpp
M clang/lib/Lex/ModuleMap.cpp
M clang/lib/Lex/PPCaching.cpp
M clang/lib/Lex/PPDirectives.cpp
M clang/lib/Lex/PPLexerChange.cpp
M clang/lib/Lex/Preprocessor.cpp
M clang/lib/Parse/CMakeLists.txt
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseExprCXX.cpp
A clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Parse/ParsePragma.cpp
M clang/lib/Parse/ParseStmt.cpp
M clang/lib/Parse/ParseTentative.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/CMakeLists.txt
M clang/lib/Sema/IdentifierResolver.cpp
M clang/lib/Sema/ParsedAttr.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaAttr.cpp
M clang/lib/Sema/SemaAvailability.cpp
M clang/lib/Sema/SemaCUDA.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaCodeComplete.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaExprMember.cpp
M clang/lib/Sema/SemaExprObjC.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaLambda.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaModule.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaRISCVVectorLookup.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/Sema/SemaStmtAttr.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaTemplateVariadic.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp
M clang/lib/StaticAnalyzer/Checkers/BuiltinFunctionChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
M clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/CheckSecuritySyntaxOnly.cpp
M clang/lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp
M clang/lib/StaticAnalyzer/Checkers/ErrnoModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/ErrnoModeling.h
M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.h
M clang/lib/StaticAnalyzer/Checkers/SimpleStreamChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
A clang/lib/StaticAnalyzer/Checkers/StdVariantChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
A clang/lib/StaticAnalyzer/Checkers/TaggedUnionModeling.h
M clang/lib/StaticAnalyzer/Checkers/VLASizeChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/NoUncountedMembersChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
M clang/lib/StaticAnalyzer/Checkers/WebKit/RefCntblBaseVirtualDtorChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedCallArgsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLocalVarsChecker.cpp
M clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
M clang/lib/StaticAnalyzer/Core/CallEvent.cpp
M clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp
M clang/lib/StaticAnalyzer/Core/SValBuilder.cpp
M clang/lib/StaticAnalyzer/Core/SVals.cpp
M clang/lib/StaticAnalyzer/Core/SimpleConstraintManager.cpp
M clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp
M clang/lib/StaticAnalyzer/Core/Store.cpp
M clang/lib/Support/RISCVVIntrinsicUtils.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningService.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
M clang/lib/Tooling/DumpTool/ClangSrcLocDump.cpp
M clang/lib/Tooling/DumpTool/generate_cxx_src_locs.py
M clang/lib/Tooling/Inclusions/Stdlib/StandardLibrary.cpp
M clang/test/AST/Interp/builtin-functions.cpp
M clang/test/AST/Interp/c.c
M clang/test/AST/Interp/functions.cpp
M clang/test/AST/Interp/intap.cpp
M clang/test/AST/Interp/literals.cpp
M clang/test/AST/ast-dump-template-decls-json.cpp
A clang/test/Analysis/Checkers/WebKit/ref-cntbl-base-virtual-dtor-ref-deref-on-diff-classes.cpp
A clang/test/Analysis/Checkers/WebKit/uncounted-members-ref-deref-on-diff-classes.cpp
M clang/test/Analysis/Inputs/system-header-simulator-cxx.h
M clang/test/Analysis/Inputs/system-header-simulator.h
M clang/test/Analysis/analyzer-config.c
M clang/test/Analysis/analyzer-enabled-checkers.c
M clang/test/Analysis/builtin_bitcast.cpp
M clang/test/Analysis/builtin_signbit.cpp
M clang/test/Analysis/cert/env31-c.c
M clang/test/Analysis/cert/env34-c-cert-examples.c
M clang/test/Analysis/cert/env34-c.c
M clang/test/Analysis/diagnostics/explicit-suppression.cpp
M clang/test/Analysis/errno-notes.c
M clang/test/Analysis/errno-options.c
M clang/test/Analysis/errno-stdlibraryfunctions-notes.c
M clang/test/Analysis/errno-stdlibraryfunctions.c
M clang/test/Analysis/errno.c
M clang/test/Analysis/invalid-ptr-checker.c
M clang/test/Analysis/malloc.c
M clang/test/Analysis/memory-model.cpp
A clang/test/Analysis/out-of-bounds-diagnostics.c
M clang/test/Analysis/out-of-bounds-new.cpp
M clang/test/Analysis/out-of-bounds.c
M clang/test/Analysis/security-syntax-checks.c
M clang/test/Analysis/std-c-library-functions-POSIX.c
M clang/test/Analysis/std-c-library-functions-arg-enabled-checkers.c
M clang/test/Analysis/std-c-library-functions-path-notes.c
A clang/test/Analysis/std-variant-checker.cpp
M clang/test/Analysis/stream-errno-note.c
M clang/test/Analysis/stream-errno.c
M clang/test/Analysis/stream-error.c
M clang/test/Analysis/stream-non-posix-function.c
M clang/test/Analysis/stream-noopen.c
M clang/test/Analysis/stream.c
M clang/test/Analysis/taint-diagnostic-visitor.c
M clang/test/Analysis/taint-generic.c
M clang/test/Analysis/taint-generic.cpp
M clang/test/C/C2x/n2508.c
M clang/test/C/drs/dr4xx.c
M clang/test/CMakeLists.txt
A clang/test/CXX/drs/dr27xx.cpp
M clang/test/CXX/module/module.import/p2.cpp
M clang/test/CXX/module/module.reach/ex1.cpp
M clang/test/CXX/module/module.reach/p2.cpp
M clang/test/CXX/special/class.dtor/p3-0x.cpp
M clang/test/CXX/temp/temp.decls/temp.variadic/p5.cpp
M clang/test/ClangScanDeps/P1689.cppm
M clang/test/ClangScanDeps/header-search-pruning-transitive.c
M clang/test/ClangScanDeps/header-search-pruning.cpp
M clang/test/ClangScanDeps/modules-symlink-dir-from-module.c
M clang/test/ClangScanDeps/modules-symlink-dir.c
A clang/test/ClangScanDeps/optimize-system-warnings.m
M clang/test/ClangScanDeps/regular_cdb.cpp
M clang/test/ClangScanDeps/relative_directory.cpp
A clang/test/ClangScanDeps/strip-visibility.c
M clang/test/CodeGen/LoongArch/abi-lp64d-empty-structs.c
M clang/test/CodeGen/LoongArch/abi-lp64d-empty-unions.c
A clang/test/CodeGen/PowerPC/ppc-full-reg-names.c
A clang/test/CodeGen/RISCV/math-builtins.c
A clang/test/CodeGen/RISCV/riscv-func-attr-target-err.c
A clang/test/CodeGen/RISCV/riscv-func-attr-target.c
M clang/test/CodeGen/RISCV/rvb-intrinsics/zbkb.c
M clang/test/CodeGen/RISCV/rvb-intrinsics/zbkc.c
M clang/test/CodeGen/RISCV/rvb-intrinsics/zbkx.c
M clang/test/CodeGen/RISCV/rvk-intrinsics/riscv32-zknd.c
M clang/test/CodeGen/RISCV/rvk-intrinsics/riscv32-zkne.c
M clang/test/CodeGen/RISCV/rvk-intrinsics/riscv32-zknh.c
M clang/test/CodeGen/RISCV/rvk-intrinsics/riscv64-zknd-zkne.c
M clang/test/CodeGen/RISCV/rvk-intrinsics/riscv64-zknd.c
M clang/test/CodeGen/RISCV/rvk-intrinsics/riscv64-zkne.c
M clang/test/CodeGen/RISCV/rvk-intrinsics/riscv64-zknh.c
M clang/test/CodeGen/RISCV/rvk-intrinsics/zksed.c
M clang/test/CodeGen/RISCV/rvk-intrinsics/zksh.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/sf_vfwmacc_4x4x4.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/xsfvcp-xv-rv64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/xsfvcp-xv.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/xsfvcp-xvv-rv64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/xsfvcp-xvv.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/xsfvcp-xvw.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/sf_vfwmacc_4x4x4.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/sf_vfwmacc_4x4x4.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/sf_vfwmacc_4x4x4.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-handcrafted/rvv-intrinsic-datatypes.cpp
M clang/test/CodeGen/SystemZ/align-systemz.c
A clang/test/CodeGen/SystemZ/mbackchain-4.c
A clang/test/CodeGen/SystemZ/systemz-ppa2.c
M clang/test/CodeGen/X86/avx512-error.c
A clang/test/CodeGen/X86/math-builtins.c
A clang/test/CodeGen/X86/pr72106.c
M clang/test/CodeGen/aapcs-align.cpp
M clang/test/CodeGen/aapcs64-align.cpp
M clang/test/CodeGen/aarch64-ls64-inline-asm.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_ldr.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_str.c
A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_add.c
A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_bmop.c
A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_clamp.c
A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_max.c
A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_maxnm.c
A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_min.c
A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_minnm.c
A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mop.c
A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_sub.c
A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_add.c
A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfadd.c
A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfclamp.c
A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmax.c
A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmaxnm.c
A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmin.c
A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfminnm.c
A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmla.c
A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmla_lane.c
A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmls.c
A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmls_lane.c
A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmul.c
A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmul_lane.c
A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfsub.c
A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_extq.c
A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_ld1_single.c
A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_loads.c
A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_pmov_to_pred.c
A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_pmov_to_vector.c
A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_st1_single.c
A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_store.c
A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_tblq.c
A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_tbxq.c
A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_uzpq1.c
A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_uzpq2.c
A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_zipq1.c
A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_zipq2.c
M clang/test/CodeGen/amdgpu-abi-version.c
M clang/test/CodeGen/amdgpu-address-spaces.cpp
M clang/test/CodeGen/attr-counted-by.c
M clang/test/CodeGen/builtin-align-array.c
M clang/test/CodeGen/builtin-align.c
M clang/test/CodeGen/catch-undef-behavior.c
A clang/test/CodeGen/code_align.c
M clang/test/CodeGen/cspgo-instrumentation_thinlto.c
M clang/test/CodeGen/debug-info-codeview-unnamed.c
M clang/test/CodeGen/debug-info-unused-types.c
M clang/test/CodeGen/debug-info-unused-types.cpp
M clang/test/CodeGen/fp-floatcontrol-stack.cpp
A clang/test/CodeGen/fp-reciprocal-pragma.cpp
R clang/test/CodeGen/math-builtins.c
M clang/test/CodeGen/ms-inline-asm-64.c
M clang/test/CodeGen/ms-intrinsics.c
M clang/test/CodeGen/no-builtin.cpp
M clang/test/CodeGen/target-avx-abi-diag.c
M clang/test/CodeGen/windows-seh-EHa-TryInFinally.cpp
M clang/test/CodeGenCUDA/amdgpu-code-object-version-linking.cu
M clang/test/CodeGenCUDA/amdgpu-code-object-version.cu
M clang/test/CodeGenCUDA/amdgpu-workgroup-size.cu
A clang/test/CodeGenCUDA/implicit-host-device-fun.cu
M clang/test/CodeGenCUDA/offloading-entries.cu
M clang/test/CodeGenCXX/aarch64-sve-vector-init.cpp
M clang/test/CodeGenCXX/apple-kext.cpp
M clang/test/CodeGenCXX/auto-var-init.cpp
A clang/test/CodeGenCXX/datasizeof.cpp
M clang/test/CodeGenCXX/debug-info-access.cpp
M clang/test/CodeGenCXX/debug-info-anon-union-vars.cpp
M clang/test/CodeGenCXX/debug-info-class.cpp
M clang/test/CodeGenCXX/debug-info-codeview-unnamed.cpp
M clang/test/CodeGenCXX/debug-info-gline-tables-only-codeview.cpp
A clang/test/CodeGenCXX/debug-info-lambda-this.cpp
A clang/test/CodeGenCXX/debug-info-static-inline-member.cpp
M clang/test/CodeGenCXX/debug-info-static-member.cpp
M clang/test/CodeGenCXX/debug-lambda-this.cpp
M clang/test/CodeGenCXX/eh.cpp
M clang/test/CodeGenCXX/exceptions.cpp
A clang/test/CodeGenCXX/fixed-point-mangle.cpp
M clang/test/CodeGenCXX/float128-declarations.cpp
M clang/test/CodeGenCXX/module-funcs-from-imports.cppm
A clang/test/CodeGenCXX/ms-local-vft-alias-comdat.cpp
M clang/test/CodeGenCXX/partitions.cpp
M clang/test/CodeGenCXX/riscv-mangle-rvv-fixed-vectors.cpp
A clang/test/CodeGenCXX/template-param-objects-address-space.cpp
M clang/test/CodeGenCXX/type-metadata.cpp
M clang/test/CodeGenCXX/visibility.cpp
M clang/test/CodeGenCXX/wasm-eh.cpp
M clang/test/CodeGenCoroutines/coro-cleanup.cpp
A clang/test/CodeGenCoroutines/coro-init-await-nontrivial-return.cpp
A clang/test/CodeGenCoroutines/coro-only-destroy-when-complete.cpp
A clang/test/CodeGenHIP/dpp-const-fold.hip
A clang/test/CodeGenHLSL/builtins/ScalarSwizzles.hlsl
M clang/test/CodeGenObjC/arc.m
M clang/test/CodeGenObjC/convert-messages-to-runtime-calls.m
M clang/test/CodeGenObjCXX/encode.mm
M clang/test/CodeGenOpenCL/amdgpu-features.cl
M clang/test/CodeGenOpenCL/amdgpu-printf.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-wmma-w32-gfx10-err.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-wmma-w32-param-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-wmma-w32.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-wmma-w64-gfx10-err.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-wmma-w64-param-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-wmma-w64.cl
M clang/test/Driver/aarch64-features.c
M clang/test/Driver/aarch64-mcpu.c
A clang/test/Driver/aarch64-v95a.c
M clang/test/Driver/amdgpu-macros.cl
M clang/test/Driver/amdgpu-mcpu.cl
M clang/test/Driver/android-pie.c
R clang/test/Driver/canonical-system-headers.c
M clang/test/Driver/clang-exception-flags.cpp
M clang/test/Driver/darwin-header-search-libcxx.cpp
M clang/test/Driver/dynamic-linker.c
M clang/test/Driver/emulated-tls.cpp
A clang/test/Driver/entry.s
M clang/test/Driver/fdirect-access-external-data.c
M clang/test/Driver/fsanitize.c
M clang/test/Driver/haiku.c
M clang/test/Driver/hip-code-object-version.hip
M clang/test/Driver/hip-device-libs.hip
M clang/test/Driver/lanai-unknown-unknown.cpp
M clang/test/Driver/linker-wrapper-image.c
M clang/test/Driver/linker-wrapper.c
M clang/test/Driver/linux-ld.c
M clang/test/Driver/mcmodel.c
R clang/test/Driver/mipsel-nacl-defines.cpp
M clang/test/Driver/netbsd.c
M clang/test/Driver/ohos.c
A clang/test/Driver/openacc.c
M clang/test/Driver/openbsd.c
M clang/test/Driver/pic.c
M clang/test/Driver/riscv-cpus.c
M clang/test/Driver/save-stats.c
M clang/test/Driver/wasm32-unknown-unknown.cpp
M clang/test/Driver/wasm64-unknown-unknown.cpp
M clang/test/Driver/x86-target-features.c
M clang/test/Driver/x86_64-nacl-defines.cpp
M clang/test/ExtractAPI/anonymous_record_no_typedef.c
M clang/test/ExtractAPI/availability.c
M clang/test/ExtractAPI/bool.c
M clang/test/ExtractAPI/bool.cpp
M clang/test/ExtractAPI/class.cpp
M clang/test/ExtractAPI/class_template.cpp
M clang/test/ExtractAPI/class_template_param_inheritance.cpp
M clang/test/ExtractAPI/class_template_partial_spec.cpp
M clang/test/ExtractAPI/class_template_spec.cpp
M clang/test/ExtractAPI/concept.cpp
M clang/test/ExtractAPI/constructor_destructor.cpp
M clang/test/ExtractAPI/conversions.cpp
M clang/test/ExtractAPI/emit-symbol-graph/multi_file.c
M clang/test/ExtractAPI/emit-symbol-graph/single_file.c
M clang/test/ExtractAPI/enum.c
M clang/test/ExtractAPI/field_template.cpp
M clang/test/ExtractAPI/function_noexcepts.cpp
M clang/test/ExtractAPI/global_func_template.cpp
M clang/test/ExtractAPI/global_func_template_spec.cpp
M clang/test/ExtractAPI/global_record.c
M clang/test/ExtractAPI/global_record_multifile.c
M clang/test/ExtractAPI/global_var_template.cpp
M clang/test/ExtractAPI/global_var_template_partial_spec.cpp
M clang/test/ExtractAPI/global_var_template_spec.cpp
M clang/test/ExtractAPI/known_files_only.c
M clang/test/ExtractAPI/language.c
M clang/test/ExtractAPI/macro_undefined.c
M clang/test/ExtractAPI/macros.c
M clang/test/ExtractAPI/method_template.cpp
M clang/test/ExtractAPI/method_template_spec.cpp
M clang/test/ExtractAPI/methods.cpp
M clang/test/ExtractAPI/multiple_inheritance.cpp
M clang/test/ExtractAPI/namespace.cpp
M clang/test/ExtractAPI/nested_namespaces.cpp
A clang/test/ExtractAPI/objc_block.m
M clang/test/ExtractAPI/objc_category.m
M clang/test/ExtractAPI/objc_id_protocol.m
M clang/test/ExtractAPI/objc_instancetype.m
M clang/test/ExtractAPI/objc_interface.m
M clang/test/ExtractAPI/objc_module_category.m
M clang/test/ExtractAPI/objc_property.m
M clang/test/ExtractAPI/objc_protocol.m
M clang/test/ExtractAPI/objc_various_categories.m
M clang/test/ExtractAPI/operator_overload.cpp
M clang/test/ExtractAPI/relative_include.m
M clang/test/ExtractAPI/simple_inheritance.cpp
M clang/test/ExtractAPI/struct.c
M clang/test/ExtractAPI/typedef.c
M clang/test/ExtractAPI/typedef_anonymous_record.c
M clang/test/ExtractAPI/typedef_chain.c
M clang/test/ExtractAPI/typedef_struct_enum.c
M clang/test/ExtractAPI/underscored.c
A clang/test/Frontend/fixed_point_as_variables.c
M clang/test/Frontend/fixed_point_conversions.c
M clang/test/Frontend/fixed_point_errors.cpp
M clang/test/Frontend/fixed_point_not_enabled.c
A clang/test/Frontend/llvmplugins.c
M clang/test/Headers/__clang_hip_math.hip
M clang/test/Headers/amdgcn_openmp_device_math_constexpr.cpp
M clang/test/Headers/wasm.c
M clang/test/Index/recursive-cxx-member-calls.cpp
M clang/test/Interpreter/const.cpp
A clang/test/Lexer/has_extension.cu
M clang/test/Lexer/update_consecutive_macro_address_space.c
M clang/test/Misc/cc1as-compress.s
M clang/test/Misc/pragma-attribute-supported-attributes-list.test
M clang/test/Misc/target-invalid-cpu-note.c
A clang/test/Modules/codegen-visibility.cpp
A clang/test/Modules/cxx20-importing-function-bodies.cppm
M clang/test/Modules/decl-params-determinisim.m
M clang/test/Modules/export-language-linkage.cppm
A clang/test/Modules/has_include_non_modular.c
M clang/test/Modules/no-import-func-body.cppm
A clang/test/Modules/pr71484.cppm
A clang/test/Modules/pr72828.cppm
A clang/test/Modules/visibility.cpp
M clang/test/OpenMP/amdgcn_target_global_constructor.cpp
M clang/test/OpenMP/assumes_codegen.cpp
M clang/test/OpenMP/atomic_ast_print.cpp
M clang/test/OpenMP/atomic_messages.cpp
M clang/test/OpenMP/barrier_ast_print.cpp
M clang/test/OpenMP/barrier_messages.cpp
M clang/test/OpenMP/bug54082.c
M clang/test/OpenMP/bug57757.cpp
A clang/test/OpenMP/bug69198.c
M clang/test/OpenMP/cancel_messages.cpp
M clang/test/OpenMP/cancellation_point_messages.cpp
M clang/test/OpenMP/declare_target_codegen.cpp
M clang/test/OpenMP/declare_target_link_codegen.cpp
M clang/test/OpenMP/depobj_messages.cpp
A clang/test/OpenMP/dispatch_unsupported.c
M clang/test/OpenMP/error_message.cpp
M clang/test/OpenMP/flush_messages.cpp
M clang/test/OpenMP/for_firstprivate_codegen.cpp
M clang/test/OpenMP/for_lastprivate_codegen.cpp
M clang/test/OpenMP/for_linear_codegen.cpp
M clang/test/OpenMP/metadirective_ast_print.c
M clang/test/OpenMP/metadirective_empty.cpp
M clang/test/OpenMP/nothing_messages.cpp
M clang/test/OpenMP/nvptx_declare_target_var_ctor_dtor_codegen.cpp
M clang/test/OpenMP/nvptx_target_parallel_reduction_codegen.cpp
M clang/test/OpenMP/nvptx_target_parallel_reduction_codegen_tbaa_PR46146.cpp
M clang/test/OpenMP/nvptx_teams_reduction_codegen.cpp
M clang/test/OpenMP/parallel_firstprivate_codegen.cpp
M clang/test/OpenMP/parallel_private_codegen.cpp
M clang/test/OpenMP/parallel_reduction_codegen.cpp
M clang/test/OpenMP/reduction_implicit_map.cpp
M clang/test/OpenMP/scan_messages.cpp
M clang/test/OpenMP/sections_firstprivate_codegen.cpp
M clang/test/OpenMP/single_firstprivate_codegen.cpp
M clang/test/OpenMP/target_ast_print.cpp
M clang/test/OpenMP/target_enter_data_nowait_messages.cpp
M clang/test/OpenMP/target_teams_generic_loop_codegen.cpp
M clang/test/OpenMP/taskwait_messages.cpp
M clang/test/OpenMP/taskyield_messages.cpp
M clang/test/Parser/c1x-alignas.c
A clang/test/Parser/c2x-alignas.c
M clang/test/Parser/cxx0x-attributes.cpp
M clang/test/Parser/pragma-fp-contract.c
M clang/test/Parser/pragma-fp.cpp
A clang/test/ParserHLSL/hlsl_groupshared.cpp
A clang/test/ParserHLSL/hlsl_parameter_modifiers.cpp
A clang/test/ParserOpenACC/disabled.c
A clang/test/ParserOpenACC/parse-constructs.c
A clang/test/ParserOpenACC/parse-constructs.cpp
A clang/test/ParserOpenACC/unimplemented.c
A clang/test/ParserOpenACC/unimplemented.cpp
R clang/test/Preprocessor/Inputs/canonical-system-headers/a.h
M clang/test/Preprocessor/aarch64-target-features.c
M clang/test/Preprocessor/bpf-predefined-macros.c
R clang/test/Preprocessor/canonical-system-headers.c
A clang/test/Preprocessor/openacc.c
M clang/test/Preprocessor/predefined-arch-macros.c
M clang/test/Preprocessor/riscv-target-features.c
M clang/test/Preprocessor/x86_target_features.c
M clang/test/Sema/128bitfloat.cpp
A clang/test/Sema/PR69717.cpp
A clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_imm.cpp
M clang/test/Sema/aarch64-sve2p1-intrinsics/acle_sve2p1_imm.cpp
M clang/test/Sema/attr-counted-by.c
M clang/test/Sema/builtin-classify-type.c
A clang/test/Sema/code_align.c
A clang/test/Sema/code_align_ast.c
M clang/test/Sema/eval-method-with-unsafe-math.c
M clang/test/Sema/nested-redef.c
M clang/test/Sema/riscv-types.c
M clang/test/Sema/rvv-required-features.c
A clang/test/SemaCUDA/implicit-host-device-fun.cu
A clang/test/SemaCXX/assume-nothrow-exception-dtor.cpp
M clang/test/SemaCXX/builtin-classify-type.cpp
M clang/test/SemaCXX/complex-folding.cpp
A clang/test/SemaCXX/coro-lifetimebound.cpp
A clang/test/SemaCXX/coro-return-type-and-wrapper.cpp
A clang/test/SemaCXX/cxx2c-enum-compare.cpp
A clang/test/SemaCXX/datasizeof.cpp
M clang/test/SemaCXX/modules.cppm
M clang/test/SemaCXX/overloaded-operators-display-order-crash.cpp
A clang/test/SemaCXX/pr61460.cpp
M clang/test/SemaCXX/static-assert-cxx26.cpp
M clang/test/SemaCXX/static-assert.cpp
M clang/test/SemaCXX/template-specialization.cpp
M clang/test/SemaCXX/type-traits-incomplete.cpp
A clang/test/SemaCXX/type-traits-nonobject.cpp
A clang/test/SemaCXX/warn-deprecated-specializations-in-system-headers.cpp
M clang/test/SemaHLSL/BuiltIns/vector-errors.hlsl
A clang/test/SemaHLSL/Types/BuiltinVector/ScalarSwizzleErrors.hlsl
A clang/test/SemaHLSL/Types/BuiltinVector/ScalarSwizzles.hlsl
A clang/test/SemaHLSL/parameter_modifiers.hlsl
A clang/test/SemaHLSL/parameter_modifiers_ast.hlsl
M clang/test/SemaObjC/ivar-lookup.m
A clang/test/SemaOpenMP/atomic-capture-const-no-crash.c
M clang/test/SemaTemplate/nested-deduction-guides.cpp
A clang/test/SemaTemplate/nested-implicit-deduction-guides.cpp
M clang/test/lit.cfg.py
A clang/test/utils/update_cc_test_checks/Inputs/annotations.c
A clang/test/utils/update_cc_test_checks/Inputs/annotations.c.expected
M clang/test/utils/update_cc_test_checks/Inputs/basic-cplusplus.cpp.expected
M clang/test/utils/update_cc_test_checks/Inputs/explicit-template-instantiation.cpp.expected
A clang/test/utils/update_cc_test_checks/Inputs/generated-funcs.c.generated.all.expected
M clang/test/utils/update_cc_test_checks/Inputs/generated-funcs.c.generated.expected
A clang/test/utils/update_cc_test_checks/Inputs/generated-funcs.c.no-generated.all.expected
M clang/test/utils/update_cc_test_checks/Inputs/generated-funcs.c.no-generated.expected
A clang/test/utils/update_cc_test_checks/annotations.test
M clang/test/utils/update_cc_test_checks/check-globals.test
M clang/test/utils/update_cc_test_checks/generated-funcs.test
M clang/tools/c-index-test/c-index-test.c
M clang/tools/c-index-test/core_main.cpp
M clang/tools/clang-format/clang-format-diff.py
M clang/tools/clang-linker-wrapper/CMakeLists.txt
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/clang-linker-wrapper/LinkerWrapperOpts.td
M clang/tools/clang-linker-wrapper/OffloadWrapper.cpp
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
M clang/tools/clang-scan-deps/Opts.td
M clang/tools/libclang/CIndex.cpp
M clang/tools/libclang/CXComment.cpp
M clang/unittests/AST/ASTImporterTest.cpp
M clang/unittests/AST/CommentParser.cpp
M clang/unittests/Analysis/ExprMutationAnalyzerTest.cpp
M clang/unittests/Analysis/FlowSensitive/CMakeLists.txt
M clang/unittests/Analysis/FlowSensitive/DataflowEnvironmentTest.cpp
A clang/unittests/Analysis/FlowSensitive/SimplifyConstraintsTest.cpp
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
M clang/unittests/Analysis/FlowSensitive/TypeErasedDataflowAnalysisTest.cpp
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/FormatTestComments.cpp
M clang/unittests/Format/FormatTestVerilog.cpp
M clang/unittests/Format/QualifierFixerTest.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
M clang/unittests/Frontend/ASTUnitTest.cpp
M clang/utils/ClangVisualizers/clang.natvis
M clang/utils/TableGen/RISCVVEmitter.cpp
M clang/utils/TableGen/SveEmitter.cpp
M clang/www/analyzer/open_projects.html
M clang/www/c_status.html
M clang/www/cxx_dr_status.html
M clang/www/cxx_status.html
M compiler-rt/cmake/Modules/AddCompilerRT.cmake
M compiler-rt/cmake/builtin-config-ix.cmake
M compiler-rt/include/profile/InstrProfData.inc
M compiler-rt/include/sanitizer/asan_interface.h
M compiler-rt/include/sanitizer/common_interface_defs.h
M compiler-rt/include/sanitizer/memprof_interface.h
M compiler-rt/include/sanitizer/tsan_interface.h
M compiler-rt/lib/asan/CMakeLists.txt
M compiler-rt/lib/asan/asan_allocator.cpp
M compiler-rt/lib/asan/asan_descriptions.cpp
M compiler-rt/lib/asan/asan_errors.cpp
M compiler-rt/lib/asan/asan_globals.cpp
M compiler-rt/lib/asan/asan_interceptors.cpp
M compiler-rt/lib/asan/asan_interceptors.h
M compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp
M compiler-rt/lib/asan/asan_internal.h
M compiler-rt/lib/asan/asan_malloc_linux.cpp
M compiler-rt/lib/asan/asan_malloc_mac.cpp
M compiler-rt/lib/asan/asan_malloc_win.cpp
M compiler-rt/lib/asan/asan_report.h
M compiler-rt/lib/asan/asan_rtl.cpp
M compiler-rt/lib/asan/asan_stack.cpp
M compiler-rt/lib/asan_abi/asan_abi_shim.cpp
M compiler-rt/lib/builtins/CMakeLists.txt
M compiler-rt/lib/builtins/assembly.h
M compiler-rt/lib/builtins/cpu_model.c
M compiler-rt/lib/hwasan/hwasan_interceptors.cpp
M compiler-rt/lib/hwasan/hwasan_linux.cpp
M compiler-rt/lib/hwasan/hwasan_platform_interceptors.h
M compiler-rt/lib/interception/interception.h
M compiler-rt/lib/interception/interception_win.cpp
M compiler-rt/lib/interception/tests/interception_win_test.cpp
M compiler-rt/lib/lsan/lsan_interceptors.cpp
M compiler-rt/lib/memprof/memprof_allocator.cpp
M compiler-rt/lib/memprof/memprof_interface_internal.h
M compiler-rt/lib/msan/msan_interceptors.cpp
A compiler-rt/lib/orc/bitmask_enum.h
M compiler-rt/lib/orc/simple_packed_serialization.h
M compiler-rt/lib/orc/stl_extras.h
M compiler-rt/lib/orc/tests/unit/CMakeLists.txt
A compiler-rt/lib/orc/tests/unit/bitmask_enum_test.cpp
M compiler-rt/lib/orc/tests/unit/simple_packed_serialization_test.cpp
M compiler-rt/lib/profile/InstrProfiling.c
M compiler-rt/lib/profile/InstrProfiling.h
M compiler-rt/lib/profile/InstrProfilingBuffer.c
M compiler-rt/lib/profile/InstrProfilingMerge.c
M compiler-rt/lib/profile/InstrProfilingWriter.c
M compiler-rt/lib/sanitizer_common/CMakeLists.txt
M compiler-rt/lib/sanitizer_common/sanitizer_allocator_primary64.h
M compiler-rt/lib/sanitizer_common/sanitizer_asm.h
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
M compiler-rt/lib/sanitizer_common/sanitizer_coverage_fuchsia.cpp
A compiler-rt/lib/sanitizer_common/sanitizer_dl.cpp
A compiler-rt/lib/sanitizer_common/sanitizer_dl.h
M compiler-rt/lib/sanitizer_common/sanitizer_flags.inc
M compiler-rt/lib/sanitizer_common/sanitizer_internal_defs.h
M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_linux.h
M compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_linux_s390.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_mallinfo.h
M compiler-rt/lib/sanitizer_common/sanitizer_platform.h
M compiler-rt/lib/sanitizer_common/sanitizer_ring_buffer.h
M compiler-rt/lib/sanitizer_common/sanitizer_stacktrace_printer.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_stacktrace_printer.h
R compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_fuchsia.h
M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup.cpp
A compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup.h
A compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup_constants.h
A compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup_fuchsia.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp
A compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_report_fuchsia.cpp
A compiler-rt/lib/sanitizer_common/sanitizer_unwind_fuchsia.cpp
M compiler-rt/lib/sanitizer_common/symbolizer/scripts/build_symbolizer.sh
M compiler-rt/lib/scudo/standalone/combined.h
M compiler-rt/lib/scudo/standalone/flags.cpp
M compiler-rt/lib/scudo/standalone/flags.inc
M compiler-rt/lib/scudo/standalone/flags_parser.cpp
M compiler-rt/lib/scudo/standalone/flags_parser.h
M compiler-rt/lib/scudo/standalone/local_cache.h
M compiler-rt/lib/scudo/standalone/secondary.h
M compiler-rt/lib/scudo/standalone/tests/memtag_test.cpp
M compiler-rt/lib/tsan/rtl/tsan_platform.h
M compiler-rt/lib/xray/xray_utils.cpp
M compiler-rt/test/asan/TestCases/Linux/odr-violation.cpp
M compiler-rt/test/asan/TestCases/Linux/odr_indicators.cpp
A compiler-rt/test/asan/TestCases/Windows/msvc/gz.cpp
M compiler-rt/test/builtins/Unit/divtc3_test.c
M compiler-rt/test/builtins/lit.cfg.py
M compiler-rt/test/hwasan/TestCases/Linux/release-shadow.c
A compiler-rt/test/hwasan/TestCases/memset.cpp
M compiler-rt/test/lit.common.cfg.py
A compiler-rt/test/memprof/TestCases/profile_reset.cpp
M compiler-rt/test/msan/Linux/mallinfo.cpp
A compiler-rt/test/msan/Linux/mallinfo2.cpp
M compiler-rt/test/msan/vararg.cpp
A compiler-rt/test/msan/vararg_shadow.cpp
M compiler-rt/test/profile/Linux/binary-id.c
A compiler-rt/test/sanitizer_common/TestCases/Linux/replace_dlopen_main_program_test.cpp
M compiler-rt/test/tsan/mutex_held_wrong_context.cpp
M compiler-rt/test/ubsan/TestCases/TypeCheck/vptr-non-unique-typeinfo.cpp
M compiler-rt/test/ubsan/TestCases/TypeCheck/vptr-virtual-base-construction.cpp
M compiler-rt/www/index.html
M cross-project-tests/debuginfo-tests/dexter-tests/memvars/struct-dse.c
A flang/docs/AssumedRank.md
M flang/docs/BijectiveInternalNameUniquing.md
M flang/docs/Extensions.md
M flang/docs/FIR/FIRLangRef_Header.md
M flang/docs/FlangDriver.md
M flang/docs/GettingStarted.md
M flang/docs/HighLevelFIR.md
M flang/docs/InternalProcedureTrampolines.md
M flang/docs/IntrinsicTypes.md
M flang/docs/Intrinsics.md
A flang/docs/OpenACC-descriptor-management.md
M flang/docs/OpenACC.md
M flang/docs/OptionComparison.md
M flang/docs/ParameterizedDerivedTypes.md
M flang/docs/PullRequestChecklist.md
M flang/docs/conf.py
M flang/docs/index.md
M flang/include/flang/Common/Fortran-features.h
M flang/include/flang/Common/enum-class.h
M flang/include/flang/Evaluate/characteristics.h
M flang/include/flang/Evaluate/common.h
M flang/include/flang/Frontend/CodeGenOptions.def
M flang/include/flang/Frontend/CodeGenOptions.h
M flang/include/flang/Frontend/CompilerInstance.h
M flang/include/flang/Frontend/CompilerInvocation.h
M flang/include/flang/Lower/AbstractConverter.h
M flang/include/flang/Lower/BoxAnalyzer.h
M flang/include/flang/Lower/Bridge.h
M flang/include/flang/Lower/CallInterface.h
M flang/include/flang/Lower/ConvertExpr.h
M flang/include/flang/Lower/ConvertProcedureDesignator.h
M flang/include/flang/Lower/LoweringOptions.def
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/Builder/HLFIRTools.h
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Builder/Runtime/Command.h
M flang/include/flang/Optimizer/Builder/Runtime/RTBuilder.h
M flang/include/flang/Optimizer/Dialect/FIRAttr.td
M flang/include/flang/Optimizer/Dialect/FIROps.h
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/Dialect/FIROpsSupport.h
M flang/include/flang/Optimizer/HLFIR/HLFIRDialect.h
M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
M flang/include/flang/Optimizer/Support/Utils.h
M flang/include/flang/Optimizer/Transforms/Passes.h
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Runtime/command.h
M flang/include/flang/Runtime/io-api.h
M flang/include/flang/Semantics/tools.h
M flang/include/flang/Tools/CLOptions.inc
M flang/lib/Decimal/CMakeLists.txt
M flang/lib/Evaluate/characteristics.cpp
M flang/lib/Evaluate/check-expression.cpp
M flang/lib/Evaluate/fold-complex.cpp
M flang/lib/Evaluate/fold-implementation.h
M flang/lib/Evaluate/fold-integer.cpp
M flang/lib/Evaluate/fold-logical.cpp
A flang/lib/Evaluate/fold-matmul.h
M flang/lib/Evaluate/fold-real.cpp
M flang/lib/Evaluate/fold-reduction.h
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Frontend/CMakeLists.txt
M flang/lib/Frontend/CompilerInstance.cpp
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendAction.cpp
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/CallInterface.cpp
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Lower/ConvertConstant.cpp
M flang/lib/Lower/ConvertExpr.cpp
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Lower/ConvertProcedureDesignator.cpp
M flang/lib/Lower/ConvertType.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Lower/DirectivesCommon.h
M flang/lib/Lower/IO.cpp
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Lower/OpenMP.cpp
M flang/lib/Optimizer/Builder/Character.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Command.cpp
M flang/lib/Optimizer/Builder/Runtime/Numeric.cpp
M flang/lib/Optimizer/Builder/Runtime/Reduction.cpp
M flang/lib/Optimizer/Builder/Runtime/Transformational.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/CodeGen/Target.cpp
M flang/lib/Optimizer/Dialect/FIRDialect.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/Dialect/FIRType.cpp
M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
M flang/lib/Optimizer/HLFIR/Transforms/BufferizeHLFIR.cpp
M flang/lib/Optimizer/Transforms/CMakeLists.txt
M flang/lib/Optimizer/Transforms/LoopVersioning.cpp
R flang/lib/Optimizer/Transforms/OMPEarlyOutlining.cpp
M flang/lib/Optimizer/Transforms/OMPFunctionFiltering.cpp
M flang/lib/Parser/Fortran-parsers.cpp
M flang/lib/Parser/expr-parsers.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/preprocessor.cpp
M flang/lib/Parser/prescan.cpp
M flang/lib/Semantics/check-acc-structure.cpp
M flang/lib/Semantics/check-allocate.cpp
M flang/lib/Semantics/check-call.cpp
M flang/lib/Semantics/check-data.cpp
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/check-directive-structure.h
M flang/lib/Semantics/check-do-forall.cpp
M flang/lib/Semantics/check-io.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
M flang/lib/Semantics/compute-offsets.cpp
M flang/lib/Semantics/data-to-inits.cpp
M flang/lib/Semantics/definable.cpp
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/pointer-assignment.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/semantics.cpp
M flang/module/__fortran_builtins.f90
M flang/runtime/CMakeLists.txt
M flang/runtime/FortranMain/CMakeLists.txt
M flang/runtime/character.cpp
M flang/runtime/command.cpp
M flang/runtime/descriptor-io.h
M flang/runtime/format-implementation.h
M flang/runtime/format.h
M flang/runtime/io-api.cpp
M flang/runtime/random.cpp
M flang/runtime/tools.cpp
M flang/runtime/transformational.cpp
A flang/test/Driver/Inputs/no_duplicate_main.ll
R flang/test/Driver/OpenMP/host-ir-flag.f90
A flang/test/Driver/code-object-version.f90
M flang/test/Driver/compiler_options.f90
M flang/test/Driver/ctofortran.f90
A flang/test/Driver/dependent-lib.f90
M flang/test/Driver/driver-help-hidden.f90
M flang/test/Driver/driver-help.f90
A flang/test/Driver/dynamic-linker.f90
M flang/test/Driver/frontend-forwarding.f90
A flang/test/Driver/fveclib-codegen.f90
A flang/test/Driver/fveclib.f90
A flang/test/Driver/hlfir-no-hlfir-error.f90
M flang/test/Driver/linker-flags.f90
M flang/test/Driver/lto-flags.f90
A flang/test/Driver/msvc-dependent-lib-flags.f90
A flang/test/Driver/no_duplicate_main.f90
M flang/test/Driver/omp-driver-offload.f90
M flang/test/Driver/optimization-remark.f90
M flang/test/Driver/save-mlir-temps.f90
A flang/test/Evaluate/fold-iostat.f90
A flang/test/Evaluate/fold-matmul.f90
M flang/test/Evaluate/fold-out_of_range.f90
M flang/test/Evaluate/folding04.f90
M flang/test/Evaluate/folding06.f90
R flang/test/Fir/achar.f90
M flang/test/Fir/array-value-copy-4.fir
A flang/test/Fir/box-offset-codegen.fir
A flang/test/Fir/box-offset.fir
M flang/test/Fir/boxproc.fir
M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
M flang/test/Fir/dispatch.f90
M flang/test/Fir/invalid.fir
M flang/test/Fir/polymorphic.fir
M flang/test/Fir/target-rewrite-boxchar.fir
M flang/test/Fir/target-rewrite-integer.fir
M flang/test/Fir/target-rewrite-selective.fir
M flang/test/Fir/tbaa-codegen2.fir
M flang/test/Fir/tbaa.fir
M flang/test/HLFIR/assign-codegen.fir
M flang/test/HLFIR/associate-codegen.fir
A flang/test/HLFIR/assumed_shape_with_value_keyword.f90
M flang/test/HLFIR/boxchar_emboxing.f90
M flang/test/HLFIR/bufferize-destroy-for-derived.fir
M flang/test/HLFIR/bufferize01.fir
M flang/test/HLFIR/call_with_poly_dummy.f90
M flang/test/HLFIR/copy-in-out-codegen.fir
M flang/test/HLFIR/elemental-codegen.fir
M flang/test/HLFIR/extents-of-shape-of.f90
M flang/test/HLFIR/get_length_codegen.fir
M flang/test/HLFIR/hlfir-flags.f90
M flang/test/HLFIR/mul_transpose.f90
A flang/test/Integration/OpenMP/host-ir-flag.f90
A flang/test/Integration/OpenMP/map-types-and-sizes.f90
A flang/test/Integration/OpenMP/target-filtering.f90
A flang/test/Integration/README.md
A flang/test/Lower/AMD/code-object-version.f90
M flang/test/Lower/HLFIR/array-ctor-as-elemental-nested.f90
M flang/test/Lower/HLFIR/array-ctor-as-elemental.f90
M flang/test/Lower/HLFIR/array-ctor-as-inlined-temp.f90
M flang/test/Lower/HLFIR/array-ctor-as-runtime-temp.f90
M flang/test/Lower/HLFIR/assignment-intrinsics.f90
M flang/test/Lower/HLFIR/associate-for-args-with-alloc-components.f90
M flang/test/Lower/HLFIR/calls-assumed-shape.f90
M flang/test/Lower/HLFIR/calls-constant-expr-arg-polymorphic.f90
M flang/test/Lower/HLFIR/calls-constant-expr-arg.f90
M flang/test/Lower/HLFIR/calls-f77.f90
M flang/test/Lower/HLFIR/calls-optional.f90
M flang/test/Lower/HLFIR/charconvert.f90
M flang/test/Lower/HLFIR/constant-character.f90
M flang/test/Lower/HLFIR/constant-derived.f90
M flang/test/Lower/HLFIR/convert-mbox-to-value.f90
M flang/test/Lower/HLFIR/cray-pointers.f90
M flang/test/Lower/HLFIR/elemental-array-ops.f90
M flang/test/Lower/HLFIR/elemental-call-vector-subscripts.f90
M flang/test/Lower/HLFIR/elemental-user-procedure-ref-polymorphic.f90
M flang/test/Lower/HLFIR/entry_return.f90
M flang/test/Lower/HLFIR/expr-addr.f90
M flang/test/Lower/HLFIR/poly_expr_for_nonpoly_dummy.f90
M flang/test/Lower/HLFIR/polymorphic-expressions.f90
A flang/test/Lower/HLFIR/procedure-pointer.f90
M flang/test/Lower/HLFIR/structure-constructor.f90
M flang/test/Lower/HLFIR/transformational.f90
M flang/test/Lower/HLFIR/user-defined-assignment.f90
M flang/test/Lower/HLFIR/vector-subscript-as-value.f90
M flang/test/Lower/HLFIR/vector-subscript-lhs.f90
M flang/test/Lower/Intrinsics/abs.f90
M flang/test/Lower/Intrinsics/achar.f90
M flang/test/Lower/Intrinsics/adjustl.f90
M flang/test/Lower/Intrinsics/adjustr.f90
M flang/test/Lower/Intrinsics/aint.f90
M flang/test/Lower/Intrinsics/all.f90
M flang/test/Lower/Intrinsics/anint.f90
M flang/test/Lower/Intrinsics/any.f90
M flang/test/Lower/Intrinsics/associated.f90
M flang/test/Lower/Intrinsics/atand.f90
M flang/test/Lower/Intrinsics/bessel_jn.f90
M flang/test/Lower/Intrinsics/bessel_yn.f90
M flang/test/Lower/Intrinsics/bge.f90
M flang/test/Lower/Intrinsics/bgt.f90
M flang/test/Lower/Intrinsics/ble.f90
M flang/test/Lower/Intrinsics/blt.f90
M flang/test/Lower/Intrinsics/btest.f90
M flang/test/Lower/Intrinsics/c_associated.f90
M flang/test/Lower/Intrinsics/c_f_pointer.f90
M flang/test/Lower/Intrinsics/c_funloc.f90
M flang/test/Lower/Intrinsics/c_loc.f90
M flang/test/Lower/Intrinsics/cmplx.f90
M flang/test/Lower/Intrinsics/count.f90
M flang/test/Lower/Intrinsics/cpu_time.f90
M flang/test/Lower/Intrinsics/date_and_time.f90
M flang/test/Lower/Intrinsics/dconjg.f90
M flang/test/Lower/Intrinsics/dim.f90
M flang/test/Lower/Intrinsics/dimag.f90
M flang/test/Lower/Intrinsics/dot_product.f90
M flang/test/Lower/Intrinsics/dprod.f90
M flang/test/Lower/Intrinsics/dreal.f90
M flang/test/Lower/Intrinsics/dshiftl.f90
M flang/test/Lower/Intrinsics/dshiftr.f90
M flang/test/Lower/Intrinsics/eoshift.f90
M flang/test/Lower/Intrinsics/exit-2.f90
M flang/test/Lower/Intrinsics/exit.f90
M flang/test/Lower/Intrinsics/exp.f90
M flang/test/Lower/Intrinsics/extends_type_of.f90
M flang/test/Lower/Intrinsics/findloc.f90
M flang/test/Lower/Intrinsics/get_command.f90
M flang/test/Lower/Intrinsics/get_command_argument-optional.f90
M flang/test/Lower/Intrinsics/get_command_argument.f90
M flang/test/Lower/Intrinsics/get_environment_variable-optional.f90
M flang/test/Lower/Intrinsics/get_environment_variable.f90
A flang/test/Lower/Intrinsics/getpid.f90
M flang/test/Lower/Intrinsics/iall.f90
M flang/test/Lower/Intrinsics/iand.f90
M flang/test/Lower/Intrinsics/iany.f90
M flang/test/Lower/Intrinsics/ibclr.f90
M flang/test/Lower/Intrinsics/ibits.f90
M flang/test/Lower/Intrinsics/ibset.f90
M flang/test/Lower/Intrinsics/ichar.f90
M flang/test/Lower/Intrinsics/ieee_class.f90
M flang/test/Lower/Intrinsics/ieee_copy_sign.f90
M flang/test/Lower/Intrinsics/ieee_is_finite.f90
M flang/test/Lower/Intrinsics/ieee_operator_eq.f90
M flang/test/Lower/Intrinsics/ieee_rounding.f90
M flang/test/Lower/Intrinsics/ieee_signbit.f90
M flang/test/Lower/Intrinsics/ieee_unordered.f90
M flang/test/Lower/Intrinsics/index.f90
M flang/test/Lower/Intrinsics/iparity.f90
M flang/test/Lower/Intrinsics/is_contiguous.f90
M flang/test/Lower/Intrinsics/is_iostat_value.f90
M flang/test/Lower/Intrinsics/ishft.f90
M flang/test/Lower/Intrinsics/ishftc.f90
M flang/test/Lower/Intrinsics/lbound.f90
M flang/test/Lower/Intrinsics/leadz.f90
M flang/test/Lower/Intrinsics/len.f90
M flang/test/Lower/Intrinsics/loc.f90
M flang/test/Lower/Intrinsics/log.f90
M flang/test/Lower/Intrinsics/maskl.f90
M flang/test/Lower/Intrinsics/maskr.f90
M flang/test/Lower/Intrinsics/matmul.f90
M flang/test/Lower/Intrinsics/max.f90
M flang/test/Lower/Intrinsics/maxloc.f90
M flang/test/Lower/Intrinsics/maxval.f90
M flang/test/Lower/Intrinsics/merge.f90
M flang/test/Lower/Intrinsics/merge_bits.f90
M flang/test/Lower/Intrinsics/minloc.f90
M flang/test/Lower/Intrinsics/minval.f90
M flang/test/Lower/Intrinsics/missing-math-runtime.f90
M flang/test/Lower/Intrinsics/mod.f90
M flang/test/Lower/Intrinsics/modulo.f90
M flang/test/Lower/Intrinsics/move_alloc.f90
M flang/test/Lower/Intrinsics/mvbits.f90
M flang/test/Lower/Intrinsics/nearest.f90
M flang/test/Lower/Intrinsics/norm2.f90
M flang/test/Lower/Intrinsics/not.f90
M flang/test/Lower/Intrinsics/pack.f90
M flang/test/Lower/Intrinsics/parity.f90
M flang/test/Lower/Intrinsics/popcnt.f90
M flang/test/Lower/Intrinsics/poppar.f90
M flang/test/Lower/Intrinsics/present.f90
M flang/test/Lower/Intrinsics/product.f90
M flang/test/Lower/Intrinsics/random.f90
M flang/test/Lower/Intrinsics/real.f90
M flang/test/Lower/Intrinsics/repeat.f90
M flang/test/Lower/Intrinsics/reshape.f90
M flang/test/Lower/Intrinsics/rrspacing.f90
M flang/test/Lower/Intrinsics/same_type_as.f90
M flang/test/Lower/Intrinsics/scale.f90
M flang/test/Lower/Intrinsics/scan.f90
M flang/test/Lower/Intrinsics/selected_int_kind.f90
M flang/test/Lower/Intrinsics/selected_real_kind.f90
M flang/test/Lower/Intrinsics/set_exponent.f90
M flang/test/Lower/Intrinsics/shifta.f90
M flang/test/Lower/Intrinsics/shiftl.f90
M flang/test/Lower/Intrinsics/shiftr.f90
M flang/test/Lower/Intrinsics/size.f90
M flang/test/Lower/Intrinsics/spacing.f90
M flang/test/Lower/Intrinsics/spread.f90
M flang/test/Lower/Intrinsics/storage_size-2.f90
M flang/test/Lower/Intrinsics/storage_size.f90
M flang/test/Lower/Intrinsics/sum.f90
M flang/test/Lower/Intrinsics/system_clock.f90
M flang/test/Lower/Intrinsics/trailz.f90
M flang/test/Lower/Intrinsics/transfer.f90
M flang/test/Lower/Intrinsics/transpose.f90
M flang/test/Lower/Intrinsics/transpose_opt.f90
M flang/test/Lower/Intrinsics/trim.f90
M flang/test/Lower/Intrinsics/ubound.f90
M flang/test/Lower/Intrinsics/ubound01.f90
M flang/test/Lower/Intrinsics/verify.f90
R flang/test/Lower/OpenACC/HLFIR/acc-declare.f90
M flang/test/Lower/OpenACC/acc-atomic-capture.f90
M flang/test/Lower/OpenACC/acc-atomic-read.f90
M flang/test/Lower/OpenACC/acc-atomic-update-array.f90
M flang/test/Lower/OpenACC/acc-atomic-update-hlfir.f90
M flang/test/Lower/OpenACC/acc-atomic-update.f90
M flang/test/Lower/OpenACC/acc-atomic-write.f90
M flang/test/Lower/OpenACC/acc-bounds.f90
M flang/test/Lower/OpenACC/acc-data-operands.f90
M flang/test/Lower/OpenACC/acc-data.f90
M flang/test/Lower/OpenACC/acc-declare-globals.f90
M flang/test/Lower/OpenACC/acc-declare.f90
M flang/test/Lower/OpenACC/acc-enter-data.f90
M flang/test/Lower/OpenACC/acc-exit-data.f90
M flang/test/Lower/OpenACC/acc-fixed-form.f
M flang/test/Lower/OpenACC/acc-host-data.f90
M flang/test/Lower/OpenACC/acc-init.f90
M flang/test/Lower/OpenACC/acc-kernels-loop.f90
M flang/test/Lower/OpenACC/acc-kernels.f90
M flang/test/Lower/OpenACC/acc-loop.f90
M flang/test/Lower/OpenACC/acc-parallel-loop.f90
M flang/test/Lower/OpenACC/acc-parallel.f90
M flang/test/Lower/OpenACC/acc-private.f90
M flang/test/Lower/OpenACC/acc-reduction.f90
M flang/test/Lower/OpenACC/acc-routine-named.f90
M flang/test/Lower/OpenACC/acc-routine.f90
M flang/test/Lower/OpenACC/acc-routine02.f90
A flang/test/Lower/OpenACC/acc-routine03.f90
A flang/test/Lower/OpenACC/acc-routine04.f90
M flang/test/Lower/OpenACC/acc-serial-loop.f90
M flang/test/Lower/OpenACC/acc-serial.f90
M flang/test/Lower/OpenACC/acc-set.f90
M flang/test/Lower/OpenACC/acc-shutdown.f90
M flang/test/Lower/OpenACC/acc-unstructured.f90
M flang/test/Lower/OpenACC/acc-update.f90
M flang/test/Lower/OpenACC/acc-wait.f90
M flang/test/Lower/OpenACC/locations.f90
M flang/test/Lower/OpenACC/stop-stmt-in-region.f90
M flang/test/Lower/OpenMP/FIR/array-bounds.f90
M flang/test/Lower/OpenMP/FIR/atomic-capture.f90
M flang/test/Lower/OpenMP/FIR/atomic-read.f90
M flang/test/Lower/OpenMP/FIR/atomic-update.f90
M flang/test/Lower/OpenMP/FIR/atomic-write.f90
M flang/test/Lower/OpenMP/FIR/copyin.f90
M flang/test/Lower/OpenMP/FIR/critical.f90
M flang/test/Lower/OpenMP/FIR/declare-target-data.f90
M flang/test/Lower/OpenMP/FIR/declare-target-func-and-subr.f90
A flang/test/Lower/OpenMP/FIR/declare-target-implicit-func-and-subr-cap-enter.f90
M flang/test/Lower/OpenMP/FIR/default-clause.f90
M flang/test/Lower/OpenMP/FIR/firstprivate-commonblock.f90
M flang/test/Lower/OpenMP/FIR/flush.f90
M flang/test/Lower/OpenMP/FIR/lastprivate-commonblock.f90
M flang/test/Lower/OpenMP/FIR/location.f90
M flang/test/Lower/OpenMP/FIR/master.f90
M flang/test/Lower/OpenMP/FIR/omp-is-gpu.f90
R flang/test/Lower/OpenMP/FIR/omp-target-early-outlining.f90
M flang/test/Lower/OpenMP/FIR/ordered-threads.f90
M flang/test/Lower/OpenMP/FIR/parallel-firstprivate-clause-scalar.f90
M flang/test/Lower/OpenMP/FIR/parallel-lastprivate-clause-scalar.f90
M flang/test/Lower/OpenMP/FIR/parallel-private-clause-fixes.f90
M flang/test/Lower/OpenMP/FIR/parallel-private-clause.f90
M flang/test/Lower/OpenMP/FIR/parallel-reduction-add.f90
M flang/test/Lower/OpenMP/FIR/parallel-sections.f90
M flang/test/Lower/OpenMP/FIR/parallel-wsloop-firstpriv.f90
M flang/test/Lower/OpenMP/FIR/parallel-wsloop.f90
M flang/test/Lower/OpenMP/FIR/parallel.f90
M flang/test/Lower/OpenMP/FIR/private-commonblock.f90
M flang/test/Lower/OpenMP/FIR/sections.f90
M flang/test/Lower/OpenMP/FIR/simd.f90
M flang/test/Lower/OpenMP/FIR/single.f90
M flang/test/Lower/OpenMP/FIR/stop-stmt-in-region.f90
M flang/test/Lower/OpenMP/FIR/target.f90
M flang/test/Lower/OpenMP/FIR/target_cpu_features.f90
M flang/test/Lower/OpenMP/FIR/task.f90
M flang/test/Lower/OpenMP/FIR/taskgroup.f90
M flang/test/Lower/OpenMP/FIR/threadprivate-char-array-chararray.f90
M flang/test/Lower/OpenMP/FIR/threadprivate-commonblock.f90
M flang/test/Lower/OpenMP/FIR/threadprivate-integer-different-kinds.f90
M flang/test/Lower/OpenMP/FIR/threadprivate-non-global.f90
M flang/test/Lower/OpenMP/FIR/threadprivate-pointer-allocatable.f90
M flang/test/Lower/OpenMP/FIR/threadprivate-real-logical-complex-derivedtype.f90
M flang/test/Lower/OpenMP/FIR/threadprivate-use-association-2.f90
M flang/test/Lower/OpenMP/FIR/threadprivate-use-association.f90
M flang/test/Lower/OpenMP/FIR/unstructured.f90
M flang/test/Lower/OpenMP/FIR/wsloop-chunks.f90
M flang/test/Lower/OpenMP/FIR/wsloop-collapse.f90
M flang/test/Lower/OpenMP/FIR/wsloop-monotonic.f90
M flang/test/Lower/OpenMP/FIR/wsloop-nonmonotonic.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-add.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-iand.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-ieor.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-ior.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-and.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-eqv.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-neqv.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-or.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-max.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-min.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-mul.f90
M flang/test/Lower/OpenMP/FIR/wsloop-simd.f90
M flang/test/Lower/OpenMP/FIR/wsloop-variable.f90
M flang/test/Lower/OpenMP/FIR/wsloop.f90
M flang/test/Lower/OpenMP/Todo/omp-default-clause-inner-loop.f90
A flang/test/Lower/OpenMP/Todo/task_mergeable.f90
A flang/test/Lower/OpenMP/Todo/task_untied.f90
M flang/test/Lower/OpenMP/array-bounds.f90
M flang/test/Lower/OpenMP/atomic-update.f90
M flang/test/Lower/OpenMP/declare-target-data.f90
M flang/test/Lower/OpenMP/declare-target-func-and-subr.f90
A flang/test/Lower/OpenMP/declare-target-implicit-func-and-subr-cap-enter.f90
M flang/test/Lower/OpenMP/declare-target-implicit-tarop-cap.f90
M flang/test/Lower/OpenMP/default-clause.f90
M flang/test/Lower/OpenMP/function-filtering-2.f90
M flang/test/Lower/OpenMP/function-filtering.f90
M flang/test/Lower/OpenMP/location.f90
M flang/test/Lower/OpenMP/omp-is-gpu.f90
A flang/test/Lower/OpenMP/parallel-if.f90
M flang/test/Lower/OpenMP/parallel-lastprivate-clause-scalar.f90
A flang/test/Lower/OpenMP/parallel-private-clause-str.f90
M flang/test/Lower/OpenMP/parallel-private-clause.f90
A flang/test/Lower/OpenMP/parallel-wsloop-reduction.f90
M flang/test/Lower/OpenMP/private-commonblock.f90
M flang/test/Lower/OpenMP/target.f90
M flang/test/Lower/OpenMP/target_cpu_features.f90
M flang/test/Lower/OpenMP/task.f90
M flang/test/Lower/OpenMP/wsloop-reduction-min.f90
A flang/test/Lower/achar.f90
M flang/test/Lower/allocatable-assignment.f90
M flang/test/Lower/allocatable-callee.f90
M flang/test/Lower/allocatable-caller.f90
M flang/test/Lower/allocatable-polymorphic.f90
M flang/test/Lower/allocatable-return.f90
M flang/test/Lower/allocatable-runtime.f90
M flang/test/Lower/allocatables.f90
M flang/test/Lower/allocate-mold.f90
M flang/test/Lower/allocate-source-allocatables.f90
M flang/test/Lower/allocate-source-pointers.f90
M flang/test/Lower/allocated.f90
M flang/test/Lower/always-execute-loop-body.f90
M flang/test/Lower/arithmetic-goto.f90
M flang/test/Lower/array-character.f90
M flang/test/Lower/array-constructor-1.f90
M flang/test/Lower/array-constructor-2.f90
M flang/test/Lower/array-constructor-index.f90
M flang/test/Lower/array-copy.f90
M flang/test/Lower/array-derived-assignments.f90
M flang/test/Lower/array-derived.f90
M flang/test/Lower/array-elemental-calls-2.f90
M flang/test/Lower/array-elemental-calls-3.f90
M flang/test/Lower/array-elemental-calls-char-byval.f90
M flang/test/Lower/array-elemental-calls-char.f90
M flang/test/Lower/array-elemental-calls.f90
M flang/test/Lower/array-elemental-subroutines.f90
M flang/test/Lower/array-expression-assumed-size.f90
M flang/test/Lower/array-expression-slice-1.f90
M flang/test/Lower/array-expression-slice-2.f90
M flang/test/Lower/array-expression-subscript.f90
M flang/test/Lower/array-expression.f90
M flang/test/Lower/array-substring.f90
M flang/test/Lower/array-temp.f90
M flang/test/Lower/array-user-def-assignments.f90
M flang/test/Lower/array-wide-char.f90
M flang/test/Lower/array.f90
M flang/test/Lower/assignment.f90
M flang/test/Lower/associate-construct-2.f90
M flang/test/Lower/associate-construct.f90
M flang/test/Lower/assumed-shape-callee.f90
M flang/test/Lower/assumed-shape-caller.f90
M flang/test/Lower/assumed-type.f90
M flang/test/Lower/basic-call.f90
M flang/test/Lower/basic-function.f90
M flang/test/Lower/block.f90
M flang/test/Lower/c-interoperability-c-pointer.f90
M flang/test/Lower/c-interoperability.f90
M flang/test/Lower/c_ptr-constant-init.f90
M flang/test/Lower/call-by-value-attr.f90
M flang/test/Lower/call-by-value.f90
M flang/test/Lower/call-copy-in-out.f90
M flang/test/Lower/call-implicit.f90
M flang/test/Lower/call-parenthesized-arg.f90
M flang/test/Lower/call-suspect.f90
M flang/test/Lower/call.f90
M flang/test/Lower/character-assignment.f90
M flang/test/Lower/character-concatenation.f90
M flang/test/Lower/character-elemental.f90
M flang/test/Lower/character-local-variables.f90
M flang/test/Lower/character-substrings.f90
M flang/test/Lower/complex-operations.f90
M flang/test/Lower/complex-real.f90
M flang/test/Lower/components.f90
M flang/test/Lower/computed-goto.f90
M flang/test/Lower/constant-literal-mangling.f90
M flang/test/Lower/control-flow.f90
M flang/test/Lower/cray-pointer.f90
M flang/test/Lower/default-initialization-globals.f90
M flang/test/Lower/default-initialization.f90
M flang/test/Lower/dense-attributed-array.f90
M flang/test/Lower/derived-allocatable-components.f90
M flang/test/Lower/derived-assignments.f90
M flang/test/Lower/derived-pointer-components.f90
M flang/test/Lower/derived-type-finalization.f90
M flang/test/Lower/derived-type-temp.f90
M flang/test/Lower/derived-types.f90
M flang/test/Lower/dispatch.f90
M flang/test/Lower/do_loop.f90
M flang/test/Lower/do_loop_unstructured.f90
M flang/test/Lower/dummy-argument-assumed-shape-optional.f90
M flang/test/Lower/dummy-argument-contiguous.f90
M flang/test/Lower/dummy-argument-optional-2.f90
M flang/test/Lower/dummy-argument-optional.f90
M flang/test/Lower/dummy-arguments.f90
M flang/test/Lower/dummy-procedure-character.f90
M flang/test/Lower/dummy-procedure-in-entry.f90
M flang/test/Lower/dummy-procedure.f90
M flang/test/Lower/entry-statement.f90
M flang/test/Lower/equivalence-1.f90
M flang/test/Lower/equivalence-2.f90
M flang/test/Lower/equivalence-with-host-assoc.f90
M flang/test/Lower/explicit-interface-results-2.f90
M flang/test/Lower/explicit-interface-results.f90
M flang/test/Lower/ext-proc-as-actual-argument-1.f90
M flang/test/Lower/ext-proc-as-actual-argument-2.f90
M flang/test/Lower/fail_image.f90
M flang/test/Lower/forall/array-constructor.f90
M flang/test/Lower/forall/array-pointer.f90
M flang/test/Lower/forall/array-subscripts.f90
M flang/test/Lower/forall/character-1.f90
M flang/test/Lower/forall/degenerate.f90
M flang/test/Lower/forall/forall-2.f90
M flang/test/Lower/forall/forall-allocatable-2.f90
M flang/test/Lower/forall/forall-allocatable.f90
M flang/test/Lower/forall/forall-array.f90
M flang/test/Lower/forall/forall-construct-2.f90
M flang/test/Lower/forall/forall-construct-3.f90
M flang/test/Lower/forall/forall-construct-4.f90
M flang/test/Lower/forall/forall-construct.f90
M flang/test/Lower/forall/forall-ranked.f90
M flang/test/Lower/forall/forall-slice.f90
M flang/test/Lower/forall/forall-stmt.f90
M flang/test/Lower/forall/forall-where-2.f90
M flang/test/Lower/forall/forall-where.f90
M flang/test/Lower/forall/scalar-substring.f90
M flang/test/Lower/forall/test9.f90
M flang/test/Lower/global-format-strings.f90
M flang/test/Lower/goto-do-body.f90
M flang/test/Lower/goto-statement.f90
M flang/test/Lower/host-associated-functions.f90
M flang/test/Lower/host-associated-globals.f90
M flang/test/Lower/host-associated.f90
M flang/test/Lower/identical-block-merge-disable.f90
M flang/test/Lower/implicit-call-mismatch.f90
M flang/test/Lower/implicit-interface.f90
M flang/test/Lower/infinite_loop.f90
M flang/test/Lower/integer-operations.f90
M flang/test/Lower/intentout-deallocate.f90
M flang/test/Lower/io-char-array.f90
M flang/test/Lower/io-derived-type.f90
M flang/test/Lower/io-implied-do-fixes.f90
M flang/test/Lower/io-item-list.f90
M flang/test/Lower/io-statement-1.f90
M flang/test/Lower/io-statement-2.f90
M flang/test/Lower/io-statement-3.f90
M flang/test/Lower/io-statement-big-unit-checks.f90
M flang/test/Lower/io-statement-open-options.f90
M flang/test/Lower/io-write.f90
M flang/test/Lower/logical-operations.f90
M flang/test/Lower/loops.f90
M flang/test/Lower/loops2.f90
M flang/test/Lower/memory-alloc.f90
M flang/test/Lower/mixed_loops.f90
M flang/test/Lower/namelist-common-block.f90
M flang/test/Lower/namelist.f90
M flang/test/Lower/nested-where.f90
M flang/test/Lower/nullify-polymorphic.f90
M flang/test/Lower/nullify.f90
M flang/test/Lower/optional-value-caller.f90
M flang/test/Lower/parent-component.f90
M flang/test/Lower/pointer-args-caller.f90
M flang/test/Lower/pointer-assignments.f90
M flang/test/Lower/pointer-association-polymorphic.f90
M flang/test/Lower/pointer-default-init.f90
M flang/test/Lower/pointer-disassociate.f90
M flang/test/Lower/pointer-initial-target-2.f90
M flang/test/Lower/pointer-initial-target.f90
M flang/test/Lower/pointer-references.f90
M flang/test/Lower/pointer-results-as-arguments.f90
M flang/test/Lower/pointer-runtime.f90
M flang/test/Lower/polymorphic-temp.f90
M flang/test/Lower/polymorphic-types.f90
M flang/test/Lower/polymorphic.f90
M flang/test/Lower/procedure-declarations.f90
M flang/test/Lower/read-write-buffer.f90
M flang/test/Lower/real-operations-1.f90
M flang/test/Lower/real-operations-2.f90
M flang/test/Lower/return-statement.f90
M flang/test/Lower/select-case-statement.f90
M flang/test/Lower/select-type-2.f90
M flang/test/Lower/select-type-2.fir
M flang/test/Lower/select-type.f90
M flang/test/Lower/statement-function.f90
M flang/test/Lower/stop-statement.f90
M flang/test/Lower/structure-constructors.f90
M flang/test/Lower/submodule.f90
M flang/test/Lower/transformational-intrinsics.f90
M flang/test/Lower/user-defined-operators.f90
M flang/test/Lower/variable-inquiries.f90
M flang/test/Lower/vector-subscript-io.f90
M flang/test/Lower/where-allocatable-assignments.f90
M flang/test/Lower/where.f90
M flang/test/Lower/while_loop.f90
M flang/test/Lower/zero-size.f90
M flang/test/Parser/OpenMP/declare_target-device_type.f90
M flang/test/Parser/OpenMP/if-clause.f90
M flang/test/Parser/acc-unparse.f90
M flang/test/Parser/badlabel.f
M flang/test/Parser/continuation-before-quote.f90
M flang/test/Parser/excessive-continuations.f90
A flang/test/Preprocessing/disable-expansion.F90
M flang/test/Semantics/OpenACC/acc-branch.f90
M flang/test/Semantics/OpenACC/acc-data.f90
M flang/test/Semantics/OpenACC/acc-loop.f90
M flang/test/Semantics/OpenACC/acc-serial.f90
M flang/test/Semantics/OpenMP/copying.f90
A flang/test/Semantics/OpenMP/critical-empty.f90
M flang/test/Semantics/OpenMP/declarative-directive.f90
M flang/test/Semantics/OpenMP/declare-target01.f90
M flang/test/Semantics/OpenMP/declare-target02.f90
M flang/test/Semantics/OpenMP/declare-target03.f90
M flang/test/Semantics/OpenMP/declare-target06.f90
A flang/test/Semantics/OpenMP/declare-target07.f90
A flang/test/Semantics/OpenMP/device-clause01.f90
M flang/test/Semantics/OpenMP/if-clause.f90
M flang/test/Semantics/OpenMP/nested-target.f90
M flang/test/Semantics/OpenMP/requires04.f90
M flang/test/Semantics/OpenMP/requires05.f90
A flang/test/Semantics/OpenMP/symbol09.f90
A flang/test/Semantics/OpenMP/target-update01.f90
M flang/test/Semantics/OpenMP/target01.f90
M flang/test/Semantics/OpenMP/threadprivate03.f90
M flang/test/Semantics/allocate09.f90
M flang/test/Semantics/associated.f90
M flang/test/Semantics/bind-c02.f90
M flang/test/Semantics/bind-c06.f90
M flang/test/Semantics/bind-c11.f90
M flang/test/Semantics/bindings01.f90
M flang/test/Semantics/block-data01.f90
M flang/test/Semantics/blockconstruct01.f90
M flang/test/Semantics/c_loc01.f90
M flang/test/Semantics/call01.f90
M flang/test/Semantics/call02.f90
M flang/test/Semantics/call03.f90
M flang/test/Semantics/call09.f90
M flang/test/Semantics/call13.f90
M flang/test/Semantics/call14.f90
M flang/test/Semantics/call31.f90
M flang/test/Semantics/call39.f90
M flang/test/Semantics/call40.f90
M flang/test/Semantics/common-blocks-warn.f90
M flang/test/Semantics/common-blocks.f90
M flang/test/Semantics/data06.f90
M flang/test/Semantics/data08.f90
M flang/test/Semantics/data11.f90
M flang/test/Semantics/data14.f90
M flang/test/Semantics/data17.f90
M flang/test/Semantics/declarations04.f90
A flang/test/Semantics/declarations07.f90
M flang/test/Semantics/dim01.f90
M flang/test/Semantics/expr-errors05.f90
M flang/test/Semantics/expr-errors06.f90
M flang/test/Semantics/generic06.f90
M flang/test/Semantics/ignore_tkr01.f90
M flang/test/Semantics/io03.f90
M flang/test/Semantics/io11.f90
R flang/test/Semantics/label18.f90#
M flang/test/Semantics/long-name.f90
M flang/test/Semantics/misc-declarations.f90
M flang/test/Semantics/modfile43.f90
M flang/test/Semantics/modfile54.f90
M flang/test/Semantics/pointer01.f90
M flang/test/Semantics/procinterface02.f90
M flang/test/Semantics/procinterface04.f90
M flang/test/Semantics/resolve05.f90
M flang/test/Semantics/resolve106.f90
M flang/test/Semantics/resolve114.f90
M flang/test/Semantics/resolve118.f90
M flang/test/Semantics/resolve20.f90
M flang/test/Semantics/resolve46.f90
M flang/test/Semantics/resolve59.f90
M flang/test/Semantics/resolve85.f90
M flang/test/Semantics/select-rank03.f90
M flang/test/Semantics/stmt-func01.f90
M flang/test/Semantics/stmt-func02.f90
M flang/test/Transforms/omp-function-filtering.mlir
M flang/test/Transforms/simplifyintrinsics.fir
M flang/test/Transforms/stack-arrays.f90
M flang/test/lit.cfg.py
M flang/test/lit.site.cfg.py.in
M flang/tools/bbc/bbc.cpp
M flang/unittests/Evaluate/expression.cpp
M flang/unittests/Evaluate/folding.cpp
M flang/unittests/Evaluate/intrinsics.cpp
M flang/unittests/Optimizer/Builder/FIRBuilderTest.cpp
M flang/unittests/Optimizer/Builder/Runtime/CommandTest.cpp
M flang/unittests/Runtime/CommandTest.cpp
M flang/unittests/Runtime/ExternalIOTest.cpp
M flang/unittests/Runtime/Format.cpp
M flang/unittests/Runtime/RuntimeCrashTest.cpp
M libc/CMakeLists.txt
A libc/cmake/modules/CheckCompilerFeatures.cmake
M libc/cmake/modules/LLVMLibCFlagRules.cmake
M libc/cmake/modules/LLVMLibCObjectRules.cmake
M libc/cmake/modules/LLVMLibCTestRules.cmake
A libc/cmake/modules/compiler_features/check_float128.cpp
M libc/cmake/modules/prepare_libc_gpu_build.cmake
A libc/cmake/modules/system_features/check_sys_random.cpp
M libc/config/CMakeLists.txt
M libc/config/config.json
M libc/config/darwin/arm/entrypoints.txt
M libc/config/darwin/x86_64/entrypoints.txt
M libc/config/gpu/entrypoints.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/aarch64/headers.txt
M libc/config/linux/api.td
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/arm/headers.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/riscv/headers.txt
M libc/config/linux/x86_64/entrypoints.txt
A libc/config/linux/x86_64/exclude.txt
M libc/config/linux/x86_64/headers.txt
M libc/config/windows/entrypoints.txt
M libc/docs/configure.rst
M libc/docs/dev/api_test.rst
M libc/docs/dev/clang_tidy_checks.rst
M libc/docs/dev/code_style.rst
M libc/docs/dev/header_generation.rst
M libc/docs/dev/implementation_standard.rst
M libc/docs/dev/source_tree_layout.rst
M libc/docs/math/index.rst
M libc/docs/strings.rst
M libc/include/CMakeLists.txt
A libc/include/llvm-libc-types/ACTION.h
M libc/include/llvm-libc-types/CMakeLists.txt
A libc/include/llvm-libc-types/ENTRY.h
A libc/include/llvm-libc-types/struct_hsearch_data.h
A libc/include/search.h.def
M libc/spec/gnu_ext.td
M libc/spec/posix.td
M libc/spec/spec.td
M libc/spec/stdc.td
M libc/src/CMakeLists.txt
M libc/src/__support/CMakeLists.txt
M libc/src/__support/CPP/CMakeLists.txt
M libc/src/__support/CPP/limits.h
M libc/src/__support/CPP/optional.h
M libc/src/__support/CPP/type_traits/invoke.h
M libc/src/__support/CPP/type_traits/is_floating_point.h
M libc/src/__support/CPP/utility/in_place.h
M libc/src/__support/CPP/utility/move.h
M libc/src/__support/FPUtil/CMakeLists.txt
M libc/src/__support/FPUtil/FEnvImpl.h
M libc/src/__support/FPUtil/FPBits.h
M libc/src/__support/FPUtil/FloatProperties.h
M libc/src/__support/FPUtil/Hypot.h
M libc/src/__support/FPUtil/ManipulationFunctions.h
R libc/src/__support/FPUtil/PlatformDefs.h
M libc/src/__support/FPUtil/arm/FEnvImpl.h
M libc/src/__support/FPUtil/dyadic_float.h
M libc/src/__support/FPUtil/except_value_utils.h
M libc/src/__support/FPUtil/generic/CMakeLists.txt
M libc/src/__support/FPUtil/generic/FMA.h
M libc/src/__support/FPUtil/generic/FMod.h
M libc/src/__support/FPUtil/generic/sqrt.h
M libc/src/__support/FPUtil/generic/sqrt_80_bit_long_double.h
M libc/src/__support/FPUtil/x86_64/LongDoubleBits.h
M libc/src/__support/FPUtil/x86_64/NextAfterLongDouble.h
A libc/src/__support/HashTable/CMakeLists.txt
A libc/src/__support/HashTable/bitmask.h
A libc/src/__support/HashTable/generic/bitmask_impl.inc
A libc/src/__support/HashTable/randomness.h
A libc/src/__support/HashTable/sse2/bitmask_impl.inc
A libc/src/__support/HashTable/table.h
M libc/src/__support/UInt.h
A libc/src/__support/bit.h
R libc/src/__support/builtin_wrappers.h
M libc/src/__support/char_vector.h
A libc/src/__support/hash.h
M libc/src/__support/integer_operations.h
M libc/src/__support/integer_to_string.h
M libc/src/__support/integer_utils.h
M libc/src/__support/macros/properties/CMakeLists.txt
M libc/src/__support/macros/properties/compiler.h
A libc/src/__support/macros/properties/float.h
A libc/src/__support/macros/properties/os.h
M libc/src/__support/macros/sanitizer.h
A libc/src/__support/math_extras.h
A libc/src/__support/memory_size.h
M libc/src/__support/str_to_float.h
M libc/src/math/CMakeLists.txt
A libc/src/math/copysignf128.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/atanhf.cpp
M libc/src/math/generic/common_constants.cpp
M libc/src/math/generic/common_constants.h
A libc/src/math/generic/copysignf128.cpp
M libc/src/math/generic/coshf.cpp
M libc/src/math/generic/exp10f.cpp
A libc/src/math/generic/exp10f_impl.h
M libc/src/math/generic/exp2f.cpp
A libc/src/math/generic/exp2f_impl.h
M libc/src/math/generic/log2f.cpp
A libc/src/math/generic/nexttoward.cpp
A libc/src/math/generic/nexttowardf.cpp
A libc/src/math/generic/nexttowardl.cpp
A libc/src/math/generic/powf.cpp
M libc/src/math/generic/sinhf.cpp
A libc/src/math/nexttoward.h
A libc/src/math/nexttowardf.h
A libc/src/math/nexttowardl.h
A libc/src/search/CMakeLists.txt
A libc/src/search/hcreate.cpp
A libc/src/search/hcreate.h
A libc/src/search/hcreate_r.cpp
A libc/src/search/hcreate_r.h
A libc/src/search/hdestroy.cpp
A libc/src/search/hdestroy.h
A libc/src/search/hdestroy_r.cpp
A libc/src/search/hdestroy_r.h
A libc/src/search/hsearch.cpp
A libc/src/search/hsearch.h
A libc/src/search/hsearch/CMakeLists.txt
A libc/src/search/hsearch/global.cpp
A libc/src/search/hsearch/global.h
A libc/src/search/hsearch_r.cpp
A libc/src/search/hsearch_r.h
M libc/src/string/CMakeLists.txt
M libc/src/string/memmem.cpp
M libc/src/string/memory_utils/generic/aligned_access.h
M libc/src/string/memory_utils/op_generic.h
M libc/src/string/memory_utils/utils.h
M libc/src/string/memory_utils/x86_64/inline_memcpy.h
M libc/src/string/memory_utils/x86_64/inline_memset.h
M libc/startup/gpu/amdgpu/start.cpp
M libc/startup/gpu/nvptx/start.cpp
M libc/test/UnitTest/FPMatcher.h
M libc/test/integration/startup/gpu/init_fini_array_test.cpp
M libc/test/src/CMakeLists.txt
M libc/test/src/__support/CMakeLists.txt
M libc/test/src/__support/CPP/optional_test.cpp
M libc/test/src/__support/FPUtil/fpbits_test.cpp
A libc/test/src/__support/HashTable/CMakeLists.txt
A libc/test/src/__support/HashTable/bitmask_test.cpp
A libc/test/src/__support/HashTable/group_test.cpp
A libc/test/src/__support/HashTable/table_test.cpp
A libc/test/src/__support/bit_test.cpp
A libc/test/src/__support/hash_test.cpp
A libc/test/src/__support/math_extras_test.cpp
A libc/test/src/__support/memory_size_test.cpp
M libc/test/src/fcntl/CMakeLists.txt
M libc/test/src/math/CMakeLists.txt
M libc/test/src/math/FModTest.h
M libc/test/src/math/atanf_test.cpp
A libc/test/src/math/powf_test.cpp
M libc/test/src/math/smoke/CMakeLists.txt
M libc/test/src/math/smoke/CopySignTest.h
M libc/test/src/math/smoke/FModTest.h
M libc/test/src/math/smoke/NextAfterTest.h
A libc/test/src/math/smoke/NextTowardTest.h
A libc/test/src/math/smoke/copysignf128_test.cpp
A libc/test/src/math/smoke/nexttoward_test.cpp
A libc/test/src/math/smoke/nexttowardf_test.cpp
A libc/test/src/math/smoke/nexttowardl_test.cpp
A libc/test/src/math/smoke/powf_test.cpp
M libc/test/src/sched/CMakeLists.txt
A libc/test/src/search/CMakeLists.txt
A libc/test/src/search/hsearch_test.cpp
M libc/test/src/signal/CMakeLists.txt
M libc/test/src/stdio/CMakeLists.txt
M libc/test/src/stdio/sprintf_test.cpp
M libc/test/src/stdio/sscanf_test.cpp
M libc/test/src/sys/mman/linux/CMakeLists.txt
M libc/test/src/sys/random/linux/CMakeLists.txt
M libc/test/src/sys/select/CMakeLists.txt
M libc/test/src/sys/utsname/CMakeLists.txt
M libc/test/src/termios/CMakeLists.txt
M libc/test/src/unistd/CMakeLists.txt
M libc/utils/MPFRWrapper/CMakeLists.txt
M libc/utils/MPFRWrapper/MPFRUtils.cpp
M libc/utils/MPFRWrapper/MPFRUtils.h
M libc/utils/gpu/loader/amdgpu/Loader.cpp
M libc/utils/gpu/loader/nvptx/Loader.cpp
M libc/utils/gpu/server/rpc_server.cpp
M libcxx/.clang-format
M libcxx/CMakeLists.txt
M libcxx/benchmarks/CMakeLists.txt
A libcxx/benchmarks/algorithms/for_each.bench.cpp
M libcxx/benchmarks/filesystem.bench.cpp
M libcxx/benchmarks/stringstream.bench.cpp
A libcxx/cmake/caches/Armv7M-picolibc.cmake
R libcxx/cmake/caches/Generic-debug-mode.cmake
R libcxx/cmake/caches/Generic-hardened-mode-with-abi-breaks.cmake
R libcxx/cmake/caches/Generic-hardened-mode.cmake
A libcxx/cmake/caches/Generic-hardening-mode-debug.cmake
A libcxx/cmake/caches/Generic-hardening-mode-extensive.cmake
A libcxx/cmake/caches/Generic-hardening-mode-fast-with-abi-breaks.cmake
A libcxx/cmake/caches/Generic-hardening-mode-fast.cmake
R libcxx/cmake/caches/Generic-safe-mode.cmake
M libcxx/docs/DesignDocs/ExperimentalFeatures.rst
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/Hardening.rst
M libcxx/docs/Helpers/Styles.rst
M libcxx/docs/ReleaseNotes/18.rst
M libcxx/docs/Status/Cxx17Issues.csv
M libcxx/docs/Status/Cxx20Issues.csv
M libcxx/docs/Status/Cxx20Papers.csv
M libcxx/docs/Status/Cxx23Issues.csv
M libcxx/docs/Status/Cxx23Papers.csv
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/docs/Status/FormatIssues.csv
M libcxx/docs/Status/PSTLPaper.csv
M libcxx/docs/Status/ParallelismProjects.csv
M libcxx/docs/UsingLibcxx.rst
M libcxx/docs/index.rst
M libcxx/include/CMakeLists.txt
M libcxx/include/__algorithm/comp.h
M libcxx/include/__algorithm/comp_ref_type.h
M libcxx/include/__algorithm/equal.h
M libcxx/include/__algorithm/for_each.h
M libcxx/include/__algorithm/make_projected.h
M libcxx/include/__algorithm/pstl_backend.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/transform_reduce.h
A libcxx/include/__algorithm/pstl_equal.h
M libcxx/include/__algorithm/pstl_move.h
M libcxx/include/__algorithm/pstl_rotate_copy.h
M libcxx/include/__algorithm/ranges_equal_range.h
M libcxx/include/__algorithm/ranges_find_if_not.h
M libcxx/include/__algorithm/ranges_max.h
M libcxx/include/__algorithm/ranges_max_element.h
M libcxx/include/__algorithm/ranges_remove.h
M libcxx/include/__algorithm/ranges_remove_copy.h
M libcxx/include/__algorithm/ranges_replace.h
M libcxx/include/__algorithm/ranges_replace_copy.h
M libcxx/include/__algorithm/ranges_upper_bound.h
M libcxx/include/__algorithm/three_way_comp_ref_type.h
M libcxx/include/__atomic/aliases.h
M libcxx/include/__atomic/atomic.h
M libcxx/include/__atomic/atomic_init.h
M libcxx/include/__atomic/cxx_atomic_impl.h
M libcxx/include/__availability
M libcxx/include/__chrono/file_clock.h
M libcxx/include/__config
M libcxx/include/__config_site.in
M libcxx/include/__filesystem/copy_options.h
M libcxx/include/__filesystem/directory_entry.h
M libcxx/include/__filesystem/directory_iterator.h
M libcxx/include/__filesystem/directory_options.h
M libcxx/include/__filesystem/file_status.h
M libcxx/include/__filesystem/file_time_type.h
M libcxx/include/__filesystem/file_type.h
M libcxx/include/__filesystem/filesystem_error.h
M libcxx/include/__filesystem/operations.h
M libcxx/include/__filesystem/path.h
M libcxx/include/__filesystem/path_iterator.h
M libcxx/include/__filesystem/perm_options.h
M libcxx/include/__filesystem/perms.h
M libcxx/include/__filesystem/recursive_directory_iterator.h
M libcxx/include/__filesystem/space_info.h
M libcxx/include/__filesystem/u8path.h
M libcxx/include/__format/format_arg_store.h
M libcxx/include/__format/format_functions.h
M libcxx/include/__format/formatter_char.h
M libcxx/include/__functional/operations.h
M libcxx/include/__functional/ranges_operations.h
M libcxx/include/__iterator/common_iterator.h
M libcxx/include/__iterator/counted_iterator.h
M libcxx/include/__locale
M libcxx/include/__memory/allocator_traits.h
M libcxx/include/__memory/construct_at.h
M libcxx/include/__memory/ranges_uninitialized_algorithms.h
M libcxx/include/__numeric/pstl_transform_reduce.h
M libcxx/include/__ranges/chunk_by_view.h
M libcxx/include/__ranges/lazy_split_view.h
M libcxx/include/__std_clang_module
M libcxx/include/__string/char_traits.h
M libcxx/include/__type_traits/is_equality_comparable.h
M libcxx/include/__type_traits/operation_traits.h
R libcxx/include/__type_traits/predicate_traits.h
A libcxx/include/__utility/no_destroy.h
M libcxx/include/__utility/small_buffer.h
M libcxx/include/__verbose_abort
M libcxx/include/algorithm
M libcxx/include/atomic
M libcxx/include/codecvt
M libcxx/include/cstdio
M libcxx/include/deque
M libcxx/include/experimental/__config
M libcxx/include/experimental/__simd/abi_tag.h
M libcxx/include/experimental/__simd/aligned_tag.h
M libcxx/include/experimental/__simd/declaration.h
M libcxx/include/experimental/__simd/internal_declaration.h
M libcxx/include/experimental/__simd/reference.h
M libcxx/include/experimental/__simd/scalar.h
M libcxx/include/experimental/__simd/simd.h
M libcxx/include/experimental/__simd/simd_mask.h
M libcxx/include/experimental/__simd/traits.h
M libcxx/include/experimental/__simd/utility.h
M libcxx/include/experimental/__simd/vec_ext.h
R libcxx/include/experimental/deque
R libcxx/include/experimental/forward_list
R libcxx/include/experimental/list
R libcxx/include/experimental/map
A libcxx/include/experimental/memory
R libcxx/include/experimental/memory_resource
R libcxx/include/experimental/regex
R libcxx/include/experimental/set
R libcxx/include/experimental/string
R libcxx/include/experimental/unordered_map
R libcxx/include/experimental/unordered_set
R libcxx/include/experimental/vector
M libcxx/include/format
M libcxx/include/fstream
M libcxx/include/future
M libcxx/include/ios
M libcxx/include/iosfwd
M libcxx/include/locale
M libcxx/include/map
M libcxx/include/mdspan
M libcxx/include/module.modulemap.in
M libcxx/include/new
M libcxx/include/optional
M libcxx/include/sstream
M libcxx/include/streambuf
M libcxx/include/string
M libcxx/include/string_view
A libcxx/include/syncstream
M libcxx/include/variant
M libcxx/include/version
M libcxx/modules/std.cppm.in
M libcxx/modules/std/codecvt.inc
M libcxx/modules/std/format.inc
M libcxx/modules/std/iosfwd.inc
M libcxx/modules/std/syncstream.inc
M libcxx/src/CMakeLists.txt
M libcxx/src/atomic.cpp
M libcxx/src/barrier.cpp
A libcxx/src/call_once.cpp
M libcxx/src/condition_variable.cpp
M libcxx/src/condition_variable_destructor.cpp
A libcxx/src/experimental/keep.cpp
R libcxx/src/experimental/memory_resource.cpp
R libcxx/src/experimental/memory_resource_init_helper.h
M libcxx/src/filesystem/directory_entry.cpp
M libcxx/src/filesystem/directory_iterator.cpp
M libcxx/src/filesystem/file_descriptor.h
M libcxx/src/future.cpp
M libcxx/src/include/ryu/common.h
M libcxx/src/include/ryu/d2s_intrinsics.h
M libcxx/src/include/sso_allocator.h
M libcxx/src/ios.instantiations.cpp
M libcxx/src/locale.cpp
M libcxx/src/memory_resource.cpp
M libcxx/src/mutex.cpp
M libcxx/src/mutex_destructor.cpp
M libcxx/src/print.cpp
M libcxx/src/ryu/d2fixed.cpp
M libcxx/src/ryu/d2s.cpp
M libcxx/src/ryu/f2s.cpp
M libcxx/src/shared_mutex.cpp
M libcxx/src/thread.cpp
A libcxx/test/configs/armv7m-picolibc-libc++.cfg.in
M libcxx/test/libcxx/algorithms/alg.modifying.operations/copy_move_nontrivial.pass.cpp
M libcxx/test/libcxx/algorithms/alg.sorting/alg.heap.operations/make.heap/complexity.pass.cpp
M libcxx/test/libcxx/algorithms/alg.sorting/assert.min.max.pass.cpp
M libcxx/test/libcxx/algorithms/pstl.robust_against_customization_points_not_working.pass.cpp
R libcxx/test/libcxx/assertions/deprecated-link-time-custom-handler.pass.cpp
M libcxx/test/libcxx/assertions/modes/debug.pass.cpp
R libcxx/test/libcxx/assertions/modes/debug_mode_disabled_in_tu.pass.cpp
R libcxx/test/libcxx/assertions/modes/debug_mode_enabled_in_tu.pass.cpp
R libcxx/test/libcxx/assertions/modes/debug_mode_not_1_or_0.verify.cpp
A libcxx/test/libcxx/assertions/modes/enabling_assertions_enables_extensive_mode.pass.cpp
R libcxx/test/libcxx/assertions/modes/enabling_assertions_enables_safe_mode.pass.cpp
A libcxx/test/libcxx/assertions/modes/extensive.pass.cpp
A libcxx/test/libcxx/assertions/modes/fast.pass.cpp
R libcxx/test/libcxx/assertions/modes/hardened.pass.cpp
R libcxx/test/libcxx/assertions/modes/hardened_and_debug_mutually_exclusive.verify.cpp
R libcxx/test/libcxx/assertions/modes/hardened_and_safe_mutually_exclusive.verify.cpp
R libcxx/test/libcxx/assertions/modes/hardened_mode_disabled_in_tu.pass.cpp
R libcxx/test/libcxx/assertions/modes/hardened_mode_enabled_in_tu.pass.cpp
R libcxx/test/libcxx/assertions/modes/hardened_mode_not_1_or_0.verify.cpp
A libcxx/test/libcxx/assertions/modes/hardening_mode_incorrect_value.sh.cpp
A libcxx/test/libcxx/assertions/modes/none.pass.cpp
A libcxx/test/libcxx/assertions/modes/override_with_debug_mode.pass.cpp
A libcxx/test/libcxx/assertions/modes/override_with_extensive_mode.pass.cpp
A libcxx/test/libcxx/assertions/modes/override_with_fast_mode.pass.cpp
A libcxx/test/libcxx/assertions/modes/override_with_unchecked_mode.pass.cpp
R libcxx/test/libcxx/assertions/modes/safe.pass.cpp
R libcxx/test/libcxx/assertions/modes/safe_and_debug_mutually_exclusive.verify.cpp
R libcxx/test/libcxx/assertions/modes/safe_mode_disabled_in_tu.pass.cpp
R libcxx/test/libcxx/assertions/modes/safe_mode_enabled_in_tu.pass.cpp
R libcxx/test/libcxx/assertions/modes/safe_mode_not_1_or_0.verify.cpp
R libcxx/test/libcxx/assertions/modes/unchecked.pass.cpp
A libcxx/test/libcxx/atomics/atomics.types.generic/atomics.types.float/lockfree.pass.cpp
M libcxx/test/libcxx/clang_modules_include.gen.py
M libcxx/test/libcxx/containers/sequences/array/array.zero/assert.back.pass.cpp
M libcxx/test/libcxx/containers/sequences/array/array.zero/assert.front.pass.cpp
M libcxx/test/libcxx/containers/sequences/array/array.zero/assert.subscript.pass.cpp
M libcxx/test/libcxx/containers/sequences/deque/assert.pop_back.empty.pass.cpp
M libcxx/test/libcxx/containers/sequences/list/list.modifiers/assert.erase_iter.end.pass.cpp
M libcxx/test/libcxx/containers/sequences/list/list.modifiers/assert.pop_back.empty.pass.cpp
M libcxx/test/libcxx/containers/sequences/vector/assert.back.empty.pass.cpp
M libcxx/test/libcxx/containers/sequences/vector/assert.cback.empty.pass.cpp
M libcxx/test/libcxx/containers/sequences/vector/assert.cfront.empty.pass.cpp
M libcxx/test/libcxx/containers/sequences/vector/assert.cindex.oob.pass.cpp
M libcxx/test/libcxx/containers/sequences/vector/assert.front.empty.pass.cpp
M libcxx/test/libcxx/containers/sequences/vector/assert.index.oob.pass.cpp
M libcxx/test/libcxx/containers/sequences/vector/assert.pop_back.empty.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.map/assert.bucket.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.map/assert.bucket_size.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.map/assert.max_load_factor.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.multimap/assert.bucket.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.multimap/assert.bucket_size.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.multimap/assert.max_load_factor.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.multiset/assert.bucket.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.multiset/assert.bucket_size.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.multiset/assert.max_load_factor.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.set/assert.bucket.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.set/assert.bucket_size.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.set/assert.max_load_factor.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/extents/assert.conversion.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/extents/assert.ctor_from_array.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/extents/assert.ctor_from_integral.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/extents/assert.ctor_from_span.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/extents/assert.obs.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_left/assert.conversion.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_left/assert.ctor.extents.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_left/assert.ctor.layout_right.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_left/assert.ctor.layout_stride.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_left/assert.index_operator.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_left/assert.stride.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_right/assert.conversion.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_right/assert.ctor.extents.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_right/assert.ctor.layout_left.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_right/assert.ctor.layout_stride.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_right/assert.index_operator.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_right/assert.stride.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.conversion.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.ctor.extents_array.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.ctor.extents_span.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.stride.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/mdspan/assert.conversion.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/mdspan/assert.index_operator.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/mdspan/assert.size.pass.cpp
M libcxx/test/libcxx/containers/views/views.span/debug.iterator-indexing.pass.cpp
M libcxx/test/libcxx/containers/views/views.span/span.cons/assert.iter_sent.pass.cpp
M libcxx/test/libcxx/containers/views/views.span/span.cons/assert.iter_size.pass.cpp
M libcxx/test/libcxx/containers/views/views.span/span.cons/assert.other_span.pass.cpp
M libcxx/test/libcxx/containers/views/views.span/span.cons/assert.range.pass.cpp
M libcxx/test/libcxx/containers/views/views.span/span.elem/assert.back.pass.cpp
M libcxx/test/libcxx/containers/views/views.span/span.elem/assert.front.pass.cpp
M libcxx/test/libcxx/containers/views/views.span/span.elem/assert.op_idx.pass.cpp
M libcxx/test/libcxx/containers/views/views.span/span.sub/assert.first.pass.cpp
M libcxx/test/libcxx/containers/views/views.span/span.sub/assert.last.pass.cpp
M libcxx/test/libcxx/containers/views/views.span/span.sub/assert.subspan.pass.cpp
R libcxx/test/libcxx/depr/depr.c.headers/no_fgetpos_fsetpos.verify.cpp
M libcxx/test/libcxx/depr/enable_removed_cpp17_features.compile.pass.cpp
M libcxx/test/libcxx/diagnostics/bit.nodiscard_extensions.compile.pass.cpp
M libcxx/test/libcxx/diagnostics/chrono.nodiscard_extensions.compile.pass.cpp
M libcxx/test/libcxx/diagnostics/format.nodiscard_extensions.compile.pass.cpp
M libcxx/test/libcxx/diagnostics/pstl.nodiscard_extensions.compile.pass.cpp
M libcxx/test/libcxx/diagnostics/ranges.nodiscard_extensions.compile.pass.cpp
M libcxx/test/libcxx/experimental/fexperimental-library.compile.pass.cpp
R libcxx/test/libcxx/experimental/lit.local.cfg
R libcxx/test/libcxx/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/assert.deallocate.pass.cpp
R libcxx/test/libcxx/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/construct_piecewise_pair.pass.cpp
R libcxx/test/libcxx/experimental/memory/memory.resource.adaptor/memory.resource.adaptor.mem/assert.deallocate.pass.cpp
R libcxx/test/libcxx/experimental/memory/memory.resource.global/global_memory_resource_lifetime.pass.cpp
R libcxx/test/libcxx/experimental/memory/memory.resource.global/new_delete_resource_lifetime.pass.cpp
A libcxx/test/libcxx/headers_in_modulemap.sh.py
M libcxx/test/libcxx/input.output/filesystems/class.directory_entry/directory_entry.mods/last_write_time.pass.cpp
M libcxx/test/libcxx/input.output/filesystems/class.path/path.itr/assert.iterator.pass.cpp
M libcxx/test/libcxx/input.output/filesystems/class.path/path.member/path.native.obs/string_alloc.pass.cpp
M libcxx/test/libcxx/input.output/filesystems/class.path/path.req/is_pathable.pass.cpp
M libcxx/test/libcxx/input.output/filesystems/convert_file_time.pass.cpp
M libcxx/test/libcxx/iterators/assert.advance.pass.cpp
M libcxx/test/libcxx/iterators/assert.next.pass.cpp
M libcxx/test/libcxx/iterators/assert.prev.pass.cpp
M libcxx/test/libcxx/iterators/bounded_iter/dereference.pass.cpp
M libcxx/test/libcxx/localization/locales/locale.convenience/conversions/conversions.string/ctor_move.pass.cpp
M libcxx/test/libcxx/odr_signature.hardening.sh.cpp
M libcxx/test/libcxx/ranges/range.adaptors/range.drop.while/assert.begin.pass.cpp
M libcxx/test/libcxx/ranges/range.adaptors/range.lazy.split/range.lazy.split.inner/assert.equal.pass.cpp
M libcxx/test/libcxx/ranges/range.adaptors/range.lazy.split/range.lazy.split.outer/assert.equal.pass.cpp
M libcxx/test/libcxx/ranges/range.factories/range.repeat.view/ctor.piecewise.pass.cpp
M libcxx/test/libcxx/ranges/range.factories/range.repeat.view/ctor.value.bound.pass.cpp
M libcxx/test/libcxx/selftest/dsl/dsl.sh.py
M libcxx/test/libcxx/selftest/pass.cpp/run-error.pass.cpp
M libcxx/test/libcxx/selftest/pass.mm/run-error.pass.mm
M libcxx/test/libcxx/strings/basic.string/string.access/assert.back.pass.cpp
M libcxx/test/libcxx/strings/basic.string/string.access/assert.cback.pass.cpp
M libcxx/test/libcxx/strings/basic.string/string.access/assert.cfront.pass.cpp
M libcxx/test/libcxx/strings/basic.string/string.access/assert.cindex.pass.cpp
M libcxx/test/libcxx/strings/basic.string/string.access/assert.front.pass.cpp
M libcxx/test/libcxx/strings/basic.string/string.access/assert.index.pass.cpp
M libcxx/test/libcxx/strings/basic.string/string.capacity/PR53170.pass.cpp
M libcxx/test/libcxx/strings/basic.string/string.modifiers/assert.erase_iter.null.pass.cpp
M libcxx/test/libcxx/strings/basic.string/string.modifiers/assert.pop_back.pass.cpp
M libcxx/test/libcxx/strings/string.view/assert.ctor.length.pass.cpp
M libcxx/test/libcxx/strings/string.view/assert.ctor.pointer.pass.cpp
M libcxx/test/libcxx/strings/string.view/string.view.iterators/debug.iterator-indexing.pass.cpp
M libcxx/test/libcxx/system_reserved_names.gen.py
M libcxx/test/libcxx/thread/futures/futures.promise/assert.set_exception.pass.cpp
M libcxx/test/libcxx/thread/futures/futures.promise/assert.set_exception_at_thread_exit.pass.cpp
M libcxx/test/libcxx/thread/thread.barrier/assert.arrive.pass.cpp
M libcxx/test/libcxx/thread/thread.barrier/assert.ctor.pass.cpp
M libcxx/test/libcxx/thread/thread.latch/assert.arrive_and_wait.pass.cpp
M libcxx/test/libcxx/thread/thread.latch/assert.count_down.pass.cpp
M libcxx/test/libcxx/thread/thread.latch/assert.ctor.pass.cpp
M libcxx/test/libcxx/thread/thread.semaphore/assert.ctor.pass.cpp
M libcxx/test/libcxx/thread/thread.semaphore/assert.release.pass.cpp
M libcxx/test/libcxx/transitive_includes/cxx03.csv
M libcxx/test/libcxx/transitive_includes/cxx11.csv
M libcxx/test/libcxx/transitive_includes/cxx14.csv
M libcxx/test/libcxx/transitive_includes/cxx17.csv
M libcxx/test/libcxx/transitive_includes/cxx20.csv
M libcxx/test/libcxx/transitive_includes/cxx23.csv
M libcxx/test/libcxx/transitive_includes/cxx26.csv
M libcxx/test/libcxx/transitive_includes_to_csv.py
M libcxx/test/libcxx/type_traits/is_trivially_comparable.compile.pass.cpp
M libcxx/test/libcxx/utilities/assert.exception_guard.no_exceptions.pass.cpp
M libcxx/test/libcxx/utilities/expected/expected.expected/assert.arrow.pass.cpp
M libcxx/test/libcxx/utilities/expected/expected.expected/assert.deref.pass.cpp
M libcxx/test/libcxx/utilities/expected/expected.expected/assert.error.pass.cpp
M libcxx/test/libcxx/utilities/expected/expected.void/assert.deref.pass.cpp
M libcxx/test/libcxx/utilities/expected/expected.void/assert.error.pass.cpp
M libcxx/test/libcxx/utilities/meta/stress_tests/stress_test_variant_overloads_impl.sh.cpp
M libcxx/test/libcxx/utilities/optional/optional.object/optional.object.observe/assert.dereference.pass.cpp
M libcxx/test/libcxx/utilities/optional/optional.object/optional.object.observe/assert.op_arrow.pass.cpp
M libcxx/test/libcxx/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/construct_piecewise_pair.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/ranges.copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/ranges.copy_backward.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/ranges.copy_n.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/ranges.fill.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.move/ranges.move.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.move/ranges.move_backward.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.partitions/ranges_partition_copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.random.sample/ranges_sample.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.remove/ranges.remove.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.remove/ranges.remove_if.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/ranges.replace.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/ranges.replace_if.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.swap/ranges.swap_ranges.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.transform/ranges.transform.binary.iterator.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.transform/ranges.transform.binary.range.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.transform/ranges.transform.unary.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.unique/ranges_unique_copy.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.adjacent.find/ranges.adjacent_find.pass.cpp
R libcxx/test/std/algorithms/alg.nonmodifying/alg.all_of/pstl.exception_handling.cpp
A libcxx/test/std/algorithms/alg.nonmodifying/alg.all_of/pstl.exception_handling.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.all_of/ranges.all_of.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.any_of/ranges.any_of.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/equal.pass.cpp
A libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/pstl.equal.pass.cpp
A libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/pstl.exception_handling.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find.first.of/ranges.find_first_of.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/find_if.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/find_if_not.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/ranges.find.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/ranges.find_if.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/ranges.find_if_not.pass.cpp
A libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/for_each.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/ranges.for_each_n.pass.cpp
R libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/test.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.none_of/ranges.none_of.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/mismatch/ranges_mismatch.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.clamp/assert.ranges_clamp.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.clamp/ranges.clamp.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/make.heap/ranges_make_heap.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/pop.heap/assert.pop_heap.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/pop.heap/assert.ranges_pop_heap.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/pop.heap/ranges_pop_heap.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/push.heap/ranges_push_heap.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/sort.heap/complexity.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/sort.heap/ranges_sort_heap.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.lex.comparison/ranges.lexicographical_compare.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.merge/inplace_merge_comp.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.merge/ranges_merge.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.nth.element/ranges_nth_element.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.partitions/ranges.is_partitioned.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.set.operations/set.difference/ranges_set_difference.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.set.operations/set.intersection/ranges_set_intersection.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.set.operations/set.symmetric.difference/ranges_set_symmetric_difference.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.set.operations/set.union/ranges_set_union.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/partial.sort/ranges_partial_sort.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/sort/ranges.sort.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/sort/sort.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/stable.sort/ranges.stable.sort.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.three.way/lexicographical_compare_three_way_comp.pass.cpp
M libcxx/test/std/algorithms/ranges_robust_against_dangling.pass.cpp
A libcxx/test/std/algorithms/ranges_robust_against_nonbool.compile.pass.cpp
R libcxx/test/std/algorithms/ranges_robust_against_nonbool_predicates.pass.cpp
A libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/assign.pass.cpp
A libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/compare_exchange_strong.pass.cpp
A libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/compare_exchange_weak.pass.cpp
A libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/copy.compile.pass.cpp
A libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/ctor.pass.cpp
A libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/exchange.pass.cpp
A libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_add.pass.cpp
A libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_sub.pass.cpp
A libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/load.pass.cpp
A libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/lockfree.pass.cpp
A libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/notify_all.pass.cpp
A libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/notify_one.pass.cpp
A libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.float.pass.cpp
A libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.minus_equals.pass.cpp
A libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.plus_equals.pass.cpp
A libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/store.pass.cpp
A libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/test_helper.h
A libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/types.compile.pass.cpp
A libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/wait.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/integral.pass.cpp
M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_add.pass.cpp
M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_add_explicit.pass.cpp
M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_and.pass.cpp
M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_and_explicit.pass.cpp
M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_or.pass.cpp
M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_or_explicit.pass.cpp
M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_sub.pass.cpp
M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_sub_explicit.pass.cpp
M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_xor.pass.cpp
M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_xor_explicit.pass.cpp
M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_is_lock_free.pass.cpp
M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/ctor.pass.cpp
M libcxx/test/std/atomics/types.pass.cpp
M libcxx/test/std/concepts/concepts.object/semiregular.compile.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.cons/from_range.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.modifiers/append_range.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.modifiers/assign_range.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.modifiers/insert_range.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.modifiers/prepend_range.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.modifiers/push_back_exception_safety.pass.cpp
M libcxx/test/std/containers/sequences/deque/deque.modifiers/push_front_exception_safety.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/push_front_exception_safety.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/remove_if.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/unique_pred.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/push_back_exception_safety.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/push_front_exception_safety.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/remove_if.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/unique_pred.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/append_range.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/assign_range.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/construct_from_range.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/insert_range.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.cons/construct_from_range.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.cons/copy.move_only.verify.cpp
M libcxx/test/std/containers/sequences/vector/vector.modifiers/append_range.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.modifiers/assign_range.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.modifiers/insert_range.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.modifiers/resize_not_move_insertable.verify.cpp
M libcxx/test/std/containers/views/mdspan/ConvertibleToIntegral.h
M libcxx/test/std/containers/views/mdspan/CustomTestLayouts.h
M libcxx/test/std/containers/views/mdspan/MinimalElementType.h
M libcxx/test/std/containers/views/mdspan/extents/CtorTestCombinations.h
M libcxx/test/std/containers/views/mdspan/extents/ctad.pass.cpp
M libcxx/test/std/containers/views/mdspan/extents/ctor_default.pass.cpp
M libcxx/test/std/containers/views/mdspan/extents/ctor_from_array.pass.cpp
M libcxx/test/std/containers/views/mdspan/extents/ctor_from_span.pass.cpp
M libcxx/test/std/containers/views/mdspan/extents/obs_static.pass.cpp
M libcxx/test/std/containers/views/mdspan/extents/types.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/extents.verify.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/index_operator.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/properties.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/static_requirements.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/extents.verify.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/index_operator.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/properties.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/static_requirements.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/extents.verify.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/index_operator.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/properties.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/static_requirements.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/CustomTestAccessors.h
M libcxx/test/std/containers/views/mdspan/mdspan/assign.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.copy.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.default.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_array.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_extents.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_integers.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_map.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_map_acc.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_span.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.move.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/deduction.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/index_operator.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/move.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/properties.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/swap.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/types.pass.cpp
M libcxx/test/std/depr/depr.c.headers/fenv_h.compile.pass.cpp
M libcxx/test/std/depr/depr.c.headers/stdio_h.compile.pass.cpp
M libcxx/test/std/depr/depr.c.headers/uchar_h.compile.pass.cpp
A libcxx/test/std/experimental/memory/memory.observer.ptr/compare.pass.cpp
A libcxx/test/std/experimental/memory/memory.observer.ptr/ctor.convert.pass.cpp
A libcxx/test/std/experimental/memory/memory.observer.ptr/ctor.copy_move.pass.cpp
A libcxx/test/std/experimental/memory/memory.observer.ptr/ctor.default.pass.cpp
A libcxx/test/std/experimental/memory/memory.observer.ptr/ctor.element_type.pass.cpp
A libcxx/test/std/experimental/memory/memory.observer.ptr/ctor.nullptr.pass.cpp
A libcxx/test/std/experimental/memory/memory.observer.ptr/deref.pass.cpp
A libcxx/test/std/experimental/memory/memory.observer.ptr/get.pass.cpp
A libcxx/test/std/experimental/memory/memory.observer.ptr/hash.pass.cpp
A libcxx/test/std/experimental/memory/memory.observer.ptr/make_observer.pass.cpp
A libcxx/test/std/experimental/memory/memory.observer.ptr/operator-bool.pass.cpp
A libcxx/test/std/experimental/memory/memory.observer.ptr/operator-element_type.pass.cpp
A libcxx/test/std/experimental/memory/memory.observer.ptr/release.pass.cpp
A libcxx/test/std/experimental/memory/memory.observer.ptr/reset.pass.cpp
A libcxx/test/std/experimental/memory/memory.observer.ptr/swap.pass.cpp
A libcxx/test/std/experimental/memory/memory.observer.ptr/types.compile.pass.cpp
R libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.ctor/assign.pass.cpp
R libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.ctor/copy.pass.cpp
R libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.ctor/default.pass.cpp
R libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.ctor/memory_resource_convert.pass.cpp
R libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.ctor/other_alloc.pass.cpp
R libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.eq/equal.pass.cpp
R libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.eq/not_equal.pass.cpp
R libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/allocate.pass.cpp
R libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/construct_pair.pass.cpp
R libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/construct_pair_const_lvalue_pair.pass.cpp
R libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/construct_pair_rvalue.pass.cpp
R libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/construct_pair_values.pass.cpp
R libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/construct_piecewise_pair.pass.cpp
R libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/construct_piecewise_pair_evil.pass.cpp
R libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/construct_types.pass.cpp
R libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/deallocate.pass.cpp
R libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/destroy.pass.cpp
R libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/resource.pass.cpp
R libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/select_on_container_copy_construction.pass.cpp
R libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.overview/nothing_to_do.pass.cpp
R libcxx/test/std/experimental/memory/memory.resource.adaptor/memory.resource.adaptor.ctor/alloc_copy.pass.cpp
R libcxx/test/std/experimental/memory/memory.resource.adaptor/memory.resource.adaptor.ctor/alloc_move.pass.cpp
R libcxx/test/std/experimental/memory/memory.resource.adaptor/memory.resource.adaptor.ctor/default.pass.cpp
R libcxx/test/std/experimental/memory/memory.resource.adaptor/memory.resource.adaptor.mem/do_allocate_and_deallocate.pass.cpp
R libcxx/test/std/experimental/memory/memory.resource.adaptor/memory.resource.adaptor.mem/do_is_equal.pass.cpp
R libcxx/test/std/experimental/memory/memory.resource.adaptor/memory.resource.adaptor.overview/overview.pass.cpp
R libcxx/test/std/experimental/memory/memory.resource.aliases/header_deque_synop.pass.cpp
R libcxx/test/std/experimental/memory/memory.resource.aliases/header_forward_list_synop.pass.cpp
R libcxx/test/std/experimental/memory/memory.resource.aliases/header_list_synop.pass.cpp
R libcxx/test/std/experimental/memory/memory.resource.aliases/header_map_synop.pass.cpp
R libcxx/test/std/experimental/memory/memory.resource.aliases/header_regex_synop.pass.cpp
R libcxx/test/std/experimental/memory/memory.resource.aliases/header_set_synop.pass.cpp
R libcxx/test/std/experimental/memory/memory.resource.aliases/header_string_synop.pass.cpp
R libcxx/test/std/experimental/memory/memory.resource.aliases/header_unordered_map_synop.pass.cpp
R libcxx/test/std/experimental/memory/memory.resource.aliases/header_unordered_set_synop.pass.cpp
R libcxx/test/std/experimental/memory/memory.resource.aliases/header_vector_synop.pass.cpp
R libcxx/test/std/experimental/memory/memory.resource.global/default_resource.pass.cpp
R libcxx/test/std/experimental/memory/memory.resource.global/new_delete_resource.pass.cpp
R libcxx/test/std/experimental/memory/memory.resource.global/null_memory_resource.pass.cpp
R libcxx/test/std/experimental/memory/memory.resource.synop/nothing_to_do.pass.cpp
R libcxx/test/std/experimental/memory/memory.resource/construct.verify.cpp
R libcxx/test/std/experimental/memory/memory.resource/memory.resource.eq/equal.pass.cpp
R libcxx/test/std/experimental/memory/memory.resource/memory.resource.eq/not_equal.pass.cpp
R libcxx/test/std/experimental/memory/memory.resource/memory.resource.overview/nothing_to_do.pass.cpp
R libcxx/test/std/experimental/memory/memory.resource/memory.resource.priv/private_members.verify.cpp
R libcxx/test/std/experimental/memory/memory.resource/memory.resource.public/allocate.pass.cpp
R libcxx/test/std/experimental/memory/memory.resource/memory.resource.public/deallocate.pass.cpp
R libcxx/test/std/experimental/memory/memory.resource/memory.resource.public/dtor.pass.cpp
R libcxx/test/std/experimental/memory/memory.resource/memory.resource.public/is_equal.pass.cpp
A libcxx/test/std/experimental/simd/simd.class/simd_ctor_conversion.pass.cpp
M libcxx/test/std/experimental/simd/simd.class/simd_ctor_default.pass.cpp
A libcxx/test/std/experimental/simd/simd.mask.class/simd_mask_ctor_conversion.pass.cpp
M libcxx/test/std/experimental/simd/simd.mask.class/simd_mask_ctor_default.pass.cpp
M libcxx/test/std/experimental/simd/simd.reference/reference_assignment.pass.cpp
M libcxx/test/std/experimental/simd/test_utils.h
M libcxx/test/std/input.output/file.streams/c.files/cstdio.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/filebuf.members/open_pointer.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/fstream.cons/pointer.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/fstream.members/open_pointer.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/ifstream.members/buffered_reads.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/ofstream.cons/pointer.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/ofstream.members/buffered_writes.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/ofstream.members/open_pointer.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/copy.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/copy_assign.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/default.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/default_const.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/move.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/move_assign.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/path.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.io/directory_entry.io.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/assign.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/refresh.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/replace_filename.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/comparisons.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/file_size.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/file_type_obs.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/hard_link_count.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/last_write_time.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/path.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/status.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/symlink_status.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/copy.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/copy_assign.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/ctor.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/default_ctor.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/equal.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/increment.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/move.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/move_assign.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.nonmembers/begin_end.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_iterator/iterator_concept_conformance.compile.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_iterator/range_concept_conformance.compile.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_iterator/types.pass.cpp
M libcxx/test/std/input.output/filesystems/class.file_status/file_status.cons.pass.cpp
M libcxx/test/std/input.output/filesystems/class.file_status/file_status.mods.pass.cpp
M libcxx/test/std/input.output/filesystems/class.file_status/file_status.obs.pass.cpp
R libcxx/test/std/input.output/filesystems/class.file_status/file_status.status.eq.ops.cpp
A libcxx/test/std/input.output/filesystems/class.file_status/file_status.status.eq.ops.pass.cpp
M libcxx/test/std/input.output/filesystems/class.filesystem_error/filesystem_error.members.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.itr/iterator.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.append.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.assign/copy.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.assign/move.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.assign/source.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.charconv.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.compare.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.concat.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.construct/copy.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.construct/default.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.construct/move.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.construct/source.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.decompose/empty.verify.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.decompose/path.decompose.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.gen/lexically_normal.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.gen/lexically_relative_and_proximate.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.generic.obs/generic_string_alloc.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.generic.obs/named_overloads.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.hash_enabled.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.modifiers/clear.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.modifiers/make_preferred.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.modifiers/remove_filename.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.modifiers/replace_extension.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.modifiers/replace_filename.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.modifiers/swap.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.native.obs/c_str.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.native.obs/named_overloads.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.native.obs/native.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.native.obs/operator_string.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.query/tested_in_path_decompose.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.nonmember/append_op.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.nonmember/append_op.verify.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.nonmember/comparison_ops.verify.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.nonmember/comparison_ops_tested_elsewhere.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.nonmember/path.factory.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.nonmember/path.io.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.nonmember/path.io.unicode_bug.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.nonmember/swap.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path_helper.h
M libcxx/test/std/input.output/filesystems/class.path/range_concept_conformance.compile.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/synop.pass.cpp
M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/range_concept_conformance.compile.pass.cpp
M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/copy.pass.cpp
M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/copy_assign.pass.cpp
M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/ctor.pass.cpp
M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/depth.pass.cpp
M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/disable_recursion_pending.pass.cpp
M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/equal.pass.cpp
M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/increment.pass.cpp
M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/move.pass.cpp
M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/move_assign.pass.cpp
M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/pop.pass.cpp
M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/recursion_pending.pass.cpp
M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.nonmembers/begin_end.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.enum/enum.copy_options.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.enum/enum.directory_options.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.enum/enum.file_type.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.enum/enum.path.format.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.enum/enum.perm_options.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.enum/enum.perms.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.filesystem.synopsis/file_time_type.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.filesystem.synopsis/file_time_type_resolution.compile.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.filesystem.synopsis/space_info.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.absolute/absolute.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.canonical/canonical.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy/copy.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy_file/copy_file.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy_file/copy_file_large.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy_symlink/copy_symlink.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directories/create_directories.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directory/create_directory.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directory/create_directory_with_attributes.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directory_symlink/create_directory_symlink.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_hard_link/create_hard_link.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_symlink/create_symlink.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.current_path/current_path.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.equivalent/equivalent.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.exists/exists.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.file_size/file_size.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.hard_lk_ct/hard_link_count.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_block_file/is_block_file.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_char_file/is_character_file.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_directory/is_directory.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_empty/is_empty.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_fifo/is_fifo.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_other/is_other.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_regular_file/is_regular_file.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_socket/is_socket.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_symlink/is_symlink.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.last_write_time/last_write_time.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.permissions/permissions.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.proximate/proximate.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.read_symlink/read_symlink.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.relative/relative.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.remove/remove.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.remove_all/remove_all.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.remove_all/toctou.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.rename/rename.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.resize_file/resize_file.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.space/space.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.status/status.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.status_known/status_known.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.symlink_status/symlink_status.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.temp_dir_path/temp_directory_path.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.weakly_canonical/weakly_canonical.pass.cpp
R libcxx/test/std/input.output/filesystems/fs.req.namespace/namespace.verify.cpp
M libcxx/test/std/input.output/iostream.format/print.fun/print.file.pass.cpp
M libcxx/test/std/input.output/iostream.format/print.fun/println.file.pass.cpp
M libcxx/test/std/input.output/iostream.format/print.fun/vprint_nonunicode.file.pass.cpp
M libcxx/test/std/input.output/iostream.format/print.fun/vprint_unicode.file.pass.cpp
M libcxx/test/std/input.output/iostream.objects/narrow.stream.objects/cerr.sh.cpp
M libcxx/test/std/input.output/iostream.objects/narrow.stream.objects/clog.sh.cpp
M libcxx/test/std/input.output/iostream.objects/narrow.stream.objects/cout.sh.cpp
A libcxx/test/std/input.output/syncstream/osyncstream/assign.pass.cpp
A libcxx/test/std/input.output/syncstream/osyncstream/members/emit.pass.cpp
A libcxx/test/std/input.output/syncstream/osyncstream/members/get_wrapped.pass.cpp
A libcxx/test/std/input.output/syncstream/osyncstream/members/rdbuf.pass.cpp
A libcxx/test/std/input.output/syncstream/osyncstream/syncstream.osyncstream.cons/cons.move.pass.cpp
A libcxx/test/std/input.output/syncstream/osyncstream/syncstream.osyncstream.cons/cons.ostream.allocator.pass.cpp
A libcxx/test/std/input.output/syncstream/osyncstream/syncstream.osyncstream.cons/cons.ostream.pass.cpp
A libcxx/test/std/input.output/syncstream/osyncstream/syncstream.osyncstream.cons/cons.pointer.allocator.pass.cpp
A libcxx/test/std/input.output/syncstream/osyncstream/syncstream.osyncstream.cons/cons.pointer.pass.cpp
A libcxx/test/std/input.output/syncstream/osyncstream/thread/basic.pass.cpp
A libcxx/test/std/input.output/syncstream/osyncstream/thread/several_threads.pass.cpp
A libcxx/test/std/input.output/syncstream/osyncstream/types.compile.pass.cpp
A libcxx/test/std/input.output/syncstream/syncbuf/helpers.h
A libcxx/test/std/input.output/syncstream/syncbuf/sputc.pass.cpp
A libcxx/test/std/input.output/syncstream/syncbuf/sputn.pass.cpp
A libcxx/test/std/input.output/syncstream/syncbuf/sync.pass.cpp
A libcxx/test/std/input.output/syncstream/syncbuf/syncstream.syncbuf.assign/assign.pass.cpp
A libcxx/test/std/input.output/syncstream/syncbuf/syncstream.syncbuf.assign/swap.pass.cpp
A libcxx/test/std/input.output/syncstream/syncbuf/syncstream.syncbuf.cons/cons.default.pass.cpp
A libcxx/test/std/input.output/syncstream/syncbuf/syncstream.syncbuf.cons/cons.move.pass.cpp
A libcxx/test/std/input.output/syncstream/syncbuf/syncstream.syncbuf.cons/cons.pointer.allocator.pass.cpp
A libcxx/test/std/input.output/syncstream/syncbuf/syncstream.syncbuf.cons/cons.pointer.pass.cpp
A libcxx/test/std/input.output/syncstream/syncbuf/syncstream.syncbuf.cons/dtor.pass.cpp
A libcxx/test/std/input.output/syncstream/syncbuf/syncstream.syncbuf.members/emit.pass.cpp
A libcxx/test/std/input.output/syncstream/syncbuf/syncstream.syncbuf.members/get_allocator.pass.cpp
A libcxx/test/std/input.output/syncstream/syncbuf/syncstream.syncbuf.members/get_wrapped.pass.cpp
A libcxx/test/std/input.output/syncstream/syncbuf/syncstream.syncbuf.members/set_emit_on_sync.pass.cpp
A libcxx/test/std/input.output/syncstream/syncbuf/syncstream.syncbuf.special/swap.pass.cpp
A libcxx/test/std/input.output/syncstream/syncbuf/types.compile.pass.cpp
M libcxx/test/std/iterators/iterator.primitives/iterator.traits/cxx20_iterator_traits.compile.pass.cpp
R libcxx/test/std/iterators/predef.iterators/counted.iterator/increment.cpp
A libcxx/test/std/iterators/predef.iterators/counted.iterator/increment.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array14.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete14.pass.cpp
A libcxx/test/std/language.support/support.limits/support.limits.general/.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/algorithm.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/array.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/atomic.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/barrier.version.compile.pass.cpp
A libcxx/test/std/language.support/support.limits/support.limits.general/cstring.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/expected.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/filesystem.version.compile.pass.cpp
A libcxx/test/std/language.support/support.limits/support.limits.general/ios.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/latch.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/map.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/mdspan.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/memory.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/memory_resource.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/optional.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/ranges.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/semaphore.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/span.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/stop_token.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/string_view.version.compile.pass.cpp
A libcxx/test/std/language.support/support.limits/support.limits.general/syncstream.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/thread.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/tuple.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/unordered_map.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/utility.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/variant.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/test/std/language.support/support.runtime/ctime.timespec.compile.pass.cpp
A libcxx/test/std/localization/codecvt_unicode.pass.cpp
M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/utf_sanity_check.pass.cpp
M libcxx/test/std/localization/locale.stdcvt/codecvt_mode.pass.cpp
M libcxx/test/std/localization/locale.stdcvt/codecvt_utf16.pass.cpp
M libcxx/test/std/localization/locale.stdcvt/codecvt_utf16_always_noconv.pass.cpp
M libcxx/test/std/localization/locale.stdcvt/codecvt_utf16_encoding.pass.cpp
M libcxx/test/std/localization/locale.stdcvt/codecvt_utf16_in.pass.cpp
M libcxx/test/std/localization/locale.stdcvt/codecvt_utf16_length.pass.cpp
M libcxx/test/std/localization/locale.stdcvt/codecvt_utf16_max_length.pass.cpp
M libcxx/test/std/localization/locale.stdcvt/codecvt_utf16_out.pass.cpp
M libcxx/test/std/localization/locale.stdcvt/codecvt_utf16_unshift.pass.cpp
M libcxx/test/std/localization/locale.stdcvt/codecvt_utf8.pass.cpp
M libcxx/test/std/localization/locale.stdcvt/codecvt_utf8_always_noconv.pass.cpp
M libcxx/test/std/localization/locale.stdcvt/codecvt_utf8_encoding.pass.cpp
M libcxx/test/std/localization/locale.stdcvt/codecvt_utf8_in.pass.cpp
M libcxx/test/std/localization/locale.stdcvt/codecvt_utf8_length.pass.cpp
M libcxx/test/std/localization/locale.stdcvt/codecvt_utf8_max_length.pass.cpp
M libcxx/test/std/localization/locale.stdcvt/codecvt_utf8_out.pass.cpp
M libcxx/test/std/localization/locale.stdcvt/codecvt_utf8_unshift.pass.cpp
M libcxx/test/std/localization/locale.stdcvt/codecvt_utf8_utf16_always_noconv.pass.cpp
M libcxx/test/std/localization/locale.stdcvt/codecvt_utf8_utf16_encoding.pass.cpp
M libcxx/test/std/localization/locale.stdcvt/codecvt_utf8_utf16_in.pass.cpp
M libcxx/test/std/localization/locale.stdcvt/codecvt_utf8_utf16_length.pass.cpp
M libcxx/test/std/localization/locale.stdcvt/codecvt_utf8_utf16_max_length.pass.cpp
M libcxx/test/std/localization/locale.stdcvt/codecvt_utf8_utf16_out.pass.cpp
M libcxx/test/std/localization/locale.stdcvt/codecvt_utf8_utf16_unshift.pass.cpp
M libcxx/test/std/localization/locale.stdcvt/depr.verify.cpp
A libcxx/test/std/localization/locale.stdcvt/remove.verify.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/ctor.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/depr.verify.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/overflow.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/pbackfail.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/rdbuf.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/state.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/test.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/underflow.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/converted.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/ctor_codecvt.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/ctor_codecvt_state.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/ctor_copy.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/ctor_err_string.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/depr.verify.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/from_bytes.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/state.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/to_bytes.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/types.pass.cpp
M libcxx/test/std/localization/locales/locale/locale.cons/char_pointer.pass.cpp
M libcxx/test/std/numerics/cfenv/cfenv.syn/cfenv.pass.cpp
M libcxx/test/std/numerics/numarray/class.gslice/gslice.cons/default.pass.cpp
M libcxx/test/std/numerics/numarray/class.gslice/gslice.cons/start_size_stride.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.drop/dangling.cache.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.filter/iterator/arrow.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.filter/iterator/base.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.filter/iterator/compare.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.filter/iterator/ctor.parent_iter.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.filter/iterator/decrement.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.filter/iterator/deref.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.filter/iterator/increment.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.filter/iterator/iter_move.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.filter/iterator/iter_swap.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.filter/sentinel/base.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.filter/sentinel/compare.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.filter/sentinel/ctor.parent.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.join.view/sentinel/ctor.other.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.lazy.split/types.h
M libcxx/test/std/ranges/range.adaptors/range.reverse/begin.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/iterator/iter_move.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/iterator/iter_swap.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/sentinel/minus.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/types.h
Log Message:
-----------
Add NoteTemplateLocation and external source notes
Created using spr 1.3.5
Compare: https://github.com/llvm/llvm-project/compare/cab6bcd73081...cc33f2e1bf31
More information about the All-commits
mailing list