28 lines · plain
1; RUN: opt < %s -passes=globalopt -S | FileCheck %s2 3@G = internal global ptr null ; <ptr> [#uses=2]4; CHECK: global5 6define internal void @Actual() {7; CHECK-LABEL: Actual(8 ret void9}10 11define void @init() {12; CHECK-LABEL: init(13; CHECK: store ptr @Actual, ptr @G14 store ptr @Actual, ptr @G15 ret void16}17 18define void @doit() #0 {19; CHECK-LABEL: doit(20; CHECK: %FP = load ptr, ptr @G21; CHECK: call void %FP()22 %FP = load ptr, ptr @G ; <ptr> [#uses=1]23 call void %FP( )24 ret void25}26 27attributes #0 = { null_pointer_is_valid }28