1; RUN: opt < %s -passes=globalopt -S | FileCheck %s 2; CHECK: call void @Actual 3 4; Check that a comparison does not prevent an indirect call from being made 5; direct. The global will still remain, but indirect call elim is still good. 6 7@G = internal global ptr null ; <ptr> [#uses=2] 8 9define internal void @Actual() { 10 ret void 11} 12 13define void @init() { 14 store ptr @Actual, ptr @G 15 ret void 16} 17 18define void @doit() { 19 %FP = load ptr, ptr @G ; <ptr> [#uses=2] 20 %CC = icmp eq ptr %FP, null ; <i1> [#uses=1] 21 br i1 %CC, label %isNull, label %DoCall 22 23DoCall: ; preds = %0 24 call void %FP( ) 25 ret void 26 27isNull: ; preds = %0 28 ret void 29} 30