[NFC] Optimize `SetImpliedBits` (#193289)
This function sometimes shows up on my profiles of slow compiles as
using up to ~3% of CPU cycles. This change reduces this to ~0%. So, it's
not a huge improvement, but it's not nothing.
Currently, this function recursively sets all implied bits for every
feature, which does a lot of redundant work. Many features are implied
by multiple different other features.
This changes the algorithm to only process newly implied bits.
I suspect that a better fix would be to avoid so many calls to
`SetImpliedBits` in the first place, but this is a deeper change that is
probably best made by someone who understands the structure of the
surrounding code.
Fixes #155808
[lldb-dap] Add process picker command to VS Code extension (#197513)
Adds a process picker command to the LLDB DAP extension that will prompt
the user to select a process. It's based on #128943 but uses lldb-dap to
provide the list of processes through the platform abstraction
(#197330).
The new command is hidden from the command palette, but can be used in
an "attach" debug configuration to select a process at the start of a
debug session. It also comes with a new debug configuration snippet
called "LLDB: Attach to Process" that will fill in the appropriate
variable substitution.
```
{
"type": "lldb-dap",
"request": "attach",
"name": "Attach to Process",
"pid": "${command:pickProcess}"
[8 lines not shown]
multimedia/totem: Mark BROKEN
Fails to build, error: typedef redefinition with different types ('struct _GIBaseInfo' vs 'struct _GIBaseInfoStub')
Reported by: pkg-fallout
[DWARFLinker] Fix .debug_names emission for -gmodules in parallel linker (#198047)
The parallel linker tripped up the DWARF verifier for the .debug_names
section when the input contained -gmodules skeleton CUs. The issue was
caused by, link(), which reset UniqueUnitID to zero. By that point
addObjectFile() had already handed out IDs to clang module CUs loaded
from .pcm files, so the regular compile units loaded after the reset
reused those IDs. emitDWARFv5DebugNamesSection then collapsed two
distinct CUs onto the same CUidToIdx slot, sending one CU's .debug_names
entries to the other CU's index. Stop resetting the counter since the
constructor already initializes it.
[lldb] Fix "Debugger::Initialize called more than once!" (#198409)
When running multiple tests from the same binary,
1bac9410365260e250ab9483f096a411da5936b0 caused debugger_initialize_flag
to be called more than once.
We use the shared location: TestUtilities::g_debugger_initialize_flag to
ensure that the flag is initialized only once, following what is done in
other tests.
[CI] Build/test LLVM/Clang/libcxx on shared libc changes (#198379)
libc is now being used/planned on being used in more places around the
repo, particularly inside of APFloat, for constexpr evaluation, and
inside of libc++. Setup premerge to handle this. I'm only aware of the
APFloat planned usage that should reland soon, but running the clang
tests should not hurt.
[llvm][ABI] Revert "Add NonTrivialCopyConstructor and NonTrivialDestructor RecordFlags" (#198402)
Reverts #194427 (`4f11693`). That breakout was merged before @nikic
and @vortex73 finished review.
We are not landing this work from our fork; Narayan owns the LLVM ABI
Lowering Library on #140112. #194433 is closed.
Sorry for the premature merge.
[llvm] Add missing include in SSAUpdaterImpl.h (#198400)
Add a missing include file in SSAUpdaterImpl.h. This fixes the module
build failure when including this header.
[VPlan] Add helpers to get header, latch and middle VPBB from CFG (NFC) (#198378)
Retrieving header, latch and middle VPBBs from the plain CFG is a
somewhat common operation. Add dedicated helpers.