1 ; RUN: opt -S < %s -licm | FileCheck %s
3 declare void @llvm.sideeffect()
5 ; LICM across a @llvm.sideeffect.
11 define float @licm(i64 %n, float* nocapture readonly %p) #0 {
16 %i = phi i64 [ 0, %bb0 ], [ %t5, %loop ]
17 %sum = phi float [ 0.000000e+00, %bb0 ], [ %t4, %loop ]
18 call void @llvm.sideeffect()
19 %t3 = load float, float* %p
20 %t4 = fadd float %sum, %t3
22 %t6 = icmp ult i64 %t5, %n
23 br i1 %t6, label %loop, label %bb2