54 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 52; RUN: opt -S -passes=mergefunc < %s | FileCheck %s3 4define internal void @test1(ptr initializes((0, 1)) %p) {5; CHECK-LABEL: define internal void @test1(6; CHECK-SAME: ptr initializes((0, 1)) [[P:%.*]]) {7; CHECK-NEXT: store i16 0, ptr [[P]], align 28; CHECK-NEXT: ret void9;10 store i16 0, ptr %p11 ret void12}13 14define internal void @test2(ptr initializes((0, 1)) %p) {15 store i16 0, ptr %p16 ret void17}18 19define internal void @test3(ptr initializes((0, 2)) %p) {20; CHECK-LABEL: define internal void @test3(21; CHECK-SAME: ptr initializes((0, 2)) [[P:%.*]]) {22; CHECK-NEXT: store i16 0, ptr [[P]], align 223; CHECK-NEXT: ret void24;25 store i16 0, ptr %p26 ret void27}28 29define internal void @test4(ptr initializes((0, 1), (2, 3)) %p) {30; CHECK-LABEL: define internal void @test4(31; CHECK-SAME: ptr initializes((0, 1), (2, 3)) [[P:%.*]]) {32; CHECK-NEXT: store i16 0, ptr [[P]], align 233; CHECK-NEXT: ret void34;35 store i16 0, ptr %p36 ret void37}38 39define void @do_calls(ptr %p) {40; CHECK-LABEL: define void @do_calls(41; CHECK-SAME: ptr [[P:%.*]]) {42; CHECK-NEXT: call void @test1(ptr [[P]])43; CHECK-NEXT: call void @test1(ptr [[P]])44; CHECK-NEXT: call void @test3(ptr [[P]])45; CHECK-NEXT: call void @test4(ptr [[P]])46; CHECK-NEXT: ret void47;48 call void @test1(ptr %p)49 call void @test2(ptr %p)50 call void @test3(ptr %p)51 call void @test4(ptr %p)52 ret void53}54