[all-commits] [llvm/llvm-project] a65187: [flang] Keep a loop unstructured when its END DO i...

Kareem Ergawy via All-commits all-commits at lists.llvm.org
Wed Sep 30 06:17:15 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: a651871a3f3f8aef58ae03d2fa81dcc1481b633c
      https://github.com/llvm/llvm-project/commit/a651871a3f3f8aef58ae03d2fa81dcc1481b633c
  Author: Kareem Ergawy <kergawy at nvidia.com>
  Date:   2026-09-30 (Wed, 30 Sep 2026)

  Changed paths:
    M flang/lib/Lower/PFTBuilder.cpp
    A flang/test/Lower/do-loop-branch-to-loop-end.f90

  Log Message:
  -----------
  [flang] Keep a loop unstructured when its END DO is branched to from outside (#227597)

A loop whose body branching is self-contained is lowered structurally,
with the body folded into a region. Its END DO is not part of that body:
it becomes the structured loop's terminator rather than a block of its
own. A branch from outside the loop targeting a label on the END DO
therefore had nothing to land on, and lowering crashed.

Such a loop no longer qualifies for that form. A branch from within the
body is unaffected: it is CYCLE-like and lands on the boundary the
structured form already provides.

Ran against the llvm-test-suite and the reported failure in
https://lab.llvm.org/buildbot/#/builders/198/builds/15502 and all green.



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