• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1; RUN: opt < %s -basicaa -licm -S | FileCheck %s
2; PR9630
3
4@g_39 = external global i16, align 2
5
6declare i32* @func_84(i32** nocapture) nounwind readonly
7
8declare i32** @func_108(i32*** nocapture) nounwind readonly
9
10define void @func() nounwind {
11entry:
12  br label %for.body4.lr.ph
13
14for.body4.lr.ph:
15  br label %for.body4
16
17; CHECK: for.body4:
18; CHECK: load volatile i16* @g_39
19
20for.body4:
21  %l_612.11 = phi i32* [ undef, %for.body4.lr.ph ], [ %call19, %for.body4 ]
22  %tmp7 = volatile load i16* @g_39, align 2
23  %call = call i32** @func_108(i32*** undef)
24  %call19 = call i32* @func_84(i32** %call)
25  br i1 false, label %for.body4, label %for.cond.loopexit
26
27for.cond.loopexit:
28  br i1 false, label %for.body4.lr.ph, label %for.end26
29
30for.end26:
31  ret void
32}
33