diff options
Diffstat (limited to 'llvm/test/Transforms/MergeFunc')
| -rw-r--r-- | llvm/test/Transforms/MergeFunc/byval-attr-congruent-type.ll | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/llvm/test/Transforms/MergeFunc/byval-attr-congruent-type.ll b/llvm/test/Transforms/MergeFunc/byval-attr-congruent-type.ll new file mode 100644 index 00000000000..7e7d772b977 --- /dev/null +++ b/llvm/test/Transforms/MergeFunc/byval-attr-congruent-type.ll @@ -0,0 +1,30 @@ +; NOTE: Assertions have been autogenerated by utils/update_test_checks.py +; RUN: opt -S -mergefunc %s | FileCheck %s + +%struct.c = type { i32 } +%struct.a = type { i32 } + +@d = external dso_local global %struct.c + +define void @e(%struct.a* byval(%struct.a) %f) { +; CHECK-LABEL: @e( +; CHECK-NEXT: ret void +; + ret void +} + +define void @g(%struct.c* byval(%struct.c) %f) { +; CHECK-LABEL: @g( +; CHECK-NEXT: ret void +; + ret void +} + +define void @h() { +; CHECK-LABEL: @h( +; CHECK-NEXT: call void bitcast (void (%struct.a*)* @e to void (%struct.c*)*)(%struct.c* byval(%struct.c) @d) +; CHECK-NEXT: ret void +; + call void @g(%struct.c* byval(%struct.c) @d) + ret void +} |

