1; RUN: opt < %s -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 void ()* null ; <void ()**> [#uses=2] 8 9define internal void @Actual() { 10 ret void 11} 12 13define void @init() { 14 store void ()* @Actual, void ()** @G 15 ret void 16} 17 18define void @doit() { 19 %FP = load void ()*, void ()** @G ; <void ()*> [#uses=2] 20 %CC = icmp eq void ()* %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