1 ; RUN: verify-uselistorder < %s 2 3 ; Global referencing ifunc. 4 @ptr_foo = global void ()* @foo_ifunc 5 6 ; Alias for ifunc. 7 @alias_foo = alias void (), void ()* @foo_ifunc 8 9 @foo_ifunc = ifunc void (), i8* ()* @foo_resolver 10 11 define i8* @foo_resolver() { 12 entry: 13 ret i8* null 14 } 15 16 ; Function referencing ifunc. 17 define void @bar() { 18 entry: 19 call void @foo_ifunc() 20 ret void 21 } 22 23 ; Global referencing function. 24 @ptr_bar = global void ()* @bar 25 26 ; Alias for function. 27 @alias_bar = alias void (), void ()* @bar 28 29 @bar_ifunc = ifunc void (), i8* ()* @bar2_ifunc 30 @bar2_ifunc = ifunc i8* (), i8* ()* @bar_resolver 31 32 define i8* @bar_resolver() { 33 entry: 34 ret i8* null 35 } 36 37 ; Function referencing bar. 38 define void @bar2() { 39 entry: 40 call void @bar() 41 ret void 42 } 43