1 ; If there are two specializations of a function, make sure each callsite
4 ; RN: opt -S -partialspecialization %s | FileCheck %s
6 declare void @callback1()
7 declare void @callback2()
9 define internal void @UseCallback(void()* %pCallback) {
10 call void %pCallback()
14 define void @foo(void()* %pNonConstCallback)
18 ; CHECK-NEXT: call void @callback1()
19 ; CHECK-NEXT: call void @callback1()
20 ; CHECK-NEXT: call void @callback2()
21 ; CHECK-NEXT: call void %pNonConstCallback()
22 ; CHECK-NEXT: call void @callback1()
23 ; CHECK-NEXT: call void @callback2()
24 ; CHECK-NEXT: call void @callback2()
25 call void @UseCallback(void()* @callback1)
26 call void @UseCallback(void()* @callback1)
27 call void @UseCallback(void()* @callback2)
28 call void @UseCallback(void()* %pNonConstCallback)
29 call void @UseCallback(void()* @callback1)
30 call void @UseCallback(void()* @callback2)
31 call void @UseCallback(void()* @callback2)