[clang] [CIR] Upstream StackSave and StackRestoreOp (PR #136426)
Andy Kaylor via cfe-commits
cfe-commits at lists.llvm.org
Mon Apr 21 12:25:57 PDT 2025
================
@@ -1419,6 +1419,50 @@ def CallOp : CIR_CallOpBase<"call", [NoRegionArguments]> {
}]>];
}
+//===----------------------------------------------------------------------===//
+// StackSave & StackRestoreOp
+//===----------------------------------------------------------------------===//
+
+def StackSaveOp : CIR_Op<"stacksave"> {
+ 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.stackrestore.
+ Useful for implementing language features like variable length arrays.
----------------
andykaylor wrote:
```suggestion
This is used during the lowering of variable length array allocas.
```
https://github.com/llvm/llvm-project/pull/136426
More information about the cfe-commits
mailing list