1fc0fa851SSjoerd Meijer; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
29627bcdeSAlexandros Lamprineas; RUN: opt -passes="ipsccp<func-spec>" -force-specialization -S < %s | FileCheck %s
3fc0fa851SSjoerd Meijer
4fc0fa851SSjoerd Meijerdefine i32 @main() {
5fc0fa851SSjoerd Meijer; CHECK-LABEL: @main(
6fc0fa851SSjoerd Meijer; CHECK-NEXT:  bb:
7*e15d72adSAlexandros Lamprineas; CHECK-NEXT:    tail call void @wombat.specialized.1(ptr undef, i64 undef, i64 undef, ptr @quux)
8*e15d72adSAlexandros Lamprineas; CHECK-NEXT:    tail call void @wombat.specialized.2(ptr undef, i64 undef, i64 undef, ptr @eggs)
9fc0fa851SSjoerd Meijer; CHECK-NEXT:    ret i32 undef
10fc0fa851SSjoerd Meijer;
11fc0fa851SSjoerd Meijerbb:
12ebdf5aefSMatt Arsenault  tail call void @wombat(ptr undef, i64 undef, i64 undef, ptr @quux)
13ebdf5aefSMatt Arsenault  tail call void @wombat(ptr undef, i64 undef, i64 undef, ptr @eggs)
14fc0fa851SSjoerd Meijer  ret i32 undef
15fc0fa851SSjoerd Meijer}
16fc0fa851SSjoerd Meijer
17fc0fa851SSjoerd Meijerdeclare i32 @quux()
18fc0fa851SSjoerd Meijerdeclare i32 @eggs()
19fc0fa851SSjoerd Meijer
20ebdf5aefSMatt Arsenaultdefine internal void @wombat(ptr %arg, i64 %arg1, i64 %arg2, ptr %arg3) {
21fc0fa851SSjoerd Meijerbb4:
22ebdf5aefSMatt Arsenault  %tmp = tail call i32 %arg3(ptr undef, ptr undef)
23fc0fa851SSjoerd Meijer  ret void
24fc0fa851SSjoerd Meijer}
25