Go to file
James Molloy 5b2a732fac [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
2015-10-22 13:44:26 +00:00
clang Attempt to fix build bot test failures. 2015-10-22 13:23:18 +00:00
clang-tools-extra Don't use "auto" on loops over fundamental types in modernize-loop-convert. 2015-10-22 13:23:46 +00:00
compiler-rt [asan] Get rid of UB in string tests. Patch by Max Ostapenko. 2015-10-22 08:10:56 +00:00
debuginfo-tests New round of fixes for "Always compile debuginfo-tests for the host triple" 2014-10-18 23:47:59 +00:00
libclc integer: remove explicit casts from _MIN definitions 2015-10-06 19:12:12 +00:00
libcxx Detect relaxed constexpr rules for gcc versions 2015-10-20 07:37:11 +00:00
libcxxabi Fix LIBCXXABI_HAS_NO_THREADS configuration. 2015-10-14 19:21:38 +00:00
libunwind Add FreeBSD _Unwind_Ptr typedef 2015-10-16 19:40:09 +00:00
lld Fix the buildbot. 2015-10-22 08:58:03 +00:00
lldb Make SymbolFileDWARF::GetCachedSectionData thread safe 2015-10-22 11:14:37 +00:00
llgo [llgo] irgen: always use TargetMachine's data layout 2015-09-25 06:28:14 +00:00
llvm [GlobalsAA] Loosen an overly conservative bailout 2015-10-22 13:44:26 +00:00
openmp Removed zeroing th.th_task_state for master thread at start of nested parallel. 2015-10-20 19:21:04 +00:00
polly [FIX] Do not hoist nested variant base pointers 2015-10-21 22:14:57 +00:00