Revert "[InstCombine] Support gep nuw in icmp folds" (#118698)
[llvm-project.git] / llvm / test / Transforms / MergeFunc / inline-asm.ll
blob970757e8d53afbb19b0c05adb5e770a0f3ae50db
1 ; RUN: opt -passes=mergefunc -S < %s | FileCheck %s
3 ; CHECK-LABEL: @int_ptr_arg_different
4 ; CHECK-NEXT: call void asm
6 ; CHECK-DAG: @int_ptr_null
7 ; CHECK-DAG: tail call void @float_ptr_null()
9 ; CHECK-DAG: @int_ptr_arg_same
10 ; CHECK-DAG: tail call void @float_ptr_arg_same(ptr %0)
12 ; Used to satisfy minimum size limit
13 declare void @stuff()
15 ; Can be merged
16 define void @float_ptr_null() {
17   call void asm "nop", "r"(ptr null)
18   call void @stuff()
19   ret void
22 define void @int_ptr_null() {
23   call void asm "nop", "r"(ptr null)
24   call void @stuff()
25   ret void
28 ; Can be merged (uses same argument differing by pointer type)
29 define void @float_ptr_arg_same(ptr) {
30   call void asm "nop", "r"(ptr %0)
31   call void @stuff()
32   ret void
35 define void @int_ptr_arg_same(ptr) {
36   call void asm "nop", "r"(ptr %0)
37   call void @stuff()
38   ret void
41 ; Can not be merged (uses different arguments)
42 define void @float_ptr_arg_different(ptr, ptr) {
43   call void asm "nop", "r"(ptr %0)
44   call void @stuff()
45   ret void
48 define void @int_ptr_arg_different(ptr, ptr) {
49   call void asm "nop", "r"(ptr %1)
50   call void @stuff()
51   ret void