Skip to content

Commit dc2c4fc

Browse files
committed
[mlir][llvm] Allow inlining for dbg label
The revision adds the dbg label intrinsic to the allow list of operations that are legal to inline. Reviewed By: zero9178 Differential Revision: https://reviews.llvm.org/D159359
1 parent ef5219c commit dc2c4fc

File tree

2 files changed

+4
-0
lines changed

2 files changed

+4
-0
lines changed

mlir/lib/Dialect/LLVMIR/IR/LLVMInlining.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -695,6 +695,7 @@ struct LLVMInlinerInterface : public DialectInlinerInterface {
695695
LLVM::AtomicCmpXchgOp,
696696
LLVM::CallOp,
697697
LLVM::DbgDeclareOp,
698+
LLVM::DbgLabelOp,
698699
LLVM::DbgValueOp,
699700
LLVM::FenceOp,
700701
LLVM::InlineAsmOp,

mlir/test/Dialect/LLVMIR/inlining.mlir

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
#file = #llvm.di_file<"foo.mlir" in "/foo/">
44
#variable = #llvm.di_local_variable<scope = #file>
55
#variableAddr = #llvm.di_local_variable<scope = #file>
6+
#label = #llvm.di_label<scope = #file>
67

78
func.func @inner_func_inlinable(%ptr : !llvm.ptr) -> i32 {
89
%0 = llvm.mlir.constant(42 : i32) : i32
@@ -11,6 +12,7 @@ func.func @inner_func_inlinable(%ptr : !llvm.ptr) -> i32 {
1112
%1 = llvm.load %ptr { alignment = 8 } : !llvm.ptr -> i32
1213
llvm.intr.dbg.value #variable = %0 : i32
1314
llvm.intr.dbg.declare #variableAddr = %ptr : !llvm.ptr
15+
llvm.intr.dbg.label #label
1416
%byte = llvm.mlir.constant(43 : i8) : i8
1517
%true = llvm.mlir.constant(1 : i1) : i1
1618
"llvm.intr.memset"(%ptr, %byte, %0) <{isVolatile = true}> : (!llvm.ptr, i8, i32) -> ()
@@ -37,6 +39,7 @@ func.func @inner_func_inlinable(%ptr : !llvm.ptr) -> i32 {
3739
// CHECK: %[[RES:.+]] = llvm.load %[[PTR]]
3840
// CHECK: llvm.intr.dbg.value #{{.+}} = %[[CST]]
3941
// CHECK: llvm.intr.dbg.declare #{{.+}} = %[[PTR]]
42+
// CHECK: llvm.intr.dbg.label #{{.+}}
4043
// CHECK: "llvm.intr.memset"(%[[PTR]]
4144
// CHECK: "llvm.intr.memmove"(%[[PTR]], %[[PTR]]
4245
// CHECK: "llvm.intr.memcpy"(%[[PTR]], %[[PTR]]

0 commit comments

Comments
 (0)