[mlir][Interfaces] Add `ExecutionProgressOpInterface` + folding pattern (#179039)
Add the `ExecutionProgressOpInterface` with an interface method to check
if an operation "must progress". Add `mustProgress` attributes to
`scf.for` and `scf.while` (default value is "true").
`mustProgress` corresponds to the [`llvm.loop.mustprogress`
metadata](https://llvm.org/docs/LangRef.html#langref-llvm-loop-mustprogress).
Also add a canonicalization pattern to erase `RegionBranchOpInterface`
ops that must progress but loop infinitely (and are non-side-effecting).
This canonicalization pattern is enabled for `scf.for` and `scf.while`.
RFC: https://discourse.llvm.org/t/infinite-loops-and-dead-code/89530
bcmp(3): update manpage to following the Posix Standard
Reviewed by: glebius
Approved by: glebius (mentor)
Differential Revision: https://reviews.freebsd.org/D52980
bcmp(3): update manpage to following the Posix Standard
Reviewed by: glebius
Approved by: glebius (mentor)
Differential Revision: https://reviews.freebsd.org/D52980
[DebugInfo][NVPTX] Adding support for `inlined_at` debug directive in NVPTX backend (#170239)
This change adds support for emitting the enhanced PTX debugging
directives `function_name` and `inlined_at` as part of the `.loc`
directive in the NVPTX backend.
`.loc` syntax -
>.loc file_index line_number column_position
`.loc` syntax with `inlined_at` attribute -
>.loc file_index line_number column_position,function_name label {+
immediate }, inlined_at file_index2 line_number2 column_position2
`inlined_at` attribute specified as part of the `.loc` directive
indicates PTX instructions that are generated from a function that got
inlined. It specifies the source location at which the specified
function is inlined. `file_index2`, `line_number2`, and
`column_position2` specify the location at which the function is
inlined.
[27 lines not shown]
[orc-rt] Use future rather than condition_variable for shutdown wait. (#179169)
Session::waitForShutdown is a convenience wrapper around the
asynchronous Session::shutdown call. The previous
Session::waitForShutdown call waited on a std::condition_variable to
signal the end of shutdown, but it's easier to just embed a std::promise
in a callback to the asynchronous shutdown method.
use pf_states to link mbufs/inpcbs and forwarded connections together
this replaces the links between pf_state_keys and mbufs/inpcbs.
pf_states represent the actual connection tracked by pf, while
pf_state_keys are more general since they only contain the network
addresses. the fact that pf_state_keys exist is an implementation
detail in pf rather than a fundamentally useful artifact to the
rest of the system. the preference would have been to link things
to pf_states rather than pf_state_keys in the first place, but there
wasn't enough machinery (eg, refcounts and immutable links to
pf_state_keys) on pf_states to link to them directly. this means
pf still had to iterate over the states hanging off the pf_state_keys
to get to the actual pf_state it needed anyway.
discussed with henning@
ok sashan@ jmatthew@