diff options
author | James Molloy <james.molloy@arm.com> | 2015-10-22 13:44:26 +0000 |
---|---|---|
committer | James Molloy <james.molloy@arm.com> | 2015-10-22 13:44:26 +0000 |
commit | 5b2a732fac0cfaf28adcfe5cab5d2e8d35a7434f (patch) | |
tree | 9fc52dc882d70f91efe9ac1fa9e08caf8e393915 /clang-tools-extra/test/clang-tidy/modernize-use-nullptr.cpp | |
parent | 5a4d8cd5190ff52027f93417ed120e6da75fa1cd (diff) | |
download | bcm5719-llvm-5b2a732fac0cfaf28adcfe5cab5d2e8d35a7434f.tar.gz bcm5719-llvm-5b2a732fac0cfaf28adcfe5cab5d2e8d35a7434f.zip |
[GlobalsAA] Loosen an overly conservative bailout
Instead of bailing out when we see loads, analyze them. If we can prove that the loaded-from address must escape, then we can conclude that a load from that address must escape too and therefore cannot alias a non-addr-taken global.
When checking if a Value can alias a non-addr-taken global, if the Value is a LoadInst of a non-global, recurse instead of bailing.
If we can follow a trail of loads up to some base that is captured, we know by inference that all the loads we followed are also captured.
llvm-svn: 251017
Diffstat (limited to 'clang-tools-extra/test/clang-tidy/modernize-use-nullptr.cpp')
0 files changed, 0 insertions, 0 deletions