[NFC][PowerPC][AIX] add explicit code model to 64-bit AIX tests (#199159)
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. This is strictly
NFC, as we are just setting the existing code model.
[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.