1; RUN: opt -S < %s | FileCheck %s 2 3@5 = global i8 0 4@"" = global i8 1 5@10 = alias i8, ptr @5 6@15 = ifunc ptr(), ptr @20 7 8define ptr @20() { 9 ret ptr null 10} 11 12declare void @25() 13 14declare ptr @""(ptr) 15 16define void @test(ptr %p) { 17 store ptr @5, ptr %p 18 store ptr @6, ptr %p 19 store ptr @10, ptr %p 20 store ptr @15, ptr %p 21 store ptr @20, ptr %p 22 store ptr @25, ptr %p 23 store ptr @26, ptr %p 24 ret void 25} 26 27; CHECK: @0 = global i8 0 28; CHECK: @1 = global i8 1 29; CHECK: @2 = alias i8, ptr @0 30; CHECK: @3 = ifunc ptr (), ptr @4 31 32; CHECK-LABEL: define ptr @4() { 33; CHECK-NEXT: ret ptr null 34 35; CHECK: declare void @5() 36 37; CHECK: declare ptr @6(ptr) 38 39; CHECK-LABEL: define void @test(ptr %p) { 40; CHECK-NEXT: store ptr @0, ptr %p, align 8 41; CHECK-NEXT: store ptr @1, ptr %p, align 8 42; CHECK-NEXT: store ptr @2, ptr %p, align 8 43; CHECK-NEXT: store ptr @3, ptr %p, align 8 44; CHECK-NEXT: store ptr @4, ptr %p, align 8 45; CHECK-NEXT: store ptr @5, ptr %p, align 8 46; CHECK-NEXT: store ptr @6, ptr %p, align 8 47; CHECK-NEXT: ret void 48