1; RUN: llc -enable-machine-outliner -mtriple=mips-unknown-linux < %s | FileCheck %s 2 3; NOTE: Machine outliner doesn't run. 4@x = global i32 0, align 4 5 6define dso_local i32 @check_boundaries() #0 { 7 %1 = alloca i32, align 4 8 %2 = alloca i32, align 4 9 %3 = alloca i32, align 4 10 %4 = alloca i32, align 4 11 %5 = alloca i32, align 4 12 store i32 0, i32* %1, align 4 13 store i32 0, i32* %2, align 4 14 %6 = load i32, i32* %2, align 4 15 %7 = icmp ne i32 %6, 0 16 br i1 %7, label %9, label %8 17 18 store i32 1, i32* %2, align 4 19 store i32 2, i32* %3, align 4 20 store i32 3, i32* %4, align 4 21 store i32 4, i32* %5, align 4 22 br label %10 23 24 store i32 1, i32* %4, align 4 25 br label %10 26 27 %11 = load i32, i32* %2, align 4 28 %12 = icmp ne i32 %11, 0 29 br i1 %12, label %14, label %13 30 31 store i32 1, i32* %2, align 4 32 store i32 2, i32* %3, align 4 33 store i32 3, i32* %4, align 4 34 store i32 4, i32* %5, align 4 35 br label %15 36 37 store i32 1, i32* %4, align 4 38 br label %15 39 40 ret i32 0 41} 42 43define dso_local i32 @main() #0 { 44 %1 = alloca i32, align 4 45 %2 = alloca i32, align 4 46 %3 = alloca i32, align 4 47 %4 = alloca i32, align 4 48 %5 = alloca i32, align 4 49 50 store i32 0, i32* %1, align 4 51 store i32 0, i32* @x, align 4 52 store i32 1, i32* %2, align 4 53 store i32 2, i32* %3, align 4 54 store i32 3, i32* %4, align 4 55 store i32 4, i32* %5, align 4 56 store i32 1, i32* @x, align 4 57 call void asm sideeffect "", "~{memory},~{dirflag},~{fpsr},~{flags}"() 58 store i32 1, i32* %2, align 4 59 store i32 2, i32* %3, align 4 60 store i32 3, i32* %4, align 4 61 store i32 4, i32* %5, align 4 62 ret i32 0 63} 64 65attributes #0 = { noredzone nounwind ssp uwtable "frame-pointer"="all" } 66