• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1; This testcase was incorrectly computing that the loopentry.7 loop was
2; not a child of the loopentry.6 loop.
3;
4; RUN: opt < %s -analyze -loops | FileCheck %s
5; RUN: opt < %s -passes='print<loops>' -disable-output 2>&1 | FileCheck %s
6
7; CHECK: Loop at depth 4 containing: %loopentry.7<header><latch><exiting>
8
9define void @getAndMoveToFrontDecode() {
10	br label %endif.2
11
12endif.2:		; preds = %loopexit.5, %0
13	br i1 false, label %loopentry.5, label %UnifiedExitNode
14
15loopentry.5:		; preds = %loopexit.6, %endif.2
16	br i1 false, label %loopentry.6, label %UnifiedExitNode
17
18loopentry.6:		; preds = %loopentry.7, %loopentry.5
19	br i1 false, label %loopentry.7, label %loopexit.6
20
21loopentry.7:		; preds = %loopentry.7, %loopentry.6
22	br i1 false, label %loopentry.7, label %loopentry.6
23
24loopexit.6:		; preds = %loopentry.6
25	br i1 false, label %loopentry.5, label %loopexit.5
26
27loopexit.5:		; preds = %loopexit.6
28	br i1 false, label %endif.2, label %UnifiedExitNode
29
30UnifiedExitNode:		; preds = %loopexit.5, %loopentry.5, %endif.2
31	ret void
32}
33