summaryrefslogtreecommitdiff
path: root/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
diff options
context:
space:
mode:
authorSlava Zakharin <szakharin@nvidia.com>2023-04-25 16:59:46 -0700
committerSlava Zakharin <szakharin@nvidia.com>2023-04-26 10:33:00 -0700
commit2384e84bbbfd8d713fd2e1ffcc7d3d89dc1a0f16 (patch)
treec34a078e438ed27e3be51df272eca0dfcb5199a5 /lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
parentc997acb97a9b15468d991116c28bb003afecb07c (diff)
[flang] Restore stack after allocas created by TargetRewrite.
This resolves issues with running out of stack on examples like https://fortran-lang.discourse.group/t/modern-fortran-sample-code/2019/18 reported by @clementval. When target rewrite creates alloca(s) around a call, we need to insert stacksave/stackrestore to free the allocated stack. Better performant code may be achieved by placing the alloca(s) outside of loops, but the placement has to behave correctly with regards to OpenMP/OpenACC/etc. dialect operations that have special representation for "private" objects. This is a concervative fix for correctness issue. Differential Revision: https://reviews.llvm.org/D149222
Diffstat (limited to 'lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp')
0 files changed, 0 insertions, 0 deletions