[all-commits] [llvm/llvm-project] f2452d: [clang][Interp] Implement zero-init for record types
Mingming Liu via All-commits
all-commits at lists.llvm.org
Wed May 8 15:47:57 PDT 2024
Branch: refs/heads/users/minglotus-6/spr/ivk
Home: https://github.com/llvm/llvm-project
Commit: f2452d4b689469b6da63d9e8ffa96eaf4b39ac5d
https://github.com/llvm/llvm-project/commit/f2452d4b689469b6da63d9e8ffa96eaf4b39ac5d
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/test/AST/Interp/records.cpp
Log Message:
-----------
[clang][Interp] Implement zero-init for record types
Commit: 37f2928ce382603fdadd7bae87fa245ac65b7d4f
https://github.com/llvm/llvm-project/commit/37f2928ce382603fdadd7bae87fa245ac65b7d4f
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M clang/test/CXX/drs/cwg2149.cpp
M clang/test/CXX/drs/dr20xx.cpp
M clang/test/CXX/drs/dr21xx.cpp
M clang/test/CXX/drs/dr24xx.cpp
M clang/test/CXX/drs/dr25xx.cpp
M clang/test/CXX/drs/dr28xx.cpp
M clang/www/cxx_dr_status.html
M clang/www/make_cxx_dr_status
Log Message:
-----------
[clang] Use `cwg_index.html` from GitHub for DR status page (#90352)
Currently we're using official publication of CWG issue list available
at https://www.open-std.org/jtc1/sc22/wg21/docs/cwg_index.html.
Unfortunately, it's not updated as frequently as we sometimes need. For
instance, recently there was a confusion during review of CWG2149 test
(https://github.com/llvm/llvm-project/pull/90079#discussion_r1580174003).
This patch changes our `make_cxx_dr_status` script to use issue list
from CWG GitHub repository. I confirmed with CWG chair that this is the
most up-to-date source of information on CWG issues.
Changing the source of issue list uncovered previously unhandled
"tentatively ready" status of an issue. This status is considered
unresolved by the script (like `open`, `drafting`, and `review`), as the
resolution might change during face-to-face CWG meeting.
I also noticed that CWG decided to handle 2561 differently from what
we're doing, so this DR is now considered not available in Clang,
despite being declared as available since 18. CC @cor3ntin.
This patch also brings new issues into our DR list, so if someone was
waiting for a newly-filed issue to appear on our status page, it should
appear with this PR.
Commit: b35bdb1d7b31c2267af14ee7e097c78d89c3ddb0
https://github.com/llvm/llvm-project/commit/b35bdb1d7b31c2267af14ee7e097c78d89c3ddb0
Author: oltolm <oleg.tolmatcev at gmail.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
A llvm/test/tools/llvm-rc/Inputs/dialog-with-menu.rc
A llvm/test/tools/llvm-rc/dialog-with-menu.test
M llvm/tools/llvm-rc/ResourceFileWriter.cpp
M llvm/tools/llvm-rc/ResourceFileWriter.h
M llvm/tools/llvm-rc/ResourceScriptParser.cpp
M llvm/tools/llvm-rc/ResourceScriptParser.h
M llvm/tools/llvm-rc/ResourceScriptStmt.cpp
M llvm/tools/llvm-rc/ResourceScriptStmt.h
M llvm/tools/llvm-rc/ResourceVisitor.h
Log Message:
-----------
llvm-rc: add support for MENU in DIALOG(EX) (#89409)
Adds support for `MENU` in `DIALOG(EX)` to `llvm-rc`. Fixes #49559.
Commit: 95395ee51124792302390305b02cbeace5f07611
https://github.com/llvm/llvm-project/commit/95395ee51124792302390305b02cbeace5f07611
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M llvm/test/CodeGen/X86/memcmp-minsize-x32.ll
M llvm/test/CodeGen/X86/memcmp-minsize.ll
M llvm/test/CodeGen/X86/memcmp-optsize-x32.ll
M llvm/test/CodeGen/X86/memcmp-optsize.ll
M llvm/test/CodeGen/X86/memcmp-pgso-x32.ll
M llvm/test/CodeGen/X86/memcmp-pgso.ll
Log Message:
-----------
[X86] memcmp tests - merge check-prefixes. NFC.
Commit: 55c6bda01ef5a166a69b43956775272d9d67bda5
https://github.com/llvm/llvm-project/commit/55c6bda01ef5a166a69b43956775272d9d67bda5
Author: Bjorn Pettersson <bjorn.a.pettersson at ericsson.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M llvm/include/llvm/CodeGen/ISDOpcodes.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/AArch64/combine-mul.ll
M llvm/test/CodeGen/AMDGPU/div_i128.ll
M llvm/test/CodeGen/AMDGPU/rem_i128.ll
M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/insertelement.ll
M llvm/test/CodeGen/LoongArch/lsx/ir-instruction/insertelement.ll
M llvm/test/CodeGen/RISCV/alu64.ll
M llvm/test/CodeGen/RISCV/atomicrmw-uinc-udec-wrap.ll
M llvm/test/CodeGen/RISCV/bfloat-convert.ll
M llvm/test/CodeGen/RISCV/double-convert.ll
M llvm/test/CodeGen/RISCV/double-round-conv-sat.ll
M llvm/test/CodeGen/RISCV/float-convert.ll
M llvm/test/CodeGen/RISCV/float-round-conv-sat.ll
M llvm/test/CodeGen/RISCV/forced-atomics.ll
M llvm/test/CodeGen/RISCV/fpclamptosat.ll
M llvm/test/CodeGen/RISCV/half-convert.ll
M llvm/test/CodeGen/RISCV/half-round-conv-sat.ll
M llvm/test/CodeGen/RISCV/iabs.ll
M llvm/test/CodeGen/RISCV/rvv/fpclamptosat_vec.ll
M llvm/test/CodeGen/X86/abdu-vector-128.ll
M llvm/test/CodeGen/X86/apx/kmov-postrapseudos.ll
M llvm/test/CodeGen/X86/avx512-broadcast-arith.ll
M llvm/test/CodeGen/X86/combine-mul.ll
M llvm/test/CodeGen/X86/div-rem-pair-recomposition-signed.ll
M llvm/test/CodeGen/X86/fold-masked-merge.ll
M llvm/test/CodeGen/X86/freeze-binary.ll
M llvm/test/CodeGen/X86/freeze-combine.ll
M llvm/test/CodeGen/X86/freeze-vector.ll
M llvm/test/CodeGen/X86/gfni-funnel-shifts.ll
M llvm/test/CodeGen/X86/gfni-rotates.ll
M llvm/test/CodeGen/X86/known-never-zero.ll
M llvm/test/CodeGen/X86/midpoint-int-vec-128.ll
M llvm/test/CodeGen/X86/midpoint-int-vec-256.ll
M llvm/test/CodeGen/X86/midpoint-int-vec-512.ll
M llvm/test/CodeGen/X86/pr38539.ll
M llvm/test/CodeGen/X86/pr62286.ll
M llvm/test/CodeGen/X86/scheduler-backtracking.ll
M llvm/test/CodeGen/X86/sdiv_fix_sat.ll
M llvm/test/CodeGen/X86/setcc-non-simple-type.ll
M llvm/test/CodeGen/X86/vec_saddo.ll
M llvm/test/CodeGen/X86/vec_ssubo.ll
M llvm/test/CodeGen/X86/vec_uaddo.ll
M llvm/test/CodeGen/X86/vec_usubo.ll
M llvm/test/CodeGen/X86/vector-bo-select.ll
M llvm/test/CodeGen/X86/vector-fshr-128.ll
M llvm/test/CodeGen/X86/vector-fshr-256.ll
M llvm/test/CodeGen/X86/vector-fshr-sub128.ll
M llvm/test/CodeGen/X86/vector-shift-shl-128.ll
Log Message:
-----------
Revert "Revert "[SelectionDAG] Handle more opcodes in canCreateUndefOrPoison (#84921)" and more..."
This reverts commit 16bd10a38730fed27a3bf111076b8ef7a7e7b3ee.
Re-applies:
b3c55b707110084a9f50a16aade34c3be6fa18da - "[SelectionDAG] Handle more opcodes in canCreateUndefOrPoison (#84921)"
8e2f6495c0bac1dd6ee32b6a0d24152c9c343624 - "[DAGCombiner] Do not always fold FREEZE over BUILD_VECTOR (#85932)"
73472c5996716cda0dbb3ddb788304e0e7e6a323 - "[SelectionDAG] Treat CopyFromReg as freezing the value (#85932)"
with a fix in DAGCombiner::visitFREEZE.
Commit: 179e174945b6c0da462c534504720c9544aebf84
https://github.com/llvm/llvm-project/commit/179e174945b6c0da462c534504720c9544aebf84
Author: Matthias Springer <me at m-sp.org>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M mlir/lib/Dialect/Bufferization/Transforms/OneShotAnalysis.cpp
Log Message:
-----------
[mlir][bufferization][NFC] More documentation for `runOneShotBufferize` (#90445)
Commit: cb3174bd7895535d2f397695b5b20b1e90876997
https://github.com/llvm/llvm-project/commit/cb3174bd7895535d2f397695b5b20b1e90876997
Author: nihui <shuizhuyuanluo at 126.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M clang/include/clang/Basic/arm_neon.td
M clang/test/CodeGen/arm-bf16-convert-intrinsics.c
Log Message:
-----------
[clang][CodeGen] fix UB in aarch64 bfloat16 scalar conversion (#89062)
do not bitcast 16bit `bfloat16` to 32bit `int32_t` directly
bitcast to `int16_t`, and then upcast to `int32_t`
Fix ASAN runtime error when calling vcvtah_f32_bf16
`==21842==ERROR: AddressSanitizer: stack-buffer-overflow on address
0x007fda1dd063 at pc 0x005c0361c234 bp 0x007fda1dd030 sp 0x007fda1dd028
`
without patch
```c
__ai __attribute__((target("bf16"))) float32_t vcvtah_f32_bf16(bfloat16_t __p0) {
float32_t __ret;
bfloat16_t __reint = __p0;
int32_t __reint1 = *(int32_t *) &__reint << 16;
__ret = *(float32_t *) &__reint1;
return __ret;
}
```
with this patch
```c
__ai __attribute__((target("bf16"))) float32_t vcvtah_f32_bf16(bfloat16_t __p0) {
float32_t __ret;
bfloat16_t __reint = __p0;
int32_t __reint1 = (int32_t)(*(int16_t *) &__reint) << 16;
__ret = *(float32_t *) &__reint1;
return __ret;
}
```
fix issue https://github.com/llvm/llvm-project/issues/61983
Commit: 959d98c05ecacf79bbe78bc83e6dd99a3d58cab2
https://github.com/llvm/llvm-project/commit/959d98c05ecacf79bbe78bc83e6dd99a3d58cab2
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/Disasm.cpp
Log Message:
-----------
[clang][Interp][NFC] Fix a typo
Commit: 6e473307ab74263e3b72e67b592579e36cee5b6b
https://github.com/llvm/llvm-project/commit/6e473307ab74263e3b72e67b592579e36cee5b6b
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeStmtGen.cpp
M clang/test/AST/Interp/functions.cpp
Log Message:
-----------
[clang][Interp] Ignore FunctionDecls in compound statements
Commit: f5ed9170464b73a7a0a386358e995ce8373ef153
https://github.com/llvm/llvm-project/commit/f5ed9170464b73a7a0a386358e995ce8373ef153
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.h
M clang/lib/AST/Interp/Program.cpp
M clang/test/AST/Interp/records.cpp
Log Message:
-----------
[clang][Interp] Fix creating variables for TemplateParamObjectDecls
Actually initialize them with their value. While at it, fix doing
it for non-primitive (only struct so far) types as well.
Commit: 217c099eadfb9f2c5b5caf1af7b1ceb6a632cf74
https://github.com/llvm/llvm-project/commit/217c099eadfb9f2c5b5caf1af7b1ceb6a632cf74
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/RISCV/strided-stores-vectorized.ll
Log Message:
-----------
[SLP][NFC]Add a test for strided stores support, NFC.
Commit: e5c92c51e9869a6f109381d9e565b36cd4fb7b34
https://github.com/llvm/llvm-project/commit/e5c92c51e9869a6f109381d9e565b36cd4fb7b34
Author: Ivan Kosarev <ivan.kosarev at amd.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/test/MC/AMDGPU/ds-err.s
M llvm/test/MC/AMDGPU/gfx11_asm_err.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_err.s
Log Message:
-----------
[AMDGPU][AsmParser] Do not use predicates for validation of NamedIntOperands. (#90251)
Their job is to discriminate between different types of operands, not to
check if they are valid. For validation we can use conversion functions.
Clears the road to generating predicates automatically.
Part of <https://github.com/llvm/llvm-project/issues/62629>.
Commit: 8e17c84836b08be9a23d76c2cc234777712347de
https://github.com/llvm/llvm-project/commit/8e17c84836b08be9a23d76c2cc234777712347de
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
A llvm/test/CodeGen/AMDGPU/fp_trunc_store_bf16.ll
Log Message:
-----------
[AMDGPU][ISel] Set trunc store action to expand for v4f32->v4bf16 (#90427)
Commit: de6b2b9dbf9a18e9e160cff60f7eb238909a931c
https://github.com/llvm/llvm-project/commit/de6b2b9dbf9a18e9e160cff60f7eb238909a931c
Author: Kohei Asano <32860920+khei4 at users.noreply.github.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M clang/docs/LibTooling.rst
Log Message:
-----------
[Clang][Docs] use CommonOptionsParser::create instead of protected constructor on libTooling tutorial (NFC) (#70427)
This patch fixes the code example on CommonOptionParser on
https://intel.github.io/llvm-docs/clang/LibTooling.html
CommonOptionParser's constructor is protected, and we can use
`CommonOptionParser::create` instead of that.
It seems like the LibASTMatcher tutorial already uses that.
https://clang.llvm.org/docs/LibASTMatchersTutorial.html
---------
Co-authored-by: Sirraide <aeternalmail at gmail.com>
Commit: 8d5386669ed63548daf1bee415596582d6d78d7d
https://github.com/llvm/llvm-project/commit/8d5386669ed63548daf1bee415596582d6d78d7d
Author: David Truby <david.truby at arm.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M flang/docs/FlangDriver.md
M flang/include/flang/Optimizer/Builder/Runtime/EnvironmentDefaults.h
A flang/include/flang/Optimizer/Builder/Runtime/Main.h
M flang/lib/Lower/Bridge.cpp
M flang/lib/Optimizer/Builder/CMakeLists.txt
M flang/lib/Optimizer/Builder/Runtime/EnvironmentDefaults.cpp
A flang/lib/Optimizer/Builder/Runtime/Main.cpp
M flang/runtime/CMakeLists.txt
R flang/runtime/FortranMain/CMakeLists.txt
R flang/runtime/FortranMain/Fortran_main.c
M flang/test/CMakeLists.txt
A flang/test/Driver/driver-help-hidden.f90
M flang/test/Driver/dynamic-linker.f90
M flang/test/Driver/emit-mlir.f90
M flang/test/Driver/linker-flags.f90
M flang/test/Driver/msvc-dependent-lib-flags.f90
M flang/test/Driver/no-duplicate-main.f90
M flang/tools/flang-driver/CMakeLists.txt
M lld/COFF/MinGW.cpp
Log Message:
-----------
[flang] Generate main only when a Fortran program statement is present (#89938)
This patch changes the behaviour for flang to only create and link to a
`main` entry point when the Fortran code has a program statement in it.
This means that flang-new can be used to link even when the program is
a mixed C/Fortran code with `main` present in C and no entry point
present in Fortran.
This also removes the `-fno-fortran-main` flag as this no longer has any
functionality.
Commit: e57b8724140664da408da92d5d50f9a1e0c9828a
https://github.com/llvm/llvm-project/commit/e57b8724140664da408da92d5d50f9a1e0c9828a
Author: Danial Klimkin <dklimkin at google.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
Log Message:
-----------
Avoid unusable variable in ByteCodeExprGen.cpp (#90469)
Inline assert to avoid unusable variable warning/error when asserts are
disabled.
Commit: caa902613a96f63c3855b3a0bcd82d1b1db49408
https://github.com/llvm/llvm-project/commit/caa902613a96f63c3855b3a0bcd82d1b1db49408
Author: offsetof <131769984+offsetof at users.noreply.github.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M clang/lib/AST/ExprConstant.cpp
M clang/test/CXX/drs/dr25xx.cpp
M clang/test/CXX/drs/dr28xx.cpp
M clang/test/CXX/expr/expr.const/p5-26.cpp
M clang/www/cxx_dr_status.html
M clang/www/make_cxx_dr_status
Log Message:
-----------
[clang] Allow constexpr cast from `void*` in more cases (#89484)
[[expr.const]/5.14](https://eel.is/c++draft/expr.const#5.14) says that
constexpr cast from <code>*cv* void\*</code> to `T*` is OK if the
pointee type is similar to `T`, but Clang currently only permits the
conversion if the types are the same except top-level cv-qualifiers.
This patch also allows casting `(void*)nullptr`, implementing the
resolution of [CWG2819](https://cplusplus.github.io/CWG/issues/2819).
---------
Co-authored-by: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Commit: 5f9ae61dee0f6432c1dcc16b4412bb99803fa7d5
https://github.com/llvm/llvm-project/commit/5f9ae61dee0f6432c1dcc16b4412bb99803fa7d5
Author: Jannik Silvanus <37809848+jasilvanus at users.noreply.github.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M llvm/include/llvm/Support/YAMLTraits.h
M llvm/lib/Support/YAMLTraits.cpp
M llvm/test/CodeGen/AMDGPU/amdpal-callable.ll
M llvm/test/CodeGen/AMDGPU/amdpal-cs.ll
M llvm/test/CodeGen/AMDGPU/amdpal-es.ll
M llvm/test/CodeGen/AMDGPU/amdpal-gs.ll
M llvm/test/CodeGen/AMDGPU/amdpal-hs.ll
M llvm/test/CodeGen/AMDGPU/amdpal-ls.ll
M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-cs.ll
M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-default.ll
M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-denormal.ll
M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-dx10-clamp.ll
M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-es.ll
M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-gs.ll
M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-hs.ll
M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-ieee.ll
M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-ls.ll
M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-ps.ll
M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-psenable.ll
M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-vs.ll
M llvm/test/CodeGen/AMDGPU/amdpal-psenable.ll
M llvm/test/CodeGen/AMDGPU/amdpal-usersgpr-init.ll
M llvm/test/CodeGen/AMDGPU/amdpal-vs.ll
M llvm/test/CodeGen/AMDGPU/extra-lds-size.ll
M llvm/test/CodeGen/AMDGPU/pal-userdata-regs.ll
M llvm/test/CodeGen/AMDGPU/wave_dispatch_regs.ll
M llvm/test/MC/AMDGPU/pal-msgpack.s
M llvm/unittests/Support/YAMLIOTest.cpp
Log Message:
-----------
[Support][YamlTraits] Add quoting for keys in textual YAML representation (#88763)
The support library contains helpers to parse and emit YAML documents.
In the textual YAML representation, some strings need to be quoted, e.g.
when containing unprintable characters.
We already have such quoting implemented for YAML values.
This patch applies the same quoting to YAML *keys*.
One affected case is output of control registers in AMDGPU Msgpack
metadata, which are printed in a format like this:
```
0x2cca (SPI_SHADER_PGM_RSRC1_ES): 42
```
With this patch, the key is quoted:
```
'0x2cca (SPI_SHADER_PGM_RSRC1_ES)': 42
```
Most test changes come from this pattern.
Commit: 86b9a4f892b9fc6cf5929f33a529570acd7abc71
https://github.com/llvm/llvm-project/commit/86b9a4f892b9fc6cf5929f33a529570acd7abc71
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/X86/gather-node-same-as-vect-but-order.ll
Log Message:
-----------
[SLP][NFC]Add a test with the skipped gather node, which is same, as vectorized node.
Commit: 040b5a1255dba79f6e6819ac4864256127f810a0
https://github.com/llvm/llvm-project/commit/040b5a1255dba79f6e6819ac4864256127f810a0
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/gather-node-same-as-vect-but-order.ll
Log Message:
-----------
[SLP]Fix PR90211: vectorized node must match completely to be reused.
If the gather node matches the vectorized node, it must also match with
the scalars completely. Otherwise, need to revectorize the gather node
to generate correct code.
Commit: 37ae4ad0eef338776c7e2cffb3896153d43dcd90
https://github.com/llvm/llvm-project/commit/37ae4ad0eef338776c7e2cffb3896153d43dcd90
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/gather-buildvector-with-minbitwidth-user.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/gather-with-minbith-user.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/user-node-not-in-bitwidths.ll
M llvm/test/Transforms/SLPVectorizer/SystemZ/minbitwidth-root-trunc.ll
M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-node-with-multi-users.ll
Log Message:
-----------
[SLP]Support minbitwidth analisys for buildvector nodes.
Metric: size..text
Program size..text
exp ref diff
test-suite :: MultiSource/Benchmarks/mediabench/gsm/toast/toast.test 42906.00 42986.00 0.2%
test-suite :: MultiSource/Benchmarks/MiBench/telecomm-gsm/telecomm-gsm.test 42909.00 42989.00 0.2%
test-suite :: External/SPEC/CINT2017rate/525.x264_r/525.x264_r.test 664581.00 664661.00 0.0%
test-suite :: External/SPEC/CINT2017speed/625.x264_s/625.x264_s.test 664581.00 664661.00 0.0%
Less is better.
Replaces `buildvector <p x in> + trunc <p x in> to <p x im>` sequences to
`buildvector <p x im> of { trunc in to im }` scalars, which is free in
most cases, results in better code.
Reviewers: RKSimon
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/88504
Commit: e71840305d621dcc43d5253e332db990220b7fcb
https://github.com/llvm/llvm-project/commit/e71840305d621dcc43d5253e332db990220b7fcb
Author: yronglin <yronglin777 at gmail.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaInit.cpp
M clang/test/CXX/drs/cwg650.cpp
A clang/test/CXX/stmt.stmt/stmt.return/p6.cpp
M clang/test/SemaCXX/type-traits.cpp
M clang/www/cxx_status.html
Log Message:
-----------
[Clang] Implement C++26 P2748R5 "Disallow Binding a Returned Glvalue to a Temporary" (#89942)
Implement P2748R5 "Disallow Binding a Returned Glvalue to a Temporary"
https://wg21.link/P2748R5
---------
Signed-off-by: yronglin <yronglin777 at gmail.com>
Commit: c4c8d08b81e622529aaf0bfc3020d2b9e87267b3
https://github.com/llvm/llvm-project/commit/c4c8d08b81e622529aaf0bfc3020d2b9e87267b3
Author: yronglin <yronglin777 at gmail.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M clang/lib/CodeGen/CGLoopInfo.cpp
M clang/lib/Sema/SemaStmtAttr.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
A clang/test/AST/ast-dump-pragma-unroll.cpp
M clang/test/CodeGenCXX/pragma-gcc-unroll.cpp
M clang/test/CodeGenCXX/pragma-unroll.cpp
M clang/test/Parser/pragma-unroll.cpp
Log Message:
-----------
[Clang] Fix incorrect handling of #pragma {GCC} unroll N in dependent context (#90240)
PR https://github.com/llvm/llvm-project/pull/89567 fix the `#pragma
unroll N` crash issue in dependent context, but it's introduce an new
issue:
Since https://github.com/llvm/llvm-project/pull/89567, if `N` is value
dependent, 'option' and 'state' were ` (LoopHintAttr::Unroll,
LoopHintAttr::Enable)`. Therefor, clang's code generator generated
incorrect IR metadata.
For the situation `#pragma {GCC} unroll {0|1}`, before template
instantiation, this PR tweak the 'option' to `LoopHintAttr::UnrollCount`
and 'state' to `LoopHintAttr::Numeric`. During template instantiation
and if unroll count is 0 or 1 this PR tweak 'option' to
`LoopHintAttr::Unroll` and 'state' to `LoopHintAttr::Disable`. We don't
use `LoopHintAttr::UnrollCount` here because it's will emit an redundant
LLVM IR metadata `!{!"llvm.loop.unroll.count", i32 1}` when unroll count
is 1.
---------
Signed-off-by: yronglin <yronglin777 at gmail.com>
Commit: 6561fa3d02b746743139212f31f24c4a81e5138c
https://github.com/llvm/llvm-project/commit/6561fa3d02b746743139212f31f24c4a81e5138c
Author: Matthew Devereau <matthew.devereau at arm.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Utils/LoopUtils.cpp
M llvm/test/Transforms/SimpleLoopUnswitch/endless-unswitch.ll
M llvm/test/Transforms/SimpleLoopUnswitch/partial-unswitch.ll
Log Message:
-----------
[LoopUnswitch] Allow i1 truncs in loop unswitch (#89738)
With the addition of #84628, truncs to i1 are being emitted as
conditions to branch instructions. This caused significant regressions
in cases which were previously improved by loop unswitch. Adding truncs
to i1 restore the previous performance seen.
Commit: bb770deb9acf554a17ad49c0b3af9b8cf83ec221
https://github.com/llvm/llvm-project/commit/bb770deb9acf554a17ad49c0b3af9b8cf83ec221
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/test/AST/Interp/functions.cpp
Log Message:
-----------
[clang][Interp] Reject void-typed InitListExprs
Commit: e34b41c707a8cc589725d5f996e1a40e9631a495
https://github.com/llvm/llvm-project/commit/e34b41c707a8cc589725d5f996e1a40e9631a495
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.h
M clang/test/AST/Interp/records.cpp
Log Message:
-----------
[clang][Interp] Support CXXParenListInitExprs for non-record types
Merge the non-record code paths into visitInitList().
Commit: 45bd85e4815254a4528cc337447fd6a8eb6fd583
https://github.com/llvm/llvm-project/commit/45bd85e4815254a4528cc337447fd6a8eb6fd583
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/test/AST/Interp/c.c
Log Message:
-----------
[clang][Interp] Fix casting function pointers to integers
Commit: 5e3032638e2df5f301dee21f072acc4d6cc806c8
https://github.com/llvm/llvm-project/commit/5e3032638e2df5f301dee21f072acc4d6cc806c8
Author: Renato Golin <rengolin at systemcall.eu>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/IR/LinalgEnums.td
M mlir/include/mlir/Dialect/Linalg/IR/LinalgNamedStructuredOps.yaml
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/python/mlir/dialects/linalg/opdsl/lang/comprehension.py
M mlir/python/mlir/dialects/linalg/opdsl/ops/core_named_ops.py
M mlir/test/Dialect/Linalg/generalize-named-ops.mlir
M mlir/test/Dialect/Linalg/named-ops-fail.mlir
M mlir/test/Dialect/Linalg/named-ops.mlir
Log Message:
-----------
[MLIR][Linalg] Left over Linalg named ops from previous PR (#90405)
Adding `erf` as unary and `powf` as binary.
Same as `max(arg, 0.0)` for `ReLU`, `powf(arg, const)` can be either a
generic (with broadcast) or a pair (`linalg.broadcast + linalg.powf`)
and then lowered "correctly". Either way, the lower dialects need to
know what kind of broadcast anyway, so no materialization of the
constant tensors should remain.
I want to flush the easy ones before we start working on type cast &
softmax.
Commit: bd07c22e5372789c3eb47b9009029d5e99e0ef9f
https://github.com/llvm/llvm-project/commit/bd07c22e5372789c3eb47b9009029d5e99e0ef9f
Author: Lawrence Benson <github at lawben.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/Type.h
M clang/lib/AST/Type.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/test/CodeGen/builtins-reduction-math.c
Log Message:
-----------
[Clang] Add support for scalable vectors in __builtin_reduce_* functions (#87750)
Currently, a lot of `__builtin_reduce_*` function do not support
scalable vectors, i.e., ARM SVE and RISCV V. This PR adds support for
them. The main code change is to use a different path to extract the
type from the vectors, the rest is the same and LLVM supports the reduce
functions for `vscale` vectors.
This PR adds scalable vector support for:
- `__builtin_reduce_add`
- `__builtin_reduce_mul`
- `__builtin_reduce_xor`
- `__builtin_reduce_or`
- `__builtin_reduce_and`
- `__builtin_reduce_min`
- `__builtin_reduce_max`
Note: For all except `min/max`, the element type must still be an
integer value. Adding floating point support for `add` and `mul` is
still an open TODO.
Commit: ef78edafabe72fac1dad1675a5a25d7e2d62bb2c
https://github.com/llvm/llvm-project/commit/ef78edafabe72fac1dad1675a5a25d7e2d62bb2c
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/RISCV/minbw-with-and-and-scalar-trunc.ll
Log Message:
-----------
[SLP][NFC]Add a test with the optimizable and and final ext, NFC.
Commit: 3044eaf40932c23d668483c6557fa3877f979e62
https://github.com/llvm/llvm-project/commit/3044eaf40932c23d668483c6557fa3877f979e62
Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M flang/test/Lower/OpenMP/threadprivate-real-logical-complex-derivedtype.f90
Log Message:
-----------
[Flang][OpenMP] Use a label to avoid complexity of too many CHECK-DAGs in a test (#90190)
This speeds up the test.
Commit: d486a4c29a331d3bfb3649a8a0aa2ba4970a6455
https://github.com/llvm/llvm-project/commit/d486a4c29a331d3bfb3649a8a0aa2ba4970a6455
Author: David Green <david.green at arm.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M llvm/test/Transforms/LoopVectorize/ARM/tail-folding-counting-down.ll
Log Message:
-----------
[ARM] Ensure extra uses are not dead in tail-folding-counting-down.ll. NFC
This might help keep the test valid if vplan is removing dead intructions.
Commit: f6187c76595d576ee75252eee3bf199e91bd276f
https://github.com/llvm/llvm-project/commit/f6187c76595d576ee75252eee3bf199e91bd276f
Author: Thomas Preud'homme <thomas.preudhomme at arm.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M llvm/cmake/modules/llvm-driver-template.cpp.in
Log Message:
-----------
[llvm-driver] Fix header order of llvm-driver-template
Commit: b811ad6f348db076b995fdd8f688d72e5a40f7f9
https://github.com/llvm/llvm-project/commit/b811ad6f348db076b995fdd8f688d72e5a40f7f9
Author: Brian Gesiak <brian at modocache.io>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M mlir/include/mlir/Tools/lsp-server-support/Transport.h
M mlir/lib/Tools/lsp-server-support/Transport.cpp
M mlir/unittests/CMakeLists.txt
A mlir/unittests/Tools/CMakeLists.txt
A mlir/unittests/Tools/lsp-server-support/CMakeLists.txt
A mlir/unittests/Tools/lsp-server-support/Transport.cpp
Log Message:
-----------
[mlir-lsp] Un-revert unit test additions (#90232)
This reverts the revert commit 6844c2feae93dd4251, which was comprised
of the following commits:
1. f3f6f22dfcced - [mlir-lsp] Initialize `Reply::method` member (#89857)
2. 37e13d4924841 - [mlir-lsp] Log invalid notification params (#89856)
3. ba1b52e6e764a - [mlir-lsp] Add `outgoingNotification` unit test
4. 84bc21f910173 - [mlir-lsp] Add transport unit tests (#89855)
Of these, (4) specifically caused issues in Windows pre-merge buildbots,
in the `TransportTest.MethodNotFound` unit test that it added. The
failure was caused by a statement that asserted that opening a file
stream on a newly created temporary file did not result in an error, but
this assert failed on Windows.
This patch adds additional error logging for failures, to make it
clearer what went wrong when failures occur. This patch also addresses
the Windows failure by ensuring temporary files are created in the
system temporary directory.
Commit: 91f251c31fbbc9b9d8ce69fce4fb50faa0179ef4
https://github.com/llvm/llvm-project/commit/91f251c31fbbc9b9d8ce69fce4fb50faa0179ef4
Author: Daniil Kovalev <dkovalev at accesssoftek.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M clang/include/clang/AST/Type.h
Log Message:
-----------
[clang] Fix `remove{CVR|Fast}Qualifiers` with 64-bit `Qualifiers::Mask` (#90329)
After #84384, `Qualifiers::Mask` becomes 64-bit. So, operations like
`Mask &= ~U32` where `U32` is `unsigned` produce undesirable results
since higher 32 bits of `Mask` become zeroed while they should be
preserved. Fix that by explicitly casting `unsigned` values to
`uint64_t` in such operations. Signatures of fixed functions are
intentionally left intact instead of changing the argument itself to
`uint64_t` to keep things consistent with other functions working with
the same qualifiers and to emphasize that 64-bit masks should not be
used for these types of qualifiers.
Commit: 3ba079183f82191d8b6a26dedfebc4a031a3fb6d
https://github.com/llvm/llvm-project/commit/3ba079183f82191d8b6a26dedfebc4a031a3fb6d
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M flang/runtime/CMakeLists.txt
M flang/runtime/file.cpp
M flang/runtime/namelist.cpp
Log Message:
-----------
[flang][runtime] Added missing routines into CUDA build. (#90272)
Apparently, nvcc does not compile for device the routines whose
definitions
are not marked with device attribute (note that the forward declarations
are already marked). It looks like it is different for class members,
i.e. marking just the declarations is enough.
Commit: 1563a8752b33a854c3ab5a4e8b3dce39ac9831b8
https://github.com/llvm/llvm-project/commit/1563a8752b33a854c3ab5a4e8b3dce39ac9831b8
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M flang/cmake/modules/AddFlangOffloadRuntime.cmake
M flang/runtime/environment.cpp
M flang/runtime/unit.cpp
M flang/runtime/utf.cpp
Log Message:
-----------
[flang][runtime] Allow building CUDA PTX library without global vars definitions. (#90280)
Commit: 11f4f458d985ba20aae58df1c3092655ec2310bd
https://github.com/llvm/llvm-project/commit/11f4f458d985ba20aae58df1c3092655ec2310bd
Author: ChiaHungDuan <chiahungduan at google.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M compiler-rt/lib/scudo/standalone/allocator_config.def
M compiler-rt/lib/scudo/standalone/combined.h
M compiler-rt/lib/scudo/standalone/flags.inc
M compiler-rt/lib/scudo/standalone/primary32.h
M compiler-rt/lib/scudo/standalone/primary64.h
M compiler-rt/lib/scudo/standalone/secondary.h
Log Message:
-----------
[scudo] Support setting default value of ReleaseToOsIntervalMs in config (#90256)
Commit: 6f02120ac4463e5e0cda25e2aafc485a4fe634ea
https://github.com/llvm/llvm-project/commit/6f02120ac4463e5e0cda25e2aafc485a4fe634ea
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M clang/test/Driver/riscv-arch.c
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[llvm][RISCV] Improve error message for invalid extension letters (#90468)
Previously you got:
clang: error: invalid arch name 'rv64v', first letter should be 'e', 'i'
or 'g'
Which to me, unfamiliar with riscv, reads as if I should have used
"[eig]rv64v". Which is not what clang means.
Include the first bit in the error message to make this clearer:
clang: error: invalid arch name 'rv64v', first letter after 'rv64'
should be 'e', 'i' or 'g'
Commit: 1e174a7656f943fa2cad2489a226c90e03ca29ac
https://github.com/llvm/llvm-project/commit/1e174a7656f943fa2cad2489a226c90e03ca29ac
Author: Kai Nacke <kai.peter.nacke at ibm.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
A llvm/test/TableGen/GlobalISelEmitter-frameindex.td
M llvm/utils/TableGen/GlobalISelEmitter.cpp
Log Message:
-----------
[TableGen][GISel] Handle frameindex/tframeindex (#90475)
Support patterns like
Pat<(p0 frameindex:$fi), (ADD tframeindex:$fi, 0)>;
in the GlobalISel emitter in TableGen. Currently, using such a pattern
results in an error message.
Commit: df6d2faa22bf19fb27b5c083e590d13024a8d7cd
https://github.com/llvm/llvm-project/commit/df6d2faa22bf19fb27b5c083e590d13024a8d7cd
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M llvm/include/llvm/Object/ELFObjectFile.h
M llvm/unittests/Object/ELFObjectFileTest.cpp
Log Message:
-----------
[Object] Provide operator< for ELFSymbolRef (#89861)
Normally, operator< accepting DataRefImpl is used when comparing
SymbolRef/ELFSymbolRef. However, it uses std::memcmp which interprets
DataRefImpl union as char string so that the result depends on host
endianness.
For ELFSymbolRef a specialized operator< can be used instead to produce
consistent ordering regardless of endianness by comparing the symbol
table index and symbol index fields separately.
Commit: 2903df02fb3c057849aaa796a91289b01950a5f0
https://github.com/llvm/llvm-project/commit/2903df02fb3c057849aaa796a91289b01950a5f0
Author: Pol Marcet Sardà <polmarcetsarda at gmail.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/AST/ExprConstant.cpp
A clang/test/Sema/constant_builtins_vector.cpp
M clang/test/Sema/convertvector.c
Log Message:
-----------
Squashed commit of the following:
commit 8d41d93e3fceb3f3af77266f5a8388fc585150a5
Author: Pol Marcet Sardà <polmarcetsarda at gmail.com>
Date: Sat Apr 20 12:19:49 2024 +0200
Address some misc comments; added a diagnostic and expanded macros in
testing.
commit 9493c0f290b558947d8b3ae8e1adf909b0fb9dcd
Author: Pol Marcet Sardà <polmarcetsarda at gmail.com>
Date: Sun Mar 31 18:18:45 2024 +0200
Following the review of sethp, I have made the following changes:
-- Added diagnostic for the undefined shuffle of -1
-- Validated support for _BitInt
-- A bunch of other minnor tweaks here and there
commit 8273abc8d56ef8225cf4dba84f66a1e54a2ef036
Author: Pol Marcet Sardà <polmarcetsarda at gmail.com>
Date: Thu Jan 4 12:31:08 2024 +0100
Fix typo in file name
commit ff68f23921966c7d9605f91a47d6b481bf1d7a7b
Author: Pol Marcet Sardà <polmarcetsarda at gmail.com>
Date: Thu Jan 4 11:26:08 2024 +0100
Address suggestions from RKSimon
commit c14783de45687c754253c0cbf8a7834c7f986d80
Author: Pol Marcet Sardà <polmarcetsarda at gmail.com>
Date: Sat Dec 30 13:59:00 2023 +0100
[clang] Constexpr for __builtin_shufflevector and __builtin_convertvector
Summary:
This patch adds constexpr support for __builtin_shufflevector
and __builtin_convertvector.
A small oddity encountered was that the arg to the intrinsics may be an
lvalue without any sort of implicit cast of any kind. I solved this
through the EvaluateVectorOrLValue function, which treats the lvalue as
if it was in an rvalue cast, which gets me the desired vector.
Co-Authored-By: Seth Pellegrino <seth at codecopse.net>
Commit: e3750fb65acf0f7447f6a49a0ba5d3197f4d9766
https://github.com/llvm/llvm-project/commit/e3750fb65acf0f7447f6a49a0ba5d3197f4d9766
Author: Jared Grubb <jaredgrubb at gmail.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaChecking.cpp
M clang/test/SemaObjC/format-strings-oslog.m
Log Message:
-----------
[Clang] Add diagnostic about "%P" specifier with Objective-C pointers (#89977)
A Darwin extension '%P' combined with an Objective-C pointer seems to
always be a bug.
'%P' will dump bytes at the pointed-to address (in contrast to '%p'
which dumps the pointer itself). This extension is only allowed in "OS
Log" contexts and is intended to be used like `%{uuid_t}.*16P` or
`%{timeval}.*P`. If an ObjC pointer is used, then the internal runtime
structure (aka, the is-a pointer and other runtime metadata) will be
dumped, which (IMO) is never the expectation.
A simple diagnostic can help flag these scenarios.
Resolves https://github.com/llvm/llvm-project/issues/89968
Co-authored-by: Jared Grubb <jgrubb at apple.com>
Commit: b07177fb68d396cc9063ac4899e4d67f6765597f
https://github.com/llvm/llvm-project/commit/b07177fb68d396cc9063ac4899e4d67f6765597f
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M offload/CMakeLists.txt
A offload/include/Shared/Targets.def.in
M offload/plugins-nextgen/CMakeLists.txt
M offload/plugins-nextgen/common/CMakeLists.txt
M offload/src/CMakeLists.txt
M offload/src/PluginManager.cpp
Log Message:
-----------
[Libomptarget] Rework interface for enabling plugins (#86875)
Summary:
Previously we would build all of the plugins by default and then only
load some using the `LIBOMPTARGET_PLUGINS_TO_LOAD` variable. This patch
renamed this to `LIBOMPTARGET_PLUGINS_TO_BUILD` and changes whether or
not it will include the plugin in CMake.
Additionally this patch creates a new `Targets.def` file that allows us
to enumerate all of the enabled plugins. This is somewhat different from
the old method, and it's done this way for future use that will need to
be shared. This follows the same method that LLVM uses for its targets,
however it does require adding an extra include path.
Depends on https://github.com/llvm/llvm-project/pull/86868
Commit: 4c701577cd4175068e4f8dda250f2a5f5aefbe24
https://github.com/llvm/llvm-project/commit/4c701577cd4175068e4f8dda250f2a5f5aefbe24
Author: yonghong-song <yhs at fb.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M llvm/lib/Target/BPF/BTFDebug.cpp
M llvm/lib/Target/BPF/BTFDebug.h
M llvm/test/CodeGen/BPF/CORE/offset-reloc-basic.ll
Log Message:
-----------
BPF: Use DebugLoc to find Filename for BTF line info (#90302)
Andrii found an issue where the BTF line info may have empty source
which seems wrong. The program is a Meta internal bpf program. I can
reproduce with latest upstream compiler as well. Let the bpf program
built without this patch and then with the following veristat check
where veristat is a bpf verifier tool to do kernel verification for bpf
programs:
$ veristat -vl2 yhs.bpf.o --log-size=150000000 >& log
$ rg '^;' log | sort | uniq -c | sort -nr | head -n10
4206 ; } else if (action->dry_run) { @ src_mitigations.h:57
3907 ; if (now < start_allow_time) { @ ban.h:17
3674 ; @ src_mitigations.h:0
3223 ; if (action->vip_id != ALL_VIPS_ID && action->vip_id != vip_id) {
@ src_mitigations.h:85
1737 ; pkt_info->is_dry_run_drop = action->dry_run; @
src_mitigations.h:26
1737 ; if (mitigation == ALLOW) { @ src_mitigations.h:28
1737 ; enum match_action mitigation = action->action; @
src_mitigations.h:25
1727 ; void* res = bpf_map_lookup_elem(bpf_map, key); @
filter_helpers.h:498
1691 ; bpf_map_lookup_elem(&rate_limit_config_map, rule_id); @
rate_limit.h:76
1688 ; if (throttle_cfg) { @ rate_limit.h:85
You can see
3674 ; @ src_mitigations.h:0
where we do not have proper line information and line number.
In LLVM Machine IR, some instructions may carry DebugLoc information
to specify where the corresponding source is for this instruction.
The information includes file_name, line_num and col_num.
Each instruction may also attribute to a function in debuginfo.
So there are two ways to find file_name for a particular insn:
(1) find the corresponding function in debuginfo
(MI->getMF()->getFunction().getSubprogram()) and then
find the file_name from DISubprogram.
(2) find the corresponding file_name from DebugLoc.
The option (1) is used in current implementation. This mostly works.
But if one instruction is somehow generated from multiple functions,
the compiler has to pick just one. This may cause a mismatch between
file_name and line_num/col_num.
Besides potential incorrect mismatch of file_name vs. line_num/col_num,
There is another issue where some DebugLoc has line number 0. For
example,
I dumped the dwarf line table for the above bpf program:
Address Line Column File ISA Discriminator OpIndex Flags
------------------ ------ ------ ------ --- ------------- -------
-------------
0x0000000000000000 96 0 17 0 0 0 is_stmt
0x0000000000000010 100 12 17 0 0 0 is_stmt prologue_end
0x0000000000000020 0 12 17 0 0 0
0x0000000000000058 37 7 17 0 0 0 is_stmt
0x0000000000000060 0 0 17 0 0 0
0x0000000000000088 37 7 17 0 0 0
0x0000000000000090 42 75 17 0 0 0 is_stmt
0x00000000000000a8 42 52 17 0 0 0
0x00000000000000c0 120 9 17 0 0 0 is_stmt
0x00000000000000c8 0 9 17 0 0 0
0x00000000000000d0 106 21 17 0 0 0 is_stmt
0x00000000000000d8 106 3 17 0 0 0
0x00000000000000e0 110 25 17 0 0 0 is_stmt
0x00000000000000f8 110 36 17 0 0 0
0x0000000000000100 0 36 17 0 0 0
...
These DebugLoc with line number 0 needs to be skipped since we cannot
map them to the correct source code. Note that selftest
offset-reloc-basic.ll
has this issue as well which is adjusted by this patch.
With the above two fixes, empty lines for source annotation are removed.
$ veristat -vl2 yhs.bpf.o --log-size=150000000 >& log
$ rg '^;' log.latest | sort | uniq -c | sort -nr | head -n10
4206 ; } else if (action->dry_run) { @ src_mitigations.h:57
3907 ; if (now < start_allow_time) { @ ban.h:17
3223 ; if (action->vip_id != ALL_VIPS_ID && action->vip_id != vip_id) {
@ src_mitigations.h:85
1737 ; pkt_info->is_dry_run_drop = action->dry_run; @
src_mitigations.h:26
1737 ; if (mitigation == ALLOW) { @ src_mitigations.h:28
1737 ; enum match_action mitigation = action->action; @
src_mitigations.h:25
1727 ; void* res = bpf_map_lookup_elem(bpf_map, key); @
filter_helpers.h:498
1691 ; bpf_map_lookup_elem(&rate_limit_config_map, rule_id); @
rate_limit.h:76
1688 ; if (throttle_cfg) { @ rate_limit.h:85
1670 ; if (rl_cfg) { @ rate_limit.h:77
You can see that we do not have empty line any more.
3223 ; if (action->vip_id != ALL_VIPS_ID && action->vip_id != vip_id) {
@ src_mitigations.h:85
Signed-off-by: Yonghong Song <yonghong.song at linux.dev>
Commit: 3590ede848d67cf7d49d43e1830f90b053e3e76f
https://github.com/llvm/llvm-project/commit/3590ede848d67cf7d49d43e1830f90b053e3e76f
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
A clang/test/AST/Interp/opencl.cl
M clang/test/SemaOpenCL/vec_step.cl
Log Message:
-----------
[clang][Interp] Support vec_step
Commit: dede19caf0da31d9b8b69d014602cde41ab9a96e
https://github.com/llvm/llvm-project/commit/dede19caf0da31d9b8b69d014602cde41ab9a96e
Author: Matthias Braun <matze at braunis.de>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M llvm/include/llvm/Transforms/Utils/GlobalStatus.h
M llvm/lib/Transforms/IPO/GlobalOpt.cpp
M llvm/lib/Transforms/Utils/GlobalStatus.cpp
M llvm/test/Transforms/GlobalOpt/basictest.ll
M llvm/test/Transforms/GlobalOpt/constantfold-initializers.ll
M llvm/test/Transforms/GlobalOpt/stored-once-forward-value.ll
M llvm/test/Transforms/GlobalOpt/tls.ll
Log Message:
-----------
GlobalOpt: Handle threadlocal.address intrinsic (#88454)
This changes `GlobalOpt` to skip/look-through `threadlocal.address`
intrinsic where apropriate.
This fixes issue #73314
Commit: e441363f7da2da50449917f17ab4ed412f9e7cb3
https://github.com/llvm/llvm-project/commit/e441363f7da2da50449917f17ab4ed412f9e7cb3
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedCallArgsChecker.cpp
A clang/test/Analysis/Checkers/WebKit/call-args-regression-traverse-decl-crash.cpp
Log Message:
-----------
Fix a crash introduced by 3d5e9ab by adding a nullptr check. (#90301)
Commit: b7248d53637fb534d35554f1ddda8e50fe85fa63
https://github.com/llvm/llvm-project/commit/b7248d53637fb534d35554f1ddda8e50fe85fa63
Author: Lei Wang <wlei at fb.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M llvm/lib/Transforms/IPO/SampleProfile.cpp
M llvm/test/Transforms/SampleProfile/pseudo-probe-profile.ll
Log Message:
-----------
[PseudoProbe] Add an option to remove pseudo probes after profile annotation (#90293)
This can be used for testing perf overhead of pseudo-probe.
Commit: 6d8cae7f8bd47d7cf9ea447531f8810b66870ebe
https://github.com/llvm/llvm-project/commit/6d8cae7f8bd47d7cf9ea447531f8810b66870ebe
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] LowerShift - use DAG::getNegative() helper. NFC.
Commit: 54f09be90f5e8bcb9c25b1827d11ed0ac7f3b887
https://github.com/llvm/llvm-project/commit/54f09be90f5e8bcb9c25b1827d11ed0ac7f3b887
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] LowerABS - use DAG::getNegative() helper. NFC.
Commit: a025ef193c0775dc24df156510c49cd4528a127a
https://github.com/llvm/llvm-project/commit/a025ef193c0775dc24df156510c49cd4528a127a
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] LowerSELECT - use DAG::getNegative() helper. NFC.
Commit: 5b1cc58b3c72f51b8a1ce27e5fba15783d447d7c
https://github.com/llvm/llvm-project/commit/5b1cc58b3c72f51b8a1ce27e5fba15783d447d7c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] getOnesVector - use getAllOnesConstant helper. NFC.
Commit: 99df06ac71b12bc5a38240e71cfc37383687b48e
https://github.com/llvm/llvm-project/commit/99df06ac71b12bc5a38240e71cfc37383687b48e
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M clang/include/clang/AST/ASTNodeTraverser.h
M clang/test/AST/ast-dump-template-json-win32-mangler-crash.cpp
M clang/test/AST/ast-dump-templates.cpp
Log Message:
-----------
[AST] Dump explicit template arguments for UnreslovedLookupExpr. (#90466)
Having them dump is useful for ad-hoc debugging (context:
https://github.com/llvm/llvm-project/issues/90046)
Commit: 618adc762e95b33576c42be8912bb48dd0fdff94
https://github.com/llvm/llvm-project/commit/618adc762e95b33576c42be8912bb48dd0fdff94
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
A llvm/test/MC/RISCV/large-instructions.s
Log Message:
-----------
[RISCV] Support instruction sizes up to 176-bits in disassembler. (#90371)
We don't have any instructions defined yet, but that we can still read the correct number of bytes when disassembling. This should better match GNU objdump behavior.
Commit: f9d4d54aa0cb6fbeee1e8744b379b1eac59c3afc
https://github.com/llvm/llvm-project/commit/f9d4d54aa0cb6fbeee1e8744b379b1eac59c3afc
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Break the (czero_eqz x, (setne x, 0)) -> x combine into 2 combines. (#90428)
We can think of this as two separate combines
(czero_eqz x, (setne y, 0)) -> (czero_eqz x, y)
and
(czero_eqz x, x) -> x
Similary the (czero_nez x, (seteq x, 0)) -> x combine can be broken into
(czero_nez x, (seteq y, 0)) -> (czero_eqz x, y)
and
(czero_eqz x, x) -> x
isel already does the (czero_eqz x, (setne y, 0)) -> (czero_eqz x, y)
and (czero_nez x, (seteq y, 0)) -> (czero_eqz x, y) combines, but doing
them early could expose other opportunities.
Commit: fe3f6c63cd6b75433a72b980a23d9848d19abdc2
https://github.com/llvm/llvm-project/commit/fe3f6c63cd6b75433a72b980a23d9848d19abdc2
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M clang/test/Unit/lit.cfg.py
Log Message:
-----------
[Clang] Propagate 'SystemDrive' environment variable for unit tests (#90478)
On Windows, running unit tests by directly invoking `llvm-lit.py` (e.g.
`python3 llvm-lit.py clang/test/Unit`) may create a folder named `%SystemDrive%`
in the current working directory. This appears to happen because `lit.cfg.py` in
`clang/test/Unit` does not propagate the `SystemDrive` environment variable.
Commit: cd68d7b3c0ebf6da5e235cfabd5e6381737eb7fe
https://github.com/llvm/llvm-project/commit/cd68d7b3c0ebf6da5e235cfabd5e6381737eb7fe
Author: Wei Wang <apollo.mobility at gmail.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
A clang/test/CodeGenCoroutines/coro-elide-thinlto.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/test/Other/new-pm-defaults.ll
M llvm/test/Other/new-pm-thinlto-prelink-defaults.ll
M llvm/test/Other/new-pm-thinlto-prelink-pgo-defaults.ll
M llvm/test/Other/new-pm-thinlto-prelink-samplepgo-defaults.ll
Log Message:
-----------
[Pipelines] Do not run CoroSplit and CoroCleanup in LTO pre-link pipeline (#90310)
Skip CoroSplit and CoroCleanup in LTO pre-link pipeline so that
CoroElide can happen after callee coroutine is imported into caller's
module in ThinLTO.
Commit: d566a5cd22b4a653f10698f90c691a1452dad5ce
https://github.com/llvm/llvm-project/commit/d566a5cd22b4a653f10698f90c691a1452dad5ce
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M mlir/lib/Dialect/GPU/Transforms/KernelOutlining.cpp
M mlir/test/Dialect/GPU/outlining.mlir
Log Message:
-----------
[MLIR] Improve KernelOutlining to avoid introducing an extra block (#90359)
This fixes a TODO in the code.
Commit: 7e2eeb5753dee9719054a0a9c2315a82a2afbf32
https://github.com/llvm/llvm-project/commit/7e2eeb5753dee9719054a0a9c2315a82a2afbf32
Author: Peiming Liu <peiming at google.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/LoopEmitter.h
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorIterator.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorIterator.h
Log Message:
-----------
[mlir][sparse] use ValueRange instead of std::pair for iterator position. (#90243)
`ValueRange` is more easy to be extended (e.g., for padded iterator).
Commit: a1e9608b0ff8054abb62d35147a04dd65d965a3e
https://github.com/llvm/llvm-project/commit/a1e9608b0ff8054abb62d35147a04dd65d965a3e
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M bolt/include/bolt/Rewrite/RewriteInstance.h
M bolt/include/bolt/Utils/NameResolver.h
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/test/X86/fragment-lite.s
Log Message:
-----------
[BOLT] Use symbol table info in registerFragment (#89648)
Fragment matching relies on symbol names to identify and register split
function fragments. However, as split fragments are often local symbols,
name aliasing is possible. For such cases, use symbol table to resolve
ambiguities.
This requires the presence of FILE symbols in the input binary. As BOLT
requires non-stripped binary, this is a reasonable assumption. Note that
`strip -g` removes FILE symbols by default, but `--keep-file-symbols`
can be used to preserve them.
Depends on: https://github.com/llvm/llvm-project/pull/89861
Test Plan:
Updated X86/fragment-lite.s
Commit: 9c3f5fe88f19820360981d0798392799e1924cb7
https://github.com/llvm/llvm-project/commit/9c3f5fe88f19820360981d0798392799e1924cb7
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
Log Message:
-----------
[LV] Don't consider the latch block as ScalarPredicatedBB.
The conditional branch from the loop latch will be replaced by a
single branch controlling the loop, so there is no extra overhead from
scalarization. This improves the cost esimates in some cases.
Commit: ca257022aa130f95b2530f9aba98af8d63027b0d
https://github.com/llvm/llvm-project/commit/ca257022aa130f95b2530f9aba98af8d63027b0d
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/machine-combiner-subadd2.mir
Log Message:
-----------
[AArch64] Regenerate `machine-combiner-subadd2.mir` test (NFC)
llvm-clang-x86_64-expensive-checks-debian buildbot was previously failing.
Fixes: https://lab.llvm.org/buildbot/#/builders/16/builds/64701.
Commit: c3598b161a4d868b1cd10a7ee7ac37d68e5a36fe
https://github.com/llvm/llvm-project/commit/c3598b161a4d868b1cd10a7ee7ac37d68e5a36fe
Author: Jack Styles <jack.styles at arm.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align.replace.indirect.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align.replace.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align_nothrow.replace.indirect.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_align.replace.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_align_nothrow.replace.indirect.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_align_nothrow.replace.pass.cpp
Log Message:
-----------
[libc++] Improve libc++ tests when using optimizations (#88897)
Some tests were missing DoNotOptimize annotations.
Commit: 413f6b95a4360fc9854ca775027913a633835cfa
https://github.com/llvm/llvm-project/commit/413f6b95a4360fc9854ca775027913a633835cfa
Author: Kai Nacke <kai.peter.nacke at ibm.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M llvm/utils/TableGen/GlobalISelEmitter.cpp
Log Message:
-----------
[TableGen][GISel][NFC] clang-tidy GlobalISelEmitter.cpp (#90492)
Fixes a couple of style issues, such as:
- unused includes
- variable naming
- `else if` after `return`
Commit: 7eac39f650227427a32b0db1a511b2b12c48a0fc
https://github.com/llvm/llvm-project/commit/7eac39f650227427a32b0db1a511b2b12c48a0fc
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M libcxx/include/__mutex/unique_lock.h
M libcxx/include/mutex
M libcxx/test/libcxx/diagnostics/mutex.nodiscard.verify.cpp
R libcxx/test/libcxx/thread/thread.lock/thread.lock.guard/nodiscard.verify.cpp
Log Message:
-----------
[libc++] Mark scoped_lock and unique_lock constructors as [[nodiscard]] (#89397)
It's basically always a bug to discard a scoped_lock or a unique_lock.
Fixes #89388
Commit: 3ab4ae9e58c09dfd8203547ba8916f3458a0a481
https://github.com/llvm/llvm-project/commit/3ab4ae9e58c09dfd8203547ba8916f3458a0a481
Author: Eli Friedman <efriedma at quicinc.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/test/CodeGen/arm64-microsoft-arguments.cpp
Log Message:
-----------
[clang codegen] Fix MS ABI detection of user-provided constructors. (#90151)
In the context of determining whether a class counts as an "aggregate",
a constructor template counts as a user-provided constructor.
Fixes #86384
Commit: b83e65dcf87925efe6b6623b15a160981422b1bb
https://github.com/llvm/llvm-project/commit/b83e65dcf87925efe6b6623b15a160981422b1bb
Author: Pol M <polmarcetsarda at gmail.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
Log Message:
-----------
[clang] Constexpr for __builtin_shufflevector and __builtin_convertvector (#76615)
This patch adds constexpr support for __builtin_shufflevector and
__builtin_convertvector.
NB: the changes went in under 2903df02fb3c057849aaa796a91289b01950a5f0 , this commit is just github PR bookkeepping.
Commit: 99ce84cef0185fe9eaec51e40ea80f69f06981f0
https://github.com/llvm/llvm-project/commit/99ce84cef0185fe9eaec51e40ea80f69f06981f0
Author: Troy Butler <118708570+Troy-Butler at users.noreply.github.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M clang/lib/Lex/Pragma.cpp
Log Message:
-----------
[clang][NFC] Reformat suspicious condition (#89923)
Addresses issue #89805.
Assignment + comparison performed in conditional statement. Resolved by
parenthesizing comparison operation.
Fixes #89805.
---------
Signed-off-by: Troy-Butler <squintik at outlook.com>
Commit: 359ab3aebba302fb4c37373b9907bc8880be7363
https://github.com/llvm/llvm-project/commit/359ab3aebba302fb4c37373b9907bc8880be7363
Author: Nathan Lanza <nathanlanza at gmail.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/include/clang/Frontend/FrontendOptions.h
M clang/lib/Driver/Driver.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
Log Message:
-----------
[CIR] Add options to emit ClangIR and enable the ClangIR pipeline
Introduce just the option definitions and support for their existance at
a few different points in the frontend. This will be followed soon by
functionality that uses it.
Reviewers: bcardosolopes, jansvoboda11, AaronBallman, erichkeane, MaskRay
Reviewed By: erichkeane
Pull Request: https://github.com/llvm/llvm-project/pull/89030
Commit: 326657f5679889e3374354ba3243e27bda2080f4
https://github.com/llvm/llvm-project/commit/326657f5679889e3374354ba3243e27bda2080f4
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M clang/include/clang/Sema/DeclSpec.h
M clang/lib/AST/DeclBase.cpp
M clang/www/cxx_status.html
Log Message:
-----------
[Clang] Address post commit feedbacks in #89906 (#90495)
* Fix a leak
* Fix a maybe unused warning
* Fix incorrect cxx_status entry
Commit: a5cc95147ed549e850b4e9641e84641e781e0ceb
https://github.com/llvm/llvm-project/commit/a5cc95147ed549e850b4e9641e84641e781e0ceb
Author: Fangrui Song <i at maskray.me>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M llvm/include/llvm/BinaryFormat/ELF.h
M llvm/lib/BinaryFormat/ELF.cpp
M llvm/unittests/BinaryFormat/CMakeLists.txt
A llvm/unittests/BinaryFormat/ELFTest.cpp
Log Message:
-----------
[BinaryFormat] Adjust OSABI functions and add unittests
Adjust #89280:
* ELFOSABI_LINUX is a historical alias that should not be used in new
code. readelf -h displays "UNIX - GNU" instead of "Linux".
* "OS" is inappropriate. Some values are architecture-specific, e.g.
ELFOSABI_ARM.
* Drop lowercase, which seems a job of the caller.
Add some unittests.
Pull Request: https://github.com/llvm/llvm-project/pull/90270
Commit: e5907c88594133e45b8d1d4e29702b96d7f45c77
https://github.com/llvm/llvm-project/commit/e5907c88594133e45b8d1d4e29702b96d7f45c77
Author: Jorge Pinto Sousa <jorge.pinto.sousa at protonmail.ch>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M clang/include/clang/AST/NestedNameSpecifier.h
Log Message:
-----------
[NFC] Fix hasQualifier comment (#90485)
operator bool from NestedNameSpecifierLoc and
member function hasQualifier both do the same thing, returning true if
the private data member Qualifier is not nullptr, so clearly one of the
comments is wrong, and in this case it is the second one.
fixes https://github.com/llvm/llvm-project/issues/90472
Commit: 8ba880b587074ad6c8624ed45ea2b289f653667f
https://github.com/llvm/llvm-project/commit/8ba880b587074ad6c8624ed45ea2b289f653667f
Author: Andy Kaylor <andrew.kaylor at intel.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M clang/docs/UsersManual.rst
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/fp-model.c
M clang/test/Driver/linux-ld.c
M clang/test/Driver/solaris-ld.c
Log Message:
-----------
[Driver] Clean up denormal handling with fast-math-related options (#89477)
This change cleans up the clang driver handling of umbrella options like
-ffast-math, -funsafe-math-optimizations, and -ffp-model, and aligns the
behavior of -ffp-model=fast with -ffast-math with regard to the linking
of crtfastmath.o.
We agreed in a previous review that the fast-math options should not
attempt to change the -fdenormal-fp-math option, which is inherently
target-specific.
The clang user's manual claims that -ffp-model=fast "behaves identically
to specifying both -ffast-math and -ffp-contract=fast." Since
-ffast-math causes crtfastmath.o to be linked if it is available, that should
also happen with -ffp-model=fast.
I am going to be proposing further changes to -ffp-model=fast,
decoupling it from -ffast-math and introducing a new
-ffp-model=aggressive that matches the current behavior, but I wanted
to solidfy the current behavior before I do that.
Commit: 975eca0e6a3459e59e96b0df33ea0cfbd157c597
https://github.com/llvm/llvm-project/commit/975eca0e6a3459e59e96b0df33ea0cfbd157c597
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M lldb/include/lldb/API/SBExpressionOptions.h
M lldb/include/lldb/Expression/Expression.h
M lldb/include/lldb/Expression/LLVMUserExpression.h
M lldb/include/lldb/Expression/UserExpression.h
M lldb/include/lldb/Symbol/TypeSystem.h
M lldb/include/lldb/Target/StackFrame.h
M lldb/include/lldb/Target/Target.h
M lldb/include/lldb/lldb-private-types.h
M lldb/packages/Python/lldbsuite/test/configuration.py
M lldb/packages/Python/lldbsuite/test/dotest.py
M lldb/packages/Python/lldbsuite/test/dotest_args.py
M lldb/packages/Python/lldbsuite/test/lldbtest.py
M lldb/source/API/CMakeLists.txt
M lldb/source/API/SBExpressionOptions.cpp
M lldb/source/API/SBFrame.cpp
M lldb/source/Breakpoint/Watchpoint.cpp
M lldb/source/Commands/CommandObjectDWIMPrint.cpp
M lldb/source/Commands/CommandObjectType.cpp
M lldb/source/Expression/LLVMUserExpression.cpp
M lldb/source/Expression/UserExpression.cpp
M lldb/source/Expression/UtilityFunction.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.h
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
M lldb/source/Target/Language.cpp
M lldb/source/Target/StackFrame.cpp
M lldb/source/Target/Target.cpp
M lldb/test/API/lit.cfg.py
M lldb/test/API/lit.site.cfg.py.in
M lldb/utils/TableGen/CMakeLists.txt
A lldb/utils/TableGen/LLDBSBAPIDWARFEnum.cpp
M lldb/utils/TableGen/LLDBTableGen.cpp
M lldb/utils/TableGen/LLDBTableGenBackends.h
Log Message:
-----------
Add a new SBExpressionOptions::SetLanguage() API (NFCI) (#89981)
that separates out language and version. To avoid reinventing the wheel
and introducing subtle incompatibilities, this API uses the table of
languages and versiond defined by the upcoming DWARF 6 standard
(https://dwarfstd.org/languages-v6.html). While the DWARF 6 spec is not
finialized, the list of languages is broadly considered stable.
The primary motivation for this is to allow the Swift language plugin to
switch between language dialects between, e.g., Swift 5.9 and 6.0 with
out introducing a ton of new language codes. On the main branch this
change is considered NFC.
Depends on https://github.com/llvm/llvm-project/pull/89980
Commit: 9d955a63c7b0d2d547a63d4074e03cd5ebd1f162
https://github.com/llvm/llvm-project/commit/9d955a63c7b0d2d547a63d4074e03cd5ebd1f162
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M lld/tools/lld/CMakeLists.txt
M llvm/test/tools/llvm-driver/passthrough-lld.test
M llvm/tools/llvm-driver/CMakeLists.txt
M utils/bazel/llvm-project-overlay/llvm/driver.bzl
Log Message:
-----------
[driver] Allow `ld` as a driver alias to lld (#90515)
This adds a "hidden" alias kind that allows using LLD when symlinked as
`ld`; however, it does not install `ld` as a symlink. This is to allow
either using a mixed toolchain with both LLD and GNU ld, or a pure LLD
toolchain where LLD has been installed (or symlinked) to `ld` for
compatibility w/ older tools that expect `ld`.
Commit: 35fa46a56ae2a220de514e5de5c5e6b4607f5ebb
https://github.com/llvm/llvm-project/commit/35fa46a56ae2a220de514e5de5c5e6b4607f5ebb
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M lldb/source/Commands/CommandObjectDWIMPrint.cpp
Log Message:
-----------
Improve comment
Commit: 347a02b408567ba15fdc68646129c1f5de97ab7e
https://github.com/llvm/llvm-project/commit/347a02b408567ba15fdc68646129c1f5de97ab7e
Author: Seth Pellegrino <seth at codecopse.net>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M clang/test/Sema/constant_builtins_vector.cpp
Log Message:
-----------
[clang][NFC] Repair tests for __builtin_convertvector on big-endian
Previously, the macro expansion to be explicit for the test cases had
unintentionally forced the tests to always run in little-endian mode.
This change restores the tests' endianness switch, and ensures that
the tests always run on both a little- and big-endian platform.
Commit: 6f390ea60d987f6e1e027d1c72982c2eb7896005
https://github.com/llvm/llvm-project/commit/6f390ea60d987f6e1e027d1c72982c2eb7896005
Author: Fangrui Song <i at maskray.me>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M clang/lib/Lex/Pragma.cpp
Log Message:
-----------
[Lex] Fix clang -Wparentheses after #89923
Commit: 5bbf1ea8f18d1f99637b7b8bf6b985c186c808f6
https://github.com/llvm/llvm-project/commit/5bbf1ea8f18d1f99637b7b8bf6b985c186c808f6
Author: Heejin Ahn <aheejin at gmail.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Basic/Targets/WebAssembly.cpp
M clang/test/Preprocessor/wasm-target-features.c
Log Message:
-----------
[WebAssembly] Enable multivalue and reference-types in generic CPU config (#80923)
This enables multivalue and reference-types in `-mcpu=generic`
configuration. These proposals have been standardized and supported in
all major browsers for several years at this point:
https://github.com/WebAssembly/proposals/blob/main/finished-proposals.md
Commit: 3a0d894fafddace75f03fa7df25022cadbe2dffc
https://github.com/llvm/llvm-project/commit/3a0d894fafddace75f03fa7df25022cadbe2dffc
Author: Maksim Panchenko <maks at fb.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M bolt/include/bolt/Rewrite/RewriteInstance.h
M bolt/lib/Rewrite/RewriteInstance.cpp
Log Message:
-----------
[BOLT] Add support for BOLT-reserved space in a binary (#90300)
Allow the user to allocate space in a binary that could be used by BOLT
for allocating new sections. The reservation is specified by two special
symbols recognizable by BOLT: __bolt_reserved_{start,end}.
The reserved space will be useful for optimizing the Linux kernel where
we cannot allocate a new executable segment. However, the support is not
limited to kernel binaries as some user-space application may find it
useful too.
Commit: 869ffcf3f6ca74c8a0ec6eb250d45e6ea0680c81
https://github.com/llvm/llvm-project/commit/869ffcf3f6ca74c8a0ec6eb250d45e6ea0680c81
Author: Kees Cook <keescook at chromium.org>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/test/CodeGen/regparm-flag.c
M llvm/include/llvm/Transforms/Utils/BuildLibCalls.h
M llvm/lib/Transforms/Utils/BuildLibCalls.cpp
Log Message:
-----------
[CodeGen][i386] Move -mregparm storage earlier and fix Runtime calls (#89707)
When building the Linux kernel for i386, the -mregparm=3 option is
enabled. Crashes were observed in the sanitizer handler functions, and
the problem was found to be mismatched calling convention.
As was fixed in commit c167c0a4dcdb ("[BuildLibCalls] infer inreg param
attrs from NumRegisterParameters"), call arguments need to be marked as
"in register" when -mregparm is set. Use the same helper developed there
to update the function arguments.
Since CreateRuntimeFunction() is actually part of CodeGenModule, storage
of the -mregparm value is also moved to the constructor, as doing this
in Release() is too late.
Fixes: https://github.com/llvm/llvm-project/issues/89670
Commit: 028546cce2316a1074aa27001450295d856e1fdc
https://github.com/llvm/llvm-project/commit/028546cce2316a1074aa27001450295d856e1fdc
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M lldb/source/Expression/UserExpression.cpp
Log Message:
-----------
Simplify condition (NFC)
Commit: 1f44a0b1ff2daebe10b9916da228f7c0ba66827c
https://github.com/llvm/llvm-project/commit/1f44a0b1ff2daebe10b9916da228f7c0ba66827c
Author: Reid Kleckner <rnk at google.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M clang/utils/creduce-clang-crash.py
Log Message:
-----------
Make minor improvements to the creduce wrapper script
Use shlex.quote instead of pipes.quote. We don't need to support Python
2.7 anymore.
Remove -fcolor-diagnostics first, because that can sometimes interfere
with the interestingness test.
Commit: d47c4984e9ea80ffd01efb084df9485d314d1d14
https://github.com/llvm/llvm-project/commit/d47c4984e9ea80ffd01efb084df9485d314d1d14
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
R llvm/test/CodeGen/AMDGPU/fp_trunc_store_bf16.ll
A llvm/test/CodeGen/AMDGPU/fp_trunc_store_fp32_to_bf16.ll
A llvm/test/CodeGen/AMDGPU/fp_trunc_store_fp64_to_bf16.ll
Log Message:
-----------
[AMDGPU][ISel] Add more trunc store actions regarding bf16 (#90493)
Commit: e24a7bbf4515213f44d410bfc41b3dff27c49c86
https://github.com/llvm/llvm-project/commit/e24a7bbf4515213f44d410bfc41b3dff27c49c86
Author: Brian Gesiak <brian at modocache.io>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M mlir/include/mlir/Tools/lsp-server-support/Transport.h
M mlir/lib/Tools/lsp-server-support/Transport.cpp
M mlir/unittests/Tools/lsp-server-support/Transport.cpp
Log Message:
-----------
[mlir-lsp] Support outgoing requests (#90078)
Add support for outgoing requests to `lsp::MessageHandler`. Much like
`MessageHandler::outgoingNotification`, this allows for the message
handler to send outgoing messages via its JSON transport, but in this
case, those messages are requests, not notifications.
Requests receive responses (also referred to as "replies" in
`MLIRLspServerSupportLib`). These were previously unsupported, and
`lsp::MessageHandler` would log an error each time it processed a JSON
message that appeared to be a response (something with an "id" field,
but no "method" field). However, the `outgoingRequest` method now
handles response callbacks: an outgoing request with a given ID is set
up such that a callback function is invoked when a response with that ID
is received.
Commit: 1b70580dd867195b0442e582eccd42abc41ee12d
https://github.com/llvm/llvm-project/commit/1b70580dd867195b0442e582eccd42abc41ee12d
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M lldb/packages/Python/lldbsuite/test/decorators.py
M lldb/test/API/driver/batch_mode/TestBatchMode.py
M lldb/test/API/driver/job_control/TestJobControl.py
M lldb/test/API/driver/quit_speed/TestQuitWithProcess.py
M lldb/test/API/iohandler/sigint/TestProcessIOHandlerInterrupt.py
M lldb/test/API/macosx/nslog/TestDarwinNSLogOutput.py
M lldb/test/API/terminal/TestSTTYBeforeAndAfter.py
Log Message:
-----------
Skip various tests under ASAN on green dragon (#90531)
using the macOS version as a proxy. I can't reproduce any of these
failures locally, but the tests all use pexpect and probably have bad
timeout behavior under high load.
Commit: c4c4e17c99f8d4f79bb9e1e3819d1d76e5e09ed1
https://github.com/llvm/llvm-project/commit/c4c4e17c99f8d4f79bb9e1e3819d1d76e5e09ed1
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M bolt/lib/Rewrite/RewriteInstance.cpp
A bolt/test/X86/register-fragments-bolt-symbols.s
Log Message:
-----------
[BOLT] Use heuristic for matching split local functions (#90424)
Use known order of BOLT split function symbols: fragment symbols
immediately precede the parent fragment symbol.
Depends On: https://github.com/llvm/llvm-project/pull/89648
Test Plan: Added register-fragments-bolt-symbols.s
Commit: 5e9937d1b3ada9c686505c5f2c1e1b054ad9edc2
https://github.com/llvm/llvm-project/commit/5e9937d1b3ada9c686505c5f2c1e1b054ad9edc2
Author: Michael Flanders <flanders.michaelk at gmail.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/math/index.rst
M libc/spec/stdc.td
M libc/src/math/CMakeLists.txt
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/nearbyintf128.cpp
A libc/src/math/generic/scalbnf128.cpp
A libc/src/math/nearbyintf128.h
A libc/src/math/scalbnf128.h
M libc/test/UnitTest/FPMatcher.h
M libc/test/src/math/CMakeLists.txt
A libc/test/src/math/scalbnf128_test.cpp
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/NearbyIntTest.h
A libc/test/src/math/smoke/nearbyint_test.cpp
A libc/test/src/math/smoke/nearbyintf128_test.cpp
A libc/test/src/math/smoke/nearbyintf_test.cpp
A libc/test/src/math/smoke/nearbyintl_test.cpp
A libc/test/src/math/smoke/scalbnf128_test.cpp
Log Message:
-----------
[libc][math] Adds entrypoint and tests for nearbyintf128,scalbnf128 (#88443)
Closes #84689.
Adding @lntue for review.
I was curious about the implementation of
`round_using_current_rounding_mode` used for the `nearbyint` functions.
It has one of the rounding modes as unreachable
([here](https://github.com/llvm/llvm-project/blob/main/libc/src/__support/FPUtil/NearestIntegerOperations.h#L243)),
and I was wondering if this was okay for the `nearbyint` functions.
---------
Co-authored-by: Michael Flanders <mkf727 at cs.washington.edu>
Commit: ae7ce1c6e728a262049c998c667b79165b285bd8
https://github.com/llvm/llvm-project/commit/ae7ce1c6e728a262049c998c667b79165b285bd8
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/InterleavedLoadCombinePass.cpp
Log Message:
-----------
[CodeGen] Remove extraneous ArrayRef (NFC) (#90423)
We don't need to explicitly create an instance of ArrayRef here
because getIndexedOffsetInType takes ArrayRef, and ArrayRef can be
implicitly constructed from a C array.
Commit: 1cb33713910501c6352d0eb2a15b7a15e6e18695
https://github.com/llvm/llvm-project/commit/1cb33713910501c6352d0eb2a15b7a15e6e18695
Author: David Blaikie <dblaikie at gmail.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M clang/test/CodeGenCoroutines/coro-elide-thinlto.cpp
Log Message:
-----------
Ensure test writes objects to test temp dir
Commit: 6566ffdf8a543f50b75e9b3c66d771a3a9eb1560
https://github.com/llvm/llvm-project/commit/6566ffdf8a543f50b75e9b3c66d771a3a9eb1560
Author: Kevin Frei <kevinfrei at users.noreply.github.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M llvm/include/llvm/DebugInfo/GSYM/OutputAggregator.h
M llvm/lib/DebugInfo/GSYM/DwarfTransformer.cpp
Log Message:
-----------
Clean up the GSym error aggregation code, and pass the aggregator by reference (#89688)
There was a problem with `llvm-gsymutil`s error aggregation code not
properly collecting aggregate errors. The was that the output aggregator
collecting errors from other threads wasn't being passed by reference,
so it was merging them into a copy of the app-wide output aggregator.
While I was at it, I added a better comment above the "Merge" code and
made it a bit more efficient, after learning more details about
`emplace` vs. `insert` or `operator[]` on `std::map`'s.
Co-authored-by: Kevin Frei <freik at meta.com>
Commit: ce3485a0cd12b45c725f008a7836e71a1d72df49
https://github.com/llvm/llvm-project/commit/ce3485a0cd12b45c725f008a7836e71a1d72df49
Author: Max Winkler <max.enrico.winkler at gmail.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M llvm/include/llvm/Analysis/TargetLibraryInfo.def
M llvm/lib/Transforms/IPO/GlobalOpt.cpp
A llvm/test/Transforms/GlobalOpt/atexit-dtor.ll
M llvm/test/tools/llvm-tli-checker/ps4-tli-check.yaml
M llvm/unittests/Analysis/TargetLibraryInfoTest.cpp
Log Message:
-----------
[llvm][GlobalOpt] Remove empty atexit destructors/handlers (#88836)
https://godbolt.org/z/frjhqMKqc for an example.
Removal of allocations due to empty `__cxa_atexit` destructor calls is
done by the following globalopt pass.
This pass currently does not look for `atexit` handlers generated for
platforms that do not use `__cxa_atexit`.
By default Win32 and AIX use `atexit`.
I don't see an easy way to only remove `atexit` calls that the compiler
generated without looking at the generated mangled name of the atexit
handler that is being registered.
However we can easily remove all `atexit` calls that register empty
handlers since it is trivial to ensure the removed call still returns
`0` which is the value for success.
Commit: 9a1386e5fabb0d2741f2f7c873342eb86e350e9e
https://github.com/llvm/llvm-project/commit/9a1386e5fabb0d2741f2f7c873342eb86e350e9e
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/include/llvm/ADT/FoldingSet.h
M llvm/lib/IR/AttributeImpl.h
M llvm/lib/IR/Attributes.cpp
Log Message:
-----------
[NFC] Remove method from FoldingSet that already existed in APInt. (#90486)
Noticed that there already was a function in APInt that updated a
FoldingSet so there was no need for me to add it in
https://github.com/llvm/llvm-project/pull/84617.
Commit: 65ee8f10b2017349b7742843fbe4accb172736e9
https://github.com/llvm/llvm-project/commit/65ee8f10b2017349b7742843fbe4accb172736e9
Author: Aart Bik <ajcbik at google.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorType.h
M mlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/CodegenUtils.h
A mlir/test/Dialect/SparseTensor/sparse_matmul_one.mlir
Log Message:
-----------
[mlir][sparse] fold explicit value during sparsification (#90530)
This ensures the explicit value is generated (and not a load into the
values array). Note that actually not storing values array at all is
still TBD, this is just the very first step.
Commit: b1867e18c346e9621e14270bea2d1acb7d2a9ce0
https://github.com/llvm/llvm-project/commit/b1867e18c346e9621e14270bea2d1acb7d2a9ce0
Author: Dan Liew <delcypher at gmail.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Driver/Options.td
M clang/include/clang/Parse/Parser.h
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Parse/ParseDecl.cpp
A clang/test/Driver/experimental-late-parse-attributes.c
M clang/utils/TableGen/ClangAttrEmitter.cpp
Log Message:
-----------
[Attributes] Support Attributes being declared as supporting an experimental late parsing mode "extension" (#88596)
This patch changes the `LateParsed` field of `Attr` in `Attr.td` to be
an instantiation of the new `LateAttrParseKind` class. The instation can be one of the following:
* `LateAttrParsingNever` - Corresponds with the false value of `LateParsed` prior to this patch (the default for an attribute).
* `LateAttrParseStandard` - Corresponds with the true value of `LateParsed` prior to this patch.
* `LateAttrParseExperimentalExt` - A new mode described below.
`LateAttrParseExperimentalExt` is an experimental extension to
`LateAttrParseStandard`. Essentially this allows
`Parser::ParseGNUAttributes(...)` to distinguish between these cases:
1. Only `LateAttrParseExperimentalExt` attributes should be late parsed.
2. Both `LateAttrParseExperimentalExt` and `LateAttrParseStandard`
attributes should be late parsed.
Callers (and indirect callers) of `Parser::ParseGNUAttributes(...)`
indicate the desired behavior by setting a flag in the
`LateParsedAttrList` object that is passed to the function.
In addition to the above, a new driver and frontend flag
(`-fexperimental-late-parse-attributes`) with a corresponding LangOpt
(`ExperimentalLateParseAttributes`) is added that changes how
`LateAttrParseExperimentalExt` attributes are parsed.
* When the flag is disabled (default), in cases where only
`LateAttrParsingExperimentalOnly` late parsing is requested, the
attribute will be parsed immediately (i.e. **NOT** late parsed). This
allows the attribute to act just like a `LateAttrParseStandard`
attribute when the flag is disabled.
* When the flag is enabled, in cases where only
`LateAttrParsingExperimentalOnly` late parsing is requested, the
attribute will be late parsed.
The motivation behind this change is to allow the new `counted_by`
attribute (part of `-fbounds-safety`) to support late parsing but
**only** when `-fexperimental-late-parse-attributes` is enabled. This
attribute needs to support late parsing to allow it to refer to fields
later in a struct definition (or function parameters declared later).
However, there isn't a precedent for supporting late attribute parsing
in C so this flag allows the new behavior to exist in Clang but not be
on by default. This behavior was requested as part of the
`-fbounds-safety` RFC process
(https://discourse.llvm.org/t/rfc-enforcing-bounds-safety-in-c-fbounds-safety/70854/68).
This patch doesn't introduce any uses of `LateAttrParseExperimentalExt`.
This will be added for the `counted_by` attribute in a future patch
(https://github.com/llvm/llvm-project/pull/87596). A consequence is the
new behavior added in this patch is not yet testable. Hence, the lack of
tests covering the new behavior.
rdar://125400257
Commit: 6ea0c0a28343b2676baf480db490b5a27fa11d7c
https://github.com/llvm/llvm-project/commit/6ea0c0a28343b2676baf480db490b5a27fa11d7c
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
R llvm/include/llvm/CodeGen/FreeMachineFunction.h
M llvm/include/llvm/CodeGen/MIRParser/MIRParser.h
A llvm/include/llvm/CodeGen/MachineFunctionAnalysis.h
M llvm/include/llvm/CodeGen/MachineModuleInfo.h
M llvm/include/llvm/CodeGen/MachinePassManager.h
M llvm/include/llvm/IR/LLVMContext.h
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/CodeGen/CMakeLists.txt
M llvm/lib/CodeGen/DeadMachineInstructionElim.cpp
R llvm/lib/CodeGen/FreeMachineFunction.cpp
M llvm/lib/CodeGen/MIRParser/MIRParser.cpp
A llvm/lib/CodeGen/MachineFunctionAnalysis.cpp
M llvm/lib/CodeGen/MachinePassManager.cpp
M llvm/lib/IR/LLVMContext.cpp
M llvm/lib/IR/LLVMContextImpl.h
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Passes/StandardInstrumentations.cpp
M llvm/test/tools/llc/new-pm/pipeline.ll
M llvm/test/tools/llc/new-pm/pipeline.mir
M llvm/test/tools/llc/new-pm/start-stop.ll
M llvm/tools/llc/NewPMDriver.cpp
M llvm/unittests/CodeGen/PassManagerTest.cpp
M llvm/unittests/MIR/CMakeLists.txt
R llvm/unittests/MIR/PassBuilderCallbacksTest.cpp
Log Message:
-----------
[NewPM][CodeGen] Add `MachineFunctionAnalysis` (#88610)
In new pass system, `MachineFunction` could be an analysis result again,
machine module pass can now fetch them from analysis manager.
`MachineModuleInfo` no longer owns them.
Remove `FreeMachineFunctionPass`, replaced by
`InvalidateAnalysisPass<MachineFunctionAnalysis>`.
Now `FreeMachineFunction` is replaced by
`InvalidateAnalysisPass<MachineFunctionAnalysis>`, the workaround in
`MachineFunctionPassManager` is no longer needed, there is no difference
between `unittests/MIR/PassBuilderCallbacksTest.cpp` and
`unittests/IR/PassBuilderCallbacksTest.cpp`.
Commit: b3291793f11924a3b62601aabebebdcfbb12a9a1
https://github.com/llvm/llvm-project/commit/b3291793f11924a3b62601aabebebdcfbb12a9a1
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/lib/TargetParser/Host.cpp
Log Message:
-----------
[X86] Enable EVEX512 when host CPU has AVX512 (#90479)
This is used when -march=native run on an unknown CPU to old version of
LLVM.
Commit: 9d5411ffba0d94b60050cc873773935addca9533
https://github.com/llvm/llvm-project/commit/9d5411ffba0d94b60050cc873773935addca9533
Author: sinan <sinan.lin at linux.alibaba.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M bolt/lib/Passes/ValidateMemRefs.cpp
A bolt/test/X86/jt-symbol-disambiguation-4.s
Log Message:
-----------
[BOLT] Avoid reference updates for non-JT symbol operands (#88838)
Skip updating references for operands that do not directly
refer to jump table symbols but fall within a jump table's
address range to prevent unintended modifications.
Commit: 38067c50a9459caed2892e38b2ae5026a8bff8e2
https://github.com/llvm/llvm-project/commit/38067c50a9459caed2892e38b2ae5026a8bff8e2
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M clang/lib/Serialization/ASTWriter.cpp
A clang/test/Modules/pr90259.cppm
Log Message:
-----------
[C++20] [Modules] [Reduced BMI] Avoid force writing static declarations
within module purview
Close https://github.com/llvm/llvm-project/issues/90259
Technically, the static declarations shouldn't be leaked from the module
interface, otherwise it is an illegal program according to the spec. So
we can get rid of the static declarations from the reduced BMI
technically. Then we can close the above issue.
However, there are too many `static inline` codes in existing headers.
So it will be a pretty big breaking change if we do this globally.
Commit: 62d6560471f0e1151e34c0a56357423350f7a6af
https://github.com/llvm/llvm-project/commit/62d6560471f0e1151e34c0a56357423350f7a6af
Author: thetruestblue <92476612+thetruestblue at users.noreply.github.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M compiler-rt/test/sanitizer_common/TestCases/sanitizer_coverage_trace_pc_guard.cpp
Log Message:
-----------
Disable test for lsan and x86_64h (#90483)
Disable this test on x86_64h for LSan.
This test is failing with malformed object only on x86_64h.
Disabling for now.
rdar://125052424
Commit: 326667d727546dad0ce9315aa93a3da698c7c71c
https://github.com/llvm/llvm-project/commit/326667d727546dad0ce9315aa93a3da698c7c71c
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M llvm/lib/TargetParser/RISCVISAInfo.cpp
Log Message:
-----------
[RISCV] Merge variable declaration with first assignment. NFC
Commit: 79095b4079e8d4f8176bcc53fdacd2765f310cdb
https://github.com/llvm/llvm-project/commit/79095b4079e8d4f8176bcc53fdacd2765f310cdb
Author: Fangrui Song <i at maskray.me>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M lld/ELF/OutputSections.cpp
Log Message:
-----------
[ELF] --compress-debug-sections=zstd: replace ZSTD_c_nbWorkers parallelism with multi-frame parallelism
https://reviews.llvm.org/D133679 utilizes zstd's multithread API to
create one single frame. This provides a higher compression ratio but is
significantly slower than concatenating multiple frames.
With manual parallelism, it is easier to parallelize memcpy in
OutputSection::writeTo for parallel memcpy.
In addition, as the individual allocated decompression buffers are much
smaller, we can make a wild guess (compressed_size/4) without worrying
about a resize (due to wrong guess) would waste memory.
Commit: fbe4d991323b026eb64cd3d0ee811854b54ca33f
https://github.com/llvm/llvm-project/commit/fbe4d991323b026eb64cd3d0ee811854b54ca33f
Author: Julian Schmidt <git.julian.schmidt at gmail.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M clang-tools-extra/clang-tidy/readability/MathMissingParenthesesCheck.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/math-missing-parentheses.cpp
Log Message:
-----------
[clang-tidy] fix false-negative for macros in `readability-math-missing-parentheses` (#90279)
When a binary operator is the last operand of a macro, the end location
that is past the `BinaryOperator` will be inside the macro and therefore
an
invalid location to insert a `FixIt` into, which is why the check bails
when encountering such a pattern.
However, the end location is only required for the `FixIt` and the
diagnostic can still be emitted, just without an attached fix.
Commit: bd72f7b0ab98531ab579fafe79c7a8967994583a
https://github.com/llvm/llvm-project/commit/bd72f7b0ab98531ab579fafe79c7a8967994583a
Author: Luke Lau <luke at igalia.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
A llvm/test/CodeGen/RISCV/rvv/pr90559.ll
Log Message:
-----------
[RISCV] Add test case for exact vscale miscompile in #90559. NFC
Commit: 18268ac0f48d93c2bcddb69732761971669c09ab
https://github.com/llvm/llvm-project/commit/18268ac0f48d93c2bcddb69732761971669c09ab
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M clang/include/clang/Serialization/ASTWriter.h
M clang/lib/Frontend/FrontendActions.cpp
M clang/lib/Serialization/GeneratePCH.cpp
M clang/test/Modules/pr67893.cppm
M clang/test/Modules/search-partitions.cpp
Log Message:
-----------
[NFC] [C++20] [Modules] Use new class CXX20ModulesGenerator to generate module file for C++20 modules instead of PCHGenerator
Previously we're re-using PCHGenerator to generate the module file for
C++20 modules. But this is slighty more or less odd. This patch tries
to use a new class 'CXX20ModulesGenerator' to generate the module file
for C++20 modules.
Commit: 705636a1130551ab105aec95b909a35a0305fc9f
https://github.com/llvm/llvm-project/commit/705636a1130551ab105aec95b909a35a0305fc9f
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-int-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vreductions-int-vp.ll
Log Message:
-----------
[SelectionDAG][RISCV] Move VP_REDUCE* legalization to LegalizeDAG.cpp. (#90522)
LegalizeVectorType is responsible for legalizing nodes that perform an
operation on each element may need to scalarize.
This is not true for nodes like VP_REDUCE.*, BUILD_VECTOR,
SHUFFLE_VECTOR, EXTRACT_SUBVECTOR, etc.
This patch drops any nodes with a scalar result from LegalizeVectorOps
and handles them in LegalizeDAG instead.
This required moving the reduction promotion to LegalizeDAG. I have
removed the support integer promotion as it was incorrect for integer
min/max reductions. Since it was untested, it was best to assert on it
until it was really needed.
There are a couple regressions that can be fixed with a small DAG
combine which I will do as a follow up.
Commit: 6e83058138210ab1e219d04974a071b57b3196e1
https://github.com/llvm/llvm-project/commit/6e83058138210ab1e219d04974a071b57b3196e1
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M llvm/lib/TargetParser/RISCVISAInfo.cpp
Log Message:
-----------
[RISCV] Use an assert insead of a if/else+llvm_unreachable. NFC
Commit: fb21343473e33e9a886b42d2fe95d1cec1cd0030
https://github.com/llvm/llvm-project/commit/fb21343473e33e9a886b42d2fe95d1cec1cd0030
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M clang/lib/Serialization/GeneratePCH.cpp
A clang/test/Modules/pr75057.cppm
Log Message:
-----------
[C++20] [Modules] Don't skip pragma diagnostic mappings
Close https://github.com/llvm/llvm-project/issues/75057
Previously, I thought the diagnostic mappings is not meaningful with
modules incorrectly. And this problem get revealed by another change
recently. So this patch tried to rever the previous "optimization"
partially.
Commit: 940ef9687f5f19ce02b7fa5d2eb6225f458fbdd9
https://github.com/llvm/llvm-project/commit/940ef9687f5f19ce02b7fa5d2eb6225f458fbdd9
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsRISCV.td
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/test/CodeGen/RISCV/regalloc-last-chance-recoloring-failure.ll
M llvm/test/CodeGen/RISCV/rvv/commutable.ll
M llvm/test/CodeGen/RISCV/rvv/copyprop.mir
M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops.ll
Log Message:
-----------
[RISCV] Remove hasSideEffects=1 for saturating/fault-only-first instructions
Marking them as `hasSideEffects=1` stops some optimizations.
According to `Target.td`:
> // Does the instruction have side effects that are not captured by any
> // operands of the instruction or other flags?
> bit hasSideEffects = ?;
It seems we don't need to set `hasSideEffects` for vleNff since we have
modelled `vl` as an output operand.
As for saturating instructions, I think that explicit Def/Use list
is kind of side effects captured by any operands of the instruction,
so we don't need to set `hasSideEffects` either. And I have just
investigated AArch64's implementation, they don't set this flag and
don't add `Def` list.
These changes make optimizations like `performCombineVMergeAndVOps`
and MachineCSE possible for these instructions.
As a consequence, `copyprop.mir` can't test what we want to test in
https://reviews.llvm.org/D155140, so we replace `vssra.vi` with a
VCIX instruction (it has side effects).
Reviewers: jacquesguan, topperc, preames, asb, lukel97
Reviewed By: topperc, lukel97
Pull Request: https://github.com/llvm/llvm-project/pull/90049
Commit: 6b961e2abfffd8b5a508b5958849b13b0feafa50
https://github.com/llvm/llvm-project/commit/6b961e2abfffd8b5a508b5958849b13b0feafa50
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M clang/include/clang/Serialization/ASTWriter.h
M clang/lib/Frontend/FrontendActions.cpp
M clang/lib/Serialization/GeneratePCH.cpp
M clang/test/Modules/pr67893.cppm
R clang/test/Modules/pr75057.cppm
M clang/test/Modules/search-partitions.cpp
Log Message:
-----------
Revert "[C++20] [Modules] Don't skip pragma diagnostic mappings"
and "[NFC] [C++20] [Modules] Use new class CXX20ModulesGenerator to
generate module file for C++20 modules instead of PCHGenerator"
This reverts commit fb21343473e33e9a886b42d2fe95d1cec1cd0030.
and commit 18268ac0f48d93c2bcddb69732761971669c09ab.
It looks like there are some problems about linking the compiler
Commit: 2524146b256002bfc70b38008425291f5b3dd08c
https://github.com/llvm/llvm-project/commit/2524146b256002bfc70b38008425291f5b3dd08c
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vector-i8-index-cornercase.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-int-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vreductions-int-vp.ll
Log Message:
-----------
[RISCV] Add DAG combine for (vmv_s_x_vl (undef) (vmv_x_s X). (#90524)
We can use the original vector as long as the type of X matches the
result type of the vmv_s_x_vl.
Commit: 4a84d8e4c28d873eacfce53f9fd902d67a08a859
https://github.com/llvm/llvm-project/commit/4a84d8e4c28d873eacfce53f9fd902d67a08a859
Author: wanglei <wanglei at loongson.cn>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/lib/Target/LoongArch/AsmParser/LoongArchAsmParser.cpp
M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchFixupKinds.h
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCCodeEmitter.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCExpr.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCExpr.h
M llvm/test/MC/LoongArch/Macros/macros-la-bad.s
M llvm/test/MC/LoongArch/Macros/macros-la.s
M llvm/test/MC/LoongArch/Misc/tls-symbols.s
M llvm/test/MC/LoongArch/Relocations/relocations.s
Log Message:
-----------
[LoongArch] Support parsing la.tls.desc pseudo instruction
Simultaneously implemented parsing support for the `%desc_*` modifiers.
Reviewers: SixWeining, heiher, xen0n
Reviewed By: xen0n, SixWeining
Pull Request: https://github.com/llvm/llvm-project/pull/90158
Commit: ec527b21bb4196355184aa95ef31aa561b8e8b7b
https://github.com/llvm/llvm-project/commit/ec527b21bb4196355184aa95ef31aa561b8e8b7b
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M clang/lib/Frontend/FrontendActions.cpp
M clang/lib/Serialization/GeneratePCH.cpp
A clang/test/Modules/pr75057.cppm
Log Message:
-----------
[C++20] [Modules] Don't skip pragma diagnostic mappings
Close https://github.com/llvm/llvm-project/issues/75057
Previously, I thought the diagnostic mappings is not meaningful with
modules incorrectly. And this problem get revealed by another change
recently. So this patch tried to rever the previous "optimization"
partially.
Commit: f4843acd839f4f8687815560b69fa96ed3cbf8cf
https://github.com/llvm/llvm-project/commit/f4843acd839f4f8687815560b69fa96ed3cbf8cf
Author: Christian Sigg <chsigg at users.noreply.github.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[lldb][bazel] Fix BUILD after 975eca0e6a3459e59e96b0df33ea0cfbd157c597. (#90564)
Commit: ce12b12d0d786773b60adead18e994d6e4a0e228
https://github.com/llvm/llvm-project/commit/ce12b12d0d786773b60adead18e994d6e4a0e228
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/test/Dialect/OpenMP/invalid.mlir
M mlir/test/Dialect/OpenMP/ops.mlir
Log Message:
-----------
[mlir][OpenMP] Extend `omp.private` with a `dealloc` region (#90456)
Extends `omp.private` with a new region: `dealloc` where deallocation
logic for Fortran deallocatables will be outlined (this will happen in
later PRs).
Commit: 09f160c6298255f520b379b88161fbd1c365b308
https://github.com/llvm/llvm-project/commit/09f160c6298255f520b379b88161fbd1c365b308
Author: Balázs Kéri <balazs.keri at ericsson.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
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/analyzer-enabled-checkers.c
M clang/test/Analysis/std-c-library-functions-arg-enabled-checkers.c
M clang/test/Analysis/std-c-library-functions-arg-weakdeps.c
M clang/test/Analysis/std-c-library-functions-vs-stream-checker.c
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-invalidate.c
M clang/test/Analysis/stream-non-posix-function.c
M clang/test/Analysis/stream-noopen.c
M clang/test/Analysis/stream-note.c
M clang/test/Analysis/stream-pedantic.c
M clang/test/Analysis/stream-stdlibraryfunctionargs.c
M clang/test/Analysis/stream.c
M clang/test/Analysis/stream.cpp
M clang/www/analyzer/alpha_checks.html
M clang/www/analyzer/open_projects.html
Log Message:
-----------
[clang][analyzer] Move StreamChecker out of the alpha package. (#89247)
Commit: ff6c0cac7037e78688f589fd635c82e7c1cb42b0
https://github.com/llvm/llvm-project/commit/ff6c0cac7037e78688f589fd635c82e7c1cb42b0
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M lldb/docs/resources/lldbgdbremote.md
Log Message:
-----------
[lldb][Docs] Remove more subtitles from packets doc (#90443)
This removes various subtitles or converts them to bold text so that the
table of contents is less cluttered.
This includes "Example", "Notes", "Priority To Implement" and
"Response".
Commit: eb148aecb3603c2ba6ecbdaebd3b8a87f44349bc
https://github.com/llvm/llvm-project/commit/eb148aecb3603c2ba6ecbdaebd3b8a87f44349bc
Author: wanglei <wanglei at loongson.cn>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M clang/lib/Driver/ToolChains/CommonArgs.cpp
A clang/test/CodeGen/LoongArch/tls-dialect.c
M clang/test/Driver/tls-dialect.c
M llvm/lib/Target/LoongArch/LoongArchExpandPseudoInsts.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
M llvm/lib/Target/LoongArch/LoongArchInstrInfo.cpp
M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
M llvm/lib/Target/LoongArch/LoongArchMCInstLower.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchBaseInfo.h
M llvm/test/CodeGen/LoongArch/tls-models.ll
Log Message:
-----------
[LoongArch][Codegen] Add support for TLSDESC
The implementation only enables when the `-enable-tlsdesc` option is
passed and the TLS model is `dynamic`.
LoongArch's GCC has the same option(-mtls-dialet=) as RISC-V.
Reviewers: heiher, MaskRay, SixWeining
Reviewed By: SixWeining, MaskRay
Pull Request: https://github.com/llvm/llvm-project/pull/90159
Commit: 91a8cb781dbc981356207e0c3608d92ed6d26042
https://github.com/llvm/llvm-project/commit/91a8cb781dbc981356207e0c3608d92ed6d26042
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
M flang/lib/Optimizer/Transforms/CMakeLists.txt
A flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
A flang/lib/Optimizer/Transforms/DebugTypeGenerator.h
A flang/test/Transforms/debug-fn-info.f90
M flang/test/Transforms/debug-line-table-inc-file.fir
Log Message:
-----------
Reapply "[flang] Improve debug info for functions." with regression fixed. (#90484)
The original PR #90083 had to be reverted in PR #90444 as it caused one
of the gfortran tests to fail. The issue was using `isIntOrIndex` for
checking for integer type. It allowed index type which later caused
assertion when calling `getIntOrFloatBitWidth`. I have now replaced it
with `isInteger` which should fix this regression.
Commit: 09e7d86b99c6e6d4f4a3296647d1b7d803c5bac5
https://github.com/llvm/llvm-project/commit/09e7d86b99c6e6d4f4a3296647d1b7d803c5bac5
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/lib/IR/DebugInfo.cpp
M llvm/unittests/Transforms/Utils/LocalTest.cpp
Log Message:
-----------
[RemoveDIs] Fix findDbgValues to return dbg_assign records too (#90471)
In the debug intrinsic class heirachy, a dbg.assign is a (inherits from)
dbg.value, so `findDbgValues` returns dbg.values and dbg.assigns (by
design). That hierarchy doesn't exist for DbgRecords - fix findDbgValues
to return dbg_assign records as well as dbg_values and add unittest.
Commit: 853344d3ae8bb655b2d15175880bd3f65ab66434
https://github.com/llvm/llvm-project/commit/853344d3ae8bb655b2d15175880bd3f65ab66434
Author: Kristof Beyls <kristof.beyls at arm.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/docs/GettingInvolved.rst
Log Message:
-----------
[docs] Document which online sync-ups are no longer happening (#89361)
Some of the online sync-ups on our Getting Involved page seem to no
longer be happening. Document them as no longer happening, so that
people don't get confused when dialing in to one of these.
Commit: 6c3110464bac3600685af9650269b0b2b8669d34
https://github.com/llvm/llvm-project/commit/6c3110464bac3600685af9650269b0b2b8669d34
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M clang/include/clang/Basic/SourceLocation.h
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/Serialization/ASTWriter.h
M clang/include/clang/Serialization/ModuleFile.h
M clang/include/clang/Serialization/SourceLocationEncoding.h
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/Serialization/ModuleFile.cpp
A clang/test/Modules/no-transitive-source-location-change.cppm
M clang/test/Modules/pr61067.cppm
M clang/unittests/Serialization/SourceLocationEncodingTest.cpp
Log Message:
-----------
[Modules] No transitive source location change (#86912)
This is part of "no transitive change" patch series, "no transitive
source location change". I talked this with @Bigcheese in the tokyo's
WG21 meeting.
The idea comes from @jyknight posted on LLVM discourse. That for:
```
// A.cppm
export module A;
...
// B.cppm
export module B;
import A;
...
//--- C.cppm
export module C;
import C;
```
Almost every time A.cppm changes, we need to recompile `B`. Due to we
think the source location is significant to the semantics. But it may be
good if we can avoid recompiling `C` if the change from `A` wouldn't
change the BMI of B.
# Motivation Example
This patch only cares source locations. So let's focus on source
location's example. We can see the full example from the attached test.
```
//--- A.cppm
export module A;
export template <class T>
struct C {
T func() {
return T(43);
}
};
export int funcA() {
return 43;
}
//--- A.v1.cppm
export module A;
export template <class T>
struct C {
T func() {
return T(43);
}
};
export int funcA() {
return 43;
}
//--- B.cppm
export module B;
import A;
export int funcB() {
return funcA();
}
//--- C.cppm
export module C;
import A;
export void testD() {
C<int> c;
c.func();
}
```
Here the only difference between `A.cppm` and `A.v1.cppm` is that
`A.v1.cppm` has an additional blank line. Then the test shows that two
BMI of `B.cppm`, one specified `-fmodule-file=A=A.pcm` and the other
specified `-fmodule-file=A=A.v1.pcm`, should have the bit-wise same
contents.
However, it is a different story for C, since C instantiates templates
from A, and the instantiation records the source information from module
A, which is different from `A` and `A.v1`, so it is expected that the
BMI `C.pcm` and `C.v1.pcm` can and should differ.
# Internal perspective of status quo
To fully understand the patch, we need to understand how we encodes
source locations and how we serialize and deserialize them.
For source locations, we encoded them as:
```
|
|
| _____ base offset of an imported module
|
|
|
|_____ base offset of another imported module
|
|
|
|
| ___ 0
```
As the diagram shows, we encode the local (unloaded) source location
from 0 to higher bits. And we allocate the space for source locations
from the loaded modules from high bits to 0. Then the source locations
from the loaded modules will be mapped to our source location space
according to the allocated offset.
For example, for,
```
// a.cppm
export module a;
...
// b.cppm
export module b;
import a;
...
```
Assuming the offset of a source location (let's name the location as
`S`) in a.cppm is 45 and we will record the value `45` into the BMI
`a.pcm`. Then in b.cppm, when we import a, the source manager will
allocate a space for module 'a' (according to the recorded number of
source locations) as the base offset of module 'a' in the current source
location spaces. Let's assume the allocated base offset as 90 in this
example. Then when we want to get the location in the current source
location space for `S`, we can get it simply by adding `45` to `90` to
`135`. Finally we can get the source location for `S` in module B as
`135`.
And when we want to write module `b`, we would also write the source
location of `S` as `135` directly in the BMI. And to clarify the
location `S` comes from module `a`, we also need to record the base
offset of module `a`, 90 in the BMI of `b`.
Then the problem comes. Since the base offset of module 'a' is computed
by the number source locations in module 'a'. In module 'b', the
recorded base offset of module 'a' will change every time the number of
source locations in module 'a' increase or decrease. In other words, the
contents of BMI of B will change every time the number of locations in
module 'a' changes. This is pretty sensitive. Almost every change will
change the number of locations. So this is the problem this patch want
to solve.
Let's continue with the existing design to understand what's going on.
Another interesting case is:
```
// c.cppm
export module c;
import whatever;
import a;
import b;
...
```
In `c.cppm`, when we import `a`, we still need to allocate a base
location offset for it, let's say the value becomes to `200` somehow.
Then when we reach the location `S` recorded in module `b`, we need to
translate it into the current source location space. The solution is
quite simple, we can get it by `135 + (200 - 90) = 245`. In another
word, the offset of a source location in current module can be computed
as `Recorded Offset + Base Offset of the its module file - Recorded Base
Offset`.
Then we're almost done about how we handle the offset of source
locations in serializers.
# The high level design of current patch
>From the abstract level, what we want to do is to remove the hardcoded
base offset of imported modules and remain the ability to calculate the
source location in a new module unit. To achieve this, we need to be
able to find the module file owning a source location from the encoding
of the source location.
So in this patch, for each source location, we will store the local
offset of the location and the module file index. For the above example,
in `b.pcm`, the source location of `S` will be recorded as `135`
directly. And in the new design, the source location of `S` will be
recorded as `<1, 45>`. Here `1` stands for the module file index of `a`
in module `b`. And `45` means the offset of `S` to the base offset of
module `a`.
So the trade-off here is that, to make the BMI more independent, we need
to record more abstract information. And I feel it is worthy. The
recompilation problem of modules is really annoying and there are still
people complaining this. But if we can make this (including stopping
other changes transitively), I think this may be a killer feature for
modules. And from @Bigcheese , this should be helpful for clang explicit
modules too.
And the benchmarking side, I tested this patch against
https://github.com/alibaba/async_simple/tree/CXX20Modules. No
significant change on compilation time. The size of .pcm files becomes
to 204M from 200M. I think the trade-off is pretty fair.
# Some low level details
I didn't use another slot to record the module file index. I tried to
use the higher 32 bits of the existing source location encodings to
store that information. This design may be safe. Since we use `unsigned`
to store source locations but we use uint64_t in serialization. And
generally `unsigned` is 32 bit width in most platforms. So it might not
be a safe problem. Since all the bits we used to store the module file
index is not used before. So the new encodings may be:
```
|-----------------------|-----------------------|
| A | B | C |
* A: 32 bit. The index of the module file in the module manager + 1. The +1
here is necessary since we wish 0 stands for the current module file.
* B: 31 bit. The offset of the source location to the module file containing it.
* C: The macro bit. We rotate it to the lowest bit so that we can save some
space in case the index of the module file is 0.
```
(The B and C is the existing raw encoding for source locations)
Another reason to reuse the same slot of the source location is to
reduce the impact of the patch. Since there are a lot of places assuming
we can store and get a source location from a slot. And if I tried to
add another slot, a lot of codes breaks. I don't feel it is worhty.
Another impact of this decision is that, the existing small
optimizations for encoding source location may be invalided. The key of
the optimization is that we can turn large values into small values then
we can use VBR6 format to reduce the size. But if we decided to put the
module file index into the higher bits, then maybe it simply doesn't
work. An example may be the `SourceLocationSequence` optimization.
This will only affect the size of on-disk .pcm files. I don't expect
this impact the speed and memory use of compilations. And seeing my
small experiments above, I feel this trade off is worthy.
# Correctness
The mental model for handling source location offsets is not so complex
and I believe we can solve it by adding module file index to each stored
source location.
For the practical side, since the source location is pretty sensitive,
and the patch can pass all the in-tree tests and a small scale projects,
I feel it should be correct.
# Future Plans
I'll continue to work on no transitive decl change and no transitive
identifier change (if matters) to achieve the goal to stop the
propagation of unnecessary changes. But all of this depends on this
patch. Since, clearly, the source locations are the most sensitive
thing.
---
The release nots and documentation will be added seperately.
Commit: 2464c1c153285bbabf1df4a61f1975903ffbe70e
https://github.com/llvm/llvm-project/commit/2464c1c153285bbabf1df4a61f1975903ffbe70e
Author: Johannes de Fine Licht <johannes at musicmedia.dk>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M mlir/include/mlir/IR/OperationSupport.h
Log Message:
-----------
[MLIR] Sprinkle extra asserts in OperationSupport.h (#90465)
Should hopefully help shave some minutes off developer debugging time in
the future.
Commit: 92ca6fcb87a1b8b0cef3b0a8c960b4d7d0fc12a0
https://github.com/llvm/llvm-project/commit/92ca6fcb87a1b8b0cef3b0a8c960b4d7d0fc12a0
Author: Johannes de Fine Licht <johannes at musicmedia.dk>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/test/Dialect/LLVMIR/constant-folding.mlir
Log Message:
-----------
[MLIR][LLVM] Have LLVM::AddressOfOp implement ConstantLike (#90481)
For all means and purposes llvm.mlir.addressof acts like a constant, and
should be treated as such by passes. In particular, the operation should
be propagated rather than passed whenever possible.
Commit: c9d92d215e6bfe14997bb79e6d6a050d1b449843
https://github.com/llvm/llvm-project/commit/c9d92d215e6bfe14997bb79e6d6a050d1b449843
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
A mlir/test/Dialect/Linalg/transform-op-peel-and-vectorize-conv.mlir
Log Message:
-----------
[mlir][test] Add TD example for peel+vectorize (depthwise conv) (#90200)
Adds an example that combines loop peeling and scalable vectorisation of
`linalg.depthwise_conv_2d_nhwc_hwc`. This is similar to
transform-op-peel-and-vectorize.mlir and is meant to demonstrate how to
avoid masking when vectorising using scalable vectors.
Commit: 74e65eec48ee87c34e06a09ad25a1029506dd60d
https://github.com/llvm/llvm-project/commit/74e65eec48ee87c34e06a09ad25a1029506dd60d
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/Interp.h
M clang/test/AST/Interp/opencl.cl
Log Message:
-----------
[clang][Interp] Handle Shifts in OpenCL correctly
We need to adjust the RHS to account for the LHS bitwidth.
Commit: 29dda26c65fc50066792f558e95f9603a7d7effc
https://github.com/llvm/llvm-project/commit/29dda26c65fc50066792f558e95f9603a7d7effc
Author: Danial Klimkin <dklimkin at google.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M lldb/source/Host/posix/PipePosix.cpp
Log Message:
-----------
Fix lock guads in PipePosix.cpp (#90572)
Guard object destroyed immediately after creation without naming.
Commit: eaee8aa0afe111f9291d54ecef97a3640a0f6ce0
https://github.com/llvm/llvm-project/commit/eaee8aa0afe111f9291d54ecef97a3640a0f6ce0
Author: Qizhi Hu <836744285 at qq.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaTemplate.cpp
A clang/test/SemaCXX/identical-type-primary-partial-specialization.cpp
Log Message:
-----------
[Clang][Sema] fix a bug on template partial specialization (#89862)
attempt to fix
https://github.com/llvm/llvm-project/issues/68885#issuecomment-1764201896
Deduction of NTTP whose type is `decltype(auto)` would create an
implicit cast expression to dependent type and makes the type of primary
template definition (`InjectedClassNameSpecialization`) and its partial
specialization different. Prevent emitting cast expression to make clang
knows their types are identical by removing `CTAK == CTAK_Deduced` when
the type is `decltype(auto)`.
Co-authored-by: huqizhi <836744285 at qq.com>
Commit: a413c563bdcaac08f7c325c7d69e19f924435e59
https://github.com/llvm/llvm-project/commit/a413c563bdcaac08f7c325c7d69e19f924435e59
Author: Qizhi Hu <836744285 at qq.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
A clang/test/SemaCXX/PR68885.cpp
Log Message:
-----------
[Clang][Sema] Fix a bug on template partial specialization with issue on deduction of nontype template parameter (#90376)
Fix https://github.com/llvm/llvm-project/issues/68885
When build expression from a deduced argument whose kind is
`Declaration` and `NTTPType`(which declared as `decltype(auto)`) is
deduced as a reference type, `BuildExpressionFromDeclTemplateArgument`
just create a `DeclRef`. This is incorrect while we get type from the
expression since we can't get the original reference type from
`DeclRef`. Creating a `SubstNonTypeTemplateParmExpr` expression and make
the deduction correct. `Replacement` expression of
`SubstNonTypeTemplateParmExpr` just helps the deduction and may not be
same with the original expression.
Co-authored-by: huqizhi <836744285 at qq.com>
Commit: 64248d7dee09fef4900058ba98a67feb68eb617c
https://github.com/llvm/llvm-project/commit/64248d7dee09fef4900058ba98a67feb68eb617c
Author: Daniil Kovalev <dkovalev at accesssoftek.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M lldb/include/lldb/Symbol/CompilerType.h
M lldb/include/lldb/Symbol/Type.h
M lldb/include/lldb/Symbol/TypeSystem.h
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
M lldb/source/Symbol/CompilerType.cpp
M lldb/source/Symbol/Type.cpp
M lldb/source/Symbol/TypeSystem.cpp
M lldb/unittests/SymbolFile/DWARF/DWARFASTParserClangTests.cpp
Log Message:
-----------
[PAC][lldb][Dwarf] Support `__ptrauth`-qualified types in user expressions (#84387)
Depends on #84384 and #90329
This adds support for `DW_TAG_LLVM_ptrauth_type` entries corresponding
to explicitly signed types (e.g. free function pointers) in lldb user
expressions. Applies PR https://github.com/apple/llvm-project/pull/8239
from Apple's downstream and also adds tests and related code.
---------
Co-authored-by: Jonas Devlieghere <jonas at devlieghere.com>
Commit: f78949a07e33017a798c410a102c95455685a9b1
https://github.com/llvm/llvm-project/commit/f78949a07e33017a798c410a102c95455685a9b1
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M clang/lib/CodeGen/CGDebugInfo.cpp
Log Message:
-----------
[NFC][Clang] Add FIXME comment to the workaround for issue #89774
Commit: 7ac1fb01e9b70d09e6c4f39414bcd7c93787ef91
https://github.com/llvm/llvm-project/commit/7ac1fb01e9b70d09e6c4f39414bcd7c93787ef91
Author: Christian Sigg <chsigg at users.noreply.github.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/include/llvm/ADT/TypeSwitch.h
M mlir/include/mlir/IR/Attributes.h
M mlir/include/mlir/IR/Location.h
M mlir/include/mlir/IR/Types.h
M mlir/include/mlir/Tools/PDLL/AST/Types.h
Log Message:
-----------
[mlir] Mark `isa/dyn_cast/cast/...` member functions deprecated. (#90413)
This also removes the member overload in TypeSwitch.
All other users have been removed in
fac349a169976f822fb27f03e623fa0d28aec1f3 and
bd9fdce69b4c4cdb572e715c5f453aaf9b77b83a.
Commit: b2b463bd8f6b21f040b80c4493682cf74f8dced5
https://github.com/llvm/llvm-project/commit/b2b463bd8f6b21f040b80c4493682cf74f8dced5
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M clang/include/clang/Serialization/ASTWriter.h
M clang/lib/Serialization/ASTWriter.cpp
A clang/test/Modules/force-transitive-changes.cppm
M clang/test/Modules/no-transitive-source-location-change.cppm
Log Message:
-----------
[C++20] [Modules] Add signature to the BMI recording export imported
modules
After https://github.com/llvm/llvm-project/pull/86912,
for the following example,
```
export module A;
export import B;
```
The generated BMI of `A` won't change if the source location in `A`
changes. Further, we plan avoid more such changes.
However, it is slightly problematic since `export import` should
propagate all the changes.
So this patch adds a signature to the BMI of C++20 modules so that we
can propagate the changes correctly.
Commit: fce0916969218fdb4b89ad0b3e18599204d4138d
https://github.com/llvm/llvm-project/commit/fce0916969218fdb4b89ad0b3e18599204d4138d
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M clang/include/clang/Serialization/ASTWriter.h
M clang/lib/Frontend/FrontendActions.cpp
M clang/lib/Serialization/GeneratePCH.cpp
M clang/test/Modules/pr67893.cppm
M clang/test/Modules/search-partitions.cpp
Log Message:
-----------
[NFC] [C++20] [Modules] Use new class CXX20ModulesGenerator to genera… (#90570)
…te module file for C++20 modules instead of PCHGenerator
Previously we're re-using PCHGenerator to generate the module file for
C++20 modules. But this is slighty more or less odd. This patch tries to
use a new class 'CXX20ModulesGenerator' to generate the module file for
C++20 modules.
Commit: 21f8cedc4aa542f628035cd5dafd2d2529eb4397
https://github.com/llvm/llvm-project/commit/21f8cedc4aa542f628035cd5dafd2d2529eb4397
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M flang/test/Transforms/debug-fn-info.f90
Log Message:
-----------
[flang] Fix debug-fn-info.f90 test
91a8cb781dbc981356207e0c3608d92ed6d26042 was originally written
before 8d5386669ed63548daf1bee415596582d6d78d7d landed. The latter
changed how main is emitted which changed the numbering of the
suprograms in the test output.
To fix this I've added a check for the new _QQmain and renumbered
the existing checks.
Commit: 10aab63c9cb49d3ddfbe2cf8992de433efeef6f1
https://github.com/llvm/llvm-project/commit/10aab63c9cb49d3ddfbe2cf8992de433efeef6f1
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M clang/test/Modules/no-transitive-source-location-change.cppm
Log Message:
-----------
[NFC] [tests] Don't try to remove and create the same directory
In the test of
clang/test/Modules/no-transitive-source-location-change.cppm, there were
reports about invalid directory names in windows. The reason may be that
we may remove and create the same directory. This patch tries to avoid
such patterns for that.
Commit: f73e87f53f5d8a86c29251dedc9dbd264179203a
https://github.com/llvm/llvm-project/commit/f73e87f53f5d8a86c29251dedc9dbd264179203a
Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/DeclSpec.cpp
M clang/test/Parser/altivec.c
M clang/test/Parser/cxx-altivec.cpp
M clang/test/Sema/zvector.c
M clang/test/Sema/zvector2.c
Log Message:
-----------
[Clang][Sema] Do not accept "vector _Complex" for AltiVec/ZVector (#90467)
The AltiVec (POWER) and ZVector (IBM Z) language extensions do not
support using the "vector" keyword when the element type is a complex
type, but current code does not verify this.
Add a Sema check and diagnostic for this case.
Fixes: https://github.com/llvm/llvm-project/issues/88399
Commit: 62dea99a7d7df9daedbb86133f3d46699cd2728d
https://github.com/llvm/llvm-project/commit/62dea99a7d7df9daedbb86133f3d46699cd2728d
Author: David Stuttard <david.stuttard at amd.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.msaa.load.ll
Log Message:
-----------
[AMDGPU] Fix gfx12 waitcnt type for image_msaa_load (#90201)
image_msaa_load is actually encoded as a VSAMPLE instruction and
requires the appropriate waitcnt variant.
Commit: fb2d3056618e3d03ba9a695627c7b002458e59f0
https://github.com/llvm/llvm-project/commit/fb2d3056618e3d03ba9a695627c7b002458e59f0
Author: Danial Klimkin <dklimkin at google.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M clang/test/CodeGenCoroutines/coro-elide-thinlto.cpp
Log Message:
-----------
Fix output in coro-elide-thinlto.cpp (#90579)
Current dir can be read-only. Use a temp path instead.
Commit: f10685f3e606e9e50906d9bf4e302a4281664152
https://github.com/llvm/llvm-project/commit/f10685f3e606e9e50906d9bf4e302a4281664152
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] lowerAtomicArith - use DAG::getNegative() helper. NFC.
Commit: 0061616770c15b334c4ad1703a1a2502b6cd4485
https://github.com/llvm/llvm-project/commit/0061616770c15b334c4ad1703a1a2502b6cd4485
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] combinePredicateReduction - use DAG::getNegative() helper. NFC.
Commit: 3fca9d71447b7d3536e912d73ffd56a351e10bce
https://github.com/llvm/llvm-project/commit/3fca9d71447b7d3536e912d73ffd56a351e10bce
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] combineMul - use DAG::getNegative() helper. NFC.
Commit: 066dc1e05b8c5feca1f3957a10edc492705a5db2
https://github.com/llvm/llvm-project/commit/066dc1e05b8c5feca1f3957a10edc492705a5db2
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] combineMulToPMADDWD/combineMulToPMULDQ/reduceVMULWidth - pull out repeated SDLoc(). NFC.
Commit: 2cb97c7e29029dc552c66b3ddf6030d826538d47
https://github.com/llvm/llvm-project/commit/2cb97c7e29029dc552c66b3ddf6030d826538d47
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] Add TODO for getTargetConstantFromBasePtr to support non-zero offsets.
As noted on #66991 - we sometimes share vector constant pool entries, referencing subvectors within them via pointer offsets
Commit: 34c89eff64cce7debb8e2d5a0d1c4d896a23e432
https://github.com/llvm/llvm-project/commit/34c89eff64cce7debb8e2d5a0d1c4d896a23e432
Author: Monad <yanwqmonad at gmail.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/test/Transforms/InstCombine/trunc.ll
Log Message:
-----------
[InstCombine] Fold `trunc nuw/nsw (x xor y) to i1` to `x != y` (#90408)
Fold:
``` llvm
define i1 @src(i8 %x, i8 %y) {
%xor = xor i8 %x, %y
%r = trunc nuw/nsw i8 %xor to i1
ret i1 %r
}
define i1 @tgt(i8 %x, i8 %y) {
%r = icmp ne i8 %x, %y
ret i1 %r
}
```
Proof: https://alive2.llvm.org/ce/z/dcuHmn
Commit: 66e1d2c96a194f572be5b373705f493b1a4dc811
https://github.com/llvm/llvm-project/commit/66e1d2c96a194f572be5b373705f493b1a4dc811
Author: Paul Walker <paul.walker at arm.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
Log Message:
-----------
[NFC][LLVM][SVE] Simplify isel for BSL and NBSL. (#90233)
Commit: 7faf34307ea974886a10d8d06352a67cdeaf1c23
https://github.com/llvm/llvm-project/commit/7faf34307ea974886a10d8d06352a67cdeaf1c23
Author: Luke Lau <luke at igalia.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
Log Message:
-----------
[RISCV] Remove -riscv-insert-vsetvl-strict-asserts flag (#90171)
This flag has been enabled by default for almost two years now since
1f06398e96d4508d22f42b760f70eb5d4e7b1dc9, and at this stage we probably
shouldn't be falling back to the fixups.
This removes the flag so we always perform the assertion, as well as
making sure that CurInfo is always valid on exit: We shouldn't leave
emitVSETVLIs with an uninitialized VSETVLIInfo.
Commit: 2f9462e9e4f2b2b493673c39d4ad665175eb0b59
https://github.com/llvm/llvm-project/commit/2f9462e9e4f2b2b493673c39d4ad665175eb0b59
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/Interp.h
M clang/lib/AST/Interp/Opcodes.td
M clang/test/AST/Interp/opencl.cl
Log Message:
-----------
[clang][Interp] Fix initializing vectors from a list of other vectors
Commit: af5d41e0caf22536fbfb6e65aa10eff78118c822
https://github.com/llvm/llvm-project/commit/af5d41e0caf22536fbfb6e65aa10eff78118c822
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/test/CodeGenCXX/mangle-ms-vector-types.cpp
Log Message:
-----------
[clang][Interp] Support CXXScalarValueInitExprs of vector type
Commit: 6fab3f2a2b04048aaa7d76d067f6cd4704bb4002
https://github.com/llvm/llvm-project/commit/6fab3f2a2b04048aaa7d76d067f6cd4704bb4002
Author: yronglin <yronglin777 at gmail.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M clang/www/cxx_status.html
Log Message:
-----------
[NFC][Clang] Update P2718R0 implementation status to partial supported (#90577)
Once https://github.com/llvm/llvm-project/issues/85613 fixed, we can
mark this feature fully supported.
Signed-off-by: yronglin <yronglin777 at gmail.com>
Commit: f3ac55fab8c30e71987120f76da70b5b6e9075f7
https://github.com/llvm/llvm-project/commit/f3ac55fab8c30e71987120f76da70b5b6e9075f7
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/lib/LTO/LTOCodeGenerator.cpp
M llvm/test/tools/lto/discard-value-names.ll
Log Message:
-----------
[LTO] Reset DiscardValueNames in optimize(). (#78705)
libLTO parses options late, so at the moment the option is ignored. To
fix that, re-set it in optimize(), as at this point the options have been
parsed. When LTOCodeGenerator's constructor executes, the options
haven't been parsed by the linker to libLTO yet.
Note that we keep the value name of `%add = add..` because when the
module is imported, DiscardValueNames is still set to false (the default
when building with assertions).
I tried to improve this in libLTO, but I am not sure if there's a
suitable callback when all options have been set.
PR: https://github.com/llvm/llvm-project/pull/78705
Commit: bb95f5df732d9188b27c7cd34814ead8b2c4d4ce
https://github.com/llvm/llvm-project/commit/bb95f5df732d9188b27c7cd34814ead8b2c4d4ce
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeStmtGen.cpp
M clang/test/AST/Interp/cxx23.cpp
Log Message:
-----------
[clang][Interp] Visit LabelStmt sub statements
Commit: 5cd074fa57c2a22312f479a9529c0eac10013043
https://github.com/llvm/llvm-project/commit/5cd074fa57c2a22312f479a9529c0eac10013043
Author: Maya Amrami <62667278+amrami at users.noreply.github.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/test/Dialect/MemRef/resolve-dim-ops.mlir
Log Message:
-----------
[mlir] Add ReifyRankedShapedTypeOpInterface to tosa::TransposeOp (#88890)
Commit: 82219e547bf42102a913fc6d5e3e81c3c888e5d6
https://github.com/llvm/llvm-project/commit/82219e547bf42102a913fc6d5e3e81c3c888e5d6
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/test/Analysis/LoopAccessAnalysis/different-strides-safe-dep-due-to-backedge-taken-count.ll
Log Message:
-----------
[LAA] Pass maximum stride to isSafeDependenceDistance. (#90036)
As discussed in https://github.com/llvm/llvm-project/pull/88039, support
different strides with isSafeDependenceDistance by passing the maximum
of both strides.
isSafeDependenceDistance tries to prove that
|Dist| > BackedgeTakenCount * Step
holds. Chosing the maximum stride computes the maximum range accesed by
the loop for all strides.
PR: https://github.com/llvm/llvm-project/pull/90036
Commit: 5e03c0af4745b97f93c06b43e0f2a02abc881292
https://github.com/llvm/llvm-project/commit/5e03c0af4745b97f93c06b43e0f2a02abc881292
Author: Luke Lau <luke at igalia.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/RISCV/rvv/pr90559.ll
Log Message:
-----------
[DAGCombiner] Fix mayAlias not accounting for scalable MMOs with offsets (#90573)
In #70452 DAGCombiner::mayAlias was taught to handle scalable sizes, but
when it checks via AA->isNoAlias it didn't take into account the case
where the size is scalable but there was an offset too.
For the fixed length case the offset was just accounted for by adding to
the LocationSize, but for the scalable case there doesn't seem to be a
way to represent both a scalable and fixed part in it. So this patch
works around it by bailing if there is an offset.
Fixes #90559
Commit: 61b2a0e3336aaa0132bbed06dc185aca4ff5d2db
https://github.com/llvm/llvm-project/commit/61b2a0e3336aaa0132bbed06dc185aca4ff5d2db
Author: Tomas Matheson <Tomas.Matheson at arm.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/include/llvm/TargetParser/AArch64TargetParser.h
M llvm/lib/Target/AArch64/AArch64Features.td
M llvm/lib/Target/ARM/ARMFeatures.td
M llvm/utils/TableGen/ARMTargetDefEmitter.cpp
Log Message:
-----------
[AArch64][TargetParser] autogen ArchExtKind enum (#90314)
Thanks to ExtensionSet::toLLVMFeatureList, all values of ArchExtKind
should correspond to a particular -target-feature. The valid values of
-target-feature are in turn defined by SubtargetFeature defs.
Therefore we can generate ArchExtKind from the tablegen data. This is
done by adding an Extension class which derives from SubtargetFeature.
Because the Has* FieldNames do not always correspond to the AEK_
names ("extensions", as defined in TargetParser), and AEK_ names do
not always correspond to -march strings, some additional enum entries
have been added to remap the names. I have renamed these to make the
naming consistent, but split them into a separate PR to keep the diff
reasonable (#90320)
Commit: 1c17252cf049e318695b94a7e8a1c7343452e8bf
https://github.com/llvm/llvm-project/commit/1c17252cf049e318695b94a7e8a1c7343452e8bf
Author: Maxim Moskalets <89240935+maxmosk at users.noreply.github.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M clang/include/clang/Tooling/CommonOptionsParser.h
Log Message:
-----------
[NFC] Update comment in CommonOptionsParser to match documentation (#90441)
See https://clang.llvm.org/docs/LibTooling.html
Commit: e50a857fb16bcfe7cfc99bf87db620bc82d1cff5
https://github.com/llvm/llvm-project/commit/e50a857fb16bcfe7cfc99bf87db620bc82d1cff5
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/test/Misc/target-invalid-cpu-note.c
M clang/test/Preprocessor/aarch64-target-features.c
M llvm/docs/ReleaseNotes.rst
M llvm/include/llvm/TargetParser/AArch64TargetParser.h
M llvm/lib/Target/AArch64/AArch64Processors.td
M llvm/lib/Target/AArch64/AArch64Subtarget.cpp
M llvm/lib/TargetParser/Host.cpp
M llvm/unittests/TargetParser/TargetParserTest.cpp
Log Message:
-----------
[AArch64] Add support for Cortex-R82AE and improve Cortex-R82 (#90440)
Commit: adabdc12f995b0af74c866201899e738796d0d5e
https://github.com/llvm/llvm-project/commit/adabdc12f995b0af74c866201899e738796d0d5e
Author: Jan Voung <jvoung at gmail.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/test/Assembler/thinlto-summary.ll
M llvm/test/Bitcode/summary_version.ll
M llvm/test/Bitcode/thinlto-alias.ll
M llvm/test/Bitcode/thinlto-func-summary-vtableref-pgo.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-partial-sample-profile-summary.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-pgo.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-profile-summary.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-sample-profile-summary.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph.ll
M llvm/test/Bitcode/thinlto-function-summary-originalnames.ll
M llvm/test/Bitcode/thinlto-function-summary-paramaccess.ll
M llvm/test/ThinLTO/X86/distributed_indexes.ll
M llvm/test/tools/llvm-lto/thinlto.ll
Log Message:
-----------
Use an abbrev to reduce size of VALUE_GUID records in ThinLTO summaries (#90497)
GUID often have content in the higher bits of a 64-bit entry so using
the unabbrev encoding is inefficient (lots of VBR control bits).
Instead, use an abbrev with two 32-bit fixed width chunks.
The abbrev also helps encode the "count" in one place instead of
in every record.
Reduces size of distributed backend summary files by 8.7% in one
example app.
Co-authored-by: Jan Voung <jvoung at google.com>
Commit: e4c0f4a2ecaf0f9d0a80f57a028bb7bdbe74a7e3
https://github.com/llvm/llvm-project/commit/e4c0f4a2ecaf0f9d0a80f57a028bb7bdbe74a7e3
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M clang/unittests/Analysis/ExprMutationAnalyzerTest.cpp
Log Message:
-----------
[NFC] fix typo in clang/unittests/Analysis/ExprMutationAnalyzerTest.cpp (#90606)
Commit: 7ae32bf7581e03d92c78346a72ea20798520b978
https://github.com/llvm/llvm-project/commit/7ae32bf7581e03d92c78346a72ea20798520b978
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M lldb/packages/Python/lldbsuite/test/decorators.py
Log Message:
-----------
[lldb] Fixed SyntaxWarning invalid escape sequence '\s' in decorators.py (#90607)
Commit: 35e6bae62c8effa364ded79cc3b0bb988ea88998
https://github.com/llvm/llvm-project/commit/35e6bae62c8effa364ded79cc3b0bb988ea88998
Author: Tomas Matheson <tomas.matheson at arm.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/include/llvm/TargetParser/AArch64TargetParser.h
M llvm/lib/Target/AArch64/AArch64Features.td
M llvm/lib/Target/ARM/ARMFeatures.td
M llvm/utils/TableGen/ARMTargetDefEmitter.cpp
Log Message:
-----------
Revert "[AArch64][TargetParser] autogen ArchExtKind enum (#90314)"
This reverts commit 61b2a0e3336aaa0132bbed06dc185aca4ff5d2db.
Reason: AArch64TargetParserDef.inc not found while building clang
Commit: b60a2b931d68b9e119d6e2e6e17126937a646ff9
https://github.com/llvm/llvm-project/commit/b60a2b931d68b9e119d6e2e6e17126937a646ff9
Author: Nico Weber <thakis at chromium.org>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
A llvm/utils/gn/secondary/lldb/include/lldb/API/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/API/BUILD.gn
M llvm/utils/gn/secondary/lldb/utils/TableGen/BUILD.gn
Log Message:
-----------
[gn] port 975eca0e6a3 (-gen-lldb-sbapi-dwarf-enum)
Commit: 2aabfc811670beb843074c765c056fff4a7b443b
https://github.com/llvm/llvm-project/commit/2aabfc811670beb843074c765c056fff4a7b443b
Author: Jan Voung <jvoung at gmail.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/test/Assembler/thinlto-summary.ll
M llvm/test/Bitcode/summary_version.ll
M llvm/test/Bitcode/thinlto-alias.ll
M llvm/test/Bitcode/thinlto-func-summary-vtableref-pgo.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-partial-sample-profile-summary.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-pgo.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-profile-summary.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-sample-profile-summary.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph.ll
M llvm/test/Bitcode/thinlto-function-summary-originalnames.ll
M llvm/test/Bitcode/thinlto-function-summary-paramaccess.ll
M llvm/test/ThinLTO/X86/distributed_indexes.ll
M llvm/test/tools/llvm-lto/thinlto.ll
Log Message:
-----------
Revert "Use an abbrev to reduce size of VALUE_GUID records in ThinLTO summaries" (#90610)
Reverts llvm/llvm-project#90497
Broke some LLD tests.
Commit: c106abfe9f3d3ed78a946009f7625088f28e9065
https://github.com/llvm/llvm-project/commit/c106abfe9f3d3ed78a946009f7625088f28e9065
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M lldb/packages/Python/lldbsuite/test/lldbtest.py
Log Message:
-----------
[lldb] Fixed SyntaxWarning invalid escape sequence '\l' in lldbtest.py (#90609)
Commit: c12bc57e23f8c37380ac25e774a60a684fce7bd3
https://github.com/llvm/llvm-project/commit/c12bc57e23f8c37380ac25e774a60a684fce7bd3
Author: Eleanor Bonnici <eleanor.bonnici at arm.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/lib/Target/ARM/ARMBaseInstrInfo.h
M llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp
M llvm/lib/Target/ARM/ARMFrameLowering.cpp
M llvm/lib/Target/ARM/ARMInstrInfo.td
M llvm/lib/Target/ARM/ARMPredicates.td
M llvm/lib/Target/ARM/ARMRegisterBankInfo.cpp
M llvm/lib/Target/ARM/ARMRegisterInfo.td
M llvm/lib/Target/ARM/Thumb1FrameLowering.cpp
A llvm/test/CodeGen/ARM/pacbti-indirect-tail-calls-function-flags.ll
A llvm/test/CodeGen/ARM/pacbti-indirect-tail-calls-module-flags1.ll
A llvm/test/CodeGen/ARM/pacbti-indirect-tail-calls-module-flags2.ll
Log Message:
-----------
Do not use R12 for indirect tail calls with PACBTI (#82661)
When compiling for thumbv8.1m with +pacbti and making an indirect tail
call, the compiler was free to put the function pointer into R12.
This is incorrect because R12 is restored to contain authentication code
for the caller's return address.
This patch excludes R12 from the set of registers the compiler can put
the function pointer in.
Fixes https://github.com/llvm/llvm-project/issues/75998
Commit: d333a0de6829616427182b26923b14d779ce1dbb
https://github.com/llvm/llvm-project/commit/d333a0de6829616427182b26923b14d779ce1dbb
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M clang/include/clang/Basic/SourceLocation.h
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/Serialization/ASTWriter.h
M clang/include/clang/Serialization/ModuleFile.h
M clang/include/clang/Serialization/SourceLocationEncoding.h
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/Serialization/ModuleFile.cpp
R clang/test/Modules/no-transitive-source-location-change.cppm
M clang/test/Modules/pr61067.cppm
M clang/unittests/Serialization/SourceLocationEncodingTest.cpp
Log Message:
-----------
Revert "[Modules] No transitive source location change (#86912)"
This reverts commit 6c3110464bac3600685af9650269b0b2b8669d34.
Required by the post commit comments: https://github.com/llvm/llvm-project/pull/86912
Commit: 8d28e5861f8b117a547850ffbb9a332aa6e91459
https://github.com/llvm/llvm-project/commit/8d28e5861f8b117a547850ffbb9a332aa6e91459
Author: WANG Rui <wangrui at loongson.cn>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchFrameLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchSubtarget.h
Log Message:
-----------
[LoongArch] Apply clang formatting to LoongArch target. NFC
Commit: a7b968a57834a0e522505b56fab0ca4b979cb68f
https://github.com/llvm/llvm-project/commit/a7b968a57834a0e522505b56fab0ca4b979cb68f
Author: Alexandre Eichenberger <alexe at us.ibm.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/Affine/IR/AffineOps.td
M mlir/test/Dialect/MemRef/normalize-memrefs-ops.mlir
Log Message:
-----------
Adding memref normalization of affine.prefetch (#89675)
Added support for memref-normalization for prefetch.
Signed-off-by: Alexandre Eichenberger <alexe at us.ibm.com>
Commit: ea81dafd52471db64ed31b4fabb11ee762528066
https://github.com/llvm/llvm-project/commit/ea81dafd52471db64ed31b4fabb11ee762528066
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/CodeGen/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/MIR/BUILD.gn
Log Message:
-----------
[gn build] Port 6ea0c0a28343
Commit: 622ec1f029b4ba0ac211a2da5abe593846a109f6
https://github.com/llvm/llvm-project/commit/622ec1f029b4ba0ac211a2da5abe593846a109f6
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/unittests/BinaryFormat/BUILD.gn
Log Message:
-----------
[gn build] Port a5cc95147ed5
Commit: 6c32a1fdf712e58a324fc0f6e3dfc83ed7d56b1e
https://github.com/llvm/llvm-project/commit/6c32a1fdf712e58a324fc0f6e3dfc83ed7d56b1e
Author: Jonas Paulsson <paulson1 at linux.ibm.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZISelDAGToDAG.cpp
M llvm/lib/Target/SystemZ/SystemZInstrFP.td
M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
M llvm/lib/Target/SystemZ/SystemZInstrInfo.h
M llvm/lib/Target/SystemZ/SystemZInstrVector.td
M llvm/lib/Target/SystemZ/SystemZOperators.td
M llvm/lib/Target/SystemZ/SystemZTargetMachine.cpp
M llvm/test/CodeGen/SystemZ/anyregcc.ll
A llvm/test/CodeGen/SystemZ/foldmem-peep.mir
M llvm/test/CodeGen/SystemZ/fp-add-01.ll
M llvm/test/CodeGen/SystemZ/fp-add-02.ll
M llvm/test/CodeGen/SystemZ/fp-mul-01.ll
M llvm/test/CodeGen/SystemZ/fp-mul-03.ll
M llvm/test/CodeGen/SystemZ/fp-sub-01.ll
M llvm/test/CodeGen/SystemZ/fp-sub-02.ll
A llvm/test/CodeGen/SystemZ/machine-combiner-reassoc-fp.ll
M llvm/test/CodeGen/SystemZ/stackmap.ll
Log Message:
-----------
[SystemZ] Enable MachineCombiner for FP reassociation (#83546)
Enable MachineCombining for FP add, sub and mul.
In order for this to work, the default instruction selection of reg/mem opcodes is disabled for ISD nodes that carry the flags that allow reassociation. The reg/mem folding is instead done after MachineCombiner by PeepholeOptimizer. SystemZInstrInfo optimizeLoadInstr() and foldMemoryOperandImpl() ("LoadMI version") have been implemented for this purpose also by this patch.
Commit: 1b942ae3843ca943a249288612e69df0b2fc188b
https://github.com/llvm/llvm-project/commit/1b942ae3843ca943a249288612e69df0b2fc188b
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/lib/TargetParser/RISCVISAInfo.cpp
Log Message:
-----------
[RISCV] Use consume_front to parse rv32/rv64 in RISCVISAInfo::parse*ArchString. NFC (#90562)
This replaces some starts_with calls wth consume_front. This allows us
to remove a later assumption that prefix was 4 characters. We would
eventually need to fix this anyway if we ever support rv128.
Noticed while reviewing the RISCVISAInfo code for other reasons.
Commit: f815d1f71f644a6cfd2c22bf7898a1034be235ad
https://github.com/llvm/llvm-project/commit/f815d1f71f644a6cfd2c22bf7898a1034be235ad
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M flang/lib/Lower/Bridge.cpp
M flang/test/Lower/CUDA/cuda-kernel-loop-directive.cuf
Log Message:
-----------
[flang][cuda] Fix iv store in cuf kernel (#90551)
Store of the current induction value to the user IV was not placed
correctly in the body of the cuf kernel.
@ImanHosseini
Commit: a9c73f66ce96421ba1e8952950d6df74e9043589
https://github.com/llvm/llvm-project/commit/a9c73f66ce96421ba1e8952950d6df74e9043589
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/test/Fir/cuf.mlir
Log Message:
-----------
[flang][cuda] Add fir.cuda_alloc/fir.cuda_free operations (#90525)
This patch introduces fir.cuda_alloc/fir.cuda_free. These operations
will be used instead of fir.alloca for local CUDA device, managed and
unified variables.
Commit: 114a59d4d3743257d7cfdf94a7124060f04cc0db
https://github.com/llvm/llvm-project/commit/114a59d4d3743257d7cfdf94a7124060f04cc0db
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/MachineLICM.cpp
Log Message:
-----------
MachineLICM: Remove unnecessary isReg checks
COPY operands are always registers.
Commit: cc6113da826e82f19762eb813e6d932fcef09593
https://github.com/llvm/llvm-project/commit/cc6113da826e82f19762eb813e6d932fcef09593
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/StmtPrinter.cpp
A clang/test/AST/ast-print-openacc-compute-construct.cpp
Log Message:
-----------
[OpenACC] Fix ast-print for OpenACC Clauses
Previously we weren't printing expressions correctly, so this patch adds
a test to ensure we do, and fixes how expressions are printed.
Commit: 721c31e3bd37c00bff96e14e784e8d28e9a2b8ba
https://github.com/llvm/llvm-project/commit/721c31e3bd37c00bff96e14e784e8d28e9a2b8ba
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M bolt/lib/Passes/ValidateMemRefs.cpp
R bolt/test/X86/jt-symbol-disambiguation-4.s
Log Message:
-----------
Revert "[BOLT] Avoid reference updates for non-JT symbol operands (#88838)"
This reverts commit 9d5411ffba0d94b60050cc873773935addca9533.
Breaks aarch64 buildbot:
https://lab.llvm.org/buildbot/#/builders/221/builds/22130
Commit: d97f25b948554717a163b28dae3cf982a03434ca
https://github.com/llvm/llvm-project/commit/d97f25b948554717a163b28dae3cf982a03434ca
Author: Scott Egerton <9487234+ScottEgerton at users.noreply.github.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInsertSingleUseVDST.cpp
M llvm/test/CodeGen/AMDGPU/insert-singleuse-vdst.mir
Log Message:
-----------
[AMPGPU] Emit s_singleuse_vdst instructions when a register is used multiple times in the same instruction. (#89601)
Previously, multiple uses of a register within the same instruction were
being counted as multiple uses. This has been corrected to
only count as a single use as per the specification allowing for
more optimisation candidates.
Commit: 5ada3289b107742929f2605aa4b2e3e903d4a690
https://github.com/llvm/llvm-project/commit/5ada3289b107742929f2605aa4b2e3e903d4a690
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
A flang/test/Lower/OpenMP/Todo/reduction-array-intrinsic.f90
Log Message:
-----------
[flang][OpenMP] ensure we hit the TODO for intrinsic array reduction (#90593)
Before this patch we crashed lowering intrinsic array reductions.
I think this lost during a rebase. I've added a test to make sure it
doesn't break again.
Also fixed the TODO message to be more accurate.
Commit: df513f86da13822ed4f99bebd2ac93e53b8b6e0d
https://github.com/llvm/llvm-project/commit/df513f86da13822ed4f99bebd2ac93e53b8b6e0d
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M flang/include/flang/Optimizer/Transforms/Passes.h
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Tools/CLOptions.inc
M flang/lib/Optimizer/Transforms/PolymorphicOpConversion.cpp
M flang/test/Driver/bbc-mlir-pass-pipeline.f90
M flang/test/Driver/mlir-debug-pass-pipeline.f90
M flang/test/Driver/mlir-pass-pipeline.f90
M flang/test/Fir/basic-program.fir
Log Message:
-----------
[flang] Adapt PolymorphicOpConversion to run on all top level ops (#90597)
We might use polymorphic ops in top-level operations other than
functions some time in the future. We need to ensure that these
operations can be lowered.
See RFC:
https://discourse.llvm.org/t/rfc-add-an-interface-for-top-level-container-operations
Some of the changes are from moving declaration and definition of the
constructor function into tablegen (as requested in code review when
altering another pass).
Commit: 539f626ecd0c5148228fb6d2eda6228b4f2b2fca
https://github.com/llvm/llvm-project/commit/539f626ecd0c5148228fb6d2eda6228b4f2b2fca
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/IR/Intrinsics.td
M llvm/include/llvm/IR/VPIntrinsics.def
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
A llvm/test/CodeGen/RISCV/rvv/vp-cttz-elts.ll
Log Message:
-----------
[VP][RISCV] Add vp.cttz.elts intrinsic and its RISC-V codegen (#90502)
This intrinsic is the VP version of `experimental.cttz.elts`.
Commit: 97069a86193a617a9e4cf742a29db6116b2bf449
https://github.com/llvm/llvm-project/commit/97069a86193a617a9e4cf742a29db6116b2bf449
Author: Gaurav Shukla <gaurav at nod-labs.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/Arith/Utils/Utils.h
M mlir/include/mlir/Dialect/MemRef/IR/MemRefOps.td
M mlir/include/mlir/Dialect/Tensor/IR/TensorOps.td
M mlir/include/mlir/Dialect/Utils/ReshapeOpsUtils.h
M mlir/include/mlir/Dialect/Utils/StaticValueUtils.h
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/lib/Dialect/Arith/Utils/CMakeLists.txt
M mlir/lib/Dialect/Arith/Utils/Utils.cpp
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/ConvertConv2DToImg2Col.cpp
M mlir/lib/Dialect/Linalg/Transforms/DataLayoutPropagation.cpp
M mlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp
M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
M mlir/lib/Dialect/Linalg/Transforms/SplitReduction.cpp
M mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/lib/Dialect/Tensor/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/lib/Dialect/Tensor/Transforms/PackAndUnpackPatterns.cpp
M mlir/lib/Dialect/Utils/ReshapeOpsUtils.cpp
M mlir/lib/Dialect/Utils/StaticValueUtils.cpp
M mlir/test/Conversion/MemRefToLLVM/expand-then-convert-to-llvm.mlir
M mlir/test/Conversion/MemRefToLLVM/memref-to-llvm.mlir
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
M mlir/test/Conversion/TosaToTensor/tosa-to-tensor.mlir
M mlir/test/Dialect/Bufferization/Transforms/one-shot-bufferize-empty-tensor-elimination.mlir
M mlir/test/Dialect/Linalg/bubble-up-extract-slice-op.mlir
M mlir/test/Dialect/Linalg/collapse-dim.mlir
M mlir/test/Dialect/Linalg/convert-conv2d-to-img2col.mlir
M mlir/test/Dialect/Linalg/data-layout-propagation.mlir
M mlir/test/Dialect/Linalg/drop-unit-extent-dims.mlir
M mlir/test/Dialect/Linalg/flatten-elementwise.mlir
M mlir/test/Dialect/Linalg/fuse-with-reshape-by-collapsing.mlir
M mlir/test/Dialect/Linalg/fusion-push-reshape.mlir
M mlir/test/Dialect/Linalg/reshape_control_fusion.mlir
M mlir/test/Dialect/Linalg/reshape_fusion.mlir
M mlir/test/Dialect/Linalg/resolve-shaped-type-result-dims.mlir
M mlir/test/Dialect/Linalg/transform-op-split-reduction.mlir
M mlir/test/Dialect/Linalg/vectorization-with-patterns.mlir
M mlir/test/Dialect/MemRef/canonicalize.mlir
M mlir/test/Dialect/MemRef/expand-strided-metadata.mlir
M mlir/test/Dialect/MemRef/fold-memref-alias-ops.mlir
M mlir/test/Dialect/MemRef/invalid.mlir
M mlir/test/Dialect/MemRef/ops.mlir
M mlir/test/Dialect/MemRef/runtime-verification.mlir
M mlir/test/Dialect/SparseTensor/sparse_reshape.mlir
M mlir/test/Dialect/Tensor/bufferize.mlir
M mlir/test/Dialect/Tensor/canonicalize.mlir
M mlir/test/Dialect/Tensor/fold-empty-op.mlir
M mlir/test/Dialect/Tensor/fold-reassociative-reshapes.mlir
M mlir/test/Dialect/Tensor/invalid.mlir
M mlir/test/Dialect/Tensor/ops.mlir
M mlir/test/Dialect/Tensor/simplify-pack-unpack.mlir
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[MLIR] Generalize expand_shape to take shape as explicit input (#90040)
This patch generalizes tensor.expand_shape and memref.expand_shape to
consume the output shape as a list of SSA values. This enables us to
implement generic reshape operations with dynamic shapes using
collapse_shape/expand_shape pairs.
The output_shape input to expand_shape follows the static/dynamic
representation that's also used in `tensor.extract_slice`.
Differential Revision: https://reviews.llvm.org/D140821
---------
Signed-off-by: Gaurav Shukla<gaurav.shukla at amd.com>
Signed-off-by: Gaurav Shukla <gaurav.shukla at amd.com>
Co-authored-by: Ramiro Leal-Cavazos <ramiroleal050 at gmail.com>
Commit: e9305fcf1b4a901f9424388137cecff120a4b303
https://github.com/llvm/llvm-project/commit/e9305fcf1b4a901f9424388137cecff120a4b303
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] combineAnd/combineAddOrSub - use DAG::getNegative() helper. NFC.
Commit: 38c68e0746dc4ee19480dd4c9ee572895eb07136
https://github.com/llvm/llvm-project/commit/38c68e0746dc4ee19480dd4c9ee572895eb07136
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
A llvm/test/CodeGen/X86/cmp16.ll
Log Message:
-----------
[X86] Add icmp i16 test coverage
Based off #90355 - add basic tests for cases when to extend i16 comparisons to i32
Commit: 91c52b966a09e37a96ed87bcf5b422de7711bf50
https://github.com/llvm/llvm-project/commit/91c52b966a09e37a96ed87bcf5b422de7711bf50
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[DAG] Pull out repeated SDLoc() from SHL/SRL/SRA combines. NFC.
We were always calling SDLoc(N) at the top of each visitSHL/SRL/SRA for the FoldConstantArithmetic call, so just reuse this as much as possible.
Commit: fbe8d2a22189233590b15dad62c881a60c74b201
https://github.com/llvm/llvm-project/commit/fbe8d2a22189233590b15dad62c881a60c74b201
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M flang/include/flang/Tools/CrossToolHelpers.h
Log Message:
-----------
[flang][OpenMP] Implement getOpenMPVersionAttribute helper function, NFC (#90086)
Commit: 554be97d7f7f462ab4b8af34f79bca71f4c98977
https://github.com/llvm/llvm-project/commit/554be97d7f7f462ab4b8af34f79bca71f4c98977
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Lower/OpenMP/Utils.h
Log Message:
-----------
[flang][OpenMP] Implement getIterationVariableSymbol helper function,… (#90087)
… NFC
Commit: 33ccd037fcd2b4346065ebcdcbb5d8c1887c2639
https://github.com/llvm/llvm-project/commit/33ccd037fcd2b4346065ebcdcbb5d8c1887c2639
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
Log Message:
-----------
[flang][OpenMP] Pass symTable to all genXYZ functions, NFC (#90090)
This will unify the interface a bit more.
Commit: 4631e7bad6984beca9f790d01d7e07dd47d407bb
https://github.com/llvm/llvm-project/commit/4631e7bad6984beca9f790d01d7e07dd47d407bb
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/unittests/Frontend/OpenMPCompositionTest.cpp
Log Message:
-----------
[Frontend][OpenMP] Add unit tests for getLeafConstructsOrSelf, NFC (#90110)
Commit: 267329d7e0e7dc6cb6d59b7d71290d5e5f5c6be2
https://github.com/llvm/llvm-project/commit/267329d7e0e7dc6cb6d59b7d71290d5e5f5c6be2
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
Log Message:
-----------
[LegalizeDAG] Simplify interface to PromoteReduction. NFC
Return an SDValue instead of pushing to the Results vector. Let
the caller do the push.
Commit: 6ab49fcbb237779042bfb7f5210321fe75f8f432
https://github.com/llvm/llvm-project/commit/6ab49fcbb237779042bfb7f5210321fe75f8f432
Author: Min Hsu <min.hsu at sifive.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/lib/IR/IntrinsicInst.cpp
M llvm/unittests/IR/VPIntrinsicTest.cpp
Log Message:
-----------
[VP] Fix unit test failures caused by #90502
Forgot to add vp.cttz.elts into the unittest. Also, I didn't specify the
positions of overloaded type parameters.
Commit: 4cd11c986f78e19f53b3f3c92143b7b7c1ce54b1
https://github.com/llvm/llvm-project/commit/4cd11c986f78e19f53b3f3c92143b7b7c1ce54b1
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M lldb/utils/lldb-dotest/lldb-dotest.in
Log Message:
-----------
Thread '--lldb-obj-root' through lldb-dotest for manual testing
Commit: dbe376651a830fb502ff26d89119d1b89da599bc
https://github.com/llvm/llvm-project/commit/dbe376651a830fb502ff26d89119d1b89da599bc
Author: Peiming Liu <peiming at google.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/LoopEmitter.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorIterator.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorIterator.h
A mlir/test/Integration/Dialect/SparseTensor/CPU/padded_sparse_conv_2d.mlir
Log Message:
-----------
[mlir][sparse] handle padding on sparse levels. (#90527)
Commit: 30badf96bbaa5ddfd8049442e573fd270a89ddc8
https://github.com/llvm/llvm-project/commit/30badf96bbaa5ddfd8049442e573fd270a89ddc8
Author: Matthias Gehre <matthias.gehre at amd.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M mlir/lib/Dialect/Arith/Transforms/ExpandOps.cpp
M mlir/test/Dialect/Arith/expand-ops.mlir
Log Message:
-----------
[MLIR][Arith] expand-ops: Support mini/maxi (#90575)
Expand `arith.minsi`, `arith.minui`, `arith.maxsi`, `arith.maxui` into
`arith.cmpi` and `arith.select`.
---------
Co-authored-by: Jakub Kuderski <kubakuderski at gmail.com>
Commit: 600cae7d421e6e280c6513510bb11b4dc7b16b48
https://github.com/llvm/llvm-project/commit/600cae7d421e6e280c6513510bb11b4dc7b16b48
Author: Eli Friedman <efriedma at quicinc.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
[LangRef] Try to clarify mustprogress wording. (#90510)
Ensure it's clear that:
- Infinite loops in non-mustprogress functions are well-defined, even if
they're called by mustprogress functions.
- Infinite recursion in mustprogress functions is not well-defined.
Looking at D86233, it's clear this was the intent, but the "transitive"
wording is ambiguous. Instead, just explicitly state that infinite loops
written in non-mustprogress functions count as progress.
Commit: 7dd4ce484c8913ced124f2f62ac4c3eaafa9ef5f
https://github.com/llvm/llvm-project/commit/7dd4ce484c8913ced124f2f62ac4c3eaafa9ef5f
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M libc/src/__support/fixed_point/sqrt.h
M libc/test/src/stdfix/ISqrtTest.h
M libc/test/src/stdfix/SqrtTest.h
M libc/test/src/stdfix/uksqrtui_test.cpp
Log Message:
-----------
[libc][stdfix] Fix overflow problem for fixed point sqrt when the inputs are close to max. (#90558)
Fixes https://github.com/llvm/llvm-project/issues/89668
Commit: 9af7f4061b0a8c5540ec544dab82d3f1b9531549
https://github.com/llvm/llvm-project/commit/9af7f4061b0a8c5540ec544dab82d3f1b9531549
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M libcxx/docs/Status/Cxx2c.rst
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/test/std/numerics/complex.number/complex.tuple/get.pass.cpp
Log Message:
-----------
[libc++][NFC] Fixes a status page note and a minor copy & paste error in a test (#90399)
- Adds a status page note for P3142R0
- Fixes a copy & paste error in tuple protocol for `complex`
Commit: a754ce04893fd2981b265a040f838fed85f53199
https://github.com/llvm/llvm-project/commit/a754ce04893fd2981b265a040f838fed85f53199
Author: Eli Friedman <efriedma at quicinc.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
[LangRef] Fix build warning.
Commit: f565b79f9fc278d37e884276212455920b51b47a
https://github.com/llvm/llvm-project/commit/f565b79f9fc278d37e884276212455920b51b47a
Author: Luke Lau <luke at igalia.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/include/llvm/Support/TypeSize.h
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVSubtarget.h
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert-subvector.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-concat.ll
Log Message:
-----------
[RISCV] Handle fixed length vectors with exact VLEN in lowerINSERT_SUBVECTOR (#84107)
This is the insert_subvector equivalent to #79949, where we can avoid
sliding up by the full LMUL amount if we know the exact subregister the
subvector will be inserted into.
This mirrors the lowerEXTRACT_SUBVECTOR changes in that we handle this
in two parts:
- We handle fixed length subvector types by converting the subvector to
a scalable vector. But unlike EXTRACT_SUBVECTOR, we may also need to
convert the vector being inserted into too.
- Whenever we don't need a vslideup because either the subvector fits
exactly into a vector register group *or* the vector is undef, we need
to emit an insert_subreg ourselves because RISCVISelDAGToDAG::Select
doesn't correctly handle fixed length subvectors yet: see d7a28f7ad
A subvector exactly fits into a vector register group if its size is a
known multiple of the size of a vector register, and this adds a new
overload for TypeSize::isKnownMultipleOf for scalable to scalable
comparisons to help reason about this.
I've left RISCVISelDAGToDAG::Select untouched for now (minus relaxing an
invariant), so that the insert_subvector and extract_subvector code
paths are the same.
We should teach it to properly handle fixed length subvectors in a
follow-up patch, so that the "exact subregsiter" logic is handled in one
place instead of being spread across both RISCVISelDAGToDAG.cpp and
RISCVISelLowering.cpp.
Commit: f0cc3735217dd0da36ed14b65823bcb0d289fea6
https://github.com/llvm/llvm-project/commit/f0cc3735217dd0da36ed14b65823bcb0d289fea6
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/lib/TargetParser/RISCVISAInfo.cpp
Log Message:
-----------
[RISCV] Drop unnecessary curly braces in RISCVISAInfo:parse*ArchString. NFC
Commit: 40083cf378e8c93165c5f9dd9d06611beca78f54
https://github.com/llvm/llvm-project/commit/40083cf378e8c93165c5f9dd9d06611beca78f54
Author: Alex Guteniev <gutenev at gmail.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M libcxx/test/std/numerics/numeric.ops/numeric.ops.midpoint/midpoint.float.pass.cpp
M libcxx/test/std/strings/string.conversions/stol.pass.cpp
M libcxx/test/std/utilities/format/format.arguments/format.arg/visit_format_arg.pass.cpp
M libcxx/test/std/utilities/format/format.arguments/format.args/get.pass.cpp
Log Message:
-----------
[libc++] Some tests are missing include for `numeric_limits` (#90345)
Noticed while attempting microsoft/STL#4634
Commit: 7a8d15e919dde70118dbfa34e927be1705ded67d
https://github.com/llvm/llvm-project/commit/7a8d15e919dde70118dbfa34e927be1705ded67d
Author: Dave Lee <davelee.com at gmail.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M lldb/docs/use/variable.rst
M lldb/source/Core/FormatEntity.cpp
A lldb/test/API/functionalities/data-formatter/custom-printf-summary/Makefile
A lldb/test/API/functionalities/data-formatter/custom-printf-summary/TestCustomSummaryLLVMFormat.py
A lldb/test/API/functionalities/data-formatter/custom-printf-summary/main.c
Log Message:
-----------
[lldb] Support custom LLVM formatting for variables (#81196)
Adds support for applying LLVM formatting to variables.
The reason for this is to support cases such as the following.
Let's say you have two separate bytes that you want to print as a
combined hex value. Consider the following summary string:
```
${var.byte1%x}${var.byte2%x}
```
The output of this will be: `0x120x34`. That is, a `0x` prefix is
unconditionally applied to each byte. This is unlike printf formatting
where you must include the `0x` yourself.
Currently, there's no way to do this with summary strings, instead
you'll need a summary provider in python or c++.
This change introduces formatting support using LLVM's formatter system.
This allows users to achieve the desired custom formatting using:
```
${var.byte1:x-}${var.byte2:x-}
```
Here, each variable is suffixed with `:x-`. This is passed to the LLVM
formatter as `{0:x-}`. For integer values, `x` declares the output as
hex, and `-` declares that no `0x` prefix is to be used. Further, one
could write:
```
${var.byte1:x-2}${var.byte2:x-2}
```
Where the added `2` results in these bytes being written with a minimum
of 2 digits.
An alternative considered was to add a new format specifier that would
print hex values without the `0x` prefix. The reason that approach was
not taken is because in addition to forcing a `0x` prefix, hex values
are also forced to use leading zeros. This approach lets the user have
full control over formatting.
Commit: 49bb993959668b3f319e9ea5fa0c97a41ab0890e
https://github.com/llvm/llvm-project/commit/49bb993959668b3f319e9ea5fa0c97a41ab0890e
Author: Maksim Panchenko <maks at fb.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M bolt/lib/Rewrite/RewriteInstance.cpp
Log Message:
-----------
[BOLT] Fix build-time assertion in RewriteInstance (#90540)
We use pwrite() in RewriteInstance to update contents of existing
sections. pwrite() requires file position to be set past the written
offset which we guarantee at the start of rewriteFile(). Then we had an
implicit assumption in patchBuildID() that the file position will be set
again in patchELFSymTabs() after being reset in patchELFPHDRTable().
That assumption was broken in #90300. The fix is to save and restore
file position in patchELFPHDRTable(). Then we don't have to update it
again in patchELFSymTabs().
Commit: d2353695f8cb864f88475d3a921249b0dcbcc6f4
https://github.com/llvm/llvm-project/commit/d2353695f8cb864f88475d3a921249b0dcbcc6f4
Author: Peiming Liu <peiming at google.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M mlir/include/mlir/Tools/PDLL/AST/Nodes.h
M mlir/lib/Dialect/Linalg/Transforms/DataLayoutPropagation.cpp
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/lib/Tools/PDLL/AST/Types.cpp
M mlir/lib/Tools/PDLL/CodeGen/MLIRGen.cpp
M mlir/lib/Tools/PDLL/Parser/Parser.cpp
M mlir/lib/Tools/mlir-pdll-lsp-server/PDLLServer.cpp
Log Message:
-----------
[mlir][NFC] update code to use `mlir::dyn_cast/cast/isa` (#90633)
Fix compiler warning caused by using deprecated interface
(https://github.com/llvm/llvm-project/pull/90413)
Commit: 7662f95f2c767ae3c9b22eb4bdedb07ffcf258b7
https://github.com/llvm/llvm-project/commit/7662f95f2c767ae3c9b22eb4bdedb07ffcf258b7
Author: Heejin Ahn <aheejin at gmail.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M clang/lib/Basic/Targets/WebAssembly.cpp
M clang/test/Preprocessor/wasm-target-features.c
Log Message:
-----------
[WebAssembly] Add preprocessor define for half-precision (#90528)
This adds the preprocessor define for the half-precision feature and
also adds preprocessor tests.
Commit: f061a395ffb78215a23e0f503e8ea121ee3b13ad
https://github.com/llvm/llvm-project/commit/f061a395ffb78215a23e0f503e8ea121ee3b13ad
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Sema.h
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExceptionSpec.cpp
A clang/test/CXX/class/class.mem/class.mem.general/p8.cpp
A clang/test/CXX/except/except.spec/p13-friend.cpp
Log Message:
-----------
[Clang][Sema][Parse] Delay parsing of noexcept-specifiers in friend function declarations (#90517)
According to [class.mem.general] p8:
> A complete-class context of a class (template) is a
> - function body,
> - default argument,
> - default template argument,
> - _noexcept-specifier_, or
> - default member initializer
>
> within the member-specification of the class or class template.
When testing #90152, it came to my attention that we do _not_ consider
the _noexcept-specifier_ of a friend function declaration to be a
complete-class context (something which the Microsoft standard library
depends on). Although a comment states that this is "consistent with
what other implementations do", the only other implementation that
exhibits this behavior is GCC (MSVC and EDG both late-parse the
_noexcept-specifier_).
This patch changes _noexcept-specifiers_ of friend function declarations
to be late parsed, which is in agreement with the standard & majority of
implementations. Pre-#90152, our existing implementation falls "in
between" the implementation consensus: within non-template classes, we
would not find latter declared members (qualified and unqualified),
while within class templates we would not find latter declared member
when named with a unqualified name, we would find members named with a
qualified name (even when lookup context is the current instantiation).
Therefore, this _shouldn't_ be a breaking change -- any code that didn't
compile will continue to not compile (since a _noexcept-specifier_ is
not part of the deduction substitution
loci (see [temp.deduct.general] p7), and any code which
did compile should continue to do so.
Commit: 8009bbec59d1c5d47ae06c431647ebee6d886ff2
https://github.com/llvm/llvm-project/commit/8009bbec59d1c5d47ae06c431647ebee6d886ff2
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M clang-tools-extra/clangd/unittests/FindTargetTests.cpp
M clang-tools-extra/clangd/unittests/SemanticHighlightingTests.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/owning-memory.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-equals-default-copy.cpp
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Lookup.h
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/Expr.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/lib/Sema/SemaAttr.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaExprMember.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/TreeTransform.h
M clang/test/AST/HLSL/this-reference-template.hlsl
M clang/test/CXX/drs/dr2xx.cpp
M clang/test/CXX/drs/dr3xx.cpp
A clang/test/CXX/temp/temp.res/temp.dep/temp.dep.type/p4.cpp
M clang/test/CXX/temp/temp.res/temp.local/p3.cpp
M clang/test/CodeGenCXX/mangle.cpp
M clang/test/Index/annotate-nested-name-specifier.cpp
M clang/test/SemaCXX/member-expr.cpp
M clang/test/SemaTemplate/instantiate-function-1.cpp
M clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp
Log Message:
-----------
Reapply "[Clang][Sema] Diagnose class member access expressions naming non-existent members of the current instantiation prior to instantiation in the absence of dependent base classes (#84050)" (#90152)
Reapplies #84050, addressing a bug which cases a crash when an
expression with the type of the current instantiation is used as the
_postfix-expression_ in a class member access expression (arrow form).
Commit: fa67986d5b309ddd4c2ea74e8a5eeb0559aa8022
https://github.com/llvm/llvm-project/commit/fa67986d5b309ddd4c2ea74e8a5eeb0559aa8022
Author: Erich Keane <ekeane at nvidia.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/OpenACCClauses.def
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/include/clang/Serialization/ASTRecordReader.h
M clang/include/clang/Serialization/ASTRecordWriter.h
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/test/AST/ast-print-openacc-compute-construct.cpp
M clang/test/ParserOpenACC/parse-cache-construct.c
M clang/test/ParserOpenACC/parse-clauses.c
A clang/test/SemaOpenACC/compute-construct-private-clause.c
A clang/test/SemaOpenACC/compute-construct-private-clause.cpp
A clang/test/SemaOpenACC/compute-construct-varlist-ast.cpp
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
[OpenACC] Private Clause on Compute Constructs (#90521)
The private clause is the first that takes a 'var-list', thus this has a
lot of additional work to enable the var-list type. A 'var' is a
traditional variable reference, subscript, member-expression, or
array-section, so checking of these is pretty minor.
Note: This ran into some issues with array-sections (aka sub-arrays)
that will be fixed in a follow-up patch.
Commit: 1c979ab7e59feb03c58cac631a93143b0c776c20
https://github.com/llvm/llvm-project/commit/1c979ab7e59feb03c58cac631a93143b0c776c20
Author: AdityaK <hiraditya at msn.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/GVNSink.cpp
A llvm/test/Transforms/GVNSink/different-gep-types.ll
Log Message:
-----------
[GVNSink] Fix incorrect codegen with respect to GEPs #85333 (#88440)
As mentioned in #68882 and
https://discourse.llvm.org/t/rfc-replacing-getelementptr-with-ptradd/68699
Gep arithmetic isn't consistent with different types. GVNSink didn't
realize this and sank all geps
as long as their operands can be wired via PHIs
in a post-dominator.
Fixes: #85333
Commit: 0ecc1646cbbb1bdfce234a11bec33b8c64af29cb
https://github.com/llvm/llvm-project/commit/0ecc1646cbbb1bdfce234a11bec33b8c64af29cb
Author: yronglin <yronglin777 at gmail.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/include/__ranges/repeat_view.h
M libcxx/test/std/ranges/range.factories/range.repeat.view/ctad.compile.pass.cpp
M libcxx/test/std/ranges/range.factories/range.repeat.view/views_repeat.pass.cpp
Log Message:
-----------
[libc++][ranges] Implement LWG4053 and LWG4054 (#88612)
Implement
- LWG4053 Unary call to `std::views::repeat` does not decay the argument
- LWG4054 Repeating a `repeat_view` should repeat the view
Signed-off-by: yronglin <yronglin777 at gmail.com>
Commit: 41f9c78f6a4efe38edbb0b62131b0a0bf619c99a
https://github.com/llvm/llvm-project/commit/41f9c78f6a4efe38edbb0b62131b0a0bf619c99a
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M clang/test/SemaOpenACC/compute-construct-varlist-ast.cpp
Log Message:
-----------
[OpenACC] Fix test failure from fa67986d
Seemingly some other patch went in that altered how much dependence was
printed vs the actual names, and it changed the ast-dump results.
Commit to fix this test.
Commit: 7cbaaed63612fe6446355c5ffe33ddd57578b929
https://github.com/llvm/llvm-project/commit/7cbaaed63612fe6446355c5ffe33ddd57578b929
Author: Peiming Liu <peiming at google.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M mlir/test/Integration/Dialect/SparseTensor/CPU/reshape_dot.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_expand_shape.mlir
Log Message:
-----------
[mlir][sparse] fix sparse tests that uses reshape operations. (#90637)
Due to generalization introduced in
https://github.com/llvm/llvm-project/pull/90040
Commit: 52cb9537896992e0fa689c45469bccb36970c0c7
https://github.com/llvm/llvm-project/commit/52cb9537896992e0fa689c45469bccb36970c0c7
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
Log Message:
-----------
[flang] Update calls to isa/dyn_cast/dyn_cast_or_null
Commit: 5f88f0c63fa75169665732a3377f5bb3fef6256d
https://github.com/llvm/llvm-project/commit/5f88f0c63fa75169665732a3377f5bb3fef6256d
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M lldb/unittests/SymbolFile/DWARF/DWARFASTParserClangTests.cpp
Log Message:
-----------
[lldb] Fix a warning
This patch fixes:
third-party/unittest/googletest/include/gtest/gtest.h:1379:11:
error: comparison of integers of different signs: 'const unsigned
int' and 'const int' [-Werror,-Wsign-compare]
Commit: 9b07a035f1802e826d2186eae1875d010048618a
https://github.com/llvm/llvm-project/commit/9b07a035f1802e826d2186eae1875d010048618a
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonHardwareLoops.cpp
Log Message:
-----------
[Hexagon] Let ArrayRef infer the array size (NFC) (#90534)
Commit: 4e6f6fda8b05524ccdb5a3e42c6c15ddef2454b6
https://github.com/llvm/llvm-project/commit/4e6f6fda8b05524ccdb5a3e42c6c15ddef2454b6
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/lib/IR/Attributes.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/IR/Function.cpp
M llvm/lib/IR/Metadata.cpp
M llvm/lib/IR/ProfDataUtils.cpp
M llvm/lib/IR/ProfileSummary.cpp
M llvm/lib/IR/Type.cpp
M llvm/lib/IR/Verifier.cpp
Log Message:
-----------
[IR] Use StringRef::operator== instead of StringRef::equals (NFC) (#90550)
I'm planning to remove StringRef::equals in favor of
StringRef::operator==.
- StringRef::operator== outnumbers StringRef::equals by a factor of 22
under llvm/ in terms of their usage.
- The elimination of StringRef::equals brings StringRef closer to
std::string_view, which has operator== but not equals.
- S == "foo" is more readable than S.equals("foo"), especially for
!Long.Expression.equals("str") vs Long.Expression != "str".
Commit: a1423ba4278775472523fed074de6dbdfd01898a
https://github.com/llvm/llvm-project/commit/a1423ba4278775472523fed074de6dbdfd01898a
Author: Han-Chung Wang <hanhan0912 at gmail.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M mlir/test/Integration/Dialect/Linalg/CPU/test-expand-tensor.mlir
Log Message:
-----------
[mlir][tensor] Fix integration tests that uses reshape ops. (#90649)
Due to generalization introduced in
https://github.com/llvm/llvm-project/pull/90040
Commit: cf49d077fd75278abc405c8c125f40a975c830b4
https://github.com/llvm/llvm-project/commit/cf49d077fd75278abc405c8c125f40a975c830b4
Author: AdityaK <hiraditya at msn.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/GVNSink.cpp
R llvm/test/Transforms/GVNSink/different-gep-types.ll
Log Message:
-----------
Revert "[GVNSink] Fix incorrect codegen with respect to GEPs #85333" (#90658)
Reverts llvm/llvm-project#88440
Test failing on Windows:
https://lab.llvm.org/buildbot/#/builders/233/builds/9396
```
Input file: <stdin>
# | Check file: C:\buildbot\as-builder-8\llvm-nvptx-nvidia-win\llvm-project\llvm\test\Transforms\GVNSink\different-gep-types.ll
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 42: br label %if.end6
# | 43:
# | 44: if.else5: ; preds = %if.else
# | 45: br label %if.end6
# | 46:
# | 47: if.end6: ; preds = %if.else5, %if.then3, %if.then
# | next:67'0 X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# | next:67'1 with "IF_THEN" equal to "%if\\.then"
# | next:67'2 with "IF_THEN3" equal to "%if\\.then3"
# | next:67'3 with "IF_ELSE5" equal to "%if\\.else5"
# | 48: %.sink1 = phi i32 [ -8, %if.then3 ], [ -4, %if.else5 ], [ 8, %if.then ]
# | next:67'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:67'4 ? possible intended match
# | 49: %0 = load ptr, ptr %__i, align 4
# | next:67'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 50: %incdec.ptr4 = getelementptr inbounds i8, ptr %0, i32 %.sink1
# | next:67'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 51: store ptr %incdec.ptr4, ptr %__i, align 4
# | next:67'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 52: ret void
# | next:67'0 ~~~~~~~~~~
# | 53: }
# | next:67'0 ~~
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
```
Commit: 70ada5b178a14363dc6d30fbf531e47d3933a086
https://github.com/llvm/llvm-project/commit/70ada5b178a14363dc6d30fbf531e47d3933a086
Author: zhijian lin <zhijian at ca.ibm.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
A llvm/test/CodeGen/PowerPC/peephole-replaceInstr-after-eliminate-extsw.mir
Log Message:
-----------
NFC add a new precommit test case for PPCMIpeephole (#90656)
Add pre-commit MIR test for PR "[Promote Pseudo Opcode from 32-bit to
64-bit after eliminating the extsw instruction in PPCMIPeepholes
optimization](https://github.com/llvm/llvm-project/pull/85451)" which
fixes bug reported in the issue "[Inconsistent Output at -O1 and -O2
Optimization Levels on PowerPC64 Due to Complex Type Casting and Nested
Loop Structure](https://github.com/llvm/llvm-project/issues/71030)".
Commit: 05d04f0a057bc06324c02e00c2c73ee354999dde
https://github.com/llvm/llvm-project/commit/05d04f0a057bc06324c02e00c2c73ee354999dde
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/lib/TargetParser/RISCVISAInfo.cpp
Log Message:
-----------
[RISCV] Make RISCVISAInfo::updateMaxELen extension checking more robust. Add inference from V extension. (#90650)
We weren't fully checking that we parsed Zve*x/f/d correctly. This could
break if new extension is added that starts with Zve.
We were assuming the Zve64d is present whenever V is so we only
inferred from Zve*. It's more correct to infer ELEN from V itself too.
Commit: 7538df90aee11603bce5146a3f34c06e9ef3f793
https://github.com/llvm/llvm-project/commit/7538df90aee11603bce5146a3f34c06e9ef3f793
Author: Paul Kirth <paulkirth at google.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/include/llvm/IR/ProfDataUtils.h
M llvm/lib/IR/ProfDataUtils.cpp
M llvm/lib/Transforms/Utils/LoopRotationUtils.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
Log Message:
-----------
[llvm][profdata][NFC] Support 64-bit weights in ProfDataUtils (#86607)
Since some places, like SimplifyCFG, work with 64-bit weights, we supply
an API in ProfDataUtils to extract the weights accordingly.
We change the API slightly to disambiguate the 64-bit version from the
32-bit version.
Commit: 2224dce7e490340717adb3bd864f17b5d7da4421
https://github.com/llvm/llvm-project/commit/2224dce7e490340717adb3bd864f17b5d7da4421
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M compiler-rt/lib/dfsan/CMakeLists.txt
Log Message:
-----------
[DFSan] Replace `cat` with `cmake -E cat` (#90557)
`CMake` supports [this
command](https://cmake.org/cmake/help/latest/manual/cmake.1.html#cmdoption-cmake-E-arg-cat)
as of version 3.18. [D151344](https://reviews.llvm.org/D151344) bumped
the minimum version to 3.20, so, it is now possible to remove the
dependency on the external utility. This helps to cross-compile from
Windows to Linux without installing additional tools, such as MSYS2.
Commit: 928db7e7edc5ffeaf92e85610068852ee94b26fb
https://github.com/llvm/llvm-project/commit/928db7e7edc5ffeaf92e85610068852ee94b26fb
Author: Xing Xue <xingxue at outlook.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M openmp/runtime/src/z_Linux_util.cpp
Log Message:
-----------
[OpenMP][AIX] Implement __kmp_is_address_mapped() for AIX (#90516)
This patch implements `__kmp_is_address_mapped()` for AIX by calling
`loadquery()` to get the load info of the process and then checking if
the address falls within the range of the data segment of one of the
loaded modules.
Commit: 75f4baa705829d44c6a0c4f098a1b04763fdfaf8
https://github.com/llvm/llvm-project/commit/75f4baa705829d44c6a0c4f098a1b04763fdfaf8
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
A llvm/test/CodeGen/SystemZ/copy-phys-reg-gr128-to-vr128.mir
A llvm/test/CodeGen/SystemZ/copy-phys-reg-vr128-to-gr128.mir
Log Message:
-----------
SystemZ: Implement copyPhysReg between vr128 and gr128 (#90616)
I have no idea if this is correct and I probably swapped the element
ordering somewhere.
Commit: 699243343439285ec2fe61b4ae568c7a958c7ce2
https://github.com/llvm/llvm-project/commit/699243343439285ec2fe61b4ae568c7a958c7ce2
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M clang/www/cxx_status.html
Log Message:
-----------
[Clang][NFC] Fix status colors
Commit: 1fb5083aed3f2bed3658f63ead895e2955f0bc4c
https://github.com/llvm/llvm-project/commit/1fb5083aed3f2bed3658f63ead895e2955f0bc4c
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M flang/lib/Semantics/check-declarations.cpp
M flang/test/Semantics/cuf03.cuf
Log Message:
-----------
[flang][cuda] Accept variable with UNIFIED attribute in main (#90647)
UNIFIED variables are accept in program scope. Update the check to allow
them.
Commit: c665e49911a0f029564a816b71dce5bf1c81f3a9
https://github.com/llvm/llvm-project/commit/c665e49911a0f029564a816b71dce5bf1c81f3a9
Author: Maksim Panchenko <maks at fb.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M bolt/lib/Rewrite/LinuxKernelRewriter.cpp
Log Message:
-----------
[BOLT] Add ORC validation for the Linux kernel (#90660)
The Linux kernel expects ORC tables to be sorted by IP address (for
binary search to work). Add a post-emit pass in LinuxKernelRewriter that
validates the written .orc_unwind_ip against that expectation.
Commit: 0232b77e145577ab78e3ed1fdbb7eacc5a7381ab
https://github.com/llvm/llvm-project/commit/0232b77e145577ab78e3ed1fdbb7eacc5a7381ab
Author: Wei Wang <apollo.mobility at gmail.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M clang/test/CodeGenCoroutines/coro-elide-thinlto.cpp
Log Message:
-----------
[Coroutines][Test] Specify target triple in coro-elide-thinlto (#90549)
Resolve test failure on non-x86 linux host
Commit: ecec1311fe0521404a11d6f3b90253259c8c3518
https://github.com/llvm/llvm-project/commit/ecec1311fe0521404a11d6f3b90253259c8c3518
Author: David Truby <david.truby at arm.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M flang/include/flang/Optimizer/Builder/Runtime/EnvironmentDefaults.h
M flang/include/flang/Optimizer/Builder/Runtime/Main.h
M flang/lib/Lower/Bridge.cpp
M flang/lib/Optimizer/Builder/Runtime/EnvironmentDefaults.cpp
M flang/lib/Optimizer/Builder/Runtime/Main.cpp
M flang/test/Driver/emit-mlir.f90
M flang/test/Lower/convert.f90
M flang/test/Lower/environment-defaults.f90
Log Message:
-----------
[flang] Remove double pointer indirection for _QQEnvironmentDefaults (#90615)
A double pointer was being passed to the call to FortranStart rather than just a pointer to the EnvironmentDefaults.list. This now passes `null` directly when there's no EnvironmentDefaults.list and passes the list directly when there is, removing the original global variable which was a pointer to a pointer containing null or the EnvironmentDefaults.list global.
Fixes #90537
Commit: 19f4d68252b70c81ebb1686a5a31069eda5373de
https://github.com/llvm/llvm-project/commit/19f4d68252b70c81ebb1686a5a31069eda5373de
Author: Amara Emerson <amara at apple.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/LoadStoreOpt.h
M llvm/lib/CodeGen/GlobalISel/LoadStoreOpt.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/store-merging.ll
M llvm/test/CodeGen/AArch64/GlobalISel/store-merging.mir
Log Message:
-----------
[GlobalISel] Fix store merging incorrectly classifying an unknown index expr as 0. (#90375)
During analysis, we incorrectly leave the offset part of an address info
struct
as zero, when in actual fact we failed to decompose it into base +
offset.
This results in incorrectly assuming that the address is adjacent to
another store
addr. To fix this we wrap the offset in an optional<> so we can
distinguish between
real zero and unknown.
Fixes issue #90242
Commit: 51aac5b04362daf99124d20ea93837b86b833f90
https://github.com/llvm/llvm-project/commit/51aac5b04362daf99124d20ea93837b86b833f90
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFCI]Improve compile time for phis with large number of incoming values.
Added a limit of 128 incoming values at max for PHIs nodes to be
vectorized plus improved performance by using logarithmic search instead
of linear if the number of incoming values is > 4.
Commit: fb85a282d125a2805632285b29686392e6922b66
https://github.com/llvm/llvm-project/commit/fb85a282d125a2805632285b29686392e6922b66
Author: Andy Kaylor <andrew.kaylor at intel.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M clang/docs/UsersManual.rst
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/fast-math.c
Log Message:
-----------
Fix -fno-unsafe-math-optimizations behavior (#89473)
This changes the handling of -fno-unsafe-fp-math to stop having that
option imply -ftrapping-math. In gcc, -fno-unsafe-math-optimizations
sets -ftrapping-math, but that dependency is based on the fact the
-ftrapping-math is enabled by default in gcc. Because clang does not
enable -ftrapping-math by default, there is no reason for
-fno-unsafe-math-optimizations to set it.
On the other hand, -funsafe-math-optimizations continues to imply
-fno-trapping-math because this option necessarily disables strict
exception semantics.
This fixes https://github.com/llvm/llvm-project/issues/87523
Commit: 89f833588e573b6b9762bb4eca5b08a5d7bad9c5
https://github.com/llvm/llvm-project/commit/89f833588e573b6b9762bb4eca5b08a5d7bad9c5
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M flang/lib/Common/Fortran.cpp
A flang/test/Semantics/cuf13.cuf
Log Message:
-----------
[flang][cuda] Allow PINNED argument to host dummy (#90651)
Update the `AreCompatibleCUDADataAttrs` function to return true when one
argument has the `PINNED` attribute and the other argument is just host
data.
Commit: cd7a7a56fc73c73855036f77a4f69ea90c75c27a
https://github.com/llvm/llvm-project/commit/cd7a7a56fc73c73855036f77a4f69ea90c75c27a
Author: Fabian Keßler <fabian_kessler at gmx.de>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M libc/config/baremetal/api.td
M libc/config/linux/aarch64/headers.txt
M libc/config/linux/api.td
M libc/config/linux/arm/headers.txt
M libc/config/linux/riscv/headers.txt
M libc/config/linux/x86_64/headers.txt
M libc/docs/c23.rst
M libc/include/CMakeLists.txt
M libc/include/llvm-libc-types/CMakeLists.txt
A libc/include/llvm-libc-types/char16_t.h
A libc/include/llvm-libc-types/char32_t.h
A libc/include/llvm-libc-types/char8_t.h
M libc/spec/spec.td
M libc/spec/stdc.td
Log Message:
-----------
Add basic char*_t support for libc (partial WG14 N2653) (#90360)
This PR implements a part of WG14 N2653:
- Define C23 char8_t
- Define C11 char16_t
- Define C11 char32_t
Missing goals are:
- The type of UTF-8 character literals is changed from unsigned char to
char8_t. (Since UTF-8 character literals already have type unsigned
char, this is not a semantic change).
- New mbrtoc8() and c8rtomb() functions declared in <uchar.h> enable
conversions between multibyte characters and UTF-8.
- A new ATOMIC_CHAR8_T_LOCK_FREE macro.
- A new atomic_char8_t typedef name.
Commit: 805e08ef26a4dd4c3048a836a49219545a211686
https://github.com/llvm/llvm-project/commit/805e08ef26a4dd4c3048a836a49219545a211686
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M bolt/lib/Rewrite/LinuxKernelRewriter.cpp
Log Message:
-----------
[BOLT] Fix a warning
This patch fixes:
bolt/lib/Rewrite/LinuxKernelRewriter.cpp:855:12: error: variable
'PrevIP' set but not used [-Werror,-Wunused-but-set-variable]
Commit: d688162eba31bc9477c5bccd29cde6f0aa125bc4
https://github.com/llvm/llvm-project/commit/d688162eba31bc9477c5bccd29cde6f0aa125bc4
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
A llvm/test/CodeGen/X86/pr90688.ll
Log Message:
-----------
[X86] Pre-commit test for pr90668. NFC
Commit: 805f01f805716d78c2669e8aee81a45b99dedea0
https://github.com/llvm/llvm-project/commit/805f01f805716d78c2669e8aee81a45b99dedea0
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
A llvm/test/CodeGen/X86/pr90668.ll
R llvm/test/CodeGen/X86/pr90688.ll
Log Message:
-----------
[X86] Rename test to correct bug number. NFC
I accidentally named it pr90688 instead of pr90668.
Commit: 2647bd73696ae987addd0e74774a44108accb1e6
https://github.com/llvm/llvm-project/commit/2647bd73696ae987addd0e74774a44108accb1e6
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
A llvm/test/CodeGen/RISCV/pr90652.ll
Log Message:
-----------
[RISCV][ISel] Fix types in `tryFoldSelectIntoOp` (#90659)
```
SelectionDAG has 17 nodes:
t0: ch,glue = EntryToken
t6: i64,ch = CopyFromReg t0, Register:i64 %2
t8: i1 = truncate t6
t4: i64,ch = CopyFromReg t0, Register:i64 %1
t7: i1 = truncate t4
t2: i64,ch = CopyFromReg t0, Register:i64 %0
t10: i64,i1 = saddo t2, Constant:i64<1>
t11: i1 = or t8, t10:1
t12: i1 = select t7, t8, t11
t13: i64 = any_extend t12
t15: ch,glue = CopyToReg t0, Register:i64 $x10, t13
t16: ch = RISCVISD::RET_GLUE t15, Register:i64 $x10, t15:1
```
`OtherOpVT` should be i1, but `OtherOp->getValueType(0)` returns `i64`,
which ignores `ResNo` in `SDValue`.
Fix https://github.com/llvm/llvm-project/issues/90652.
Commit: 278774e428c280b6ab62c147ac33b6837dad6dd5
https://github.com/llvm/llvm-project/commit/278774e428c280b6ab62c147ac33b6837dad6dd5
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticInstallAPIKinds.td
M clang/include/clang/InstallAPI/FileList.h
M clang/lib/InstallAPI/FileList.cpp
M clang/tools/clang-installapi/Options.cpp
Log Message:
-----------
[InstallAPI] Cleanup I/O error handling for input lists (#90664)
Add validation in the FileList reader to check that the headers exist and use similar diagnostics in Options.cpp
Commit: 0f628fdb1aa8be97a5d86c3259b8caaa997790ec
https://github.com/llvm/llvm-project/commit/0f628fdb1aa8be97a5d86c3259b8caaa997790ec
Author: Dave Lee <davelee.com at gmail.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M lldb/docs/use/variable.rst
M lldb/source/Core/FormatEntity.cpp
R lldb/test/API/functionalities/data-formatter/custom-printf-summary/Makefile
R lldb/test/API/functionalities/data-formatter/custom-printf-summary/TestCustomSummaryLLVMFormat.py
R lldb/test/API/functionalities/data-formatter/custom-printf-summary/main.c
Log Message:
-----------
Revert "[lldb] Support custom LLVM formatting for variables (#81196)"
This reverts commit 7a8d15e919dde70118dbfa34e927be1705ded67d.
Commit: 85f28cf431911ca505b759c155bb62e8be7151ae
https://github.com/llvm/llvm-project/commit/85f28cf431911ca505b759c155bb62e8be7151ae
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
Log Message:
-----------
[flang] Fixed -g compilation issues caused by #90484. (#90683)
Commit: a03eeb0e98fefa24b3f596221942814178518703
https://github.com/llvm/llvm-project/commit/a03eeb0e98fefa24b3f596221942814178518703
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
M llvm/test/CodeGen/X86/pr90668.ll
Log Message:
-----------
[SelectionDAG][X86] Add a NoWrap flag to SelectionDAG::isAddLike. NFC (#90681)
If this flag is set, Xor will not be considered AddLike. If an Xor were
treated as an Add it may wrap. If we can prove there would be no carry out and
thus no wrap, the Xor would be turned into a disjoint Or by DAGCombine.
Use this new flag to fix a bug in X86 where an Xor is incorrectly being treated
as an NUWAdd.
Fixes #90668.
Commit: 75f7295419606380a7b5deea06359794a23429d9
https://github.com/llvm/llvm-project/commit/75f7295419606380a7b5deea06359794a23429d9
Author: Quinn Dawkins <quinn.dawkins at gmail.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M mlir/lib/Dialect/Tensor/Transforms/PackAndUnpackPatterns.cpp
M mlir/test/Dialect/Tensor/fold-into-pack-and-unpack.mlir
Log Message:
-----------
[mlir][Tensor] Fix unpack -> transpose folding pattern for padded unpacks (#90678)
Previously if the producer tensor.unpack op had "unpadding" semantics,
the folding pattern would construct a destination that does not match
with the result type of the transpose. Because both ops are DPS we can
just reuse the destination of the transpose.
Additionally cleans up a bunch of trailing whitespace in the test file.
Commit: 8cde1cfc60e36a1b4f632d00810983f0a7eb5462
https://github.com/llvm/llvm-project/commit/8cde1cfc60e36a1b4f632d00810983f0a7eb5462
Author: Jake Egan <Jake.egan at ibm.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/test/CMakeLists.txt
A llvm/test/CodeGen/PowerPC/git_revision.ll
M llvm/test/CodeGen/PowerPC/lit.local.cfg
M llvm/test/lit.site.cfg.py.in
Log Message:
-----------
[AIX] Add git revision to .file string (#88164)
If `LLVM_APPEND_VC_REV` is on, add the git revision to the `.file`
string. The revision can be set with `LLVM_FORCE_VC_REVISION`.
Before:
`.file "git_revision.cpp",,"LLVM version 19.0.0git"`
After:
`.file "git_revision.cpp",,"LLVM version 19.0.0git (LLVM_REVISION)"`
Commit: 986f832cff9cfdd9fa6addfadcd93206636311ef
https://github.com/llvm/llvm-project/commit/986f832cff9cfdd9fa6addfadcd93206636311ef
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/Dialect/FIRTypes.td
M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
M flang/lib/Optimizer/CodeGen/PreCGRewrite.cpp
M flang/lib/Optimizer/CodeGen/TypeConverter.cpp
M flang/lib/Optimizer/Dialect/FIRType.cpp
M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
A flang/test/Fir/dummy-scope-codegen.fir
A flang/test/Fir/dummy_scope.fir
M flang/test/HLFIR/declare-codegen.fir
A flang/test/HLFIR/dummy_scope.fir
M flang/unittests/Optimizer/FortranVariableTest.cpp
Log Message:
-----------
[flang] Added fir.dummy_scope operation to preserve dummy arguments association. (#90642)
The new operation is just an abstract attribute that is attached to
[hl]fir.declare operations of dummy arguments of a subroutine.
Dummy arguments of the same subroutine refer to the same
fir.dummy_scope, so they can be recognized as such during FIR AliasAnalysis.
Note that the fir.dummy_scope must be specific to the runtime
instantiation of a subroutine, so any MLIR inlining/cloning should duplicate and
unique it vs using the same fir.dummy_scope for different runtime instantiations.
This is why I made it an operation rather than an attribute.
The new operation uses a write effect on DebuggingResource, same as
[hl]fir.declare, to avoid optimizing it away.
Commit: b1b1bfa7bea0ce489b5ea9134e17a43c695df5ec
https://github.com/llvm/llvm-project/commit/b1b1bfa7bea0ce489b5ea9134e17a43c695df5ec
Author: Wei Wang <apollo.mobility at gmail.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M clang/test/CodeGenCoroutines/coro-elide-thinlto.cpp
Log Message:
-----------
[Coroutines][Test] Only run coro-elide-thinlto under x86_64-linux (#90672)
Previous fix #90549 didn't completely address the Buildbot failures.
Some target may not recognize the target triple. This time, only run the
test under x86_64-linux.
Commit: 63a29693011048b472205022319c6769b244a5ba
https://github.com/llvm/llvm-project/commit/63a29693011048b472205022319c6769b244a5ba
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M cross-project-tests/debuginfo-tests/llvm-prettyprinters/gdb/mlir-support.cpp
Log Message:
-----------
[cross-project-tests] Update code to use mlir::cast (NFC)
/llvm-project/cross-project-tests/debuginfo-tests/llvm-prettyprinters/gdb/mlir-support.cpp:41:16:
error: 'cast' is deprecated: Use mlir::cast<U>() instead [-Werror,-Wdeprecated-declarations]
VectorType.cast<mlir::ShapedType>(), llvm::ArrayRef<float>{2.0f, 3.0f});
^
/llvm-project/llvm/../mlir/include/mlir/IR/Types.h:345:9: note: 'cast' has been explicitly marked deprecated here
U Type::cast() const {
^
/llvm-project/cross-project-tests/debuginfo-tests/llvm-prettyprinters/gdb/mlir-support.cpp:41:16:
error: 'cast<mlir::ShapedType>' is deprecated: Use mlir::cast<U>() instead [-Werror,-Wdeprecated-declarations]
VectorType.cast<mlir::ShapedType>(), llvm::ArrayRef<float>{2.0f, 3.0f});
^
/llvm-project/llvm/../mlir/include/mlir/IR/Types.h:112:5: note: 'cast<mlir::ShapedType>' has been explicitly marked deprecated here
[[deprecated("Use mlir::cast<U>() instead")]]
^
2 errors generated.
Commit: ef1dbcd60f81dafd777355ffd675e1bb73358d77
https://github.com/llvm/llvm-project/commit/ef1dbcd60f81dafd777355ffd675e1bb73358d77
Author: jofrn <jofernau at amd.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/lib/Support/Windows/Signals.inc
Log Message:
-----------
[Windows] Restrict searchpath of dbghelp.dll to System32 (#90520)
LoadLibraryW will lookup dlls in user directories if its search path is
left unrestricted. This is a security vulnerability as one can name a
shared library the same as that of a system dll in order to run
arbitrary code when the shared library is loaded from the path in a user
directory. This change modifies it to only search within sys32 when
loading dbghelp.dll.
Commit: 86e5d6f1d83279557170c0b8e8a6a1ec6e4414d2
https://github.com/llvm/llvm-project/commit/86e5d6f1d83279557170c0b8e8a6a1ec6e4414d2
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M flang/include/flang/Common/Fortran.h
M flang/lib/Common/Fortran.cpp
M flang/lib/Evaluate/characteristics.cpp
M flang/lib/Semantics/check-call.cpp
M flang/test/Semantics/cuf13.cuf
Log Message:
-----------
[flang][cuda] Update attribute compatibily check for unified matching rule (#90679)
This patch updates the compatibility checks for CUDA attribute iin
preparation to implement the matching rules described in section 3.2.3.
We this patch the compiler will still emit an error when there is
multiple specific procedures that matches since the matching distances
is not yet implemented. This will be done in a separate patch.
https://docs.nvidia.com/hpc-sdk/archive/24.3/compilers/cuda-fortran-prog-guide/index.html#cfref-var-attr-unified-data
gpu=unified and gpu=managed are not part of this patch since these
options are not recognized by flang yet.
Commit: 8e9b1e9aa83b44fad44954bbd01c824def2b190f
https://github.com/llvm/llvm-project/commit/8e9b1e9aa83b44fad44954bbd01c824def2b190f
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Fix a bug in annotating struct braces (#90555)
Fixes #60040.
Commit: 306ae14face205e1bf2557ca2443c781b1d862f5
https://github.com/llvm/llvm-project/commit/306ae14face205e1bf2557ca2443c781b1d862f5
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M flang/include/flang/Common/Fortran.h
M flang/lib/Common/Fortran.cpp
M flang/lib/Evaluate/characteristics.cpp
M flang/lib/Semantics/check-call.cpp
M flang/test/Semantics/cuf13.cuf
Log Message:
-----------
Revert "[flang][cuda] Update attribute compatibily check for unified matching rule" (#90696)
Reverts llvm/llvm-project#90679
Commit: 410d6350eda322de213941b36adcdab13a0b557b
https://github.com/llvm/llvm-project/commit/410d6350eda322de213941b36adcdab13a0b557b
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M clang/lib/AST/ExprClassification.cpp
M clang/lib/Sema/TreeTransform.h
M clang/test/SemaCXX/cxx2c-pack-indexing.cpp
Log Message:
-----------
[Sema] Avoid an undesired pack expansion while transforming PackIndexingType (#90195)
A pack indexing type can appear in a larger pack expansion, e.g
`Pack...[pack_of_indexes]...` so we need to temporarily disable
substitution of pack elements.
Besides, this patch also fixes an assertion failure in
`PackIndexingExpr::classify`: dependent `PackIndexingExpr`s are always
LValues and thus we don't need to consider their `IndexExpr`s.
Fixes https://github.com/llvm/llvm-project/issues/88925
---------
Co-authored-by: cor3ntin <corentinjabot at gmail.com>
Commit: 240592a772a40b4ffa75921f7b555d2a969b3383
https://github.com/llvm/llvm-project/commit/240592a772a40b4ffa75921f7b555d2a969b3383
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedCallArgsChecker.cpp
M clang/test/Analysis/Checkers/WebKit/call-args-wtf-containers.cpp
M clang/test/Analysis/Checkers/WebKit/mock-types.h
Log Message:
-----------
[alpha.webkit.UncountedCallArgsChecker] Ignore methods of WTF String classes. (#90180)
Commit: 3e930864eb39a81598fa03e539552e1664cdb989
https://github.com/llvm/llvm-project/commit/3e930864eb39a81598fa03e539552e1664cdb989
Author: Valentin Clement <clementval at gmail.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M flang/include/flang/Common/Fortran.h
M flang/lib/Common/Fortran.cpp
M flang/lib/Evaluate/characteristics.cpp
M flang/lib/Semantics/check-call.cpp
M flang/test/Semantics/cuf13.cuf
Log Message:
-----------
Reland [flang][cuda] Update attribute compatibily check for unified matching rule
Commit: 0632cb38a62ca695c88b9c7370a9157a76b9e947
https://github.com/llvm/llvm-project/commit/0632cb38a62ca695c88b9c7370a9157a76b9e947
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.h
M flang/lib/Optimizer/CodeGen/FIROpPatterns.cpp
M flang/test/Lower/OpenMP/delayed-privatization-allocatable-private.f90
Log Message:
-----------
[flang][MLIR] Outline deallocation logic to `omp.private` ops (#90592)
When delayed privatization is enabled, this PR emits the deallocation
logic to the newly introduced `dealloc` region on `omp.private` ops.
Commit: 93b9b7c4c1f6c6c1887763daccaa439b2a3b4d5f
https://github.com/llvm/llvm-project/commit/93b9b7c4c1f6c6c1887763daccaa439b2a3b4d5f
Author: Luke Lau <luke at igalia.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.mir
Log Message:
-----------
[RISCV] Add CHECK lines for test added in 7840fa9. NFC
Commit: bafc5f42c0132171287d7cba7f5c14459be1f7b7
https://github.com/llvm/llvm-project/commit/bafc5f42c0132171287d7cba7f5c14459be1f7b7
Author: Wei Wang <apollo.mobility at gmail.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/test/Other/new-pm-defaults.ll
Log Message:
-----------
[Pipelines][Coroutines] Tune coroutine passes only for ThinLTO pre-link pipeline (#90690)
Follow up to #90310, limit the tune up only to ThinLTO pre-link as
coroutine passes are not in MonoLTO backend
Commit: 0fb50371a108d27394bb76adf8cffe944ab904cd
https://github.com/llvm/llvm-project/commit/0fb50371a108d27394bb76adf8cffe944ab904cd
Author: Franklin Zhang <zhangfenglei at huawei.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/lib/IR/BasicBlock.cpp
M llvm/unittests/IR/BasicBlockDbgInfoTest.cpp
Log Message:
-----------
[RemoveDIs] Fix SIGSEGV caused by splitBasicBlock (#90312)
See `llvm/unittests/IR/BasicBlockDbgInfoTest.cpp` for a test case.
Commit: 3684a38d33d7643fe8c3a870006efa8677ac37f8
https://github.com/llvm/llvm-project/commit/3684a38d33d7643fe8c3a870006efa8677ac37f8
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedCallArgsChecker.cpp
M clang/test/Analysis/Checkers/WebKit/call-args-wtf-containers.cpp
M clang/test/Analysis/Checkers/WebKit/mock-types.h
Log Message:
-----------
Revert "[alpha.webkit.UncountedCallArgsChecker] Ignore methods of WTF String classes." (#90701)
Reverts llvm/llvm-project#90180
Commit: 74aa1abfaec64e45a402f4601f9c228113fc0bbb
https://github.com/llvm/llvm-project/commit/74aa1abfaec64e45a402f4601f9c228113fc0bbb
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1sb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1sh.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1sw.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1ub.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1uh.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1uw.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1b.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1h.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1w.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_ld1.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_ld1_single.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_ldnt1.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_loads.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_st1.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_st1_single.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_stnt1.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_store.c
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Analysis/ValueTracking/phi-known-bits.ll
M llvm/test/Transforms/InstCombine/gep-vector.ll
M llvm/test/Transforms/InstCombine/gepofconstgepi8.ll
M llvm/test/Transforms/InstCombine/icmp-gep.ll
M llvm/test/Transforms/InstCombine/opaque-ptr.ll
M llvm/test/Transforms/InstCombine/scalable-vector-array.ll
M llvm/test/Transforms/InstCombine/vscale_gep.ll
Log Message:
-----------
[InstCombine] Canonicalize scalable GEPs to use llvm.vscale intrinsic (#90569)
Canonicalize getelementptr instructions for scalable vector types into
ptradd representation with an explicit llvm.vscale call. This
representation has better support in BasicAA, which can reason about
llvm.vscale, but not plain scalable GEPs.
Commit: d392520c645b653cd9c2ce944958fb115c4ba506
https://github.com/llvm/llvm-project/commit/d392520c645b653cd9c2ce944958fb115c4ba506
Author: Luke Lau <luke at igalia.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.mir
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert.mir
Log Message:
-----------
[RISCV] Convert vsetvli mir tests to use $noreg instead of implicit_def. NFC
This matches what comes out of isel since
a63bd7e99b00c6c970f38ea596f708e42b8c98e5. It also adds the undef flag to
more closely match the output after regalloc, which will help with the test
diffs in #70549
Commit: cd46c2c1ba0481e2194231f0f2c2ceeb0810bb79
https://github.com/llvm/llvm-project/commit/cd46c2c1ba0481e2194231f0f2c2ceeb0810bb79
Author: Owen Anderson <resistor at mac.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/include/llvm/Support/Allocator.h
Log Message:
-----------
Tweak BumpPtrAllocator to benefit the hot path (#90571)
This takes the form of three consecutive but related changes:
- Mark the fast path of BumpPtrAllocator as likely-taken.
- Move the slow path of BumpPtrAllocator to a separate function.
- Mark the slow path of BumpPtrAllocator as noinline.
Overall, this saves geomean 0.4% userspace instructions on CTMark -O3,
and 0.98% on CTMark -O0 -g.
http://llvm-compile-time-tracker.com/compare.php?from=e1622e189e8c0ef457bfac528f90a7a930d9aad2&to=9eb53a4ed3af4a55e769ae1dd22d034b63d046e3&stat=instructions%3Au
Commit: 23f0f7bda0c16fa4a2ddb4ef60d5d146dbfac572
https://github.com/llvm/llvm-project/commit/23f0f7bda0c16fa4a2ddb4ef60d5d146dbfac572
Author: David Green <david.green at arm.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/sve-reassocadd.ll
Log Message:
-----------
[AArch64] Additional tests for negative SVE addressing modes. NFC
Commit: 14b66fe5f36aaad627baa7f624a4997a7956d51a
https://github.com/llvm/llvm-project/commit/14b66fe5f36aaad627baa7f624a4997a7956d51a
Author: CarolineConcatto <caroline.concatto at arm.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/test/MC/AArch64/SME2/zip-diagnostics.s
Log Message:
-----------
[AArch64][MC]Add diagnostic message for Multiple of 2/4 for ZPR128 (#90600)
This patch fix the crash reported in:
https://github.com/llvm/llvm-project/issues/90589
Commit: 0c42fa361d57c1f04a1026a83aceec1568baa2f7
https://github.com/llvm/llvm-project/commit/0c42fa361d57c1f04a1026a83aceec1568baa2f7
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M lldb/docs/resources/lldbgdbremote.md
M lldb/docs/resources/lldbplatformpackets.md
Log Message:
-----------
[lldb][Docs] Sort documented packets alphabetically (#90584)
For the platform and extension doc.
Also add links in the extension doc to the GDB specs we're extending.
Commit: 9a9cff15a15b103ae1dc1efa98b53901cdda78f1
https://github.com/llvm/llvm-project/commit/9a9cff15a15b103ae1dc1efa98b53901cdda78f1
Author: Ivan Murashko <ivan.murashko at gmail.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M clang/lib/Serialization/ASTReader.cpp
A clang/test/Modules/implicit-module-no-timestamp.cpp
Log Message:
-----------
[Modules] Process include files changes (#90319)
There were two diffs that introduced some options useful when you build
modules externally and cannot rely on file modification time as the key
for detecting input file changes:
- [D67249](https://reviews.llvm.org/D67249) introduced the
`-fmodules-validate-input-files-content` option, which allows the use of
file content hash in addition to the modification time.
- [D141632](https://reviews.llvm.org/D141632) propagated the use of
`-fno-pch-timestamps` with Clang modules.
There is a problem when the size of the input file (header) is not
modified but the content is. In this case, Clang cannot detect the file
change when the `-fno-pch-timestamps` option is used. The
`-fmodules-validate-input-files-content` option should help, but there
is an issue with its application: it's not applied when the modification
time is stored as zero that is the case for `-fno-pch-timestamps`.
The issue can be fixed using the same trick that was applied during the
processing of `ForceCheckCXX20ModulesInputFiles`:
```
// When ForceCheckCXX20ModulesInputFiles and ValidateASTInputFilesContent
// enabled, it is better to check the contents of the inputs. Since we can't
// get correct modified time information for inputs from overriden inputs.
if (HSOpts.ForceCheckCXX20ModulesInputFiles && ValidateASTInputFilesContent &&
F.StandardCXXModule && FileChange.Kind == Change::None)
FileChange = HasInputContentChanged(FileChange);
```
The patch suggests the solution similar to the presented above and
includes a LIT test to verify it.
Commit: 7565b20b50b254a72efa9d505e92be65c664b1b2
https://github.com/llvm/llvm-project/commit/7565b20b50b254a72efa9d505e92be65c664b1b2
Author: Lang Hames <lhames at gmail.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/ObjectLinkingLayer.h
M llvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp
Log Message:
-----------
[ORC] Switch ObjectLinkingLayer::Plugins to shared ownership, copy pipeline.
Previously ObjectLinkingLayer held unique ownership of Plugins, and links
always used the Layer's plugin list at each step. This can cause problems if
plugins are added while links are in progress however, as the newly added
plugin may receive only some of the callbacks for links that are already
running.
In this patch each link gets its own copy of the pipeline that remains
consistent throughout the link's lifetime, and it is guaranteed that Plugin
objects (now with shared ownership) will remain valid until the link completes.
Coding my way home: 9.80469S, 139.03167W
Commit: 3a3bdd8fb63ffb49741a9c32b3a5a789ce4c3b91
https://github.com/llvm/llvm-project/commit/3a3bdd8fb63ffb49741a9c32b3a5a789ce4c3b91
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ExprCXX.h
M clang/lib/AST/Expr.cpp
M clang/test/SemaCXX/destructor.cpp
Log Message:
-----------
[clang] Fix crash when destructor definition is preceded with '=' (#90220)
Fixes #89544
Commit: eb6097a79e79d03dfc758cc6e79110cbac66d800
https://github.com/llvm/llvm-project/commit/eb6097a79e79d03dfc758cc6e79110cbac66d800
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M lldb/docs/use/tutorial.rst
Log Message:
-----------
[lldb][Docs] Various style improvements to the tutorial (#90594)
* Replace "we" with either "you" (when talking to the reader) or "lldb"
(when talking about the project).
* Refer to lldb as lldb not LLDB, to match what the user sees on
the command line (I am going to come back later and put the proper name in places where it's talking about the projects themselves)
* Remove a bunch of contractions for example "won't". Which don't (pun
intended) seem like a big deal at first but even I as a native English
speaker find the text clearer with them expanded.
* Use RST's plain text highlighting for keywords and command names.
* Split some very long lines for easier editing in future.
Commit: 9bebf25ecbe6a8720dd581bd2a4f8d29aa763a42
https://github.com/llvm/llvm-project/commit/9bebf25ecbe6a8720dd581bd2a4f8d29aa763a42
Author: Ivan Kosarev <ivan.kosarev at amd.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
Log Message:
-----------
[AMDGPU][AsmParser][NFC] Generate NamedIntOperand predicates automatically. (#90576)
Part of <https://github.com/llvm/llvm-project/issues/62629>.
Commit: fdf206c10ccea9dd5bd3d7eeb1381f305f972e52
https://github.com/llvm/llvm-project/commit/fdf206c10ccea9dd5bd3d7eeb1381f305f972e52
Author: Paul Walker <paul.walker at arm.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/active_lane_mask.ll
Log Message:
-----------
[LLVM][SVE] Improve legalisation of fixed length get.active.lane.mask (#90213)
We are effectively performing type and operation legalisation very early
within the code generation flow. This results in worse code quality
because the DAG is not in canonical form, which DAGCombiner corrects
through the introduction of operations that are not legal.
This patchs splits and moves the code to where type and operation
legalisation is typically implemented.
Commit: 0b21b25eac0f7548eca8db0ddb2359268c91bc98
https://github.com/llvm/llvm-project/commit/0b21b25eac0f7548eca8db0ddb2359268c91bc98
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
M llvm/test/CodeGen/AMDGPU/memory-legalizer-fence.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-agent.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-lastuse.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-nontemporal.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-singlethread.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-system.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-volatile.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-wavefront.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-workgroup.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-agent.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-lastuse.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-nontemporal.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-singlethread.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-system.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-volatile.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-wavefront.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-workgroup.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-agent.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-nontemporal.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-singlethread.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-system.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-volatile.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-wavefront.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-workgroup.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-private-lastuse.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-private-nontemporal.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-private-volatile.ll
Log Message:
-----------
[AMDGPU] Do not optimize away pre-existing waitcnt instructions at -O0 (#90716)
The autogenerated memory legalizer tests use -O0 so this allows us to
see the exact waitcnts that were inserted by the memory legalizer
without them being optimized away.
Commit: 582c6a82b4bc2ac5cbff803960eeb022bff10168
https://github.com/llvm/llvm-project/commit/582c6a82b4bc2ac5cbff803960eeb022bff10168
Author: Youngsuk Kim <youngsuk.kim at hpe.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/include/llvm/CodeGen/MachineScheduler.h
Log Message:
-----------
[llvm] Remove unused constructor (NFC)
Closes #89193
Commit: 5fb1e2825f0a550ee0509fd3b8c6d19c6e0fc082
https://github.com/llvm/llvm-project/commit/5fb1e2825f0a550ee0509fd3b8c6d19c6e0fc082
Author: David Stuttard <david.stuttard at amd.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.barrier.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.barrier.wait.ll
Log Message:
-----------
[AMDGPU] Enhance s_waitcnt insertion before barrier for gfx12 (#90595)
Code to determine if a waitcnt is required before a barrier instruction
only
considered S_BARRIER.
gfx12 adds barrier_signal/wait so need to enhance the existing code to
look for
a barrier start (which is just an S_BARRIER for earlier architectures).
Commit: f898161bfa95723954a273a519180e070a5ccd2e
https://github.com/llvm/llvm-project/commit/f898161bfa95723954a273a519180e070a5ccd2e
Author: David Stuttard <david.stuttard at amd.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
A llvm/test/CodeGen/AMDGPU/waitcnt-sample-waw.mir
Log Message:
-----------
[AMDGPU] Fix image_msaa_load waitcnt insertion for pre-gfx12 (#90710)
https://github.com/llvm/llvm-project/pull/90201 made some fixes for
gfx12
image_msaa_load waitcnt insertion.
That fix might break in some situations for pre-gfx12 - this fixes that
by
explitly checking for VSAMPLE which always requires a s_wait_samplecnt
and
leaves the previous logic intact for non-gfx12.
Commit: ccb198dc62d3dad50aa26140a3e899ff5694dca2
https://github.com/llvm/llvm-project/commit/ccb198dc62d3dad50aa26140a3e899ff5694dca2
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-and-combine.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-bit-counting.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-bitcast.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-bitselect.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-build-vector.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-concat.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-ext-loads.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-extract-subvector.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-extract-vector-elt.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fcopysign.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-arith.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-compares.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-convert.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-extend-trunc.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-fma.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-minmax.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-reduce-fa64.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-reduce.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-rounding.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-select.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-to-int.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-vselect.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-insert-vector-elt.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-arith.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-compares.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-div.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-extends.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-immediates.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-log.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-minmax.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-mla-neon-fa64.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-mulh.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-reduce.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-rem.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-select.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-shifts.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-to-fp.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-vselect.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-limit-duplane.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-loads.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-log-reduce.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-masked-load.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-masked-store.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-optimize-ptrue.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-permute-rev.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-permute-zip-uzp-trn.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-ptest.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-rev.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-sdiv-pow2.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-splat-vector.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-stores.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-subvector.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-trunc-stores.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-trunc.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-vector-shuffle.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-test-register-mov.ll
Log Message:
-----------
[AArch64] NFC: Add RUN lines for streaming-compatible code. (#90617)
The intent is to test lowering of vector operations by scalarization,
for functions that are streaming-compatible (and thus cannot use NEON)
and also don't have the +sve attribute.
The generated code is clearly wrong at the moment, but a series of
patches will follow to fix up all cases to use scalar instructions.
A bit of context:
This work will form the base to decouple SME from SVE later on, as it
will make sure that no NEON instructions are used in
streaming[-compatible] mode. Later this will be followed by a patch that
changes `useSVEForFixedLengthVectors` to only return `true` if SVE is
available for the given runtime mode, at which point I'll change the
`-mattr=+sme -force-streaming-compatible-sve` to `-mattr=+sme
-force-streaming-sve` in the RUN lines, so that the tests are considered
to be executed in Streaming-SVE mode.
Commit: 803e03fbb7cd97461f349fb6e235592681fc1e6c
https://github.com/llvm/llvm-project/commit/803e03fbb7cd97461f349fb6e235592681fc1e6c
Author: Youngsuk Kim <youngsuk.kim at hpe.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/include/llvm/CodeGen/MachineScheduler.h
Log Message:
-----------
[llvm] Revive constructor of 'ResourceSegments'
582c6a82b4bc2ac5cbff803960eeb022bff10168 removed a constructor of
'ResourceSegments' that is needed in LLVM unit tests.
* Revert 582c6a82b4bc2ac5cbff803960eeb022bff10168
* Update the constructor to take a const reference of
`std::list` as pointed out in #89193.
Commit: 67e726a2f73964740e319d554c354a4227f29375
https://github.com/llvm/llvm-project/commit/67e726a2f73964740e319d554c354a4227f29375
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/RISCV/strided-stores-vectorized.ll
Log Message:
-----------
[SLP]Transform stores + reverse to strided stores with stride -1, if profitable.
Adds transformation of consecutive vector store + reverse to strided
stores with stride -1, if it is profitable
Reviewers: RKSimon, preames
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/90464
Commit: 576261ac8f803e5142fd8634805e48d0063de4e1
https://github.com/llvm/llvm-project/commit/576261ac8f803e5142fd8634805e48d0063de4e1
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/RISCV/complex-loads.ll
M llvm/test/Transforms/SLPVectorizer/X86/addsub.ll
M llvm/test/Transforms/SLPVectorizer/X86/entries-different-vf.ll
M llvm/test/Transforms/SLPVectorizer/X86/extract-many-users-buildvector.ll
M llvm/test/Transforms/SLPVectorizer/X86/extract-scalar-from-undef.ll
M llvm/test/Transforms/SLPVectorizer/X86/extractelement-single-use-many-nodes.ll
M llvm/test/Transforms/SLPVectorizer/X86/horizontal-minmax.ll
M llvm/test/Transforms/SLPVectorizer/X86/operandorder.ll
M llvm/test/Transforms/SLPVectorizer/X86/postponed_gathers.ll
M llvm/test/Transforms/SLPVectorizer/X86/replaced-external-in-reduction.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias_external_insert_shuffled.ll
M llvm/test/Transforms/SLPVectorizer/slp-umax-rdx-matcher-crash.ll
Log Message:
-----------
[SLP]Improve reordering for consts, splats and ops from same nodes + improved analysis.
Improved detection of const/splat candidates, their matching and analysis of instructions from same nodes.
Metric: size..text
Program size..text
results results0 diff
results results0 diff
test-suite :: MultiSource/Benchmarks/DOE-ProxyApps-C++/miniFE/miniFE.test 92952.00 93096.00 0.2%
test-suite :: External/SPEC/CINT2006/464.h264ref/464.h264ref.test 779832.00 780136.00 0.0%
test-suite :: MultiSource/Applications/JM/lencod/lencod.test 839923.00 840179.00 0.0%
test-suite :: MultiSource/Applications/JM/ldecod/ldecod.test 392708.00 392740.00 0.0%
test-suite :: External/SPEC/CFP2017rate/511.povray_r/511.povray_r.test 1171131.00 1171147.00 0.0%
test-suite :: External/SPEC/CFP2017rate/538.imagick_r/538.imagick_r.test 1391089.00 1391073.00 -0.0%
test-suite :: External/SPEC/CFP2017speed/638.imagick_s/638.imagick_s.test 1391089.00 1391073.00 -0.0%
test-suite :: External/SPEC/CFP2017rate/526.blender_r/526.blender_r.test 12352780.00 12352636.00 -0.0%
MultiSource/Benchmarks/DOE-ProxyApps-C++/miniFE/miniFE - small
reordering
External/SPEC/CINT2006/464.h264ref/464.h264ref - small better code after
reordering
MultiSource/Applications/JM/lencod/lencod - smaller code with less
shuffles
MultiSource/Applications/JM/ldecod/ldecod - same
External/SPEC/CFP2017rate/511.povray_r/511.povray_r - 2 extra loads
vectorized, smaller code
External/SPEC/CFP2017rate/538.imagick_r/538.imagick_r - better code,
size increased because of more constant vectors.
External/SPEC/CFP2017speed/638.imagick_s/638.imagick_s - same
External/SPEC/CFP2017rate/526.blender_r/526.blender_r - small change in
the vectorized code, some code a bit better, some a bit worse.
Reviewers: RKSimon
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/87091
Commit: 442990b93773a6f1fb9e675c3919734fe2846dac
https://github.com/llvm/llvm-project/commit/442990b93773a6f1fb9e675c3919734fe2846dac
Author: Nico Weber <thakis at chromium.org>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/test/BUILD.gn
Log Message:
-----------
[gn] port 8cde1cfc60e3 (LLVM_APPEND_VC_REV for lit)
Commit: df241b19c952b904eec755d9f090737aed437986
https://github.com/llvm/llvm-project/commit/df241b19c952b904eec755d9f090737aed437986
Author: Sean Perry <39927768+perry-ca at users.noreply.github.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M clang/lib/Headers/CMakeLists.txt
M clang/lib/Headers/builtins.h
M clang/lib/Headers/float.h
M clang/lib/Headers/inttypes.h
M clang/lib/Headers/iso646.h
M clang/lib/Headers/limits.h
M clang/lib/Headers/stdalign.h
M clang/lib/Headers/stdarg.h
M clang/lib/Headers/stdbool.h
M clang/lib/Headers/stddef.h
M clang/lib/Headers/stdint.h
M clang/lib/Headers/stdnoreturn.h
M clang/lib/Headers/varargs.h
A clang/lib/Headers/zos_wrappers/builtins.h
Log Message:
-----------
[z/OS] add support for z/OS system headers to clang std header wrappers (#89995)
Update the wrappers for the C std headers so that they always forward to
the z/OS system headers.
Commit: 088aa81a545421933254f19cd3c8914a0373b493
https://github.com/llvm/llvm-project/commit/088aa81a545421933254f19cd3c8914a0373b493
Author: Matt Devereau <matthew.devereau at arm.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/CMakeLists.txt
M llvm/cmake/config-ix.cmake
M llvm/include/llvm/ADT/APFloat.h
M llvm/include/llvm/ADT/APInt.h
M llvm/include/llvm/Config/llvm-config.h.cmake
A llvm/include/llvm/Support/float128.h
M llvm/lib/Analysis/CMakeLists.txt
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Support/APFloat.cpp
M llvm/test/CMakeLists.txt
M llvm/test/lit.cfg.py
M llvm/test/lit.site.cfg.py.in
M llvm/unittests/Analysis/CMakeLists.txt
Log Message:
-----------
Constant Fold logf128 calls
This is a second attempt to land #84501 which failed on several targets.
This patch adds the HAS_IEE754_FLOAT128 define which makes the check for
typedef'ing float128 more precise by checking whether __uint128_t is available
and checking if the host does not use __ibm128 which is prevalent on power pc
targets and replaces IEEE754 float128s.
Commit: 57d0d3b4d638d170035f55d79f0202f1042de345
https://github.com/llvm/llvm-project/commit/57d0d3b4d638d170035f55d79f0202f1042de345
Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M flang/lib/Lower/Bridge.cpp
M flang/test/Lower/OpenMP/cfg-conversion-omp.private.f90
M flang/test/Lower/OpenMP/delayed-privatization-allocatable-private.f90
M flang/test/Lower/OpenMP/parallel-private-clause-fixes.f90
Log Message:
-----------
[Flang][OpenMP] Handle more character allocatable cases in privatization (#90449)
Fixes #84732, #81947, #81946
Note: This is a fix till we enable delayed privatization.
Commit: 68b863b7fa68a196bcc02d12c028dea7dcd9b97b
https://github.com/llvm/llvm-project/commit/68b863b7fa68a196bcc02d12c028dea7dcd9b97b
Author: Nico Weber <thakis at chromium.org>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn
M llvm/utils/gn/secondary/llvm/test/BUILD.gn
Log Message:
-----------
[gn] port 088aa81a5454 (LLVM_HAS_LOGF128)
If we want to turn this on on some platforms, we'll also want to
define HAS_LOGF128 for AnalysisTest, see
llvm/unittests/Analysis/CMakeLists.txt
Commit: 034912d583617a7029c8efaade4422eaa4593f8c
https://github.com/llvm/llvm-project/commit/034912d583617a7029c8efaade4422eaa4593f8c
Author: Fanbo Meng <fanbo.meng at ibm.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/CMakeLists.txt
Log Message:
-----------
[SystemZ][z/OS] Build in ASCII 64 bit mode on z/OS (#90630)
Setting the correct build flags on z/OS to build LLVM as 64-bit ASCII
application.
Commit: efce8a05aa4ef0353e73e63d270a22773e090e75
https://github.com/llvm/llvm-project/commit/efce8a05aa4ef0353e73e63d270a22773e090e75
Author: Matt Devereau <matthew.devereau at arm.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/CMakeLists.txt
M llvm/cmake/config-ix.cmake
M llvm/include/llvm/ADT/APFloat.h
M llvm/include/llvm/ADT/APInt.h
M llvm/include/llvm/Config/llvm-config.h.cmake
R llvm/include/llvm/Support/float128.h
M llvm/lib/Analysis/CMakeLists.txt
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Support/APFloat.cpp
M llvm/test/CMakeLists.txt
M llvm/test/lit.cfg.py
M llvm/test/lit.site.cfg.py.in
M llvm/unittests/Analysis/CMakeLists.txt
Log Message:
-----------
Revert "Constant Fold logf128 calls"
This reverts commit 088aa81a545421933254f19cd3c8914a0373b493.
Commit: 9ebf2f8a67cce570d0752556fed23ff2803aef33
https://github.com/llvm/llvm-project/commit/9ebf2f8a67cce570d0752556fed23ff2803aef33
Author: Nico Weber <thakis at chromium.org>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn
M llvm/utils/gn/secondary/llvm/test/BUILD.gn
Log Message:
-----------
Revert "[gn] port 088aa81a5454 (LLVM_HAS_LOGF128)"
This reverts commit 68b863b7fa68a196bcc02d12c028dea7dcd9b97b.
088aa81a5454 was reverted in efce8a05aa4e.
Commit: 0647b2a3caed3215588477dfc7aaa6bd3b4f8076
https://github.com/llvm/llvm-project/commit/0647b2a3caed3215588477dfc7aaa6bd3b4f8076
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn
Log Message:
-----------
[gn build] Port df241b19c952
Commit: e312f0723cebcfbc899b7b69538dfe86f426d0b4
https://github.com/llvm/llvm-project/commit/e312f0723cebcfbc899b7b69538dfe86f426d0b4
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M offload/CMakeLists.txt
Log Message:
-----------
[Offload] Fix CMake detection when it is not found (#90729)
Summary:
This variable could be unset if not found or when building standalone.
We should check for that and set it to true or false.
Fixes: https://github.com/llvm/llvm-project/issues/90708
Commit: 167b50669c03ad888bf2f00c61424bedac43a050
https://github.com/llvm/llvm-project/commit/167b50669c03ad888bf2f00c61424bedac43a050
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M libcxx/utils/ci/run-buildbot
Log Message:
-----------
[libcxx][ci] In picolib build, ask clang for the normalised triple (#90722)
This is needed for a workaround to make sure the link later succeeds. I
don't know the reason for that but it is definitely needed.
https://github.com/llvm/llvm-project/pull/89234 will/wants to correct
the triple normalisation for -none- and this means that clang prior to
19, and clang 19 and above will have different answers and therefore
different library paths.
I don't want to bootstrap a clang just for libcxx CI, or require that
anyone building for Arm do the same, so ask the compiler what the triple
should be.
This will be compatible with 17 and 19 when we do update to that
version.
I'm assuming $CC is what anyone locally would set to override the
compiler, and `cc` is the binary name in our CI containers. It's not
perfect but it should cover most use cases.
Commit: cfca977427230e1731c8552810785ebdd09ca605
https://github.com/llvm/llvm-project/commit/cfca977427230e1731c8552810785ebdd09ca605
Author: Tomas Matheson <Tomas.Matheson at arm.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/cmake/modules/LLVMConfig.cmake.in
M llvm/include/llvm/TargetParser/AArch64TargetParser.h
M llvm/lib/Target/AArch64/AArch64Features.td
M llvm/lib/Target/ARM/ARMFeatures.td
M llvm/utils/TableGen/ARMTargetDefEmitter.cpp
Log Message:
-----------
[AArch64][TargetParser] autogen ArchExtKind enum (#90314)
Re-land 61b2a0e3336aaa0132bbed06dc185aca4ff5d2db. Some Windows builds
were failing because AArch64TargetParserDef.inc is a generated header
which is included transitively into some clang components, but this
information is not available to the build system and therefore there is
a missing edge in the dependency graph. This patch incorporates the
fixes described in ac1ffd3caca12c254e0b8c847aa8ce8e51b6cfbf/D142403.
Thanks to ExtensionSet::toLLVMFeatureList, all values of ArchExtKind
should correspond to a particular -target-feature. The valid values of
-target-feature are in turn defined by SubtargetFeature defs.
Therefore we can generate ArchExtKind from the tablegen data. This is
done by adding an Extension class which derives from SubtargetFeature.
Because the Has* FieldNames do not always correspond to the AEK_
names ("extensions", as defined in TargetParser), and AEK_ names do
not always correspond to -march strings, some additional enum entries
have been added to remap the names. I have renamed these to make the
naming consistent, but split them into a separate PR to keep the diff
reasonable (#90320)
Commit: f07a2edc64650f44bc592d74bb4c99ddde3772d3
https://github.com/llvm/llvm-project/commit/f07a2edc64650f44bc592d74bb4c99ddde3772d3
Author: Gleb Popov <6yearold at gmail.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M lldb/source/Plugins/SymbolLocator/Default/SymbolLocatorDefault.cpp
Log Message:
-----------
[lldb] Teach LocateExecutableSymbolFile to look into LOCALBASE on FreeBSD (#81355)
FreeBSD ports will now install debuginfo under $LOCALBASE/lib/debug/, where $LOCALBASE is typically /usr/local. On FreeBSD search this path in addition to existing debug info paths.
Relevant change on the FreeBSD side: https://reviews.freebsd.org/D43515
Commit: be5075ab8daf58a0e981e6bda9579a86fba9a748
https://github.com/llvm/llvm-project/commit/be5075ab8daf58a0e981e6bda9579a86fba9a748
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M clang/lib/CodeGen/CGCUDANV.cpp
M clang/test/CodeGenCUDA/kernel-stub-name.cu
Log Message:
-----------
[CUDA] make kernel stub ICF-proof (#90155)
MSVC linker merges functions having comdat which have identical set of
instructions. CUDA uses kernel stub function as key to look up kernels
in device executables. If kernel stub function for different kernels are
merged by ICF, incorrect kernels will be launched.
To prevent ICF from merging kernel stub functions, an unique global
variable is created for each kernel stub function having comdat and a
store is added to the kernel stub function. This makes the set of
instructions in each kernel function unique.
Fixes: https://github.com/llvm/llvm-project/issues/88883
Commit: f050660f4a60415cd840f7fba7ac3698c38376d0
https://github.com/llvm/llvm-project/commit/f050660f4a60415cd840f7fba7ac3698c38376d0
Author: jyu2-git <jennifer.yu at intel.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/lib/Parse/ParseOpenMP.cpp
M clang/test/OpenMP/target_ast_print.cpp
M clang/test/OpenMP/target_map_messages.cpp
Log Message:
-----------
[OpenMP][TR12] change property of map-type modifier. (#90499)
map-type change to "default" instead "ultimate" from [OpenMP5.2]
The change is allowed map-type to be placed any locations within map
modifiers, besides the last location in the modifiers-list, also
map-type can be omitted afterward.
Commit: 78270cb81bded99bebc6fd8d515bf7cbeff62db4
https://github.com/llvm/llvm-project/commit/78270cb81bded99bebc6fd8d515bf7cbeff62db4
Author: annamthomas <anna at azul.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
Log Message:
-----------
[UndefOrPoison] [CompileTime] Avoid IDom walk unless required. NFC (#90092)
If the value is not boolean and we are checking for `Undef` or
`UndefOrPoison`, we can avoid the potentially expensive IDom walk.
This should improve compile time for isGuaranteedNotToBeUndefOrPoison
and isGuaranteedNotToBeUndef.
Commit: e22ce615fe31a78857a8574c12a32bddc6da465e
https://github.com/llvm/llvm-project/commit/e22ce615fe31a78857a8574c12a32bddc6da465e
Author: Sean Perry <39927768+perry-ca at users.noreply.github.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M clang/tools/clang-format/ClangFormat.cpp
M llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp
M llvm/tools/llvm-cxxmap/llvm-cxxmap.cpp
M llvm/tools/yaml2obj/yaml2obj.cpp
M llvm/utils/lit/lit/builtin_commands/cat.py
M llvm/utils/lit/lit/llvm/config.py
Log Message:
-----------
[z/OS] treat text files as text files so auto-conversion is done (#90128)
To support auto-conversion on z/OS text files need to be opened as text files. These changes will fix a number of LIT failures due to text files not being converted to the internal code page.
update a number of tools so they open the text files as text files
add support in the cat.py to open a text file as a text file (Windows will continue to treat all files as binary so new lines are handled correctly)
add env var definitions to enable auto-conversion in the lit config file.
Commit: e83c6ddf46d088713a19d9a662ad8c30d5cd207d
https://github.com/llvm/llvm-project/commit/e83c6ddf46d088713a19d9a662ad8c30d5cd207d
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/RISCV/combined-loads-stored.ll
Log Message:
-----------
[SLP][NFC]Add a test with the non profitable masked gather loads.
Commit: 39e24bdd8ee5f7dd3cce4157167e41a48896e09f
https://github.com/llvm/llvm-project/commit/39e24bdd8ee5f7dd3cce4157167e41a48896e09f
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/lib/CodeGen/MachineLICM.cpp
M llvm/test/CodeGen/AMDGPU/global_atomics_i64_system.ll
A llvm/test/CodeGen/AMDGPU/machinelicm-copy-like-instrs.mir
M llvm/test/CodeGen/AMDGPU/optimize-negated-cond.ll
M llvm/test/CodeGen/Hexagon/expand-vstorerw-undef.ll
Log Message:
-----------
MachineLICM: Allow hoisting REG_SEQUENCE (#90638)
Commit: 0606747c9664b353fe592069c7b00067ba52d832
https://github.com/llvm/llvm-project/commit/0606747c9664b353fe592069c7b00067ba52d832
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
M llvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp
Log Message:
-----------
[AMDGPU] Remove some pointless fallthrough annotations
Commit: 92266885964f8a906a1b877932da1b0c5f0af7ee
https://github.com/llvm/llvm-project/commit/92266885964f8a906a1b877932da1b0c5f0af7ee
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
A mlir/test/Dialect/ArmSME/tile-allocation-liveness.mlir
Log Message:
-----------
[mlir][ArmSME] Add a tests showing liveness issues in the tile allocator (#90447)
This test shows a few cases (not at all complete) where the current
ArmSME tile allocator produces incorrect results. The plan is to resolve
these issues with a future tile allocator that uses liveness
information.
Commit: 167427f5db023308c2908b2e9a23d2de15527a07
https://github.com/llvm/llvm-project/commit/167427f5db023308c2908b2e9a23d2de15527a07
Author: Gang Chen <gangc at amd.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/non-entry-alloca.ll
M llvm/test/CodeGen/AMDGPU/cc-update.ll
M llvm/test/CodeGen/AMDGPU/kernel-vgpr-spill-mubuf-with-voffset.ll
M llvm/test/CodeGen/AMDGPU/non-entry-alloca.ll
Log Message:
-----------
[AMDGPU] change order of fp and sp in kernel prologue (#90626)
change order of fp and sp in kernel prologue also related codegen tests
to make it easier to merge code into our downstream branches
Signed-off-by: gangc <gangc at amd.com>
Commit: 2f01fd99eb8c8ab3db9aba72c4f00e31e9e60a05
https://github.com/llvm/llvm-project/commit/2f01fd99eb8c8ab3db9aba72c4f00e31e9e60a05
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/docs/ReleaseNotes.rst
M llvm/include/llvm/AsmParser/LLParser.h
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/IR/Function.cpp
M llvm/lib/IR/Module.cpp
M llvm/tools/llvm-as/llvm-as.cpp
M llvm/tools/llvm-dis/llvm-dis.cpp
M llvm/tools/llvm-link/llvm-link.cpp
M llvm/unittests/Analysis/IRSimilarityIdentifierTest.cpp
M llvm/unittests/IR/BasicBlockDbgInfoTest.cpp
M llvm/unittests/IR/DebugInfoTest.cpp
M llvm/unittests/IR/InstructionsTest.cpp
M llvm/unittests/Transforms/Utils/CloningTest.cpp
M llvm/unittests/Transforms/Utils/LocalTest.cpp
Log Message:
-----------
[RemoveDIs] Load into new debug info format by default in LLVM (#89799)
This patch enables parsing and creating modules directly into the new
debug info format. Prior to this patch, all modules were constructed
with the old debug info format by default, and would be converted into
the new format just before running LLVM passes. This is an important
milestone, in that this means that every tool will now be exposed to
debug records, rather than those that run LLVM passes. As far as I've
tested, all LLVM tools/projects now either handle debug records, or
convert them to the old intrinsic format.
There are a few unit tests that need updating for this patch; these are
either cases of tests that previously needed to set the debug info
format to function, or tests that depend on the old debug info format in
some way. There should be no visible change in the output of any LLVM
tool as a result of this patch, although the likelihood of this patch
breaking downstream code means an NFC tag might be a little misleading,
if not technically incorrect:
This will probably break some downstream tools that don't already handle
debug records. If your downstream code breaks as a result of this
change, the simplest fix is to convert the module in question to the old
debug format before you process it, using
`Module::convertFromNewDbgValues()`. For more information about how to
handle debug records or about what has changed, see the migration
document:
https://llvm.org/docs/RemoveDIsDebugInfo.html
Commit: 00821fed09969305b0003d3313c44d1e761a7131
https://github.com/llvm/llvm-project/commit/00821fed09969305b0003d3313c44d1e761a7131
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/docs/ReleaseNotes.rst
M llvm/include/llvm/AsmParser/LLParser.h
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/IR/Function.cpp
M llvm/lib/IR/Module.cpp
M llvm/tools/llvm-as/llvm-as.cpp
M llvm/tools/llvm-dis/llvm-dis.cpp
M llvm/tools/llvm-link/llvm-link.cpp
M llvm/unittests/Analysis/IRSimilarityIdentifierTest.cpp
M llvm/unittests/IR/BasicBlockDbgInfoTest.cpp
M llvm/unittests/IR/DebugInfoTest.cpp
M llvm/unittests/IR/InstructionsTest.cpp
M llvm/unittests/Transforms/Utils/CloningTest.cpp
M llvm/unittests/Transforms/Utils/LocalTest.cpp
Log Message:
-----------
Revert "[RemoveDIs] Load into new debug info format by default in LLVM (#89799)"
A unit test was broken by the above commit:
https://lab.llvm.org/buildbot/#/builders/139/builds/64627
This reverts commit 2f01fd99eb8c8ab3db9aba72c4f00e31e9e60a05.
Commit: fa535452b2508e2878b2697fabf546c997d9ca5d
https://github.com/llvm/llvm-project/commit/fa535452b2508e2878b2697fabf546c997d9ca5d
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
A llvm/test/tools/llvm-objcopy/MachO/install-name-tool.test
M llvm/tools/llvm-objcopy/ObjcopyOptions.cpp
Log Message:
-----------
[llvm-install-name-tool] Error on non-Mach-O binaries (#90351)
Previously if you passed an ELF binary it would be silently copied with no changes.
Commit: 6e31714d249f857f15262518327b0f0c9509db72
https://github.com/llvm/llvm-project/commit/6e31714d249f857f15262518327b0f0c9509db72
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M clang-tools-extra/docs/ReleaseNotes.rst
M clang/lib/Analysis/ExprMutationAnalyzer.cpp
M clang/unittests/Analysis/ExprMutationAnalyzerTest.cpp
Log Message:
-----------
[analysis] assume expr is not mutated after analysis to avoid recursive (#90581)
Fixes: #89376.
Commit: 4cbe7607c75486dd17a048a45dd8c72c3dbf7e62
https://github.com/llvm/llvm-project/commit/4cbe7607c75486dd17a048a45dd8c72c3dbf7e62
Author: Alastair Houghton <ahoughton at apple.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
A lldb/test/Shell/ObjectFile/ELF/two-text-sections.yaml
Log Message:
-----------
[LLDB][ELF] Fix section unification to not just use names. (#90099)
Section unification cannot just use names, because it's valid for ELF
binaries to have multiple sections with the same name. We should check
other section properties too.
Fixes #88001.
rdar://124467787
Commit: a00bbcbe7c7b1d5fb437d530555a6940c0b8d06a
https://github.com/llvm/llvm-project/commit/a00bbcbe7c7b1d5fb437d530555a6940c0b8d06a
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/docs/UsingLibcxx.rst
M libcxx/include/__config
Log Message:
-----------
[libc++] Remove _LIBCPP_DISABLE_ADDITIONAL_DIAGNOSTICS (#90512)
I strongly suspect nobody ever used that macro since it wasn't very well
known. Furthermore, it only affects a handful of diagnostics and I think
it makes sense to either provide them unconditionally, or to not
provided them at all.
Commit: 6dfaecf077ade4bf003345501fdcfcebc8409ff7
https://github.com/llvm/llvm-project/commit/6dfaecf077ade4bf003345501fdcfcebc8409ff7
Author: Kojo Acquah <KoolJBlack at users.noreply.github.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
M mlir/test/Dialect/Vector/vector-rewrite-narrow-types.mlir
Log Message:
-----------
[mlir][Vector] Add patterns for efficient unsigned i4 -> i8 conversion emulation (#89131)
This PR builds on https://github.com/llvm/llvm-project/pull/79494 with an additional path for efficient unsigned `i4 ->i8` type extension for 1D/2D operations. This will impact any i4 -> i8/i16/i32/i64 unsigned extensions as well as sitofp i4 -> f8/f16/f32/f64.
Commit: a764f49b4ae80daa5ba56cf0892bf0ebce48e2b3
https://github.com/llvm/llvm-project/commit/a764f49b4ae80daa5ba56cf0892bf0ebce48e2b3
Author: Xiang Li <python3kgae at outlook.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/lib/Target/DirectX/DXContainerGlobals.cpp
A llvm/test/CodeGen/DirectX/ContainerData/EmptySignature.ll
Log Message:
-----------
[DirectX backend] generate ISG1, OSG1 part for compute shader (#90508)
Empty ISG1 and OSG1 parts are generated for compute shader since there's
no signature for compute shader.
Fixes #88778
Commit: 754072e9a5c0785560953e237229d0fbdd504d04
https://github.com/llvm/llvm-project/commit/754072e9a5c0785560953e237229d0fbdd504d04
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M libcxx/include/stdexcept
Log Message:
-----------
[NFC][libc++] Fixes comment indention.
The output on eel.is has similar oddities, so I expect this was copy
pasted.
Commit: 477c705cb0d7cc857fad8184faac523f8ef72c84
https://github.com/llvm/llvm-project/commit/477c705cb0d7cc857fad8184faac523f8ef72c84
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M clang/include/clang/Serialization/ASTWriter.h
M clang/lib/Serialization/ASTWriter.cpp
M clang/test/ClangScanDeps/modules-extern-unrelated.m
Log Message:
-----------
[clang][modules] Allow including module maps to be non-affecting (#89992)
The dependency scanner only puts top-level affecting module map files on
the command line for explicitly building a module. This is done because
any affecting child module map files should be referenced by the
top-level one, meaning listing them explicitly does not have any meaning
and only makes the command lines longer.
However, a problem arises whenever the definition of an affecting module
lives in a module map that is not top-level. Considering the rules
explained above, such module map file would not make it to the command
line. That's why 83973cf157f7850eb133a4bbfa0f8b7958bad215 started
marking the parents of an affecting module map file as affecting too.
This way, the top-level file does make it into the command line.
This can be problematic, though. On macOS, for example, the Darwin
module lives in "/usr/include/Darwin.modulemap" one of many module map
files included by "/usr/include/module.modulemap". Reporting the parent
on the command line forces explicit builds to parse all the other module
map files included by it, which is not necessary and can get expensive
in terms of file system traffic.
This patch solves that performance issue by stopping marking parent
module map files as affecting, and marking module map files as top-level
whenever they are top-level among the set of affecting files, not among
the set of all known files. This means that the top-level
"/usr/include/module.modulemap" is now not marked as affecting and
"/usr/include/Darwin.modulemap" is.
Commit: 987c036f5413a94aab58bd5e27b653f740a5f7e2
https://github.com/llvm/llvm-project/commit/987c036f5413a94aab58bd5e27b653f740a5f7e2
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/unittests/BUILD.bazel
Log Message:
-----------
[bazel][clang] Add missing dependency for 6e31714d249f857f15262518327b0f0c9509db72
Commit: 6c369cf937b7d9acb98a1fc46b1340cef7703e12
https://github.com/llvm/llvm-project/commit/6c369cf937b7d9acb98a1fc46b1340cef7703e12
Author: Tomas Matheson <tomas.matheson at arm.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M clang/lib/Basic/CMakeLists.txt
M clang/lib/CodeGen/CMakeLists.txt
M clang/lib/Driver/CMakeLists.txt
M clang/tools/driver/CMakeLists.txt
M llvm/include/module.install.modulemap
M llvm/include/module.modulemap
Log Message:
-----------
[AArch64] Changes missing from cfca97742723 (#90314)
Commit: cf2f32c97f8fece105557c2357be4809cb9c14a1
https://github.com/llvm/llvm-project/commit/cf2f32c97f8fece105557c2357be4809cb9c14a1
Author: David Tellenbach <dtellenbach at apple.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/include/llvm/CodeGen/MIRYamlMapping.h
M llvm/lib/CodeGen/MIRParser/MIRParser.cpp
M llvm/lib/CodeGen/MIRPrinter.cpp
A llvm/test/CodeGen/MIR/AArch64/calleesavedinfovalid.mir
M llvm/test/CodeGen/MIR/Generic/frame-info.mir
Log Message:
-----------
[MIR] Serialize MachineFrameInfo::isCalleeSavedInfoValid() (#90561)
In case of functions without a stack frame no "stack" field is
serialized into MIR which leads to isCalleeSavedInfoValid being false
when reading a MIR file back in. To fix this we should serialize
MachineFrameInfo::isCalleeSavedInfoValid() into MIR.
Commit: 7396ab1210a2aeee6bab5b73ec6d02975ba51b93
https://github.com/llvm/llvm-project/commit/7396ab1210a2aeee6bab5b73ec6d02975ba51b93
Author: Nicolas Miller <nicolas.miller at codeplay.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/test/CodeGen/NVPTX/rotate.ll
Log Message:
-----------
[NVPTX] Fix 64 bits rotations with large shift values (#89399)
ROTL and ROTR can take a shift amount larger than the element size, in
which case the effective shift amount should be the shift amount modulo
the element size.
This patch adds the modulo step when the shift amount isn't known at
compile time. Without it the existing implementation would end up
shifting beyond the type size and give incorrect results.
Commit: 09f4b06dde65adcd077bd1d10f1165083c1fe410
https://github.com/llvm/llvm-project/commit/09f4b06dde65adcd077bd1d10f1165083c1fe410
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M clang/test/Driver/riscv-arch.c
M clang/test/Driver/riscv-profiles.c
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/test/MC/RISCV/invalid-attribute.s
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Refactor profile selection in RISCVISAInfo::parseArchString. (#90700)
Instead of hardcoding the 4 current profile prefixes, treat profile
selection as a fallback if we don't find "rv32" or "rv64".
Update the error message accordingly.
Commit: cf3c714e4bd7b8a68793f2827080fe3388ae8bb1
https://github.com/llvm/llvm-project/commit/cf3c714e4bd7b8a68793f2827080fe3388ae8bb1
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/include/llvm/TargetParser/RISCVISAInfo.h
M llvm/lib/TargetParser/RISCVISAInfo.cpp
Log Message:
-----------
[RISCV] Merge RISCVISAInfo::updateFLen/MinVLen/MaxELen into a single function. (#90665)
This simplifies the callers.
Commit: 28869a704ef59471cee6c750f2566b133b0ff391
https://github.com/llvm/llvm-project/commit/28869a704ef59471cee6c750f2566b133b0ff391
Author: Jan Voung <jvoung at gmail.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M lld/test/COFF/thinlto-index-only.ll
M lld/test/ELF/lto/thinlto-emit-index.ll
M lld/test/ELF/lto/thinlto-index-only.ll
M lld/test/MachO/thinlto-emit-index.ll
M lld/test/MachO/thinlto-index-only.ll
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/test/Assembler/thinlto-summary.ll
M llvm/test/Bitcode/summary_version.ll
M llvm/test/Bitcode/thinlto-alias.ll
M llvm/test/Bitcode/thinlto-func-summary-vtableref-pgo.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-partial-sample-profile-summary.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-pgo.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-profile-summary.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-sample-profile-summary.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph.ll
M llvm/test/Bitcode/thinlto-function-summary-originalnames.ll
M llvm/test/Bitcode/thinlto-function-summary-paramaccess.ll
M llvm/test/ThinLTO/X86/distributed_indexes.ll
M llvm/test/tools/gold/X86/thinlto.ll
M llvm/test/tools/llvm-lto/thinlto.ll
Log Message:
-----------
Reapply "Use an abbrev to reduce size of VALUE_GUID records in ThinLTO summaries" (#90610) (#90692)
This reverts commit 2aabfc811670beb843074c765c056fff4a7b443b.
Add fixes to LLD and Gold tests missed in original change.
Co-authored-by: Jan Voung <jvoung at google.com>
Commit: d1b3648ed9da1ea8f1ca62a150b519f9d08fffaf
https://github.com/llvm/llvm-project/commit/d1b3648ed9da1ea8f1ca62a150b519f9d08fffaf
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Tools/CLOptions.inc
M flang/lib/Optimizer/Transforms/PolymorphicOpConversion.cpp
M flang/test/Driver/bbc-mlir-pass-pipeline.f90
M flang/test/Driver/mlir-debug-pass-pipeline.f90
M flang/test/Driver/mlir-pass-pipeline.f90
M flang/test/Fir/basic-program.fir
Log Message:
-----------
[flang] always run PolymorphicOpConversion sequentially (#90721)
It was pointed out in post commit review of
https://github.com/llvm/llvm-project/pull/90597 that the pass should
never have been run in parallel over all functions (and now other top
level operations) in the first place. The mutex used in the pass was
ineffective at preventing races since each instance of the pass would
have a different mutex.
Commit: aca511734f5ff6204fdc65427566c8bd3b810a24
https://github.com/llvm/llvm-project/commit/aca511734f5ff6204fdc65427566c8bd3b810a24
Author: Vinayak Dev <104419489+vinayakdsci at users.noreply.github.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/hdr/CMakeLists.txt
A libc/hdr/fcntl_macros.h
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/struct_f_owner_ex.h
A libc/hdr/types/struct_flock.h
A libc/hdr/types/struct_flock64.h
M libc/include/CMakeLists.txt
M libc/include/llvm-libc-macros/linux/fcntl-macros.h
M libc/include/llvm-libc-types/CMakeLists.txt
A libc/include/llvm-libc-types/struct_f_owner_ex.h
A libc/include/llvm-libc-types/struct_flock.h
A libc/include/llvm-libc-types/struct_flock64.h
M libc/spec/posix.td
M libc/src/fcntl/CMakeLists.txt
A libc/src/fcntl/fcntl.h
M libc/src/fcntl/linux/CMakeLists.txt
A libc/src/fcntl/linux/fcntl.cpp
M libc/test/src/fcntl/CMakeLists.txt
A libc/test/src/fcntl/fcntl_test.cpp
Log Message:
-----------
[libc] Implement fcntl() function (#89507)
Fixes #84968.
Implements the `fcntl()` function defined in the `fcntl.h` header.
Commit: 1ca600586a61cee41e117a188d880417de3e1c00
https://github.com/llvm/llvm-project/commit/1ca600586a61cee41e117a188d880417de3e1c00
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
Log Message:
-----------
[alpha.webkit.UncountedCallArgsChecker] Support more trivial expressions. (#90414)
Treat a compound operator such as |=, array subscription, sizeof, and
non-type template parameter as trivial so long as subexpressions are
also trivial.
Also treat true/false boolean literal as trivial.
Commit: 91fef0013f2668d1dc0623ede21cf4048d9a733e
https://github.com/llvm/llvm-project/commit/91fef0013f2668d1dc0623ede21cf4048d9a733e
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M lld/ELF/OutputSections.cpp
Log Message:
-----------
[ELF] Catch zlib deflateInit2 error
The function may return Z_MEM_ERROR or Z_STREAM_ERR. The former does not
have a good way of testing. The latter will be possible with a pending
change that allows setting the compression level, which will come with a
test.
Commit: 6d44a1ef55b559e59d725b07ffe1da988b4e5f1c
https://github.com/llvm/llvm-project/commit/6d44a1ef55b559e59d725b07ffe1da988b4e5f1c
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/Options.td
M lld/ELF/OutputSections.cpp
M lld/docs/ReleaseNotes.rst
M lld/docs/ld.lld.1
M lld/test/ELF/compress-sections.s
M lld/test/ELF/compressed-debug-level.test
Log Message:
-----------
[ELF] Adjust --compress-sections to support compression level
zstd excels at scaling from low-ratio-very-fast to
high-ratio-pretty-slow. Some users prioritize speed and prefer disk read
speed, while others focus on achieving the highest compression ratio
possible, similar to traditional high-ratio codecs like LZMA.
Add an optional `level` to `--compress-sections` (#84855) to cater to
these diverse needs. While we initially aimed for a one-size-fits-all
approach, this no longer seems to work.
(https://richg42.blogspot.com/2015/11/the-lossless-decompression-pareto.html)
When --compress-debug-sections is used together, make
--compress-sections take precedence since --compress-sections is usually
more specific.
Remove the level distinction between -O/-O1 and -O2 for
--compress-debug-sections=zlib for a more consistent user experience.
Pull Request: https://github.com/llvm/llvm-project/pull/90567
Commit: f0fbccb15384393a2ede3328517c1050e9f468ae
https://github.com/llvm/llvm-project/commit/f0fbccb15384393a2ede3328517c1050e9f468ae
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M clang-tools-extra/test/CMakeLists.txt
M clang-tools-extra/test/lit.site.cfg.py.in
Log Message:
-----------
[clang-tidy] Enable plugin tests with LLVM_INSTALL_TOOLCHAIN_ONLY (#90370)
The only reason for the removed condition was that there was a
dependency for `CTTestTidyModule` on the `clang-tidy-headers` target,
which was only created under the same `NOT LLVM_INSTALL_TOOLCHAIN_ONLY`
condition. It looks like this target is not needed for
`CTTestTidyModule` to build and run, so the dependency can be removed
along with the condition.
See also https://reviews.llvm.org/D111100 for earlier discussions.
Commit: 71113047298ccb92e6c636a535f0f855a04ee0db
https://github.com/llvm/llvm-project/commit/71113047298ccb92e6c636a535f0f855a04ee0db
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M flang/lib/Semantics/mod-file.cpp
Log Message:
-----------
[flang] Fix CHECK() crash in module file generator (#90234)
A sanity CHECK() in mod-file.cpp needs to allow for USE association of a
derived type that has the same name as a locally defined generic
interface.
Fixes https://github.com/llvm/llvm-project/issues/90192.
Commit: 465807eedcbf571d43d38e7534f38cffd5f83bec
https://github.com/llvm/llvm-project/commit/465807eedcbf571d43d38e7534f38cffd5f83bec
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M flang/lib/Semantics/check-declarations.cpp
M flang/test/Semantics/call14.f90
M flang/test/Semantics/resolve58.f90
Log Message:
-----------
[flang] Catch missing "not a dummy argument" cases (#90268)
Declaration checking is looking for inappropriate usage of the INTENT,
VALUE, & OPTIONAL attributes in multiple places, and some oddball cases
like ENTRY points are not checked. Centralize the check for attributes
that apply only to dummy arguments into one spot.
Commit: b88d21127f31c04139281de49dc7be7671bf47d8
https://github.com/llvm/llvm-project/commit/b88d21127f31c04139281de49dc7be7671bf47d8
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M lldb/cmake/modules/LLDBConfig.cmake
M lldb/cmake/modules/LLDBFramework.cmake
M lldb/include/lldb/API/LLDB.h
M lldb/packages/Python/lldbsuite/test/builders/builder.py
M lldb/packages/Python/lldbsuite/test/make/Makefile.rules
Log Message:
-----------
Install generated API headers into LLDB.framework (#90666)
Commit: e846778e52f8586b5092c2fd4cdbec2334e31770
https://github.com/llvm/llvm-project/commit/e846778e52f8586b5092c2fd4cdbec2334e31770
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
Log Message:
-----------
[VPlan] Make CallInst optional for VPWidenCallRecipe (NFCI).
Replace relying on the underling CallInst for looking up the called
function and its types by instead adding the called function as operand,
in line with how called functions are handled in CallInst.
Operand bundles, metadata and fast-math flags are optionally used if
there's an underlying CallInst.
This enables creating VPWidenCallRecipes without requiring an underlying
IR instruction.
Commit: 59ef94d7cf3cb4f5aac514a72d00d1f0fa4a9fb3
https://github.com/llvm/llvm-project/commit/59ef94d7cf3cb4f5aac514a72d00d1f0fa4a9fb3
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/RISCV/minbw-with-and-and-scalar-trunc.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/trunc-to-large-than-bw.ll
Log Message:
-----------
[SLP]Do not include the cost of and -1, <v> and emit just <v> after MinBitWidth.
After minbitwidth analysis, and <v>, (power_of_2 - 1 const) can be
transformed into just an <v>, (all_ones const), which can be ignored at
the cost estimation and at the codegen. x264 benchmark has this pattern.
Reviewers: RKSimon
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/90739
Commit: fc382db239abea827e7f2ad7a0e18eee17ff5709
https://github.com/llvm/llvm-project/commit/fc382db239abea827e7f2ad7a0e18eee17ff5709
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/RISCV/combined-loads-stored.ll
Log Message:
-----------
[SLP]Improve comparison of shuffled loads/masked gathers by adding GEP cost.
In some cases masked gather is less profitable than insert-subvector of
consecutive/strided stores. SLP has this kind of analysis, but need to
improve it by adding the cost of the GEP analysis.
Also, the GEP cost estimation for masked gather is fixed.
Reviewers: RKSimon
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/90737
Commit: f2d71305792dbcc48c67d9cfde4d8c33c582fb74
https://github.com/llvm/llvm-project/commit/f2d71305792dbcc48c67d9cfde4d8c33c582fb74
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/lib/Profile/DataAggregator.cpp
Log Message:
-----------
[BOLT][NFC] Simplify DataAggregator::getFallthroughsInTrace (#90752)
Commit: c4e8e2c67bbfff2d1b23210c375c173aa05e3848
https://github.com/llvm/llvm-project/commit/c4e8e2c67bbfff2d1b23210c375c173aa05e3848
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M lldb/test/API/driver/quit_speed/TestQuitWithProcess.py
Log Message:
-----------
Skip timing-sensitive test under ASAN
Commit: dcbf0fcd0d5572f7001ebdd3bda6062593ec172b
https://github.com/llvm/llvm-project/commit/dcbf0fcd0d5572f7001ebdd3bda6062593ec172b
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
A lldb/scripts/generate-sbapi-dwarf-enum.py
M lldb/source/API/CMakeLists.txt
M lldb/utils/TableGen/CMakeLists.txt
R lldb/utils/TableGen/LLDBSBAPIDWARFEnum.cpp
M lldb/utils/TableGen/LLDBTableGen.cpp
Log Message:
-----------
[lldb] Use Python script to generate SBLanguages.h (#90753)
Use a Python script to generate SBLanguages.h instead of piggybacking on
LLDB TableGen. This addresses Nico Weber's post-commit feedback.
Commit: fa9e96a2e55226b1f9f9744f42ac5e925297f819
https://github.com/llvm/llvm-project/commit/fa9e96a2e55226b1f9f9744f42ac5e925297f819
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M lldb/test/API/macosx/nslog/TestDarwinNSLogOutput.py
Log Message:
-----------
Skip pexpect test under ASAN
Commit: 82383d5f3fa8289688dcd314f7a89ce5599bbdb2
https://github.com/llvm/llvm-project/commit/82383d5f3fa8289688dcd314f7a89ce5599bbdb2
Author: Tai Ly <tai.ly at arm.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/lib/Dialect/Tosa/IR/ShardingInterfaceImpl.cpp
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaMakeBroadcastable.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
M mlir/test/Dialect/Tosa/constant-op-fold.mlir
M mlir/test/Dialect/Tosa/ops.mlir
Log Message:
-----------
[mlir][tosa] Rename Tosa Div op to IntDiv Op (#80047)
This patch renames Tosa Div Op to IntDiv Op to align with the TOSA Spec.
<!-- Reviewable:start -->
- - -
This change is [<img src="https://reviewable.io/review_button.svg"
height="34" align="absmiddle"
alt="Reviewable"/>](https://reviewable.io/reviews/llvm/llvm-project/80047)
<!-- Reviewable:end -->
Signed-off-by: Tai Ly <tai.ly at arm.com>
Commit: b8c301f6e22a6a5ebec4b8870327237eb94c5b15
https://github.com/llvm/llvm-project/commit/b8c301f6e22a6a5ebec4b8870327237eb94c5b15
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M lldb/scripts/generate-sbapi-dwarf-enum.py
Log Message:
-----------
Fix the regex in the sbapi python script
Commit: f2e808932ceddf503897d0b5c75bc22fb3262349
https://github.com/llvm/llvm-project/commit/f2e808932ceddf503897d0b5c75bc22fb3262349
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M flang/examples/FeatureList/FeatureList.cpp
M flang/include/flang/Frontend/FrontendAction.h
M flang/include/flang/Semantics/semantics.h
M flang/lib/Frontend/FrontendAction.cpp
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Semantics/semantics.cpp
A flang/test/Driver/message-merging.f90
M flang/tools/bbc/bbc.cpp
Log Message:
-----------
[flang] Intermix messages from parser and semantic analysis (#90654)
When there are one or more fatal error messages produced by the parser,
semantic analysis is not performed. But when there are messages produced
by the parser and none of them are fatal, those messages are emitted to
the user before compilation continues with semantic analysis, and any
messages produced by semantics are emitted after the messages from
parsing.
This can be confusing for the user, as the messages may no longer all be
in source file location order. It also makes it difficult to write tests
that check for both non-fatal messages from parsing as well as messages
from semantics using inline CHECK: or other expected messages in test
source code.
This patch ensures that if semantic analysis is performed, and non-fatal
messages were produced by the parser, that all the messages will be
combined and emitted in source file order.
Commit: a1c12794226ffde0a84c96b9188a266eafd85fb3
https://github.com/llvm/llvm-project/commit/a1c12794226ffde0a84c96b9188a266eafd85fb3
Author: Heejin Ahn <aheejin at gmail.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.td
M llvm/lib/Target/WebAssembly/WebAssemblySubtarget.h
Log Message:
-----------
[WebAssembly] Add missing feature methods (#90644)
Commit: 3502d340c9276f1828da9db72f83e5e25b163b8b
https://github.com/llvm/llvm-project/commit/3502d340c9276f1828da9db72f83e5e25b163b8b
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M flang/lib/Evaluate/fold-implementation.h
M flang/lib/Evaluate/fold-matmul.h
M flang/lib/Evaluate/fold-real.cpp
M flang/lib/Evaluate/fold-reduction.h
Log Message:
-----------
[flang] Adjust transformational folding to match runtime (#90132)
The transformational intrinsic functions MATMUL, DOT_PRODUCT, and NORM2
all involve summing up intermediate products into accumulators. In the
constant folding library, this is done with extended precision Kahan
summation for REAL and COMPLEX arguments, but in the runtime
implementations it is not, and this leads to discrepancies between
folded results and dynamic results.
Disable the use of Kahan summation in folding to resolve these
discrepancies, but don't discard the code, in case we want to add Kahan
summation in the runtime for some or all of these intrinsic functions.
Commit: 37277d8da8afd3291240a14a19193024065cf7ca
https://github.com/llvm/llvm-project/commit/37277d8da8afd3291240a14a19193024065cf7ca
Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/test/DebugInfo/Generic/gmlt.test
Log Message:
-----------
Modify gmlt.test to XFAIL on apple platforms correctly. (#90779)
Commit: 505f6da1961ab55c601d7239648c53ce863b5d70
https://github.com/llvm/llvm-project/commit/505f6da1961ab55c601d7239648c53ce863b5d70
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M flang/include/flang/Common/Fortran-features.h
M flang/include/flang/Semantics/tools.h
M flang/lib/Evaluate/common.cpp
M flang/lib/Evaluate/fold-character.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
M flang/lib/Evaluate/fold-matmul.h
M flang/lib/Evaluate/fold-real.cpp
M flang/lib/Evaluate/fold-reduction.h
M flang/lib/Evaluate/host.cpp
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Evaluate/variable.cpp
M flang/lib/Parser/preprocessor.cpp
M flang/lib/Parser/prescan.cpp
M flang/lib/Parser/prescan.h
M flang/lib/Semantics/check-acc-structure.cpp
M flang/lib/Semantics/check-call.cpp
M flang/lib/Semantics/check-case.cpp
M flang/lib/Semantics/check-cuda.cpp
M flang/lib/Semantics/check-declarations.cpp
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/data-to-inits.cpp
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/mod-file.cpp
M flang/lib/Semantics/pointer-assignment.cpp
M flang/lib/Semantics/program-tree.cpp
M flang/lib/Semantics/resolve-labels.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/semantics.cpp
M flang/lib/Semantics/tools.cpp
M flang/test/Driver/prescanner-diag.f90
M flang/test/Evaluate/fold-out_of_range.f90
M flang/test/Preprocessing/include-comment.F90
M flang/test/Semantics/kinds04_q10.f90
Log Message:
-----------
[flang] Ensure all warning/portability messages are guarded by Should… (#90518)
…Warn()
Many warning messages were being emitted unconditionally. Ensure that
all warnings are conditional on a true result from a call to
common::LanguageFeatureControl::ShouldWarn() so that it is easy for a
driver to disable them all, or, in the future, to provide per-warning
control over them.
Commit: 0f8d97cccc03246f6b922696b35805c77e022af7
https://github.com/llvm/llvm-project/commit/0f8d97cccc03246f6b922696b35805c77e022af7
Author: Perry MacMurray <pmacmurr at quicinc.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/test/CodeGen/Hexagon/hexagon-copy-hoisting.mir
Log Message:
-----------
[Hexagon] Fix hexagon-copy-hoisting.mir (#90740)
The hexagon-copy-hoisting.mir test fails when run with
-verify-machineinstrs. This patch fixes this by disabling
tracksRegLiveness.
Commit: a2be1b8d03320908c4d4b42e5bd8b7569b1f9aae
https://github.com/llvm/llvm-project/commit/a2be1b8d03320908c4d4b42e5bd8b7569b1f9aae
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
Log Message:
-----------
[msan] Don't modify CFG iterating it (#90691)
In rare cases `SplitBlockAndInsertSimpleForLoop` in `paintOrigin`
crashes outsize iterators.
Somehow existing `SplitBlockAndInsertIfThen` do not invalidate
iterators.
Commit: c2d892668b7fc296a37679a6b729f40ce08a6179
https://github.com/llvm/llvm-project/commit/c2d892668b7fc296a37679a6b729f40ce08a6179
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
A llvm/include/llvm/Transforms/Instrumentation/PGOCtxProfLowering.h
M llvm/lib/Transforms/Instrumentation/CMakeLists.txt
A llvm/lib/Transforms/Instrumentation/PGOCtxProfLowering.cpp
M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
A llvm/test/Transforms/PGOProfile/ctx-instrumentation.ll
Log Message:
-----------
[llvm][ctx_profile] Add instrumentation (#90136)
This adds instrumenting callsites to PGOInstrumentation, *if* contextual profiling is requested. The latter also enables inserting counters in the entry basic block and disables value profiling (the latter is a point in time change)
This change adds the skeleton of the contextual profiling lowering pass, just so we can introduce the flag controlling that and the API to check that. The actual lowering pass will be introduced in a subsequent patch.
(Tracking Issue: #89287, RFC referenced there)
Commit: 41466a177a95ee6ff699d190f7625f0b32922a20
https://github.com/llvm/llvm-project/commit/41466a177a95ee6ff699d190f7625f0b32922a20
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/include/llvm/CodeGen/SDPatternMatch.h
M llvm/test/CodeGen/X86/subvectorwise-store-of-vector-splat.ll
Log Message:
-----------
[SelectionDAG] Correct the implementation of m_AllOnes. (#90776)
Previously we used SpecificInt_match which created a 64 bit APInt
containing all ones. This was then checked against other constants by
using APInt::isSameValue.
If the constnats have different bitwidths, APInt::isSameValue will zero
extend the constant to make them match. This means for any constant less
than 64 bits, m_AllOnes was guaranteed to fail since the zero extended
value would not match all ones.
I think would also incorrectly consider an i128 with 64 leading zeros
and 64 trailing zeros as matching m_AllOnes.
To avoid this, this patch adds a new matcher class that just calls
isAllOnesOrAllOnesSplat.
Commit: a7e07988549c79d9bfecec3e630141fff61f52f0
https://github.com/llvm/llvm-project/commit/a7e07988549c79d9bfecec3e630141fff61f52f0
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/utils/TableGen/RISCVTargetDefEmitter.cpp
Log Message:
-----------
[RISCV] Use binary search to look up supported profiles. (#90767)
As the list of profiles grow, this will be a more efficient lookup.
Because the profile name is a prefix of the Arch string, we use
upper_bound to find the first profile that definitely comes after the
Arch string. If that isn't the first supported profile, we move back 1
profile and see if that profile is a prefix of our Arch string.
Commit: 500dda049ea1b140a888f284b3c512cd77af6fce
https://github.com/llvm/llvm-project/commit/500dda049ea1b140a888f284b3c512cd77af6fce
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/lib/TargetParser/RISCVISAInfo.cpp
Log Message:
-----------
[RISCV] Refactor version major version parsing in parseNormalizedArchString. NFC
Use an index variable and array indexing instead of manipulating
a temporary StringRef.
Commit: e98cb360884db03a90f148a8454bb07152621e8a
https://github.com/llvm/llvm-project/commit/e98cb360884db03a90f148a8454bb07152621e8a
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M flang/lib/Evaluate/fold-implementation.h
Log Message:
-----------
[flang][build] Fix build warning (#90789)
Fix a warning from some build compilers about an unused lambda capture.
There are some `if constexpr` branches in the body of the code that do
not use the capture.
Commit: bf447e27d2ac7a81ea714ceca932eecaac6db77b
https://github.com/llvm/llvm-project/commit/bf447e27d2ac7a81ea714ceca932eecaac6db77b
Author: Med Ismail Bennani <ismail at bennani.ma>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/include/llvm/Support/RWMutex.h
M llvm/lib/Support/RWMutex.cpp
Log Message:
-----------
[llvm/Support] Make `llvm::sys::RWMutex` Lockable (#90667)
This patch extends the `llvm::sys::RWMutex` class to fullfill the
`Lockable` requirement to include attempted locking, by implementing a
`bool try_lock` member function.
As the name suggests, this method will try to acquire to lock in a
non-blocking fashion and release it immediately. If it managed to
acquire the lock, returns `true`, otherwise returns `false`.
Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>
Commit: 0af415d436e8d352397d3c5b279fca5d9b4e29f5
https://github.com/llvm/llvm-project/commit/0af415d436e8d352397d3c5b279fca5d9b4e29f5
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M compiler-rt/cmake/Modules/AddCompilerRT.cmake
Log Message:
-----------
[compiler-rt][CMake] Do not explicitly set CMP0114 to old (#90386)
This was added in def0823f1d2db78c4a18b15084407734a45e96c5 to fix a bot
failure, specifically for the standalone build. This does not seem to be
an issue anymore, and setting the policy explicitly to OLD causes
warnings with newer CMake versions.
This patch removes setting the policy to OLD to get rid of the warning.
Commit: 78885395c802b5c1eea3decece3695a7240902b1
https://github.com/llvm/llvm-project/commit/78885395c802b5c1eea3decece3695a7240902b1
Author: Peiming Liu <peiming at google.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorIterator.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorIterator.h
A mlir/test/Dialect/SparseTensor/fuse_sparse_pad_with_consumer.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/padded_sparse_conv_2d.mlir
Log Message:
-----------
[mlir][sparse] support tensor.pad on CSR tensors (#90687)
Commit: 56e4111f9da499072e5119ccf92693202430f894
https://github.com/llvm/llvm-project/commit/56e4111f9da499072e5119ccf92693202430f894
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M flang/test/Semantics/kinds04_q16.f90
Log Message:
-----------
[flang] Update test results (#90791)
Some additional portability warnings now issue for a test; ensure that
they are expected.
Commit: 8c64a304123b77d598eda73a14cf3ff0ec7970dc
https://github.com/llvm/llvm-project/commit/8c64a304123b77d598eda73a14cf3ff0ec7970dc
Author: Heejin Ahn <aheejin at gmail.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Basic/Targets/WebAssembly.cpp
M clang/test/Preprocessor/wasm-target-features.c
Log Message:
-----------
[WebAssembly] Disable reference types in generic CPU (#90792)
#80923 newly enabled multivalue and reference-types in the generic CPU.
But enabling reference-types ended up breaking up Wasm's Chromium CI
(https://chromium-review.googlesource.com/c/emscripten-releases/+/5500231)
because the way the table index is encoded is different from MVP (u32)
vs. reference-types (LEB), which caused different encodings for
`call_indirect`.
And Chromium CI's and Emscripten's minimum required node version is v16,
which does not yet support reference-types, which does not recognize
that table index encoding. reference-types is first supported in node
v17.2.
We knew the current minimum required node for Emscripten (v16) did not
support reference-types, but thought it was fine because unless you
explicitly use `__funcref` or `__externref` things would be fine, and if
you want to use them explicitly, you would have a newer node. But it
turned out it also affected the encoding of `call_indirect`.
While we are discussing the potential solutions, I will disable
reference-types to unblock the rolls.
Commit: 4b75fcf0a50f4be955b611e8e20d84d90ea133c8
https://github.com/llvm/llvm-project/commit/4b75fcf0a50f4be955b611e8e20d84d90ea133c8
Author: YunQiang Su <syq at debian.org>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M clang/docs/Multilib.rst
M clang/test/Driver/arm-ias-Wa.s
M clang/test/Driver/arm-triple.c
M clang/test/Driver/baremetal-multilib-layered.yaml
M clang/test/Driver/baremetal-multilib.yaml
M clang/test/Driver/baremetal-sysroot.cpp
M clang/test/Driver/baremetal.cpp
M clang/test/Driver/print-multi-selection-flags.c
M clang/unittests/Interpreter/IncrementalCompilerBuilderTest.cpp
M llvm/lib/TargetParser/Triple.cpp
M llvm/unittests/TargetParser/TripleTest.cpp
Log Message:
-----------
Triple::normalize: Use none as OS for XX-none-ABI (#89638)
When parsing a 3-component triple, after we determine Arch and Env, if
the middle component is "none", treat it as OS instead of Vendor.
See:
https://discourse.llvm.org/t/rfc-baremetal-target-triple-normalization/78524
Fixes: #89582.
Commit: d484c4d3501a7ff3d00a6e0cfad026a3b01d320c
https://github.com/llvm/llvm-project/commit/d484c4d3501a7ff3d00a6e0cfad026a3b01d320c
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M llvm/lib/CodeGen/InterleavedLoadCombinePass.cpp
A llvm/test/CodeGen/AArch64/interleaved-load-combine-pr90695.ll
Log Message:
-----------
[InterleavedLoadCombine] Bail out on non-byte-sized vector element type (#90705)
Vectors are always tightly packed, and elements of non-byte-sized
usually do not have a well-defined (byte) offset.
Fixes https://github.com/llvm/llvm-project/issues/90695.
Commit: ad7ee900c70ba4e8dd442b35cddf390369698a59
https://github.com/llvm/llvm-project/commit/ad7ee900c70ba4e8dd442b35cddf390369698a59
Author: Maksim Panchenko <maks at fb.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M bolt/include/bolt/Core/BinaryContext.h
M bolt/lib/Rewrite/RewriteInstance.cpp
Log Message:
-----------
[BOLT][NFC] Add BOLTReserved to BinaryContext (#90766)
Use BOLTReserved to track binary space preallocated for BOLT.
Commit: 3d65bd935a91439c483c56a966edc283a2b1130d
https://github.com/llvm/llvm-project/commit/3d65bd935a91439c483c56a966edc283a2b1130d
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M llvm/include/llvm/IR/Attributes.h
M llvm/lib/IR/AttributeImpl.h
M llvm/lib/IR/Attributes.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Transforms/Utils/FunctionComparator.cpp
Log Message:
-----------
[NFC] Reduce copies created of ConstantRange when getting ConstantRangeAttributes (#90335)
Think that it can be good to reduce the number of copies created when
working with ConstantRangeAttributes.
Commit: 06449095c22097508854c00f06d27bdccf1ed667
https://github.com/llvm/llvm-project/commit/06449095c22097508854c00f06d27bdccf1ed667
Author: Yeting Kuo <46629943+yetingk at users.noreply.github.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVRegisterBankInfo.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVRegisterInfo.td
A llvm/test/CodeGen/RISCV/zicfilp-indirect-branch.ll
Log Message:
-----------
[RISCV] Avoid using x7/t2 for indirect branches which need landing pad. (#68292)
When Zicfilp enabled, this avoids selecting indirect jumps to PseudoBRIND/PseudoCALLIndirect/PseudoTAILIndirect, since they may uses X7 as rs1 and be identified as a software guarded jump. There is an another PR #66762 to use software guarded jump for jumptable branch.
Commit: a370d57b9ff9e385e9a51bf6b1d366890f4091cd
https://github.com/llvm/llvm-project/commit/a370d57b9ff9e385e9a51bf6b1d366890f4091cd
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M clang-tools-extra/docs/clang-tidy/checks/list.rst
Log Message:
-----------
[NFC][clang-tidy] update check list document (#90813)
Commit: 889e60db2daf93c0bb3f7ae0db0a60bfefb86d89
https://github.com/llvm/llvm-project/commit/889e60db2daf93c0bb3f7ae0db0a60bfefb86d89
Author: Piotr Zegar <me at piotrzegar.pl>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/CastingThroughVoidCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/bugprone/casting-through-void.cpp
Log Message:
-----------
[clang-tidy] Ignore casts from void to void in bugprone-casting-through-void (#90566)
Improved bugprone-casting-through-void check by ignoring casts where
source is already a void pointer, making middle void pointer casts
bug-free.
Closes #87069
Commit: 1f1a417925624a67cb6cb2bbbdd901e0e90ee237
https://github.com/llvm/llvm-project/commit/1f1a417925624a67cb6cb2bbbdd901e0e90ee237
Author: Piotr Zegar <me at piotrzegar.pl>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M clang-tools-extra/clang-tidy/readability/ConstReturnTypeCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/readability/const-return-type.cpp
Log Message:
-----------
[clang-tidy] Relax readability-const-return-type (#90560)
>From now readability-const-return-type won't provide warnings for
returning const types, where const is not on top level. In such case
const there is a performance issue, but not a readability.
Closes #73270
Commit: df91cde4da62aec22e4d384b1bc800590c7f561a
https://github.com/llvm/llvm-project/commit/df91cde4da62aec22e4d384b1bc800590c7f561a
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedCallArgsChecker.cpp
M clang/test/Analysis/Checkers/WebKit/call-args-wtf-containers.cpp
M clang/test/Analysis/Checkers/WebKit/mock-types.h
Log Message:
-----------
[alpha.webkit.UncountedCallArgsChecker] Ignore methods of WTF String classes. (#90704)
Commit: dd09a7db03f8ebaeb3f49203bb53ac730666c1b4
https://github.com/llvm/llvm-project/commit/dd09a7db03f8ebaeb3f49203bb53ac730666c1b4
Author: Maksim Panchenko <maks at fb.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M bolt/lib/Passes/SplitFunctions.cpp
M bolt/lib/Rewrite/LinuxKernelRewriter.cpp
Log Message:
-----------
[BOLT] Add split function support for the Linux kernel (#90541)
While rewriting the Linux kernel, we try to fit optimized functions into
their original boundaries. When a function becomes larger, we skip it
during the rewrite and end up with less than optimal code layout. To
overcome that issue, add support for --split-function option so that hot
part of the function could be fit into the original space. The cold part
should go to reserved space in the binary.
Commit: 59ab29213deffb8a18a18d2077ed268f5254b7f2
https://github.com/llvm/llvm-project/commit/59ab29213deffb8a18a18d2077ed268f5254b7f2
Author: Maksim Panchenko <maks at fb.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M bolt/lib/Rewrite/LinuxKernelRewriter.cpp
M bolt/test/X86/linux-static-keys.s
Log Message:
-----------
[BOLT] Register Linux kernel dynamic branch offsets (#90677)
To match profile data to code we need to know branch instruction offsets
within a function. For this reason, we mark branches with the "Offset"
annotation while disassembling the code. However, _dynamic_ branches in
the Linux kernel could be NOPs in disassembled code, and we ignore them
while adding annotations. We need to explicitly add the "Offset"
annotation while creating dynamic branches.
Note that without this change, `getInstructionAtOffset()` would still
return a branch instruction if the offset matched the last instruction
in a basic block (and the profile data was matched correctly). However,
the function failed for cases when the searched instruction was followed
by an unconditional jump. "Offset" annotation solves this case.
Commit: b86e0992bfa6c58be077d82d824016f590ac5d90
https://github.com/llvm/llvm-project/commit/b86e0992bfa6c58be077d82d824016f590ac5d90
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/SanitizerArgs.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/test/CXX/temp/temp.arg/temp.arg.template/p3-2a.cpp
M clang/test/CodeGenCXX/mangle-concept.cpp
A clang/test/Driver/frelaxed-template-template-args.cpp
M clang/test/Lexer/cxx-features.cpp
A clang/test/SemaTemplate/cwg2398.cpp
M clang/test/SemaTemplate/default-arguments.cpp
M clang/test/SemaTemplate/instantiate-template-template-parm.cpp
M clang/test/SemaTemplate/nested-template.cpp
M clang/test/SemaTemplate/temp_arg_template.cpp
M clang/test/SemaTemplate/temp_arg_template_cxx1z.cpp
M clang/www/cxx_status.html
Log Message:
-----------
[clang] Enable C++17 relaxed template template argument matching by default (#89807)
This patch will finally allow us to mark C++17 support in clang as
complete.
In order to implement this as a DR and avoid breaking reasonable code
that worked before P0522, this patch implements a provisional resolution
for CWG2398: When deducing template template parameters against each other,
and the argument side names a template specialization, instead of just
deducing A, we deduce a synthesized template template parameter based
on A, but with it's parameters using the template specialization's arguments
as defaults.
The driver flag is deprecated with a warning.
Fixes https://github.com/llvm/llvm-project/issues/36505
Commit: e3f42b02a4129947ca2dd820bfb63ffed83027b7
https://github.com/llvm/llvm-project/commit/e3f42b02a4129947ca2dd820bfb63ffed83027b7
Author: Yeting Kuo <46629943+yetingk at users.noreply.github.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
M llvm/test/MC/RISCV/tail-call.s
Log Message:
-----------
[RISCV] Expand PseudoTAIL with t2 instead of t1 for Zicfilp. (#89014)
PseudoTail should be a software guarded branch in Ziciflp, since its
branch target is known in link time. JALR/C.JR/C.JALR with rs1 as t2 is
termed a software guarded branch. Such branches do not need to land on a
lpad instruction.
ABI Change PR: https://github.com/riscv-non-isa/riscv-asm-manual/pull/93
Commit: 597a3150e932a9423c65b5ea4b53dd431aff5865
https://github.com/llvm/llvm-project/commit/597a3150e932a9423c65b5ea4b53dd431aff5865
Author: martinboehme <mboehme at google.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
Log Message:
-----------
[clang][dataflow] Don't propagate result objects in unevaluated contexts (#90438)
Trying to do so can cause crashes -- see newly added test and the
comments in
the fix.
We're starting to see a repeating pattern here: We're getting crashes
because
`ResultObjectVisitor` and `getReferencedDecls()` don't agree on which
parts of
the AST to visit and, hence, which fields should be modeled.
I think we should ensure consistency between these two parts of the code
by
using a `RecursiveASTVisitor` in `getReferencedDecls()`[^1]; the
`Traverse...()` functions that control which parts of the AST we visit
would go
in a common base class that would be used for both `ResultObjectVisitor`
and
`getReferencedDecls()`.
I'd like to focus this PR, however, on a targeted fix for the current
crash and
postpone the refactoring to a later PR (which will be easier to revert
if there
are unintended side-effects).
[^1]: As an added bonus, this would make the code better structured and
more
efficient than the current sequence of `if (dyn_cast<T>(...))`
statements).
Commit: 376bc73b34d2cc007c8f8cf533e7cd7258d7a313
https://github.com/llvm/llvm-project/commit/376bc73b34d2cc007c8f8cf533e7cd7258d7a313
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M llvm/test/CodeGen/SystemZ/atomic-store-08.ll
Log Message:
-----------
SystemZ: Fix accidentally commented out run line in test
Commit: 15027be6a5c5cf870f25af8de05d6d06c767238f
https://github.com/llvm/llvm-project/commit/15027be6a5c5cf870f25af8de05d6d06c767238f
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M llvm/test/CodeGen/SystemZ/copy-phys-reg-gr128-to-vr128.mir
Log Message:
-----------
SystemZ: Fix test failing the verifier
Commit: 8bec96447ffee3909ef65241f999dd3e0ebe98e3
https://github.com/llvm/llvm-project/commit/8bec96447ffee3909ef65241f999dd3e0ebe98e3
Author: Christian Sigg <chsigg at users.noreply.github.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
Log Message:
-----------
[lldb][bazel] Fix BUILD after dcbf0fcd0d5572f7001ebdd3bda6062593ec172b. (#90825)
Commit: cd132dcbeb0fc79fd657bd5e0a8e9244c3fb5da6
https://github.com/llvm/llvm-project/commit/cd132dcbeb0fc79fd657bd5e0a8e9244c3fb5da6
Author: Oleksandr T <oleksandr.tarasiuk at outlook.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaDecl.cpp
A clang/test/Sema/incomplete-struct-decl.cpp
Log Message:
-----------
[clang] fix(85447): clang 18.1.0 crashes in clang::ASTContext::getTypeInfoImpl (#89850)
Fixes #85447
---
This PR resolves a crash in `ActOnUninitializedDecl` due to an oversight
in updating the `isInvalidDecl` state before invocation. The crash
occurs due to a missing invocation of `setInvalidDecl()` for an invalid
`Anon` declaration. To address this issue, the `setInvalidDecl()` method
is now properly invoked to mark the `Anon` declaration as invalid before
running `ActOnUninitializedDecl()`.
Commit: 16096325a5ff66d26b7e3424e7fac029c3dd35ea
https://github.com/llvm/llvm-project/commit/16096325a5ff66d26b7e3424e7fac029c3dd35ea
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
Log Message:
-----------
[clang][Docs] Add release note for {target}-none-{environment} triple normalization changes (#90734)
That were implemented by
https://github.com/llvm/llvm-project/pull/89638.
Commit: e19f7221412f4b49f2aa2a3d8a07ffd3debab0d8
https://github.com/llvm/llvm-project/commit/e19f7221412f4b49f2aa2a3d8a07ffd3debab0d8
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M lldb/docs/use/tutorial.rst
Log Message:
-----------
[lldb][Docs] Use proper LLDB/GDB project branding in tutorial (#90712)
Except when referring to the program binaries.
Commit: 176d6fbed3988032dbdabe7abfc5f54e1f0e2bbb
https://github.com/llvm/llvm-project/commit/176d6fbed3988032dbdabe7abfc5f54e1f0e2bbb
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
R lldb/docs/lldb-for-gdb-users.txt
Log Message:
-----------
[lldb][Docs] Remove .txt copy of tutorial (#90585)
This was last modified in 4fd3347d6e4b0c873c789528e1c9a1b55990d1b6 in
2021 and was made obsolete by the RST version that
edb874b2310dc6eeaa27330ca1b1c013da7bdd65 added in 2019.
There are some differences but at this point, I'd bet the RST is the
correct one.
Commit: 528b512b13e2ade4657b25dbb809bafd28c8b170
https://github.com/llvm/llvm-project/commit/528b512b13e2ade4657b25dbb809bafd28c8b170
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M lldb/test/API/lang/c/calling-conventions/TestCCallingConventions.py
Log Message:
-----------
[lldb][test][FreeBSD] Narrow vectorcall xfail to x86 platforms (#84024)
This relates to #56084.
vectorcall only works on x86
https://clang.llvm.org/docs/AttributeReference.html#vectorcall so
elsewhere it fails to compile. Which is expected on AArch64 for example
so is treated as a pass.
Commit: a015f015db21e02cbce4ff9d15d0b293e45d0831
https://github.com/llvm/llvm-project/commit/a015f015db21e02cbce4ff9d15d0b293e45d0831
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M lldb/test/API/functionalities/postmortem/elf-core/TestLinuxCore.py
Log Message:
-----------
[lldb][test][FreeBSD] Remove corefile test xfails (#84022)
Fixes #48759
As stated on the issue this was fixed by a change in FreeBSD 13, and
I've confirmed that it passes on 14 as well.
Commit: c32a4f83b59c4293f0b91503ed217371ae1ab543
https://github.com/llvm/llvm-project/commit/c32a4f83b59c4293f0b91503ed217371ae1ab543
Author: Lang Hames <lhames at gmail.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/ObjectLinkingLayer.h
M llvm/unittests/ExecutionEngine/Orc/ObjectLinkingLayerTest.cpp
Log Message:
-----------
[ORC] Allow removal of ObjectLinkingLayer Plugins.
This adds a removePlugin operation to ObjectLinkingLayer. The removal of a
plugin will be visible in all links started after the removal (ongoing links
started before the removal will still use the removed plugin).
Coding my way home: 17.56037S, 149.61118W
Commit: d00ed836e77759414afd40c02eeca5651657438f
https://github.com/llvm/llvm-project/commit/d00ed836e77759414afd40c02eeca5651657438f
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M lldb/source/Plugins/SymbolLocator/Default/SymbolLocatorDefault.cpp
Log Message:
-----------
[lldb] Fix build on FreeBSD
Missing llvm:: namespace for StringRef.
Commit: 171aeb20ad465a49065730719731aae405c1d167
https://github.com/llvm/llvm-project/commit/171aeb20ad465a49065730719731aae405c1d167
Author: zxc12523 <76193329+zxc12523 at users.noreply.github.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/X86/fold-int-pow2-with-fmul-or-fdiv.ll
M llvm/test/CodeGen/X86/known-never-zero.ll
A llvm/test/CodeGen/X86/pr89877.ll
Log Message:
-----------
[DAG] SelectionDAG.computeKnownBits - add NSW/NUW flags support to ISD::SHL handling (#89877)
fix #89414
Commit: f17b1fb6673e9ed6a7d9180230586113bb99748c
https://github.com/llvm/llvm-project/commit/f17b1fb6673e9ed6a7d9180230586113bb99748c
Author: Krishna Narayanan <84722531+Krishna-13-cyber at users.noreply.github.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M clang/lib/CodeGen/CGExprScalar.cpp
A clang/test/CodeGen/X86/x86-atomic-float.c
M clang/test/CodeGen/X86/x86-atomic-long_double.c
Log Message:
-----------
[Clang][CodeGen] Optimised LLVM IR for atomic increments/decrements on floats (#89362)
Fixes #53079
Commit: b6328db80b4294cf83a3471ecdfab33003fa742d
https://github.com/llvm/llvm-project/commit/b6328db80b4294cf83a3471ecdfab33003fa742d
Author: Sven van Haastregt <sven.vanhaastregt at arm.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M clang/lib/CodeGen/CGExprAgg.cpp
M clang/test/CodeGenOpenCLCXX/addrspace-with-class.clcpp
Log Message:
-----------
[clang][CodeGen] Put constant initializer globals into constant addrspace (#90048)
Place constant initializer globals into the constant address space.
Clang generates such globals for e.g. larger array member initializers
of classes and then emits copy operations from the global to the
object(s). The globals are never written so they ought to be in the
constant address space.
Commit: 175d2971020ceaad3e1adcf9bb92e4ebaaa449ee
https://github.com/llvm/llvm-project/commit/175d2971020ceaad3e1adcf9bb92e4ebaaa449ee
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M llvm/include/llvm/Analysis/MemorySSA.h
M llvm/include/llvm/Transforms/Utils/UnrollLoop.h
M llvm/lib/Analysis/MemorySSA.cpp
M llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
M llvm/lib/Transforms/Utils/LoopUnroll.cpp
M llvm/test/Transforms/LoopUnroll/shifted-tripcount.ll
M llvm/test/Transforms/LoopUnroll/unroll-loads-cse.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/extra-unroll-simplifications.ll
Log Message:
-----------
[LoopUnroll] Add CSE to remove redundant loads after unrolling. (#83860)
This patch adds loadCSE support to simplifyLoopAfterUnroll. It is based
on EarlyCSE's implementation using ScopeHashTable and is using SCEV for
accessed pointers to check to find redundant loads after unrolling.
This applies to the late unroll pass only, for full unrolling those
redundant loads will be cleaned up by the regular pipeline.
The current approach constructs MSSA on-demand per-loop, but there is
still small but notable compile-time impact:
stage1-O3 +0.04%
stage1-ReleaseThinLTO +0.06%
stage1-ReleaseLTO-g +0.05%
stage1-O0-g +0.02%
stage2-O3 +0.09%
stage2-O0-g +0.04%
stage2-clang +0.02%
https://llvm-compile-time-tracker.com/compare.php?from=c089fa5a729e217d0c0d4647656386dac1a1b135&to=ec7c0f27cb5c12b600d9adfc8543d131765ec7be&stat=instructions:u
This benefits some workloads with runtime-unrolling disabled,
where users use pragmas to force unrolling, as well as with
runtime unrolling enabled.
On SPEC/MultiSource, this removes a number of loads after unrolling
on AArch64 with runtime unrolling enabled.
```
External/S...te/526.blender_r/526.blender_r 96
MultiSourc...rks/mediabench/gsm/toast/toast 39
SingleSource/Benchmarks/Misc/ffbench 4
External/SPEC/CINT2006/403.gcc/403.gcc 18
MultiSourc.../Applications/JM/ldecod/ldecod 4
MultiSourc.../mediabench/jpeg/jpeg-6a/cjpeg 6
MultiSourc...OE-ProxyApps-C/miniGMG/miniGMG 9
MultiSourc...e/Applications/ClamAV/clamscan 4
MultiSourc.../MallocBench/espresso/espresso 3
MultiSourc...dence-flt/LinearDependence-flt 2
MultiSourc...ch/office-ispell/office-ispell 4
MultiSourc...ch/consumer-jpeg/consumer-jpeg 6
MultiSourc...ench/security-sha/security-sha 11
MultiSourc...chmarks/McCat/04-bisect/bisect 3
SingleSour...tTests/2020-01-06-coverage-009 12
MultiSourc...ench/telecomm-gsm/telecomm-gsm 39
MultiSourc...lds-flt/CrossingThresholds-flt 24
MultiSourc...dence-dbl/LinearDependence-dbl 2
External/S...C/CINT2006/445.gobmk/445.gobmk 6
MultiSourc...enchmarks/mafft/pairlocalalign 53
External/S...31.deepsjeng_r/531.deepsjeng_r 3
External/S...rate/510.parest_r/510.parest_r 58
External/S...NT2006/464.h264ref/464.h264ref 29
External/S...NT2017rate/502.gcc_r/502.gcc_r 45
External/S...C/CINT2006/456.hmmer/456.hmmer 6
External/S...te/538.imagick_r/538.imagick_r 18
External/S.../CFP2006/447.dealII/447.dealII 4
MultiSourc...OE-ProxyApps-C++/miniFE/miniFE 12
External/S...2017rate/525.x264_r/525.x264_r 36
MultiSourc...Benchmarks/7zip/7zip-benchmark 33
MultiSourc...hmarks/ASC_Sequoia/AMGmk/AMGmk 2
MultiSourc...chmarks/VersaBench/8b10b/8b10b 1
MultiSourc.../Applications/JM/lencod/lencod 116
MultiSourc...lds-dbl/CrossingThresholds-dbl 24
MultiSource/Benchmarks/McCat/05-eks/eks 15
```
PR: https://github.com/llvm/llvm-project/pull/83860
Commit: d9fc5babb96ca9c75f36f9cf3d3f2a55ddc0ab4d
https://github.com/llvm/llvm-project/commit/d9fc5babb96ca9c75f36f9cf3d3f2a55ddc0ab4d
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
Log Message:
-----------
DAG: Implement softening for fp atomic store (#90840)
This will prevent SystemZ test regressions in a future change, tested by
#90826
Commit: 69e7cb587304e3706aac23c50b3d37651eb11330
https://github.com/llvm/llvm-project/commit/69e7cb587304e3706aac23c50b3d37651eb11330
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
A flang/test/Transforms/debug-90683.fir
Log Message:
-----------
[flang] Add a test for fir.real debug conversion. (#90726)
This is an accompanying test for the fix done in #90683. It checks that
fir.real conversion works ok.
The failing fortran source in the #90683 generates fir.real type in the
target-rewrite pass which caused the original issue.
Commit: c2f29caee4b8388cb185cab165a72fdb9ecef1e6
https://github.com/llvm/llvm-project/commit/c2f29caee4b8388cb185cab165a72fdb9ecef1e6
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M libcxx/include/tuple
Log Message:
-----------
[libc++][NFC] Explicitly delete assignment operator in tuple (#90604)
Commit: 2252c5c42b95dd12dda0c7fb1b2811f943b21949
https://github.com/llvm/llvm-project/commit/2252c5c42b95dd12dda0c7fb1b2811f943b21949
Author: Weaver <Tom.Weaver at sony.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
Log Message:
-----------
Revert "[clang][dataflow] Don't propagate result objects in unevaluated contexts (#90438)"
This reverts commit 597a3150e932a9423c65b5ea4b53dd431aff5865.
Caused test failure on the following buildbot:
https://lab.llvm.org/buildbot/#/builders/216/builds/38446
Commit: 981aa6fcf68ffda877f19c8d59003c067cc6ef4b
https://github.com/llvm/llvm-project/commit/981aa6fcf68ffda877f19c8d59003c067cc6ef4b
Author: Valery Pykhtin <valery.pykhtin at gmail.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIAnnotateControlFlow.cpp
M llvm/test/CodeGen/AMDGPU/si-annotate-dbg-info.ll
Log Message:
-----------
[AMDGPU] Fix incorrect stepping in gdb for amdgcn.end.cf intrinsic. (#83010)
After #73958 gdb.rocm/lane-execution.exp test started to fail due to
incorrect debug location. This is kind of a revert patch.
Commit: 779f40c088c8f827b3cb83dd2b68dab1bd05b55a
https://github.com/llvm/llvm-project/commit/779f40c088c8f827b3cb83dd2b68dab1bd05b55a
Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M flang/lib/Parser/openmp-parsers.cpp
A flang/test/Parser/OpenMP/fail-construct1.f90
A flang/test/Parser/OpenMP/fail-construct2.f90
Log Message:
-----------
[Flang][OpenMP] Give better errors during parsing failures (#90480)
Similar to OpenACC handling.
Fixes #90452
Commit: f2daa32fcaa061daa04546c343198d876e635def
https://github.com/llvm/llvm-project/commit/f2daa32fcaa061daa04546c343198d876e635def
Author: Christian Kandeler <christian.kandeler at qt.io>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M clang-tools-extra/clangd/refactor/tweaks/ScopifyEnum.cpp
M clang-tools-extra/clangd/unittests/tweaks/ScopifyEnumTests.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
Log Message:
-----------
[clangd] Remove potential prefix from enum value names (#83412)
... when converting unscoped to scoped enums.
With traditional enums, a popular technique to guard against potential
name clashes is to use the enum name as a pseudo-namespace, like this:
enum MyEnum { MyEnumValue1, MyEnumValue2 };
With scoped enums, this makes no sense, making it extremely unlikely
that the user wants to keep such a prefix when modernizing. Therefore,
our tweak now removes it.
Commit: 5d9889a6c6c97c92380c8eee48eaa35067f63766
https://github.com/llvm/llvm-project/commit/5d9889a6c6c97c92380c8eee48eaa35067f63766
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/test/AST/Interp/records.cpp
Log Message:
-----------
[clang][Interp] Fix zero-initializing records with non-trivial ctors
We need to do the zero-init and then subsequently call the constructor.
Commit: 35e73e7cc8c4078ea25151da3958a114591bf700
https://github.com/llvm/llvm-project/commit/35e73e7cc8c4078ea25151da3958a114591bf700
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M llvm/test/CodeGen/X86/memcpy-scoped-aa.ll
Log Message:
-----------
[X86] Regenerate memcpy-scoped-aa.ll
Commit: b6d24cb018777d8e54e629114abbaadfefd95d8a
https://github.com/llvm/llvm-project/commit/b6d24cb018777d8e54e629114abbaadfefd95d8a
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
Log Message:
-----------
DAG: Implement softening for fp atomic load (#90839)
Commit: e5fb6564358f10c01d7533f2f805eedd7d663417
https://github.com/llvm/llvm-project/commit/e5fb6564358f10c01d7533f2f805eedd7d663417
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.h
Log Message:
-----------
[clang][Interp] Handle RecoveryExprs
Instead of checking containsErrors() for every expression, just handle
RecoveryExprs directly.
Commit: 3d8a44d542b15ac9bc21f9fd3494f1649fca1aa9
https://github.com/llvm/llvm-project/commit/3d8a44d542b15ac9bc21f9fd3494f1649fca1aa9
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M clang/lib/AST/Interp/InterpFrame.cpp
Log Message:
-----------
[clang][Interp][NFC] Refactor if condition
Move the declaration into the condition.
Commit: de04e6cd90b891215f1dfc83ec886d037a7c2ed0
https://github.com/llvm/llvm-project/commit/de04e6cd90b891215f1dfc83ec886d037a7c2ed0
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M clang/lib/AST/Interp/EvalEmitter.cpp
M clang/lib/AST/Interp/InterpFrame.cpp
M clang/lib/AST/Interp/InterpState.h
Log Message:
-----------
[clang][Interp][NFC] Save source location of evaluating expression
We don't have a source location to point to when the evaluation
of a destructor of a temporary created via an expression fails.
Commit: 1c7673b91d4d3bab4e296f5c67751d3879fb21a2
https://github.com/llvm/llvm-project/commit/1c7673b91d4d3bab4e296f5c67751d3879fb21a2
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.h
M clang/test/AST/Interp/records.cpp
Log Message:
-----------
[clang][Interp] Fix locals created in ExprWithCleanups
Save the declaration we're creating a scope for (if applicable),
so we can attach a local temporary variable to the right scope.
Commit: ebcb04ae8825b15fd6aa249a8da0617b877b4705
https://github.com/llvm/llvm-project/commit/ebcb04ae8825b15fd6aa249a8da0617b877b4705
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M clang/lib/AST/Interp/EvalEmitter.cpp
M clang/lib/AST/Interp/InterpFrame.cpp
M clang/lib/AST/Interp/InterpState.h
Log Message:
-----------
Revert "[clang][Interp][NFC] Save source location of evaluating expression"
This reverts commit de04e6cd90b891215f1dfc83ec886d037a7c2ed0.
This breaks the Misc/constexpr-source-ranges test:
https://lab.llvm.org/buildbot/#/builders/139/builds/64685
Commit: 427c5bfd39ebb9d008b621370579444fbf2a60d7
https://github.com/llvm/llvm-project/commit/427c5bfd39ebb9d008b621370579444fbf2a60d7
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.h
M clang/test/AST/Interp/records.cpp
Log Message:
-----------
Revert "[clang][Interp] Fix locals created in ExprWithCleanups"
This reverts commit 1c7673b91d4d3bab4e296f5c67751d3879fb21a2.
Unfortunately, this one is broken because de04e6cd90b891215f1dfc83ec886d037a7c2ed0
has been reverted.
Commit: 1e82d506b0b2b4b8501bb1cae13d2e2f3405922d
https://github.com/llvm/llvm-project/commit/1e82d506b0b2b4b8501bb1cae13d2e2f3405922d
Author: Nico Weber <thakis at chromium.org>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M llvm/utils/gn/secondary/clang-tools-extra/test/BUILD.gn
Log Message:
-----------
[gn] port f0fbccb15384
Commit: ce7700e29dfbc85348942d74d0ca2ba9ac8d8cf5
https://github.com/llvm/llvm-project/commit/ce7700e29dfbc85348942d74d0ca2ba9ac8d8cf5
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M flang/runtime/product.cpp
M flang/runtime/reduction-templates.h
M flang/runtime/sum.cpp
Log Message:
-----------
[flang][runtime] Address PRODUCT numeric discrepancy, folding vs runtime (#90125)
Ensure that the runtime implementations of floating-point reductions use
intermediate results of the same precision as the operands, so that
results match those from constant folding. (SUM reduction uses Kahan
summation in both cases.)
Commit: 155dcce40110fbe8a29a5b00a3078e3333d10f4a
https://github.com/llvm/llvm-project/commit/155dcce40110fbe8a29a5b00a3078e3333d10f4a
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M clang/lib/AST/Interp/EvalEmitter.cpp
M clang/lib/AST/Interp/InterpFrame.cpp
M clang/lib/AST/Interp/InterpState.h
Log Message:
-----------
Reapply "[clang][Interp][NFC] Save source location of evaluating expression"
This reverts commit ebcb04ae8825b15fd6aa249a8da0617b877b4705.
Commit: a2e1f54bb7beff7ce84151353490c8b484da0a45
https://github.com/llvm/llvm-project/commit/a2e1f54bb7beff7ce84151353490c8b484da0a45
Author: Oleksandr "Alex" Zinenko <zinenko at google.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
R mlir/include/mlir/Dialect/Transform/Transforms/TransformInterpreterPassBase.h
M mlir/lib/Dialect/Transform/Transforms/CMakeLists.txt
R mlir/lib/Dialect/Transform/Transforms/TransformInterpreterPassBase.cpp
R mlir/test/Dialect/Transform/test-interpreter-external-symbol-decl-and-schedule.mlir
R mlir/test/Dialect/Transform/test-interpreter-external-symbol-decl-dir.mlir
R mlir/test/Dialect/Transform/test-interpreter-external-symbol-decl-invalid.mlir
R mlir/test/Dialect/Transform/test-interpreter-external-symbol-decl.mlir
R mlir/test/Dialect/Transform/test-interpreter-module-generation.mlir
R mlir/test/Dialect/Transform/test-interpreter-multiple-top-level-ops.mlir
R mlir/test/Dialect/Transform/test-repro-dump.mlir
M mlir/test/lib/Dialect/Transform/TestTransformDialectInterpreter.cpp
M mlir/tools/mlir-opt/mlir-opt.cpp
Log Message:
-----------
[mlir] remove test-tranfsorm-dialect-interpreter (#89931)
This pass has been deprecated for more than two months, alternative is
available via `-transform-interpreter` and `-transform-preload-library`.
https://discourse.llvm.org/t/psa-deprecating-test-transform-dialect-interpreter/76904
Commit: 11bda17254d00cde5b84585f7c7a870d6793ad92
https://github.com/llvm/llvm-project/commit/11bda17254d00cde5b84585f7c7a870d6793ad92
Author: Brian Gesiak <brian at modocache.io>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M mlir/include/mlir/Tools/lsp-server-support/Transport.h
M mlir/unittests/Tools/lsp-server-support/Transport.cpp
Log Message:
-----------
[mlir-lsp] Parse outgoing request callback JSON (#90693)
Rather than force callbacks for outgoing requests to parse the result
JSON themselves (of type `llvm::Expected<llvm::json::Value>`), allow
users to specify the result type, which
`MessageHandler::outgoingRequest` will parse for them. This eliminates
boilerplate for users sending outgoing requests.
Commit: 105c992c83aa527c6c50d60becd4d66b476b0a32
https://github.com/llvm/llvm-project/commit/105c992c83aa527c6c50d60becd4d66b476b0a32
Author: Oleksandr "Alex" Zinenko <git at ozinenko.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/IRDL/IRDLVerifiers.h
M mlir/include/mlir/Dialect/Transform/CMakeLists.txt
A mlir/include/mlir/Dialect/Transform/IRDLExtension/CMakeLists.txt
A mlir/include/mlir/Dialect/Transform/IRDLExtension/IRDLExtension.h
A mlir/include/mlir/Dialect/Transform/IRDLExtension/IRDLExtensionOps.h
A mlir/include/mlir/Dialect/Transform/IRDLExtension/IRDLExtensionOps.td
M mlir/include/mlir/Dialect/Transform/PDLExtension/PDLExtension.h
M mlir/include/mlir/InitAllExtensions.h
M mlir/lib/Dialect/IRDL/IRDLLoading.cpp
M mlir/lib/Dialect/Transform/CMakeLists.txt
A mlir/lib/Dialect/Transform/IRDLExtension/CMakeLists.txt
A mlir/lib/Dialect/Transform/IRDLExtension/IRDLExtension.cpp
A mlir/lib/Dialect/Transform/IRDLExtension/IRDLExtensionOps.cpp
A mlir/test/Dialect/Transform/irdl.mlir
Log Message:
-----------
[mlir] use irdl as matcher description in transform (#89779)
Introduce a new Transform dialect extension that uses IRDL op
definitions as matcher descriptors. IRDL allows one to essentially
define additional op constraits to be verified and, unlike PDL, does not
assume rewriting will happen. Leverage IRDL verification capability to
filter out ops that match an IRDL definition without actually
registering the corresponding operation with the system.
Commit: 7925525d330a46480b0c3b136e5f47948c5cb741
https://github.com/llvm/llvm-project/commit/7925525d330a46480b0c3b136e5f47948c5cb741
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZInstrVector.td
Log Message:
-----------
SystemZ: Add missing predicate for bitconvert patterns (#90715)
Commit: a2f97974e670379b28f7ad4701233fc162a46867
https://github.com/llvm/llvm-project/commit/a2f97974e670379b28f7ad4701233fc162a46867
Author: smanna12 <soumi.manna at intel.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M clang/lib/Sema/SemaCodeComplete.cpp
Log Message:
-----------
[Clang] Prevent null pointer dereference in Sema::CodeCompleteQualifiedId() (#90490)
The null pointer dereference issue seems happening with in the
expression NNS->getAsType().
Although dyn_cast_or_null<TemplateTypeParmType>() correctly handles null
pointers, it doesn’t prevent the subsequent dereferencing operation.
The fix ensures that NNS pointer is not null before calling the
getAsType() method, thus preventing potential runtime errors caused by
attempting to access a null pointer.
Commit: 3a1e55904b1e1205ac583f7b70396a3459b10b78
https://github.com/llvm/llvm-project/commit/3a1e55904b1e1205ac583f7b70396a3459b10b78
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M llvm/test/CodeGen/SystemZ/atomic-load-08.ll
M llvm/test/CodeGen/SystemZ/atomic-store-08.ll
M llvm/test/CodeGen/SystemZ/atomicrmw-xchg-07.ll
Log Message:
-----------
SystemZ: Add some tests for fp128 atomics with soft-float (#90826)
Commit: c1298878175f1f6b7f991a18550de97a699cf260
https://github.com/llvm/llvm-project/commit/c1298878175f1f6b7f991a18550de97a699cf260
Author: Erich Keane <ekeane at nvidia.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/test/ParserOpenACC/parse-cache-construct.c
M clang/test/ParserOpenACC/parse-cache-construct.cpp
M clang/test/ParserOpenACC/parse-clauses.c
A clang/test/ParserOpenACC/parse-sub-array.cpp
M clang/test/SemaOpenACC/compute-construct-private-clause.c
M clang/test/SemaOpenACC/compute-construct-private-clause.cpp
M clang/test/SemaOpenACC/compute-construct-varlist-ast.cpp
A clang/test/SemaOpenACC/sub-array-ast.cpp
A clang/test/SemaOpenACC/sub-array.cpp
Log Message:
-----------
[OpenACC] Implement SubArray Parsing/Sema (#90796)
This implementation takes quite a bit from the OMP implementation of
array sections, but only has to enforce the rules as applicable to
OpenACC. Additionally, it does its best to create an AST node (with the
assistance of RecoveryExprs) with as much checking done as soon as
possible in the case of instantiations.
Commit: 33e16cae671ca10d88e198192181220f8adff343
https://github.com/llvm/llvm-project/commit/33e16cae671ca10d88e198192181220f8adff343
Author: Omair Javaid <omair.javaid at linaro.org>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M compiler-rt/cmake/Modules/CompilerRTUtils.cmake
Log Message:
-----------
[compiler-rt] Fix CMake configure on Windows (#90843)
CMake configure compiler-rt got broken as a result of following commit:
d3925e65a7ab88eb0ba68d3ab79cd95db5629951
This patch fixes the break by porting the above commit for clang-cl.
This problem was not caught on Windows buildbots beacuase it appeared
when compiler-rt was included via LLVM_ENABLE_PROJECTS while buildbots
include compiler-rt project using LLVM_ENABLE_RUNTIMES flag.
Commit: 5e67c41a932256e047ae093ae4f7f5a53df1527d
https://github.com/llvm/llvm-project/commit/5e67c41a932256e047ae093ae4f7f5a53df1527d
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/ext-after-phi-node.ll
Log Message:
-----------
[SLP]Fix PR90780: insert cast instruction for PHI nodes after all phi nodes.
Need to check if the vectorized value is a PHINode before insert casting
instruction and insert it after all phis to generate the code correctly.
Commit: cd683bd32cecd97b9d9fd345c4e6c067d84fefd4
https://github.com/llvm/llvm-project/commit/cd683bd32cecd97b9d9fd345c4e6c067d84fefd4
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M llvm/lib/Transforms/HipStdPar/HipStdPar.cpp
A llvm/test/Transforms/HipStdPar/global-var.ll
Log Message:
-----------
[HipStdPar] Fix globle variable (#90627)
HipStdParAcceleratorCodeSelectionPass changes linkage of global
variables to extern_weak, which does not allow initializer.
An extern_weak global variable with initializer will cause llvm-as and
llc to fail.
Commit: 7dfb6f571c8090803a32b5611e519b77ae74de30
https://github.com/llvm/llvm-project/commit/7dfb6f571c8090803a32b5611e519b77ae74de30
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/test/AST/Interp/literals.cpp
Log Message:
-----------
[clang][Interp] Fix ignored RequiresExprs
Also ConceptSpecializationExpr, although I don't have a test case
at hand for those.
Commit: 3fe282a83d2bcc23f1a3f9bc47682f7c4bfc9b88
https://github.com/llvm/llvm-project/commit/3fe282a83d2bcc23f1a3f9bc47682f7c4bfc9b88
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/test/CodeGen/AMDGPU/lower-mem-intrinsics-threshold.ll
M llvm/test/CodeGen/AMDGPU/lower-mem-intrinsics.ll
M llvm/test/Transforms/PreISelIntrinsicLowering/X86/load-relative.ll
M llvm/test/Transforms/PreISelIntrinsicLowering/X86/objc-arc.ll
Log Message:
-----------
[Pass] Add `pre-isel-intrinsic-lowering` to pass registry (#90851)
This was removed due to avoid circular dependency between `CodeGen` and
`Passes`, but now I realized this is no longer a problem since
`CodeGenPassBuilder` is moved into `Passes`.
Commit: d6173167df31388869d22751fdd745f5da928ef7
https://github.com/llvm/llvm-project/commit/d6173167df31388869d22751fdd745f5da928ef7
Author: Daniel Chen <cdchen at ca.ibm.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M flang/lib/Lower/ConvertCall.cpp
Log Message:
-----------
[Flang] Get fir::SequenceType from hlfir::ExprType before getShape. (#90055)
This PR is to fix issue #88889 .
Because the type of an actual argument of an array expression of
character has type of `hlfir::ExprType`, we need to transform it to
`fir::SequenceType` before calling `getBoxTypeWithNewShape`.
Calling `hlfir::ExprType::getShape` inside of `getBoxTypeWithNewShape`
will introduce a circular dependency on FIRDialect and HLFIRDialect
libraries.
Commit: 82f72c1aa8ef36b521a617a291c9f732edca9d12
https://github.com/llvm/llvm-project/commit/82f72c1aa8ef36b521a617a291c9f732edca9d12
Author: Youngsuk Kim <joseph942010 at gmail.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaExpr.cpp
M clang/test/CXX/drs/dr7xx.cpp
Log Message:
-----------
[clang][Sema] Re-use existing BinaryOperator if possible (#90625)
First round of Sema checks were run at initial parsing step. Creating a
new BinaryOperator instance (with the re-built LHS or RHS) will trigger
another round of Sema checks, which can lead to duplicate diagnostic
warning messages.
All we want here is to replace the LHS or RHS with a NonOdrUse version.
Don't create a new BinaryOperator, but simply replace the LHS or RHS of
the given BinaryOperator.
Fixes #45783
Commit: 8c0937f5629e2a0a11ce623e1d38fb86e955bdef
https://github.com/llvm/llvm-project/commit/8c0937f5629e2a0a11ce623e1d38fb86e955bdef
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M llvm/test/Transforms/HipStdPar/global-var.ll
Log Message:
-----------
Fix test HipStdPar/global-var.ll
It requires amdgpu registered target.
Commit: 42c7cb69694d274e46bb98d156b9be31b308b62c
https://github.com/llvm/llvm-project/commit/42c7cb69694d274e46bb98d156b9be31b308b62c
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M llvm/lib/Transforms/Utils/CloneFunction.cpp
M llvm/test/Transforms/Inline/inline-deferred-instsimplify.ll
M llvm/test/Transforms/Inline/prof-update-sample-alwaysinline.ll
M llvm/test/Transforms/Inline/prof-update-sample.ll
Log Message:
-----------
Reapply "[Inline][Cloning] Defer simplification after phi-nodes resolution"
Original commit: a61f9fe31750cee65c726fb51f1b14e31e177258
Multiple 2-stage buildbots were reporting failures. These issues have been
addressed separately.
Fixes: https://github.com/llvm/llvm-project/issues/87534.
Commit: 1bb929833b18db4a26a4d145d7270597cb5d48ce
https://github.com/llvm/llvm-project/commit/1bb929833b18db4a26a4d145d7270597cb5d48ce
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M llvm/lib/Transforms/Utils/CloneFunction.cpp
A llvm/test/Transforms/Inline/inline-drop-attributes.ll
Log Message:
-----------
[Inline][Cloning] Drop incompatible attributes from `NewFunc`
Performing `instSimplify` while cloning is unsafe due to incomplete
remapping (as reported in #87534). Ideally, `instSimplify` ought to
reason on the updated newly-cloned function, after returns have been
rewritten and callee entry basic block / call-site have been fixed up.
This is in contrast to `CloneAndPruneIntoFromInst` behaviour, which
is inherently expected to clone basic blocks, with pruning on top of
– if any –, and not actually fixing up returns / CFG, which should be
up to the Inliner. We may solve this by letting `instSimplify` work on
the newly-cloned function, while maintaining old function attributes,
so as to avoid inconsistencies between the yet-to-be-solved return
type, and new function ret type attributes.
Commit: e020e287c7733f29aac08b3ed87f2c3f96a88ef7
https://github.com/llvm/llvm-project/commit/e020e287c7733f29aac08b3ed87f2c3f96a88ef7
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp
Log Message:
-----------
[AMDGPU] Modernize some syntax in SILoadStoreOptimizer. NFC.
Use structured bindings and similar.
Commit: 46a5de69c03aeb1cd99c7951787b7cf94d6e2dcd
https://github.com/llvm/llvm-project/commit/46a5de69c03aeb1cd99c7951787b7cf94d6e2dcd
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M libcxx/include/__config
Log Message:
-----------
[libc++] Remove a few __has_foo defines in __config (#90511)
All the compilers we support implement those macros or builtins, so it's
not useful to have a fallback to 0 when they're not implemented.
Commit: 9b9a2a2fd0aaed6704f75adfcde0d85e65008601
https://github.com/llvm/llvm-project/commit/9b9a2a2fd0aaed6704f75adfcde0d85e65008601
Author: Nico Weber <thakis at chromium.org>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M llvm/utils/gn/secondary/lldb/include/lldb/API/BUILD.gn
M llvm/utils/gn/secondary/lldb/utils/TableGen/BUILD.gn
Log Message:
-----------
[gn] port dcbf0fcd0d55 (SBLanguages.h python)
Commit: 6ceb1c0ef9f544be0eed65e46cc7d99941a001bf
https://github.com/llvm/llvm-project/commit/6ceb1c0ef9f544be0eed65e46cc7d99941a001bf
Author: Daniel Krupp <daniel.krupp at ericsson.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M clang/docs/analyzer/checkers.rst
M clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
M clang/test/Analysis/taint-diagnostic-visitor.c
M clang/test/Analysis/taint-generic.c
Log Message:
-----------
[analyzer] Remove untrusted buffer size warning in the TaintPropagation checker (#68607)
Before this commit the the checker alpha.security.taint.TaintPropagation always reported warnings when the size argument of a memcpy-like or malloc-like function was tainted. However, this produced false positive reports in situations where the size was tainted, but correctly performed bound checks guaranteed the safety of the call.
This commit removes the rough "always warn if the size argument is tainted" heuristic; but it would be good to add a more refined "warns if the size argument is tainted and can be too large" heuristic in follow-up commits. That logic would belong to CStringChecker and MallocChecker, because those are the checkers responsible for the more detailed modeling of memcpy-like and malloc-like functions. To mark this plan, TODO comments are added in those two checkers.
There were several test cases that used these sinks to test generic properties of taint tracking; those were adapted to use different logic.
As a minor unrelated change, this commit ensures that strcat (and its wide variant, wcsncat) propagates taint from the first argument to the first argument, i.e. a tainted string remains tainted if we concatenate it with another string. This change was required because the adapted variant of multipleTaintedArgs is relying on strncat to compose a value that combines taint from two different sources.
Commit: aac588abfa03e9721d96546df917fec913137ecb
https://github.com/llvm/llvm-project/commit/aac588abfa03e9721d96546df917fec913137ecb
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.h
M clang/test/AST/Interp/records.cpp
Log Message:
-----------
Reapply "[clang][Interp] Fix locals created in ExprWithCleanups"
This reverts commit 427c5bfd39ebb9d008b621370579444fbf2a60d7.
Commit: 4aca302f5a82ee65847c88500b39a2530dfeceb4
https://github.com/llvm/llvm-project/commit/4aca302f5a82ee65847c88500b39a2530dfeceb4
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Transforms/Instrumentation/BUILD.gn
Log Message:
-----------
[gn build] Port c2d892668b7f
Commit: ab8ac36f10eef3d50d3a6fc8168c98298b643698
https://github.com/llvm/llvm-project/commit/ab8ac36f10eef3d50d3a6fc8168c98298b643698
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Add list of supported profiles to -print-supported-extensions (#90757)
I tried also printing the -march they correspond to, but it seemed
overly verbose and caused line wraps. It might be better if we remove
the versions numbers from the string or did a more intelligent line
wrap.
Commit: cb5d6a5639ab17933f127456cee9167fb0ed6439
https://github.com/llvm/llvm-project/commit/cb5d6a5639ab17933f127456cee9167fb0ed6439
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M llvm/include/llvm/ADT/LazyAtomicPointer.h
Log Message:
-----------
[llvm][ADT] Fix Arm 32 bit compilation warning in lazy atomic pointer
LazyAtomicPointer.h:36:49: warning: implicit conversion from 'unsigned long long'
to 'uintptr_t' (aka 'unsigned int') changes value from 18446744073709551615 to 4294967295 [-Wconstant-conversion]
static constexpr uintptr_t getBusy() { return -1ULL; }
On 32 bit Arm ULL is an unsigned long long which is 8 bytes, but
uintptr_t is 4 bytes. Instead of using a value, use the macro
UINTPTR_MAX that will be the correctly sized value.
Commit: d824d879f46cef2fadde811413320f5ae46d0cb9
https://github.com/llvm/llvm-project/commit/d824d879f46cef2fadde811413320f5ae46d0cb9
Author: estewart08 <ethan.stewart at amd.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M llvm/runtimes/CMakeLists.txt
M offload/CMakeLists.txt
Log Message:
-----------
[offload] - Add omp as a dependency for clang-bootstrap-deps (#90793)
If openmp is on the LLVM_ENABLE_PROJECTS list and
offload is on LLVM_ENABLE_RUNTIMES list when using
CLANG_ENABLE_BOOTSTRAP, then the runtimes will be
configured before the openmp project. This will throw a cannot find
libomp.so dependency error. Add omp as a dependency when this is the
case. Update
offload cmake for detection of LIBOMP_HAVE_VERSION_SCRIPT.
Commit: 646559e90b8370a2d6459b65ecca31a98b5fad0e
https://github.com/llvm/llvm-project/commit/646559e90b8370a2d6459b65ecca31a98b5fad0e
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M clang/test/AST/Interp/arrays.cpp
Log Message:
-----------
[clang][Interp][NFC] Make a test array smaller
The large size doesn't add anything here, at least not with the
test in its current form.
Commit: f5b4e20a5ab8e0d8f7e3909cfdc0c82e4cf507c3
https://github.com/llvm/llvm-project/commit/f5b4e20a5ab8e0d8f7e3909cfdc0c82e4cf507c3
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Log Message:
-----------
[llvm][AArch64] Fix Arm 32 bit build warnings (#90862)
https://github.com/llvm/llvm-project/pull/84173 added uses of std::labs
on an int64_t which leads to this warning on Arm 32 bit:
```
/home/david.spickett/llvm-project/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp:16655:12: warning: absolute value function 'labs' given an argument of type 'long long' but has parameter of type 'long' which may cause truncation of value [-Wabsolute-value]
return std::labs(Imm / 4) <= 16;
^
/home/david.spickett/llvm-project/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp:16655:12: note: use function 'std::abs' instead
return std::labs(Imm / 4) <= 16;
^~~~~~~~~
std::abs
```
Since int64_t is "long long" on Arm, not "long".
Use std::abs instead since it has versions for "long" and "long long",
we'll pick up the right one at compile time
(https://en.cppreference.com/w/cpp/numeric/math/abs).
Commit: a12622543de15df45fb9ad64e8ab723289d55169
https://github.com/llvm/llvm-project/commit/a12622543de15df45fb9ad64e8ab723289d55169
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M llvm/docs/ReleaseNotes.rst
M llvm/include/llvm/AsmParser/LLParser.h
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/IR/DebugProgramInstruction.cpp
M llvm/lib/IR/Function.cpp
M llvm/lib/IR/Module.cpp
M llvm/tools/llvm-as/llvm-as.cpp
M llvm/tools/llvm-dis/llvm-dis.cpp
M llvm/tools/llvm-link/llvm-link.cpp
M llvm/unittests/Analysis/IRSimilarityIdentifierTest.cpp
M llvm/unittests/IR/BasicBlockDbgInfoTest.cpp
M llvm/unittests/IR/DebugInfoTest.cpp
M llvm/unittests/IR/IRBuilderTest.cpp
M llvm/unittests/IR/InstructionsTest.cpp
M llvm/unittests/IR/ValueTest.cpp
M llvm/unittests/Transforms/Utils/CloningTest.cpp
M llvm/unittests/Transforms/Utils/LocalTest.cpp
Log Message:
-----------
Reapply "[RemoveDIs] Load into new debug info format by default in LLVM (#89799)"
Fixes the broken tests in the original commit:
2f01fd99eb8c8ab3db9aba72c4f00e31e9e60a05
This will probably break some downstream tools that don't already handle
debug records. If your downstream code breaks as a result of this
change, the simplest fix is to convert the module in question to the old
debug format before you process it, using
`Module::convertFromNewDbgValues()`. For more information about how to
handle debug records or about what has changed, see the migration
document:
https://llvm.org/docs/RemoveDIsDebugInfo.html
This reverts commit 00821fed09969305b0003d3313c44d1e761a7131.
Commit: eb3a67173093b06eb1a4ce878c38b5c80926a957
https://github.com/llvm/llvm-project/commit/eb3a67173093b06eb1a4ce878c38b5c80926a957
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-ld2-alloca.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-shuffle.ll
Log Message:
-----------
[AArch64] Avoid vector interleave instructions when NEON and SVE are unavailable (#90723)
As the summary suggests, the code incorrectly assumes that it can use
NEON or SVE instructions to implement an interleaved load/store
operation, even when both features are unavailable in the selected
runtime mode.
Commit: d11afe1c743924f309e41c5e5d497d6a6f5c17d6
https://github.com/llvm/llvm-project/commit/d11afe1c743924f309e41c5e5d497d6a6f5c17d6
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
A llvm/test/CodeGen/SystemZ/copy-phys-reg-gr128-to-fp128.mir
Log Message:
-----------
SystemZ: Handle gr128 to fp128 copies in copyPhysReg (#90861)
Commit: fbaba780f6b131e7674259861fce915b1a94f78e
https://github.com/llvm/llvm-project/commit/fbaba780f6b131e7674259861fce915b1a94f78e
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M lldb/test/API/functionalities/gdb_remote_client/TestGDBRemoteLoad.py
Log Message:
-----------
[lldb][test][FreeBSD] Remove xfails from TestGDBRemoteLoad (#84026)
Fixes #48758
These are now passing on AArch64 FreeBSD 14.
Commit: 0638e222f363e041ffe3c4a0f371f987ab92a03d
https://github.com/llvm/llvm-project/commit/0638e222f363e041ffe3c4a0f371f987ab92a03d
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M llvm/include/llvm/CodeGen/SDPatternMatch.h
M llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp
Log Message:
-----------
[SDPatternMatch] Add m_CondCode, m_NoneOf, and some SExt improvements (#90762)
- Add m_CondCode to match the ISD::CondCode value from CondCodeSDNode
- Add m_NoneOf combinator
- m_SExt now recognizes sext_inreg
Commit: 520ccca2f91f659edb733e1b37a104a1f093b623
https://github.com/llvm/llvm-project/commit/520ccca2f91f659edb733e1b37a104a1f093b623
Author: Lei Huang <lei at ca.ibm.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp
M llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
Log Message:
-----------
NFC: fix clang format spacing and documentation (#90775)
Some minor fixes to clean up tabs and language in code documentation.
Commit: a131525908a908baff4cd01140dae158a307dc9e
https://github.com/llvm/llvm-project/commit/a131525908a908baff4cd01140dae158a307dc9e
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M flang/lib/Semantics/expression.cpp
M flang/test/Semantics/cuf13.cuf
Log Message:
-----------
[flang][cuda] Compute matching distance in generic resolution (#90774)
Implement the matching distance as described here:
https://docs.nvidia.com/hpc-sdk/archive/24.3/compilers/cuda-fortran-prog-guide/index.html#cfref-var-attr-unified-data
Generic resolved to the smallest distance.
Commit: 44645996b0abb6e0b5b3d65b063644645f635a5e
https://github.com/llvm/llvm-project/commit/44645996b0abb6e0b5b3d65b063644645f635a5e
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M clang/test/Preprocessor/riscv-target-features.c
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.rst
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/MC/RISCV/attribute-arch.s
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Add smstateen extension (#90818)
Commit: 0708500ce0149c501e802b7ab6581770cc7a5334
https://github.com/llvm/llvm-project/commit/0708500ce0149c501e802b7ab6581770cc7a5334
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M clang/lib/AST/ASTContext.cpp
Log Message:
-----------
[Clang] Remove bogus assert in are[Lax]CompatibleSveTypes()
This caused an assertion failure for the following input:
__SVInt32_t bar(__SVInt32_t x);
void foo(__SVInt32_t x) {
return bar(x);
}
Commit: e71eacc5b19785bc46ce9c3d8541a0c83c65660e
https://github.com/llvm/llvm-project/commit/e71eacc5b19785bc46ce9c3d8541a0c83c65660e
Author: Yinying Li <yinyingli at google.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M mlir/lib/Dialect/SparseTensor/IR/CMakeLists.txt
M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/CodegenUtils.h
M mlir/test/Dialect/SparseTensor/roundtrip_encoding.mlir
M mlir/test/Dialect/SparseTensor/sparse_matmul_one.mlir
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][sparse] Support explicit/implicit value for complex type (#90771)
Commit: eb8236381bcfdb5071143160c7a0663f8e3c1c97
https://github.com/llvm/llvm-project/commit/eb8236381bcfdb5071143160c7a0663f8e3c1c97
Author: Scott Egerton <9487234+ScottEgerton at users.noreply.github.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInsertSingleUseVDST.cpp
M llvm/test/CodeGen/AMDGPU/insert-singleuse-vdst.mir
Log Message:
-----------
[AMDGPU] Group multiple single use producers under one single use instruction. (#90713)
Previously each single use producer would be marked with a
"S_SINGLEUSE_VDST 1" instruction. This patch adds support for
larger immediates that encode multiple single use producers into
one S_SINGLEUSE_VDST instruction.
Commit: 941eab102f4ae524bb66bcd9bffafc605b20ef7c
https://github.com/llvm/llvm-project/commit/941eab102f4ae524bb66bcd9bffafc605b20ef7c
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Make parseNormalizedArchString only accept [a-z0-9_]. (#90815)
Previously we only rejected upper case characters. We should instead
reject anything except lower case, numbers, and underscore. Other
characters will likely confuse the extension sorting.
Commit: 1c80d322c4a659d96ca34a17dfbdab24beb25388
https://github.com/llvm/llvm-project/commit/1c80d322c4a659d96ca34a17dfbdab24beb25388
Author: Heejin Ahn <aheejin at gmail.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Basic/Targets/WebAssembly.cpp
M clang/lib/Basic/Targets/WebAssembly.h
M clang/test/Driver/wasm-features.c
M llvm/lib/Target/WebAssembly/WebAssembly.td
M llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.td
M llvm/lib/Target/WebAssembly/WebAssemblySubtarget.h
Log Message:
-----------
[WebAssembly] Sort target features (NFC) (#90777)
Commit: 4fd319ae273ed6c252f2067909c1abd9f6d97efa
https://github.com/llvm/llvm-project/commit/4fd319ae273ed6c252f2067909c1abd9f6d97efa
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M llvm/docs/ReleaseNotes.rst
M llvm/include/llvm/AsmParser/LLParser.h
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/IR/DebugProgramInstruction.cpp
M llvm/lib/IR/Function.cpp
M llvm/lib/IR/Module.cpp
M llvm/tools/llvm-as/llvm-as.cpp
M llvm/tools/llvm-dis/llvm-dis.cpp
M llvm/tools/llvm-link/llvm-link.cpp
M llvm/unittests/Analysis/IRSimilarityIdentifierTest.cpp
M llvm/unittests/IR/BasicBlockDbgInfoTest.cpp
M llvm/unittests/IR/DebugInfoTest.cpp
M llvm/unittests/IR/IRBuilderTest.cpp
M llvm/unittests/IR/InstructionsTest.cpp
M llvm/unittests/IR/ValueTest.cpp
M llvm/unittests/Transforms/Utils/CloningTest.cpp
M llvm/unittests/Transforms/Utils/LocalTest.cpp
Log Message:
-----------
Revert#2 "[RemoveDIs] Load into new debug info format by default in LLVM (#89799)"
Reverted following probably-causing failures on some clang buildbots:
https://lab.llvm.org/buildbot/#/builders/245/builds/24037
This reverts commit a12622543de15df45fb9ad64e8ab723289d55169.
Commit: 62c29593be317f6cfaed8ffbcc016bd2c94c35d4
https://github.com/llvm/llvm-project/commit/62c29593be317f6cfaed8ffbcc016bd2c94c35d4
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M clang/www/cxx_status.html
Log Message:
-----------
[clang] NFC: cxx_status mark P0522R0 as unreleased
Addressing post-commit review on #89807
Commit: 1aeb64c8ec7b96b2301929d8a325a6e1d9ddaa2f
https://github.com/llvm/llvm-project/commit/1aeb64c8ec7b96b2301929d8a325a6e1d9ddaa2f
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M clang/lib/AST/Interp/Descriptor.cpp
M clang/lib/AST/Interp/Descriptor.h
M clang/lib/AST/Interp/Interp.h
M clang/lib/AST/Interp/Program.cpp
M clang/test/AST/Interp/builtin-align-cxx.cpp
M clang/test/AST/Interp/c.c
Log Message:
-----------
Reapply "[clang][Interp] Create full type info for dummy pointers"
This reverts commit 6195e228eb2a7085fac53603f534d2401ab1ac39.
Commit: 5445a35d6ef5e8b6d3aafd78c48167ef22eef0af
https://github.com/llvm/llvm-project/commit/5445a35d6ef5e8b6d3aafd78c48167ef22eef0af
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Detect empty extension name after parsing MajorVersion in parseNormalizedArchString. (#90790)
If the string is just a version, we will end up adding an empty string
as an extension which crashes in the compare function for the std::map.
Commit: e06d6ed1ef081eb9858da8066a6036c5dde432eb
https://github.com/llvm/llvm-project/commit/e06d6ed1ef081eb9858da8066a6036c5dde432eb
Author: Krzysztof Pszeniczny <kpszeniczny at google.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M llvm/lib/Transforms/IPO/SampleProfileMatcher.cpp
M llvm/test/Transforms/SampleProfile/Inputs/non-probe-stale-profile-matching.prof
M llvm/test/Transforms/SampleProfile/non-probe-stale-profile-matching.ll
Log Message:
-----------
[SamplePGO] Handle FS discriminators in SampleProfileMatcher (#90858)
Currently the code uses FunctionSamples::getCallSiteIdentifier which
will sometimes incorrectly guess that FSAFDO discriminators are probe
based and will convert them incorrectly.
This change doesn't affect builds which don't use FSAFDO, it only fixes
sample profile matching with FS discriminators.
The test for this is manually updated to use discriminator value 15,
which is a perfectly valid base discriminator in the FS world, but
satisfies `isPseudoProbeDiscriminator`, so
`getBaseDiscriminatorFromDiscriminator` will incorrectly extract the
probe index from it.
Note: this change only affects how the base discriminators will be
extracted when doing stale profile matching in the IR-level sample
profile loader. It doesn't add stale profile matching to the MIR-level
FS profile loader pass.
Commit: aa5ff68247ddd763c4f5de78ab8ee5739b6f401b
https://github.com/llvm/llvm-project/commit/aa5ff68247ddd763c4f5de78ab8ee5739b6f401b
Author: Chris B <chris.bieneman at me.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M clang/lib/Sema/SemaOverload.cpp
M clang/test/SemaHLSL/OverloadResolutionBugs.hlsl
A clang/test/SemaHLSL/ScalarOverloadResolution.hlsl
A clang/test/SemaHLSL/VectorElementOverloadResolution.hlsl
Log Message:
-----------
[HLSL] Shore up floating point conversions (#90222)
This PR fixes bugs in HLSL floating conversions. HLSL always has `half`,
`float` and `double` types, which promote in the order:
`half`->`float`->`double`
and convert in the order:
`double`->`float`->`half`
As with other conversions in C++, promotions are preferred over
conversions.
We do have floating conversions documented in the draft language
specification (https://microsoft.github.io/hlsl-specs/specs/hlsl.pdf
[Conv.rank.float]) although the exact language is still in flux
(https://github.com/microsoft/hlsl-specs/pull/206).
Resolves #81047
Commit: 49bac13acdb8159d8b257059a72742bb3c0ec196
https://github.com/llvm/llvm-project/commit/49bac13acdb8159d8b257059a72742bb3c0ec196
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M llvm/test/Analysis/CostModel/X86/arith-fp-codesize.ll
M llvm/test/Analysis/CostModel/X86/arith-fp-latency.ll
M llvm/test/Analysis/CostModel/X86/arith-fp-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/arith-fp.ll
Log Message:
-----------
[CostModel][X86] Add test coverage for rint/lrint/llrint fp calls
Commit: e4bb6634cd074ba7cc4ef051850ad3375636ef02
https://github.com/llvm/llvm-project/commit/e4bb6634cd074ba7cc4ef051850ad3375636ef02
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/X86/arith-fp-call.ll
Log Message:
-----------
[SLP][X86] Add test coverage for rint/lrint/llrint fp calls
Commit: 2d4acb086541577ac6ab3a140b9ceb9659ce7094
https://github.com/llvm/llvm-project/commit/2d4acb086541577ac6ab3a140b9ceb9659ce7094
Author: Kevin Frei <kevinfrei at users.noreply.github.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M lldb/packages/Python/lldbsuite/test/make/Makefile.rules
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolLocator/CMakeLists.txt
M lldb/source/Plugins/SymbolVendor/ELF/SymbolVendorELF.cpp
A lldb/test/API/debuginfod/Normal/Makefile
A lldb/test/API/debuginfod/Normal/TestDebuginfod.py
A lldb/test/API/debuginfod/Normal/main.c
A lldb/test/API/debuginfod/SplitDWARF/Makefile
A lldb/test/API/debuginfod/SplitDWARF/TestDebuginfodDWP.py
A lldb/test/API/debuginfod/SplitDWARF/main.c
M lldb/test/API/lit.site.cfg.py.in
M lldb/test/CMakeLists.txt
Log Message:
-----------
LLDB Debuginfod tests and a fix or two (#90622)
I'm taking yet another swing at getting these tests going, on the
hypothesis that the problems with buildbots & whatnot are because
they're not configured with CURL support, which I've confirmed would
cause the previous tests to fail. (I have no access to an ARM64 linux
system, but I did repro the failure on MacOS configured without CURL
support)
So, the only difference between this diff and
[previous](https://github.com/llvm/llvm-project/pull/85693)
[diffs](https://github.com/llvm/llvm-project/pull/87676) that have
already been approved is that I've added a condition to the tests to
only run if Debuginfod capabilities should be built into the binary. I
had done this for these tests when they were [Shell
tests](https://github.com/llvm/llvm-project/pull/79181) and not API
tests, but I couldn't find a direct analog in any API test, so I used
the "plugins" model used by the intel-pt tests as well.
---------
Co-authored-by: Kevin Frei <freik at meta.com>
Commit: 86ab10c4d9722574bafaf79e8d553d46dcdb7372
https://github.com/llvm/llvm-project/commit/86ab10c4d9722574bafaf79e8d553d46dcdb7372
Author: Vijay Kandiah <vkandiah at nvidia.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M flang/docs/FlangDriver.md
M flang/include/flang/Tools/CLOptions.inc
M flang/include/flang/Tools/CrossToolHelpers.h
M flang/lib/Frontend/FrontendActions.cpp
M flang/tools/bbc/bbc.cpp
M flang/tools/tco/tco.cpp
Log Message:
-----------
[flang] Added extension point callbacks to default FIR optimizer pipeline. (#90674)
This change inserts a few extension point callbacks in the
DefaultFIROptimizerPassPipeline. As an example usage of callbacks in the
FIR optimizer pipeline, the FIRInlinerCallback is now used to register
the default MLIR inliner pass in flang-new, tco, and bbc compilation
flows. Other compilation flows can use these callbacks to add extra
passes at different points of the pass pipeline.
---------
Co-authored-by: Vijay Kandiah <vkandiah at sky6.pgi.net>
Commit: c7209cbb8be7a3c658137679d760ce9d70baded8
https://github.com/llvm/llvm-project/commit/c7209cbb8be7a3c658137679d760ce9d70baded8
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Assert that there's a resume phi for epilogue loops (NFC).
This patch adds an assert to createAndCollectMergePhiForReduction to
make sure there is a resume phi when vectorizing the epilogue loop. This
is needed to set the resume value from the main vector loop.
This assertion guards against the issue caused the revert of
https://github.com/llvm/llvm-project/pull/78304.
Commit: ee63f287e013ab3424372034d4d5a95512ab5b6b
https://github.com/llvm/llvm-project/commit/ee63f287e013ab3424372034d4d5a95512ab5b6b
Author: Zequan Wu <zequanwu at google.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M lldb/tools/lldb-dap/JSONUtils.cpp
Log Message:
-----------
[lldb-dap] Minor cleanup.
Fix #85974.
Commit: 64f6f905bcb03f6d821c6a24e5add1290212978a
https://github.com/llvm/llvm-project/commit/64f6f905bcb03f6d821c6a24e5add1290212978a
Author: Billy Zhu <billyzhu at modular.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M mlir/lib/Target/LLVMIR/DebugTranslation.cpp
M mlir/test/Target/LLVMIR/llvmir-debug.mlir
Log Message:
-----------
[MLIR][LLVM] CallSiteLoc without caller scope not translatable (#90759)
If a CallSiteLoc's caller cannot be translated (returns null), we cannot
simply return the translation of the callee location. This is because
the resulting DILocation will not have any InlinedAt field for the
function it is in, and will fail the LLVM IR verifier.
Commit: 0558c7e01db81b3ac307fe59737fefd8bd060873
https://github.com/llvm/llvm-project/commit/0558c7e01db81b3ac307fe59737fefd8bd060873
Author: Nico Weber <thakis at chromium.org>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M llvm/utils/gn/secondary/lldb/test/BUILD.gn
Log Message:
-----------
[gn] port 2d4acb086541 (LLVM_ENABLE_CURL)
Commit: d4a25976df791aa2ba12e2dde69e644e0d9fe152
https://github.com/llvm/llvm-project/commit/d4a25976df791aa2ba12e2dde69e644e0d9fe152
Author: zhijian lin <zhijian at ca.ibm.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M clang/lib/Basic/Targets/PPC.cpp
M clang/lib/Basic/Targets/PPC.h
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/test/CodeGen/aix-builtin-cpu-is.c
A clang/test/CodeGen/aix-builtin-cpu-supports.c
A clang/test/CodeGen/multi-aix-builtin-cpu-supports.c
M clang/test/Sema/aix-builtin-cpu-unsupports.c
A clang/test/Sema/builtin-cpu-unsupports-AIX-Os.c
M llvm/include/llvm/TargetParser/PPCTargetParser.def
Log Message:
-----------
Implement a subset of builtin_cpu_supports() features (#82809)
The PR implements a subset of features of function
__builtin_cpu_support() for AIX OS based on the information which AIX
kernel runtime variable `_system_configuration` and function call `getsystemcfg()` of
/usr/include/sys/systemcfg.h in AIX OS can provide.
Following subset of features are supported in the PR
"arch_3_00", "arch_3_1","booke","cellbe","darn","dfp","dscr" ,"ebb","efpsingle","efpdouble","fpu","htm","isel",
"mma","mmu","pa6t","power4","power5","power5+","power6x","ppc32","ppc601","ppc64","ppcle","smt",
"spe","tar","true_le","ucache","vsx"
Commit: 57216f7bd64a78af6e037b34662ed49a6221734b
https://github.com/llvm/llvm-project/commit/57216f7bd64a78af6e037b34662ed49a6221734b
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/GCNDPPCombine.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.fp8.dpp.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.fp8.dpp.mir
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.fp8.ll
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp8.s
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1_dpp8.txt
Log Message:
-----------
[AMDGPU] Support byte_sel modifier for v_cvt_f32_fp8 and v_cvt_f32_bf8 (#90887)
Commit: dcf376aae738252fb52a73bcf7f58fd030e15ee2
https://github.com/llvm/llvm-project/commit/dcf376aae738252fb52a73bcf7f58fd030e15ee2
Author: Augusto Noronha <augusto2112 at me.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M llvm/lib/IR/LLVMContextImpl.h
M llvm/unittests/IR/DebugInfoTest.cpp
Log Message:
-----------
[DebugInfo] Make DISubprogram's hashing always produce the same result (#90770)
A DISubprogram's hashing algorithm takes into account its Scope. A Scope
can be a temporary though which can be replaced later on during
compilation. This means that the hashing algorithm for a DISubprogram
could produce a different hash before/after the Scope has changed. Fix
this by checking the Scope's linkage name instead, which should always
be the same.
rdar://127004707
Commit: 8805465e1d5b1a97dfea21f4c68ee6bb4f208eb7
https://github.com/llvm/llvm-project/commit/8805465e1d5b1a97dfea21f4c68ee6bb4f208eb7
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M clang/lib/CodeGen/CGVTables.cpp
M clang/test/CodeGenCXX/tmp-md-nodes2.cpp
Log Message:
-----------
[RemoveDIs][Clang] Resolve DILocalVariables used by DbgRecords (#90882)
This patch fixes debug records in clang, by adding support for debug
records to the only remaining place that refers to DbgVariableIntrinsics
directly and does not handle DbgVariableRecords.
Commit: 38f9c013a090b666328aecceac03dda84d2b14ca
https://github.com/llvm/llvm-project/commit/38f9c013a090b666328aecceac03dda84d2b14ca
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/test/CodeGen/SystemZ/atomic-load-08.ll
Log Message:
-----------
SystemZ: Stop casting fp typed atomic loads in the IR (#90768)
shouldCastAtomicLoadInIR is a hack that should be removed. Simple
bitcasting of operations should be in the domain of ordinary type
legalization and does not need to be done in the IR.
This introduces a code quality regression due to the hack currently used
to avoid using 128-bit values in the case where the floating point value
is ultimately used as an integer. This would be avoidable if there were
always a legal 128-bit type (like v2i64). This is a pretty niche
situation so I assume it's not important.
I implemented about 85% of the work necessary to make v2i64 legal, but
it was taking too long and I lack the necessary familiarity with systemz
to complete it. I've pushed it here for someone to pick up:
https://github.com/arsenm/llvm-project/pull/new/systemz-legal-v2i64
Depends #90861
Commit: 0e5ff6251fa215e74bfa570e88bb6c7bf12c46d8
https://github.com/llvm/llvm-project/commit/0e5ff6251fa215e74bfa570e88bb6c7bf12c46d8
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M libc/fuzzing/__support/CMakeLists.txt
A libc/fuzzing/__support/hashtable_fuzz.cpp
M libc/fuzzing/__support/uint_fuzz.cpp
M libc/src/__support/HashTable/generic/bitmask_impl.inc
Log Message:
-----------
[libc] add hashtable fuzzing (#87949)
Commit: eea81aa29848361eb5b24f24d2af643fdeb9adfd
https://github.com/llvm/llvm-project/commit/eea81aa29848361eb5b24f24d2af643fdeb9adfd
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/lib/Parse/ParseOpenMP.cpp
M clang/test/OpenMP/target_ast_print.cpp
M clang/test/OpenMP/target_map_messages.cpp
Log Message:
-----------
Revert "[OpenMP][TR12] change property of map-type modifier." (#90885)
Breaks
https://lab.llvm.org/buildbot/#/builders/5/builds/43086/steps/9/logs/stdio
Reverts llvm/llvm-project#90499
Commit: bce3bfced5fe0b01983d5ca1d4c86f3215d09e57
https://github.com/llvm/llvm-project/commit/bce3bfced5fe0b01983d5ca1d4c86f3215d09e57
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M llvm/test/Transforms/LoopVectorize/epilog-vectorization-any-of-reductions.ll
Log Message:
-----------
[LV] Add another epilogue test with an AnyOfReduction of i1.
Additional test case from
https://github.com/llvm/llvm-project/pull/78304.
Commit: 11f76b8511058a678382acf6811441d76431389e
https://github.com/llvm/llvm-project/commit/11f76b8511058a678382acf6811441d76431389e
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp
Log Message:
-----------
[AMDGPU] Use some merging/unmerging helpers in SILoadStoreOptimizer (#90866)
Factor out copyToDestRegs and copyFromSrcRegs for merging store sources
and unmerging load results. NFC.
Commit: 99b4532b8b724db5fcbb80b86053a4c7371f2c1e
https://github.com/llvm/llvm-project/commit/99b4532b8b724db5fcbb80b86053a4c7371f2c1e
Author: Maksim Panchenko <maks at fb.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M bolt/lib/Rewrite/LinuxKernelRewriter.cpp
A bolt/test/X86/linux-smp-locks.s
Log Message:
-----------
[BOLT] Add support for Linux kernel .smp_locks section (#90798)
Parse .smp_locks section entries and create fixups that are going to be
used to update the section before the binary emission.
Commit: 9cd218e4270c3e0e68d8fed0aa8401a4925e0f52
https://github.com/llvm/llvm-project/commit/9cd218e4270c3e0e68d8fed0aa8401a4925e0f52
Author: Maksim Panchenko <maks at fb.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M bolt/include/bolt/Rewrite/RewriteInstance.h
M bolt/lib/Rewrite/RewriteInstance.cpp
Log Message:
-----------
[BOLT] Refactor BOLT reserved space discovery (#90893)
Move code that checks for __bolt_reserved_{start,end} into a new
discoverBOLTReserved() function and call it from discoverFileObjects()
so that the reserved space info is accessible to passes. NFC for the
current set of binaries.
Commit: 9d4575c910c210c3780b1c882e09732464dd4f44
https://github.com/llvm/llvm-project/commit/9d4575c910c210c3780b1c882e09732464dd4f44
Author: Youngsuk Kim <youngsuk.kim at hpe.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M llvm/lib/CodeGen/RDFGraph.cpp
Log Message:
-----------
[llvm] Make lambda take const reference to prevent unneeded copy (NFC)
Closes #89198
Commit: 17f006207cb233e4988160fe8860cf082bbafe88
https://github.com/llvm/llvm-project/commit/17f006207cb233e4988160fe8860cf082bbafe88
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M libcxx/include/CMakeLists.txt
A libcxx/include/__ostream/basic_ostream.h
A libcxx/include/__ostream/print.h
M libcxx/include/istream
M libcxx/include/module.modulemap
M libcxx/include/ostream
M libcxx/include/sstream
M libcxx/include/syncstream
M libcxx/test/libcxx/input.output/file.streams/fstreams/traits_mismatch.verify.cpp
M libcxx/test/libcxx/input.output/iostream.format/output.streams/traits_mismatch.verify.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/std/input.output/syncstream/syncbuf/helpers.h
M libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/parse.pass.cpp
Log Message:
-----------
[libc++] Granularize <ostream> (#85537)
This also includes `<__ostream/basic_ostream.h>` in `<sstream>` now,
reducing the include time of `<complex>` from 819ms to 603ms.
Commit: b24aeef1cc4667f247ccf5d17913b1e1f2728d10
https://github.com/llvm/llvm-project/commit/b24aeef1cc4667f247ccf5d17913b1e1f2728d10
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port 17f006207cb2
Commit: 7298ae3b6d97777443aa89e38ab34b15482abfb3
https://github.com/llvm/llvm-project/commit/7298ae3b6d97777443aa89e38ab34b15482abfb3
Author: Björn Pettersson <bjorn.a.pettersson at ericsson.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
A clang/test/CodeGen/builtins-bitint.c
M clang/test/CodeGen/builtins.c
Log Message:
-----------
[clang][CodeGen] Fix in codegen for __builtin_popcountg/ctzg/clzg (#90845)
Make sure that the result from the popcnt/ctlz/cttz intrinsics is
unsigned casted to int, rather than casted as a signed value, when
expanding the __builtin_popcountg/__builtin_ctzg/__builtin_clzg
builtins.
An example would be
unsigned _BitInt(1) x = ...;
int y = __builtin_popcountg(x);
which previously was incorrectly expanded to
%1 = call i1 @llvm.ctpop.i1(i1 %0)
%cast = sext i1 %1 to i32
Since the input type is generic for those "g" versions of the builtins
the intrinsic call may return a value for which the sign bit is set
(that could typically for BitInt of size 1 and 2). So we need to emit a
zext rather than a sext to avoid negative results.
Commit: 90bd7234e36e5b3d63155f481b739ea463985631
https://github.com/llvm/llvm-project/commit/90bd7234e36e5b3d63155f481b739ea463985631
Author: Sylvestre Ledru <sylvestre at debian.org>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M clang/include/clang/Driver/Distro.h
M clang/lib/Driver/Distro.cpp
Log Message:
-----------
Add support of the next Ubuntu (Ubuntu 24.10 - Oracular Oriol)
Commit: 18058f2a32854d2d257cff47b28479b2ff425496
https://github.com/llvm/llvm-project/commit/18058f2a32854d2d257cff47b28479b2ff425496
Author: Youngsuk Kim <youngsuk.kim at hpe.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M llvm/lib/Support/GraphWriter.cpp
Log Message:
-----------
[llvm][GraphWriter] Resize std::string, instead of reassigning to substr (NFC)
* Don't call substr which creates a new string instance
* Only call string method if string length is larger than 140
Closes #90324
Commit: d129ea8d2fa347e63deec0791faf389b84f20ce1
https://github.com/llvm/llvm-project/commit/d129ea8d2fa347e63deec0791faf389b84f20ce1
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M libcxx/include/string
Log Message:
-----------
[libcxx] Align `__recommend() + 1` by __endian_factor (#90292)
This is detected by asan after #83774
Allocation size will be divided by `__endian_factor` before storing. If
it's not aligned,
we will not be able to recover allocation size to pass into
`__alloc_traits::deallocate`.
we have code like this
```
auto __allocation = std::__allocate_at_least(__alloc(), __recommend(__sz) + 1);
__p = __allocation.ptr;
__set_long_cap(__allocation.count);
void __set_long_cap(size_type __s) _NOEXCEPT {
__r_.first().__l.__cap_ = __s / __endian_factor;
__r_.first().__l.__is_long_ = true;
}
size_type __get_long_cap() const _NOEXCEPT {
return __r_.first().__l.__cap_ * __endian_factor;
}
inline ~basic_string() {
__annotate_delete();
if (__is_long())
__alloc_traits::deallocate(__alloc(), __get_long_pointer(), __get_long_cap());
}
```
1. __recommend() -> even size
2. `std::__allocate_at_least(__alloc(), __recommend(__sz) + 1)` - > not
even size
3. ` __set_long_cap() `- > lose one bit of size for __endian_factor == 2
(see `/ __endian_factor`)
4. `__alloc_traits::deallocate(__alloc(), __get_long_pointer(),
__get_long_cap())` -> uses even size (see `__get_long_cap`)
Commit: 26060de06378375f784b35df80ec6d43425e5908
https://github.com/llvm/llvm-project/commit/26060de06378375f784b35df80ec6d43425e5908
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Semantics/tools.h
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/test/Lower/CUDA/cuda-data-attribute.cuf
Log Message:
-----------
[flang][cuda] Lower device/managed/unified allocation to cuda ops (#90623)
Lower locals allocation of cuda device, managed and unified variables to
fir.cuda_alloc. Add fir.cuda_free in the function context finalization.
@vzakhari For some reason the PR #90526 has been closed when I merged PR
#90525. Just reopening one.
Commit: 0c2a508f4da225262a8d2a224e576bc507bf5e0b
https://github.com/llvm/llvm-project/commit/0c2a508f4da225262a8d2a224e576bc507bf5e0b
Author: Eric Fiselier <eric at efcs.ca>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M libcxx/utils/ci/docker-compose.yml
Log Message:
-----------
Bump actions runner image used for libc++'s builders.
The builders are not producing warnings about the runner version being
out of date. This is an attempt to fix that.
Commit: 39172bcfe4ca6f4db09da0f76a3e324dd3888a51
https://github.com/llvm/llvm-project/commit/39172bcfe4ca6f4db09da0f76a3e324dd3888a51
Author: Chris B <chris.bieneman at me.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M clang/lib/AST/ASTContext.cpp
M clang/lib/Basic/TargetInfo.cpp
M clang/lib/Basic/Targets/DirectX.h
A clang/test/SemaHLSL/Types/Arithmetic/half_size.hlsl
Log Message:
-----------
[HLSL] Cleanup TargetInfo handling (#90694)
We had some odd places where we set target behaviors. We were setting
the long size in target-specific code, but it should be language-based.
We were not setting the Half float type semantics correctly, and instead
were overriding the query in the AST context.
This change it moves existing code to the right places in the Target so
that as we continue working on target and language feature they are
controlled in the right places.
It also fixes a bug where the size of `half` was computed incorrectly
when native half types are not supported.
Commit: 4113e15153d5af39a12c6bcf16e6b35614dc13a2
https://github.com/llvm/llvm-project/commit/4113e15153d5af39a12c6bcf16e6b35614dc13a2
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M clang/lib/CodeGen/CodeGenFunction.h
A clang/test/Profile/debug-info-instr_profile_switch.cpp
Log Message:
-----------
[clang][PGO] Apply artificial DebugLoc to llvm.instrprof.increment instructions (#90717)
Prior to this change the debug-location for the
`llvm.instrprof.increment` intrinsic was set to whatever the current
DIBuilder's current debug location was set to. This meant that for
switch-statements, a counter's location was set to the previous case's
debug-location, causing confusing stepping behaviour in debuggers. This
patch makes sure we attach a dummy debug-location for the increment
instructions.
rdar://123050737
Commit: 954d00e87cdd77d0e9e367be52e62340467bd779
https://github.com/llvm/llvm-project/commit/954d00e87cdd77d0e9e367be52e62340467bd779
Author: Jason Molenda <jmolenda at apple.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
Log Message:
-----------
[lldb] MachO delay-init binaries don't load as dependent
Commit: 9dca7dde3ff2e1471ef4fc145b56d7bea4d06ae8
https://github.com/llvm/llvm-project/commit/9dca7dde3ff2e1471ef4fc145b56d7bea4d06ae8
Author: Anlun Xu <anlunx at google.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
Fix MLIR BUILD
Commit: 2d15855adf6afac3f4171a24fd18b65a32eedf78
https://github.com/llvm/llvm-project/commit/2d15855adf6afac3f4171a24fd18b65a32eedf78
Author: Jason Molenda <jmolenda at apple.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M lldb/tools/debugserver/source/MacOSX/MachProcess.mm
M lldb/tools/debugserver/source/MacOSX/arm64/DNBArchImplARM64.cpp
Log Message:
-----------
[lldb] [debugserver] address preprocessor warning, extra arg (#90808)
In DNBArchImplARM64.cpp I'm doing
```
#if __has_feature(ptrauth_calls) && defined(__LP64__)
```
And the preprocessor warns that this is not defined behavior. This
checks if ptrauth_calls is available and if this is being compiled
64-bit (i.e. arm64e), and defines a single DEBUGSERVER_IS_ARM64E when
those are both true.
I did have to duplicate one DNBLogThreaded() call which itself is a
macro, and using an ifdef in the middle of macro arguments also got me a
warning from the preprocessor.
While testing this for all the different targets, I found a DNBError
initialization that accepts a c-string but I'm passing in a printf-style
formatter c-string and an argument. Create the string before the call
and pass in the constructed string.
rdar://127129242
Commit: a7e9e3eb8b44bc3a6f14f0af71e555e2cac6ef41
https://github.com/llvm/llvm-project/commit/a7e9e3eb8b44bc3a6f14f0af71e555e2cac6ef41
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M lldb/include/lldb/Host/Host.h
M lldb/source/Host/common/Host.cpp
M lldb/source/Host/macosx/objcxx/Host.mm
Log Message:
-----------
[lldb] Add a log level to Host::SystemLog (#90904)
Add the ability to specify a log level to Host::SystemLog.
Commit: 83fdcf234ff37f3e3c2f99fb8de9b9996fdd7f49
https://github.com/llvm/llvm-project/commit/83fdcf234ff37f3e3c2f99fb8de9b9996fdd7f49
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/test/Instrumentation/MemorySanitizer/vscale.ll
Log Message:
-----------
[msan] Fix vscale alloca poisoning (#90912)
Commit: 9058ce523a7300c68eeedf3fbd170cd18b73f27f
https://github.com/llvm/llvm-project/commit/9058ce523a7300c68eeedf3fbd170cd18b73f27f
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M llvm/test/Instrumentation/MemorySanitizer/vscale.ll
Log Message:
-----------
[msan] Add vscale origin test
Commit: ff210b94d449de8ebe1f32cf0d7763ba63b27b39
https://github.com/llvm/llvm-project/commit/ff210b94d449de8ebe1f32cf0d7763ba63b27b39
Author: Pavel Iliin <Pavel.Iliin at arm.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M clang/test/CodeGen/attr-target-clones-aarch64.c
Log Message:
-----------
[FMV][NFC] Add test for bti and mte check in resolver.
Commit: 18707f53d6d2665634373847a0e9bdcbcac88c57
https://github.com/llvm/llvm-project/commit/18707f53d6d2665634373847a0e9bdcbcac88c57
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M clang/test/Profile/debug-info-instr_profile_switch.cpp
Log Message:
-----------
[clang][PGO][test] Relax FileCheck patterns in debug-info-instr_profile_switch.cpp (#90916)
Caused build-bot failures on various platforms.
Commit: 3016c0636fd2df86d2c1dc8e7d49efe77a1bdedf
https://github.com/llvm/llvm-project/commit/3016c0636fd2df86d2c1dc8e7d49efe77a1bdedf
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/test/Instrumentation/MemorySanitizer/vector-load-store.ll
M llvm/test/Instrumentation/MemorySanitizer/vscale.ll
Log Message:
-----------
[NFCI][msan] Use IntPtr for vscales origin for consistency (#90920)
Commit: ff0d09c4965d529c24e49823bab654d39dc20d07
https://github.com/llvm/llvm-project/commit/ff0d09c4965d529c24e49823bab654d39dc20d07
Author: alx32 <103613512+alx32 at users.noreply.github.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M lld/MachO/ObjC.cpp
Log Message:
-----------
[lld-macho][NFC] Simplify category merging code (#90856)
We modify category merging code to simplify it, as follows:
- We can simplify InfoWriteSection to not be templated - this is not
really necessary.
- We remove PointerListInfo::categoryOffset as it is not used.
Commit: aae3835ecdf598e212d73265a6bea9e50187b546
https://github.com/llvm/llvm-project/commit/aae3835ecdf598e212d73265a6bea9e50187b546
Author: alx32 <103613512+alx32 at users.noreply.github.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M lld/MachO/ObjC.cpp
M lld/test/MachO/objc-category-merging-complete-test.s
M lld/test/MachO/objc-category-merging-extern-class-minimal.s
Log Message:
-----------
[lld-macho] Make category merging symbol names match ld64 (#90864)
When generating symbols for various category constructs, make sure the
symbol names match the format of those generated by ld64 when it does
category merging.
Commit: 6d7d8e5b59cb0a66765ccf657814ae6039e27931
https://github.com/llvm/llvm-project/commit/6d7d8e5b59cb0a66765ccf657814ae6039e27931
Author: Volodymyr Sapsai <vsapsai at apple.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M clang/lib/Serialization/ASTReaderDecl.cpp
A clang/test/Modules/odr_hash-enum.c
Log Message:
-----------
[Modules] Detect ODR mismatches for enums in non-C++ like in C++. (#90298)
There is no reason for C and Objective-C to differ from C++ in this
matter.
rdar://85531830
Commit: 1949856126df50c0ea4ee2f507d24613bd54824a
https://github.com/llvm/llvm-project/commit/1949856126df50c0ea4ee2f507d24613bd54824a
Author: Aart Bik <ajcbik at google.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M mlir/lib/Dialect/SparseTensor/Pipelines/SparseTensorPipelines.cpp
Log Message:
-----------
[mlir][sparse] add linalg elt-wise fusion to sparsifier pipeline (#90924)
yields better IR in general, and all end-to-end tests pass!
Commit: fd3e7e3a1e661482f46cd0347d0fa62adef30177
https://github.com/llvm/llvm-project/commit/fd3e7e3a1e661482f46cd0347d0fa62adef30177
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86InstrAVX512.td
M llvm/lib/Target/X86/X86InstrSSE.td
M llvm/test/CodeGen/X86/vector-llrint.ll
M llvm/test/CodeGen/X86/vector-lrint.ll
Log Message:
-----------
[X86] Adding lowerings for vector ISD::LRINT and ISD::LLRINT (#90065)
- [V]CVTP[D,S]2DQ supports `f64/f32` -> `i32` conversions that can be
mapped to `llvm.lrint.vNi32.vNf64/32` since SSE2. AVX and AVX512 added
256-bit and 512-bit support;
- VCVTP[D,S]2QQ supports `f64/f32` -> `i64` conversions that can be
mapped to `llvm.l[l]rint.vNi64.vNf64/32` since AVX512DQ. All 128-bit,
256-bit (require AVX512VL) and 512-bit are supported.
Commit: fc83eda46ed2e8d6e121cc9b3c04669651e23ad0
https://github.com/llvm/llvm-project/commit/fc83eda46ed2e8d6e121cc9b3c04669651e23ad0
Author: Peiming Liu <peiming at google.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
M mlir/lib/Dialect/SparseTensor/Utils/Merger.cpp
M mlir/test/Dialect/SparseTensor/sparse_fusion.mlir
Log Message:
-----------
[mlir][sparse] make sparse compiler more admissible. (#90927)
Commit: b0eeacb20379f6d80079793b8461f56c240e6570
https://github.com/llvm/llvm-project/commit/b0eeacb20379f6d80079793b8461f56c240e6570
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M llvm/include/llvm/IR/PatternMatch.h
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/icmp-of-trunc-ext.ll
Log Message:
-----------
[InstCombine] Fold icmp of trunc nuw/nsw (#90436)
Convert the existing foldICmpTruncWithTruncOrExt() fold to work with
trunc nowrap flags instead of computeKnownBits(). This also allows us to
generalize the fold to work with signed comparisons.
Interestingly, apart from the obvious combinations like signed
predicates with trunc nsw, some non-obvious ones are also legal. For
example for unsigned predicates we can do the transform for two trunc
nsw as well (rather than only trunc nuw).
Proofs: https://alive2.llvm.org/ce/z/ndewwK
Commit: 43a38e2759e81beaf41224a58c04b9db603e62aa
https://github.com/llvm/llvm-project/commit/43a38e2759e81beaf41224a58c04b9db603e62aa
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M llvm/lib/Analysis/MemoryBuiltins.cpp
M llvm/test/Instrumentation/BoundsChecking/simple.ll
Log Message:
-----------
[BoundsChecking] Handle vscale allocas (#90926)
Commit: d2af1ea81dd0170133c53ebd67c9a9be125dfd31
https://github.com/llvm/llvm-project/commit/d2af1ea81dd0170133c53ebd67c9a9be125dfd31
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M clang/lib/Format/UnwrappedLineParser.cpp
Log Message:
-----------
[clang-format][NFC] Minor improvement to parseLabel()
Commit: b62c45cfe514237f71a7f461ba283dd13a92bfe0
https://github.com/llvm/llvm-project/commit/b62c45cfe514237f71a7f461ba283dd13a92bfe0
Author: jyu2-git <jennifer.yu at intel.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M clang/lib/Parse/ParseOpenMP.cpp
Log Message:
-----------
Fix sanitize problem. (#90800)
Currently isMapType could return OpenMPMapModifierKind.
The change is to return OpenMPMapTypeKind only, if it is not MapType
Kind OMPC_MAP_unknown is returned.
Commit: 6b948705a05261a2ff31cd7e6ea8319d1852ddfc
https://github.com/llvm/llvm-project/commit/6b948705a05261a2ff31cd7e6ea8319d1852ddfc
Author: Franklin Zhang <zhangfenglei at huawei.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/include/llvm/Transforms/AggressiveInstCombine/AggressiveInstCombine.h
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
R llvm/test/Transforms/AggressiveInstCombine/strcmp.ll
A llvm/test/Transforms/AggressiveInstCombine/strncmp-1.ll
A llvm/test/Transforms/AggressiveInstCombine/strncmp-2.ll
Log Message:
-----------
[AggressiveInstCombine] Inline strcmp/strncmp (#89371)
Inline calls to strcmp(s1, s2) and strncmp(s1, s2, N), where N and
exactly one of s1 and s2 are constant.
For example:
```c
int res = strcmp(s, "ab");
```
is converted to
```c
int res = (int)s[0] - (int)'a';
if (res != 0)
goto END;
res = (int)s[1] - (int)'b';
if (res != 0)
goto END;
res = (int)s[2] - (int)'\0';
END:
```
Ported from a similar gcc feature [Inline strcmp with small constant
strings](https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78809).
Commit: 37f6ba4fb2db2c78cda7d0a69cd0a2eff2b924e3
https://github.com/llvm/llvm-project/commit/37f6ba4fb2db2c78cda7d0a69cd0a2eff2b924e3
Author: NimishMishra <42909663+NimishMishra at users.noreply.github.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M flang/include/flang/Lower/AbstractConverter.h
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.h
M flang/test/Lower/OpenMP/default-clause-byref.f90
M flang/test/Lower/OpenMP/default-clause.f90
Log Message:
-----------
[flang][OpenMP] Fix construct privatization in default clause (#72510)
Current implementation of default clause privatization incorrectly fails
to privatize in presence of non-OpenMP constructs (i.e. nested
constructs with regions whose symbols need to be privatized in the scope
of the parent OpenMP construct). This patch fixes the same by
considering non-OpenMP constructs separately by collecting symbols of a
nested region if it is a non-OpenMP construct with a region, and
privatizing it in the scope of the parent OpenMP construct.
Fixes https://github.com/llvm/llvm-project/issues/71914 and
https://github.com/llvm/llvm-project/issues/71915
Commit: e8cda376a74c50e9f640d26ed36a369b924685ed
https://github.com/llvm/llvm-project/commit/e8cda376a74c50e9f640d26ed36a369b924685ed
Author: Christian Sigg <csigg at google.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/unittests/BUILD.bazel
Log Message:
-----------
[llvm][bazel] Fix BUILD after dcf376aae738252fb52a73bcf7f58fd030e15ee2.
Commit: 4ad696231bc7d398c0f4430e60cfc6ab4c7e880e
https://github.com/llvm/llvm-project/commit/4ad696231bc7d398c0f4430e60cfc6ab4c7e880e
Author: Christian Sigg <csigg at google.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M mlir/test/Dialect/Transform/irdl.mlir
Log Message:
-----------
[mlir] Fix test added in 105c992c83aa527c6c50d60becd4d66b476b0a32.
Commit: f8fedfb6802173372ec923f99f31d4af810fbcb0
https://github.com/llvm/llvm-project/commit/f8fedfb6802173372ec923f99f31d4af810fbcb0
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M lldb/packages/Python/lldbsuite/test/make/Makefile.rules
Log Message:
-----------
[lldb] Fix TestSharedLibStrippedSymbols for #90622
`ifeq` needs to be at the beginning of a line, otherwise it's
interpreted as part of the recipe.
Commit: 922ab7089b2eb234afa6fa0e7db85110cd8a3351
https://github.com/llvm/llvm-project/commit/922ab7089b2eb234afa6fa0e7db85110cd8a3351
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
A mlir/test/Target/LLVMIR/openmp-omp.private-dealloc.mlir
Log Message:
-----------
[MLIR][OpenMP] Extend omp.private materialization support: `dealloc` (#90841)
Extends current support for delayed privatization during translation to
LLVM IR. This adds support for materlizaing the `dealloc` region in
`omp.private` ops when this region contains clean-up/deallocation logic
that needs to be executed at the end of the parallel region.
This changes the `OMPIRBuilder` slightly to execute the finalization
callback **after** the privatization callback. This allows us to collect
information about privatized variables on the MLIR and LLVM sides so
that we can properly emit deallocation logic.
Commit: b03e7a51dd9be2f3be09062a7762dd3507b04b26
https://github.com/llvm/llvm-project/commit/b03e7a51dd9be2f3be09062a7762dd3507b04b26
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M llvm/test/Instrumentation/HWAddressSanitizer/alloca.ll
Log Message:
-----------
[HWASAN] Regenerate a test (#90943)
Commit: e450f987286b983328e0b9e65630b656dec291de
https://github.com/llvm/llvm-project/commit/e450f987286b983328e0b9e65630b656dec291de
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M lldb/source/Utility/Scalar.cpp
M lldb/test/API/python_api/type/TestTypeList.py
M lldb/test/API/python_api/type/main.cpp
M lldb/unittests/Utility/ScalarTest.cpp
Log Message:
-----------
[lldb] Fix Scalar::GetData for non-multiple-of-8-bits values (#90846)
It was aligning the byte size down. Now it aligns up. This manifested
itself as SBTypeStaticField::GetConstantValue returning a zero-sized
value for `bool` fields (because clang represents bool as a 1-bit
value).
I've changed the code for float Scalars as well, although I'm not aware
of floating point values that are not multiples of 8 bits.
Commit: 70b5a22678cf38982086762b0b2ec02eb8f9dbc2
https://github.com/llvm/llvm-project/commit/70b5a22678cf38982086762b0b2ec02eb8f9dbc2
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
M llvm/test/Instrumentation/HWAddressSanitizer/alloca.ll
Log Message:
-----------
[hwasan] Don't crash on vscale allocas (#90932)
getAllocaSizeInBytes will crash casting size to
constant.
Commit: 9731b77e80261c627d79980f8c275700bdaf6591
https://github.com/llvm/llvm-project/commit/9731b77e80261c627d79980f8c275700bdaf6591
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
M llvm/docs/LangRef.rst
M llvm/docs/ReleaseNotes.rst
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.h
M llvm/lib/Target/AMDGPU/SIModeRegisterDefaults.cpp
M llvm/lib/Target/AMDGPU/SIModeRegisterDefaults.h
A llvm/test/CodeGen/AMDGPU/llvm.set.rounding.ll
Log Message:
-----------
AMDGPU: Implement llvm.set.rounding (#88587)
Use a shift of a magic constant and some offseting to convert from
flt_rounds values.
I don't know why the enum defines Dynamic = 7. The standard suggests -1
is the cannot determine value. If we could start the extended values at
4 we wouldn't need the extra compare sub and select.
https://reviews.llvm.org/D153257
Commit: 44648ccb8b7e68a5c259ec857fd4041fdd41c588
https://github.com/llvm/llvm-project/commit/44648ccb8b7e68a5c259ec857fd4041fdd41c588
Author: Carl Ritson <carl.ritson at amd.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/test/CodeGen/AMDGPU/pal-metadata-3.0.ll
Log Message:
-----------
[AMDGPU] Always emit lds_size in PAL ELF Metadata 3.0 (#87222)
Emit lds_size for all shader types in PAL metadata.
Commit: 6535e7a4004ebc45e9e544acab3ea4b421e0b5a9
https://github.com/llvm/llvm-project/commit/6535e7a4004ebc45e9e544acab3ea4b421e0b5a9
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M llvm/test/CodeGen/SystemZ/copy-phys-reg-gr128-to-vr128.mir
Log Message:
-----------
SystemZ: Remove redundant copy tests from 75f4baa70
Commit: edbe6ebb4dbc5a8e3207733c5fadd15da9b83fc9
https://github.com/llvm/llvm-project/commit/edbe6ebb4dbc5a8e3207733c5fadd15da9b83fc9
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/test/CodeGen/SystemZ/atomic-store-08.ll
Log Message:
-----------
SystemZ: Don't promote atomic store in IR (#90899)
This is the mirror to the recent atomic load change. The same
bitcast-back-to-integer case is a small code quality regression for the
same reason. This would disappear with a bitcastable legal 128-bit type.
Commit: e4b04b391ffcde180f9a8b1b83309b2163b44ce3
https://github.com/llvm/llvm-project/commit/e4b04b391ffcde180f9a8b1b83309b2163b44ce3
Author: Oleksandr "Alex" Zinenko <git at ozinenko.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/Transform/IR/TransformOps.td
M mlir/include/mlir/Dialect/Transform/Interfaces/TransformInterfaces.h
M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
M mlir/lib/Dialect/Transform/Interfaces/TransformInterfaces.cpp
M mlir/test/Dialect/Transform/foreach-match.mlir
M mlir/test/Dialect/Transform/ops-invalid.mlir
Log Message:
-----------
[mlir] make transform.foreach_match forward arguments (#89920)
It may be useful to have access to additional handles or parameters when
performing matches and actions in `foreach_match`, for example, to
parameterize the matcher by rank or restrict it in a non-trivial way.
Enable `foreach_match` to forward additional handles from operands to
matcher symbols and from action symbols to results.
Commit: 8480c93e36b33c237540e20c97cda8fb3d196f1f
https://github.com/llvm/llvm-project/commit/8480c93e36b33c237540e20c97cda8fb3d196f1f
Author: YanzuoLiu <zwuis at outlook.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaExpr.cpp
M clang/test/CXX/expr/expr.unary/expr.unary.op/p4.cpp
Log Message:
-----------
[clang] pointer to member with qualified-id enclosed in parentheses in unevaluated context should be invalid (#89713)
clang don't check whether the operand of the & operator is enclosed in
parantheses when pointer to member is formed in unevaluated context, for
example:
```cpp
struct foo { int val; };
int main() { decltype(&(foo::val)) ptr; }
```
`decltype(&(foo::val))` should be invalid, but clang accepts it. This PR
fixes this issue.
Fixes #40906.
---------
Co-authored-by: cor3ntin <corentinjabot at gmail.com>
Commit: ed299b3efd669c02fa37773d1ae49fca3556f729
https://github.com/llvm/llvm-project/commit/ed299b3efd669c02fa37773d1ae49fca3556f729
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutor.h
M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutorImpl.h
M llvm/include/llvm/Support/Compiler.h
M llvm/unittests/CodeGen/GlobalISel/CMakeLists.txt
A llvm/unittests/CodeGen/GlobalISel/GIMatchTableExecutorTest.cpp
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.cpp
Log Message:
-----------
[GlobalISel] Optimize ULEB128 usage (#90565)
- Remove some cases where ULEB128 isn't needed
- Add a fastDecodeULEB128 tailored for GlobalISel which does unchecked
decoding optimized for the common case, which is 1 byte values. We
rarely have >1 byte Inst IDs, OpIdx, etc. and those are the most common
ULEB users by far.
This specific LEB128 decode function generates almost 2x less
instructions than the generic one.
Commit: e47d7c697572a577b14fef7a1f44d779e4394af5
https://github.com/llvm/llvm-project/commit/e47d7c697572a577b14fef7a1f44d779e4394af5
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInsertSingleUseVDST.cpp
Log Message:
-----------
Fix MSVC signed/unsigned mismatch warning. NFC.
Commit: 7c64b53932b7f719a34a9edd89cc65b8e3c32167
https://github.com/llvm/llvm-project/commit/7c64b53932b7f719a34a9edd89cc65b8e3c32167
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/unittests/CodeGen/GlobalISel/BUILD.gn
Log Message:
-----------
[gn build] Port ed299b3efd66
Commit: b4e751e2ab0ff152ed18dea59ebf9691e963e1dd
https://github.com/llvm/llvm-project/commit/b4e751e2ab0ff152ed18dea59ebf9691e963e1dd
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/llvm.set.rounding.ll
Log Message:
-----------
AMDGPU: Optimize set_rounding if input is known to fit in 2 bits (#88588)
We don't need to figure out the weird extended rounding modes or
handle offsets to keep the lookup table in 64-bits.
https://reviews.llvm.org/D153258
Depends #88587
Commit: 385f59f9f570b77bf8bd636ba2f65a08a7227499
https://github.com/llvm/llvm-project/commit/385f59f9f570b77bf8bd636ba2f65a08a7227499
Author: Rin Dobrescu <irina.dobrescu at arm.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M llvm/include/llvm/MC/MCRegisterInfo.h
M llvm/lib/MCA/InstrBuilder.cpp
M llvm/test/tools/llvm-mca/AArch64/HiSilicon/tsv110-forwarding.s
A llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-zero-dependency.s
M llvm/utils/TableGen/RegisterInfoEmitter.cpp
Log Message:
-----------
[llvm-mca] Teach MCA constant registers do not create dependencies (#89387)
Constant registers like the zero registers XZR and WZR are treated as
any other register by LLVM-MCA. This can create non existent dependency
chains.
Currently there is no method in MCA to query if a register is constant.
This patch fixes the issue by adding a bool Constant
variable to MCRegisterDesc that is true for constant registers. Since
constant registers do not create dependencies, it makes sense to add
this check to MCA.
Commit: 9f9856d623559bcd970b52167f7ac096d76b2659
https://github.com/llvm/llvm-project/commit/9f9856d623559bcd970b52167f7ac096d76b2659
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
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/global_atomics_i32_system.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_i64_system.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fadd.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmax.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmin.ll
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-f32-system.ll
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-f64-system.ll
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i32-system.ll
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i64-system.ll
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-v2bf16-system.ll
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-v2f16-system.ll
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomicrmw-integer-ops-0-to-add-0.ll
M llvm/test/Transforms/InferAddressSpaces/AMDGPU/basic.ll
M llvm/test/Transforms/Inline/AMDGPU/inline-atomicrmw-md-preserve.ll
Log Message:
-----------
AMDGPU: Update name for amdgpu.no.remote.memory metadata
Commit: 4e67b5058ee54500c00844c3d2d26977e36eca1f
https://github.com/llvm/llvm-project/commit/4e67b5058ee54500c00844c3d2d26977e36eca1f
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/idemponent-atomics.ll
A llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-f32-agent.ll
A llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-f64-agent.ll
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i16.ll
A llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i32-agent.ll
A llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i64-agent.ll
A llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-v2bf16-agent.ll
A llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-v2f16-agent.ll
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomicrmw-integer-ops-0-to-add-0.ll
Log Message:
-----------
AMDGPU: Add more tests for atomicrmw handling
Add agent scope copies of atomicrmw atomics tests.
Expand testing for the undo identity atomicrmw case.
Test 16-bit atomic expansions.
Commit: fb1c2dbc0a6ba641e0b39e0692ec6a4ee4444c4b
https://github.com/llvm/llvm-project/commit/fb1c2dbc0a6ba641e0b39e0692ec6a4ee4444c4b
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M clang/lib/AST/Interp/Descriptor.cpp
M clang/lib/AST/Interp/Descriptor.h
M clang/lib/AST/Interp/Interp.h
M clang/lib/AST/Interp/Program.cpp
M clang/test/AST/Interp/builtin-align-cxx.cpp
M clang/test/AST/Interp/c.c
Log Message:
-----------
Revert "Reapply "[clang][Interp] Create full type info for dummy pointers""
This reverts commit 1aeb64c8ec7b96b2301929d8a325a6e1d9ddaa2f.
Due to failures in 32 bit Arm builds:
https://lab.llvm.org/buildbot/#/builders/245/builds/24041
Commit: 6086f694df10b57b75ed05494832f61e1e2ad59f
https://github.com/llvm/llvm-project/commit/6086f694df10b57b75ed05494832f61e1e2ad59f
Author: whisperity <whisperity at gmail.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M clang-tools-extra/clang-tidy/cert/CERTTidyModule.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/docs/clang-tidy/checks/cert/int09-c.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/enum-initial-value.rst
Log Message:
-----------
[clang-tidy] Add 'cert-int09-c' alias for 'readability-enum-initial-value' (#90868)
The check's ruling exactly matches the corresponding CERT C
Recommendation, and, as such, worth a trivial alias.
Commit: 1efc1918502bd8c9cf2431af38d754878eac071a
https://github.com/llvm/llvm-project/commit/1efc1918502bd8c9cf2431af38d754878eac071a
Author: Youngsuk Kim <youngsuk.kim at hpe.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
Log Message:
-----------
[clang][Driver] Iterate with const reference (NFC)
Closes #90282
Commit: 256797e594427df308058a066669d6236d3add3f
https://github.com/llvm/llvm-project/commit/256797e594427df308058a066669d6236d3add3f
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M llvm/include/llvm/IR/DebugProgramInstruction.h
Log Message:
-----------
[NFC][RemoveDIs] Fix some comments in DebugProgramInstruction.h
Commit: 2933ef2da9103122a52066a1c680046d1bdacaed
https://github.com/llvm/llvm-project/commit/2933ef2da9103122a52066a1c680046d1bdacaed
Author: Youngsuk Kim <youngsuk.kim at hpe.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M clang/lib/Driver/ToolChains/HIPUtility.cpp
Log Message:
-----------
[clang][HIPUtility] Iterate by const reference (NFC)
Closes #90284
Commit: bcdbd0bf50a3845130c5db9e3284f056233f12d7
https://github.com/llvm/llvm-project/commit/bcdbd0bf50a3845130c5db9e3284f056233f12d7
Author: Youngsuk Kim <youngsuk.kim at hpe.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
Log Message:
-----------
[llvm][DataFlowSanitizer] Don't pass vector by value (NFC)
Closes #89201
Commit: fc7e74e879f37301edd9450d3bbf0fec620338a6
https://github.com/llvm/llvm-project/commit/fc7e74e879f37301edd9450d3bbf0fec620338a6
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/X86/intrinsic-cost-kinds.ll
M llvm/test/Analysis/CostModel/X86/masked-intrinsic-codesize.ll
M llvm/test/Analysis/CostModel/X86/masked-intrinsic-latency.ll
M llvm/test/Analysis/CostModel/X86/masked-intrinsic-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-replication-i1-codesize.ll
M llvm/test/Analysis/CostModel/X86/shuffle-replication-i1-latency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-replication-i1-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-replication-i16-codesize.ll
M llvm/test/Analysis/CostModel/X86/shuffle-replication-i16-latency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-replication-i16-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-replication-i8-codesize.ll
M llvm/test/Analysis/CostModel/X86/shuffle-replication-i8-latency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-replication-i8-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/trunc-codesize.ll
M llvm/test/Analysis/CostModel/X86/trunc-latency.ll
M llvm/test/Analysis/CostModel/X86/trunc-sizelatency.ll
Log Message:
-----------
[CostModel][X86] getCastInstrCost - improve CostKind adjustment when splitting src/dst types
Noticed in #90883 review - for non-Throughput costs, we weren't applying the split count to '0 or 1' cost value.
This still doesn't work well as many of the type legalizations are hidden so we don't have the split count, really we need to move a CostKindCosts based costs table, but that's going to be a lot of work :/
Commit: 1d43cdc9f5bae92fefb996a98d1ca48878c1c28f
https://github.com/llvm/llvm-project/commit/1d43cdc9f5bae92fefb996a98d1ca48878c1c28f
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reverse-load-store.ll
Log Message:
-----------
[LV][EVL]Support reversed loads/stores.
Support for predicated vector reverse intrinsic was added some time ago.
Adds support for predicated reversed loads/stores in the loop
vectorizer.
Reviewers: fhahn
Reviewed By: fhahn
Pull Request: https://github.com/llvm/llvm-project/pull/88025
Commit: 18e7dcb7c5765d89e36af9a56354525efd685b83
https://github.com/llvm/llvm-project/commit/18e7dcb7c5765d89e36af9a56354525efd685b83
Author: Corentin Ferry <corentin.ferry at amd.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M mlir/lib/Conversion/ArithToEmitC/ArithToEmitC.cpp
A mlir/test/Conversion/ArithToEmitC/arith-to-emitc-unsupported.mlir
M mlir/test/Conversion/ArithToEmitC/arith-to-emitc.mlir
Log Message:
-----------
[mlir][emitc] Arith to EmitC: handle floating-point<->integer conversions (#87614)
Add support for floating-point to integer, integer to floating-point
conversions. Floating point conversions to 1-bit integer types are not
handled at the moment, as these don't map directly to boolean
conversions.
Commit: 91446e2aa687ec57ad88dc0df793d0c6e694a7c9
https://github.com/llvm/llvm-project/commit/91446e2aa687ec57ad88dc0df793d0c6e694a7c9
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M llvm/docs/ReleaseNotes.rst
M llvm/include/llvm/AsmParser/LLParser.h
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/IR/DebugProgramInstruction.cpp
M llvm/lib/IR/Function.cpp
M llvm/lib/IR/Module.cpp
M llvm/tools/llvm-as/llvm-as.cpp
M llvm/tools/llvm-dis/llvm-dis.cpp
M llvm/tools/llvm-link/llvm-link.cpp
M llvm/unittests/Analysis/IRSimilarityIdentifierTest.cpp
M llvm/unittests/IR/BasicBlockDbgInfoTest.cpp
M llvm/unittests/IR/DebugInfoTest.cpp
M llvm/unittests/IR/IRBuilderTest.cpp
M llvm/unittests/IR/InstructionsTest.cpp
M llvm/unittests/IR/ValueTest.cpp
M llvm/unittests/Transforms/Utils/CloningTest.cpp
M llvm/unittests/Transforms/Utils/LocalTest.cpp
Log Message:
-----------
Repply#2 "[RemoveDIs] Load into new debug info format by default in LLVM (#89799)"
Reapplies the original commit:
2f01fd99eb8c8ab3db9aba72c4f00e31e9e60a05
The previous application of this patch failed due to some missing
DbgVariableRecord support in clang, which has been added now by commit
8805465e.
This will probably break some downstream tools that don't already handle
debug records. If your downstream code breaks as a result of this
change, the simplest fix is to convert the module in question to the old
debug format before you process it, using
`Module::convertFromNewDbgValues()`. For more information about how to
handle debug records or about what has changed, see the migration
document:
https://llvm.org/docs/RemoveDIsDebugInfo.html
This reverts commit 4fd319ae273ed6c252f2067909c1abd9f6d97efa.
Commit: 5850f6ba9b2c14d8457c6e8455483a20b2bf3636
https://github.com/llvm/llvm-project/commit/5850f6ba9b2c14d8457c6e8455483a20b2bf3636
Author: agozillon <Andrew.Gozillon at amd.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M flang/lib/Semantics/resolve-directives.cpp
M flang/test/Semantics/OpenMP/map-clause.f90
Log Message:
-----------
[Flang][OpenMP] Parse and semantically analyze common blocks in map clauses correctly (#89847)
Currently, you cannot provide the common block syntax that you should be
able to provide for map clauses (and that you can for declare target)
e.g.:
` !$omp target map(tofrom: /var/)`
This PR seeks to change that and allow this syntax via a small tweak,
which may also allow a wider range of types to be provided without issue
as well via the utilisation of ResolveOmpObject a helper function used
by the majority of other OmpObject handling clauses.
A by product of this change, is that we now emit an error for the
following syntax, when provided to map clauses with an assumed size
array:
`!$omp target map(arr(:))`
This seems inline with the specification from what I understand of it
(do feel free to correct me if that is not your reading or I am
incorrect!) and other OpenMP compilers i.e. gfortran, ifx, ifort.
Commit: 642117105d4f7944b7944f9b2a6ba9993fb68ed9
https://github.com/llvm/llvm-project/commit/642117105d4f7944b7944f9b2a6ba9993fb68ed9
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Driver/Options.td
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/test/CodeGen/attr-mustprogress.c
M clang/test/CodeGenCXX/attr-mustprogress.cpp
M clang/www/cxx_status.html
Log Message:
-----------
[Clang] Implement P2809: Trivial infinite loops are not Undefined Behavior (#90066)
https://wg21.link/P2809R3
This is applied as a DR to C++11 (C++98 did not guarantee forward
progress and is left untouched)
As an extension (and to preserve existing behavior in C), we consider
all controlling expression that can be constant folded
in the front end, not just standard constant expressions.
Commit: fcf86cc577546946de97893c859dbb4836170f9b
https://github.com/llvm/llvm-project/commit/fcf86cc577546946de97893c859dbb4836170f9b
Author: Leandro Lupori <leandro.lupori at linaro.org>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M flang/test/Lower/OpenMP/default-clause.f90
Log Message:
-----------
[flang][OpenMP] Refactor nested default clause tests (#85978)
Split nested default clause tests into multiple subroutines, to
make it easier to find failures. While here, fix indentation of
the modified lines.
Commit: a48ebb8276408fa88cf7060ddc68f4eda1b62def
https://github.com/llvm/llvm-project/commit/a48ebb8276408fa88cf7060ddc68f4eda1b62def
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Check type directly in ::isCanonical (NFC).
Directly check the type of the wide induction matches the canonical
induction.
Refactor suggested in and in preparation for
https://github.com/llvm/llvm-project/pull/89603
Commit: 70d11ffb58e415929d4825032af6333795c0b258
https://github.com/llvm/llvm-project/commit/70d11ffb58e415929d4825032af6333795c0b258
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
A llvm/test/CodeGen/X86/pr90847.ll
Log Message:
-----------
[X86] Add test coverage for #90847
Commit: 81003f23f0361aeb05b98489ba659edad40506f8
https://github.com/llvm/llvm-project/commit/81003f23f0361aeb05b98489ba659edad40506f8
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/pr90847.ll
Log Message:
-----------
[X86] combineBitcastvxi1 - peek through FREEZE nodes when determining width of the original SETCC node
Fixes #90847
Commit: cd4287bc44fc614a336b5b283a484c402c44ca93
https://github.com/llvm/llvm-project/commit/cd4287bc44fc614a336b5b283a484c402c44ca93
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h
M llvm/test/CodeGen/AMDGPU/preserve-wwm-copy-dst-reg.ll
M llvm/test/CodeGen/AMDGPU/stack-realign.ll
M llvm/test/CodeGen/AMDGPU/whole-wave-register-copy.ll
M llvm/test/CodeGen/AMDGPU/whole-wave-register-spill.ll
Log Message:
-----------
[AMDGPU] Convert PrologEpilogSGPRSpills from DenseMap to sorted vector (#90957)
In practice PrologEpilogSGPRSpills never has more than 3 entries so
DenseMap is overkill. In addition this means that iteration happens in
register number order, instead of DenseMap's hashed order, so it will
not be affected by future patches that define new physical registers.
This should reduce future test case churn.
Commit: 327bfc971e4dce3f6798843c92406cda95c07ba1
https://github.com/llvm/llvm-project/commit/327bfc971e4dce3f6798843c92406cda95c07ba1
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M lldb/packages/Python/lldbsuite/test/make/Makefile.rules
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolLocator/CMakeLists.txt
M lldb/source/Plugins/SymbolVendor/ELF/SymbolVendorELF.cpp
R lldb/test/API/debuginfod/Normal/Makefile
R lldb/test/API/debuginfod/Normal/TestDebuginfod.py
R lldb/test/API/debuginfod/Normal/main.c
R lldb/test/API/debuginfod/SplitDWARF/Makefile
R lldb/test/API/debuginfod/SplitDWARF/TestDebuginfodDWP.py
R lldb/test/API/debuginfod/SplitDWARF/main.c
M lldb/test/API/lit.site.cfg.py.in
M lldb/test/CMakeLists.txt
Log Message:
-----------
Revert "[lldb] Fix TestSharedLibStrippedSymbols for #90622"
And "LLDB Debuginfod tests and a fix or two (#90622)".
f8fedfb6802173372ec923f99f31d4af810fbcb0 /
2d4acb086541577ac6ab3a140b9ceb9659ce7094
As it has caused a test failure on 32 bit Arm:
https://lab.llvm.org/buildbot/#/builders/17/builds/52580
Expr/TestStringLiteralExpr.test. The follow up did fix
lang/c/shared_lib_stripped_symbols/TestSharedLibStrippedSymbols.py
but not the other failure.
Commit: 9c8b0d4ef6308ca0a74151c14c01f972e8db8cda
https://github.com/llvm/llvm-project/commit/9c8b0d4ef6308ca0a74151c14c01f972e8db8cda
Author: Hans Wennborg <hans at chromium.org>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M clang-tools-extra/test/clang-tidy/infrastructure/config-files.cpp
Log Message:
-----------
Use FileCheck in new clang-tidy/infrastructure/config-files.cpp tests
The test was failing spuriously on some machines [1]. Converting from
grep to FileCheck makes it easier to see what's happening, and also grep
is discouraged in tests [2].
Also drop the negative test: checking for the expected output is better.
1. https://crbug.com/338535754
2. https://llvm.org/docs/TestingGuide.html#:~:text=.%20%5BThe-,usage%20of%20grep,-in%20RUN%20lines
Commit: cda8270981b666c492933a9df1d984d0d0f8433f
https://github.com/llvm/llvm-project/commit/cda8270981b666c492933a9df1d984d0d0f8433f
Author: vdonaldson <37090318+vdonaldson at users.noreply.github.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M flang/lib/Lower/Bridge.cpp
A flang/test/Lower/if-loc.f90
Log Message:
-----------
[flang] Source code location for IF statements and constructs (#90853)
Make source code locations for IF statements and IF construct component
statements more accurate. Make similar changes to ASSOCIATE, BLOCK, and
SELECT TYPE construct component statements.
Commit: 72e07d48e073a9abc698bf9fa175ed2055825594
https://github.com/llvm/llvm-project/commit/72e07d48e073a9abc698bf9fa175ed2055825594
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp
Log Message:
-----------
[AMDGPU] Simplify applySelectFCmpToFMinToFMaxLegacy. NFC.
Commit: a13c5140a2a26923f3e7bf3684409425ff54de6f
https://github.com/llvm/llvm-project/commit/a13c5140a2a26923f3e7bf3684409425ff54de6f
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/Basic/OpenACCClauses.def
M clang/include/clang/Sema/SemaOpenACC.h
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/test/AST/ast-print-openacc-compute-construct.cpp
M clang/test/ParserOpenACC/parse-clauses.c
A clang/test/SemaOpenACC/compute-construct-firstprivate-clause.c
A clang/test/SemaOpenACC/compute-construct-firstprivate-clause.cpp
M clang/test/SemaOpenACC/compute-construct-varlist-ast.cpp
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
[OpenACC] Implement firstprivate clause for compute constructs
This clause is pretty nearly copy/paste from private, except that it
doesn't support 'loop', and thus 'kernelsloop' for appertainment.
Commit: bccb7ed8ac289a1503ed88edf56b27eb11ed5d5d
https://github.com/llvm/llvm-project/commit/bccb7ed8ac289a1503ed88edf56b27eb11ed5d5d
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M llvm/include/llvm/Transforms/Utils/LoopUtils.h
M llvm/lib/Transforms/Utils/LoopUtils.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/sve-select-cmp.ll
M llvm/test/Transforms/LoopVectorize/RISCV/select-cmp-reduction.ll
M llvm/test/Transforms/LoopVectorize/epilog-vectorization-any-of-reductions.ll
M llvm/test/Transforms/LoopVectorize/select-cmp-predicated.ll
M llvm/test/Transforms/LoopVectorize/select-cmp.ll
M llvm/test/Transforms/LoopVectorize/select-reduction-start-value-may-be-undef-or-poison.ll
Log Message:
-----------
Reapply "[LV] Improve AnyOf reduction codegen. (#78304)"
This reverts the revert commit c6e01627acf859.
This patch includes a fix for any-of reductions and epilogue
vectorization. Extra test coverage for the issue that caused the revert
has been added in bce3bfced5fe0b019 and an assertion has been added in
c7209cbb8be7a3c65813.
--------------------------------
Original commit message:
Update AnyOf reduction code generation to only keep track of the AnyOf
property in a boolean vector in the loop, only selecting either the new
or start value in the middle block.
The patch incorporates feedback from https://reviews.llvm.org/D153697.
This fixes the #62565, as now there aren't multiple uses of the
start/new values.
Fixes https://github.com/llvm/llvm-project/issues/62565
PR: https://github.com/llvm/llvm-project/pull/78304
Commit: 3fffe6cb9235a5134b74ce6ad3c6ea752ffb40c7
https://github.com/llvm/llvm-project/commit/3fffe6cb9235a5134b74ce6ad3c6ea752ffb40c7
Author: thetruestblue <92476612+thetruestblue at users.noreply.github.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M compiler-rt/test/sanitizer_common/TestCases/sanitizer_coverage_trace_pc_guard.cpp
Log Message:
-----------
[NFC][x86_64][Test Only] Disable for san coverage for lsan on all x86_64 for now (#90750)
Disabling this test on all x86_64 to unblock CI.
rdar://125052424
Commit: 6517c5b068915784e3ae17ebce2c38e4072281dd
https://github.com/llvm/llvm-project/commit/6517c5b068915784e3ae17ebce2c38e4072281dd
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV][NFC]Address last comments from https://github.com/llvm/llvm-project/pull/88025.
Commit: bd909d2e6f2692685664c3f3b4db6047b2fb9441
https://github.com/llvm/llvm-project/commit/bd909d2e6f2692685664c3f3b4db6047b2fb9441
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/Basic/OpenACCClauses.def
M clang/include/clang/Sema/SemaOpenACC.h
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/test/AST/ast-print-openacc-compute-construct.cpp
M clang/test/ParserOpenACC/parse-clauses.c
A clang/test/SemaOpenACC/compute-construct-no_create-clause.c
A clang/test/SemaOpenACC/compute-construct-no_create-clause.cpp
A clang/test/SemaOpenACC/compute-construct-present-clause.c
A clang/test/SemaOpenACC/compute-construct-present-clause.cpp
M clang/test/SemaOpenACC/compute-construct-varlist-ast.cpp
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
[OpenACC] Implement no_create and present clauses on compute constructs
These two are, from a semantic checking perspective, identical to
first-private/private/etc, other than appertainment. This patch
implements both.
Commit: 3f1fef369935f833443f18bc2eababfb5e3da0ff
https://github.com/llvm/llvm-project/commit/3f1fef369935f833443f18bc2eababfb5e3da0ff
Author: Mel Chen <mel.chen at sifive.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
Log Message:
-----------
[RISCV] Support interleaved accesses for scalable vector. (#90583)
The support for interleaved accesses for scalable vector with a factor
of 2 is enabled in vectorizer. Therefore, the patch removed the
restriction for scalable vector with a factor of 2.
Commit: 99ca40849ddaa466756d5da4e292f514f29fcb34
https://github.com/llvm/llvm-project/commit/99ca40849ddaa466756d5da4e292f514f29fcb34
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCombinerHelper.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPreLegalizerCombiner.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankCombiner.cpp
Log Message:
-----------
[AMDGPU] Remove unneeded calls to setInstrAndDebugLoc in matchers. NFC.
Commit: 054f7c0565410f246f3e003ec18684bd526de64c
https://github.com/llvm/llvm-project/commit/054f7c0565410f246f3e003ec18684bd526de64c
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/OpenACCClauses.def
M clang/include/clang/Basic/OpenACCKinds.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/test/ParserOpenACC/parse-clauses.c
A clang/test/SemaOpenACC/compute-construct-copy-clause.c
A clang/test/SemaOpenACC/compute-construct-copy-clause.cpp
M clang/test/SemaOpenACC/compute-construct-varlist-ast.cpp
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
[OpenACC] Implement copy clause for compute constructs.
Like present, no_create, and first_private, copy is a clause that takes
just a var-list, and follows the same rules as the others.
The one unique part of this clause is that it ALSO supports two
deprecated/backwards-compatibility spellings, so this patch adds them
and implements them.
Commit: 69f1442302250a23fb981fb4d61159d50551f617
https://github.com/llvm/llvm-project/commit/69f1442302250a23fb981fb4d61159d50551f617
Author: Billy Zhu <billyzhu at modular.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/test/Transforms/SimplifyCFG/X86/switch_to_lookup_table.ll
Log Message:
-----------
[LLVM] BasicTTIImpl allow unknown type during legality checking (#89848)
Make BasicTTIImplBase's `isTypeLegal` check handle unknown types.
Current behavior is aborting.
Motivated by a use case in SimplifyCFG, where `isTypeLegal` is called on
a struct type and dies, when it could be treated as illegal and skipped.
In general it could make sense for unknown types to be allowed, and by
default just considered not legal, but the behavior can of course be
overriden.
Commit: 5fc576956e3b47708e8b405d57cefddd945a43d9
https://github.com/llvm/llvm-project/commit/5fc576956e3b47708e8b405d57cefddd945a43d9
Author: Billy Zhu <billyzhu at modular.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M mlir/lib/Target/LLVMIR/DebugTranslation.cpp
M mlir/test/Target/LLVMIR/llvmir-debug.mlir
Log Message:
-----------
[MLIR][LLVM] Exporter skip over inlined frame without debug scope (#90915)
Followup to #90759.
Instead of just returning null when the caller scope is not
translatable, "jump over" the current caller scope and use the outer
scope as the caller if that is available. This means that in an inlined
call stack if there are frames without debug scope, those frames are
skipped to preserve what is available. In the original example where
```
func A {
foo loc(fused<#A>["a":1:1])
}
func B {
call @A loc("b":1:1)
}
func C {
call @B loc(fused<#C>["c":1:1])
}
```
is inlined into
```
func C {
foo loc(callsite(
callsite(fused<#A>["a":1:1] at loc("b":1:1))
at
fused<#C>["c":1:1]))
}
```
The translated result would be `!1`:
```
!0 = !DILocation(line: 1, column: 1, scope: !C)
!1 = !DILocation(line: 1, column: 1, scope: !A, inlinedAt: !0)
```
This has a neat benefit in maintaining callsite associativity: No matter
if we have `callsite(callsite(A at B) at C)` or `callsite(A at
callsite(B at C))`, the translation now is the same. The previous
solution did not provide this guarantee, which meant the callsite
construction would somehow impact this translation.
Commit: 1cde1240ed6e45012d7510f4aa39badbdb4a4721
https://github.com/llvm/llvm-project/commit/1cde1240ed6e45012d7510f4aa39badbdb4a4721
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCombine.td
M llvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp
Log Message:
-----------
[AMDGPU] Use replaceOpcodeWith instead of applyCombine_s_mul_u64. NFC.
Commit: 40cc96e7ece74479957ae5680b9e04b7743a000c
https://github.com/llvm/llvm-project/commit/40cc96e7ece74479957ae5680b9e04b7743a000c
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
Log Message:
-----------
[VPlan] Remove unused VPWidenCanonicalIVRecipe::getScalarType (NFCI).
After a48ebb8276408fa88cf7060ddc68f4eda1b62def, the function is no
longer used. Remove it.
Commit: 01e91a2dde497b71b0b85d5ec0f101a21e9c892c
https://github.com/llvm/llvm-project/commit/01e91a2dde497b71b0b85d5ec0f101a21e9c892c
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/Basic/OpenACCClauses.def
M clang/include/clang/Basic/OpenACCKinds.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/test/AST/ast-print-openacc-compute-construct.cpp
M clang/test/ParserOpenACC/parse-clauses.c
A clang/test/SemaOpenACC/compute-construct-copyin-clause.c
A clang/test/SemaOpenACC/compute-construct-copyin-clause.cpp
A clang/test/SemaOpenACC/compute-construct-copyout-clause.c
A clang/test/SemaOpenACC/compute-construct-copyout-clause.cpp
A clang/test/SemaOpenACC/compute-construct-create-clause.c
A clang/test/SemaOpenACC/compute-construct-create-clause.cpp
M clang/test/SemaOpenACC/compute-construct-varlist-ast.cpp
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
[OpenACC] Implement copyin, copyout, create clauses for compute construct
Like 'copy', these also have alternate names, so this implements that as
well. Additionally, these have an optional tag of either 'readonly' or
'zero' depending on the clause.
Otherwise, this is a pretty rote implementation of the clause, as there
aren't any special rules for it.
Commit: 692e887c7d77d71204df9090f12f1b8f47e4bfba
https://github.com/llvm/llvm-project/commit/692e887c7d77d71204df9090f12f1b8f47e4bfba
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/lib/Target/AMDGPU/AMDGPUCombine.td
Log Message:
-----------
[GlobalISel] Use some standard matchinfo defs. NFC.
Commit: d13f635201b74674f2de2821bb9e1a5feea0c313
https://github.com/llvm/llvm-project/commit/d13f635201b74674f2de2821bb9e1a5feea0c313
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
Log Message:
-----------
[RISCV] Use Sched*MC for Zvk MC instructions
Commit: 4821882cdfe46b93935e01805ed413cf1272bcd4
https://github.com/llvm/llvm-project/commit/4821882cdfe46b93935e01805ed413cf1272bcd4
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
A llvm/test/tools/llvm-mca/RISCV/SiFiveP600/zvbb.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveP600/zvbc.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveP600/zvkg.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveP600/zvkned.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveP600/zvknhb.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveP600/zvksed.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveP600/zvksh.s
Log Message:
-----------
[RISCV][llvm-mca] Add vector crypto llvm-mca tests for P600
Commit: bab10981f3c7a15231b8e2008f99a38a5582e3b0
https://github.com/llvm/llvm-project/commit/bab10981f3c7a15231b8e2008f99a38a5582e3b0
Author: Miro Bucko <mbucko at meta.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M lldb/test/API/tools/lldb-dap/console/TestDAP_console.py
Log Message:
-----------
[lldb-dap] Fix test_exit_status_message_sigterm test. (#90223)
Summary:
'test_exit_status_message_sigterm' is failing due to 'psutil' dependency
introduced in PR #89405. This fix removes 'deque' dependency and checks
if 'psutil' can be imported before running the test. If 'psutil' cannot
be imported, it emits a warning and skips the test.
Test Plan:
./bin/llvm-lit -sv
/path-to-llvm-project/lldb/test/API/tools/lldb-dap/console/TestDAP_console.py
--filter=tools/lldb-dap/console/TestDAP_console.py
Reviewers:
@jeffreytan81, at clayborg, at kusmour, @JDevlieghere, at walter-erquinigo
Subscribers:
Tasks:
lldb-dap
Tags:
Commit: 56b8bd77445f2f7cc15c294c9089b73ca8f9ecdd
https://github.com/llvm/llvm-project/commit/56b8bd77445f2f7cc15c294c9089b73ca8f9ecdd
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
M llvm/lib/Target/RISCV/RISCVSchedRocket.td
M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
M llvm/lib/Target/RISCV/RISCVSchedSiFiveP400.td
M llvm/lib/Target/RISCV/RISCVSchedSiFiveP600.td
M llvm/lib/Target/RISCV/RISCVSchedSyntacoreSCR1.td
M llvm/lib/Target/RISCV/RISCVSchedXiangShanNanHu.td
M llvm/lib/Target/RISCV/RISCVSchedule.td
A llvm/lib/Target/RISCV/RISCVScheduleZvk.td
M llvm/test/tools/llvm-mca/RISCV/SiFiveP600/zvbb.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveP600/zvbc.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveP600/zvkg.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveP600/zvkned.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveP600/zvknhb.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveP600/zvksed.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveP600/zvksh.s
Log Message:
-----------
[RISCV] Add Sched classes for vector crypto instructions (#90068)
The vector crypto instructions may have different scheduling behavior
compared to VALU operations. Instead of using scheduling resources that
describe VALU operations, we give these instructions their own
scheduling resources. This is similar to what we did for Zb* instructions.
The sifive-p670 has vector crypto, so we model behavior for these instructions
in the P600SchedModel. The numbers are based off of measurements collected
internally. These numbers are a bit old and new measurements show that they may
not be fully accurate. It is likely that we will refine these numbers in a
follow up patch(s) based on new measurements.
This PR is stacked on #89256.
Commit: ebbc5de7db45b2fc81564a6c870a57f4b95d0477
https://github.com/llvm/llvm-project/commit/ebbc5de7db45b2fc81564a6c870a57f4b95d0477
Author: Peter Lafreniere <peter at n8pjl.ca>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M llvm/lib/Target/M68k/M68kSubtarget.cpp
M llvm/test/CodeGen/M68k/Arith/divide-by-constant.ll
M llvm/test/CodeGen/M68k/Arith/imul.ll
M llvm/test/CodeGen/M68k/Arith/mul64.ll
M llvm/test/CodeGen/M68k/Arith/sdiv-exact.ll
M llvm/test/CodeGen/M68k/Arith/smul-with-overflow.ll
M llvm/test/CodeGen/M68k/Arith/sub-with-overflow.ll
M llvm/test/CodeGen/M68k/Atomics/cmpxchg.ll
M llvm/test/CodeGen/M68k/Atomics/load-store.ll
M llvm/test/CodeGen/M68k/Atomics/rmw.ll
M llvm/test/CodeGen/M68k/CodeModel/medium-static.ll
M llvm/test/CodeGen/M68k/CodeModel/small-static.ll
M llvm/test/CodeGen/M68k/TLS/tlsie.ll
M llvm/test/CodeGen/M68k/TLS/tlsle.ll
M llvm/test/CodeGen/M68k/gcc_except_table.ll
Log Message:
-----------
[M68k] Correctly emit non-pic relocations (#89863)
The m68k backend will always emit external calls (including libcalls)
with
PC-relative PLT relocations, even when in non-pic mode or -fno-plt is
used.
This is unexpected, as other function calls are emitted with absolute
addressing, and a static code modes suggests that there is no PLT. It
also
leads to a miscompilation where the call instruction emitted expects an
immediate address, while the relocation emitted for that instruction is
PC-relative.
This miscompilation can even be seen in the default C function in
godbolt:
https://godbolt.org/z/zEoazovzo
Fix the issue by classifying external function references based upon the
pic
mode. This triggers a change in the static code model, making it more in
line
with the expected behaviour and allowing use of this backend in more
bare-metal
situations where a PLT does not exist.
The change avoids the issue where we emit a PLT32 relocation for an
absolute
call, and makes libcalls and other external calls use absolute
addressing modes
when a static code model is desired.
Further work should be done in instruction lowering and validation to
ensure
that miscompilations of the same type don't occur.
Commit: a06c1fefd1272b43fe995540768a9f0ed00ab645
https://github.com/llvm/llvm-project/commit/a06c1fefd1272b43fe995540768a9f0ed00ab645
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
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
Log Message:
-----------
Revert "[NFC] Enable atomic tests on AIX"
This reverts commit 02660e274242b2dd61543a06d7ab4dc0efd2517d.
The tests do not pass on AIX, the buildkite precommit CI fails on these
tests. For example, https://buildkite.com/llvm-project/libcxx-ci/builds/35184
Commit: 6c4dedde08686edea9a1d5173313f44ef23ee38e
https://github.com/llvm/llvm-project/commit/6c4dedde08686edea9a1d5173313f44ef23ee38e
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M libcxx/modules/std.compat/cctype.inc
M libcxx/modules/std.compat/cfenv.inc
M libcxx/modules/std.compat/cinttypes.inc
M libcxx/modules/std.compat/clocale.inc
M libcxx/modules/std.compat/cmath.inc
M libcxx/modules/std.compat/csetjmp.inc
M libcxx/modules/std.compat/csignal.inc
M libcxx/modules/std.compat/cstdarg.inc
M libcxx/modules/std.compat/cstddef.inc
M libcxx/modules/std.compat/cstdint.inc
M libcxx/modules/std.compat/cstdio.inc
M libcxx/modules/std.compat/cstdlib.inc
M libcxx/modules/std.compat/cstring.inc
M libcxx/modules/std.compat/ctime.inc
M libcxx/modules/std.compat/cwchar.inc
M libcxx/modules/std.compat/cwctype.inc
M libcxx/modules/std/atomic.inc
M libcxx/modules/std/cctype.inc
M libcxx/modules/std/cfenv.inc
M libcxx/modules/std/cinttypes.inc
M libcxx/modules/std/clocale.inc
M libcxx/modules/std/cmath.inc
M libcxx/modules/std/csetjmp.inc
M libcxx/modules/std/csignal.inc
M libcxx/modules/std/cstdarg.inc
M libcxx/modules/std/cstddef.inc
M libcxx/modules/std/cstdint.inc
M libcxx/modules/std/cstdio.inc
M libcxx/modules/std/cstdlib.inc
M libcxx/modules/std/cstring.inc
M libcxx/modules/std/ctime.inc
M libcxx/modules/std/cwchar.inc
M libcxx/modules/std/cwctype.inc
Log Message:
-----------
[libc++][modules] Uses _LIBCPP_USING_IF_EXISTS. (#90409)
This attribute is used in the headers. Not using this in the modules has
led to several issues. Add them to the modules to avoid these errors in
other placed.
Commit: 2755c69098c9d0cf33bbbd3ff90f63ab819acfe1
https://github.com/llvm/llvm-project/commit/2755c69098c9d0cf33bbbd3ff90f63ab819acfe1
Author: Prashant Kumar <pk5561 at gmail.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/test/Dialect/Linalg/vectorization.mlir
Log Message:
-----------
[mlir][linalg] Vectorize unpack op without masking (#89067)
Enables vectorization of unpack op in the case of unknown vector size.
The vector sizes are determined by the result's shape.
Commit: 8d946c71712daeabf6636ff3844fa49e4638324b
https://github.com/llvm/llvm-project/commit/8d946c71712daeabf6636ff3844fa49e4638324b
Author: Julian Schmidt <git.julian.schmidt at gmail.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M clang-tools-extra/clangd/refactor/tweaks/ScopifyEnum.cpp
Log Message:
-----------
[clangd] use existing functions for code locations in the scopify enum tweak (#88737)
Clangd already implements some utility functions for converting between
`SourceLocation`s, `Position`s and `Offset`s into a buffer.
Commit: 528f5ba7af2729bb7e23f0846b75e4f25af2bf8d
https://github.com/llvm/llvm-project/commit/528f5ba7af2729bb7e23f0846b75e4f25af2bf8d
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M lldb/include/lldb/Core/Debugger.h
M lldb/include/lldb/Core/DebuggerEvents.h
M lldb/include/lldb/Expression/DiagnosticManager.h
M lldb/include/lldb/Host/Host.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/source/Core/Debugger.cpp
M lldb/source/Core/DebuggerEvents.cpp
M lldb/source/Expression/DiagnosticManager.cpp
M lldb/source/Expression/FunctionCaller.cpp
M lldb/source/Expression/LLVMUserExpression.cpp
M lldb/source/Host/common/Host.cpp
M lldb/source/Host/macosx/objcxx/Host.mm
M lldb/source/Plugins/ExpressionParser/Clang/ClangDiagnostic.h
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangFunctionCaller.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangUtilityFunction.cpp
M lldb/source/Target/Process.cpp
M lldb/unittests/Expression/DiagnosticManagerTest.cpp
Log Message:
-----------
[lldb] Create a single Severity enum in lldb-enumerations (#90917)
We have 3 different enums all expressing severity (info, warning,
error). Remove all uses with a new Severity enum in lldb-enumerations.h.
Commit: 55ad294893093b3918b3467ac44404cbd643b6ba
https://github.com/llvm/llvm-project/commit/55ad294893093b3918b3467ac44404cbd643b6ba
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M lld/test/COFF/Inputs/combined-resources.rc
M lld/test/COFF/pdb-type-server-invalid-signature.yaml
M lld/test/COFF/pdb_char8_t.ll
M lld/test/ELF/dynamic-list-cpp.s
Log Message:
-----------
[lld,test] Convert text files from CRLF to LF
Commit: 7a6847e00142e72f09d7dbaa512425871ba7134f
https://github.com/llvm/llvm-project/commit/7a6847e00142e72f09d7dbaa512425871ba7134f
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M llvm/lib/Support/RISCVISAUtils.cpp
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Add partial validation of Z extension name to RISCVISAInfo::parseNormalizedArchString (#90895)
If 'z' is given as the complete extension name or with a digit after it,
it will crash in the extension map compare function. Check for these
cases and give an error.
Commit: 0faf494200860c307ba473114df6e50f7da1b52a
https://github.com/llvm/llvm-project/commit/0faf494200860c307ba473114df6e50f7da1b52a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M clang/test/Driver/riscv-arch.c
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Make parseArchString only accept [a-z0-9_]. (#90879)
Similar change was recently made to parseNormalizedArchString.
Commit: c7ad12d0d7606b0b9fb531b0b273bdc5f1490ddb
https://github.com/llvm/llvm-project/commit/c7ad12d0d7606b0b9fb531b0b273bdc5f1490ddb
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIModeRegisterDefaults.cpp
M llvm/lib/Target/AMDGPU/SIModeRegisterDefaults.h
Log Message:
-----------
AMDGPU: Try to fix build error with old gcc
Commit: ac46eeaea8bc987e8a858a29d3b3e9e6539a81a8
https://github.com/llvm/llvm-project/commit/ac46eeaea8bc987e8a858a29d3b3e9e6539a81a8
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M clang-tools-extra/clangd/test/delimited-input-comment-at-the-end.test
M clang-tools-extra/clangd/test/hover.test
M clang-tools-extra/clangd/test/spaces-in-delimited-input.test
M clang-tools-extra/test/clang-tidy/checkers/readability/Inputs/duplicate-include/duplicate-include.h
M clang-tools-extra/test/clang-tidy/checkers/readability/Inputs/duplicate-include/duplicate-include2.h
M clang-tools-extra/test/clang-tidy/checkers/readability/Inputs/duplicate-include/system/sys/types.h
M clang-tools-extra/test/clang-tidy/checkers/readability/else-after-return-if-constexpr.cpp
M clang-tools-extra/test/modularize/Inputs/CompileError/module.modulemap
M clang-tools-extra/test/modularize/Inputs/MissingHeader/module.modulemap
M clang-tools-extra/test/pp-trace/Inputs/module.modulemap
Log Message:
-----------
[clang-tools-extra,test] Convert text files from CRLF to LF
Skip files with intentional CRLF line endings:
test/clang-apply-replacements/crlf.cpp
test/clang-apply-replacements/Inputs/crlf/crlf.cpp.expected
clangd/test/input-mirror.test
clangd/test/protocol.test
clangd/test/too-large.test
Commit: 49c5f4d56a89278fcc426cabbeeec33e0915980e
https://github.com/llvm/llvm-project/commit/49c5f4d56a89278fcc426cabbeeec33e0915980e
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
M llvm/lib/Target/SystemZ/SystemZInstrInfo.h
A llvm/test/CodeGen/SystemZ/fold-copy-vector-immediate.mir
Log Message:
-----------
SystemZ: Fold copy of vector immediate to gr128 (#90706)
If materializing a constant in a vector register that is just
going to be copied to general registers, directly materialize
the immediate in the gpr. This will avoid a few lit test regressions
in a future commit.
Commit: f9d91fbe86519f3083a9ae37b1e2038f6b8992a6
https://github.com/llvm/llvm-project/commit/f9d91fbe86519f3083a9ae37b1e2038f6b8992a6
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M lldb/source/Core/Debugger.cpp
Log Message:
-----------
[lldb] Always emit diagnostic events to the system log (#90913)
Always emit diagnostic events to the system log so that they end up in
the sysdiagnose on Darwin.
Commit: 54d6f6626d9377115f3db3ab3fd5994b0de5a268
https://github.com/llvm/llvm-project/commit/54d6f6626d9377115f3db3ab3fd5994b0de5a268
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
A llvm/test/CodeGen/AArch64/pr90936.ll
Log Message:
-----------
[AArch64] Add test for #90936. NFC
Commit: d53425e2a33a0ff7336c86d3f668b1855c47a6de
https://github.com/llvm/llvm-project/commit/d53425e2a33a0ff7336c86d3f668b1855c47a6de
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M llvm/test/DebugInfo/AArch64/instr-ref-const-physreg.ll
M llvm/test/DebugInfo/ARM/instr-ref-tcreturn.ll
M llvm/test/DebugInfo/COFF/AArch64/lit.local.cfg
M llvm/test/DebugInfo/COFF/jump-table-with-indirect-ptr-null.ll
M llvm/test/DebugInfo/COFF/jump-table.ll
M llvm/test/DebugInfo/COFF/pieces.ll
M llvm/test/DebugInfo/Generic/debug_value_list.ll
M llvm/test/DebugInfo/MIR/InstrRef/accept-nonlive-reg-phis.mir
M llvm/test/DebugInfo/MIR/InstrRef/dbg-phi-subregister-location.mir
M llvm/test/DebugInfo/MIR/InstrRef/dbg-phis-in-ldv.mir
M llvm/test/DebugInfo/MIR/InstrRef/dbg-phis-in-ldv2.mir
M llvm/test/DebugInfo/MIR/InstrRef/dbg-phis-merging-in-ldv.mir
M llvm/test/DebugInfo/MIR/InstrRef/dbg-phis-with-loops.mir
M llvm/test/DebugInfo/MIR/InstrRef/follow-spill-of-live-value.mir
M llvm/test/DebugInfo/MIR/InstrRef/livedebugvalues_illegal_locs.mir
M llvm/test/DebugInfo/MIR/InstrRef/livedebugvalues_instrref_tolocs.mir
M llvm/test/DebugInfo/MIR/InstrRef/livedebugvalues_stackslot_subregs.mir
M llvm/test/DebugInfo/MIR/InstrRef/livedebugvalues_subreg_substitutions.mir
M llvm/test/DebugInfo/MIR/InstrRef/memory-operand-folding-tieddef.mir
M llvm/test/DebugInfo/MIR/InstrRef/memory-operand-load-folding.mir
M llvm/test/DebugInfo/MIR/InstrRef/memory-operand-tracking.mir
M llvm/test/DebugInfo/MIR/InstrRef/out-of-scope-blocks.mir
M llvm/test/DebugInfo/MIR/InstrRef/phi-coalesce-subreg.mir
M llvm/test/DebugInfo/MIR/InstrRef/phi-on-stack-coalesced.mir
M llvm/test/DebugInfo/MIR/InstrRef/phi-on-stack-coalesced2.mir
M llvm/test/DebugInfo/MIR/InstrRef/phi-regallocd-to-stack.mir
M llvm/test/DebugInfo/MIR/InstrRef/phi-through-regalloc.mir
M llvm/test/DebugInfo/MIR/InstrRef/spill-slot-limits.mir
M llvm/test/DebugInfo/MIR/InstrRef/substitusions-roundtrip.mir
M llvm/test/DebugInfo/MIR/InstrRef/twoaddr-to-threeaddr-sub.mir
M llvm/test/DebugInfo/MIR/InstrRef/win32-chkctk-modifies-esp.mir
M llvm/test/DebugInfo/MIR/InstrRef/x86-drop-compare-inst.mir
M llvm/test/DebugInfo/MIR/X86/dvl-livedebugvalues-clobber.mir
M llvm/test/DebugInfo/MIR/X86/dvl-livedebugvalues-join.mir
M llvm/test/DebugInfo/MIR/X86/dvl-livedebugvalues-movements.mir
M llvm/test/DebugInfo/MIR/X86/dvl-livedebugvalues-spillrestore.mir
M llvm/test/DebugInfo/MIR/X86/dvl-livedebugvars-movements.mir
M llvm/test/DebugInfo/MIR/X86/dvl-livedebugvars-stackptr.mir
M llvm/test/DebugInfo/MIR/X86/instr-ref-join-def-vphi.mir
M llvm/test/DebugInfo/PDB/Inputs/longname-truncation.yaml
M llvm/test/DebugInfo/PDB/Inputs/merge-types-1.yaml
M llvm/test/DebugInfo/PDB/Inputs/merge-types-2.yaml
M llvm/test/DebugInfo/PDB/Inputs/one-symbol.yaml
M llvm/test/DebugInfo/PDB/pdb-longname-truncation.test
M llvm/test/DebugInfo/PDB/pdbdump-raw-bytes.test
M llvm/test/DebugInfo/X86/dbg-val-list-dangling.ll
M llvm/test/DebugInfo/X86/dbg-value-arg-movement.ll
M llvm/test/DebugInfo/X86/dbg-value-funcarg.ll
M llvm/test/DebugInfo/X86/dbg-value-funcarg2.ll
M llvm/test/DebugInfo/X86/dbg-value-funcarg4.ll
M llvm/test/DebugInfo/X86/dbg-value-list-dag-combine.ll
M llvm/test/DebugInfo/X86/dbg_value_list_clobbers.mir
M llvm/test/DebugInfo/X86/dbg_value_list_emission.mir
M llvm/test/DebugInfo/X86/instr-ref-dbg-declare.ll
M llvm/test/DebugInfo/X86/instr-ref-dyn-alloca-win32.ll
M llvm/test/DebugInfo/X86/instr-ref-ir-reg-read.ll
M llvm/test/DebugInfo/X86/live-debug-values-expr-conflict.ll
M llvm/test/DebugInfo/X86/pieces-4.ll
M llvm/test/DebugInfo/X86/pr34545.ll
M llvm/test/DebugInfo/X86/pr40427.ll
M llvm/test/DebugInfo/X86/sdag-combine.ll
M llvm/test/DebugInfo/X86/sdag-dangling-dbgvalue.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/test/DebugInfo/X86/sdag-salvage-add.ll
M llvm/test/DebugInfo/X86/sdag-transfer-dbgvalue.ll
M llvm/test/DebugInfo/X86/sdagsplit-1.ll
M llvm/test/DebugInfo/X86/spill-nospill.ll
M llvm/test/DebugInfo/precomp.test
M llvm/test/DebugInfo/salvage-nonconst-binop.ll
Log Message:
-----------
[DebugInfo,test] Convert text files from CRLF to LF
Commit: a657440bc695a98c54cd95bb7cc4cec5ab811d17
https://github.com/llvm/llvm-project/commit/a657440bc695a98c54cd95bb7cc4cec5ab811d17
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M llvm/test/tools/dxil-dis/shuffle.ll
M llvm/test/tools/llvm-dwarfdump/X86/parent_recurse_depth.s
M llvm/test/tools/llvm-dwarfdump/X86/quiet.s
M llvm/test/tools/llvm-objcopy/ELF/dynrelocsec-remove-shinfo-reference.test
M llvm/test/tools/llvm-objcopy/ELF/dynrelocsec-remove-shlink-reference.test
M llvm/test/tools/llvm-objdump/ELF/ARM/literal-arm.s
M llvm/test/tools/llvm-objdump/ELF/ARM/literal-thumb.s
M llvm/test/tools/llvm-objdump/ELF/ARM/literal-thumb2.s
M llvm/test/tools/llvm-objdump/ELF/ARM/literal-vldr-arm.s
M llvm/test/tools/llvm-objdump/ELF/ARM/literal-vldr-thumb2.s
M llvm/test/tools/llvm-objdump/X86/print-imm-hex.s
M llvm/test/tools/llvm-pdbutil/Inputs/TypeServerTest.cpp
M llvm/test/tools/llvm-pdbutil/complex-padding-graphical.test
M llvm/test/tools/llvm-profgen/Inputs/coff-profile.perfscript
M llvm/test/tools/llvm-symbolizer/Inputs/discrim.inp
M llvm/test/tools/obj2yaml/ELF/relr-section.yaml
Log Message:
-----------
[tools,test] Convert text files from CRLF to LF
Commit: 3563af6c06ebc92bcaacef0e33285148ef0f75bd
https://github.com/llvm/llvm-project/commit/3563af6c06ebc92bcaacef0e33285148ef0f75bd
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AArch64/pr90936.ll
Log Message:
-----------
[DAGCombiner] In mergeTruncStore, make sure we aren't storing shifted in bits. (#90939)
When looking through a right shift, we need to make sure that all of
the bits we are using from the shift come from the shift input and
not the sign or zero bits that are shifted in.
Fixes #90936.
Commit: 8a0073ad4658033b6a4f6bae4fbaf924ac813bc6
https://github.com/llvm/llvm-project/commit/8a0073ad4658033b6a4f6bae4fbaf924ac813bc6
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/X86/arith-fp-codesize.ll
M llvm/test/Analysis/CostModel/X86/arith-fp-latency.ll
M llvm/test/Analysis/CostModel/X86/arith-fp-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/arith-fp.ll
M llvm/test/Transforms/SLPVectorizer/X86/arith-fp-call.ll
Log Message:
-----------
[CostModel][X86] Treat lrint/llrint as fptosi calls (#90883)
X86 can use the CVTP2SI instructions to lower lrint/llrint calls, which have the same costs as the CVTTP2SI (fptosi) instructions
Followup to #90065
Commit: 804202292b7601feee5c091a3a6df6124f4d61e1
https://github.com/llvm/llvm-project/commit/804202292b7601feee5c091a3a6df6124f4d61e1
Author: Pavel Iliin <Pavel.Iliin at arm.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/test/CodeGen/attr-target-clones-aarch64.c
Log Message:
-----------
[FMV][AArch64] Don't optimize backward compatible features in resolver. (#90928)
For arch64 features, such as Branch Target Identification or MTE (Memory
Tagging Extension), compatible with targets that lack their support we
may encounter scenarios where a binary compiled with MTE for example is
executed on both MTE and non-MTE hardware and we still need to detect at
runtime whether the MTE feature is available to choose the appropriate
function version.
So, we cannot optimize the function multi versioning resolver by
removing checks for these features enabled for the target during
compilation.
Commit: 2265df9696d55846644fa914b5f22df539e2d2bc
https://github.com/llvm/llvm-project/commit/2265df9696d55846644fa914b5f22df539e2d2bc
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M llvm/test/CodeGen/DirectX/strip-fn-attrs.ll
Log Message:
-----------
[test] Fix CodeGen/DirectX/strip-fn-attrs.ll
Commit: b9ae06ba15936c9802d5668cea260ad36a243a10
https://github.com/llvm/llvm-project/commit/b9ae06ba15936c9802d5668cea260ad36a243a10
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M llvm/test/Analysis/MustExecute/const-cond.ll
M llvm/test/CodeGen/MIR/X86/dbg-value-list.mir
M llvm/test/CodeGen/NVPTX/bf16x2-instructions-approx.ll
M llvm/test/CodeGen/NVPTX/bf16x2-instructions.ll
M llvm/test/CodeGen/NVPTX/zeroext-32bit.ll
M llvm/test/CodeGen/SPARC/LeonSMACUMACInstructionUT.ll
M llvm/test/CodeGen/X86/dbg-value-superreg-copy2.mir
M llvm/test/CodeGen/X86/non-value-mem-operand.mir
M llvm/test/CodeGen/X86/patchable-prologue-debuginfo.ll
M llvm/test/CodeGen/X86/post-ra-sched-with-debug.mir
M llvm/test/CodeGen/X86/windows-seh-EHa-CppCatchDotDotDot.ll
M llvm/test/CodeGen/X86/windows-seh-EHa-CppDtors01.ll
M llvm/test/CodeGen/X86/windows-seh-EHa-TryInFinally.ll
M llvm/test/Demangle/ms-options.test
M llvm/test/MC/AMDGPU/v_illegal-atomics.s
M llvm/test/MC/AsmParser/directive_file-g.s
M llvm/test/Transforms/InstCombine/debuginfo-sink.ll
M llvm/test/Transforms/InstSimplify/ConstProp/gep-constanfolding-error.ll
M llvm/test/Transforms/InstSimplify/ConstProp/timeout.ll
M llvm/test/Transforms/LoopStrengthReduce/pr51329.ll
M llvm/test/Transforms/PhaseOrdering/pr32544.ll
M llvm/test/Transforms/Reassociate/undef_intrinsics_when_deleting_instructions.ll
M llvm/test/Transforms/ThinLTOBitcodeWriter/split-typed-decl.ll
Log Message:
-----------
[test] Convert text files from CRLF to LF
Skip *.pdb, *.rc, *crlf*, and FileCheck/dos-style-eol.txt
Commit: 121bef76df415e4cfc9543630b23f2e648b9a18a
https://github.com/llvm/llvm-project/commit/121bef76df415e4cfc9543630b23f2e648b9a18a
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M llvm/docs/CommandGuide/llvm-pdbutil.rst
M llvm/docs/GettingInvolved.rst
M llvm/docs/GettingStartedTutorials.rst
M llvm/docs/PDB/CodeViewSymbols.rst
M llvm/docs/Reference.rst
M llvm/docs/UserGuides.rst
M llvm/utils/emacs/llvm-mir-mode.el
Log Message:
-----------
[docs,utils] Convert text files from CRLF to LF
Skip *.bat, *.natvis, utils/lit/tests/Inputs/shtest-shell/diff-in.dos
Commit: a56f0b51dd988ad2b533de759c98457c1ed42456
https://github.com/llvm/llvm-project/commit/a56f0b51dd988ad2b533de759c98457c1ed42456
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/llvm.set.rounding.ll
Log Message:
-----------
AMDGPU: Use umin in set.rounding expansion
Addresses comment from #88587
Commit: f34a5205aa481a6d9a15054bcc5f7b9875906a17
https://github.com/llvm/llvm-project/commit/f34a5205aa481a6d9a15054bcc5f7b9875906a17
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M clang/test/AST/HLSL/this-reference-template.hlsl
M clang/test/AST/HLSL/this-reference.hlsl
M clang/test/AST/objc-default-ctor-init.mm
M clang/test/CXX/dcl.decl/dcl.init/dcl.init.ref/p5-examples.cpp
M clang/test/CXX/expr/expr.prim/expr.prim.lambda/p15-star-this-capture.cpp
M clang/test/CXX/lex/lex.literal/lex.string/p4.cpp
M clang/test/CodeGen/fpconstrained.c
M clang/test/CodeGen/fpconstrained.cpp
M clang/test/CodeGenCXX/attr-x86-no_caller_saved_registers.cpp
M clang/test/CodeGenCXX/debug-info-atexit-stub.cpp
M clang/test/CodeGenHLSL/builtins/clamp.hlsl
M clang/test/CodeGenHLSL/builtins/cos.hlsl
M clang/test/CodeGenHLSL/builtins/floor.hlsl
M clang/test/CodeGenHLSL/builtins/lerp-builtin.hlsl
M clang/test/CodeGenHLSL/builtins/lerp.hlsl
M clang/test/CodeGenHLSL/builtins/log.hlsl
M clang/test/CodeGenHLSL/builtins/log2.hlsl
M clang/test/CodeGenHLSL/builtins/mad.hlsl
M clang/test/CodeGenHLSL/builtins/max.hlsl
M clang/test/CodeGenHLSL/builtins/pow.hlsl
M clang/test/CodeGenHLSL/builtins/reversebits.hlsl
M clang/test/CodeGenHLSL/builtins/sin.hlsl
M clang/test/CodeGenHLSL/builtins/trunc.hlsl
M clang/test/CodeGenHLSL/semantics/DispatchThreadID.hlsl
M clang/test/CodeGenHLSL/sret_output.hlsl
M clang/test/CodeGenHLSL/this-assignment-overload.hlsl
M clang/test/CodeGenHLSL/this-assignment.hlsl
M clang/test/CodeGenHLSL/this-reference.hlsl
M clang/test/CodeGenObjC/exceptions-personality.m
M clang/test/Driver/ps4-ps5-relax-relocations.c
M clang/test/Frontend/rewrite-includes-macros.cpp
M clang/test/Lexer/minimize_source_to_dependency_directives_include.c
M clang/test/Lexer/minimize_source_to_dependency_directives_utf8bom.c
M clang/test/Options/HV.hlsl
M clang/test/Options/enable_16bit_types_validation.hlsl
M clang/test/Options/enable_16bit_types_validation_spirv.hlsl
M clang/test/Parser/objc-attr.m
M clang/test/Preprocessor/macro_vaopt_check.cpp
M clang/test/Preprocessor/macro_vaopt_expand.cpp
M clang/test/Sema/aarch64-sve-vector-log-ops.c
M clang/test/Sema/aarch64-sve-vector-trig-ops.c
M clang/test/Sema/incorrect_pure.cpp
M clang/test/Sema/riscv-rvv-vector-log-ops.c
M clang/test/Sema/riscv-rvv-vector-trig-ops.c
M clang/test/SemaCXX/attr-non-x86-no_caller_saved_registers.cpp
M clang/test/SemaCXX/attr-x86-no_caller_saved_registers.cpp
M clang/test/SemaCXX/compound-literal.cpp
M clang/test/SemaCXX/cxx23-static-callop-lambda-expression.cpp
M clang/test/SemaCXX/vla-ext-diag.cpp
M clang/test/SemaCXX/warn-redundant-move.cpp
M clang/test/SemaCXX/warn-shadow.cpp
M clang/test/SemaHLSL/BuiltIns/clamp-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/dot-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/lerp-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/mad-errors.hlsl
M clang/test/SemaObjCXX/block-cleanup.mm
M clang/test/SemaTemplate/default-expr-arguments-3.cpp
Log Message:
-----------
[clang,test] Convert text files from CRLF to LF
Skip files with intentional CRLF line endings.
Commit: dce13b42177565793a2031eb6f395f9508c701e0
https://github.com/llvm/llvm-project/commit/dce13b42177565793a2031eb6f395f9508c701e0
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M mlir/test/Conversion/GPUCommon/transfer_write.mlir
M mlir/test/Dialect/Shape/arg_with_shape.mlir
M mlir/test/Target/LLVMIR/Import/metadata-linker-options.ll
M mlir/test/mlir-vulkan-runner/addf_if.mlir
Log Message:
-----------
[mlir,test] Convert text files from CRLF to LF
Commit: fc398a112d264a1b4d52e1be4ec1f75d83c3baf0
https://github.com/llvm/llvm-project/commit/fc398a112d264a1b4d52e1be4ec1f75d83c3baf0
Author: Aart Bik <ajcbik at google.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
A mlir/test/Dialect/SparseTensor/binary_valued.mlir
Log Message:
-----------
[mlir][sparse] test optimization of binary-valued operations (#90986)
Make sure consumer-producer fusion happens (to avoid the temporary dense
tensor) and constant folding occurs in the generated code.
Commit: 76508dce4380e0cea2ecb396200a161f7dbefd0b
https://github.com/llvm/llvm-project/commit/76508dce4380e0cea2ecb396200a161f7dbefd0b
Author: Abhinav Garg <39309352+abhigargrepo at users.noreply.github.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIModeRegister.cpp
M llvm/test/CodeGen/AMDGPU/mode-register-fpconstrain.ll
Log Message:
-----------
[AMDGPU] Fix mode register pass for constrained FP operations (#90085)
This PR will fix the si-mode-register pass which is inserting an extra
setreg instruction in case of constrained FP operations. This pass will
be ignored for strictfp functions.
Commit: 401ecb4ccc2a319e55155b6a8558aa3478e5405e
https://github.com/llvm/llvm-project/commit/401ecb4ccc2a319e55155b6a8558aa3478e5405e
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M llvm/test/Transforms/LoopVectorize/reduction-with-invariant-store.ll
Log Message:
-----------
[LV] Add test showing miscompile with store reductions and RT checks.
Add anew test showing how a loop gets vectorized incorrectly with a
invariant store reduction where the same location is also read, when
vectorizing with runtime checks.
Commit: e2b3e4ea9f2d0cb34d197439cfbc5090cdacb124
https://github.com/llvm/llvm-project/commit/e2b3e4ea9f2d0cb34d197439cfbc5090cdacb124
Author: Alex Langford <alangford at apple.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFBaseDIE.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFBaseDIE.h
M lldb/source/Plugins/SymbolFile/DWARF/DWARFDefines.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFDefines.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
Log Message:
-----------
[lldb][NFCI] Unify DW_TAG -> string conversions (#90657)
The high level goal is to have 1 way of converting a DW_TAG value into a
human-readable string.
There are 3 ways this change accomplishes that:
1.) Changing DW_TAG_value_to_name to not create custom error strings.
The way it was doing this is error-prone: Specifically, it was using a
function-local static char buffer and handing out a pointer to it.
Initialization of this is thread-safe, but mutating it is definitely
not. Multiple threads that want to call this function could step on
each others toes. The implementation in this patch sidesteps the issue
by just returning a StringRef with no mention of the tag value in it.
2.) Changing all uses of DW_TAG_value_to_name to log the value of the
tag since the function doesn't create a string with the value in it
anymore.
3.) Removing `DWARFBaseDIE::GetTagAsCString()`. Callers should call
DW_TAG_value_to_name on the tag directly.
Commit: a8fbe500fe2ecdbd3c09ed06788092937819411f
https://github.com/llvm/llvm-project/commit/a8fbe500fe2ecdbd3c09ed06788092937819411f
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M lldb/include/lldb/Utility/Log.h
M lldb/source/Utility/Log.cpp
M lldb/unittests/Utility/LogTest.cpp
Log Message:
-----------
[lldb] Add TeeLogHandler to log to 2 handlers (#90984)
Add a T-style log handler that multiplexes messages to two log handlers.
The goal is to use this in combination with the SystemLogHandler to log
messages both to the user requested file as well as the system log. The
latter is part of a sysdiagnose on Darwin which is commonly attached to
bug reports.
Commit: 46c2d936624322e141c6eff319e1ad2d25f1afd7
https://github.com/llvm/llvm-project/commit/46c2d936624322e141c6eff319e1ad2d25f1afd7
Author: annamthomas <anna at azul.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M llvm/lib/Passes/StandardInstrumentations.cpp
M llvm/test/Other/dump-before-after-invalidated.ll
M llvm/test/Other/loop-pass-ordering.ll
M llvm/test/Other/loop-print-after-pass-invalidated.ll
M llvm/test/Other/loopnest-pass-ordering.ll
M llvm/test/Other/print-at-pass-number.ll
M llvm/test/Transforms/LoopPredication/invalidate-analyses.ll
M llvm/test/Transforms/LoopRotate/pr35210.ll
M llvm/test/Transforms/LoopUnroll/revisit.ll
M llvm/test/Transforms/SimpleLoopUnswitch/nontrivial-unswitch-markloopasdeleted.ll
Log Message:
-----------
[StandardInstrumentation] Annotate loops with the function name (#90756)
When analyzing pass debug output it is helpful to have the function name
along with the loop name.
Commit: a4d10266d20bfe5930dfed77e17832af341ed66e
https://github.com/llvm/llvm-project/commit/a4d10266d20bfe5930dfed77e17832af341ed66e
Author: David Green <david.green at arm.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/PhaseOrdering/AArch64/interleavevectorization.ll
M llvm/test/Transforms/VectorCombine/AArch64/shuffletoidentity.ll
M llvm/test/Transforms/VectorCombine/X86/select-shuffle.ll
Log Message:
-----------
[VectorCombine] Add foldShuffleToIdentity (#88693)
This patch adds a basic version of a combine that attempts to remove
shuffles that when combined simplify away to an identity shuffle. For
example:
%ab = shufflevector <8 x half> %a, <8 x half> poison, <4 x i32> <i32 3,
i32 2, i32 1, i32 0>
%at = shufflevector <8 x half> %a, <8 x half> poison, <4 x i32> <i32 7,
i32 6, i32 5, i32 4>
%abt = fneg <4 x half> %at
%abb = fneg <4 x half> %ab
%r = shufflevector <4 x half> %abt, <4 x half> %abb, <8 x i32> <i32 7,
i32 6, i32 5, i32 4, i32 3, i32 2, i32 1, i32 0>
By looking through the shuffles and fneg, it can be simplified to:
%r = fneg <8 x half> %a
The code tracks each lane starting from the original shuffle, keeping a
track of a vector of {src, idx}. As we propagate up through the
instructions we will either look through intermediate instructions
(binops and unops) or see a collections of lanes that all have the same
src and incrementing idx (an identity). We can also see a single value
with identical lanes, which we can treat like a splat.
Only the basic version is added here, handling identities, splats,
binops and unops. In follow-up patches other instructions can be added
such as constants, intrinsics, cmp/sel and zext/sext/trunc.
Commit: f8a9973f8c1ef60281ace6f3cfeb24d9dcd5b3c3
https://github.com/llvm/llvm-project/commit/f8a9973f8c1ef60281ace6f3cfeb24d9dcd5b3c3
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/test/Fir/cuf-invalid.fir
Log Message:
-----------
[flang][cuda] Add verifier for cuda_alloc/cuda_free (#90983)
Adding a verifier to check the associated cuda attribute.
Commit: 2f58b9aae2d6f1aeaecd98766ef31cebc0dcbb5b
https://github.com/llvm/llvm-project/commit/2f58b9aae2d6f1aeaecd98766ef31cebc0dcbb5b
Author: Anthony Ha <anthonyha96 at gmail.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M lldb/include/lldb/Target/Platform.h
M lldb/include/lldb/Target/RemoteAwarePlatform.h
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwinDevice.cpp
M lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp
M lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.h
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
M lldb/source/Target/Platform.cpp
M lldb/source/Target/RemoteAwarePlatform.cpp
Log Message:
-----------
[lldb] Unify CalculateMD5 return types (#90921)
# Overview
In my previous PR: https://github.com/llvm/llvm-project/pull/88812,
@JDevlieghere suggested to match return types of the various calculate
md5 functions.
This PR achieves that by changing the various calculate md5 functions to
return `llvm::ErrorOr<llvm::MD5::MD5Result>`.
The suggestion was to go for `std::optional<>` but I opted for
`llvm::ErrorOr<>` because local calculate md5 was already possibly
returning `ErrorOr`.
To make sure I didn't break the md5 calculation functionality, I ran
some tests for the gdb remote client, and things seem to work.
# Testing
1. Remote file doesn't exist
![image](https://github.com/llvm/llvm-project/assets/1326275/b26859e2-18c3-4685-be8f-c6b6a5a4bc77)
1. Remote file differs
![image](https://github.com/llvm/llvm-project/assets/1326275/cbdb3c58-555a-401b-9444-c5ff4c04c491)
1. Remote file matches
![image](https://github.com/llvm/llvm-project/assets/1326275/07561572-22d1-4e0a-988f-bc91b5c2ffce)
## Test gaps
Unfortunately, I had to modify
`lldb/source/Plugins/Platform/MacOSX/PlatformDarwinDevice.cpp` and I
can't test the changes there. Hopefully, the existing test suite / code
review from whomever is reading this will catch any issues.
Co-authored-by: Anthony Ha <antha at microsoft.com>
Commit: 70b79a9ccd03f93fc4c8464a91b6bef3aab322d3
https://github.com/llvm/llvm-project/commit/70b79a9ccd03f93fc4c8464a91b6bef3aab322d3
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M clang/lib/Sema/SemaChecking.cpp
M clang/test/CodeGenOpenCL/builtins-amdgcn.cl
Log Message:
-----------
[AMDGPU] Allow the `__builtin_flt_rounds` functions on AMDGPU (#90994)
Summary:
Previous patches added support for the LLVM rounding intrinsic
functions. This patch allows them to me emitted using the clang builtins
when targeting AMDGPU.
Commit: f8ff51e1b08643b23f90e1a39c3fb55a23d2dc84
https://github.com/llvm/llvm-project/commit/f8ff51e1b08643b23f90e1a39c3fb55a23d2dc84
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M llvm/test/Transforms/Inline/access-attributes-prop.ll
Log Message:
-----------
[Inliner] Add tests for not propagating `writable` if `readonly` is present; NFC
Commit: 285dbed147e243f416b003e150d67ffb0922ff16
https://github.com/llvm/llvm-project/commit/285dbed147e243f416b003e150d67ffb0922ff16
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M llvm/lib/Transforms/Utils/InlineFunction.cpp
M llvm/test/Transforms/Inline/access-attributes-prop.ll
M llvm/test/Transforms/Inline/noalias-calls-always.ll
M llvm/test/Transforms/Inline/noalias-calls.ll
Log Message:
-----------
[Inliner] Propagate callee argument memory access attributes before inlining
To avoid losing information, we can propagate some access attribute
from the to-be-inlined callee to its callsites.
We can propagate argument memory access attributes to callsite
parameters if they are from the same underlying object.
Closes #89024
Commit: d8428dfeb8d9a0bbb5345f96f29a4a66eb950769
https://github.com/llvm/llvm-project/commit/d8428dfeb8d9a0bbb5345f96f29a4a66eb950769
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M llvm/include/llvm/IR/PatternMatch.h
M llvm/unittests/IR/PatternMatch.cpp
Log Message:
-----------
[PatternMatching] Add generic API for matching constants using custom conditions
The new API is:
`m_CheckedInt(Lambda)`/`m_CheckedFp(Lambda)`
- Matches non-undef constants s.t `Lambda(ele)` is true for all
elements.
`m_CheckedIntAllowUndef(Lambda)`/`m_CheckedFpAllowUndef(Lambda)`
- Matches constants/undef s.t `Lambda(ele)` is true for all
elements.
The goal with these is to be able to replace the common usage of:
```
match(X, m_APInt(C)) && CustomCheck(C)
```
with
```
match(X, m_CheckedInt(C, CustomChecks);
```
The rationale if we often ignore non-splat vectors because there are
no good APIs to handle them with and its not worth increasing code
complexity for such cases.
The hope is the API creates a common method handling
scalars/splat-vecs/non-splat-vecs to essentially make this a
non-issue.
Commit: 1708788d2d1091d1663cd859c5913121463a6b73
https://github.com/llvm/llvm-project/commit/1708788d2d1091d1663cd859c5913121463a6b73
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/icmp-div-constant.ll
Log Message:
-----------
[InstCombine] Add non-splat test for `(icmp (lshr x, y), x)`; NFC
Commit: f561daf989cfe011dd0edafc4621fac5ed421435
https://github.com/llvm/llvm-project/commit/f561daf989cfe011dd0edafc4621fac5ed421435
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/icmp-div-constant.ll
Log Message:
-----------
[InstCombine] Add example usage for new Checked matcher API
There is no real motivation for this change other than to highlight a
case where the new `Checked` matcher API can handle non-splat-vecs
without increasing code complexity.
Closes #85676
Commit: ca8b064973b5bf31168a60b41ee9c071cf321777
https://github.com/llvm/llvm-project/commit/ca8b064973b5bf31168a60b41ee9c071cf321777
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M lldb/include/lldb/Target/Platform.h
M lldb/include/lldb/Target/RemoteAwarePlatform.h
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwinDevice.cpp
M lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp
M lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.h
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
M lldb/source/Target/Platform.cpp
M lldb/source/Target/RemoteAwarePlatform.cpp
Log Message:
-----------
Revert "[lldb] Unify CalculateMD5 return types" (#90998)
Reverts llvm/llvm-project#90921
Commit: 3cf574da407b9be01cc86f0ad2902c5d2ff8f078
https://github.com/llvm/llvm-project/commit/3cf574da407b9be01cc86f0ad2902c5d2ff8f078
Author: whisperity <whisperity at gmail.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M clang-tools-extra/docs/clang-tidy/checks/bugprone/bad-signal-to-kill-thread.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/macro-parentheses.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/suspicious-memory-comparison.rst
M clang-tools-extra/docs/clang-tidy/checks/concurrency/thread-canceltype-asynchronous.rst
M clang-tools-extra/docs/clang-tidy/checks/misc/throw-by-value-catch-by-reference.rst
Log Message:
-----------
[clang-tidy][NFC] Document CERT rule coverage and aliases for some primary checks (#90965)
Commit: 7ec698e6edf5add1f0b49b42fba707bea4b80225
https://github.com/llvm/llvm-project/commit/7ec698e6edf5add1f0b49b42fba707bea4b80225
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
A llvm/test/CodeGen/AMDGPU/llvm.maximum.f16.ll
A llvm/test/CodeGen/AMDGPU/llvm.maximum.f32.ll
A llvm/test/CodeGen/AMDGPU/llvm.maximum.f64.ll
A llvm/test/CodeGen/AMDGPU/llvm.minimum.f16.ll
A llvm/test/CodeGen/AMDGPU/llvm.minimum.f32.ll
A llvm/test/CodeGen/AMDGPU/llvm.minimum.f64.ll
Log Message:
-----------
AMDGPU: Add tests for minimum and maximum intrinsics (#90997)
Baseline tests for new expansion. I think we can do better and avoid the
classes.
Commit: 9299a136dc34be56ada6d957a438d9d5a7c91df2
https://github.com/llvm/llvm-project/commit/9299a136dc34be56ada6d957a438d9d5a7c91df2
Author: Chris B <chris.bieneman at me.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M llvm/test/CodeGen/DirectX/strip-fn-attrs.ll
Log Message:
-----------
[DirectX] Remove unneccary check lines (#90979)
These check lines break as of 91446e2aa687e due to changes in how LLVM
handles debug information. Since debug informaiton isn't important to
what this test is verifying we can remove the check lines.
Commit: 2cde0e2f9779bf755ee9fd97e497bc948296c0c7
https://github.com/llvm/llvm-project/commit/2cde0e2f9779bf755ee9fd97e497bc948296c0c7
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
R llvm/test/Transforms/LoopUnroll/unroll-remove-redundant-dbg.ll
M llvm/test/Transforms/SimplifyCFG/hoist-dbgvalue-inlined.ll
M llvm/test/Transforms/SimplifyCFG/hoist-dbgvalue.ll
Log Message:
-----------
Revert "[BasicBlockUtils] Remove redundant llvm.dbg instructions after blocks to reduce compile time (#89069)"
This reverts commit 2e3e0868748635b779ba89a772eae3664bd822e4. It caused
quadratic slowdown at compilation time in some cases. See the comments
in the original PR: https://github.com/llvm/llvm-project/pull/89069
Commit: b8d38bb56d59bee39872fee348a07f79c12f51ae
https://github.com/llvm/llvm-project/commit/b8d38bb56d59bee39872fee348a07f79c12f51ae
Author: jeffreytan81 <jeffreytan at meta.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
M lldb/test/API/tools/lldb-dap/variables/TestDAP_variables.py
M lldb/tools/lldb-dap/JSONUtils.cpp
Log Message:
-----------
Fix dap variable value format issue (#90799)
While adding a UI feature in VSCode to toggle hex/dec in variables view
window. I noticed that it does not work after second toggle. Then I
noticed that there is a bug that we only explicitly set hex format not
reset back to default during further toggle. The new test demonstrates
the bug.
This PR resets the format back to default if not using hex. One
complexity is that, we explicitly set registers value format to
AddressInfo, which shouldn't be overridden by default or hex settings.
---------
Co-authored-by: jeffreytan81 <jeffreytan at fb.com>
Commit: 4e6d30e2c17fa2be3bc5106c2541fddb62b2d4ee
https://github.com/llvm/llvm-project/commit/4e6d30e2c17fa2be3bc5106c2541fddb62b2d4ee
Author: Reid Kleckner <rnk at google.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M clang/include/clang/Basic/AttrDocs.td
Log Message:
-----------
[clang] Note that optnone and target attributes do not apply to nested functions (#82815)
This behavior is true for all attributes, but this behavior can be
surprising for attributes which have function-wide effects, such as
`optnone` and `target`. Most other function attributes affect the
prototype or semantics, but do not affect code generation in the
function body. I believe it is worth calling this out in the
documentation of these function-wide attributes. There may be more,
these were the two that came to mind.
Commit: 9620d3ee3ee996b0546d60a104211be49401bbd8
https://github.com/llvm/llvm-project/commit/9620d3ee3ee996b0546d60a104211be49401bbd8
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/RISCV/shuffled-gather-casted.ll
Log Message:
-----------
[SLP][NFC]Add a test with incorrect casting of shuffled gathered values, NFC.
Commit: 385faf9cdefeed5a2f51072d227842be0e36135c
https://github.com/llvm/llvm-project/commit/385faf9cdefeed5a2f51072d227842be0e36135c
Author: Reid Kleckner <rnk at google.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMISelLowering.h
M llvm/lib/Target/X86/X86ISelLowering.h
M llvm/lib/Target/X86/X86ISelLoweringCall.cpp
Log Message:
-----------
[ARM/X86] Standardize the isEligibleForTailCallOptimization prototypes (#90688)
Pass in CallLoweringInfo (CLI) instead of passing in the various fields
directly. Also pass in CCState (CCInfo), which is computed in both the
caller and the callee for a minor efficiency saving. There may also be a
small correctness improvement for sibcalls with vectorcall, which has an
odd way of recomputing argument locations.
This is a step towards improving the handling of musttail on armv7,
which we have numerous issues filed about in our tracker.
I took inspiration for this from the RISCV tail call eligibility check,
which uses a similar prototype.
Commit: 48039b195bf03ea67bd4ed2a1f3df18e2f9d06ef
https://github.com/llvm/llvm-project/commit/48039b195bf03ea67bd4ed2a1f3df18e2f9d06ef
Author: Reid Kleckner <rnk at google.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M llvm/utils/gn/secondary/lldb/test/BUILD.gn
Log Message:
-----------
Revert "[gn] port 2d4acb086541 (LLVM_ENABLE_CURL)"
This reverts commit 0558c7e01db81b3ac307fe59737fefd8bd060873 to match
the revert of 2d4acb086541 in 327bfc971e4dce3f6798843c92406cda95c07ba1
Commit: 03972261a93853d3e84857b4bed816648d3549f0
https://github.com/llvm/llvm-project/commit/03972261a93853d3e84857b4bed816648d3549f0
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/RISCV/shuffled-gather-casted.ll
Log Message:
-----------
[SLP]Fix PR90892: do a correct sign analysis of the entries elements in gather shuffles.
Need to do extra analysis of the scalar elements of the tree entry to be
shuffled instead of the vectorized value to correctly deduce signedness
info.
Commit: 3191e0b52725aa17651e38d26284386f3ea64eb6
https://github.com/llvm/llvm-project/commit/3191e0b52725aa17651e38d26284386f3ea64eb6
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M clang/lib/Sema/SemaLookup.cpp
M clang/test/CXX/temp/temp.res/temp.dep/temp.dep.type/p4.cpp
Log Message:
-----------
[Clang][Sema] Fix template name lookup for operator= (#90999)
This fixes a bug in #90152 where `operator=` was never looked up in the
current instantiation, resulting in `<` never being interpreted as the
start of a template argument list.
Since function templates are not copy/move assignment operators, the fix
is accomplished by allowing lookup in the current instantiation for
`operator=` when looking up a template name.
Commit: 5d81b1c50a6eadc5d2ebe8c524dd2daa665402d7
https://github.com/llvm/llvm-project/commit/5d81b1c50a6eadc5d2ebe8c524dd2daa665402d7
Author: Heejin Ahn <aheejin at gmail.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M clang/lib/Basic/Targets/WebAssembly.cpp
M clang/test/Preprocessor/wasm-target-features.c
Log Message:
-----------
[WebAssembly] Add all remaining features to bleeding-edge (#90875)
I'm not entirely sure what the criteria for 'bleeding-edge' used to be,
but at this point it seems to be the set of all added features in LLVM.
This adds remaining features to bleeding-edge config.
Commit: b05a12e9d0b668effa50f566508daa279ec85c93
https://github.com/llvm/llvm-project/commit/b05a12e9d0b668effa50f566508daa279ec85c93
Author: Benoit Jacob <jacob.benoit.1 at gmail.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/MemRef/IR/MemRefOps.td
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/test/Dialect/MemRef/resolve-dim-ops.mlir
Log Message:
-----------
Let `memref.expand_shape` implement `ReifyRankedShapedTypeOpInterface` (#90975)
This is a new take on #89111. Now that #90040 is merged, this has become
trivial to implement. The added test shows the kind of benefit that we
get from this: now dim-of-expand-shape naturally folds without us
needing to implement an ad-hoc folding rewrite.
Commit: e5cbe8fd9c12483260e50edb24c00e50a78a3e12
https://github.com/llvm/llvm-project/commit/e5cbe8fd9c12483260e50edb24c00e50a78a3e12
Author: Teresa Johnson <tejohnson at google.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemProfiler.cpp
A llvm/test/Transforms/PGOProfile/memprof_match_hot_cold_new_calls.ll
Log Message:
-----------
[MemProf] Optionally match profiles on to manually hinted hot/cold new (#91027)
While we don't currently rewrite the hints on manually hot/cold hinted
allocations, enable optionally matching profiles onto those allocations
as a first step to being able to do this.
By explicitly checking whether the library function is in the list of
operator new also fixes one limitation of the prior call to isNewLikeFn.
Some operator new calls (those that specify nothrow) are considered
Malloc-like because they may return null. We want to be able to match
and rewrite these. Therefore the new test uses a nothrow variant to test
the fix for this as well.
Commit: a441645f80bed10927f00e1b0dc35666306ca8d5
https://github.com/llvm/llvm-project/commit/a441645f80bed10927f00e1b0dc35666306ca8d5
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
M llvm/test/Instrumentation/ThreadSanitizer/tsan_basic.ll
Log Message:
-----------
[tsan] Don't crash on vscale (#91018)
Co-authored-by: Heejin Ahn <aheejin at gmail.com>
Commit: 0c7e706c08fe4d13b5b8105dc62515a39b14ff5c
https://github.com/llvm/llvm-project/commit/0c7e706c08fe4d13b5b8105dc62515a39b14ff5c
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/pr90936.ll
Log Message:
-----------
[AArch64] Pre-commit another test case for #90936. NFC
Another similar problem was added to the ticket after the first fix.
Commit: cd3a4c31bc9694d160de54c6a4daa53e152cb463
https://github.com/llvm/llvm-project/commit/cd3a4c31bc9694d160de54c6a4daa53e152cb463
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M llvm/test/Transforms/Attributor/ArgumentPromotion/2008-02-01-ReturnAttrs.ll
M llvm/test/Transforms/Attributor/ArgumentPromotion/2008-09-08-CGUpdateSelfEdge.ll
M llvm/test/Transforms/Attributor/ArgumentPromotion/X86/attributes.ll
M llvm/test/Transforms/Attributor/ArgumentPromotion/X86/min-legal-vector-width.ll
M llvm/test/Transforms/Attributor/ArgumentPromotion/X86/thiscall.ll
M llvm/test/Transforms/Attributor/ArgumentPromotion/aggregate-promote.ll
M llvm/test/Transforms/Attributor/ArgumentPromotion/alloca-as.ll
M llvm/test/Transforms/Attributor/ArgumentPromotion/attrs.ll
M llvm/test/Transforms/Attributor/ArgumentPromotion/byval-2.ll
M llvm/test/Transforms/Attributor/ArgumentPromotion/byval.ll
M llvm/test/Transforms/Attributor/ArgumentPromotion/chained.ll
M llvm/test/Transforms/Attributor/ArgumentPromotion/dbg.ll
M llvm/test/Transforms/Attributor/ArgumentPromotion/invalidation.ll
M llvm/test/Transforms/Attributor/ArgumentPromotion/naked_functions.ll
M llvm/test/Transforms/Attributor/ArgumentPromotion/nonzero-address-spaces.ll
M llvm/test/Transforms/Attributor/ArgumentPromotion/pr27568.ll
M llvm/test/Transforms/Attributor/ArgumentPromotion/pr32917.ll
M llvm/test/Transforms/Attributor/ArgumentPromotion/pr33641_remove_arg_dbgvalue.ll
M llvm/test/Transforms/Attributor/ArgumentPromotion/profile.ll
M llvm/test/Transforms/Attributor/ArgumentPromotion/reserve-tbaa.ll
M llvm/test/Transforms/Attributor/ArgumentPromotion/variadic.ll
M llvm/test/Transforms/Attributor/IPConstantProp/2009-09-24-byval-ptr.ll
M llvm/test/Transforms/Attributor/IPConstantProp/PR16052.ll
M llvm/test/Transforms/Attributor/IPConstantProp/PR43857.ll
M llvm/test/Transforms/Attributor/IPConstantProp/comdat-ipo.ll
M llvm/test/Transforms/Attributor/IPConstantProp/dangling-block-address.ll
M llvm/test/Transforms/Attributor/IPConstantProp/deadarg.ll
M llvm/test/Transforms/Attributor/IPConstantProp/global.ll
M llvm/test/Transforms/Attributor/IPConstantProp/multiple_callbacks.ll
M llvm/test/Transforms/Attributor/IPConstantProp/openmp_parallel_for.ll
M llvm/test/Transforms/Attributor/IPConstantProp/pthreads.ll
M llvm/test/Transforms/Attributor/IPConstantProp/remove-call-inst.ll
M llvm/test/Transforms/Attributor/IPConstantProp/return-constants.ll
M llvm/test/Transforms/Attributor/IPConstantProp/thread_local_acs.ll
M llvm/test/Transforms/Attributor/address_space_info.ll
M llvm/test/Transforms/Attributor/allocator.ll
M llvm/test/Transforms/Attributor/callbacks.ll
M llvm/test/Transforms/Attributor/callgraph.ll
M llvm/test/Transforms/Attributor/convergent.ll
M llvm/test/Transforms/Attributor/depgraph.ll
M llvm/test/Transforms/Attributor/dereferenceable-1.ll
M llvm/test/Transforms/Attributor/heap_to_stack.ll
M llvm/test/Transforms/Attributor/heap_to_stack_gpu.ll
M llvm/test/Transforms/Attributor/liveness.ll
M llvm/test/Transforms/Attributor/memory_locations.ll
M llvm/test/Transforms/Attributor/memory_locations_gpu.ll
M llvm/test/Transforms/Attributor/misc_crash.ll
M llvm/test/Transforms/Attributor/new_attributes.ll
M llvm/test/Transforms/Attributor/noalias.ll
M llvm/test/Transforms/Attributor/nocapture-1.ll
M llvm/test/Transforms/Attributor/nofpclass.ll
M llvm/test/Transforms/Attributor/nofree.ll
M llvm/test/Transforms/Attributor/nonnull.ll
M llvm/test/Transforms/Attributor/norecurse.ll
M llvm/test/Transforms/Attributor/noreturn_async.ll
M llvm/test/Transforms/Attributor/noreturn_sync.ll
M llvm/test/Transforms/Attributor/nosync.ll
M llvm/test/Transforms/Attributor/noundef.ll
M llvm/test/Transforms/Attributor/nounwind.ll
M llvm/test/Transforms/Attributor/openmp_parallel.ll
M llvm/test/Transforms/Attributor/potential.ll
M llvm/test/Transforms/Attributor/range.ll
M llvm/test/Transforms/Attributor/readattrs.ll
M llvm/test/Transforms/Attributor/reduced/aa_execution_domain_wrong_fn.ll
M llvm/test/Transforms/Attributor/reduced/missed_cached_entry_for_intra_reachability.ll
M llvm/test/Transforms/Attributor/reduced/openmp_opt_global_read.ll
M llvm/test/Transforms/Attributor/reduced/openmp_opt_global_synced.ll
M llvm/test/Transforms/Attributor/reduced/pred_iterator_crash.ll
M llvm/test/Transforms/Attributor/returned.ll
M llvm/test/Transforms/Attributor/undefined_behavior.ll
M llvm/test/Transforms/Attributor/value-simplify-assume.ll
M llvm/test/Transforms/Attributor/value-simplify-dbg.ll
M llvm/test/Transforms/Attributor/value-simplify-dominance.ll
M llvm/test/Transforms/Attributor/value-simplify-gpu.ll
M llvm/test/Transforms/Attributor/value-simplify-instances.ll
M llvm/test/Transforms/Attributor/value-simplify-pointer-info-struct.ll
M llvm/test/Transforms/Attributor/value-simplify-reachability.ll
M llvm/test/Transforms/Attributor/value-simplify.ll
M llvm/test/Transforms/Attributor/willreturn.ll
M llvm/test/Transforms/OpenMP/always_inline_device.ll
M llvm/test/Transforms/OpenMP/barrier_removal.ll
M llvm/test/Transforms/OpenMP/custom_state_machines.ll
M llvm/test/Transforms/OpenMP/custom_state_machines_pre_lto.ll
M llvm/test/Transforms/OpenMP/get_hardware_num_threads_in_block_fold.ll
M llvm/test/Transforms/OpenMP/get_hardware_num_threads_in_block_fold_optnone.ll
M llvm/test/Transforms/OpenMP/hide_mem_transfer_latency.ll
M llvm/test/Transforms/OpenMP/icv_tracking.ll
M llvm/test/Transforms/OpenMP/is_spmd_exec_mode_fold.ll
M llvm/test/Transforms/OpenMP/keep_rpc_client.ll
M llvm/test/Transforms/OpenMP/nested_parallelism.ll
M llvm/test/Transforms/OpenMP/parallel_deletion.ll
M llvm/test/Transforms/OpenMP/parallel_level_fold.ll
M llvm/test/Transforms/OpenMP/remove_globalization.ll
M llvm/test/Transforms/OpenMP/remove_rpc_client.ll
M llvm/test/Transforms/OpenMP/replace_globalization.ll
M llvm/test/Transforms/OpenMP/spmdization.ll
M llvm/test/Transforms/OpenMP/spmdization_assumes.ll
M llvm/test/Transforms/OpenMP/spmdization_guarding.ll
M llvm/test/Transforms/OpenMP/spmdization_guarding_two_reaching_kernels.ll
M llvm/test/Transforms/OpenMP/spmdization_indirect.ll
M llvm/test/Transforms/OpenMP/spmdization_kernel_env_dep.ll
M llvm/test/Transforms/OpenMP/spmdization_no_guarding_two_reaching_kernels.ll
M llvm/test/Transforms/OpenMP/value-simplify-openmp-opt.ll
Log Message:
-----------
[Attributor][NFC] update tests (#91011)
Commit: 666679a559128fa209e4b74224ee5de3eeff0e9c
https://github.com/llvm/llvm-project/commit/666679a559128fa209e4b74224ee5de3eeff0e9c
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M flang/lib/Evaluate/fold-real.cpp
Log Message:
-----------
[flang] Fix -Wunused-but-set-variable in lib/Evaluate
Commit: b958ef19489e508e367ad530d4512b7710591550
https://github.com/llvm/llvm-project/commit/b958ef19489e508e367ad530d4512b7710591550
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M llvm/docs/GettingInvolved.rst
Log Message:
-----------
Update GettingInvolved.rst (#91008)
Commit: e7939d0df6ba12fcb808ac68863f7bd9dab47110
https://github.com/llvm/llvm-project/commit/e7939d0df6ba12fcb808ac68863f7bd9dab47110
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-05-04 (Sat, 04 May 2024)
Changed paths:
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/StandardInstrumentations.cpp
M llvm/test/CodeGen/MIR/X86/machine-verifier.mir
A llvm/test/tools/llc/new-pm/verify.mir
M llvm/tools/llc/NewPMDriver.cpp
Log Message:
-----------
[Instrumentation] Support verifying machine function (#90931)
We need it to test isel related passes. Currently
`verifyMachineFunction` is incomplete (no LiveIntervals support), but is
enough for testing isel pass, will migrate to complete
`MachineVerifierPass` in future.
Commit: 1022636b0ce3d9799037e59edb7ffb17f57489bb
https://github.com/llvm/llvm-project/commit/1022636b0ce3d9799037e59edb7ffb17f57489bb
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M libc/include/CMakeLists.txt
Log Message:
-----------
[libc] Fix assert dependency on macro header (#91036)
Summary:
This file was missing a dependency so it wasn't being installed.
Commit: a42a2ca19b2325fa6844d6b10e88eb53a3f2fde8
https://github.com/llvm/llvm-project/commit/a42a2ca19b2325fa6844d6b10e88eb53a3f2fde8
Author: Rafael Ubal <rubal at mathworks.com>
Date: 2024-05-04 (Sat, 04 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/SCF/IR/SCFOps.td
M mlir/include/mlir/Interfaces/LoopLikeInterface.h
M mlir/include/mlir/Interfaces/LoopLikeInterface.td
M mlir/lib/Dialect/Bufferization/Transforms/BufferOptimizations.cpp
M mlir/test/Dialect/Bufferization/Transforms/buffer-loop-hoisting.mlir
Log Message:
-----------
Avoid buffer hoisting from parallel loops (#90735)
This change corrects an invalid behavior in pass
`--buffer-loop-hoisting`. The pass is in charge of extracting buffer
allocations (e.g., `memref.alloca`) from loop regions (e.g., `scf.for`)
when possible. This works OK for looks with sequential execution
semantics. However, a buffer allocated in the body of a parallel loop
may be concurrently accessed by multiple thread to store its local data.
Extracting such buffer from the loop causes all threads to wrongly share
the same memory region.
In the following example, dimension 1 of the input tensor is reversed.
Dimension 0 is traversed with a parallel loop.
```
func.func @f(%input: memref<2x3xf32>) -> memref<2x3xf32> {
%c0 = index.constant 0
%c1 = index.constant 1
%c2 = index.constant 2
%c3 = index.constant 3
%output = memref.alloc() : memref<2x3xf32>
scf.parallel (%index) = (%c0) to (%c2) step (%c1) {
// Create subviews for working input and output slices
%input_slice = memref.subview %input[%index, 2][1, 3][1, -1] : memref<2x3xf32> to memref<1x3xf32, strided<[3, -1], offset: ?>>
%output_slice = memref.subview %output[%index, 0][1, 3][1, 1] : memref<2x3xf32> to memref<1x3xf32, strided<[3, 1], offset: ?>>
// Copy the input slice into this temporary buffer. This intermediate
// copy is unnecessary, but is used for illustration purposes.
%temp = memref.alloc() : memref<1x3xf32>
memref.copy %input_slice, %temp : memref<1x3xf32, strided<[3, -1], offset: ?>> to memref<1x3xf32>
// Copy temporary buffer into output slice
memref.copy %temp, %output_slice : memref<1x3xf32> to memref<1x3xf32, strided<[3, 1], offset: ?>>
scf.reduce
}
return %output : memref<2x3xf32>
}
```
The patch submitted here prevents `%temp = memref.alloc() :
memref<1x3xf32>` from being hoisted when the containing op is
`scf.parallel` or `scf.forall`. A new op trait called
`HasParallelRegion` is introduced and assigned to these two ops to
indicate that their regions have parallel execution semantics.
@joker-eph @ftynse @nicolasvasilache @sabauma
Commit: 96aac6798bf6addcedebbb893669cc9c61fcf9c7
https://github.com/llvm/llvm-project/commit/96aac6798bf6addcedebbb893669cc9c61fcf9c7
Author: Patrick O'Neill <patrick at rivosinc.com>
Date: 2024-05-03 (Fri, 03 May 2024)
Changed paths:
M lld/ELF/Target.cpp
A lld/test/ELF/riscv-split-stack.s
Log Message:
-----------
[lld] Error on unsupported split stack (#88063)
Targets with no `-fstack-split` support now emit `ld.lld: error: target
doesn't support split stacks` instead of `UNREACHABLE executed` with a
backtrace asking the user to report a bug.
Resolves #88061
Commit: f16e234f1126f6646609b6918a37c8eb32c8fb3e
https://github.com/llvm/llvm-project/commit/f16e234f1126f6646609b6918a37c8eb32c8fb3e
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-04 (Sat, 04 May 2024)
Changed paths:
M llvm/docs/InstCombineContributorGuide.md
Log Message:
-----------
[InstCombine] Do not request non-splat vector support in code reviews (NFC) (#90709)
The InstCombine contributor guide already says:
> Handle non-splat vector constants if doing so is free, but do
> not add handling for them if it adds any additional complexity
> to the code.
This change strengthens this guideline to explicitly discourage
asking (new) contributors to implement non-splat support during code
reviews. Doing so will almost certainly increase the number of
necessary review iterations, or result in outright contradictory review
feedback, as different people are willing to accept a different degree
of complexity for non-splat vector support.
Commit: 1343e68862874f1baf2d8523320e2278fcb9df32
https://github.com/llvm/llvm-project/commit/1343e68862874f1baf2d8523320e2278fcb9df32
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2024-05-04 (Sat, 04 May 2024)
Changed paths:
M llvm/docs/ReleaseNotes.rst
M llvm/include/llvm-c/Core.h
M llvm/lib/IR/Core.cpp
M llvm/unittests/IR/AttributesTest.cpp
Log Message:
-----------
[C API] Add function to create ConstantRange attributes to C API (#90505)
Commit: 554459a02f2a2064d8f3b567670a436cfda11aaf
https://github.com/llvm/llvm-project/commit/554459a02f2a2064d8f3b567670a436cfda11aaf
Author: Kristof Beyls <kristof.beyls at arm.com>
Date: 2024-05-04 (Sat, 04 May 2024)
Changed paths:
M bolt/lib/Core/ParallelUtilities.cpp
Log Message:
-----------
[BOLT] Fix runOnEachFunctionWithUniqueAllocId (#90039)
When runOnEachFunctionWithUniqueAllocId is invoked with
ForceSequential=true, then the current implementation runs the function
with AllocId==0, which is the Id for the shared, non-unique, default
AnnotationAllocator.
However, the documentation for runOnEachFunctionWithUniqueAllocId
states:
```
/// Perform the work on each BinaryFunction except those that are rejected
/// by SkipPredicate, and create a unique annotation allocator for each
/// task. This should be used whenever the work function creates annotations to
/// allow thread-safe annotation creation.
```
Therefore, even when ForceSequential==true, a unique AllocId should be
used, i.e. different from 0.
In the current upstream BOLT this is presumably not depended on, but it
is needed to reduce memory usage for analyses that use a lot of
memory/annotations. Examples are the pac-ret and stack-clash analyses
that currently have prototype implementations as described in
https://discourse.llvm.org/t/rfc-bolt-based-binary-analysis-tool-to-verify-correctness-of-security-hardening/78148
These analyses use the DataFlowAnalysis framework to sometimes store
quite a lot of information on each MCInst. They run in parallel on each
function. When the dataflow analysis is finished, the annotations on
each MCInst can be removed, hugely saving on memory consumption. The
only annotations that need to remain are those that indicate some
unexpected properties somewhere in the binary.
Fixing this bug enables implementing the deletion of the memory used by
those huge number of DataFlowAnalysis annotations (by invoking
BC.MIB->freeValuesAllocator(AllocatorId)), even when run with
--no-threads. Without this bug fixed, the invocation of
BC.MIB->freeValuesAllocator(AllocatorId) results in also the memory for
all other annotations to be deleted, as AllocatorId is 0.
---------
Co-authored-by: Maksim Panchenko <maks at meta.com>
Commit: 294eecd4cbd8a1e0dcc0cdbe1238817b92ba7668
https://github.com/llvm/llvm-project/commit/294eecd4cbd8a1e0dcc0cdbe1238817b92ba7668
Author: Nikita Kniazev <kniazev.nikita at gmail.com>
Date: 2024-05-04 (Sat, 04 May 2024)
Changed paths:
M clang/docs/UsersManual.rst
Log Message:
-----------
[clang][docs] fix rendering issue in UsersManual.rst (#90308)
Commit: 1e3c630fd1e868c38a2ef6dab0be80bc8f65c4a1
https://github.com/llvm/llvm-project/commit/1e3c630fd1e868c38a2ef6dab0be80bc8f65c4a1
Author: orbiri <orzivh at gmail.com>
Date: 2024-05-04 (Sat, 04 May 2024)
Changed paths:
M mlir/include/mlir/IR/OpImplementation.h
M mlir/lib/AsmParser/AsmParserImpl.h
M mlir/lib/AsmParser/Parser.cpp
A mlir/test/IR/custom-float-attr-roundtrip.mlir
M mlir/test/IR/parser.mlir
M mlir/test/lib/Dialect/Test/TestAttrDefs.td
M mlir/test/lib/Dialect/Test/TestAttributes.cpp
Log Message:
-----------
[MLIR] Extend floating point parsing support (#90442)
Parsing support for floating point types was missing a few features:
1. Parsing floating point attributes from integer literals was supported
only for types with bitwidth smaller or equal to 64.
2. Downstream users could not use `AsmParser::parseFloat` to parse float
types which are printed as integer literals.
This commit addresses both these points. It extends
`Parser::parseFloatFromIntegerLiteral` to support arbitrary bitwidth,
and exposes a new API to parse arbitrary floating point given an
fltSemantics as input. The usage of this new API is introduced in the
Test Dialect.
Commit: caacf8685ac49526103b748b6b439dea84c30274
https://github.com/llvm/llvm-project/commit/caacf8685ac49526103b748b6b439dea84c30274
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-04 (Sat, 04 May 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/SystemZ/pr60413.ll
M llvm/test/CodeGen/X86/freeze-binary.ll
M llvm/test/CodeGen/X86/sdiv_fix_sat.ll
M llvm/test/CodeGen/X86/setcc-non-simple-type.ll
M llvm/test/CodeGen/X86/widen-load-of-small-alloca-with-zero-upper-half.ll
Log Message:
-----------
[DAG] Fold freeze(shuffle(x,y,m)) -> shuffle(freeze(x),freeze(y),m) (#90952)
If the shuffle mask contains no undef elements, then we can move the freeze through a shuffle node.
This requires special case handling to create a new ShuffleVectorSDNode.
Includes VECTOR_SHUFFLE support for isGuaranteedNotToBeUndefOrPoison / canCreateUndefOrPoison.
Commit: 76aa042dde6ba9ba57c680950f5818259ee02690
https://github.com/llvm/llvm-project/commit/76aa042dde6ba9ba57c680950f5818259ee02690
Author: Matt Stephanson <stephanson.matt at gmail.com>
Date: 2024-05-04 (Sat, 04 May 2024)
Changed paths:
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bernoulli/eval.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bernoulli/eval_param.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bin/eval.PR44847.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bin/eval.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bin/eval_param.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.geo/eval.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.geo/eval_param.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.negbin/eval.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.negbin/eval_param.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.cauchy/eval.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.chisq/eval.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.chisq/eval_param.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.lognormal/eval.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.lognormal/eval_param.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.t/eval.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.t/eval_param.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.exp/eval.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.exp/eval_param.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.extreme/eval.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.extreme/eval_param.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.gamma/eval.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.gamma/eval_param.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.poisson/eval.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.poisson/eval_param.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.discrete/eval.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.pconst/eval.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.plinear/eval.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.plinear/eval_param.pass.cpp
Log Message:
-----------
[libc++] Adjust some of the [rand.dist] critical values that are too strict (#88669)
Adjust some of the [rand.dist] critical values that are too strict
- Most critical values are determined empirically by running each test
51
times with a different PRNG seed and finding the smallest symmetric
interval
around the median that contains 90% of the sample means, variances, etc.
- For the Kolmogorov-Smirnov tests, the alpha=0.1 critical value for
large N
is 1.224/sqrt(N).
- For normally distributed variates, the sample kurtosis is distributed
as
Normal(0, 24/N). For N=1e5, this gives a 90% confidence interval of
0+/-0.0255. For Binomial(40, 0.25), which is approximately normal, the
kurtosis is -0.0167, so the relative 90% CI is large, on the order of
0.0255/0.0167 = 153%. In most cases the distribution of the sample
kurtosis
isn't known analytically, but similarly large relative tolerances can be
expected if the kurtosis is near zero.
Commit: 7ee6288312e8cde8d2e8ee48f87bbab966a89247
https://github.com/llvm/llvm-project/commit/7ee6288312e8cde8d2e8ee48f87bbab966a89247
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-04 (Sat, 04 May 2024)
Changed paths:
M llvm/include/llvm/Support/VirtualFileSystem.h
M llvm/include/llvm/Support/YAMLTraits.h
M llvm/lib/Support/APFloat.cpp
M llvm/lib/Support/CodeGenCoverage.cpp
M llvm/lib/Support/FileCollector.cpp
M llvm/lib/Support/JSON.cpp
M llvm/lib/Support/VirtualFileSystem.cpp
M llvm/lib/Support/YAMLTraits.cpp
Log Message:
-----------
[Support] Use StringRef::operator== instead of StringRef::equals (NFC) (#91042)
I'm planning to remove StringRef::equals in favor of
StringRef::operator==.
- StringRef::operator== outnumbers StringRef::equals by a factor of 25
under llvm/ in terms of their usage.
- The elimination of StringRef::equals brings StringRef closer to
std::string_view, which has operator== but not equals.
- S == "foo" is more readable than S.equals("foo"), especially for
!Long.Expression.equals("str") vs Long.Expression != "str".
Commit: cb015b9ec9446b3a1303980c095fa442d5e46fbf
https://github.com/llvm/llvm-project/commit/cb015b9ec9446b3a1303980c095fa442d5e46fbf
Author: Karl-Johan Karlsson <karl-johan.karlsson at ericsson.com>
Date: 2024-05-04 (Sat, 04 May 2024)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/test/CodeGen/math-errno.c
A clang/test/CodeGen/pr87758.c
Log Message:
-----------
[clang][CodeGen] Propagate pragma set fast-math flags to floating point builtins (#90377)
This is a fix for the issue #87758 where fast-math flags are not
propagated all builtins.
It seems like pragmas with fast math flags was only propagated to calls
of unary floating point builtins. This patch propagate them also for
binary and ternary floating point builtins.
Commit: 028f1b078193b9120ddb441808521b6bd6eaed0e
https://github.com/llvm/llvm-project/commit/028f1b078193b9120ddb441808521b6bd6eaed0e
Author: krzysdz <krzysdz at konto.pl>
Date: 2024-05-04 (Sat, 04 May 2024)
Changed paths:
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/include/version
M libcxx/test/std/language.support/support.limits/support.limits.general/deque.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/forward_list.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/list.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/queue.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/set.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/stack.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/string.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/unordered_set.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/vector.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/utils/generate_feature_test_macro_components.py
Log Message:
-----------
[libc++] Fix P1206R7 feature test macros (#90914)
- Add missing `__cpp_lib_containers_ranges` feature test macro
- Constrain `__cpp_lib_ranges_to_container` to the `<ranges>` header,
since the standard does not list it in containers' headers
Ref:
-
https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p1206r7.pdf#section.18
- https://eel.is/c++draft/support.limits#lib:__cpp_lib_containers_ranges
-
https://eel.is/c++draft/support.limits#lib:__cpp_lib_ranges_to_container
Commit: a98a6e95be1be9a5c28da15b4d19a6f39872461d
https://github.com/llvm/llvm-project/commit/a98a6e95be1be9a5c28da15b4d19a6f39872461d
Author: luolent <56246516+luolent at users.noreply.github.com>
Date: 2024-05-04 (Sat, 04 May 2024)
Changed paths:
M clang/lib/Basic/Targets/AMDGPU.cpp
M compiler-rt/lib/xray/xray_utils.h
M libc/src/__support/FPUtil/aarch64/FEnvImpl.h
M libc/src/__support/FPUtil/aarch64/fenv_darwin_impl.h
M libc/src/__support/FPUtil/arm/FEnvImpl.h
M libc/src/__support/FPUtil/riscv/FEnvImpl.h
M libc/src/__support/FPUtil/x86_64/FEnvImpl.h
M libclc/generic/lib/math/log_base.h
M libcxxabi/src/cxa_personality.cpp
M lld/ELF/LinkerScript.cpp
M lldb/tools/debugserver/source/MacOSX/MachException.cpp
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AVR/AVRAsmPrinter.cpp
M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaDecomposeTransposeConv.cpp
Log Message:
-----------
Add clarifying parenthesis around non-trivial conditions in ternary expressions. (#90391)
Fixes [#85868](https://github.com/llvm/llvm-project/issues/85868)
Parenthesis are added as requested on ternary operators with non trivial conditions.
I used this [precedence table](https://en.cppreference.com/w/cpp/language/operator_precedence) for reference, to make sure we get the expected behavior on each change.
Commit: 0d493ed2c6e664849a979b357a606dcd8273b03f
https://github.com/llvm/llvm-project/commit/0d493ed2c6e664849a979b357a606dcd8273b03f
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-05-04 (Sat, 04 May 2024)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
M llvm/docs/LangRef.rst
M llvm/docs/ReleaseNotes.rst
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.h
M llvm/lib/Target/AMDGPU/SIModeRegisterDefaults.cpp
M llvm/lib/Target/AMDGPU/SIModeRegisterDefaults.h
R llvm/test/CodeGen/AMDGPU/llvm.set.rounding.ll
Log Message:
-----------
Revert 4 last AMDGPU commits to unbreak Windows bots
Revert "AMDGPU: Try to fix build error with old gcc"
This reverts commit c7ad12d0d7606b0b9fb531b0b273bdc5f1490ddb.
Revert "AMDGPU: Use umin in set.rounding expansion"
This reverts commit a56f0b51dd988ad2b533de759c98457c1ed42456.
Revert "AMDGPU: Optimize set_rounding if input is known to fit in 2 bits (#88588)"
This reverts commit b4e751e2ab0ff152ed18dea59ebf9691e963e1dd.
Revert "AMDGPU: Implement llvm.set.rounding (#88587)"
This reverts commit 9731b77e80261c627d79980f8c275700bdaf6591.
Commit: 18d1df4633c3964e12ec46f3fa92e60ab21842fd
https://github.com/llvm/llvm-project/commit/18d1df4633c3964e12ec46f3fa92e60ab21842fd
Author: akshaykumars614 <88362922+akshaykumars614 at users.noreply.github.com>
Date: 2024-05-04 (Sat, 04 May 2024)
Changed paths:
M llvm/lib/CodeGen/TargetSchedule.cpp
Log Message:
-----------
llvm/lib/CodeGen/TargetSchedule.cpp:132:12: warning: Assert statement modifies 'NIter' (#90982)
Modified the assert statement
Commit: 004485690e8e36610b6f9eb4ccfc7de411aa1b1b
https://github.com/llvm/llvm-project/commit/004485690e8e36610b6f9eb4ccfc7de411aa1b1b
Author: David Blaikie <dblaikie at gmail.com>
Date: 2024-05-04 (Sat, 04 May 2024)
Changed paths:
M llvm/lib/CodeGen/TargetSchedule.cpp
Log Message:
-----------
Revert "llvm/lib/CodeGen/TargetSchedule.cpp:132:12: warning: Assert statement modifies 'NIter'" (#91079)
Reverts llvm/llvm-project#90982
NIter was only declared in !NDEBUG, and only used for assertions - so it
was correct that it was incremented inside the assertion. (& in fact now
the non-asserts build fails, because the variable is incremented even
though it isn't declared)
Commit: c7910ee1f0af64501bf068cdfec154ea359ff832
https://github.com/llvm/llvm-project/commit/c7910ee1f0af64501bf068cdfec154ea359ff832
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-05-04 (Sat, 04 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC]Use std::optional::value_or.
Commit: 24f5fc77d43f4ae2dc1cb0c0902c5e22cbadf09e
https://github.com/llvm/llvm-project/commit/24f5fc77d43f4ae2dc1cb0c0902c5e22cbadf09e
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2024-05-04 (Sat, 04 May 2024)
Changed paths:
M flang/include/flang/Optimizer/Builder/HLFIRTools.h
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
A flang/test/Lower/OpenMP/delayed-privatization-allocatable-array.f90
A flang/test/Lower/OpenMP/delayed-privatization-array.f90
A flang/test/Lower/OpenMP/delayed-privatization-character-array.f90
A flang/test/Lower/OpenMP/delayed-privatization-character.f90
Log Message:
-----------
[flang][MLIR][OpenMP] Extend delayed privatization for arrays and characters (#85023)
Commit: 677dddebae77a93e080a98617aa2714be4a46fd0
https://github.com/llvm/llvm-project/commit/677dddebae77a93e080a98617aa2714be4a46fd0
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-04 (Sat, 04 May 2024)
Changed paths:
M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
M llvm/lib/Transforms/IPO/BlockExtractor.cpp
M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
M llvm/lib/Transforms/Scalar/ADCE.cpp
M llvm/lib/Transforms/Scalar/PlaceSafepoints.cpp
M llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
M llvm/lib/Transforms/Utils/LoopUnroll.cpp
M llvm/lib/Transforms/Utils/LoopUtils.cpp
M llvm/lib/Transforms/Utils/SymbolRewriter.cpp
M llvm/unittests/Transforms/Utils/LocalTest.cpp
Log Message:
-----------
[Transforms] Use StringRef::operator== instead of StringRef::equals (NFC) (#91072)
I'm planning to remove StringRef::equals in favor of
StringRef::operator==.
- StringRef::operator==/!= outnumber StringRef::equals by a factor of
31 under llvm/ in terms of their usage.
- The elimination of StringRef::equals brings StringRef closer to
std::string_view, which has operator== but not equals.
- S == "foo" is more readable than S.equals("foo"), especially for
!Long.Expression.equals("str") vs Long.Expression != "str".
Commit: b54a78d69be1952884462cb897abb9cf60a33978
https://github.com/llvm/llvm-project/commit/b54a78d69be1952884462cb897abb9cf60a33978
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-04 (Sat, 04 May 2024)
Changed paths:
M llvm/include/llvm/Analysis/LoopAccessAnalysis.h
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
M llvm/test/Transforms/LoopVectorize/reduction-with-invariant-store.ll
Log Message:
-----------
[LV,LAA] Don't vectorize loops with load and store to invar address.
Code checking stores to invariant addresses and reductions made an
incorrect assumption that the case of both a load & store to the same
invariant address does not need to be handled.
In some cases when vectorizing with runtime checks, there may be
dependences with a load and store to the same address, storing a
reduction value.
Update LAA to separately track if there was a store-store and a
load-store dependence with an invariant addresses.
Bail out early if there as a load-store dependence with invariant
address. If there was a store-store one, still apply the logic checking
if they all store a reduction.
Commit: 3cbfc9d80b35b90910de2953d72d7df4bd43e4cf
https://github.com/llvm/llvm-project/commit/3cbfc9d80b35b90910de2953d72d7df4bd43e4cf
Author: Markus Böck <markus.boeck02 at gmail.com>
Date: 2024-05-04 (Sat, 04 May 2024)
Changed paths:
M mlir/test/mlir-tblgen/attr-or-type-format-invalid.td
M mlir/tools/mlir-tblgen/AttrOrTypeFormatGen.cpp
M mlir/tools/mlir-tblgen/FormatGen.cpp
M mlir/tools/mlir-tblgen/FormatGen.h
M mlir/tools/mlir-tblgen/OpFormatGen.cpp
Log Message:
-----------
[mlir][ODS][NFC] Deduplicate `ref` and `qualified` handling (#91080)
Both the attribute and type format generator and the op format generator
independently implemented the parsing and verification of the `ref` and
`qualified` directives with little to no differences.
This PR moves the implementation of these into the common `FormatParser`
class to deduplicate the implementations.
Commit: abac98479b81cc0cc717bb6cdbae6f774e3b0232
https://github.com/llvm/llvm-project/commit/abac98479b81cc0cc717bb6cdbae6f774e3b0232
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-05-04 (Sat, 04 May 2024)
Changed paths:
M .github/workflows/release-binaries.yml
M .github/workflows/set-release-binary-outputs.sh
Log Message:
-----------
[Workflows] Re-write release-binaries workflow (#89521)
This updates the release-binaries workflow so that the different build
stages are split across multiple jobs. This saves money by reducing the
time spent on the larger github runners and also makes it easier to
debug, because now it's possible to build a smaller release package
(with clang and lld) using only the free GitHub runners.
The workflow no longer uses the test-release.sh script but instead uses
the Release.cmake cache. This gives the workflow more flexibility and
ensures that the binary package will always be created even if the tests
fail.
This idea to split the stages comes from the "LLVM Precommit CI through
Github Actions" RFC:
https://discourse.llvm.org/t/rfc-llvm-precommit-ci-through-github-actions/76456
Commit: 1b90095b7db40c835c6dbbbbe172d7a31100e461
https://github.com/llvm/llvm-project/commit/1b90095b7db40c835c6dbbbbe172d7a31100e461
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-04 (Sat, 04 May 2024)
Changed paths:
M clang/test/Driver/msvc-link.c
Log Message:
-----------
[Driver,test] Improve msvc-link.c
Commit: 4dede5ef5ca7e538351975130b1c1d863a84e4ca
https://github.com/llvm/llvm-project/commit/4dede5ef5ca7e538351975130b1c1d863a84e4ca
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-04 (Sat, 04 May 2024)
Changed paths:
M clang/lib/Sema/SemaExpr.cpp
Log Message:
-----------
[Sema] Remove redundant check in an else branch. NFC
after https://reviews.llvm.org/D83788
Fix #91090
Commit: f2f65eddc5d9804a32a2427cd2ac96647005f889
https://github.com/llvm/llvm-project/commit/f2f65eddc5d9804a32a2427cd2ac96647005f889
Author: srcarroll <50210727+srcarroll at users.noreply.github.com>
Date: 2024-05-04 (Sat, 04 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/python/mlir/dialects/transform/structured.py
M mlir/test/Dialect/Linalg/transform-op-pad.mlir
M mlir/test/python/dialects/transform_structured_ext.py
Log Message:
-----------
[mlir][transform] Add support for transform.param pad multiples in `PadOp` (#90755)
This patch modifies the definition of `PadOp` to take transform params
and handles for the `pad_to_multiple_of` operand.
---------
Co-authored-by: Oleksandr "Alex" Zinenko <ftynse at gmail.com>
Commit: 64ee821fad1b31aaa6703bb9af8f7c3067eabc48
https://github.com/llvm/llvm-project/commit/64ee821fad1b31aaa6703bb9af8f7c3067eabc48
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-04 (Sat, 04 May 2024)
Changed paths:
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
Log Message:
-----------
[mlir] Fix a warning
This patch fixes:
llvm-project/mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp:1715:28:
error: unused variable 'kPadToMultipleOfKeyword'
[-Werror,-Wunused-const-variable]
Commit: c5de4dd1eab00df76c1a68c5f397304ceacb71f2
https://github.com/llvm/llvm-project/commit/c5de4dd1eab00df76c1a68c5f397304ceacb71f2
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-04 (Sat, 04 May 2024)
Changed paths:
M clang/test/AST/Interp/builtins.cpp
M clang/test/AST/Interp/const-fpfeatures.cpp
M clang/test/AST/const-fpfeatures.c
M clang/test/AST/const-fpfeatures.cpp
M clang/test/CXX/expr/expr.unary/expr.unary.noexcept/cg.cpp
M clang/test/CodeGen/2010-08-10-DbgConstant.c
M clang/test/CodeGen/PR32874.c
M clang/test/CodeGen/PR44896.ll
M clang/test/CodeGen/PowerPC/aix_alloca_align.c
M clang/test/CodeGen/SystemZ/builtins-systemz-error2.c
M clang/test/CodeGen/VE/ve-velintrin.c
M clang/test/CodeGen/X86/bfloat16.cpp
M clang/test/CodeGen/X86/ms-inline-asm-prefix.c
M clang/test/CodeGen/X86/x86-atomic-float.c
M clang/test/CodeGen/X86/x86-atomic-long_double.c
M clang/test/CodeGen/X86/x86-vec-i128.c
M clang/test/CodeGen/X86/x86_64-atomic-128.c
M clang/test/CodeGen/X86/x86_inlineasm_curly_bracket_escape.c
M clang/test/CodeGen/aarch64-ls64-inline-asm.c
M clang/test/CodeGen/aarch64-ls64.c
M clang/test/CodeGen/aarch64-matmul.cpp
M clang/test/CodeGen/aarch64-mixed-target-attributes.c
M clang/test/CodeGen/aarch64-mops.c
M clang/test/CodeGen/aarch64-targetattr.c
M clang/test/CodeGen/aarch64-tme.cpp
M clang/test/CodeGen/aggregate-assign-call.c
M clang/test/CodeGen/align-global-large.c
M clang/test/CodeGen/aligned-sret.c
M clang/test/CodeGen/arm-byval-align.c
M clang/test/CodeGen/arm-mve-intrinsics/absneg.c
M clang/test/CodeGen/arm-mve-intrinsics/admin.c
M clang/test/CodeGen/arm-mve-intrinsics/bitwise-imm.c
M clang/test/CodeGen/arm-mve-intrinsics/compare.c
M clang/test/CodeGen/arm-mve-intrinsics/cplusplus.cpp
M clang/test/CodeGen/arm-mve-intrinsics/dup.c
M clang/test/CodeGen/arm-mve-intrinsics/get-set-lane.c
M clang/test/CodeGen/arm-mve-intrinsics/idup.c
M clang/test/CodeGen/arm-mve-intrinsics/load-store.c
M clang/test/CodeGen/arm-mve-intrinsics/predicates.c
M clang/test/CodeGen/arm-mve-intrinsics/reinterpret.c
M clang/test/CodeGen/arm-mve-intrinsics/scalar-shifts.c
M clang/test/CodeGen/arm-mve-intrinsics/scatter-gather.c
M clang/test/CodeGen/arm-mve-intrinsics/ternary.c
M clang/test/CodeGen/arm-mve-intrinsics/vabavq.c
M clang/test/CodeGen/arm-mve-intrinsics/vabdq.c
M clang/test/CodeGen/arm-mve-intrinsics/vadc.c
M clang/test/CodeGen/arm-mve-intrinsics/vaddq.c
M clang/test/CodeGen/arm-mve-intrinsics/vaddv.c
M clang/test/CodeGen/arm-mve-intrinsics/vandq.c
M clang/test/CodeGen/arm-mve-intrinsics/vbicq.c
M clang/test/CodeGen/arm-mve-intrinsics/vbrsrq.c
M clang/test/CodeGen/arm-mve-intrinsics/vcaddq.c
M clang/test/CodeGen/arm-mve-intrinsics/vclz.c
M clang/test/CodeGen/arm-mve-intrinsics/vcmlaq.c
M clang/test/CodeGen/arm-mve-intrinsics/vcmulq.c
M clang/test/CodeGen/arm-mve-intrinsics/vcvt.c
M clang/test/CodeGen/arm-mve-intrinsics/vcvt_anpm.c
M clang/test/CodeGen/arm-mve-intrinsics/vector-shift-imm-dyadic.c
M clang/test/CodeGen/arm-mve-intrinsics/vector-shift-imm.c
M clang/test/CodeGen/arm-mve-intrinsics/vector-shift-var.c
M clang/test/CodeGen/arm-mve-intrinsics/veorq.c
M clang/test/CodeGen/arm-mve-intrinsics/vhaddq.c
M clang/test/CodeGen/arm-mve-intrinsics/vhcaddq.c
M clang/test/CodeGen/arm-mve-intrinsics/vhsubq.c
M clang/test/CodeGen/arm-mve-intrinsics/vld24.c
M clang/test/CodeGen/arm-mve-intrinsics/vldr.c
M clang/test/CodeGen/arm-mve-intrinsics/vmaxaq.c
M clang/test/CodeGen/arm-mve-intrinsics/vmaxnmaq.c
M clang/test/CodeGen/arm-mve-intrinsics/vmaxnmq.c
M clang/test/CodeGen/arm-mve-intrinsics/vmaxq.c
M clang/test/CodeGen/arm-mve-intrinsics/vminaq.c
M clang/test/CodeGen/arm-mve-intrinsics/vminnmaq.c
M clang/test/CodeGen/arm-mve-intrinsics/vminnmq.c
M clang/test/CodeGen/arm-mve-intrinsics/vminq.c
M clang/test/CodeGen/arm-mve-intrinsics/vminvq.c
M clang/test/CodeGen/arm-mve-intrinsics/vmldav.c
M clang/test/CodeGen/arm-mve-intrinsics/vmlldav.c
M clang/test/CodeGen/arm-mve-intrinsics/vmovl.c
M clang/test/CodeGen/arm-mve-intrinsics/vmovn.c
M clang/test/CodeGen/arm-mve-intrinsics/vmulhq.c
M clang/test/CodeGen/arm-mve-intrinsics/vmullbq.c
M clang/test/CodeGen/arm-mve-intrinsics/vmulltq.c
M clang/test/CodeGen/arm-mve-intrinsics/vmulq.c
M clang/test/CodeGen/arm-mve-intrinsics/vornq.c
M clang/test/CodeGen/arm-mve-intrinsics/vorrq.c
M clang/test/CodeGen/arm-mve-intrinsics/vqaddq.c
M clang/test/CodeGen/arm-mve-intrinsics/vqdmlad.c
M clang/test/CodeGen/arm-mve-intrinsics/vqdmulhq.c
M clang/test/CodeGen/arm-mve-intrinsics/vqdmullbq.c
M clang/test/CodeGen/arm-mve-intrinsics/vqdmulltq.c
M clang/test/CodeGen/arm-mve-intrinsics/vqmovn.c
M clang/test/CodeGen/arm-mve-intrinsics/vqrdmulhq.c
M clang/test/CodeGen/arm-mve-intrinsics/vqsubq.c
M clang/test/CodeGen/arm-mve-intrinsics/vrev.c
M clang/test/CodeGen/arm-mve-intrinsics/vrhaddq.c
M clang/test/CodeGen/arm-mve-intrinsics/vrmulhq.c
M clang/test/CodeGen/arm-mve-intrinsics/vrnd.c
M clang/test/CodeGen/arm-mve-intrinsics/vshlc.c
M clang/test/CodeGen/arm-mve-intrinsics/vsubq.c
M clang/test/CodeGen/arm-sve-vector-bits-vscale-range.c
M clang/test/CodeGen/arm64-mte.c
M clang/test/CodeGen/arm_acle.c
M clang/test/CodeGen/asan-new-pm.ll
M clang/test/CodeGen/asm-label-inline-builtins.c
M clang/test/CodeGen/attr-alwaysinline.cpp
M clang/test/CodeGen/attr-arm-sve-vector-bits-types.c
M clang/test/CodeGen/attr-btf_tag-typedef.c
M clang/test/CodeGen/attr-btf_type_tag-func-ptr.c
M clang/test/CodeGen/attr-btf_type_tag-func.c
M clang/test/CodeGen/attr-btf_type_tag-similar-type.c
M clang/test/CodeGen/attr-btf_type_tag-typedef-field.c
M clang/test/CodeGen/attr-btf_type_tag-var.c
M clang/test/CodeGen/attr-mustprogress.c
M clang/test/CodeGen/attr-noinline.cpp
M clang/test/CodeGen/attr-nomerge.cpp
M clang/test/CodeGen/attr-noundef.cpp
M clang/test/CodeGen/attr-nouwtable.c
M clang/test/CodeGen/attr-riscv-rvv-vector-bits-types.c
M clang/test/CodeGen/attr-target-clones-aarch64.c
M clang/test/CodeGen/attr-target-version.c
M clang/test/CodeGen/blocks-windows.c
M clang/test/CodeGen/builtins-arm64.c
M clang/test/CodeGen/callback_pthread_create.c
M clang/test/CodeGen/cf-runtime-abi.c
M clang/test/CodeGen/cfstring-elf-cfbuild-x86_64.c
M clang/test/CodeGen/cfstring-windows.c
M clang/test/CodeGen/cfstring3.c
M clang/test/CodeGen/cmse-clear-arg.c
M clang/test/CodeGen/cmse-clear-return.c
M clang/test/CodeGen/dbg-const-int128.c
M clang/test/CodeGen/debug-info-codeview-heapallocsite.c
M clang/test/CodeGen/debug-info-codeview-unnamed.c
M clang/test/CodeGen/debug-info-gline-tables-only.c
M clang/test/CodeGen/debug-info-gline-tables-only2.c
M clang/test/CodeGen/debug-info-line.c
M clang/test/CodeGen/debug-info-line3.c
M clang/test/CodeGen/debug-info-pseudo-probe.cpp
M clang/test/CodeGen/debug-info-variables.c
M clang/test/CodeGen/dominating-store-infinite-cycle.c
M clang/test/CodeGen/enum-bool.cpp
M clang/test/CodeGen/fread-inline-builtin-late-redecl.c
M clang/test/CodeGen/gh64876.cpp
M clang/test/CodeGen/hwasan-new-pm.c
M clang/test/CodeGen/inline-builtin-comdat.c
M clang/test/CodeGen/kmsan-param-retval.c
M clang/test/CodeGen/libcalls-fno-builtin.c
M clang/test/CodeGen/lifetime2.c
M clang/test/CodeGen/lifetime3.cpp
M clang/test/CodeGen/mcount-aix.c
M clang/test/CodeGen/mdefault-visibility-export-mapping.c
M clang/test/CodeGen/memcmp-inline-builtin-to-asm.c
M clang/test/CodeGen/memcpy-inline-builtin-mutliple-decl.c
M clang/test/CodeGen/memcpy-inline-builtin-no-extern.c
M clang/test/CodeGen/memcpy-inline-builtin.c
M clang/test/CodeGen/memcpy-no-nobuiltin-if-not-emitted.cpp
M clang/test/CodeGen/memcpy-nobuiltin.c
M clang/test/CodeGen/mips-unsigned-ext-var.c
M clang/test/CodeGen/mips-unsigned-extend.c
M clang/test/CodeGen/mips-zero-sized-struct.c
M clang/test/CodeGen/msan-param-retval.c
M clang/test/CodeGen/msan-param-retval.cpp
M clang/test/CodeGen/msvc_pragma_alloc_text.cpp
M clang/test/CodeGen/named_reg_global.c
M clang/test/CodeGen/no-builtin.cpp
M clang/test/CodeGen/personality.c
M clang/test/CodeGen/riscv-vector-bits-vscale-range.c
M clang/test/CodeGen/rounding-math.c
M clang/test/CodeGen/rounding-math.cpp
M clang/test/CodeGen/sanitize-metadata-ignorelist.c
M clang/test/CodeGen/sanitize-metadata-nosanitize.c
M clang/test/CodeGen/sanitize-metadata.c
M clang/test/CodeGen/split-debug-filename.c
M clang/test/CodeGen/split-debug-inlining.c
M clang/test/CodeGen/stack-clash-protection.c
M clang/test/CodeGen/strlen-inline-builtin-redecl.c
M clang/test/CodeGen/struct-matching-constraint.c
M clang/test/CodeGen/struct-union-BE.c
M clang/test/CodeGen/svboolx2_t.cpp
M clang/test/CodeGen/svboolx4_t.cpp
M clang/test/CodeGen/tls-maxalign-modflag.c
M clang/test/CodeGen/ubsan-volatile.c
M clang/test/CodeGen/unique-internal-linkage-names.c
M clang/test/CodeGen/unique-internal-linkage-names.cpp
M clang/test/CodeGen/user-func-gnu-inline-redecl.c
M clang/test/CodeGen/windows-seh-EHa-CppCatchDotDotDot.cpp
M clang/test/CodeGen/windows-seh-EHa-CppCatchReturn.cpp
M clang/test/CodeGen/windows-seh-EHa-CppCondiTemps.cpp
M clang/test/CodeGen/windows-seh-EHa-CppDtors01.cpp
M clang/test/CodeGen/windows-seh-EHa-TryInFinally.cpp
M clang/test/CodeGen/windows-seh-abnormal-exits.c
M clang/test/CodeGen/windows-seh-filter-inFinally.c
M clang/test/CodeGenCXX/aix-static-init-temp-spec-and-inline-var.cpp
M clang/test/CodeGenCXX/aix-static-init.cpp
M clang/test/CodeGenCXX/attr-annotate-destructor.cpp
M clang/test/CodeGenCXX/attr-annotate.cpp
M clang/test/CodeGenCXX/attr-annotate2.cpp
M clang/test/CodeGenCXX/attr-mustprogress.cpp
M clang/test/CodeGenCXX/attr-musttail.cpp
M clang/test/CodeGenCXX/builtin-bit-cast-no-tbaa.cpp
M clang/test/CodeGenCXX/builtin-bit-cast.cpp
M clang/test/CodeGenCXX/constexpr-late-instantiation.cpp
M clang/test/CodeGenCXX/cxx0x-initializer-array.cpp
M clang/test/CodeGenCXX/cxx0x-initializer-scalars.cpp
M clang/test/CodeGenCXX/cxx11-initializer-aggregate.cpp
M clang/test/CodeGenCXX/cxx11-trivial-initializer-struct.cpp
M clang/test/CodeGenCXX/debug-info-blocks.cpp
M clang/test/CodeGenCXX/debug-info-codeview-heapallocsite.cpp
M clang/test/CodeGenCXX/debug-info-codeview-unnamed.cpp
M clang/test/CodeGenCXX/debug-info-determinism.cpp
M clang/test/CodeGenCXX/debug-info-gline-tables-only.cpp
M clang/test/CodeGenCXX/debug-info-line-if.cpp
M clang/test/CodeGenCXX/debug-info-method2.cpp
M clang/test/CodeGenCXX/debug-info-namespace.cpp
M clang/test/CodeGenCXX/debug-info-struct-align.cpp
M clang/test/CodeGenCXX/debug-info-thunk.cpp
M clang/test/CodeGenCXX/destructor-debug-info.cpp
M clang/test/CodeGenCXX/dllexport-alias.cpp
M clang/test/CodeGenCXX/fixed-point-mangle.cpp
M clang/test/CodeGenCXX/instrument-functions.cpp
M clang/test/CodeGenCXX/mdefault-visibility-export-mapping-alias.cpp
M clang/test/CodeGenCXX/mdefault-visibility-export-mapping-rtti.cpp
M clang/test/CodeGenCXX/mdefault-visibility-export-mapping.cpp
M clang/test/CodeGenCXX/module-initializer-guard-elision.cpp
M clang/test/CodeGenCXX/module-initializer-header.cppm
M clang/test/CodeGenCXX/module-intializer.cpp
M clang/test/CodeGenCXX/partial-init.cpp
M clang/test/CodeGenCXX/partitions.cpp
M clang/test/CodeGenCXX/personality.cpp
M clang/test/CodeGenCXX/poly-unsigned.cpp
M clang/test/CodeGenCXX/pr29160.cpp
M clang/test/CodeGenCXX/static-init-4.cpp
M clang/test/CodeGenCXX/static-init-inline-variable.cpp
M clang/test/CodeGenCXX/static-init-variable-template.cpp
M clang/test/CodeGenCXX/this-nonnull.cpp
M clang/test/CodeGenCXX/tls-init-funcs.cpp
M clang/test/CodeGenCXX/tmp-md-nodes1.cpp
M clang/test/CodeGenCXX/tmp-md-nodes2.cpp
M clang/test/CodeGenCXX/ubsan-new-checks.cpp
M clang/test/CodeGenCXX/weak-external.cpp
M clang/test/CodeGenCXX/windows-on-arm-stack-probe-size.cpp
M clang/test/CodeGenCoroutines/pr56329.cpp
M clang/test/CodeGenCoroutines/pr59221.cpp
M clang/test/CodeGenHLSL/GlobalConstructorFunction.hlsl
M clang/test/CodeGenHLSL/GlobalConstructorLib.hlsl
M clang/test/CodeGenHLSL/GlobalConstructors.hlsl
M clang/test/CodeGenHLSL/GlobalDestructors.hlsl
M clang/test/CodeGenHLSL/validator_version.hlsl
M clang/test/CodeGenObjC/attr-used-on-method.m
M clang/test/CodeGenObjC/debug-info-impl.m
M clang/test/CodeGenObjC/debug-info-property-class-extension.m
M clang/test/CodeGenObjC/debug-info-property-class-instance-same-name.m
M clang/test/CodeGenObjC/debug-info-property3.m
M clang/test/CodeGenObjC/dllstorage.m
M clang/test/CodeGenObjC/externally-retained.m
M clang/test/CodeGenObjC/gnu-init.m
M clang/test/CodeGenObjC/gnu-method-only-once.m
M clang/test/CodeGenObjC/gnu-nil-receiver.m
M clang/test/CodeGenObjC/gnustep2-category-protocol.m
M clang/test/CodeGenObjC/gnustep2-category.m
M clang/test/CodeGenObjC/gnustep2-class.m
M clang/test/CodeGenObjC/gnustep2-direct-method.m
M clang/test/CodeGenObjC/gnustep2-ivar-offset.m
M clang/test/CodeGenObjC/gnustep2-nontrivial-destructor-argument.mm
M clang/test/CodeGenObjC/gnustep2-proto.m
M clang/test/CodeGenObjC/ivar-type-encoding.m
M clang/test/CodeGenObjC/personality.m
M clang/test/CodeGenObjC/stret-lifetime.m
M clang/test/CodeGenObjC/unqual-copy-restore.m
M clang/test/CodeGenObjCXX/msabi-stret.mm
M clang/test/CodeGenObjCXX/personality.mm
M clang/test/CodeGenOpenCL/amdgcn-flat-scratch-name.cl
M clang/test/CodeGenOpenCL/amdgcn-large-globals.cl
M clang/test/CodeGenOpenCL/amdgcn-non-temporal-store.cl
M clang/test/CodeGenOpenCL/amdgpu-abi-struct-coerce.cl
M clang/test/CodeGenOpenCL/amdgpu-call-kernel.cl
M clang/test/CodeGenOpenCL/amdgpu-calling-conv.cl
M clang/test/CodeGenOpenCL/amdgpu-features.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-ci.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-dl-insts-err-clamp.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-dl-insts-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-dl-insts-gfx11.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-dl-insts-gfx12.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-dl-insts.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-flat-address-space.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-fp8.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx10.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx11-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx11-param-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx11.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12-param-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12-wmma-w32.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12-wmma-w64.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx9.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-w32.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-w64.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gws-insts.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-interp.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-mfma.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-swmmac-w32.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-swmmac-w64.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-vi.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-wave32.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-wave64.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-wmma-w32.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-wmma-w64.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn.cl
M clang/test/CodeGenOpenCL/builtins-generic-amdgcn.cl
M clang/test/CodeGenOpenCL/builtins-r600.cl
M clang/test/CodeGenOpenCL/numbered-address-space.cl
M clang/test/CodeGenOpenCL/sqrt-fpmath.cl
M clang/test/CodeGenOpenCL/visibility.cl
M clang/test/Frontend/fixed_point_add.c
M clang/test/Frontend/fixed_point_add_const.c
M clang/test/Frontend/fixed_point_comparisons.c
M clang/test/Frontend/fixed_point_compound.c
M clang/test/Frontend/fixed_point_conversions.c
M clang/test/Frontend/fixed_point_conversions_const.c
M clang/test/Frontend/fixed_point_conversions_half.c
M clang/test/Frontend/fixed_point_div.c
M clang/test/Frontend/fixed_point_div_const.c
M clang/test/Frontend/fixed_point_mul.c
M clang/test/Frontend/fixed_point_mul_const.c
M clang/test/Frontend/fixed_point_same_fbits.c
M clang/test/Frontend/fixed_point_shift.c
M clang/test/Frontend/fixed_point_shift_const.c
M clang/test/Frontend/fixed_point_sub.c
M clang/test/Frontend/fixed_point_sub_const.c
M clang/test/Frontend/fixed_point_to_bool.c
M clang/test/Frontend/fixed_point_unary.c
M clang/test/Frontend/invalid-cxx-abi.cpp
M clang/test/Frontend/valid-cxx-abi.cpp
M clang/test/Layout/aix-power-alignment-typedef-2.cpp
M clang/test/Layout/aix-type-align-and-pack-attr.cpp
M clang/test/Modules/getSourceDescriptor-crash.cpp
M clang/test/Modules/language-linkage.cppm
M clang/test/Modules/no-duplicate-codegen-in-GMF.cppm
M clang/test/Modules/pr58716.cppm
M clang/test/Modules/pr60693.cppm
M clang/test/Modules/pr60890.cppm
M clang/test/Modules/pr61783.cppm
M clang/test/Modules/pr78830.cppm
M clang/test/OpenMP/constexpr_capture.cpp
M clang/test/OpenMP/openmp_offload_codegen.cpp
M clang/test/PCH/cxx_paren_init.cpp
M clang/test/Profile/cxx-missing-bodies.cpp
M clang/test/Sema/builtins-arm64-mte.c
M clang/test/Sema/sizeof-struct-non-zero-as-member.cl
M clang/test/Sema/test-wunaligned-access.c
M clang/test/Sema/test-wunaligned-access.cpp
Log Message:
-----------
[test] %clang_cc1 -emit-llvm: remove redundant -S
And replace -emit-llvm -o - with -emit-llvm-only
Commit: 0d501f38f348cf046d40c9baee12f0c5145b6d8c
https://github.com/llvm/llvm-project/commit/0d501f38f348cf046d40c9baee12f0c5145b6d8c
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-04 (Sat, 04 May 2024)
Changed paths:
M clang/test/CodeGen/PowerPC/toc-data-attribute.c
M clang/test/CodeGen/PowerPC/toc-data-attribute.cpp
M clang/test/CodeGen/PowerPC/toc-data-diagnostics.c
M clang/test/CodeGen/PowerPC/toc-data-structs-arrays.cpp
M clang/test/CodeGen/X86/math-builtins.c
M clang/test/CodeGen/X86/x86_64-instrument-functions.c
M clang/test/CodeGen/aarch64-neon-fma.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_add-i32.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_add-i64.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_cnt.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_ld1.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_ld1_vnum.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_ldr.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_mopa-za32.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_mopa-za64.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_mops-za32.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_mops-za64.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_read.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_st1.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_st1_vnum.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_state_funs.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_str.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_write.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_zero.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_add.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_bmop.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_cvt.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_cvtn.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_fp_dots.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_frint.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_int_dots.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_ldr_str_zt.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti2_lane_zt.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti2_lane_zt_x2.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti2_lane_zt_x4.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti4_lane_zt.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti4_lane_zt_x2.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti4_lane_zt_x4.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_max.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_maxnm.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_min.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_minnm.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mla.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mlal.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mlall.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mls.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mlsl.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mop.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_read.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_reinterpret_svcount_svbool.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_sqdmulh.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_sub.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_unpkx2.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_unpkx4.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vdot.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_add.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_qrshr.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_rshl.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_selx2.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_selx4.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_uzpx2.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_uzpx4.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_zipx2.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_zipx4.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_write.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_zero_zt.c
M clang/test/CodeGen/aarch64-soft-float-abi-errors.c
M clang/test/CodeGen/aarch64-sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.c
M clang/test/CodeGen/aarch64-sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.cpp
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_abd.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_abs.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_acge.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_acgt.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_acle.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_aclt.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_add.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_adda.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_addv.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_adrb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_adrd.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_adrh.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_adrw.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_and.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_andv.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_asr.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_asrd.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_bfdot.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_bfmlalb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_bfmlalt.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_bfmmla.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_bic.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_brka.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_brkb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_brkn.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_brkpa.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_brkpb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cadd.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_clasta-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_clasta.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_clastb-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_clastb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cls.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_clz.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmla.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmpeq.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmpge.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmpgt.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmple.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmplt.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmpne.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmpuo.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cnot.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cnt-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cnt.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cntb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cntd.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cnth.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cntp.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cntw.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_compact.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create2-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create2.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create3-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create3.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create4-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create4.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cvt-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cvt.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cvtnt.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_div.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_divr.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_dot.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_dup-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_dup.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_dupq-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_dupq.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_eor.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_eorv.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_expa.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ext-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ext.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_extb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_exth.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_extw.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get2-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get2.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get3-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get3.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get4-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get4.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_index.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_insr-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_insr.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_lasta-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_lasta.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_lastb-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_lastb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1ro-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1ro.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1rq-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1rq.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1sb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1sh.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1sw.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1ub.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1uh.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1uw.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld2-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld2.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld3-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld3.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld4-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld4.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldff1-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldff1.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldff1sb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldff1sh.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldff1sw.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldff1ub.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldff1uh.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldff1uw.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnf1-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnf1.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnf1sb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnf1sh.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnf1sw.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnf1ub.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnf1uh.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnf1uw.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnt1-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnt1.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_len-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_len.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_lsl.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_lsr.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mad.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_matmul_fp32.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_matmul_fp64.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_max.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_maxnm.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_maxnmv.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_maxv.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_min.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_minnm.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_minnmv.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_minv.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mla.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mls.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mmla.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mov.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_msb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mul.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mulh.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mulx.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_nand.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_neg.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_nmad.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_nmla.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_nmls.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_nmsb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_nor.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_not.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_orn.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_orr.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_orv.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_pfalse.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_pfirst.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_pnext.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_prfb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_prfd.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_prfh.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_prfw.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ptest.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ptrue.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qadd.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qdecb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qdecd.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qdech.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qdecp.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qdecw.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qincb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qincd.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qinch.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qincp.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qincw.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qsub.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rbit.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rdffr.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_recpe.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_recps.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_recpx.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_reinterpret-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_reinterpret.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_reinterpret_from_streaming_mode.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rev-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rev.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_revb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_revh.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_revw.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rinta.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rinti.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rintm.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rintn.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rintp.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rintx.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rintz.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rsqrte.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rsqrts.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_scale.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_sel-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_sel.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set2-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set2.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set3-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set3.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set4-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set4.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_setffr.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_splice-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_splice.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_sqrt.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1b.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1h.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1w.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st2-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st2.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st3-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st3.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st4-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st4.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_stnt1-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_stnt1.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_sub.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_subr.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_sudot.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_tbl-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_tbl.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_tmad.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_trn1-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_trn1-fp64-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_trn1-fp64.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_trn1.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_trn2-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_trn2-fp64-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_trn2-fp64.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_trn2.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_tsmul.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_tssel.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef2-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef2.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef3-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef3.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef4-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef4.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_unpkhi.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_unpklo.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_usdot.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_uzp1-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_uzp1-fp64-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_uzp1-fp64.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_uzp1.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_uzp2-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_uzp2-fp64-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_uzp2-fp64.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_uzp2.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_whilele.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_whilelt.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_wrffr.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_zip1-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_zip1-fp64-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_zip1-fp64.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_zip1.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_zip2-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_zip2-fp64-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_zip2-fp64.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_zip2.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_aba.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_abalb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_abalt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_abdlb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_abdlt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_adalp.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_adclb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_adclt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addhnb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addhnt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addlb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addlbt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addlt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addp.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addwb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addwt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_aesd.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_aese.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_aesimc.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_aesmc.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bcax.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bdep.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bext.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bgrp.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bsl.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bsl1n.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bsl2n.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_cadd.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_cdot.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_cmla.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_cvtlt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_cvtnt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_cvtx.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_cvtxnt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_eor3.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_eorbt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_eortb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_hadd.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_histcnt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_histseg.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_hsub.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_hsubr.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1sb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1sh.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1sw.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1ub.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1uh.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1uw.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_logb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_match.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_maxnmp.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_maxp.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_minnmp.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_minp.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mla.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mlalb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mlalt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mls.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mlslb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mlslt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_movlb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_movlt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mul.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mullb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mullt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_nbsl.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_nmatch.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_pmul.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_pmullb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_pmullb_128.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_pmullt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_pmullt_128.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qabs.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qadd.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qcadd.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmlalb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmlalbt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmlalt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmlslb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmlslbt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmlslt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmulh.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmullb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmullt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qneg.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrdcmlah.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrdmlah.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrdmlsh.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrdmulh.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrshl.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrshrnb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrshrnt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrshrunb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrshrunt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qshl.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qshlu.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qshrnb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qshrnt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qshrunb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qshrunt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qsub.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qsubr.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qxtnb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qxtnt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qxtunb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qxtunt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_raddhnb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_raddhnt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rax1.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_recpe.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rhadd.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rshl.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rshr.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rshrnb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rshrnt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rsqrte.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rsra.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rsubhnb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rsubhnt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sbclb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sbclt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_shllb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_shllt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_shrnb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_shrnt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sli.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sm4e.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sm4ekey.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sqadd.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sra.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sri.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_stnt1.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_stnt1b.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_stnt1h.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_stnt1w.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_subhnb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_subhnt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sublb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sublbt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sublt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_subltb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_subwb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_subwt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_tbl2-bfloat.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_tbl2.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_tbx-bfloat.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_tbx.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_uqadd.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_whilege.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_whilegt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_whilerw-bfloat.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_whilerw.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_whilewr-bfloat.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_whilewr.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_xar.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfadd.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfclamp.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmax.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmaxnm.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmin.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfminnm.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmla.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmla_lane.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmls.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmls_lane.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmlsl.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmul.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmul_lane.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfsub.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_cntp.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_create2_bool.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_create4_bool.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_dot.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_fp_reduce.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_get2_bool.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_get4_bool.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_int_reduce.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_ld1.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_ldnt1.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_loads.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_pext.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_pfalse.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_ptrue.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_qcvtn.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_qrshr.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_set2_bool.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_set4_bool.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_st1.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_stnt1.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_store.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_undef_bool.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_while_pn.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_while_x2.c
M clang/test/CodeGen/aarch64_neon_sve_bridge_intrinsics/acle_neon_sve_bridge_dup_neonq.c
M clang/test/CodeGen/aarch64_neon_sve_bridge_intrinsics/acle_neon_sve_bridge_get_neonq.c
M clang/test/CodeGen/aarch64_neon_sve_bridge_intrinsics/acle_neon_sve_bridge_set_neonq.c
M clang/test/CodeGen/aarch64_neon_sve_bridge_intrinsics/target.c
M clang/test/CodeGen/arm64_vcopy.c
M clang/test/CodeGen/arm64_vcreate.c
M clang/test/CodeGen/arm64_vdup.c
M clang/test/CodeGen/arm64_vdupq_n_f64.c
M clang/test/CodeGen/attr-arm-sve-vector-bits-bitcast.c
M clang/test/CodeGen/attr-arm-sve-vector-bits-call.c
M clang/test/CodeGen/attr-arm-sve-vector-bits-cast.c
M clang/test/CodeGen/attr-arm-sve-vector-bits-codegen.c
M clang/test/CodeGen/attr-arm-sve-vector-bits-globals.c
M clang/test/CodeGen/attr-riscv-rvv-vector-bits-bitcast.c
M clang/test/CodeGen/attr-riscv-rvv-vector-bits-call.c
M clang/test/CodeGen/attr-riscv-rvv-vector-bits-cast.c
M clang/test/CodeGen/attr-riscv-rvv-vector-bits-codegen.c
M clang/test/CodeGen/attr-riscv-rvv-vector-bits-globals.c
M clang/test/CodeGen/builtin-complex.c
M clang/test/CodeGen/complex-builtins-2.c
M clang/test/CodeGen/complex-builtins.c
M clang/test/CodeGen/complex-libcalls-2.c
M clang/test/CodeGen/complex-libcalls.c
M clang/test/CodeGen/constrained-math-builtins.c
M clang/test/CodeGen/debug-nvptx.c
M clang/test/CodeGen/debug-prefix-map.cpp
M clang/test/CodeGen/denormalfpmode-f32.c
M clang/test/CodeGen/denormalfpmode.c
M clang/test/CodeGen/instrument-functions.c
M clang/test/CodeGen/instrument-objc-method.m
M clang/test/CodeGen/isfpclass.c
M clang/test/CodeGen/libcall-declarations.c
M clang/test/CodeGen/lineno-dbginfo.c
M clang/test/CodeGen/loop-unroll.c
M clang/test/CodeGen/loop-vectorize.c
M clang/test/CodeGen/math-builtins-long.c
M clang/test/CodeGen/math-libcalls.c
M clang/test/CodeGen/mips-byval-arg.c
M clang/test/CodeGen/mips-transparent-union.c
M clang/test/CodeGen/mips-vector-arg.c
M clang/test/CodeGen/mips-vector-return.c
M clang/test/CodeGen/mips64-class-return.cpp
M clang/test/CodeGen/mips64-padding-arg.c
M clang/test/CodeGen/no-junk-ftrunc.c
M clang/test/CodeGen/noexceptionsfpmath.c
M clang/test/CodeGen/nousejumptable.c
M clang/test/CodeGen/nullptr-arithmetic.c
M clang/test/CodeGen/nullptr.c
M clang/test/CodeGen/nvptx-abi.c
M clang/test/CodeGen/nvptx-cc.c
M clang/test/CodeGen/nvptx-cpus.c
M clang/test/CodeGen/nvptx-inlineasm-ptx.c
M clang/test/CodeGen/nvptx-inlineasm.c
M clang/test/CodeGenCXX/OmitRTTIComponentABI/simple-vtable-definition.cpp
M clang/test/CodeGenCXX/OmitRTTIComponentABI/vbase-offset.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/available_externally-vtable.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/child-inheritted-from-parent-in-comdat.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/child-vtable-in-comdat.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/cross-translation-unit-1.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/cross-translation-unit-2.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/diamond-inheritance.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/diamond-virtual-inheritance.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/dynamic-cast.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/inheritted-virtual-function.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/inline-virtual-function.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/inlined-key-function.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/member-function-pointer.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/multiple-inheritance.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/no-alias-when-dso-local.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/override-pure-virtual-method.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/overriden-virtual-function.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/parent-and-child-in-comdats.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/parent-vtable-in-comdat.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/relative-vtables-flag.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/relative-vtables-hwasan.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/simple-vtable-definition.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/thunk-mangling.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/type-info.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/vbase-offset.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/virtual-function-call.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/vtable-hidden-when-in-comdat.cpp
M clang/test/CodeGenCXX/cxx0x-initializer-constructors.cpp
M clang/test/CodeGenCXX/cxx0x-initializer-references.cpp
M clang/test/CodeGenCXX/cxx0x-initializer-stdinitializerlist-startend.cpp
M clang/test/CodeGenCXX/debug-info-global-ctor-dtor.cpp
M clang/test/CodeGenCXX/debug-info-line.cpp
M clang/test/CodeGenCXX/funcattrs-global-ctor-dtor.cpp
M clang/test/CodeGenCXX/msabi-blocks.cpp
M clang/test/CodeGenCXX/union-dtor.cpp
M clang/test/CodeGenCoroutines/coro-alloc-2.cpp
M clang/test/CodeGenHLSL/disable_opt.hlsl
M clang/test/CodeGenHLSL/validator_version.hlsl
M clang/test/CodeGenOpenCL/amdgpu-alignment.cl
M clang/test/Frontend/llvmplugins.c
M clang/test/Misc/loop-opt-setup.c
M clang/test/SemaCXX/constexpr-default-arg.cpp
M clang/test/SemaCXX/friend3.cpp
M clang/test/SemaTemplate/instantiate-friend-function.cpp
Log Message:
-----------
[test] %clang_cc1 -emit-llvm: remove redundant -S
Also replace aarch64-none-linux-gnu (none can indicate an OS as well) with aarch64
Commit: c4c3efa161edf7313d1aeda07cd82fab90c3717c
https://github.com/llvm/llvm-project/commit/c4c3efa161edf7313d1aeda07cd82fab90c3717c
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-04 (Sat, 04 May 2024)
Changed paths:
M clang/test/CodeGen/LoongArch/intrinsic-la32-error.c
M clang/test/CodeGen/LoongArch/intrinsic-la64-error.c
M clang/test/CodeGen/aapcs-bitfield.c
M clang/test/CodeGen/aarch64-neon-3v.c
M clang/test/CodeGen/arm-vector_type-params-returns.c
M clang/test/Frontend/hexagon-target-basic.c
M clang/test/Misc/backend-optimization-failure-nodbg.cpp
M clang/test/Misc/backend-optimization-failure.cpp
M clang/test/OpenMP/amdgpu_exceptions.cpp
M clang/test/OpenMP/amdgpu_throw.cpp
M clang/test/OpenMP/amdgpu_try_catch.cpp
M clang/test/OpenMP/nvptx_exceptions.cpp
M clang/test/OpenMP/nvptx_throw.cpp
M clang/test/OpenMP/nvptx_try_catch.cpp
M clang/test/OpenMP/x86_target_exceptions.cpp
M clang/test/OpenMP/x86_target_throw.cpp
M clang/test/OpenMP/x86_target_try_catch.cpp
Log Message:
-----------
[test] %clang_cc1 -emit-llvm: remove redundant -S
Commit: a312dd68c0ce368313164eb92cbdd95192afa3f8
https://github.com/llvm/llvm-project/commit/a312dd68c0ce368313164eb92cbdd95192afa3f8
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-04 (Sat, 04 May 2024)
Changed paths:
M clang/test/CodeGen/bpf-preserve-static-offset-arr.c
M clang/test/CodeGen/bpf-preserve-static-offset-bitfield.c
M clang/test/CodeGen/bpf-preserve-static-offset-lvalue.c
M clang/test/CodeGen/bpf-preserve-static-offset-non-bpf.c
M clang/test/CodeGen/bpf-preserve-static-offset-pai.c
Log Message:
-----------
[BPF,test] %clang_cc1 -emit-llvm: remove redundant -S
Commit: 3c311b022283450acbdd6af22862e913649a5452
https://github.com/llvm/llvm-project/commit/3c311b022283450acbdd6af22862e913649a5452
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-04 (Sat, 04 May 2024)
Changed paths:
M clang/test/CodeGen/arm64-microsoft-status-reg.cpp
M clang/test/CodeGen/inline-asm-mixed-style.c
M clang/test/OpenMP/amdgpu_throw_trap.cpp
M clang/test/OpenMP/nvptx_throw_trap.cpp
Log Message:
-----------
[test] %clang_cc1 -S: remove overridden -emit-llvm
Commit: ffc9a30938ae5c42c03f9c563db1465876b4def6
https://github.com/llvm/llvm-project/commit/ffc9a30938ae5c42c03f9c563db1465876b4def6
Author: superZWT123 <zhengwentao3 at huawei.com>
Date: 2024-05-04 (Sat, 04 May 2024)
Changed paths:
M llvm/include/llvm/MC/MCSubtargetInfo.h
A llvm/test/TableGen/HwModeBitSet.td
A llvm/test/TableGen/HwModeEncodeAPInt.td
M llvm/test/TableGen/HwModeEncodeDecode3.td
M llvm/utils/TableGen/CodeEmitterGen.cpp
M llvm/utils/TableGen/Common/CodeGenHwModes.cpp
M llvm/utils/TableGen/SubtargetEmitter.cpp
Log Message:
-----------
[TableGen] Use bitwise operations to access HwMode ID. (#88377)
1. Bitwise operations are used to access HwMode, allowing for the
coexistence of HwMode IDs for different features (such as RegInfo and
EncodingInfo). This will provide better scalability for HwMode.
Currently, most users utilize HwMode primarily for configuring
Register-related information, and few use it for configuring Encoding.
The limited scalability of HwMode has been a significant factor in this
usage pattern.
2. Sink the HwMode Encodings selection logic down to per instruction
level, this makes the logic for choosing encodings clearer and provides
better error messages.
3. Add some HwMode ID conflict detection to the getHwMode() interface.
Commit: 7a484d3a1f630ba9ce7b22e744818be974971470
https://github.com/llvm/llvm-project/commit/7a484d3a1f630ba9ce7b22e744818be974971470
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2024-05-05 (Sun, 05 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/BuiltinTypes.def
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/NSAPI.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypeLoc.cpp
M clang/lib/Parse/ParseExprCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Serialization/ASTCommon.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/test/SemaCXX/PR62533.cpp
M clang/test/SemaTemplate/template-id-expr.cpp
Log Message:
-----------
[clang] Distinguish unresolved templates in UnresolvedLookupExpr (#89019)
This patch revolves around the misuse of UnresolvedLookupExpr in
BuildTemplateIdExpr.
Basically, we build up an UnresolvedLookupExpr not only for function
overloads but for "unresolved" templates wherever we need an expression
for template decls. For example, a dependent VarTemplateDecl can be
wrapped with such an expression before template instantiation. (See
https://github.com/llvm/llvm-project/commit/617007240cbfb97c8ccf6d61b0c4ca0bb62d43c9)
Also, one important thing is that UnresolvedLookupExpr uses a
"canonical"
QualType to describe the containing unresolved decls: a DependentTy is
for dependent expressions and an OverloadTy otherwise. Therefore, this
modeling for non-dependent templates leaves a problem in that the
expression
is marked and perceived as if describing overload functions. The
consumer then
expects functions for every such expression, although the fact is the
reverse.
Hence, we run into crashes.
As to the patch, I added a new canonical type "UnresolvedTemplateTy" to
model these cases. Given that we have been using this model
(intentionally or
accidentally) and it is pretty baked in throughout the code, I think
extending the role of UnresolvedLookupExpr is reasonable. Further, I
added
some diagnostics for the direct occurrence of these expressions, which
are supposed to be ill-formed.
As a bonus, this patch also fixes some typos in the diagnostics and
creates
RecoveryExprs rather than nothing in the hope of a better error-recovery
for clangd.
Fixes https://github.com/llvm/llvm-project/issues/88832
Fixes https://github.com/llvm/llvm-project/issues/63243
Fixes https://github.com/llvm/llvm-project/issues/48673
Commit: 02dfbbff1937b3e2c1ee1cd4a5ad0a9f03ee23ea
https://github.com/llvm/llvm-project/commit/02dfbbff1937b3e2c1ee1cd4a5ad0a9f03ee23ea
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2024-05-05 (Sun, 05 May 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/test/CodeGen/X86/arithmetic_fence2.ll
Log Message:
-----------
[SelectionDAG] Make ARITH_FENCE support half and bfloat type (#90836)
Commit: 7c1d9b15eee3a34678addab2bab66f3020ac0753
https://github.com/llvm/llvm-project/commit/7c1d9b15eee3a34678addab2bab66f3020ac0753
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-04 (Sat, 04 May 2024)
Changed paths:
M clang/test/APINotes/export-as.c
M clang/test/APINotes/extern-context.cpp
M clang/test/APINotes/namespaces.cpp
M clang/test/APINotes/properties.m
M clang/test/APINotes/swift-import-as.cpp
M clang/test/APINotes/templates.cpp
M clang/test/APINotes/versioned.m
M clang/test/AST/HLSL/RWBuffer-AST.hlsl
M clang/test/AST/HLSL/ResourceStruct.hlsl
M clang/test/AST/HLSL/pch.hlsl
M clang/test/AST/HLSL/pch_hlsl_buffer.hlsl
M clang/test/AST/HLSL/pch_with_buf.hlsl
M clang/test/AST/alignas_maybe_odr_cleanup.cpp
M clang/test/AST/ast-crash-doc-function-template.cpp
M clang/test/AST/ast-dump-attr-type.cpp
M clang/test/AST/ast-dump-coroutine.cpp
M clang/test/AST/ast-dump-default-arg-dep.cpp
M clang/test/AST/ast-dump-default-arg-recovery.cpp
M clang/test/AST/ast-dump-default-init.cpp
M clang/test/AST/ast-dump-fpfeatures.cpp
M clang/test/AST/ast-dump-fpfeatures.m
M clang/test/AST/ast-dump-late-parsing.cpp
M clang/test/AST/ast-dump-types-errors.cpp
M clang/test/AST/ast-print-fp-pragmas.c
M clang/test/AST/ast-print-pragmas.cpp
M clang/test/AST/attr-swift_attr.m
M clang/test/AST/attr-swift_bridge.m
M clang/test/AST/attr-swift_bridged_typedef.m
M clang/test/AST/attr-swift_bridged_typedef.mm
M clang/test/AST/auto-pragma.cpp
M clang/test/AST/category-attribute.m
M clang/test/AST/coroutine-co_yield-source-range.cpp
M clang/test/AST/coroutine-locals-cleanup.cpp
M clang/test/AST/coroutine-source-location-crash.cpp
M clang/test/AST/deduction-guides.cpp
M clang/test/AST/foreachtemplatized.mm
M clang/test/AST/loop-recovery.cpp
M clang/test/AST/multistep-explicit-cast.c
M clang/test/AST/multistep-explicit-cast.cpp
M clang/test/AST/pr43983.cpp
M clang/test/AST/pr47636.cpp
M clang/test/AST/pragma-attribute-cxx-subject-match-rules.cpp
M clang/test/AST/pragma-attribute-objc-subject-match-rules.m
M clang/test/AST/pragma-multiple-attributes-declspec.cpp
M clang/test/AST/pragma-multiple-attributes.cpp
M clang/test/AST/spurious-regparm.c
M clang/test/AST/template-implicit-vars.cpp
M clang/test/C/drs/dr290.c
M clang/test/CXX/class/class.friend/p7-cxx20.cpp
M clang/test/CXX/class/class.mfct/p1-cxx20.cpp
M clang/test/CodeGen/PowerPC/ibm128-cast.c
M clang/test/CodeGen/X86/amx_errors.c
M clang/test/CodeGen/X86/amxcomplex-errors.c
M clang/test/CodeGen/X86/cmp-avx-builtins-error.c
M clang/test/CodeGen/X86/cmpccxadd-builtins-error-32.c
M clang/test/CodeGen/X86/cmpccxadd-builtins-error.c
M clang/test/CodeGen/X86/sm3-error.c
M clang/test/CodeGen/X86/usermsr-builtins-error-32.c
M clang/test/CodeGen/aarch64-ABI-align-packed.c
M clang/test/CodeGen/aarch64-bf16-reinterpret-intrinsics.c
M clang/test/CodeGen/aarch64-neon-intrinsics-constrained.c
M clang/test/CodeGen/aarch64-neon-sha3.c
M clang/test/CodeGen/aarch64-neon-shifts.c
M clang/test/CodeGen/aarch64-neon-sm4-sm3.c
M clang/test/CodeGen/aarch64-neon-vcadd.c
M clang/test/CodeGen/aarch64-neon-vsqadd-float-conversion.c
M clang/test/CodeGen/aarch64-neon-vuqadd-float-conversion-warning.c
M clang/test/CodeGen/aarch64-sme-intrinsics/aarch64-sme-attrs.cpp
M clang/test/CodeGen/aarch64-sme2-intrinsics/aarch64-sme2-attrs.cpp
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_clamp.c
M clang/test/CodeGen/aarch64-sve-inline-asm-datatypes.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_revd.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_dupq.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_extq.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_fclamp.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_ld1_single.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_pmov_to_pred.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_pmov_to_vector.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_psel.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_psel_svcount.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_sclamp.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_st1_single.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_tblq.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_tbxq.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_uclamp.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_uzpq1.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_uzpq2.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_zipq1.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_zipq2.c
M clang/test/CodeGen/aarch64-sysregs-target.c
M clang/test/CodeGen/aarch64-v8.1a-neon-intrinsics.c
M clang/test/CodeGen/aarch64-v8.2a-fp16-intrinsics.c
M clang/test/CodeGen/aarch64-v8.2a-neon-intrinsics-constrained.c
M clang/test/CodeGen/aarch64-v8.2a-neon-intrinsics-generic.c
M clang/test/CodeGen/aarch64-v8.2a-neon-intrinsics.c
M clang/test/CodeGen/aarch64-v8.5a-neon-frint3264-intrinsic.c
M clang/test/CodeGen/aarch64-v8.5a-scalar-frint3264-intrinsic.c
M clang/test/CodeGen/aarch64-v8.6a-neon-intrinsics.c
M clang/test/CodeGen/arm-bf16-dotprod-intrinsics.c
M clang/test/CodeGen/arm-bf16-reinterpret-intrinsics.c
M clang/test/CodeGen/arm-cde-gpr.c
M clang/test/CodeGen/arm-cde-reinterpret.c
M clang/test/CodeGen/arm-cde-vec.c
M clang/test/CodeGen/arm-cde-vfp.c
M clang/test/CodeGen/arm-neon-vcadd.c
M clang/test/CodeGen/arm-neon-vld.c
M clang/test/CodeGen/arm-neon-vst.c
M clang/test/CodeGen/arm-v8.1a-neon-intrinsics.c
M clang/test/CodeGen/arm-v8.2a-neon-intrinsics-generic.c
M clang/test/CodeGen/arm-v8.2a-neon-intrinsics.c
M clang/test/CodeGen/arm-v8.6a-neon-intrinsics.c
M clang/test/CodeGen/arm64-crc32.c
M clang/test/CodeGen/attr-ifunc.c
M clang/test/CodeGen/attr-ifunc.cpp
M clang/test/CodeGen/builtins-nvptx-mma.cu
M clang/test/CodeGen/builtins-nvptx-native-half-type.c
M clang/test/CodeGen/builtins-nvptx-ptx50.cu
M clang/test/CodeGen/builtins-nvptx-ptx60.cu
M clang/test/CodeGen/builtins-nvptx-sm_70.cu
M clang/test/CodeGen/builtins-nvptx.c
M clang/test/CodeGen/cmse-clear-arg.c
M clang/test/CodeGen/code_align.c
M clang/test/CodeGen/complex-math-mixed.c
M clang/test/CodeGen/debug-info-macro.c
M clang/test/CodeGen/debug-label.c
M clang/test/CodeGenCXX/annotate-type.cpp
M clang/test/CodeGenCXX/debug-info-cxx1y.cpp
M clang/test/CodeGenCXX/duplicate-mangled-name.cpp
M clang/test/CodeGenCXX/header-unit-friend-within-class-linkage.cpp
M clang/test/CodeGenCXX/header-unit-member-func-linkage.cpp
M clang/test/CodeGenCXX/module-funcs-from-imports.cppm
M clang/test/CodeGenCXX/module-intializer-pmf.cpp
M clang/test/CodeGenCXX/module-intializer.cpp
M clang/test/CodeGenCXX/partial-init.cpp
M clang/test/CodeGenCXX/visibility-dllstorageclass.cpp
M clang/test/CodeGenCoroutines/coro-aligned-alloc-2.cpp
M clang/test/CodeGenCoroutines/coro-aligned-alloc.cpp
M clang/test/CodeGenCoroutines/coro-dealloc.cpp
M clang/test/CodeGenCoroutines/coro-destructor-of-final_suspend.cpp
M clang/test/CodeGenObjC/null-check-bool-ret.m
M clang/test/CodeGenOpenCL/atomics-cas-remarks-gfx90a.cl
M clang/test/CodeGenOpenCL/atomics-unsafe-hw-remarks-gfx90a.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-gfx11-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-gfx12-w32-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-gfx12-w64-err.cl
M clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx12.cl
M clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx8.cl
M clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx90a.cl
M clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx940.cl
M clang/test/CodeGenSYCL/functionptr-addrspace.cpp
M clang/test/FixIt/dereference-addressof.c
M clang/test/FixIt/fixit-format-darwin.m
M clang/test/FixIt/fixit-format-ios-nopedantic.m
M clang/test/FixIt/fixit-format-ios.m
M clang/test/FixIt/fixit-include.c
M clang/test/FixIt/fixit-unused-lambda-capture.cpp
M clang/test/FixIt/objc-literals.m
M clang/test/FixIt/typo-location-bugs.cpp
M clang/test/FixIt/typo-using.cpp
M clang/test/FixIt/typo.c
M clang/test/FixIt/typo.cpp
M clang/test/FixIt/typo.m
M clang/test/Frontend/gnu-inline.c
M clang/test/Frontend/objc-bool-is-bool.m
M clang/test/Headers/ms-arm64-intrin.cpp
M clang/test/Layout/ms-aligned-array.c
M clang/test/Layout/ms-vtordisp-local.cpp
M clang/test/Layout/ms-x86-alias-avoidance-padding.cpp
M clang/test/Layout/ms-x86-aligned-tail-padding.cpp
M clang/test/Layout/ms-x86-basic-layout.cpp
M clang/test/Layout/ms-x86-bitfields-vbases.cpp
M clang/test/Layout/ms-x86-declspec-empty_bases.cpp
M clang/test/Layout/ms-x86-empty-layout.c
M clang/test/Layout/ms-x86-empty-nonvirtual-bases.cpp
M clang/test/Layout/ms-x86-empty-virtual-base.cpp
M clang/test/Layout/ms-x86-lazy-empty-nonvirtual-base.cpp
M clang/test/Layout/ms-x86-member-pointers.cpp
M clang/test/Layout/ms-x86-misalignedarray.cpp
M clang/test/Layout/ms-x86-pack-and-align.cpp
M clang/test/Layout/ms-x86-primary-bases.cpp
M clang/test/Layout/ms-x86-vfvb-alignment.cpp
M clang/test/Layout/ms-x86-vfvb-sharing.cpp
M clang/test/Layout/ms-x86-vtordisp.cpp
M clang/test/Lexer/ms-compatibility.c
M clang/test/Lexer/wchar-signedness.c
M clang/test/Misc/pragma-attribute-cxx.cpp
M clang/test/Misc/pragma-attribute-objc.m
M clang/test/Misc/pragma-attribute-strict-subjects.c
M clang/test/Modules/DebugInfo-fmodule-name.c
M clang/test/Modules/cxx20-importing-function-bodies.cppm
M clang/test/Modules/module-init-duplicated-import.cppm
M clang/test/Modules/modules-reduced-bmi.cppm
M clang/test/Modules/pr59999.cppm
M clang/test/Modules/pr60085.cppm
M clang/test/Modules/pr61067.cppm
M clang/test/Modules/pr61783.cppm
M clang/test/Modules/pr64091.cpp
M clang/test/Modules/pr67893.cppm
M clang/test/Modules/pr72828.cppm
M clang/test/Modules/reduced-bmi-generating-codes.cppm
M clang/test/Modules/stress1.cpp
M clang/test/OpenMP/allocate_allocator_ast_print.cpp
M clang/test/OpenMP/allocate_ast_print.cpp
M clang/test/OpenMP/assumes_print.cpp
M clang/test/OpenMP/assumes_template_print.cpp
M clang/test/OpenMP/atomic_ast_print.cpp
M clang/test/OpenMP/barrier_ast_print.cpp
M clang/test/OpenMP/cancel_ast_print.cpp
M clang/test/OpenMP/cancel_codegen.cpp
M clang/test/OpenMP/cancellation_point_ast_print.cpp
M clang/test/OpenMP/cancellation_point_codegen.cpp
M clang/test/OpenMP/critical_ast_print.cpp
M clang/test/OpenMP/declare_mapper_ast_print.c
M clang/test/OpenMP/declare_mapper_ast_print.cpp
M clang/test/OpenMP/declare_reduction_ast_print.c
M clang/test/OpenMP/declare_reduction_ast_print.cpp
M clang/test/OpenMP/declare_simd_ast_print.c
M clang/test/OpenMP/declare_simd_ast_print.cpp
M clang/test/OpenMP/declare_target_ast_print.cpp
M clang/test/OpenMP/declare_target_codegen.cpp
M clang/test/OpenMP/declare_target_link_codegen.cpp
M clang/test/OpenMP/declare_variant_device_kind_codegen.cpp
M clang/test/OpenMP/declare_variant_mixed_codegen.c
M clang/test/OpenMP/depobj_ast_print.cpp
M clang/test/OpenMP/distribute_ast_print.cpp
M clang/test/OpenMP/distribute_dist_schedule_ast_print.cpp
M clang/test/OpenMP/distribute_parallel_for_ast_print.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_ast_print.cpp
M clang/test/OpenMP/distribute_simd_ast_print.cpp
M clang/test/OpenMP/error_ast_print.cpp
M clang/test/OpenMP/flush_ast_print.cpp
M clang/test/OpenMP/for_ast_print.cpp
M clang/test/OpenMP/for_ast_print_cxx20.cpp
M clang/test/OpenMP/for_loop_auto.cpp
M clang/test/OpenMP/for_simd_ast_print.cpp
M clang/test/OpenMP/masked_ast_print.cpp
M clang/test/OpenMP/masked_taskloop_ast_print.cpp
M clang/test/OpenMP/masked_taskloop_simd_ast_print.cpp
M clang/test/OpenMP/master_ast_print.cpp
M clang/test/OpenMP/master_taskloop_ast_print.cpp
M clang/test/OpenMP/master_taskloop_simd_ast_print.cpp
M clang/test/OpenMP/nvptx_declare_target_var_ctor_dtor_codegen.cpp
M clang/test/OpenMP/nvptx_declare_variant_device_kind_codegen.cpp
M clang/test/OpenMP/nvptx_declare_variant_implementation_vendor_codegen.cpp
M clang/test/OpenMP/nvptx_declare_variant_name_mangling.cpp
M clang/test/OpenMP/nvptx_lambda_capturing.cpp
M clang/test/OpenMP/openmp-read-only-feature.c
M clang/test/OpenMP/openmp_capture_const_var_ast_print.cpp
M clang/test/OpenMP/ordered_ast_print.cpp
M clang/test/OpenMP/parallel_ast_print.cpp
M clang/test/OpenMP/parallel_for_ast_print.cpp
M clang/test/OpenMP/parallel_for_simd_ast_print.cpp
M clang/test/OpenMP/parallel_masked_ast_print.cpp
M clang/test/OpenMP/parallel_masked_taskloop_ast_print.cpp
M clang/test/OpenMP/parallel_masked_taskloop_simd_ast_print.cpp
M clang/test/OpenMP/parallel_master_ast_print.cpp
M clang/test/OpenMP/parallel_master_taskloop_ast_print.cpp
M clang/test/OpenMP/parallel_master_taskloop_simd_ast_print.cpp
M clang/test/OpenMP/parallel_sections_ast_print.cpp
M clang/test/OpenMP/parallel_sections_codegen.cpp
M clang/test/OpenMP/requires_acq_rel_codegen.cpp
M clang/test/OpenMP/requires_acq_rel_print.cpp
M clang/test/OpenMP/requires_ast_print.cpp
M clang/test/OpenMP/requires_relaxed_codegen.cpp
M clang/test/OpenMP/requires_relaxed_print.cpp
M clang/test/OpenMP/requires_seq_cst_codegen.cpp
M clang/test/OpenMP/scan_ast_print.cpp
M clang/test/OpenMP/sections_ast_print.cpp
M clang/test/OpenMP/sections_codegen.cpp
M clang/test/OpenMP/simd_ast_print.cpp
M clang/test/OpenMP/single_ast_print.cpp
M clang/test/OpenMP/target_ast_print.cpp
M clang/test/OpenMP/target_data_ast_print.cpp
M clang/test/OpenMP/target_data_use_device_ptr_addr_ast_print.cpp
M clang/test/OpenMP/target_enter_data_ast_print.cpp
M clang/test/OpenMP/target_enter_data_ast_print_openmp52.cpp
M clang/test/OpenMP/target_exit_data_ast_print.cpp
M clang/test/OpenMP/target_exit_data_ast_print_openmp52.cpp
M clang/test/OpenMP/target_has_device_addr_ast_print.cpp
M clang/test/OpenMP/target_indirect_codegen.cpp
M clang/test/OpenMP/target_is_device_ptr_ast_print.cpp
M clang/test/OpenMP/target_parallel_ast_print.cpp
M clang/test/OpenMP/target_parallel_for_ast_print.cpp
M clang/test/OpenMP/target_parallel_for_is_device_ptr_ast_print.cpp
M clang/test/OpenMP/target_parallel_for_simd_ast_print.cpp
M clang/test/OpenMP/target_parallel_for_simd_is_device_ptr_ast_print.cpp
M clang/test/OpenMP/target_parallel_is_device_ptr_ast_print.cpp
M clang/test/OpenMP/target_simd_ast_print.cpp
M clang/test/OpenMP/target_teams_ast_print.cpp
M clang/test/OpenMP/target_teams_distribute_ast_print.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_ast_print.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_is_device_ptr_ast_print.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_ast_print.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_is_device_ptr_ast_print.cpp
M clang/test/OpenMP/target_teams_distribute_simd_ast_print.cpp
M clang/test/OpenMP/target_teams_distribute_simd_is_device_ptr_ast_print.cpp
M clang/test/OpenMP/target_teams_is_device_ptr_ast_print.cpp
M clang/test/OpenMP/target_update_ast_print.cpp
M clang/test/OpenMP/task_ast_print.cpp
M clang/test/OpenMP/task_depend_template_call_ast_print.cpp
M clang/test/OpenMP/taskgroup_ast_print.cpp
M clang/test/OpenMP/taskloop_ast_print.cpp
M clang/test/OpenMP/taskloop_simd_ast_print.cpp
M clang/test/OpenMP/taskloop_strict_modifier_ast_print.cpp
M clang/test/OpenMP/taskwait_ast_print.cpp
M clang/test/OpenMP/taskyield_ast_print.cpp
M clang/test/OpenMP/teams_ast_print.cpp
M clang/test/OpenMP/teams_distribute_ast_print.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_ast_print.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_ast_print.cpp
M clang/test/OpenMP/teams_distribute_simd_ast_print.cpp
M clang/test/OpenMP/threadprivate_ast_print.cpp
M clang/test/PCH/arc.m
M clang/test/PCH/blocks.c
M clang/test/PCH/cxx-alias-decl.cpp
M clang/test/PCH/cxx-for-range.cpp
M clang/test/PCH/cxx-member-init.cpp
M clang/test/PCH/cxx-namespaces.cpp
M clang/test/PCH/cxx-reference.cpp
M clang/test/PCH/cxx1z-init-statement.cpp
M clang/test/PCH/cxx_exprs.cpp
M clang/test/PCH/fixed-point-literal.c
M clang/test/PCH/local_static.cpp
M clang/test/PCH/multiple_decls.c
M clang/test/PCH/ocl_types.cl
M clang/test/PCH/rdar10830559.cpp
M clang/test/PCH/stmt-openmp_structured_block-bit.cpp
M clang/test/PCH/stmts.c
M clang/test/PCH/types.c
M clang/test/PCH/uuidof.cpp
M clang/test/Parser/extra-semi.cpp
M clang/test/Preprocessor/print-pragma-microsoft.c
M clang/test/Profile/cxx-missing-bodies.cpp
M clang/test/Sema/aarch64-fp16-target.c
M clang/test/Sema/aarch64-neon-target.c
M clang/test/Sema/aarch64-sme-intrinsics/acle_sme_target.c
M clang/test/Sema/aarch64-sve-intrinsics/acle_sve_bfloat.cpp
M clang/test/Sema/aarch64-sve-intrinsics/acle_sve_target.cpp
M clang/test/Sema/aarch64-sve2-intrinsics/acle_sve2.cpp
M clang/test/Sema/aarch64-sve2-intrinsics/acle_sve2_aes_bitperm_sha3_sm4.cpp
M clang/test/Sema/aarch64-sve2-intrinsics/acle_sve2_bfloat.cpp
M clang/test/Sema/arm-neon-target.c
M clang/test/Sema/attr-alias-elf.c
M clang/test/Sema/attr-availability-swift.c
M clang/test/Sema/attr-self-alias.c
M clang/test/Sema/bpf-attr-preserve-static-offset.c
M clang/test/Sema/builtin-setjmp.c
M clang/test/Sema/code_align_ast.c
M clang/test/Sema/format-strings-no-fixit.c
M clang/test/Sema/ppc-attr-target-inline.c
M clang/test/Sema/sizeof-struct-non-zero-as-member.cl
M clang/test/Sema/uninit-variables-riscv-vector.c
M clang/test/Sema/uninit-variables-vectors.c
M clang/test/Sema/uninit-variables.c
M clang/test/Sema/warn-documentation-almost-trailing.c
M clang/test/Sema/warn-strncat-size.c
M clang/test/SemaCUDA/fp16-arg-return.cu
M clang/test/SemaCUDA/qualifiers.cu
M clang/test/SemaCUDA/static-device-var.cu
M clang/test/SemaCXX/co_await-ast.cpp
M clang/test/SemaCXX/compound-literal.cpp
M clang/test/SemaCXX/cxx1y-generic-lambdas-capturing.cpp
M clang/test/SemaCXX/cxx1y-generic-lambdas.cpp
M clang/test/SemaCXX/cxx1z-lambda-star-this.cpp
M clang/test/SemaCXX/cxx20-lambda-decltype-this.cpp
M clang/test/SemaCXX/cxx2b-ast-print.cpp
M clang/test/SemaCXX/delete-and-function-templates.cpp
M clang/test/SemaCXX/delete.cpp
M clang/test/SemaCXX/lambda-conversion-op-cc.cpp
M clang/test/SemaCXX/ms_wide_bitfield.cpp
M clang/test/SemaCXX/uninit-variables-conditional.cpp
M clang/test/SemaCXX/uninit-variables.cpp
M clang/test/SemaCXX/warn-redundant-move.cpp
M clang/test/SemaObjC/uninit-variables.m
M clang/test/SemaOpenCL/as_type.cl
M clang/test/SemaOpenCL/multistep-explicit-cast.cl
M clang/test/SemaTemplate/default-arguments-ast-print.cpp
M clang/test/SemaTemplate/make_integer_seq.cpp
M clang/test/SemaTemplate/pr47676.cpp
M clang/test/SemaTemplate/temp_arg_enum_printing.cpp
M clang/test/SemaTemplate/temp_arg_enum_printing_more.cpp
M clang/test/SemaTemplate/temp_arg_string_printing.cpp
M clang/test/SemaTemplate/template-id-printing.cpp
M clang/test/SemaTemplate/type_pack_element.cpp
M clang/test/VFS/directory.c
M clang/test/VFS/external-names-multi-overlay.c
M clang/test/VFS/fallback.c
Log Message:
-----------
[test] %clang_cc1: remove redundant actions
Commit: a415b4dfcc02e3e82b8c8a7836f7c04b9d65dc9b
https://github.com/llvm/llvm-project/commit/a415b4dfcc02e3e82b8c8a7836f7c04b9d65dc9b
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-05-04 (Sat, 04 May 2024)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
M llvm/lib/Target/SystemZ/SystemZInstrInfo.h
R llvm/test/CodeGen/SystemZ/fold-copy-vector-immediate.mir
Log Message:
-----------
Revert "SystemZ: Fold copy of vector immediate to gr128" (#91099)
Fails here:
https://lab.llvm.org/buildbot/#/builders/239/builds/6893
https://lab.llvm.org/buildbot/#/builders/5/builds/43113
https://lab.llvm.org/buildbot/#/builders/168/builds/20228
Reverts llvm/llvm-project#90706
Commit: 9154a324bfce5dee27cb04708bd250b030d6cdd2
https://github.com/llvm/llvm-project/commit/9154a324bfce5dee27cb04708bd250b030d6cdd2
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-05-05 (Sun, 05 May 2024)
Changed paths:
M clang/docs/ClangFormatStyleOptions.rst
M clang/include/clang/Format/Format.h
Log Message:
-----------
[clang-format][doc] Fix typos
Commit: 7d913c5ea9fd0dd455fe60364a8075aa0924d6b7
https://github.com/llvm/llvm-project/commit/7d913c5ea9fd0dd455fe60364a8075aa0924d6b7
Author: David Stone <davidfromonline at gmail.com>
Date: 2024-05-05 (Sun, 05 May 2024)
Changed paths:
M clang/include/clang/Basic/Module.h
M clang/lib/Basic/Module.cpp
M clang/lib/Lex/PPDirectives.cpp
M clang/lib/Serialization/ASTWriter.cpp
Log Message:
-----------
[clang][Modules] Make `Module::Requirement` a struct (NFC) (#67900)
`Module::Requirement` was defined as a `std::pair<std::string, bool>`.
This required a comment to explain what the data members mean and makes
the usage harder to understand. Replace this with a struct with two
members, `FeatureName` and `RequiredState`.
---------
Co-authored-by: cor3ntin <corentinjabot at gmail.com>
Commit: 78a28b3ef7de2a07c8d01cace58019068a17a0bf
https://github.com/llvm/llvm-project/commit/78a28b3ef7de2a07c8d01cace58019068a17a0bf
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-05 (Sun, 05 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/cmp-shiftX-maskX.ll
M llvm/test/CodeGen/X86/vector-shift-by-select-loop.ll
Log Message:
-----------
[X86] Support icmp_i64(i64 X, i64 Y) --> icmp_i32(trunc(X), trunc(Y)) for non-constant Y (#91085)
Relax the constraint on the fold to allow any value for X and Y iff all upper 32-bits are known zero
Minor code-size saving by moving to i32 bit instructions
Commit: d5ca2e46ca97758de6edb9f071f2114205380d87
https://github.com/llvm/llvm-project/commit/d5ca2e46ca97758de6edb9f071f2114205380d87
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-05-05 (Sun, 05 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCombine.td
M llvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp
Log Message:
-----------
[AMDGPU] Improve MIR pattern for FMinFMaxLegacy combine. NFC. (#90968)
Commit: d145f40963f15e94c4aefcc406a365fbe779e934
https://github.com/llvm/llvm-project/commit/d145f40963f15e94c4aefcc406a365fbe779e934
Author: David Green <david.green at arm.com>
Date: 2024-05-05 (Sun, 05 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/VectorCombine/AArch64/shuffletoidentity.ll
Log Message:
-----------
[VectorCombine] shuffleToIdentity - guard against call instructions.
The shuffleToIdentity fold needs to be a bit more careful about the difference
between call instructions and intrinsics. The second can be handled, but the
first should result in bailing out. This patch also adds some extra intrinsic
tests from #91000.
Fixes #91078
Commit: 7963d9a2b3c20561278a85b19e156e013231342c
https://github.com/llvm/llvm-project/commit/7963d9a2b3c20561278a85b19e156e013231342c
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2024-05-05 (Sun, 05 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86InstrAVX512.td
A llvm/test/CodeGen/X86/pr90844.ll
Log Message:
-----------
[X86][EVEX512] Add `HasEVEX512` when `NoVLX` used for 512-bit patterns (#91106)
With KNL/KNC being deprecated, we don't need to care about such no VLX
cases anymore. We may remove such patterns in the future.
Fixes #90844
Commit: 72eaa0ed9934bfaa2449091bbc6e45648d1396d6
https://github.com/llvm/llvm-project/commit/72eaa0ed9934bfaa2449091bbc6e45648d1396d6
Author: Weihang Fan <134108011+weihangf-apple at users.noreply.github.com>
Date: 2024-05-05 (Sun, 05 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/and-mask-removal.ll
Log Message:
-----------
[AArch64][SelectionDAG] Mask for SUBS with multiple users cannot be elided (#90911)
In DAGCombiner, the `performCONDCombine` function attempts to remove AND
instructions in front of SUBS (cmp) instructions for which the AND is
transparent. The rules for that are correct, but it fails to take into
account the case where the SUBS instruction has multiple users with
different condition codes for comparison and simply removes the AND for
all of them. This causes a miscompilation in the attached test case.
Commit: 983333234bd1b9c3d2b05f010a293fee6dc9c069
https://github.com/llvm/llvm-project/commit/983333234bd1b9c3d2b05f010a293fee6dc9c069
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-05 (Sun, 05 May 2024)
Changed paths:
M llvm/test/CodeGen/X86/bypass-slow-division-64.ll
Log Message:
-----------
[X86] bypass-slow-division-64.ll - extend cpu test coverage
Ensure we test with/without the idivq-to-divl attribute, and test the x86-64-v* cpu levels and some common Intel/AMD cpus
Commit: de9b386f84b58ad0ffc12e221bc6d9161ca5b62d
https://github.com/llvm/llvm-project/commit/de9b386f84b58ad0ffc12e221bc6d9161ca5b62d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-05 (Sun, 05 May 2024)
Changed paths:
M llvm/test/CodeGen/X86/bypass-slow-division-64.ll
Log Message:
-----------
[X86] bypass-slow-division-64.ll - add optsize/minsize tests
Make sure we're not expanding div32-div64 codegen when we're focussed on codesize
Commit: 882814edd33cab853859f07b1dd4c4fa1393e0ea
https://github.com/llvm/llvm-project/commit/882814edd33cab853859f07b1dd4c4fa1393e0ea
Author: Quentin Dian <dianqk at dianqk.net>
Date: 2024-05-05 (Sun, 05 May 2024)
Changed paths:
M llvm/lib/Analysis/InlineCost.cpp
A llvm/test/Transforms/Inline/inline-cost-switch-default.ll
M llvm/test/Transforms/Inline/inline-switch-default-2.ll
M llvm/test/Transforms/Inline/inline-switch-default.ll
Log Message:
-----------
[InlineCost] Correct the default branch cost for the switch statement (#85160)
Fixes #81723.
The earliest commit of the related code is:
https://github.com/llvm/llvm-project/commit/919f9e8d65ada6552b8b8a5ec12ea49db91c922a.
I tried to understand the following code with
https://github.com/llvm/llvm-project/pull/77856#issuecomment-1993499085.
https://github.com/llvm/llvm-project/blob/5932fcc47855fdd209784f38820422d2369b84b2/llvm/lib/Analysis/InlineCost.cpp#L709-L720
I think only scenarios where there is a default branch were considered.
Commit: c6e4f6309184814dfc4bb855ddbdb5375cc971e0
https://github.com/llvm/llvm-project/commit/c6e4f6309184814dfc4bb855ddbdb5375cc971e0
Author: DianQK <dianqk at dianqk.net>
Date: 2024-05-05 (Sun, 05 May 2024)
Changed paths:
M llvm/lib/Analysis/InlineCost.cpp
R llvm/test/Transforms/Inline/inline-cost-switch-default.ll
M llvm/test/Transforms/Inline/inline-switch-default-2.ll
M llvm/test/Transforms/Inline/inline-switch-default.ll
Log Message:
-----------
Revert "[InlineCost] Correct the default branch cost for the switch statement (#85160)"
This reverts commit 882814edd33cab853859f07b1dd4c4fa1393e0ea.
Commit: 176be3ee8c3c7569355b7452af61b76aa9574095
https://github.com/llvm/llvm-project/commit/176be3ee8c3c7569355b7452af61b76aa9574095
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-05 (Sun, 05 May 2024)
Changed paths:
M llvm/test/CodeGen/X86/bypass-slow-division-64.ll
Log Message:
-----------
[X86] bypass-slow-division-64.ll - add udiv+urem test coverage
Commit: 7e4d16d73c22079997dd59d8e7d8f41bdbac5a50
https://github.com/llvm/llvm-project/commit/7e4d16d73c22079997dd59d8e7d8f41bdbac5a50
Author: Mike Crowe <mac at mcrowe.com>
Date: 2024-05-05 (Sun, 05 May 2024)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/UseStdPrintCheck.cpp
Log Message:
-----------
[clang-tidy] Improve modernize-use-std-print diagnostic (#91071)
Include the source range of the printf function in the diagnostic so it
gets underlined in the output.
Commit: 77d8c3878a274c97981e0aca2249960f6619f828
https://github.com/llvm/llvm-project/commit/77d8c3878a274c97981e0aca2249960f6619f828
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-05 (Sun, 05 May 2024)
Changed paths:
M llvm/test/CodeGen/X86/2008-08-31-EH_RETURN32.ll
Log Message:
-----------
[X86] 2008-08-31-EH_RETURN32.ll - regenerate with update_llc_test_checks.py
Commit: 9aad38b61586cab8b125c3f522789267f9b749a9
https://github.com/llvm/llvm-project/commit/9aad38b61586cab8b125c3f522789267f9b749a9
Author: Julian Schmidt <git.julian.schmidt at gmail.com>
Date: 2024-05-05 (Sun, 05 May 2024)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/ReturnConstRefFromParameterCheck.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/return-const-ref-from-parameter.cpp
Log Message:
-----------
[clang-tidy] fix false-positives for templates in `bugprone-return-const-ref-from-parameter` (#90273)
In the AST for function templates, the return will be a DeclRefExpr,
even if the return type differs from that of the returned variable.
Protect against false-positives by constraining the canonical return
type to be that of the parameter.
Also streams the source range of the returned expression into the
diagnostic.
Commit: 716eab783713cc99046c89478c126b1a2e000940
https://github.com/llvm/llvm-project/commit/716eab783713cc99046c89478c126b1a2e000940
Author: Mike Crowe <mac at mcrowe.com>
Date: 2024-05-05 (Sun, 05 May 2024)
Changed paths:
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-std-print.rst
Log Message:
-----------
[clang-tidy][docs] Fix modernize-use-std-print docs (#91069)
The set of functions for the PrintfLikeFunctions and
FprintfLikeFunctions options replaces the default, so remove the word
"extra" from the description which implies that they are in addition to
the default.
Commit: 624c9fc87fb23c6eb89a28e95fa0cf72f5c39d94
https://github.com/llvm/llvm-project/commit/624c9fc87fb23c6eb89a28e95fa0cf72f5c39d94
Author: Jeremy Kun <jkun at google.com>
Date: 2024-05-05 (Sun, 05 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.td
M mlir/lib/Dialect/Polynomial/IR/PolynomialAttributes.cpp
M mlir/lib/Dialect/Polynomial/IR/PolynomialOps.cpp
M mlir/test/Dialect/Polynomial/ops.mlir
M mlir/test/Dialect/Polynomial/ops_errors.mlir
Log Message:
-----------
Upstream polynomial.ntt and polynomial.intt (#90992)
These two ops represent a number-theoretic transform of a polynomial to
a tensor of evaluations of the polynomial at a list of powers of
primitive roots of the polynomial.
To support this, a new optional attribute is added to the ring attribute
to specify the primitive root of unity used for the NTT. A verifier for
the op is added to ensure the chosen root is a primitive nth root of
unity.
---------
Co-authored-by: Jeremy Kun <j2kun at users.noreply.github.com>
Co-authored-by: Oleksandr "Alex" Zinenko <ftynse at gmail.com>
Commit: 7e59223ac4b045178c287a56154113d5989572f4
https://github.com/llvm/llvm-project/commit/7e59223ac4b045178c287a56154113d5989572f4
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-05 (Sun, 05 May 2024)
Changed paths:
M clang/test/AST/arithmetic-fence-builtin.c
M clang/test/ASTMerge/codegen-exprs/test.c
M clang/test/CXX/module/module.private.frag/p1.cpp
M clang/test/CodeGen/PowerPC/builtins-ppc-fpconstrained.c
M clang/test/CodeGen/PowerPC/builtins-ppc-vec-ins-error.c
M clang/test/CodeGen/PowerPC/vector-bool-pixel-altivec-init-no-parentheses.c
M clang/test/CodeGen/PowerPC/vector-bool-pixel-altivec-init.c
M clang/test/CodeGen/PowerPC/vector-compat-pixel-bool-ternary.c
M clang/test/CodeGen/PowerPC/vector-compat-pixel-bool.c
M clang/test/CodeGen/PowerPC/vector-compat-ternary.c
M clang/test/CodeGen/PowerPC/vector-compat.c
M clang/test/CodeGen/aarch64-ABI-align-packed-assembly.c
M clang/test/CodeGen/aarch64-neon-intrinsics.c
M clang/test/CodeGen/aarch64-v8.2a-fp16-intrinsics-constrained.c
M clang/test/CodeGen/builtins-nvptx-native-half-type-err.c
M clang/test/CodeGen/builtins-nvptx-native-half-type.c
M clang/test/CodeGen/math-builtins-long.c
M clang/test/CodeGen/pch-dllexport.cpp
M clang/test/CodeGen/thinlto-loop-vectorize-pm.c
M clang/test/CodeGenCXX/module-intializer.cpp
M clang/test/CodeGenOpenCL/builtins-amdgcn-raytracing.cl
M clang/test/CodeGenSYCL/function-attrs.cpp
M clang/test/CoverageMapping/pr32679.cpp
M clang/test/Frontend/output-paths.c
M clang/test/Headers/ms-arm64-intrin.cpp
M clang/test/Modules/cxx20-10-5-ex1.cpp
M clang/test/Modules/cxx20-importing-function-bodies.cppm
M clang/test/Modules/cxx20-include-translation.cpp
M clang/test/Modules/eagerly-load-cxx-named-modules.cppm
M clang/test/Modules/load-module-with-errors.m
M clang/test/Modules/no-import-func-body.cppm
M clang/test/Modules/odr_using_dependent_name.cppm
M clang/test/Modules/pr59780.cppm
M clang/test/Modules/pr61067.cppm
M clang/test/SemaCUDA/call-kernel-from-kernel.cu
M clang/test/SemaCUDA/constexpr-variables.cu
Log Message:
-----------
[test] %clang_cc1: remove redundant actions
ParseFrontendArgs takes the last OPT_Action_Group option. The other
actions are overridden.
Commit: 41574f5a6e2d961f398d3c671c34ac3c8e417464
https://github.com/llvm/llvm-project/commit/41574f5a6e2d961f398d3c671c34ac3c8e417464
Author: David Blaikie <dblaikie at gmail.com>
Date: 2024-05-05 (Sun, 05 May 2024)
Changed paths:
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
Log Message:
-----------
Add new BuiltinType introduced in 7a484d3a1f630ba9ce7b22e744818be974971470
I don't think this is one lldb would encounter when building ASTs from
DWARF.
Commit: d33937b6236767137a1ec3393d0933f10eed4ffe
https://github.com/llvm/llvm-project/commit/d33937b6236767137a1ec3393d0933f10eed4ffe
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-05 (Sun, 05 May 2024)
Changed paths:
M clang/test/CodeGen/SystemZ/align-systemz-02.c
M clang/test/CodeGen/thinlto-distributed-cfi-devirt.ll
M clang/test/CodeGen/thinlto-distributed-cfi.ll
M clang/test/CodeGenCXX/module-intializer.cpp
M clang/test/Lexer/raw-string-dlim-invalid.cpp
M clang/test/Modules/prune-non-affecting-module-map-files-textual.c
M clang/test/PCH/empty-with-headers.c
M clang/test/PCH/ms-if-exists.cpp
Log Message:
-----------
[test] %clang_cc1: remove redundant actions
ParseFrontendArgs takes the last OPT_Action_Group option. The other
actions are overridden.
Commit: 57f13b51bdb373534ba5e507868b353a015107de
https://github.com/llvm/llvm-project/commit/57f13b51bdb373534ba5e507868b353a015107de
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-05 (Sun, 05 May 2024)
Changed paths:
M clang/lib/Driver/ToolChains/HLSL.cpp
M clang/test/Driver/dxc_fcgl.hlsl
Log Message:
-----------
[HLSL] Remove overridden -S
The cc1 option -S (https://reviews.llvm.org/D124983) is overridden by
the latter -emit-llvm.
Commit: 3219c0edb2a4e18774227c8b35278df0e89c85fe
https://github.com/llvm/llvm-project/commit/3219c0edb2a4e18774227c8b35278df0e89c85fe
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-05 (Sun, 05 May 2024)
Changed paths:
M llvm/include/llvm/Analysis/LoopAccessAnalysis.h
M llvm/include/llvm/Analysis/VectorUtils.h
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/Transforms/Scalar/LoopLoadElimination.cpp
Log Message:
-----------
[LAA] Directly pass DepChecker to getSource/getDestination (NFC).
Instead of passing LoopAccessInfo only to fetch the MemoryDepChecker,
directly pass MemoryDepChecker. This simplifies the code and also allows
new uses in places where no LAI is available.
Commit: c18bcd0a5702a85adb4063ee94689a88e05686ea
https://github.com/llvm/llvm-project/commit/c18bcd0a5702a85adb4063ee94689a88e05686ea
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-05 (Sun, 05 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/ARM/ARMMachineFunctionInfo.cpp
M llvm/lib/Target/BPF/BTFDebug.cpp
M llvm/lib/Target/Hexagon/HexagonTargetObjectFile.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
M llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
M llvm/lib/Target/PowerPC/PPCPreEmitPeephole.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp
M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
M llvm/lib/Target/X86/X86InstrInfo.cpp
Log Message:
-----------
[Target] Use StringRef::operator== instead of StringRef::equals (NFC) (#91072) (#91138)
I'm planning to remove StringRef::equals in favor of
StringRef::operator==.
- StringRef::operator==/!= outnumber StringRef::equals by a factor of
38 under llvm/ in terms of their usage.
- The elimination of StringRef::equals brings StringRef closer to
std::string_view, which has operator== but not equals.
- S == "foo" is more readable than S.equals("foo"), especially for
!Long.Expression.equals("str") vs Long.Expression != "str".
Commit: 2574cabdc2090a19a15332b2c00a912b36df6ab8
https://github.com/llvm/llvm-project/commit/2574cabdc2090a19a15332b2c00a912b36df6ab8
Author: Eric <eric at efcs.ca>
Date: 2024-05-05 (Sun, 05 May 2024)
Changed paths:
M libcxx/test/libcxx/clang_modules_include.gen.py
M libcxx/test/libcxx/clang_tidy.gen.py
M libcxx/test/libcxx/double_include.gen.py
M libcxx/test/libcxx/transitive_includes.gen.py
Log Message:
-----------
[NFC] Remove BLOCKLIT workaround. (#91001)
Lit already has support for stopping LIT from parsing further test
directives. It is
// END.
After that directive, LIT will stop parsing.
This change removes the BLOCKLIT hack and replaces it with END.
Commit: 2aaec48d883b2550f053dc5c07b2400d725e77b5
https://github.com/llvm/llvm-project/commit/2aaec48d883b2550f053dc5c07b2400d725e77b5
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-05 (Sun, 05 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86FixupBWInsts.cpp
Log Message:
-----------
X86FixupBWInsts: Remove redundant code. NFC
Commit: e12364301e3370456e610c3f23ca18050f61f77e
https://github.com/llvm/llvm-project/commit/e12364301e3370456e610c3f23ca18050f61f77e
Author: Allen <zhongyunde at huawei.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/mul_pow2.ll
Log Message:
-----------
[AArch64][SelectionDAG] Lower multiplication by a constant to shl+sub+shl+sub (#90199)
Change the costmodel to lower a = b * C where C = 1 - (1 - 2^m) * 2^n to
sub w8, w0, w0, lsl #m
sub w0, w0, w8, lsl #n
Fix https://github.com/llvm/llvm-project/issues/89430
Commit: ddecadabebdd4b301bd65534b58009e57ac1bbe5
https://github.com/llvm/llvm-project/commit/ddecadabebdd4b301bd65534b58009e57ac1bbe5
Author: Doug Wyatt <doug at sonosphere.com>
Date: 2024-05-05 (Sun, 05 May 2024)
Changed paths:
M clang/lib/Basic/Targets/AArch64.cpp
M clang/test/CodeGen/aarch64-type-sizes.c
M clang/test/CodeGen/coff-aarch64-type-sizes.c
M clang/test/CodeGen/target-data.c
M clang/test/CodeGenCXX/member-alignment.cpp
M clang/test/OpenMP/distribute_parallel_for_num_threads_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_num_threads_codegen.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
M llvm/unittests/Bitcode/DataLayoutUpgradeTest.cpp
Log Message:
-----------
[clang backend] In AArch64's DataLayout, specify a minimum function alignment of 4. (#90702)
This addresses an issue where the explicit alignment of 2 (for C++ ABI
reasons) was being propagated to the back end and causing under-aligned
functions (in special sections).
This is an alternate approach suggested by @efriedma-quic in PR #90415.
Fixes #90358
Commit: 3d6cf533cb258371177ee4912b3b09b62d328d29
https://github.com/llvm/llvm-project/commit/3d6cf533cb258371177ee4912b3b09b62d328d29
Author: Jeremy Kun <jkun at google.com>
Date: 2024-05-05 (Sun, 05 May 2024)
Changed paths:
M mlir/docs/DefiningDialects/Operations.md
Log Message:
-----------
fix formatting issues with ODS docs around assembly format directives (#91149)
- Some sentences are incorrectly split across list items.
- Some pre-formatted syntax is left in plaintext
- Some lines end in spaces
Co-authored-by: Jeremy Kun <j2kun at users.noreply.github.com>
Commit: f7bfb078cf037205a812dc4eece777130cfa88f5
https://github.com/llvm/llvm-project/commit/f7bfb078cf037205a812dc4eece777130cfa88f5
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
A llvm/test/CodeGen/X86/pr91005.ll
Log Message:
-----------
[X86][FP16] Do not create VBROADCAST_LOAD for f16 without AVX2 (#91125)
AVX doesn't provide 16-bit BROADCAST instruction.
Fixes #91005
Commit: 774b7eb7bacceaca3986fc73a236c3cd44f28599
https://github.com/llvm/llvm-project/commit/774b7eb7bacceaca3986fc73a236c3cd44f28599
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-05 (Sun, 05 May 2024)
Changed paths:
M llvm/include/llvm/ADT/StringRef.h
Log Message:
-----------
[ADT] Reimplement operator==(StringRef, StringRef) (NFC) (#91139)
I'm planning to deprecate and eventually remove StringRef::equals in
favor of operator==. This patch reimplements operator== without using
StringRef::equals.
I'm not sure if there is a good way to make StringRef::compareMemory
available to operator==, which is not a member function. "friend"
works to some extent but breaks corner cases, which is why I've chosen
to "inline" compareMemory.
Commit: c609043dd00955bf177ff57b0bad2a87c1e61a36
https://github.com/llvm/llvm-project/commit/c609043dd00955bf177ff57b0bad2a87c1e61a36
Author: Emilia Kond <emilia at rymiel.space>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Don't allow comma in front of structural enum (#91056)
Assume that a comma in front of `enum` means it is actually a part of an
elaborated type in a template parameter list.
Fixes https://github.com/llvm/llvm-project/issues/47782
Commit: db0ed5533368414b1c4e1c884eef651c66359da2
https://github.com/llvm/llvm-project/commit/db0ed5533368414b1c4e1c884eef651c66359da2
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-05-05 (Sun, 05 May 2024)
Changed paths:
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Don't remove parentheses of fold expressions (#91045)
Fixes #90966.
Commit: b944b543d60c73995a0760f7c53a0a645d3e56df
https://github.com/llvm/llvm-project/commit/b944b543d60c73995a0760f7c53a0a645d3e56df
Author: Luke Lau <luke at igalia.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
A llvm/test/CodeGen/RISCV/rvv/coalesce-vsetvli.mir
Log Message:
-----------
[RISCV] Add RISCVCoalesceVSETVLI tests for removing dead AVLs. NFC
Commit: 947b06282324db8fe2784c4054af9de493a876af
https://github.com/llvm/llvm-project/commit/947b06282324db8fe2784c4054af9de493a876af
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M clang/include/clang/Basic/SourceLocation.h
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/Serialization/ASTWriter.h
M clang/include/clang/Serialization/ModuleFile.h
M clang/include/clang/Serialization/SourceLocationEncoding.h
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/Serialization/ModuleFile.cpp
A clang/test/Modules/no-transitive-source-location-change.cppm
M clang/unittests/Serialization/SourceLocationEncodingTest.cpp
Log Message:
-----------
Reland "[Modules] No transitive source location change (#86912)"
This relands 6c31104.
The patch was reverted due to incorrectly introduced alignment. And the
patch was re-commited after fixing the alignment issue.
Following off are the original message:
This is part of "no transitive change" patch series, "no transitive
source location change". I talked this with @Bigcheese in the tokyo's
WG21 meeting.
The idea comes from @jyknight posted on LLVM discourse. That for:
```
// A.cppm
export module A;
...
// B.cppm
export module B;
import A;
...
//--- C.cppm
export module C;
import C;
```
Almost every time A.cppm changes, we need to recompile `B`. Due to we
think the source location is significant to the semantics. But it may be
good if we can avoid recompiling `C` if the change from `A` wouldn't
change the BMI of B.
This patch only cares source locations. So let's focus on source
location's example. We can see the full example from the attached test.
```
//--- A.cppm
export module A;
export template <class T>
struct C {
T func() {
return T(43);
}
};
export int funcA() {
return 43;
}
//--- A.v1.cppm
export module A;
export template <class T>
struct C {
T func() {
return T(43);
}
};
export int funcA() {
return 43;
}
//--- B.cppm
export module B;
import A;
export int funcB() {
return funcA();
}
//--- C.cppm
export module C;
import A;
export void testD() {
C<int> c;
c.func();
}
```
Here the only difference between `A.cppm` and `A.v1.cppm` is that
`A.v1.cppm` has an additional blank line. Then the test shows that two
BMI of `B.cppm`, one specified `-fmodule-file=A=A.pcm` and the other
specified `-fmodule-file=A=A.v1.pcm`, should have the bit-wise same
contents.
However, it is a different story for C, since C instantiates templates
from A, and the instantiation records the source information from module
A, which is different from `A` and `A.v1`, so it is expected that the
BMI `C.pcm` and `C.v1.pcm` can and should differ.
To fully understand the patch, we need to understand how we encodes
source locations and how we serialize and deserialize them.
For source locations, we encoded them as:
```
|
|
| _____ base offset of an imported module
|
|
|
|_____ base offset of another imported module
|
|
|
|
| ___ 0
```
As the diagram shows, we encode the local (unloaded) source location
from 0 to higher bits. And we allocate the space for source locations
from the loaded modules from high bits to 0. Then the source locations
from the loaded modules will be mapped to our source location space
according to the allocated offset.
For example, for,
```
// a.cppm
export module a;
...
// b.cppm
export module b;
import a;
...
```
Assuming the offset of a source location (let's name the location as
`S`) in a.cppm is 45 and we will record the value `45` into the BMI
`a.pcm`. Then in b.cppm, when we import a, the source manager will
allocate a space for module 'a' (according to the recorded number of
source locations) as the base offset of module 'a' in the current source
location spaces. Let's assume the allocated base offset as 90 in this
example. Then when we want to get the location in the current source
location space for `S`, we can get it simply by adding `45` to `90` to
`135`. Finally we can get the source location for `S` in module B as
`135`.
And when we want to write module `b`, we would also write the source
location of `S` as `135` directly in the BMI. And to clarify the
location `S` comes from module `a`, we also need to record the base
offset of module `a`, 90 in the BMI of `b`.
Then the problem comes. Since the base offset of module 'a' is computed
by the number source locations in module 'a'. In module 'b', the
recorded base offset of module 'a' will change every time the number of
source locations in module 'a' increase or decrease. In other words, the
contents of BMI of B will change every time the number of locations in
module 'a' changes. This is pretty sensitive. Almost every change will
change the number of locations. So this is the problem this patch want
to solve.
Let's continue with the existing design to understand what's going on.
Another interesting case is:
```
// c.cppm
export module c;
import whatever;
import a;
import b;
...
```
In `c.cppm`, when we import `a`, we still need to allocate a base
location offset for it, let's say the value becomes to `200` somehow.
Then when we reach the location `S` recorded in module `b`, we need to
translate it into the current source location space. The solution is
quite simple, we can get it by `135 + (200 - 90) = 245`. In another
word, the offset of a source location in current module can be computed
as `Recorded Offset + Base Offset of the its module file - Recorded Base
Offset`.
Then we're almost done about how we handle the offset of source
locations in serializers.
>From the abstract level, what we want to do is to remove the hardcoded
base offset of imported modules and remain the ability to calculate the
source location in a new module unit. To achieve this, we need to be
able to find the module file owning a source location from the encoding
of the source location.
So in this patch, for each source location, we will store the local
offset of the location and the module file index. For the above example,
in `b.pcm`, the source location of `S` will be recorded as `135`
directly. And in the new design, the source location of `S` will be
recorded as `<1, 45>`. Here `1` stands for the module file index of `a`
in module `b`. And `45` means the offset of `S` to the base offset of
module `a`.
So the trade-off here is that, to make the BMI more independent, we need
to record more abstract information. And I feel it is worthy. The
recompilation problem of modules is really annoying and there are still
people complaining this. But if we can make this (including stopping
other changes transitively), I think this may be a killer feature for
modules. And from @Bigcheese , this should be helpful for clang explicit
modules too.
And the benchmarking side, I tested this patch against
https://github.com/alibaba/async_simple/tree/CXX20Modules. No
significant change on compilation time. The size of .pcm files becomes
to 204M from 200M. I think the trade-off is pretty fair.
I didn't use another slot to record the module file index. I tried to
use the higher 32 bits of the existing source location encodings to
store that information. This design may be safe. Since we use `unsigned`
to store source locations but we use uint64_t in serialization. And
generally `unsigned` is 32 bit width in most platforms. So it might not
be a safe problem. Since all the bits we used to store the module file
index is not used before. So the new encodings may be:
```
|-----------------------|-----------------------|
| A | B | C |
* A: 32 bit. The index of the module file in the module manager + 1.
* The +1
here is necessary since we wish 0 stands for the current
module file.
* B: 31 bit. The offset of the source location to the module file
* containing it.
* C: The macro bit. We rotate it to the lowest bit so that we can save
* some
space in case the index of the module file is 0.
```
(The B and C is the existing raw encoding for source locations)
Another reason to reuse the same slot of the source location is to
reduce the impact of the patch. Since there are a lot of places assuming
we can store and get a source location from a slot. And if I tried to
add another slot, a lot of codes breaks. I don't feel it is worhty.
Another impact of this decision is that, the existing small
optimizations for encoding source location may be invalided. The key of
the optimization is that we can turn large values into small values then
we can use VBR6 format to reduce the size. But if we decided to put the
module file index into the higher bits, then maybe it simply doesn't
work. An example may be the `SourceLocationSequence` optimization.
This will only affect the size of on-disk .pcm files. I don't expect
this impact the speed and memory use of compilations. And seeing my
small experiments above, I feel this trade off is worthy.
The mental model for handling source location offsets is not so complex
and I believe we can solve it by adding module file index to each stored
source location.
For the practical side, since the source location is pretty sensitive,
and the patch can pass all the in-tree tests and a small scale projects,
I feel it should be correct.
I'll continue to work on no transitive decl change and no transitive
identifier change (if matters) to achieve the goal to stop the
propagation of unnecessary changes. But all of this depends on this
patch. Since, clearly, the source locations are the most sensitive
thing.
---
The release nots and documentation will be added seperately.
Commit: d70267fbae228990c47b5bdbce7aa659e8b5146e
https://github.com/llvm/llvm-project/commit/d70267fbae228990c47b5bdbce7aa659e8b5146e
Author: Yeting Kuo <46629943+yetingk at users.noreply.github.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
A clang/test/Driver/riscv-option-arch.c
A clang/test/Driver/riscv-option-arch.s
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/test/MC/RISCV/option-arch.s
Log Message:
-----------
[RISCV] Teach .option arch to support experimental extensions. (#89727)
Previously `.option arch` denied extenions are not belongs to RISC-V
features. But experimental features have experimental- prefix, so
`.option arch` can not serve for experimental extension.
This patch uses the features of extensions to identify extension
existance.
Commit: 0348e71885ee8c07e1ae789059ff6d3c9ffce596
https://github.com/llvm/llvm-project/commit/0348e71885ee8c07e1ae789059ff6d3c9ffce596
Author: martinboehme <mboehme at google.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M clang/lib/Analysis/FlowSensitive/Transfer.cpp
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
Log Message:
-----------
[clang][dataflow] Fix crash when `operator=` result type is not destination type. (#90898)
The existing code was full of comments about how we assume this is
always the
case, but it's not mandated by the standard, and there is code out there
that
returns a different type. So check that the result type is in fact the
same as
the destination type before attempting to copy to the result.
To make sure that we don't bail out in more cases than intended, I've
extended
existing tests to verify that in the common case, we do return the
destination
object (by reference or value, as the case may be).
Commit: 1500dc0af985db8997744cb103a4b23dd4a81b2d
https://github.com/llvm/llvm-project/commit/1500dc0af985db8997744cb103a4b23dd4a81b2d
Author: Luke Lau <luke at igalia.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/coalesce-vsetvli.mir
Log Message:
-----------
[RISCV] Use virtual registers for AVL instrs in coalesce-vsetvli.mir. NFC
All GPR registers will still be virtual at this stage, so update the test
to reflect that.
Commit: db532ff9584a2fe4b375188400986e0dd17ad92b
https://github.com/llvm/llvm-project/commit/db532ff9584a2fe4b375188400986e0dd17ad92b
Author: xiaoleis-nv <99947620+xiaoleis-nv at users.noreply.github.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/IndirectionUtils.h
M llvm/include/llvm/ExecutionEngine/Orc/LLJIT.h
Log Message:
-----------
Remove redundant move in return statement (#90546)
This pull request removes unnecessary move in the return statement to
suppress compilation warnings.
Co-authored-by: Xiaolei Shi <xiaoleis at nvidia.com>
Commit: d654278bde8cfc87b962249b6781f079e0384535
https://github.com/llvm/llvm-project/commit/d654278bde8cfc87b962249b6781f079e0384535
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
M llvm/docs/LangRef.rst
M llvm/docs/ReleaseNotes.rst
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.h
M llvm/lib/Target/AMDGPU/SIModeRegisterDefaults.cpp
M llvm/lib/Target/AMDGPU/SIModeRegisterDefaults.h
A llvm/test/CodeGen/AMDGPU/llvm.set.rounding.ll
Log Message:
-----------
Reapply "AMDGPU: Implement llvm.set.rounding (#88587)" series (#91113)
Revert "Revert 4 last AMDGPU commits to unbreak Windows bots"
This reverts commit 0d493ed2c6e664849a979b357a606dcd8273b03f.
MSVC does not like constexpr on the definition after an extern
declaration of a global.
Commit: 0140ba031c9b6a4028b36adb292fb37eb62f3dc0
https://github.com/llvm/llvm-project/commit/0140ba031c9b6a4028b36adb292fb37eb62f3dc0
Author: Serge Pavlov <sepavloff at gmail.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M clang/include/clang/Basic/LangOptions.h
M clang/test/AST/ast-dump-fpfeatures.cpp
M clang/test/AST/ast-dump-fpfeatures.m
M clang/test/AST/ast-dump-late-parsing.cpp
Log Message:
-----------
[clang] Enable FPContract with optnone (#91061)
Previously treatment of the attribute `optnone` was modified in
https://github.com/llvm/llvm-project/pull/85605 ([clang] Set correct
FPOptions if attribute 'optnone' presents). As a side effect FPContract
was disabled for optnone. It created unneeded divergence with the
behavior of -O0, which enables this optimization.
In the discussion
https://github.com/llvm/llvm-project/pull/85605#issuecomment-2089350379
it was pointed out that FP contraction should be enabled even if all
optimizations are turned off, otherwise results of calculations would be
different. This change enables FPContract at optnone.
Commit: ef8d8148b448f9bbeef7cee7bf4f82e3233111cd
https://github.com/llvm/llvm-project/commit/ef8d8148b448f9bbeef7cee7bf4f82e3233111cd
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/IndirectionUtils.h
M llvm/include/llvm/ExecutionEngine/Orc/LLJIT.h
Log Message:
-----------
Revert "Remove redundant move in return statement" (#91169)
Reverts llvm/llvm-project#90546
This broke some bots, seems like some toolchain don’t consider the
implicit move here.
Commit: 181e82143e0069a03ad4d601185665f035b4cc4d
https://github.com/llvm/llvm-project/commit/181e82143e0069a03ad4d601185665f035b4cc4d
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M llvm/test/CodeGen/SystemZ/zos-ppa2.ll
Log Message:
-----------
SystemZ: Remove redundant REQUIRES systemz from test
Commit: 4b61d04645a5289354b8f0884a132a70bc8b4350
https://github.com/llvm/llvm-project/commit/4b61d04645a5289354b8f0884a132a70bc8b4350
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M llvm/test/CodeGen/SystemZ/frame-26.mir
M llvm/test/CodeGen/SystemZ/frame-28.mir
M llvm/test/CodeGen/SystemZ/memcmp-03.ll
Log Message:
-----------
SystemZ: Remove unnecessary REQUIRES asserts from tests
Commit: e2c89254e12e844214d02f1d12bf29ba2ca322c7
https://github.com/llvm/llvm-project/commit/e2c89254e12e844214d02f1d12bf29ba2ca322c7
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCombine.td
M llvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp
Log Message:
-----------
[AMDGPU] Fix typo in function name
Commit: eb75af223fb07d83808bd40ffde942435e9779d6
https://github.com/llvm/llvm-project/commit/eb75af223fb07d83808bd40ffde942435e9779d6
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
M llvm/lib/Target/SystemZ/SystemZInstrInfo.h
A llvm/test/CodeGen/SystemZ/fold-copy-vector-immediate.mir
Log Message:
-----------
Reapply "SystemZ: Fold copy of vector immediate to gr128" (#91099)
This reverts commit a415b4dfcc02e3e82b8c8a7836f7c04b9d65dc9b.
Modify the instruction in place to transform it into a REG_SEQUENCE,
which is what other implementations of foldImmediate do. Also start
erasing the def instruction if there are no other uses.
Fixes #91110.
Commit: 30367cb5982dfdab2655401f020711311e7d78b9
https://github.com/llvm/llvm-project/commit/30367cb5982dfdab2655401f020711311e7d78b9
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M lldb/include/lldb/API/SBType.h
M lldb/source/API/SBType.cpp
M lldb/test/API/python_api/type/TestTypeList.py
M lldb/test/API/python_api/type/main.cpp
Log Message:
-----------
[lldb] Add SBType::GetByteAlign (#90960)
lldb already mostly(*) tracks this information. This just makes it
available to the SB users.
(*) It does not do that for typedefs right now see llvm.org/pr90958
Commit: d3dad7a74be50d90754bf5c072e1a2330e92712c
https://github.com/llvm/llvm-project/commit/d3dad7a74be50d90754bf5c072e1a2330e92712c
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/icmp-of-trunc-ext.ll
Log Message:
-----------
[InstCombine] Fix miscompilation caused by #90436 (#91133)
Proof: https://alive2.llvm.org/ce/z/iRnJ4i
Fixes https://github.com/llvm/llvm-project/issues/91127.
Commit: 8a65ee8b2a05e276ab64682c3c9d3f93490cedcc
https://github.com/llvm/llvm-project/commit/8a65ee8b2a05e276ab64682c3c9d3f93490cedcc
Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/hidden-diverge-gmir.mir
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/temporal-divergence.mir
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/uses-value-from-cycle.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-phis-no-lane-mask-merging.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-used-outside-loop.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-structurizer.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-temporal-divergent-i1.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-temporal-divergent-reg.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-atomicrmw.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-function-args.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-amdgcn.if-invalid.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-amdgcn.if.xfail.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-brcond.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.else.32.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.else.64.mir
M llvm/test/CodeGen/AMDGPU/convergence-tokens.ll
Log Message:
-----------
[AMDGPU] don't mark control-flow intrinsics as convergent (#90026)
This is really a workaround to allow control flow lowering in the
presence of convergence control tokens. Control-flow intrinsics in LLVM
IR are convergent because they indirectly represent the wave CFG, i.e.,
sets of threads that are "converged" or "execute in lock-step". But they
exist during a small window in the lowering process, inserted after the
structurizer and then translated to equivalent MIR pseudos. So rather
than create convergence tokens for these builtins, we simply mark them
as not convergent.
The corresponding MIR pseudos are marked as having side effects, which
is sufficient to prevent optimizations without having to mark them as
convergent.
Commit: 9a521e274d0ad4a4a461952d23809320e080ffb4
https://github.com/llvm/llvm-project/commit/9a521e274d0ad4a4a461952d23809320e080ffb4
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/test/AST/Interp/lambda.cpp
Log Message:
-----------
[clang][Interp] Fix primitive lambda capture defaults
We need to use InitField here, not SetField.
Commit: e9bcd2bf6775483a394e24772b66c2bbdf8f4c30
https://github.com/llvm/llvm-project/commit/e9bcd2bf6775483a394e24772b66c2bbdf8f4c30
Author: hev <wangrui at loongson.cn>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M llvm/lib/Target/LoongArch/CMakeLists.txt
M llvm/lib/Target/LoongArch/LoongArch.h
M llvm/lib/Target/LoongArch/LoongArch.td
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchInstrInfo.cpp
M llvm/lib/Target/LoongArch/LoongArchInstrInfo.h
M llvm/lib/Target/LoongArch/LoongArchMachineFunctionInfo.h
A llvm/lib/Target/LoongArch/LoongArchOptWInstrs.cpp
M llvm/lib/Target/LoongArch/LoongArchTargetMachine.cpp
M llvm/test/CodeGen/LoongArch/atomicrmw-uinc-udec-wrap.ll
M llvm/test/CodeGen/LoongArch/gep-imm.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/add.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/atomic-cmpxchg.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/atomicrmw-fp.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/atomicrmw-minmax.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/atomicrmw.ll
M llvm/test/CodeGen/LoongArch/opt-pipeline.ll
A llvm/test/CodeGen/LoongArch/prefer-w-inst.ll
M llvm/test/CodeGen/LoongArch/preferred-alignments.ll
M llvm/test/CodeGen/LoongArch/sextw-removal.ll
M llvm/utils/gn/secondary/llvm/lib/Target/LoongArch/BUILD.gn
Log Message:
-----------
[LoongArch] Optimize *W Instructions at MI level (#90463)
Referring to RISC-V, adding an MI level pass to optimize *W instructions
for LoongArch.
First it removes unneeded sext(addi.w rd, rs, 0) instructions. Either
because the sign extended bits aren't consumed or because the input was
already sign extended by an earlier instruction.
Then:
1. Unless explicit disabled or the target prefers instructions with W
suffix, it removes the -w suffix from opw instructions whenever all
users are dependent only on the lower word of the result of the
instruction. The cases handled are:
* addi.w because it helps reduce test differences between LA32 and LA64
w/o being a pessimization.
2. Or if explicit enabled or the target prefers instructions with W
suffix, it adds the W suffix to the instruction whenever all users are
dependent only on the lower word of the result of the instruction. The
cases handled are:
* add.d/addi.d/sub.d/mul.d.
* slli.d with imm < 32.
* ld.d/ld.wu.
Commit: d98a78590f4f9e43fdfb69fde7d154a985e4560f
https://github.com/llvm/llvm-project/commit/d98a78590f4f9e43fdfb69fde7d154a985e4560f
Author: WANG Rui <wangrui at loongson.cn>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M llvm/test/CodeGen/LoongArch/rotl-rotr.ll
Log Message:
-----------
[LoongArch] Mark data type i32 are sign-extended. NFC
Commit: 69d740e5d64257524914aabd6dfead7565185d4f
https://github.com/llvm/llvm-project/commit/69d740e5d64257524914aabd6dfead7565185d4f
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeEmitter.cpp
M clang/test/AST/Interp/cxx23.cpp
M clang/test/SemaCXX/cxx2b-deducing-this-constexpr.cpp
Log Message:
-----------
[clang][Interp] Fix creating functions with explicit instance parameters
Commit: 0933a7a12508901f1c99c3a23f2841740a1cf845
https://github.com/llvm/llvm-project/commit/0933a7a12508901f1c99c3a23f2841740a1cf845
Author: WANG Rui <wangrui at loongson.cn>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchOptWInstrs.cpp
M llvm/test/CodeGen/LoongArch/prefer-w-inst.ll
Log Message:
-----------
[LoongArch] Rename some OptWInstrs functions. NFC
Commit: 522b4bfe5b140068a7f9b3d899740a460aa0e715
https://github.com/llvm/llvm-project/commit/522b4bfe5b140068a7f9b3d899740a460aa0e715
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M llvm/include/llvm/CodeGen/SDPatternMatch.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/RISCV/bitreverse-shift.ll
M llvm/test/CodeGen/X86/combine-bitreverse.ll
Log Message:
-----------
[DAG] Fold bitreverse(shl/srl(bitreverse(x),y)) -> srl/shl(x,y) (#89897)
Noticed while investigating GFNI per-element vector shifts (we can form SHL but not SRL/SRA)
Alive2: https://alive2.llvm.org/ce/z/fSH-rf
Commit: 0a0cac6dbd0ef67eb473f85a968bbf4ebea5220d
https://github.com/llvm/llvm-project/commit/0a0cac6dbd0ef67eb473f85a968bbf4ebea5220d
Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/test/CodeGen/SystemZ/atomic-load-08.ll
M llvm/test/CodeGen/SystemZ/atomic-store-08.ll
M llvm/test/CodeGen/SystemZ/atomicrmw-fmax-03.ll
M llvm/test/CodeGen/SystemZ/atomicrmw-fmin-03.ll
Log Message:
-----------
[SystemZ] Simplify f128 atomic load/store (#90977)
Change definition of expandBitCastI128ToF128 and expandBitCastF128ToI128
to allow for simplified use in atomic load/store.
Update logic to split 128-bit loads and stores in DAGCombine to also
handle the f128 case where appropriate. This fixes the regressions
introduced by recent atomic load/store patches.
Commit: 8e7618aa21652132f930b6576b92291c5f1d46b6
https://github.com/llvm/llvm-project/commit/8e7618aa21652132f930b6576b92291c5f1d46b6
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/horizontal-sum.ll
M llvm/test/CodeGen/X86/oddshuffles.ll
M llvm/test/CodeGen/X86/pr34592.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-3.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-i32-stride-3.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-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-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-8.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-sse41.ll
Log Message:
-----------
[X86] Fold BLEND(PERMUTE(X),PERMUTE(Y)) -> PERMUTE(BLEND(X,Y)) (#90219)
If we don't demand the same element from both single source shuffles (permutes), then attempt to blend the sources together first and then perform a merged permute.
For vXi16 blends we have to be careful as these are much more likely to involve byte/word vector shuffles that will result in the creation of additional shuffle instructions.
This fold might be worth it for VSELECT with constant masks on AVX512 targets, but I haven't investigated this yet, but I've tried to write combineBlendOfPermutes so to be prepared for this.
The PR34592 -O0 regression is an unfortunate failure to cleanup with a later pass that calls SimplifyDemandedElts like the -O3 does - I'm not sure how worried we should be tbh.
Commit: 6217abce86b55778cf39f7db7f591a16b9fd4d28
https://github.com/llvm/llvm-project/commit/6217abce86b55778cf39f7db7f591a16b9fd4d28
Author: Hans Wennborg <hans at chromium.org>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M clang/test/Driver/riscv-option-arch.c
M clang/test/Driver/riscv-option-arch.s
Log Message:
-----------
Add requires clause to risc-v clang driver tests
Followup to #89727
Commit: 47214903b1c6d0590780c7e69a2e3e612f43e4a2
https://github.com/llvm/llvm-project/commit/47214903b1c6d0590780c7e69a2e3e612f43e4a2
Author: Xing Xue <xingxue at outlook.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M libcxxabi/src/aix_state_tab_eh.inc
Log Message:
-----------
[libc++abi][AIX] Use different function pointer types for destructors with 1 or 2 args (#89624)
The destructors generated by the legacy IBM `xlclang++` compiler can
take 1 or 2 arguments and the differences were handled by type `cast`
where it is needed. Clang now treats the `cast` here as an error after
https://github.com/llvm/llvm-project/commit/999d4f840777bf8de26d45947192aa0728edc0fb
landed with `-Xextra -Werror`. The issue had been worked around by using
`#pragma GCC diagnostic push/pop`. This patch defines 2 separate
destructor types for 1 argument and 2 arguments respectively so `cast`
is not needed.
Commit: a9241998fcded780b9c6473dc4e5f8b732027f99
https://github.com/llvm/llvm-project/commit/a9241998fcded780b9c6473dc4e5f8b732027f99
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] Fix -Wsign-compare in X86ISelLowering.cpp (NFC)
llvm-project/llvm/lib/Target/X86/X86ISelLowering.cpp:40081:21:
error: comparison of integers of different signs: 'int' and 'unsigned int' [-Werror,-Wsign-compare]
for (int I = 0; I != NumElts; ++I) {
~ ^ ~~~~~~~
1 error generated.
Commit: b2c2fef5fa5a000629c22be4955641e1ab0ca491
https://github.com/llvm/llvm-project/commit/b2c2fef5fa5a000629c22be4955641e1ab0ca491
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] Fix -Wunused-function in X86ISelLowering.cpp (NFC)
llvm-project/llvm/lib/Target/X86/X86ISelLowering.cpp:3582:13:
error: unused function 'isBlendOrUndef' [-Werror,-Wunused-function]
static bool isBlendOrUndef(ArrayRef<int> Mask) {
^
1 error generated.
Commit: 1e9625e59571042ad11039d11d7744c95c4da2f7
https://github.com/llvm/llvm-project/commit/1e9625e59571042ad11039d11d7744c95c4da2f7
Author: Leandro Lupori <leandro.lupori at linaro.org>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M flang/include/flang/Semantics/symbol.h
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.h
M flang/lib/Semantics/resolve-directives.cpp
M flang/test/Lower/OpenMP/default-clause-byref.f90
M flang/test/Lower/OpenMP/default-clause.f90
A flang/test/Lower/OpenMP/implicit-dsa.f90
A flang/test/Semantics/OpenMP/implicit-dsa.f90
M flang/test/Semantics/OpenMP/symbol08.f90
Log Message:
-----------
[flang][OpenMP] Support tasks' implicit firstprivate DSA (#85989)
Handle implicit firstprivate DSAs on task generating constructs.
Fixes https://github.com/llvm/llvm-project/issues/64480
Commit: e365ac809e1c01bbbcf70a20057f3dbbc7e14b49
https://github.com/llvm/llvm-project/commit/e365ac809e1c01bbbcf70a20057f3dbbc7e14b49
Author: Leandro Lupori <leandro.lupori at linaro.org>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M flang/lib/Semantics/resolve-directives.cpp
A flang/test/Semantics/OpenMP/parallel-critical-do.f90
A flang/test/Semantics/OpenMP/parallel-sections-do.f90
Log Message:
-----------
[flang][OpenMP] Fix symbol handling in critical/sections constructs (#90671)
Fixes https://github.com/llvm/llvm-project/issues/78936
Commit: 6e31a49931b8b057868a64e89838e3c9b40f9198
https://github.com/llvm/llvm-project/commit/6e31a49931b8b057868a64e89838e3c9b40f9198
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/test/Driver/plugin-driver-args.cpp
Log Message:
-----------
[driver] Do not warn about unused plugin flags. (#88948)
Plugins are not loaded without the -cc1 phase. Do not report them when
running on an assembly file or when linking. Many build tools add these
options to all driver invocations, including LLVM's build system.
Fixes #88173
Commit: 148b721772ca626cf42be2c24a23e4aa3c62a6e0
https://github.com/llvm/llvm-project/commit/148b721772ca626cf42be2c24a23e4aa3c62a6e0
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M llvm/test/Analysis/LoopAccessAnalysis/multiple-strides-rt-memory-checks.ll
Log Message:
-----------
[LAA] Update check line in test to fully match message.
Commit: 10ec0d20892c170182a50129614675d3173a3f44
https://github.com/llvm/llvm-project/commit/10ec0d20892c170182a50129614675d3173a3f44
Author: Yuanqiang Liu <liuyuanqiang.yqliu at bytedance.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M mlir/python/mlir/ir.py
M mlir/test/python/dialects/python_test.py
Log Message:
-----------
[MLIR] fix _f64ElementsAttr in ir.py (#91176)
Commit: 09adb53118e50ad433b7df6d84a4e2937bfb97d5
https://github.com/llvm/llvm-project/commit/09adb53118e50ad433b7df6d84a4e2937bfb97d5
Author: Chris <cbate at nvidia.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M mlir/lib/Dialect/EmitC/Transforms/FormExpressions.cpp
M mlir/test/Dialect/EmitC/transforms.mlir
Log Message:
-----------
[MLIR][EmitC] Fix bug in EmitC form-expressions pass (#91084)
An `emitc.expression` can only yield a single result, but some
operations which have the `CExpression` trait can have multiple results,
which can result in a crash when applying the `fold-expressions` pass.
This change adds a check for the single-result condition and a simple
test.
Commit: 5f73d29cb74abf5b4eca113386b18110a53b1b6a
https://github.com/llvm/llvm-project/commit/5f73d29cb74abf5b4eca113386b18110a53b1b6a
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
A llvm/test/Analysis/LoopAccessAnalysis/unknown-dependence-retry-with-runtime-checks.ll
Log Message:
-----------
[LAA] Add tests showing extra unnecessary runtime checks.
Pre-commit tests for an upcoming patch.
Commit: 4d839d8f18e41bd97e1c5e82d53ad5687c07e586
https://github.com/llvm/llvm-project/commit/4d839d8f18e41bd97e1c5e82d53ad5687c07e586
Author: martinboehme <mboehme at google.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
Log Message:
-----------
[clang][dataflow] Don't propagate result objects in unevaluated contexts (reland #90438) (#91172)
This relands #90348 with a fix for a [buildbot
failure](https://lab.llvm.org/buildbot/#/builders/216/builds/38446)
caused by the test being run with `-fno-rtti`.
Commit: d751e407def4e1540ae0af12a179ce4f2a8f676c
https://github.com/llvm/llvm-project/commit/d751e407def4e1540ae0af12a179ce4f2a8f676c
Author: Danny Mösch <danny.moesch at icloud.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M clang/lib/Frontend/InterfaceStubFunctionsConsumer.cpp
Log Message:
-----------
[NFC] Use `const&` avoiding copies (#90334)
Fixes #90285.
Commit: ecfb5d9951554d8bdb6a499c958f48cc35f78a88
https://github.com/llvm/llvm-project/commit/ecfb5d9951554d8bdb6a499c958f48cc35f78a88
Author: Michael Flanders <flanders.michaelk at gmail.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M libc/test/UnitTest/FPMatcher.h
M libc/test/src/math/RoundToIntegerTest.h
M libc/test/src/math/atanf_test.cpp
M libc/test/src/math/atanhf_test.cpp
M libc/test/src/math/smoke/NextAfterTest.h
M libc/test/src/math/smoke/NextTowardTest.h
M libc/test/src/math/smoke/RoundToIntegerTest.h
M libc/test/src/math/smoke/atan2f_test.cpp
M libc/test/src/math/smoke/atanf_test.cpp
M libc/test/src/math/smoke/atanhf_test.cpp
Log Message:
-----------
[libc][math] fix loose except check in `{EXPECT,ASSERT}_FP_EXCEPTION` macros (#88816)
Adds more FP test macros for the upcoming test adds for #61092 and the
issues opened from it: #88768, #88769, #88770, #88771, #88772.
Fix bug in `{EXPECT,ASSERT}_FP_EXCEPTION`. `EXPECT_FP_EXCEPTION(0)`
seems to be used to test that an exception did not happen, but it always
does `EXPECT_GE(... & 0, 0)` which never fails.
Update and refactor tests that break after the above bug fix. An
interesting way things broke after the above change is that
`ForceRoundingMode` and `quick_get_round()` were raising the inexact
exception, breaking a lot of the `atan*` tests.
The changes for all files other than `FPMatcher.h` and
`libc/test/src/math/smoke/RoundToIntegerTest.h` should have the same
semantics as before. For `RoundToIntegerTest.h`, lines 56-58 before the
changes do not always hold since this test is used for functions with
different exception and errno behavior like `lrint` and `lround`. I've
deleted those lines for now, but tests for those cases should be added
for the different nearest int functions to account for this.
Adding @nickdesaulniers for review.
Commit: d71771dd2748057532603813139d8fd61e83ea79
https://github.com/llvm/llvm-project/commit/d71771dd2748057532603813139d8fd61e83ea79
Author: Jan Voung <jvoung at gmail.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M lld/test/COFF/thinlto-index-only.ll
M lld/test/ELF/lto/thinlto-emit-index.ll
M lld/test/ELF/lto/thinlto-index-only.ll
M lld/test/MachO/thinlto-emit-index.ll
M lld/test/MachO/thinlto-index-only.ll
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/test/Assembler/thinlto-summary.ll
M llvm/test/Bitcode/summary_version.ll
M llvm/test/Bitcode/thinlto-alias.ll
M llvm/test/Bitcode/thinlto-func-summary-vtableref-pgo.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-partial-sample-profile-summary.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-pgo.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-profile-summary.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-sample-profile-summary.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph.ll
M llvm/test/Bitcode/thinlto-function-summary-originalnames.ll
M llvm/test/Bitcode/thinlto-function-summary-paramaccess.ll
M llvm/test/ThinLTO/X86/distributed_indexes.ll
M llvm/test/tools/gold/X86/thinlto.ll
M llvm/test/tools/llvm-lto/thinlto.ll
Log Message:
-----------
Revert "Reapply "Use an abbrev to reduce size of VALUE_GUID records in ThinLTO summaries" (#90610)" (#91194)
Reverts llvm/llvm-project#90692
Breaking PPC buildbots. The bots are not meant to test LLD, but are
running a test that is using an old version of LLD without the change
(so is incompatible). Revert until a fix is found.
Commit: 7b040d01c59505d62d4700c75b0438269a0f7bb4
https://github.com/llvm/llvm-project/commit/7b040d01c59505d62d4700c75b0438269a0f7bb4
Author: Zequan Wu <zequanwu at google.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M lldb/tools/lldb-dap/lldb-dap.cpp
Log Message:
-----------
[lldb-dap] Don't fail when SBProcess::GetMemoryRegionInfo returns error. (#87649)
`SBProcess::GetMemoryRegionInfo` uses `qMemoryRegionInfo` packet to get
memory region info, but this is not supported in gdb-server and causing
downstream lldb test failures. This change ignores the the error from
`SBProcess::GetMemoryRegionInfo` .
Reported by @tedwoodward @jerinphilip.
Commit: 1b22ecae1f53af48f4c0e6438ae6fb4d73a8769d
https://github.com/llvm/llvm-project/commit/1b22ecae1f53af48f4c0e6438ae6fb4d73a8769d
Author: David Tenty <daltenty at ibm.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M llvm/cmake/modules/LLVMExternalProjectUtils.cmake
Log Message:
-----------
Revert "[AIX][CMake] Use top-level tools in llvm_ExternalProject_Add" (#91019)
This reverts commit 11066449d49e20f18f46757df07455c6abcedcf1.
As noted in the original patch, this was designed to reverted once
https://reviews.llvm.org/D142479 and https://reviews.llvm.org/D142660
landed, which has long since happened.
Commit: 1241e7692a466ceb420be2780f1c3e8bbab7d469
https://github.com/llvm/llvm-project/commit/1241e7692a466ceb420be2780f1c3e8bbab7d469
Author: Franklin Zhang <zhangfenglei at huawei.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
M llvm/test/Transforms/AggressiveInstCombine/strncmp-1.ll
Log Message:
-----------
[AggressiveInstCombine] Fix strncmp inlining (#91204)
Fix the issue that `char` constants are converted to `uint64_t` in the
wrong way when doing the inlining.
Commit: d584df6c8fd4f1a517fa7373d43e9ba2cb10f47f
https://github.com/llvm/llvm-project/commit/d584df6c8fd4f1a517fa7373d43e9ba2cb10f47f
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/RISCV/smin-signed-zextended.ll
Log Message:
-----------
[SLP][NFC]Add a test with incorrect smin analysis for minimal bitwidth, NFC.
Commit: a4760321017bd55f51ea0961231ca48ce9e14624
https://github.com/llvm/llvm-project/commit/a4760321017bd55f51ea0961231ca48ce9e14624
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/RISCV/smin-signed-zextended.ll
Log Message:
-----------
[SLP]Fix PR91025: correctly handle smin/smax of signed operands.
Need to check that the signed operand has an extra sign bit to be sure
that we do not skip signedness, when trying to minimize bitwidth for
smin/smax intrinsics.
Commit: 5cb13bfd897f5d69439058d3cd7b1af8a37c7e42
https://github.com/llvm/llvm-project/commit/5cb13bfd897f5d69439058d3cd7b1af8a37c7e42
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/ReturnConstRefFromParameterCheck.cpp
Log Message:
-----------
[NFC][clang-tidy]increase stability for bugprone-return-const-ref-from-parameter (#91160)
Commit: 9d9bd76458ebc7c842c200982cfa0a490ccbe8cf
https://github.com/llvm/llvm-project/commit/9d9bd76458ebc7c842c200982cfa0a490ccbe8cf
Author: Luke Lau <luke at igalia.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
Log Message:
-----------
[RISCV] Check dead flag on VL def op in RISCVCoalesceVSETVLI. NFC (#91168)
Because LiveVariables has been run, we no longer need to lookup the
users in MachineRegisterInfo anymore and can instead just check for the
dead flag.
Commit: 6542e5663d1e599d5ed7c961842ce2fcdc9f5090
https://github.com/llvm/llvm-project/commit/6542e5663d1e599d5ed7c961842ce2fcdc9f5090
Author: Leandro Lupori <leandro.lupori at linaro.org>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/test/Lower/OpenMP/sections.f90
Log Message:
-----------
[flang][OpenMP] Move privatizations out of sections (#88191)
Besides duplicating code, privatizing variables in every section
causes problems when synchronization barriers are used. This
happens because each section is executed by a given thread, which
will cause the program to hang if not all running threads execute
the barrier operation.
Fixes https://github.com/llvm/llvm-project/issues/72824
Commit: e50060fc6fc9ca41fe4b266f3b68005247327247
https://github.com/llvm/llvm-project/commit/e50060fc6fc9ca41fe4b266f3b68005247327247
Author: David Green <david.green at arm.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/arm64-uzp.ll
M llvm/test/CodeGen/AArch64/arm64-zip.ll
M llvm/test/CodeGen/AArch64/neon-perm.ll
Log Message:
-----------
[AArch64][GlobalISel] Addition GISel test coverage for shuffles. NFC
Commit: 48c8a5791ae71c96661479f684459b7b9427a22d
https://github.com/llvm/llvm-project/commit/48c8a5791ae71c96661479f684459b7b9427a22d
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/OpenACCClauses.def
M clang/include/clang/Sema/SemaOpenACC.h
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/test/AST/ast-print-openacc-compute-construct.cpp
M clang/test/ParserOpenACC/parse-clauses.c
A clang/test/SemaOpenACC/compute-construct-attach-clause.c
A clang/test/SemaOpenACC/compute-construct-attach-clause.cpp
A clang/test/SemaOpenACC/compute-construct-deviceptr-clause.c
A clang/test/SemaOpenACC/compute-construct-deviceptr-clause.cpp
M clang/test/SemaOpenACC/compute-construct-varlist-ast.cpp
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
[OpenACC] Implement 'deviceptr' and 'attach' sema for compute constructs
These two are very similar to the other 'var-list' variants, except they
require that the type of the variable be a pointer. This patch
implements that restriction.
Commit: b9541f9879b7c43d796e78e32ac896dd05550d71
https://github.com/llvm/llvm-project/commit/b9541f9879b7c43d796e78e32ac896dd05550d71
Author: Leandro Lupori <leandro.lupori at linaro.org>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M flang/test/Semantics/cuf13.cuf
Log Message:
-----------
[flang][cuda][NFC] Fix Semantics/cuf13.cuf test on Darwin
Commit: 52187b9f2e7ef0997269bcf64b3d2512a52467ed
https://github.com/llvm/llvm-project/commit/52187b9f2e7ef0997269bcf64b3d2512a52467ed
Author: Luke Lau <luke at igalia.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVDeadRegisterDefinitions.cpp
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/test/CodeGen/RISCV/O3-pipeline.ll
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.ll
Log Message:
-----------
[RISCV] Move RISCVDeadRegisterDefinitions to post vector regalloc (#90636)
Currently RISCVDeadRegisterDefinitions runs after vsetvli insertion, but
in #70549 vsetvli insertion runs after vector regalloc and as a result
we no longer convert some vsetvli a0, a0s to vsetvli x0, a0. This patch
moves it to after vector regalloc, but before scalar regalloc so we
still get the benefits of reducing register pressure.
Commit: 5fa24ac277172045a81603bb56e66b5f4a27f99e
https://github.com/llvm/llvm-project/commit/5fa24ac277172045a81603bb56e66b5f4a27f99e
Author: alx32 <103613512+alx32 at users.noreply.github.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M lld/MachO/ObjC.cpp
M lld/test/MachO/objc-category-merging-extern-class-minimal.s
Log Message:
-----------
[lld-macho] Category Merger: add support for addrsig references (#90903)
When generating categories, clang sometimes will generate references in
the `.addrsig` section to the various category data items. Since we may
erase such items after merging them, we also need to remove them from
the `.addrsig` section - otherwise this will cause runtime asserts with
the `.addrsig` section trying to access invalid data.
Implementation wise, we use a hashset to keep track of all erased
`InputSection`'s and then go through all `.addrsig` sections and remove
references to any erased `InputSection`.
Commit: 9fc0b1824bfec0a65f4e2b840b23eedd9c2de4cf
https://github.com/llvm/llvm-project/commit/9fc0b1824bfec0a65f4e2b840b23eedd9c2de4cf
Author: alx32 <103613512+alx32 at users.noreply.github.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M lld/MachO/ObjC.cpp
M lld/test/MachO/objc-category-merging-extern-class-minimal.s
Log Message:
-----------
[lld-macho] Add support for category names in ConcatInputSection's (#90850)
In some cases we see strings from categories being part of "data"
sections (Ex:`__objc_const`), not part of of sections marked as
`cstring_literals`. Since lld treats these sections differently we need
to explicitly implement support for reading strings from the
non-`cstring_literals` sections.
Adding a test that previously would result in an assert.
Commit: cf6d79711d8a423cade5a555db650cb46a74e565
https://github.com/llvm/llvm-project/commit/cf6d79711d8a423cade5a555db650cb46a74e565
Author: Alex Langford <alangford at apple.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFDefines.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFDefines.h
Log Message:
-----------
[lldb][NFCI] Remove unused DWARF value-to-name functions (#91010)
I was cleaning up this portion of the code and realized these are
completely unused.
Commit: f0f02b9c3eb1834f4c38d0c95bf19559869788ea
https://github.com/llvm/llvm-project/commit/f0f02b9c3eb1834f4c38d0c95bf19559869788ea
Author: Andy Kaylor <andrew.kaylor at intel.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
Log Message:
-----------
[NFC][Driver] Clean up RenderFloatingPointOptions() (#91017)
This change refactors RenderFloatingPointOptions() to eliminate some
excessively complicated logic and a redundant switch statement. The
logic being simplified is an artifact of the original -ffp-model
implementation, and over time it has become unnecessary.
The handling of diagnostics related to the -ffp-contract option is
still a bit convoluted after this change. I will address that in a
subsequent patch because I think it will make sense to make some minor
changes to the driver behavior when that is cleaned up. The current
patch should not make any change to observable behavior of the driver.
Commit: c144157f3df0dc5cd147cd1c531d75193fd6a22f
https://github.com/llvm/llvm-project/commit/c144157f3df0dc5cd147cd1c531d75193fd6a22f
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/RISCV/strided-stores-vectorized.ll
Log Message:
-----------
[SLP]Use last pointer instead of first for reversed strided stores.
Need to use the last address of the vectorized stores for the strided
stores, not the first one, to correctly store the data.
Commit: d0be944aa51194145cd15c987af67489f735059d
https://github.com/llvm/llvm-project/commit/d0be944aa51194145cd15c987af67489f735059d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86.td
M llvm/test/CodeGen/X86/bypass-slow-division-64.ll
Log Message:
-----------
[X86] Add slow div64 tuning flag to Nehalem target (#91129)
This appears to have been missed because later cpus don't inherit from Nehalem tuning much.
Noticed while cleaning up for #90985
Commit: e4d242768aefabc0091dd01fabecaffbc2b6984b
https://github.com/llvm/llvm-project/commit/e4d242768aefabc0091dd01fabecaffbc2b6984b
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M clang/test/Analysis/addrspace-null.c
M clang/test/Analysis/ctu-cxxdefaultinitexpr.cpp
M clang/test/Analysis/ctu-lookup-name-with-space.cpp
M clang/test/Analysis/ctu-main.c
M clang/test/Analysis/ctu-on-demand-parsing.c
M clang/test/Analysis/handle_constructors_for_default_arguments.cpp
M clang/test/Analysis/handle_constructors_with_new_array.cpp
M clang/test/Analysis/html_diagnostics/relevant_lines/goto.c
M clang/test/Analysis/html_diagnostics/relevant_lines/macros_same_file.c
M clang/test/Analysis/html_diagnostics/relevant_lines/multifile.c
M clang/test/Analysis/html_diagnostics/relevant_lines/multiline_func_def.c
M clang/test/Analysis/html_diagnostics/relevant_lines/notexecutedlines.c
M clang/test/Analysis/html_diagnostics/relevant_lines/objcmethods.m
M clang/test/Analysis/html_diagnostics/relevant_lines/simple_conditional.c
M clang/test/Analysis/html_diagnostics/relevant_lines/switch.c
M clang/test/Analysis/html_diagnostics/relevant_lines/switch_default.c
M clang/test/Analysis/html_diagnostics/relevant_lines/synthesized_body.cpp
M clang/test/Analysis/html_diagnostics/relevant_lines/unused_header.c
M clang/test/Analysis/inlining/temp-dtors-path-notes.cpp
M clang/test/Analysis/new-aligned.cpp
M clang/test/Analysis/osobject-retain-release.cpp
M clang/test/Analysis/ptr-cmp-const-trunc.cl
M clang/test/Analysis/region_store_overflow.c
M clang/test/Analysis/solver-sym-simplification-bool.cpp
M clang/test/Analysis/solver-sym-simplification-ptr-bool.cl
M clang/test/Analysis/transparent_union_bug.c
M clang/test/Analysis/trustnonnullchecker_test.m
M clang/test/Analysis/trustnonnullchecker_test.mm
M clang/test/Analysis/undef-call.c
M clang/test/OpenMP/amdgpu_exceptions.cpp
M clang/test/OpenMP/amdgpu_throw.cpp
M clang/test/OpenMP/amdgpu_try_catch.cpp
M clang/test/OpenMP/nvptx_exceptions.cpp
M clang/test/OpenMP/nvptx_throw.cpp
M clang/test/OpenMP/nvptx_try_catch.cpp
M clang/test/OpenMP/x86_target_exceptions.cpp
M clang/test/OpenMP/x86_target_throw.cpp
M clang/test/OpenMP/x86_target_try_catch.cpp
M clang/test/Rewriter/rewrite-super-message.mm
Log Message:
-----------
[test] %clang_cc1 -analyze: remove redundant actions
Commit: 363ec6f6911afe5b2ab640d6a7d778908c58b3bd
https://github.com/llvm/llvm-project/commit/363ec6f6911afe5b2ab640d6a7d778908c58b3bd
Author: David Green <david.green at arm.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64PerfectShuffle.h
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-ext.mir
M llvm/test/CodeGen/AArch64/arm64-uzp.ll
M llvm/test/CodeGen/AArch64/arm64-zip.ll
Log Message:
-----------
[AArch64][GlobalISel] Common some shuffle mask functions.
This removes the GISel versions of isREVMask, isTRNMask, isUZPMask and
isZipMask. They are combined with the existing versions from SDAG into
AArch64PerfectShuffle.h.
Commit: 657eda36728824b14c3c08d261c93daf2d4664bf
https://github.com/llvm/llvm-project/commit/657eda36728824b14c3c08d261c93daf2d4664bf
Author: Chris <cbate at nvidia.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M mlir/lib/Target/Cpp/TranslateToCpp.cpp
M mlir/test/Target/Cpp/expressions.mlir
Log Message:
-----------
[MLIR][EmitC] Don't translate expressions inline if user is `emitc.subscript` (#91087)
This change updates the logic that determines whether an `emitc.expression`
result is translated into a dedicated variable assignment. Due to how
the translation of `emitc.subscript` currently works, a previously
inline-able `emitc.expression` would produce incorrect C++ if its single user
was a `emitc.subscript` operation.
Commit: d3e77f5408fded2b4bb70f51d6d9e52684badc92
https://github.com/llvm/llvm-project/commit/d3e77f5408fded2b4bb70f51d6d9e52684badc92
Author: Brandt Bucher <brandtbucher at gmail.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M clang/include/clang/Basic/AttrDocs.td
M llvm/lib/Target/X86/X86CallingConv.td
M llvm/test/CodeGen/X86/preserve_nonecc_call.ll
A llvm/test/CodeGen/X86/preserve_nonecc_call_win.ll
Log Message:
-----------
Try to use non-volatile registers for `preserve_none` parameters (#88333)
This uses non-volatile registers for the first four (six on Windows)
registers used for `preserve_none` argument passing. This allows these
registers to stay "pinned", even if the body of the `preserve_none`
function contains calls to other "normal" functions.
Example:
```c
void boring(void);
__attribute__((preserve_none)) void (continuation)(void *, void *, void *, void *);
__attribute__((preserve_none)) void entry(void *a, void *b, void *c, void *d)
{
boring();
__attribute__((musttail)) return continuation(a, b, c, d);
}
```
Before:
```asm
pushq %rax
movq %rcx, %rbx
movq %rdx, %r14
movq %rsi, %r15
movq %rdi, %r12
callq boring at PLT
movq %r12, %rdi
movq %r15, %rsi
movq %r14, %rdx
movq %rbx, %rcx
popq %rax
jmp continuation at PLT
```
After:
```asm
pushq %rax
callq boring at PLT
popq %rax
jmp continuation at PLT
```
Commit: e68d505008d878c6303032631fcfd5918b62f3d6
https://github.com/llvm/llvm-project/commit/e68d505008d878c6303032631fcfd5918b62f3d6
Author: Alexander Yermolovich <43973793+ayermolo at users.noreply.github.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M bolt/include/bolt/Rewrite/DWARFRewriter.h
M bolt/lib/Rewrite/DWARFRewriter.cpp
Log Message:
-----------
[BOLT][DWARF] Refactor helper functions that update DW_AT_comp_dir/DW_AT_dwo_name (#91237)
We need to update DW_AT_comp_dir/DW_AT_dwo_name TU in the
.debug_info.dwo section so that the path is correct. Refactored helper
functions to make it easier for next step.
Commit: 94204f59e92473bb19333f40a2250b64a398191a
https://github.com/llvm/llvm-project/commit/94204f59e92473bb19333f40a2250b64a398191a
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
A flang/test/Lower/OpenMP/copyin-order.f90
Log Message:
-----------
[flang][OpenMP] Fix location of `barrier` in `copyin` clause (#91214)
Insert the barrier after the last _executed_ copy, not the most recently
inserted copy.
This fixes https://github.com/llvm/llvm-project/issues/91205.
Commit: fcf341d3ddfe2289ac88aa3c122b25df8732cc8e
https://github.com/llvm/llvm-project/commit/fcf341d3ddfe2289ac88aa3c122b25df8732cc8e
Author: Alan Zhao <ayzhao at google.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M llvm/include/llvm/Analysis/CFG.h
M llvm/lib/Analysis/CFG.cpp
M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
A llvm/test/Transforms/Coroutines/coro-lifetime-end.ll
Log Message:
-----------
[coro][CoroSplit] Use `llvm.lifetime.end` to compute putting objects on the frame vs the stack (#90265)
The current logic for using lifetime intrinsics to determine whether a
coroutine alloca should live on the coroutine frame or stack doesn't
consider `llvm.lifetime.end`. As a result, some allocas are incorrectly
placed on the stack even though their lifetimes may outlive the stack.
For example, SimplifyCFG may generate code that drops the corresponding
`llvm.lifetime.end` of an `llvm.lifetime.start`, and that code is
incorrectly handled by the existing logic.
To fix this, new logic is introduced where if an alloca's address is
escaped, and there is a path from an `llvm.lifetime.start` to a
coroutine suspend point (e.g. `llvm.coro.suspend`) without an
`llvm.lifetime.end`, then we know the object lives beyond the suspension
point and therefore must go on the coroutine frame.
Fixes https://github.com/llvm/llvm-project/issues/86580
Commit: ee36dd20e7a15dd5d66223592650655c8cf743fe
https://github.com/llvm/llvm-project/commit/ee36dd20e7a15dd5d66223592650655c8cf743fe
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
Log Message:
-----------
[bazel] Fix layering_check with macOS targets (#91260)
Commit: 144091b361c6419ea37ae96341980481e90c4122
https://github.com/llvm/llvm-project/commit/144091b361c6419ea37ae96341980481e90c4122
Author: David Tenty <daltenty at ibm.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M openmp/CMakeLists.txt
Log Message:
-----------
[OpenMP][CMake] Revert standalone build LIBOMP_HEADERS_INSTALL_PATH (#91243)
Revert the portion of https://github.com/llvm/llvm-project/pull/75125
which modified the LIBOMP_HEADERS_INSTALL_PATH in standalone build.
This change is harmful for real standalone builds (i.e. builds where we
build openmp by itself), since it tries to overwrite the `omp.h` inside
the build compiler. For all-in-one builds with clang, testing shows this
change is unnecessary as https://github.com/llvm/llvm-project/pull/88007
already set up that build configuration so that omp.h will be put into
the project build's `clang` resource directory.
Commit: afeedd9c3d4c0fc1f8022a970137dd3ea410f865
https://github.com/llvm/llvm-project/commit/afeedd9c3d4c0fc1f8022a970137dd3ea410f865
Author: Chris B <chris.bieneman at me.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
A llvm/docs/DirectX/DXContainer.rst
M llvm/docs/DirectXUsage.rst
Log Message:
-----------
[DirectX][docs] Document DXContainer format (#90908)
This adds a document to describe the DXContainer format and the
structures of data inside the file.
Resolves #88775
Commit: b21d2de661994f37ffb9c79fede3154d96f89db2
https://github.com/llvm/llvm-project/commit/b21d2de661994f37ffb9c79fede3154d96f89db2
Author: Chris B <chris.bieneman at me.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M clang/lib/Sema/SemaExpr.cpp
M clang/test/AST/HLSL/vector-constructors.hlsl
M clang/test/CodeGenHLSL/builtins/ScalarSwizzles.hlsl
A clang/test/SemaHLSL/Types/Arithmetic/literal_suffixes.hlsl
A clang/test/SemaHLSL/Types/Arithmetic/literal_suffixes_202x.hlsl
A clang/test/SemaHLSL/Types/Arithmetic/literal_suffixes_no_16bit.hlsl
M clang/test/SemaHLSL/Types/BuiltinVector/ScalarSwizzles.hlsl
R clang/test/SemaHLSL/literal_suffixes.hlsl
R clang/test/SemaHLSL/literal_suffixes_no_16bit.hlsl
Log Message:
-----------
[HLSL] Implement 202x conforming literals (#91015)
This implements the HLSL 202x conforming literals feature.
The feature proposal is available here:
https://github.com/microsoft/hlsl-specs/blob/main/proposals/0017-conforming-literals.md
The language specification for this behavior is available in (poorly
rendered) HTML or PDF:
https://microsoft.github.io/hlsl-specs/specs/hlsl.html#Lex.Literal.Float
https://microsoft.github.io/hlsl-specs/specs/hlsl.pdf
The main implementation details are:
1) Unsuffixed floating literals are `float`.
2) The integer `ll` suffix specifies `int64_t (aka long)` which is
64-bit because HLSL has no defined `long` keyword or `long long` type.
Resolves #85714
Commit: 3809e20afc68d7d03821f0ec59b928dcf9befbf4
https://github.com/llvm/llvm-project/commit/3809e20afc68d7d03821f0ec59b928dcf9befbf4
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M lldb/source/API/CMakeLists.txt
Log Message:
-----------
[lldb] Use add_custom_command for SBLanguages.h (#91254)
Use add_custom_command instead of add_custom_target to generate
SBLanguages.h.
Commit: 89e0557e48155d7eaab2a25426f6dfc9493f2474
https://github.com/llvm/llvm-project/commit/89e0557e48155d7eaab2a25426f6dfc9493f2474
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M flang/test/Lower/OpenMP/copyin-order.f90
Log Message:
-----------
[flang][OpenMP] Fix comments in test file, NFC
Address review comments for PR91214.
Commit: 080978dd2067d0c9ea7e229aa7696c2480d89ef1
https://github.com/llvm/llvm-project/commit/080978dd2067d0c9ea7e229aa7696c2480d89ef1
Author: S. Bharadwaj Yadavalli <Bharadwaj.Yadavalli at microsoft.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M clang/lib/Basic/Targets.cpp
M clang/lib/Driver/ToolChains/HLSL.cpp
M clang/test/CodeGenHLSL/basic-target.c
M clang/test/Driver/dxc_dxv_path.hlsl
M clang/test/Options/enable_16bit_types_validation.hlsl
M clang/unittests/Driver/DXCModeTest.cpp
M llvm/include/llvm/TargetParser/Triple.h
M llvm/lib/IR/Verifier.cpp
M llvm/lib/TargetParser/Triple.cpp
M llvm/unittests/TargetParser/TripleTest.cpp
Log Message:
-----------
[DirectX][DXIL] Set DXIL Version in DXIL target triple based on shader model version (#90809)
An earlier commit provided a way to decouple DXIL version from Shader
Model version by representing the DXIL version as `SubArch` in the DXIL
Target Triple and adding corresponding valid DXIL Arch types.
This change constructs DXIL target triple with DXIL version that is
deduced from Shader Model version specified in the following scenarios:
1. When compilation target profile is specified:
For e.g., DXIL target triple `dxilv1.8-unknown-shader6.8-library` is
constructed when `-T lib_6_8` is specified.
2. When DXIL target triple without DXIL version is specified:
For e.g., DXIL target triple `dxilv1.8-pc-shadermodel6.8-library` is
constructed when `-mtriple=dxil-pc-shadermodel6.8-library` is specified.
Updated relevant HLSL tests that check for target triple.
Validated that Clang (`check-clang`) and LLVM (`check-llvm`) regression
tests pass.
Commit: ee9ca120e037b668c5d26853719368490a71fd40
https://github.com/llvm/llvm-project/commit/ee9ca120e037b668c5d26853719368490a71fd40
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M flang/include/flang/Semantics/tools.h
M flang/test/Lower/CUDA/cuda-data-attribute.cuf
Log Message:
-----------
[flang][cuda] Avoid generating wrong fir.cuda_free op (#91255)
fir.cuda_free operation was wrongly generated for dummy argument.
Commit: 096f85e827b6fdf52ff1f8d99aa8335a885b46a1
https://github.com/llvm/llvm-project/commit/096f85e827b6fdf52ff1f8d99aa8335a885b46a1
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M libc/src/__support/CPP/atomic.h
Log Message:
-----------
[libc] add more APIs of cmgxchg variants (#91208)
Such APIs are useful in lock implementations
Commit: 29d447a6e446e7fd78bd28af28bbf7dd377ade10
https://github.com/llvm/llvm-project/commit/29d447a6e446e7fd78bd28af28bbf7dd377ade10
Author: Ian Anderson <iana at apple.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M clang-tools-extra/clang-include-fixer/find-all-symbols/STLPostfixHeaderMap.cpp
M clang-tools-extra/clangd/index/CanonicalIncludes.cpp
M clang/lib/Headers/CMakeLists.txt
A clang/lib/Headers/__stdarg_header_macro.h
A clang/lib/Headers/__stddef_header_macro.h
M clang/lib/Headers/module.modulemap
M clang/lib/Headers/stdarg.h
M clang/lib/Headers/stddef.h
M llvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn
Log Message:
-----------
[clang][modules] stdarg.h and stddef.h shouldn't directly declare anything (#90676)
stdarg.h and especially stddef.h are textual and so everything they
declare gets precompiled into all of their clients' pcm files. They
shouldn't directly declare anything though, their purpose is to select
what submodules get imported, and not to add duplicate declarations to
all of their clients. Make it so that they always ignore their header
guards, even without modules, and declare them in separate header files
so that they only go into the stdarg/stddef pcms. Still declare them in
case clients rely on them.
Commit: b86accceee0c7c5d36ecdc1629d00e6303f29955
https://github.com/llvm/llvm-project/commit/b86accceee0c7c5d36ecdc1629d00e6303f29955
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
M clang/test/Analysis/Checkers/WebKit/call-args.cpp
Log Message:
-----------
[alpha.webkit.UncountedCallArgsChecker] Treat (foo())->bar() like foo()->bar(). (#91052)
Commit: 6d6693e9f5376ac8c809a36e1ba4a8c47f311a70
https://github.com/llvm/llvm-project/commit/6d6693e9f5376ac8c809a36e1ba4a8c47f311a70
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/RefCntblBaseVirtualDtorChecker.cpp
M clang/test/Analysis/Checkers/WebKit/ref-cntbl-base-virtual-dtor-templates.cpp
Log Message:
-----------
[webkit.RefCntblBaseVirtualDtor] Ignore WTF::RefCounted<T> and its variants missing virtual destructor (#91009)
Commit: 2287f8d2353dadcbe210e07776c927c9fabca57c
https://github.com/llvm/llvm-project/commit/2287f8d2353dadcbe210e07776c927c9fabca57c
Author: antangelo <contact at antangelo.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M llvm/test/CodeGen/X86/dynamic-regmask-preserve-none.ll
Log Message:
-----------
[NFC][X86] Fix check directive typo in preserve_none dynamic regmask test (#91048)
Fixes an inactive check line and updates the check to match output and
other cases.
Commit: 6e5ed351be68017e46120b8ad1aa89d75b0ca204
https://github.com/llvm/llvm-project/commit/6e5ed351be68017e46120b8ad1aa89d75b0ca204
Author: alx32 <103613512+alx32 at users.noreply.github.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M lld/MachO/ObjC.cpp
Log Message:
-----------
[lld-macho] Fix category merging category map non-determinism (#91159)
Currently in `ObjcCategoryMerger::doMerge` and
`generateCatListForNonErasedCategories` we use maps of pointers which
leads to non-determinism. Switch instead to using `MapVector` which
preserves determinism.
Commit: 924384161ffceda08099536dd07a953299a69b53
https://github.com/llvm/llvm-project/commit/924384161ffceda08099536dd07a953299a69b53
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/include/llvm/Analysis/CFG.h
M llvm/lib/Analysis/CFG.cpp
M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
R llvm/test/Transforms/Coroutines/coro-lifetime-end.ll
Log Message:
-----------
Revert "[coro][CoroSplit] Use `llvm.lifetime.end` to compute putting objects on the frame vs the stack (#90265)"
This reverts commit fcf341d3ddfe2289ac88aa3c122b25df8732cc8e.
Causes major compile-time regressions when not using coroutines.
Commit: de8cf69abf4f8b16d5c5ecb77a6dfb1f5c09e45a
https://github.com/llvm/llvm-project/commit/de8cf69abf4f8b16d5c5ecb77a6dfb1f5c09e45a
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
[LangRef] callbr result can be used in all successors (#91167)
Originally, the callbr result could only be used on the fallthrough
destination. This limitation has been lifted, and the result is now also
available on the indirect destinations. However, LangRef was not updated
to reflect this.
Commit: f34d30cdae0f59698f660d5cc8fb993fb3441064
https://github.com/llvm/llvm-project/commit/f34d30cdae0f59698f660d5cc8fb993fb3441064
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
M llvm/test/Transforms/FunctionAttrs/nocapture.ll
M llvm/test/Transforms/FunctionAttrs/nonnull.ll
Log Message:
-----------
[FunctionAttrs] Fix incorrect nonnull inference for non-inbounds GEP (#91180)
For inbounds GEPs, if the source pointer is non-null, the result must
also be non-null. However, this does not hold for non-inbounds GEPs.
Fixes https://github.com/llvm/llvm-project/issues/91177.
Commit: fd0ffb74389d6bf52c5c2afc8cd0a4e26cfa6c2f
https://github.com/llvm/llvm-project/commit/fd0ffb74389d6bf52c5c2afc8cd0a4e26cfa6c2f
Author: Monad <yanwqmonad at gmail.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Analysis/ValueTracking/known-power-of-two-urem.ll
Log Message:
-----------
[ValueTracking] Recognize `LShr(UINT_MAX, Y) + 1` as a power-of-two (#91171)
There is a missed optimization in
``` llvm
define i8 @known_power_of_two_rust_next_power_of_two(i8 %x, i8 %y) {
%2 = add i8 %x, -1
%3 = tail call i8 @llvm.ctlz.i8(i8 %2, i1 true)
%4 = lshr i8 -1, %3
%5 = add i8 %4, 1
%6 = icmp ugt i8 %x, 1
%p = select i1 %6, i8 %5, i8 1
%r = urem i8 %y, %p
ret i8 %r
}
```
which is extracted from the Rust code
``` rust
fn func(x: usize, y: usize) -> usize {
let z = x.next_power_of_two();
y % z
}
```
Here `%p` (a.k.a `z`) is semantically a power-of-two, so `y urem p` can
be optimized to `y & (p - 1)`. (Alive2 proof:
https://alive2.llvm.org/ce/z/H3zooY)
---
It could be generalized to recognizing `LShr(UINT_MAX, Y) + 1` as a
power-of-two, which is what this PR does.
Alive2 proof: https://alive2.llvm.org/ce/z/zUPTbc
Commit: 0ab4458df0688955620b72cc2c72a32dffad3615
https://github.com/llvm/llvm-project/commit/0ab4458df0688955620b72cc2c72a32dffad3615
Author: Monad <yanwqmonad at gmail.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/test/Transforms/InstCombine/cttz.ll
Log Message:
-----------
[InstCombine] Fold `cttz(lshr(-1, x) + 1)` to `width - x` (#91244)
Fold
``` llvm
define i64 @src(i64 %50) {
%52 = lshr i64 -1, %50
%53 = add i64 %52, 1
%54 = call i64 @llvm.cttz.i64(i64 %53, i1 false)
ret i64 %54
}
```
to
``` llvm
define i64 @tgt(i64 %50) {
%52 = sub i64 64, %50
ret i64 %52
}
```
as
https://github.com/llvm/llvm-project/pull/91171#pullrequestreview-2040663002
pointed out.
Alive2 proof: https://alive2.llvm.org/ce/z/2aHfYa
Note: the `ctlz` version of this pattern seems not exist in dtcxzyw's
benchmark, so put it aside for now.
Commit: 178ff395006f204265b4f6fe72a3dbb2b9a79b47
https://github.com/llvm/llvm-project/commit/178ff395006f204265b4f6fe72a3dbb2b9a79b47
Author: S. Bharadwaj Yadavalli <Bharadwaj.Yadavalli at microsoft.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M clang/lib/Basic/Targets.cpp
M clang/lib/Driver/ToolChains/HLSL.cpp
M clang/test/CodeGenHLSL/basic-target.c
M clang/test/Driver/dxc_dxv_path.hlsl
M clang/test/Options/enable_16bit_types_validation.hlsl
M clang/unittests/Driver/DXCModeTest.cpp
M llvm/include/llvm/TargetParser/Triple.h
M llvm/lib/IR/Verifier.cpp
M llvm/lib/TargetParser/Triple.cpp
M llvm/unittests/TargetParser/TripleTest.cpp
Log Message:
-----------
Revert "[DirectX][DXIL] Set DXIL Version in DXIL target triple based on shader model version" (#91290)
Reverts llvm/llvm-project#90809
Need to investigate ASAN failures.
Commit: 3e54768d7a0e1cfa65e892b6602993192ecad91e
https://github.com/llvm/llvm-project/commit/3e54768d7a0e1cfa65e892b6602993192ecad91e
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M offload/plugins-nextgen/host/CMakeLists.txt
M offload/plugins-nextgen/host/src/rtl.cpp
Log Message:
-----------
[Offload] Detect target triple from preprocessor instead of CMake (#91283)
Summary:
This patch removes the special-case handling for the target triple
inside of the CMake. I moved it into the implementation so it's easier
to see and modify.
Commit: 37fcb323f61efb8dfb74548a1b472fa20e829170
https://github.com/llvm/llvm-project/commit/37fcb323f61efb8dfb74548a1b472fa20e829170
Author: Jianjian Guan <jacquesguan at me.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
M llvm/test/CodeGen/RISCV/rvv/extract-subvector.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fpext-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fptrunc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-load-store.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-load.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-store.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfpext-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfptrunc-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/insert-subvector.ll
M llvm/test/CodeGen/RISCV/rvv/vfpext-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfpext-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfpext-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfptrunc-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfptrunc-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfptrunc-vp.ll
Log Message:
-----------
[RISCV] Add codegen support for Zvfbfmin (#87911)
This patch adds basic codegen support for Zvfbfmin extension.
Commit: aac83fcf3ec6bbe5e0d83b76d2d236b1b4bfbe89
https://github.com/llvm/llvm-project/commit/aac83fcf3ec6bbe5e0d83b76d2d236b1b4bfbe89
Author: SahilPatidar <patidarsahil2001 at gmail.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
A llvm/test/Transforms/Reassociate/reassoc_bool.ll
A llvm/test/Transforms/Reassociate/reassoc_bool_vec.ll
Log Message:
-----------
[Reassociate] Adds test coverage for reassociation of scalar & vector boolean types (#89899)
First step for #64840.
Commit: 236b3e1aad45e2bab8ede0da6397b7b01f9cc9d8
https://github.com/llvm/llvm-project/commit/236b3e1aad45e2bab8ede0da6397b7b01f9cc9d8
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M clang/docs/ClangFormatStyleOptions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Format/Format.h
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatToken.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/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/FormatTestJava.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Handle Java switch expressions (#91112)
Also adds AllowShortCaseExpressionOnASingleLine option and
AlignCaseArrows suboption of AlignConsecutiveShortCaseStatements.
Fixes #55903.
Commit: f9d76197ff0099502cf001abe3f5310c5bc4532d
https://github.com/llvm/llvm-project/commit/f9d76197ff0099502cf001abe3f5310c5bc4532d
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/Type.cpp
A clang/test/Modules/pr91105.cppm
Log Message:
-----------
[ASTContext] Profile Dependently-sized array types that do not have a specified number
of elements
Close https://github.com/llvm/llvm-project/issues/91105
The root reason for the issue is that we always generate the
dependently-sized array types which don't specify a number of elements.
The original comment says:
> We do no canonicalization here at all, which is okay
> because they can't be used in most locations.
But now we find the locations.
Commit: 4cce9fbb4e086170f69bfc8766f9613673b441c9
https://github.com/llvm/llvm-project/commit/4cce9fbb4e086170f69bfc8766f9613673b441c9
Author: Eli Friedman <efriedma at quicinc.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M clang/lib/Headers/arm_acle.h
M clang/test/Headers/arm-acle-header.c
Log Message:
-----------
[Arm64EC] Fix compilation of arm_acle.h (#91281)
Commit: dfa7ff97b24dc5a3dd714b45af288812c13d0110
https://github.com/llvm/llvm-project/commit/dfa7ff97b24dc5a3dd714b45af288812c13d0110
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M clang/include/clang/Serialization/ASTWriter.h
M clang/lib/Serialization/ASTWriter.cpp
A clang/test/Modules/function-transitive-change.cppm
M clang/test/Modules/no-transitive-source-location-change.cppm
Log Message:
-----------
[C++20] [Modules] [Reduced BMI] Combine the signature of used modules
into the current module
Following of https://github.com/llvm/llvm-project/pull/86912. After
https://github.com/llvm/llvm-project/pull/86912, with reduced BMI, the
BMI can keep unchange if the dependent modules only changes the
implementation (without introduing new decls). However, this is not
strictly correct.
For example:
```
// a.cppm
export module a;
export inline int a() { ... }
// b.cppm
export module b;
import a;
export inline int b() { return a(); }
```
Since both `a()` and `b()` are inline, we need to make sure the BMI of
`b.pcm` will change after the implementation of `a()` changes.
We can't get that naturally since we won't record the body of `a()`
during the writing process. We can't reuse ODRHash here since ODRHash
won't calculate the called function recursively. So ODRHash will be
problematic if `a()` calls other inline functions.
Probably we can solve this by a new hash mechanism. But the safety and
efficiency may a problem too. Here we just combine the hash value of the
used modules conservatively.
Commit: 02ce8227ac28e0b83cf780716ae8f912d076eebe
https://github.com/llvm/llvm-project/commit/02ce8227ac28e0b83cf780716ae8f912d076eebe
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M openmp/runtime/src/include/ompx.h.var
Log Message:
-----------
[NFC][OpenMP][OMPX] Move `declare variant` up
Commit: 879245e2b5d48b629e8b085afacf69cc1fd6a6ec
https://github.com/llvm/llvm-project/commit/879245e2b5d48b629e8b085afacf69cc1fd6a6ec
Author: Mingming Liu <mingmingl at google.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M llvm/include/llvm/Analysis/IndirectCallVisitor.h
Log Message:
-----------
[NFC]Extract the heuristic to find vtable for an indirect call into a helper function (#81024)
* This way the helper function could be re-used by
indirect-call-promotion pass to find out the vtable for an indirect call
and extract the value profiles if any.
* The parent patch is https://github.com/llvm/llvm-project/pull/80762
Commit: b42f553af5179b26efe38bee2c1b7aa365b06517
https://github.com/llvm/llvm-project/commit/b42f553af5179b26efe38bee2c1b7aa365b06517
Author: Thorsten Schütt <schuett at gmail.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/include/llvm/CodeGen/GlobalISel/GenericMachineInstrs.h
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/lib/CodeGen/GlobalISel/CombinerHelperVectorOps.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/combine-extract-vec-elt.mir
M llvm/test/CodeGen/AArch64/extract-vector-elt.ll
Log Message:
-----------
[GlobalIsel] Combine extract vector element (#90339)
look through shuffle vectors
Commit: ad9f38d0e3a5e7e06c39dbd7da88a921a49aa805
https://github.com/llvm/llvm-project/commit/ad9f38d0e3a5e7e06c39dbd7da88a921a49aa805
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M clang/test/Modules/no-transitive-source-location-change.cppm
Log Message:
-----------
[NFC] Fix Modules/no-transitive-source-location-change.cppm after dfa7ff97b2
The test fails after dfa7ff97b2. I didn't find this locally due to
cache.
Commit: 05f4448d40f00b9fb2447e1c32cd18a7a9b8b011
https://github.com/llvm/llvm-project/commit/05f4448d40f00b9fb2447e1c32cd18a7a9b8b011
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
A clang/test/AST/Interp/eval-order.cpp
Log Message:
-----------
[clang][Interp][NFC] Add eval-order test
Demonstrate that this isn't yet working right.
Commit: 5f2f3900138cc519e1cb807e99920337eede2b6c
https://github.com/llvm/llvm-project/commit/5f2f3900138cc519e1cb807e99920337eede2b6c
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M clang/lib/AST/Interp/Pointer.cpp
Log Message:
-----------
[clang][Interp][NFC] Allow Pointer assignment if both are zero
... even if the storage types are different.
Commit: 2b9210d1aa9ce9c204b3af0158636c71a5a72e17
https://github.com/llvm/llvm-project/commit/2b9210d1aa9ce9c204b3af0158636c71a5a72e17
Author: Abhishek Varma <abhvarma at amd.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/SCF/IR/SCFOps.td
M mlir/lib/Dialect/SCF/IR/SCF.cpp
M mlir/test/Dialect/SCF/canonicalize.mlir
Log Message:
-----------
[MLIR][SCF] Add canonicalization pattern to fold away iter args of scf.forall (#90189)
-- This commit adds a canonicalization pattern to fold away iter args of
scf.forall if :-
a. The corresponding tied result has no use.
b. It is not being modified within the loop.
Signed-off-by: Abhishek Varma <avarma094 at gmail.com>
Commit: fc866fd2a2cfca6d62f48dcf83778959fd24f559
https://github.com/llvm/llvm-project/commit/fc866fd2a2cfca6d62f48dcf83778959fd24f559
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M clang-tools-extra/clangd/unittests/HoverTests.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/test/AST/ast-dump-recovery.cpp
Log Message:
-----------
[clang] Don't preserve the typo expr in the recovery expr for invalid VarDecls (#90948)
With the commit d5308949cf884d8e4b971d51a8b4f73584c4adec, we now
preserve the initializer for invalid decls with the recovery-expr.
However there is a chance that the original init expr is a typo-expr, we
should not preserve it in the final AST, as typo-expr is an internal AST
node. We should use the one after the typo correction.
This is spotted by a clangd hover crash on the testcase.
Commit: 6ad37a41b5489ce66ea890bf92fca66ea1ae41e0
https://github.com/llvm/llvm-project/commit/6ad37a41b5489ce66ea890bf92fca66ea1ae41e0
Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M flang/lib/Semantics/check-omp-structure.cpp
Log Message:
-----------
[Flang][OpenMP] NFC: Trivial changes in OmpCycleChecker (#91024)
Cycle is associated with construct-names and not labels. Change name of
a few variables to reflect this. Also add appropriate comment to
describe the else case of error checking.
Commit: a62a7024164c2977cd0e77f77807f957802d204a
https://github.com/llvm/llvm-project/commit/a62a7024164c2977cd0e77f77807f957802d204a
Author: jinchen <49575973+jinchen62 at users.noreply.github.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/Math/Transforms/Passes.h
M mlir/lib/Dialect/Math/Transforms/ExpandPatterns.cpp
M mlir/test/lib/Dialect/Math/TestExpandMath.cpp
M mlir/test/mlir-cpu-runner/test-expand-math-approx.mlir
Log Message:
-----------
[mlir][math] Add expand patterns for acosh, asinh, atanh (#90718)
Commit: ebde770c3e6f0dd9d297659cbaeb486cef9471d6
https://github.com/llvm/llvm-project/commit/ebde770c3e6f0dd9d297659cbaeb486cef9471d6
Author: Luke Lau <luke at igalia.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.mir
Log Message:
-----------
[RISCV] Use IMPLICIT_DEF for undef GPR reg in vsetvli test. NFC
Only VRs should use $noreg, this GPR was accidentally changed in d392520c6
Commit: ad59967336d2279eee77fff3a92e52ec87010aae
https://github.com/llvm/llvm-project/commit/ad59967336d2279eee77fff3a92e52ec87010aae
Author: hev <wangrui at loongson.cn>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
M llvm/test/CodeGen/LoongArch/rotl-rotr.ll
Log Message:
-----------
[LoongArch] Optimize codegen for ISD::{ROTL,ROTR} (#91174)
Commit: d9f2b9391887af95acdd91dfea2e72eb3a9d8d05
https://github.com/llvm/llvm-project/commit/d9f2b9391887af95acdd91dfea2e72eb3a9d8d05
Author: Luke Lau <luke at igalia.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/addi-scalable-offset.mir
M llvm/test/CodeGen/RISCV/rvv/copyprop.mir
M llvm/test/CodeGen/RISCV/rvv/mask-reg-alloc.mir
M llvm/test/CodeGen/RISCV/rvv/vxrm.mir
Log Message:
-----------
[RISCV] Change more undef passthrus to $noreg in vector tests. NFC
Commit: f3fbd21fa4e25496725c22d987e4e47e4c39c8b0
https://github.com/llvm/llvm-project/commit/f3fbd21fa4e25496725c22d987e4e47e4c39c8b0
Author: martinboehme <mboehme at google.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M clang/lib/Analysis/FlowSensitive/Transfer.cpp
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
Log Message:
-----------
[clang][dataflow] Strengthen pointer comparison. (#75170)
- Instead of comparing the identity of the `PointerValue`s, compare the
underlying `StorageLocation`s.
- If the `StorageLocation`s are the same, return a definite "true" as
the
result of the comparison. Before, if the `PointerValue`s were different,
we
would return an atom, even if the storage locations themselves were the
same.
- If the `StorageLocation`s are different, return an atom (as before).
Pointers
that have different storage locations may still alias, so we can't
return a
definite "false" in this case.
The application-level gains from this are relatively modest. For the
Crubit
nullability check running on an internal codebase, this change reduces
the
number of functions on which the SAT solver times out from 223 to 221;
the
number of "pointer expression not modeled" errors reduces from 3815 to
3778.
Still, it seems that the gain in precision is generally worthwhile.
@Xazax-hun inspired me to think about this with his
[comments](https://github.com/llvm/llvm-project/pull/73860#pullrequestreview-1761484615)
on a different PR.
Commit: 1de0535e84f03941badc8021bbc87a8c674a379f
https://github.com/llvm/llvm-project/commit/1de0535e84f03941badc8021bbc87a8c674a379f
Author: Peter Waller <peter.waller at arm.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/docs/CommandGuide/llvm-mca.rst
M llvm/docs/ReleaseNotes.rst
M llvm/test/tools/llvm-mca/AArch64/Exynos/float-divide-multiply.s
M llvm/test/tools/llvm-mca/AArch64/Exynos/float-integer.s
M llvm/test/tools/llvm-mca/ARM/cortex-a57-basic-instructions.s
M llvm/test/tools/llvm-mca/ARM/cortex-a57-thumb.s
M llvm/test/tools/llvm-mca/X86/BtVer2/simple-test.s
M llvm/test/tools/llvm-mca/X86/BtVer2/skip-unsupported-instructions-none-remain.s
M llvm/test/tools/llvm-mca/X86/BtVer2/unsupported-instruction.s
A llvm/test/tools/llvm-mca/bad-input.s
M llvm/tools/llvm-mca/CodeRegionGenerator.cpp
M llvm/tools/llvm-mca/CodeRegionGenerator.h
M llvm/tools/llvm-mca/llvm-mca.cpp
Log Message:
-----------
[llvm-mca] Abort on parse error without -skip-unsupported-instructions (#90474)
[llvm-mca] Abort on parse error without -skip-unsupported-instructions
Prior to this patch, llvm-mca would continue executing after parse
errors. These errors can lead to some confusion since some analysis
results are printed on the standard output, and they're printed after
the errors, which could otherwise be easy to miss.
However it is still useful to be able to continue analysis after errors;
so extend the recently added -skip-unsupported-instructions to support
this.
Two tests which have parse errors for some of the 'RUN' branches are
updated to use -skip-unsupported-instructions so they can remain as-is.
Add a description of -skip-unsupported-instructions to the llvm-mca
command guide, and add it to the llvm-mca --help output:
```
--skip-unsupported-instructions=<value> - Force analysis to continue in the presence of unsupported instructions
=none - Exit with an error when an instruction is unsupported for any reason (default)
=lack-sched - Skip instructions on input which lack scheduling information
=parse-failure - Skip lines on the input which fail to parse for any reason
=any - Skip instructions or lines on input which are unsupported for any reason
```
Tests within this patch are intended to cover each of the cases.
Reason | Flag | Comment
--------------|------|-------
none | none | Usual case, existing test suite
lack-sched | none | Advises user to use -skip-unsupported-instructions=lack-sched, tested in llvm/test/tools/llvm-mca/X86/BtVer2/unsupported-instruction.s
parse-failure | none | Advises user to use -skip-unsupported-instructions=parse-failure, tested in llvm/test/tools/llvm-mca/bad-input.s
any | none | (N/A, covered above)
lack-sched | any | Continues, prints warnings, tested in llvm/test/tools/llvm-mca/X86/BtVer2/unsupported-instruction.s
parse-failure | any | Continues, prints errors, tested in llvm/test/tools/llvm-mca/bad-input.s
lack-sched | parse-failure | Advises user to use -skip-unsupported-instructions=lack-sched, tested in llvm/test/tools/llvm-mca/X86/BtVer2/unsupported-instruction.s
parse-failure | lack-sched | Advises user to use -skip-unsupported-instructions=parse-failure, tested in llvm/test/tools/llvm-mca/bad-input.s
none | * | This would be any test case with skip-unsupported-instructions, coverage added in llvm/test/tools/llvm-mca/X86/BtVer2/simple-test.s
any | * | (Logically covered by the other cases)
Commit: 1530f319311908b06fe935c89fca692d3e53184f
https://github.com/llvm/llvm-project/commit/1530f319311908b06fe935c89fca692d3e53184f
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/unittests/Analysis/IRSimilarityIdentifierTest.cpp
M llvm/unittests/Transforms/Utils/LocalTest.cpp
Log Message:
-----------
[RemoveDIs] Update some unittests to the new format (#90476)
This patch updates the unittests that can be changed to the new format
after #89799 (which changes the default format everywhere) to avoid a
loss in coverage for the (new) default debug info format.
Commit: 1fd196c8df8e9fa4e0eddddc92b012824d8d1b0b
https://github.com/llvm/llvm-project/commit/1fd196c8df8e9fa4e0eddddc92b012824d8d1b0b
Author: ostannard <oliver.stannard at arm.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/TargetInfo.h
M clang/lib/CodeGen/Targets/AArch64.cpp
M clang/lib/CodeGen/Targets/X86.cpp
M clang/test/CodeGen/aarch64-soft-float-abi-errors.c
Log Message:
-----------
[AArch64] Diagnose more functions when FP not enabled (#90832)
When using a hard-float ABI for a target without FP registers, it's not
possible to correctly generate code for functions with arguments which
must be passed in floating-point registers. This is diagnosed in CodeGen
instead of Sema, to more closely match GCC's behaviour around inline
functions, which is relied on by the Linux kernel.
Previously, this only checked function signatures as they were
code-generated, but this missed some cases:
* Calls to functions not defined in this translation unit.
* Calls through function pointers.
* Calls to variadic functions, where the variadic arguments have a
floating-point type.
This adds checks to function calls, as well as definitions, so that
these cases are correctly diagnosed.
Commit: 50da7680d882dac122fac442348649c9951011a0
https://github.com/llvm/llvm-project/commit/50da7680d882dac122fac442348649c9951011a0
Author: Ben Shi <2283975856 at qq.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/lib/Target/AVR/AVRInstrInfo.td
Log Message:
-----------
[AVR][NFC] Improve format of target description files (#91296)
Commit: 6aed0ab6547f577cceaccfc6d710f96b645c3af7
https://github.com/llvm/llvm-project/commit/6aed0ab6547f577cceaccfc6d710f96b645c3af7
Author: Anthony Ha <anthonyha96 at gmail.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M lldb/docs/use/qemu-testing.rst
M lldb/tools/lldb-server/lldb-platform.cpp
Log Message:
-----------
[lldb] Have lldb-server assign ports to children in platform mode (#88845)
Fixes #47549
`lldb-server`'s platform mode seems to have an issue with its
`--min-gdbserver-port` `--max-gdbserver-port` flags (and probably the
`--gdbserver-port` flag, but I didn't test it).
How the platform code seems to work is that it listens on a port, and
whenever there's an incoming connection, it forks the process to handle
the connection. To handle the port flags, the main process uses an
instance of the helper class
`GDBRemoteCommunicationServerPlatform::PortMap`, that can be configured
and track usages of ports. The child process handling the platform
connection, can then use the port map to allocate a port for the
gdb-server connection it will make (this is another process it spawns).
However, in the current code, this works only once. After the first
connection is handled by forking a child process, the main platform
listener code loops around, and then 'forgets' about the port map. This
is because this code:
```cpp
GDBRemoteCommunicationServerPlatform platform(
acceptor_up->GetSocketProtocol(), acceptor_up->GetSocketScheme());
if (!gdbserver_portmap.empty()) {
platform.SetPortMap(std::move(gdbserver_portmap));
}
```
is within the connection listening loop. This results in the
`gdbserver_portmap` being moved into the platform object at the
beginning of the first iteration of the loop, but on the second
iteration, after the first fork, the next instance of the platform
object will not have its platform port mapped.
The result of this bug is that subsequent connections to the platform,
when spawning the gdb-remote connection, will be supplied a random port
- which isn't bounded by the `--min-gdbserver-port` and
`--max-gdbserver--port` parameters passed in by the user.
This PR fixes this issue by having the port map be maintained by the
parent platform listener process. On connection, the listener allocates
a single available port from the port map, associates the child process
pid with the port, and lets the connection handling child use that
single port number.
Additionally, when cleaning up child processes, the main listener
process tracks the child that exited to deallocate the previously
associated port, so it can be reused for a new connection.
Commit: d838e5b3e86e7b3b4b2f75ee9c2854e23782888e
https://github.com/llvm/llvm-project/commit/d838e5b3e86e7b3b4b2f75ee9c2854e23782888e
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86.td
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/cmp16.ll
Log Message:
-----------
[X86] Add FastImm16 tuning flag to Intel Atom + AMD Bobcat/Ryzen Families (#90635)
This patch limits the icmp_i16(x,c) -> icmp_i32(ext(x),ext(c)) fold to CPUs that aren't known to have fast handling for length-changing prefixes for imm16 operands.
We are always assuming that 66/67h length-changing prefixes cause severe stalls and we should always extend imm16 operands and use a i32 icmp instead, the only exception being Intel Bonnell CPUs.
Agner makes this clear (see microarchitecture.pdf) that there are no stalls for any of the Intel Atom family (at least as far as Tremont - not sure about Gracemont or later). This is also true for AMD Bobcat/Jaguar and Ryzen families.
Recent performance Intel CPUs are trickier - Core2/Nehalem and earlier could have a 6-11cy stall, while SandyBridge onwards this is reduced to 3cy or less. I'm not sure if we should accept this as fast or not, we only use this flag for the icmp_i16 case, so that might be acceptable? If so, we should add this to x86-64-v3/v4 tuning as well.
Part of #90355 + #62952
Commit: 6ce04747cff524b4c5c8738e25144659a5cf6691
https://github.com/llvm/llvm-project/commit/6ce04747cff524b4c5c8738e25144659a5cf6691
Author: Quentin Colombet <quentin.colombet at gmail.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/test/CodeGen/NVPTX/addrspacecast.ll
Log Message:
-----------
[SDISel] Teach the type legalizer about ADDRSPACECAST (#90969)
Vectorized ADDRSPACECASTs were not supported by the type legalizer.
This patch adds the support for:
- splitting the vector result: <2 x ptr> => 2 x <1 x ptr>
- scalarization: <1 x ptr> => ptr
- widening: <3 x ptr> => <4 x ptr>
This is all exercised by the added NVPTX tests.
Commit: abd314938dda1b117f289be5e630e43e68533929
https://github.com/llvm/llvm-project/commit/abd314938dda1b117f289be5e630e43e68533929
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/X86/fshl-codesize.ll
M llvm/test/Analysis/CostModel/X86/fshl-latency.ll
M llvm/test/Analysis/CostModel/X86/fshl-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/fshl.ll
M llvm/test/Analysis/CostModel/X86/fshr-codesize.ll
M llvm/test/Analysis/CostModel/X86/fshr-latency.ll
M llvm/test/Analysis/CostModel/X86/fshr-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/fshr.ll
M llvm/test/Analysis/CostModel/X86/vshift-ashr-codesize.ll
M llvm/test/Analysis/CostModel/X86/vshift-ashr-latency.ll
M llvm/test/Analysis/CostModel/X86/vshift-ashr-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/vshift-lshr-codesize.ll
M llvm/test/Analysis/CostModel/X86/vshift-lshr-latency.ll
M llvm/test/Analysis/CostModel/X86/vshift-lshr-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/vshift-shl-codesize.ll
M llvm/test/Analysis/CostModel/X86/vshift-shl-latency.ll
M llvm/test/Analysis/CostModel/X86/vshift-shl-sizelatency.ll
M llvm/test/CodeGen/X86/gfni-funnel-shifts.ll
M llvm/test/CodeGen/X86/gfni-rotates.ll
M llvm/test/CodeGen/X86/gfni-shifts.ll
M llvm/test/CodeGen/X86/min-legal-vector-width.ll
Log Message:
-----------
[X86] Use GFNI for vXi8 shifts/rotates (#89115)
As detailed here: https://github.com/InstLatx64/InstLatX64_Demo/blob/master/GFNI_Demo.h
We can use the gf2p8affine instruction to lower byte shifts/rotates as well as the existing bitreverse case.
Based off the original patch here: https://reviews.llvm.org/D137026
Commit: e232659028365b51feb001565884b3b8e62cc2a9
https://github.com/llvm/llvm-project/commit/e232659028365b51feb001565884b3b8e62cc2a9
Author: Kristof Beyls <kristof.beyls at arm.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M bolt/lib/Core/ParallelUtilities.cpp
Log Message:
-----------
[NFC][BOLT] Call EnsureAllocatorExists instead of copy pasting code
Commit: 235cea720c0fa6dcf0bf5aff15001de88b6042f9
https://github.com/llvm/llvm-project/commit/235cea720c0fa6dcf0bf5aff15001de88b6042f9
Author: Paul Walker <paul.walker at arm.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/include/llvm/IR/IntrinsicInst.h
M llvm/include/llvm/IR/Intrinsics.h
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/IR/Function.cpp
M llvm/lib/IR/IRBuilder.cpp
M llvm/lib/IR/IntrinsicInst.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Transforms/Utils/CloneFunction.cpp
Log Message:
-----------
[NFC][LLVM] Refactor rounding mode detection of constrained fp intrinsic IDs (#90854)
I've refactored the code to genericise the implementation to better
allow for target specific constrained fp intrinsics.
Commit: 651bdb96b16d4e522f4611b60103234b1f890b24
https://github.com/llvm/llvm-project/commit/651bdb96b16d4e522f4611b60103234b1f890b24
Author: Chris Copeland <chris at chrisnc.net>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M clang/test/Driver/arm-cortex-cpus-1.c
M clang/test/Driver/arm-features.c
M clang/test/Preprocessor/arm-target-features.c
M llvm/docs/ReleaseNotes.rst
M llvm/include/llvm/TargetParser/ARMTargetParser.def
M llvm/lib/Target/ARM/ARMArchitectures.td
M llvm/lib/Target/ARM/ARMProcessors.td
M llvm/test/Analysis/CostModel/ARM/arith.ll
M llvm/test/Analysis/CostModel/ARM/cast.ll
M llvm/test/Analysis/CostModel/ARM/cast_ldst.ll
M llvm/test/Analysis/CostModel/ARM/cmps.ll
M llvm/test/Analysis/CostModel/ARM/divrem.ll
M llvm/test/CodeGen/ARM/cortex-a57-misched-basic.ll
M llvm/test/CodeGen/ARM/fpconv.ll
M llvm/test/CodeGen/ARM/half.ll
M llvm/test/CodeGen/ARM/useaa.ll
M llvm/unittests/TargetParser/TargetParserTest.cpp
Log Message:
-----------
[ARM] Armv8-R does not require fp64 or neon. (#88287)
This was [addressed for AArch64
here](https://github.com/llvm/llvm-project/pull/79004), but the same
applies to ARM.
Move the enablement of neon+fp64 to `-mcpu=cortex-r52`, which optionally
supports these features.
Commit: 97dd8e3c4f38ef345b01fbbf0a2052c7875ff7e0
https://github.com/llvm/llvm-project/commit/97dd8e3c4f38ef345b01fbbf0a2052c7875ff7e0
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/lib/StaticAnalyzer/Checkers/ReturnValueChecker.cpp
M clang/test/Analysis/return-value-guaranteed.cpp
Log Message:
-----------
[analyzer] Clean up apiModeling.llvm.ReturnValue (#91231)
This commit heavily refactors and simplifies the small and trivial
checker `apiModeling.llvm.ReturnValue`, which is responsible for
modeling the peculiar coding convention that in the LLVM/Clang codebase
certain Error() methods always return true.
Changes included in this commit:
- The call description mode is now specified explicitly (this is not the
most significant change, but it was the original reason for touching
this checker).
- Previously the code provided support for modeling functions that
always return `false`; but there was no need for that, so this commit
hardcodes that the return value is `true`.
- The overcomplicated constraint/state handling logic was simplified.
- The separate `checkEndFunction` callback was removed to simplify the
code. Admittedly this means that the note tag for the "<method> returns
false, breaking the convention" case is placed on the method call
instead of the `return` statement; but that case will _never_ appear in
practice, so this difference is mostly academical.
- The text of the note tags was clarified.
- The descriptions in the header comment and Checkers.td were clarified.
- Some minor cleanup was applied in the associated test file.
This change is very close to NFC because it only affects a hidden
`apiModeling.llvm` checker that's only relevant during the analysis of
the LLVM/Clang codebase, and even there it doesn't affect the normal
behavior of the checker.
Commit: dcc7ef3ce87d7ea1ed9e64bb91e3bb2026df9644
https://github.com/llvm/llvm-project/commit/dcc7ef3ce87d7ea1ed9e64bb91e3bb2026df9644
Author: Emma Pilkington <emma.pilkington95 at gmail.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/SIDefines.h
M llvm/lib/Target/AMDGPU/Utils/AMDGPUAsmUtils.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUAsmUtils.h
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/test/MC/AMDGPU/gfx9-asm-err.s
M llvm/test/MC/AMDGPU/sopp-err.s
M llvm/test/MC/AMDGPU/sopp-gfx9.s
Log Message:
-----------
[AMDGPU][MC] Disable sendmsg SYSMSG_OP_HOST_TRAP_ACK on gfx9+ (#90203)
This is no longer supported as of gfx9. Fixes #52903
This commit also includes some refactoring of sendmsg operand parsing:
- Use CustomOperand for sendmsg operations, this allows them to be
conditionally available based on a STI check (and automatically in
sync with SIDefines.h).
- Move CustomOperand table lookups from AMDGPUBaseInfo to
AMDGPUAsmUtils. This cleans up an awkward interface where
AMDGPUAsmUtils defined a table/size as globals that AMDGPUBaseInfo
had to loop over.
- Clean up a few of the operand lookup functions while moving them.
Commit: 6d64f8e1feee014e72730a78b62d9d415df112ff
https://github.com/llvm/llvm-project/commit/6d64f8e1feee014e72730a78b62d9d415df112ff
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/BlockInCriticalSectionChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/InnerPointerChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/SmartPtrModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
Log Message:
-----------
[analyzer] Use explicit call description mode in more checkers (#90974)
This commit explicitly specifies the matching mode (C library function,
any non-method function, or C++ method) for the `CallDescription`s
constructed in various checkers.
Some code was simplified to use `CallDescriptionSet`s instead of
individual `CallDescription`s.
This change won't cause major functional changes, but isn't NFC because
it ensures that e.g. call descriptions for a non-method function won't
accidentally match a method that has the same name.
Separate commits have already performed this change in other checkers:
- easy cases: e2f1cbae45f81f3cd9a4d3c2bcf69a094eb060fa
- MallocChecker: d6d84b5d1448e4f2e24b467a0abcf42fe9d543e9
- iterator checkers: 06eedffe0d2782922e63cc25cb927f4acdaf7b30
- InvalidPtr checker: 024281d4d26344f9613b9115ea1fcbdbdba23235
... and follow-up commits will handle the remaining checkers.
My goal is to ensure that the call description mode is always explicitly
specified and eliminate (or strongly restrict) the vague "may be either
a method or a simple function" mode that's the current default.
Commit: afc10fc9b7ce3d23d9012f5a1496e849fe873ba2
https://github.com/llvm/llvm-project/commit/afc10fc9b7ce3d23d9012f5a1496e849fe873ba2
Author: Peter Waller <peter.waller at arm.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
A llvm/test/tools/llvm-mca/AArch64/bad-input.s
A llvm/test/tools/llvm-mca/X86/bad-input.s
R llvm/test/tools/llvm-mca/bad-input.s
Log Message:
-----------
[llvm-mca] Move bad-input.s test to be target specific
... for now.
This is a follow up to #90474 in response to build bot failures.
This test is intended to check a case where invalid assembly is passed
to llvm-mca.
Unfortunately it appears that a cross-toolchain built with
-DTOOLCHAIN_TARGET_TRIPLE does not have an llvm-mca which works out of
the box if the host target is not enabled.
As a quick fix to make the build bots green, move the test into AArch64
and X86 so that there is reasonable coverage for this test; later I hope
mca can be fixed to work out of the box in this configuration.
Commit: 458d70674190c4d043d5dfd2e41aecddff5cdb69
https://github.com/llvm/llvm-project/commit/458d70674190c4d043d5dfd2e41aecddff5cdb69
Author: Peter Waller <peter.waller at arm.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
A llvm/test/tools/llvm-mca/AArch64/Neoverse/bad-input.s
R llvm/test/tools/llvm-mca/AArch64/bad-input.s
M llvm/test/tools/llvm-mca/X86/bad-input.s
Log Message:
-----------
[llvm-mca] Make bad-input.s even more CPU specific
Note: This patch is distinct from the previous one titled
"[llvm-mca] Move bad-input.s test to be target specific"
This is a followup to #90474 and commit
afc10fc9b7ce3d23d9012f5a1496e849fe873ba2
Context: Builders failing because they're unable to run the failure
test.
This still doesn't work in various circumstances, it seems MCA doesn't
want to run on a wide variety of hosts in various configurations, so
stick to the tried and tested method and pass -mtriple and -mcpu.
Commit: 6f2997cefc1e32c11a891ede2e3a2d73310e6ce1
https://github.com/llvm/llvm-project/commit/6f2997cefc1e32c11a891ede2e3a2d73310e6ce1
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M libcxx/include/__type_traits/is_equality_comparable.h
Log Message:
-----------
[libc++][NFC] Remove unused include from <__type_traits/is_equality_comparable.h> (#90950)
Commit: b22a6f1eba8e27b2a21bf6b96a3bd349230cb80a
https://github.com/llvm/llvm-project/commit/b22a6f1eba8e27b2a21bf6b96a3bd349230cb80a
Author: Vincent Belliard <81770341+v-bulle at users.noreply.github.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp
M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
A lldb/test/Shell/ExecControl/StepIn/Inputs/aarch64_thunk.cc
A lldb/test/Shell/ExecControl/StepIn/step_through-aarch64-thunk.test
Log Message:
-----------
[lldb] fix step in AArch64 trampoline (#90783)
Detects AArch64 trampolines in order to be able to step in a function
through a trampoline on AArch64.
---------
Co-authored-by: Vincent Belliard <v-bulle at github.com>
Commit: 66364e65405d4964709e67574abf1b519a55296c
https://github.com/llvm/llvm-project/commit/66364e65405d4964709e67574abf1b519a55296c
Author: martinboehme <mboehme at google.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M clang/include/clang/Analysis/FlowSensitive/Solver.h
M clang/include/clang/Analysis/FlowSensitive/WatchedLiteralsSolver.h
Log Message:
-----------
[clang][dataflow] Add `reachedLimit()` to the `Solver` interface. (#91320)
We may want code to call this that doesn't know which specific solver
implementation it is dealing with.
Commit: fff2db2e426ebe3a349bd0f00555d4a3dc8a6de7
https://github.com/llvm/llvm-project/commit/fff2db2e426ebe3a349bd0f00555d4a3dc8a6de7
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M libcxx/include/__availability
Log Message:
-----------
[libc++] Rename _LIBCPP_INTRODUCED_foo_MARKUP to _LIBCPP_INTRODUCED_foo_ATTRIBUTE (#91269)
This was discussed in #87563 and overlooked when I landed the patch.
Commit: 27becf0c3c1e7ac4a2f2e848b44d872f1aa1db9a
https://github.com/llvm/llvm-project/commit/27becf0c3c1e7ac4a2f2e848b44d872f1aa1db9a
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M clang/lib/Sema/SemaTemplate.cpp
M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
M clang/test/SemaTemplate/deduction-guide.cpp
Log Message:
-----------
[clang] CTAD: fix the aggregate deduction guide for alias templates. (#90894)
For alias templates, our current way of constructing their aggregate
deduction guides deviates from the standard approach. We should align it
with how we handle implicit deduction guides.
This patch has a refactoring change which pulls the construction logic
out from `DeclareImplicitDeductionGuidesForTypeAlia` and reusing it for
building aggregate deduction guides.
Commit: 227fe1c1995dea1850483449e8510db2726bcbee
https://github.com/llvm/llvm-project/commit/227fe1c1995dea1850483449e8510db2726bcbee
Author: David Truby <david.truby at arm.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M flang/runtime/extensions.cpp
Log Message:
-----------
[flang] Remove C++ runtime dependency from Sleep extension (#84911)
The Sleep extension currently has a potential dependency on the C++
runtime. I run into this dependency using libc++ on Linux. This patch
uses the POSIX `sleep` function or the Windows `Sleep` function
instead to avoid this dependency.
Commit: 1d87465a0a95cee9accc5dce7abdabbbc3f3c122
https://github.com/llvm/llvm-project/commit/1d87465a0a95cee9accc5dce7abdabbbc3f3c122
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M libc/test/src/math/FModTest.h
Log Message:
-----------
[libc][math] fmod: clear exceptions before the test instead of after
The test has no control over the CPU state before the test runs.
This test checks whether no exception flags are set, which may not be
true at the start of the test. This used to be not a problem because the
check was broken but that was fixed in ecfb5d9951554d8bdb6a499c958f48cc35f78a88
Commit: 41ca9104ac1e0bf248d4082f45c5ad03ddd55727
https://github.com/llvm/llvm-project/commit/41ca9104ac1e0bf248d4082f45c5ad03ddd55727
Author: Jonathan Peyton <jonathan.l.peyton at intel.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M openmp/runtime/src/kmp.h
M openmp/runtime/src/kmp_barrier.cpp
M openmp/runtime/src/kmp_csupport.cpp
M openmp/runtime/src/kmp_runtime.cpp
M openmp/runtime/src/kmp_tasking.cpp
A openmp/runtime/test/target/issue-81488.c
A openmp/runtime/test/tasking/issue-50602.c
A openmp/runtime/test/tasking/issue-69368.c
A openmp/runtime/test/tasking/issue-69733.c
A openmp/runtime/test/tasking/issue-79416.c
A openmp/runtime/test/tasking/task_teams_stress_test.cpp
Log Message:
-----------
[OpenMP] Fix task state and taskteams for serial teams (#86859)
* Serial teams now use a stack (similar to dispatch buffers)
* Serial teams always use `t_task_team[0]` as the task team and the
second pointer is a next pointer for the stack
`t_task_team[1]` is interpreted as a stack of task teams where each
level is a nested level
```
inner serial team outer serial team
[ t_task_team[0] ] -> (task_team) [ t_task_team[0] ] -> (task_team)
[ next ] ----------------> [ next ] -> ...
```
* Remove the task state memo stack from thread structure.
* Instead of a thread-private stack, use team structure to store
th_task_state of the primary thread. When coming out of a parallel,
restore the primary thread's task state. The new field in the team
structure doesn't cause sizeof(team) to change and is in the cache line
which is only read/written by the primary thread.
Fixes: #50602
Fixes: #69368
Fixes: #69733
Fixes: #79416
Commit: 5d9b549bb05ad31727cd019bcefeae7b94b2dbd2
https://github.com/llvm/llvm-project/commit/5d9b549bb05ad31727cd019bcefeae7b94b2dbd2
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/AArch64/unsigned-after-sext-node.ll
Log Message:
-----------
[SLP][NFC]Add a test showing incorrect signedness detection in sext nodes.
Commit: a775455cdca78445ccfe4adb2a7c9e390ae46e10
https://github.com/llvm/llvm-project/commit/a775455cdca78445ccfe4adb2a7c9e390ae46e10
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
Log Message:
-----------
[bazel] Add `nobuildkite` tags for incompatible target
Commit: 9eb91f45fb34353942b8f8154f229150a0d01456
https://github.com/llvm/llvm-project/commit/9eb91f45fb34353942b8f8154f229150a0d01456
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
Log Message:
-----------
[bazel] Add `nobuildkite` tags for incompatible targets
Commit: f548c4d83cdded0c19ca02ca9c071d8ced9ea4fd
https://github.com/llvm/llvm-project/commit/f548c4d83cdded0c19ca02ca9c071d8ced9ea4fd
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SOPInstructions.td
M llvm/test/CodeGen/AMDGPU/fdiv.ll
M llvm/test/CodeGen/AMDGPU/llvm.set.rounding.ll
Log Message:
-----------
AMDGPU: Add mode register use to s_getreg_b32
This should fix reading the wrong mode after setting the mode.
Ideally we would have separate pseudos for the case that we know
does not read mode.
Commit: 30cfe2b2ace51a8fa0eeb64f136e3999f87971ad
https://github.com/llvm/llvm-project/commit/30cfe2b2ace51a8fa0eeb64f136e3999f87971ad
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/Basic/OpenACCClauses.def
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/test/AST/ast-print-openacc-compute-construct.cpp
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/ParserOpenACC/parse-clauses.cpp
M clang/test/ParserOpenACC/parse-wait-clause.c
M clang/test/ParserOpenACC/parse-wait-construct.c
A clang/test/SemaOpenACC/compute-construct-async-clause.c
A clang/test/SemaOpenACC/compute-construct-async-clause.cpp
M clang/test/SemaOpenACC/compute-construct-intexpr-clause-ast.cpp
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
[OpenACC] Implement 'async' clause sema for compute constructs
This is a pretty simple clause, it takes an 'async-argument', which
effectively needs to be just parsed as an 'int' argument, since it can
be an arbitrarly integer at runtime (and negative values are legal for
implementation defined values).
This patch also cleans up the async-argument parsing, so 'wait' got some
minor quality-of-life improvements for parsing (both clause and
construct).
Commit: 099417d617cf44711377d02eedc580a0c11297e9
https://github.com/llvm/llvm-project/commit/099417d617cf44711377d02eedc580a0c11297e9
Author: Matthias Springer <me at m-sp.org>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M mlir/docs/Bufferization.md
A mlir/docs/includes/img/bufferization_passes.svg
A mlir/docs/includes/img/bufferization_tensor_insert_dst.svg
Log Message:
-----------
[mlir][NFC] Improve bufferization documentation (#89495)
* Add example for `test-analysis-only` and `print-conflicts`.
* Mention other bufferization-related passes.
* Update outdated documentation.
Commit: ab3a9e724d87a4272782f76b90fb0872a6a86939
https://github.com/llvm/llvm-project/commit/ab3a9e724d87a4272782f76b90fb0872a6a86939
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M libc/src/__support/threads/linux/CMakeLists.txt
M libc/src/__support/threads/linux/callonce.cpp
A libc/src/__support/threads/linux/futex_utils.h
M libc/src/__support/threads/linux/futex_word.h
M libc/src/__support/threads/linux/mutex.h
M libc/src/__support/threads/linux/thread.cpp
M libc/src/__support/threads/mutex.h
M libc/src/__support/threads/thread.cpp
M libc/src/threads/linux/CMakeLists.txt
M libc/src/threads/linux/CndVar.h
Log Message:
-----------
[libc] clean up futex usage (#91163)
# Motivation
Futex syscalls are widely used in our codebase as synchronization
mechanism. Hence, it may be worthy to abstract out the most common
routines (wait and wake). On the other hand, C++20 also provides
`std::atomic_notify_one/std::atomic_wait/std::atomic_notify_all` which
align with such functionalities. This PR introduces `Futex` as a subtype
of `cpp::Atomic<FutexWordType>` with additional
`notify_one/notify_all/wait` operations.
Providing such wrappers also make future porting easier. For example,
FreeBSD's `_umtx_op` and Darwin's `ulock` can be wrapped in a similar
manner.
### Similar Examples
1. [bionic
futex](https://android.googlesource.com/platform/bionic/+/refs/heads/main/libc/bionic/bionic_futex.cpp)
2. [futex in Rust's
std](https://github.com/rust-lang/rust/blob/8cef37dbb67e9c80702925f19cf298c4203991e4/library/std/src/sys/pal/unix/futex.rs#L21)
Commit: 41dd07bf5cbfb800797821d1ad32226e5339bcfb
https://github.com/llvm/llvm-project/commit/41dd07bf5cbfb800797821d1ad32226e5339bcfb
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
A llvm/test/CodeGen/AArch64/GlobalISel/combine-bitreverse-shift.ll
Log Message:
-----------
[AArch64] Add test coverage for bitreverse(logicalshift(bitreverse(x),y)) -> logicalshift(x,y) fold
DAG already performs this fold (#89897), GISel is currently missing it (patch incoming)
Commit: de117dd533547f8bc8d00ea989252021ec1e877e
https://github.com/llvm/llvm-project/commit/de117dd533547f8bc8d00ea989252021ec1e877e
Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
A llvm/test/CodeGen/SystemZ/atomic-load-09.ll
A llvm/test/CodeGen/SystemZ/atomic-store-09.ll
Log Message:
-----------
[SystemZ] Add some more atomic load/store tests
Verify atomic load/store of f128 on z14 where the type
lives in VRs.
Commit: 45fed80b15df85cee53d3d31a7a46ae0daa91a3f
https://github.com/llvm/llvm-project/commit/45fed80b15df85cee53d3d31a7a46ae0daa91a3f
Author: Jake Egan <Jake.egan at ibm.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M libcxx/test/libcxx/clang_modules_include.gen.py
Log Message:
-----------
[AIX][libc++] Enable clang_modules_include.gen.py tests (#90971)
Enable these tests on AIX since they're passing.
Commit: d5cabf8d89a5f5faa5255283821cb080bebbff86
https://github.com/llvm/llvm-project/commit/d5cabf8d89a5f5faa5255283821cb080bebbff86
Author: srcarroll <50210727+srcarroll at users.noreply.github.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M mlir/lib/Dialect/SCF/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/test/Dialect/SCF/one-shot-bufferize.mlir
Log Message:
-----------
Keep attribute when bufferizing `scf.forall` op (#91236)
Commit: f72454086af9d3f91a86e10dc1923849c5f670a8
https://github.com/llvm/llvm-project/commit/f72454086af9d3f91a86e10dc1923849c5f670a8
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M flang/lib/Lower/Bridge.cpp
M flang/test/Lower/CUDA/cuda-kernel-loop-directive.cuf
Log Message:
-----------
[flang][cuda] Fix retrieval of nested evaluation in cuf kernel (#91298)
`loopEval` was declared inside the for loop to iterate over the nested
loops so the same loop control was redeclared for each level of the loop
nest. Make sure we are iterating over all the loops by putting
`loopEval` declaration ouside of the for loop.
Commit: 6a6fcbffbb31f83fab7425d43e28eb6aa39dbfe9
https://github.com/llvm/llvm-project/commit/6a6fcbffbb31f83fab7425d43e28eb6aa39dbfe9
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M clang/include/clang/AST/Decl.h
M clang/lib/AST/Decl.cpp
M clang/lib/CodeGen/Targets/AArch64.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
Log Message:
-----------
[Clang][AArch64] NFC: Add IsArmStreamingFunction.
Simple refactoring to make a single interface that checks if a
FunctionDecl is a __arm[_locally]_streaming function.
Commit: e84fae837c0b154153bd9b9a3255ec5a67b1ea61
https://github.com/llvm/llvm-project/commit/e84fae837c0b154153bd9b9a3255ec5a67b1ea61
Author: Andrew Sukach <134116196+soukatch at users.noreply.github.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M clang/lib/Frontend/InterfaceStubFunctionsConsumer.cpp
Log Message:
-----------
[clang] MangledSymbol: remove pointless copy of vector (#90012)
This pr addresses #87255 adds a std::move call to the names in
MangledSymbol's constructor.
Commit: 57175533da0f3ea2054550c2e4d3e831e93bb4df
https://github.com/llvm/llvm-project/commit/57175533da0f3ea2054550c2e4d3e831e93bb4df
Author: Scott Manley <rscottmanley at gmail.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M mlir/include/mlir/IR/OperationSupport.h
M mlir/lib/IR/AsmPrinter.cpp
A mlir/test/IR/print-unique-ssa-ids.mlir
Log Message:
-----------
[MLIR][IR] add -mlir-print-unique-ssa-ids to AsmPrinter (#91241)
Add an option to unique the numbers of values, block arguments and
naming conflicts when requested and/or printing generic op form. This is
helpful when debugging. For example, if you have:
scf.for
%0 =
%1 = opA %0
scf.for
%0 =
%1 = opB %0
And you get a verifier error which says opB's "operand #0 does not
dominate this use", it looks like %0 does dominate the use. This is not
intuitive. If these were numbered uniquely, it would look like:
scf.for
%0 =
%1 = opA %0
scf.for
%2 =
%3 = opB %0
And thus, much clearer as to why you are getting the error since %0 is
out of scope. Since generic op form should aim to give you the most
possible information, it seems like a good idea to use unique numbers in
this situation. Adding an option also gives those an option to use it
outside of generic op form.
Co-authored-by: Scott Manley <scmanley at nvidia.com>
Commit: b2477765dbf9bd28bd2d1813c41ae12613f87717
https://github.com/llvm/llvm-project/commit/b2477765dbf9bd28bd2d1813c41ae12613f87717
Author: Duo Wang <duow1 at uci.edu>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M clang/test/SemaTemplate/instantiation-depth-default.cpp
Log Message:
-----------
[clang][test] Fix instantiation-depth-default.cpp under ubsan config on Windows (#91021)
Clang test `instantiation-depth-default.cpp` fails on Windows when built
with `ubsan` due to extra warnings printed by the compiler:
```console
File instantiation-depth-default.cpp Line 11: stack nearly exhausted; compilation time may suffer, and crashes due to stack overflow are likely
```
Originally in https://github.com/llvm/llvm-project/pull/75254 this test
was enabled for `asan` as well but later started to cause failures in
Linux ASAN buildbots. I have excluded `asan` from this change.
Commit: f00f2941307e04d3b7320969ee3fec9af31246ba
https://github.com/llvm/llvm-project/commit/f00f2941307e04d3b7320969ee3fec9af31246ba
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/unsigned-after-sext-node.ll
Log Message:
-----------
[SLP]Fix PR91309: Do not consider SExt as always producing signed result.
Still need to do the full analysis of the signedness of the values
rather than rely on Instruction opcode, if the opcode is SExt. Still may
produce unsigned result.
Commit: e74a7a9fd79a74073277471243a44527c71eb4a9
https://github.com/llvm/llvm-project/commit/e74a7a9fd79a74073277471243a44527c71eb4a9
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticFrontendKinds.td
M clang/lib/Frontend/CompilerInvocation.cpp
A clang/test/Frontend/multiple-actions.c
Log Message:
-----------
cc1: Report an error for multiple actions unless separated by -main-file-name (#91140)
When multiple actions are specified, the last one is used and others are
overridden. This might lead to confusion if the user is used to driver's
`-S -emit-llvm` behavior.
```
%clang_cc1 -S -emit-llvm a.c # -S is overridden
%clang_cc1 -emit-llvm -S a.c # -emit-llvm is overridden
%clang_cc1 -fsyntax-only -S a.c # -fsyntax-only is overridden
```
However, we want to continue supporting overriding the driver action
with -Xclang:
* `clang -c -Xclang -ast-dump a.c` (`%clang -cc1 -emit-obj ...
-main-file-name a.c ... -ast-dump`)
* `clang -c -xc++ -Xclang -emit-module stl.modulemap`
As an exception, we allow -ast-dump* options to be composed together
(e.g. `-ast-dump -ast-dump-lookups` in AST/ast-dump-lookups.cpp).
Commit: 8bcb0737056163686e967821bea7f9e87c57cdfc
https://github.com/llvm/llvm-project/commit/8bcb0737056163686e967821bea7f9e87c57cdfc
Author: Petr Hosek <phosek at google.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Driver/Options.td
M clang/lib/CodeGen/BackendUtil.cpp
A clang/test/CodeGen/fseparate-named-sections.c
M llvm/include/llvm/CodeGen/CommandFlags.h
M llvm/include/llvm/Target/TargetMachine.h
M llvm/include/llvm/Target/TargetOptions.h
M llvm/lib/CodeGen/CommandFlags.cpp
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
A llvm/test/CodeGen/X86/elf-separate-named-sections.ll
Log Message:
-----------
[Clang] -fseparate-named-sections option (#91028)
When set, the compiler will use separate unique sections for global
symbols in named special sections (e.g. symbols that are annotated with
__attribute__((section(...)))). Doing so enables linker GC to collect
unused symbols without having to use a different section per-symbol.
Commit: 5c5116556f58d90353aa3e3a34214cdc5ff0b2f2
https://github.com/llvm/llvm-project/commit/5c5116556f58d90353aa3e3a34214cdc5ff0b2f2
Author: Aart Bik <ajcbik at google.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorCodegen.cpp
M mlir/test/Dialect/SparseTensor/binary_valued.mlir
M mlir/test/Dialect/SparseTensor/codegen.mlir
M mlir/test/Dialect/SparseTensor/sparse_matmul_codegen.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_ds.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_empty.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_print.mlir
M mlir/test/Integration/Dialect/SparseTensor/GPU/CUDA/sparse-gemm-lib.mlir
M mlir/test/Integration/Dialect/SparseTensor/GPU/CUDA/sparse-sampled-matmul-lib.mlir
M mlir/test/Integration/Dialect/SparseTensor/GPU/CUDA/sparse-sddmm-lib.mlir
Log Message:
-----------
[mlir][sparse] force a properly sized view on pos/crd/val under codegen (#91288)
Codegen "vectors" for pos/crd/val use the capacity as memref size, not
the actual used size. Although the sparsifier itself always uses just
the defined pos/crd/val parts, printing these and passing them back to a
runtime environment could benefit from wrapping the basic pos/crd/val
getters into a proper memref view that sets the right size.
Commit: 7927bcdb8a32646f78c01535050ada6ddc23f4f5
https://github.com/llvm/llvm-project/commit/7927bcdb8a32646f78c01535050ada6ddc23f4f5
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/lib/CodeGen/AtomicExpandPass.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-f32-agent.ll
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-f32-system.ll
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-f64-agent.ll
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-f64-system.ll
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i16-system.ll
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i16.ll
Log Message:
-----------
AMDGPU: Do not bitcast atomicrmw in IR (#90045)
This is the first step to eliminating shouldCastAtomicRMWIInIR. This and
the other atomic expand casting hooks should be removed. This adds
duplicate legalization machinery and interfaces. This is already what
codegen is supposed to do, and already does for the promotion case.
In the case of atomicrmw xchg, there seems to be some benefit to having
the bitcasts moved outside of the cmpxchg loop on targets with separate
int and FP registers, which we should be able to deal with by directly
checking for the legality of the underlying operation.
The casting path was also losing metadata when it recreated the
instruction.
Commit: 63ceb9afc693209964efd4ac4844c9c0712c312d
https://github.com/llvm/llvm-project/commit/63ceb9afc693209964efd4ac4844c9c0712c312d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/test/CodeGen/X86/sext-subreg.ll
Log Message:
-----------
[X86] sext-subreg.ll - regenerate checks
Commit: 7198b8a39a062215aaf4ad8d2df23f7a10eaf6ae
https://github.com/llvm/llvm-project/commit/7198b8a39a062215aaf4ad8d2df23f7a10eaf6ae
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/test/CodeGen/X86/x86-64-extend-shift.ll
Log Message:
-----------
[X86] x86-64-extend-shift.ll - regenerate checks
Commit: 1a96179596099b8a3839050dbff02bfed94502e5
https://github.com/llvm/llvm-project/commit/1a96179596099b8a3839050dbff02bfed94502e5
Author: Tacet <advenam.tacet at trailofbits.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M libcxx/include/string
A libcxx/test/libcxx/containers/strings/basic.string/asan_deque_integration.pass.cpp
A libcxx/test/libcxx/containers/strings/basic.string/asan_short.pass.cpp
A libcxx/test/libcxx/containers/strings/basic.string/asan_vector_integration.pass.cpp
M libcxx/test/libcxx/type_traits/is_trivially_relocatable.compile.pass.cpp
M libcxx/test/support/asan_testing.h
Log Message:
-----------
[ASan][libc++] Turn on ASan annotations for short strings (#79536)
This pull request is the third iteration aiming to integrate short
string annotations. This commit includes:
- Enabling basic_string annotations for short strings.
- Setting a value of `__trivially_relocatable` in `std::basic_string` to
`false_type` when compiling with ASan (nothing changes when compiling
without ASan). Short string annotations make `std::basic_string` to not
be trivially relocatable, because memory has to be unpoisoned.
- Adding a `_LIBCPP_STRING_INTERNAL_MEMORY_ACCESS` modifier to two
functions.
- Creating a macro `_LIBCPP_ASAN_VOLATILE_WRAPPER` to prevent
problematic stack optimizations (the macro modifies code behavior only
when compiling with ASan).
Previously we had issues with compiler optimization, which we understand
thanks to @vitalybuka. This commit also addresses smaller changes in
short string, since previous upstream attempts.
Problematic optimization was loading two values in code similar to:
```
__is_long() ? __get_long_size() : __get_short_size();
```
We aim to resolve it with the volatile wrapper.
This commit is built on top of two previous attempts which descriptions
are below.
Additionally, in the meantime, annotations were updated (but it
shouldn't have any impact on anything):
- https://github.com/llvm/llvm-project/pull/79292
---
Previous PR: https://github.com/llvm/llvm-project/pull/79049
Reverted:
https://github.com/llvm/llvm-project/commit/a16f81f5e3313e88f96de35e5edfe8bee463d308
Previous description:
Originally merged here: https://github.com/llvm/llvm-project/pull/75882
Reverted here: https://github.com/llvm/llvm-project/pull/78627
Reverted due to failing buildbots. The problem was not caused by the
annotations code, but by code in the `UniqueFunctionBase` class and in
the `JSON.h` file. That code caused the program to write to memory that
was already being used by string objects, which resulted in an ASan
error.
Fixes are implemented in:
- https://github.com/llvm/llvm-project/pull/79065
- https://github.com/llvm/llvm-project/pull/79066
Problematic code from `UniqueFunctionBase` for example:
```cpp
// In debug builds, we also scribble across the rest of the storage.
memset(RHS.getInlineStorage(), 0xAD, InlineStorageSize);
```
---
Original description:
This commit turns on ASan annotations in `std::basic_string` for short
stings (SSO case).
Originally suggested here: https://reviews.llvm.org/D147680
String annotations added here:
https://github.com/llvm/llvm-project/pull/72677
Requires to pass CI without fails:
- https://github.com/llvm/llvm-project/pull/75845
- https://github.com/llvm/llvm-project/pull/75858
Annotating `std::basic_string` with default allocator is implemented in
https://github.com/llvm/llvm-project/pull/72677 but annotations for
short strings (SSO - Short String Optimization) are turned off there.
This commit turns them on. This also removes
`_LIBCPP_SHORT_STRING_ANNOTATIONS_ALLOWED`, because we do not plan to
support turning on and off short string annotations.
Support in ASan API exists since
https://github.com/llvm/llvm-project/commit/dd1b7b797a116eed588fd752fbe61d34deeb24e4.
You can turn off annotations for a specific allocator based on changes
from
https://github.com/llvm/llvm-project/commit/2fa1bec7a20bb23f2e6620085adb257dafaa3be0.
This PR is a part of a series of patches extending AddressSanitizer C++
container overflow detection capabilities by adding annotations, similar
to those existing in `std::vector` and `std::deque` collections. These
enhancements empower ASan to effectively detect instances where the
instrumented program attempts to access memory within a collection's
internal allocation that remains unused. This includes cases where
access occurs before or after the stored elements in `std::deque`, or
between the `std::basic_string`'s size (including the null terminator)
and capacity bounds.
The introduction of these annotations was spurred by a real-world
software bug discovered by Trail of Bits, involving an out-of-bounds
memory access during the comparison of two strings using the
`std::equals` function. This function was taking iterators
(`iter1_begin`, `iter1_end`, `iter2_begin`) to perform the comparison,
using a custom comparison function. When the `iter1` object exceeded the
length of `iter2`, an out-of-bounds read could occur on the `iter2`
object. Container sanitization, upon enabling these annotations, would
effectively identify and flag this potential vulnerability.
If you have any questions, please email:
- advenam.tacet at trailofbits.com
- disconnect3d at trailofbits.com
Commit: 1318230587c30acb82324f851734a40341847a50
https://github.com/llvm/llvm-project/commit/1318230587c30acb82324f851734a40341847a50
Author: Yeting Kuo <46629943+yetingk at users.noreply.github.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
R clang/test/Driver/riscv-option-arch.c
R clang/test/Driver/riscv-option-arch.s
Log Message:
-----------
[RISCV][NFC] Remove redundant test cases. (#91324)
PR #89727 added the two test cases to verify `.option arch` should only
work when having -menable-experimental-extensions. And the test idea
could be splitted to
1. When having menable-experimental-extensions, clang passes
+experimental.
2. `.option arch` only enabled when +experimental enabled.
And we already had the two kind of tests.
Commit: 486695d154b23d0f66f3a5e054963b78d7d08d5a
https://github.com/llvm/llvm-project/commit/486695d154b23d0f66f3a5e054963b78d7d08d5a
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
R flang/test/Driver/driver-help-hidden.f90
Log Message:
-----------
[flang] Remove driver-help-hidden.f90 (#91307)
This file was originally removed in #89504 and then accidentally
re-added in #89938.
Commit: 72085698a244e10780a6f115269a2f88455c8cab
https://github.com/llvm/llvm-project/commit/72085698a244e10780a6f115269a2f88455c8cab
Author: Prashant Kumar <pk5561 at gmail.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M mlir/lib/Dialect/Math/Transforms/PolynomialApproximation.cpp
M mlir/test/mlir-cpu-runner/math-polynomial-approx.mlir
Log Message:
-----------
[mlir][math] Add Polynomial Approximation for acos, asin op (#90962)
Adds the Polynomial Approximation for math.acos and math.asin op. Also,
it adds integration tests.
The Approximation has been borrowed from
https://stackoverflow.com/a/42683455
I added this script:
https://gist.github.com/pashu123/cd3e682b21a64ac306f650fb842a422b to
test 50 values between -1 and 1. The results are
https://gist.github.com/pashu123/8acb233bd045bacabfa8c992d4040465. It's
well within the bounds.
Commit: 026a29e8b38aad79568de033d0e8e5d2e6bb4250
https://github.com/llvm/llvm-project/commit/026a29e8b38aad79568de033d0e8e5d2e6bb4250
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/lib/Analysis/BlockFrequencyInfo.cpp
M llvm/lib/Analysis/BranchProbabilityInfo.cpp
M llvm/lib/Analysis/LoopInfo.cpp
M llvm/lib/Analysis/MemoryProfileInfo.cpp
M llvm/lib/CodeGen/MIRSampleProfile.cpp
M llvm/lib/CodeGen/MachineBlockFrequencyInfo.cpp
M llvm/lib/CodeGen/MachineBlockPlacement.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/DebugInfo/LogicalView/Core/LVOptions.cpp
M llvm/lib/DebugInfo/LogicalView/Readers/LVBinaryReader.cpp
M llvm/lib/DebugInfo/LogicalView/Readers/LVCodeViewVisitor.cpp
M llvm/lib/DebugInfo/Symbolize/SymbolizableObjectFile.cpp
Log Message:
-----------
[Analysis, CodeGen, DebugInfo] Use StringRef::operator== instead of StringRef::equals (NFC) (#91304)
I'm planning to remove StringRef::equals in favor of
StringRef::operator==.
- StringRef::operator==/!= outnumber StringRef::equals by a factor of
53 under llvm/ in terms of their usage.
- The elimination of StringRef::equals brings StringRef closer to
std::string_view, which has operator== but not equals.
- S == "foo" is more readable than S.equals("foo"), especially for
!Long.Expression.equals("str") vs Long.Expression != "str".
Commit: 873431a68a3aa3ec4fed5d2dc98ef527230b0d21
https://github.com/llvm/llvm-project/commit/873431a68a3aa3ec4fed5d2dc98ef527230b0d21
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M libc/hdr/fenv_macros.h
M libc/include/llvm-libc-macros/fenv-macros.h
Log Message:
-----------
[libc] Add __FE_DENORM to the fenv macros (#91353)
Summary:
Some targets support denormals as floating point exceptions. This is
provided as an extension in the GNU headers as __FE_DENORM.
This provides it in our headers, however I'm unsure if we should make it
internal or external. I do not think it should be in all exception as it
doesn't represent an exceptional behavior as far as the standard is
concerned, but I'm not an expert.
Commit: cf58c58e0967dbf812ef84944efd923ea366583a
https://github.com/llvm/llvm-project/commit/cf58c58e0967dbf812ef84944efd923ea366583a
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
Log Message:
-----------
[bazel] Move HostMacOSXPrivateHeaders to macOS only dep (#91354)
Commit: 1a2a1fbd7c03381fe5e4f459f7081bef13366ef4
https://github.com/llvm/llvm-project/commit/1a2a1fbd7c03381fe5e4f459f7081bef13366ef4
Author: Brendan Dahl <brendan.dahl at gmail.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M clang/include/clang/Basic/BuiltinsWebAssembly.def
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/test/CodeGen/builtins-wasm.c
M llvm/include/llvm/IR/IntrinsicsWebAssembly.td
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyInstrMemory.td
A llvm/test/CodeGen/WebAssembly/half-precision.ll
M llvm/test/CodeGen/WebAssembly/offset.ll
M llvm/test/MC/WebAssembly/simd-encodings.s
Log Message:
-----------
[WebAssembly] Implement prototype f32.load_f16 instruction. (#90906)
Adds a builtin and intrinsic for the f32.load_f16 instruction.
The instruction loads an f16 value from memory and puts it in an f32.
Specified at:
https://github.com/WebAssembly/half-precision/blob/29a9b9462c9285d4ccc1a5dc39214ddfd1892658/proposals/half-precision/Overview.md
Note: the current spec has f32.load_f16 as opcode 0xFD0120, but this is
incorrect and will be changed to 0xFC30 soon.
Commit: 7115ed0fff027b65fa76fdfae215ed1382ed1473
https://github.com/llvm/llvm-project/commit/7115ed0fff027b65fa76fdfae215ed1382ed1473
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M clang-tools-extra/clangd/AST.cpp
M clang-tools-extra/clangd/SemanticHighlighting.cpp
M clang-tools-extra/include-cleaner/lib/WalkAST.cpp
M clang/docs/LibASTMatchersReference.html
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/ASTMatchers/ASTMatchers.h
M clang/include/clang/ASTMatchers/ASTMatchersInternal.h
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/Index/IndexDecl.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/Tooling/Syntax/BuildTree.cpp
M clang/test/AST/ast-dump-template-decls.cpp
M clang/test/Index/Core/index-source.cpp
M clang/test/Index/index-refs.cpp
M clang/tools/libclang/CIndex.cpp
M clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
M clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
Log Message:
-----------
[Clang] Unify interface for accessing template arguments as written for class/variable template specializations (#81642)
Our current method of storing the template arguments as written for
`(Class/Var)Template(Partial)SpecializationDecl` suffers from a number
of flaws:
- We use `TypeSourceInfo` to store `TemplateArgumentLocs` for class
template/variable template partial/explicit specializations. For
variable template specializations, this is a rather unintuitive hack (as
we store a non-type specialization as a type). Moreover, we don't ever
*need* the type as written -- in almost all cases, we only want the
template arguments (e.g. in tooling use-cases).
- The template arguments as written are stored in a number of redundant
data members. For example, `(Class/Var)TemplatePartialSpecialization`
have their own `ArgsAsWritten` member that stores an
`ASTTemplateArgumentListInfo` (the template arguments).
`VarTemplateSpecializationDecl` has yet _another_ redundant member
"`TemplateArgsInfo`" that also stores an `ASTTemplateArgumentListInfo`.
This patch eliminates all
`(Class/Var)Template(Partial)SpecializationDecl` members which store the
template arguments as written, and turns the `ExplicitInfo` member into
a `llvm::PointerUnion<const ASTTemplateArgumentListInfo*,
ExplicitInstantiationInfo*>` (to avoid unnecessary allocations when the
declaration isn't an explicit instantiation). The template arguments as
written are now accessed via `getTemplateArgsWritten` in all cases.
The "most breaking" change is to AST Matchers, insofar that `hasTypeLoc`
will no longer match class template specializations (since they no
longer store the type as written).
Commit: b1bc1dbea6d0423813bb73d625c6eedc040007ed
https://github.com/llvm/llvm-project/commit/b1bc1dbea6d0423813bb73d625c6eedc040007ed
Author: Edwin Vane <revane at google.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/ReservedIdentifierCheck.cpp
M clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.h
Log Message:
-----------
[clang-tidy] Refactor how NamedDecl are renamed (#88735)
The handling of renaming failures and multiple usages related to those
failures is currently spread over several functions. Identifying the
failure NamedDecl for a given usage is also duplicated, once when
creating failures and again when identify usages. There are currently
two ways to a failed NamedDecl from a usage: use the canonical decl or
use the overridden method. With new methods about to be added, a cleanup
was in order.
The data flow is simplified as follows:
* The visitor always forwards NamedDecls to addUsage(NamedDecl).
* addUsage(NamedDecl) determines the failed NamedDecl and determines
potential new names based on that failure. Usages are registered using
addUsage(NamingCheckId).
* addUsage(NamingCheckId) is now protected and its single responsibility
is maintaining the integrity of the failure/usage map.
Commit: 62bed56efdde1bed5dcebec5ceb375ffce223691
https://github.com/llvm/llvm-project/commit/62bed56efdde1bed5dcebec5ceb375ffce223691
Author: Benoit Jacob <jacob.benoit.1 at gmail.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
Log Message:
-----------
[mlir][tensor] Remove assertion in ExpandShapeOp::build (#91361)
Unblocking downstream integrate where an expected-to-fail test was
expecting this to be a runtime verifier error, not a compiler crash:
https://github.com/llvm/torch-mlir/pull/3279.
Commit: 6cba93f25dc2014b5d8c71c739f17be1d8c3763a
https://github.com/llvm/llvm-project/commit/6cba93f25dc2014b5d8c71c739f17be1d8c3763a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/test/tools/llvm-objdump/ELF/RISCV/unknown-arch-attr.test
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Add partial validation of S and X extension names to RISCVISAInfo::parseNormalizedArchString.
Extensions starting with 's' or 'x' should always be followed by an
alphabetical character. I don't know of any crashes from this currently,
but it seemed better to be defensive.
Commit: 1e36c96dc0998e886644d6fc76aa475d88d9645c
https://github.com/llvm/llvm-project/commit/1e36c96dc0998e886644d6fc76aa475d88d9645c
Author: AtariDreams <gfunni234 at gmail.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
M llvm/test/Transforms/InstCombine/lshr.ll
Log Message:
-----------
[InstCombine] Fold ((X << nuw Z) binop nuw Y) >>u Z --> X binop nuw (Y >>u Z) (#88193)
Proofs:
https://alive2.llvm.org/ce/z/N9dRzP
https://alive2.llvm.org/ce/z/Xrpc-Y
https://alive2.llvm.org/ce/z/BagBM6
Commit: 2a4f1f4a8ff60d55da69b4654360cf947b5b20f7
https://github.com/llvm/llvm-project/commit/2a4f1f4a8ff60d55da69b4654360cf947b5b20f7
Author: Florian Mayer <fmayer at google.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
Log Message:
-----------
Document FP relative offsets (#91031)
Commit: c9ab1d890586bd8a6a194e6a37968538b80f81bd
https://github.com/llvm/llvm-project/commit/c9ab1d890586bd8a6a194e6a37968538b80f81bd
Author: Sean Perry <39927768+perry-ca at users.noreply.github.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M clang/test/AST/Interp/cxx23.cpp
M clang/test/CodeGen/ffp-contract-option.c
M clang/test/CodeGen/ffp-model.c
M clang/test/CodeGen/fp-matrix-pragma.c
M clang/test/Driver/clang-offload-bundler-asserts-on.c
M clang/test/Driver/clang-offload-bundler-standardize.c
M clang/test/Driver/clang-offload-bundler-zlib.c
M clang/test/Driver/clang-offload-bundler-zstd.c
M clang/test/Driver/clang-offload-bundler.c
A clang/test/Driver/std-trigraph-override.c
M clang/test/Driver/std.c
A clang/test/FixIt/fixit-c++2a-tls.cpp
M clang/test/FixIt/fixit-c++2a.cpp
M clang/test/Interpreter/const.cpp
M clang/test/Lexer/unicode.c
M clang/test/Modules/cstd.m
M clang/test/Modules/merge-objc-protocol-visibility.m
M clang/test/PCH/chain-openmp-threadprivate.cpp
M clang/test/Sema/thread_local.c
M llvm/test/MC/AsmParser/layout-interdependency.s
M llvm/test/Object/archive-big-extract.test
M llvm/test/Object/archive-extract.test
Log Message:
-----------
Mark test cases as unsupported on z/OS (#90990)
These test cases are testing features not available when either
targeting the s390x-ibm-zos target or use tools/features not available
on the z/OS operating system. In a couple cases the lit test had a
number of subtests with one or two that aren't supported on z/OS. Rather
than mark the entire test as unsupported I split out the unsupported
tests into a separate test case.
Commit: 057de4d26425c8b9840912e40ce025626f45d8d6
https://github.com/llvm/llvm-project/commit/057de4d26425c8b9840912e40ce025626f45d8d6
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M lldb/tools/driver/Driver.cpp
M lldb/tools/lldb-dap/lldb-dap.cpp
Log Message:
-----------
[lldb] Request crash report when prompting for a bug report on Darwin (#91371)
On Darwin platforms, the system will generate a crash report in
~/Library/Logs/DiagnosticReports/ when a process crashes.
These reports are much more useful than the "pretty backtraces" printed
by LLVM and are preferred when filing bug reports on Darwin.
Commit: 65e2fab401a2da55c51d3caceae8478c33f3c60f
https://github.com/llvm/llvm-project/commit/65e2fab401a2da55c51d3caceae8478c33f3c60f
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
Log Message:
-----------
[Sema] Fix warnings
This patch fixes:
clang/lib/Sema/SemaTemplateInstantiateDecl.cpp:3937:12: error:
unused variable 'CanonType' [-Werror,-Wunused-variable]
clang/lib/Sema/SemaTemplate.cpp:9279:18: error: unused variable
'TemplateKWLoc' [-Werror,-Wunused-variable]
Commit: c76ccf0f1e05d649449c8ff6908b0b6329eb2612
https://github.com/llvm/llvm-project/commit/c76ccf0f1e05d649449c8ff6908b0b6329eb2612
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/test/Transforms/LoopVectorize/version-stride-with-integer-casts.ll
Log Message:
-----------
[LV] Add test case for #91369.
Add tests for https://github.com/llvm/llvm-project/issues/91369.
Commit: 82bb2534d4de16abb7a51fc646d5c31d6cec5eeb
https://github.com/llvm/llvm-project/commit/82bb2534d4de16abb7a51fc646d5c31d6cec5eeb
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
M llvm/test/Transforms/AtomicExpand/AMDGPU/no-expand-atomic-store.ll
Log Message:
-----------
AMDGPU: Don't bitcast float typed atomic store in IR (#90116)
Implement the promotion in the DAG.
Depends #90113
Commit: 31dd0ef73c99b1bc9825ddfc58ddff0b134608fb
https://github.com/llvm/llvm-project/commit/31dd0ef73c99b1bc9825ddfc58ddff0b134608fb
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
A llvm/test/Transforms/CorrelatedValuePropagation/sitofp.ll
A llvm/test/Transforms/CorrelatedValuePropagation/uitofp.ll
Log Message:
-----------
[CVP] Add tests for adding `nneg` flag to `uitofp` and converting `sitofp` -> `uitofp nneg`; NFC
Commit: 925a11128c903c8554921c2b5700caf191ae61d6
https://github.com/llvm/llvm-project/commit/925a11128c903c8554921c2b5700caf191ae61d6
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
M llvm/test/Transforms/CorrelatedValuePropagation/sitofp.ll
M llvm/test/Transforms/CorrelatedValuePropagation/uitofp.ll
Log Message:
-----------
[CVP] Convert `sitofp` -> `uitofp nneg` and add `nneg` flag to `uitofp`
Similiar to the `InstCombine` changes, just furthering the scope of
the canonicalization/`uitofp nneg` support
Commit: 6243395d7f1da6a2ea813f5d86ba71f91e1070bf
https://github.com/llvm/llvm-project/commit/6243395d7f1da6a2ea813f5d86ba71f91e1070bf
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/lib/Transforms/Utils/SCCPSolver.cpp
M llvm/test/Transforms/SCCP/ip-ranges-casts.ll
M llvm/test/Transforms/SCCP/sitofp.ll
Log Message:
-----------
[SCCP] Add `nneg` flag to `uitofp` if its operand is non-negative
Similiar to the `InstCombine` changes, just furthering the support of
the `uitofp nneg` support.
Closes #86154
Commit: 117bda523ea15510d2289020decabef57d89acc0
https://github.com/llvm/llvm-project/commit/117bda523ea15510d2289020decabef57d89acc0
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Add unittests for MinVLen/MaxELen/MaxElenFp for ParseArchString. NFC
We had tests for ParseNormalizedArchString, but not ParseArchString.
The ParseNormalizedArchString test was not checking MaxElenFp.
Commit: dca3a6e562e012940c2b62a4d8dae3afec09caa4
https://github.com/llvm/llvm-project/commit/dca3a6e562e012940c2b62a4d8dae3afec09caa4
Author: Heejin Ahn <aheejin at gmail.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M clang/lib/Driver/ToolChains/WebAssembly.cpp
M clang/test/Driver/wasm-toolchain.c
Log Message:
-----------
[WebAssembly] Make EH depend on multivalue and reference-types (#91299)
This PR turns on multivalue and reference-types features when
exception-handling feature is turned on, and errors out when disabling
of those dependent features is explicitly requested.
I think doing this would be safe anyway regardless of whether or when we
end up turning on reference-types by default.
We currently don't yet have a experimental flag for the Clang and LLVM
for the new experimental EH yet. But I think it should be fine to turn
those features on even if the LLVM does not yet generate the new EH
instructions, for the same reason we tried to turn them on by default
and the browsers that support EH also support multivalue and
reference-types anyway.
Commit: 2e4abfae57f81e2bb23fc654d6edbaeae51ae10a
https://github.com/llvm/llvm-project/commit/2e4abfae57f81e2bb23fc654d6edbaeae51ae10a
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
Log Message:
-----------
Revert "[Sema] Fix warnings"
This reverts commit 65e2fab401a2da55c51d3caceae8478c33f3c60f because I'm also reverting 7115ed0fff027b65fa76fdfae215ed1382ed1473.
Commit: c6855ab24e63feb432aac4f86eb70ac16d76c921
https://github.com/llvm/llvm-project/commit/c6855ab24e63feb432aac4f86eb70ac16d76c921
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M clang-tools-extra/clangd/AST.cpp
M clang-tools-extra/clangd/SemanticHighlighting.cpp
M clang-tools-extra/include-cleaner/lib/WalkAST.cpp
M clang/docs/LibASTMatchersReference.html
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/ASTMatchers/ASTMatchers.h
M clang/include/clang/ASTMatchers/ASTMatchersInternal.h
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/Index/IndexDecl.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/Tooling/Syntax/BuildTree.cpp
M clang/test/AST/ast-dump-template-decls.cpp
M clang/test/Index/Core/index-source.cpp
M clang/test/Index/index-refs.cpp
M clang/tools/libclang/CIndex.cpp
M clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
M clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
Log Message:
-----------
Revert "[Clang] Unify interface for accessing template arguments as written for class/variable template specializations (#81642)"
This reverts commit 7115ed0fff027b65fa76fdfae215ed1382ed1473.
This commit broke several LLDB tests.
https://green.lab.llvm.org/job/llvm.org/view/LLDB/job/as-lldb-cmake/3480/
Commit: dad11097096c05564758e539f9f03ef883365fdd
https://github.com/llvm/llvm-project/commit/dad11097096c05564758e539f9f03ef883365fdd
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M lldb/source/API/CMakeLists.txt
Log Message:
-----------
[lldb] Reinstate lldb-sbapi-dwarf-enums target (NFC) (#91390)
Alex pointed out in #91254 that we only need the custom target if we had
more than one target depending on it. This isn't the case upstream, but
on our downstream fork, we have a second dependency. Reintroduce the
target so that everything can depend on that, without the
single-dependency foot-gun.
Commit: 5e9dd8827b3ccd03f8499b610deb6accd2d71d21
https://github.com/llvm/llvm-project/commit/5e9dd8827b3ccd03f8499b610deb6accd2d71d21
Author: Xiang Li <python3kgae at outlook.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/lib/Target/DirectX/DXILMetadata.cpp
M llvm/lib/Target/DirectX/DXILMetadata.h
M llvm/lib/Target/DirectX/DXILPrepare.cpp
M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
A llvm/test/CodeGen/DirectX/Metadata/shaderModel-cs-val-ver-0.0.ll
M llvm/test/CodeGen/DirectX/Metadata/shaderModel-cs.ll
M llvm/test/tools/dxil-dis/attribute-filter.ll
Log Message:
-----------
[DirectX] remove string function attribute DXIL not allowed (#90778)
Remove string function attribute other than
"waveops-include-helper-lanes" and "fp32-denorm-mode".
Move DXILPrepareModulePass after DXILTranslateMetadataPass since
DXILTranslateMetadataPass needs to use attribute like hlsl.numthreads.
Fixes #90773
Commit: 9a28814f59e8f52cc63ae3d17023cee8348d9b53
https://github.com/llvm/llvm-project/commit/9a28814f59e8f52cc63ae3d17023cee8348d9b53
Author: Maryam Moghadas <m.moghadas at gmail.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/lib/Target/PowerPC/PPCFrameLowering.cpp
M llvm/lib/Target/PowerPC/PPCFrameLowering.h
M llvm/test/CodeGen/PowerPC/aix-csr-vector-extabi.ll
M llvm/test/CodeGen/PowerPC/aix-csr-vector.ll
M llvm/test/CodeGen/PowerPC/aix-csr.ll
A llvm/test/CodeGen/PowerPC/aix-spills-for-eh.ll
M llvm/test/CodeGen/PowerPC/aix32-crsave.mir
M llvm/test/CodeGen/PowerPC/ppc-shrink-wrapping.ll
M llvm/test/CodeGen/PowerPC/ppc64-crsave.mir
Log Message:
-----------
[PowerPC] Spill non-volatile registers required for traceback table (#71115)
On AIX we need to spill all [rfv]N-[rfv]31 when a function clobbers
[rfv]N so that the traceback table contains accurate information.
Commit: 082c81ae4ab9db6bb0acd52098288223dd58501a
https://github.com/llvm/llvm-project/commit/082c81ae4ab9db6bb0acd52098288223dd58501a
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/version-stride-with-integer-casts.ll
Log Message:
-----------
[LV] Properly extend versioned constant strides.
We only version unknown strides to 1. If the original type is i1, then
the sign of the extension matters. Properly extend the stride value
before replacing it.
Fixes https://github.com/llvm/llvm-project/issues/91369.
Commit: 0b50d095bccbd47c77e5ad2b03b09b41b696c4a0
https://github.com/llvm/llvm-project/commit/0b50d095bccbd47c77e5ad2b03b09b41b696c4a0
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/test/CodeGen/AMDGPU/fold-agpr-phis.mir
Log Message:
-----------
[AMDGPU] Don't optimize agpr phis if the operand doesn't have subreg use (#91267)
If the operand doesn't have any subreg use, the optimization could
potentially
generate `V_ACCVGPR_READ_B32_e64` with wrong register class. The
following example demonstrates the issue.
Input MIR:
```
bb.0:
%0:sgpr_32 = S_MOV_B32 0
%1:sgpr_128 = REG_SEQUENCE %0:sgpr_32, %subreg.sub0, %0:sgpr_32, %subreg.sub1, %0:sgpr_32, %subreg.sub2, %0:sgpr_32, %subreg.sub3
%2:vreg_128 = COPY %1:sgpr_128
%3:areg_128 = COPY %2:vreg_128, implicit $exec
bb.1:
%4:areg_128 = PHI %3:areg_128, %bb.0, %6:areg_128, %bb.1
%5:areg_128 = PHI %3:areg_128, %bb.0, %7:areg_128, %bb.1
...
```
Output of current implementation:
```
bb.0:
%0:agpr_32 = V_ACCVGPR_WRITE_B32_e64 0, implicit $exec
%1:agpr_32 = V_ACCVGPR_WRITE_B32_e64 0, implicit $exec
%2:agpr_32 = V_ACCVGPR_WRITE_B32_e64 0, implicit $exec
%3:agpr_32 = V_ACCVGPR_WRITE_B32_e64 0, implicit $exec
%4:areg_128 = REG_SEQUENCE %0:agpr_32, %subreg.sub0, %1:agpr_32, %subreg.sub1, %2:agpr_32, %subreg.sub2, %3:agpr_32, %subreg.sub3
%5:vreg_128 = V_ACCVGPR_READ_B32_e64 %4:areg_128, implicit $exec
%6:areg_128 = COPY %46:vreg_128
bb.1:
%7:areg_128 = PHI %6:areg_128, %bb.0, %9:areg_128, %bb.1
%8:areg_128 = PHI %6:areg_128, %bb.0, %10:areg_128, %bb.1
...
```
The problem is the generated `V_ACCVGPR_READ_B32_e64` instruction.
Apparently the operand `%4:areg_128` is not valid for this.
In this patch, we don't count the none-subreg use because
`V_ACCVGPR_READ_B32_e64` can't handle none-32-bit operand.
Fixes: SWDEV-459556
Commit: 272ea28bdec93b33527dc54edbdef8f43c51df47
https://github.com/llvm/llvm-project/commit/272ea28bdec93b33527dc54edbdef8f43c51df47
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M lldb/source/Expression/UserExpression.cpp
Log Message:
-----------
Remove else-after-break (NFC)
Commit: 8c4d7989c2b4a7e251afc3b13002611646de90b6
https://github.com/llvm/llvm-project/commit/8c4d7989c2b4a7e251afc3b13002611646de90b6
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M lldb/source/Expression/UserExpression.cpp
Log Message:
-----------
Add a missing check for nullptr
This can't happen with Clang, but I've seen a crash report from the
Swift plugin where this happened.
rdar://126564844
Commit: a70ad96b3cc5275246f7f007d1892bb867b75bc0
https://github.com/llvm/llvm-project/commit/a70ad96b3cc5275246f7f007d1892bb867b75bc0
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/VOPInstructions.td
Log Message:
-----------
[AMDGPU] Fix condition in VOP3_Real_Base. NFCI. (#91373)
Commit: 2ad6917c4c524576405f2146424911fd9adb3528
https://github.com/llvm/llvm-project/commit/2ad6917c4c524576405f2146424911fd9adb3528
Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M clang/lib/Serialization/ASTReader.cpp
A clang/test/Modules/module-symlink.m
M llvm/include/llvm/Support/VirtualFileSystem.h
M llvm/lib/Support/VirtualFileSystem.cpp
Log Message:
-----------
[modules] Accept equivalent module caches from different symlink (#90925)
Use `VFS.equivalent()`, which follows symlinks, to check if two module
cache paths are equivalent. This prevents a PCH error when building from
a different path that is a symlink of the original.
```
error: PCH was compiled with module cache path '/home/foo/blah/ModuleCache/2IBP1TNT8OR8D', but the path is currently '/data/users/foo/blah/ModuleCache/2IBP1TNT8OR8D'
1 error generated.
```
Commit: bc8a42762057d7036f6871211e62b1c3efb2738a
https://github.com/llvm/llvm-project/commit/bc8a42762057d7036f6871211e62b1c3efb2738a
Author: Marian Buschsieweke <maribu at users.noreply.github.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M clang/include/clang/Basic/MSP430Target.def
A clang/include/clang/Basic/Target/MSP430/gen-msp430-def.py
Log Message:
-----------
[MSP430][Clang] Update list of MCUs (#91258)
This updates the list of MSP430 MCUs from TI's devices.csv obtained from [1] under the "Header and Support Files" link. A simple python script has been used to generate this list and is included as well.
[1]: https://www.ti.com/tool/MSP430-GCC-OPENSOURCE#downloads
Commit: 2a3903fa0e88d7149df11aa37d4ba87c5e5f0913
https://github.com/llvm/llvm-project/commit/2a3903fa0e88d7149df11aa37d4ba87c5e5f0913
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/fmaximum.ll
M llvm/test/CodeGen/AMDGPU/fminimum.ll
M llvm/test/CodeGen/AMDGPU/llvm.maximum.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.minimum.f16.ll
Log Message:
-----------
[AMDGPU] Prevent FMINIMUM and FMAXIMUM beeing fully scalarized (#91378)
This is the same logic as with FMINNUM_IEEE/FMAXNUM_IEEE.
Commit: a5044e6d505deb79f1b00bb39d11096d29b9c910
https://github.com/llvm/llvm-project/commit/a5044e6d505deb79f1b00bb39d11096d29b9c910
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M libc/src/__support/threads/linux/CMakeLists.txt
Log Message:
-----------
[libc] fix typo due to futex renaming (#91379)
Commit: ccf765cfd578c4ea4f710386e19cb8d1ef1859ce
https://github.com/llvm/llvm-project/commit/ccf765cfd578c4ea4f710386e19cb8d1ef1859ce
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M compiler-rt/lib/ctx_profile/CtxInstrProfiling.cpp
M compiler-rt/lib/ctx_profile/CtxInstrProfiling.h
M compiler-rt/lib/ctx_profile/tests/CtxInstrProfilingTest.cpp
Log Message:
-----------
[compiler-rt][ctx_profile] Add the instrumented contextual profiling APIs (#89838)
APIs for contextual profiling. `ContextNode` is the call context-specific counter buffer. `ContextRoot` is associated to those functions that constitute roots into interesting call graphs, and is the object on which we hang off `Arena`s for allocating `ContextNode`s, as well as the `ContextNode` corresponding to such functions. Graphs of `ContextNode`s are accessible by one thread at a time.
(Tracking Issue: #89287, more details in the RFC referenced there)
Commit: 8fc68879badc2dc83e8b9a575992af285d4a1057
https://github.com/llvm/llvm-project/commit/8fc68879badc2dc83e8b9a575992af285d4a1057
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/NoUncountedMembersChecker.cpp
Log Message:
-----------
Fix a typo in webkit.NoUncountedMemberChecker. (#91402)
Co-authored-by: Brianna Fan <bfan2 at apple.com>
Commit: ff0c5ccbe8879ccad9cb3548b69b114872c33ebb
https://github.com/llvm/llvm-project/commit/ff0c5ccbe8879ccad9cb3548b69b114872c33ebb
Author: Maksim Panchenko <maks at fb.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
A bolt/test/runtime/bolt-reserved.cpp
Log Message:
-----------
[BOLT] Add a test for BOLT-reserved space in a binary (#91399)
Test case for #90300.
Commit: 54401b43494a57baae9d3663cd7c694b040ef01c
https://github.com/llvm/llvm-project/commit/54401b43494a57baae9d3663cd7c694b040ef01c
Author: Prathamesh Tagore <63031630+meshtag at users.noreply.github.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/test/Dialect/MemRef/invalid.mlir
Log Message:
-----------
[mlir][memref.expand_shape] Add verifier check to ensure correct output_shape is provided by user (#91245)
The verifier was not checking for the case when the user provided shape
in output_shape is different than the one inferred from output type. Fix
this.
Commit: c0d9efd35d6a44258466349a7ba3a10c693b8c9c
https://github.com/llvm/llvm-project/commit/c0d9efd35d6a44258466349a7ba3a10c693b8c9c
Author: Youngsuk Kim <youngsuk.kim at hpe.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
Log Message:
-----------
[llvm][NVPTX] Remove outdated comments (NFC) (#91409)
Commit: 3f37397c959a85f4cad91b655ea03a5d2450ab38
https://github.com/llvm/llvm-project/commit/3f37397c959a85f4cad91b655ea03a5d2450ab38
Author: Max Winkler <max.enrico.winkler at gmail.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
A clang/test/CodeGen/x64-microsoft-arguments.cpp
Log Message:
-----------
[clang][CodeGen] Fix MSVC ABI for classes with a deleted copy assignment operator (#90547)
For global functions and static methods the MSVC ABI returns
structs/classes with a deleted copy assignment operator indirectly.
>From local testing this ABI holds true for all currently supported
architectures including ARM64EC.
Commit: 04d0a691af9e116f651d233c5689863f614d3adf
https://github.com/llvm/llvm-project/commit/04d0a691af9e116f651d233c5689863f614d3adf
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M lld/ELF/Options.td
M lld/ELF/OutputSections.cpp
Log Message:
-----------
[ELF] Fix --compress-debug-sections=zstd when zlib is disabled
Commit: 77c5cea78eac3f20d0ba79f5892235e5aac82603
https://github.com/llvm/llvm-project/commit/77c5cea78eac3f20d0ba79f5892235e5aac82603
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/test/CXX/drs/dr13xx.cpp
M clang/test/CXX/except/except.spec/p13.cpp
A clang/test/CXX/temp/temp.deduct/p7.cpp
M clang/test/SemaCXX/cxx1z-noexcept-function-type.cpp
M clang/test/SemaTemplate/temp_arg_type.cpp
Log Message:
-----------
[Clang][Sema] Explicit template arguments are not substituted into the exception specification of a function (#90760)
[temp.deduct.general] p6 states:
> At certain points in the template argument deduction process it is
necessary to take a function type that makes use of template parameters
and replace those template parameters with the corresponding template
arguments.
This is done at the beginning of template argument deduction when any
explicitly specified template arguments are substituted into the
function type, and again at the end of template argument deduction when
any template arguments that were deduced or obtained from default
arguments are substituted.
[temp.deduct.general] p7 goes on to say:
> The _deduction substitution loci_ are
> - the function type outside of the _noexcept-specifier_,
> - the explicit-specifier,
> - the template parameter declarations, and
> - the template argument list of a partial specialization
>
> The substitution occurs in all types and expressions that are used in
the deduction substitution loci. [...]
Consider the following:
```cpp
struct A
{
static constexpr bool x = true;
};
template<typename T, typename U>
void f(T, U) noexcept(T::x); // #1
template<typename T, typename U>
void f(T, U*) noexcept(T::y); // #2
template<>
void f<A>(A, int*) noexcept; // clang currently accepts, GCC and EDG reject
```
Currently, `Sema::SubstituteExplicitTemplateArguments` will substitute
into the _noexcept-specifier_ when deducing template arguments from a
function declaration or when deducing template arguments for taking the
address of a function template (and the substitution is treated as a
SFINAE context). In the above example, `#1` is selected as the primary
template because substitution of the explicit template arguments into
the _noexcept-specifier_ of `#2` failed, which resulted in the candidate
being ignored.
This behavior is incorrect ([temp.deduct.general] note 4 says as much), and
this patch corrects it by deferring all substitution into the
_noexcept-specifier_ until it is instantiated.
As part of the necessary changes to make this patch work, the
instantiation of the exception specification of a function template
specialization when taking the address of a function template is changed
to only occur for the function selected by overload resolution per
[except.spec] p13.1 (as opposed to being instantiated for every candidate).
Commit: d4cf20ca37160cb062a9db773d0e6255d6bbc31a
https://github.com/llvm/llvm-project/commit/d4cf20ca37160cb062a9db773d0e6255d6bbc31a
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M clang-tools-extra/clangd/unittests/FindTargetTests.cpp
M clang-tools-extra/clangd/unittests/HoverTests.cpp
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/test/CXX/class/class.compare/class.compare.default/p4.cpp
Log Message:
-----------
[Clang][Sema] Don't set instantiated from function when rewriting operator<=> (#91339)
The following snippet causes a crash:
```
template<typename T>
struct A
{
bool operator<=>(const A&) const requires true = default;
};
bool f(A<int> a)
{
return a != A<int>();
}
```
This occurs because during the rewrite from `operator<=>` to
`operator==`, the "pattern" `operator<=>` function is set as the
instantiated from function for the newly created `operator==` function.
This is obviously incorrect, and this patch fixes it.
Commit: 83f3b1cb480b41e3347035aff14fd4bc2ba21d24
https://github.com/llvm/llvm-project/commit/83f3b1cb480b41e3347035aff14fd4bc2ba21d24
Author: Yinying Li <yinyingli at google.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensor.h
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorAttrDefs.td
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorType.h
M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
M mlir/test/Dialect/SparseTensor/invalid_encoding.mlir
Log Message:
-----------
[mlir][sparse] Add verification for explicit/implicit value (#90111)
1. Verify that the type of explicit/implicit values should be the same
as the tensor element type.
2. Verify that implicit value could only be zero.
3. Verify that explicit/implicit values should be numeric.
4. Fix the type change issue caused by SparseTensorType(enc).
Commit: 34ae2265e88c8a04350de5a244d0d888e74a8388
https://github.com/llvm/llvm-project/commit/34ae2265e88c8a04350de5a244d0d888e74a8388
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
A clang/test/CXX/temp/temp.spec/temp.expl.spec/p14-23.cpp
A clang/test/CXX/temp/temp.spec/temp.expl.spec/p8.cpp
Log Message:
-----------
[Clang][Sema] Improve support for explicit specializations of constrained member functions & member function templates (#88963)
Consider the following snippet from the discussion of CWG2847 on the core reflector:
```
template<typename T>
concept C = sizeof(T) <= sizeof(long);
template<typename T>
struct A
{
template<typename U>
void f(U) requires C<U>; // #1, declares a function template
void g() requires C<T>; // #2, declares a function
template<>
void f(char); // #3, an explicit specialization of a function template that declares a function
};
template<>
template<typename U>
void A<short>::f(U) requires C<U>; // #4, an explicit specialization of a function template that declares a function template
template<>
template<>
void A<int>::f(int); // #5, an explicit specialization of a function template that declares a function
template<>
void A<long>::g(); // #6, an explicit specialization of a function that declares a function
```
A number of problems exist:
- Clang rejects `#4` because the trailing _requires-clause_ has `U`
substituted with the wrong template parameter depth when
`Sema::AreConstraintExpressionsEqual` is called to determine whether it
matches the trailing _requires-clause_ of the implicitly instantiated
function template.
- Clang rejects `#5` because the function template specialization
instantiated from `A<int>::f` has a trailing _requires-clause_, but `#5`
does not (nor can it have one as it isn't a templated function).
- Clang rejects `#6` for the same reasons it rejects `#5`.
This patch resolves these issues by making the following changes:
- To fix `#4`, `Sema::AreConstraintExpressionsEqual` is passed
`FunctionTemplateDecl`s when comparing the trailing _requires-clauses_
of `#4` and the function template instantiated from `#1`.
- To fix `#5` and `#6`, the trailing _requires-clauses_ are not compared
for explicit specializations that declare functions.
In addition to these changes, `CheckMemberSpecialization` now considers
constraint satisfaction/constraint partial ordering when determining
which member function is specialized by an explicit specialization of a
member function for an implicit instantiation of a class template (we
previously would select the first function that has the same type as the
explicit specialization). With constraints taken under consideration, we
match EDG's behavior for these declarations.
Commit: 584253c4e2f788f870488fc32193b52d67ddaccc
https://github.com/llvm/llvm-project/commit/584253c4e2f788f870488fc32193b52d67ddaccc
Author: Benji Smith <6193112+Benjins at users.noreply.github.com>
Date: 2024-05-08 (Wed, 08 May 2024)
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 getters and build function for CallBr (#91154)
This adds LLVMBuildCallBr to create CallBr instructions, and getters for
the CallBr-specific data. The remainder of its data, e.g.
arguments/function, can be accessed using existing getters.
Commit: c4e5a8a4d3ef0948384d9411ea1e44fc113e5b5c
https://github.com/llvm/llvm-project/commit/c4e5a8a4d3ef0948384d9411ea1e44fc113e5b5c
Author: Aart Bik <ajcbik at google.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorCodegen.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_pack_d.mlir
A mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_print_3d.mlir
Log Message:
-----------
[mlir][sparse] support 'batch' dimensions in sparse_tensor.print (#91411)
Commit: 2dade0041a62b192e9bde24ae6bbe6208f027523
https://github.com/llvm/llvm-project/commit/2dade0041a62b192e9bde24ae6bbe6208f027523
Author: Jinsong Ji <jinsong.ji at intel.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/lib/CodeGen/Analysis.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
A llvm/test/CodeGen/X86/tailcall-range.ll
Log Message:
-----------
[Analysis] Attribute Range should not prevent tail call optimization (#91122)
- Remove Range attr when comparing for tailcall
- Add test for testcall with range
Commit: 7098cd215b95286794d9e0c822e8323ad0509750
https://github.com/llvm/llvm-project/commit/7098cd215b95286794d9e0c822e8323ad0509750
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M .github/CODEOWNERS
Log Message:
-----------
[NFC] Add myself as code owner for llvm/IR/Core.cpp
In practice I end up reviewing most changes to the C API.
Commit: d085b42cbbefe79a41113abcd2b1e1f2a203acef
https://github.com/llvm/llvm-project/commit/d085b42cbbefe79a41113abcd2b1e1f2a203acef
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/test/Transforms/InstCombine/icmp.ll
M llvm/test/Transforms/InstCombine/select.ll
M llvm/test/Transforms/PGOProfile/chr.ll
Log Message:
-----------
[InstSimplify] Do not simplify freeze in `simplifyWithOpReplaced` (#91215)
See the LangRef:
> All uses of a value returned by the same ‘freeze’ instruction are
guaranteed to always observe the same value, while different ‘freeze’
instructions may yield different values.
It is incorrect to replace freezes with the simplified value.
Proof:
https://alive2.llvm.org/ce/z/3Dn9Cd
https://alive2.llvm.org/ce/z/Qyh5h6
Fixes https://github.com/llvm/llvm-project/issues/91178
Commit: bb01b89cda71fe1594a87f81b3f3c01f66fcac59
https://github.com/llvm/llvm-project/commit/bb01b89cda71fe1594a87f81b3f3c01f66fcac59
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedCallArgsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLocalVarsChecker.cpp
A clang/test/Analysis/Checkers/WebKit/mock-system-header.h
M clang/test/Analysis/Checkers/WebKit/uncounted-local-vars.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-members.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
Log Message:
-----------
[analyzer] Ignore system headers in WebKit checkers. (#91103)
Commit: 0af448b71116ae93eae1cb9c3121cb94be076fc3
https://github.com/llvm/llvm-project/commit/0af448b71116ae93eae1cb9c3121cb94be076fc3
Author: Menooker <yijie.mei at intel.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/Bufferization/Transforms/Passes.h
M mlir/include/mlir/Dialect/Bufferization/Transforms/Passes.td
M mlir/lib/Dialect/Bufferization/Transforms/BufferResultsToOutParams.cpp
A mlir/test/Transforms/buffer-results-to-out-params-elim.mlir
Log Message:
-----------
[MLIR][Bufferization] BufferResultsToOutParams: Add an option to eliminate AllocOp and avoid Copy (#90011)
Add an option hoist-static-allocs to remove the unnecessary memref.alloc
and memref.copy after this pass, when the memref in ReturnOp is
allocated by memref.alloc and is statically shaped. Instead, it replaces
the uses of the allocated memref with the memref in the out argument.
By default, BufferResultsToOutParams will result in a memcpy operation
to copy the originally returned memref to the output argument memref.
This is inefficient when the source of memcpy (the returned memref in
the original ReturnOp) is from a local AllocOp. The pass can use the
output argument memref to replace the locally allocated memref for
better performance.hoist-static-allocs avoids dynamic allocation and
memory movement.
This option will be critical for performance-sensivtive applications,
which require BufferResultsToOutParams pass for a caller-owned output
buffer calling convension.
Commit: 1c8c2fdd289075d6ef448f60db9dd30caf7f78df
https://github.com/llvm/llvm-project/commit/1c8c2fdd289075d6ef448f60db9dd30caf7f78df
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M mlir/lib/Dialect/Bufferization/Transforms/BufferResultsToOutParams.cpp
Log Message:
-----------
[mlir] Fix -Wdeprecated-declarations in BufferResultsToOutParams.cpp (NFC)
/llvm-project/mlir/lib/Dialect/Bufferization/Transforms/BufferResultsToOutParams.cpp:124:26:
error: 'cast' is deprecated: Use mlir::cast<U>() instead [-Werror,-Wdeprecated-declarations]
124 | orig.getType().cast<MemRefType>().hasStaticShape()) {
|
Commit: 31b45a9d0d91cc3a78446ee379abc6f2a3000065
https://github.com/llvm/llvm-project/commit/31b45a9d0d91cc3a78446ee379abc6f2a3000065
Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/include/clang/Basic/Builtins.td
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/lib/Sema/SemaChecking.cpp
M clang/test/CodeGen/builtins-elementwise-math.c
M clang/test/CodeGen/strictfp-elementwise-bulitins.cpp
A clang/test/CodeGenHLSL/builtins/tan.hlsl
M clang/test/Sema/aarch64-sve-vector-trig-ops.c
M clang/test/Sema/builtins-elementwise-math.c
M clang/test/Sema/riscv-rvv-vector-trig-ops.c
M clang/test/SemaCXX/builtins-elementwise-math.cpp
M clang/test/SemaHLSL/BuiltIns/half-float-only-errors.hlsl
M llvm/docs/LangRef.rst
M llvm/include/llvm/IR/Intrinsics.td
Log Message:
-----------
[clang][hlsl] Add tan intrinsic part 1 (#90276)
This change is an implementation of #87367's investigation on supporting
IEEE math operations as intrinsics.
Which was discussed in this RFC:
https://discourse.llvm.org/t/rfc-all-the-math-intrinsics/78294
If you want an overarching view of how this will all connect see:
https://github.com/llvm/llvm-project/pull/90088
Changes:
- `clang/docs/LanguageExtensions.rst` - Document the new elementwise tan
builtin.
- `clang/include/clang/Basic/Builtins.td` - Implement the tan builtin.
- `clang/lib/CodeGen/CGBuiltin.cpp` - invoke the tan intrinsic on uses
of the builtin
- `clang/lib/Headers/hlsl/hlsl_intrinsics.h` - Associate the tan builtin
with the equivalent hlsl apis
- `clang/lib/Sema/SemaChecking.cpp` - Add generic sema checks as well as
HLSL specifc sema checks to the tan builtin
- `llvm/include/llvm/IR/Intrinsics.td` - Create the tan intrinsic
- `llvm/docs/LangRef.rst` - Document the tan intrinsic
Commit: b438a817bd863699715116ee7d85b454f3289c08
https://github.com/llvm/llvm-project/commit/b438a817bd863699715116ee7d85b454f3289c08
Author: Jhonatan Cléto <52751492+cl3to at users.noreply.github.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M offload/plugins-nextgen/common/src/PluginInterface.cpp
M offload/src/omptarget.cpp
Log Message:
-----------
[Offload] Fix dataDelete op for TARGET_ALLOC_HOST memory type (#91134)
Summary:
The `GenericDeviceTy::dataDelete` method doesn't verify the
`TargetAllocTy` of the of the device pointer. Because of this, it can
use the `MemoryManager` to free the ptr. However, the
`TARGET_ALLOC_HOST` and `TARGET_ALLOC_SHARED` types are not allocated
using the `MemoryManager` in the `GenericDeviceTy::dataAlloc` method.
Since the `MemoryManager` uses the `DeviceAllocatorTy::free` operation
without specifying the type of the ptr, some plugins may use incorrect
operations to free ptrs of certain types. In particular, this bug causes
the CUDA plugin to use the `cuMemFree` operation on ptrs of type
`TARGET_ALLOC_HOST`, resulting in an unchecked error, as shown in the
output snippet of the test
`offload/test/api/omp_host_pinned_memory_alloc.c`:
```
omptarget --> Notifying about an unmapping: HstPtr=0x00007c6114200000
omptarget --> Call to llvm_omp_target_free_host for device 0 and address 0x00007c6114200000
omptarget --> Call to omp_get_num_devices returning 1
omptarget --> Call to omp_get_initial_device returning 1
PluginInterface --> MemoryManagerTy::free: target memory 0x00007c6114200000.
PluginInterface --> Cannot find its node. Delete it on device directly.
TARGET CUDA RTL --> Failure to free memory: Error in cuMemFree[Host]: invalid argument
omptarget --> omp_target_free deallocated device ptr
```
This patch fixes this by adding the check of the device pointer type
before calling the appropriate operation for each type.
Commit: f4d2f7a3b7984795d61ff45daf37c76bf3fc8604
https://github.com/llvm/llvm-project/commit/f4d2f7a3b7984795d61ff45daf37c76bf3fc8604
Author: Liao Chunyu <chunyu at iscas.ac.cn>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.h
M llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td
M llvm/lib/Target/RISCV/RISCVRedundantCopyElimination.cpp
A llvm/test/CodeGen/RISCV/xcvbi.ll
Log Message:
-----------
[RISCV] Codegen support for XCVbi extension (#89719)
spec:
https://github.com/openhwgroup/cv32e40p/blob/master/docs/source/instruction_set_extensions.rst#immediate-branching-operations
Contributors: @CharKeaney, @jeremybennett, @lewis-revill,
@NandniJamnadas,
@PaoloS02, @simonpcook, @xingmingjie, @realqhc, @PhilippvK, at melonedo
Commit: 48b6f4a18255816df51fcab7648c5a7f205dfe14
https://github.com/llvm/llvm-project/commit/48b6f4a18255816df51fcab7648c5a7f205dfe14
Author: Luke Lau <luke at igalia.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/spill-fpr-scalar.ll
Log Message:
-----------
[RISCV] Rewrite spill-fpr-scalar.ll test to not use vsetvli. NFC (#91428)
It was relying on the fact that vsetvlis have side effects to prevent
reordering, but #91319 proposes to remove the side effects. This reworks
it to use volatile loads and stores instead.
Commit: 812c3025ec033ad1f306aff7f8b6e6695a79ee35
https://github.com/llvm/llvm-project/commit/812c3025ec033ad1f306aff7f8b6e6695a79ee35
Author: Thorsten Schütt <schuett at gmail.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-ptr-add.mir
Log Message:
-----------
[GlobalIsel][AArch64] legalize ptr add (#89218)
LLVM ERROR: unable to legalize instruction: %275:_(<4 x p0>) = G_PTR_ADD
%268:_, %274:_(<4 x s64>) (in function: prepare_for_pass)
Commit: 2c209957819328481554e7c5929d134502b4972a
https://github.com/llvm/llvm-project/commit/2c209957819328481554e7c5929d134502b4972a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/include/llvm/TargetParser/RISCVISAInfo.h
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Detect duplicate extensions in parseNormalizedArchString. (#91416)
This detects the same extension name being added twice. Mostly I'm
worried about the case that the same string appears with two different
versions. We will only preserve one of the versions.
We could allow the same version to be repeated, but that doesn't seem
useful at the moment.
I've updated addExtension to use map::emplace instead of
map::operator[]. This means we only keep the first version if there are
duplicates. Previously we kept the last version, but that shouldn't matter
now that we don't allow duplicates. parseArchString already doesn't allow
duplicates.
Commit: 85ef6b7c364f3b57c13c179bf278fe47366287a2
https://github.com/llvm/llvm-project/commit/85ef6b7c364f3b57c13c179bf278fe47366287a2
Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/lib/Target/DirectX/DXIL.td
A llvm/test/CodeGen/DirectX/tan.ll
A llvm/test/CodeGen/DirectX/tan_error.ll
Log Message:
-----------
[DXIL] Add tan intrinsic part 2 (#90277)
This change is an implementation of #87367's investigation on supporting
IEEE math operations as intrinsics.
Which was discussed in this RFC:
https://discourse.llvm.org/t/rfc-all-the-math-intrinsics/78294
If you want an overarching view of how this will all connect see:
https://github.com/llvm/llvm-project/pull/90088
Changes:
- `llvm/include/llvm/IR/Intrinsics.td` - Create the tan intrinsic
- `llvm/lib/Target/DirectX/DXIL.td` - Map `int_tan` (the tan intrinsic)
to the equivalent DXIL Op.
Commit: ef84452571b8e8f4a38a173e6adf6a5ecbbde97e
https://github.com/llvm/llvm-project/commit/ef84452571b8e8f4a38a173e6adf6a5ecbbde97e
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AArch64/pr90936.ll
Log Message:
-----------
[DAGCombiner] Be more careful about looking through extends and truncates in mergeTruncStores. (#91375)
Previously we recursively looked through extends and truncates on both
SourceValue and WideVal.
SourceValue is the largest source found for each of the stores we are
combining. WideVal is the source for the current store.
Previously we could incorrectly look through a (zext (trunc X)) pair and
incorrectly believe X to be a good source.
I think we could also look through a zext on one store and a sext on
another store and arbitrarily pick one of the extends as the final
source.
With this patch we only look through one level of extend or truncate.
And we don't look through extends/truncs on both SourceValue and WideVal
at the same time.
This may lose some optimization cases, but keeps everything we had tests
for.
Fixes #90936.
Commit: 0d93b01c3b1e2e543acec3f36db639b8b7b0b20d
https://github.com/llvm/llvm-project/commit/0d93b01c3b1e2e543acec3f36db639b8b7b0b20d
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/lib/Support/RISCVISAUtils.cpp
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Don't crash if parseNormalizedArchString encounters a multi-letter extension with an unknown prefix. (#91398)
The sorting code previously asserted if a prefix was multiple letters,
but didn't start with s, x, or z.
Replace the assert with an explicit check and sort the multi-letter
extension after the known multi-letter prefixes.
Commit: 8296f061aafb844bf3b9b002b7791ade7a1d3006
https://github.com/llvm/llvm-project/commit/8296f061aafb844bf3b9b002b7791ade7a1d3006
Author: Luke Lau <luke at igalia.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
Log Message:
-----------
[RISCV] Add invariants that registers always have definitions. NFC (#90587)
For vector merge operands, we check if it's a NoRegister beforehand so
any other register type should have a definition.
For VL operands, they don't get replaced with NoRegisters since they're
scalar and should also always have a definition, even if it's an
implicit_def.
All the definitions at this stage should also be unique, this will
change in #70549
Commit: 3e82442ff7288b4c41bb77888bc2cfea2c34d6ee
https://github.com/llvm/llvm-project/commit/3e82442ff7288b4c41bb77888bc2cfea2c34d6ee
Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/docs/GlobalISel/GenericOpcode.rst
M llvm/include/llvm/Support/TargetOpcodes.def
M llvm/include/llvm/Target/GenericOpcodes.td
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/tan.ll
Log Message:
-----------
[SPIRV] Add tan intrinsic part 3 (#90278)
This change is an implementation of #87367's investigation on supporting
IEEE math operations as intrinsics.
Which was discussed in this RFC:
https://discourse.llvm.org/t/rfc-all-the-math-intrinsics/78294
If you want an overarching view of how this will all connect see:
https://github.com/llvm/llvm-project/pull/90088
Changes:
- `llvm/docs/GlobalISel/GenericOpcode.rst` - Document the `G_FTAN`
opcode
- `llvm/include/llvm/IR/Intrinsics.td` - Create the tan intrinsic
- `llvm/include/llvm/Support/TargetOpcodes.def` - Create a `G_FTAN`
Opcode handler
- `llvm/include/llvm/Target/GenericOpcodes.td` - Define the `G_FTAN`
Opcode
- `llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp` Map the tan intrinsic
to `G_FTAN` Opcode
- `llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp` - Map the
`G_FTAN` opcode to the GLSL 4.5 and openCL tan instructions.
- `llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp` - Define `G_FTAN` as a
legal spirv target opcode.
Commit: 084e2b53d22c11e013b0a495b65d39aa7f934048
https://github.com/llvm/llvm-project/commit/084e2b53d22c11e013b0a495b65d39aa7f934048
Author: Christian Ulmann <christianulmann at gmail.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M mlir/include/mlir/Interfaces/MemorySlotInterfaces.td
M mlir/include/mlir/Transforms/Mem2Reg.h
M mlir/include/mlir/Transforms/SROA.h
M mlir/lib/Dialect/LLVMIR/IR/LLVMMemorySlot.cpp
M mlir/lib/Dialect/MemRef/IR/MemRefMemorySlot.cpp
M mlir/lib/Transforms/Mem2Reg.cpp
M mlir/lib/Transforms/SROA.cpp
Log Message:
-----------
[MLIR][Interfaces] Change MemorySlotInterface to use OpBuilder (#91341)
This commit changes the `MemorySlotInterface` back to using `OpBuilder`
instead of a rewriter. This was originally introduced in
https://reviews.llvm.org/D150432 but it was shown that patterns are a
bad idea for both Mem2Reg and SROA.
Mem2Reg suffers from the usage of a rewriter due to being forced to
create new basic blocks. This is an issue, as it leads to the
invalidation of the dominance information, which can be expensive to
recompute.
Commit: a99ce615f19fec6fbb835490b89f53cba3cf9eff
https://github.com/llvm/llvm-project/commit/a99ce615f19fec6fbb835490b89f53cba3cf9eff
Author: jyu2-git <jennifer.yu at intel.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/lib/Parse/ParseOpenMP.cpp
M clang/test/OpenMP/target_ast_print.cpp
M clang/test/OpenMP/target_map_messages.cpp
Log Message:
-----------
Revert "Revert "[OpenMP][TR12] change property of map-type modifier."… (#91141)
… (#90885)"
This reverts commit eea81aa29848361eb5b24f24d2af643fdeb9adfd.
Also change isMapType as @vitalybuka suggested. Hope this fix sanitizer
build problem.
Commit: 8755d24cb34b902557469445e1983850e0ce7cc7
https://github.com/llvm/llvm-project/commit/8755d24cb34b902557469445e1983850e0ce7cc7
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M compiler-rt/lib/ctx_profile/tests/CtxInstrProfilingTest.cpp
Log Message:
-----------
[compiler-rt][ctx_profile] Fix signed-ness warnings in test
Follow-up from PR ##89838. Some build bots warn-as-error
about signed/unsigned comparison in CtxInstrProfilingTest.
Example: https://lab.llvm.org/buildbot/#/builders/37/builds/34610
Commit: 23ae482bd01d7c966f871ddd620e9a26d6d66299
https://github.com/llvm/llvm-project/commit/23ae482bd01d7c966f871ddd620e9a26d6d66299
Author: martinboehme <mboehme at google.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M clang/include/clang/Analysis/FlowSensitive/DataflowAnalysis.h
M clang/include/clang/Analysis/FlowSensitive/DataflowAnalysisContext.h
M clang/lib/Analysis/FlowSensitive/DataflowAnalysisContext.cpp
Log Message:
-----------
[clang][dataflow] Allow `DataflowAnalysisContext` to use a non-owned `Solver`. (#91316)
For some callers (see change in DataflowAnalysis.h), this is more
convenient.
Commit: e44600f3ab58b0e93a2a80f18e17181c2bc007a4
https://github.com/llvm/llvm-project/commit/e44600f3ab58b0e93a2a80f18e17181c2bc007a4
Author: Freddy Ye <freddy.ye at intel.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M clang/lib/Basic/Targets/X86.cpp
A clang/test/CodeGen/X86/inline-asm-gcc-regs.c
Log Message:
-----------
[X86][CFE] Support EGPR in GCCRegNames. (#91323)
Commit: bbd6a2d85c44d99e66b471d251a742f7551a0c61
https://github.com/llvm/llvm-project/commit/bbd6a2d85c44d99e66b471d251a742f7551a0c61
Author: Luke Lau <luke at igalia.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
M llvm/test/CodeGen/RISCV/rvv/rv32-spill-zvlsseg.ll
M llvm/test/CodeGen/RISCV/rvv/rv64-spill-zvlsseg.ll
M llvm/test/CodeGen/RISCV/rvv/vleff-vlseg2ff-output.ll
Log Message:
-----------
[RISCV] Convert implicit_def tuples to noreg in post-isel peephole (#91173)
If a segmented load has an undefined passthru then it will be selected
as a reg_sequence with implicit_def operands, which currently slips
through the implicit_def -> noreg peephole.
This patch fixes this so we're able to infer if the passthru is
undefined without the need for looking through vreg definitions with
MachineRegisterInfo, which will help with moving RISCVInsertVSETVLI to
LiveIntervals in #70549
Commit: 81d304566b3b22781ca42303ec534bdc0ac5418c
https://github.com/llvm/llvm-project/commit/81d304566b3b22781ca42303ec534bdc0ac5418c
Author: Luke Lau <luke at igalia.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
Log Message:
-----------
[RISCV] Remove unused arg in getDemanded in RISCVInsertVSETVLI. NFC
Commit: bafbe39778a972d0f2869980de22fb00c03a6a35
https://github.com/llvm/llvm-project/commit/bafbe39778a972d0f2869980de22fb00c03a6a35
Author: Adrian Kuegel <akuegel at google.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
A llvm/test/CodeGen/NVPTX/atomics-sm90.ll
Log Message:
-----------
[NVPTX] Add support for atomic add for bf16 type (#89586)
atom.add.noftz.bf16 is supported since SM 9.0 and PTX 7.8
Commit: 3aba4b5b4fe1634fc6f9919f987ddf1bb5a57813
https://github.com/llvm/llvm-project/commit/3aba4b5b4fe1634fc6f9919f987ddf1bb5a57813
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M libcxx/include/__functional/is_transparent.h
M libcxx/include/map
M libcxx/include/set
M libcxx/include/unordered_map
M libcxx/include/unordered_set
Log Message:
-----------
[libc++][NFC] Refactor __is_transparent to be a variable template (#90865)
Commit: 9ef28cf88ca6e45c3ecb75c649463f8797db68d2
https://github.com/llvm/llvm-project/commit/9ef28cf88ca6e45c3ecb75c649463f8797db68d2
Author: Ramkumar Ramachandra <r at artagnon.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
A llvm/test/Transforms/VectorCombine/pr88796.ll
Log Message:
-----------
VectorCombine: add test for crash #88796 (#91200)
Commit: 57b9c15227ec15a5e2abf4587d7d0ad536cff9e6
https://github.com/llvm/llvm-project/commit/57b9c15227ec15a5e2abf4587d7d0ad536cff9e6
Author: Ramkumar Ramachandra <r at artagnon.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/VectorCombine/pr88796.ll
Log Message:
-----------
VectorCombine: fix logical error after m_Trunc match (#91201)
The matcher m_Trunc() matches an Operator with a given Opcode, which
could either be an Instruction or ConstExpr.
VectorCombine::foldTruncFromReductions() incorrectly assumes that the
pattern matched is always an Instruction, and attempts a cast. Fix this.
Fixes #88796.
Commit: 746bf297e2f0f637d2e1c197bf04a32ab04b669a
https://github.com/llvm/llvm-project/commit/746bf297e2f0f637d2e1c197bf04a32ab04b669a
Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M flang/lib/Semantics/check-omp-structure.cpp
M flang/test/Semantics/OpenMP/do08.f90
Log Message:
-----------
[Flang][OpenMP] Add checks for EXIT from associated loops (#91315)
Extend the checker that deals with CYCLE to handle EXIT also. The
difference for EXIT is that it is not allowed to EXIT from the innermost
associated loops while it is OK to CYCLE in the innermost associated
loop. Also add an incrementer on leaving the DO loop for EXIT checks.
Commit: 602df270a9bfcb52980a93c85eb615c0d91eba0c
https://github.com/llvm/llvm-project/commit/602df270a9bfcb52980a93c85eb615c0d91eba0c
Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Flang.cpp
M flang/include/flang/Frontend/CompilerInvocation.h
M flang/lib/Frontend/CompilerInvocation.cpp
A flang/test/Driver/w-option.f90
Log Message:
-----------
[Flang] RFC: Add support for -w option 1/n (#90420)
Add support for the -w option to switch OFF all Flang
warnings. This patch only supports switching OFF the
frontend warnings.
TODO : Support for MLIR, LLVM and Driver warnings.
TODO : Support interactions between -w, -pedantic, -Wall
Commit: 1a498103ee5c4d101e70dc49db11938d8b87b518
https://github.com/llvm/llvm-project/commit/1a498103ee5c4d101e70dc49db11938d8b87b518
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M mlir/test/Conversion/ArmSMEToLLVM/arm-sme-to-llvm.mlir
M mlir/test/Conversion/ArmSMEToLLVM/unsupported.mlir
M mlir/test/Conversion/ArmSMEToSCF/arm-sme-to-scf.mlir
A mlir/test/Dialect/ArmSME/basic-tile-allocation.mlir
M mlir/test/Dialect/ArmSME/enable-arm-za.mlir
M mlir/test/Dialect/ArmSME/outer-product-fusion.mlir
R mlir/test/Dialect/ArmSME/tile-allocation.mlir
M mlir/test/Dialect/ArmSME/tile-zero-masks.mlir
Log Message:
-----------
[mlir][ArmSME][test] Prepare tests for tile allocation changes (#91358)
This patch:
1. Removes some duplicate test cases
2. Removes unnecessary uses of `-convert-arm-sme-to-llvm`
3. Ensures tile values have uses via `test.some_use()`
1 and 2 will make these tests easier to update. 3 will be needed as
ArmSME operations will be pure.
Commit: dd4bf22b9380e797362fac1415a1796da338b2db
https://github.com/llvm/llvm-project/commit/dd4bf22b9380e797362fac1415a1796da338b2db
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-shuffle-256-v4.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx.ll
Log Message:
-----------
[X86] combineBlendOfPermutes - don't introduce lane-crossing permutes without AVX2 support.
Fixes #91433
Commit: 8f21294897befee48f9f72734ea1b0ad4c920aa0
https://github.com/llvm/llvm-project/commit/8f21294897befee48f9f72734ea1b0ad4c920aa0
Author: YunQiang Su <syq at debian.org>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M lld/test/ELF/mips-eh_frame-pic.s
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/MC/MCObjectFileInfo.cpp
M llvm/test/CodeGen/Mips/ehframe-indirect.ll
M llvm/test/DebugInfo/Mips/eh_frame.ll
M llvm/test/MC/Mips/eh-frame.s
Log Message:
-----------
MIPS: Use pcrel|sdata4 for eh_frame (#91291)
Gas uses encoding DW_EH_PE_absptr for PIC, and gnu ld converts it to
DW_EH_PE_sdata4|DW_EH_PE_pcrel.
LLD doesn't have this workarounding, thus complains
```
relocation R_MIPS_32 cannot be used against local symbol; recompile with -fPIC
relocation R_MIPS_64 cannot be used against local symbol; recompile with -fPIC
```
So, let's generates asm/obj files with `DW_EH_PE_sdata4|DW_EH_PE_pcrel`
encoding. In fact, GNU ld supports such OBJs well.
For N64, maybe we should use sdata8, while GNU ld doesn't support it
well, and in fact sdata4 is enough now. So we just ignore the `Large`
for `MCObjectFileInfo::initELFMCObjectFileInfo`. Maybe we should switch
back to sdata8 once GNU LD supports it well.
Fixes: #58377.
Commit: df311a27629618f6ba645bfe3f46e981000cb5da
https://github.com/llvm/llvm-project/commit/df311a27629618f6ba645bfe3f46e981000cb5da
Author: Aleksandr Popov <42888396+aleks-tmb at users.noreply.github.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/include/llvm/IR/InstrTypes.h
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
Log Message:
-----------
Add interface to check if a call has a deopt bundle (NFC) (#91348)
Encapsulate check that a call has a deopt bundle to make it easier to
change the deopt scheme.
Commit: d4fef93724e290a82d498f0d8df1a84a5ff50ab3
https://github.com/llvm/llvm-project/commit/d4fef93724e290a82d498f0d8df1a84a5ff50ab3
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[bazel][libc] Split up mutex libraries like ab3a9e724d87a4272782f76b90fb0872a6a86939 did
Commit: aefad851672e6dd17592895066a39aa5b388e5db
https://github.com/llvm/llvm-project/commit/aefad851672e6dd17592895066a39aa5b388e5db
Author: Kadir Cetinkaya <kadircet at google.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M clang-tools-extra/clangd/Preamble.cpp
Log Message:
-----------
[clangd] Fix data race surfaced in clangd-tsan buildbot
We can have concurrent accesses to same PreambleData (e.g.
code-completion and ast-builds). Hence we need to
deep copy TargetOpts.
Commit: 341aecc2dd0f6debcbe9f251a6d2e8a60d327eea
https://github.com/llvm/llvm-project/commit/341aecc2dd0f6debcbe9f251a6d2e8a60d327eea
Author: Weaver <Tom.Weaver at sony.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/lib/Parse/ParseOpenMP.cpp
M clang/test/OpenMP/target_ast_print.cpp
M clang/test/OpenMP/target_map_messages.cpp
Log Message:
-----------
Revert "Revert "Revert "[OpenMP][TR12] change property of map-type modifier."… (#91141)"
This reverts commit a99ce615f19fec6fbb835490b89f53cba3cf9eff.
Caused test failure on following buildbot:
https://lab.llvm.org/buildbot/#/builders/139/builds/65066
Commit: 927913fac74b671b5202eb00a52907d8445c7691
https://github.com/llvm/llvm-project/commit/927913fac74b671b5202eb00a52907d8445c7691
Author: Harald van Dijk <harald.vandijk at codeplay.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/lib/Transforms/Utils/ValueMapper.cpp
Log Message:
-----------
[RemoveDIs] Fix remapping of DbgLabelRecords. (#91447)
We already remapped DILocations for DbgVariableRecords, but
DbgLabelRecords have debug locations too that need to be mapped the same
way.
Commit: 19220110acf5ed5cf8be035b7e4a7aed69f0adb1
https://github.com/llvm/llvm-project/commit/19220110acf5ed5cf8be035b7e4a7aed69f0adb1
Author: Felix (Ting Wang) <Ting.Wang.SH at ibm.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
M llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
M llvm/test/CodeGen/PowerPC/aix-small-local-dynamic-tls-largeaccess.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-dynamic-tls-types.ll
Log Message:
-----------
[PowerPC][AIX] Refactor existing logic to handle non-zero offsets for aix-small-local-dynamic-tls (#89182)
To enable optimized small local-dynamic access sequence for non-zero
offsets, this patch refactors existing
2a50921553798d2db52ca6330c89f0f8a5bc2215.
Commit: 6fa09616da7436f85eb7e1e1fd74e1ac078ddb0d
https://github.com/llvm/llvm-project/commit/6fa09616da7436f85eb7e1e1fd74e1ac078ddb0d
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/MIGChecker.cpp
Log Message:
-----------
[analyzer] Use explicit call description mode in MIGChecker (#91331)
This commit explicitly specifies the matching mode (C library function,
any non-method function, or C++ method) for the `CallDescription`s
constructed in the checker `osx.MIG`.
The code was simplified to use a `CallDescriptionMap` instead of a raw
vector of pairs.
This change won't cause major functional changes, but isn't NFC because
it ensures that e.g. call descriptions for a non-method function won't
accidentally match a method that has the same name.
Separate commits have already performed this change in other checkers:
- easy cases: e2f1cbae45f81f3cd9a4d3c2bcf69a094eb060fa,
6d64f8e1feee014e72730a78b62d9d415df112ff
- MallocChecker: d6d84b5d1448e4f2e24b467a0abcf42fe9d543e9
- iterator checkers: 06eedffe0d2782922e63cc25cb927f4acdaf7b30
- InvalidPtr checker: 024281d4d26344f9613b9115ea1fcbdbdba23235
- apiModeling.llvm.ReturnValue: 97dd8e3c4f38ef345b01fbbf0a2052c7875ff7e0
... and follow-up commits will handle the remaining few checkers.
My goal is to ensure that the call description mode is always explicitly
specified and eliminate (or strongly restrict) the vague "may be either
a method or a simple function" mode that's the current default.
Commit: 943617d12ccbd3cf317f0bbec03d9efc700f3953
https://github.com/llvm/llvm-project/commit/943617d12ccbd3cf317f0bbec03d9efc700f3953
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M clang/lib/CodeGen/CGExprAgg.cpp
Log Message:
-----------
Typo fix; NFC
Commit: c5509fedc5757fffece385d9d068e36b26793ade
https://github.com/llvm/llvm-project/commit/c5509fedc5757fffece385d9d068e36b26793ade
Author: Xiang Li <python3kgae at outlook.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Parse/ParseHLSL.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaHLSL.cpp
A clang/test/AST/HLSL/packoffset.hlsl
A clang/test/SemaHLSL/packoffset-invalid.hlsl
Log Message:
-----------
[HLSL] Support packoffset attribute in AST (#89836)
Add HLSLPackOffsetAttr to save packoffset in AST.
Since we have to parse the attribute manually in ParseHLSLAnnotations,
we could create the ParsedAttribute with a integer offset parameter
instead of string. This approach avoids parsing the string if the offset
is saved as a string in HLSLPackOffsetAttr.
For #57914.
Commit: 737e0bcfe344bd9a8c4e4c3c2e80fdbe93bfaafb
https://github.com/llvm/llvm-project/commit/737e0bcfe344bd9a8c4e4c3c2e80fdbe93bfaafb
Author: Thorsten Schütt <schuett at gmail.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/include/llvm/CodeGen/GlobalISel/GenericMachineInstrs.h
M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/GISelKnownBits.cpp
M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
A llvm/test/CodeGen/AArch64/GlobalISel/combine-with-flags.mir
Log Message:
-----------
[GlobalIsel] combine ext of trunc with flags (#87115)
https://github.com/llvm/llvm-project/pull/85592
https://discourse.llvm.org/t/rfc-add-nowrap-flags-to-trunc/77453
https://github.com/llvm/llvm-project/pull/88609
Commit: db4cf7c0fc713c09bbe10dd2be4a3d0fb081014c
https://github.com/llvm/llvm-project/commit/db4cf7c0fc713c09bbe10dd2be4a3d0fb081014c
Author: Renato Golin <rengolin at systemcall.eu>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M .github/CODEOWNERS
Log Message:
-----------
Update CODEOWNERS
Adding myself to linalg dialect
Commit: c84c74e67839a5207d7c6318fc37e607f088a994
https://github.com/llvm/llvm-project/commit/c84c74e67839a5207d7c6318fc37e607f088a994
Author: Paul Walker <paul.walker at arm.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/sve-extract-fixed-from-scalable-vector.ll
Log Message:
-----------
[LLVM][CodeGen][SVE] Add tests for vector extracts from unpacked types.
Commit: 686a206b2665b6ba9245980489daa79dc8547079
https://github.com/llvm/llvm-project/commit/686a206b2665b6ba9245980489daa79dc8547079
Author: Nabeel Omer <nabeel.omer at sony.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/lib/Transforms/IPO/SampleProfile.cpp
A llvm/test/Transforms/SampleProfile/Inputs/overflow.proftext
A llvm/test/Transforms/SampleProfile/overflow.ll
Log Message:
-----------
[SampleProfileLoader] Fix integer overflow in generateMDProfMetadata (#90217)
This patch fixes an integer overflow in the SampleProfileLoader pass.
The issue occurs when weights are saturated and Profi isn't being used.
This patch also adds a newline to a debug message to make it more
readable.
Commit: 3ceacd8b9567a25308f7aaa73d266ee3b4c6ab5f
https://github.com/llvm/llvm-project/commit/3ceacd8b9567a25308f7aaa73d266ee3b4c6ab5f
Author: Paul T Robinson <paul.robinson at sony.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M clang/test/CodeGenCoroutines/coro-dwarf.cpp
Log Message:
-----------
[Coro] Relax a debug-info test (#91401)
Debug-info metadata does not have a strictly defined order. Check that
elements are linked to each other correctly, not that metadata appears
in a particular order.
Commit: 665af09a86b8d80af33f170fca89ced9986cf1e5
https://github.com/llvm/llvm-project/commit/665af09a86b8d80af33f170fca89ced9986cf1e5
Author: Xiang Li <python3kgae at outlook.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/include/llvm/TargetParser/Triple.h
M llvm/lib/Target/DirectX/DXILMetadata.cpp
M llvm/lib/Target/DirectX/DXILMetadata.h
M llvm/lib/Target/DirectX/DXILTranslateMetadata.cpp
M llvm/lib/TargetParser/Triple.cpp
A llvm/test/CodeGen/DirectX/Metadata/dxilVer-1.0.ll
A llvm/test/CodeGen/DirectX/Metadata/dxilVer-1.8.ll
M llvm/unittests/TargetParser/TripleTest.cpp
Log Message:
-----------
[DirectX backend] emits metadata for DXIL version. (#88350)
Emit named metadata "dx.version" for DXIL version.
Default to DXIL 1.0
Commit: 40b322baef143df271d8b9142028aaeeec2a4d78
https://github.com/llvm/llvm-project/commit/40b322baef143df271d8b9142028aaeeec2a4d78
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/test/Analysis/ScalarEvolution/backedge-taken-count-guard-info.ll
A llvm/test/Transforms/IndVarSimplify/trip-count-expansion-loop-guard-preserve-nsw.ll
Log Message:
-----------
[SCEV] Add tests for missed NSW preservation during loop guard handling.
Add test coverage for missed simplification.
Commit: f97f04ec4392c79163179331211ea8c48e61799b
https://github.com/llvm/llvm-project/commit/f97f04ec4392c79163179331211ea8c48e61799b
Author: Daniel Chen <cdchen at ca.ibm.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M mlir/tools/mlir-src-sharder/mlir-src-sharder.cpp
Log Message:
-----------
[mlir] Fixing a regression that '-D' option of llvm-tblgen is unregistered. (#91329)
PR #89664 introduced a regression that it unregistered llvm-tblgen
option `-D` for macros. The test `TestOps.cpp` failed due to passing a
macros to llvm-tblgen.
It caused our internal build to fail because we append `-DLOCAL_NAME`
into `LLVM_TABLEGEN_FLANGS` in `llvm/lib/cmake/llvm/TableGen.cmake` as
```
list(APPEND LLVM_TABLEGEN_FLAGS "-DLOCAL_NAME")
```
And in `./llvm/lib/Target/PowerPC/PPC.td`, we check it for some
downstream code as:
```
...
#ifdef LOCAL_NAME
...
#endif
```
Now we got error message from mlir-src-sharder as
```
mlir-src-sharder -op-shard-index=1 -DLOCAL_NAME llvm-project/mlir/test/lib/Dialect/Test/TestOps.cpp --write-if-changed -o tools/mlir/test/lib/Dialect/Test/TestOps.1.cpp -d tools/mlir/test/lib/Dialect/Test/TestOps.1.cpp.d
mlir-src-sharder: Unknown command line argument '-DLOCAL_NAME'. Try: 'llvm-project/build/bin/mlir-src-sharder --help'
mlir-src-sharder: Did you mean '-I'?
```
This PR is to fix the regression.
Commit: 9c09b0840e82490ed194207adc03d3e7284b8764
https://github.com/llvm/llvm-project/commit/9c09b0840e82490ed194207adc03d3e7284b8764
Author: Xiang Li <python3kgae at outlook.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Parse/ParseHLSL.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaHLSL.cpp
R clang/test/AST/HLSL/packoffset.hlsl
R clang/test/SemaHLSL/packoffset-invalid.hlsl
Log Message:
-----------
Revert "[HLSL] Support packoffset attribute in AST (#89836)" (#91473)
This reverts commit c5509fedc5757fffece385d9d068e36b26793ade.
Commit: c6efcc925c9969d616bc463171c0423d6a9766af
https://github.com/llvm/llvm-project/commit/c6efcc925c9969d616bc463171c0423d6a9766af
Author: Christian Ulmann <christianulmann at gmail.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M mlir/include/mlir/Transforms/Mem2Reg.h
M mlir/lib/Transforms/Mem2Reg.cpp
Log Message:
-----------
[MLIR][Mem2Reg] Improve performance by avoiding recomputations (#91444)
This commit ensures that Mem2Reg reuses the `DominanceInfo` as well as
block index maps to avoid expensive recomputations. Due to the recent
migration to `OpBuilder`, the promotion of a slot does no longer replace
blocks. Having stable blocks makes the `DominanceInfo` preservable and
additionally allows to cache block index maps between different
promotions.
Performance measurements on very large functions show an up to 4x
speedup by these changes.
Commit: 2c1c67674cb3beb4e091a9f446de5858631cf8ae
https://github.com/llvm/llvm-project/commit/2c1c67674cb3beb4e091a9f446de5858631cf8ae
Author: srcarroll <50210727+srcarroll at users.noreply.github.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
M mlir/include/mlir/Dialect/Transform/Utils/Utils.h
M mlir/include/mlir/Interfaces/ViewLikeInterface.h
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Transform/Utils/Utils.cpp
M mlir/lib/Interfaces/ViewLikeInterface.cpp
M mlir/test/Dialect/LLVM/transform-e2e.mlir
M mlir/test/Dialect/Linalg/generalize-tensor-pack-tile.mlir
M mlir/test/Dialect/Linalg/generalize-tensor-unpack-tile.mlir
M mlir/test/Dialect/Linalg/matmul-shared-memory-padding.mlir
M mlir/test/Dialect/Linalg/multisize-tiling-full.mlir
M mlir/test/Dialect/Linalg/promote.mlir
M mlir/test/Dialect/Linalg/promotion_options.mlir
M mlir/test/Dialect/Linalg/tile-conv.mlir
M mlir/test/Dialect/Linalg/tile-indexed.mlir
M mlir/test/Dialect/Linalg/tile-softmax.mlir
M mlir/test/Dialect/Linalg/tile-tensors.mlir
M mlir/test/Dialect/Linalg/tile-to-forall.mlir
M mlir/test/Dialect/Linalg/transform-op-compose-masked-vectorize-and-cleanups.mlir
M mlir/test/Dialect/Linalg/transform-op-fuse.mlir
M mlir/test/Dialect/Linalg/transform-op-hoist-pad-build-packing-loop-nest.mlir
M mlir/test/Dialect/Linalg/transform-op-hoist-pad.mlir
M mlir/test/Dialect/Linalg/transform-op-mmt4d-to-fma.mlir
M mlir/test/Dialect/Linalg/transform-op-pack.mlir
M mlir/test/Dialect/Linalg/transform-op-peel-and-vectorize-conv.mlir
M mlir/test/Dialect/Linalg/transform-op-peel-and-vectorize.mlir
M mlir/test/Dialect/Linalg/transform-op-scalarize.mlir
M mlir/test/Dialect/Linalg/transform-op-tile.mlir
M mlir/test/Dialect/Linalg/transform-ops-invalid.mlir
M mlir/test/Dialect/Linalg/transform-ops.mlir
M mlir/test/Dialect/Linalg/transform-patterns.mlir
M mlir/test/Dialect/Linalg/vectorize-tensor-extract-masked.mlir
M mlir/test/Dialect/Tensor/tiling.mlir
M mlir/test/Dialect/Transform/ops.mlir
M mlir/test/Dialect/Transform/selective-targeting.mlir
M mlir/test/Dialect/Vector/transform-vector.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/matmul-transpose-a.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/matmul.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/multi-tile-matmul-mixed-types.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/multi-tile-matmul.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSVE/matmul.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/mmt4d.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/pack-unpack-mmt4d.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/test-conv-1d-call.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/test-conv-1d-nwc-wcf-call.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/test-conv-2d-call.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/test-conv-2d-nhwc-hwcf-call.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/test-conv-3d-call.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/test-conv-3d-ndhwc-dhwcf-call.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/test-tensor-matmul.mlir
M mlir/test/Interfaces/TilingInterface/tile-pad-using-interface.mlir
M mlir/test/Interfaces/TilingInterface/tile-using-interface.mlir
M mlir/test/python/dialects/transform_structured_ext.py
Log Message:
-----------
[mlir][transform] Consistent `linalg` `transform` op syntax for dynamic index lists (#90897)
This patch is a first pass at making consistent syntax across the
`LinalgTransformOp`s that use dynamic index lists for size parameters.
Previously, there were two different forms: inline types in the list, or
place them in the functional style tuple. This patch goes for the
latter.
In order to do this, the `printPackedOrDynamicIndexList`,
`printDynamicIndexList` and their `parse` counterparts were modified so
that the types can be optionally provided to the corresponding custom
directives.
All affected ops now use tablegen `assemblyFormat`, so custom
`parse`/`print` functions have been removed. There are a couple ops that
will likely add dynamic size support, and once that happens it should be
made sure that the assembly remains consistent with the changes in this
patch.
The affected ops are as follows: `pack`, `pack_greedily`,
`tile_using_forall`. The `tile_using_for` and `vectorize` ops already
used this syntax, but their custom assembly was removed.
---------
Co-authored-by: Oleksandr "Alex" Zinenko <ftynse at gmail.com>
Commit: d6d613aaebc0ae503409ba7719a43b4a55e1ee70
https://github.com/llvm/llvm-project/commit/d6d613aaebc0ae503409ba7719a43b4a55e1ee70
Author: martinboehme <mboehme at google.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M clang/docs/tools/clang-formatted-files.txt
M clang/unittests/Analysis/FlowSensitive/CMakeLists.txt
R clang/unittests/Analysis/FlowSensitive/SolverTest.cpp
A clang/unittests/Analysis/FlowSensitive/SolverTest.h
A clang/unittests/Analysis/FlowSensitive/WatchedLiteralsSolverTest.cpp
M llvm/utils/gn/secondary/clang/unittests/Analysis/FlowSensitive/BUILD.gn
Log Message:
-----------
[clang][dataflow] Make `SolverTest` a type-parameterized test. (#91455)
This allows the tests to be run against any implementation of `Solver`
instead
of begin specific to `WatchedLiteralsSolver` as they currently are.
Commit: b5afda8d760998641cf08a6d229252924b0ad146
https://github.com/llvm/llvm-project/commit/b5afda8d760998641cf08a6d229252924b0ad146
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/ctlz_zero_undef.ll
Log Message:
-----------
AMDGPU: Add some more ctlz_zero_undef tests
Commit: 27a062e9ca7c92e89ed4084c3c3affb9fa39aabb
https://github.com/llvm/llvm-project/commit/27a062e9ca7c92e89ed4084c3c3affb9fa39aabb
Author: serge-sans-paille <sguelton at mozilla.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M libcxx/benchmarks/CMakeLists.txt
A libcxx/benchmarks/numeric/gcd.bench.cpp
M libcxx/include/__numeric/gcd_lcm.h
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/cxx26.csv
M libcxx/test/std/numerics/numeric.ops/numeric.ops.gcd/gcd.pass.cpp
Log Message:
-----------
[libc++] Implement std::gcd using the binary version (#77747)
The binary version is four times faster than current implementation in
my setup, and generally considered a better implementation.
Code inspired by https://en.algorithmica.org/hpc/algorithms/gcd/ which
itself is inspired by
https://lemire.me/blog/2013/12/26/fastest-way-to-compute-the-greatest-common-divisor/
Fix #77648
Commit: 73bb8d9d92f689863c94d48517e89d35dae0ebcf
https://github.com/llvm/llvm-project/commit/73bb8d9d92f689863c94d48517e89d35dae0ebcf
Author: Jonathan Peyton <jonathan.l.peyton at intel.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M openmp/runtime/src/kmp_settings.cpp
M openmp/runtime/test/affinity/redetect.c
Log Message:
-----------
[OpenMP] Fix child processes to use affinity_none (#91391)
When a child process is forked with OpenMP already initialized, the
child process resets its affinity mask and sets proc-bind-var to false
so that the entire original affinity mask is used. This patch corrects
an issue with the affinity initialization code setting affinity to
compact instead of none for this special case of forked children.
The test trying to catch this only testing explicit setting of
KMP_AFFINITY=none. Add test run for no KMP_AFFINITY setting.
Fixes: #91098
Commit: 6ed8434edc5934210a38be99f33b6baed83df85c
https://github.com/llvm/llvm-project/commit/6ed8434edc5934210a38be99f33b6baed83df85c
Author: Prathamesh Tagore <63031630+meshtag at users.noreply.github.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/MemRef/Utils/MemRefUtils.h
M mlir/lib/Dialect/MemRef/Transforms/FoldMemRefAliasOps.cpp
M mlir/lib/Dialect/MemRef/Utils/MemRefUtils.cpp
M mlir/test/Dialect/MemRef/fold-memref-alias-ops.mlir
Log Message:
-----------
[mlir][fold-memref-alias-ops] Add support for folding memref.expand_shape involving dynamic dims (#89093)
`fold-memref-alias-ops` bails out in presence of dynamic shapes in
`memref.expand_shape` op. Handle this case.
Commit: 2475efa91d8b4fa8f1a2d16052cb6d14be7d5dc6
https://github.com/llvm/llvm-project/commit/2475efa91d8b4fa8f1a2d16052cb6d14be7d5dc6
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/gather-with-minbith-user.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/user-node-not-in-bitwidths.ll
M llvm/test/Transforms/SLPVectorizer/SystemZ/minbitwidth-root-trunc.ll
Log Message:
-----------
[SLP]Fix PR91467: Look through scalar cast, when trying to cast to another type.
Need to look through the SExt/ZExt scalars to be gathered, when trying
to reduce their width after minbitwidth analysis to prevent permanent
attempts to revectorize such gathered instructions.
Commit: 2868e26d0a6f257d3a8f303c7918f37c690e35a4
https://github.com/llvm/llvm-project/commit/2868e26d0a6f257d3a8f303c7918f37c690e35a4
Author: Matthias Braun <matze at braunis.de>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M clang/CMakeLists.txt
M clang/test/Analysis/scan-build/deduplication.test
M clang/test/Analysis/scan-build/exclude_directories.test
M clang/test/Analysis/scan-build/help.test
M clang/test/Analysis/scan-build/html_output.test
M clang/test/Analysis/scan-build/lit.local.cfg
M clang/test/Analysis/scan-build/plist_html_output.test
M clang/test/Analysis/scan-build/plist_output.test
M clang/test/Analysis/scan-build/rebuild_index/rebuild_index.test
M clang/test/Analysis/scan-build/silence-core-checkers.test
M clang/test/lit.site.cfg.py.in
Log Message:
-----------
Use cmake to find perl executable (#91275)
`clang/tools/scan-build` is implemented in `perl`. However given `perl`
is not mentioned as a required dependency in `GettingStarted.rst` we
should make this optional.
This adds a `find_package(Perl)` check to cmake and disables the
`scan-build` tests when no perl executable is found.
Ideally we would also check if dependent perl modules like `Hash::Util`
are present on the system, but I don't see any pre-existing cmake macros
to easily test this. So for now I go with a plain check for the `perl`
package, at least this allows to use `cmake
-DCMAKE_DISABLE_FIND_PACKAGE_Perl=ON` to manually disable `perl` and the
tests.
Commit: 3a8316216807d64a586b971f51695e23883331f7
https://github.com/llvm/llvm-project/commit/3a8316216807d64a586b971f51695e23883331f7
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Add missing dependency for 6ed8434edc5934210a38be99f33b6baed83df85c
Commit: 50b45b24220ead33cf5cedc49c13e0336297e4eb
https://github.com/llvm/llvm-project/commit/50b45b24220ead33cf5cedc49c13e0336297e4eb
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
A llvm/test/Analysis/LoopAccessAnalysis/offset-range-known-via-assume.ll
Log Message:
-----------
[LAA] Add tests with forward dependences known via assumes.
Commit: 11a6799740f824282650aa9ec249b55dcf1a8aae
https://github.com/llvm/llvm-project/commit/11a6799740f824282650aa9ec249b55dcf1a8aae
Author: Jacob Lambert <jacob.lambert at amd.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Driver/Options.td
M clang/lib/CodeGen/BackendConsumer.h
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CodeGenAction.cpp
M clang/lib/CodeGen/LinkInModulesPass.cpp
A clang/test/CodeGen/linking-bitcode-postopt.cpp
Log Message:
-----------
[clang][CodeGen] Omit pre-opt link when post-opt is link requested (#85672)
Currently, when the -relink-builtin-bitcodes-postop option is used we
link builtin bitcodes twice: once before optimization, and again after
optimization.
With this change, we omit the pre-opt linking when the option is set,
and we rename the option to the following:
-Xclang -mlink-builtin-bitcodes-postopt
(-Xclang -mno-link-builtin-bitcodes-postopt)
The goal of this change is to reduce compile time. We do lose the
theoretical benefits of pre-opt linking, but in practice these are small
than the overhead of linking twice. However we may be able to address
this in a future patch by adjusting the position of the builtin-bitcode
linking pass.
Compilations not setting the option are unaffected
Commit: a55127281b2ed5f24f848b9e5c70870ad170bc3f
https://github.com/llvm/llvm-project/commit/a55127281b2ed5f24f848b9e5c70870ad170bc3f
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/X86/masked-intrinsic-codesize.ll
M llvm/test/Analysis/CostModel/X86/masked-intrinsic-latency.ll
M llvm/test/Analysis/CostModel/X86/masked-intrinsic-sizelatency.ll
Log Message:
-----------
[CostModel][X86] getGSVectorCost - add cost kind support
Don't just assume gather/scatter non-throughput costs are 1 - latency and sizelatency (#uops) costs will be high, and codesize (#instructions) needs to account splitting.
Commit: 29b7eb8400f48fe7d8de3cb3741584c329ec597c
https://github.com/llvm/llvm-project/commit/29b7eb8400f48fe7d8de3cb3741584c329ec597c
Author: Juergen Ributzka <juergen at ributzka.de>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/lib/CodeGen/StackMapLivenessAnalysis.cpp
M llvm/test/CodeGen/AArch64/stackmap-liveness.ll
M llvm/test/CodeGen/X86/stackmap-liveness.ll
Log Message:
-----------
[llvm][stackmaps] Include pristine registers for liveness computation. (#90529)
Users of stackmaps and patchpoints need to add all pristine registers to
the
spill set, even so they don't need to be all preserved.
This fixes the liveness computation for stackmaps to include pristine
registers.
This fixes rdar://21228337.
Commit: 9263318f9da22e6632f1aae3e85717ed88fde64f
https://github.com/llvm/llvm-project/commit/9263318f9da22e6632f1aae3e85717ed88fde64f
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M clang/docs/StandardCPlusPlusModules.rst
Log Message:
-----------
Revise the modules document for clarity (#90237)
The intention isn't to add or change the information provided, but to
improve clarity through some grammar fixes, improvements to the
markdown, and so forth.
Commit: 2ceb1291ef3ddb87cb58030cd61d965f4030338f
https://github.com/llvm/llvm-project/commit/2ceb1291ef3ddb87cb58030cd61d965f4030338f
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] Add canScaleShuffleElements helper. NFC.
Returns true if the shuffle mask can be rescaled to the requested number of elements.
Commit: a6171900a446c85c3b53a4a9deba16b746f9f77f
https://github.com/llvm/llvm-project/commit/a6171900a446c85c3b53a4a9deba16b746f9f77f
Author: Harald van Dijk <harald.vandijk at codeplay.com>
Date: 2024-05-08 (Wed, 08 May 2024)
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/LoopRotationUtils.cpp
M llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/lib/Transforms/Utils/ValueMapper.cpp
M llvm/unittests/Transforms/Utils/CloningTest.cpp
Log Message:
-----------
[RemoveDIs] Change remapDbgVariableRecord to remapDbgRecord (#91456)
We need to remap any DbgRecord, not just DbgVariableRecords.
This is the followup to #91447.
Co-authored-by: PietroGhg <pietro.ghiglio at codeplay.com>
Commit: 5636eb89bd69f9c55f4e4aeafaa8c04aa99e5c84
https://github.com/llvm/llvm-project/commit/5636eb89bd69f9c55f4e4aeafaa8c04aa99e5c84
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx.ll
Log Message:
-----------
[X86] combineBlendOfPermutes - allow whole-lane permutation on AVX1 targets.
dd4bf22b9380e797362fac1415a1796da338b2db fixed #91433 but meant we couldn't use vperm2f128 to permute entire 128-bit lanes - if the new 256-bit permutation mask can be scaled to 2x128-bit elements, then we can still fold.
Commit: 6d8901488f160dd92aea5b98fcc21c7fa7c1cbe6
https://github.com/llvm/llvm-project/commit/6d8901488f160dd92aea5b98fcc21c7fa7c1cbe6
Author: S. Bharadwaj Yadavalli <Bharadwaj.Yadavalli at microsoft.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M clang/lib/Basic/Targets.cpp
M clang/lib/Driver/ToolChains/HLSL.cpp
M clang/test/CodeGenHLSL/basic-target.c
M clang/test/Driver/dxc_dxv_path.hlsl
M clang/test/Options/enable_16bit_types_validation.hlsl
M clang/unittests/Driver/DXCModeTest.cpp
M llvm/include/llvm/TargetParser/Triple.h
M llvm/lib/IR/Verifier.cpp
M llvm/lib/TargetParser/Triple.cpp
M llvm/unittests/TargetParser/TripleTest.cpp
Log Message:
-----------
[DXIL] Set DXIL Version in DXIL target triple based on shader model version (#91407)
This change set restores commit 080978dd2067d0c9ea7e229aa7696c2480d89ef1 that was reverted to address ASAN
failures and includes a fix for the ASAN failures.
Following is the description of the change:
An earlier commit provided a way to decouple DXIL version from Shader
Model version by representing the DXIL version as `SubArch` in the DXIL
Target Triple and adding corresponding valid DXIL Arch types.
This change constructs DXIL target triple with DXIL version that is
deduced from Shader Model version specified in the following scenarios:
1. When compilation target profile is specified:
For e.g., DXIL target triple `dxilv1.8-unknown-shader6.8-library` is
constructed when `-T lib_6_8` is specified.
2. When DXIL target triple without DXIL version is specified:
For e.g., DXIL target triple `dxilv1.8-pc-shadermodel6.8-library` is
constructed when `-mtriple=dxil-pc-shadermodel6.8-library` is specified.
Updated relevant HLSL tests that check for target triple.
Commit: efad14954c9d5bdfaddaca948be6cd7e71a1d1b0
https://github.com/llvm/llvm-project/commit/efad14954c9d5bdfaddaca948be6cd7e71a1d1b0
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/include/llvm/Support/LEB128.h
M llvm/unittests/Support/LEB128Test.cpp
M llvm/utils/TableGen/DecoderEmitter.cpp
Log Message:
-----------
[Support] Add end/error to decode[US]LEB128AndInc
Follow-up to #85739 to encourage error checking. We make `end` mandatory
and add decodeULEB128AndIncUnsafe to be used without `end`.
Pull Request: https://github.com/llvm/llvm-project/pull/90006
Commit: 8d9b15497d70ac782d7d01a2d606f9fec7e7f642
https://github.com/llvm/llvm-project/commit/8d9b15497d70ac782d7d01a2d606f9fec7e7f642
Author: Justin Bogner <mail at justinbogner.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M clang/lib/CodeGen/BackendConsumer.h
M clang/lib/CodeGen/CodeGenAction.cpp
Log Message:
-----------
Fix unused private field warning (#91500)
After 11a6799740f8 "[clang][CodeGen] Omit pre-opt link when post-opt is
link requested (#85672)" I'm seeing a new warning:
> BackendConsumer.h:37:22: error: private field 'FileMgr' is not used
[-Werror,-Wunused-private-field]
Remove the field since it's no longer used.
Commit: 3dcbcce287877322b2902ae271642416fdc8481c
https://github.com/llvm/llvm-project/commit/3dcbcce287877322b2902ae271642416fdc8481c
Author: Jacob Lambert <jacob.lambert at amd.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
Log Message:
-----------
[clang][CodeGen] Remove now-unused FileManager variable (#91495)
Fixes "error: private field 'FileMgr' is not used" introduced by 11a6799
Commit: b59461ac63aa1770a617f96bab31010442bd2090
https://github.com/llvm/llvm-project/commit/b59461ac63aa1770a617f96bab31010442bd2090
Author: Aleksandr Platonov <platonov.aleksandr at huawei.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/include/llvm/ADT/StringMap.h
M llvm/unittests/ADT/StringSetTest.cpp
Log Message:
-----------
[ADT] Add back ability to compare StringSet (#91374)
StringSet comparison was broken after moving from llvm::Optional to
std::optional because std::nullopt_t is not equality-comparable. Without
this patch a try to compare objects of StringSet type leads to
compilation error:
```
llvm-project/llvm/include/llvm/ADT/StringMap.h:294:33: error: no match for ‘operator==’ (operand types are ‘std::nullopt_t’ and ‘std::nullopt_t’)
294 | if (!(KeyValue.getValue() == FindInRHS->getValue()))
```
Commit: 4298fc5eb5c483fb72db6fce062352087dfd0acf
https://github.com/llvm/llvm-project/commit/4298fc5eb5c483fb72db6fce062352087dfd0acf
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoXTHead.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
M llvm/test/CodeGen/RISCV/addimm-mulimm.ll
M llvm/test/CodeGen/RISCV/rv64-legal-i32/rv64zba.ll
M llvm/test/CodeGen/RISCV/rv64zba.ll
Log Message:
-----------
[RISCV] Move strength reduction of mul X, 3/5/9*2^N to combine (#89966)
This moves our last major category tablegen driven multiply strength
reduction into the post legalize combine framework. The one slightly
tricky bit is making sure that we use a leading shl if we can form a
slli.uw, and trailing shl otherwise. Having the trailing shl is critical
for shNadd matching, and folding any following sext.w.
As can be seen in the TD deltas, this allows us to kill off both the
actual multiply patterns and the explicit add (mul X, C) Y patterns. The
later are now handled by the generic shNadd matching code, with the
exception of the THead only C=200 case because we don't (yet) have a
multiply expansion with two shNadd + a shift.
---------
Co-authored-by: Yingwei Zheng <dtcxzyw at qq.com>
Commit: a620697340671aea2b0c65449fcddf3c2e4d1917
https://github.com/llvm/llvm-project/commit/a620697340671aea2b0c65449fcddf3c2e4d1917
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/include/llvm/IR/InstrTypes.h
M llvm/lib/IR/Instructions.cpp
M llvm/unittests/IR/AttributesTest.cpp
Log Message:
-----------
[IR] Check callee param attributes as well in CallBase::getParamAttr() (#91394)
These methods aren't used yet, but may be in the future. This keeps them
in line with other methods like getFnAttr().
Commit: 576838301d23bb779aa9c3f0cc3d086c46add44b
https://github.com/llvm/llvm-project/commit/576838301d23bb779aa9c3f0cc3d086c46add44b
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/lib/IR/Instructions.cpp
Log Message:
-----------
[IR] Remove check for bitcast of called function in CallBase::has/getFnAttrOnCalledFunction (#91392)
With opaque pointers, we shouldn't have bitcasts between function
pointer types.
Commit: 08011cf8453c7c9e87d135f063356b6764a91cbc
https://github.com/llvm/llvm-project/commit/08011cf8453c7c9e87d135f063356b6764a91cbc
Author: XChy <xxs_chy at outlook.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/docs/MIRLangRef.rst
Log Message:
-----------
[Docs][NFC] Use opaque ptr in the example (#91502)
Commit: 46435ac19e09039fb146fa6c12da0e640a66d435
https://github.com/llvm/llvm-project/commit/46435ac19e09039fb146fa6c12da0e640a66d435
Author: Kristof Beyls <kristof.beyls at arm.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M bolt/include/bolt/Passes/FrameAnalysis.h
M bolt/lib/Passes/FrameAnalysis.cpp
Log Message:
-----------
[NFC][BOLT] Remove dead code (SPTAllocatorsId) (#91477)
It seems that SPTAllocatorsId is no longer used in FrameAnalysis, so
let's remove it.
It seems the use of SPTAllocatorsId was removed back in 2019, in commit
cc8415406c7.
Commit: bb6df0804ba0a0b0581aec4156138f5144dbcee2
https://github.com/llvm/llvm-project/commit/bb6df0804ba0a0b0581aec4156138f5144dbcee2
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/include/llvm/ADT/SmallString.h
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp
M llvm/lib/FileCheck/FileCheck.cpp
M llvm/lib/FuzzMutate/FuzzerCLI.cpp
M llvm/lib/LTO/LTOModule.cpp
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/MC/MCParser/DarwinAsmParser.cpp
M llvm/lib/MC/MCSymbolXCOFF.cpp
M llvm/lib/Object/Archive.cpp
M llvm/lib/Object/MachOObjectFile.cpp
M llvm/lib/Object/OffloadBinary.cpp
M llvm/lib/ObjectYAML/COFFEmitter.cpp
M llvm/lib/Passes/StandardInstrumentations.cpp
M llvm/lib/ProfileData/GCOV.cpp
M llvm/lib/ProfileData/InstrProf.cpp
M llvm/lib/ProfileData/MemProfReader.cpp
M llvm/lib/Support/VirtualFileSystem.cpp
M llvm/lib/TargetParser/ARMTargetParser.cpp
M llvm/lib/TargetParser/Triple.cpp
M llvm/tools/dsymutil/DwarfLinkerForBinary.cpp
M llvm/tools/llvm-dwarfdump/Statistics.cpp
M llvm/tools/llvm-extract/llvm-extract.cpp
M llvm/tools/llvm-objdump/MachODump.cpp
M llvm/tools/llvm-xray/xray-graph-diff.cpp
M llvm/tools/llvm-yaml-numeric-parser-fuzzer/yaml-numeric-parser-fuzzer.cpp
M llvm/unittests/ADT/StringRefTest.cpp
M llvm/unittests/IR/VerifierTest.cpp
M llvm/unittests/Support/MemoryBufferTest.cpp
M llvm/unittests/Support/YAMLIOTest.cpp
M llvm/unittests/TargetParser/CSKYTargetParserTest.cpp
M llvm/unittests/TargetParser/TargetParserTest.cpp
M llvm/utils/TableGen/AsmMatcherEmitter.cpp
Log Message:
-----------
[llvm] Use StringRef::operator== instead of StringRef::equals (NFC) (#91441)
I'm planning to remove StringRef::equals in favor of
StringRef::operator==.
- StringRef::operator==/!= outnumber StringRef::equals by a factor of
70 under llvm/ in terms of their usage.
- The elimination of StringRef::equals brings StringRef closer to
std::string_view, which has operator== but not equals.
- S == "foo" is more readable than S.equals("foo"), especially for
!Long.Expression.equals("str") vs Long.Expression != "str".
Commit: dabdec1001dc368373dd581cf72f37a440873ce3
https://github.com/llvm/llvm-project/commit/dabdec1001dc368373dd581cf72f37a440873ce3
Author: Benoit Jacob <jacob.benoit.1 at gmail.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/test/Dialect/MemRef/fold-memref-alias-ops.mlir
M mlir/test/Dialect/MemRef/ops.mlir
Log Message:
-----------
Fix `memref.expand_shape` verifier (#91501)
Torch-mlir integration is currently blocked on `memref.expand_shape`
verifier errors of the form
```
'memref.expand_shape' op invalid output shape provided at pos 1
```
The verifier code generating these errors was introduced in
https://github.com/llvm/llvm-project/pull/91245. I have commented there
why I believe it's incorrect. This PR has my suggested fix.
Unfortunately, this does not seem to be directly testable on `memref`
IR, because `static_output_shape` is not directly exposed in the custom
assembly format.
Commit: fcfc15b7052a311b7a045e2c6bd26fb5d0b7122c
https://github.com/llvm/llvm-project/commit/fcfc15b7052a311b7a045e2c6bd26fb5d0b7122c
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M lldb/cmake/modules/LLDBFramework.cmake
Log Message:
-----------
Add a dependency from lldb-sbapi-dwarf-enums as a dependency of libll… (#91511)
…db-resource-headers
The Xcode build otherwise fails with
```
CMake Error in source/API/CMakeLists.txt:
The custom command generating
/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-standalone/lldb-xcode-build/include/lldb/API/SBLanguages.h
is attached to multiple targets:
lldb-sbapi-dwarf-enums
liblldb-resource-headers
but none of these is a common dependency of the other(s). This is not
allowed by the Xcode "new build system".
CMake Generate step failed. Build files cannot be regenerated correctly.
```
Commit: dbcfa2957d9f99de62fc86db12a857caf929583c
https://github.com/llvm/llvm-project/commit/dbcfa2957d9f99de62fc86db12a857caf929583c
Author: Nicklas Boman <smurfd at gmail.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M lldb/scripts/generate-sbapi-dwarf-enum.py
Log Message:
-----------
lldb create API folder if it does not exist, before creating SBLangua… (#91128)
Create API folder if it does not exist, before creating SBLanguages.h
Commit: 42d99013bd6b7ed4a085e39c94ab86938d633f8a
https://github.com/llvm/llvm-project/commit/42d99013bd6b7ed4a085e39c94ab86938d633f8a
Author: AdityaK <hiraditya at msn.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
Log Message:
-----------
NFC: Add a comment indicating UpdateAnalysisInformation invalidates DFS Numbering (#91252)
Commit: 10bdcf6b4cd37d017753b3821fbf8eb2ad924a1a
https://github.com/llvm/llvm-project/commit/10bdcf6b4cd37d017753b3821fbf8eb2ad924a1a
Author: Piotr Zegar <me at piotrzegar.pl>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M clang-tools-extra/clang-tidy/hicpp/SignedBitwiseCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/hicpp/signed-bitwise-integer-literals.cpp
Log Message:
-----------
[clang-tidy] Handle implicit casts in hicpp-signed-bitwise for IgnorePositiveIntegerLiterals (#90621)
Improved hicpp-signed-bitwise check by ignoring false positives
involving positive integer literals behind implicit casts when
IgnorePositiveIntegerLiterals is enabled.
Closes #89367
Commit: 37b6ba96dea54e7af3772d78c90bfb3fd61140f6
https://github.com/llvm/llvm-project/commit/37b6ba96dea54e7af3772d78c90bfb3fd61140f6
Author: Piotr Zegar <me at piotrzegar.pl>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M clang-tools-extra/clang-tidy/readability/StaticAccessedThroughInstanceCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/static-accessed-through-instance.rst
M clang-tools-extra/test/clang-tidy/checkers/readability/static-accessed-through-instance.cpp
Log Message:
-----------
[clang-tidy] Handle expr with side-effects in readability-static-accessed-through-instance (#90736)
Improved readability-static-accessed-through-instance check to
support expressions with side-effects.
Originally calls to overloaded operator were
ignored by check, in fear of possible side-effects.
This change remove that restriction, and enables
fix-its for expressions with side-effect via
--fix-notes.
Closes #75163
Commit: 79921fbd5c6223ff7e6c75ed75974b4d16cad529
https://github.com/llvm/llvm-project/commit/79921fbd5c6223ff7e6c75ed75974b4d16cad529
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M libcxx/modules/std/chrono.inc
M libcxx/modules/std/ranges.inc
M libcxx/test/CMakeLists.txt
M libcxx/test/libcxx/clang_tidy.gen.py
M libcxx/test/tools/clang_tidy_checks/CMakeLists.txt
Log Message:
-----------
[libc++][CI] Reenables clang-tidy. (#90077)
The patch does several things:
- fixes module exports
- disables clang-tidy with Clang-17 due to known issues
- disabled clang-tidy on older libstdc++ versions since it lacks C++20
features used
- fixes the CMake dependency
The issue why clang-tidy was not used in the CI was the last issue; the
plugin was not a
dependency of the tests. Without a plugin the tests disable clang-tidy.
This was noticed while investigating
https://github.com/llvm/llvm-project/issues/89898
Commit: a6b623705b13b0f69c302ee7b36fe87f833ff193
https://github.com/llvm/llvm-project/commit/a6b623705b13b0f69c302ee7b36fe87f833ff193
Author: Nico Weber <thakis at chromium.org>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/test/BUILD.gn
Log Message:
-----------
[gn] port 2868e26d0a6f (PERL_EXECUTABLE)
Commit: db29f20fdd4f715553f663f21021330cb4497e00
https://github.com/llvm/llvm-project/commit/db29f20fdd4f715553f663f21021330cb4497e00
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M bolt/include/bolt/Core/BinaryFunction.h
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Profile/DataAggregator.cpp
M bolt/test/X86/bolt-address-translation-yaml.test
Log Message:
-----------
[BOLT] Ignore returns in DataAggregator
Returns are ignored in perf/pre-aggregated/fdata profile reader (see
DataReader::convertBranchData). They are also omitted in
YAMLProfileWriter by virtue of not having the profile attached to them
in the reader, and YAMLProfileWriter converting the profile attached to
BinaryFunctions. Thus, return profile is universally ignored across all
profile types except BAT YAML.
To make returns ignored for YAML produced in BAT mode, we can:
1) ignore them in YAMLProfileReader,
2) omit them from YAML profile in profile conversion/writing.
The first option is prone to profile staleness issue, where the profiled
binary doesn't match the one to be optimized, and thus returns in the
profile can no longer be reliably detected (as we don't distinguish them
from calls in the profile).
The second option is robust to staleness but requires disassembling the
branch source instruction.
Test Plan: Updated bolt-address-translation-yaml.test
Reviewers: rafaelauler, dcci, ayermolo, maksfb
Reviewed By: maksfb
Pull Request: https://github.com/llvm/llvm-project/pull/90807
Commit: 2f956a35edb61d250a52c4d883f368d060fae57c
https://github.com/llvm/llvm-project/commit/2f956a35edb61d250a52c4d883f368d060fae57c
Author: Artem Belevich <tra at google.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/BuiltinsNVPTX.def
M clang/include/clang/Basic/Cuda.h
M clang/lib/Basic/Cuda.cpp
M clang/lib/Driver/ToolChains/Cuda.cpp
M llvm/lib/Target/NVPTX/NVPTX.td
Log Message:
-----------
[CUDA] Mark CUDA-12.4 as supported and introduce ptx 8.4. (#91516)
Commit: 7e35a9a0e77aad673a3054855761ee4afd2605c1
https://github.com/llvm/llvm-project/commit/7e35a9a0e77aad673a3054855761ee4afd2605c1
Author: Max191 <44243577+Max191 at users.noreply.github.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M mlir/include/mlir/IR/BuiltinTypes.h
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/lib/IR/BuiltinTypes.cpp
M mlir/test/Dialect/Tensor/canonicalize.mlir
Log Message:
-----------
[mlir] Replace dynamic sizes in insert_slice of tensor.cast canonicalization (#91352)
In some cases this pattern may ignore static information due to dynamic
operands in the insert_slice sizes operands, e.g.:
```
%0 = tensor.cast %arg0 : tensor<1x?xf32> to tensor<?x?xf32>
%1 = tensor.insert_slice %0 into %arg1[...] [%s0, %s1] [...]
: tensor<?x?xf32> into tensor<?x?xf32>
```
Can be rewritten into:
```
%1 = tensor.insert_slice %arg0 into %arg1[...] [1, %s1] [...]
: tensor<1x?xf32> into tensor<?x?xf32>
```
This PR updates the matching in the pattern to allow rewrites like this.
Commit: 878c141adcd3a1ea47c4cc8429af5c8522678536
https://github.com/llvm/llvm-project/commit/878c141adcd3a1ea47c4cc8429af5c8522678536
Author: Lily Brown <lily at lily.fyi>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M mlir/include/mlir/Tools/lsp-server-support/Protocol.h
M mlir/lib/Tools/lsp-server-support/Protocol.cpp
M mlir/unittests/Tools/lsp-server-support/CMakeLists.txt
A mlir/unittests/Tools/lsp-server-support/Protocol.cpp
Log Message:
-----------
[mlir-lsp] Add DiagnosticTag from LSP spec (#91396)
Adds the [DiagnosticTag][diagtag] LSP construct to the LSP support
headers. I also added a unit test file to validate that the `tags` array
is omitted entirely if it's empty.
The LSP spec requires that `Diagnostic::tags` be an array; in order to
conform to that I used `std::vector`, as `SmallVector` doesn't have JSON
decoding support (you can encode it to JSON, but not decode it from
JSON).
[diagtag]:
https://microsoft.github.io/language-server-protocol/specifications/lsp/3.18/specification/#diagnosticTag
Commit: 1464aee3767bf516633ce595ccd89a9cb50ae763
https://github.com/llvm/llvm-project/commit/1464aee3767bf516633ce595ccd89a9cb50ae763
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
A llvm/test/Analysis/LoopAccessAnalysis/non-constant-distance-backward.ll
Log Message:
-----------
[LAA] Add tests with non-constant backward deps with known min value.
Add a set of tests with non-constant backward dependences, where the
minimum value is known (via the start value of the outer AddRec).
Commit: 63c38ba64ebe079439e29acf43f24c33ecf44f4c
https://github.com/llvm/llvm-project/commit/63c38ba64ebe079439e29acf43f24c33ecf44f4c
Author: Mariusz Borsa <wrotki at msn.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M compiler-rt/test/asan/TestCases/Posix/fake_stack_gc.cpp
Log Message:
-----------
[Sanitizers] Fix fake_test_gc not working on devices (#91284)
The way the LIT RUN command is currently constructed ( %run not --crash
%t ) causes the test failure on devices - since 'not' is a LLVM built
command, not available on devices.
Changing the command to read 'not --crash %run %t' fixes it, as 'not'
now executes on the host running the test.
rdar://115914588
Co-authored-by: Mariusz Borsa <m_borsa at apple.com>
Commit: 9047331f1b4a623332966d888f05bcd3381c8abe
https://github.com/llvm/llvm-project/commit/9047331f1b4a623332966d888f05bcd3381c8abe
Author: David Green <david.green at arm.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/addimm-mulimm.ll
Log Message:
-----------
[AArch64] Add some additional add mul imm tests with multiple uses. NFC
Commit: 5526c8a7425350cff2cd9cafa1bf5f20753e7848
https://github.com/llvm/llvm-project/commit/5526c8a7425350cff2cd9cafa1bf5f20753e7848
Author: Thomas Raoux <thomas.raoux at openai.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/test/Dialect/LLVMIR/canonicalize.mlir
Log Message:
-----------
[MLIR] Model llvm.inline_asm side_effects (#91507)
Allow more cleanups on inline_asm ops modeling side effects based on the
side_effect attributed.
Commit: e3938f4d71493673033f6190454e7e19d5411ea7
https://github.com/llvm/llvm-project/commit/e3938f4d71493673033f6190454e7e19d5411ea7
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M offload/plugins-nextgen/common/include/Utils/ELF.h
M offload/plugins-nextgen/common/src/Utils/ELF.cpp
M offload/plugins-nextgen/host/CMakeLists.txt
M offload/plugins-nextgen/host/src/rtl.cpp
Log Message:
-----------
[Offload] Detect native ELF machine from preprocessor (#91282)
Summary:
This gets the target's corresponding ELF value from the preprocessor.
We use this to detect if a given ELF is compatible with the CPU
offloading impolementation for OpenMP. Previously we used defitions from
CMake, but this is easier for people to understand as there may be new
users of this in the future.
Commit: 559accf365a6eb885c24cf15e14aea2eb8e66596
https://github.com/llvm/llvm-project/commit/559accf365a6eb885c24cf15e14aea2eb8e66596
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
Log Message:
-----------
[AMDGPU] Add VOP3_PACKED to V_PK_{MIN|MAX}IMUM_F16 profile (#91512)
NFCI as far as I understand, added for consitency.
Commit: b1da82ae3dba0982b3a9668ca895ddf4164fb3d1
https://github.com/llvm/llvm-project/commit/b1da82ae3dba0982b3a9668ca895ddf4164fb3d1
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
M mlir/test/Transforms/constant-fold.mlir
Log Message:
-----------
[mlir][arith] Fix overflow bug in arith::CeilDivSIOp::fold (#90947)
The folder for arith::CeilDivSIOp should only be applied when it can be
guaranteed that no overflow would happen. The current implementation
works fine when both dividends are positive and the only arithmetic
operation is the division itself.
However, in cases where either the dividend or divisor is negative (or
both),
the division is split into multiple arith operations, e.g.: `- ( -a /
b)`. That's
additional 2 operations on top of the actual division that can overflow
- the folder should check all 3 ops for overflow.
The current logic doesn't do that - it effectively only checks the last
operation
(i.e. the division). It breaks when using e.g. MININT values (e.g. -128
for
8-bit integers) - negating such values overflows.
This PR makes sure that no folding happens if any of the intermediate
arithmetic operations overflows.
Fixes https://github.com/llvm/llvm-project/issues/89382
Commit: b52160dbae268cc87cb8f6cdf75553ca095e26a9
https://github.com/llvm/llvm-project/commit/b52160dbae268cc87cb8f6cdf75553ca095e26a9
Author: Dave Lee <davelee.com at gmail.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M lldb/include/lldb/Target/Language.h
M lldb/source/Core/Mangled.cpp
Log Message:
-----------
[lldb] Consult Language plugin in GetDisplayDemangledName (#90294)
Give language plugins the opportunity to provide a language specific
display name.
This will be used in a follow up commit. The purpose of this change is
to ultimately display breakpoint locations with a more human friendly
demangling of Swift symbols.
Commit: cec6665f2b7583223eb20519dfc3289011d1d2d7
https://github.com/llvm/llvm-project/commit/cec6665f2b7583223eb20519dfc3289011d1d2d7
Author: Teresa Johnson <tejohnson at google.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
M llvm/test/Transforms/InstCombine/simplify-libcalls-new.ll
Log Message:
-----------
[MemProf] Optionally update hints on existing hot/cold new calls (#91047)
If directed by an option, update hints on calls to new that already
provide a hot/cold hint.
Commit: 965f3ca3dc5464892e283e176bf058ae04d8b654
https://github.com/llvm/llvm-project/commit/965f3ca3dc5464892e283e176bf058ae04d8b654
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/test/CodeGen/AArch64/GlobalISel/combine-bitreverse-shift.ll
Log Message:
-----------
[GISel] Fold bitreverse(shl/srl(bitreverse(x),y)) -> srl/shl(x,y) (#91355)
Sibling patch to #89897
Commit: fcf945f4edbad1f2d82df067c2826baa6165dd3e
https://github.com/llvm/llvm-project/commit/fcf945f4edbad1f2d82df067c2826baa6165dd3e
Author: David Green <david.green at arm.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AArch64/addimm-mulimm.ll
Log Message:
-----------
[DAG] Fold add(mul(add(A, CA), CM), CB) -> add(mul(A, CM), CM*CA+CB) (#90860)
This is useful when the inner add has multiple uses, and so cannot be
canonicalized by pushing the constants down through the mul. This patch
adds patterns for both `add(mul(add(A, CA), CM), CB)` and with an extra add
`add(add(mul(add(A, CA), CM), B) CB)` as the second can come up when
lowering geps.
Commit: e37bd6c68b50a556ff0e9261cf9eba64afa06bf9
https://github.com/llvm/llvm-project/commit/e37bd6c68b50a556ff0e9261cf9eba64afa06bf9
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M libc/hdr/fenv_macros.h
Log Message:
-----------
[libc][fenv] Add missing FE_* definitions for some environment. (#91519)
Commit: 7ec8a333b5fdf1ee78426fe3557c330aa920aa5f
https://github.com/llvm/llvm-project/commit/7ec8a333b5fdf1ee78426fe3557c330aa920aa5f
Author: Dave Lee <davelee.com at gmail.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M lldb/include/lldb/Symbol/SymbolContext.h
M lldb/source/Breakpoint/BreakpointLocation.cpp
M lldb/source/Core/Address.cpp
M lldb/source/Symbol/SymbolContext.cpp
Log Message:
-----------
[lldb] Display breakpoint locations using display name (#90297)
Adds a `show_function_display_name` parameter to
`SymbolContext::DumpStopContext`. This
parameter defaults to false, but `BreakpointLocation::GetDescription`
sets it to true.
This is NFC in mainline lldb, and will be used to modify how Swift
breakpoint locations are printed.
Commit: 1610eaad39ad882f006f32c29771862a610f8314
https://github.com/llvm/llvm-project/commit/1610eaad39ad882f006f32c29771862a610f8314
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/include/llvm/ProfileData/MemProf.h
Log Message:
-----------
[memprof] Make Version2 officially available (#91541)
Commit: b1c57f678a2b3b4a8c471479cdd9f6b2af5f7374
https://github.com/llvm/llvm-project/commit/b1c57f678a2b3b4a8c471479cdd9f6b2af5f7374
Author: Mingming Liu <mingmingl at google.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M .ci/generate-buildkite-pipeline-premerge
M .ci/monolithic-linux.sh
M .github/CODEOWNERS
M .github/new-prs-labeler.yml
M .github/workflows/libcxx-build-and-test.yaml
M .github/workflows/pr-code-format.yml
M .github/workflows/release-binaries.yml
M .github/workflows/set-release-binary-outputs.sh
M bolt/docs/BAT.md
M bolt/include/bolt/Core/BinaryContext.h
M bolt/include/bolt/Core/BinaryData.h
M bolt/include/bolt/Core/BinaryFunction.h
M bolt/include/bolt/Passes/BinaryPasses.h
M bolt/include/bolt/Passes/FrameAnalysis.h
M bolt/include/bolt/Profile/BoltAddressTranslation.h
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/include/bolt/Rewrite/DWARFRewriter.h
M bolt/include/bolt/Rewrite/RewriteInstance.h
M bolt/include/bolt/Utils/NameResolver.h
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Core/BinaryData.cpp
M bolt/lib/Core/BinaryEmitter.cpp
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Core/ParallelUtilities.cpp
M bolt/lib/Core/Relocation.cpp
M bolt/lib/Passes/FrameAnalysis.cpp
M bolt/lib/Passes/SplitFunctions.cpp
M bolt/lib/Profile/BoltAddressTranslation.cpp
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Rewrite/BinaryPassManager.cpp
M bolt/lib/Rewrite/BoltDiff.cpp
M bolt/lib/Rewrite/DWARFRewriter.cpp
M bolt/lib/Rewrite/LinuxKernelRewriter.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/test/AArch64/constant_island_pie_update.s
A bolt/test/RISCV/fake-label-no-entry.c
R bolt/test/RISCV/unnamed-sym-no-entry.c
M bolt/test/X86/bolt-address-translation-yaml.test
M bolt/test/X86/bolt-address-translation.test
M bolt/test/X86/cdsplit-symbol-names.s
M bolt/test/X86/fragment-lite.s
A bolt/test/X86/indirect-goto-pie.test
A bolt/test/X86/linux-smp-locks.s
M bolt/test/X86/linux-static-keys.s
M bolt/test/X86/pre-aggregated-perf.test
A bolt/test/X86/register-fragments-bolt-symbols.s
M bolt/test/X86/shrinkwrapping-do-not-pessimize.s
R bolt/test/runtime/X86/Inputs/indirect_goto.c
R bolt/test/runtime/X86/indirect-goto-pie.test
A bolt/test/runtime/X86/jt-confusion.s
A bolt/test/runtime/bolt-reserved.cpp
M clang-tools-extra/clang-doc/Representation.cpp
M clang-tools-extra/clang-include-fixer/find-all-symbols/STLPostfixHeaderMap.cpp
M clang-tools-extra/clang-tidy/ClangTidyCheck.cpp
M clang-tools-extra/clang-tidy/ClangTidyCheck.h
M clang-tools-extra/clang-tidy/GlobList.cpp
M clang-tools-extra/clang-tidy/GlobList.h
M clang-tools-extra/clang-tidy/add_new_check.py
M clang-tools-extra/clang-tidy/bugprone/BugproneTidyModule.cpp
M clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
M clang-tools-extra/clang-tidy/bugprone/CastingThroughVoidCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/EasilySwappableParametersCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/LambdaFunctionNameCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/ReservedIdentifierCheck.cpp
A clang-tools-extra/clang-tidy/bugprone/ReturnConstRefFromParameterCheck.cpp
A clang-tools-extra/clang-tidy/bugprone/ReturnConstRefFromParameterCheck.h
M clang-tools-extra/clang-tidy/cert/CERTTidyModule.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.cpp
M clang-tools-extra/clang-tidy/hicpp/SignedBitwiseCheck.cpp
M clang-tools-extra/clang-tidy/linuxkernel/MustCheckErrsCheck.h
M clang-tools-extra/clang-tidy/modernize/CMakeLists.txt
A clang-tools-extra/clang-tidy/modernize/MinMaxUseInitializerListCheck.cpp
A clang-tools-extra/clang-tidy/modernize/MinMaxUseInitializerListCheck.h
M clang-tools-extra/clang-tidy/modernize/ModernizeTidyModule.cpp
M clang-tools-extra/clang-tidy/modernize/UseEqualsDefaultCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseNullptrCheck.h
M clang-tools-extra/clang-tidy/modernize/UseStartsEndsWithCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseStartsEndsWithCheck.h
M clang-tools-extra/clang-tidy/modernize/UseStdNumbersCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseStdPrintCheck.cpp
M clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp
M clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.h
M clang-tools-extra/clang-tidy/readability/AvoidReturnWithVoidValueCheck.cpp
M clang-tools-extra/clang-tidy/readability/CMakeLists.txt
M clang-tools-extra/clang-tidy/readability/ConstReturnTypeCheck.cpp
M clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
A clang-tools-extra/clang-tidy/readability/MathMissingParenthesesCheck.cpp
A clang-tools-extra/clang-tidy/readability/MathMissingParenthesesCheck.h
M clang-tools-extra/clang-tidy/readability/ReadabilityTidyModule.cpp
M clang-tools-extra/clang-tidy/readability/StaticAccessedThroughInstanceCheck.cpp
M clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
M clang-tools-extra/clang-tidy/utils/ExceptionSpecAnalyzer.cpp
M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.h
M clang-tools-extra/clangd/ClangdServer.cpp
M clang-tools-extra/clangd/CodeComplete.cpp
M clang-tools-extra/clangd/CodeCompletionStrings.cpp
M clang-tools-extra/clangd/Preamble.cpp
M clang-tools-extra/clangd/Preamble.h
M clang-tools-extra/clangd/index/CanonicalIncludes.cpp
M clang-tools-extra/clangd/index/SymbolCollector.cpp
M clang-tools-extra/clangd/refactor/tweaks/ScopifyEnum.cpp
M clang-tools-extra/clangd/test/delimited-input-comment-at-the-end.test
M clang-tools-extra/clangd/test/hover.test
M clang-tools-extra/clangd/test/spaces-in-delimited-input.test
M clang-tools-extra/clangd/unittests/CMakeLists.txt
M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
M clang-tools-extra/clangd/unittests/FindTargetTests.cpp
M clang-tools-extra/clangd/unittests/HoverTests.cpp
M clang-tools-extra/clangd/unittests/ParsedASTTests.cpp
M clang-tools-extra/clangd/unittests/SemanticHighlightingTests.cpp
M clang-tools-extra/clangd/unittests/TestIndex.cpp
M clang-tools-extra/clangd/unittests/TestIndex.h
M clang-tools-extra/clangd/unittests/tweaks/ScopifyEnumTests.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/bad-signal-to-kill-thread.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/macro-parentheses.rst
A clang-tools-extra/docs/clang-tidy/checks/bugprone/return-const-ref-from-parameter.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/sizeof-expression.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/suspicious-memory-comparison.rst
M clang-tools-extra/docs/clang-tidy/checks/cert/env33-c.rst
A clang-tools-extra/docs/clang-tidy/checks/cert/int09-c.rst
M clang-tools-extra/docs/clang-tidy/checks/concurrency/thread-canceltype-asynchronous.rst
A clang-tools-extra/docs/clang-tidy/checks/linuxkernel/must-check-errs.rst
R clang-tools-extra/docs/clang-tidy/checks/linuxkernel/must-use-errs.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
M clang-tools-extra/docs/clang-tidy/checks/misc/throw-by-value-catch-by-reference.rst
A clang-tools-extra/docs/clang-tidy/checks/modernize/min-max-use-initializer-list.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-nullptr.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-starts-ends-with.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-std-print.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/enum-initial-value.rst
A clang-tools-extra/docs/clang-tidy/checks/readability/math-missing-parentheses.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/static-accessed-through-instance.rst
M clang-tools-extra/test/CMakeLists.txt
M clang-tools-extra/test/clang-tidy/check_clang_tidy.py
M clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/string
M clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/string.h
M clang-tools-extra/test/clang-tidy/checkers/abseil/redundant-strcat-calls.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/casting-through-void.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/forwarding-reference-overload.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/lambda-function-name.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/return-const-ref-from-parameter.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/owning-memory.cpp
M clang-tools-extra/test/clang-tidy/checkers/hicpp/signed-bitwise-integer-literals.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-templates.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/min-max-use-initializer-list.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-equals-default-copy.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-nullptr-c23.c
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-nullptr.c
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-starts-ends-with.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/Inputs/duplicate-include/duplicate-include.h
M clang-tools-extra/test/clang-tidy/checkers/readability/Inputs/duplicate-include/duplicate-include2.h
M clang-tools-extra/test/clang-tidy/checkers/readability/Inputs/duplicate-include/system/sys/types.h
M clang-tools-extra/test/clang-tidy/checkers/readability/const-return-type.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/else-after-return-if-constexpr.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/math-missing-parentheses.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/static-accessed-through-instance.cpp
A clang-tools-extra/test/clang-tidy/infrastructure/Inputs/config-files/5/.clang-tidy
M clang-tools-extra/test/clang-tidy/infrastructure/config-files.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/verify-config.cpp
M clang-tools-extra/test/lit.site.cfg.py.in
M clang-tools-extra/test/modularize/Inputs/CompileError/module.modulemap
M clang-tools-extra/test/modularize/Inputs/MissingHeader/module.modulemap
M clang-tools-extra/test/pp-trace/Inputs/module.modulemap
M clang-tools-extra/test/pp-trace/pp-trace-pragma-general.cpp
M clang-tools-extra/test/pp-trace/pp-trace-pragma-ms.cpp
M clang-tools-extra/test/pp-trace/pp-trace-pragma-opencl.cpp
M clang/CMakeLists.txt
M clang/cmake/caches/Apple-stage2.cmake
M clang/cmake/caches/Fuchsia.cmake
M clang/cmake/caches/Release.cmake
M clang/cmake/caches/VectorEngine.cmake
M clang/docs/ClangFormat.rst
M clang/docs/ClangFormatStyleOptions.rst
M clang/docs/ClangOffloadBundler.rst
M clang/docs/LanguageExtensions.rst
M clang/docs/LibTooling.rst
M clang/docs/Multilib.rst
M clang/docs/OpenMPSupport.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/StandardCPlusPlusModules.rst
M clang/docs/UsersManual.rst
M clang/docs/analyzer/checkers.rst
M clang/docs/tools/clang-formatted-files.txt
M clang/include/clang-c/Index.h
M clang/include/clang/APINotes/Types.h
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/ASTMutationListener.h
M clang/include/clang/AST/ASTNodeTraverser.h
M clang/include/clang/AST/AbstractBasicReader.h
M clang/include/clang/AST/AbstractBasicWriter.h
M clang/include/clang/AST/BuiltinTypes.def
M clang/include/clang/AST/ComputeDependence.h
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclBase.h
M clang/include/clang/AST/DeclCXX.h
M clang/include/clang/AST/DeclContextInternals.h
M clang/include/clang/AST/DeclFriend.h
A clang/include/clang/AST/DeclID.h
M clang/include/clang/AST/DeclObjC.h
M clang/include/clang/AST/DeclOpenMP.h
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/AST/Expr.h
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/ExprOpenMP.h
M clang/include/clang/AST/ExternalASTSource.h
M clang/include/clang/AST/JSONNodeDumper.h
M clang/include/clang/AST/NestedNameSpecifier.h
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/Stmt.h
M clang/include/clang/AST/StmtOpenACC.h
M clang/include/clang/AST/Type.h
M clang/include/clang/Analysis/Analyses/ExprMutationAnalyzer.h
A clang/include/clang/Analysis/FlowSensitive/ASTOps.h
M clang/include/clang/Analysis/FlowSensitive/DataflowAnalysis.h
M clang/include/clang/Analysis/FlowSensitive/DataflowAnalysisContext.h
M clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
M clang/include/clang/Analysis/FlowSensitive/Solver.h
M clang/include/clang/Analysis/FlowSensitive/Transfer.h
M clang/include/clang/Analysis/FlowSensitive/Value.h
M clang/include/clang/Analysis/FlowSensitive/WatchedLiteralsSolver.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/AttributeCommonInfo.h
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/include/clang/Basic/BuiltinsNVPTX.def
M clang/include/clang/Basic/BuiltinsWebAssembly.def
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Basic/Cuda.h
M clang/include/clang/Basic/DebugOptions.def
M clang/include/clang/Basic/DiagnosticCommonKinds.td
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Basic/DiagnosticFrontendKinds.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticInstallAPIKinds.td
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/FileManager.h
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/LangOptions.h
M clang/include/clang/Basic/MSP430Target.def
M clang/include/clang/Basic/Module.h
A clang/include/clang/Basic/OpenACCClauses.def
M clang/include/clang/Basic/OpenACCKinds.h
A clang/include/clang/Basic/PointerAuthOptions.h
M clang/include/clang/Basic/SourceLocation.h
M clang/include/clang/Basic/StmtNodes.td
A clang/include/clang/Basic/Target/MSP430/gen-msp430-def.py
M clang/include/clang/Basic/TargetInfo.h
M clang/include/clang/Basic/TokenKinds.def
M clang/include/clang/Basic/arm_fp16.td
M clang/include/clang/Basic/arm_neon.td
M clang/include/clang/Basic/arm_sve.td
M clang/include/clang/Basic/riscv_vector.td
A clang/include/clang/CIR/CMakeLists.txt
A clang/include/clang/CIR/Dialect/CMakeLists.txt
A clang/include/clang/CIR/Dialect/IR/CIRDialect.h
A clang/include/clang/CIR/Dialect/IR/CIRDialect.td
A clang/include/clang/CIR/Dialect/IR/CIROps.td
A clang/include/clang/CIR/Dialect/IR/CMakeLists.txt
M clang/include/clang/CMakeLists.txt
M clang/include/clang/CodeGen/CodeGenAction.h
M clang/include/clang/Config/config.h.cmake
M clang/include/clang/Driver/Distro.h
M clang/include/clang/Driver/OffloadBundler.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/ExtractAPI/API.h
M clang/include/clang/ExtractAPI/APIRecords.inc
M clang/include/clang/ExtractAPI/DeclarationFragments.h
M clang/include/clang/ExtractAPI/ExtractAPIVisitor.h
M clang/include/clang/Format/Format.h
M clang/include/clang/Frontend/ASTUnit.h
M clang/include/clang/Frontend/FrontendOptions.h
M clang/include/clang/Frontend/MultiplexConsumer.h
M clang/include/clang/InstallAPI/DylibVerifier.h
M clang/include/clang/InstallAPI/FileList.h
M clang/include/clang/InstallAPI/MachO.h
M clang/include/clang/Lex/HeaderSearch.h
M clang/include/clang/Lex/HeaderSearchOptions.h
M clang/include/clang/Lex/LiteralSupport.h
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/DeclSpec.h
M clang/include/clang/Sema/Lookup.h
M clang/include/clang/Sema/MultiplexExternalSemaSource.h
M clang/include/clang/Sema/ParsedAttr.h
A clang/include/clang/Sema/Redeclaration.h
M clang/include/clang/Sema/Scope.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaBase.h
A clang/include/clang/Sema/SemaCUDA.h
M clang/include/clang/Sema/SemaHLSL.h
M clang/include/clang/Sema/SemaOpenACC.h
A clang/include/clang/Sema/SemaOpenMP.h
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/include/clang/Serialization/ASTDeserializationListener.h
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/Serialization/ASTRecordReader.h
M clang/include/clang/Serialization/ASTRecordWriter.h
M clang/include/clang/Serialization/ASTWriter.h
M clang/include/clang/Serialization/ModuleFile.h
M clang/include/clang/Serialization/ModuleFileExtension.h
M clang/include/clang/Serialization/PCHContainerOperations.h
M clang/include/clang/Serialization/SourceLocationEncoding.h
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/Store.h
M clang/include/clang/Support/RISCVVIntrinsicUtils.h
M clang/include/clang/Tooling/CommonOptionsParser.h
M clang/include/clang/Tooling/DependencyScanning/DependencyScanningFilesystem.h
M clang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h
M clang/lib/APINotes/APINotesFormat.h
M clang/lib/APINotes/APINotesReader.cpp
M clang/lib/APINotes/APINotesWriter.cpp
M clang/lib/APINotes/APINotesYAMLCompiler.cpp
M clang/lib/AST/APValue.cpp
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ComputeDependence.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclBase.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/DeclFriend.cpp
M clang/lib/AST/DeclObjC.cpp
M clang/lib/AST/DeclOpenMP.cpp
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ExprCXX.cpp
M clang/lib/AST/ExprClassification.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/ExternalASTSource.cpp
M clang/lib/AST/Interp/ByteCodeEmitter.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.h
M clang/lib/AST/Interp/ByteCodeStmtGen.cpp
M clang/lib/AST/Interp/Context.cpp
M clang/lib/AST/Interp/Context.h
M clang/lib/AST/Interp/Descriptor.cpp
M clang/lib/AST/Interp/Descriptor.h
M clang/lib/AST/Interp/Disasm.cpp
M clang/lib/AST/Interp/EvalEmitter.cpp
M clang/lib/AST/Interp/EvaluationResult.cpp
M clang/lib/AST/Interp/FunctionPointer.h
M clang/lib/AST/Interp/IntegralAP.h
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/InterpFrame.cpp
M clang/lib/AST/Interp/InterpState.h
M clang/lib/AST/Interp/Opcodes.td
M clang/lib/AST/Interp/Pointer.cpp
M clang/lib/AST/Interp/Pointer.h
M clang/lib/AST/Interp/Program.cpp
M clang/lib/AST/Interp/State.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/JSONNodeDumper.cpp
M clang/lib/AST/MicrosoftMangle.cpp
M clang/lib/AST/NSAPI.cpp
M clang/lib/AST/ODRHash.cpp
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/RecordLayoutBuilder.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypeLoc.cpp
M clang/lib/ASTMatchers/Dynamic/Marshallers.h
M clang/lib/Analysis/ExprMutationAnalyzer.cpp
A clang/lib/Analysis/FlowSensitive/ASTOps.cpp
M clang/lib/Analysis/FlowSensitive/CMakeLists.txt
M clang/lib/Analysis/FlowSensitive/DataflowAnalysisContext.cpp
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/lib/Analysis/FlowSensitive/DebugSupport.cpp
M clang/lib/Analysis/FlowSensitive/HTMLLogger.cpp
M clang/lib/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.cpp
M clang/lib/Analysis/FlowSensitive/RecordOps.cpp
M clang/lib/Analysis/FlowSensitive/Transfer.cpp
M clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp
M clang/lib/Analysis/FlowSensitive/Value.cpp
M clang/lib/Analysis/UninitializedValues.cpp
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/lib/Basic/CMakeLists.txt
M clang/lib/Basic/Cuda.cpp
M clang/lib/Basic/FileManager.cpp
M clang/lib/Basic/Module.cpp
M clang/lib/Basic/TargetInfo.cpp
M clang/lib/Basic/Targets.cpp
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/Basic/Targets/AMDGPU.cpp
M clang/lib/Basic/Targets/ARM.h
M clang/lib/Basic/Targets/AVR.h
M clang/lib/Basic/Targets/BPF.h
M clang/lib/Basic/Targets/DirectX.h
M clang/lib/Basic/Targets/M68k.h
M clang/lib/Basic/Targets/Mips.h
M clang/lib/Basic/Targets/NVPTX.cpp
M clang/lib/Basic/Targets/PPC.cpp
M clang/lib/Basic/Targets/PPC.h
M clang/lib/Basic/Targets/RISCV.cpp
M clang/lib/Basic/Targets/RISCV.h
M clang/lib/Basic/Targets/SPIR.h
M clang/lib/Basic/Targets/Sparc.h
M clang/lib/Basic/Targets/SystemZ.h
M clang/lib/Basic/Targets/WebAssembly.cpp
M clang/lib/Basic/Targets/WebAssembly.h
M clang/lib/Basic/Targets/X86.cpp
A clang/lib/CIR/CMakeLists.txt
A clang/lib/CIR/Dialect/CMakeLists.txt
A clang/lib/CIR/Dialect/IR/CIRDialect.cpp
A clang/lib/CIR/Dialect/IR/CMakeLists.txt
M clang/lib/CMakeLists.txt
M clang/lib/CodeGen/ABIInfoImpl.cpp
M clang/lib/CodeGen/BackendConsumer.h
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CGAtomic.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCUDANV.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGCleanup.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/CGExpr.cpp
M clang/lib/CodeGen/CGExprAgg.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CGExprConstant.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/CodeGen/CGObjCGNU.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CGStmtOpenMP.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/CodeGenTBAA.cpp
M clang/lib/CodeGen/CodeGenTypes.cpp
M clang/lib/CodeGen/CoverageMappingGen.cpp
M clang/lib/CodeGen/LinkInModulesPass.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/CodeGen/TargetInfo.h
M clang/lib/CodeGen/Targets/AArch64.cpp
M clang/lib/CodeGen/Targets/X86.cpp
M clang/lib/Driver/CMakeLists.txt
M clang/lib/Driver/Distro.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/OffloadBundler.cpp
M clang/lib/Driver/SanitizerArgs.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/AIX.cpp
M clang/lib/Driver/ToolChains/AIX.h
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/Arch/PPC.cpp
M clang/lib/Driver/ToolChains/Arch/RISCV.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Driver/ToolChains/Gnu.cpp
M clang/lib/Driver/ToolChains/HIPUtility.cpp
M clang/lib/Driver/ToolChains/HLSL.cpp
M clang/lib/Driver/ToolChains/Linux.cpp
M clang/lib/Driver/ToolChains/Linux.h
M clang/lib/Driver/ToolChains/WebAssembly.cpp
M clang/lib/ExtractAPI/API.cpp
M clang/lib/ExtractAPI/DeclarationFragments.cpp
M clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatToken.h
M clang/lib/Format/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/ASTUnit.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/FrontendAction.cpp
M clang/lib/Frontend/FrontendActions.cpp
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/lib/Frontend/InterfaceStubFunctionsConsumer.cpp
M clang/lib/Frontend/MultiplexConsumer.cpp
M clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
M clang/lib/Headers/CMakeLists.txt
A clang/lib/Headers/__stdarg_header_macro.h
A clang/lib/Headers/__stddef_header_macro.h
M clang/lib/Headers/arm_acle.h
M clang/lib/Headers/avxintrin.h
M clang/lib/Headers/builtins.h
M clang/lib/Headers/cpuid.h
M clang/lib/Headers/float.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/lib/Headers/inttypes.h
M clang/lib/Headers/iso646.h
M clang/lib/Headers/limits.h
M clang/lib/Headers/module.modulemap
M clang/lib/Headers/stdalign.h
M clang/lib/Headers/stdarg.h
M clang/lib/Headers/stdbool.h
M clang/lib/Headers/stddef.h
M clang/lib/Headers/stdint.h
M clang/lib/Headers/stdnoreturn.h
M clang/lib/Headers/varargs.h
A clang/lib/Headers/zos_wrappers/builtins.h
M clang/lib/Index/USRGeneration.cpp
M clang/lib/InstallAPI/DylibVerifier.cpp
M clang/lib/InstallAPI/FileList.cpp
M clang/lib/Interpreter/IncrementalParser.cpp
M clang/lib/Interpreter/IncrementalParser.h
M clang/lib/Interpreter/Interpreter.cpp
M clang/lib/Interpreter/InterpreterUtils.cpp
M clang/lib/Lex/HeaderSearch.cpp
M clang/lib/Lex/LiteralSupport.cpp
M clang/lib/Lex/PPDirectives.cpp
M clang/lib/Lex/PPExpressions.cpp
M clang/lib/Lex/Pragma.cpp
M clang/lib/Parse/ParseCXXInlineMethods.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseExprCXX.cpp
M clang/lib/Parse/ParseHLSL.cpp
M clang/lib/Parse/ParseObjc.cpp
M 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/ParseTemplate.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/CMakeLists.txt
M clang/lib/Sema/DeclSpec.cpp
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/lib/Sema/JumpDiagnostics.cpp
M clang/lib/Sema/MultiplexExternalSemaSource.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaAPINotes.cpp
M clang/lib/Sema/SemaAccess.cpp
M clang/lib/Sema/SemaAttr.cpp
M clang/lib/Sema/SemaBase.cpp
M clang/lib/Sema/SemaCUDA.cpp
M clang/lib/Sema/SemaCast.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaCodeComplete.cpp
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaCoroutine.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaDeclObjC.cpp
M clang/lib/Sema/SemaExceptionSpec.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaExprMember.cpp
M clang/lib/Sema/SemaExprObjC.cpp
M clang/lib/Sema/SemaHLSL.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/SemaOpenACC.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaPseudoObject.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/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaTemplateVariadic.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTCommon.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTReaderInternals.h
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/Serialization/GeneratePCH.cpp
M clang/lib/Serialization/GlobalModuleIndex.cpp
M clang/lib/Serialization/ModuleFile.cpp
M clang/lib/Serialization/ModuleFileExtension.cpp
M clang/lib/Serialization/MultiOnDiskHashTable.h
M clang/lib/Serialization/PCHContainerOperations.cpp
M clang/lib/StaticAnalyzer/Checkers/BlockInCriticalSectionChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/BuiltinFunctionChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/CastValueChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ChrootChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ContainerModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/DebugContainerModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/DebugIteratorModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ErrnoTesterChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/IdenticalExprChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/InnerPointerChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/IteratorModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/IteratorRangeChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MIGChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MmapWriteExecChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ObjCUnusedIVarsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ReturnValueChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/STLAlgorithmModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/SmartPtrModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/StdVariantChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StringChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/Taint.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.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/Checkers/cert/InvalidPtrChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/cert/PutenvWithAutoChecker.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
M clang/lib/StaticAnalyzer/Core/RegionStore.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningFilesystem.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
M clang/test/APINotes/Inputs/Headers/SwiftImportAs.apinotes
M clang/test/APINotes/Inputs/Headers/SwiftImportAs.h
M clang/test/APINotes/export-as.c
M clang/test/APINotes/extern-context.cpp
M clang/test/APINotes/namespaces.cpp
M clang/test/APINotes/properties.m
M clang/test/APINotes/swift-import-as.cpp
M clang/test/APINotes/templates.cpp
M clang/test/APINotes/versioned.m
M clang/test/AST/HLSL/RWBuffer-AST.hlsl
M clang/test/AST/HLSL/ResourceStruct.hlsl
M clang/test/AST/HLSL/pch.hlsl
M clang/test/AST/HLSL/pch_hlsl_buffer.hlsl
M clang/test/AST/HLSL/pch_with_buf.hlsl
M clang/test/AST/HLSL/this-reference-template.hlsl
M clang/test/AST/HLSL/this-reference.hlsl
M clang/test/AST/HLSL/vector-constructors.hlsl
M clang/test/AST/Interp/arrays.cpp
A clang/test/AST/Interp/builtin-align-cxx.cpp
M clang/test/AST/Interp/builtin-functions.cpp
M clang/test/AST/Interp/builtins.cpp
M clang/test/AST/Interp/c.c
M clang/test/AST/Interp/const-fpfeatures.cpp
M clang/test/AST/Interp/cxx03.cpp
M clang/test/AST/Interp/cxx23.cpp
A clang/test/AST/Interp/eval-order.cpp
M clang/test/AST/Interp/functions.cpp
M clang/test/AST/Interp/lambda.cpp
M clang/test/AST/Interp/literals.cpp
A clang/test/AST/Interp/opencl.cl
M clang/test/AST/Interp/records.cpp
M clang/test/AST/Interp/vectors.cpp
M clang/test/AST/alignas_maybe_odr_cleanup.cpp
M clang/test/AST/arithmetic-fence-builtin.c
M clang/test/AST/ast-crash-doc-function-template.cpp
M clang/test/AST/ast-dump-attr-json.cpp
M clang/test/AST/ast-dump-attr-type.cpp
M clang/test/AST/ast-dump-coroutine.cpp
A clang/test/AST/ast-dump-cxx2c-delete-with-message.cpp
M clang/test/AST/ast-dump-default-arg-dep.cpp
A clang/test/AST/ast-dump-default-arg-json.cpp
M clang/test/AST/ast-dump-default-arg-recovery.cpp
A clang/test/AST/ast-dump-default-init-json.cpp
A clang/test/AST/ast-dump-default-init.cpp
M clang/test/AST/ast-dump-for-range-lifetime.cpp
M clang/test/AST/ast-dump-fpfeatures.cpp
A clang/test/AST/ast-dump-fpfeatures.m
A clang/test/AST/ast-dump-late-parsing.cpp
M clang/test/AST/ast-dump-macro-json.c
A clang/test/AST/ast-dump-pragma-unroll.cpp
M clang/test/AST/ast-dump-recovery.cpp
M clang/test/AST/ast-dump-template-json-win32-mangler-crash.cpp
M clang/test/AST/ast-dump-templates.cpp
M clang/test/AST/ast-dump-traits.cpp
M clang/test/AST/ast-dump-types-errors.cpp
A clang/test/AST/ast-print-cxx2c-delete-with-message.cpp
M clang/test/AST/ast-print-fp-pragmas.c
A clang/test/AST/ast-print-openacc-compute-construct.cpp
M clang/test/AST/ast-print-pragmas.cpp
M clang/test/AST/attr-swift_attr.m
M clang/test/AST/attr-swift_bridge.m
M clang/test/AST/attr-swift_bridged_typedef.m
M clang/test/AST/attr-swift_bridged_typedef.mm
M clang/test/AST/auto-pragma.cpp
A clang/test/AST/bitint-suffix.cpp
M clang/test/AST/category-attribute.m
M clang/test/AST/const-fpfeatures.c
M clang/test/AST/const-fpfeatures.cpp
M clang/test/AST/coroutine-co_yield-source-range.cpp
M clang/test/AST/coroutine-locals-cleanup.cpp
M clang/test/AST/coroutine-source-location-crash.cpp
M clang/test/AST/deduction-guides.cpp
M clang/test/AST/foreachtemplatized.mm
M clang/test/AST/loop-recovery.cpp
M clang/test/AST/multistep-explicit-cast.c
M clang/test/AST/multistep-explicit-cast.cpp
M clang/test/AST/objc-default-ctor-init.mm
M clang/test/AST/pr43983.cpp
M clang/test/AST/pr47636.cpp
M clang/test/AST/pragma-attribute-cxx-subject-match-rules.cpp
M clang/test/AST/pragma-attribute-objc-subject-match-rules.m
M clang/test/AST/pragma-multiple-attributes-declspec.cpp
M clang/test/AST/pragma-multiple-attributes.cpp
M clang/test/AST/spurious-regparm.c
M clang/test/AST/template-implicit-vars.cpp
M clang/test/ASTMerge/codegen-exprs/test.c
A clang/test/Analysis/Checkers/WebKit/call-args-regression-traverse-decl-crash.cpp
M clang/test/Analysis/Checkers/WebKit/call-args-wtf-containers.cpp
M clang/test/Analysis/Checkers/WebKit/call-args.cpp
A clang/test/Analysis/Checkers/WebKit/mock-system-header.h
M clang/test/Analysis/Checkers/WebKit/mock-types.h
M clang/test/Analysis/Checkers/WebKit/ref-cntbl-base-virtual-dtor-templates.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-local-vars.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-members.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
M clang/test/Analysis/Inputs/system-header-simulator-cxx.h
M clang/test/Analysis/addrspace-null.c
M clang/test/Analysis/analyzer-config.c
M clang/test/Analysis/analyzer-enabled-checkers.c
M clang/test/Analysis/ctu-cxxdefaultinitexpr.cpp
M clang/test/Analysis/ctu-lookup-name-with-space.cpp
M clang/test/Analysis/ctu-main.c
M clang/test/Analysis/ctu-on-demand-parsing.c
M clang/test/Analysis/cxx-uninitialized-object-ptr-ref.cpp
M clang/test/Analysis/exercise-ps.c
M clang/test/Analysis/explain-svals.cpp
A clang/test/Analysis/gh-issue-89185.c
M clang/test/Analysis/handle_constructors_for_default_arguments.cpp
M clang/test/Analysis/handle_constructors_with_new_array.cpp
M clang/test/Analysis/html_diagnostics/relevant_lines/goto.c
M clang/test/Analysis/html_diagnostics/relevant_lines/macros_same_file.c
M clang/test/Analysis/html_diagnostics/relevant_lines/multifile.c
M clang/test/Analysis/html_diagnostics/relevant_lines/multiline_func_def.c
M clang/test/Analysis/html_diagnostics/relevant_lines/notexecutedlines.c
M clang/test/Analysis/html_diagnostics/relevant_lines/objcmethods.m
M clang/test/Analysis/html_diagnostics/relevant_lines/simple_conditional.c
M clang/test/Analysis/html_diagnostics/relevant_lines/switch.c
M clang/test/Analysis/html_diagnostics/relevant_lines/switch_default.c
M clang/test/Analysis/html_diagnostics/relevant_lines/synthesized_body.cpp
M clang/test/Analysis/html_diagnostics/relevant_lines/unused_header.c
M clang/test/Analysis/inlining/temp-dtors-path-notes.cpp
A clang/test/Analysis/invalid-ptr-checker.cpp
M clang/test/Analysis/invalidated-iterator.cpp
A clang/test/Analysis/malloc-std-namespace.cpp
M clang/test/Analysis/malloc.c
M clang/test/Analysis/malloc.cpp
M clang/test/Analysis/new-aligned.cpp
M clang/test/Analysis/osobject-retain-release.cpp
M clang/test/Analysis/ptr-cmp-const-trunc.cl
M clang/test/Analysis/region_store_overflow.c
M clang/test/Analysis/return-value-guaranteed.cpp
M clang/test/Analysis/scan-build/deduplication.test
M clang/test/Analysis/scan-build/exclude_directories.test
M clang/test/Analysis/scan-build/help.test
M clang/test/Analysis/scan-build/html_output.test
M clang/test/Analysis/scan-build/lit.local.cfg
M clang/test/Analysis/scan-build/plist_html_output.test
M clang/test/Analysis/scan-build/plist_output.test
M clang/test/Analysis/scan-build/rebuild_index/rebuild_index.test
M clang/test/Analysis/scan-build/silence-core-checkers.test
M clang/test/Analysis/solver-sym-simplification-bool.cpp
M clang/test/Analysis/solver-sym-simplification-ptr-bool.cl
M clang/test/Analysis/stack-addr-ps.c
M clang/test/Analysis/stackaddrleak.c
M clang/test/Analysis/std-c-library-functions-arg-enabled-checkers.c
M clang/test/Analysis/std-c-library-functions-arg-weakdeps.c
M clang/test/Analysis/std-c-library-functions-vs-stream-checker.c
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-invalidate.c
M clang/test/Analysis/stream-non-posix-function.c
M clang/test/Analysis/stream-noopen.c
M clang/test/Analysis/stream-note.c
M clang/test/Analysis/stream-pedantic.c
M clang/test/Analysis/stream-stdlibraryfunctionargs.c
M clang/test/Analysis/stream.c
M clang/test/Analysis/stream.cpp
M clang/test/Analysis/taint-diagnostic-visitor.c
M clang/test/Analysis/taint-generic.c
M clang/test/Analysis/transparent_union_bug.c
M clang/test/Analysis/trustnonnullchecker_test.m
M clang/test/Analysis/trustnonnullchecker_test.mm
M clang/test/Analysis/undef-call.c
A clang/test/C/C99/n809.c
A clang/test/C/C99/n809_2.c
A clang/test/C/C99/n809_3.c
M clang/test/C/drs/dr290.c
M clang/test/CMakeLists.txt
M clang/test/CXX/class/class.compare/class.compare.default/p4.cpp
M clang/test/CXX/class/class.friend/p7-cxx20.cpp
A clang/test/CXX/class/class.mem/class.mem.general/p8.cpp
M clang/test/CXX/class/class.mfct/p1-cxx20.cpp
M clang/test/CXX/dcl.decl/dcl.init/dcl.init.ref/p5-examples.cpp
A clang/test/CXX/dcl.decl/dcl.meaning/dcl.fct/p6-cxx23.cpp
A clang/test/CXX/drs/cwg118.cpp
A clang/test/CXX/drs/cwg124.cpp
A clang/test/CXX/drs/cwg158.cpp
A clang/test/CXX/drs/cwg1748.cpp
A clang/test/CXX/drs/cwg177x.cpp
A clang/test/CXX/drs/cwg1807.cpp
A clang/test/CXX/drs/cwg185.cpp
A clang/test/CXX/drs/cwg193.cpp
A clang/test/CXX/drs/cwg199.cpp
A clang/test/CXX/drs/cwg201.cpp
A clang/test/CXX/drs/cwg210.cpp
A clang/test/CXX/drs/cwg2149.cpp
A clang/test/CXX/drs/cwg2335.cpp
A clang/test/CXX/drs/cwg2390.cpp
A clang/test/CXX/drs/cwg2504.cpp
A clang/test/CXX/drs/cwg292.cpp
A clang/test/CXX/drs/cwg392.cpp
A clang/test/CXX/drs/cwg412.cpp
A clang/test/CXX/drs/cwg438.cpp
A clang/test/CXX/drs/cwg439.cpp
A clang/test/CXX/drs/cwg441.cpp
A clang/test/CXX/drs/cwg462.cpp
A clang/test/CXX/drs/cwg492.cpp
A clang/test/CXX/drs/cwg519.cpp
A clang/test/CXX/drs/cwg571.cpp
A clang/test/CXX/drs/cwg605.cpp
A clang/test/CXX/drs/cwg650.cpp
A clang/test/CXX/drs/cwg653.cpp
A clang/test/CXX/drs/cwg658.cpp
A clang/test/CXX/drs/cwg661.cpp
A clang/test/CXX/drs/cwg672.cpp
A clang/test/CXX/drs/cwgr593.cpp
M clang/test/CXX/drs/dr0xx.cpp
M clang/test/CXX/drs/dr10xx.cpp
R clang/test/CXX/drs/dr118.cpp
M clang/test/CXX/drs/dr11xx.cpp
R clang/test/CXX/drs/dr124.cpp
M clang/test/CXX/drs/dr12xx.cpp
M clang/test/CXX/drs/dr13xx.cpp
M clang/test/CXX/drs/dr14xx.cpp
R clang/test/CXX/drs/dr158.cpp
M clang/test/CXX/drs/dr15xx.cpp
M clang/test/CXX/drs/dr16xx.cpp
R clang/test/CXX/drs/dr1748.cpp
R clang/test/CXX/drs/dr177x.cpp
M clang/test/CXX/drs/dr17xx.cpp
R clang/test/CXX/drs/dr1807.cpp
R clang/test/CXX/drs/dr185.cpp
M clang/test/CXX/drs/dr18xx.cpp
R clang/test/CXX/drs/dr193.cpp
R clang/test/CXX/drs/dr199.cpp
M clang/test/CXX/drs/dr19xx.cpp
M clang/test/CXX/drs/dr1xx.cpp
R clang/test/CXX/drs/dr201.cpp
M clang/test/CXX/drs/dr20xx.cpp
R clang/test/CXX/drs/dr210.cpp
M clang/test/CXX/drs/dr21xx.cpp
M clang/test/CXX/drs/dr22xx.cpp
R clang/test/CXX/drs/dr2335.cpp
R clang/test/CXX/drs/dr2390.cpp
M clang/test/CXX/drs/dr23xx.cpp
M clang/test/CXX/drs/dr24xx.cpp
R clang/test/CXX/drs/dr2504.cpp
M clang/test/CXX/drs/dr25xx.cpp
M clang/test/CXX/drs/dr26xx.cpp
M clang/test/CXX/drs/dr27xx.cpp
M clang/test/CXX/drs/dr28xx.cpp
R clang/test/CXX/drs/dr292.cpp
M clang/test/CXX/drs/dr2xx.cpp
R clang/test/CXX/drs/dr392.cpp
M clang/test/CXX/drs/dr3xx.cpp
R clang/test/CXX/drs/dr412.cpp
R clang/test/CXX/drs/dr438.cpp
R clang/test/CXX/drs/dr439.cpp
R clang/test/CXX/drs/dr441.cpp
R clang/test/CXX/drs/dr462.cpp
R clang/test/CXX/drs/dr492.cpp
M clang/test/CXX/drs/dr4xx.cpp
R clang/test/CXX/drs/dr519.cpp
R clang/test/CXX/drs/dr571.cpp
R clang/test/CXX/drs/dr593.cpp
M clang/test/CXX/drs/dr5xx.cpp
R clang/test/CXX/drs/dr605.cpp
R clang/test/CXX/drs/dr650.cpp
R clang/test/CXX/drs/dr653.cpp
R clang/test/CXX/drs/dr658.cpp
R clang/test/CXX/drs/dr661.cpp
R clang/test/CXX/drs/dr672.cpp
M clang/test/CXX/drs/dr6xx.cpp
M clang/test/CXX/drs/dr7xx.cpp
M clang/test/CXX/drs/dr8xx.cpp
M clang/test/CXX/drs/dr9xx.cpp
A clang/test/CXX/except/except.spec/p13-friend.cpp
M clang/test/CXX/except/except.spec/p13.cpp
M clang/test/CXX/expr/expr.const/p5-26.cpp
M clang/test/CXX/expr/expr.prim/expr.prim.lambda/p15-star-this-capture.cpp
M clang/test/CXX/expr/expr.unary/expr.unary.noexcept/cg.cpp
M clang/test/CXX/expr/expr.unary/expr.unary.op/p4.cpp
M clang/test/CXX/lex/lex.literal/lex.string/p4.cpp
A clang/test/CXX/module/module.glob.frag/cxx20-10-4-ex2.cppm
M clang/test/CXX/module/module.private.frag/p1.cpp
M clang/test/CXX/over/over.built/ast.cpp
A clang/test/CXX/stmt.stmt/stmt.return/p6.cpp
M clang/test/CXX/temp/temp.arg/temp.arg.template/p3-2a.cpp
A clang/test/CXX/temp/temp.deduct/p7.cpp
A clang/test/CXX/temp/temp.res/temp.dep/temp.dep.type/p4.cpp
M clang/test/CXX/temp/temp.res/temp.local/p3.cpp
A clang/test/CXX/temp/temp.spec/temp.expl.spec/p14-23.cpp
A clang/test/CXX/temp/temp.spec/temp.expl.spec/p8.cpp
M clang/test/ClangScanDeps/error.cpp
M clang/test/ClangScanDeps/module-format.c
M clang/test/ClangScanDeps/modules-extern-unrelated.m
M clang/test/ClangScanDeps/modules-full.cpp
M clang/test/ClangScanDeps/removed-args.c
M clang/test/CodeGen/2010-08-10-DbgConstant.c
M clang/test/CodeGen/LoongArch/intrinsic-la32-error.c
M clang/test/CodeGen/LoongArch/intrinsic-la64-error.c
A clang/test/CodeGen/LoongArch/tls-dialect.c
M clang/test/CodeGen/PR32874.c
M clang/test/CodeGen/PR44896.ll
M clang/test/CodeGen/PowerPC/aix_alloca_align.c
M clang/test/CodeGen/PowerPC/builtins-ppc-fpconstrained.c
M clang/test/CodeGen/PowerPC/builtins-ppc-htm.c
M clang/test/CodeGen/PowerPC/builtins-ppc-vec-ins-error.c
M clang/test/CodeGen/PowerPC/ibm128-cast.c
M clang/test/CodeGen/PowerPC/toc-data-attribute.c
M clang/test/CodeGen/PowerPC/toc-data-attribute.cpp
M clang/test/CodeGen/PowerPC/toc-data-diagnostics.c
M clang/test/CodeGen/PowerPC/toc-data-structs-arrays.cpp
M clang/test/CodeGen/PowerPC/vector-bool-pixel-altivec-init-no-parentheses.c
M clang/test/CodeGen/PowerPC/vector-bool-pixel-altivec-init.c
M clang/test/CodeGen/PowerPC/vector-compat-pixel-bool-ternary.c
M clang/test/CodeGen/PowerPC/vector-compat-pixel-bool.c
M clang/test/CodeGen/PowerPC/vector-compat-ternary.c
M clang/test/CodeGen/PowerPC/vector-compat.c
M clang/test/CodeGen/RISCV/riscv-func-attr-target-err.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vcreate.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vget.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vle16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vle16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlmul_ext_v.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlmul_trunc_v.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxseg2ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxseg3ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxseg4ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxseg5ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxseg6ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxseg7ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxseg8ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlse16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg2e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg2e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg3e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg3e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg4e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg4e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg5e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg5e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg6e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg6e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg7e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg7e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg8e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg8e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlsseg2e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlsseg3e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlsseg4e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlsseg5e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlsseg6e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlsseg7e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlsseg8e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxseg2ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxseg3ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxseg4ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxseg5ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxseg6ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxseg7ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxseg8ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vreinterpret.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vse16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vset.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxseg2ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxseg3ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxseg4ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxseg5ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxseg6ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxseg7ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxseg8ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsse16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsseg2e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsseg3e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsseg4e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsseg5e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsseg6e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsseg7e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsseg8e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vssseg2e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vssseg3e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vssseg4e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vssseg5e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vssseg6e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vssseg7e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vssseg8e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxseg2ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxseg3ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxseg4ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxseg5ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxseg6ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxseg7ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxseg8ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vundefined.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vaesdf.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vaesdm.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vaesef.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vaesem.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vaesz.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsm4r.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vget.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vle16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vle16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlmul_ext_v.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlmul_trunc_v.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxseg2ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxseg3ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxseg4ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxseg5ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxseg6ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxseg7ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxseg8ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlse16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg2e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg2e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg3e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg3e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg4e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg4e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg5e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg5e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg6e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg6e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg7e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg7e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg8e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg8e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlsseg2e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlsseg3e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlsseg4e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlsseg5e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlsseg6e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlsseg7e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlsseg8e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxseg2ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxseg3ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxseg4ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxseg5ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxseg6ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxseg7ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxseg8ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vreinterpret.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vse16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vset.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxseg2ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxseg3ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxseg4ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxseg5ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxseg6ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxseg7ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxseg8ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsse16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsseg2e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsseg3e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsseg4e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsseg5e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsseg6e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsseg7e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsseg8e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vssseg2e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vssseg3e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vssseg4e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vssseg5e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vssseg6e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vssseg7e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vssseg8e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxseg2ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxseg3ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxseg4ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxseg5ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxseg6ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxseg7ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vaesdf.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vaesdm.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vaesef.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vaesem.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vaesz.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsm4r.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vle16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vle16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxseg2ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxseg3ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxseg4ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxseg5ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxseg6ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxseg7ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxseg8ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlse16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg2e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg2e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg3e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg3e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg4e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg4e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg5e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg5e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg6e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg6e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg7e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg7e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg8e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg8e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlsseg2e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlsseg3e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlsseg4e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlsseg5e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlsseg6e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlsseg7e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlsseg8e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxseg2ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxseg3ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxseg4ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxseg5ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxseg6ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxseg7ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vaesdf.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vaesdm.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vaesef.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vaesem.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vaesz.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vsm4r.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vle16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vle16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vloxei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vloxseg2ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vloxseg3ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vloxseg4ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vloxseg5ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vloxseg6ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vloxseg7ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vloxseg8ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlse16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg2e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg2e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg3e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg3e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg4e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg4e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg5e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg5e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg6e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg6e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg7e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg7e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg8e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg8e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlsseg2e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlsseg3e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlsseg4e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlsseg5e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlsseg6e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlsseg7e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlsseg8e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vluxei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vluxseg2ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vluxseg3ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vluxseg4ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vluxseg5ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vluxseg6ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vluxseg7ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vluxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vaesdf.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vaesdm.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vaesef.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vaesem.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vaesz.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vsm4r.c
M clang/test/CodeGen/SystemZ/align-systemz-02.c
M clang/test/CodeGen/SystemZ/builtins-systemz-error2.c
M clang/test/CodeGen/SystemZ/builtins-systemz-zvector.c
M clang/test/CodeGen/SystemZ/builtins-systemz-zvector2.c
M clang/test/CodeGen/VE/ve-velintrin.c
M clang/test/CodeGen/X86/amx_errors.c
M clang/test/CodeGen/X86/amxcomplex-errors.c
M clang/test/CodeGen/X86/bfloat16.cpp
M clang/test/CodeGen/X86/cmp-avx-builtins-error.c
M clang/test/CodeGen/X86/cmpccxadd-builtins-error-32.c
M clang/test/CodeGen/X86/cmpccxadd-builtins-error.c
A clang/test/CodeGen/X86/inline-asm-gcc-regs.c
M clang/test/CodeGen/X86/math-builtins.c
M clang/test/CodeGen/X86/ms-inline-asm-prefix.c
M clang/test/CodeGen/X86/ms-x86-intrinsics.c
M clang/test/CodeGen/X86/sm3-error.c
M clang/test/CodeGen/X86/usermsr-builtins-error-32.c
A clang/test/CodeGen/X86/x86-atomic-float.c
M clang/test/CodeGen/X86/x86-atomic-long_double.c
M clang/test/CodeGen/X86/x86-cf-protection.c
M clang/test/CodeGen/X86/x86-vec-i128.c
M clang/test/CodeGen/X86/x86_64-atomic-128.c
M clang/test/CodeGen/X86/x86_64-instrument-functions.c
M clang/test/CodeGen/X86/x86_inlineasm_curly_bracket_escape.c
M clang/test/CodeGen/aapcs-bitfield.c
M clang/test/CodeGen/aarch64-ABI-align-packed-assembly.c
M clang/test/CodeGen/aarch64-ABI-align-packed.c
M clang/test/CodeGen/aarch64-bf16-reinterpret-intrinsics.c
M clang/test/CodeGen/aarch64-ls64-inline-asm.c
M clang/test/CodeGen/aarch64-ls64.c
M clang/test/CodeGen/aarch64-matmul.cpp
M clang/test/CodeGen/aarch64-mixed-target-attributes.c
M clang/test/CodeGen/aarch64-mops.c
M clang/test/CodeGen/aarch64-neon-3v.c
M clang/test/CodeGen/aarch64-neon-fma.c
M clang/test/CodeGen/aarch64-neon-intrinsics-constrained.c
M clang/test/CodeGen/aarch64-neon-intrinsics.c
M clang/test/CodeGen/aarch64-neon-sha3.c
M clang/test/CodeGen/aarch64-neon-shifts.c
M clang/test/CodeGen/aarch64-neon-sm4-sm3.c
M clang/test/CodeGen/aarch64-neon-vcadd.c
M clang/test/CodeGen/aarch64-neon-vsqadd-float-conversion.c
M clang/test/CodeGen/aarch64-neon-vuqadd-float-conversion-warning.c
M clang/test/CodeGen/aarch64-sme-intrinsics/aarch64-sme-attrs.cpp
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_add-i32.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_add-i64.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_cnt.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_ld1.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_ld1_vnum.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_ldr.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_mopa-za32.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_mopa-za64.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_mops-za32.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_mops-za64.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_read.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_st1.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_st1_vnum.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_state_funs.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_str.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_write.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_zero.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/aarch64-sme2-attrs.cpp
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_add.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_bmop.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_clamp.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_cvt.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_cvtn.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_fp_dots.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_frint.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_int_dots.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_ldr_str_zt.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti2_lane_zt.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti2_lane_zt_x2.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti2_lane_zt_x4.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti4_lane_zt.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti4_lane_zt_x2.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti4_lane_zt_x4.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_max.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_maxnm.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_min.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_minnm.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mla.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mlal.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mlall.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mls.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mlsl.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mop.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_read.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_reinterpret_svcount_svbool.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_sqdmulh.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_sub.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_unpkx2.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_unpkx4.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vdot.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_add.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_qrshr.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_rshl.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_selx2.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_selx4.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_uzpx2.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_uzpx4.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_zipx2.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_zipx4.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_write.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_zero_zt.c
M clang/test/CodeGen/aarch64-soft-float-abi-errors.c
M clang/test/CodeGen/aarch64-sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.c
M clang/test/CodeGen/aarch64-sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.cpp
M clang/test/CodeGen/aarch64-sve-inline-asm-datatypes.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_abd.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_abs.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_acge.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_acgt.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_acle.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_aclt.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_add.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_adda.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_addv.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_adrb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_adrd.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_adrh.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_adrw.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_and.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_andv.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_asr.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_asrd.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_bfdot.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_bfmlalb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_bfmlalt.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_bfmmla.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_bic.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_brka.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_brkb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_brkn.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_brkpa.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_brkpb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cadd.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_clasta-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_clasta.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_clastb-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_clastb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cls.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_clz.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmla.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmpeq.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmpge.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmpgt.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmple.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmplt.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmpne.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmpuo.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cnot.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cnt-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cnt.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cntb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cntd.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cnth.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cntp.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cntw.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_compact.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create2-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create2.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create3-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create3.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create4-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create4.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cvt-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cvt.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cvtnt.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_div.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_divr.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_dot.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_dup-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_dup.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_dupq-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_dupq.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_eor.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_eorv.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_expa.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ext-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ext.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_extb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_exth.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_extw.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get2-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get2.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get3-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get3.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get4-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get4.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_index.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_insr-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_insr.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_lasta-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_lasta.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_lastb-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_lastb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1ro-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1ro.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1rq-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1rq.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1sb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1sh.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1sw.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1ub.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1uh.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1uw.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld2-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld2.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld3-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld3.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld4-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld4.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldff1-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldff1.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldff1sb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldff1sh.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldff1sw.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldff1ub.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldff1uh.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldff1uw.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnf1-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnf1.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnf1sb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnf1sh.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnf1sw.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnf1ub.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnf1uh.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnf1uw.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnt1-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnt1.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_len-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_len.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_lsl.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_lsr.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mad.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_matmul_fp32.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_matmul_fp64.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_max.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_maxnm.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_maxnmv.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_maxv.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_min.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_minnm.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_minnmv.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_minv.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mla.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mls.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mmla.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mov.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_msb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mul.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mulh.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mulx.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_nand.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_neg.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_nmad.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_nmla.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_nmls.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_nmsb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_nor.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_not.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_orn.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_orr.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_orv.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_pfalse.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_pfirst.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_pnext.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_prfb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_prfd.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_prfh.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_prfw.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ptest.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ptrue.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qadd.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qdecb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qdecd.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qdech.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qdecp.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qdecw.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qincb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qincd.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qinch.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qincp.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qincw.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qsub.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rbit.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rdffr.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_recpe.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_recps.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_recpx.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_reinterpret-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_reinterpret.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_reinterpret_from_streaming_mode.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rev-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rev.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_revb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_revh.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_revw.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rinta.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rinti.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rintm.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rintn.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rintp.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rintx.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rintz.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rsqrte.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rsqrts.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_scale.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_sel-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_sel.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set2-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set2.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set3-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set3.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set4-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set4.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_setffr.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_splice-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_splice.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_sqrt.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1b.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1h.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1w.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st2-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st2.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st3-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st3.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st4-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st4.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_stnt1-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_stnt1.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_sub.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_subr.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_sudot.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_tbl-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_tbl.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_tmad.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_trn1-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_trn1-fp64-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_trn1-fp64.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_trn1.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_trn2-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_trn2-fp64-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_trn2-fp64.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_trn2.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_tsmul.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_tssel.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef2-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef2.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef3-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef3.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef4-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef4.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_unpkhi.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_unpklo.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_usdot.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_uzp1-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_uzp1-fp64-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_uzp1-fp64.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_uzp1.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_uzp2-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_uzp2-fp64-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_uzp2-fp64.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_uzp2.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_whilele.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_whilelt.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_wrffr.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_zip1-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_zip1-fp64-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_zip1-fp64.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_zip1.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_zip2-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_zip2-fp64-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_zip2-fp64.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_zip2.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_aba.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_abalb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_abalt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_abdlb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_abdlt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_adalp.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_adclb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_adclt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addhnb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addhnt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addlb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addlbt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addlt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addp.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addwb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addwt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_aesd.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_aese.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_aesimc.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_aesmc.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bcax.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bdep.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bext.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bgrp.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bsl.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bsl1n.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bsl2n.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_cadd.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_cdot.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_cmla.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_cvtlt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_cvtnt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_cvtx.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_cvtxnt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_eor3.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_eorbt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_eortb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_hadd.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_histcnt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_histseg.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_hsub.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_hsubr.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1sb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1sh.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1sw.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1ub.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1uh.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1uw.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_logb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_match.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_maxnmp.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_maxp.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_minnmp.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_minp.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mla.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mlalb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mlalt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mls.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mlslb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mlslt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_movlb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_movlt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mul.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mullb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mullt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_nbsl.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_nmatch.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_pmul.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_pmullb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_pmullb_128.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_pmullt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_pmullt_128.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qabs.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qadd.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qcadd.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmlalb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmlalbt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmlalt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmlslb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmlslbt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmlslt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmulh.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmullb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmullt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qneg.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrdcmlah.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrdmlah.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrdmlsh.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrdmulh.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrshl.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrshrnb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrshrnt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrshrunb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrshrunt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qshl.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qshlu.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qshrnb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qshrnt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qshrunb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qshrunt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qsub.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qsubr.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qxtnb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qxtnt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qxtunb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qxtunt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_raddhnb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_raddhnt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rax1.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_recpe.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_revd.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rhadd.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rshl.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rshr.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rshrnb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rshrnt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rsqrte.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rsra.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rsubhnb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rsubhnt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sbclb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sbclt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_shllb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_shllt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_shrnb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_shrnt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sli.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sm4e.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sm4ekey.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sqadd.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sra.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sri.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_stnt1.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_stnt1b.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_stnt1h.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_stnt1w.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_subhnb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_subhnt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sublb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sublbt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sublt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_subltb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_subwb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_subwt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_tbl2-bfloat.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_tbl2.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_tbx-bfloat.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_tbx.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_uqadd.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_whilege.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_whilegt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_whilerw-bfloat.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_whilerw.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_whilewr-bfloat.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_whilewr.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_xar.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfadd.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfclamp.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmax.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmaxnm.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmin.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfminnm.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmla.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmla_lane.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmls.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmls_lane.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmlsl.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmul.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmul_lane.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfsub.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_cntp.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_create2_bool.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_create4_bool.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_dot.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_dupq.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_extq.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_fclamp.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_fp_reduce.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_get2_bool.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_get4_bool.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_int_reduce.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_ld1.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_ld1_single.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_ldnt1.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_loads.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_pext.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_pfalse.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_pmov_to_pred.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_pmov_to_vector.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_psel.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_psel_svcount.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_ptrue.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_qcvtn.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_qrshr.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_sclamp.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_set2_bool.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_set4_bool.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_st1.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_st1_single.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_stnt1.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_store.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_tblq.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_tbxq.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_uclamp.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_undef_bool.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_uzpq1.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_uzpq2.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_while_pn.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_while_x2.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_zipq1.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_zipq2.c
M clang/test/CodeGen/aarch64-sysregs-target.c
M clang/test/CodeGen/aarch64-targetattr.c
M clang/test/CodeGen/aarch64-tme.cpp
M clang/test/CodeGen/aarch64-type-sizes.c
M clang/test/CodeGen/aarch64-v8.1a-neon-intrinsics.c
M clang/test/CodeGen/aarch64-v8.2a-fp16-intrinsics-constrained.c
M clang/test/CodeGen/aarch64-v8.2a-fp16-intrinsics.c
M clang/test/CodeGen/aarch64-v8.2a-neon-intrinsics-constrained.c
M clang/test/CodeGen/aarch64-v8.2a-neon-intrinsics-generic.c
M clang/test/CodeGen/aarch64-v8.2a-neon-intrinsics.c
M clang/test/CodeGen/aarch64-v8.5a-neon-frint3264-intrinsic.c
M clang/test/CodeGen/aarch64-v8.5a-scalar-frint3264-intrinsic.c
M clang/test/CodeGen/aarch64-v8.6a-neon-intrinsics.c
M clang/test/CodeGen/aarch64_neon_sve_bridge_intrinsics/acle_neon_sve_bridge_dup_neonq.c
M clang/test/CodeGen/aarch64_neon_sve_bridge_intrinsics/acle_neon_sve_bridge_get_neonq.c
M clang/test/CodeGen/aarch64_neon_sve_bridge_intrinsics/acle_neon_sve_bridge_set_neonq.c
M clang/test/CodeGen/aarch64_neon_sve_bridge_intrinsics/target.c
M clang/test/CodeGen/aggregate-assign-call.c
M clang/test/CodeGen/aix-builtin-cpu-is.c
A clang/test/CodeGen/aix-builtin-cpu-supports.c
M clang/test/CodeGen/alias.cpp
M clang/test/CodeGen/align-global-large.c
M clang/test/CodeGen/aligned-sret.c
M clang/test/CodeGen/arm-bf16-convert-intrinsics.c
M clang/test/CodeGen/arm-bf16-dotprod-intrinsics.c
M clang/test/CodeGen/arm-bf16-reinterpret-intrinsics.c
M clang/test/CodeGen/arm-byval-align.c
M clang/test/CodeGen/arm-cde-gpr.c
M clang/test/CodeGen/arm-cde-reinterpret.c
M clang/test/CodeGen/arm-cde-vec.c
M clang/test/CodeGen/arm-cde-vfp.c
M clang/test/CodeGen/arm-mve-intrinsics/absneg.c
M clang/test/CodeGen/arm-mve-intrinsics/admin.c
M clang/test/CodeGen/arm-mve-intrinsics/bitwise-imm.c
M clang/test/CodeGen/arm-mve-intrinsics/compare.c
M clang/test/CodeGen/arm-mve-intrinsics/cplusplus.cpp
M clang/test/CodeGen/arm-mve-intrinsics/dup.c
M clang/test/CodeGen/arm-mve-intrinsics/get-set-lane.c
M clang/test/CodeGen/arm-mve-intrinsics/idup.c
M clang/test/CodeGen/arm-mve-intrinsics/load-store.c
M clang/test/CodeGen/arm-mve-intrinsics/predicates.c
M clang/test/CodeGen/arm-mve-intrinsics/reinterpret.c
M clang/test/CodeGen/arm-mve-intrinsics/scalar-shifts.c
M clang/test/CodeGen/arm-mve-intrinsics/scatter-gather.c
M clang/test/CodeGen/arm-mve-intrinsics/ternary.c
M clang/test/CodeGen/arm-mve-intrinsics/vabavq.c
M clang/test/CodeGen/arm-mve-intrinsics/vabdq.c
M clang/test/CodeGen/arm-mve-intrinsics/vadc.c
M clang/test/CodeGen/arm-mve-intrinsics/vaddq.c
M clang/test/CodeGen/arm-mve-intrinsics/vaddv.c
M clang/test/CodeGen/arm-mve-intrinsics/vandq.c
M clang/test/CodeGen/arm-mve-intrinsics/vbicq.c
M clang/test/CodeGen/arm-mve-intrinsics/vbrsrq.c
M clang/test/CodeGen/arm-mve-intrinsics/vcaddq.c
M clang/test/CodeGen/arm-mve-intrinsics/vclz.c
M clang/test/CodeGen/arm-mve-intrinsics/vcmlaq.c
M clang/test/CodeGen/arm-mve-intrinsics/vcmulq.c
M clang/test/CodeGen/arm-mve-intrinsics/vcvt.c
M clang/test/CodeGen/arm-mve-intrinsics/vcvt_anpm.c
M clang/test/CodeGen/arm-mve-intrinsics/vector-shift-imm-dyadic.c
M clang/test/CodeGen/arm-mve-intrinsics/vector-shift-imm.c
M clang/test/CodeGen/arm-mve-intrinsics/vector-shift-var.c
M clang/test/CodeGen/arm-mve-intrinsics/veorq.c
M clang/test/CodeGen/arm-mve-intrinsics/vhaddq.c
M clang/test/CodeGen/arm-mve-intrinsics/vhcaddq.c
M clang/test/CodeGen/arm-mve-intrinsics/vhsubq.c
M clang/test/CodeGen/arm-mve-intrinsics/vld24.c
M clang/test/CodeGen/arm-mve-intrinsics/vldr.c
M clang/test/CodeGen/arm-mve-intrinsics/vmaxaq.c
M clang/test/CodeGen/arm-mve-intrinsics/vmaxnmaq.c
M clang/test/CodeGen/arm-mve-intrinsics/vmaxnmq.c
M clang/test/CodeGen/arm-mve-intrinsics/vmaxq.c
M clang/test/CodeGen/arm-mve-intrinsics/vminaq.c
M clang/test/CodeGen/arm-mve-intrinsics/vminnmaq.c
M clang/test/CodeGen/arm-mve-intrinsics/vminnmq.c
M clang/test/CodeGen/arm-mve-intrinsics/vminq.c
M clang/test/CodeGen/arm-mve-intrinsics/vminvq.c
M clang/test/CodeGen/arm-mve-intrinsics/vmldav.c
M clang/test/CodeGen/arm-mve-intrinsics/vmlldav.c
M clang/test/CodeGen/arm-mve-intrinsics/vmovl.c
M clang/test/CodeGen/arm-mve-intrinsics/vmovn.c
M clang/test/CodeGen/arm-mve-intrinsics/vmulhq.c
M clang/test/CodeGen/arm-mve-intrinsics/vmullbq.c
M clang/test/CodeGen/arm-mve-intrinsics/vmulltq.c
M clang/test/CodeGen/arm-mve-intrinsics/vmulq.c
M clang/test/CodeGen/arm-mve-intrinsics/vornq.c
M clang/test/CodeGen/arm-mve-intrinsics/vorrq.c
M clang/test/CodeGen/arm-mve-intrinsics/vqaddq.c
M clang/test/CodeGen/arm-mve-intrinsics/vqdmlad.c
M clang/test/CodeGen/arm-mve-intrinsics/vqdmulhq.c
M clang/test/CodeGen/arm-mve-intrinsics/vqdmullbq.c
M clang/test/CodeGen/arm-mve-intrinsics/vqdmulltq.c
M clang/test/CodeGen/arm-mve-intrinsics/vqmovn.c
M clang/test/CodeGen/arm-mve-intrinsics/vqrdmulhq.c
M clang/test/CodeGen/arm-mve-intrinsics/vqsubq.c
M clang/test/CodeGen/arm-mve-intrinsics/vrev.c
M clang/test/CodeGen/arm-mve-intrinsics/vrhaddq.c
M clang/test/CodeGen/arm-mve-intrinsics/vrmulhq.c
M clang/test/CodeGen/arm-mve-intrinsics/vrnd.c
M clang/test/CodeGen/arm-mve-intrinsics/vshlc.c
M clang/test/CodeGen/arm-mve-intrinsics/vsubq.c
M clang/test/CodeGen/arm-neon-vcadd.c
M clang/test/CodeGen/arm-neon-vld.c
M clang/test/CodeGen/arm-neon-vst.c
M clang/test/CodeGen/arm-sve-vector-bits-vscale-range.c
M clang/test/CodeGen/arm-v8.1a-neon-intrinsics.c
M clang/test/CodeGen/arm-v8.2a-neon-intrinsics-generic.c
M clang/test/CodeGen/arm-v8.2a-neon-intrinsics.c
M clang/test/CodeGen/arm-v8.6a-neon-intrinsics.c
M clang/test/CodeGen/arm-vector_type-params-returns.c
M clang/test/CodeGen/arm64-crc32.c
M clang/test/CodeGen/arm64-microsoft-arguments.cpp
M clang/test/CodeGen/arm64-microsoft-status-reg.cpp
M clang/test/CodeGen/arm64-mte.c
M clang/test/CodeGen/arm64_vcopy.c
M clang/test/CodeGen/arm64_vcreate.c
M clang/test/CodeGen/arm64_vdup.c
M clang/test/CodeGen/arm64_vdupq_n_f64.c
M clang/test/CodeGen/arm_acle.c
M clang/test/CodeGen/asan-new-pm.ll
M clang/test/CodeGen/asm-label-inline-builtins.c
M clang/test/CodeGen/attr-alwaysinline.cpp
M clang/test/CodeGen/attr-arm-sve-vector-bits-bitcast.c
M clang/test/CodeGen/attr-arm-sve-vector-bits-call.c
M clang/test/CodeGen/attr-arm-sve-vector-bits-cast.c
M clang/test/CodeGen/attr-arm-sve-vector-bits-codegen.c
M clang/test/CodeGen/attr-arm-sve-vector-bits-globals.c
M clang/test/CodeGen/attr-arm-sve-vector-bits-types.c
M clang/test/CodeGen/attr-btf_tag-typedef.c
M clang/test/CodeGen/attr-btf_type_tag-func-ptr.c
M clang/test/CodeGen/attr-btf_type_tag-func.c
M clang/test/CodeGen/attr-btf_type_tag-similar-type.c
M clang/test/CodeGen/attr-btf_type_tag-typedef-field.c
M clang/test/CodeGen/attr-btf_type_tag-var.c
A clang/test/CodeGen/attr-counted-by-pr88931.c
A clang/test/CodeGen/attr-counted-by-pr88931.cpp
M clang/test/CodeGen/attr-counted-by.c
M clang/test/CodeGen/attr-ifunc.c
M clang/test/CodeGen/attr-ifunc.cpp
M clang/test/CodeGen/attr-mustprogress.c
M clang/test/CodeGen/attr-noinline.cpp
M clang/test/CodeGen/attr-nomerge.cpp
M clang/test/CodeGen/attr-noundef.cpp
M clang/test/CodeGen/attr-nouwtable.c
M clang/test/CodeGen/attr-riscv-rvv-vector-bits-bitcast.c
M clang/test/CodeGen/attr-riscv-rvv-vector-bits-call.c
M clang/test/CodeGen/attr-riscv-rvv-vector-bits-cast.c
M clang/test/CodeGen/attr-riscv-rvv-vector-bits-codegen.c
M clang/test/CodeGen/attr-riscv-rvv-vector-bits-globals.c
M clang/test/CodeGen/attr-riscv-rvv-vector-bits-types.c
M clang/test/CodeGen/attr-target-clones-aarch64.c
M clang/test/CodeGen/attr-target-version.c
M clang/test/CodeGen/bitfield-access-unit.c
M clang/test/CodeGen/blocks-windows.c
M clang/test/CodeGen/bpf-preserve-static-offset-arr.c
M clang/test/CodeGen/bpf-preserve-static-offset-bitfield.c
M clang/test/CodeGen/bpf-preserve-static-offset-lvalue.c
M clang/test/CodeGen/bpf-preserve-static-offset-non-bpf.c
M clang/test/CodeGen/bpf-preserve-static-offset-pai.c
A clang/test/CodeGen/builtin-allow-runtime-check.cpp
M clang/test/CodeGen/builtin-complex.c
M clang/test/CodeGen/builtins-arm64.c
A clang/test/CodeGen/builtins-bitint.c
M clang/test/CodeGen/builtins-elementwise-math.c
M clang/test/CodeGen/builtins-nvptx-mma.cu
M clang/test/CodeGen/builtins-nvptx-native-half-type-err.c
M clang/test/CodeGen/builtins-nvptx-native-half-type.c
M clang/test/CodeGen/builtins-nvptx-ptx50.cu
M clang/test/CodeGen/builtins-nvptx-ptx60.cu
M clang/test/CodeGen/builtins-nvptx-sm_70.cu
M clang/test/CodeGen/builtins-nvptx.c
M clang/test/CodeGen/builtins-reduction-math.c
M clang/test/CodeGen/builtins-wasm.c
M clang/test/CodeGen/builtins.c
M clang/test/CodeGen/callback_pthread_create.c
M clang/test/CodeGen/cf-runtime-abi.c
M clang/test/CodeGen/cfstring-elf-cfbuild-x86_64.c
M clang/test/CodeGen/cfstring-windows.c
M clang/test/CodeGen/cfstring3.c
M clang/test/CodeGen/clang-sections-attribute.c
M clang/test/CodeGen/cmse-clear-arg.c
M clang/test/CodeGen/cmse-clear-return.c
M clang/test/CodeGen/code_align.c
M clang/test/CodeGen/coff-aarch64-type-sizes.c
M clang/test/CodeGen/complex-builtins-2.c
M clang/test/CodeGen/complex-builtins.c
M clang/test/CodeGen/complex-libcalls-2.c
M clang/test/CodeGen/complex-libcalls.c
M clang/test/CodeGen/complex-math-mixed.c
M clang/test/CodeGen/constrained-math-builtins.c
M clang/test/CodeGen/dbg-const-int128.c
M clang/test/CodeGen/debug-info-codeview-heapallocsite.c
M clang/test/CodeGen/debug-info-codeview-unnamed.c
M clang/test/CodeGen/debug-info-file-checksum.c
M clang/test/CodeGen/debug-info-gline-tables-only.c
M clang/test/CodeGen/debug-info-gline-tables-only2.c
M clang/test/CodeGen/debug-info-line.c
M clang/test/CodeGen/debug-info-line3.c
M clang/test/CodeGen/debug-info-macro.c
M clang/test/CodeGen/debug-info-pseudo-probe.cpp
M clang/test/CodeGen/debug-info-variables.c
M clang/test/CodeGen/debug-label.c
M clang/test/CodeGen/debug-nvptx.c
M clang/test/CodeGen/debug-prefix-map.cpp
M clang/test/CodeGen/denormalfpmode-f32.c
M clang/test/CodeGen/denormalfpmode.c
M clang/test/CodeGen/dominating-store-infinite-cycle.c
M clang/test/CodeGen/dwarf-version.c
M clang/test/CodeGen/enum-bool.cpp
M clang/test/CodeGen/ffp-contract-option.c
M clang/test/CodeGen/ffp-model.c
M clang/test/CodeGen/fp-matrix-pragma.c
M clang/test/CodeGen/fpconstrained.c
M clang/test/CodeGen/fpconstrained.cpp
M clang/test/CodeGen/fread-inline-builtin-late-redecl.c
A clang/test/CodeGen/fseparate-named-sections.c
M clang/test/CodeGen/gh64876.cpp
M clang/test/CodeGen/hwasan-new-pm.c
M clang/test/CodeGen/inline-asm-mixed-style.c
M clang/test/CodeGen/inline-builtin-comdat.c
M clang/test/CodeGen/instrument-functions.c
M clang/test/CodeGen/instrument-objc-method.m
M clang/test/CodeGen/isfpclass.c
M clang/test/CodeGen/kmsan-param-retval.c
M clang/test/CodeGen/libcall-declarations.c
M clang/test/CodeGen/libcalls-fno-builtin.c
M clang/test/CodeGen/lifetime2.c
M clang/test/CodeGen/lifetime3.cpp
M clang/test/CodeGen/lineno-dbginfo.c
A clang/test/CodeGen/linking-bitcode-postopt.cpp
M clang/test/CodeGen/loop-unroll.c
M clang/test/CodeGen/loop-vectorize.c
M clang/test/CodeGen/math-builtins-long.c
M clang/test/CodeGen/math-errno.c
M clang/test/CodeGen/math-libcalls.c
M clang/test/CodeGen/mcount-aix.c
M clang/test/CodeGen/mdefault-visibility-export-mapping.c
M clang/test/CodeGen/memcmp-inline-builtin-to-asm.c
M clang/test/CodeGen/memcpy-inline-builtin-mutliple-decl.c
M clang/test/CodeGen/memcpy-inline-builtin-no-extern.c
M clang/test/CodeGen/memcpy-inline-builtin.c
M clang/test/CodeGen/memcpy-no-nobuiltin-if-not-emitted.cpp
M clang/test/CodeGen/memcpy-nobuiltin.c
M clang/test/CodeGen/mips-byval-arg.c
M clang/test/CodeGen/mips-transparent-union.c
M clang/test/CodeGen/mips-unsigned-ext-var.c
M clang/test/CodeGen/mips-unsigned-extend.c
M clang/test/CodeGen/mips-vector-arg.c
M clang/test/CodeGen/mips-vector-return.c
M clang/test/CodeGen/mips-zero-sized-struct.c
M clang/test/CodeGen/mips64-class-return.cpp
M clang/test/CodeGen/mips64-padding-arg.c
M clang/test/CodeGen/ms-intrinsics-other.c
M clang/test/CodeGen/ms-intrinsics.c
M clang/test/CodeGen/ms-mixed-ptr-sizes.c
M clang/test/CodeGen/msan-param-retval.c
M clang/test/CodeGen/msan-param-retval.cpp
M clang/test/CodeGen/msvc_pragma_alloc_text.cpp
A clang/test/CodeGen/multi-aix-builtin-cpu-supports.c
M clang/test/CodeGen/named_reg_global.c
M clang/test/CodeGen/no-builtin.cpp
M clang/test/CodeGen/no-junk-ftrunc.c
M clang/test/CodeGen/noexceptionsfpmath.c
M clang/test/CodeGen/nousejumptable.c
M clang/test/CodeGen/nullptr-arithmetic.c
M clang/test/CodeGen/nullptr.c
M clang/test/CodeGen/nvptx-abi.c
M clang/test/CodeGen/nvptx-cc.c
M clang/test/CodeGen/nvptx-cpus.c
M clang/test/CodeGen/nvptx-inlineasm-ptx.c
M clang/test/CodeGen/nvptx-inlineasm.c
M clang/test/CodeGen/pch-dllexport.cpp
M clang/test/CodeGen/personality.c
A clang/test/CodeGen/pgo-force-function-attrs.ll
A clang/test/CodeGen/pr87758.c
M clang/test/CodeGen/regparm-flag.c
M clang/test/CodeGen/riscv-vector-bits-vscale-range.c
M clang/test/CodeGen/rounding-math.c
M clang/test/CodeGen/rounding-math.cpp
M clang/test/CodeGen/sanitize-metadata-ignorelist.c
M clang/test/CodeGen/sanitize-metadata-nosanitize.c
M clang/test/CodeGen/sanitize-metadata.c
M clang/test/CodeGen/split-debug-filename.c
M clang/test/CodeGen/split-debug-inlining.c
M clang/test/CodeGen/stack-clash-protection.c
M clang/test/CodeGen/strictfp-elementwise-bulitins.cpp
M clang/test/CodeGen/strlen-inline-builtin-redecl.c
M clang/test/CodeGen/struct-matching-constraint.c
M clang/test/CodeGen/struct-union-BE.c
M clang/test/CodeGen/svboolx2_t.cpp
M clang/test/CodeGen/svboolx4_t.cpp
M clang/test/CodeGen/target-data.c
M clang/test/CodeGen/thinlto-distributed-cfi-devirt.ll
M clang/test/CodeGen/thinlto-distributed-cfi.ll
M clang/test/CodeGen/thinlto-loop-vectorize-pm.c
M clang/test/CodeGen/tls-maxalign-modflag.c
M clang/test/CodeGen/ubsan-shift-bitint.c
M clang/test/CodeGen/ubsan-volatile.c
M clang/test/CodeGen/unique-internal-linkage-names.c
M clang/test/CodeGen/unique-internal-linkage-names.cpp
M clang/test/CodeGen/user-func-gnu-inline-redecl.c
M clang/test/CodeGen/windows-seh-EHa-CppCatchDotDotDot.cpp
M clang/test/CodeGen/windows-seh-EHa-CppCatchReturn.cpp
M clang/test/CodeGen/windows-seh-EHa-CppCondiTemps.cpp
M clang/test/CodeGen/windows-seh-EHa-CppDtors01.cpp
M clang/test/CodeGen/windows-seh-EHa-TryInFinally.cpp
M clang/test/CodeGen/windows-seh-abnormal-exits.c
M clang/test/CodeGen/windows-seh-filter-inFinally.c
A clang/test/CodeGen/x64-microsoft-arguments.cpp
M clang/test/CodeGenCUDA/kernel-stub-name.cu
A clang/test/CodeGenCUDA/record-layout.cu
M clang/test/CodeGenCXX/OmitRTTIComponentABI/simple-vtable-definition.cpp
M clang/test/CodeGenCXX/OmitRTTIComponentABI/vbase-offset.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/available_externally-vtable.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/child-inheritted-from-parent-in-comdat.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/child-vtable-in-comdat.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/cross-translation-unit-1.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/cross-translation-unit-2.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/diamond-inheritance.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/diamond-virtual-inheritance.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/dynamic-cast.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/inheritted-virtual-function.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/inline-virtual-function.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/inlined-key-function.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/member-function-pointer.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/multiple-inheritance.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/no-alias-when-dso-local.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/override-pure-virtual-method.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/overriden-virtual-function.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/parent-and-child-in-comdats.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/parent-vtable-in-comdat.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/relative-vtables-flag.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/relative-vtables-hwasan.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/simple-vtable-definition.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/thunk-mangling.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/type-info.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/vbase-offset.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/virtual-function-call.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/vtable-hidden-when-in-comdat.cpp
M clang/test/CodeGenCXX/aix-static-init-temp-spec-and-inline-var.cpp
M clang/test/CodeGenCXX/aix-static-init.cpp
M clang/test/CodeGenCXX/annotate-type.cpp
M clang/test/CodeGenCXX/attr-annotate-destructor.cpp
M clang/test/CodeGenCXX/attr-annotate.cpp
M clang/test/CodeGenCXX/attr-annotate2.cpp
M clang/test/CodeGenCXX/attr-mustprogress.cpp
M clang/test/CodeGenCXX/attr-musttail.cpp
M clang/test/CodeGenCXX/attr-x86-no_caller_saved_registers.cpp
M clang/test/CodeGenCXX/blocks.cpp
M clang/test/CodeGenCXX/builtin-bit-cast-no-tbaa.cpp
M clang/test/CodeGenCXX/builtin-bit-cast.cpp
M clang/test/CodeGenCXX/clang-sections.cpp
M clang/test/CodeGenCXX/constexpr-late-instantiation.cpp
M clang/test/CodeGenCXX/control-flow-in-stmt-expr.cpp
M clang/test/CodeGenCXX/cxx0x-initializer-array.cpp
M clang/test/CodeGenCXX/cxx0x-initializer-constructors.cpp
M clang/test/CodeGenCXX/cxx0x-initializer-references.cpp
M clang/test/CodeGenCXX/cxx0x-initializer-scalars.cpp
M clang/test/CodeGenCXX/cxx0x-initializer-stdinitializerlist-startend.cpp
M clang/test/CodeGenCXX/cxx11-initializer-aggregate.cpp
M clang/test/CodeGenCXX/cxx11-trivial-initializer-struct.cpp
M clang/test/CodeGenCXX/debug-info-alias.cpp
M clang/test/CodeGenCXX/debug-info-atexit-stub.cpp
M clang/test/CodeGenCXX/debug-info-blocks.cpp
M clang/test/CodeGenCXX/debug-info-codeview-heapallocsite.cpp
M clang/test/CodeGenCXX/debug-info-codeview-unnamed.cpp
M clang/test/CodeGenCXX/debug-info-cxx1y.cpp
M clang/test/CodeGenCXX/debug-info-determinism.cpp
M clang/test/CodeGenCXX/debug-info-gline-tables-only.cpp
M clang/test/CodeGenCXX/debug-info-global-ctor-dtor.cpp
M clang/test/CodeGenCXX/debug-info-line-if.cpp
M clang/test/CodeGenCXX/debug-info-line.cpp
M clang/test/CodeGenCXX/debug-info-method2.cpp
M clang/test/CodeGenCXX/debug-info-namespace.cpp
M clang/test/CodeGenCXX/debug-info-struct-align.cpp
M clang/test/CodeGenCXX/debug-info-thunk.cpp
A clang/test/CodeGenCXX/defaulted-template-alias.cpp
A clang/test/CodeGenCXX/dependent-template-alias.cpp
M clang/test/CodeGenCXX/destructor-debug-info.cpp
M clang/test/CodeGenCXX/dllexport-alias.cpp
M clang/test/CodeGenCXX/duplicate-mangled-name.cpp
M clang/test/CodeGenCXX/fixed-point-mangle.cpp
M clang/test/CodeGenCXX/funcattrs-global-ctor-dtor.cpp
M clang/test/CodeGenCXX/header-unit-friend-within-class-linkage.cpp
M clang/test/CodeGenCXX/header-unit-member-func-linkage.cpp
M clang/test/CodeGenCXX/instrument-functions.cpp
M clang/test/CodeGenCXX/mangle-concept.cpp
A clang/test/CodeGenCXX/mangle-lambdas-gh88906.cpp
M clang/test/CodeGenCXX/mangle-ms-vector-types.cpp
M clang/test/CodeGenCXX/mangle.cpp
M clang/test/CodeGenCXX/mdefault-visibility-export-mapping-alias.cpp
M clang/test/CodeGenCXX/mdefault-visibility-export-mapping-rtti.cpp
M clang/test/CodeGenCXX/mdefault-visibility-export-mapping.cpp
M clang/test/CodeGenCXX/member-alignment.cpp
M clang/test/CodeGenCXX/module-funcs-from-imports.cppm
M clang/test/CodeGenCXX/module-initializer-guard-elision.cpp
M clang/test/CodeGenCXX/module-initializer-header.cppm
M clang/test/CodeGenCXX/module-intializer-pmf.cpp
M clang/test/CodeGenCXX/module-intializer.cpp
M clang/test/CodeGenCXX/msabi-blocks.cpp
M clang/test/CodeGenCXX/partial-init.cpp
M clang/test/CodeGenCXX/partitions.cpp
M clang/test/CodeGenCXX/personality.cpp
M clang/test/CodeGenCXX/poly-unsigned.cpp
M clang/test/CodeGenCXX/pr29160.cpp
M clang/test/CodeGenCXX/pragma-gcc-unroll.cpp
M clang/test/CodeGenCXX/pragma-unroll.cpp
M clang/test/CodeGenCXX/static-init-4.cpp
M clang/test/CodeGenCXX/static-init-inline-variable.cpp
M clang/test/CodeGenCXX/static-init-variable-template.cpp
A clang/test/CodeGenCXX/template-alias.cpp
M clang/test/CodeGenCXX/this-nonnull.cpp
M clang/test/CodeGenCXX/tls-init-funcs.cpp
M clang/test/CodeGenCXX/tmp-md-nodes1.cpp
M clang/test/CodeGenCXX/tmp-md-nodes2.cpp
M clang/test/CodeGenCXX/ubsan-new-checks.cpp
M clang/test/CodeGenCXX/union-dtor.cpp
A clang/test/CodeGenCXX/variadic-template-alias.cpp
M clang/test/CodeGenCXX/visibility-dllstorageclass.cpp
M clang/test/CodeGenCXX/weak-external.cpp
M clang/test/CodeGenCXX/windows-on-arm-stack-probe-size.cpp
M clang/test/CodeGenCoroutines/coro-aligned-alloc-2.cpp
M clang/test/CodeGenCoroutines/coro-aligned-alloc.cpp
M clang/test/CodeGenCoroutines/coro-alloc-2.cpp
M clang/test/CodeGenCoroutines/coro-await.cpp
M clang/test/CodeGenCoroutines/coro-dealloc.cpp
M clang/test/CodeGenCoroutines/coro-destructor-of-final_suspend.cpp
M clang/test/CodeGenCoroutines/coro-dwarf.cpp
A clang/test/CodeGenCoroutines/coro-elide-thinlto.cpp
M clang/test/CodeGenCoroutines/pr56329.cpp
M clang/test/CodeGenCoroutines/pr59221.cpp
M clang/test/CodeGenCoroutines/pr65054.cpp
M clang/test/CodeGenHLSL/GlobalConstructorFunction.hlsl
M clang/test/CodeGenHLSL/GlobalConstructorLib.hlsl
M clang/test/CodeGenHLSL/GlobalConstructors.hlsl
M clang/test/CodeGenHLSL/GlobalDestructors.hlsl
M clang/test/CodeGenHLSL/basic-target.c
M clang/test/CodeGenHLSL/builtins/ScalarSwizzles.hlsl
M clang/test/CodeGenHLSL/builtins/any.hlsl
M clang/test/CodeGenHLSL/builtins/clamp.hlsl
M clang/test/CodeGenHLSL/builtins/cos.hlsl
M clang/test/CodeGenHLSL/builtins/floor.hlsl
M clang/test/CodeGenHLSL/builtins/lerp-builtin.hlsl
M clang/test/CodeGenHLSL/builtins/lerp.hlsl
M clang/test/CodeGenHLSL/builtins/log.hlsl
M clang/test/CodeGenHLSL/builtins/log2.hlsl
M clang/test/CodeGenHLSL/builtins/mad.hlsl
M clang/test/CodeGenHLSL/builtins/max.hlsl
M clang/test/CodeGenHLSL/builtins/pow.hlsl
M clang/test/CodeGenHLSL/builtins/rcp.hlsl
M clang/test/CodeGenHLSL/builtins/reversebits.hlsl
M clang/test/CodeGenHLSL/builtins/sin.hlsl
A clang/test/CodeGenHLSL/builtins/tan.hlsl
M clang/test/CodeGenHLSL/builtins/trunc.hlsl
M clang/test/CodeGenHLSL/disable_opt.hlsl
M clang/test/CodeGenHLSL/semantics/DispatchThreadID.hlsl
M clang/test/CodeGenHLSL/sret_output.hlsl
M clang/test/CodeGenHLSL/this-assignment-overload.hlsl
M clang/test/CodeGenHLSL/this-assignment.hlsl
M clang/test/CodeGenHLSL/this-reference.hlsl
M clang/test/CodeGenHLSL/validator_version.hlsl
M clang/test/CodeGenObjC/arc-blocks-exceptions.m
M clang/test/CodeGenObjC/arc-blocks.m
M clang/test/CodeGenObjC/attr-used-on-method.m
M clang/test/CodeGenObjC/debug-info-impl.m
M clang/test/CodeGenObjC/debug-info-property-class-extension.m
M clang/test/CodeGenObjC/debug-info-property-class-instance-same-name.m
M clang/test/CodeGenObjC/debug-info-property3.m
M clang/test/CodeGenObjC/dllstorage.m
M clang/test/CodeGenObjC/exceptions-personality.m
M clang/test/CodeGenObjC/externally-retained.m
M clang/test/CodeGenObjC/gnu-init.m
M clang/test/CodeGenObjC/gnu-method-only-once.m
M clang/test/CodeGenObjC/gnu-nil-receiver.m
M clang/test/CodeGenObjC/gnustep2-category-protocol.m
M clang/test/CodeGenObjC/gnustep2-category.m
M clang/test/CodeGenObjC/gnustep2-class.m
M clang/test/CodeGenObjC/gnustep2-direct-method.m
M clang/test/CodeGenObjC/gnustep2-ivar-offset.m
M clang/test/CodeGenObjC/gnustep2-nontrivial-destructor-argument.mm
M clang/test/CodeGenObjC/gnustep2-proto.m
M clang/test/CodeGenObjC/ivar-type-encoding.m
M clang/test/CodeGenObjC/null-check-bool-ret.m
M clang/test/CodeGenObjC/personality.m
M clang/test/CodeGenObjC/stret-lifetime.m
M clang/test/CodeGenObjC/unqual-copy-restore.m
A clang/test/CodeGenObjCXX/msabi-stret-arm64.mm
M clang/test/CodeGenObjCXX/msabi-stret.mm
M clang/test/CodeGenObjCXX/personality.mm
M clang/test/CodeGenOpenCL/amdgcn-flat-scratch-name.cl
M clang/test/CodeGenOpenCL/amdgcn-large-globals.cl
M clang/test/CodeGenOpenCL/amdgcn-non-temporal-store.cl
M clang/test/CodeGenOpenCL/amdgpu-abi-struct-coerce.cl
M clang/test/CodeGenOpenCL/amdgpu-alignment.cl
M clang/test/CodeGenOpenCL/amdgpu-call-kernel.cl
M clang/test/CodeGenOpenCL/amdgpu-calling-conv.cl
M clang/test/CodeGenOpenCL/amdgpu-features.cl
M clang/test/CodeGenOpenCL/atomics-cas-remarks-gfx90a.cl
M clang/test/CodeGenOpenCL/atomics-unsafe-hw-remarks-gfx90a.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-ci.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-dl-insts-err-clamp.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-dl-insts-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-dl-insts-gfx11.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-dl-insts-gfx12.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-dl-insts.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-flat-address-space.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-fp8.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx10.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx11-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx11-param-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx11.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12-param-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12-wmma-w32.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12-wmma-w64.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx9.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-gfx11-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-gfx12-w32-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-gfx12-w64-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-w32.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-w64.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gws-insts.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-interp.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-mfma.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-raytracing.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-swmmac-w32.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-swmmac-w64.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-vi.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-wave32.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-wave64.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-wmma-w32.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-wmma-w64.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn.cl
M clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx12.cl
M clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx8.cl
M clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx90a.cl
M clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx940.cl
M clang/test/CodeGenOpenCL/builtins-generic-amdgcn.cl
M clang/test/CodeGenOpenCL/builtins-r600.cl
M clang/test/CodeGenOpenCL/numbered-address-space.cl
M clang/test/CodeGenOpenCL/sqrt-fpmath.cl
M clang/test/CodeGenOpenCL/visibility.cl
M clang/test/CodeGenOpenCLCXX/addrspace-with-class.clcpp
M clang/test/CodeGenSYCL/function-attrs.cpp
M clang/test/CodeGenSYCL/functionptr-addrspace.cpp
M clang/test/CoverageMapping/pr32679.cpp
A clang/test/CoverageMapping/statement-expression.c
M clang/test/Driver/aarch64-mcpu.c
A clang/test/Driver/aix-small-local-exec-dynamic-tls.c
R clang/test/Driver/aix-small-local-exec-tls.c
M clang/test/Driver/aix-toolchain-include.cpp
M clang/test/Driver/amdgpu-toolchain.c
M clang/test/Driver/android-link.cpp
M clang/test/Driver/arm-compiler-rt.c
M clang/test/Driver/arm-cortex-cpus-1.c
M clang/test/Driver/arm-features.c
M clang/test/Driver/arm-ias-Wa.s
M clang/test/Driver/arm-triple.c
M clang/test/Driver/baremetal-multilib-layered.yaml
M clang/test/Driver/baremetal-multilib.yaml
M clang/test/Driver/baremetal-sysroot.cpp
M clang/test/Driver/baremetal.cpp
M clang/test/Driver/cl-link.c
M clang/test/Driver/cl-options.c
M clang/test/Driver/cl-outputs.c
M clang/test/Driver/cl-pch.cpp
R clang/test/Driver/claim-unused.c
M clang/test/Driver/clang-offload-bundler-asserts-on.c
M clang/test/Driver/clang-offload-bundler-standardize.c
M clang/test/Driver/clang-offload-bundler-zlib.c
M clang/test/Driver/clang-offload-bundler-zstd.c
M clang/test/Driver/clang-offload-bundler.c
M clang/test/Driver/compiler-rt-unwind.c
M clang/test/Driver/compress.c
M clang/test/Driver/coverage-ld.c
A clang/test/Driver/debug-options-embed-source.c
M clang/test/Driver/debug-options.c
M clang/test/Driver/default-denormal-fp-math.c
M clang/test/Driver/dxc_dxv_path.hlsl
M clang/test/Driver/dxc_fcgl.hlsl
A clang/test/Driver/experimental-late-parse-attributes.c
M clang/test/Driver/fast-math.c
M clang/test/Driver/fp-model.c
M clang/test/Driver/frame-pointer-elim.c
A clang/test/Driver/frelaxed-template-template-args.cpp
A clang/test/Driver/gcc-param.c
M clang/test/Driver/hlsl-lang-targets-spirv.hlsl
M clang/test/Driver/instrprof-ld.c
M clang/test/Driver/integrated-as.c
M clang/test/Driver/linux-ld.c
M clang/test/Driver/mingw-sanitizers.c
A clang/test/Driver/module-fgen-reduced-bmi.cppm
M clang/test/Driver/msp430-toolchain.c
M clang/test/Driver/msvc-link.c
M clang/test/Driver/mtargetos-darwin.c
M clang/test/Driver/plugin-driver-args.cpp
M clang/test/Driver/print-libgcc-file-name-clangrt.c
M clang/test/Driver/print-multi-selection-flags.c
M clang/test/Driver/print-runtime-dir.c
M clang/test/Driver/ps4-ps5-relax-relocations.c
M clang/test/Driver/response-file-errs.c
M clang/test/Driver/riscv-arch.c
M clang/test/Driver/riscv-features.c
M clang/test/Driver/riscv-profiles.c
M clang/test/Driver/riscv32-toolchain-extra.c
M clang/test/Driver/riscv32-toolchain.c
M clang/test/Driver/riscv64-toolchain-extra.c
M clang/test/Driver/riscv64-toolchain.c
M clang/test/Driver/sanitizer-ld.c
M clang/test/Driver/solaris-ld.c
A clang/test/Driver/std-trigraph-override.c
M clang/test/Driver/std.c
M clang/test/Driver/tls-dialect.c
M clang/test/Driver/wasm-features.c
M clang/test/Driver/wasm-toolchain.c
M clang/test/Driver/wasm-toolchain.cpp
M clang/test/Driver/windows-cross.c
A clang/test/Driver/windows-seh-async-verify.cpp
M clang/test/Driver/zos-ld.c
M clang/test/ExtractAPI/anonymous_record_no_typedef.c
M clang/test/ExtractAPI/availability.c
M clang/test/ExtractAPI/enum.c
M clang/test/ExtractAPI/function_noexcepts.cpp
M clang/test/ExtractAPI/methods.cpp
M clang/test/ExtractAPI/objc_block.m
M clang/test/ExtractAPI/typedef_anonymous_record.c
M clang/test/ExtractAPI/typedef_struct_enum.c
M clang/test/FixIt/dereference-addressof.c
A clang/test/FixIt/fixit-c++2a-tls.cpp
M clang/test/FixIt/fixit-c++2a.cpp
M clang/test/FixIt/fixit-format-darwin.m
M clang/test/FixIt/fixit-format-ios-nopedantic.m
M clang/test/FixIt/fixit-format-ios.m
M clang/test/FixIt/fixit-include.c
M clang/test/FixIt/fixit-unused-lambda-capture.cpp
M clang/test/FixIt/format-darwin-enum-class.cpp
M clang/test/FixIt/format.cpp
M clang/test/FixIt/objc-literals.m
M clang/test/FixIt/typo-location-bugs.cpp
M clang/test/FixIt/typo-using.cpp
M clang/test/FixIt/typo.c
M clang/test/FixIt/typo.cpp
M clang/test/FixIt/typo.m
M clang/test/Format/lit.local.cfg
A clang/test/Frontend/ast-dump-on-llvm.ll
M clang/test/Frontend/fixed_point_add.c
M clang/test/Frontend/fixed_point_add_const.c
M clang/test/Frontend/fixed_point_comparisons.c
M clang/test/Frontend/fixed_point_compound.c
M clang/test/Frontend/fixed_point_conversions.c
M clang/test/Frontend/fixed_point_conversions_const.c
M clang/test/Frontend/fixed_point_conversions_half.c
M clang/test/Frontend/fixed_point_div.c
M clang/test/Frontend/fixed_point_div_const.c
M clang/test/Frontend/fixed_point_mul.c
M clang/test/Frontend/fixed_point_mul_const.c
M clang/test/Frontend/fixed_point_same_fbits.c
M clang/test/Frontend/fixed_point_shift.c
M clang/test/Frontend/fixed_point_shift_const.c
M clang/test/Frontend/fixed_point_sub.c
M clang/test/Frontend/fixed_point_sub_const.c
M clang/test/Frontend/fixed_point_to_bool.c
M clang/test/Frontend/fixed_point_unary.c
M clang/test/Frontend/gnu-inline.c
M clang/test/Frontend/hexagon-target-basic.c
M clang/test/Frontend/invalid-cxx-abi.cpp
M clang/test/Frontend/llvmplugins.c
A clang/test/Frontend/multiple-actions.c
M clang/test/Frontend/objc-bool-is-bool.m
M clang/test/Frontend/output-paths.c
M clang/test/Frontend/rewrite-includes-macros.cpp
M clang/test/Frontend/valid-cxx-abi.cpp
M clang/test/Headers/__clang_hip_math.hip
M clang/test/Headers/arm-acle-header.c
M clang/test/Headers/ms-arm64-intrin.cpp
M clang/test/Headers/wasm.c
M clang/test/Index/USR/func-type.cpp
M clang/test/Index/annotate-nested-name-specifier.cpp
A clang/test/InstallAPI/Inputs/MacOSX13.0.sdk/SDKSettings.json
A clang/test/InstallAPI/alias_list.test
M clang/test/InstallAPI/binary-attributes.test
A clang/test/InstallAPI/diagnostics-zippered.test
M clang/test/InstallAPI/driver-invalid-options.test
M clang/test/InstallAPI/mismatching-objc-class-symbols.test
M clang/test/InstallAPI/rpath.test
M clang/test/Interpreter/const.cpp
M clang/test/Interpreter/fail.cpp
M clang/test/Layout/aix-power-alignment-typedef-2.cpp
M clang/test/Layout/aix-type-align-and-pack-attr.cpp
M clang/test/Layout/ms-aligned-array.c
M clang/test/Layout/ms-vtordisp-local.cpp
M clang/test/Layout/ms-x86-alias-avoidance-padding.cpp
M clang/test/Layout/ms-x86-aligned-tail-padding.cpp
M clang/test/Layout/ms-x86-basic-layout.cpp
M clang/test/Layout/ms-x86-bitfields-vbases.cpp
M clang/test/Layout/ms-x86-declspec-empty_bases.cpp
M clang/test/Layout/ms-x86-empty-layout.c
M clang/test/Layout/ms-x86-empty-nonvirtual-bases.cpp
M clang/test/Layout/ms-x86-empty-virtual-base.cpp
M clang/test/Layout/ms-x86-lazy-empty-nonvirtual-base.cpp
M clang/test/Layout/ms-x86-member-pointers.cpp
M clang/test/Layout/ms-x86-misalignedarray.cpp
M clang/test/Layout/ms-x86-pack-and-align.cpp
M clang/test/Layout/ms-x86-primary-bases.cpp
M clang/test/Layout/ms-x86-vfvb-alignment.cpp
M clang/test/Layout/ms-x86-vfvb-sharing.cpp
M clang/test/Layout/ms-x86-vtordisp.cpp
M clang/test/Lexer/bitint-constants-compat.c
A clang/test/Lexer/bitint-constants.cpp
M clang/test/Lexer/cxx-features.cpp
M clang/test/Lexer/minimize_source_to_dependency_directives_include.c
M clang/test/Lexer/minimize_source_to_dependency_directives_utf8bom.c
M clang/test/Lexer/ms-compatibility.c
M clang/test/Lexer/raw-string-dlim-invalid.cpp
M clang/test/Lexer/unicode.c
M clang/test/Lexer/update_consecutive_macro_address_space.c
M clang/test/Lexer/wchar-signedness.c
M clang/test/Misc/backend-optimization-failure-nodbg.cpp
M clang/test/Misc/backend-optimization-failure.cpp
A clang/test/Misc/cc1as-relax-all.s
M clang/test/Misc/loop-opt-setup.c
M clang/test/Misc/pragma-attribute-cxx.cpp
M clang/test/Misc/pragma-attribute-objc.m
M clang/test/Misc/pragma-attribute-strict-subjects.c
M clang/test/Misc/target-invalid-cpu-note.c
M clang/test/Modules/DebugInfo-fmodule-name.c
A clang/test/Modules/Inputs/ptrauth-include-from-darwin/module.modulemap
A clang/test/Modules/Inputs/ptrauth-include-from-darwin/ptrauth.h
A clang/test/Modules/Inputs/ptrauth-include-from-darwin/stddef.h
R clang/test/Modules/add-remove-irrelevant-module-map.m
M clang/test/Modules/cstd.m
M clang/test/Modules/cxx20-10-5-ex1.cpp
M clang/test/Modules/cxx20-importing-function-bodies.cppm
M clang/test/Modules/cxx20-include-translation.cpp
M clang/test/Modules/eagerly-load-cxx-named-modules.cppm
A clang/test/Modules/force-transitive-changes.cppm
A clang/test/Modules/function-transitive-change.cppm
M clang/test/Modules/getSourceDescriptor-crash.cpp
A clang/test/Modules/hashing-decls-in-exprs-from-gmf-2.cppm
A clang/test/Modules/implicit-module-no-timestamp.cpp
M clang/test/Modules/inconsistent-deduction-guide-linkage.cppm
M clang/test/Modules/language-linkage.cppm
M clang/test/Modules/load-module-with-errors.m
M clang/test/Modules/merge-objc-protocol-visibility.m
M clang/test/Modules/module-init-duplicated-import.cppm
A clang/test/Modules/module-symlink.m
A clang/test/Modules/modules-reduced-bmi.cppm
M clang/test/Modules/named-modules-adl-2.cppm
M clang/test/Modules/named-modules-adl.cppm
M clang/test/Modules/no-duplicate-codegen-in-GMF.cppm
M clang/test/Modules/no-import-func-body.cppm
A clang/test/Modules/no-transitive-source-location-change.cppm
A clang/test/Modules/odr_hash-enum.c
M clang/test/Modules/odr_using_dependent_name.cppm
M clang/test/Modules/placement-new-reachable.cpp
M clang/test/Modules/polluted-operator.cppm
M clang/test/Modules/pr58716.cppm
M clang/test/Modules/pr59780.cppm
M clang/test/Modules/pr59999.cppm
M clang/test/Modules/pr60085.cppm
M clang/test/Modules/pr60693.cppm
M clang/test/Modules/pr60890.cppm
M clang/test/Modules/pr61067.cppm
M clang/test/Modules/pr61783.cppm
M clang/test/Modules/pr62589.cppm
M clang/test/Modules/pr64091.cpp
M clang/test/Modules/pr67893.cppm
M clang/test/Modules/pr72828.cppm
A clang/test/Modules/pr75057.cppm
M clang/test/Modules/pr78830.cppm
A clang/test/Modules/pr85122.cppm
A clang/test/Modules/pr88400.cppm
A clang/test/Modules/pr90259.cppm
A clang/test/Modules/pr91105.cppm
M clang/test/Modules/preferred_name.cppm
A clang/test/Modules/prune-non-affecting-module-map-files-textual.c
A clang/test/Modules/prune-non-affecting-module-map-files.m
A clang/test/Modules/ptrauth-include-from-darwin.m
A clang/test/Modules/reduced-bmi-empty-module-purview-std.cppm
A clang/test/Modules/reduced-bmi-empty-module-purview.cppm
M clang/test/Modules/reduced-bmi-generating-codes.cppm
M clang/test/Modules/redundant-template-default-arg3.cpp
M clang/test/Modules/search-partitions.cpp
M clang/test/Modules/stress1.cpp
M clang/test/Modules/template-function-specialization.cpp
A clang/test/Modules/unreached-static-entities.cppm
M clang/test/OpenMP/allocate_allocator_ast_print.cpp
M clang/test/OpenMP/allocate_ast_print.cpp
M clang/test/OpenMP/amdgpu_exceptions.cpp
M clang/test/OpenMP/amdgpu_throw.cpp
M clang/test/OpenMP/amdgpu_throw_trap.cpp
M clang/test/OpenMP/amdgpu_try_catch.cpp
M clang/test/OpenMP/assumes_print.cpp
M clang/test/OpenMP/assumes_template_print.cpp
M clang/test/OpenMP/atomic_ast_print.cpp
M clang/test/OpenMP/atomic_update_codegen.cpp
M clang/test/OpenMP/barrier_ast_print.cpp
M clang/test/OpenMP/cancel_ast_print.cpp
M clang/test/OpenMP/cancel_codegen.cpp
M clang/test/OpenMP/cancellation_point_ast_print.cpp
M clang/test/OpenMP/cancellation_point_codegen.cpp
M clang/test/OpenMP/constexpr_capture.cpp
M clang/test/OpenMP/critical_ast_print.cpp
M clang/test/OpenMP/declare_mapper_ast_print.c
M clang/test/OpenMP/declare_mapper_ast_print.cpp
M clang/test/OpenMP/declare_reduction_ast_print.c
M clang/test/OpenMP/declare_reduction_ast_print.cpp
M clang/test/OpenMP/declare_simd_ast_print.c
M clang/test/OpenMP/declare_simd_ast_print.cpp
M clang/test/OpenMP/declare_target_ast_print.cpp
M clang/test/OpenMP/declare_target_codegen.cpp
M clang/test/OpenMP/declare_target_link_codegen.cpp
M clang/test/OpenMP/declare_variant_device_kind_codegen.cpp
M clang/test/OpenMP/declare_variant_mixed_codegen.c
M clang/test/OpenMP/depobj_ast_print.cpp
M clang/test/OpenMP/distribute_ast_print.cpp
M clang/test/OpenMP/distribute_dist_schedule_ast_print.cpp
M clang/test/OpenMP/distribute_parallel_for_ast_print.cpp
M clang/test/OpenMP/distribute_parallel_for_num_threads_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_ast_print.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_num_threads_codegen.cpp
M clang/test/OpenMP/distribute_simd_ast_print.cpp
M clang/test/OpenMP/error_ast_print.cpp
M clang/test/OpenMP/flush_ast_print.cpp
M clang/test/OpenMP/for_ast_print.cpp
M clang/test/OpenMP/for_ast_print_cxx20.cpp
M clang/test/OpenMP/for_loop_auto.cpp
M clang/test/OpenMP/for_simd_ast_print.cpp
M clang/test/OpenMP/masked_ast_print.cpp
M clang/test/OpenMP/masked_taskloop_ast_print.cpp
M clang/test/OpenMP/masked_taskloop_simd_ast_print.cpp
M clang/test/OpenMP/master_ast_print.cpp
M clang/test/OpenMP/master_taskloop_ast_print.cpp
M clang/test/OpenMP/master_taskloop_simd_ast_print.cpp
M clang/test/OpenMP/nvptx_declare_target_var_ctor_dtor_codegen.cpp
M clang/test/OpenMP/nvptx_declare_variant_device_kind_codegen.cpp
M clang/test/OpenMP/nvptx_declare_variant_implementation_vendor_codegen.cpp
M clang/test/OpenMP/nvptx_declare_variant_name_mangling.cpp
M clang/test/OpenMP/nvptx_exceptions.cpp
M clang/test/OpenMP/nvptx_lambda_capturing.cpp
M clang/test/OpenMP/nvptx_throw.cpp
M clang/test/OpenMP/nvptx_throw_trap.cpp
M clang/test/OpenMP/nvptx_try_catch.cpp
M clang/test/OpenMP/ompx_attributes_codegen.cpp
M clang/test/OpenMP/openmp-read-only-feature.c
M clang/test/OpenMP/openmp_capture_const_var_ast_print.cpp
M clang/test/OpenMP/openmp_offload_codegen.cpp
M clang/test/OpenMP/ordered_ast_print.cpp
M clang/test/OpenMP/parallel_ast_print.cpp
M clang/test/OpenMP/parallel_for_ast_print.cpp
M clang/test/OpenMP/parallel_for_simd_ast_print.cpp
M clang/test/OpenMP/parallel_masked_ast_print.cpp
M clang/test/OpenMP/parallel_masked_taskloop_ast_print.cpp
M clang/test/OpenMP/parallel_masked_taskloop_simd_ast_print.cpp
M clang/test/OpenMP/parallel_master_ast_print.cpp
M clang/test/OpenMP/parallel_master_taskloop_ast_print.cpp
M clang/test/OpenMP/parallel_master_taskloop_simd_ast_print.cpp
M clang/test/OpenMP/parallel_sections_ast_print.cpp
M clang/test/OpenMP/parallel_sections_codegen.cpp
M clang/test/OpenMP/requires_acq_rel_codegen.cpp
M clang/test/OpenMP/requires_acq_rel_print.cpp
M clang/test/OpenMP/requires_ast_print.cpp
M clang/test/OpenMP/requires_relaxed_codegen.cpp
M clang/test/OpenMP/requires_relaxed_print.cpp
M clang/test/OpenMP/requires_seq_cst_codegen.cpp
M clang/test/OpenMP/scan_ast_print.cpp
M clang/test/OpenMP/sections_ast_print.cpp
M clang/test/OpenMP/sections_codegen.cpp
M clang/test/OpenMP/simd_ast_print.cpp
M clang/test/OpenMP/single_ast_print.cpp
M clang/test/OpenMP/target_ast_print.cpp
M clang/test/OpenMP/target_data_ast_print.cpp
M clang/test/OpenMP/target_data_use_device_ptr_addr_ast_print.cpp
M clang/test/OpenMP/target_enter_data_ast_print.cpp
M clang/test/OpenMP/target_enter_data_ast_print_openmp52.cpp
M clang/test/OpenMP/target_exit_data_ast_print.cpp
M clang/test/OpenMP/target_exit_data_ast_print_openmp52.cpp
M clang/test/OpenMP/target_has_device_addr_ast_print.cpp
M clang/test/OpenMP/target_indirect_codegen.cpp
M clang/test/OpenMP/target_is_device_ptr_ast_print.cpp
M clang/test/OpenMP/target_parallel_ast_print.cpp
M clang/test/OpenMP/target_parallel_for_ast_print.cpp
M clang/test/OpenMP/target_parallel_for_is_device_ptr_ast_print.cpp
M clang/test/OpenMP/target_parallel_for_simd_ast_print.cpp
M clang/test/OpenMP/target_parallel_for_simd_is_device_ptr_ast_print.cpp
M clang/test/OpenMP/target_parallel_is_device_ptr_ast_print.cpp
M clang/test/OpenMP/target_simd_ast_print.cpp
M clang/test/OpenMP/target_teams_ast_print.cpp
M clang/test/OpenMP/target_teams_distribute_ast_print.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_ast_print.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_is_device_ptr_ast_print.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_ast_print.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_is_device_ptr_ast_print.cpp
M clang/test/OpenMP/target_teams_distribute_simd_ast_print.cpp
M clang/test/OpenMP/target_teams_distribute_simd_is_device_ptr_ast_print.cpp
M clang/test/OpenMP/target_teams_is_device_ptr_ast_print.cpp
M clang/test/OpenMP/target_update_ast_print.cpp
M clang/test/OpenMP/task_ast_print.cpp
M clang/test/OpenMP/task_depend_messages.cpp
M clang/test/OpenMP/task_depend_template_call_ast_print.cpp
M clang/test/OpenMP/taskgroup_ast_print.cpp
M clang/test/OpenMP/taskloop_ast_print.cpp
M clang/test/OpenMP/taskloop_simd_ast_print.cpp
M clang/test/OpenMP/taskloop_strict_modifier_ast_print.cpp
M clang/test/OpenMP/taskwait_ast_print.cpp
M clang/test/OpenMP/taskyield_ast_print.cpp
M clang/test/OpenMP/teams_ast_print.cpp
M clang/test/OpenMP/teams_distribute_ast_print.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_ast_print.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_ast_print.cpp
M clang/test/OpenMP/teams_distribute_simd_ast_print.cpp
M clang/test/OpenMP/threadprivate_ast_print.cpp
M clang/test/OpenMP/x86_target_exceptions.cpp
M clang/test/OpenMP/x86_target_throw.cpp
M clang/test/OpenMP/x86_target_try_catch.cpp
M clang/test/Options/HV.hlsl
M clang/test/Options/enable_16bit_types_validation.hlsl
M clang/test/Options/enable_16bit_types_validation_spirv.hlsl
M clang/test/PCH/arc.m
M clang/test/PCH/blocks.c
M clang/test/PCH/chain-openmp-threadprivate.cpp
M clang/test/PCH/cxx-alias-decl.cpp
M clang/test/PCH/cxx-for-range.cpp
M clang/test/PCH/cxx-member-init.cpp
M clang/test/PCH/cxx-namespaces.cpp
M clang/test/PCH/cxx-reference.cpp
M clang/test/PCH/cxx1z-init-statement.cpp
M clang/test/PCH/cxx2a-defaulted-comparison.cpp
M clang/test/PCH/cxx_exprs.cpp
M clang/test/PCH/cxx_paren_init.cpp
M clang/test/PCH/empty-with-headers.c
M clang/test/PCH/fixed-point-literal.c
M clang/test/PCH/local_static.cpp
M clang/test/PCH/ms-if-exists.cpp
M clang/test/PCH/multiple_decls.c
M clang/test/PCH/ocl_types.cl
M clang/test/PCH/rdar10830559.cpp
M clang/test/PCH/stmt-openmp_structured_block-bit.cpp
M clang/test/PCH/stmts.c
M clang/test/PCH/types.c
M clang/test/PCH/uuidof.cpp
M clang/test/Parser/altivec.c
M clang/test/Parser/cxx-altivec.cpp
M clang/test/Parser/cxx1z-decomposition.cpp
M clang/test/Parser/cxx2a-constrained-template-param.cpp
A clang/test/Parser/cxx2c-delete-with-message.cpp
M clang/test/Parser/extra-semi.cpp
M clang/test/Parser/objc-attr.m
M clang/test/Parser/pragma-unroll.cpp
M clang/test/ParserOpenACC/parse-cache-construct.c
M clang/test/ParserOpenACC/parse-cache-construct.cpp
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/ParserOpenACC/parse-clauses.cpp
A clang/test/ParserOpenACC/parse-sub-array.cpp
M clang/test/ParserOpenACC/parse-wait-clause.c
M clang/test/ParserOpenACC/parse-wait-construct.c
M clang/test/Preprocessor/aarch64-target-features.c
M clang/test/Preprocessor/arm-target-features.c
A clang/test/Preprocessor/hardware_interference.cpp
M clang/test/Preprocessor/init-aarch64.c
M clang/test/Preprocessor/init.c
M clang/test/Preprocessor/macro_vaopt_check.cpp
M clang/test/Preprocessor/macro_vaopt_expand.cpp
M clang/test/Preprocessor/predefined-macros-hlsl.hlsl
M clang/test/Preprocessor/predefined-win-macros.c
M clang/test/Preprocessor/print-pragma-microsoft.c
M clang/test/Preprocessor/riscv-target-features.c
M clang/test/Preprocessor/wasm-target-features.c
M clang/test/Profile/cxx-missing-bodies.cpp
A clang/test/Profile/debug-info-instr_profile_switch.cpp
M clang/test/Rewriter/rewrite-super-message.mm
M clang/test/Sema/aarch64-fp16-target.c
M clang/test/Sema/aarch64-incompat-sm-builtin-calls.c
M clang/test/Sema/aarch64-neon-target.c
M clang/test/Sema/aarch64-sme-func-attrs.c
M clang/test/Sema/aarch64-sme-intrinsics/acle_sme_target.c
M clang/test/Sema/aarch64-sve-intrinsics/acle_sve_bfloat.cpp
M clang/test/Sema/aarch64-sve-intrinsics/acle_sve_target.cpp
M clang/test/Sema/aarch64-sve-vector-log-ops.c
M clang/test/Sema/aarch64-sve-vector-trig-ops.c
M clang/test/Sema/aarch64-sve2-intrinsics/acle_sve2.cpp
M clang/test/Sema/aarch64-sve2-intrinsics/acle_sve2_aes_bitperm_sha3_sm4.cpp
M clang/test/Sema/aarch64-sve2-intrinsics/acle_sve2_bfloat.cpp
M clang/test/Sema/aix-builtin-cpu-unsupports.c
A clang/test/Sema/alias-unused-win.cpp
R clang/test/Sema/alias-unused.c
A clang/test/Sema/alias-unused.cpp
M clang/test/Sema/arm-neon-target.c
M clang/test/Sema/attr-alias-elf.c
M clang/test/Sema/attr-availability-swift.c
M clang/test/Sema/attr-self-alias.c
A clang/test/Sema/attr-target-riscv.c
A clang/test/Sema/bitint-bitfield-promote.c
M clang/test/Sema/bpf-attr-preserve-static-offset.c
A clang/test/Sema/builtin-allow-runtime-check.c
A clang/test/Sema/builtin-cpu-unsupports-AIX-Os.c
M clang/test/Sema/builtin-setjmp.c
M clang/test/Sema/builtins-arm64-mte.c
M clang/test/Sema/builtins-elementwise-math.c
M clang/test/Sema/code_align_ast.c
A clang/test/Sema/complex-inc-dec.c
A clang/test/Sema/constant_builtins_vector.cpp
M clang/test/Sema/convertvector.c
M clang/test/Sema/format-strings-no-fixit.c
A clang/test/Sema/incomplete-struct-decl.cpp
M clang/test/Sema/incorrect_pure.cpp
M clang/test/Sema/ppc-attr-target-inline.c
A clang/test/Sema/recover-expr-gh88008-nocrash.c
M clang/test/Sema/riscv-rvv-vector-log-ops.c
M clang/test/Sema/riscv-rvv-vector-trig-ops.c
M clang/test/Sema/sizeof-struct-non-zero-as-member.cl
M clang/test/Sema/static-assert.c
M clang/test/Sema/test-wunaligned-access.c
M clang/test/Sema/test-wunaligned-access.cpp
M clang/test/Sema/thread_local.c
M clang/test/Sema/uninit-variables-riscv-vector.c
M clang/test/Sema/uninit-variables-vectors.c
M clang/test/Sema/uninit-variables.c
A clang/test/Sema/unroll-template-value-crash.cpp
M clang/test/Sema/warn-documentation-almost-trailing.c
M clang/test/Sema/warn-strncat-size.c
M clang/test/Sema/zvector.c
M clang/test/Sema/zvector2.c
M clang/test/SemaCUDA/call-kernel-from-kernel.cu
M clang/test/SemaCUDA/constexpr-variables.cu
M clang/test/SemaCUDA/fp16-arg-return.cu
M clang/test/SemaCUDA/qualifiers.cu
M clang/test/SemaCUDA/static-device-var.cu
M clang/test/SemaCXX/PR62533.cpp
A clang/test/SemaCXX/PR68885.cpp
A clang/test/SemaCXX/PR75221.cpp
A clang/test/SemaCXX/PR84020.cpp
A clang/test/SemaCXX/aarch64-sve-resolve-type.cpp
A clang/test/SemaCXX/attr-exclude_from_explicit_instantiation.local-class.cpp
M clang/test/SemaCXX/attr-non-x86-no_caller_saved_registers.cpp
M clang/test/SemaCXX/attr-x86-no_caller_saved_registers.cpp
M clang/test/SemaCXX/builtins-elementwise-math.cpp
M clang/test/SemaCXX/builtins.cpp
M clang/test/SemaCXX/co_await-ast.cpp
M clang/test/SemaCXX/compound-literal.cpp
M clang/test/SemaCXX/constexpr-default-arg.cpp
M clang/test/SemaCXX/cxx11-attr-print.cpp
M clang/test/SemaCXX/cxx1y-generic-lambdas-capturing.cpp
M clang/test/SemaCXX/cxx1y-generic-lambdas.cpp
M clang/test/SemaCXX/cxx1z-class-template-argument-deduction.cpp
M clang/test/SemaCXX/cxx1z-lambda-star-this.cpp
M clang/test/SemaCXX/cxx1z-noexcept-function-type.cpp
M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
M clang/test/SemaCXX/cxx20-lambda-decltype-this.cpp
M clang/test/SemaCXX/cxx23-assume.cpp
M clang/test/SemaCXX/cxx23-static-callop-lambda-expression.cpp
M clang/test/SemaCXX/cxx2a-consteval.cpp
M clang/test/SemaCXX/cxx2b-ast-print.cpp
M clang/test/SemaCXX/cxx2b-deducing-this-constexpr.cpp
M clang/test/SemaCXX/cxx2b-deducing-this.cpp
A clang/test/SemaCXX/cxx2c-delete-with-message.cpp
M clang/test/SemaCXX/cxx2c-pack-indexing.cpp
M clang/test/SemaCXX/delete-and-function-templates.cpp
M clang/test/SemaCXX/delete.cpp
M clang/test/SemaCXX/deprecated-builtins.cpp
M clang/test/SemaCXX/destructor.cpp
M clang/test/SemaCXX/explicit.cpp
M clang/test/SemaCXX/format-strings.cpp
M clang/test/SemaCXX/friend3.cpp
A clang/test/SemaCXX/gh84473.cpp
A clang/test/SemaCXX/identical-type-primary-partial-specialization.cpp
M clang/test/SemaCXX/lambda-conversion-op-cc.cpp
M clang/test/SemaCXX/member-expr.cpp
M clang/test/SemaCXX/ms_wide_bitfield.cpp
M clang/test/SemaCXX/overloaded-operator.cpp
M clang/test/SemaCXX/static-assert-cxx26.cpp
M clang/test/SemaCXX/template-specialization.cpp
M clang/test/SemaCXX/type-traits.cpp
M clang/test/SemaCXX/uninit-variables-conditional.cpp
M clang/test/SemaCXX/uninit-variables.cpp
M clang/test/SemaCXX/unused.cpp
M clang/test/SemaCXX/vla-ext-diag.cpp
M clang/test/SemaCXX/warn-redundant-move.cpp
M clang/test/SemaCXX/warn-shadow.cpp
A clang/test/SemaCXX/warn-unsafe-buffer-usage-suggestions-crashes.cpp
M clang/test/SemaHLSL/BuiltIns/RWBuffers.hlsl
M clang/test/SemaHLSL/BuiltIns/any-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/clamp-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/dot-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/exp-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/frac-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/half-float-only-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/isinf-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/lerp-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/mad-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/pow-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/rcp-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/reversebits-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/round-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/rsqrt-errors.hlsl
M clang/test/SemaHLSL/OverloadResolutionBugs.hlsl
A clang/test/SemaHLSL/ScalarOverloadResolution.hlsl
A clang/test/SemaHLSL/Types/Arithmetic/half_size.hlsl
A clang/test/SemaHLSL/Types/Arithmetic/literal_suffixes.hlsl
A clang/test/SemaHLSL/Types/Arithmetic/literal_suffixes_202x.hlsl
A clang/test/SemaHLSL/Types/Arithmetic/literal_suffixes_no_16bit.hlsl
M clang/test/SemaHLSL/Types/BuiltinVector/ScalarSwizzles.hlsl
A clang/test/SemaHLSL/VectorElementOverloadResolution.hlsl
R clang/test/SemaHLSL/literal_suffixes.hlsl
R clang/test/SemaHLSL/literal_suffixes_no_16bit.hlsl
M clang/test/SemaObjC/format-strings-oslog.m
M clang/test/SemaObjC/uninit-variables.m
M clang/test/SemaObjCXX/Inputs/nullability-consistency-smart.h
M clang/test/SemaObjCXX/block-cleanup.mm
A clang/test/SemaOpenACC/compute-construct-async-clause.c
A clang/test/SemaOpenACC/compute-construct-async-clause.cpp
A clang/test/SemaOpenACC/compute-construct-attach-clause.c
A clang/test/SemaOpenACC/compute-construct-attach-clause.cpp
M clang/test/SemaOpenACC/compute-construct-clause-ast.cpp
A clang/test/SemaOpenACC/compute-construct-copy-clause.c
A clang/test/SemaOpenACC/compute-construct-copy-clause.cpp
A clang/test/SemaOpenACC/compute-construct-copyin-clause.c
A clang/test/SemaOpenACC/compute-construct-copyin-clause.cpp
A clang/test/SemaOpenACC/compute-construct-copyout-clause.c
A clang/test/SemaOpenACC/compute-construct-copyout-clause.cpp
A clang/test/SemaOpenACC/compute-construct-create-clause.c
A clang/test/SemaOpenACC/compute-construct-create-clause.cpp
A clang/test/SemaOpenACC/compute-construct-deviceptr-clause.c
A clang/test/SemaOpenACC/compute-construct-deviceptr-clause.cpp
A clang/test/SemaOpenACC/compute-construct-firstprivate-clause.c
A clang/test/SemaOpenACC/compute-construct-firstprivate-clause.cpp
A clang/test/SemaOpenACC/compute-construct-if-clause.c
A clang/test/SemaOpenACC/compute-construct-if-clause.cpp
A clang/test/SemaOpenACC/compute-construct-intexpr-clause-ast.cpp
A clang/test/SemaOpenACC/compute-construct-no_create-clause.c
A clang/test/SemaOpenACC/compute-construct-no_create-clause.cpp
A clang/test/SemaOpenACC/compute-construct-num_gangs-clause.c
A clang/test/SemaOpenACC/compute-construct-num_gangs-clause.cpp
A clang/test/SemaOpenACC/compute-construct-num_workers-clause.c
A clang/test/SemaOpenACC/compute-construct-num_workers-clause.cpp
A clang/test/SemaOpenACC/compute-construct-present-clause.c
A clang/test/SemaOpenACC/compute-construct-present-clause.cpp
A clang/test/SemaOpenACC/compute-construct-private-clause.c
A clang/test/SemaOpenACC/compute-construct-private-clause.cpp
A clang/test/SemaOpenACC/compute-construct-self-clause.c
A clang/test/SemaOpenACC/compute-construct-self-clause.cpp
A clang/test/SemaOpenACC/compute-construct-varlist-ast.cpp
A clang/test/SemaOpenACC/compute-construct-vector_length-clause.c
A clang/test/SemaOpenACC/compute-construct-vector_length-clause.cpp
A clang/test/SemaOpenACC/sub-array-ast.cpp
A clang/test/SemaOpenACC/sub-array.cpp
M clang/test/SemaOpenCL/as_type.cl
M clang/test/SemaOpenCL/multistep-explicit-cast.cl
M clang/test/SemaOpenCL/vec_step.cl
A clang/test/SemaTemplate/cwg2398.cpp
M clang/test/SemaTemplate/deduction-guide.cpp
M clang/test/SemaTemplate/default-arguments-ast-print.cpp
M clang/test/SemaTemplate/default-arguments.cpp
M clang/test/SemaTemplate/default-expr-arguments-3.cpp
M clang/test/SemaTemplate/instantiate-friend-function.cpp
M clang/test/SemaTemplate/instantiate-function-1.cpp
M clang/test/SemaTemplate/instantiate-template-template-parm.cpp
M clang/test/SemaTemplate/instantiate-using-decl.cpp
M clang/test/SemaTemplate/instantiation-depth-default.cpp
M clang/test/SemaTemplate/make_integer_seq.cpp
M clang/test/SemaTemplate/ms-function-specialization-class-scope.cpp
M clang/test/SemaTemplate/nested-template.cpp
M clang/test/SemaTemplate/pr47676.cpp
M clang/test/SemaTemplate/temp_arg_enum_printing.cpp
M clang/test/SemaTemplate/temp_arg_enum_printing_more.cpp
M clang/test/SemaTemplate/temp_arg_string_printing.cpp
M clang/test/SemaTemplate/temp_arg_template.cpp
M clang/test/SemaTemplate/temp_arg_template_cxx1z.cpp
M clang/test/SemaTemplate/temp_arg_type.cpp
M clang/test/SemaTemplate/template-id-expr.cpp
M clang/test/SemaTemplate/template-id-printing.cpp
M clang/test/SemaTemplate/type_pack_element.cpp
R clang/test/TestRunner.sh
M clang/test/Unit/lit.cfg.py
M clang/test/VFS/directory.c
M clang/test/VFS/external-names-multi-overlay.c
M clang/test/VFS/fallback.c
M clang/test/lit.site.cfg.py.in
M clang/tools/c-index-test/c-index-test.c
M clang/tools/clang-format/ClangFormat.cpp
M clang/tools/clang-installapi/ClangInstallAPI.cpp
M clang/tools/clang-installapi/Options.cpp
M clang/tools/clang-installapi/Options.h
M clang/tools/clang-repl/ClangRepl.cpp
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
M clang/tools/clang-scan-deps/Opts.td
M clang/tools/driver/CMakeLists.txt
M clang/tools/driver/cc1_main.cpp
M clang/tools/driver/cc1as_main.cpp
M clang/tools/libclang/CIndex.cpp
M clang/tools/libclang/CXCursor.cpp
M clang/tools/libclang/CXSourceLocation.cpp
M clang/unittests/AST/ASTImporterTest.cpp
M clang/unittests/AST/ASTTraverserTest.cpp
M clang/unittests/AST/DeclPrinterTest.cpp
M clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp
Log Message:
-----------
Merge branch 'main' into users/minglotus-6/spr/ivk
Compare: https://github.com/llvm/llvm-project/compare/ffd45811fe18...b1c57f678a2b
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list