summaryrefslogtreecommitdiffstats
path: root/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.h
diff options
context:
space:
mode:
authorFrancis Visoiu Mistrih <francisvm@yahoo.com>2019-11-04 16:28:23 -0800
committerFrancis Visoiu Mistrih <francisvm@yahoo.com>2019-11-05 06:39:22 -0800
commit47d1029788b6744596bb1ab6791450eb32f2a488 (patch)
tree4470b2d267856fc50fe4bc816b00664e9e17ba1b /lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.h
parent68f39de042ef34ef17d93c18e80d42f2e1a970ab (diff)
downloadbcm5719-llvm-47d1029788b6744596bb1ab6791450eb32f2a488.tar.gz
bcm5719-llvm-47d1029788b6744596bb1ab6791450eb32f2a488.zip
[ObjC][ARC] Ignore lifetime markers between *ReturnValue calls
When eliminating a pair of `llvm.objc.autoreleaseReturnValue` followed by `llvm.objc.retainAutoreleasedReturnValue` we need to make sure that the instructions in between are safe to ignore. Other than bitcasts and useless GEPs, it's also safe to ignore lifetime markers for both static allocas (lifetime.start/lifetime.end) and dynamic allocas (stacksave/stackrestore). These get added by the inliner as part of the return sequence and can prevent the transformation from happening in practice. Differential Revision: https://reviews.llvm.org/D69833
Diffstat (limited to 'lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.h')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud