[libc++][NFC] Simplify duration comparisons a bit (#201788)
The comparisons have been delegated to a class which has been
specialized for the equality case. This has likely been done to avoid
`common_type` if possible. However, `common_type` got a lot cheaper, to
the point where the classes likely do more harm than good.
[GlobalISel] Support the byte type in the IRTranslator (#196125)
> [!NOTE]
> Stacked: this PR is the base of a 2-PR stack.
> - **#196125 (this PR)** — GlobalISel byte-type support (lands first)
> - **#177908** — LoadStoreVectorizer mixed-type support (depends on
this; rebased on top)
Mirror SelectionDAG's behaviour by treating byte as integer at the
IR-to-MIR boundary:
- `getLLTForType` maps ByteType to `LLT::integer(N)`, matching the
byte->integer EVT mapping in ValueTypes.cpp.
- `translate(Constant)` handles ConstantByte by routing through
buildConstant with the underlying APInt.
- `translateBitCast` redirects only **scalar** byte<->ptr crossings to
G_INTTOPTR / G_PTRTOINT (the well-typed MIR shape for that boundary).
Vector byte<->ptr (e.g. `<N x b32>` -> ptr produced by mixed-type load
coalescing in #177908) and other legacy ptr/non-ptr IR bitcasts (AMDGPU
iN<->p3 kernarg packing, etc.) keep their historical G_BITCAST lowering
[2 lines not shown]
[flang][debug] Fix DIStringType size for arrays of assumed-length chars. (#201649)
When generating DWARF for an assumed-shape array whose element type is
an assumed-length character, `convertBoxedSequenceType` called
`convertType` for the element, which in turn called
`convertCharacterType` with `hasDescriptor`=false. With no descriptor
and a non-constant length, none of the branches that set `sizeInBits` or
produce a length expression were taken, so the resulting
`DIStringTypeAttr` had `sizeInBits` equal to =0 and no
`stringLengthExp`, leaving GDB unable to determine the string length or
display the array elements.
Fix this by detecting a non-constant-length character element in
`convertBoxedSequenceType` and calling `convertCharacterType` directly
with `hasDescriptor=true`. This generates the correct `stringLengthExp`
that reads the element byte-size from the descriptor. A
`genStringLocation` parameter (default true) is also added to suppress
the string location expression for the element type, since the data
location of array elements is already provided by the enclosing array.
Fixes https://github.com/llvm/llvm-project/issues/113895
[X86] combineINSERT_SUBVECTOR - peek through BITCAST and EXTRACT_SUBVECTOR when trying to find shuffle combine candidates (#201781)
Helps with some expanded CONCAT_VECTORS cases where both halves came
from wider shuffles.
More yak shaving for #199445
[SimplifyCFG] Look at all uses when checking phi incoming for UB (#200164)
passingValueIsAlwaysUndefined only looks at the first use of the phi
that has a UB-candidate opcode. If that use is in a different block, the
function gives up, even when another use in the same block would prove
UB. Use-list order is not guaranteed, so this happens in practice.
Move the same-block check into the find_if lambda so the scan keeps
going past cross-block uses.
octave: updated to 11.3.0
Summary of bugs fixed for version 11.3.0 (2026-06-01):
This version brings only minor changes compared to Octave 11.2.0. Most
importantly, it fixes the SOVERSION of the `liboctinterp` library.
For (bug #XXXXX) see https://savannah.gnu.org/bugs/?XXXXX
Improvements and fixes
- Fix returning reciprocal condition number as second output from `det` for
triangular dense matrices.
[alpha.webkit.NoDeleteChecker] Allow no-delete default constructors (#201544)
This PR fixes the bug in TrivialFunctionAnalysis that it treats a
default constructor without an explicit body / definition as not
"trivial". Fixed the bug by allowing the function body to be missing
when isThisDeclarationADefinition is true.
---------
Co-authored-by: Balazs Benics <benicsbalazs at gmail.com>
[NFC][clang] Add pragma comment formatting commit to blame ignore list (#201765)
Add the previously landed formatting-only commit for the pragma comment
kind StringSwitch to `.git-blame-ignore-revs`.
This keeps git blame useful across the NFC formatting change.
Formatting commit:
511d2e40ddeacf25f403b40ed73a41d1dea1b636
Co-authored-by: Tony Varghese <tony.varghese at ibm.com>
audio/ario: fix build with llvm 22
Switch a variable from long to time_t, so it has the correct type to pass
to ctime(3). Since the time is obtained through a few abstraction layers
using long, this would require too much patching to become 2038 clean.
OpenMP: Accept amdgpu name in arch directive
Accept amdgpu as an alias for amdgcn as part of the general
trend of preferring the amdgpu name. This is so the name is
consistent in the future when the triple arch name changes.
[SLSR] Avoid repeatedly calling canReuseInstruction for the same Basis (#196545)
`canReuseInstruction` only depends on `Basis`, but runs for each
`(Basis, C)` pair. This patch moves the check earlier in the pass to
remove the repeated call.
Assisted-by: Claude Code
misc/warp: Add port: Open agentic development environment born from the terminal
Warp is an open agentic development environment born from the
terminal. Run coding agents locally and in the cloud, across any
model, any harness, repo, or tool.
WWW: https://warp.dev/
[Clang][HIP] Include `__clang_cuda_math_forward_declares.h` before `<cmath>`
This patch should fix the following error on windows: https://github.com/ggml-org/llama.cpp/issues/22570
In HIP, constexpr functions are treated as both __host__ and __device__.
A new version of the MS STL shipped with the build tools version
14.51.36231 has constexpr definitions for some cmath functions when the
compiler in use is Clang.
These definitions conflict with the __device__ declarations we provide
in the header wrappers.
There is a workaround for this: It is possible to overload constexpr
functions **that are defined in a system header** by declaring a __device__
version before.
By moving `__clang_cuda_math_forward_declares.h` before `<cmath>` is
included we're able to benefit from this behavour.