18 lines · plain
1// RUN: mlir-translate -mlir-to-llvmir %s | FileCheck %s2 3llvm.func @somefunc(i32, !llvm.ptr)4 5// CHECK-LABEL: define void @test_call_arg_attrs_direct6llvm.func @test_call_arg_attrs_direct(%arg0: i32, %arg1: !llvm.ptr) {7 // CHECK: call void @somefunc(i32 %{{.*}}, ptr byval(i64) %{{.*}})8 llvm.call @somefunc(%arg0, %arg1) : (i32, !llvm.ptr {llvm.byval = i64}) -> ()9 llvm.return10}11 12// CHECK-LABEL: define i16 @test_call_arg_attrs_indirect13llvm.func @test_call_arg_attrs_indirect(%arg0: i16, %arg1: !llvm.ptr) -> i16 {14 // CHECK: tail call signext i16 %{{.*}}(i16 noundef signext %{{.*}})15 %0 = llvm.call tail %arg1(%arg0) : !llvm.ptr, (i16 {llvm.noundef, llvm.signext}) -> (i16 {llvm.signext})16 llvm.return %0 : i1617}18