summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/test/clang-tidy/modernize-loop-convert-basic.cpp
diff options
context:
space:
mode:
authorJames Molloy <james.molloy@arm.com>2015-10-22 13:44:26 +0000
committerJames Molloy <james.molloy@arm.com>2015-10-22 13:44:26 +0000
commit5b2a732fac0cfaf28adcfe5cab5d2e8d35a7434f (patch)
tree9fc52dc882d70f91efe9ac1fa9e08caf8e393915 /clang-tools-extra/test/clang-tidy/modernize-loop-convert-basic.cpp
parent5a4d8cd5190ff52027f93417ed120e6da75fa1cd (diff)
downloadbcm5719-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-loop-convert-basic.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud