ld.elf_so: Fix more races with recursive threaded dlopen/dlclose.
1. When loading an object, keep track of a finer-grained state for
relocation so that a concurrent _rtld_relocate_objects doesn't
relocate an object too early (e.g., while waiting in
_rtld_load_needed_objects for an object that is concurrently being
dlclosed to finish before we can map it afresh) leading to
spurious symbol resolution failures:
- OBJRELOC_NONE (0): object has been created but the rtld state
isn't enough to attempt relocation yet (either not all DT_NEEDED
entries have been resolved, or the dldags lists have not yet
been populated)
- OBJRELOC_READY (1): object has been created and rtld state is
ready to relocate (all DT_NEEDED entries have been resolved and
the dldags lists have been populated), but object has not yet
been relocated.
[44 lines not shown]
[docs] Rewrite 19 LLVM docs from reST to markdown (#208798)
Tracking issue: #201242
[Migration
guide](https://llvm.org/docs/SphinxQuickstartTemplate.html#markdown-migration-guidelines)
This is a stacked PR based on #208800, which does the file rename to
preserve history.
This was prepared with rst2myst plus LLM-assisted cleanup. I paged
through all the generated HTML looking for migration artifacts, and all
of the differences I could find appear to be formatting error
corrections.
Avoid lowering clauses for inapplicable metadirective variants
Classify raw directive specifications from their leaf directive IDs when
checking for loop association. This keeps clause conversion after applicability
filtering, so unsupported clauses in discarded variants cannot reach lowering.
Add a regression for an inapplicable ASSUME HOLDS variant with a NOTHING fallback.
Assisted with codex.
[MLIR][WasmSSA] Instruction parser refactoring of WasmSSA importer (#195500)
Refactored WasmSSA importer mechanism to dispatch control flow to
relevant parser based on op code.
This is to prepare for instructions with multi-bytes opcodes (e.g.
vector instruction and some scalar instructions extensions) which will
be able to reuse the same mechanism.
It also replaces the bit tree to find the address by a jump table.
---------
Co-authored-by: Luc Forget <lforg37 at users.noreply.github.com>
Co-authored-by: Ferdinand Lemaire <ferdinand.lemaire at woven-planet.global>
Co-authored-by: Ferdinand Lemaire <flscminecraft at gmail.com>
Restrict metadirective loop lowering to safe cases
Defer loop variants nested in an existing OpenMP data environment until lowering
can create a variant-local loop induction variable binding. This prevents variant
DSA from affecting the enclosing construct, including for statically inapplicable
variants.
Limit core lowering to DO, SIMD, and DO SIMD. Emit focused TODOs for other
loop-associated directives and add coverage for both boundaries.
Assisted with codex.