[all-commits] [llvm/llvm-project] d68dc1: [flang][PFT] record every target of an assigned GO...

Kareem Ergawy via All-commits all-commits at lists.llvm.org
Fri Jul 17 00:16:50 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: d68dc184b1cec0a01876b3f635bce6c25a64edf6
      https://github.com/llvm/llvm-project/commit/d68dc184b1cec0a01876b3f635bce6c25a64edf6
  Author: Kareem Ergawy <kergawy at nvidia.com>
  Date:   2026-07-17 (Fri, 17 Jul 2026)

  Changed paths:
    M flang/lib/Lower/PFTBuilder.cpp
    A flang/test/Lower/pre-fir-tree-assigned-goto.f90

  Log Message:
  -----------
  [flang][PFT] record every target of an assigned GO TO (#210065)

Assigned GO TO (`go to v [, (l1, l2, ...)]`) is the third multiway
branch in the language, alongside the computed GO TO and arithmetic IF
that were addressed in PR #210012. Its PFTBuilder handler previously
did:

    [&](const parser::AssignedGotoStmt &) {
      eval.isUnstructured = true;
      markSuccessorAsNewBlock(eval);
    },

i.e. it recorded no branch targets at all -- neither `controlSuccessor`
nor `extraControlSuccessors` was populated.

Handle the assigned GO TO the same way PR #210012 handles the computed
GO TO and arithmetic IF: iterate every possible target and call
`markBranchTarget(eval, label)` for each, so that `controlSuccessor`
receives the first and `extraControlSuccessors` receives the rest.

Co-authored-by: Claude Sonnet 4.6 <noreply at anthropic.com>



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