[VPlan] Support plain CFG plans in the verifier. (#181817)
Update the verifier to support verifying plain CFG plans in the verifier
and add missing support for switch opcodes in type analysis.
This allows the verifier to handle early plain-CFG plans, allowing using
RUN_PASS wrapper for early transforms.
PR: https://github.com/llvm/llvm-project/pull/181817
[mlir] Support full commutative operation equality (#192652)
Previous, commutative equality only works if the operand lists are
exact permutations of one another.
By treating the `equivalentValues` map as a map onto a common set of
values, we can achieve full commutative equality.
[mlir][python] Add location source composition to loc_tracebacks() (#192310)
## Summary
Add two new kwargs to `loc_tracebacks()` controlling how the three
location sources (explicit `loc=`, traceback, `Location.current`)
compose:
- **`on_explicit`**: `OnExplicitAction.USE_EXPLICIT` (default) |
`OnExplicitAction.USE_TRACEBACK` — what to do when explicit `loc=` is
passed
- **`current_loc`**: `CurrentLocAction.FALLBACK` (default) |
`CurrentLocAction.NAMELOC_WRAP` — how to compose `Location.current`
NameLoc scopes on top
Both enums are exposed to Python via `nb::enum_<>` bindings, following
the `PassDisplayMode` pattern in `Pass.cpp`.
The two flags are orthogonal and only take effect when
[24 lines not shown]
[lldb][CI] force TestRosetta.py to fail for a minute, so I (#192835)
can collect the trace logging on the CI bot and see what its environment
looks like today.
[VPlan] Mark DerivedIV unconditionally single-scalar (NFC) (#189706)
The result must be single-scalar, independently of operands. The patch
is an NFC because all operands happen to be single-scalar currently.
[NFC][CodeGen] Use DenseMap instead of unordered_map in BasicBlockMatchingAndInference (#192824)
We don't need reference stability of unordered_map here.
[lldb][PlatformDarwin] Make PlatformDarwin define a safe-path for auto-loading scripting resources (#191454)
This patch adds a new API (`Platform::GetSafeAutoLoadPaths`) which gives
platforms a chance to advertise their safe-paths. We have a
`LLDB_SAFE_AUTO_LOAD_PATHS` CMake variable for this that vendors can
set, but for sensible defaults we wanted to bake them into LLDB for
convenience. We could set the defaults of the CMake variable
per-platform, but for Apple platforms that's trickier because the path
isn't statically known (it's the SDK path derived from the target's
triple).
Depends on:
* https://github.com/llvm/llvm-project/pull/191446
* https://github.com/llvm/llvm-project/pull/192703
Assisted-by: Claude
- Used Claude to write the skeleton of the test before manually cleaning
it up.
[lldb][Target] Move Debugger::GetSafeAutoLoadPaths into Target (#192703)
Required for https://github.com/llvm/llvm-project/pull/191454
We want to make the `Target`/`Platform` define commonly used default
paths (without configuring them in CMake). This is easiest if this logic
lived in `Target` (since then we have access to the associated
`Platform`).