diff --git a/mlir/lib/Dialect/LLVMIR/IR/LLVMInlining.cpp b/mlir/lib/Dialect/LLVMIR/IR/LLVMInlining.cpp --- a/mlir/lib/Dialect/LLVMIR/IR/LLVMInlining.cpp +++ b/mlir/lib/Dialect/LLVMIR/IR/LLVMInlining.cpp @@ -695,6 +695,7 @@ LLVM::AtomicCmpXchgOp, LLVM::CallOp, LLVM::DbgDeclareOp, + LLVM::DbgLabelOp, LLVM::DbgValueOp, LLVM::FenceOp, LLVM::InlineAsmOp, diff --git a/mlir/test/Dialect/LLVMIR/inlining.mlir b/mlir/test/Dialect/LLVMIR/inlining.mlir --- a/mlir/test/Dialect/LLVMIR/inlining.mlir +++ b/mlir/test/Dialect/LLVMIR/inlining.mlir @@ -3,6 +3,7 @@ #file = #llvm.di_file<"foo.mlir" in "/foo/"> #variable = #llvm.di_local_variable #variableAddr = #llvm.di_local_variable +#label = #llvm.di_label func.func @inner_func_inlinable(%ptr : !llvm.ptr) -> i32 { %0 = llvm.mlir.constant(42 : i32) : i32 @@ -11,6 +12,7 @@ %1 = llvm.load %ptr { alignment = 8 } : !llvm.ptr -> i32 llvm.intr.dbg.value #variable = %0 : i32 llvm.intr.dbg.declare #variableAddr = %ptr : !llvm.ptr + llvm.intr.dbg.label #label %byte = llvm.mlir.constant(43 : i8) : i8 %true = llvm.mlir.constant(1 : i1) : i1 "llvm.intr.memset"(%ptr, %byte, %0) <{isVolatile = true}> : (!llvm.ptr, i8, i32) -> () @@ -37,6 +39,7 @@ // CHECK: %[[RES:.+]] = llvm.load %[[PTR]] // CHECK: llvm.intr.dbg.value #{{.+}} = %[[CST]] // CHECK: llvm.intr.dbg.declare #{{.+}} = %[[PTR]] +// CHECK: llvm.intr.dbg.label #{{.+}} // CHECK: "llvm.intr.memset"(%[[PTR]] // CHECK: "llvm.intr.memmove"(%[[PTR]], %[[PTR]] // CHECK: "llvm.intr.memcpy"(%[[PTR]], %[[PTR]]