[all-commits] [llvm/llvm-project] 77b013: Revert "[Support] Remove cl::Sink (#224953)"
Kareem Ergawy via All-commits
all-commits at lists.llvm.org
Tue Sep 22 00:37:38 PDT 2026
Branch: refs/heads/users/ergawy/unstructured-incoming-branch-map
Home: https://github.com/llvm/llvm-project
Commit: 77b013e680a29ed1fc1b0b31a4604396ac66249e
https://github.com/llvm/llvm-project/commit/77b013e680a29ed1fc1b0b31a4604396ac66249e
Author: ergawy <kareem.ergawy at gmail.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M llvm/docs/CommandLine.md
M llvm/include/llvm/Support/CommandLine.h
M llvm/lib/Support/CommandLine.cpp
M llvm/unittests/Support/CommandLineTest.cpp
M mlir/include/mlir/Pass/PassOptions.h
Log Message:
-----------
Revert "[Support] Remove cl::Sink (#224953)"
This reverts commit 5a50c15fa686c9c49b78631ac42b133340867ae3.
Commit: 90cb89923a7d04dbd48b80aea8c68fd6e6a64318
https://github.com/llvm/llvm-project/commit/90cb89923a7d04dbd48b80aea8c68fd6e6a64318
Author: ergawy <kareem.ergawy at gmail.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M flang/include/flang/Lower/PFTBuilder.h
M flang/include/flang/Lower/PFTDefs.h
M flang/lib/Lower/PFTBuilder.cpp
M flang/test/Lower/assigned-goto-labeled-end.f90
M flang/test/Lower/ifconvert.f90
A flang/test/Lower/pre-fir-tree-incoming-branches.f90
M flang/test/Lower/trailing-cycle.f90
Log Message:
-----------
[flang] Record and dump the evaluations that branch to each evaluation
Whether anything outside a construct branches into it is currently answered
by walking the whole function per query, with a TODO on hasIncomingBranch
saying as much. The information is available where the forward edges are
built, so record the inverse there.
markBranchTarget is the single point every branch passes through when
controlSuccessor and extraControlSuccessors are set, so the reverse edge is
written beside the forward one and the two cannot drift. The map is keyed by
the target and lives on FunctionLikeUnit next to labelEvaluationMap, with the
same lifetime: populated while branches are analyzed, cleared when the unit is
left.
PFT dumps print it alongside the existing "-> target" edges, so both
directions of the branch graph are observable. Three existing tests match dump
lines in full and gain the annotation; assigned-goto-labeled-end.f90 already
captured each branch's target and now also captures the branch's own index,
asserting the two directions agree rather than that each merely exists.
The new test covers a CYCLE recorded against its EndDoStmt, two sources
converging on one target, and two sources at different nesting depths where
one escapes an inner loop.
Nothing reads the map yet.
Compare: https://github.com/llvm/llvm-project/compare/77b013e680a2%5E...90cb89923a7d
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list