DAGCombiner: Drop AllowFPOpFusion from visitFADDForFMACombine
Rewrites fp-dp3.ll to use flags on individual patterns. It weirdly
used different triples for the fp-contract on and off cases, seemingly
an artifact of the ARM64 and AArch64 merge.
Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
[SLP]Fix crash on extractelement with undef/poison index in getEntryCost
canReuseExtract treats undef/poison-index extracts as holes, so such
extracts can end up in a vectorized ExtractElement entry. The cost
model dereferenced getExtractIndex() unconditionally, causing a crash.
Fixes #221414
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/221437
MC: Move BinutilsVersion from TargetOptions to MCTargetOptions
BinutilsVersion has no codegen use and only used by MCAsmInfo to check
ELF assembler features.
Co-authored-by: Claude (claude-opus-4.8) <noreply at anthropic.com>
clang: Distinguish unspecified from disabled exception model
Add ExceptionHandlingKind::Default so clang can tell an unspecified
exception model from an explicit -exception-model=none.
clang: Emit "exception-model" module flag
Record the exception-handling model as an "exception-model" IR module
flag when it differs from the target triple's default, mirroring how
other target ABI properties are recorded. Adds a
CodeGenOptions::toExceptionHandling helper to translate clang's
ExceptionHandlingKind into the LLVM ExceptionHandling enum.
Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
IR: Introduce "exception-model" module flag
Add an "exception-model" IR module flag intended to replace
TargetOptions::ExceptionModel, such that the ABI is fully
computable from the IR alone. Add the basic documentation and
verifier/linker tests, but doesn't wire up the consumers.
The main thing I question is whether the single "wasm" model is
really the correct control. With the existing TargetOption,
WebAssembly is overloading "none" in a weird way that sometimes
means default, and sometimes mean forcibly disabled exceptions.
It additionally has -wasm-enable-eh and -wasm-enable-sjlj cl::opts
and I don't fully understand the interaction between all of these
knobs; the cl::opts are even worse than the TargetOptions since
these still change the ABI and are backend private.
Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
x11/xterm: update to 411
Patch #411 - 2026/08/24
add a case for DECSWT in VT520 mode (prompted by discussion with James Holderness).
correct an index computation in VS15/VS16 logic for -emoji_width option (report by Arpit Jain).
add ich1 to terminfo where appropriate.
drop “GTK_*” from environment filtering (report by Stefan Klinger).
fix a couple of places in terminfo which used BEL rather than ST.
add DECSCUSR 7 for the “power-up” configuration, which can be different from the documented VT520 behavior (prompted by discussion with “heurist”).
correct a limit-check added in patch #399, which resulted in regex-based selections to be limited to the first row of a wrapped line (Redhat #2479962).
add resource brokenCopyArea, using that to control whether XCopyArea is used for indexing and scrolling, as well as inserting or deleting characters and lines.
amend check for validity of C1 controls to check both whether wide-characters have been initialized, as well as whether the current encoding is UTF-8 (Debian #687699).
call Cleanup directly when processing SIGHUP, because the process running in xterm may ignore a killpg sent to the top-level screen's process (Debian #243598).
libc: Add WCHAR_WIDTH in <wchar.h> as well
Define __WCHAR_WIDTH in sys/_types.h and derive WCHAR_WIDTH from
that, the same way as WCHAR_MIN and WCHAR_MAX, in both <wchar.h>
and <stdint.h> as per C23 §7.31.1 and §7.22.3.4, respectively.
Reviewed by: fuz
Approved by: fuz (mentor)
MFC after: 1 month
Differential Revision: https://reviews.freebsd.org/D59385
libc: Add WCHAR_WIDTH in <wchar.h> as well
Define __WCHAR_WIDTH in sys/_types.h and derive WCHAR_WIDTH from
that, the same way as WCHAR_MIN and WCHAR_MAX, in both <wchar.h>
and <stdint.h> as per C23 §7.31.1 and §7.22.3.4, respectively.
Reviewed by: fuz
Approved by: fuz (mentor)
MFC after: 1 month
Differential Revision: https://reviews.freebsd.org/D59385
[llvm][NFC] canonicalize qnan hexadecimal literals to +-qnan (#221379)
Follow up to https://github.com/llvm/llvm-project/pull/221019 and
https://github.com/llvm/llvm-project/pull/221056
Replaces the literal for `qNaN` `0x7FF8000000000000` with the canonical
form of `+qnan` and etc.
Ignored files
```
llvm/docs/LangRef.md
llvm/lib/Target/AMDGPU/SIISelLowering.cpp
llvm/test/CodeGen/AArch64/GlobalISel/combine-fminimum-fmaximum.mir
llvm/test/CodeGen/AArch64/GlobalISel/combine-fminnum-fmaxnum.mir
llvm/test/CodeGen/AArch64/GlobalISel/preselect-process-phis.mir
llvm/test/CodeGen/MIR/NVPTX/floating-point-immediate-operands.mir
llvm/test/CodeGen/AMDGPU/fcanonicalize.ll
llvm/test/CodeGen/X86/canonicalize-vars.ll
llvm/test/CodeGen/X86/is_fpclass.ll
[17 lines not shown]