summaryrefslogtreecommitdiffstats
path: root/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
diff options
context:
space:
mode:
authorJames Molloy <james.molloy@arm.com>2015-11-12 08:53:04 +0000
committerJames Molloy <james.molloy@arm.com>2015-11-12 08:53:04 +0000
commitb14994e7525d20cb97ce9ebef18802cb038c5d66 (patch)
tree61362001c7b92ecfea48d181b7e538ec35931ada /lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
parent71a51ff10ee175f3dadc40062950a8110ce4e832 (diff)
downloadbcm5719-llvm-b14994e7525d20cb97ce9ebef18802cb038c5d66.tar.gz
bcm5719-llvm-b14994e7525d20cb97ce9ebef18802cb038c5d66.zip
[FunctionAttrs] Identify norecurse functions
A function can be marked as norecurse if: * The SCC to which it belongs has cardinality 1; and either a) It does not call any non-norecurse function. This includes self-recursion; or b) It only has one callsite and the function that callsite is within is marked norecurse. a) is best propagated bottom-up and b) is best propagated top-down. We build up the norecurse attributes bottom-up using the existing SCC pass, and mark functions with no obvious recursion (but not provably norecurse) to sweep later, top-down. llvm-svn: 252862
Diffstat (limited to 'lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud