tree 4cae6ae3561eb01e1d5eefcc84e5e6f7719d6622
parent 2a3667bbb54081dee0eb7eb28de81631e393199a
author Alisson Azzolini <37222419+aazzolini@users.noreply.github.com> 1776586076 -0700
committer GitHub <noreply@github.com> 1776586076 +0200
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsFcBAABCAAQBQJp5I1cCRC1aQ7uu5UhlAAAx8gQACe2vLaQEiK8j+rsNVqKOE77
 xQ8CqgoVM5PVql2Pz9klYVt9yuvEx+PkqtrJTth+KrUXKcSqxGVYH1W/mEjUprGg
 HCQhC16ktti3RsNMDhs19qI7uLUMIJ58nvtrxlRN7baFztSCKOXvmaPSBJ+nNYUb
 588k6O36PX42bwrc9z1QQVahIuQ+nWIwffgvCC6K3KxbAF+D6qiN1IrgtkAAxlVq
 Xjf57v5NVBCy3u8hvgYTY+tmRU5pwBriJj8leH39y7+JYwEX58owwCjoZox+CVH0
 KAXJxpkmZ13p7XNHg9/4sg7dO7ajSNIkV8ZMuVL1lxEDONjRuh6xGODxUz9LQzYC
 6VuxJNHkoKrkLPiYjPTybaM/EkpL8iEMIzppWpvQzWvFI0ZMzohLNlwWPyx2PN5U
 yr9mi8Z216UzFtsrB7I9/6+Gb0SbmarBKuX0/LDUc3/VM7pIJxqYR9Y62m7QqdMQ
 zp0CVfI5FUHxbSAeW+urq2XHzbroQq1CelkIOAOa96MyEp8XdtoUaeIqscABooGf
 BoJc0p3THB5FWmRb9YJNMHbrb6ON353PiqZsoMbuQ+rcDwXs9XSwvDXc6BoichFF
 T6e6tI8z6oh7+fUlso15b/tII00ccghCOXwnQcO/ekyGAZj3GYRCb3JsNfUe5hSj
 rJ6RAyNqEMyEQDEsaXks
 =iYE7
 -----END PGP SIGNATURE-----
 

[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
`loc_tracebacks()` is active.

## Use cases

1. **DSL profiling attribution**:
`loc_tracebacks(current_loc=CurrentLocAction.NAMELOC_WRAP,
on_explicit=OnExplicitAction.USE_TRACEBACK)` — push NameLoc scopes for
profiling and have them survive traceback generation
2. **Override explicit locs with tracebacks**:
`loc_tracebacks(on_explicit=OnExplicitAction.USE_TRACEBACK)` — get full
Python stack traces without removing every `loc=` argument

## Test plan

- [x] All 102 existing Python binding tests pass (5 unsupported
unchanged)
- [x] 6 new tests covering: nameloc_wrap, on_explicit default,
on_explicit=use_traceback, DSL profiling combo, orthogonality
(use_explicit + nameloc_wrap), tracebacks-disabled fallback

Co-authored by Claude Code ;)

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>