[AArch64] Extend SBC combine to handle CSET HI (#192708)
The `performSubWithBorrowCombine` previously only matched `CSET LO`
(unsigned <).
This extends it to also handle `CSET HI` (unsigned >) by swapping the
`SUBS` operands, since `a > b` is equivalent to `b < a`.
This resolves the FIXME left in the test from #165271.
[lldb][debugserver] ifdef guard around newer CPU_TYPEs (#195225)
The uses of the new CPU_SUBTYPEs depends on building with a newer SDK
that we don't have on Intel CI bots. Put idef guards around them,
debugserver won't be
working with these CPUs either way.
[lldb] Override UpdateBreakpointSites in ProcessGDBRemote to use MultiBreakpoint
This concludes the implementation of MultiBreakpoint by actually using
the new packet to batch breakpoint requests.
https://github.com/llvm/llvm-project/pull/192910
[lldb] Implement delayed breakpoints (#192971)
This patch changes the Process class so that it delays *physically*
enabling/disabling breakpoints until the process is about to
resume/detach/be destroyed, potentially reducing the packets transmitted
by batching all breakpoints together.
Most classes only need to know whether a breakpoint is "logically"
enabled, as opposed to "physically" enabled (i.e. the remote server has
actually enabled the breakpoint). However, lower level classes like
derived Process classes, or StopInfo may actually need to know whether
the breakpoint was physically enabled. As such, this commit also adds a
"IsPhysicallyEnabled" API.
The following PRs are related to the MultiBreakpoint feature:
* https://github.com/llvm/llvm-project/pull/192910
* https://github.com/llvm/llvm-project/pull/192914
* https://github.com/llvm/llvm-project/pull/192915
[4 lines not shown]
[libc][NFC] Replace <sys/mman.h> with proxy headers in mman (#195164)
Replaced direct <sys/mman.h> includes in sys/mman entrypoint headers
with granular proxy headers (hdr/types/size_t.h). The mmap.h entrypoint
header retains its transitive sys/mman.h include, keeping tests working.
Updated mremap.cpp and posix_madvise.cpp to include
hdr/sys_mman_macros.h for mman macros used directly.
[lldb] Implement delayed breakpoints
This patch changes the Process class so that it delays *physically*
enabling/disabling breakpoints until the process is about to
resume/detach/be destroyed, potentially reducing the packets transmitted
by batching all breakpoints together.
Most classes only need to know whether a breakpoint is "logically"
enabled, as opposed to "physically" enabled (i.e. the remote server has
actually enabled the breakpoint). However, lower level classes like
derived Process classes, or StopInfo may actually need to know whether
the breakpoint was physically enabled. As such, this commit also adds a
"IsPhysicallyEnabled" API.
https://github.com/llvm/llvm-project/pull/192910
[lldb][Darwin] Don't add zero-length segments to SectionLoadList (#195206)
On Darwin systems with a shared cache, all the system binaries are
combined into a single range of virtual address space, placing all the
TEXT segments together, all the DATA segments together, etc. It shrinks
the sizes of the segments from their on-disk file size to the actual
size needed for their contents, instead of observing page alignment
rules for segments.
And in one uncommon case, it is possible for a segment to not be put in
the shared cache virtual range at all.
When DynamicLoaderDarwin adds each file's segments to the Target
SectionLoadList (the table showing what VM ranges they are mapped to),
we're using the original file's segment sizes. But the in-memory segment
sizes may be different for binaries in the shared cache. And for a
segment which is eliminated entirely (zero length), we'll get warnings
as the next segment is added to the same address in the SectionLoadList.
[4 lines not shown]