xref: /llvm-project/llvm/test/Transforms/InstCombine/skip-opt-void-to-non-void-conversion.ll (revision 6c367168d6787941df2945528d7414f94a697e60)
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 5
2; RUN: opt --passes=instcombine -S < %s | FileCheck %s
3
4define void @foo() {
5; CHECK-LABEL: define void @foo() {
6; CHECK-NEXT:  [[ENTRY:.*:]]
7; CHECK-NEXT:    ret void
8;
9entry:
10  ret void
11}
12
13define i32 @bar() {
14; CHECK-LABEL: define i32 @bar() {
15; CHECK-NEXT:  [[ENTRY:.*:]]
16; CHECK-NEXT:    [[TMP0:%.*]] = tail call i32 @foo()
17; CHECK-NEXT:    ret i32 [[TMP0]]
18;
19entry:
20  %1 = tail call i32 @foo()
21  ret i32 %1
22}
23
24define void @goo() {
25; CHECK-LABEL: define void @goo() {
26; CHECK-NEXT:  [[ENTRY:.*:]]
27; CHECK-NEXT:    call void @foo()
28; CHECK-NEXT:    ret void
29;
30entry:
31  %res = call i32 @foo()
32  ret void
33}
34