[CIR] Keep CIR global types visible across lowering replacements (#238698)
Preparation for one-shot conversion.
A lookup after a symbol is lowered can find the already-lowered LLVM
symbol, whose type may have been adjusted during lowering. Readers
needing the unadjusted view then answer differently depending on
lowering order, which broke self-referential globals and later globals
referencing adjusted globals.
This records each symbol's CIR type in a map built before conversion and
uses it when a lookup finds an already-lowered symbol.
Fixes the two order-dependent failures with no other test changes.
Attributor: Use an array indexed by opcode for OpcodeInstMap
This avoids a DenseMap lookup for every instruction when building the
InformationCache, and for every opcode checked by
checkForAllInstructions.
CTMark instructions:u with -attributor-enable=light changes by O3 -0.04%,
ThinLTO -0.02%. The attributor-light pass itself is 0.2-2.5% faster
(callgrind), and 1.4-7.2% faster with the other pending Attributor
compile-time changes applied.
Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
[mlir][affine] Support Cartesian combinations of affine value maps (#228837)
Combining multi-result affine maps enables more general loop analyses. For
example, trip-count expressions can use Cartesian differences of upper and
lower bounds.
In my downstream loop scheduling use case, Cartesian sums are used to
recompute bounds, which are then materialized with affine.min or affine.max.
Add Cartesian support to AffineValueMap::combine and difference. Use it in
existing loop analysis and normalization code to remove lower-bound padding.
[flang] Ignore @process directive after column 6 in fixed source form (#237383)
The XLF @process directive must start at column 1 or after column 6 in
fixed form. Flang treats the directive as a comment line. This patch is
to handle the directive starting after column 6.
Assisted-by: IBM Bob
[ObjectYAML] Fix unchecked Error in BBAddrMap decoder (#239063)
decodePayload returns early on an invalid feature field while the
DataExtractor cursor still holds an unchecked success Error, so obj2yaml
aborts instead of reporting the error. Check the cursor right after
reading the feature field, as decodeBBAddrMapPayload does.
Merge tag 'net-7.4-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
Pull networking fixes from Paolo Abeni:
"Including fixes from Bluetooth, IPsec, WiFi and CAN.
Current release - regressions:
- eth: wwan: mhi_wwan_ctrl: send a DTR drop before it can be coalesced
Previous releases - regressions:
- core:
- use a dedicated flag to track disabled napi instances
- frags: limit the truesize of a reassembly queue
- reject a negative TCP header offset in qdisc_pkt_len_segs_init()y
- tcp:
- reject unhashed sockets during established lookups
- free ireq->ipv6_opt after an RCU grace period
[63 lines not shown]
[Object] Handle K_DARWIN64 in Archive::Symbol::getNext() (#233339)
Symbol::getNext() had no case for K_DARWIN64, so a __.SYMDEF_64 table
fell through to the generic path that advances to the next NUL in the
string table. That is only correct when the strings are stored in
ranlib_64 entry order. Tables whose ranlib_64 entries are sorted by name
while the strings stay in member order, as produced by Apple's ar,
paired symbol names with the wrong members.
Handle K_DARWIN64 together with K_BSD, parameterized by word size.
[Flang][OpenMP] Flag for switching off implicit allocatable member mapping via default declare mapper (#228748)
Part of the OpenMP specification requires implicitly mappiing
allocatable members in derived types. However, it is quite an expensive
overhead to perform implicit allocatable member mapping as it requires a
mapper to do so due to the nature of possibly nested allocatable derived
types etc. Alongside a fairly comprehensive map of the record, this in
particular comes at a fairly substantial cost for arrays of derived
types that trigger this behaviour. Some of this may or may not be
mitigatable over time.
But for the moment this PR seeks to follow the example of other Fortran
OpenMP compilers (Cray in particular I think) and utilise a flag that
can switch this behaviour on and off, so that applications not depending
on the crutch of this implicit mapping can deactivte it and not pay the
overhead, and those that like the compiler to do this for them can
continue to do so.
Take the kernel lock around pgo_refernce() call; not all of our uvm_object
implementations are mpsafe (in particular the vnode one). From Acts1631.
ok claudio@
[lldb] Rename ELF core register contexts (#239069)
The current RegisterContextPOSIXCore naming is confusing for the
following reasons:
- The filename is `RegisterContextPOSIXCore_*` but the class name is
`RegisterContextCorePOSIX_*`.
- POSIX does not require the OS to execute ELF binaries. An example of
this is macOS which runs Mach-O executables.
- Other process plugins have register context classes named
`RegisterContext<plugin's name>`, but elf-core plugin has POSIX in its
register context class name.
This happened because the base class was named RegisterContextPOSIX, but
this was renamed to `RegisterContextCore` in eeb24ee48aa2 because it was
only used by coredump process plugins and did not directly call POSIX
APIs.
To reflect the change, rename elf-core's register context class names to
[2 lines not shown]
Avoid using malloc(9) when walking lists of clocks, PHYs, mailboxes,
hardware locks and power domains. This helps avoiding sleeping in
DVACT_SUSPEND and DVACT_RESUME.
ok phessler@
Merge tag 'platform-drivers-x86-v7.4-2' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86
Pull platform driver fixes from Ilpo Järvinen:
- arm64: asus-glymur-ec: Resolve config loop due to THERMAL symbol
- uniwill-laptop: Add .hw_offloaded() to avoid leds subsystem warning
about missing callback
* tag 'platform-drivers-x86-v7.4-2' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86:
platform/x86: uniwill-laptop: Implement .hw_offloaded trigger callback
platform: arm64: drop the vacuous THERMAL dependency from EC_ASUS_GLYMUR
[AVR] Port ExpandPseudo to NewPM
Standard NewPM pass porting. Also note that this pass preserves the CFG
in the LegacyPM.
Reviewers: benshi001, arsenm
Pull Request: https://github.com/llvm/llvm-project/pull/236482
net/py-paho-mqtt: Update to 2.2.0
v2.2.0
- **Possible breaking change**: Change some exceptions from `ValueError` to `TypeError`
(in `max_queued_messages_set` and Client `callback_api_version` parameter) (Closes #972)
The breaking change is unlikely however, both exceptions are expected to only be
raised with broken code (e.g. need to pass wrong type - not just wrong value).
- Add `drop_out_messages` to discard outgoing message queue. This could be needed if broker lost
the session (Closes #935)
[Object][Wasm] Validate section index and type for section symbols (#239408)
`WASM_SYMBOL_TYPE_SECTION` symbols must reference a valid custom
section, matching the check already performed for `WASM_COMDAT_SECTION`
entries in `parseLinkingSectionComdat`.
Previously, `parseLinkingSectionSymtab` did not check that the section
index was in bounds or that the referenced section was a custom section,
leading to out-of-bounds accesses in `WasmObjectFile` or a null-pointer
dereference in `wasm-ld`.
See: https://github.com/WebAssembly/tool-conventions/pull/272
Fixes: #239393
18552 Update Intel microcode to 20260925
Reviewed by: Bill Sommerfeld <sommerfeld at hamachi.org>
Approved by: Gordon Ross <gordon.w.ross at gmail.com>
12817 ucode/update.intel should be able to use git repos
Reviewed by: Bill Sommerfeld <sommerfeld at hamachi.org>
Reviewed by: Andy Fiddaman <illumos at fiddaman.net>
Approved by: Gordon Ross <gordon.w.ross at gmail.com>
[tsan] Calibrate jmp_buf SP mangling lazily on Linux (#237466)
Avoid running two `_setjmp` probes during startup in binaries that never
call `longjmp`/`siglongjmp`, and unify regular Linux with Android's
on-first-use calibration from #216558 using a separate atomic flag so
zero keys (identity mangling) remain handled.
Assisted-by: Gemini
[Demangle] Support template arguments on vendor extended types
The Itanium ABI grammar is 'u <source-name> [<template-args>]', but the
demangler only accepted a single type argument after the name (used for
builtin type transformations). Clang emits names such as
u11matrix_typeILm1ELm2EjE for matrix types and HLSL, which were left
mangled. Parse general template arguments; a single type argument keeps
the existing transformation output.
Part of #111345.
LLM-aided
Merge tag 'chrome-platform-firmware-fixes-v7.4-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/chrome-platform/linux
Pull chrome platform firmware fixes from Tzung-Bi Shih:
- Don't skip CBMEM entries outside of known memory resources
- Fix a Coccinelle warning for error-pointer handling in coreboot-cfr
* tag 'chrome-platform-firmware-fixes-v7.4-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/chrome-platform/linux:
firmware: coreboot: Fix CFR error-pointer handling warning
firmware: coreboot: Don't skip CBMEM entries outside of known memory
WasmEHPrepare: Use RuntimeLibcallsInfo (#239024)
Take the function type, attributes and calling convention from
RuntimeLibcallsInfo instead of constructing them by hand. Also
validate the required functions are available.
Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
[NFC] Extract fmul(x, CRHS) tests from nofpclass-fmul.ll (#239424)
Moves all `fmul(x, CRHS)` tests from `nofpclass-fmul.ll` to
`nofpclass-fmul-crhs.ll`. Also updated the tests from `--version 2` to
`--version 6`, and updated some of the literals to the modern
`f0x3F800000` form.
[HLSL] Revert `WaveMultiPrefixCountBits` (#239439)
Revert commit `926040bad7abaff76e07a854f9f3edb3ca490248` (#238132) after
the Fuchsia build reports failures in the Clang
`WaveMultiPrefixCountBits` test.
Resolve the merge conflicts to remove only CountBits. Keep BitAnd,
BitXor, Product, Sum, and BitOr. Restore the original inline mask check
for those operations.
Remove the CountBits builtin, its HLSL alias, its DirectX intrinsic and
operation, and its tests. This change reverses the added and removed
lines from #238132 in all 12 affected files.
Assisted by: GitHub Copilot
Co-authored-by: Copilot <223556219+Copilot at users.noreply.github.com>
Copilot-Session: 40997c2f-5aaa-41c6-8d1f-3e2e9ada315f