[all-commits] [llvm/llvm-project] 6b32ba: [clang][Interp][NFC] Make Record::BaseMap use cons...
Florian Hahn via All-commits
all-commits at lists.llvm.org
Wed Feb 21 12:09:26 PST 2024
Branch: refs/heads/users/fhahn/vplan-uniform-scalar-lanes
Home: https://github.com/llvm/llvm-project
Commit: 6b32ba6129941b42d929366eb0477696d53ceb2b
https://github.com/llvm/llvm-project/commit/6b32ba6129941b42d929366eb0477696d53ceb2b
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/Record.h
Log Message:
-----------
[clang][Interp][NFC] Make Record::BaseMap use const pointers
Commit: eddf9cf38a116bcce016f147cab216fef98721ab
https://github.com/llvm/llvm-project/commit/eddf9cf38a116bcce016f147cab216fef98721ab
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/test/AST/Interp/arrays.cpp
Log Message:
-----------
[clang][Interp] Fix failure to allocate local variables
We were incorrectly returning true when the allocateLocal() call
failed.
Commit: 69d4890f801d6821e969a992d88d0bf48f9249cf
https://github.com/llvm/llvm-project/commit/69d4890f801d6821e969a992d88d0bf48f9249cf
Author: elhewaty <mohamedatef1698 at gmail.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/test/Transforms/InstCombine/abs-intrinsic.ll
Log Message:
-----------
[InstCombine] Fold abs(a * abs(b)) --> abs(a * b) (#78110)
Proof: https://alive2.llvm.org/ce/z/hfbEra
Fixes: https://github.com/llvm/llvm-project/issues/73211
Commit: e488fe5a97ba8da9be31926c219932db92298f21
https://github.com/llvm/llvm-project/commit/e488fe5a97ba8da9be31926c219932db92298f21
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
A clang/test/AST/Interp/cxx03.cpp
Log Message:
-----------
[clang][Interp] Fix non-initializing MemberExprs
We need to create a value for them, do that via visit()
Commit: 925768eeaba71ea288ba16557921ea3439f9fcf5
https://github.com/llvm/llvm-project/commit/925768eeaba71ea288ba16557921ea3439f9fcf5
Author: Vyacheslav Levytskyy <89994100+VyacheslavLevytskyy at users.noreply.github.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVInstPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.td
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.h
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVMCInstLower.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp
M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
A llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_add/atomicrmw_faddfsub_double.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_add/atomicrmw_faddfsub_float.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_add/atomicrmw_faddfsub_half.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_min_max/atomicrmw_fminfmax_double.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_min_max/atomicrmw_fminfmax_float.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_min_max/atomicrmw_fminfmax_half.ll
Log Message:
-----------
Add support for atomic instruction on floating-point numbers (#81683)
This PR adds support for atomic instruction on floating-point numbers:
* SPV_EXT_shader_atomic_float_add
* SPV_EXT_shader_atomic_float_min_max
* SPV_EXT_shader_atomic_float16_add
and fixes asm printer output for half floating-type.
Commit: 21431e0f94c95703bd76e9ec5d2f0b39b8509680
https://github.com/llvm/llvm-project/commit/21431e0f94c95703bd76e9ec5d2f0b39b8509680
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/test/AST/Interp/functions.cpp
Log Message:
-----------
[clang][Interp] Remove questionable initializer special case
I'm not sure where this would be needed, but for the time being,
removing it fixes a problem.
Commit: 769c22f25b81b74e4da7871d4e552584605caef1
https://github.com/llvm/llvm-project/commit/769c22f25b81b74e4da7871d4e552584605caef1
Author: Simon Pilgrim <RKSimon at users.noreply.github.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
A llvm/test/Transforms/VectorCombine/X86/reduction-of-truncations.ll
Log Message:
-----------
[VectorCombine] Fold reduce(trunc(x)) -> trunc(reduce(x)) iff cost effective (#81852)
Vector truncations can be pretty expensive, especially on X86, whilst scalar truncations are often free.
If the cost of performing the add/mul/and/or/xor reduction is cheap enough on the pre-truncated type, then avoid the vector truncation entirely.
Fixes https://github.com/llvm/llvm-project/issues/81469
Commit: 5b342e6041f8567a39354ae3c5346cf74b3bb84f
https://github.com/llvm/llvm-project/commit/5b342e6041f8567a39354ae3c5346cf74b3bb84f
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M llvm/lib/IR/AsmWriter.cpp
A llvm/test/DebugInfo/dpvalue-print-nocrash.ll
Log Message:
-----------
[RemoveDIs][DebugInfo] Check for null marker when printing DPValues (#82238)
The function to print DPValues currently tries to incorporate the
function it is part of, which is found through its marker; this means
when we try to print a DPValue with no marker, we dereference a nullptr.
We can print instructions without parents, and so the same should be
true for DPValues; this patch changes DPValue::print to check for a null
marker and avoid dereferencing it.
Fixes issue: https://github.com/llvm/llvm-project/issues/82230
Commit: 19f6689f3bd330c631525a7409bc824d8dc95303
https://github.com/llvm/llvm-project/commit/19f6689f3bd330c631525a7409bc824d8dc95303
Author: Mikael Holmen <mikael.holmen at ericsson.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M clang/lib/Analysis/UnsafeBufferUsage.cpp
Log Message:
-----------
[clang] Remove unused variable [NFC]
Without the fix gcc warned like
../../clang/lib/Analysis/UnsafeBufferUsage.cpp:2203:26: warning: unused variable 'CArrTy' [-Wunused-variable]
2203 | } else if (const auto *CArrTy = Ctx.getAsConstantArrayType(
| ^~~~~~
Commit: 48439bd7a79b117b3072f422fdf7e5599925ec72
https://github.com/llvm/llvm-project/commit/48439bd7a79b117b3072f422fdf7e5599925ec72
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.h
M clang/test/AST/Interp/cxx20.cpp
Log Message:
-----------
[clang][Interp] Handle rewritten binary operators
Just delegate to the syntactic form.
Commit: d022f32c73c57b59a9121eba909f5034e89c628e
https://github.com/llvm/llvm-project/commit/d022f32c73c57b59a9121eba909f5034e89c628e
Author: Tomas Matheson <tomas.matheson at arm.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/Basic/Targets/ARM.cpp
M clang/lib/Basic/Targets/ARM.h
M clang/test/Preprocessor/arm-target-features.c
M llvm/include/llvm/TargetParser/ARMTargetParser.h
M llvm/lib/TargetParser/ARMTargetParser.cpp
M llvm/unittests/TargetParser/TargetParserTest.cpp
Log Message:
-----------
Revert "[ARM] __ARM_ARCH macro definition fix (#81493)"
This reverts commit 89c1bf1230e011f2f0e43554c278205fa1819de5.
This has been unimplemenented for a while, and GCC does not implement
it, therefore we need to consider whether we should just deprecate it
in the ACLE instead.
Commit: 3f0404aae7ed2f7138526e1bcd100a60dfe08227
https://github.com/llvm/llvm-project/commit/3f0404aae7ed2f7138526e1bcd100a60dfe08227
Author: CarolineConcatto <caroline.concatto at arm.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/test/CodeGen/AArch64/framelayout-sve-calleesaves-fix.mir
M llvm/test/CodeGen/AArch64/framelayout-sve.mir
M llvm/test/CodeGen/AArch64/sme-streaming-compatible-interface.ll
M llvm/test/CodeGen/AArch64/sme-streaming-interface.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-ld1.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-ldnt1.ll
M llvm/test/CodeGen/AArch64/stack-probing-sve.ll
M llvm/test/CodeGen/AArch64/sve-alloca.ll
M llvm/test/CodeGen/AArch64/sve-calling-convention-mixed.ll
M llvm/test/CodeGen/AArch64/sve-tailcall.ll
M llvm/test/CodeGen/AArch64/unwind-preserved.ll
Log Message:
-----------
[AArch64] Restore Z-registers before P-registers (#79623)
This is needed by PR#77665[1] that uses a P-register while restoring
Z-registers.
The reverse for SVE register restore in the epilogue was added to
guarantee performance, but further work was done to improve sve frame
restore and besides that the schedule also may change the order of the
restore, undoing the reverse restore.
[1]https://github.com/llvm/llvm-project/pull/77665
Commit: 95ebf2be0e6600465a4d0f4e7d81c7ded0559fba
https://github.com/llvm/llvm-project/commit/95ebf2be0e6600465a4d0f4e7d81c7ded0559fba
Author: Jan Kokemüller <jan.kokemueller at gmail.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M libcxx/include/__atomic/atomic_sync.h
M libcxx/include/latch
M libcxx/include/semaphore
M libcxx/src/atomic.cpp
Log Message:
-----------
[libc++] Refactor the predicate taking variant of `__cxx_atomic_wait` (#80596)
This is a follow-up PR to
<https://github.com/llvm/llvm-project/pull/79265>. It aims to be a
gentle refactoring of the `__cxx_atomic_wait` function that takes a
predicate.
The key idea here is that this function's signature is changed to look
like this (`std::function` used just for clarity):
```c++
__cxx_atomic_wait_fn(Atp*, std::function<bool(Tp &)> poll, memory_order __order);
```
...where `Tp` is the corresponding `value_type` to the atomic variable
type `Atp`. The function's semantics are similar to `atomic`s `.wait()`,
but instead of having a hardcoded predicate (is the loaded value unequal
to `old`?) the predicate is specified explicitly.
The `poll` function may change its argument, and it is very important
that if it returns `false`, it leaves its current understanding of the
atomic's value in the argument. Internally, `__cxx_atomic_wait_fn`
dispatches to two waiting mechanisms, depending on the type of the
atomic variable:
1. If the atomic variable can be waited on directly (for example,
Linux's futex mechanism only supports waiting on 32 bit long variables),
the value of the atomic variable (which `poll` made its decision on) is
then given to the underlying system wait function (e.g. futex).
2. If the atomic variable can not be waited on directly, there is a
global pool of atomics that are used for this task. The ["eventcount"
pattern](<https://gist.github.com/mratsim/04a29bdd98d6295acda4d0677c4d0041>)
is employed to make this possible.
The eventcount pattern needs a "monitor" variable which is read before
the condition is checked another time. libcxx has the
`__libcpp_atomic_monitor` function for this. However, this function only
has to be called in case "2", i.e. when the eventcount is actually used.
In case "1", the futex is used directly, so the monitor must be the
value of the atomic variable that the `poll` function made its decision
on to continue blocking. Previously, `__libcpp_atomic_monitor` was
_also_ used in case "1". This was the source of the ABA style bug that
PR#79265 fixed.
However, the solution in PR#79265 has some disadvantages:
- It exposes internals such as `cxx_contention_t` or the fact that
`__libcpp_thread_poll_with_backoff` needs two functions to higher level
constructs such as `semaphore`.
- It doesn't prevent consumers calling `__cxx_atomic_wait` in an error
prone way, i.e. by providing to it a predicate that doesn't take an
argument. This makes ABA style issues more likely to appear.
Now, `__cxx_atomic_wait_fn` takes just _one_ function, which is then
transformed into the `poll` and `backoff` callables needed by
`__libcpp_thread_poll_with_backoff`.
Aside from the `__cxx_atomic_wait` changes, the only other change is the
weakening of the initial atomic load of `semaphore`'s `try_acquire` into
`memory_order_relaxed` and the CAS inside the loop is changed from
`strong` to `weak`. Both weakenings should be fine, since the CAS is
called in a loop, and the "acquire" semantics of `try_acquire` come from
the CAS, not from the initial load.
Commit: 652081ca9eefc910bbd3257bac9b2bb44756aa21
https://github.com/llvm/llvm-project/commit/652081ca9eefc910bbd3257bac9b2bb44756aa21
Author: Manish Kausik H <46352931+Nirhar at users.noreply.github.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
Log Message:
-----------
[NFC][SelectionDAG] Move function `getStackAlignedMMO` to the beginning of LegalizeDAG.cpp (#82171)
Commit: 8d8bb35ac37bfe15764f57264546e61d9bebe8f2
https://github.com/llvm/llvm-project/commit/8d8bb35ac37bfe15764f57264546e61d9bebe8f2
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M llvm/test/CodeGen/X86/psadbw.ll
Log Message:
-----------
[X86] Add some basic test coverage for #81765
Test cases demonstrating poor value tracking of PSADBW results
Commit: 17a1b8f8481783ca9c318db6b6133631015726e9
https://github.com/llvm/llvm-project/commit/17a1b8f8481783ca9c318db6b6133631015726e9
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/Interp.h
M clang/test/AST/Interp/literals.cpp
Log Message:
-----------
[clang][Interp] Fix `nullptr - nullptr` expressions
They can happen and we used to run into an assertion.
Commit: 0ec524b120d822cbe6d6d0a5320d797b03806382
https://github.com/llvm/llvm-project/commit/0ec524b120d822cbe6d6d0a5320d797b03806382
Author: Ivan Kosarev <ivan.kosarev at amd.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/test/MC/AMDGPU/gfx11_asm_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp8.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_err-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_err.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vop1.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop1.s
M llvm/test/MC/AMDGPU/gfx11_unsupported_sdwa-fake16.s
M llvm/test/MC/AMDGPU/gfx11_unsupported_sdwa.s
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vop1.txt
Log Message:
-----------
[AMDGPU][MC][True16] Support V_RCP/SQRT/RSQ/LOG/EXP_F16. (#81131)
[AMDGPU][MC][True16] Support V_RCP/SQRT/RSQ/LOG/EXP_F16.
Also add missing v_ceil/floor_f16 tests.
Includes https://github.com/llvm/llvm-project/pull/80892.
Commit: 1789dc2fbc3b409a7f9469465cc8a5f6fa333a4c
https://github.com/llvm/llvm-project/commit/1789dc2fbc3b409a7f9469465cc8a5f6fa333a4c
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/dependent-ivs.ll
Log Message:
-----------
[InstCombine] Add more dependent IV tests (NFC)
Commit: 73f76cda1f1acc496154c3acecc2e74b1280a9bd
https://github.com/llvm/llvm-project/commit/73f76cda1f1acc496154c3acecc2e74b1280a9bd
Author: Simon Pilgrim <RKSimon at users.noreply.github.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M llvm/include/llvm/ADT/APInt.h
M llvm/unittests/ADT/APIntTest.cpp
Log Message:
-----------
[APInt] Add APIntOps::absdiff to compute the absolute difference of 2 unsigned values (#82255)
Equivalent to "umax(A, B) - umin(A, B)"
First step towards adding knownbits support for absdiff patterns for #81765
Commit: bb56f052a37d9fa0a87c9636c1a94b85b72a52e0
https://github.com/llvm/llvm-project/commit/bb56f052a37d9fa0a87c9636c1a94b85b72a52e0
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M llvm/include/llvm/IR/DebugProgramInstruction.h
Log Message:
-----------
[RemoveDIs] Account for DPVAssigns in isIdenticalToWhenDefined (#82257)
AddressExpression wasn't included in the comparison.
Commit: 12ade6fc606c269101b9b13e52093c868e1a4924
https://github.com/llvm/llvm-project/commit/12ade6fc606c269101b9b13e52093c868e1a4924
Author: Gheorghe-Teodor Bercea <doru.bercea at amd.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M openmp/libomptarget/test/lit.cfg
A openmp/libomptarget/test/mapping/auto_zero_copy_apu.cpp
Log Message:
-----------
[libomptarget][test] Add support for APU testing feature. (#82054)
Add test and support for `// REQUIRES: apu` for the category of tests
which exercise APU specific behavior.
Note: when running on an actual APU you may have to use the following if
the architecture ID is not enough to determine if the underlying device
is an APU:
```
IS_APU=1 ninja check-openmp
```
Commit: 5bd374df3e89df701ea8c02e5704911935660d1e
https://github.com/llvm/llvm-project/commit/5bd374df3e89df701ea8c02e5704911935660d1e
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M llvm/test/CodeGen/X86/psadbw.ll
Log Message:
-----------
[X86] psadbw.ll - add AVX2 target test coverage
Commit: 9466c4e629ecff3060b7fef3cb189179e25c4f5f
https://github.com/llvm/llvm-project/commit/9466c4e629ecff3060b7fef3cb189179e25c4f5f
Author: srcarroll <50210727+srcarroll at users.noreply.github.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/Tensor/IR/TensorOps.td
M mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/test/Dialect/Tensor/invalid.mlir
Log Message:
-----------
[MLIR][tensor] Improve `tensor.pack` verifier to catch more cases with unconditional runtime errors (#77217)
Previously, the `tensor.pack` verifier detects unconditional runtime
errors only when tile sizes are static. Now, dynamic tiles are
considered and we only require that the input and either corresponding
tile or output size are static to determine if it will unconditionally
produce errors at runtime.
Commit: b1849a2c6bac6337945206a7c3c9f5d5812457cc
https://github.com/llvm/llvm-project/commit/b1849a2c6bac6337945206a7c3c9f5d5812457cc
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/sext-zext-trunc.ll
Log Message:
-----------
[RISCV] Add test cases for missed opportunites to treat a zext nneg as sext. NFC
These tests have a dominating icmp that require an i16 value to be
sign extended to do the compare. Because of this, the i16 will be
exported from the first basic block sign extended to XLen. We can
use this fact to remove the zext nneg in the scond block.
Commit: 0ca74c345899e2c4846c696d5d3f454e208d2d65
https://github.com/llvm/llvm-project/commit/0ca74c345899e2c4846c696d5d3f454e208d2d65
Author: Michael Klemm <michael.klemm at amd.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M flang/module/__cuda_builtins.f90
M flang/module/__fortran_builtins.f90
M flang/module/__fortran_ieee_exceptions.f90
M flang/module/__fortran_type_info.f90
M flang/module/__ppc_types.f90
M flang/module/ieee_arithmetic.f90
M flang/module/ieee_exceptions.f90
M flang/module/ieee_features.f90
Log Message:
-----------
[flang][NFC] Refactor MODULE definitions to not accidentally leak symbols (#80833)
This PR continues the work started with PR #79006, by setting visibility
in MODULES to PRIVATE by default and explicitly exporting only the
desired symbols. `omp_lib` needs more work, as it should maybe be
compiled from `omp_lib.f90` in
`openmp/runtime/src/incluce/omp_lib.f90.var` instead of simply using an
INCLUDE for `omp_lib.h`
Commit: f668a08e005962f9f68d7586f99fc431dbed9a88
https://github.com/llvm/llvm-project/commit/f668a08e005962f9f68d7586f99fc431dbed9a88
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/RISCV/sext-zext-trunc.ll
M llvm/test/CodeGen/VE/Scalar/ctlz.ll
Log Message:
-----------
[DAGCombiner][RISCV] Optimize (zext nneg (truncate X)) if X has known sign bits. (#82227)
This treats the zext nneg as sext if X is known to have sufficient sign
bits to allow the zext or truncate or both to removed. This code is
taken from the same optimization for sext.
Commit: c9974ae4a0601a9e9f5842114ecd899ab9142786
https://github.com/llvm/llvm-project/commit/c9974ae4a0601a9e9f5842114ecd899ab9142786
Author: Christian Kandeler <christian.kandeler at qt.io>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M clang-tools-extra/clangd/refactor/tweaks/ExtractVariable.cpp
M clang-tools-extra/clangd/unittests/tweaks/ExtractVariableTests.cpp
Log Message:
-----------
[clangd] Do not offer extraction to variable for decl init expression (#69477)
That would turn:
int x = f() + 1;
into:
auto placeholder = f() + 1;
int x = placeholder;
which makes little sense and is clearly not intended, as stated
explicitly by a comment in eligibleForExtraction(). It appears that the
declaration case was simply forgotten (the assignment case was already
implemented).
Commit: 2426055a64e43c5d9126b191ee9836710a223d75
https://github.com/llvm/llvm-project/commit/2426055a64e43c5d9126b191ee9836710a223d75
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/sext-zext-trunc.ll
Log Message:
-----------
[RISCV] Add more zext nneg tests. NFC
This adds additional tests for #82199.
These tests need us to propagate the nneg flag when we zero/sign
extend an existing zext nneg node. For these tests on RV64, call
lowering will need to sign extend or zero extend the existing zext
nneg to i64. getNode will fold this into a single zext. We should
propagate the nneg flag from the original zext nneg. This will allow
us to remove the zext nneg based on known sign bits during DAG combine.
Commit: c98da372cb08cd3b3c513a6a86592b0f2892fb49
https://github.com/llvm/llvm-project/commit/c98da372cb08cd3b3c513a6a86592b0f2892fb49
Author: Lei Wang <wlei at fb.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M llvm/lib/Transforms/IPO/SampleProfile.cpp
M llvm/test/Transforms/SampleProfile/Inputs/profile-mismatch.prof
M llvm/test/Transforms/SampleProfile/Inputs/pseudo-probe-profile-mismatch.prof
M llvm/test/Transforms/SampleProfile/profile-mismatch.ll
M llvm/test/Transforms/SampleProfile/pseudo-probe-profile-mismatch-thinlto.ll
M llvm/test/Transforms/SampleProfile/pseudo-probe-profile-mismatch.ll
Log Message:
-----------
[CSSPGO] Compute and report profile matching recovered callsites and samples (#79090)
This change adds the support to compute and report the staleness metrics
after stale profile matching so that we can know how effective the fuzzy
matching is, i. e. how many callsites and samples are recovered by the
matching.
Some implementation notes:
- The function checksum mismatch metrics are not applicable here as it's
function-level metrics, checksum mismatch remains the same before and
after matching, so we need to compute based on the callsite samples.
- Added two new counters `NumRecoveredCallsites`,
`RecoveredCallsiteSamples` for this and removed `TotalCallsiteSamples`
as now the we can use the `TotalFuncHashSamples` as base, and renamed
some counters.
- In profile matching, we changed to use a state machine to represent
the callsite's matching state changes. See the `MatchState` for the
state, and used a new function `recordCallsiteMatchStates` to compute
and record the callsite's match states changes before and after the
matching, , the result is compressed and saved into a
`FuncCallsiteMatchStates` map for later counting use.
- Changed the counting function to run on module-level and moved it to
the end of the whole process(`computeAndReportProfileStaleness`). The
reason is before the callsite is only counted on top-level function,
this change extends it to count(recursively) on the inlined functions
and samples, which is more accurate.
Commit: cd20a7ff9a617855c918d1325b1dbef32cbe0f31
https://github.com/llvm/llvm-project/commit/cd20a7ff9a617855c918d1325b1dbef32cbe0f31
Author: Fangrui Song <i at maskray.me>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M llvm/test/tools/llvm-readobj/ELF/file-header-os-abi.test
M llvm/tools/llvm-readobj/ELFDumper.cpp
Log Message:
-----------
[llvm-readelf] Print ARM specific OSABI values in GNU mode (#82186)
Similar to #75661. Currently, there is only ELFOSABI_ARM, but I plan to
add ELFOSABI_ARM_FDPIC in a subsequent patch #82187
Commit: 8e8f9c0bc0773147b8e9dbc0df9730efd630e18f
https://github.com/llvm/llvm-project/commit/8e8f9c0bc0773147b8e9dbc0df9730efd630e18f
Author: Vyacheslav Levytskyy <89994100+VyacheslavLevytskyy at users.noreply.github.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.h
A llvm/test/CodeGen/SPIRV/execution-mode-per-entry-point.ll
Log Message:
-----------
fix generation of unnecessary OpExecutionMode records (#81839)
SPIRV-V Backend generates unnecessary OpExecutionMode records, putting
into the id's which are not the Entry Point operands of an OpEntryPoint
(ref: https://github.com/llvm/llvm-project/issues/81753). This PR is to
fix the issue.
Commit: 9087abdac31136ca88064509aa856d1bd6f22f10
https://github.com/llvm/llvm-project/commit/9087abdac31136ca88064509aa856d1bd6f22f10
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M llvm/include/llvm/TargetParser/Triple.h
Log Message:
-----------
[llvm] Format OSType enum (NFC)
The trailing comments cause clang-format to complain every time the enum
is modified. Fix the formatting to avoid tripping up the formatting
check on GitHub.
Commit: 1b26c25f7e56fe3d5e06c285566ef43812d7baee
https://github.com/llvm/llvm-project/commit/1b26c25f7e56fe3d5e06c285566ef43812d7baee
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M lldb/source/Plugins/DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernel.cpp
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOS.cpp
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.cpp
M lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.cpp
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwinKernel.cpp
M lldb/source/Plugins/Platform/MacOSX/PlatformRemoteAppleBridge.cpp
M lldb/source/Plugins/SystemRuntime/MacOSX/SystemRuntimeMacOSX.cpp
M llvm/include/llvm/TargetParser/Triple.h
M llvm/lib/TargetParser/Triple.cpp
Log Message:
-----------
[llvm] Upstream the BridgeOS triple enum value (NFC)
This upstreams the BridgeOS target triple enum value.
Commit: f8cbb67b10856465faedfbda81cd23c3ec920730
https://github.com/llvm/llvm-project/commit/f8cbb67b10856465faedfbda81cd23c3ec920730
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/RISCV/sext-zext-trunc.ll
Log Message:
-----------
[DAGCombiner] Preserve nneg flag from inner zext when we combine (z/s/aext (zext X)) (#82199)
Commit: 66ebda46fc144ba94cde50956da2517edaf32abe
https://github.com/llvm/llvm-project/commit/66ebda46fc144ba94cde50956da2517edaf32abe
Author: Vyacheslav Levytskyy <89994100+VyacheslavLevytskyy at users.noreply.github.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.td
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp
M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
A llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_uniform_group_instructions/uniform-group-instructions.ll
Log Message:
-----------
Add support for the SPIR-V extension SPV_KHR_uniform_group_instructions (#82064)
This PR is to add support for the SPIR-V extension
SPV_KHR_uniform_group_instructions that adds new instructions to SPIR-V
to support additional group operations within uniform control flow.
Commit: 44a46a0b6818c9b7eb36f2257cb0e6018101ec61
https://github.com/llvm/llvm-project/commit/44a46a0b6818c9b7eb36f2257cb0e6018101ec61
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
A llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/insertelement.ll
Log Message:
-----------
[RISCV][GISEL] Add IRTranslation for insertelement with scalable vector type (#80377)
This patch is stacked on #80372, #80307, and #80306.
Commit: 8de230093f585b64fcd642b46e6560131e95b394
https://github.com/llvm/llvm-project/commit/8de230093f585b64fcd642b46e6560131e95b394
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
M polly/lib/Exchange/JSONExporter.cpp
M polly/lib/Transform/DeLICM.cpp
M polly/lib/Transform/FlattenSchedule.cpp
M polly/lib/Transform/ForwardOpTree.cpp
Log Message:
-----------
[clang-format] Correctly annotate braces of empty ctors/dtors (#82097)
Also reformat Polly.
Fixes #79834.
Commit: 35f45926eb12b2612f23012ab1e80e3be86dbb2d
https://github.com/llvm/llvm-project/commit/35f45926eb12b2612f23012ab1e80e3be86dbb2d
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC]Add asserts for undef handling in PHIComparator, NFC.
Commit: 13e64958a00f9f47fc71027d5b6196906cbc2863
https://github.com/llvm/llvm-project/commit/13e64958a00f9f47fc71027d5b6196906cbc2863
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h
M llvm/lib/Target/AMDGPU/SIDefines.h
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
M llvm/test/MC/AMDGPU/bf16_imm.s
M llvm/test/MC/Disassembler/AMDGPU/bf16_imm.txt
Log Message:
-----------
[AMDGPU] Fix decoder for BF16 inline constants (#82276)
Fix #82039.
Commit: 1f57800fe6ffc1569520e8cc62a740332300e2fa
https://github.com/llvm/llvm-project/commit/1f57800fe6ffc1569520e8cc62a740332300e2fa
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M llvm/lib/TargetParser/Triple.cpp
Log Message:
-----------
[llvm] Handle BridgeOS in Triple::parseOS
This fixes the TripleTest unit test.
Commit: 44b17679e354d2f23b8843589629573b3900119f
https://github.com/llvm/llvm-project/commit/44b17679e354d2f23b8843589629573b3900119f
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
Log Message:
-----------
[VPlan] Remove stale comment from VPTransformState::get (NFC)
All values accessed via get are now part of VPTransformState, the ILV
reference in the comment has been removed a long time ago. Remove the
stale comment.
Commit: 22fc2cb15d9e9bfb84145c6891fb748e8e52757e
https://github.com/llvm/llvm-project/commit/22fc2cb15d9e9bfb84145c6891fb748e8e52757e
Author: rmarker <37921131+rmarker at users.noreply.github.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/ContinuationIndenter.h
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Fix AllowShortLambdasOnASingleLine interfering with lambda brace wrapping. (#81848)
Fix an issue where the lambda body left brace could sometimes fail to be
wrapped when AllowShortLambdasOnASingleLine is enabled.
Now, when BraceWrapping.BeforeLambdaBody is enabled, if the brace is not
wrapped, we prevent breaks in the lambda body.
Resolves #81845
Commit: 61a96e5afadd034e7d13126f0e43731bbad7ad89
https://github.com/llvm/llvm-project/commit/61a96e5afadd034e7d13126f0e43731bbad7ad89
Author: Alan Zhao <alanzhao1 at users.noreply.github.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
A llvm/test/Transforms/LoopRotate/coroutine.ll
Log Message:
-----------
[NFC] Precommit a coroutine test for LoopRotate (#82031)
This is to provide a baseline test for
https://github.com/llvm/llvm-project/pull/81937.
Commit: 513d9f2395ea017e72602ca6e747a2e061ab8c3f
https://github.com/llvm/llvm-project/commit/513d9f2395ea017e72602ca6e747a2e061ab8c3f
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFDIE.cpp
M llvm/include/llvm/BinaryFormat/Dwarf.def
M llvm/lib/DebugInfo/DWARF/DWARFTypePrinter.cpp
M llvm/test/tools/llvm-dwarfdump/AArch64/ptrauth.s
Log Message:
-----------
[ptrauth] Teach LLVM & LLDB about LLVM_ptrauth_authentication_mode (#82272)
Teach LLVM & LLDB about `DW_AT_LLVM_ptrauth_authentication_mode`
Commit: 13dce35876acdd35269f7d64c187c1d831bbf980
https://github.com/llvm/llvm-project/commit/13dce35876acdd35269f7d64c187c1d831bbf980
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M lldb/packages/Python/lldbsuite/test/decorators.py
M lldb/packages/Python/lldbsuite/test/lldbplatformutil.py
M lldb/test/API/sanity/TestSettingSkipping.py
M lldb/test/API/tools/lldb-server/TestAppleSimulatorOSType.py
M lldb/test/Shell/helper/build.py
Log Message:
-----------
[lldb] Migrate distutils.version.LooseVersion to packaging (#82066)
The distutils package has been deprecated and was removed from Python
3.12. The migration page [1] advises to use the packaging module
instead. Since Python 3.6 that's vendored into pkg_resources.
[1] https://peps.python.org/pep-0632/#migration-advice
Commit: 030d07574f0252c21ed28ae258a5af0e577ea37b
https://github.com/llvm/llvm-project/commit/030d07574f0252c21ed28ae258a5af0e577ea37b
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/test/MC/AMDGPU/bf16_imm.s
Log Message:
-----------
[AMDGPU] Fix bf16 inv2pi inline constant hadling (#82283)
Inline constant 1/(2*pi) has the truncated value 0x3e22. According to
the spec it is not rounded. A bf16 value in a nutshall is a fp32 value
with cleared 16 bites of mantissa. The value 0x3e22 converted to fp32 is
0.158203125 and the next representable value 0x3e23 means 0.1591796875.
The fp32 value of 1/(2*pi) = 0.15915494 cannot be represented in bf16.
Although since bf16 values are essentailly truncated fp32 values we can
use 0.15915494 as an idiomatic representation of 1/(2*pi) inline
constant. This is also consistent with sp3 behaviour. The patch fixes
the problem that value we are printing for inv2pi inline constant is not
parsed as inv2pi by the asm parser and gets rounded.
Commit: c3b87a8810535b95ed1abd7c1ebd330131f68890
https://github.com/llvm/llvm-project/commit/c3b87a8810535b95ed1abd7c1ebd330131f68890
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedCallArgsChecker.cpp
M clang/test/Analysis/Checkers/WebKit/call-args-protected-return-value.cpp
M clang/test/Analysis/Checkers/WebKit/mock-types.h
M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
Log Message:
-----------
[alpha.webkit.UncountedCallArgsChecker] Allow ASSERT and atomic<T> operations in a trivial function (#82063)
Commit: eac8604d989cb4220367937bae04937e67b9001b
https://github.com/llvm/llvm-project/commit/eac8604d989cb4220367937bae04937e67b9001b
Author: Han-Chung Wang <hanhan0912 at gmail.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/test/Dialect/Tensor/canonicalize.mlir
Log Message:
-----------
[mlir][tensor] Add support for tensor.unpack static shapes inference. (#81702)
The revision does not refactor the inferStaticShape for pack and unpack
ops because they can diverge quickly. Because there are more dimensions
can be inferred (i.e., with inner_tile_sizes) if the pack op does not
have padding value.
This is a follow-up of https://github.com/llvm/llvm-project/pull/80848
Commit: 66d8377dbddbf8eb2d692b93e5984bb38fa698e7
https://github.com/llvm/llvm-project/commit/66d8377dbddbf8eb2d692b93e5984bb38fa698e7
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M llvm/utils/count_running_jobs.py
Log Message:
-----------
[Github] Add ability to filter jobs in job counting script (#82136)
This patch adds a new flag pair, --filter-gha-runners, and
--no-filter-gha-runners, that filters out all non-Github hosted runners
so that we can actual counts of the Github runners, where we are
actually limited.
Commit: 6f469d60046049edd33eaa02e6a4be074c94a7f5
https://github.com/llvm/llvm-project/commit/6f469d60046049edd33eaa02e6a4be074c94a7f5
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M mlir/test/lib/Dialect/Test/TestPatterns.cpp
Log Message:
-----------
Apply clang-tidy fixes for bugprone-copy-constructor-init in TestPatterns.cpp (NFC)
Commit: 3029acb8e2f9bd4645b4d99b417ebca924c88ae9
https://github.com/llvm/llvm-project/commit/3029acb8e2f9bd4645b4d99b417ebca924c88ae9
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M mlir/test/lib/IR/TestBytecodeRoundtrip.cpp
Log Message:
-----------
Apply clang-tidy fixes for llvm-qualified-auto in TestBytecodeCallbacks.cpp (NFC)
Commit: 1cf4cc007be0255fa74f7ed04fb16be6dee1cce5
https://github.com/llvm/llvm-project/commit/1cf4cc007be0255fa74f7ed04fb16be6dee1cce5
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M mlir/test/lib/IR/TestBytecodeRoundtrip.cpp
Log Message:
-----------
Apply clang-tidy fixes for readability-identifier-naming in TestBytecodeCallbacks.cpp (NFC)
Commit: 6b72c37958c3d8aa0cfa48c4ad6509dd6ea37749
https://github.com/llvm/llvm-project/commit/6b72c37958c3d8aa0cfa48c4ad6509dd6ea37749
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M mlir/test/lib/IR/TestVisitors.cpp
Log Message:
-----------
Apply clang-tidy fixes for llvm-else-after-return in TestVisitors.cpp (NFC)
Commit: 4345b20508b5702c69dd1649c251c4615014dbd2
https://github.com/llvm/llvm-project/commit/4345b20508b5702c69dd1649c251c4615014dbd2
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M mlir/test/lib/Transforms/TestConstantFold.cpp
Log Message:
-----------
Apply clang-tidy fixes for llvm-qualified-auto in TestConstantFold.cpp (NFC)
Commit: 21631494b068d9364b8dc8f18e59adee9131a0a5
https://github.com/llvm/llvm-project/commit/21631494b068d9364b8dc8f18e59adee9131a0a5
Author: jimingham <jingham at apple.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M lldb/include/lldb/Interpreter/CommandObject.h
M lldb/include/lldb/Interpreter/CommandOptionArgumentTable.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/source/Commands/CommandObjectCommands.cpp
M lldb/source/Commands/CommandObjectDWIMPrint.cpp
M lldb/source/Commands/CommandObjectDWIMPrint.h
M lldb/source/Commands/CommandObjectFrame.cpp
M lldb/source/Commands/CommandObjectPlatform.cpp
M lldb/source/Commands/CommandObjectPlugin.cpp
M lldb/source/Commands/CommandObjectProcess.cpp
M lldb/source/Commands/CommandObjectRegister.cpp
M lldb/source/Commands/CommandObjectSession.cpp
M lldb/source/Commands/CommandObjectSettings.cpp
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/Commands/CommandObjectThread.cpp
M lldb/source/Commands/CommandObjectType.cpp
M lldb/source/Commands/CommandObjectWatchpoint.cpp
M lldb/source/Interpreter/CommandObject.cpp
M lldb/test/API/commands/help/TestHelp.py
Log Message:
-----------
Centralize the handling of completion for simple argument lists. (#82085)
Most commands were adding argument completion handling by themselves,
resulting in a lot of unnecessary boilerplate. In many cases, this could
be done generically given the argument definition and the entries in the
g_argument_table.
I'm going to address this in a couple passes. In this first pass, I
added handling of commands that have only one argument list, with one
argument type, either single or repeated, and changed all the commands
that are of this sort (and don't have other bits of business in their
completers.)
I also added some missing connections between arg types and completions
to the table, and added a RemoteFilename and RemotePath to use in places
where we were using the Remote completers. Those arguments used to say
they were "files" but they were in fact remote files.
I also added a module arg type to use where we were using the module
completer. In that case, we should call the argument module.
Commit: 91a384621e5b762d9c173ffd247cfeadd5f436a2
https://github.com/llvm/llvm-project/commit/91a384621e5b762d9c173ffd247cfeadd5f436a2
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M llvm/CMakeLists.txt
M llvm/cmake/modules/AddLLVM.cmake
M llvm/tools/llvm-shlib/CMakeLists.txt
Log Message:
-----------
[cmake] Add minor version to library SONAME (#79376)
We need to do this now that we are bumping the minor release number when
we create the release branch.
This also results in a slight change to the library names for LLVM. The
main library now has a more convential library name:
'libLLVM.so.$major.$minor'. The old library name: libLLVM-$major.so is
now a symlink that points to the new library. However, the symlink is
not present in the build directory. It is only present in the install
directory.
The library name was changed because it helped to keep the CMake changes
more simple.
Fixes #76273
Commit: 76a247271507f009a186e81c7f90076ffb043ec3
https://github.com/llvm/llvm-project/commit/76a247271507f009a186e81c7f90076ffb043ec3
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M libcxx/include/__algorithm/search.h
M libcxx/include/__algorithm/search_n.h
M libcxx/include/__functional/reference_wrapper.h
M libcxx/include/__hash_table
M libcxx/include/__iterator/advance.h
M libcxx/include/__iterator/bounded_iter.h
M libcxx/include/__iterator/move_iterator.h
M libcxx/include/__iterator/reverse_iterator.h
M libcxx/include/__memory/allocator_traits.h
M libcxx/include/__memory/compressed_pair.h
M libcxx/include/__memory/pointer_traits.h
M libcxx/include/__memory/shared_ptr.h
M libcxx/include/__memory/uninitialized_algorithms.h
M libcxx/include/__random/seed_seq.h
M libcxx/include/__thread/thread.h
M libcxx/include/__tree
M libcxx/include/__utility/pair.h
M libcxx/include/bitset
M libcxx/include/deque
M libcxx/include/experimental/memory
M libcxx/include/forward_list
M libcxx/include/future
M libcxx/include/iomanip
M libcxx/include/list
M libcxx/include/map
M libcxx/include/queue
M libcxx/include/stack
M libcxx/include/tuple
M libcxx/include/unordered_map
M libcxx/include/vector
Log Message:
-----------
[libc++] Refactor more __enable_ifs to the canonical style (#81457)
This brings the code base closer to having only a single style of
`enable_if`s.
Commit: 9c6df7d90a74c3b98e33d3edf0b5d8982093b4f7
https://github.com/llvm/llvm-project/commit/9c6df7d90a74c3b98e33d3edf0b5d8982093b4f7
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M llvm/utils/count_running_jobs.py
Log Message:
-----------
[Github] Add ability to record jobs over time to job counting script (#82137)
This patch adds new flags to the count_running_jobs.py script to enable
the collection of data over a period of time. Specifically, the
--output_file flag is added to enable writing output data to a file, and
the --data-collection-interval flag is added to configure the frequency
that the script checks the job count.
Commit: 61ae7e498253d72422cef853798fc2bee1c731cf
https://github.com/llvm/llvm-project/commit/61ae7e498253d72422cef853798fc2bee1c731cf
Author: Yeting Kuo <46629943+yetingk at users.noreply.github.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
M llvm/test/CodeGen/RISCV/rvv/vpscatter-sdnode.ll
Log Message:
-----------
[RISCV] Select pattern (shl (sext_vl/zext_vl), 1) to VWADD/VWADDU. (#82225)
Previously, we already had similar selection pattern for (shl (ext)) and
(shl_vl (ext_vl)).
Commit: 71e0623110b674765fb9349f449279faa7361e3d
https://github.com/llvm/llvm-project/commit/71e0623110b674765fb9349f449279faa7361e3d
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M lldb/packages/Python/lldbsuite/test/decorators.py
M lldb/packages/Python/lldbsuite/test/lldbplatformutil.py
M lldb/test/API/sanity/TestSettingSkipping.py
M lldb/test/API/tools/lldb-server/TestAppleSimulatorOSType.py
M lldb/test/Shell/helper/build.py
Log Message:
-----------
Revert "[lldb] Migrate distutils.version.LooseVersion to packaging" (#82297)
Reverts llvm/llvm-project#82066 because the following tests started
failing after:
[lldb-api.commands/expression/import-std-module/deque-basic.TestDequeFromStdModule.py](https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/66513/testReport/junit/lldb-api/commands_expression_import-std-module_deque-basic/TestDequeFromStdModule_py/)
[lldb-api.commands/expression/import-std-module/deque-dbg-info-content.TestDbgInfoContentDequeFromStdModule.py](https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/66513/testReport/junit/lldb-api/commands_expression_import-std-module_deque-dbg-info-content/TestDbgInfoContentDequeFromStdModule_py/)
[lldb-api.commands/expression/import-std-module/forward_list.TestForwardListFromStdModule.py](https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/66513/testReport/junit/lldb-api/commands_expression_import-std-module_forward_list/TestForwardListFromStdModule_py/)
[lldb-api.commands/expression/import-std-module/forward_list-dbg-info-content.TestDbgInfoContentForwardListFromStdModule.py](https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/66513/testReport/junit/lldb-api/commands_expression_import-std-module_forward_list-dbg-info-content/TestDbgInfoContentForwardListFromStdModule_py/)
[lldb-api.commands/expression/import-std-module/list.TestListFromStdModule.py](https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/66513/testReport/junit/lldb-api/commands_expression_import-std-module_list/TestListFromStdModule_py/)
[lldb-api.commands/expression/import-std-module/non-module-type-separation.TestNonModuleTypeSeparation.py](https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/66513/testReport/junit/lldb-api/commands_expression_import-std-module_non-module-type-separation/TestNonModuleTypeSeparation_py/)
[lldb-api.commands/expression/import-std-module/queue.TestQueueFromStdModule.py](https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/66513/testReport/junit/lldb-api/commands_expression_import-std-module_queue/TestQueueFromStdModule_py/)
[lldb-api.commands/expression/import-std-module/retry-with-std-module.TestRetryWithStdModule.py](https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/66513/testReport/junit/lldb-api/commands_expression_import-std-module_retry-with-std-module/TestRetryWithStdModule_py/)
[lldb-api.commands/expression/import-std-module/unique_ptr.TestUniquePtrFromStdModule.py](https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/66513/testReport/junit/lldb-api/commands_expression_import-std-module_unique_ptr/TestUniquePtrFromStdModule_py/)
[lldb-api.commands/expression/import-std-module/unique_ptr-dbg-info-content.TestUniquePtrDbgInfoContent.py](https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/66513/testReport/junit/lldb-api/commands_expression_import-std-module_unique_ptr-dbg-info-content/TestUniquePtrDbgInfoContent_py/)
[lldb-api.commands/expression/import-std-module/vector-of-vectors.TestVectorOfVectorsFromStdModule.py](https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/66513/testReport/junit/lldb-api/commands_expression_import-std-module_vector-of-vectors/TestVectorOfVectorsFromStdModule_py/)
[lldb-api.functionalities/data-formatter/data-formatter-stl/libcxx/shared_ptr.TestDataFormatterLibcxxSharedPtr.py](https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/66513/testReport/junit/lldb-api/functionalities_data-formatter_data-formatter-stl_libcxx_shared_ptr/TestDataFormatterLibcxxSharedPtr_py/)
[lldb-api.functionalities/data-formatter/data-formatter-stl/libcxx/unique_ptr.TestDataFormatterLibcxxUniquePtr.py](https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/66513/testReport/junit/lldb-api/functionalities_data-formatter_data-formatter-stl_libcxx_unique_ptr/TestDataFormatterLibcxxUniquePtr_py/)
Commit: 744616b3aebd008a5ad0e9de9f82f5e284440ab1
https://github.com/llvm/llvm-project/commit/744616b3aebd008a5ad0e9de9f82f5e284440ab1
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M bolt/tools/merge-fdata/merge-fdata.cpp
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
M llvm/include/llvm/Support/ThreadPool.h
M llvm/lib/Debuginfod/Debuginfod.cpp
M llvm/lib/LTO/LTO.cpp
M mlir/include/mlir/IR/Threading.h
M mlir/lib/ExecutionEngine/AsyncRuntime.cpp
M mlir/lib/IR/MLIRContext.cpp
M mlir/lib/Pass/Pass.cpp
Log Message:
-----------
Rename `ThreadPool::getThreadCount()` to `getMaxConcurrency()` (NFC) (#82296)
This is addressing a long-time TODO to rename this misleading API. The
old one is preserved for now but marked deprecated.
Commit: 9ed8b272c30a01c450616f0ed8b2373d5d618ebb
https://github.com/llvm/llvm-project/commit/9ed8b272c30a01c450616f0ed8b2373d5d618ebb
Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M lldb/include/lldb/Interpreter/CommandObject.h
M lldb/include/lldb/Interpreter/CommandOptionArgumentTable.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/source/Commands/CommandObjectCommands.cpp
M lldb/source/Commands/CommandObjectDWIMPrint.cpp
M lldb/source/Commands/CommandObjectDWIMPrint.h
M lldb/source/Commands/CommandObjectFrame.cpp
M lldb/source/Commands/CommandObjectPlatform.cpp
M lldb/source/Commands/CommandObjectPlugin.cpp
M lldb/source/Commands/CommandObjectProcess.cpp
M lldb/source/Commands/CommandObjectRegister.cpp
M lldb/source/Commands/CommandObjectSession.cpp
M lldb/source/Commands/CommandObjectSettings.cpp
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/Commands/CommandObjectThread.cpp
M lldb/source/Commands/CommandObjectType.cpp
M lldb/source/Commands/CommandObjectWatchpoint.cpp
M lldb/source/Interpreter/CommandObject.cpp
M lldb/test/API/commands/help/TestHelp.py
Log Message:
-----------
Revert "Centralize the handling of completion for simple argument lists. (#82085)"
This reverts commit 21631494b068d9364b8dc8f18e59adee9131a0a5.
Reverted because of greendragon failure:
******************** TEST 'lldb-api :: functionalities/completion/TestCompletion.py' FAILED ********************
Script:
Commit: 8ac7c4f3c0796d575515e276a1273c550c867051
https://github.com/llvm/llvm-project/commit/8ac7c4f3c0796d575515e276a1273c550c867051
Author: Fangrui Song <i at maskray.me>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.h
Log Message:
-----------
[SPIRV] Fix warning after #81683
Commit: 8c5c4d9a63bd0cba7f025431e06f63d032010393
https://github.com/llvm/llvm-project/commit/8c5c4d9a63bd0cba7f025431e06f63d032010393
Author: Yuta Saito <kateinoigakukun at gmail.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
M llvm/lib/Transforms/Coroutines/CoroInternal.h
M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
A llvm/test/Transforms/Coroutines/coro-async-notail-wasm.ll
Log Message:
-----------
[Coro][WebAssembly] Add tail-call check for async lowering (#81481)
This patch fixes a verifier error when async lowering is used for
WebAssembly target without tail-call feature. This missing check was
revealed by b1ac052ab07ea091c90c2b7c89445b2bfcfa42ab, which removed
inlining of the musttail'ed call and it started leaving the invalid call
at the verification stage. Additionally, `TTI::supportsTailCallFor` did
not respect the concrete TTI's `supportsTailCalls` implementation, so it
always returned true even though `supportsTailCalls` returned false, so
this patch also fixes the wrong CRTP base class implementation.
Commit: 0c02329ff375100ddcf2cb104aebe97bb3c9126f
https://github.com/llvm/llvm-project/commit/0c02329ff375100ddcf2cb104aebe97bb3c9126f
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M lldb/packages/Python/lldbsuite/test/decorators.py
M lldb/packages/Python/lldbsuite/test/lldbplatformutil.py
M lldb/test/API/sanity/TestSettingSkipping.py
M lldb/test/API/tools/lldb-server/TestAppleSimulatorOSType.py
M lldb/test/Shell/helper/build.py
Log Message:
-----------
[lldb] Migrate distutils.version.LooseVersion to packaging (#82066)
The distutils package has been deprecated and was removed from Python
3.12. The migration page [1] advises to use the packaging module
instead. Since Python 3.6 that's vendored into pkg_resources.
[1] https://peps.python.org/pep-0632/#migration-advice
Commit: d9f9775ac6289271d57671c55166fa0cad61075b
https://github.com/llvm/llvm-project/commit/d9f9775ac6289271d57671c55166fa0cad61075b
Author: Vladimir Vereschaka <vvereschaka at accesssoftek.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp
R llvm/test/DebugInfo/fixed-point.ll
Log Message:
-----------
Revert "[llvm] Fix assertion error where we didn't check fixed point types." (#82285)
These changes break the `LLVM::fixed-point.ll` test some targets what
fails the builds for those targets
(more details
https://github.com/llvm/llvm-project/pull/80757#issuecomment-1949382211)
The problem wasn't fixed for few days,
Reverts llvm/llvm-project#80757
Commit: 0a6c74e21cc6750c843310ab35b47763cddaaf32
https://github.com/llvm/llvm-project/commit/0a6c74e21cc6750c843310ab35b47763cddaaf32
Author: Craig Hesling <craig at hesling.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M llvm/CMakeLists.txt
M llvm/docs/GettingStarted.rst
M llvm/docs/GettingStartedVS.rst
M llvm/docs/ReleaseNotes.rst
M llvm/docs/TestingGuide.rst
Log Message:
-----------
[python] Bump Python minimum version to 3.8 (#78828)
As per the RFC
https://discourse.llvm.org/t/rfc-upgrading-llvms-minimum-required-python-version/67571,
raise the minimum Python version to ensure that the Python syntax
doesn't become overly obsolete, to enable new Python feature usage,
and to improve the maintainability of CI.
One of the primary use cases for this higher Python version is to enable
python type annotations that are more aligned with current Python
best practices. This is not only important for our own internal Python
for testing, but for the Python bindings that are exposed to users.
Commit: c8fab880fad987fbab6bfbcdab72219f5d35e645
https://github.com/llvm/llvm-project/commit/c8fab880fad987fbab6bfbcdab72219f5d35e645
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M clang/docs/StandardCPlusPlusModules.rst
Log Message:
-----------
[docs] [C++20] [Modules] Ideas for transitioning to modules (#80687)
This patch tries to provide some ideas to transform an existing
libraries to modules. I feel this is helpful for users who is interested
in modules from my observation. While the syntax of modules look easy to
understand, the practice gets harder if the users want to make
compatible work with headers. Especially the `std` module can be
installed in clang18, I think such document may be helpful.
I tried to not be too wordy in this document and I don't want the users
to have impressions that they have to follow this or this is the best
practice. So I tried to use the term `idea` imply the users this is not
compulsory.
I add some regular reviewers for modules, but review opinions from users
are highly recommended.
I want to land this before the releasing of clang18 (in the early
March). We can and should improve this continuously.
Commit: 49775b1dc0cdb3a9d18811f67f268e3b3a381669
https://github.com/llvm/llvm-project/commit/49775b1dc0cdb3a9d18811f67f268e3b3a381669
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/unittests/Serialization/CMakeLists.txt
A clang/unittests/Serialization/PreambleInNamedModulesTest.cpp
Log Message:
-----------
[Serialization] Record whether the ODR is skipped (#82302)
Close https://github.com/llvm/llvm-project/issues/80570.
In
https://github.com/llvm/llvm-project/commit/a0b6747804e46665ecfd00295b60432bfe1775b6,
we skipped ODR checks for decls in GMF. Then it should be natural to
skip storing the ODR values in BMI.
Generally it should be fine as long as the writer and the reader keep
consistent.
However, the use of preamble in clangd shows the tricky part.
For,
```
// test.cpp
module;
// any one off these is enough to crash clangd
// #include <iostream>
// #include <string_view>
// #include <cmath>
// #include <system_error>
// #include <new>
// #include <bit>
// probably many more
// only ok with libc++, not the system provided libstdc++ 13.2.1
// these are ok
export module test;
```
clangd will store the headers as preamble to speedup the parsing and the
preamble reuses the serialization techniques. (Generally we'd call the
preamble as PCH. However it is not true strictly. I've tested the PCH
wouldn't be problematic.) However, the tricky part is that the preamble
is not modules. It literally serialiaze and deserialize things. So
before clangd parsing the above test module, clangd will serialize the
headers into the preamble. Note that there is no concept like GMF now.
So the ODR bits are stored. However, when clangd parse the file
actually, the decls from preamble are thought as in GMF literally, then
hte ODR bits are skipped. Then mismatch happens.
To solve the problem, this patch adds another bit for decls to record
whether or not the ODR bits are skipped.
Commit: f02f169cecf3aa243f73722f46a905f3012bf040
https://github.com/llvm/llvm-project/commit/f02f169cecf3aa243f73722f46a905f3012bf040
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/unittests/Serialization/BUILD.gn
Log Message:
-----------
[gn build] Port 49775b1dc0cd
Commit: 2dfa30d0ca6fb6991640a18e53401d82f567f8ff
https://github.com/llvm/llvm-project/commit/2dfa30d0ca6fb6991640a18e53401d82f567f8ff
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M llvm/CMakeLists.txt
M llvm/docs/GettingStarted.rst
M llvm/docs/GettingStartedVS.rst
M llvm/docs/ReleaseNotes.rst
M llvm/docs/TestingGuide.rst
Log Message:
-----------
Revert "[python] Bump Python minimum version to 3.8 (#78828)"
This reverts commit 0a6c74e21cc6750c843310ab35b47763cddaaf32.
This created a lot of post-commit failures due to buildbots running
older versions of Python.
Commit: 7661ade5d1ac4fc8e1e2339b2476cb8e45c24641
https://github.com/llvm/llvm-project/commit/7661ade5d1ac4fc8e1e2339b2476cb8e45c24641
Author: Tacet <advenam.tacet at trailofbits.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M libcxx/docs/ReleaseNotes/18.rst
Log Message:
-----------
[libc++] Add details about string annotations (#80912)
This commit adds information that only long strings are annotated, and
with all allocators by default.
To read why short string annotations are not turned on yet, read comments in a related
PR: https://github.com/llvm/llvm-project/pull/79536
---------
Co-authored-by: Mark de Wever <zar-rpg at xs4all.nl>
Commit: f6ac598c104ed3c9f4bcbbe830f86500c8d1013e
https://github.com/llvm/llvm-project/commit/f6ac598c104ed3c9f4bcbbe830f86500c8d1013e
Author: Rainer Orth <ro at gcc.gnu.org>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/utils/release/test-release.sh
Log Message:
-----------
[Release] Don't build during test-release.sh Phase 3 install (#82001)
As described in [test-release.sh ninja install does builds in Phase
3](https://github.com/llvm/llvm-project/issues/80999), considerable
parts of Phase 3 of a `test-release.sh` build are run by `ninja
install`, ignoring both `$Verbose` and the parallelism set via `-j NUM`.
This patches fixes this by not specifying any explicit build target for
Phase 3, thus running the full build as usual.
Tested on `sparc64-unknown-linux-gnu`.
Commit: 96e56573089b2a211c71660b0ffc7deb21049bdd
https://github.com/llvm/llvm-project/commit/96e56573089b2a211c71660b0ffc7deb21049bdd
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
A clang/test/Modules/pr81745.cppm
Log Message:
-----------
[NFC] [Modules] Add a test for issue 81745
Although the root cause of
https://github.com/llvm/llvm-project/issues/81745 shows not related to
modules, it should be good to add a regression test for that.
Commit: 5911334650a77b9f06009ab906ab778e6ccd90c8
https://github.com/llvm/llvm-project/commit/5911334650a77b9f06009ab906ab778e6ccd90c8
Author: martinboehme <mboehme at google.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M clang/lib/Analysis/FlowSensitive/Transfer.cpp
Log Message:
-----------
[clang][dataflow][NFC] Add a FIXME to handling of union initialization. (#82239)
We want to make it clear that the current behavior doesn't yet handle
unions
properly.
Commit: 45c226d4521515ff1a38292331d82356b273fff7
https://github.com/llvm/llvm-project/commit/45c226d4521515ff1a38292331d82356b273fff7
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
M mlir/include/mlir/IR/DialectBase.td
M mlir/include/mlir/TableGen/Dialect.h
M mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
M mlir/lib/Dialect/LLVMIR/IR/ROCDLDialect.cpp
M mlir/lib/TableGen/Dialect.cpp
M mlir/lib/Target/LLVMIR/Dialect/ROCDL/ROCDLToLLVMIRTranslation.cpp
M mlir/test/lib/Dialect/Test/TestDialect.td
M mlir/tools/mlir-tblgen/DialectGen.cpp
Log Message:
-----------
[MLIR] Add ODS support for generating helpers for dialect (discardable) attributes (#77024)
This is a new ODS feature that allows dialects to define a list of
key/value pair representing an attribute type and a name.
This will generate helper classes on the dialect to be able to
manage discardable attributes on operations in a type safe way.
For example the `test` dialect can define:
```
let discardableAttrs = (ins
"mlir::IntegerAttr":$discardable_attr_key,
);
```
And the following will be generated in the TestDialect class:
```
/// Helper to manage the discardable attribute `discardable_attr_key`.
class DiscardableAttrKeyAttrHelper {
::mlir::StringAttr name;
public:
static constexpr ::llvm::StringLiteral getNameStr() {
return "test.discardable_attr_key";
}
constexpr ::mlir::StringAttr getName() {
return name;
}
DiscardableAttrKeyAttrHelper(::mlir::MLIRContext *ctx)
: name(::mlir::StringAttr::get(ctx, getNameStr())) {}
mlir::IntegerAttr getAttr(::mlir::Operation *op) {
return op->getAttrOfType<mlir::IntegerAttr>(name);
}
void setAttr(::mlir::Operation *op, mlir::IntegerAttr val) {
op->setAttr(name, val);
}
bool isAttrPresent(::mlir::Operation *op) {
return op->hasAttrOfType<mlir::IntegerAttr>(name);
}
void removeAttr(::mlir::Operation *op) {
assert(op->hasAttrOfType<mlir::IntegerAttr>(name));
op->removeAttr(name);
}
};
DiscardableAttrKeyAttrHelper getDiscardableAttrKeyAttrHelper() {
return discardableAttrKeyAttrName;
}
```
User code having an instance of the TestDialect can then manipulate this
attribute on operation using:
```
auto helper = testDialect.getDiscardableAttrKeyAttrHelper();
helper.setAttr(op, value);
helper.isAttrPresent(op);
...
```
Commit: a45df47375e50914900dcc07abd2fa67bfa0dd3b
https://github.com/llvm/llvm-project/commit/a45df47375e50914900dcc07abd2fa67bfa0dd3b
Author: Tom Praschan <13141438+tom-anders at users.noreply.github.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M clang-tools-extra/clangd/ClangdLSPServer.cpp
M clang-tools-extra/clangd/ClangdLSPServer.h
M clang-tools-extra/clangd/ClangdServer.cpp
M clang-tools-extra/clangd/ClangdServer.h
M clang-tools-extra/clangd/Protocol.cpp
M clang-tools-extra/clangd/Protocol.h
M clang-tools-extra/clangd/test/initialize-params.test
M clang-tools-extra/clangd/unittests/ClangdLSPServerTests.cpp
M clang-tools-extra/clangd/unittests/LSPClient.cpp
M clang-tools-extra/clangd/unittests/LSPClient.h
Log Message:
-----------
[clangd] forward clang-tidy's readability-identifier-naming fix to textDocument/rename (#78454)
Co-authored-by: Nathan Ridge <zeratul976 at hotmail.com>
Commit: d2a26a7bd5fc7cc5752337b7f4f999642feb37dc
https://github.com/llvm/llvm-project/commit/d2a26a7bd5fc7cc5752337b7f4f999642feb37dc
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
M llvm/test/Transforms/InstCombine/vec_demanded_elts.ll
Log Message:
-----------
[InstCombine] Do not perform binop-of-shuffle when mask is poison
A miscompilation issue has been addressed with refined checking.
Shuffle masks operand may be turned into `poison` if this does
not lead to observable changes. This however may not guarantee
binop to binop-of-shuffle replacement to be sound anymore.
Fixes: https://github.com/llvm/llvm-project/issues/82052.
Commit: 914e60748729387f45919e42335723eb9d2df460
https://github.com/llvm/llvm-project/commit/914e60748729387f45919e42335723eb9d2df460
Author: Matthias Springer <me at m-sp.org>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/Transform/IR/TransformInterfaces.h
M mlir/include/mlir/IR/PatternMatch.h
M mlir/lib/Dialect/Bufferization/Transforms/Bufferize.cpp
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Transform/IR/TransformInterfaces.cpp
M mlir/lib/IR/PatternMatch.cpp
M mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp
M mlir/test/Transforms/test-strict-pattern-driver.mlir
M mlir/test/lib/Dialect/Test/TestPatterns.cpp
M mlir/test/lib/Transforms/TestConstantFold.cpp
Log Message:
-----------
[mlir][IR][NFC] Rename `notify*Removed` to `notify*Erased` (#82253)
Rename listener callback names:
* `notifyOperationRemoved` -> `notifyOperationErased`
* `notifyBlockRemoved` -> `notifyBlockErased`
The current callback names are misnomers. The callbacks are triggered
when an operation/block is erased, not when it is removed (unlinked).
E.g.:
```c++
/// Notify the listener that the specified operation is about to be erased.
/// At this point, the operation has zero uses.
///
/// Note: This notification is not triggered when unlinking an operation.
virtual void notifyOperationErased(Operation *op) {}
```
This change is in preparation of adding listener support to the dialect
conversion. The dialect conversion internally unlinks IR before erasing
it at a later point of time. There is an important difference between
"remove" and "erase". Lister callback names should be accurate to avoid
confusion.
Commit: 1b894864862d8049e4a2567a472efdc2eda1e035
https://github.com/llvm/llvm-project/commit/1b894864862d8049e4a2567a472efdc2eda1e035
Author: Frederic Cambus <fred at statdns.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/test/tools/llvm-objdump/openbsd-headers.test
M llvm/tools/llvm-objdump/ELFDump.cpp
Log Message:
-----------
[llvm-objdump] Add support for the PT_OPENBSD_SYSCALLS segment type. (#82121)
Reference: https://github.com/openbsd/src/blob/master/sys/sys/exec_elf.h
Commit: a8d7511811c7d7c689c3e8f858e8e00a56aba152
https://github.com/llvm/llvm-project/commit/a8d7511811c7d7c689c3e8f858e8e00a56aba152
Author: Frederic Cambus <fred at statdns.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/test/tools/llvm-readobj/ELF/program-headers.test
M llvm/tools/llvm-readobj/ELFDumper.cpp
Log Message:
-----------
[llvm-readobj] Add support for the PT_OPENBSD_SYSCALLS segment type. (#82122)
Reference: https://github.com/openbsd/src/blob/master/sys/sys/exec_elf.h
Commit: 1cbe26d302ca7d3573c1bf43114dfd7d2f0ca476
https://github.com/llvm/llvm-project/commit/1cbe26d302ca7d3573c1bf43114dfd7d2f0ca476
Author: Chen Zheng <czhengsz at cn.ibm.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M .github/new-prs-labeler.yml
Log Message:
-----------
[PowerPC] add PowerPC path for PR labeler (#82200)
Add paths for PowerPC to the PR labeler.
Commit: 119a72866f0e143127355fe6e03f57c4f8bab1ae
https://github.com/llvm/llvm-project/commit/119a72866f0e143127355fe6e03f57c4f8bab1ae
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M clang/lib/Format/Format.cpp
Log Message:
-----------
[clang-format][NFC] Remove redundant calls to guessIsObjC()
Running clang-format on the following input
```
int lambdas() {
return [&] {
return [&] {
return [&] {
return [&] {
return [&] {
return [&] {
return [&] { return 3; } ();
} (); } (); } (); } (); } (); } (); }
```
will finish instantly if you pass clang-format a .cpp input with this
content, but hang for tens of seconds if you pass the same via stdin
or a .h file.
Adding some debug statements showed that guessIsObjC was getting called
tens of millions of times in a manner that scales very rapidly with the
amount of nesting (if clang-format just takes a few seconds with that
input passed on stdin, try adding a couple more levels of nesting).
This change moves the recursive guessIsObjC call one level of nesting
out of an inner loop whose iterations don't affect the input to the
recursive call. This resolves the performance issue.
Authored-by: davidvc1 and Uran198
Differential Revision: https://reviews.llvm.org/D114837
Differential Revision: https://reviews.llvm.org/D47515
Commit: 63a4b4f610e729ee71758bdc29da10faf5b943b4
https://github.com/llvm/llvm-project/commit/63a4b4f610e729ee71758bdc29da10faf5b943b4
Author: Thorsten Schütt <schuett at gmail.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/combine-logic-of-compare.mir
Log Message:
-----------
[GlobalIsel] Combine logic of floating point compares (#81886)
It is purely based on symmetry. Registers can be scalars, vectors, and
non-constants.
X < 5.0 || X > 5.0
->
X != 5.0
X < Y && X > Y
->
FCMP_FALSE
X < Y && X < Y
->
FCMP_TRUE
see InstCombinerImpl::foldLogicOfFCmps
Commit: c7799fadfe069c982ad27509e9de6d8d4b7b9007
https://github.com/llvm/llvm-project/commit/c7799fadfe069c982ad27509e9de6d8d4b7b9007
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/dependent-ivs.ll
Log Message:
-----------
[InstCombine] Add more dependent IV tests (NFC)
Commit: 37c19f9a35c5adad009ad82c608b9ca11155ec06
https://github.com/llvm/llvm-project/commit/37c19f9a35c5adad009ad82c608b9ca11155ec06
Author: Alejandro Álvarez Ayllón <alejandro.alvarez at sonarsource.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp
M clang/test/Analysis/Inputs/expected-plists/unix-fns.c.plist
A clang/test/Analysis/unix-fns-o_creat.c
M clang/test/Analysis/unix-fns.c
Log Message:
-----------
[analyzer] UnixAPIMisuseChecker Get O_CREAT from preprocessor (#81855)
Now calling `open` with the `O_CREAT` flag and no mode parameter will
raise an issue in any system that defines `O_CREAT`.
The value for this flag is obtained after the full source code has been
parsed, leveraging `checkASTDecl`.
Hence, any `#define` or `#undefine` of `O_CREAT` following an `open` may
alter the results. Nevertheless, since redefining reserved identifiers
is UB, this is probably ok.
Commit: 9fa18f65983ba761c9fbf7be4c67801a14bf4b34
https://github.com/llvm/llvm-project/commit/9fa18f65983ba761c9fbf7be4c67801a14bf4b34
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.h
M clang/test/AST/Interp/c.c
M clang/test/AST/Interp/complex.cpp
Log Message:
-----------
[clang][Interp] Handle complex values in visitBool() (#79452)
In C++, we get a ComplexToBool cast, but we might not in C.
Commit: 283a6b9936657712f61c38459c87507e587e3625
https://github.com/llvm/llvm-project/commit/283a6b9936657712f61c38459c87507e587e3625
Author: Luke Lau <luke at igalia.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/utils/UpdateTestChecks/common.py
Log Message:
-----------
[UTC] Fix SyntaxWarning on Python 3.12 (#82327)
On Python 3.12 we now get a warning in common.py:
llvm/utils/UpdateTestChecks/common.py:488: SyntaxWarning: invalid escape
sequence '\s'
This fixes it by using a raw string literal, see
https://github.com/llvm/llvm-project/pull/78036 and
https://docs.python.org/3/library/re.html
Commit: 756ff969fa01f4666276b926fbc4d24840860d0b
https://github.com/llvm/llvm-project/commit/756ff969fa01f4666276b926fbc4d24840860d0b
Author: Jannik Silvanus <37809848+jasilvanus at users.noreply.github.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/lib/Analysis/Lint.cpp
A llvm/test/Analysis/Lint/abort-on-error.ll
Log Message:
-----------
[Lint] Add option --lint-abort-on-error (#81999)
This option makes the lint pass abort if errors were found.
This is intended to help lit testing where the lint pass is used and
lint errors should be detected.
Previously, this required checking for non-empty stderr.
Commit: 76e79b0bef6c547e74b0c5e5900e41b44eb2a2f8
https://github.com/llvm/llvm-project/commit/76e79b0bef6c547e74b0c5e5900e41b44eb2a2f8
Author: Thomas Preud'homme <thomas.preudhomme at arm.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M mlir/lib/Dialect/GPU/Transforms/ParallelLoopMapper.cpp
Log Message:
-----------
Fix duplicate mapping detection in gpu::setMappingAttr() (#77499)
Commit: 3be913289893bf695ef679647c0e1a71128ae812
https://github.com/llvm/llvm-project/commit/3be913289893bf695ef679647c0e1a71128ae812
Author: Balázs Kéri <balazs.keri at ericsson.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
Log Message:
-----------
[clang][analyzer] Simplify code of StreamChecker - part 2 (NFC). (#82228)
Continuation of commit 42b5037, apply changes to the remaining
functions.
Code for function `fflush` was not changed, because it is more special
compared to the others.
Commit: ec2c770b9f9a0e9eca4a893383d2b27dd4c0bfe7
https://github.com/llvm/llvm-project/commit/ec2c770b9f9a0e9eca4a893383d2b27dd4c0bfe7
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/getelementptr.ll
Log Message:
-----------
[InstCombine] Add unsigned variants of gep exact div tests (NFC)
Commit: 39fd3fcd4527d627ee7f526a651aa47c27a9ad0d
https://github.com/llvm/llvm-project/commit/39fd3fcd4527d627ee7f526a651aa47c27a9ad0d
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/Interp.h
M clang/test/AST/Interp/shifts.cpp
Log Message:
-----------
[clang][Interp] Don't fail on shifts greater than type bitwidth
We need to limit the shift width to the type bitwidth, then do the
shift and report success, but still diagnose what we limited the
shiftwidth.
Commit: 1b12974ccba6478b27d7ba13ceead2864ab4be20
https://github.com/llvm/llvm-project/commit/1b12974ccba6478b27d7ba13ceead2864ab4be20
Author: David Green <david.green at arm.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/combine-unmerge.mir
M llvm/test/CodeGen/AArch64/aarch64-bif-gen.ll
M llvm/test/CodeGen/AArch64/aarch64-bit-gen.ll
M llvm/test/CodeGen/AArch64/abs.ll
M llvm/test/CodeGen/AArch64/arm64-neon-copy.ll
M llvm/test/CodeGen/AArch64/arm64-vcvt_f.ll
M llvm/test/CodeGen/AArch64/bswap.ll
M llvm/test/CodeGen/AArch64/fpext.ll
M llvm/test/CodeGen/AArch64/fptoi.ll
M llvm/test/CodeGen/AArch64/llvm.exp10.ll
M llvm/test/CodeGen/AArch64/reduce-and.ll
M llvm/test/CodeGen/AArch64/reduce-or.ll
M llvm/test/CodeGen/AArch64/reduce-xor.ll
M llvm/test/CodeGen/AArch64/shift.ll
M llvm/test/CodeGen/AArch64/vecreduce-fmax-legalization-nan.ll
M llvm/test/CodeGen/AArch64/vecreduce-fmax-legalization.ll
M llvm/test/CodeGen/AArch64/vecreduce-fmaximum.ll
M llvm/test/CodeGen/AArch64/vecreduce-fmin-legalization.ll
M llvm/test/CodeGen/AArch64/vecreduce-fminimum.ll
M llvm/test/CodeGen/AArch64/vecreduce-umax-legalization.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-add-mul-post-legalize.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-add-mul-pre-legalize.mir
Log Message:
-----------
[AArch64][AMDGPU][GlobalISel] Remove vector handling from unmerge_dead_to_trunc (#82224)
This combine transforms an unmerge where only the first element is used
into a truncate. That works OK for scalar but for vector needs to insert
a bitcast to integers, perform the truncate then bitcast back to
vectors. This generates more awkward code than using an Unmerge.
Commit: b3e4686af37c7879790f48f244afcb2da21d3af8
https://github.com/llvm/llvm-project/commit/b3e4686af37c7879790f48f244afcb2da21d3af8
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/InterpBuiltin.cpp
M clang/test/AST/Interp/builtin-functions.cpp
Log Message:
-----------
[clang][Interp] Implement __builtin_{ctz,clz,bswap}
Commit: 9bec1ef5f97b1f3cf2b994dced73268ebb312972
https://github.com/llvm/llvm-project/commit/9bec1ef5f97b1f3cf2b994dced73268ebb312972
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/test/AST/Interp/c.c
Log Message:
-----------
[clang][Interp] assignments aren't always lvalues in C
If they aren't we need to load from the pointer the Store op
leaves on the stack.
Commit: 90c46be61d8f45f1f307a06912fadc5fb0c1673c
https://github.com/llvm/llvm-project/commit/90c46be61d8f45f1f307a06912fadc5fb0c1673c
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
A llvm/test/Transforms/IndVarSimplify/hoist-wide-inc-for-narrow-use-recompute-flags.ll
Log Message:
-----------
[IndVars] Add test for #82243.
Test for https://github.com/llvm/llvm-project/issues/82243.
Commit: f122268c04410ba949b6affc99cd329630add576
https://github.com/llvm/llvm-project/commit/f122268c04410ba949b6affc99cd329630add576
Author: Ivan Kosarev <ivan.kosarev at amd.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUInstructions.td
A llvm/lib/Target/AMDGPU/AMDGPUPredicateControl.td
M llvm/lib/Target/AMDGPU/R600.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
Log Message:
-----------
[AMDGPU][NFC] Extend PredicateControl to support True16 predicates. (#82245)
Using OtherPredicates for True16 predicates is often problematic due to
interference with other kinds of predicates, particularly when this
overrides predicates inherited from pseudo instructions.
Commit: 26d4afc3de86ca5416c8e38000362c526b6808cd
https://github.com/llvm/llvm-project/commit/26d4afc3de86ca5416c8e38000362c526b6808cd
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Transforms/InstCombine/getelementptr.ll
Log Message:
-----------
[InstCombine] Fold gep of exact unsigned division (#82334)
Extend the transform added in
https://github.com/llvm/llvm-project/pull/76458 to also handle unsigned
division. X exact/ Y * Y == X holds independently of whether the
division is signed or unsigned.
Proofs: https://alive2.llvm.org/ce/z/wFd5Ec
Commit: a4d46157718573157d01a842d225267a5b2a7ef1
https://github.com/llvm/llvm-project/commit/a4d46157718573157d01a842d225267a5b2a7ef1
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AMDGPU/SOPInstructions.td
Log Message:
-----------
[AMDGPU] Try decoding instructions longest first. NFCI. (#82014)
AMDGPUDisassembler::getInstruction tries decoding instructions using
different DecoderTables in a confusing order: first 96-bit instructions,
then some 64-bit, then 32-bit, then some more 64-bit.
This patch changes it to always try longer encodings first. The
motivation is to make getInstruction easier to understand, and to pave
the way for combining some 64-bit tables that do not need to be
separate.
Commit: 49a8fc0da4d0ddc9319e7e68eb359d68403ce384
https://github.com/llvm/llvm-project/commit/49a8fc0da4d0ddc9319e7e68eb359d68403ce384
Author: Krasimir Georgiev <krasimir at google.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/lib/Target/Hexagon/CMakeLists.txt
M llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp
M llvm/lib/Target/Hexagon/HexagonInstrInfo.h
R llvm/lib/Target/Hexagon/HexagonPostIncOpt.cpp
M llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonBaseInfo.h
R llvm/test/CodeGen/Hexagon/post-inc-vec.mir
R llvm/test/CodeGen/Hexagon/post_inc_store.mir
R llvm/test/CodeGen/Hexagon/postincopt-crash.mir
R llvm/test/CodeGen/Hexagon/postincopt-dcfetch.mir
R llvm/test/CodeGen/Hexagon/valid-offset-loadbsw4.mir
Log Message:
-----------
Revert "[Hexagon] Optimize post-increment load and stores in loops. (#82011)"
This reverts commit 0e6a48c3e8cc53f9eb5945ec04f8e03f6d2bae37.
Temporary revert as it causes bad codegen: https://github.com/llvm/llvm-project/pull/82011#issuecomment-1951426107
Commit: 8bc0cbd6c73c3230102048798446fc751f0702d1
https://github.com/llvm/llvm-project/commit/8bc0cbd6c73c3230102048798446fc751f0702d1
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/Hexagon/BUILD.gn
Log Message:
-----------
[gn build] Port 49a8fc0da4d0
Commit: f1efc64b86d6fa60182c4d4a9ad7c8a051c21dbc
https://github.com/llvm/llvm-project/commit/f1efc64b86d6fa60182c4d4a9ad7c8a051c21dbc
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/clang_f_opts.c
Log Message:
-----------
[Driver] Remove dead -freroll-loops flag (#82254)
Remove the `-freroll-loops` flag, which has not had any effect since the
migration to the new pass manager. The underlying pass has been removed
entirely in #80972 due to lack of maintenance and known bugs.
Fixes https://github.com/llvm/llvm-project/issues/59065.
Commit: d5922cf72cc18a7ac9f7afd1941ee2f7773d8469
https://github.com/llvm/llvm-project/commit/d5922cf72cc18a7ac9f7afd1941ee2f7773d8469
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/TokenKinds.def
M clang/include/clang/Sema/Sema.h
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/test/CXX/drs/dr13xx.cpp
M clang/test/CXX/drs/dr17xx.cpp
M clang/test/SemaCXX/type-traits.cpp
Log Message:
-----------
[clang] Implement `__is_layout_compatible` (#81506)
This patch implements `__is_layout_compatible` intrinsic, which supports
`std::is_layout_compatible` type trait introduced in C++20
([P0466R5](https://wg21.link/p0466r5) "Layout-compatibility and
Pointer-interconvertibility Traits"). Name matches GCC and MSVC
intrinsic.
Basically, this patch exposes our existing machinery for checking for
layout compatibility and figuring out common initial sequences. Said
machinery is a bit outdated, as it doesn't implement
[CWG1719](https://cplusplus.github.io/CWG/issues/1719.html) "Layout
compatibility and cv-qualification revisited" and
[CWG2759](https://cplusplus.github.io/CWG/issues/2759.html)
"`[[no_unique_address]` and common initial sequence". Those defect
reports are considered out of scope of of this PR, but will be
implemented in subsequent PRs.
Partially addresses #48204
Commit: ddba6b271c07b4bb640b2f2b742710557a762142
https://github.com/llvm/llvm-project/commit/ddba6b271c07b4bb640b2f2b742710557a762142
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/lib/Target/AMDGPU/VOP2Instructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
Log Message:
-----------
[AMDGPU] Stop using SDWA DecoderNamespaces. NFCI. (#82233)
64-bit SDWA encodings have to be checked first because their first 32
bits are a special case of the corresponding 32-bit non-SDWA encoding of
the same instruction. But all 64-bit encodings are checked first, so we
don't need special handling for SDWA.
Commit: dfb70c3a7c65cd5143c942ad8a18f4177c16d74e
https://github.com/llvm/llvm-project/commit/dfb70c3a7c65cd5143c942ad8a18f4177c16d74e
Author: Marius Brehler <marius.brehler at iml.fraunhofer.de>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M mlir/docs/Dialects/emitc.md
M mlir/lib/Target/Cpp/TranslateToCpp.cpp
Log Message:
-----------
[mlir][EmitC] Remove `func.constant` from emitter (#82342)
As part of the renaming the Standard dialect to Func dialect, *support*
for the `func.constant` operation was added to the emitter. However, the
emitter cannot emit function types. Hence the emission for a snippet
like
```
%0 = func.constant @myfn : (f32) -> f32
func.func private @myfn(%arg0: f32) -> f32 {
return %arg0 : f32
}
```
failes with `func.mlir:1:6: error: cannot emit type '(f32) -> f32'`.
This removes `func.constant` from the emitter.
Commit: 9563746d358c68c0c4a6242fa20bc21fdf632dfe
https://github.com/llvm/llvm-project/commit/9563746d358c68c0c4a6242fa20bc21fdf632dfe
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/Descriptor.h
M clang/lib/AST/Interp/Interp.cpp
M clang/test/AST/Interp/cxx17.cpp
M clang/test/AST/Interp/records.cpp
Log Message:
-----------
[clang][Interp] Diagnose uninitialized global variables explicitly
There used to be some diagnostic differences between the new
interpreter and the old one.
Commit: 2ad43fa467b0b1755535c21b0795f0444d1327fd
https://github.com/llvm/llvm-project/commit/2ad43fa467b0b1755535c21b0795f0444d1327fd
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M clang/test/CodeGenOpenCL/builtins-amdgcn-dl-insts-gfx11.cl
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fdot2.f32.bf16.ll
M llvm/test/MC/AMDGPU/bf16_imm.s
M llvm/test/MC/Disassembler/AMDGPU/bf16_imm.txt
Log Message:
-----------
[AMDGPU] Fix operand types for `V_DOT2_F32_BF16` (#82044)
Commit: fcd6549e5801de938935b93fd2d13020b42eebdb
https://github.com/llvm/llvm-project/commit/fcd6549e5801de938935b93fd2d13020b42eebdb
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
A llvm/test/Transforms/LoopIdiom/pr82337.ll
Log Message:
-----------
[LIR] Add test for #82337 (NFC)
Commit: 4db93e5d56440be44d8ad2036e2579208c82ad37
https://github.com/llvm/llvm-project/commit/4db93e5d56440be44d8ad2036e2579208c82ad37
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/include/llvm/Transforms/Utils/ScalarEvolutionExpander.h
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
M llvm/lib/Transforms/Utils/SimplifyIndVar.cpp
M llvm/test/Transforms/IndVarSimplify/hoist-wide-inc-for-narrow-use-recompute-flags.ll
Log Message:
-----------
[IndVars] Recompute flags if needed in widenIVUse of IV increment. (#82352)
widenIVUse may hoist a wide induction increment and introduce new uses,
but does not recompute the wrap flags. In some cases this can make the
new uses of the wide IV inc more poisonous.
Update the code to recompute flags if needed when hoisting an IV. If
both the narrow and wide IV increment's flags match and we can re-use
the flags from the increments, there's no need to recompute the flags,
as the replacement won't make the new uses of the wide IV's increment
more poisonous.
Note that this also updates a stale comment which claimed that the widen
increment is only used if it dominates the new use.
The helper should also be used to guard the code added in da437330be,
which I am planning on doing separately once the helper lands.
Fixes https://github.com/llvm/llvm-project/issues/82243.
Commit: 052ee74dae3b43e5f8a4a5df9d41386ef7592c18
https://github.com/llvm/llvm-project/commit/052ee74dae3b43e5f8a4a5df9d41386ef7592c18
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/test/Preprocessor/init.c
Log Message:
-----------
[C23] Add __TYPE_FMTB__ and __TYPE_FMTb__ predefined macros (#82361)
This adds predefined formatting macros in C23 mode for printing unsigned
integers in binary format (e.g, UINT_FAST64_FMTB). These are used to
implement the PRIb (et al) macros in inttypes.h
Fixes https://github.com/llvm/llvm-project/issues/81896
(Was previously reviewed in
[82037](https://github.com/llvm/llvm-project/pull/82037), this is fixing
some failures found post-commit.)
Commit: a1a68603145a39e6abdd35bf7a01535eb53826b1
https://github.com/llvm/llvm-project/commit/a1a68603145a39e6abdd35bf7a01535eb53826b1
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/Vector/TransformOps/VectorTransformOps.td
M mlir/include/mlir/Dialect/Vector/Transforms/LoweringPatterns.h
M mlir/include/mlir/Dialect/Vector/Utils/VectorUtils.h
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVMPass.cpp
M mlir/lib/Dialect/Vector/TransformOps/VectorTransformOps.cpp
M mlir/lib/Dialect/Vector/Transforms/CMakeLists.txt
A mlir/lib/Dialect/Vector/Transforms/LowerVectorInterleave.cpp
M mlir/lib/Dialect/Vector/Utils/VectorUtils.cpp
M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
A mlir/test/Dialect/Vector/vector-interleave-lowering-transforms.mlir
Log Message:
-----------
[mlir][VectorOps] Add unrolling for n-D vector.interleave ops (#80967)
This unrolls n-D vector.interleave ops like:
```mlir
vector.interleave %i, %j : vector<6x3xf32>
```
To a sequence of 1-D operations:
```mlir
%i_0 = vector.extract %i[0]
%j_0 = vector.extract %j[0]
%res_0 = vector.interleave %i_0, %j_0 : vector<3xf32>
vector.insert %res_0, %result[0] :
// ... repeated x6
```
The 1-D operations can then be directly lowered to LLVM.
Depends on: #80966
Commit: 26db845536aa4ada6231873a01252c75637fcbae
https://github.com/llvm/llvm-project/commit/26db845536aa4ada6231873a01252c75637fcbae
Author: stephenpeckham <118857872+stephenpeckham at users.noreply.github.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/include/llvm/Object/XCOFFObjectFile.h
M llvm/include/llvm/ObjectYAML/XCOFFYAML.h
M llvm/lib/Object/XCOFFObjectFile.cpp
M llvm/lib/ObjectYAML/XCOFFEmitter.cpp
M llvm/lib/ObjectYAML/XCOFFYAML.cpp
M llvm/test/CodeGen/PowerPC/aix-dwarf.ll
M llvm/test/tools/llvm-readobj/XCOFF/sections.test
A llvm/test/tools/yaml2obj/XCOFF/dwarf-subsection-types.yaml
M llvm/tools/llvm-readobj/XCOFFDumper.cpp
M llvm/tools/obj2yaml/xcoff2yaml.cpp
Log Message:
-----------
[XCOFF] Support the subtype flag in DWARF section headers (#81667)
The section headers for XCOFF files have a subtype flag for Dwarf
sections. This PR updates obj2yaml, yaml2obj, and llvm-readobj so that
they recognize the subtype.
Commit: 493f10106f7f1799eb67be95058b251e6a3bf0af
https://github.com/llvm/llvm-project/commit/493f10106f7f1799eb67be95058b251e6a3bf0af
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
R llvm/test/CodeGen/AArch64/reverse-csr-restore-seq.mir
Log Message:
-----------
[AArch64] Remove unused ReverseCSRRestoreSeq option. (#82326)
This patch removes the `-reverse-csr-restore-seq` option from
AArch64FrameLowering, since this is no longer used.
Commit: 9eb399b8548b835547947884b75c5fa79f977394
https://github.com/llvm/llvm-project/commit/9eb399b8548b835547947884b75c5fa79f977394
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/test/Transforms/InstCombine/cast.ll
Log Message:
-----------
[InstCombine] Support zext nneg in `foldLogicCastConstant` (#82355)
This patch extends [D36234](https://reviews.llvm.org/D36234) to handle
`zext nneg` instructions.
I found this while adding support for cast instructions in
`getFreelyInvertedImpl`.
Commit: 8ca351d394290f934c2a50293712d4eddf6a97e9
https://github.com/llvm/llvm-project/commit/8ca351d394290f934c2a50293712d4eddf6a97e9
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/test/Transforms/ConstraintElimination/minmax.ll
A llvm/test/Transforms/ConstraintElimination/sext.ll
Log Message:
-----------
[ConstraintElim] Add pre-commit tests for PR82271. NFC. (#82357)
This patch adds some tests for
https://github.com/llvm/llvm-project/pull/82344.
Commit: d7a73c91b623baf5c966d9b18f6837ee808ddc89
https://github.com/llvm/llvm-project/commit/d7a73c91b623baf5c966d9b18f6837ee808ddc89
Author: cmtice <cmtice at google.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/include/llvm/ADT/GenericUniformityImpl.h
M llvm/include/llvm/ADT/STLExtras.h
M llvm/unittests/ADT/STLExtrasTest.cpp
Log Message:
-----------
[LLVM][ADT] Put both vesions of 'unique' into STLExtras.h (#82312)
Currently there are two versions of llvm::unique, one that requires a
predicate, and is in STLExtras.h; and one that does not require a
predicate, and is in GenericUniformityImpl.h. This moves the one from
GenericUniformityImp.h to STlExtras.h, so they are both together, and
can both be easily called from other places inside LLVM.
Commit: 135529aab0ebe4915143f376d94f8aba6ec71e4e
https://github.com/llvm/llvm-project/commit/135529aab0ebe4915143f376d94f8aba6ec71e4e
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M flang/lib/Lower/OpenACC.cpp
M flang/test/Lower/OpenACC/acc-private.f90
Log Message:
-----------
[flang][openacc] Use the same iv privatized value in the loop region (#81821)
IV variable are privatized during acc loop lowering. An hlfir.declare
operation is added when mapping the symbol to the new private value. In
order to avoid using multiple value in the acc.loop region, we map the
symbol to the result of the hlfir.declare operation inserted.
Commit: 539febfe30fd895996cf2579d3f0cdd2a708ee61
https://github.com/llvm/llvm-project/commit/539febfe30fd895996cf2579d3f0cdd2a708ee61
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] combineEXTRACT_SUBVECTOR - share the same SDLoc argument instead of recreating it over and over again.
Commit: 2f1e33df3239714d54665787bd7decdcf35fd60c
https://github.com/llvm/llvm-project/commit/2f1e33df3239714d54665787bd7decdcf35fd60c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-reduce-add-mask.ll
Log Message:
-----------
[X86] Fold add(psadbw(X,0),psadbw(Y,0)) -> psadbw(add(X,Y),0)
If the vXi8 add(X,Y) is guaranteed not to overflow then we can push the addition though the psadbw nodes (being used for reduction) and only need a single psadbw node.
Noticed while working on CTPOP reduction codegen
Commit: 8f7ae64ea108de54d9aad963c55e1aef7dc62b86
https://github.com/llvm/llvm-project/commit/8f7ae64ea108de54d9aad963c55e1aef7dc62b86
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M libc/src/__support/CPP/atomic.h
Log Message:
-----------
[libc][cpp] add `atomic_signal_fence` (#82138)
Add `atomic_signal_fence`. This will be useful in
https://gustedt.gitlabpages.inria.fr/c23-library/#memset_explicit.
Commit: ababa964752d5bfa6eb608c97f19d4e68df1d243
https://github.com/llvm/llvm-project/commit/ababa964752d5bfa6eb608c97f19d4e68df1d243
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/include/llvm/IR/BasicBlock.h
M llvm/include/llvm/IR/DebugInfo.h
M llvm/include/llvm/IR/DebugProgramInstruction.h
M llvm/include/llvm/IR/Instruction.h
M llvm/include/llvm/Transforms/Utils/ValueMapper.h
M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/IR/DebugInfo.cpp
M llvm/lib/IR/DebugProgramInstruction.cpp
M llvm/lib/IR/Instruction.cpp
M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
M llvm/lib/Transforms/IPO/MergeFunctions.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Scalar/ADCE.cpp
M llvm/lib/Transforms/Scalar/JumpThreading.cpp
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
M llvm/lib/Transforms/Scalar/SpeculativeExecution.cpp
M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
M llvm/lib/Transforms/Utils/CodeExtractor.cpp
M llvm/lib/Transforms/Utils/InlineFunction.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/LoopRotationUtils.cpp
M llvm/lib/Transforms/Utils/LoopUtils.cpp
M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/lib/Transforms/Utils/ValueMapper.cpp
M llvm/tools/llvm-reduce/DeltaManager.cpp
M llvm/tools/llvm-reduce/deltas/ReduceDPValues.cpp
M llvm/tools/llvm-reduce/deltas/ReduceDPValues.h
M llvm/unittests/IR/BasicBlockDbgInfoTest.cpp
M llvm/unittests/IR/DebugInfoTest.cpp
M llvm/unittests/IR/ValueTest.cpp
Log Message:
-----------
[RemoveDIs][NFC] Introduce DbgRecord base class [1/3] (#78252)
Patch 1 of 3 to add llvm.dbg.label support to the RemoveDIs project. The
patch stack adds a new base class
-> 1. Add DbgRecord base class for DPValue and the not-yet-added
DPLabel class.
2. Add the DPLabel class.
3. Enable dbg.label conversion and add support to passes.
Patches 1 and 2 are NFC.
In the near future we also will rename DPValue to DbgVariableRecord and
DPLabel to DbgLabelRecord, at which point we'll overhaul the function
names too. The name DPLabel keeps things consistent for now.
Commit: 3e76e6083da3717fafbb2345eb8a5d1bdac3013e
https://github.com/llvm/llvm-project/commit/3e76e6083da3717fafbb2345eb8a5d1bdac3013e
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/lib/IR/Function.cpp
M llvm/lib/Transforms/IPO/IROutliner.cpp
Log Message:
-----------
[DebugInfo][RemoveDIs] Set new-dbg-info flag from Modules correctly (#82373)
It turns out there's a pathway for Functions to be inserted into modules
without having the "New" debug-info flag set correctly, which this patch
fixes. Sadly there isn't a Module::insert method to instrument out
there, everyone touches the list directly.
This fix exposes a path where such functions are produced in the
outliner in the wrong mode; requiring a fix there to correctly drop
RemoveDIs-mode debug-info. This is covered by
test/DebugInfo/AArch64/ir-outliner.ll
Commit: 96c5b8cbd19b172b257cb3401aeba666184f7a2a
https://github.com/llvm/llvm-project/commit/96c5b8cbd19b172b257cb3401aeba666184f7a2a
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M libc/config/linux/aarch64/headers.txt
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-macros/CMakeLists.txt
A libc/include/llvm-libc-macros/stdckdint-macros.h
A libc/include/stdckdint.h.def
M libc/spec/stdc.td
A libc/src/stdckdint/CMakeLists.txt
M libc/test/include/CMakeLists.txt
A libc/test/include/stdckdint_test.cpp
Log Message:
-----------
[libc][c23] add definitions for stdckdint.h (#82059)
See docs at
- https://gustedt.gitlabpages.inria.fr/c23-library/#stdckdint
- https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3047.pdf (Ch7.10)
Compiler header:
-
https://github.com/llvm/llvm-project/blob/450462cbaceddf57812ce15b5135b17f65a77654/clang/lib/Headers/stdckdint.h
- New version of GCC
(https://github.com/gcc-mirror/gcc/blob/cd503b0616462445381a8232fb753239d319af76/gcc/ginclude/stdckdint.h)
also provides this.
Commit: a73e9244621a6186859644012c295740465ad844
https://github.com/llvm/llvm-project/commit/a73e9244621a6186859644012c295740465ad844
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M libc/src/__support/CPP/atomic.h
Log Message:
-----------
[libc] use LIBC_HAS_BUILTIN instead __has_builtin (#82377)
fix the issue that `__has_builtin` is undefined on some non-clang
targets.
Commit: aa7076fc9b7d4b92fc71637bfdb7cb268bcd53bc
https://github.com/llvm/llvm-project/commit/aa7076fc9b7d4b92fc71637bfdb7cb268bcd53bc
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/test/Analysis/ValueTracking/constant-ranges.ll
Log Message:
-----------
[ValueTracking] Add tests for constant range of `{s|u}rem C, x`; NFC
Commit: 9facaaddadd63a1668c212c8a9ef94a5ad4c6629
https://github.com/llvm/llvm-project/commit/9facaaddadd63a1668c212c8a9ef94a5ad4c6629
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Analysis/ValueTracking/constant-ranges.ll
Log Message:
-----------
[ValueTracking] Improve tracking for constant range of `{s|u}rem C, x`
Current we only support `C` as the remainder, but we can also limit
with a constant numerator.
Proofs: https://alive2.llvm.org/ce/z/QB95gU
Closes #82303
Commit: 9923d29cfa917a0c25f3237e0cae9567c8806071
https://github.com/llvm/llvm-project/commit/9923d29cfa917a0c25f3237e0cae9567c8806071
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.cpp
M llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.h
M llvm/lib/Transforms/Vectorize/VPlanValue.h
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
M llvm/lib/Transforms/Vectorize/VPlanVerifier.h
M llvm/test/Transforms/LoopVectorize/vplan_hcfg_stress_test.ll
M llvm/unittests/Transforms/Vectorize/VPlanVerifierTest.cpp
Log Message:
-----------
[VPlan] Merge main VPlan verifer with HCFG verifier.
Unify VPlan verifiers in verifyVPlanIsValid. This adds verification for
various properties on blocks to the verifier used for VPlans generated
by the inner loop vectorizer. It also adds def-use checks for the
verifier used in the VPlan native path.
This drops the separate flag to enable HCFG verification. Instead, all
VPlans are verified once they have been created, if assertions are
enabled.
This also removes VPWidenPHIRecipe from VPHeaderPHIRecipe; it is used to
model any phi node in the native path.
Commit: 3b7ba2482e2c1b9b240664a247db55d253a3e1f5
https://github.com/llvm/llvm-project/commit/3b7ba2482e2c1b9b240664a247db55d253a3e1f5
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaDecl.cpp
M clang/test/Sema/enum.c
Log Message:
-----------
[C23] No longer assert on huge enumerator values (#81760)
C23 added the wb and uwb suffixes to generate a bit-precise integer
value. These values can be larger than what is representable in intmax_t
or uintmax_t.
We were asserting that an enumerator constant could not have a value
larger than unsigned long long but that's now a possibility. This patch
turns the assertion into a "value too large" diagnostic.
Note, we do not yet implement WG14 N3029 and so the behavior of this
patch will cause the enumerator to be cast to unsigned long long, but
this behavior may change in the future. GCC selects __uint128_t as the
underlying type for such an enumeration and we may want to match that
behavior in the future. This patch has several FIXME comments related to
this and the release notes call out the possibility of a change in
behavior in the future.
Fixes https://github.com/llvm/llvm-project/issues/69352
Commit: 94100bc2fb1a39dbeb43d18a95176097c53f1324
https://github.com/llvm/llvm-project/commit/94100bc2fb1a39dbeb43d18a95176097c53f1324
Author: Xing Xue <xingxue at outlook.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
A openmp/runtime/src/z_AIX_asm.S
Log Message:
-----------
[OpenMP][AIX]Add assembly file containing microtasking routines and unnamed common block definitions (#81770)
This patch adds assembly file `z_AIX_asm.S` that contains the 32- and
64-bit XCOFF version of microtasking routines and unnamed common block
definitions. This code has been run through the libomp LIT tests and a
user package successfully.
Commit: 066773c4117512a76e127741631630fef57caf14
https://github.com/llvm/llvm-project/commit/066773c4117512a76e127741631630fef57caf14
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-reduce-ctpop.ll
Log Message:
-----------
[X86] computeKnownBitsForTargetNode - add generic handling of PSHUFB
When PSHUFB is used as a LUT (for CTPOP, BITREVERSE etc.), its the source operand that is constant and the index operand the variable. As long as the indices don't set the MSB (which zeros the output element), then the common known bits from the source operand can be used directly, even though the shuffle mask isn't constant.
Further helps to improve CTPOP reduction codegen
Commit: ef28379022121ce32cf93d7c3a7571a73ab5f801
https://github.com/llvm/llvm-project/commit/ef28379022121ce32cf93d7c3a7571a73ab5f801
Author: Fangrui Song <i at maskray.me>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/lib/ObjCopy/ELF/ELFObject.cpp
A llvm/test/tools/llvm-objcopy/ELF/non-load-at-load-start.test
Log Message:
-----------
[llvm-objcopy] Fix file offsets when PT_INTERP/PT_LOAD offsets are equal (#80562)
(#79887) When the offset of a PT_INTERP segment equals the offset of a
PT_LOAD segment, we consider that the parent of the PT_LOAD segment is
the PT_INTERP segment. In `layoutSegments`, we place both segments to be
after the current `Offset`, ignoring the PT_LOAD alignment.
This scenario is possible with fixed section addresses, but doesn't
happen with default linker layouts (.interp precedes other sections and
is part of a PT_LOAD segment containing the ELF header and program
headers).
```
% cat a.s
.globl _start; _start: ret
.rodata; .byte 0
.tdata; .balign 4096; .byte 0
% clang -fuse-ld=lld a.s -o a -nostdlib -no-pie -z separate-loadable-segments -Wl,-Ttext=0x201000,--section-start=.interp=0x202000,--section-start=.rodata=0x202020,-z,nognustack
% llvm-objcopy a a2
% llvm-readelf -l a2 # incorrect offset(PT_LOAD)
Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align
PHDR 0x000040 0x0000000000200040 0x0000000000200040 0x0001c0 0x0001c0 R 0x8
INTERP 0x001001 0x0000000000202000 0x0000000000202000 0x00001c 0x00001c R 0x1
[Requesting program interpreter: /lib64/ld-linux-x86-64.so.2]
LOAD 0x000000 0x0000000000200000 0x0000000000200000 0x000200 0x000200 R 0x1000
LOAD 0x001000 0x0000000000201000 0x0000000000201000 0x000001 0x000001 R E 0x1000
//// incorrect offset
LOAD 0x001001 0x0000000000202000 0x0000000000202000 0x000021 0x000021 R 0x1000
LOAD 0x002000 0x0000000000203000 0x0000000000203000 0x000001 0x001000 RW 0x1000
TLS 0x002000 0x0000000000203000 0x0000000000203000 0x000001 0x000001 R 0x1000
GNU_RELRO 0x002000 0x0000000000203000 0x0000000000203000 0x000001 0x001000 R 0x1000
```
The same issue occurs for PT_TLS/PT_GNU_RELRO if we PT_TLS's alignment
is smaller and we place the PT_LOAD after PT_TLS/PT_GNU_RELRO segments
(not linker default, but possible with a `PHDRS` linker script command).
Fix #79887: when two segments have the same offset, order the one with a
larger alignment first. In the previous case, the PT_LOAD segment will
go before the PT_INTERP segment. In case of equal alignments, it doesn't
matter which segment is treated as the parent segment.
Commit: 4a23ab439cfba3e9b4c7987e6d1c919c97b4e803
https://github.com/llvm/llvm-project/commit/4a23ab439cfba3e9b4c7987e6d1c919c97b4e803
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/lib/IR/DebugProgramInstruction.cpp
Log Message:
-----------
Fix Wcovered-switch-default Werror after #78252
bot failure: https://lab.llvm.org/buildbot/#/builders/19/builds/24831
Commit: ae8facc1f8e8a2d04b5a3519fc1901db110fe452
https://github.com/llvm/llvm-project/commit/ae8facc1f8e8a2d04b5a3519fc1901db110fe452
Author: John Harrison <harjohn at google.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py
M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch.py
M lldb/tools/lldb-dap/lldb-dap.cpp
Log Message:
-----------
[lldb-dap] Do not write over the existing error if launchCommands fail during debugger launch. (#82051)
This fixes an issue where the error is lost if a command while executing
`launchCommands` when launching the debugger.
This should fix #82048
Commit: 4c6043de0b837d23699424d875057d00956d80ac
https://github.com/llvm/llvm-project/commit/4c6043de0b837d23699424d875057d00956d80ac
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
A clang/include/clang/InstallAPI/FileList.h
A clang/include/clang/InstallAPI/HeaderFile.h
M clang/lib/ExtractAPI/CMakeLists.txt
M clang/lib/ExtractAPI/ExtractAPIConsumer.cpp
M clang/lib/InstallAPI/CMakeLists.txt
A clang/lib/InstallAPI/FileList.cpp
A clang/lib/InstallAPI/HeaderFile.cpp
M clang/unittests/CMakeLists.txt
A clang/unittests/InstallAPI/CMakeLists.txt
A clang/unittests/InstallAPI/FileListTest.cpp
A clang/unittests/InstallAPI/HeaderFileTest.cpp
Log Message:
-----------
[clang][InstallAPI] Add input file support to library (#81701)
This patch adds support for expected InstallAPI inputs. InstallAPI
accepts a well defined filelist of headers and how those headers
represent a single library.
InstallAPI captures header files to determine linkable symbols to then
compare against what was compiled in a binary dylib and generate TBD
files.
Commit: d2942a86d7b8fc4cba4f73294efb53a3e47dc751
https://github.com/llvm/llvm-project/commit/d2942a86d7b8fc4cba4f73294efb53a3e47dc751
Author: Shoaib Meenai <smeenai at fb.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/lib/Transforms/IPO/MergeFunctions.cpp
A llvm/test/Transforms/MergeFunc/debuginfo-iterators.ll
Log Message:
-----------
[MergeFunctions] Fix thunks for non-instruction debug info (#82080)
When MergeFunctions creates new thunk functions, it needs to copy over
the debug info format kind from the original function, otherwise we'll
mix debug info formats and run into assertions. This was exposed by a
downstream change that runs MergeFunctions before inlining, which caused
assertions when inlining attempted to inline thunks created by merging,
and the added test covers both scenarios where merging creates thunks.
Commit: 7f3980a7b2c9f95ab3b106a94fe6e63158155b0b
https://github.com/llvm/llvm-project/commit/7f3980a7b2c9f95ab3b106a94fe6e63158155b0b
Author: James Robinson <jamesr at users.noreply.github.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M compiler-rt/lib/fuzzer/FuzzerUtilFuchsia.cpp
Log Message:
-----------
[Fuzzer] Use user signal to coordinate handler shutdown (#82067)
This updates the signal handle thread coordinating to use a user signal
bit on the SignalHandlerEvent to coordinate shutdown instead of closing
the event handle. Closing the event handle is racy as the handle may be
closed before the signal handler thread resolves the handle value in
_zx_object_wait_many() and we would like to make this an explicit error.
Using the user signal bit 1 instead and then closing the event object
after the signal handler thread is joined cannot race as the wait will
terminate whether the signal is raised before or after the wait begins.
Commit: d2173d8f534d73d2a3fab074a721729626859755
https://github.com/llvm/llvm-project/commit/d2173d8f534d73d2a3fab074a721729626859755
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
Log Message:
-----------
[InstCombine] foldFCmpIntToFPConst - simplify repeated calls to getBitWidth/getScalarSizeInBits. NFC.
Noticed on #82241 - we don't need to use the IntegerType just for the scalar width, and we were calling it 3 times in different forms - we can just call Type::getScalarSizeInBits once and reuse.
Commit: 8302cef83f0614f1fb2078f2335b94aa77bde271
https://github.com/llvm/llvm-project/commit/8302cef83f0614f1fb2078f2335b94aa77bde271
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaTemplate.cpp
M clang/test/CXX/dcl.decl/dcl.meaning/dcl.fct/p23.cpp
M clang/test/CXX/drs/dr5xx.cpp
M clang/test/CXX/temp/temp.spec/temp.expl.spec/p16.cpp
M clang/test/Misc/warning-flags.c
Log Message:
-----------
[Clang][Sema] Convert warning for extraneous template parameter lists to an extension warning (#82277)
We currently accept the following explicit specialization with a warning
for the extraneous template parameter list:
```
template<typename T>
void f();
template<>
template<>
void f<int>(); // warning: extraneous template parameter list in template specialization
```
This should really be an extension warning so we reject with
`-pedantic-errors`. This patch converts the warning to an extension
warning.
Commit: 7af70643ca4220c254bdb1e9ea51762228642a10
https://github.com/llvm/llvm-project/commit/7af70643ca4220c254bdb1e9ea51762228642a10
Author: Caroline Concatto <caroline.concatto at arm.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
A llvm/test/CodeGen/AArch64/reverse-csr-restore-seq.mir
Log Message:
-----------
Revert "[AArch64] Remove unused ReverseCSRRestoreSeq option. (#82326)"
Patch 3f0404aae7ed2 is breaking some debugs build so we cannot use the reverse here.
This reverts commit 493f10106f7f1799eb67be95058b251e6a3bf0af.
Commit: 48af281f7a5abe0b01daf7847d624d2a6b0ae9fa
https://github.com/llvm/llvm-project/commit/48af281f7a5abe0b01daf7847d624d2a6b0ae9fa
Author: Caroline Concatto <caroline.concatto at arm.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/test/CodeGen/AArch64/framelayout-sve-calleesaves-fix.mir
M llvm/test/CodeGen/AArch64/framelayout-sve.mir
M llvm/test/CodeGen/AArch64/sme-streaming-compatible-interface.ll
M llvm/test/CodeGen/AArch64/sme-streaming-interface.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-ld1.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-ldnt1.ll
M llvm/test/CodeGen/AArch64/stack-probing-sve.ll
M llvm/test/CodeGen/AArch64/sve-alloca.ll
M llvm/test/CodeGen/AArch64/sve-calling-convention-mixed.ll
M llvm/test/CodeGen/AArch64/sve-tailcall.ll
M llvm/test/CodeGen/AArch64/unwind-preserved.ll
Log Message:
-----------
Revert "[AArch64] Restore Z-registers before P-registers (#79623)"
This reverts commit 3f0404aae7ed2f7138526e1bcd100a60dfe08227.
std::reverse is breaking some builds
Commit: d39d5ccbc0c3ea6aca68e46ff9f4503b682d1ac2
https://github.com/llvm/llvm-project/commit/d39d5ccbc0c3ea6aca68e46ff9f4503b682d1ac2
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[bazel] fix build after 4c6043de0b837d23699424d875057d00956d80ac
Commit: 5454991c29945d791b82a9e25b1f605f54c75710
https://github.com/llvm/llvm-project/commit/5454991c29945d791b82a9e25b1f605f54c75710
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/test/UnitTest/CMakeLists.txt
Log Message:
-----------
[libc] Cleanup of hermetic test flag handling (#82384)
Summary:
This cleans up the handling of hermetic test flags. Primarily done to
simplify the GPU rework patch.
Commit: c625b996527335c4fd6b6aa246655a993487e846
https://github.com/llvm/llvm-project/commit/c625b996527335c4fd6b6aa246655a993487e846
Author: Lang Hames <lhames at gmail.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
A llvm/include/llvm/ExecutionEngine/Orc/SectCreate.h
M llvm/lib/ExecutionEngine/Orc/CMakeLists.txt
A llvm/lib/ExecutionEngine/Orc/SectCreate.cpp
A llvm/test/ExecutionEngine/JITLink/Generic/Inputs/sectcreate-data.txt
A llvm/test/ExecutionEngine/JITLink/Generic/sectcreate.test
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
Log Message:
-----------
[ORC] Add SectCreateMaterializationUnit, llvm-jitlink -sectcreate option.
The SectCreateMaterializationUnit creates a LinkGraph with a single named
section containing a single named block whose content is given by a
MemoryBuffer. It is intended to support emulation of ld64's -sectcreate option.
Commit: fb615cf3b9c2d887441a4c0cca326eddc592351a
https://github.com/llvm/llvm-project/commit/fb615cf3b9c2d887441a4c0cca326eddc592351a
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaDecl.cpp
A clang/test/CXX/expr/expr.prim/expr.prim.id/expr.prim.id.qual/p3.cpp
M clang/test/CXX/temp/temp.res/temp.dep/temp.dep.type/p1.cpp
Log Message:
-----------
[Clang][Sema] Diagnose declarative nested-name-specifiers naming alias templates (#80842)
According to [expr.prim.id.qual] p3:
> The _nested-name-specifier_ `::` nominates the global namespace. A
_nested-name-specifier_ with a _computed-type-specifier_ nominates the
type denoted by the _computed-type-specifier_, which shall be a class or
enumeration type. **If a _nested-name-specifier_ `N` is declarative and
has a _simple-template-id_ with a template argument list `A` that
involves a template parameter, let `T` be the template nominated by `N`
without `A`. `T` shall be a class template.**
Meaning, the out-of-line definition of `A::f` in the following example
is ill-formed:
```
template<typename T>
struct A
{
void f();
};
template<typename T>
using B = A<T>;
template<typename T>
void B<T>::f() { } // error: a declarative nested name specifier cannot name an alias template
```
This patch diagnoses such cases as an extension (in group `alias-template-in-declaration-name`).
Commit: ba3c1f9ce30cf4f8aee5f1961df74d65e11d53bc
https://github.com/llvm/llvm-project/commit/ba3c1f9ce30cf4f8aee5f1961df74d65e11d53bc
Author: Yuta Saito <kateinoigakukun at gmail.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
A lld/test/wasm/no-strip-segment.s
M lld/wasm/InputChunks.h
M lld/wasm/MarkLive.cpp
M llvm/include/llvm/BinaryFormat/Wasm.h
M llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/MC/MCParser/WasmAsmParser.cpp
M llvm/lib/MC/MCSectionWasm.cpp
M llvm/lib/ObjectYAML/WasmYAML.cpp
A llvm/test/CodeGen/WebAssembly/no-strip.ll
M llvm/test/MC/WebAssembly/no-dead-strip.ll
Log Message:
-----------
[WebAssembly] Add segment RETAIN flag to support private retained data (#81539)
In WebAssembly, we have `WASM_SYMBOL_NO_STRIP` symbol flag to mark the
referenced content as retained. However, the flag is not enough to
express retained data that is not referenced by any symbol. This patch
adds a new segment flag`WASM_SEG_FLAG_RETAIN` to support "private"
linkage data that is retained by llvm.used.
This kind of data that is not referenced but must be retained is usually
used with encapsulation symbols (__start/__stop). Swift runtime uses
this technique and depends on the fact "all metadata sections in live
objects are retained", which was not guaranteed with `--gc-sections`
before this patch.
This is a revised version of https://reviews.llvm.org/D126950 (has been
reverted) based on @MaskRay's comments
Commit: 807ed697beb438407905f3c728ed8c34ccc2d0d2
https://github.com/llvm/llvm-project/commit/807ed697beb438407905f3c728ed8c34ccc2d0d2
Author: Valery Pykhtin <valery.pykhtin at gmail.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/sdwa-preserve.mir
Log Message:
-----------
[AMDGPU] Use autogenerated test checks for sdwa-preserve.mir test. NFC. (#82380)
Commit: a9b5753220ef1f24b1b5bb44b5ca485a66c66349
https://github.com/llvm/llvm-project/commit/a9b5753220ef1f24b1b5bb44b5ca485a66c66349
Author: Alan Zhao <alanzhao1 at users.noreply.github.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Utils/LoopRotationUtils.cpp
M llvm/test/Transforms/LoopRotate/coroutine.ll
Log Message:
-----------
[LoopRotate][coroutines] Avoid hoisting addresses of thread-local variables outside loops in coroutines (#81937)
Because loops in coroutines may have a co_await statement that
reschedules the coroutine to another thread, we cannot cache addresses
of thread-local variables obtained inside a loop by moving the
computation of thoes addresses outside a loop.
Since LLVM doesn't have a model for coroutine memory accesses, this
patch fixes this bug by disabling this optimization for coroutines in
the same way as https://reviews.llvm.org/D135550 and
https://reviews.llvm.org/D151774.
Commit: f740366fa68d3cfceda7efe2d573348253fbb1e9
https://github.com/llvm/llvm-project/commit/f740366fa68d3cfceda7efe2d573348253fbb1e9
Author: Peiming Liu <36770114+PeimingLiu at users.noreply.github.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/SparseTensor/IR/Enums.h
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorType.h
M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
M mlir/test/Dialect/SparseTensor/codegen.mlir
Log Message:
-----------
[mlir][sparse] support type conversion from SoA COO to memrefs. (#82398)
Commit: 0b2b91ee9cf92d08e5eec159545ce4147b8d908e
https://github.com/llvm/llvm-project/commit/0b2b91ee9cf92d08e5eec159545ce4147b8d908e
Author: PiJoules <6019989+PiJoules at users.noreply.github.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp
A llvm/test/DebugInfo/fixed-point.ll
Log Message:
-----------
Reapply "[llvm] Fix assertion error where we didn't check fixed point… (#82412)
… types." (#82285)
This reverts commit d9f9775ac6289271d57671c55166fa0cad61075b.
The test was missing a `REQUIRES: object-emission`.
Commit: 19e71726eee3f35c3f37f6394fc4b001805f9c9a
https://github.com/llvm/llvm-project/commit/19e71726eee3f35c3f37f6394fc4b001805f9c9a
Author: Caroline Tice <cmtice at google.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/unittests/ADT/STLExtrasTest.cpp
Log Message:
-----------
[LLVM][unittests] Fix type issue in STLExtrasTest.cpp
Fixes a type error in UniqueNoPred test, that is causing the
ppc64le-lld-multistage-test buildbot to fail.
Commit: cd4e2466163c46c4e731f8dfc77a9b6673d26c89
https://github.com/llvm/llvm-project/commit/cd4e2466163c46c4e731f8dfc77a9b6673d26c89
Author: Lucile Rose Nihlen <luci.the.rose at gmail.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M .ci/generate-buildkite-pipeline-premerge
M .ci/monolithic-windows.sh
Log Message:
-----------
repair and re-enable Windows buildkite presubmit (#82393)
Commit: a468d02fe9e544f39f6c0428c23b2396df6a35ff
https://github.com/llvm/llvm-project/commit/a468d02fe9e544f39f6c0428c23b2396df6a35ff
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M clang/include/clang/Driver/Driver.h
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M flang/CMakeLists.txt
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/runtime/CMakeLists.txt
A flang/runtime/Float128Math/CMakeLists.txt
A flang/runtime/Float128Math/cabs.cpp
A flang/runtime/Float128Math/math-entries.h
A flang/runtime/Float128Math/sin.cpp
A flang/runtime/Float128Math/sqrt.cpp
M flang/test/Lower/Intrinsics/missing-math-runtime.f90
M flang/tools/flang-driver/driver.cpp
Log Message:
-----------
[flang][runtime] Add FortranFloat128Math wrapper library. (#81971)
Implemented few entry points for REAL(16) math in FortranF128Math
static library. It is a thin wrapper around GNU libquadmath.
Flang driver can always link it, and the dependencies will
be brought in as needed.
The final Fortran program/library that uses any of the entry points
will depend on the underlying third-party library - this dependency
has to be resolved somehow. I added FLANG_RUNTIME_F128_MATH_LIB
CMake control so that the compiler driver and the runtime library
can be built using the same third-party library: this way the linker
knows which dependency to link in (under --as-needed).
The compiler distribution should specify which third-party library
is required for linking/running the apps that use REAL(16).
The compiler package may provide a version of the third-party library
or at least a stub library that can be used for linking, but
the final program execution will still require the actual library.
Commit: ed4bdb86b084bf633770136d005426adeeb2cd57
https://github.com/llvm/llvm-project/commit/ed4bdb86b084bf633770136d005426adeeb2cd57
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M libc/src/__support/CPP/bit.h
M libc/test/src/__support/CPP/bit_test.cpp
Log Message:
-----------
[libc][__support][bit] add count_zeros (#82076)
Will be useful for implementing C23 stdbit.h's stdc_count_zeros and
stdc_count_ones.
Commit: f804e2badf30321121df4d0d7df8e32e10f134cc
https://github.com/llvm/llvm-project/commit/f804e2badf30321121df4d0d7df8e32e10f134cc
Author: Fangrui Song <i at maskray.me>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M lld/ELF/SyntheticSections.cpp
M lld/test/ELF/eh-frame-pcrel-overflow.s
Log Message:
-----------
[ELF] .eh_frame: use errorOrWarn for "PC offset is too large"
errorOrWarn is more conventional for recoverable errors. This error
message does not have to use `fatal`, and we try to remove such uses in
parallel code paths.
Commit: bb029a5c039766ef83c88a456cf936cec0a1a69b
https://github.com/llvm/llvm-project/commit/bb029a5c039766ef83c88a456cf936cec0a1a69b
Author: Nico Weber <thakis at chromium.org>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/ExtractAPI/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/InstallAPI/BUILD.gn
M llvm/utils/gn/secondary/clang/unittests/BUILD.gn
A llvm/utils/gn/secondary/clang/unittests/InstallAPI/BUILD.gn
Log Message:
-----------
[gn] port 4c6043de0b83 (InstallAPITests)
Commit: d6850be44d2bfcd79d31fede3b8018357416da03
https://github.com/llvm/llvm-project/commit/d6850be44d2bfcd79d31fede3b8018357416da03
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
A mlir/test/Integration/Dialect/Linalg/CPU/mmt4d.mlir
Log Message:
-----------
[mlir][linalg] Add e2e test for linalg.mmt4d (#81790)
Follow-up for #81422. My intention is to write an e2e test targetting
SVE, but more work is needed. Sending this as an intermiedate step.
Commit: 7542f60b722d87fb64e911439cb7b64344a48763
https://github.com/llvm/llvm-project/commit/7542f60b722d87fb64e911439cb7b64344a48763
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/ExecutionEngine/Orc/BUILD.gn
Log Message:
-----------
[gn build] Port c625b9965273
Commit: 1db2859dd972dfe1284564c43d55c30280f977d5
https://github.com/llvm/llvm-project/commit/1db2859dd972dfe1284564c43d55c30280f977d5
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M flang/lib/Parser/prescan.cpp
M flang/test/Preprocessing/pp005.F
M flang/test/Preprocessing/pp006.F
M flang/test/Preprocessing/pp105.F90
M flang/test/Preprocessing/pp106.F90
M flang/test/Preprocessing/pp134.F90
Log Message:
-----------
[flang] Handle more use cases reported for issues/78797 (#79628)
I implemented legacy "token pasting" via line continuation for
call prefix&
&MACRO&
&suffix(1)
in a recent patch; this patch addresses the related cases
call prefix&
&MACRO&
&(1)
and
call &
&MACRO&
&suffix(1)
Fixes the latest https://github.com/llvm/llvm-project/issues/79590.
Commit: 1219214a3bcc51022492928b8bb4ff4bdb75d0cb
https://github.com/llvm/llvm-project/commit/1219214a3bcc51022492928b8bb4ff4bdb75d0cb
Author: Sumanth Gundapaneni <sgundapa at quicinc.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp
A llvm/test/CodeGen/Hexagon/ldst_vector_offset.ll
Log Message:
-----------
[Hexagon] Update InstrInfo to include LD/ST offsets of vector instructions (#82386)
The hook HexagonInstrInfo::isValidOffset() is updated to evaluate
offsets of missed LD/ST vector instructions.
Commit: 96b17043507caec02a2ef440b369506122bdeb11
https://github.com/llvm/llvm-project/commit/96b17043507caec02a2ef440b369506122bdeb11
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M flang/runtime/unit.cpp
Log Message:
-----------
[flang][runtime] Don't write implied ENDFILE for REC=/POS= (#79637)
An implied ENDFILE record, which truncates an external file, should be
written to a sequential unit whenever the file is repositioned for a
BACKSPACE or REWIND statement if a WRITE statement has executed since
the last OPEN/BACKSPACE/REWIND.
But the REC= and POS= positioning specifiers don't apply to sequential
units (they're for direct and stream units, resp.), so don't truncate
the file when they're used.
Commit: 78762357d449cfcd11426c8e152302a27f2e7d4d
https://github.com/llvm/llvm-project/commit/78762357d449cfcd11426c8e152302a27f2e7d4d
Author: Fangrui Song <i at maskray.me>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/Writer.cpp
M lld/docs/ld.lld.1
M lld/test/ELF/lto/codemodel.ll
M lld/test/ELF/x86-64-section-layout.s
Log Message:
-----------
[ELF] Support placing .lbss/.lrodata/.ldata after .bss
https://reviews.llvm.org/D150510 places .lrodata before .rodata to
minimize the number of permission transitions in the memory image.
However, this layout is less ideal for -fno-pic code (which is still
important).
Small code model -fno-pic code has R_X86_64_32S relocations with a range
of `[0,2**31)` (if we ignore the negative area). Placing `.lrodata`
earlier exerts relocation pressure on such code. Non-x86 64-bit
architectures generally have a similar `[0,2**31)` limitation if they
don't use PC-relative relocations.
If we place .lrodata later, we will need one extra PT_LOAD. Two layouts
are appealing:
* .bss/.lbss/.lrodata/.ldata (GNU ld)
* .bss/.ldata/.lbss/.lrodata
The GNU ld layout has the nice property that there is only one BSS
(except .tbss/.relro_padding). Add -z lrodata-after-bss to support
this layout.
Since a read-only PT_LOAD segment (for large data sections) may appear
after RW PT_LOAD segments. The placement of `_etext` has to be adjusted.
Pull Request: https://github.com/llvm/llvm-project/pull/81224
Commit: 5a20a208037d32d52f0c626ea3b199278ff0df0a
https://github.com/llvm/llvm-project/commit/5a20a208037d32d52f0c626ea3b199278ff0df0a
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Optimizer/CodeGen/Target.cpp
M flang/lib/Parser/preprocessor.cpp
M flang/lib/Parser/preprocessor.h
M flang/lib/Semantics/check-directive-structure.h
Log Message:
-----------
[flang] Resolve "possible performance problem" issue spam (#79769)
Four "issues" on GitHub report possible performance problems, likely
detected by static analysis. None of them would ever make a measureable
difference in compilation time, but I'm resolving them to clean up the
open issues list.
Fixes https://github.com/llvm/llvm-project/issues/79703, .../79705,
.../79706, & .../79707.
Commit: adf838daee63b3245c8822957988da5367e1572c
https://github.com/llvm/llvm-project/commit/adf838daee63b3245c8822957988da5367e1572c
Author: Balaji V. Iyer <43187390+bviyer at users.noreply.github.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/Tensor/Utils/Utils.h
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/lib/Dialect/Tensor/Utils/Utils.cpp
M mlir/test/Dialect/Linalg/vectorization.mlir
Log Message:
-----------
[mlir][Vectorizer] Added support to Vectorize tensor.unpack (#76087)
Added support to vectorized tensor.unpack. The unpack Op is split into a
`vector.transfer_read`, `vector.transpose`, `vector.shape_cast` and a
`vector.transfer_write`.
Commit: 18f0da5b9bbe8ebf63eb17bfa5deff94bd602f64
https://github.com/llvm/llvm-project/commit/18f0da5b9bbe8ebf63eb17bfa5deff94bd602f64
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M mlir/tools/mlir-tblgen/OpFormatGen.cpp
Log Message:
-----------
Apply clang-tidy fixes for llvm-prefer-isa-or-dyn-cast-in-conditionals in OpFormatGen.cpp (NFC)
Commit: e13bbd1e71797c781a0b242a7c121e5c5c620bc2
https://github.com/llvm/llvm-project/commit/e13bbd1e71797c781a0b242a7c121e5c5c620bc2
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M mlir/tools/mlir-tblgen/RewriterGen.cpp
Log Message:
-----------
Apply clang-tidy fixes for modernize-use-emplace in RewriterGen.cpp (NFC)
Commit: dd5696cdefaff2b3ee9c4de3053e31630863588c
https://github.com/llvm/llvm-project/commit/dd5696cdefaff2b3ee9c4de3053e31630863588c
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M mlir/unittests/Bytecode/BytecodeTest.cpp
Log Message:
-----------
Apply clang-tidy fixes for readability-identifier-naming in BytecodeTest.cpp (NFC)
Commit: 1893a3743eb971f0ea7657dc119b642a12870a1e
https://github.com/llvm/llvm-project/commit/1893a3743eb971f0ea7657dc119b642a12870a1e
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M mlir/unittests/Debug/FileLineColLocBreakpointManagerTest.cpp
Log Message:
-----------
Apply clang-tidy fixes for performance-unnecessary-value-param in FileLineColLocBreakpointManagerTest.cpp (NFC)
Commit: 31f45596737f37e16226c039ff6f53406174b9d5
https://github.com/llvm/llvm-project/commit/31f45596737f37e16226c039ff6f53406174b9d5
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M mlir/unittests/Dialect/SPIRV/SerializationTest.cpp
Log Message:
-----------
Apply clang-tidy fixes for performance-unnecessary-value-param in SerializationTest.cpp (NFC)
Commit: 563ef306017a47d387f1c36dd562b172c1ad0626
https://github.com/llvm/llvm-project/commit/563ef306017a47d387f1c36dd562b172c1ad0626
Author: jimingham <jingham at apple.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M lldb/include/lldb/Interpreter/CommandObject.h
M lldb/include/lldb/Interpreter/CommandOptionArgumentTable.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/source/Commands/CommandObjectCommands.cpp
M lldb/source/Commands/CommandObjectDWIMPrint.cpp
M lldb/source/Commands/CommandObjectDWIMPrint.h
M lldb/source/Commands/CommandObjectFrame.cpp
M lldb/source/Commands/CommandObjectPlatform.cpp
M lldb/source/Commands/CommandObjectPlugin.cpp
M lldb/source/Commands/CommandObjectProcess.cpp
M lldb/source/Commands/CommandObjectRegister.cpp
M lldb/source/Commands/CommandObjectSession.cpp
M lldb/source/Commands/CommandObjectSettings.cpp
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/Commands/CommandObjectThread.cpp
M lldb/source/Commands/CommandObjectType.cpp
M lldb/source/Commands/CommandObjectWatchpoint.cpp
M lldb/source/Interpreter/CommandObject.cpp
M lldb/test/API/commands/help/TestHelp.py
M lldb/test/API/functionalities/completion/TestCompletion.py
Log Message:
-----------
Add the RegisterCompleter to eArgTypeRegisterName in g_argument_table (#82428)
This is a follow-on to:
https://github.com/llvm/llvm-project/pull/82085
The completer for register names was missing from the argument table. I
somehow missed that the only register completer test was x86_64, so that
test broke.
I added the completer in to the right slot in the argument table, and
added a small completions test that just uses the alias register names.
If we end up having a platform that doesn't define register names, we'll
have to skip this test there, but it should add a sniff test for
register completion that will run most everywhere.
Commit: be8b2d1ea54f964603b89ab9d4dfad26afebb347
https://github.com/llvm/llvm-project/commit/be8b2d1ea54f964603b89ab9d4dfad26afebb347
Author: Moshe <moshberm at Gmail.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M libc/src/__support/FPUtil/aarch64/fenv_darwin_impl.h
Log Message:
-----------
Add explicit conversion to fix arm64 builds. (#82429)
Fixes issue preventing builds on ARM-based Macs.
https://github.com/llvm/llvm-project/issues/82205.
Co-authored-by: Moshe Berman <mosheberman at users.noreply.github.com>
Commit: 2236048f5fdde70dd95e97ccc87437424a371cef
https://github.com/llvm/llvm-project/commit/2236048f5fdde70dd95e97ccc87437424a371cef
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M flang/lib/Semantics/check-declarations.cpp
M flang/test/Semantics/resolve17.f90
Log Message:
-----------
[flang] Further refine errors vs warnings for ambiguous generics (#80161)
Ensure that the compiler emits a hard error for a generic interface with
ambiguous specific procedures when it is declared as such, and the
ambiguity doesn't involve optional or unlimited polymorphic dummy data
arguments. But: emit an optional portability warning when the ambiguity
in the generic interface is due to USE association's merging of multiple
generics, as USE association may involve modules not under control of
the programmer; we'll emit a hard error message if any the actual
arguments in a particular reference to the generic procedure doesn't
resolve to exactly one specific procedure. And don't emit warnings when
potential ambiguity due to USE association is taking place in a module
file; the warnings, if any, will have been produced when the module file
was compiled.
Commit: 39cab1a0a0d68cb33142099c320674fa54e11a91
https://github.com/llvm/llvm-project/commit/39cab1a0a0d68cb33142099c320674fa54e11a91
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
Log Message:
-----------
[AMDGPU] Add v2bf16 for opsel immediate folding (#82435)
This was previously enabled since v2bf16 was represented by v2f16. As of
now it is NFC since we only have dot instructions which could use it,
but currently folding is guarded by the hasDOTOpSelHazard().
Commit: 54b014b3f76e1c0060bd129e1196b6c729cb30b0
https://github.com/llvm/llvm-project/commit/54b014b3f76e1c0060bd129e1196b6c729cb30b0
Author: Lang Hames <lhames at gmail.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/test/ExecutionEngine/JITLink/Generic/sectcreate.test
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
Log Message:
-----------
[llvm-jitlink] Use '@' rather than ':' for separator in -sectcreate.
This should avoid the issue with Windows paths that have caused failures on
some builders.
Commit: 3ff805540173b83d73b673b39ac5760fc19bac15
https://github.com/llvm/llvm-project/commit/3ff805540173b83d73b673b39ac5760fc19bac15
Author: Michael Spencer <bigcheesegs at gmail.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M clang/include/clang/Tooling/DependencyScanning/DependencyScanningService.h
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
A clang/test/ClangScanDeps/optimize-canonicalize-macros.m
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
Log Message:
-----------
[clang][ScanDeps] Canonicalize -D and -U flags (#82298)
Canonicalize `-D` and `-U` flags by sorting them and only keeping the
last instance of a given name.
This optimization will only fire if all `-D` and `-U` flags start with a
simple identifier that we can guarantee a simple analysis of can
determine if two flags refer to the same identifier or not. See the
comment on `getSimpleMacroName()` for details of what the issues are.
Commit: d3fcf310310ddfea1acf0d54bb7574ea2f6d9077
https://github.com/llvm/llvm-project/commit/d3fcf310310ddfea1acf0d54bb7574ea2f6d9077
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
Log Message:
-----------
AMDGPU: Use HasFP8ConversionInsts appropriately, NFC (#82433)
The corresponding fp8 conversion instructions are available for a
subtarget when and only when the subtarget "HasFP8ConversionInsts". We
should not assume all the future subtargets (gfx12+) have
FP8ConversionInsts.
In this patch, we use OtherPredicates to carry HasFP8ConversionInsts
feature. This is because SubtargetPredicate is not copied from pseudos
to reals for DPP16 and DPP6. To avoid overriding OtherPredicates in a
few places, we use the newly introduced True16Predicate to hold
UseRealTrue16Insts instead.
This work repalces the inadvertently closed pull request:
https://github.com/llvm/llvm-project/pull/82024
Commit: 53e96984b6dbb9d8ff55d2ccd0c27ffc1d27315f
https://github.com/llvm/llvm-project/commit/53e96984b6dbb9d8ff55d2ccd0c27ffc1d27315f
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/lib/Basic/Targets/NVPTX.cpp
M clang/test/SemaCUDA/float16.cu
Log Message:
-----------
[NVPTX] Enable the _Float16 type for NVPTX compilation (#82436)
Summary:
The PTX target supports the f16 type natively and we alreaqdy have a few
LLVM backend tests that support the LLVM-IR. We should be able to enable
this for generic use. This is done prior the f16 math functions being
written in the GPU libc case.
Commit: dc672d2f6a48fb3d502c260eb353f389723ec417
https://github.com/llvm/llvm-project/commit/dc672d2f6a48fb3d502c260eb353f389723ec417
Author: jimingham <jingham at apple.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M lldb/test/API/functionalities/completion/TestCompletion.py
Log Message:
-----------
Remove the "generic" register completion test. (#82445)
For reasons that are not clear to me, on arm64, the alias registers are
listed in list of register info's we do completion against, but for
x86_64 they are not. Maybe this is a difference in how the dynamic
register builders work for the two systems. Anyway, it doesn't look
possible to make a generic one.
Commit: 646c7e528325f239638c5e758631b999993510d8
https://github.com/llvm/llvm-project/commit/646c7e528325f239638c5e758631b999993510d8
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/gpu/entrypoints.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
Log Message:
-----------
[libc] add more stdbit.h entrypoints to additional targets (#82440)
stdbit.h isn't complete yet, but looking to turn these on on more
targets for
earlier feedback.
Commit: ff4d6c64ee4269e4a9b67a4dae7e0b82ae1c3419
https://github.com/llvm/llvm-project/commit/ff4d6c64ee4269e4a9b67a4dae7e0b82ae1c3419
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/test/lit.cfg.py
M llvm/test/lit.site.cfg.py.in
Log Message:
-----------
Fix llvm-x86_64-debian-dylib buildbot
This was broken by 91a384621e5b762d9c173ffd247cfeadd5f436a2.
Commit: 98db8d0cb78e9dd3f78427d519ae8dd175b70b03
https://github.com/llvm/llvm-project/commit/98db8d0cb78e9dd3f78427d519ae8dd175b70b03
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/test/MC/AMDGPU/gfx11_asm_vop3.s
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3.txt
Log Message:
-----------
[AMDGPU] Fix v_dot2_f16_f16/v_dot2_bf16_bf16 operands (#82423)
src0 and src1 are packed f16/bf16, we are printing literals like
0x40002000, but we cannot parse it.
Commit: f78027dfeca9925efe7e025beb05b4cef8a1581a
https://github.com/llvm/llvm-project/commit/f78027dfeca9925efe7e025beb05b4cef8a1581a
Author: Boian Petkantchin <boian.petkantchin at amd.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/Mesh/IR/MeshOps.td
M mlir/lib/Dialect/Mesh/IR/MeshOps.cpp
M mlir/test/Dialect/Mesh/process-multi-index-op-lowering.mlir
Log Message:
-----------
[mlir][mesh] Better op result names (#82408)
Implement OpAsmOpInterface for most ops to increase IR readability. For
example `mesh.process_linear_index` would produce a value with name
`proc_linear_idx`.
Commit: 4ca0480a4fefe25c2f6e36c04f02998af79274a0
https://github.com/llvm/llvm-project/commit/4ca0480a4fefe25c2f6e36c04f02998af79274a0
Author: Fangrui Song <i at maskray.me>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M clang/lib/Driver/ToolChains/BareMetal.cpp
M clang/test/Driver/arm-compiler-rt.c
M clang/test/Driver/baremetal-multilib.yaml
M clang/test/Driver/baremetal-sysroot.cpp
M clang/test/Driver/baremetal.cpp
Log Message:
-----------
[Driver,BareMetal] Replace -lclang_rt.builtins{,-$arch}.a with an absolute path (#82424)
The generic `tools::AddRunTimeLibs` uses an absolute path. Change
BareMetal to match.
I believe users are not supposed to place other files under the
directory containing `libclang_rt.builtins-$arch.a`. If they rely on the
implicit -L, they now need to explicitly specify -L.
Commit: 5248a9872454065b5e4d44ca2f29329df7c2d28f
https://github.com/llvm/llvm-project/commit/5248a9872454065b5e4d44ca2f29329df7c2d28f
Author: Peiming Liu <36770114+PeimingLiu at users.noreply.github.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/SparseTensor/IR/Enums.h
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorType.h
M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorCodegen.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/CodegenUtils.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorDescriptor.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorDescriptor.h
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_coo_test.mlir
Log Message:
-----------
[mlir][sparse] support SoA COO in codegen path. (#82439)
*NOTE*: the `SoA` property only makes a difference on codegen path, and
is ignored in libgen path at the moment (only SoA COO is supported).
Commit: 7c071c23ffe934d863f3a1863d77b41f7e4d2b51
https://github.com/llvm/llvm-project/commit/7c071c23ffe934d863f3a1863d77b41f7e4d2b51
Author: Nico Weber <thakis at chromium.org>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/test/BUILD.gn
Log Message:
-----------
[gn] port ff4d6c64ee42
Commit: 031f9f331723e6bebc405ffdee4b8a87a5fc0472
https://github.com/llvm/llvm-project/commit/031f9f331723e6bebc405ffdee4b8a87a5fc0472
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedCallArgsChecker.cpp
A clang/test/Analysis/Checkers/WebKit/call-args-wtf-containers.cpp
Log Message:
-----------
[alpha.webkit.UncountedCallArgsChecker] Ignore calls to WTF's container methods (#82156)
This PR makes the checker ignore / skip calls to methods of Web Template
Platform's container types such as HashMap, HashSet, WeakHashSet,
WeakHashMap, Vector, etc...
Commit: 84ed55e11f8d8f434395f869a1caa8485dd0c187
https://github.com/llvm/llvm-project/commit/84ed55e11f8d8f434395f869a1caa8485dd0c187
Author: Nico Weber <thakis at chromium.org>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M clang/include/clang/Tooling/DependencyScanning/DependencyScanningService.h
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
R clang/test/ClangScanDeps/optimize-canonicalize-macros.m
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
Log Message:
-----------
Revert "[clang][ScanDeps] Canonicalize -D and -U flags (#82298)"
This reverts commit 3ff805540173b83d73b673b39ac5760fc19bac15.
Test is failing on bots, see
https://github.com/llvm/llvm-project/pull/82298#issuecomment-1955664462
Commit: 8603a7b21f301508d3a6af9f2238c7b92ce19617
https://github.com/llvm/llvm-project/commit/8603a7b21f301508d3a6af9f2238c7b92ce19617
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
M llvm/lib/Target/RISCV/RISCVSubtarget.h
Log Message:
-----------
[RISCV] Add a query for exact VLEN to RISCVSubtarget [nfc]
We've now got enough of these in tree that we can see which patterns
appear to be idiomatic. As such, extract a helper for checking
if we know the exact VLEN.
Commit: b9a071dc3995c1599724447b9db8ced449318839
https://github.com/llvm/llvm-project/commit/b9a071dc3995c1599724447b9db8ced449318839
Author: Diego Caballero <diegocaballero at google.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/test/Dialect/Linalg/canonicalize.mlir
M mlir/test/Dialect/Linalg/generalize-tensor-pack-tile.mlir
M mlir/test/Dialect/Linalg/generalize-tensor-pack.mlir
M mlir/test/Dialect/Linalg/generalize-tensor-unpack-tile.mlir
M mlir/test/Dialect/Linalg/generalize-tensor-unpack.mlir
Log Message:
-----------
[mlir][Linalg] Add folders for `linalg.transpose` (#81709)
This PR adds folders for linalg transpose ops with only one dimension or
an identity permutation. The folding removes the `linalg.transpose` and
just propagates the input tensor.
Commit: 2836d8edbfbcd461b25101ed58f93c862d65903a
https://github.com/llvm/llvm-project/commit/2836d8edbfbcd461b25101ed58f93c862d65903a
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M .github/workflows/release-tasks.yml
M llvm/utils/release/github-upload-release.py
Log Message:
-----------
[workflows] Fix permissions check for creating new releases (#81163)
The default GitHub token does not have read permissions on the org, so
we need to use a custom token in order to read the members of the
llvm-release-managers team.
Commit: 5a45d32b5b42dc4ed4852b0045391a1c2be41b48
https://github.com/llvm/llvm-project/commit/5a45d32b5b42dc4ed4852b0045391a1c2be41b48
Author: Greg Clayton <gclayton at fb.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M lldb/include/lldb/Utility/FileSpecList.h
M lldb/source/Plugins/SymbolFile/DWARF/LogChannelDWARF.cpp
M lldb/source/Plugins/SymbolFile/DWARF/LogChannelDWARF.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/test/Shell/SymbolFile/DWARF/x86/dwp-separate-debug-file.cpp
Log Message:
-----------
[lldb] Add more ways to find the .dwp file. (#81067)
When using split DWARF we can run into many different ways to store
debug info:
- lldb loads `<exe>` which contains skeleton DWARF and needs to find
`<exe>.dwp`
- lldb loads `<exe>` which is stripped but has .gnu_debuglink pointing
to `<exe>.debug` with skeleton DWARF and needs to find `<exe>.dwp`
- lldb loads `<exe>` which is stripped but has .gnu_debuglink pointing
to `<exe>.debug` with skeleton DWARF and needs to find `<exe>.debug.dwp`
- lldb loads `<exe>.debug` and needs to find `<exe>.dwp`
Previously we only handled the first two cases. This patch adds support
for the latter two.
Commit: f40ee6e83f263fc4240c5b8d31a7e0e148a28cf6
https://github.com/llvm/llvm-project/commit/f40ee6e83f263fc4240c5b8d31a7e0e148a28cf6
Author: Peiming Liu <36770114+PeimingLiu at users.noreply.github.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M mlir/lib/Dialect/SparseTensor/Transforms/SparseAssembler.cpp
M mlir/test/Dialect/SparseTensor/external.mlir
Log Message:
-----------
[mlir][sparse] assemble SoA COO correctly. (#82449)
Commit: c02b0d008c17cdf8dc46ad930c69311bcd8c7dd4
https://github.com/llvm/llvm-project/commit/c02b0d008c17cdf8dc46ad930c69311bcd8c7dd4
Author: Owen Anderson <resistor at users.noreply.github.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
A llvm/test/CodeGen/AArch64/extractvector-of-load.mir
Log Message:
-----------
[GlobalISel] Make sure to check for load barriers when merging G_EXTRACT_VECTOR_ELT into G_LOAD. (#82306)
Fixes https://github.com/llvm/llvm-project/issues/78477
Commit: 03203b79c6247465850ee6e9f3e2399afc35720b
https://github.com/llvm/llvm-project/commit/03203b79c6247465850ee6e9f3e2399afc35720b
Author: Michal Paszkowski <michal at paszkowski.org>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.td
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
R llvm/test/CodeGen/SPIRV/opencl/basic/vstore_private.ll
A llvm/test/CodeGen/SPIRV/opencl/vload2.ll
A llvm/test/CodeGen/SPIRV/pointers/getelementptr-kernel-arg-char.ll
Log Message:
-----------
[SPIR-V] Fix vloadn OpenCL builtin lowering (#81148)
This pull request fixes an issue with missing vector element count
immediate in OpExtInst calls and adds a case for generating bitcasts
before GEPs for kernel arguments of non-matching pointer type. The new
LITs are based on basic/vload_local and basic/vload_global OpenCL CTS
tests. The tests after this change pass SPIR-V validation.
Commit: 79889734b940356ab3381423c93ae06f22e772c9
https://github.com/llvm/llvm-project/commit/79889734b940356ab3381423c93ae06f22e772c9
Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/include/llvm/ADT/GenericConvergenceVerifier.h
M llvm/include/llvm/CodeGen/FunctionLoweringInfo.h
M llvm/include/llvm/CodeGen/ISDOpcodes.h
A llvm/include/llvm/CodeGen/MachineConvergenceVerifier.h
M llvm/include/llvm/CodeGen/SelectionDAGISel.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/IR/GenericConvergenceVerifierImpl.h
M llvm/include/llvm/Support/TargetOpcodes.def
M llvm/include/llvm/Target/Target.td
M llvm/include/llvm/Target/TargetSelectionDAG.td
M llvm/lib/CodeGen/CMakeLists.txt
A llvm/lib/CodeGen/MachineConvergenceVerifier.cpp
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
M llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/lib/CodeGen/ValueTypes.cpp
M llvm/lib/IR/ConvergenceVerifier.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstructions.td
A llvm/test/CodeGen/AMDGPU/convergence-tokens.ll
M llvm/test/CodeGen/AMDGPU/isel-amdgpu-cs-chain-cc.ll
M llvm/test/CodeGen/AMDGPU/kernel-vgpr-spill-mubuf-with-voffset.ll
M llvm/test/CodeGen/AMDGPU/need-fp-from-vgpr-spills.ll
M llvm/test/CodeGen/AMDGPU/no-source-locations-in-prologue.ll
M llvm/test/CodeGen/AMDGPU/sgpr-spills-split-regalloc.ll
M llvm/test/CodeGen/AMDGPU/stacksave_stackrestore.ll
M llvm/test/CodeGen/AMDGPU/vgpr-liverange-ir.ll
M llvm/test/CodeGen/AMDGPU/vgpr_constant_to_sgpr.ll
M llvm/test/CodeGen/AMDGPU/whole-wave-register-spill.ll
M llvm/test/CodeGen/AMDGPU/wwm-reserved-spill.ll
M llvm/test/CodeGen/AMDGPU/wwm-reserved.ll
M llvm/test/CodeGen/PowerPC/fmf-propagation.ll
A llvm/test/MachineVerifier/convergencectrl/AMDGPU/basic.mir
A llvm/test/MachineVerifier/convergencectrl/AMDGPU/cycles.mir
A llvm/test/MachineVerifier/convergencectrl/AMDGPU/lit.local.cfg
A llvm/test/MachineVerifier/convergencectrl/AMDGPU/mixed2.mir
A llvm/test/MachineVerifier/convergencectrl/AMDGPU/not-ssa.mir
A llvm/test/MachineVerifier/convergencectrl/AMDGPU/region-nesting.mir
M llvm/test/TableGen/GlobalISelCombinerEmitter/builtins/match-table-replacerreg.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-imms.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-intrinsics.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-patfrag-root.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-variadics.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table.td
Log Message:
-----------
Implement convergence control in MIR using SelectionDAG (#71785)
LLVM function calls carry convergence control tokens as operand bundles, where
the tokens themselves are produced by convergence control intrinsics. This patch
implements convergence control tokens in MIR as follows:
1. Introduce target-independent ISD opcodes and MIR opcodes for convergence
control intrinsics.
2. Model token values as untyped virtual registers in MIR.
The change also introduces an additional ISD opcode CONVERGENCECTRL_GLUE and a
corresponding machine opcode with the same spelling. This glues the convergence
control token to SDNodes that represent calls to intrinsics. The glued token is
later translated to an implicit argument in the MIR.
The lowering of calls to user-defined functions is target-specific. On AMDGPU,
the convergence control operand bundle at a non-intrinsic call is translated to
an explicit argument to the SI_CALL_ISEL instruction. Post-selection adjustment
converts this explicit argument to an implicit argument on the SI_CALL
instruction.
Commit: 823102ab1e357e84846f03f2d6df5265271061bc
https://github.com/llvm/llvm-project/commit/823102ab1e357e84846f03f2d6df5265271061bc
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/CodeGen/BUILD.gn
Log Message:
-----------
[gn build] Port 79889734b940
Commit: 086280f4d1c085c8e02cd3986bf87529ec7162c5
https://github.com/llvm/llvm-project/commit/086280f4d1c085c8e02cd3986bf87529ec7162c5
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
Log Message:
-----------
[AMDGPU] Fix linking error of SIISelLowering.cpp.o (NFC)
ld.lld: error: undefined symbol: llvm::MachineOperand::dump() const
>>> referenced by SIISelLowering.cpp
Commit: e4057aacc52bf8b352898504be8e7f8190841aac
https://github.com/llvm/llvm-project/commit/e4057aacc52bf8b352898504be8e7f8190841aac
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/lib/Target/X86/X86TargetMachine.cpp
Log Message:
-----------
[X86] Add missing pass initialization calls. (#82447)
If the passes aren't registered, they don't show up in print-after-all.
Commit: b8ed69ecc01385c03844e8fa05ba418a5670d322
https://github.com/llvm/llvm-project/commit/b8ed69ecc01385c03844e8fa05ba418a5670d322
Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
A llvm/test/CodeGen/RISCV/readsteadycounter.ll
Log Message:
-----------
[RISCV] Support llvm.readsteadycounter intrinsic
This intrinsic was introduced by #81331, which is a lot like
`llvm.readcyclecounter`.
For the RISCV implementation, we rename `ReadCycleWide` pseudo to
`ReadCounterWide` and make it accept two operands (the low and high
parts of the counter). As for legalization and lowering parts, we
reuse the code of `ISD::READCYCLECOUNTER` (make it able to handle
both intrinsics), and we use `time` CSR for `ISD::READSTEADYCOUNTER`.
Tests using Clang builtins are runned on real hardware and it works
as excepted.
Reviewers: asb, MaskRay, dtcxzyw, preames, topperc, jhuber6
Reviewed By: jhuber6, asb, MaskRay, dtcxzyw
Pull Request: https://github.com/llvm/llvm-project/pull/82322
Commit: a2afcd5721869d1d03c8146bae3885b3385ba15e
https://github.com/llvm/llvm-project/commit/a2afcd5721869d1d03c8146bae3885b3385ba15e
Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/include/llvm/ADT/GenericConvergenceVerifier.h
M llvm/include/llvm/CodeGen/FunctionLoweringInfo.h
M llvm/include/llvm/CodeGen/ISDOpcodes.h
R llvm/include/llvm/CodeGen/MachineConvergenceVerifier.h
M llvm/include/llvm/CodeGen/SelectionDAGISel.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/IR/GenericConvergenceVerifierImpl.h
M llvm/include/llvm/Support/TargetOpcodes.def
M llvm/include/llvm/Target/Target.td
M llvm/include/llvm/Target/TargetSelectionDAG.td
M llvm/lib/CodeGen/CMakeLists.txt
R llvm/lib/CodeGen/MachineConvergenceVerifier.cpp
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
M llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/lib/CodeGen/ValueTypes.cpp
M llvm/lib/IR/ConvergenceVerifier.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstructions.td
R llvm/test/CodeGen/AMDGPU/convergence-tokens.ll
M llvm/test/CodeGen/AMDGPU/isel-amdgpu-cs-chain-cc.ll
M llvm/test/CodeGen/AMDGPU/kernel-vgpr-spill-mubuf-with-voffset.ll
M llvm/test/CodeGen/AMDGPU/need-fp-from-vgpr-spills.ll
M llvm/test/CodeGen/AMDGPU/no-source-locations-in-prologue.ll
M llvm/test/CodeGen/AMDGPU/sgpr-spills-split-regalloc.ll
M llvm/test/CodeGen/AMDGPU/stacksave_stackrestore.ll
M llvm/test/CodeGen/AMDGPU/vgpr-liverange-ir.ll
M llvm/test/CodeGen/AMDGPU/vgpr_constant_to_sgpr.ll
M llvm/test/CodeGen/AMDGPU/whole-wave-register-spill.ll
M llvm/test/CodeGen/AMDGPU/wwm-reserved-spill.ll
M llvm/test/CodeGen/AMDGPU/wwm-reserved.ll
M llvm/test/CodeGen/PowerPC/fmf-propagation.ll
R llvm/test/MachineVerifier/convergencectrl/AMDGPU/basic.mir
R llvm/test/MachineVerifier/convergencectrl/AMDGPU/cycles.mir
R llvm/test/MachineVerifier/convergencectrl/AMDGPU/lit.local.cfg
R llvm/test/MachineVerifier/convergencectrl/AMDGPU/mixed2.mir
R llvm/test/MachineVerifier/convergencectrl/AMDGPU/not-ssa.mir
R llvm/test/MachineVerifier/convergencectrl/AMDGPU/region-nesting.mir
M llvm/test/TableGen/GlobalISelCombinerEmitter/builtins/match-table-replacerreg.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-imms.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-intrinsics.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-patfrag-root.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-variadics.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table.td
Log Message:
-----------
Revert "Implement convergence control in MIR using SelectionDAG (#71785)"
This reverts commit 79889734b940356ab3381423c93ae06f22e772c9.
Encountered multiple buildbot failures.
Commit: 5375cbfb6255ed19a6bed7065a697905ca65d575
https://github.com/llvm/llvm-project/commit/5375cbfb6255ed19a6bed7065a697905ca65d575
Author: Matteo Franciolini <mfranciolini at tesla.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M mlir/lib/Bytecode/Reader/BytecodeReader.cpp
Log Message:
-----------
Fix pipeline-invalid.mlir bytecode roundtrip test (#82366)
If an op was not contained in a region when was written to bytecode,
we don't have an initialized valueScope with forward references to
define.
Commit: 44b717df4d837ce4e8d76b00cee2e122ae6ad28c
https://github.com/llvm/llvm-project/commit/44b717df4d837ce4e8d76b00cee2e122ae6ad28c
Author: Owen Anderson <resistor at mac.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
A llvm/test/CodeGen/AArch64/extractvector-oob-load.mir
Log Message:
-----------
[GlobalISel] Clamp out-of-range G_EXTRACT_VECTOR_ELT constant indices when converting them into loads. (#82460)
This avoid turning a poison value into a segfault, and fixes
https://github.com/llvm/llvm-project/issues/78383
Commit: ec516ff3e6122069b36f32a6db8bb3dc672133fc
https://github.com/llvm/llvm-project/commit/ec516ff3e6122069b36f32a6db8bb3dc672133fc
Author: Jooyung Han <jooyung.han at gmail.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M compiler-rt/lib/builtins/os_version_check.c
Log Message:
-----------
Fix __isOSVersionAtLeast for Android (#80496)
Allow pre-release APIs on pre-release devices.
The current implementation requires __ANDROID_API_FUTURE__ to use new
APIs on pre-release system. This makes it hard to maintain the codebase
because it should be switched a concrete version (e.g. __ANDROID_API_X__
on release of X).
Instead, we can just allow pre-release APIs on pre-release system
without mandating the major version of __ANDROID_API_FUTURE__.
Note that this doesn't make API guards just no-op in pre-release builds.
We can still rely on its compile-time checks and it still works as
expected with release builds. Even with pre-release builds, it's the
same as before because we would pass __ANDROID_API_FUTURE__ to make the
calls anyway.
Commit: 04fbc461e0fd1c6f2b014761e9c03ca80d17b33b
https://github.com/llvm/llvm-project/commit/04fbc461e0fd1c6f2b014761e9c03ca80d17b33b
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M clang/lib/Format/Format.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Fix RemoveSemicolon for empty functions (#82278)
Fixes #79833.
Commit: ab7dcb0ef634ef370618aa244ad28d8c654b894c
https://github.com/llvm/llvm-project/commit/ab7dcb0ef634ef370618aa244ad28d8c654b894c
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/CodeGen/BUILD.gn
Log Message:
-----------
[gn build] Port a2afcd572186
Commit: 8b23d68a621f16b6d66e68cb64b99f1221b9df2c
https://github.com/llvm/llvm-project/commit/8b23d68a621f16b6d66e68cb64b99f1221b9df2c
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/test/Analysis/Checkers/WebKit/mock-types.h
A clang/test/Analysis/Checkers/WebKit/ref-allowing-partially-destroyed.cpp
Log Message:
-----------
[Analyzer] Support RefAllowingPartiallyDestroyed and RefPtrAllowingPartiallyDestroyed (#82209)
This PR adds the support for WebKit's RefAllowingPartiallyDestroyed and
RefPtrAllowingPartiallyDestroyed, which are smart pointer types which
may be used after the destructor had started running.
Commit: a445474d3fdec2bdaaa42a6dc83c2fb01867076f
https://github.com/llvm/llvm-project/commit/a445474d3fdec2bdaaa42a6dc83c2fb01867076f
Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
Log Message:
-----------
[RISCV] Use TImmLeaf for csr_sysreg (#82463)
And use `getTargetConstant` to create operands.
This PR addresses comments after committing #82322.
Commit: 351e4fa2bfe5b13073c1675a1b1693ea766c1e25
https://github.com/llvm/llvm-project/commit/351e4fa2bfe5b13073c1675a1b1693ea766c1e25
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M clang/lib/Sema/TreeTransform.h
M clang/test/SemaCXX/cxx2c-pack-indexing.cpp
Log Message:
-----------
[Clang] Fix assert when transforming a pack indexing type. (#82234)
When a pack in a pack indexing specifier cannot be immediately expanded,
we were creating an incomplete TypeLoc
(causing assertion failure).
As we do not keep track of typelocs of expanded elements, we create a
trivial typeloc
Fixes #81697
Commit: d3fb596c9720b8bf192823730e9fccc3d86de9a8
https://github.com/llvm/llvm-project/commit/d3fb596c9720b8bf192823730e9fccc3d86de9a8
Author: Francesco Petrogalli <francesco.petrogalli at apple.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
Log Message:
-----------
[RISCV] Fix scheduling info for compressed LD/ST of FP types. (#82339)
Commit: 7ce1a11f7f436234ce3eaf11c74043937a1ec36b
https://github.com/llvm/llvm-project/commit/7ce1a11f7f436234ce3eaf11c74043937a1ec36b
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp
M llvm/test/Transforms/InstCombine/dependent-ivs.ll
Log Message:
-----------
[InstCombine] Fold dependent IVs (#81151)
Fold `iv = phi(start, iv.next = iv2.next + start)` where `iv2 =
phi(iv2.start, iv2.next = iv2 + iv2.step)`
to `iv = iv2 + start` removing one induction variable from the loop.
Proof: https://alive2.llvm.org/ce/z/hfmwgf
Fixes https://github.com/llvm/llvm-project/issues/77108.
Commit: 1246b64faa5eea1553c1c1aad425c31b701fa6ea
https://github.com/llvm/llvm-project/commit/1246b64faa5eea1553c1c1aad425c31b701fa6ea
Author: Balázs Kéri <balazs.keri at ericsson.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
M clang/test/Analysis/std-c-library-functions-path-notes.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-noopen.c
Log Message:
-----------
[clang][analyzer] Change modeling of 'fileno' in checkers. (#81842)
Function 'fileno' fails only if invalid pointer is passed, this is a
case that is often ignored in source code. The failure case leads to
many "false positive" reports when `fileno` returns -1 and this is not
checked in the program. Because this, the function is now assumed
to not fail (this is assumption that the passed file pointer is correct).
The change affects `StdCLibraryFunctionsChecker` and
`StreamChecker`.
Commit: 02fad0565fe7f061bdaa79ff33b29f64b2c290eb
https://github.com/llvm/llvm-project/commit/02fad0565fe7f061bdaa79ff33b29f64b2c290eb
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/select.ll
Log Message:
-----------
[RISCV][SDAG] Fold `select c, ~x, x` into `xor -c, x` (#82462)
This patch lowers select of constants if `TrueV == ~FalseV`.
Address the comment in
https://github.com/llvm/llvm-project/pull/82456#discussion_r1496881603.
Commit: 8b84de26dfc1ba742b427e45bc900bc233fd58e1
https://github.com/llvm/llvm-project/commit/8b84de26dfc1ba742b427e45bc900bc233fd58e1
Author: Clement Courbet <courbet at google.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/include/llvm/Target/TargetPfmCounters.td
M llvm/tools/llvm-exegesis/lib/BenchmarkResult.cpp
M llvm/tools/llvm-exegesis/lib/BenchmarkResult.h
M llvm/tools/llvm-exegesis/lib/CMakeLists.txt
M llvm/tools/llvm-exegesis/lib/LatencyBenchmarkRunner.cpp
M llvm/tools/llvm-exegesis/lib/Target.h
A llvm/tools/llvm-exegesis/lib/ValidationEvent.cpp
A llvm/tools/llvm-exegesis/lib/ValidationEvent.h
M llvm/tools/llvm-exegesis/llvm-exegesis.cpp
Log Message:
-----------
[llvm-exegesis][NFC] Refactor all `ValidationEvent` info in a single … (#82256)
…table.
All data is derived from a single table rather than being spread out
over an enum, a table and the main entry point.
This is intended as a replacement for #82092.
Commit: 50373506d570f3db1e1af7c13d46409736452f3a
https://github.com/llvm/llvm-project/commit/50373506d570f3db1e1af7c13d46409736452f3a
Author: kadir çetinkaya <kadircet at google.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaTemplate.cpp
M clang/test/AST/ast-dump-using.cpp
Log Message:
-----------
[clang] Preserve found-decl when constructing VarTemplateIds (#82265)
Commit: f8c1af1d096b97a42e4ab178c93accfc4e5fa288
https://github.com/llvm/llvm-project/commit/f8c1af1d096b97a42e4ab178c93accfc4e5fa288
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/tools/llvm-exegesis/lib/BUILD.gn
Log Message:
-----------
[gn build] Port 8b84de26dfc1
Commit: 4725993f1a812c86b9ad79d229a015d0216ff550
https://github.com/llvm/llvm-project/commit/4725993f1a812c86b9ad79d229a015d0216ff550
Author: martinboehme <mboehme at google.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/lib/Analysis/FlowSensitive/Transfer.cpp
M clang/unittests/Analysis/FlowSensitive/TestingSupport.h
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
Log Message:
-----------
[clang][dataflow] Correctly handle `InitListExpr` of union type. (#82348)
Commit: 0c13a896dfc930a09e082ad83070e223cfd9a4f9
https://github.com/llvm/llvm-project/commit/0c13a896dfc930a09e082ad83070e223cfd9a4f9
Author: Kohei Yamaguchi <fix7211 at gmail.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M mlir/docs/Dialects/OpenACCDialect.md
M mlir/docs/Passes.md
M mlir/docs/Tutorials/transform/Ch4.md
Log Message:
-----------
[mlir][docs] Fix broken docs (#82308)
- Fixed OpenACC's spec link format
- Add missed `OpenACCPasses.md` into Passes.md
- Add missed `MyExtensionCh4.md` into Ch4.md of tutorial of transform
Commit: 07292b7203e31fb90d9180bfccde0d4e84be2245
https://github.com/llvm/llvm-project/commit/07292b7203e31fb90d9180bfccde0d4e84be2245
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/include/llvm/Transforms/Utils/ScalarEvolutionExpander.h
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
M llvm/test/Transforms/LoopIdiom/pr82337.ll
Log Message:
-----------
[LIR][SCEVExpander] Restore original flags when aborting transform (#82362)
SCEVExpanderCleaner will currently remove instructions created by
SCEVExpander, but not restore poison generating flags that it may have
dropped. As such, running LIR can currently spuriously drop flags
without performing any transforms.
Fix this by keeping track of original instruction flags in SCEVExpander.
Fixes https://github.com/llvm/llvm-project/issues/82337.
Commit: 1ff1e823836e6ed741c69681a2af9f1c3871e8c2
https://github.com/llvm/llvm-project/commit/1ff1e823836e6ed741c69681a2af9f1c3871e8c2
Author: Tuan Chuong Goh <chuong.goh at arm.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/bitcast.ll
Log Message:
-----------
[AArch64][GlobalISel] Pre-Commit Tests for Refactor BITCAST
Commit: 7242896233635e553694507e6584decb43ee4a16
https://github.com/llvm/llvm-project/commit/7242896233635e553694507e6584decb43ee4a16
Author: David Green <david.green at arm.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
M flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp
M flang/test/HLFIR/maxloc-elemental.fir
M flang/test/HLFIR/minloc-elemental.fir
M flang/test/Transforms/simplifyintrinsics.fir
Log Message:
-----------
[Flang] Attempt to fix Nan handling in Minloc/Maxloc intrinsic simplification (#82313)
In certain case "extreme" values like Nan, Inf and 0xffffffff could lead
to generating different code via the inline-generated intrinsics vs the
versions in the runtimes (and other compilers like gfortran). There are
some examples I was using for testing in
https://godbolt.org/z/x4EfqEss5.
This changes the generation for the intrinsics to be more like the
runtimes, using a condition that is similar to:
isFirst || (prev != prev && elem == elem) || elem < prev
The middle part is only used for floating point operations, and checks
if the values are Nan. This should then hopefully make the logic closer
to - return the first element with the lowest value, with Nans ignored
unless there are only Nans. The initial limit value for floats are also
changed from the largest float to Inf, to make sure it is handled
correctly.
The integer reductions are also changed to use a similar scheme to make
sure they work with masked values. This means that the preamble after
the loop can be removed.
Commit: 5db49f726619b943d8201ef3867393923836cb2f
https://github.com/llvm/llvm-project/commit/5db49f726619b943d8201ef3867393923836cb2f
Author: Nick Anderson <nickleus27 at gmail.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/include/llvm/Target/GlobalISel/Combine.td
A llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fpneg-one-fneg.mir
M llvm/test/CodeGen/AMDGPU/fmul-to-ldexp.ll
M llvm/test/CodeGen/AMDGPU/rsq.f64.ll
Log Message:
-----------
[GlobalISel] replace right identity X * -1.0 with fneg(x) (#80526)
follow up patch to #78673
@Pierre-vh @jayfoad @arsenm Could you review when you have a chance.
Commit: 91f11611337dde9a8e0a5e19240f6bb4671922c6
https://github.com/llvm/llvm-project/commit/91f11611337dde9a8e0a5e19240f6bb4671922c6
Author: Oleksandr "Alex" Zinenko <zinenko at google.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
A mlir/include/mlir-c/Dialect/Transform/Interpreter.h
M mlir/include/mlir/Bindings/Python/PybindAdaptors.h
M mlir/lib/Bindings/Python/DialectLLVM.cpp
M mlir/lib/Bindings/Python/IRCore.cpp
M mlir/lib/Bindings/Python/IRModule.h
A mlir/lib/Bindings/Python/TransformInterpreter.cpp
M mlir/lib/CAPI/Dialect/CMakeLists.txt
A mlir/lib/CAPI/Dialect/TransformInterpreter.cpp
M mlir/python/CMakeLists.txt
A mlir/python/mlir/dialects/transform/interpreter/__init__.py
M mlir/test/CAPI/CMakeLists.txt
A mlir/test/CAPI/transform_interpreter.c
M mlir/test/CMakeLists.txt
M mlir/test/lit.cfg.py
A mlir/test/python/dialects/transform_interpreter.py
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/python/BUILD.bazel
Log Message:
-----------
[mlir] expose transform interpreter to Python (#82365)
Transform interpreter functionality can be used standalone without going
through the interpreter pass, make it available in Python.
Commit: 48101edc8d57364d9c9f9e2829f0d4e975c0ade5
https://github.com/llvm/llvm-project/commit/48101edc8d57364d9c9f9e2829f0d4e975c0ade5
Author: John Brawn <john.brawn at arm.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/MC/AArch64/armv9.4a-gcs.s
M llvm/test/MC/Disassembler/AArch64/armv9.4a-gcs.txt
Log Message:
-----------
[AArch64] Fix syntax of gcsstr and gcssttr instructions (#82385)
The address register should be surrounded by square brackets, like in
all the other str instructions.
Fixes https://github.com/llvm/llvm-project/issues/81846
Commit: 35593f6613445fe4a8daa6e7589deec82fcd4d2b
https://github.com/llvm/llvm-project/commit/35593f6613445fe4a8daa6e7589deec82fcd4d2b
Author: Sergei Lebedev <185856+superbobry at users.noreply.github.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M mlir/test/mlir-tblgen/op-python-bindings.td
M mlir/tools/mlir-tblgen/OpPythonBindingGen.cpp
Log Message:
-----------
[MLIR][Python] Use isinstance() instead of issubclass(type(...), ...) (#82345)
The two forms are equivalent, so there is no reason to use the longer
one.
Commit: 3533fe783df4b417f16077edb70099010d2d7eef
https://github.com/llvm/llvm-project/commit/3533fe783df4b417f16077edb70099010d2d7eef
Author: Kadir Cetinkaya <kadircet at google.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaTemplate.cpp
M clang/test/AST/ast-dump-using.cpp
Log Message:
-----------
Revert "[clang] Preserve found-decl when constructing VarTemplateIds (#82265)"
This reverts commit 50373506d570f3db1e1af7c13d46409736452f3a. Broke
include-cleaner tests
Commit: d31406b394307e5629372271f797f55c7ca9bbd3
https://github.com/llvm/llvm-project/commit/d31406b394307e5629372271f797f55c7ca9bbd3
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M flang/docs/FortranLLVMTestSuite.md
Log Message:
-----------
[flang][docs] Update llvm-test-suite docs (#81596)
With some missing config options and a link to the test suite docs that
explain how to setup `ISO_FORTRAN_C_HEADER` and set the stop message
variable.
Commit: bdeb3d47d185aedbe6af5eda5c91310e37938f5b
https://github.com/llvm/llvm-project/commit/bdeb3d47d185aedbe6af5eda5c91310e37938f5b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/test/CodeGen/X86/sadd_sat_vec.ll
M llvm/test/CodeGen/X86/ssub_sat_vec.ll
Log Message:
-----------
[X86] Regenerate saddsat/ssubsat vector tests
Adds missing avx512 constant broadcast comments
Commit: 3cb4f62de0eba62edd730d0ed80fd90d2826763d
https://github.com/llvm/llvm-project/commit/3cb4f62de0eba62edd730d0ed80fd90d2826763d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/test/CodeGen/X86/avx512vl-intrinsics-fast-isel.ll
M llvm/test/CodeGen/X86/prefer-avx256-mask-extend.ll
M llvm/test/CodeGen/X86/vector-bo-select.ll
M llvm/test/CodeGen/X86/vselect-avx.ll
Log Message:
-----------
[X86] Regenerate vector tests to add missing avx512 constant broadcast comments
Commit: a0b3dbaf4b3c01dc7f0a83fce059a26360b58eb2
https://github.com/llvm/llvm-project/commit/a0b3dbaf4b3c01dc7f0a83fce059a26360b58eb2
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/2008-05-23-CompareFold.ll
M llvm/test/Transforms/InstCombine/2008-11-08-FCmp.ll
M llvm/test/Transforms/InstCombine/2009-05-23-FCmpToICmp.ll
M llvm/test/Transforms/InstCombine/2012-02-13-FCmp.ll
Log Message:
-----------
[InstCombine] Regenerate some fcmp tests to use the update_test_checks.py script
Commit: 6d160a49c2e7f36367de3f61f0460e28921450d5
https://github.com/llvm/llvm-project/commit/6d160a49c2e7f36367de3f61f0460e28921450d5
Author: Ivan Kosarev <ivan.kosarev at amd.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUPredicateControl.td
Log Message:
-----------
[AMDGPU][TableGen][NFC] Combine predicates without using classes. (#82346)
Saves generating ~1200 instances of the PredConcat TableGen class.
Also removes the default predicates from resulting predicate lists.
Commit: 6ce5159945997126b8a0f40f55e876c9fd882fc5
https://github.com/llvm/llvm-project/commit/6ce5159945997126b8a0f40f55e876c9fd882fc5
Author: Sergei Lebedev <185856+superbobry at users.noreply.github.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M mlir/python/mlir/_mlir_libs/_mlir/__init__.pyi
M mlir/python/mlir/dialects/_ods_common.py
M mlir/python/mlir/dialects/arith.py
M mlir/test/mlir-tblgen/op-python-bindings.td
M mlir/test/python/ir/value.py
M mlir/tools/mlir-tblgen/OpPythonBindingGen.cpp
Log Message:
-----------
[MLIR][Python] Use ir.Value directly instead of _SubClassValueT (#82341)
_SubClassValueT is only useful when it is has >1 usage in a signature.
This was not true for the signatures produced by tblgen.
For example
def call(result, callee, operands_, *, loc=None, ip=None) ->
_SubClassValueT:
...
here a type checker does not have enough information to infer a type
argument for _SubClassValueT, and thus effectively treats it as Any.
Commit: b1080e187e91576ac6d44087f072583e101f0f51
https://github.com/llvm/llvm-project/commit/b1080e187e91576ac6d44087f072583e101f0f51
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/EvalEmitter.cpp
Log Message:
-----------
[clang][Interp] Convert complex initializers to rvalues
We internalle handle these via pointers, but we need to return
them as RValues in initializers.
Commit: 40fae67a50e08e6b5b5300210021218e404d63a7
https://github.com/llvm/llvm-project/commit/40fae67a50e08e6b5b5300210021218e404d63a7
Author: harishch4 <harishcse44 at gmail.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M flang/lib/Semantics/resolve-directives.cpp
M flang/test/Semantics/OpenMP/default-none.f90
Log Message:
-----------
[Flang][OpenMP] Fix to construct-names inside OpenMP construct with default(none) (#82479)
When a do loop with a construct-name is used inside OpenMP construct
with default(none), an incorrect error will be raised as below.
```
program cn_and_default
implicit none
integer :: i
!$omp parallel default(none)
loop: do i = 1, 10
end do loop
!$omp end parallel
end program
```
> The DEFAULT(NONE) clause requires that 'loop' must be listed in a
data-sharing attribute clause
This patch fixes this by adding a condition to check and skip processing
construct-names.
Commit: e209178d6402348414b69941c77d621919b3b7ab
https://github.com/llvm/llvm-project/commit/e209178d6402348414b69941c77d621919b3b7ab
Author: Vedant Paranjape <vedant.paranjape at amd.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyIndVar.cpp
A llvm/test/Transforms/LoopUnroll/gh-issue77118-broken-lcssa-form.ll
Log Message:
-----------
[SimplifyIndVar] LCSSA form is destroyed by simplifyLoopIVs, preserve it (#78696)
In LoopUnroll, peelLoop is called on the loop. After the loop is peeled
it calls simplifyLoopAfterUnroll on the loop. This call to
simplifyLoopAfterUnroll doesn't preserve the LCSSA form of the parent
loop and thus during the next call to peelLoop the LCSSA form is already
broken.
LoopPeel util takes in the PreserveLCSSA argument and it passes
on the same argument to simplifyLoop which checks if the loop is in a
valid LCSSA form, when (PreserveLCSSA = true).
This causes an assert in simplifyLoop when (PreserveLCSSA = true), as
during the last call LCSSA for the loop wasn't preserved, and thus
crashes at the following assert.
assert(L->isRecursivelyLCSSAForm(*DT, *LI) &&
"Requested to preserve LCSSA, but it's already broken.");
Upon debugging, it is evident that simplifyLoopIVs call inside
simplifyLoopAfterUnroll breaks the LCSSA form. This patch fixes
llvm#77118, it checks if the replacement of IV Users with Loop Invariant
preserves the LCSSA form. If it does not, it emits the required LCSSA
Phi instructions.
Commit: 02e17ab1b97a8c0dc22facc8c66850e5aca28b60
https://github.com/llvm/llvm-project/commit/02e17ab1b97a8c0dc22facc8c66850e5aca28b60
Author: Lukacma <lukac.marian9 at gmail.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
A clang/test/Sema/aarch64-sme2p1-diagnostics.c
M llvm/include/llvm/TargetParser/AArch64TargetParser.h
Log Message:
-----------
[AArch64] Added feature dependencies for SME2p1 to TargetParser (#81860)
This patches adds missing target-feature dependencies for SME2.1
Commit: 28fb2b33c2f43f6a8057e398eb899eb61e6652e9
https://github.com/llvm/llvm-project/commit/28fb2b33c2f43f6a8057e398eb899eb61e6652e9
Author: Paul Walker <paul.walker at arm.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/include/llvm/CodeGen/Analysis.h
M llvm/include/llvm/Support/TypeSize.h
M llvm/lib/CodeGen/Analysis.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
M llvm/unittests/Support/TypeSizeTest.cpp
Log Message:
-----------
[LLVM][SelectionDAG] Reduce number of ComputeValueVTs variants. (#75614)
This is another step in the direction of fixing the `Fixed(0) !=
Scalable(0)` bugbear, although whilst weird I don't believe it's causing
us any real issues.
Commit: c50ca3daa445f7e54343fb365339181185ee0f2c
https://github.com/llvm/llvm-project/commit/c50ca3daa445f7e54343fb365339181185ee0f2c
Author: Chia <sun1011jacobi at gmail.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfw-web-simplification.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwadd.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwmul.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwsub.ll
Log Message:
-----------
[RISCV][ISel] Combine vector fadd/fsub/fmul with fp extend. (#81248)
Extend D133739 and #76785 to support vector widening floating-point
add/sub/mul instructions.
Specifically, this patch works for the below optimization case:
### Source code
```
define void @vfwmul_v2f32_multiple_users(ptr %x, ptr %y, ptr %z, <2 x float> %a, <2 x float> %b, <2 x float> %b2) {
%c = fpext <2 x float> %a to <2 x double>
%d = fpext <2 x float> %b to <2 x double>
%d2 = fpext <2 x float> %b2 to <2 x double>
%e = fmul <2 x double> %c, %d
%f = fadd <2 x double> %c, %d2
%g = fsub <2 x double> %d, %d2
store <2 x double> %e, ptr %x
store <2 x double> %f, ptr %y
store <2 x double> %g, ptr %z
ret void
}
```
### Before this patch
[Compiler Explorer](https://godbolt.org/z/aaEMs5s9h)
```
vfwmul_v2f32_multiple_users:
vsetivli zero, 2, e32, mf2, ta, ma
vfwcvt.f.f.v v11, v8
vfwcvt.f.f.v v8, v9
vfwcvt.f.f.v v9, v10
vsetvli zero, zero, e64, m1, ta, ma
vfmul.vv v10, v11, v8
vfadd.vv v11, v11, v9
vfsub.vv v8, v8, v9
vse64.v v10, (a0)
vse64.v v11, (a1)
vse64.v v8, (a2)
ret
```
### After this patch
```
vfwmul_v2f32_multiple_users:
vsetivli zero, 2, e32, mf2, ta, ma
vfwmul.vv v11, v8, v9
vfwadd.vv v12, v8, v10
vfwsub.vv v8, v9, v10
vse64.v v11, (a0)
vse64.v v12, (a1)
vse64.v v8, (a2)
```
Commit: 6e20cb5524034861d67a1d898907b4755b240f16
https://github.com/llvm/llvm-project/commit/6e20cb5524034861d67a1d898907b4755b240f16
Author: Alex Zinenko <zinenko at google.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M mlir/test/CAPI/transform_interpreter.c
Log Message:
-----------
[mlir] fix memory leak
Fix a leak of the root operation not being deleted in the recently
introduced transform_interpreter.c.
Commit: dd3e0a4643670f33850278ad281a358bbdd04e92
https://github.com/llvm/llvm-project/commit/dd3e0a4643670f33850278ad281a358bbdd04e92
Author: hev <wangrui at loongson.cn>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchTargetMachine.h
A llvm/test/CodeGen/LoongArch/addrspacecast.ll
Log Message:
-----------
[LoongArch] Assume no-op addrspacecasts by default (#82332)
This PR indicates that `addrspacecasts` are always no-ops on LoongArch.
Fixes #82330
Commit: b5437c8ab2af277548ee59b6838e365d35a0d926
https://github.com/llvm/llvm-project/commit/b5437c8ab2af277548ee59b6838e365d35a0d926
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/Opcodes.td
M clang/utils/TableGen/ClangOpcodesEmitter.cpp
Log Message:
-----------
[clang][Interp] Emit const references for Float arguments (#79753)
The Float print type is backed by the Floating class, which in turn uses
APFloat, which might heap-allocate memory, so might be expensive to
copy.
Add an 'AsRef' bit to the ArgType tablegen class, which defines whether
we pass the argument around by copy or by reference.
Commit: 654e65d3b20835b4959d4d591e179814914ab5e2
https://github.com/llvm/llvm-project/commit/654e65d3b20835b4959d4d591e179814914ab5e2
Author: Adrian Kuegel <akuegel at google.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M mlir/lib/Analysis/Presburger/Barvinok.cpp
Log Message:
-----------
[mlir] Apply ClangTidy performance fix.
Use const reference for loop variable.
Commit: 0fb3d4296f3a3ebe36661643155f4ee35a3167b7
https://github.com/llvm/llvm-project/commit/0fb3d4296f3a3ebe36661643155f4ee35a3167b7
Author: chuongg3 <chuong.goh at arm.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
M llvm/test/CodeGen/AArch64/bitcast.ll
Log Message:
-----------
[AArch64][GlobalISel] Refactor BITCAST Legalization (#80505)
Ensure BITCAST is only legal for types with the same amount of bits.
Enable BITCAST to work with non-legal vector types as well.
Commit: 69279a8413e08dd24168bad961975e79a50d9c19
https://github.com/llvm/llvm-project/commit/69279a8413e08dd24168bad961975e79a50d9c19
Author: Hui <hui.xie1990 at gmail.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M libcxx/benchmarks/CMakeLists.txt
A libcxx/benchmarks/atomic_wait.bench.cpp
A libcxx/benchmarks/atomic_wait_vs_mutex_lock.bench.cpp
Log Message:
-----------
[libc++][test] add benchmarks for `std::atomic::wait` (#70571)
For the mutex vs atomic test:
Old: `unique_lock<mutex>`
New: a lock implemented with `atomic::wait`
On 10 years old Intel Macbook, `atomic::wait` is 50% slower than `mutex`
```
Benchmark Time CPU Time Old Time New CPU Old CPU New
----------------------------------------------------------------------------------------------------------------------------------
BM_multi_thread_lock_unlock/1024 +0.3735 +2.4497 1724726 2368935 153159 528354
BM_multi_thread_lock_unlock/2048 +0.4174 +1.2487 3410538 4834012 435062 978311
BM_multi_thread_lock_unlock/4096 +0.5256 +1.9824 6903783 10532681 590266 1760405
BM_multi_thread_lock_unlock/8192 +0.5415 +0.4578 14536391 22408399 1456328 2123075
BM_multi_thread_lock_unlock/16384 +0.5663 +0.0513 30181991 47275023 3316850 3486950
BM_multi_thread_lock_unlock/32768 +0.5635 -0.2081 62027663 96977726 6477076 5129190
BM_multi_thread_lock_unlock/65536 +0.5228 -0.3273 129637761 197408739 11341630 7628955
BM_multi_thread_lock_unlock/131072 +0.4825 -0.1070 266256295 394712193 10379800 9269200
BM_multi_thread_lock_unlock/262144 +0.4793 +0.2795 539732340 798409253 10802200 13821100
BM_multi_thread_lock_unlock/524288 +0.5272 +0.2847 1070035132 1634124353 14523000 18657800
BM_multi_thread_lock_unlock/1048576 +0.4799 +0.3353 2125510441 3145636119 13404200 17899000
OVERALL_GEOMEAN +0.4970 +0.3886 0 0 0 0
```
On Apple Arm, `atomic::wait` is 200% slower than `mutex`. And
`atomic::wait` is even slower than my 10 years old Intel CPU Macbook
```
Benchmark Time CPU Time Old Time New CPU Old CPU New
----------------------------------------------------------------------------------------------------------------------------------
BM_multi_thread_lock_unlock/1024 +2.1811 +3.9854 2036726 6478993 119817 597334
BM_multi_thread_lock_unlock/2048 +1.6736 +1.4301 3162161 8454415 426201 1035727
BM_multi_thread_lock_unlock/4096 +1.1017 +0.6456 6620503 13914159 893019 1469578
BM_multi_thread_lock_unlock/8192 +0.6688 +0.2148 12089392 20174635 1489000 1808799
BM_multi_thread_lock_unlock/16384 +1.4217 -0.2436 19365999 46899345 2068266 1564530
BM_multi_thread_lock_unlock/32768 +2.6161 -0.4927 31371052 113440165 3715100 1884540
BM_multi_thread_lock_unlock/65536 +2.6286 -0.3967 54314581 197086847 5912764 3567410
BM_multi_thread_lock_unlock/131072 +2.3554 +0.4990 103176565 346201425 9260407 13880900
BM_multi_thread_lock_unlock/262144 +2.8780 +0.4995 182355400 707170733 16335852 24496000
BM_multi_thread_lock_unlock/524288 +3.0280 +0.3001 360953079 1453902595 32548700 42316364
BM_multi_thread_lock_unlock/1048576 +3.7480 +1.2374 714500462 3392470417 48603455 108747000
OVERALL_GEOMEAN +2.0791 +0.3874 0 0 0 0
```
For the atomic_wait test:
On my 2013 MacBook with Intel CPU
```
Run on (8 X 2300 MHz CPU s)
CPU Caches:
L1 Data 32 KiB (x4)
L1 Instruction 32 KiB (x4)
L2 Unified 256 KiB (x4)
L3 Unified 6144 KiB (x1)
Load Average: 1.95, 3.77, 4.13
-----------------------------------------------------------------------------------------------------
Benchmark Time CPU Iterations
-----------------------------------------------------------------------------------------------------
BM_atomic_wait_one_thread_one_atomic_wait/1024 184455 ns 183979 ns 3760
BM_atomic_wait_one_thread_one_atomic_wait/2048 361607 ns 360917 ns 1912
BM_atomic_wait_one_thread_one_atomic_wait/4096 709055 ns 708326 ns 929
BM_atomic_wait_one_thread_one_atomic_wait/8192 1469063 ns 1467430 ns 488
BM_atomic_wait_one_thread_one_atomic_wait/16384 2865332 ns 2863473 ns 237
BM_atomic_wait_one_thread_one_atomic_wait/32768 5839429 ns 5834708 ns 113
BM_atomic_wait_one_thread_one_atomic_wait/65536 11460822 ns 11453183 ns 60
BM_atomic_wait_one_thread_one_atomic_wait/131072 23052804 ns 23035000 ns 30
BM_atomic_wait_one_thread_one_atomic_wait/262144 46958743 ns 46712733 ns 15
BM_atomic_wait_one_thread_one_atomic_wait/524288 93151904 ns 92977429 ns 7
BM_atomic_wait_one_thread_one_atomic_wait/1048576 186100011 ns 185888500 ns 4
BM_atomic_wait_one_thread_one_atomic_wait/2097152 364548135 ns 364280000 ns 2
BM_atomic_wait_one_thread_one_atomic_wait/4194304 747181672 ns 745056000 ns 1
BM_atomic_wait_one_thread_one_atomic_wait/8388608 1473070400 ns 1471165000 ns 1
BM_atomic_wait_one_thread_one_atomic_wait/16777216 2950352547 ns 2947373000 ns 1
BM_atomic_wait_multi_thread_one_atomic_wait/1024 668544 ns 167233 ns 4496
BM_atomic_wait_multi_thread_one_atomic_wait/2048 1384668 ns 369750 ns 1941
BM_atomic_wait_multi_thread_one_atomic_wait/4096 2851627 ns 768559 ns 995
BM_atomic_wait_multi_thread_one_atomic_wait/8192 5797669 ns 1476876 ns 526
BM_atomic_wait_multi_thread_one_atomic_wait/16384 11597952 ns 2692792 ns 260
BM_atomic_wait_multi_thread_one_atomic_wait/32768 23528028 ns 5291465 ns 142
BM_atomic_wait_multi_thread_one_atomic_wait/65536 46287247 ns 8547713 ns 87
BM_atomic_wait_multi_thread_one_atomic_wait/131072 90315848 ns 13294492 ns 61
BM_atomic_wait_multi_thread_one_atomic_wait/262144 190722393 ns 16193917 ns 36
BM_atomic_wait_multi_thread_one_atomic_wait/524288 408456684 ns 23641600 ns 10
BM_atomic_wait_multi_thread_one_atomic_wait/1048576 708809670 ns 36361900 ns 10
BM_atomic_wait_multi_thread_wait_different_atomics/1024 2116444 ns 11669 ns 10000
BM_atomic_wait_multi_thread_wait_different_atomics/2048 12435259 ns 21905 ns 1000
BM_atomic_wait_multi_thread_wait_different_atomics/4096 6393816 ns 17819 ns 1000
BM_atomic_wait_multi_thread_wait_different_atomics/8192 11930400 ns 28637 ns 1000
BM_atomic_wait_multi_thread_wait_different_atomics/16384 20987224 ns 35272 ns 1000
BM_atomic_wait_multi_thread_wait_different_atomics/32768 44335820 ns 66660 ns 100
BM_atomic_wait_multi_thread_wait_different_atomics/65536 91395912 ns 129030 ns 100
BM_atomic_wait_multi_thread_wait_different_atomics/131072 145440007 ns 165960 ns 100
BM_atomic_wait_multi_thread_wait_different_atomics/262144 368219935 ns 420800 ns 10
BM_atomic_wait_multi_thread_wait_different_atomics/524288 630106863 ns 809500 ns 10
BM_atomic_wait_multi_thread_wait_different_atomics/1048576 1138174673 ns 1093000 ns 10
```
On apple arm
```
Run on (8 X 24.1208 MHz CPU s)
CPU Caches:
L1 Data 64 KiB (x8)
L1 Instruction 128 KiB (x8)
L2 Unified 4096 KiB (x2)
Load Average: 1.34, 1.58, 1.66
-----------------------------------------------------------------------------------------------------
Benchmark Time CPU Iterations
-----------------------------------------------------------------------------------------------------
BM_atomic_wait_one_thread_one_atomic_wait/1024 61602 ns 61602 ns 8701
BM_atomic_wait_one_thread_one_atomic_wait/2048 123148 ns 123146 ns 5688
BM_atomic_wait_one_thread_one_atomic_wait/4096 246248 ns 246249 ns 2888
BM_atomic_wait_one_thread_one_atomic_wait/8192 480373 ns 480359 ns 1455
BM_atomic_wait_one_thread_one_atomic_wait/16384 974725 ns 974721 ns 724
BM_atomic_wait_one_thread_one_atomic_wait/32768 1922185 ns 1922115 ns 355
BM_atomic_wait_one_thread_one_atomic_wait/65536 3940632 ns 3940608 ns 181
BM_atomic_wait_one_thread_one_atomic_wait/131072 7886302 ns 7886102 ns 88
BM_atomic_wait_one_thread_one_atomic_wait/262144 15393156 ns 15393000 ns 45
BM_atomic_wait_one_thread_one_atomic_wait/524288 30833221 ns 30832174 ns 23
BM_atomic_wait_one_thread_one_atomic_wait/1048576 62551936 ns 62551909 ns 11
BM_atomic_wait_one_thread_one_atomic_wait/2097152 123155625 ns 123155667 ns 6
BM_atomic_wait_one_thread_one_atomic_wait/4194304 252468180 ns 252458667 ns 3
BM_atomic_wait_one_thread_one_atomic_wait/8388608 505075604 ns 505075500 ns 2
BM_atomic_wait_one_thread_one_atomic_wait/16777216 992977209 ns 992935000 ns 1
BM_atomic_wait_multi_thread_one_atomic_wait/1024 531411 ns 239695 ns 2783
BM_atomic_wait_multi_thread_one_atomic_wait/2048 1030592 ns 484868 ns 1413
BM_atomic_wait_multi_thread_one_atomic_wait/4096 1951896 ns 922357 ns 631
BM_atomic_wait_multi_thread_one_atomic_wait/8192 3759893 ns 1952074 ns 390
BM_atomic_wait_multi_thread_one_atomic_wait/16384 7417929 ns 3458309 ns 233
BM_atomic_wait_multi_thread_one_atomic_wait/32768 14386361 ns 5590830 ns 100
BM_atomic_wait_multi_thread_one_atomic_wait/65536 29725536 ns 6521887 ns 115
BM_atomic_wait_multi_thread_one_atomic_wait/131072 60023797 ns 10766795 ns 73
BM_atomic_wait_multi_thread_one_atomic_wait/262144 120782267 ns 17532091 ns 44
BM_atomic_wait_multi_thread_one_atomic_wait/524288 242539333 ns 27506920 ns 25
BM_atomic_wait_multi_thread_one_atomic_wait/1048576 482833787 ns 53721600 ns 10
BM_atomic_wait_multi_thread_wait_different_atomics/1024 2230048 ns 626042 ns 1000
BM_atomic_wait_multi_thread_wait_different_atomics/2048 3931958 ns 837540 ns 884
BM_atomic_wait_multi_thread_wait_different_atomics/4096 6506887 ns 1127922 ns 586
BM_atomic_wait_multi_thread_wait_different_atomics/8192 10528008 ns 1651254 ns 456
BM_atomic_wait_multi_thread_wait_different_atomics/16384 18055829 ns 2066379 ns 317
BM_atomic_wait_multi_thread_wait_different_atomics/32768 29878496 ns 2875600 ns 100
BM_atomic_wait_multi_thread_wait_different_atomics/65536 50523799 ns 3193170 ns 100
BM_atomic_wait_multi_thread_wait_different_atomics/131072 85926943 ns 4121950 ns 100
BM_atomic_wait_multi_thread_wait_different_atomics/262144 154602296 ns 5879050 ns 100
BM_atomic_wait_multi_thread_wait_different_atomics/524288 279121754 ns 10063400 ns 10
BM_atomic_wait_multi_thread_wait_different_atomics/1048576 522796900 ns 12370300 ns 10
```
Commit: 98a07f72eefb43476ca9e7af3178879d6ef71464
https://github.com/llvm/llvm-project/commit/98a07f72eefb43476ca9e7af3178879d6ef71464
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/ctpop-mask.ll
Log Message:
-----------
[X86] LowerCTPOP - "ctpop(i2 x) --> sub(x, (x >> 1))"
If we only have 2 active bits then we can avoid the i8 CTPOP multiply expansion entirely
Another expansion pulled from #79823
Commit: b8c9b0613465b2770d2ae7f61364ddce6bba4511
https://github.com/llvm/llvm-project/commit/b8c9b0613465b2770d2ae7f61364ddce6bba4511
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/ctpop-mask.ll
Log Message:
-----------
[X86] LowerCTPOP - add i3 and i4 LUT 'shift+mask' expansions
Use the 3 or 4 active bits as a shift amount into a i32/i64 constant representing the number of set bits.
In future, it might be worthwhile to move this into a generic location in case other targets want to make use of them.
Another expansion pulled from #79823
Commit: 88a18556aeeaf70315990ed9fb23c28834edf454
https://github.com/llvm/llvm-project/commit/88a18556aeeaf70315990ed9fb23c28834edf454
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
Fix MSVC signed/unsigned mismatch warning
Commit: e3d4cac2bcbdb719a0d29055c8c60df0e98e0126
https://github.com/llvm/llvm-project/commit/e3d4cac2bcbdb719a0d29055c8c60df0e98e0126
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
Fix MSVC "not all control paths return a value" warning
Commit: 1a7166833d38a2a5c26eacecd13833a9a15e3b3d
https://github.com/llvm/llvm-project/commit/1a7166833d38a2a5c26eacecd13833a9a15e3b3d
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
A llvm/test/CodeGen/AArch64/stack-probing-shrink-wrap.mir
Log Message:
-----------
[AArch64] Fix stack probing clobbering flags (#81879)
Certain stack probing sequences might clobber flags, then we can't use a
block as a prologue if the flags register is a live-in on entry to that
block.
Commit: 61bc5f6c7383ec7d8a0e847abcd56ddc02ee77bf
https://github.com/llvm/llvm-project/commit/61bc5f6c7383ec7d8a0e847abcd56ddc02ee77bf
Author: harishch4 <harishcse44 at gmail.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M flang/lib/Lower/Mangler.cpp
A flang/test/Lower/HLFIR/block_bindc_pocs.f90
Log Message:
-----------
[Flang]: Fix to bind(C) procs inside BLOCK construct (#82483)
Name mangling is invoked for a bind(C) procedure contained in a block in
a context that does not have access to block ID mapping. Relaxing an
assert to account for this.
Fixes #79408
Commit: 91ebd010aa76a711abd88f74ecca8e82e15b23cd
https://github.com/llvm/llvm-project/commit/91ebd010aa76a711abd88f74ecca8e82e15b23cd
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.h
M clang/lib/AST/Interp/Interp.cpp
Log Message:
-----------
[clang][Interp] Remove dereference()
This function tried to be smart about the dereferenced value,
but it ended up hurting more than it helped. At least in the current
state, where we still try get the correct output.
I might add something similar back later.
Commit: f7c2e5fa05d221a3dfc53744f353517407c2ffec
https://github.com/llvm/llvm-project/commit/f7c2e5fa05d221a3dfc53744f353517407c2ffec
Author: Rajveer Singh Bharadwaj <rajveer.developer at icloud.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/test/SemaCXX/cxx2b-deducing-this.cpp
Log Message:
-----------
[clang] [SemaCXX] Disallow deducing "this" on operator `new` and `delete` (#82251)
Resolves Issue #82249
As described in the issue, any deallocation function for a `class X` is
a static member (even if not explicitly declared static).
Commit: 6ba8ca8c1600ce33274e4f22397bd4d400f0ad8d
https://github.com/llvm/llvm-project/commit/6ba8ca8c1600ce33274e4f22397bd4d400f0ad8d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/test/Analysis/CostModel/X86/icmp-codesize.ll
M llvm/test/Analysis/CostModel/X86/icmp-latency.ll
M llvm/test/Analysis/CostModel/X86/icmp-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/icmp.ll
Log Message:
-----------
[CostModel][X86] Don't use undef for icmp cost tests
Cleanup prior to #80122 fix - using undef means we think that the comparison is with a Constant
Commit: a0869b14cde9ed71bb4323c8717f59ee1b1e79bf
https://github.com/llvm/llvm-project/commit/a0869b14cde9ed71bb4323c8717f59ee1b1e79bf
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/X86/ctpop-codesize.ll
M llvm/test/Analysis/CostModel/X86/ctpop-sizelatency.ll
Log Message:
-----------
[CostModel][X86] Fix expanded CTPOP i8 costs
Updated to match #79989 / 9410019ac977141bc73aee19690b5896ded59219
Commit: 4d4af15c3fb671ed9f7eef9f29ebd6fde15618df
https://github.com/llvm/llvm-project/commit/4d4af15c3fb671ed9f7eef9f29ebd6fde15618df
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M flang/lib/Lower/CMakeLists.txt
R flang/lib/Lower/OpenMP.cpp
A flang/lib/Lower/OpenMP/ClauseProcessor.cpp
A flang/lib/Lower/OpenMP/ClauseProcessor.h
A flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
A flang/lib/Lower/OpenMP/DataSharingProcessor.h
A flang/lib/Lower/OpenMP/OpenMP.cpp
A flang/lib/Lower/OpenMP/ReductionProcessor.cpp
A flang/lib/Lower/OpenMP/ReductionProcessor.h
A flang/lib/Lower/OpenMP/Utils.cpp
A flang/lib/Lower/OpenMP/Utils.h
Log Message:
-----------
[NFC][flang][OpenMP] Split `DataSharing` and `Clause` processors (#81973)
This started as an experiment to reduce the compilation time of
iterating over `Lower/OpenMP.cpp` a bit since it is too slow at the
moment. Trying to do that, I split the `DataSharingProcessor`,
`ReductionProcessor`, and `ClauseProcessor` into their own files and
extracted some shared code into a util file. All of these new `.h/.cpp`
files as well as `OpenMP.cpp` are now under a `Lower/OpenMP/` directory.
This resulted is a slightly better organization of the OpenMP lowering
code and hence opening this NFC.
As for the compilation time, this unfortunately does not affect it much
(it shaves off a few seconds of `OpenMP.cpp` compilation) since from
what I learned the bottleneck is in `DirectivesCommon.h` and
`PFTBuilder.h` which both consume a lot of time in template
instantiation it seems.
Commit: 5a023f564f9886bcc732147d12e114f5ced92c5d
https://github.com/llvm/llvm-project/commit/5a023f564f9886bcc732147d12e114f5ced92c5d
Author: Dinar Temirbulatov <Dinar.Temirbulatov at arm.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/sve-fixed-length-vector-shuffle-tbl.ll
Log Message:
-----------
[AArch64][SVE2] Enable dynamic shuffle for fixed length types. (#72490)
When SVE register size is unknown or the minimal size is not equal to
the maximum size then we could determine the actual SVE register size in
the runtime and adjust shuffle mask in the runtime.
Commit: 73185854a3fc469b7d3e21d0b5d2ecb5ee15d201
https://github.com/llvm/llvm-project/commit/73185854a3fc469b7d3e21d0b5d2ecb5ee15d201
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaChecking.cpp
M clang/test/CXX/drs/dr17xx.cpp
M clang/test/SemaCXX/type-traits.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[clang] Implement CWG1719 "Layout compatibility and cv-qualification revisited" (#82358)
This patch updates our internal notion of `layout-compatible` to ignore cv-qualification,
which in turn fixes `__is_layout_compatible` intrinsic.
Commit: 9c0e45d7f0e2202e16dbd9a7b9f462e2bcb741ae
https://github.com/llvm/llvm-project/commit/9c0e45d7f0e2202e16dbd9a7b9f462e2bcb741ae
Author: Jonas Paulsson <paulson1 at linux.ibm.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
A llvm/test/CodeGen/SystemZ/frame-29.ll
Log Message:
-----------
[SystemZ] Use VT (not ArgVT) for SlotVT in LowerCall(). (#82475)
When an integer argument is promoted and *not* split (like i72 -> i128 on
a new machine with vector support), the SlotVT should be i128, which is
stored in VT - not ArgVT.
Fixes #81417
Commit: e214f004cb9e17847262d8fe64926a9cad6d2e86
https://github.com/llvm/llvm-project/commit/e214f004cb9e17847262d8fe64926a9cad6d2e86
Author: Matthias Springer <me at m-sp.org>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M mlir/include/mlir/Transforms/DialectConversion.h
M mlir/lib/Transforms/Utils/DialectConversion.cpp
Log Message:
-----------
[mlir][Transforms][NFC] Turn in-place op modification into `IRRewrite` (#81245)
This commit simplifies the internal state of the dialect conversion. A
separate field for the previous state of in-place op modifications is no
longer needed.
Commit: 3a70335bae25b9df39e20d714d3ed1ab0fc6d20a
https://github.com/llvm/llvm-project/commit/3a70335bae25b9df39e20d714d3ed1ab0fc6d20a
Author: Matthias Springer <me at m-sp.org>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M mlir/lib/Transforms/Utils/DialectConversion.cpp
M mlir/test/Transforms/test-legalizer.mlir
M mlir/test/lib/Dialect/Test/TestPatterns.cpp
Log Message:
-----------
[mlir][Transforms] Support rolling back properties in dialect conversion (#82474)
The dialect conversion rolls back in-place op modifications upon
failure. Rolling back modifications of attributes is already supported,
but there was no support for properties until now.
Commit: b49f155cb9144b208b1291b5f02630d588350e1a
https://github.com/llvm/llvm-project/commit/b49f155cb9144b208b1291b5f02630d588350e1a
Author: Matthias Springer <me at m-sp.org>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M mlir/lib/Transforms/Utils/DialectConversion.cpp
Log Message:
-----------
[mlir][Transforms][NFC] Simplify `ArgConverter` state (#81462)
* When converting a block signature, `ArgConverter` creates a new block
with the new signature and moves all operation from the old block to the
new block. The new block is temporarily inserted into a region that is
stored in `regionMapping`. The old block is not yet deleted, so that the
conversion can be rolled back. `regionMapping` is not needed. Instead of
moving the old block to a temporary region, it can just be unlinked.
Block erasures are handles in the same way in the dialect conversion.
* `regionToConverter` is a mapping from regions to type converter. That
field is never accessed within `ArgConverter`. It should be stored in
`ConversionPatternRewriterImpl` instead.
* `convertedBlocks` is not needed. Old blocks are already stored in
`ConvertedBlockInfo`.
Commit: f037e709cad410b885cb22ebb22e7e7539d41fb0
https://github.com/llvm/llvm-project/commit/f037e709cad410b885cb22ebb22e7e7539d41fb0
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/RISCV/shuffle-extract_subvector.ll
Log Message:
-----------
[RISCV][TTI] Cost a subvector extract at a register boundary with exact vlen (#82405)
If we have exact vlen knowledge, we can figure out which indices
correspond to register boundaries. Our lowering uses this knowledge to
replace the vslidedown.vi with a sub-register extract. Our costs can
reflect that as well.
This is another piece split off
https://github.com/llvm/llvm-project/pull/80164
---------
Co-authored-by: Luke Lau <luke_lau at icloud.com>
Commit: 3ee8c93769cd094ea0748b4a446a475160c0f51f
https://github.com/llvm/llvm-project/commit/3ee8c93769cd094ea0748b4a446a475160c0f51f
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Frontend/Offloading/Utility.cpp
Log Message:
-----------
[Offload] Fix NVPTX global entry names
Summary:
This was missed, the NVPTX globals cannot use a `.`.
Commit: ffcdf47bc443b36754c36bd6e1a77b4163657a00
https://github.com/llvm/llvm-project/commit/ffcdf47bc443b36754c36bd6e1a77b4163657a00
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
A clang/test/AST/Interp/pointer-addition.c
Log Message:
-----------
[clang][Interp] Allow adding an offset to a function pointer
Pretty sure this isn't doing anything, but it fixes a test and
is generally the right thing to do.
Fixing the behavior will come later.
Commit: 4beb4d5c72880ec69ef36bdebaed06c90cc5309b
https://github.com/llvm/llvm-project/commit/4beb4d5c72880ec69ef36bdebaed06c90cc5309b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
A llvm/test/Analysis/CostModel/X86/icmp0.ll
Log Message:
-----------
[CostModel][X86] Add test coverage for icmp vs zero
This is really to test for icmp vs constant - some icmp unsigned could fold to simpler comparisons, but costmodel analysis won't do this
Commit: c16d0d14de40559eb3845a88b6434550dd1dcf77
https://github.com/llvm/llvm-project/commit/c16d0d14de40559eb3845a88b6434550dd1dcf77
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
A llvm/test/Transforms/SimplifyCFG/X86/PR80122.ll
Log Message:
-----------
[SimplifyCFG] Add test coverage for #80122
Commit: 9978f6a10f37d12e1eecad0d4bfacd350d933ed7
https://github.com/llvm/llvm-project/commit/9978f6a10f37d12e1eecad0d4bfacd350d933ed7
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/X86/icmp0.ll
M llvm/test/Transforms/SimplifyCFG/X86/PR80122.ll
Log Message:
-----------
[CostModel][X86] Reduce the extra costs for ICMP complex predicates when an operand is constant
In most cases, SETCC lowering will be able to simplify/commute the comparison by adjusting the constant.
TODO: We still need to adjust ExtraCost based on CostKind
Fixes #80122
Commit: 453b1a2fce3c46e866131797f876976032cff384
https://github.com/llvm/llvm-project/commit/453b1a2fce3c46e866131797f876976032cff384
Author: cmtice <cmtice at google.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/include/llvm/BinaryFormat/Dwarf.h
M llvm/lib/CodeGen/AsmPrinter/AccelTable.cpp
Log Message:
-----------
[LLVM][DWARF] Refactor code for generating DWARF V5 .debug_names (#82394)
[LLVM][DWARF] Refactor code for generating DWARF v5 .debug_names
Refactor the code that uniques the entries and computes the bucket count
for the DWARF V5 .debug_names accelerator table.
Commit: 13b0321e978fd95503d5f5471a0cfdcd439a5936
https://github.com/llvm/llvm-project/commit/13b0321e978fd95503d5f5471a0cfdcd439a5936
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
Log Message:
-----------
[clang][Interp][NFC] Reject unimplemented cast expressions differently
Instead of asserting, emit an appropriate diagnostic.
Commit: 3f732c4141e95de829a896c38af11473377dbcd6
https://github.com/llvm/llvm-project/commit/3f732c4141e95de829a896c38af11473377dbcd6
Author: Matthias Springer <me at m-sp.org>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M mlir/lib/Transforms/Utils/DialectConversion.cpp
Log Message:
-----------
[mlir][Transforms] Fix use-after-free in #82474 (#82504)
When a `ModifyOperationRewrite` is committed, the operation may already
have been erased, so `OperationName` must be cached in the rewrite
object.
Note: This will no longer be needed with #81757, which adds a "cleanup"
method to `IRRewrite`.
Commit: 2cd59bdc891ab59a1abfe5205feb45791a530a47
https://github.com/llvm/llvm-project/commit/2cd59bdc891ab59a1abfe5205feb45791a530a47
Author: Luke Lau <luke at igalia.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
Log Message:
-----------
[RISCV] Add test case for miscompile in gather -> strided load combine. NFC
This shows the issue in #82430, but triggers it via the widening SEW combine
rather than a GEP that RISCVGatherScatterLowering doesn't detect.
Commit: 2e29c91b96832504b9008be5e095f7dd640cdea0
https://github.com/llvm/llvm-project/commit/2e29c91b96832504b9008be5e095f7dd640cdea0
Author: Mogball <jeff at modular.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
M llvm/test/Transforms/Coroutines/coro-async-addr-lifetime-infinite-loop-bug.ll
M llvm/test/Transforms/Coroutines/coro-async-addr-lifetime-start-bug.ll
M llvm/test/Transforms/Coroutines/coro-async-dyn-align.ll
R llvm/test/Transforms/Coroutines/coro-async-mutal-recursive.ll
M llvm/test/Transforms/Coroutines/coro-async-unreachable.ll
M llvm/test/Transforms/Coroutines/coro-async.ll
M llvm/test/Transforms/Coroutines/swift-async-dbg.ll
Log Message:
-----------
Revert "[Coro] [async] Disable inlining in async coroutine splitting (#80904)"
This reverts commit b1ac052ab07ea091c90c2b7c89445b2bfcfa42ab.
This commit breaks coroutine splitting for non-swift calling convention
functions. In this example:
```ll
; ModuleID = 'repro.ll'
source_filename = "stdlib/test/runtime/test_llcl.mojo"
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
@0 = internal constant { i32, i32 } { i32 trunc (i64 sub (i64 ptrtoint (ptr @crash to i64), i64 ptrtoint (ptr getelementptr inbounds ({ i32, i32 }, ptr @0, i32 0, i32 1) to i64)) to i32), i32 64 }
define dso_local void @af_suspend_fn(ptr %0, i64 %1, ptr %2) #0 {
ret void
}
define dso_local void @crash(ptr %0) #0 {
%2 = call token @llvm.coro.id.async(i32 64, i32 8, i32 0, ptr @0)
%3 = call ptr @llvm.coro.begin(token %2, ptr null)
%4 = getelementptr inbounds { ptr, { ptr, ptr }, i64, { ptr, i1 }, i64, i64 }, ptr poison, i32 0, i32 0
%5 = call ptr @llvm.coro.async.resume()
store ptr %5, ptr %4, align 8
%6 = call { ptr, ptr, ptr } (i32, ptr, ptr, ...) @llvm.coro.suspend.async.sl_p0p0p0s(i32 0, ptr %5, ptr @ctxt_proj_fn, ptr @af_suspend_fn, ptr poison, i64 -1, ptr poison)
ret void
}
define dso_local ptr @ctxt_proj_fn(ptr %0) #0 {
ret ptr %0
}
; Function Attrs: nomerge nounwind
declare { ptr, ptr, ptr } @llvm.coro.suspend.async.sl_p0p0p0s(i32, ptr, ptr, ...) #1
; Function Attrs: nounwind
declare token @llvm.coro.id.async(i32, i32, i32, ptr) #2
; Function Attrs: nounwind
declare ptr @llvm.coro.begin(token, ptr writeonly) #2
; Function Attrs: nomerge nounwind
declare ptr @llvm.coro.async.resume() #1
attributes #0 = { "target-features"="+adx,+aes,+avx,+avx2,+bmi,+bmi2,+clflushopt,+clwb,+clzero,+crc32,+cx16,+cx8,+f16c,+fma,+fsgsbase,+fxsr,+invpcid,+lzcnt,+mmx,+movbe,+mwaitx,+pclmul,+pku,+popcnt,+prfchw,+rdpid,+rdpru,+rdrnd,+rdseed,+sahf,+sha,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+sse4a,+ssse3,+vaes,+vpclmulqdq,+wbnoinvd,+x87,+xsave,+xsavec,+xsaveopt,+xsaves" }
attributes #1 = { nomerge nounwind }
attributes #2 = { nounwind }
```
This verifier crashes after the `coro-split` pass with
```
cannot guarantee tail call due to mismatched parameter counts
musttail call void @af_suspend_fn(ptr poison, i64 -1, ptr poison)
LLVM ERROR: Broken function
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0. Program arguments: opt ../../../reduced.ll -O0
#0 0x00007f1d89645c0e __interceptor_backtrace.part.0 /build/gcc-11-XeT9lY/gcc-11-11.4.0/build/x86_64-linux-gnu/libsanitizer/asan/../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:4193:28
#1 0x0000556d94d254f7 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /home/ubuntu/modular/third-party/llvm-project/llvm/lib/Support/Unix/Signals.inc:723:22
#2 0x0000556d94d19a2f llvm::sys::RunSignalHandlers() /home/ubuntu/modular/third-party/llvm-project/llvm/lib/Support/Signals.cpp:105:20
#3 0x0000556d94d1aa42 SignalHandler(int) /home/ubuntu/modular/third-party/llvm-project/llvm/lib/Support/Unix/Signals.inc:371:36
#4 0x00007f1d88e42520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
#5 0x00007f1d88e969fc __pthread_kill_implementation ./nptl/pthread_kill.c:44:76
#6 0x00007f1d88e969fc __pthread_kill_internal ./nptl/pthread_kill.c:78:10
#7 0x00007f1d88e969fc pthread_kill ./nptl/pthread_kill.c:89:10
#8 0x00007f1d88e42476 gsignal ./signal/../sysdeps/posix/raise.c:27:6
#9 0x00007f1d88e287f3 abort ./stdlib/abort.c:81:7
#10 0x0000556d8944be01 std::vector<llvm::json::Value, std::allocator<llvm::json::Value>>::size() const /usr/include/c++/11/bits/stl_vector.h:919:40
#11 0x0000556d8944be01 bool std::operator==<llvm::json::Value, std::allocator<llvm::json::Value>>(std::vector<llvm::json::Value, std::allocator<llvm::json::Value>> const&, std::vector<llvm::json::Value, std::allocator<llvm::json::Value>> const&) /usr/include/c++/11/bits/stl_vector.h:1893:23
#12 0x0000556d8944be01 llvm::json::operator==(llvm::json::Array const&, llvm::json::Array const&) /home/ubuntu/modular/third-party/llvm-project/llvm/include/llvm/Support/JSON.h:572:69
#13 0x0000556d8944be01 llvm::json::operator==(llvm::json::Value const&, llvm::json::Value const&) (.cold) /home/ubuntu/modular/third-party/llvm-project/llvm/lib/Support/JSON.cpp:204:28
#14 0x0000556d949ed2bd llvm::report_fatal_error(char const*, bool) /home/ubuntu/modular/third-party/llvm-project/llvm/lib/Support/ErrorHandling.cpp:82:70
#15 0x0000556d8e37e876 llvm::SmallVectorBase<unsigned int>::size() const /home/ubuntu/modular/third-party/llvm-project/llvm/include/llvm/ADT/SmallVector.h:91:32
#16 0x0000556d8e37e876 llvm::SmallVectorTemplateCommon<llvm::DiagnosticInfoOptimizationBase::Argument, void>::end() /home/ubuntu/modular/third-party/llvm-project/llvm/include/llvm/ADT/SmallVector.h:282:41
#17 0x0000556d8e37e876 llvm::SmallVector<llvm::DiagnosticInfoOptimizationBase::Argument, 4u>::~SmallVector() /home/ubuntu/modular/third-party/llvm-project/llvm/include/llvm/ADT/SmallVector.h:1215:24
#18 0x0000556d8e37e876 llvm::DiagnosticInfoOptimizationBase::~DiagnosticInfoOptimizationBase() /home/ubuntu/modular/third-party/llvm-project/llvm/include/llvm/IR/DiagnosticInfo.h:413:7
#19 0x0000556d8e37e876 llvm::DiagnosticInfoIROptimization::~DiagnosticInfoIROptimization() /home/ubuntu/modular/third-party/llvm-project/llvm/include/llvm/IR/DiagnosticInfo.h:622:7
#20 0x0000556d8e37e876 llvm::OptimizationRemark::~OptimizationRemark() /home/ubuntu/modular/third-party/llvm-project/llvm/include/llvm/IR/DiagnosticInfo.h:689:7
#21 0x0000556d8e37e876 operator() /home/ubuntu/modular/third-party/llvm-project/llvm/lib/Transforms/Coroutines/CoroSplit.cpp:2213:14
#22 0x0000556d8e37e876 emit<llvm::CoroSplitPass::run(llvm::LazyCallGraph::SCC&, llvm::CGSCCAnalysisManager&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&)::<lambda()> > /home/ubuntu/modular/third-party/llvm-project/llvm/include/llvm/Analysis/OptimizationRemarkEmitter.h:83:12
#23 0x0000556d8e37e876 llvm::CoroSplitPass::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) /home/ubuntu/modular/third-party/llvm-project/llvm/lib/Transforms/Coroutines/CoroSplit.cpp:2212:13
#24 0x0000556d8c36ecb1 llvm::detail::PassModel<llvm::LazyCallGraph::SCC, llvm::CoroSplitPass, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) /home/ubuntu/modular/third-party/llvm-project/llvm/include/llvm/IR/PassManagerInternal.h:91:3
#25 0x0000556d91c1a84f llvm::PassManager<llvm::LazyCallGraph::SCC, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) /home/ubuntu/modular/third-party/llvm-project/llvm/lib/Analysis/CGSCCPassManager.cpp:90:12
#26 0x0000556d8c3690d1 llvm::detail::PassModel<llvm::LazyCallGraph::SCC, llvm::PassManager<llvm::LazyCallGraph::SCC, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) /home/ubuntu/modular/third-party/llvm-project/llvm/include/llvm/IR/PassManagerInternal.h:91:3
#27 0x0000556d91c2162d llvm::ModuleToPostOrderCGSCCPassAdaptor::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) /home/ubuntu/modular/third-party/llvm-project/llvm/lib/Analysis/CGSCCPassManager.cpp:278:18
#28 0x0000556d8c369035 llvm::detail::PassModel<llvm::Module, llvm::ModuleToPostOrderCGSCCPassAdaptor, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) /home/ubuntu/modular/third-party/llvm-project/llvm/include/llvm/IR/PassManagerInternal.h:91:3
#29 0x0000556d9457abc5 llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) /home/ubuntu/modular/third-party/llvm-project/llvm/include/llvm/IR/PassManager.h:247:20
#30 0x0000556d8e30979e llvm::CoroConditionalWrapper::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) /home/ubuntu/modular/third-party/llvm-project/llvm/lib/Transforms/Coroutines/CoroConditionalWrapper.cpp:19:74
#31 0x0000556d8c365755 llvm::detail::PassModel<llvm::Module, llvm::CoroConditionalWrapper, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) /home/ubuntu/modular/third-party/llvm-project/llvm/include/llvm/IR/PassManagerInternal.h:91:3
#32 0x0000556d9457abc5 llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) /home/ubuntu/modular/third-party/llvm-project/llvm/include/llvm/IR/PassManager.h:247:20
#33 0x0000556d89818556 llvm::SmallPtrSetImplBase::isSmall() const /home/ubuntu/modular/third-party/llvm-project/llvm/include/llvm/ADT/SmallPtrSet.h:196:33
#34 0x0000556d89818556 llvm::SmallPtrSetImplBase::~SmallPtrSetImplBase() /home/ubuntu/modular/third-party/llvm-project/llvm/include/llvm/ADT/SmallPtrSet.h:84:17
#35 0x0000556d89818556 llvm::SmallPtrSetImpl<llvm::AnalysisKey*>::~SmallPtrSetImpl() /home/ubuntu/modular/third-party/llvm-project/llvm/include/llvm/ADT/SmallPtrSet.h:321:7
#36 0x0000556d89818556 llvm::SmallPtrSet<llvm::AnalysisKey*, 2u>::~SmallPtrSet() /home/ubuntu/modular/third-party/llvm-project/llvm/include/llvm/ADT/SmallPtrSet.h:427:7
#37 0x0000556d89818556 llvm::PreservedAnalyses::~PreservedAnalyses() /home/ubuntu/modular/third-party/llvm-project/llvm/include/llvm/IR/Analysis.h:109:7
#38 0x0000556d89818556 llvm::runPassPipeline(llvm::StringRef, llvm::Module&, llvm::TargetMachine*, llvm::TargetLibraryInfoImpl*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::StringRef, llvm::ArrayRef<llvm::PassPlugin>, llvm::ArrayRef<std::function<void (llvm::PassBuilder&)>>, llvm::opt_tool::OutputKind, llvm::opt_tool::VerifierKind, bool, bool, bool, bool, bool, bool, bool) /home/ubuntu/modular/third-party/llvm-project/llvm/tools/opt/NewPMDriver.cpp:532:10
#39 0x0000556d897e3939 optMain /home/ubuntu/modular/third-party/llvm-project/llvm/tools/opt/optdriver.cpp:737:27
#40 0x0000556d89455461 main /home/ubuntu/modular/third-party/llvm-project/llvm/tools/opt/opt.cpp:25:33
#41 0x00007f1d88e29d90 __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:58:16
#42 0x00007f1d88e29e40 call_init ./csu/../csu/libc-start.c:128:20
#43 0x00007f1d88e29e40 __libc_start_main ./csu/../csu/libc-start.c:379:5
#44 0x0000556d897b6335 _start (/home/ubuntu/modular/.derived/third-party/llvm-project/build-relwithdebinfo-asan/bin/opt+0x150c335)
Aborted (core dumped)
Commit: 162fa4dd25d631d0ab7816ec6081bcaff951a23c
https://github.com/llvm/llvm-project/commit/162fa4dd25d631d0ab7816ec6081bcaff951a23c
Author: Harald van Dijk <harald at gigawatt.nl>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/IR/Module.cpp
Log Message:
-----------
Module::getOrInsertFunction: set debug info format (#82505)
Function::Function's constructor sets the debug info format based on the
passed in parent Module, so by using this rather than modifying the
function list directly, we pick up the debug info format automatically.
Commit: 71441ed1716e6ed3f053dea9c1ceb9cfe2822aea
https://github.com/llvm/llvm-project/commit/71441ed1716e6ed3f053dea9c1ceb9cfe2822aea
Author: Diego Caballero <diegocaballero at google.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/Vector/Transforms/VectorRewritePatterns.h
M mlir/lib/Dialect/Vector/Transforms/VectorTransferOpTransforms.cpp
M mlir/test/Dialect/Vector/vector-transfer-flatten.mlir
M mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp
Log Message:
-----------
[mlir][Vector] Add vector bitwidth target to xfer op flattening (#81966)
This PR adds an optional bitwidth parameter to the vector xfer op
flattening transformation so that the flattening doesn't happen if the
trailing dimension of the read/writen vector is larger than this
bitwidth (i.e., we are already able to fill at least one vector register
with that size).
Commit: 58f45d909d2a1565128846e423b480808736f214
https://github.com/llvm/llvm-project/commit/58f45d909d2a1565128846e423b480808736f214
Author: Pranav Bhandarkar <pranav.bhandarkar at amd.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/test/Lower/OpenMP/target.f90
M flang/test/Semantics/OpenMP/clause-validity01.f90
Log Message:
-----------
[flang][openmp] - depend clause support in target, target enter/update/exit data constructs (#81610)
This patch adds support in flang for the depend clause in target and
target enter/update/exit constructs. Previously, the following line in a
fortran program would have resulted in the error shown below it.
!$omp target map(to:a) depend(in:a)
"not yet implemented: Unhandled clause DEPEND in TARGET construct"
Commit: cc374d8056990a4c6df44173ad7ef59474ba498b
https://github.com/llvm/llvm-project/commit/cc374d8056990a4c6df44173ad7ef59474ba498b
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/test/OpenMP/bug60602.cpp
M clang/test/OpenMP/distribute_codegen.cpp
M clang/test/OpenMP/distribute_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_if_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_num_threads_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_private_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_proc_bind_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_if_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_num_threads_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_private_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_proc_bind_codegen.cpp
M clang/test/OpenMP/distribute_private_codegen.cpp
M clang/test/OpenMP/distribute_simd_codegen.cpp
M clang/test/OpenMP/distribute_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_simd_private_codegen.cpp
M clang/test/OpenMP/distribute_simd_reduction_codegen.cpp
M clang/test/OpenMP/map_struct_ordering.cpp
M clang/test/OpenMP/nvptx_lambda_capturing.cpp
M clang/test/OpenMP/openmp_offload_registration.cpp
M clang/test/OpenMP/reduction_implicit_map.cpp
M clang/test/OpenMP/target_codegen.cpp
M clang/test/OpenMP/target_codegen_global_capture.cpp
M clang/test/OpenMP/target_codegen_registration.cpp
M clang/test/OpenMP/target_depend_codegen.cpp
M clang/test/OpenMP/target_firstprivate_codegen.cpp
M clang/test/OpenMP/target_has_device_addr_codegen.cpp
M clang/test/OpenMP/target_has_device_addr_codegen_01.cpp
M clang/test/OpenMP/target_is_device_ptr_codegen.cpp
M clang/test/OpenMP/target_map_codegen_03.cpp
M clang/test/OpenMP/target_map_codegen_hold.cpp
M clang/test/OpenMP/target_map_deref_array_codegen.cpp
M clang/test/OpenMP/target_map_member_expr_codegen.cpp
M clang/test/OpenMP/target_offload_mandatory_codegen.cpp
M clang/test/OpenMP/target_ompx_dyn_cgroup_mem_codegen.cpp
M clang/test/OpenMP/target_parallel_codegen.cpp
M clang/test/OpenMP/target_parallel_codegen_registration.cpp
M clang/test/OpenMP/target_parallel_depend_codegen.cpp
M clang/test/OpenMP/target_parallel_for_codegen.cpp
M clang/test/OpenMP/target_parallel_for_codegen_registration.cpp
M clang/test/OpenMP/target_parallel_for_depend_codegen.cpp
M clang/test/OpenMP/target_parallel_for_simd_codegen.cpp
M clang/test/OpenMP/target_parallel_for_simd_codegen_registration.cpp
M clang/test/OpenMP/target_parallel_for_simd_depend_codegen.cpp
M clang/test/OpenMP/target_parallel_generic_loop_codegen-1.cpp
M clang/test/OpenMP/target_parallel_generic_loop_codegen-2.cpp
M clang/test/OpenMP/target_parallel_generic_loop_depend_codegen.cpp
M clang/test/OpenMP/target_parallel_generic_loop_uses_allocators_codegen.cpp
M clang/test/OpenMP/target_parallel_if_codegen.cpp
M clang/test/OpenMP/target_parallel_num_threads_codegen.cpp
M clang/test/OpenMP/target_simd_codegen.cpp
M clang/test/OpenMP/target_simd_codegen_registration.cpp
M clang/test/OpenMP/target_simd_depend_codegen.cpp
M clang/test/OpenMP/target_task_affinity_codegen.cpp
M clang/test/OpenMP/target_teams_codegen.cpp
M clang/test/OpenMP/target_teams_codegen_registration.cpp
M clang/test/OpenMP/target_teams_depend_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_codegen_registration.cpp
M clang/test/OpenMP/target_teams_distribute_collapse_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_depend_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_dist_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_lastprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_collapse_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_depend_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_dist_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_if_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_lastprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_order_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_private_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_proc_bind_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_reduction_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_codegen_registration.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_collapse_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_depend_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_dist_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_if_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_private_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_proc_bind_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_reduction_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_private_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_reduction_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_codegen_registration.cpp
M clang/test/OpenMP/target_teams_distribute_simd_collapse_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_depend_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_dist_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_private_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_reduction_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_codegen-1.cpp
M clang/test/OpenMP/target_teams_generic_loop_collapse_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_depend_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_if_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_order_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_private_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_reduction_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_uses_allocators_codegen.cpp
M clang/test/OpenMP/target_teams_map_codegen.cpp
M clang/test/OpenMP/target_teams_num_teams_codegen.cpp
M clang/test/OpenMP/target_teams_thread_limit_codegen.cpp
M clang/test/OpenMP/teams_codegen.cpp
M clang/test/OpenMP/teams_distribute_codegen.cpp
M clang/test/OpenMP/teams_distribute_collapse_codegen.cpp
M clang/test/OpenMP/teams_distribute_dist_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_lastprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_collapse_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_copyin_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_dist_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_if_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_lastprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_num_threads_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_proc_bind_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_reduction_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_collapse_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_dist_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_if_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_num_threads_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_proc_bind_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_reduction_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_reduction_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_collapse_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_dist_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_reduction_codegen.cpp
M clang/test/OpenMP/teams_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_generic_loop_codegen-1.cpp
M clang/test/OpenMP/teams_generic_loop_collapse_codegen.cpp
M clang/test/OpenMP/teams_generic_loop_private_codegen.cpp
M clang/test/OpenMP/teams_generic_loop_reduction_codegen.cpp
M clang/test/OpenMP/teams_private_codegen.cpp
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/openmp-llvm.mlir
M openmp/libomptarget/include/Shared/APITypes.h
M openmp/libomptarget/include/omptarget.h
M openmp/libomptarget/src/PluginManager.cpp
M openmp/libomptarget/src/interface.cpp
M openmp/libomptarget/src/omptarget.cpp
M openmp/libomptarget/test/offloading/requires.c
Log Message:
-----------
[OpenMP] Remove `register_requires` global constructor (#80460)
Summary:
Currently, OpenMP handles the `omp requires` clause by emitting a global
constructor into the runtime for every translation unit that requires
it. However, this is not a great solution because it prevents us from
having a defined order in which the runtime is accessed and used.
This patch changes the approach to no longer use global constructors,
but to instead group the flag with the other offloading entires that we
already handle. This has the effect of still registering each flag per
requires TU, but now we have a single constructor that handles
everything.
This function removes support for the old `__tgt_register_requires` and
replaces it with a warning message. We just had a recent release, and
the OpenMP policy for the past four releases since we switched to LLVM
is that we do not provide strict backwards compatibility between major
LLVM releases now that the library is versioned. This means that a user
will need to recompile if they have an old binary that relied on
`register_requires` having the old behavior. It is important that we
actively deprecate this, as otherwise it would not solve the problem of
having no defined init and shutdown order for `libomptarget`. The
problem of `libomptarget` not having a define init and shutdown order
cascades into a lot of other issues so I have a strong incentive to be
rid of it.
It is worth noting that the current `__tgt_offload_entry` only has space
for a 32-bit integer here. I am planning to overhaul these at some point
as well.
Commit: cc13f3ba45015254075434f0f94a2ea6ff4bc1b4
https://github.com/llvm/llvm-project/commit/cc13f3ba45015254075434f0f94a2ea6ff4bc1b4
Author: David Majnemer <david.majnemer at gmail.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/fmed3-cast-combine.ll
M llvm/test/CodeGen/AMDGPU/fneg-modifier-casting.ll
M llvm/test/CodeGen/AMDGPU/function-args.ll
M llvm/test/CodeGen/AMDGPU/global-atomics-fp.ll
M llvm/test/CodeGen/AMDGPU/isel-amdgpu-cs-chain-preserve-cc.ll
M llvm/test/CodeGen/AMDGPU/llvm.is.fpclass.bf16.ll
M llvm/test/CodeGen/AMDGPU/local-atomics-fp.ll
M llvm/test/CodeGen/AMDGPU/vector_shuffle.packed.ll
M llvm/test/CodeGen/NVPTX/bf16-instructions.ll
Log Message:
-----------
Correctly round FP -> BF16 when SDAG expands such nodes (#82399)
We did something pretty naive:
- round FP64 -> BF16 by first rounding to FP32
- skip FP32 -> BF16 rounding entirely
- taking the top 16 bits of a FP32 which will turn some NaNs into
infinities
Let's do this in a more principled way by rounding types with more
precision than FP32 to FP32 using round-inexact-to-odd which will negate
double rounding issues.
Commit: 0a518db99e0cffcdbb4cae73e27da87edbb25170
https://github.com/llvm/llvm-project/commit/0a518db99e0cffcdbb4cae73e27da87edbb25170
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Driver/Action.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/Driver/Types.def
M clang/include/clang/Frontend/CompilerInstance.h
M clang/include/clang/Frontend/CompilerInvocation.h
M clang/include/clang/Frontend/FrontendActions.h
M clang/include/clang/Frontend/FrontendOptions.h
R clang/include/clang/Frontend/InstallAPIOptions.h
M clang/include/clang/InstallAPI/Context.h
M clang/lib/Driver/Action.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Frontend/CMakeLists.txt
M clang/lib/Frontend/CompilerInvocation.cpp
R clang/lib/Frontend/InstallAPIConsumer.cpp
M clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
M clang/lib/InstallAPI/CMakeLists.txt
R clang/lib/InstallAPI/Context.cpp
M clang/test/CMakeLists.txt
R clang/test/Driver/installapi.h
M clang/test/InstallAPI/installapi-basic.test
A clang/test/InstallAPI/installapi-driver-invalid-options.test
M clang/test/lit.cfg.py
M clang/tools/CMakeLists.txt
A clang/tools/clang-installapi/CMakeLists.txt
A clang/tools/clang-installapi/ClangInstallAPI.cpp
A clang/tools/clang-installapi/Options.cpp
A clang/tools/clang-installapi/Options.h
Log Message:
-----------
[InstallAPI] Set InstallAPI as a standalone tool instead of CC1 action (#82293)
Installapi has important distinctions when compared to the clang driver,
so much that, it doesn't make much sense to try to integrate into it.
This patch partially reverts the CC1 action & driver support to replace
with its own driver as a clang tool.
For distribution, we could use `LLVM_TOOL_LLVM_DRIVER_BUILD` mechanism
for integrating the functionality into clang such that the toolchain
size is less impacted.
Commit: 2c30180f72b9c39dda1fd77bcbec8022e19bec23
https://github.com/llvm/llvm-project/commit/2c30180f72b9c39dda1fd77bcbec8022e19bec23
Author: Mogball <jeff at modular.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
Log Message:
-----------
[coro] [async] Don't fail on targets that don't support tail calls
Commit: e50a231dcdd6aafa922b177b4fc4629bb7a10a79
https://github.com/llvm/llvm-project/commit/e50a231dcdd6aafa922b177b4fc4629bb7a10a79
Author: Leandro Lupori <leandro.lupori at linaro.org>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M flang/include/flang/Lower/AbstractConverter.h
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
R flang/test/Lower/OpenMP/Todo/copyprivate.f90
A flang/test/Lower/OpenMP/copyprivate.f90
Log Message:
-----------
[flang][OpenMP] Add support for copyprivate (#80485)
Add initial handling of OpenMP copyprivate clause in Flang.
When lowering copyprivate, Flang generates the copy function
needed by each variable and builds the appropriate
omp.single's CopyPrivateVarList.
This is patch 3 of 4, to add support for COPYPRIVATE in Flang.
Original PR: https://github.com/llvm/llvm-project/pull/73128
Commit: 579ae446375b2bec6d329b612adfa0a74f7126e3
https://github.com/llvm/llvm-project/commit/579ae446375b2bec6d329b612adfa0a74f7126e3
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M clang/tools/clang-installapi/CMakeLists.txt
Log Message:
-----------
[InstallAPI] Add missing clangBasic library dependency
Appeases CI: https://lab.llvm.org/buildbot/#/builders/268/builds/8581/steps/5/logs/stdio
Commit: e7bfe414a6abee31a8c83afbc8206e6249dd837d
https://github.com/llvm/llvm-project/commit/e7bfe414a6abee31a8c83afbc8206e6249dd837d
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M clang/tools/clang-installapi/CMakeLists.txt
Log Message:
-----------
[InstallAPI] Add additional missing library dependency
Fixes: https://lab.llvm.org/buildbot/#/builders/268/builds/8583
Commit: c5bbf979ada59e4ef9e67cb8bae59522d17b5140
https://github.com/llvm/llvm-project/commit/c5bbf979ada59e4ef9e67cb8bae59522d17b5140
Author: Nick Anderson <nickleus27 at gmail.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
Log Message:
-----------
[AMDGPU] fixes mistake in #82018 (#82223)
fixes #81766 #82018
Commit: 2167881f5154823dc3183845700add7df15fc856
https://github.com/llvm/llvm-project/commit/2167881f5154823dc3183845700add7df15fc856
Author: Fangrui Song <i at maskray.me>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/include/llvm/BinaryFormat/ELF.h
M llvm/include/llvm/BinaryFormat/ELFRelocs/ARM.def
M llvm/include/llvm/MC/MCExpr.h
M llvm/include/llvm/MC/MCParser/MCTargetAsmParser.h
M llvm/include/llvm/MC/MCTargetOptions.h
M llvm/include/llvm/MC/MCTargetOptionsCommandFlags.h
M llvm/lib/MC/MCExpr.cpp
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/MC/MCTargetOptions.cpp
M llvm/lib/MC/MCTargetOptionsCommandFlags.cpp
M llvm/lib/ObjectYAML/ELFYAML.cpp
M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp
M llvm/lib/Target/ARM/MCTargetDesc/CMakeLists.txt
A llvm/test/MC/ARM/fdpic.s
M llvm/test/tools/llvm-readobj/ELF/file-header-os-abi.test
M llvm/test/tools/llvm-readobj/ELF/reloc-types-arm.test
M llvm/tools/llvm-readobj/ELFDumper.cpp
Log Message:
-----------
[ARM,MC] Support FDPIC relocations
Linux kernel fs/binfmt_elf_fdpic.c supports FDPIC for MMU-less systems.
GCC/binutils/qemu support FDPIC ABI for ARM
(https://github.com/mickael-guene/fdpic_doc).
_ARM FDPIC Toolchain and ABI_ provides a summary.
This patch implements FDPIC relocations to the integrated assembler.
There are 6 static relocations and 2 dynamic relocations, with
R_ARM_FUNCDESC as both static and dynamic.
gas requires `--fdpic` to assemble data relocations like `.word f(FUNCDESC)`.
This patch adds `MCTargetOptions::FDPIC` and reports an error if FDPIC
is not set.
Pull Request: https://github.com/llvm/llvm-project/pull/82187
Commit: 5488e3ea4869b32e82f7f7dfb3ba22cb7b5b9436
https://github.com/llvm/llvm-project/commit/5488e3ea4869b32e82f7f7dfb3ba22cb7b5b9436
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M clang/tools/clang-installapi/CMakeLists.txt
Log Message:
-----------
[InstallAPI] add explicit dependency on llvmOption library
Commit: 6f0e39c4239bb4c0980a048e264f61bded147388
https://github.com/llvm/llvm-project/commit/6f0e39c4239bb4c0980a048e264f61bded147388
Author: David Majnemer <david.majnemer at gmail.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
Log Message:
-----------
[NVPTX] Set ISD::FP_{EXTEND,ROUND} to Custom for more types
Sometimes those nodes are queried with the non-bf16. We need to request
to SDAG that we want to handle the non-bf16 side so that the handler can
detect if bf16 is being used on either side.
Commit: 966b026785a09ec079e8b0ba79358892fcb958ad
https://github.com/llvm/llvm-project/commit/966b026785a09ec079e8b0ba79358892fcb958ad
Author: David Majnemer <david.majnemer at gmail.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
Log Message:
-----------
[NVPTX] Simplify handling of ISD::BF16_TO_FP
We only use it to get from BF16 to F32. After that point, we insert
an FP_EXTEND to get the rest of the way.
Commit: 4247175d4536964322b129d1d3bbe6128da653bf
https://github.com/llvm/llvm-project/commit/4247175d4536964322b129d1d3bbe6128da653bf
Author: Mingming Liu <mingmingl at google.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M compiler-rt/include/profile/InstrProfData.inc
M llvm/include/llvm/ProfileData/InstrProfData.inc
Log Message:
-----------
[nfc]For InstrProfData.inc, clang-format functions and opt-out of formatting on the rest (#82057)
Without this, each time `InstrProfData.inc` is modified (like in
https://github.com/llvm/llvm-project/pull/81691), pre-commit CI
clang-format aggressively formats many lines in an unreadable way. Pull
request with red pre-commit checks are usually frowned upon.
* Use `// clang-format:<reason>` instead of `/* clang-format */`. The
former
[allows](https://github.com/llvm/llvm-project/blob/563ef306017a47d387f1c36dd562b172c1ad0626/clang/lib/Format/Format.cpp#L4108-L4113)
specifying a reason but the latter is
[not](https://github.com/llvm/llvm-project/blob/563ef306017a47d387f1c36dd562b172c1ad0626/clang/lib/Format/Format.cpp#L4105-L4106).
- Filed https://github.com/llvm/llvm-project/issues/82426 to track the
issue in clang-format.
Commit: 9c2468821ec51defd09c246fea4a47886fff8c01
https://github.com/llvm/llvm-project/commit/9c2468821ec51defd09c246fea4a47886fff8c01
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M lldb/test/API/commands/expression/call-restarts/TestCallThatRestarts.py
M lldb/test/API/commands/expression/call-throws/TestCallThatThrows.py
M lldb/test/API/commands/expression/completion-crash-invalid-iterator/TestInvalidIteratorCompletionCrash.py
M lldb/test/API/commands/expression/fixits/TestFixIts.py
M lldb/test/API/commands/expression/test/TestExprs.py
M lldb/test/API/commands/expression/unwind_expression/TestUnwindExpression.py
M lldb/test/API/commands/register/register/aarch64_sme_z_registers/save_restore/TestSMEZRegistersSaveRestore.py
M lldb/test/API/commands/register/register/aarch64_sme_z_registers/za_dynamic_resize/TestZAThreadedDynamic.py
M lldb/test/API/commands/register/register/aarch64_sve_registers/rw_access_dynamic_resize/TestSVEThreadedDynamic.py
M lldb/test/API/commands/session/save/TestSessionSave.py
M lldb/test/API/commands/statistics/basic/TestStats.py
M lldb/test/API/commands/trace/TestTraceExport.py
M lldb/test/API/commands/trace/TestTraceSave.py
M lldb/test/API/commands/trace/multiple-threads/TestTraceStartStopMultipleThreads.py
M lldb/test/API/functionalities/archives/TestBSDArchives.py
M lldb/test/API/functionalities/asan/TestMemoryHistory.py
M lldb/test/API/functionalities/breakpoint/breakpoint_command/TestBreakpointCommand.py
M lldb/test/API/functionalities/breakpoint/breakpoint_command/TestBreakpointCommandsFromPython.py
M lldb/test/API/functionalities/breakpoint/breakpoint_conditions/TestBreakpointConditions.py
M lldb/test/API/functionalities/breakpoint/hardware_breakpoints/require_hw_breakpoints/TestRequireHWBreakpoints.py
M lldb/test/API/functionalities/breakpoint/objc/TestObjCBreakpoints.py
M lldb/test/API/functionalities/breakpoint/scripted_bkpt/TestScriptedResolver.py
M lldb/test/API/functionalities/breakpoint/serialize/TestBreakpointSerialization.py
M lldb/test/API/functionalities/breakpoint/step_over_breakpoint/TestStepOverBreakpoint.py
M lldb/test/API/functionalities/data-formatter/data-formatter-python-synth/TestDataFormatterPythonSynth.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/string/TestDataFormatterLibcxxString.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/string_view/TestDataFormatterLibcxxStringView.py
M lldb/test/API/functionalities/gdb_remote_client/TestMSP430MSPDebug.py
M lldb/test/API/functionalities/multidebugger_commands/TestMultipleDebuggersCommands.py
M lldb/test/API/functionalities/process_save_core_minidump/TestProcessSaveCoreMinidump.py
M lldb/test/API/functionalities/return-value/TestReturnValue.py
M lldb/test/API/functionalities/scripted_process/TestScriptedProcess.py
M lldb/test/API/functionalities/signal/TestSendSignal.py
M lldb/test/API/functionalities/signal/handle-abrt/TestHandleAbort.py
M lldb/test/API/functionalities/signal/handle-segv/TestHandleSegv.py
M lldb/test/API/functionalities/signal/raise/TestRaise.py
M lldb/test/API/functionalities/step-avoids-no-debug/TestStepNoDebug.py
M lldb/test/API/functionalities/step-avoids-regexp/TestStepAvoidsRegexp.py
M lldb/test/API/functionalities/target-new-solib-notifications/TestModuleLoadedNotifys.py
M lldb/test/API/functionalities/thread/break_after_join/TestBreakAfterJoin.py
M lldb/test/API/functionalities/thread/create_during_step/TestCreateDuringStep.py
M lldb/test/API/functionalities/thread/exit_during_break/TestExitDuringBreak.py
M lldb/test/API/functionalities/thread/multi_break/TestMultipleBreakpoints.py
M lldb/test/API/functionalities/thread/num_threads/TestNumThreads.py
M lldb/test/API/functionalities/thread_plan/TestThreadPlanCommands.py
M lldb/test/API/functionalities/tsan/basic/TestTsanBasic.py
M lldb/test/API/functionalities/tsan/multiple/TestTsanMultiple.py
M lldb/test/API/functionalities/unwind/aarch64_unwind_pac/TestAArch64UnwindPAC.py
M lldb/test/API/lang/c/register_variables/TestRegisterVariables.py
M lldb/test/API/lang/c/stepping/TestStepAndBreakpoints.py
M lldb/test/API/lang/cpp/dynamic-value/TestDynamicValue.py
M lldb/test/API/lang/cpp/namespace/TestNamespace.py
M lldb/test/API/lang/cpp/stl/TestSTL.py
M lldb/test/API/lang/objc/foundation/TestFoundationDisassembly.py
M lldb/test/API/lang/objc/objc-class-method/TestObjCClassMethod.py
M lldb/test/API/lang/objc/objc-struct-argument/TestObjCStructArgument.py
M lldb/test/API/lang/objc/objc-struct-return/TestObjCStructReturn.py
M lldb/test/API/lang/objc/objc-super/TestObjCSuper.py
M lldb/test/API/lang/objc/rdar-12408181/TestRdar12408181.py
M lldb/test/API/lang/objcxx/objc-builtin-types/TestObjCBuiltinTypes.py
M lldb/test/API/linux/aarch64/tagged_memory_access/TestAArch64LinuxTaggedMemoryAccess.py
M lldb/test/API/linux/aarch64/unwind_signal/TestUnwindSignal.py
M lldb/test/API/lua_api/TestLuaAPI.py
M lldb/test/API/macosx/function-starts/TestFunctionStarts.py
M lldb/test/API/macosx/objc_exception_recognizer/TestObjCRecognizer.py
M lldb/test/API/macosx/profile_vrs_detach/TestDetachVrsProfile.py
M lldb/test/API/macosx/queues/TestQueues.py
M lldb/test/API/macosx/universal/TestUniversal.py
M lldb/test/API/python_api/event/TestEvents.py
M lldb/test/API/python_api/file_handle/TestFileHandle.py
M lldb/test/API/python_api/findvalue_duplist/TestSBFrameFindValue.py
M lldb/test/API/python_api/format/TestFormat.py
M lldb/test/API/python_api/formatters/TestFormattersSBAPI.py
M lldb/test/API/python_api/frame/get-variables/TestGetVariables.py
M lldb/test/API/python_api/module_section/TestModuleAndSection.py
M lldb/test/API/python_api/process/TestProcessAPI.py
M lldb/test/API/python_api/process/io/TestProcessIO.py
M lldb/test/API/python_api/sbdata/TestSBData.py
M lldb/test/API/python_api/sbmodule/TestSBModule.py
M lldb/test/API/python_api/target/TestTargetAPI.py
M lldb/test/API/python_api/type/TestTypeList.py
M lldb/test/API/python_api/value/change_values/TestChangeValueAPI.py
M lldb/test/API/python_api/value/change_values/libcxx/atomic/TestChangeValue.py
M lldb/test/API/python_api/value/change_values/libcxx/map/TestChangeMapValue.py
M lldb/test/API/python_api/watchpoint/TestWatchpointIter.py
M lldb/test/API/source-manager/TestSourceManager.py
M lldb/test/API/tools/lldb-dap/coreFile/TestDAP_coreFile.py
M lldb/test/API/tools/lldb-dap/disassemble/TestDAP_disassemble.py
M lldb/test/API/tools/lldb-dap/runInTerminal/TestDAP_runInTerminal.py
M lldb/test/API/tools/lldb-dap/stackTrace/TestDAP_stackTrace.py
M lldb/test/API/tools/lldb-dap/terminated-event/TestDAP_terminatedEvent.py
M lldb/test/API/tools/lldb-dap/variables/TestDAP_variables.py
M lldb/test/API/tools/lldb-server/TestGdbRemoteAttach.py
M lldb/test/API/tools/lldb-server/TestGdbRemoteAuxvSupport.py
M lldb/test/API/tools/lldb-server/TestGdbRemoteExpeditedRegisters.py
M lldb/test/API/tools/lldb-server/TestGdbRemoteRegisterState.py
M lldb/test/API/tools/lldb-server/TestLldbGdbServer.py
M lldb/test/API/tools/lldb-server/attach-wait/TestGdbRemoteAttachWait.py
M lldb/test/API/tools/lldb-server/registers-target-xml-reading/TestGdbRemoteTargetXmlPacket.py
Log Message:
-----------
[lldb][test] Modernize asserts (#82503)
This uses [teyit](https://pypi.org/project/teyit/) to modernize asserts,
as recommended by the [unittest release
notes](https://docs.python.org/3.12/whatsnew/3.12.html#id3).
For example, `assertTrue(a == b)` is replaced with `assertEqual(a, b)`.
This produces better error messages, e.g. `error: unexpectedly found 1
and 2 to be different` instead of `error: False`.
Commit: 1c81b4a8f237db286aae5b8893aea09676a41d68
https://github.com/llvm/llvm-project/commit/1c81b4a8f237db286aae5b8893aea09676a41d68
Author: Nico Weber <thakis at chromium.org>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Frontend/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/InstallAPI/BUILD.gn
M llvm/utils/gn/secondary/clang/test/BUILD.gn
A llvm/utils/gn/secondary/clang/tools/clang-installapi/BUILD.gn
Log Message:
-----------
[gn] port 0a518db99e0c (clang-installapi)
Commit: ddc0f1d8fed4f1a1742598ffd7dc3195bb37a8f1
https://github.com/llvm/llvm-project/commit/ddc0f1d8fed4f1a1742598ffd7dc3195bb37a8f1
Author: David Majnemer <david.majnemer at gmail.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/test/CodeGen/AMDGPU/bf16.ll
Log Message:
-----------
[TargetLowering] Actually add the adjustment to the significand
The logic was supposed to be choosing between {0, 1, -1} as an
adjustment to the FP bit pattern. However, the adjustment itself was
used as the bit pattern instead which result in garbage results.
Commit: 3d66d6932e26199f72766b6554d1c4878246ec6e
https://github.com/llvm/llvm-project/commit/3d66d6932e26199f72766b6554d1c4878246ec6e
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Support live-ins without underlying IR in type analysis. (#80723)
A VPlan contains multiple live-ins without underlying IR, like VFxUF or
VectorTripCount. Trying to infer the scalar type of those causes a crash
at the moment.
Update VPTypeAnalysis to take a VPlan in its constructor and assign
types to those live-ins up front. All those live-ins share the type of
the canonical IV.
PR: https://github.com/llvm/llvm-project/pull/80723
Commit: 22cf983387e52e3df01504c69df8266e9d80d9da
https://github.com/llvm/llvm-project/commit/22cf983387e52e3df01504c69df8266e9d80d9da
Author: calebwat <107081575+calebwat at users.noreply.github.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/unittests/Transforms/Vectorize/VPlanHCFGTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanSlpTest.cpp
Log Message:
-----------
[VPlan] Use opaque pointers in VPlan unit test IR (#69947)
Updates the unit tests for VPlan to use opaque pointers in strings
containing LLVM IR. This is to match the similar adjustments being made
for lit tests to use opaque pointers.
Commit: db9811cd131d66c1c3dff0222fc8bcc83a555846
https://github.com/llvm/llvm-project/commit/db9811cd131d66c1c3dff0222fc8bcc83a555846
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/utils/lldbDataFormatters.py
Log Message:
-----------
Make lldbDataFormatters.py compatible with Python 3.8 (#82518)
I just tried to load this into LLDB built against Python 3.8.5 and got
the following error: `TypeError: 'type' object is not subscriptable`. I
could fix this by wrapping the annotations in quotes but since Python
3.7 this syntax can be enabled with `from __future__ import
annotations`.
Commit: baf6bd303bd58a521809d456dd9b179636982fc5
https://github.com/llvm/llvm-project/commit/baf6bd303bd58a521809d456dd9b179636982fc5
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaExpr.cpp
M clang/test/SemaCXX/cxx2b-consteval-propagate.cpp
Log Message:
-----------
[Clang] Fixes to immediate-escalating functions (#82281)
* Consider that immediate escalating function can appear at global
scope, fixing a crash
* Lambda conversion to function pointer was sometimes not performed in
an immediate function context when it should be.
Fixes #82258
Commit: 5daf2001a1e4d71ce1273a1e7e31cf6e6ac37c10
https://github.com/llvm/llvm-project/commit/5daf2001a1e4d71ce1273a1e7e31cf6e6ac37c10
Author: Maksim Panchenko <maks at fb.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M bolt/include/bolt/Core/BinarySection.h
M bolt/lib/Core/BinarySection.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/unittests/Core/BinaryContext.cpp
Log Message:
-----------
[BOLT] Fix memory leak in BinarySection (#82520)
The change in #80950 exposed a memory leak in BinarySection. Let
BinarySection manage memory passed via updateContents() unless a valid
SectionID is set indicating that the contents are managed by JITLink.
Commit: d72a629b3db4e56f2631a0d4bb5283b0aeaeb935
https://github.com/llvm/llvm-project/commit/d72a629b3db4e56f2631a0d4bb5283b0aeaeb935
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M .ci/generate-buildkite-pipeline-premerge
M .ci/monolithic-windows.sh
M .github/new-prs-labeler.yml
M .github/workflows/release-tasks.yml
M bolt/include/bolt/Core/BinarySection.h
M bolt/lib/Core/BinarySection.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/tools/merge-fdata/merge-fdata.cpp
M bolt/unittests/Core/BinaryContext.cpp
M clang-tools-extra/clangd/ClangdLSPServer.cpp
M clang-tools-extra/clangd/ClangdLSPServer.h
M clang-tools-extra/clangd/ClangdServer.cpp
M clang-tools-extra/clangd/ClangdServer.h
M clang-tools-extra/clangd/Protocol.cpp
M clang-tools-extra/clangd/Protocol.h
M clang-tools-extra/clangd/refactor/tweaks/ExtractVariable.cpp
M clang-tools-extra/clangd/test/initialize-params.test
M clang-tools-extra/clangd/unittests/ClangdLSPServerTests.cpp
M clang-tools-extra/clangd/unittests/LSPClient.cpp
M clang-tools-extra/clangd/unittests/LSPClient.h
M clang-tools-extra/clangd/unittests/tweaks/ExtractVariableTests.cpp
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/StandardCPlusPlusModules.rst
M clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/TokenKinds.def
M clang/include/clang/Driver/Action.h
M clang/include/clang/Driver/Driver.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/Driver/Types.def
M clang/include/clang/Frontend/CompilerInstance.h
M clang/include/clang/Frontend/CompilerInvocation.h
M clang/include/clang/Frontend/FrontendActions.h
M clang/include/clang/Frontend/FrontendOptions.h
R clang/include/clang/Frontend/InstallAPIOptions.h
M clang/include/clang/InstallAPI/Context.h
A clang/include/clang/InstallAPI/FileList.h
A clang/include/clang/InstallAPI/HeaderFile.h
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.h
M clang/lib/AST/Interp/Descriptor.h
M clang/lib/AST/Interp/EvalEmitter.cpp
M clang/lib/AST/Interp/Interp.cpp
M clang/lib/AST/Interp/Interp.h
M clang/lib/AST/Interp/InterpBuiltin.cpp
M clang/lib/AST/Interp/Opcodes.td
M clang/lib/AST/Interp/Record.h
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/lib/Analysis/FlowSensitive/Transfer.cpp
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/Basic/Targets/ARM.cpp
M clang/lib/Basic/Targets/ARM.h
M clang/lib/Basic/Targets/NVPTX.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/Driver/Action.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/BareMetal.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/ExtractAPI/CMakeLists.txt
M clang/lib/ExtractAPI/ExtractAPIConsumer.cpp
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/ContinuationIndenter.h
M clang/lib/Format/Format.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Frontend/CMakeLists.txt
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/InitPreprocessor.cpp
R clang/lib/Frontend/InstallAPIConsumer.cpp
M clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
M clang/lib/InstallAPI/CMakeLists.txt
R clang/lib/InstallAPI/Context.cpp
A clang/lib/InstallAPI/FileList.cpp
A clang/lib/InstallAPI/HeaderFile.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Sema/SemaChecking.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/SemaTemplate.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedCallArgsChecker.cpp
M clang/test/AST/Interp/arrays.cpp
M clang/test/AST/Interp/builtin-functions.cpp
M clang/test/AST/Interp/c.c
M clang/test/AST/Interp/complex.cpp
A clang/test/AST/Interp/cxx03.cpp
M clang/test/AST/Interp/cxx17.cpp
M clang/test/AST/Interp/cxx20.cpp
M clang/test/AST/Interp/functions.cpp
M clang/test/AST/Interp/literals.cpp
A clang/test/AST/Interp/pointer-addition.c
M clang/test/AST/Interp/records.cpp
M clang/test/AST/Interp/shifts.cpp
M clang/test/Analysis/Checkers/WebKit/call-args-protected-return-value.cpp
A clang/test/Analysis/Checkers/WebKit/call-args-wtf-containers.cpp
M clang/test/Analysis/Checkers/WebKit/mock-types.h
A clang/test/Analysis/Checkers/WebKit/ref-allowing-partially-destroyed.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
M clang/test/Analysis/Inputs/expected-plists/unix-fns.c.plist
M clang/test/Analysis/std-c-library-functions-path-notes.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-noopen.c
A clang/test/Analysis/unix-fns-o_creat.c
M clang/test/Analysis/unix-fns.c
M clang/test/CMakeLists.txt
M clang/test/CXX/dcl.decl/dcl.meaning/dcl.fct/p23.cpp
M clang/test/CXX/drs/dr13xx.cpp
M clang/test/CXX/drs/dr17xx.cpp
M clang/test/CXX/drs/dr5xx.cpp
A clang/test/CXX/expr/expr.prim/expr.prim.id/expr.prim.id.qual/p3.cpp
M clang/test/CXX/temp/temp.res/temp.dep/temp.dep.type/p1.cpp
M clang/test/CXX/temp/temp.spec/temp.expl.spec/p16.cpp
M clang/test/CodeGenOpenCL/builtins-amdgcn-dl-insts-gfx11.cl
M clang/test/Driver/arm-compiler-rt.c
M clang/test/Driver/baremetal-multilib.yaml
M clang/test/Driver/baremetal-sysroot.cpp
M clang/test/Driver/baremetal.cpp
M clang/test/Driver/clang_f_opts.c
R clang/test/Driver/installapi.h
M clang/test/InstallAPI/installapi-basic.test
A clang/test/InstallAPI/installapi-driver-invalid-options.test
M clang/test/Misc/warning-flags.c
A clang/test/Modules/pr81745.cppm
M clang/test/OpenMP/bug60602.cpp
M clang/test/OpenMP/distribute_codegen.cpp
M clang/test/OpenMP/distribute_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_if_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_num_threads_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_private_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_proc_bind_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_if_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_num_threads_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_private_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_proc_bind_codegen.cpp
M clang/test/OpenMP/distribute_private_codegen.cpp
M clang/test/OpenMP/distribute_simd_codegen.cpp
M clang/test/OpenMP/distribute_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_simd_private_codegen.cpp
M clang/test/OpenMP/distribute_simd_reduction_codegen.cpp
M clang/test/OpenMP/map_struct_ordering.cpp
M clang/test/OpenMP/nvptx_lambda_capturing.cpp
M clang/test/OpenMP/openmp_offload_registration.cpp
M clang/test/OpenMP/reduction_implicit_map.cpp
M clang/test/OpenMP/target_codegen.cpp
M clang/test/OpenMP/target_codegen_global_capture.cpp
M clang/test/OpenMP/target_codegen_registration.cpp
M clang/test/OpenMP/target_depend_codegen.cpp
M clang/test/OpenMP/target_firstprivate_codegen.cpp
M clang/test/OpenMP/target_has_device_addr_codegen.cpp
M clang/test/OpenMP/target_has_device_addr_codegen_01.cpp
M clang/test/OpenMP/target_is_device_ptr_codegen.cpp
M clang/test/OpenMP/target_map_codegen_03.cpp
M clang/test/OpenMP/target_map_codegen_hold.cpp
M clang/test/OpenMP/target_map_deref_array_codegen.cpp
M clang/test/OpenMP/target_map_member_expr_codegen.cpp
M clang/test/OpenMP/target_offload_mandatory_codegen.cpp
M clang/test/OpenMP/target_ompx_dyn_cgroup_mem_codegen.cpp
M clang/test/OpenMP/target_parallel_codegen.cpp
M clang/test/OpenMP/target_parallel_codegen_registration.cpp
M clang/test/OpenMP/target_parallel_depend_codegen.cpp
M clang/test/OpenMP/target_parallel_for_codegen.cpp
M clang/test/OpenMP/target_parallel_for_codegen_registration.cpp
M clang/test/OpenMP/target_parallel_for_depend_codegen.cpp
M clang/test/OpenMP/target_parallel_for_simd_codegen.cpp
M clang/test/OpenMP/target_parallel_for_simd_codegen_registration.cpp
M clang/test/OpenMP/target_parallel_for_simd_depend_codegen.cpp
M clang/test/OpenMP/target_parallel_generic_loop_codegen-1.cpp
M clang/test/OpenMP/target_parallel_generic_loop_codegen-2.cpp
M clang/test/OpenMP/target_parallel_generic_loop_depend_codegen.cpp
M clang/test/OpenMP/target_parallel_generic_loop_uses_allocators_codegen.cpp
M clang/test/OpenMP/target_parallel_if_codegen.cpp
M clang/test/OpenMP/target_parallel_num_threads_codegen.cpp
M clang/test/OpenMP/target_simd_codegen.cpp
M clang/test/OpenMP/target_simd_codegen_registration.cpp
M clang/test/OpenMP/target_simd_depend_codegen.cpp
M clang/test/OpenMP/target_task_affinity_codegen.cpp
M clang/test/OpenMP/target_teams_codegen.cpp
M clang/test/OpenMP/target_teams_codegen_registration.cpp
M clang/test/OpenMP/target_teams_depend_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_codegen_registration.cpp
M clang/test/OpenMP/target_teams_distribute_collapse_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_depend_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_dist_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_lastprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_collapse_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_depend_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_dist_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_if_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_lastprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_order_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_private_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_proc_bind_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_reduction_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_codegen_registration.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_collapse_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_depend_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_dist_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_if_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_private_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_proc_bind_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_reduction_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_private_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_reduction_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_codegen_registration.cpp
M clang/test/OpenMP/target_teams_distribute_simd_collapse_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_depend_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_dist_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_private_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_reduction_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_codegen-1.cpp
M clang/test/OpenMP/target_teams_generic_loop_collapse_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_depend_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_if_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_order_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_private_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_reduction_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_uses_allocators_codegen.cpp
M clang/test/OpenMP/target_teams_map_codegen.cpp
M clang/test/OpenMP/target_teams_num_teams_codegen.cpp
M clang/test/OpenMP/target_teams_thread_limit_codegen.cpp
M clang/test/OpenMP/teams_codegen.cpp
M clang/test/OpenMP/teams_distribute_codegen.cpp
M clang/test/OpenMP/teams_distribute_collapse_codegen.cpp
M clang/test/OpenMP/teams_distribute_dist_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_lastprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_collapse_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_copyin_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_dist_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_if_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_lastprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_num_threads_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_proc_bind_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_reduction_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_collapse_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_dist_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_if_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_num_threads_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_proc_bind_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_reduction_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_reduction_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_collapse_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_dist_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_reduction_codegen.cpp
M clang/test/OpenMP/teams_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_generic_loop_codegen-1.cpp
M clang/test/OpenMP/teams_generic_loop_collapse_codegen.cpp
M clang/test/OpenMP/teams_generic_loop_private_codegen.cpp
M clang/test/OpenMP/teams_generic_loop_reduction_codegen.cpp
M clang/test/OpenMP/teams_private_codegen.cpp
M clang/test/Preprocessor/arm-target-features.c
M clang/test/Preprocessor/init.c
A clang/test/Sema/aarch64-sme2p1-diagnostics.c
M clang/test/Sema/enum.c
M clang/test/SemaCUDA/float16.cu
M clang/test/SemaCXX/cxx2b-consteval-propagate.cpp
M clang/test/SemaCXX/cxx2b-deducing-this.cpp
M clang/test/SemaCXX/cxx2c-pack-indexing.cpp
M clang/test/SemaCXX/type-traits.cpp
M clang/test/lit.cfg.py
M clang/tools/CMakeLists.txt
A clang/tools/clang-installapi/CMakeLists.txt
A clang/tools/clang-installapi/ClangInstallAPI.cpp
A clang/tools/clang-installapi/Options.cpp
A clang/tools/clang-installapi/Options.h
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
M clang/unittests/Analysis/FlowSensitive/TestingSupport.h
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
M clang/unittests/CMakeLists.txt
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
A clang/unittests/InstallAPI/CMakeLists.txt
A clang/unittests/InstallAPI/FileListTest.cpp
A clang/unittests/InstallAPI/HeaderFileTest.cpp
M clang/unittests/Serialization/CMakeLists.txt
A clang/unittests/Serialization/PreambleInNamedModulesTest.cpp
M clang/utils/TableGen/ClangOpcodesEmitter.cpp
M clang/www/cxx_dr_status.html
M compiler-rt/include/profile/InstrProfData.inc
M compiler-rt/lib/builtins/os_version_check.c
M compiler-rt/lib/fuzzer/FuzzerUtilFuchsia.cpp
M flang/CMakeLists.txt
M flang/docs/FortranLLVMTestSuite.md
M flang/include/flang/Lower/AbstractConverter.h
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/CMakeLists.txt
M flang/lib/Lower/Mangler.cpp
M flang/lib/Lower/OpenACC.cpp
R flang/lib/Lower/OpenMP.cpp
A flang/lib/Lower/OpenMP/ClauseProcessor.cpp
A flang/lib/Lower/OpenMP/ClauseProcessor.h
A flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
A flang/lib/Lower/OpenMP/DataSharingProcessor.h
A flang/lib/Lower/OpenMP/OpenMP.cpp
A flang/lib/Lower/OpenMP/ReductionProcessor.cpp
A flang/lib/Lower/OpenMP/ReductionProcessor.h
A flang/lib/Lower/OpenMP/Utils.cpp
A flang/lib/Lower/OpenMP/Utils.h
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/CodeGen/Target.cpp
M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
M flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp
M flang/lib/Parser/preprocessor.cpp
M flang/lib/Parser/preprocessor.h
M flang/lib/Parser/prescan.cpp
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/check-directive-structure.h
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/module/__cuda_builtins.f90
M flang/module/__fortran_builtins.f90
M flang/module/__fortran_ieee_exceptions.f90
M flang/module/__fortran_type_info.f90
M flang/module/__ppc_types.f90
M flang/module/ieee_arithmetic.f90
M flang/module/ieee_exceptions.f90
M flang/module/ieee_features.f90
M flang/runtime/CMakeLists.txt
A flang/runtime/Float128Math/CMakeLists.txt
A flang/runtime/Float128Math/cabs.cpp
A flang/runtime/Float128Math/math-entries.h
A flang/runtime/Float128Math/sin.cpp
A flang/runtime/Float128Math/sqrt.cpp
M flang/runtime/unit.cpp
M flang/test/HLFIR/maxloc-elemental.fir
M flang/test/HLFIR/minloc-elemental.fir
A flang/test/Lower/HLFIR/block_bindc_pocs.f90
M flang/test/Lower/Intrinsics/missing-math-runtime.f90
M flang/test/Lower/OpenACC/acc-private.f90
R flang/test/Lower/OpenMP/Todo/copyprivate.f90
A flang/test/Lower/OpenMP/copyprivate.f90
M flang/test/Lower/OpenMP/target.f90
M flang/test/Preprocessing/pp005.F
M flang/test/Preprocessing/pp006.F
M flang/test/Preprocessing/pp105.F90
M flang/test/Preprocessing/pp106.F90
M flang/test/Preprocessing/pp134.F90
M flang/test/Semantics/OpenMP/clause-validity01.f90
M flang/test/Semantics/OpenMP/default-none.f90
M flang/test/Semantics/resolve17.f90
M flang/test/Transforms/simplifyintrinsics.fir
M flang/tools/flang-driver/driver.cpp
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/gpu/entrypoints.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/aarch64/headers.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/arm/headers.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/riscv/headers.txt
M libc/config/linux/x86_64/headers.txt
M libc/docs/c23.rst
M libc/include/CMakeLists.txt
M libc/include/llvm-libc-macros/CMakeLists.txt
A libc/include/llvm-libc-macros/stdckdint-macros.h
A libc/include/stdckdint.h.def
M libc/spec/stdc.td
M libc/src/__support/CPP/atomic.h
M libc/src/__support/CPP/bit.h
M libc/src/__support/FPUtil/aarch64/fenv_darwin_impl.h
A libc/src/stdckdint/CMakeLists.txt
M libc/test/UnitTest/CMakeLists.txt
M libc/test/include/CMakeLists.txt
A libc/test/include/stdckdint_test.cpp
M libc/test/src/__support/CPP/bit_test.cpp
M libcxx/benchmarks/CMakeLists.txt
A libcxx/benchmarks/atomic_wait.bench.cpp
A libcxx/benchmarks/atomic_wait_vs_mutex_lock.bench.cpp
M libcxx/docs/ReleaseNotes/18.rst
M libcxx/include/__algorithm/search.h
M libcxx/include/__algorithm/search_n.h
M libcxx/include/__atomic/atomic_sync.h
M libcxx/include/__functional/reference_wrapper.h
M libcxx/include/__hash_table
M libcxx/include/__iterator/advance.h
M libcxx/include/__iterator/bounded_iter.h
M libcxx/include/__iterator/move_iterator.h
M libcxx/include/__iterator/reverse_iterator.h
M libcxx/include/__memory/allocator_traits.h
M libcxx/include/__memory/compressed_pair.h
M libcxx/include/__memory/pointer_traits.h
M libcxx/include/__memory/shared_ptr.h
M libcxx/include/__memory/uninitialized_algorithms.h
M libcxx/include/__random/seed_seq.h
M libcxx/include/__thread/thread.h
M libcxx/include/__tree
M libcxx/include/__utility/pair.h
M libcxx/include/bitset
M libcxx/include/deque
M libcxx/include/experimental/memory
M libcxx/include/forward_list
M libcxx/include/future
M libcxx/include/iomanip
M libcxx/include/latch
M libcxx/include/list
M libcxx/include/map
M libcxx/include/queue
M libcxx/include/semaphore
M libcxx/include/stack
M libcxx/include/tuple
M libcxx/include/unordered_map
M libcxx/include/vector
M libcxx/src/atomic.cpp
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/SyntheticSections.cpp
M lld/ELF/Writer.cpp
M lld/docs/ld.lld.1
M lld/test/ELF/eh-frame-pcrel-overflow.s
M lld/test/ELF/lto/codemodel.ll
M lld/test/ELF/x86-64-section-layout.s
A lld/test/wasm/no-strip-segment.s
M lld/wasm/InputChunks.h
M lld/wasm/MarkLive.cpp
M lldb/include/lldb/Interpreter/CommandObject.h
M lldb/include/lldb/Interpreter/CommandOptionArgumentTable.h
M lldb/include/lldb/Utility/FileSpecList.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/packages/Python/lldbsuite/test/decorators.py
M lldb/packages/Python/lldbsuite/test/lldbplatformutil.py
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py
M lldb/source/Commands/CommandObjectCommands.cpp
M lldb/source/Commands/CommandObjectDWIMPrint.cpp
M lldb/source/Commands/CommandObjectDWIMPrint.h
M lldb/source/Commands/CommandObjectFrame.cpp
M lldb/source/Commands/CommandObjectPlatform.cpp
M lldb/source/Commands/CommandObjectPlugin.cpp
M lldb/source/Commands/CommandObjectProcess.cpp
M lldb/source/Commands/CommandObjectRegister.cpp
M lldb/source/Commands/CommandObjectSession.cpp
M lldb/source/Commands/CommandObjectSettings.cpp
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/Commands/CommandObjectThread.cpp
M lldb/source/Commands/CommandObjectType.cpp
M lldb/source/Commands/CommandObjectWatchpoint.cpp
M lldb/source/Interpreter/CommandObject.cpp
M lldb/source/Plugins/DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernel.cpp
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOS.cpp
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.cpp
M lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.cpp
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwinKernel.cpp
M lldb/source/Plugins/Platform/MacOSX/PlatformRemoteAppleBridge.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFDIE.cpp
M lldb/source/Plugins/SymbolFile/DWARF/LogChannelDWARF.cpp
M lldb/source/Plugins/SymbolFile/DWARF/LogChannelDWARF.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SystemRuntime/MacOSX/SystemRuntimeMacOSX.cpp
M lldb/test/API/commands/expression/call-restarts/TestCallThatRestarts.py
M lldb/test/API/commands/expression/call-throws/TestCallThatThrows.py
M lldb/test/API/commands/expression/completion-crash-invalid-iterator/TestInvalidIteratorCompletionCrash.py
M lldb/test/API/commands/expression/fixits/TestFixIts.py
M lldb/test/API/commands/expression/test/TestExprs.py
M lldb/test/API/commands/expression/unwind_expression/TestUnwindExpression.py
M lldb/test/API/commands/help/TestHelp.py
M lldb/test/API/commands/register/register/aarch64_sme_z_registers/save_restore/TestSMEZRegistersSaveRestore.py
M lldb/test/API/commands/register/register/aarch64_sme_z_registers/za_dynamic_resize/TestZAThreadedDynamic.py
M lldb/test/API/commands/register/register/aarch64_sve_registers/rw_access_dynamic_resize/TestSVEThreadedDynamic.py
M lldb/test/API/commands/session/save/TestSessionSave.py
M lldb/test/API/commands/statistics/basic/TestStats.py
M lldb/test/API/commands/trace/TestTraceExport.py
M lldb/test/API/commands/trace/TestTraceSave.py
M lldb/test/API/commands/trace/multiple-threads/TestTraceStartStopMultipleThreads.py
M lldb/test/API/functionalities/archives/TestBSDArchives.py
M lldb/test/API/functionalities/asan/TestMemoryHistory.py
M lldb/test/API/functionalities/breakpoint/breakpoint_command/TestBreakpointCommand.py
M lldb/test/API/functionalities/breakpoint/breakpoint_command/TestBreakpointCommandsFromPython.py
M lldb/test/API/functionalities/breakpoint/breakpoint_conditions/TestBreakpointConditions.py
M lldb/test/API/functionalities/breakpoint/hardware_breakpoints/require_hw_breakpoints/TestRequireHWBreakpoints.py
M lldb/test/API/functionalities/breakpoint/objc/TestObjCBreakpoints.py
M lldb/test/API/functionalities/breakpoint/scripted_bkpt/TestScriptedResolver.py
M lldb/test/API/functionalities/breakpoint/serialize/TestBreakpointSerialization.py
M lldb/test/API/functionalities/breakpoint/step_over_breakpoint/TestStepOverBreakpoint.py
M lldb/test/API/functionalities/data-formatter/data-formatter-python-synth/TestDataFormatterPythonSynth.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/string/TestDataFormatterLibcxxString.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/string_view/TestDataFormatterLibcxxStringView.py
M lldb/test/API/functionalities/gdb_remote_client/TestMSP430MSPDebug.py
M lldb/test/API/functionalities/multidebugger_commands/TestMultipleDebuggersCommands.py
M lldb/test/API/functionalities/process_save_core_minidump/TestProcessSaveCoreMinidump.py
M lldb/test/API/functionalities/return-value/TestReturnValue.py
M lldb/test/API/functionalities/scripted_process/TestScriptedProcess.py
M lldb/test/API/functionalities/signal/TestSendSignal.py
M lldb/test/API/functionalities/signal/handle-abrt/TestHandleAbort.py
M lldb/test/API/functionalities/signal/handle-segv/TestHandleSegv.py
M lldb/test/API/functionalities/signal/raise/TestRaise.py
M lldb/test/API/functionalities/step-avoids-no-debug/TestStepNoDebug.py
M lldb/test/API/functionalities/step-avoids-regexp/TestStepAvoidsRegexp.py
M lldb/test/API/functionalities/target-new-solib-notifications/TestModuleLoadedNotifys.py
M lldb/test/API/functionalities/thread/break_after_join/TestBreakAfterJoin.py
M lldb/test/API/functionalities/thread/create_during_step/TestCreateDuringStep.py
M lldb/test/API/functionalities/thread/exit_during_break/TestExitDuringBreak.py
M lldb/test/API/functionalities/thread/multi_break/TestMultipleBreakpoints.py
M lldb/test/API/functionalities/thread/num_threads/TestNumThreads.py
M lldb/test/API/functionalities/thread_plan/TestThreadPlanCommands.py
M lldb/test/API/functionalities/tsan/basic/TestTsanBasic.py
M lldb/test/API/functionalities/tsan/multiple/TestTsanMultiple.py
M lldb/test/API/functionalities/unwind/aarch64_unwind_pac/TestAArch64UnwindPAC.py
M lldb/test/API/lang/c/register_variables/TestRegisterVariables.py
M lldb/test/API/lang/c/stepping/TestStepAndBreakpoints.py
M lldb/test/API/lang/cpp/dynamic-value/TestDynamicValue.py
M lldb/test/API/lang/cpp/namespace/TestNamespace.py
M lldb/test/API/lang/cpp/stl/TestSTL.py
M lldb/test/API/lang/objc/foundation/TestFoundationDisassembly.py
M lldb/test/API/lang/objc/objc-class-method/TestObjCClassMethod.py
M lldb/test/API/lang/objc/objc-struct-argument/TestObjCStructArgument.py
M lldb/test/API/lang/objc/objc-struct-return/TestObjCStructReturn.py
M lldb/test/API/lang/objc/objc-super/TestObjCSuper.py
M lldb/test/API/lang/objc/rdar-12408181/TestRdar12408181.py
M lldb/test/API/lang/objcxx/objc-builtin-types/TestObjCBuiltinTypes.py
M lldb/test/API/linux/aarch64/tagged_memory_access/TestAArch64LinuxTaggedMemoryAccess.py
M lldb/test/API/linux/aarch64/unwind_signal/TestUnwindSignal.py
M lldb/test/API/lua_api/TestLuaAPI.py
M lldb/test/API/macosx/function-starts/TestFunctionStarts.py
M lldb/test/API/macosx/objc_exception_recognizer/TestObjCRecognizer.py
M lldb/test/API/macosx/profile_vrs_detach/TestDetachVrsProfile.py
M lldb/test/API/macosx/queues/TestQueues.py
M lldb/test/API/macosx/universal/TestUniversal.py
M lldb/test/API/python_api/event/TestEvents.py
M lldb/test/API/python_api/file_handle/TestFileHandle.py
M lldb/test/API/python_api/findvalue_duplist/TestSBFrameFindValue.py
M lldb/test/API/python_api/format/TestFormat.py
M lldb/test/API/python_api/formatters/TestFormattersSBAPI.py
M lldb/test/API/python_api/frame/get-variables/TestGetVariables.py
M lldb/test/API/python_api/module_section/TestModuleAndSection.py
M lldb/test/API/python_api/process/TestProcessAPI.py
M lldb/test/API/python_api/process/io/TestProcessIO.py
M lldb/test/API/python_api/sbdata/TestSBData.py
M lldb/test/API/python_api/sbmodule/TestSBModule.py
M lldb/test/API/python_api/target/TestTargetAPI.py
M lldb/test/API/python_api/type/TestTypeList.py
M lldb/test/API/python_api/value/change_values/TestChangeValueAPI.py
M lldb/test/API/python_api/value/change_values/libcxx/atomic/TestChangeValue.py
M lldb/test/API/python_api/value/change_values/libcxx/map/TestChangeMapValue.py
M lldb/test/API/python_api/watchpoint/TestWatchpointIter.py
M lldb/test/API/sanity/TestSettingSkipping.py
M lldb/test/API/source-manager/TestSourceManager.py
M lldb/test/API/tools/lldb-dap/coreFile/TestDAP_coreFile.py
M lldb/test/API/tools/lldb-dap/disassemble/TestDAP_disassemble.py
M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch.py
M lldb/test/API/tools/lldb-dap/runInTerminal/TestDAP_runInTerminal.py
M lldb/test/API/tools/lldb-dap/stackTrace/TestDAP_stackTrace.py
M lldb/test/API/tools/lldb-dap/terminated-event/TestDAP_terminatedEvent.py
M lldb/test/API/tools/lldb-dap/variables/TestDAP_variables.py
M lldb/test/API/tools/lldb-server/TestAppleSimulatorOSType.py
M lldb/test/API/tools/lldb-server/TestGdbRemoteAttach.py
M lldb/test/API/tools/lldb-server/TestGdbRemoteAuxvSupport.py
M lldb/test/API/tools/lldb-server/TestGdbRemoteExpeditedRegisters.py
M lldb/test/API/tools/lldb-server/TestGdbRemoteRegisterState.py
M lldb/test/API/tools/lldb-server/TestLldbGdbServer.py
M lldb/test/API/tools/lldb-server/attach-wait/TestGdbRemoteAttachWait.py
M lldb/test/API/tools/lldb-server/registers-target-xml-reading/TestGdbRemoteTargetXmlPacket.py
M lldb/test/Shell/SymbolFile/DWARF/x86/dwp-separate-debug-file.cpp
M lldb/test/Shell/helper/build.py
M lldb/tools/lldb-dap/lldb-dap.cpp
M llvm/CMakeLists.txt
M llvm/cmake/modules/AddLLVM.cmake
M llvm/include/llvm/ADT/APInt.h
M llvm/include/llvm/ADT/GenericUniformityImpl.h
M llvm/include/llvm/ADT/STLExtras.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/BinaryFormat/Dwarf.def
M llvm/include/llvm/BinaryFormat/Dwarf.h
M llvm/include/llvm/BinaryFormat/ELF.h
M llvm/include/llvm/BinaryFormat/ELFRelocs/ARM.def
M llvm/include/llvm/BinaryFormat/Wasm.h
M llvm/include/llvm/CodeGen/Analysis.h
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
M llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
A llvm/include/llvm/ExecutionEngine/Orc/SectCreate.h
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/include/llvm/IR/BasicBlock.h
M llvm/include/llvm/IR/DebugInfo.h
M llvm/include/llvm/IR/DebugProgramInstruction.h
M llvm/include/llvm/IR/Instruction.h
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/include/llvm/MC/MCExpr.h
M llvm/include/llvm/MC/MCParser/MCTargetAsmParser.h
M llvm/include/llvm/MC/MCTargetOptions.h
M llvm/include/llvm/MC/MCTargetOptionsCommandFlags.h
M llvm/include/llvm/Object/XCOFFObjectFile.h
M llvm/include/llvm/ObjectYAML/XCOFFYAML.h
M llvm/include/llvm/ProfileData/InstrProfData.inc
M llvm/include/llvm/Support/ThreadPool.h
M llvm/include/llvm/Support/TypeSize.h
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/include/llvm/Target/TargetPfmCounters.td
M llvm/include/llvm/TargetParser/AArch64TargetParser.h
M llvm/include/llvm/TargetParser/ARMTargetParser.h
M llvm/include/llvm/TargetParser/Triple.h
M llvm/include/llvm/Transforms/Utils/ScalarEvolutionExpander.h
M llvm/include/llvm/Transforms/Utils/ValueMapper.h
M llvm/lib/Analysis/Lint.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/CodeGen/Analysis.cpp
M llvm/lib/CodeGen/AsmPrinter/AccelTable.cpp
M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/DebugInfo/DWARF/DWARFTypePrinter.cpp
M llvm/lib/Debuginfod/Debuginfod.cpp
M llvm/lib/ExecutionEngine/Orc/CMakeLists.txt
A llvm/lib/ExecutionEngine/Orc/SectCreate.cpp
M llvm/lib/Frontend/Offloading/Utility.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/IR/DebugInfo.cpp
M llvm/lib/IR/DebugProgramInstruction.cpp
M llvm/lib/IR/Function.cpp
M llvm/lib/IR/Instruction.cpp
M llvm/lib/IR/Module.cpp
M llvm/lib/LTO/LTO.cpp
M llvm/lib/MC/MCExpr.cpp
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/MC/MCParser/WasmAsmParser.cpp
M llvm/lib/MC/MCSectionWasm.cpp
M llvm/lib/MC/MCTargetOptions.cpp
M llvm/lib/MC/MCTargetOptionsCommandFlags.cpp
M llvm/lib/ObjCopy/ELF/ELFObject.cpp
M llvm/lib/Object/XCOFFObjectFile.cpp
M llvm/lib/ObjectYAML/ELFYAML.cpp
M llvm/lib/ObjectYAML/WasmYAML.cpp
M llvm/lib/ObjectYAML/XCOFFEmitter.cpp
M llvm/lib/ObjectYAML/XCOFFYAML.cpp
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUInstructions.td
A llvm/lib/Target/AMDGPU/AMDGPUPredicateControl.td
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h
M llvm/lib/Target/AMDGPU/R600.td
M llvm/lib/Target/AMDGPU/SIDefines.h
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
M llvm/lib/Target/AMDGPU/SOPInstructions.td
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/lib/Target/AMDGPU/VOP2Instructions.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp
M llvm/lib/Target/ARM/MCTargetDesc/CMakeLists.txt
M llvm/lib/Target/Hexagon/CMakeLists.txt
M llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp
M llvm/lib/Target/Hexagon/HexagonInstrInfo.h
R llvm/lib/Target/Hexagon/HexagonPostIncOpt.cpp
M llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonBaseInfo.h
M llvm/lib/Target/LoongArch/LoongArchTargetMachine.h
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
M llvm/lib/Target/RISCV/RISCVSubtarget.h
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVInstPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.td
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.h
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVMCInstLower.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp
M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.h
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86TargetMachine.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/TargetParser/ARMTargetParser.cpp
M llvm/lib/TargetParser/Triple.cpp
M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
M llvm/lib/Transforms/Coroutines/CoroInternal.h
M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
M llvm/lib/Transforms/IPO/IROutliner.cpp
M llvm/lib/Transforms/IPO/MergeFunctions.cpp
M llvm/lib/Transforms/IPO/SampleProfile.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
M llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Scalar/ADCE.cpp
M llvm/lib/Transforms/Scalar/JumpThreading.cpp
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
M llvm/lib/Transforms/Scalar/SpeculativeExecution.cpp
M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
M llvm/lib/Transforms/Utils/CodeExtractor.cpp
M llvm/lib/Transforms/Utils/InlineFunction.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/LoopRotationUtils.cpp
M llvm/lib/Transforms/Utils/LoopUtils.cpp
M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/lib/Transforms/Utils/SimplifyIndVar.cpp
M llvm/lib/Transforms/Utils/ValueMapper.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.h
M llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.cpp
M llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanValue.h
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
M llvm/lib/Transforms/Vectorize/VPlanVerifier.h
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Analysis/CostModel/RISCV/shuffle-extract_subvector.ll
M llvm/test/Analysis/CostModel/X86/ctpop-codesize.ll
M llvm/test/Analysis/CostModel/X86/ctpop-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/icmp-codesize.ll
M llvm/test/Analysis/CostModel/X86/icmp-latency.ll
M llvm/test/Analysis/CostModel/X86/icmp-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/icmp.ll
A llvm/test/Analysis/CostModel/X86/icmp0.ll
A llvm/test/Analysis/Lint/abort-on-error.ll
M llvm/test/Analysis/ValueTracking/constant-ranges.ll
M llvm/test/CodeGen/AArch64/GlobalISel/combine-logic-of-compare.mir
M llvm/test/CodeGen/AArch64/GlobalISel/combine-unmerge.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
M llvm/test/CodeGen/AArch64/aarch64-bif-gen.ll
M llvm/test/CodeGen/AArch64/aarch64-bit-gen.ll
M llvm/test/CodeGen/AArch64/abs.ll
M llvm/test/CodeGen/AArch64/arm64-neon-copy.ll
M llvm/test/CodeGen/AArch64/arm64-vcvt_f.ll
M llvm/test/CodeGen/AArch64/bitcast.ll
M llvm/test/CodeGen/AArch64/bswap.ll
A llvm/test/CodeGen/AArch64/extractvector-of-load.mir
A llvm/test/CodeGen/AArch64/extractvector-oob-load.mir
M llvm/test/CodeGen/AArch64/fpext.ll
M llvm/test/CodeGen/AArch64/fptoi.ll
M llvm/test/CodeGen/AArch64/llvm.exp10.ll
M llvm/test/CodeGen/AArch64/reduce-and.ll
M llvm/test/CodeGen/AArch64/reduce-or.ll
M llvm/test/CodeGen/AArch64/reduce-xor.ll
M llvm/test/CodeGen/AArch64/shift.ll
A llvm/test/CodeGen/AArch64/stack-probing-shrink-wrap.mir
M llvm/test/CodeGen/AArch64/sve-fixed-length-vector-shuffle-tbl.ll
M llvm/test/CodeGen/AArch64/vecreduce-fmax-legalization-nan.ll
M llvm/test/CodeGen/AArch64/vecreduce-fmax-legalization.ll
M llvm/test/CodeGen/AArch64/vecreduce-fmaximum.ll
M llvm/test/CodeGen/AArch64/vecreduce-fmin-legalization.ll
M llvm/test/CodeGen/AArch64/vecreduce-fminimum.ll
M llvm/test/CodeGen/AArch64/vecreduce-umax-legalization.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-add-mul-post-legalize.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-add-mul-pre-legalize.mir
A llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fpneg-one-fneg.mir
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/fmed3-cast-combine.ll
M llvm/test/CodeGen/AMDGPU/fmul-to-ldexp.ll
M llvm/test/CodeGen/AMDGPU/fneg-modifier-casting.ll
M llvm/test/CodeGen/AMDGPU/function-args.ll
M llvm/test/CodeGen/AMDGPU/global-atomics-fp.ll
M llvm/test/CodeGen/AMDGPU/isel-amdgpu-cs-chain-preserve-cc.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fdot2.f32.bf16.ll
M llvm/test/CodeGen/AMDGPU/llvm.is.fpclass.bf16.ll
M llvm/test/CodeGen/AMDGPU/local-atomics-fp.ll
M llvm/test/CodeGen/AMDGPU/rsq.f64.ll
M llvm/test/CodeGen/AMDGPU/sdwa-preserve.mir
M llvm/test/CodeGen/AMDGPU/vector_shuffle.packed.ll
A llvm/test/CodeGen/Hexagon/ldst_vector_offset.ll
R llvm/test/CodeGen/Hexagon/post-inc-vec.mir
R llvm/test/CodeGen/Hexagon/post_inc_store.mir
R llvm/test/CodeGen/Hexagon/postincopt-crash.mir
R llvm/test/CodeGen/Hexagon/postincopt-dcfetch.mir
R llvm/test/CodeGen/Hexagon/valid-offset-loadbsw4.mir
A llvm/test/CodeGen/LoongArch/addrspacecast.ll
M llvm/test/CodeGen/NVPTX/bf16-instructions.ll
M llvm/test/CodeGen/PowerPC/aix-dwarf.ll
A llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/insertelement.ll
A llvm/test/CodeGen/RISCV/readsteadycounter.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfw-web-simplification.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwadd.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwmul.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwsub.ll
M llvm/test/CodeGen/RISCV/rvv/vpscatter-sdnode.ll
M llvm/test/CodeGen/RISCV/select.ll
M llvm/test/CodeGen/RISCV/sext-zext-trunc.ll
A llvm/test/CodeGen/SPIRV/execution-mode-per-entry-point.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_add/atomicrmw_faddfsub_double.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_add/atomicrmw_faddfsub_float.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_add/atomicrmw_faddfsub_half.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_min_max/atomicrmw_fminfmax_double.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_min_max/atomicrmw_fminfmax_float.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_min_max/atomicrmw_fminfmax_half.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_uniform_group_instructions/uniform-group-instructions.ll
R llvm/test/CodeGen/SPIRV/opencl/basic/vstore_private.ll
A llvm/test/CodeGen/SPIRV/opencl/vload2.ll
A llvm/test/CodeGen/SPIRV/pointers/getelementptr-kernel-arg-char.ll
A llvm/test/CodeGen/SystemZ/frame-29.ll
M llvm/test/CodeGen/VE/Scalar/ctlz.ll
A llvm/test/CodeGen/WebAssembly/no-strip.ll
M llvm/test/CodeGen/X86/avx512vl-intrinsics-fast-isel.ll
M llvm/test/CodeGen/X86/ctpop-mask.ll
M llvm/test/CodeGen/X86/prefer-avx256-mask-extend.ll
M llvm/test/CodeGen/X86/psadbw.ll
M llvm/test/CodeGen/X86/sadd_sat_vec.ll
M llvm/test/CodeGen/X86/ssub_sat_vec.ll
M llvm/test/CodeGen/X86/vector-bo-select.ll
M llvm/test/CodeGen/X86/vector-reduce-add-mask.ll
M llvm/test/CodeGen/X86/vector-reduce-ctpop.ll
M llvm/test/CodeGen/X86/vselect-avx.ll
A llvm/test/DebugInfo/dpvalue-print-nocrash.ll
M llvm/test/DebugInfo/fixed-point.ll
A llvm/test/ExecutionEngine/JITLink/Generic/Inputs/sectcreate-data.txt
A llvm/test/ExecutionEngine/JITLink/Generic/sectcreate.test
M llvm/test/MC/AArch64/armv9.4a-gcs.s
M llvm/test/MC/AMDGPU/bf16_imm.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp8.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_err-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_err.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vop1.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop1.s
M llvm/test/MC/AMDGPU/gfx11_unsupported_sdwa-fake16.s
M llvm/test/MC/AMDGPU/gfx11_unsupported_sdwa.s
A llvm/test/MC/ARM/fdpic.s
M llvm/test/MC/Disassembler/AArch64/armv9.4a-gcs.txt
M llvm/test/MC/Disassembler/AMDGPU/bf16_imm.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vop1.txt
M llvm/test/MC/WebAssembly/no-dead-strip.ll
M llvm/test/Transforms/ConstraintElimination/minmax.ll
A llvm/test/Transforms/ConstraintElimination/sext.ll
M llvm/test/Transforms/Coroutines/coro-async-addr-lifetime-infinite-loop-bug.ll
M llvm/test/Transforms/Coroutines/coro-async-addr-lifetime-start-bug.ll
M llvm/test/Transforms/Coroutines/coro-async-dyn-align.ll
R llvm/test/Transforms/Coroutines/coro-async-mutal-recursive.ll
A llvm/test/Transforms/Coroutines/coro-async-notail-wasm.ll
M llvm/test/Transforms/Coroutines/coro-async-unreachable.ll
M llvm/test/Transforms/Coroutines/coro-async.ll
M llvm/test/Transforms/Coroutines/swift-async-dbg.ll
A llvm/test/Transforms/IndVarSimplify/hoist-wide-inc-for-narrow-use-recompute-flags.ll
M llvm/test/Transforms/InstCombine/2008-05-23-CompareFold.ll
M llvm/test/Transforms/InstCombine/2008-11-08-FCmp.ll
M llvm/test/Transforms/InstCombine/2009-05-23-FCmpToICmp.ll
M llvm/test/Transforms/InstCombine/2012-02-13-FCmp.ll
M llvm/test/Transforms/InstCombine/abs-intrinsic.ll
M llvm/test/Transforms/InstCombine/cast.ll
M llvm/test/Transforms/InstCombine/dependent-ivs.ll
M llvm/test/Transforms/InstCombine/getelementptr.ll
M llvm/test/Transforms/InstCombine/vec_demanded_elts.ll
A llvm/test/Transforms/LoopIdiom/pr82337.ll
A llvm/test/Transforms/LoopRotate/coroutine.ll
A llvm/test/Transforms/LoopUnroll/gh-issue77118-broken-lcssa-form.ll
M llvm/test/Transforms/LoopVectorize/vplan_hcfg_stress_test.ll
A llvm/test/Transforms/MergeFunc/debuginfo-iterators.ll
M llvm/test/Transforms/SampleProfile/Inputs/profile-mismatch.prof
M llvm/test/Transforms/SampleProfile/Inputs/pseudo-probe-profile-mismatch.prof
M llvm/test/Transforms/SampleProfile/profile-mismatch.ll
M llvm/test/Transforms/SampleProfile/pseudo-probe-profile-mismatch-thinlto.ll
M llvm/test/Transforms/SampleProfile/pseudo-probe-profile-mismatch.ll
A llvm/test/Transforms/SimplifyCFG/X86/PR80122.ll
A llvm/test/Transforms/VectorCombine/X86/reduction-of-truncations.ll
M llvm/test/lit.cfg.py
M llvm/test/lit.site.cfg.py.in
M llvm/test/tools/llvm-dwarfdump/AArch64/ptrauth.s
A llvm/test/tools/llvm-objcopy/ELF/non-load-at-load-start.test
M llvm/test/tools/llvm-objdump/openbsd-headers.test
M llvm/test/tools/llvm-readobj/ELF/file-header-os-abi.test
M llvm/test/tools/llvm-readobj/ELF/program-headers.test
M llvm/test/tools/llvm-readobj/ELF/reloc-types-arm.test
M llvm/test/tools/llvm-readobj/XCOFF/sections.test
A llvm/test/tools/yaml2obj/XCOFF/dwarf-subsection-types.yaml
M llvm/tools/llvm-exegesis/lib/BenchmarkResult.cpp
M llvm/tools/llvm-exegesis/lib/BenchmarkResult.h
M llvm/tools/llvm-exegesis/lib/CMakeLists.txt
M llvm/tools/llvm-exegesis/lib/LatencyBenchmarkRunner.cpp
M llvm/tools/llvm-exegesis/lib/Target.h
A llvm/tools/llvm-exegesis/lib/ValidationEvent.cpp
A llvm/tools/llvm-exegesis/lib/ValidationEvent.h
M llvm/tools/llvm-exegesis/llvm-exegesis.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
M llvm/tools/llvm-objdump/ELFDump.cpp
M llvm/tools/llvm-readobj/ELFDumper.cpp
M llvm/tools/llvm-readobj/XCOFFDumper.cpp
M llvm/tools/llvm-reduce/DeltaManager.cpp
M llvm/tools/llvm-reduce/deltas/ReduceDPValues.cpp
M llvm/tools/llvm-reduce/deltas/ReduceDPValues.h
M llvm/tools/llvm-shlib/CMakeLists.txt
M llvm/tools/obj2yaml/xcoff2yaml.cpp
M llvm/unittests/ADT/APIntTest.cpp
M llvm/unittests/ADT/STLExtrasTest.cpp
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
M llvm/unittests/IR/BasicBlockDbgInfoTest.cpp
M llvm/unittests/IR/DebugInfoTest.cpp
M llvm/unittests/IR/ValueTest.cpp
M llvm/unittests/Support/TypeSizeTest.cpp
M llvm/unittests/TargetParser/TargetParserTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanHCFGTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanSlpTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanVerifierTest.cpp
M llvm/utils/UpdateTestChecks/common.py
M llvm/utils/count_running_jobs.py
M llvm/utils/gn/secondary/clang/lib/ExtractAPI/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/Frontend/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/InstallAPI/BUILD.gn
M llvm/utils/gn/secondary/clang/test/BUILD.gn
A llvm/utils/gn/secondary/clang/tools/clang-installapi/BUILD.gn
M llvm/utils/gn/secondary/clang/unittests/BUILD.gn
A llvm/utils/gn/secondary/clang/unittests/InstallAPI/BUILD.gn
M llvm/utils/gn/secondary/clang/unittests/Serialization/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/ExecutionEngine/Orc/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Target/Hexagon/BUILD.gn
M llvm/utils/gn/secondary/llvm/test/BUILD.gn
M llvm/utils/gn/secondary/llvm/tools/llvm-exegesis/lib/BUILD.gn
M llvm/utils/lldbDataFormatters.py
M llvm/utils/release/github-upload-release.py
M llvm/utils/release/test-release.sh
M mlir/docs/Dialects/OpenACCDialect.md
M mlir/docs/Dialects/emitc.md
M mlir/docs/Passes.md
M mlir/docs/Tutorials/transform/Ch4.md
A mlir/include/mlir-c/Dialect/Transform/Interpreter.h
M mlir/include/mlir/Bindings/Python/PybindAdaptors.h
M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
M mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td
M mlir/include/mlir/Dialect/Mesh/IR/MeshOps.td
M mlir/include/mlir/Dialect/SparseTensor/IR/Enums.h
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorType.h
M mlir/include/mlir/Dialect/Tensor/IR/TensorOps.td
M mlir/include/mlir/Dialect/Tensor/Utils/Utils.h
M mlir/include/mlir/Dialect/Transform/IR/TransformInterfaces.h
M mlir/include/mlir/Dialect/Vector/TransformOps/VectorTransformOps.td
M mlir/include/mlir/Dialect/Vector/Transforms/LoweringPatterns.h
M mlir/include/mlir/Dialect/Vector/Transforms/VectorRewritePatterns.h
M mlir/include/mlir/Dialect/Vector/Utils/VectorUtils.h
M mlir/include/mlir/IR/DialectBase.td
M mlir/include/mlir/IR/PatternMatch.h
M mlir/include/mlir/IR/Threading.h
M mlir/include/mlir/TableGen/Dialect.h
M mlir/include/mlir/Transforms/DialectConversion.h
M mlir/lib/Analysis/Presburger/Barvinok.cpp
M mlir/lib/Bindings/Python/DialectLLVM.cpp
M mlir/lib/Bindings/Python/IRCore.cpp
M mlir/lib/Bindings/Python/IRModule.h
A mlir/lib/Bindings/Python/TransformInterpreter.cpp
M mlir/lib/Bytecode/Reader/BytecodeReader.cpp
M mlir/lib/CAPI/Dialect/CMakeLists.txt
A mlir/lib/CAPI/Dialect/TransformInterpreter.cpp
M mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVMPass.cpp
M mlir/lib/Dialect/Bufferization/Transforms/Bufferize.cpp
M mlir/lib/Dialect/GPU/Transforms/ParallelLoopMapper.cpp
M mlir/lib/Dialect/LLVMIR/IR/ROCDLDialect.cpp
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/lib/Dialect/Mesh/IR/MeshOps.cpp
M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseAssembler.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorCodegen.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/CodegenUtils.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorDescriptor.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorDescriptor.h
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/lib/Dialect/Tensor/Utils/Utils.cpp
M mlir/lib/Dialect/Transform/IR/TransformInterfaces.cpp
M mlir/lib/Dialect/Vector/TransformOps/VectorTransformOps.cpp
M mlir/lib/Dialect/Vector/Transforms/CMakeLists.txt
A mlir/lib/Dialect/Vector/Transforms/LowerVectorInterleave.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorTransferOpTransforms.cpp
M mlir/lib/Dialect/Vector/Utils/VectorUtils.cpp
M mlir/lib/ExecutionEngine/AsyncRuntime.cpp
M mlir/lib/IR/MLIRContext.cpp
M mlir/lib/IR/PatternMatch.cpp
M mlir/lib/Pass/Pass.cpp
M mlir/lib/TableGen/Dialect.cpp
M mlir/lib/Target/Cpp/TranslateToCpp.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/Dialect/ROCDL/ROCDLToLLVMIRTranslation.cpp
M mlir/lib/Transforms/Utils/DialectConversion.cpp
M mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp
M mlir/python/CMakeLists.txt
M mlir/python/mlir/_mlir_libs/_mlir/__init__.pyi
M mlir/python/mlir/dialects/_ods_common.py
M mlir/python/mlir/dialects/arith.py
A mlir/python/mlir/dialects/transform/interpreter/__init__.py
M mlir/test/CAPI/CMakeLists.txt
A mlir/test/CAPI/transform_interpreter.c
M mlir/test/CMakeLists.txt
M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
M mlir/test/Dialect/Linalg/canonicalize.mlir
M mlir/test/Dialect/Linalg/generalize-tensor-pack-tile.mlir
M mlir/test/Dialect/Linalg/generalize-tensor-pack.mlir
M mlir/test/Dialect/Linalg/generalize-tensor-unpack-tile.mlir
M mlir/test/Dialect/Linalg/generalize-tensor-unpack.mlir
M mlir/test/Dialect/Linalg/vectorization.mlir
M mlir/test/Dialect/Mesh/process-multi-index-op-lowering.mlir
M mlir/test/Dialect/SparseTensor/codegen.mlir
M mlir/test/Dialect/SparseTensor/external.mlir
M mlir/test/Dialect/Tensor/canonicalize.mlir
M mlir/test/Dialect/Tensor/invalid.mlir
A mlir/test/Dialect/Vector/vector-interleave-lowering-transforms.mlir
M mlir/test/Dialect/Vector/vector-transfer-flatten.mlir
A mlir/test/Integration/Dialect/Linalg/CPU/mmt4d.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_coo_test.mlir
M mlir/test/Target/LLVMIR/openmp-llvm.mlir
M mlir/test/Transforms/test-legalizer.mlir
M mlir/test/Transforms/test-strict-pattern-driver.mlir
M mlir/test/lib/Dialect/Test/TestDialect.td
M mlir/test/lib/Dialect/Test/TestPatterns.cpp
M mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp
M mlir/test/lib/IR/TestBytecodeRoundtrip.cpp
M mlir/test/lib/IR/TestVisitors.cpp
M mlir/test/lib/Transforms/TestConstantFold.cpp
M mlir/test/lit.cfg.py
M mlir/test/mlir-tblgen/op-python-bindings.td
A mlir/test/python/dialects/transform_interpreter.py
M mlir/test/python/ir/value.py
M mlir/tools/mlir-tblgen/DialectGen.cpp
M mlir/tools/mlir-tblgen/OpFormatGen.cpp
M mlir/tools/mlir-tblgen/OpPythonBindingGen.cpp
M mlir/tools/mlir-tblgen/RewriterGen.cpp
M mlir/unittests/Bytecode/BytecodeTest.cpp
M mlir/unittests/Debug/FileLineColLocBreakpointManagerTest.cpp
M mlir/unittests/Dialect/SPIRV/SerializationTest.cpp
M openmp/libomptarget/include/Shared/APITypes.h
M openmp/libomptarget/include/omptarget.h
M openmp/libomptarget/src/PluginManager.cpp
M openmp/libomptarget/src/interface.cpp
M openmp/libomptarget/src/omptarget.cpp
M openmp/libomptarget/test/lit.cfg
A openmp/libomptarget/test/mapping/auto_zero_copy_apu.cpp
M openmp/libomptarget/test/offloading/requires.c
A openmp/runtime/src/z_AIX_asm.S
M polly/lib/Exchange/JSONExporter.cpp
M polly/lib/Transform/DeLICM.cpp
M polly/lib/Transform/FlattenSchedule.cpp
M polly/lib/Transform/ForwardOpTree.cpp
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/python/BUILD.bazel
Log Message:
-----------
Merge branch 'main' into users/fhahn/vplan-uniform-scalar-lanes
Compare: https://github.com/llvm/llvm-project/compare/d9760f18fa86...d72a629b3db4
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