[NFC][PowerPC][AIX] add explicit code model to 64-bit AIX tests
A later PR will propose updating the default code model, so
this PR sets an explicit code model on tests that don't have it.
[CoroSplit] Rename Suspend/End to AlwaysKill/NeverKill (NFC) (#199150)
Rename them so that we can generalize to more intrinsics, for example,
`llvm.coro.is_in_ramp` in #198226
Revert "DebugInfo: Shrink-to-fit some containers to reduce peak memory usage" (#199145)
Reverts llvm/llvm-project#198935
I think this broke llvm/test/tools/llvm-gsymutil/X86/elf-dwo.yaml .
[mlir] Specify isSigned when creating APInt for I16 attributes (#198687)
8- and 32-bit attribute constructors already do this. Debug builds
trigger an assertion unless isSigned is specified.
[CIR][NFC] Remove unused functions in MissingFeatures.h (#197631)
### Summary
This NFC change removes 33 entries from MissingFeatures.h that have no
callers in tree as of <b4f7c93e7d1325f1c1f00b47c10d2923e8259369>
- `switchOp`
- `opUnaryPromotionType`
- `supportVisibility`
- `atomicInitTailPadding`
- `atomicMapTargetSyncScope`
- `atomicScope`
- `bitfields`
- `builtinCallMathErrno`
- `cleanupWithPreservedValues`
- `constEmitterAggILE`
- `dataLayoutTypeIsSized`
- `dataLayoutTypeStoreSize`
[20 lines not shown]
Revert "[PowerPC] set libcall lowering for fp setcc ops on SPE boards" (#199140)
Reverts llvm/llvm-project#153238
Breaking premerge buildbots. (It looks like there's an alternative fix
open #199105, but it's still under review.)
[lit] Add --check to run only selected RUN lines from a test
`llvm-lit --check=LIST <test>` keeps only the listed RUN directives in
the test and discards the rest. LIST is a comma-separated mix
of 0-indexed integers and ranges (e.g. `--check=0,2,4-6`). The
selection is applied to the parseIntegratedTestScript output.
Run tests via
`llvm-lit --check=0 llvm/utils/lit/tests/Inputs/check-filter/sample.ll`,
`llvm-lit --check=1 llvm/utils/lit/tests/Inputs/check-filter/sample.ll`,
`llvm/utils/lit/lit.py llvm/utils/lit/tests/check-filter.py`.
IR: Move `simplify_type<(const) Use *>` to Use.h and fix a bug.
These overloads live in User.h because the type of
`User::(const_)op_iterator` is `(const) Use *`, but they do not
necessarily need to be used together with `User`, so let's move them to
Use.h with the canonical type used in the overload for clarity.
There's also a bug where `dyn_cast_or_null` with a `Use *` argument
crashes if the argument is null. Fix it by adding a null check to
these overloads. The null check is expected to be optimized out of the
implementation of `isa`/`cast`/`dyn_cast` because these functions will
unconditionally load from the result of `getSimplifiedValue`.
Reviewers: nikic, efriedma-quic
Pull Request: https://github.com/llvm/llvm-project/pull/198917
[LLDB] Add a progress event to xcrun invocations (#198953)
LLDB invokes xcrun to find SDKs on disk. This is usually very fast, but
sometimes (after an Xcode update, or when the searched SDK does not
exist) it can take very long (10s or more). The progress event provides
user feedback to explain the hang.
Previously this functionality was in HostInfo, but it may not depend on
Core, so this patch is instrumenting the call sites instead.
cf: https://github.com/llvm/llvm-project/pull/198931
[CIR][X86][NFC] Add _mm_alignr_epi8 edge immediate tests (#198522)
Cover the 16-byte boundary and all-zero result cases in
`ssse3-builtins.c`. These cases mirror the coverage in
`clang/test/CodeGen/palignr.c`.
Rename the existing `_mm_alignr_epi8` cases consistently with the new
tests.
Partially addresses https://github.com/llvm/llvm-project/issues/156747.
[lldb] Add Locked<T> and SharedLocked<T> RAII handles in Utility (NFC) (#198941)
Introduce two RAII handles that pair a pointer-like value with a lock on
a caller-supplied mutex.
- Locked<PtrT, Mutex>: holds std::unique_lock<Mutex>. Move-only;
enforces exclusive access. Defaults to std::recursive_mutex to match
LLDB's existing synchronization style.
- SharedLocked<PtrT, Mutex>: holds a reference-counted
std::shared_lock<Mutex>. Copyable — copies share the same reader lock
and the lock releases when the last copy goes away. Defaults to
llvm::sys::RWMutex, the LLDB convention.
PtrT may be a raw pointer, std::shared_ptr, or std::unique_ptr;
convenience aliases LockedPtr/LockedSP/LockedUP and
SharedLockedPtr/SharedLockedSP/SharedLockedUP cover the common
combinations. SharedLocked's borrowed pointer is const-qualified so
readers can't mutate the pointee.
[lldb] Consolidate ScriptedThreadPlan state into ScriptedMetadata (#199064)
This is a follow-up to 1b4a578a9f77.
Replace ScriptedThreadPlan's separate `m_class_name` and `m_args_data`
members with a single `m_scripted_metadata`, and update its constructor,
Thread::QueueThreadPlanForStepScripted and the SB/CLI callers to take a
`const ScriptedMetadata &` directly. Drop the now-redundant `args_sp`
parameter from ScriptedThreadPlanInterface::CreatePluginObject; the
Python override constructs a StructuredDataImpl from the metadata's args
dict for the dispatched call.
ScriptedThreadPlan keeps its own `m_scripted_metadata` member because
the interface's metadata is only set when `DidPush()` calls
`CreatePluginObject`, so the plan needs to hold the metadata between
construction and `DidPush()`.
Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>
[lldb] Consolidate Target Hook/StopHook scripted state into ScriptedMetadata (#199088)
This is a follow-up to 1b4a578a9f77.
Replace `Target::HookScripted`'s and `Target::StopHookScripted`'s
separate `m_class_name` and `m_extra_args` members with a single
`m_scripted_metadata`, and update `SetScriptCallback to take a `const
ScriptedMetadata &` directly. Drop the now-redundant `args_sp` parameter
from ScriptedHookInterface::CreatePluginObject and
ScriptedStopHookInterface::CreatePluginObject; the Python overrides
construct a StructuredDataImpl from the metadata's args dict for the
dispatched call.
Each hook subclass keeps its own `m_scripted_metadata` member because
the interface's metadata is only set when SetScriptCallback runs the
Python override of CreatePluginObject; the hook needs to hold the
metadata between construction and that callback. Read-side description
printing goes through the new GetScriptClassName() helper which
delegates to m_interface_sp->GetScriptedMetadata(). The two
[3 lines not shown]
[Instrumentor][FIX] Ensure we indicate changes properly. (#199106)
We now indicate changes whenever we might have changed things even if
the filter will rule out instrumentation. The issue was that we need to
get the argument to check the filter and that process might create new
IR, e.g., a global variable containing the function name.