Files
TheRock/rocm-systems/projects/rocprofiler-systems/external/dyninst/parseAPI/doc/API/Edge.tex
T
derek.holloway 7502bf64a4
CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
Flatten subprojects into a single base monorepo
2026-09-02 16:34:47 -07:00

45 lines
1.5 KiB
TeX

\subsection{Class Edge}
\definedin{CFG.h}
Typed Edges join two blocks in the CFG, indicating the type of control flow
transfer instruction that joins the blocks to each other. Edges may not correspond
to a control flow transfer instruction at all, as in the case of the {\scshape
fallthrough} edge that indicates where straight-line control flow is split by
incoming transfers from another location, such as a branch. While not all
blocks end in a control transfer instruction, all control transfer instructions
end basic blocks and have outgoing edges; in the case of unresolvable control
flow, the edge will target a special ``sink'' block (see \code{sinkEdge()},
below).
\begin{center}
\begin{tabular}{ll}
\toprule
EdgeTypeEnum & Meaning \\
\midrule
CALL & call edge \\
COND\_TAKEN & conditional branch--taken \\
COND\_NOT\_TAKEN & conditional branch--not taken \\
INDIRECT & branch indirect \\
DIRECT & branch direct \\
FALLTHROUGH & direct fallthrough (no branch) \\
CATCH & exception handler \\
CALL\_FT & post-call fallthrough \\
RET & return \\
\bottomrule
\end{tabular}
\end{center}
\begin{tabular}{p{1.25in}p{1.125in}p{3.125in}}
\toprule
Method name & Return type & Method description \\
\midrule
src & Block * & Source of the edge. \\
trg & Block * & Target of the edge. \\
type & EdgeTypeEnum & Type of the edge. \\
sinkEdge & bool & True if the target is the sink block. \\
interproc & bool & True if the edge should be interpreted as interprocedural
(e.g. calls, returns, unconditional or conditional tail calls). \\
\bottomrule
\end{tabular}