1; RUN: opt < %s -passes=globalopt -S | FileCheck %s 2 3@foo1 = alias void (), void ()* @foo2 4; CHECK: @foo1 = alias void (), void ()* @bar2 5 6@foo2 = alias void(), void()* @bar1 7; CHECK: @foo2 = alias void (), void ()* @bar2 8 9@bar1 = alias void (), void ()* @bar2 10; CHECK: @bar1 = alias void (), void ()* @bar2 11 12@weak1 = weak alias void (), void ()* @bar2 13; CHECK: @weak1 = weak alias void (), void ()* @bar2 14 15@bar4 = private unnamed_addr constant [2 x i8*] zeroinitializer 16@foo4 = weak_odr unnamed_addr alias i8*, getelementptr inbounds ([2 x i8*], [2 x i8*]* @bar4, i32 0, i32 1) 17; CHECK: @foo4 = weak_odr unnamed_addr alias i8*, getelementptr inbounds ([2 x i8*], [2 x i8*]* @bar4, i32 0, i32 1) 18 19@priva = private alias void (), void ()* @bar5 20; CHECK: @priva = private alias void (), void ()* @bar5 21 22define void @bar2() { 23 ret void 24} 25; CHECK: define void @bar2() 26 27define weak void @bar5() { 28 ret void 29} 30; CHECK: define weak void @bar5() 31 32define void @baz() { 33entry: 34 call void @foo1() 35; CHECK: call void @bar2() 36 37 call void @foo2() 38; CHECK: call void @bar2() 39 40 call void @bar1() 41; CHECK: call void @bar2() 42 43 call void @weak1() 44; CHECK: call void @weak1() 45 46 call void @priva() 47; CHECK: call void @priva() 48 49 ret void 50} 51 52@foo3 = alias void (), void ()* @bar3 53; CHECK-NOT: bar3 54 55define internal void @bar3() { 56 ret void 57} 58;CHECK: define void @foo3 59