brintos

brintos / llvm-project-archived public Read only

0
0
Text · 587 B · a759de9 Raw
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