================ @@ -1419,6 +1419,50 @@ def CallOp : CIR_CallOpBase<"call", [NoRegionArguments]> { }]>]; } +//===----------------------------------------------------------------------===// +// StackSave & StackRestoreOp +//===----------------------------------------------------------------------===// + +def StackSaveOp : CIR_Op<"stack_save"> { + let summary = "remembers the current state of the function stack"; + let description = [{ + Remembers the current state of the function stack. Returns a pointer + that later can be passed into cir.stack_restore. + Useful for implementing language features like variable length arrays. + + This operation is correspond to LLVM intrinsic `stacksave`. ---------------- xlauko wrote:
```suggestion This operation corresponds to LLVM intrinsic `stacksave`. ``` https://github.com/llvm/llvm-project/pull/136426 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits