Home | History | Annotate | Download | only in LICM
      1 ; RUN: opt < %s -basicaa -licm -S | FileCheck %s
      2 ; PR9630
      3 
      4 @g_39 = external global i16, align 2
      5 
      6 declare i32* @func_84(i32** nocapture) nounwind readonly
      7 
      8 declare i32** @func_108(i32*** nocapture) nounwind readonly
      9 
     10 define void @func() nounwind {
     11 entry:
     12   br label %for.body4.lr.ph
     13 
     14 for.body4.lr.ph:
     15   br label %for.body4
     16 
     17 ; CHECK: for.body4:
     18 ; CHECK: load volatile i16* @g_39
     19 
     20 for.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 
     27 for.cond.loopexit:
     28   br i1 false, label %for.body4.lr.ph, label %for.end26
     29 
     30 for.end26:
     31   ret void
     32 }
     33