| ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 6 | |
| ; RUN: opt -S -passes=mergefunc < %s | FileCheck %s | |
| ; Recursive call targets may still be considered equivalent. | |
| define internal void @recursive_f() { | |
| ; CHECK-LABEL: define internal void @recursive_f() { | |
| ; CHECK-NEXT: call void @recursive_f() | |
| ; CHECK-NEXT: ret void | |
| ; | |
| call void @recursive_f() | |
| ret void | |
| } | |
| define internal void @recursive_g() { | |
| call void @recursive_g() | |
| ret void | |
| } | |
| define i32 @main() { | |
| ; CHECK-LABEL: define i32 @main() { | |
| ; CHECK-NEXT: call void @recursive_f() | |
| ; CHECK-NEXT: call void @recursive_f() | |
| ; CHECK-NEXT: ret i32 0 | |
| ; | |
| call void @recursive_f() | |
| call void @recursive_g() | |
| ret i32 0 | |
| } |