xref: /llvm-project/mlir/test/Dialect/LLVMIR/inlining-debuginfo.mlir (revision d0c9e70bcc40948821e83eb0ec32e6e15fb0dd4b)
1// RUN: mlir-opt %s -inline -mlir-print-debuginfo | FileCheck %s
2
3llvm.func @foo() -> !llvm.ptr
4
5llvm.func @with_byval_arg(%ptr : !llvm.ptr { llvm.byval = f64 }) {
6  llvm.return
7}
8
9// CHECK-LABEL: llvm.func @test_byval
10llvm.func @test_byval() {
11  // CHECK: %[[COPY:.+]] = llvm.alloca %{{.+}} x f64
12  // CHECK-SAME: loc(#[[LOC:.+]])
13  // CHECK: %[[ORIG:.+]] = llvm.call @foo() : () -> !llvm.ptr loc(#[[LOC]])
14  %0 = llvm.call @foo() : () -> !llvm.ptr loc("inlining-debuginfo.mlir":14:2)
15  // CHECK: "llvm.intr.memcpy"(%[[COPY]], %[[ORIG]]
16  // CHECK-SAME: loc(#[[LOC]])
17  llvm.call @with_byval_arg(%0) : (!llvm.ptr) -> ()
18  llvm.return
19}
20
21// CHECK: #[[LOC]] = loc("inlining-debuginfo.mlir":14:2)
22