30 lines · plain
1; RUN: opt -verify-memoryssa -passes=loop-rotate %s -S | FileCheck %s2; REQUIRES: asserts3 4; CHECK-LABEL: @test(i1 %arg)5define dso_local void @test(i1 %arg) {6entry:7 br label %preheader8 9preheader:10 br label %l3911 12l39:13 %v40 = phi ptr [ @foo, %preheader ], [ %v43, %crit_edge ]14 %v41 = call float %v40(float undef)15 %v42 = load i32, ptr undef, align 816 br i1 %arg, label %crit_edge, label %loopexit17 18crit_edge:19 %v43 = load ptr, ptr undef, align 820 br label %l3921 22loopexit:23 unreachable24}25 26; Function Attrs: readnone27declare dso_local float @foo(float) #0 align 3228 29attributes #0 = { readnone }30