Skip to content

Commit d4da5b3

Browse files
committed
add definition for LongjmpOp
1 parent c439e48 commit d4da5b3

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

clang/include/clang/CIR/Dialect/IR/CIROps.td

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4755,6 +4755,24 @@ def CIR_EhSetjmpOp : CIR_Op<"eh.setjmp"> {
47554755
}];
47564756
}
47574757

4758+
def CIR_EhLongjmpOp : CIR_Op<"eh.longjmp"> {
4759+
let summary = "CIR longjmp operation";
4760+
let description = [{
4761+
Restore the environment (e.g., stack pointer, instruction pointer, signal mask, and other registers)
4762+
at the time of setjmp() call, by using the information saved in `env` by setjmp().
4763+
4764+
Examples:
4765+
```mlir
4766+
cir.eh.longjmp %arg0 : (!cir.ptr<!cir.void>) -> ()
4767+
```
4768+
}];
4769+
let arguments = (ins CIR_PointerType:$env);
4770+
4771+
let assemblyFormat = [{
4772+
$env `:` functional-type($env, results) attr-dict
4773+
}];
4774+
}
4775+
47584776
//===----------------------------------------------------------------------===//
47594777
// CopyOp
47604778
//===----------------------------------------------------------------------===//

0 commit comments

Comments
 (0)