summaryrefslogtreecommitdiffstats
path: root/lldb/source/Plugins/ScriptInterpreter/Python/PythonExceptionState.cpp
diff options
context:
space:
mode:
authorEvgeniy Stepanov <eugeni.stepanov@gmail.com>2015-11-13 21:21:42 +0000
committerEvgeniy Stepanov <eugeni.stepanov@gmail.com>2015-11-13 21:21:42 +0000
commit447bbdb17134e9463e45d41610b9e0dd73323dcf (patch)
treedaacd7b2b19af7c297869891ff364609fdc66d07 /lldb/source/Plugins/ScriptInterpreter/Python/PythonExceptionState.cpp
parent7f5562b87e48bdde22749b22aada5ab5f31d5a76 (diff)
downloadbcm5719-llvm-447bbdb17134e9463e45d41610b9e0dd73323dcf.tar.gz
bcm5719-llvm-447bbdb17134e9463e45d41610b9e0dd73323dcf.zip
[safestack] Rewrite isAllocaSafe using SCEV.
Use ScalarEvolution to calculate memory access bounds. Handle function calls based on readnone/nocapture attributes. Handle memory intrinsics with constant size. This change improves both recall and precision of IsAllocaSafe. See the new tests (ex. BitCastWide) for the kind of code that was wrongly classified as safe. SCEV efficiency seems to be limited by the fact the SafeStack runs late (in CodeGenPrepare), and many loops are unrolled or otherwise not in LCSSA. llvm-svn: 253083
Diffstat (limited to 'lldb/source/Plugins/ScriptInterpreter/Python/PythonExceptionState.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud