summaryrefslogtreecommitdiffstats
path: root/lldb/source/Plugins/ScriptInterpreter/Python
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
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')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud