diff options
Diffstat (limited to 'flang/test/Transforms/stack-reclaime.fir')
| -rw-r--r-- | flang/test/Transforms/stack-reclaime.fir | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/flang/test/Transforms/stack-reclaime.fir b/flang/test/Transforms/stack-reclaime.fir new file mode 100644 index 000000000000..b53cc9603575 --- /dev/null +++ b/flang/test/Transforms/stack-reclaime.fir @@ -0,0 +1,14 @@ +// RUN: fir-opt --split-input-file --stack-reclaim %s | FileCheck %s + +func.func @alloca_in_loop(%lb : index, %ub : index, %step : index, %b : i1, %addr : !fir.ref<index>) { + fir.do_loop %iv = %lb to %ub step %step unordered { + %0 = fir.alloca !fir.box<!fir.heap<!fir.char<1,?>>> + } + return +} + +// CHECK-LABEL: func.func @alloca_in_loop +// CHECK: fir.do_loop +// CHECK: %[[STACKPTR:.*]] = llvm.intr.stacksave : !llvm.ptr +// CHECK: %{{.*}} = fir.alloca !fir.box<!fir.heap<!fir.char<1,?>>> +// CHECK: llvm.intr.stackrestore %0 : !llvm.ptr |
