Skip to content

Commit 4e3aa76

Browse files
authored
[mlir][llvm] Pretty printing for trap intrinsics (#159385)
1 parent f0090ba commit 4e3aa76

File tree

3 files changed

+18
-6
lines changed

3 files changed

+18
-6
lines changed

mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1162,16 +1162,22 @@ def LLVM_Annotation
11621162
// Trap intrinsics.
11631163
//
11641164

1165-
def LLVM_Trap : LLVM_ZeroResultIntrOp<"trap">;
1165+
def LLVM_Trap : LLVM_ZeroResultIntrOp<"trap"> {
1166+
let assemblyFormat = "attr-dict";
1167+
}
11661168

1167-
def LLVM_DebugTrap : LLVM_ZeroResultIntrOp<"debugtrap">;
1169+
def LLVM_DebugTrap : LLVM_ZeroResultIntrOp<"debugtrap"> {
1170+
let assemblyFormat = "attr-dict";
1171+
}
11681172

11691173
def LLVM_UBSanTrap : LLVM_ZeroResultIntrOp<"ubsantrap",
11701174
/*overloadedOperands=*/[], /*traits=*/[],
11711175
/*requiresAccessGroup=*/0, /*requiresAliasAnalysis=*/0,
11721176
/*requiresArgAndResultAttrs=*/0, /*requiresOpBundles=*/0,
11731177
/*immArgPositions=*/[0], /*immArgAttrNames=*/["failureKind"]> {
11741178
let arguments = (ins I8Attr:$failureKind);
1179+
1180+
let assemblyFormat = "attr-dict";
11751181
}
11761182

11771183
/// Create a call to vscale intrinsic.

mlir/test/Target/LLVMIR/Import/intrinsic.ll

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -567,12 +567,11 @@ define void @annotate_intrinsics(ptr %var, ptr %ptr, i16 %int, ptr %annotation,
567567

568568
; CHECK-LABEL: llvm.func @trap_intrinsics
569569
define void @trap_intrinsics() {
570-
; CHECK: "llvm.intr.trap"() : () -> ()
570+
; CHECK: llvm.intr.trap
571571
call void @llvm.trap()
572-
; CHECK: "llvm.intr.debugtrap"() : () -> ()
572+
; CHECK: llvm.intr.debugtrap
573573
call void @llvm.debugtrap()
574-
; CHECK: "llvm.intr.ubsantrap"()
575-
; CHECK-SAME: failureKind = 1
574+
; CHECK: llvm.intr.ubsantrap {failureKind = 1 : i8}
576575
call void @llvm.ubsantrap(i8 1)
577576
ret void
578577
}

mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -607,6 +607,13 @@ llvm.func @trap_intrinsics() {
607607
"llvm.intr.debugtrap"() : () -> ()
608608
// CHECK: call void @llvm.ubsantrap(i8 1)
609609
"llvm.intr.ubsantrap"() {failureKind = 1 : i8} : () -> ()
610+
611+
// CHECK: call void @llvm.trap()
612+
llvm.intr.trap
613+
// CHECK: call void @llvm.debugtrap()
614+
llvm.intr.debugtrap
615+
// CHECK: call void @llvm.ubsantrap(i8 1)
616+
llvm.intr.ubsantrap {failureKind = 1 : i8}
610617
llvm.return
611618
}
612619

0 commit comments

Comments
 (0)