[SLP] Merge redundant input operands of binary-operator nodes (#208670)
Replaces the merged-input machinery of the preceding commits, kept in
the branch history for reference. Load-only, and restricted to
power-of-two pools: otherwise the gathered-loads path may decline the
wide load and leave the operand stuck as a gather.
Co-authored-by: Cursor <cursoragent at cursor.com>
Co-authored-by: Alexey Bataev <a.bataev at outlook.com>
[BPF] Fix use-after-free in bpf-aspace-simplify (#240996)
BPFASpaceCastSimplifyPass rewrites
`addrspacecast M->N (getelementptr (addrspacecast N->M p))` to
`getelementptr p`. When the inner cast has no other uses, the rewrite
erases it. That cast can also be the outer cast of another chain that is
still in the worklist. The pass then reads the erased cast. Clang
crashes on this code:
```c
#define __arena __attribute__((address_space(1)))
struct hdr { int len; int flags; };
int use(int *p);
int f(void __arena *buf, long off)
{
struct hdr __arena *h = (struct hdr __arena *)((char *)buf + off);
return use((int *)&h->flags);
[22 lines not shown]
wine-wow64: fix using correct `mingw*` packages
The i686-w64-mingw32 and x86_64-w64-mingw32 package names were the
`-ucrt` versions. Maybe it was renamed at some point.
Signed-off-by: Mahied Maruf <mahied.maruf at siriushq.org>
tg_owt-git: fix to use correct usrsctp package
usrsctp was merged into the main repository, which broke this package.
Signed-off-by: Mahied Maruf <mahied.maruf at siriushq.org>
ada-url: update to 4.0.0
This package has been tested as working.
Co-authored-by: Enzo van der Tuin <enzo.van.der.tuin at siriushq.org>
Signed-off-by: Mahied Maruf <mahied.maruf at siriushq.org>
libyuv: fix & update to 1a746db4cee1
Was a broken package. This package has been tested as working now and
fetches from GitHub instead of the old Chromium repository archives.
Signed-off-by: Mahied Maruf <mahied.maruf at siriushq.org>
lwjgl2: create with jMonkeyEngine/lwjgl2 2.9.5
This package has been tested as working.
Co-authored-by: Enzo van der Tuin <enzo.van.der.tuin at siriushq.org>
Signed-off-by: Mahied Maruf <mahied.maruf at siriushq.org>
[lldb][NFC] A small cleanup in Process::ReadModuleFromMemory (#241137)
I added a check for "if corefile" right after a "if live process"
conditional. Initialize both variables in the same cond expr.
[ORC] Replace bindCallControllerHandlerSPS with HandlerSpec (#241133)
Give each existing call-controller handler a descriptor (its default tag
name and SPS signature) and bind it with
bindCallControllerHandler<sps::HandlerSpec<...>>, then remove
bindCallControllerHandlerSPS, which no longer has any users.
Each platform's handler descriptors live in a <platform>_sps_handlers
namespace alongside the platform's existing controller-interface
descriptors. The descriptors for LazyReexportsManager's and
ReOptimizeLayer's handlers follow the same naming scheme.
bindCallControllerHandlerSPS has not appeared in a release, so no
released API is removed.
[ProfileData] Prefer definitions over declarations in InstrProfSymtab (#240698)
When a function declaration and a definition in a module share a
canonical name or GUID (such as promoted ThinLTO symbols or CFI
jump-table declarations alongside `.cfi` bodies), `InstrProfSymtab`
resolved the GUID to whichever appeared first in module order,
preventing indirect call promotion from inlining the definition when the
declaration appeared earlier.
PR Stack:
* ➤ https://github.com/llvm/llvm-project/pull/240698
* https://github.com/llvm/llvm-project/pull/240955
* https://github.com/llvm/llvm-project/pull/240699
Co-authored-by: Benedict Schlüter <bschlueter at google.com>
Assisted-by: Gemini
StackProtector: Take libcall signatures from RuntimeLibcallsInfo
Stop constructing the types by hand, which also missed setting the
calling convention.
This also maintains the special case setting of dso_local, which I
also think should be automatically applied but this requires
additional work.
Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
RuntimeLibcalls: Declare __stack_smash_handler with only the function name
OpenBSD's libc defines __stack_smash_handler(const char func[], int
damaged) but never reads damaged, and GCC declares and calls it with
only the first argument. Match the compiler's convention instead of
the C prototype, which would require a dead argument at every call
site.
Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
Report our short OS name as "other" or "other-64" rather than "FreeBSD".
This makes recent versions of vcenter display the full OS name and version,
and older versions at least indicate whether the guest is amd64 or i386.
also tested by Ian McWilliam on fusion player and Kenneth Gober on esx 5.5
ok dlg@