brintos

brintos / llvm-project-archived public Read only

0
0
Text · 571 B · af222bf Raw
28 lines · plain
1; RUN: opt -S < %s -passes=licm | FileCheck %s2 3declare void @llvm.sideeffect()4 5; LICM across a @llvm.sideeffect.6 7; CHECK-LABEL: licm8; CHECK: load9; CHECK: loop:10; CHECK-NOT: load11define float @licm(i64 %n, ptr nocapture readonly %p) #0 {12bb0:13  br label %loop14 15loop: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, ptr %p20  %t4 = fadd float %sum, %t321  %t5 = add i64 %i, 122  %t6 = icmp ult i64 %t5, %n23  br i1 %t6, label %loop, label %bb224 25bb2:26  ret float %t427}28