@indirect_bar = internal local_unnamed_addr global i32 ()* @bar, align 4 | |
@indirect_foo = internal local_unnamed_addr global i32 ()* @foo, align 4 | |
declare i32 @foo() local_unnamed_addr | |
define i32 @bar() { | |
entry: | |
ret i32 1 | |
} | |
define void @call_bar_indirect() local_unnamed_addr #1 { | |
entry: | |
%0 = load i32 ()*, i32 ()** @indirect_bar, align 4 | |
%1 = load i32 ()*, i32 ()** @indirect_foo, align 4 | |
%call = tail call i32 %0() #2 | |
ret void | |
} |