// RUN: mlir-translate -mlir-to-llvmir %s | FileCheck %s llvm.func @somefunc(i32, !llvm.ptr) // CHECK-LABEL: define void @test_call_arg_attrs_direct llvm.func @test_call_arg_attrs_direct(%arg0: i32, %arg1: !llvm.ptr) { // CHECK: call void @somefunc(i32 %{{.*}}, ptr byval(i64) %{{.*}}) llvm.call @somefunc(%arg0, %arg1) : (i32, !llvm.ptr {llvm.byval = i64}) -> () llvm.return } // CHECK-LABEL: define i16 @test_call_arg_attrs_indirect llvm.func @test_call_arg_attrs_indirect(%arg0: i16, %arg1: !llvm.ptr) -> i16 { // CHECK: tail call signext i16 %{{.*}}(i16 noundef signext %{{.*}}) %0 = llvm.call tail %arg1(%arg0) : !llvm.ptr, (i16 {llvm.noundef, llvm.signext}) -> (i16 {llvm.signext}) llvm.return %0 : i16 }