Go to file
Hal Finkel d67e463901 Add an AlignmentFromAssumptions Pass
This adds a ScalarEvolution-powered transformation that updates load, store and
memory intrinsic pointer alignments based on invariant((a+q) & b == 0)
expressions. Many of the simple cases we can get with ValueTracking, but we
still need something like this for the more complicated cases (such as those
with an offset) that require some algebra. Note that gcc's
__builtin_assume_aligned's optional third argument provides exactly for this
kind of 'misalignment' offset for which this kind of logic is necessary.

The primary motivation is to fixup alignments for vector loads/stores after
vectorization (and unrolling). This pass is added to the optimization pipeline
just after the SLP vectorizer runs (which, admittedly, does not preserve SE,
although I imagine it could).  Regardless, I actually don't think that the
preservation matters too much in this case: SE computes lazily, and this pass
won't issue any SE queries unless there are any assume intrinsics, so there
should be no real additional cost in the common case (SLP does preserve DT and
LoopInfo).

llvm-svn: 217344
2014-09-07 20:05:11 +00:00
clang Avoid writing to the test directory as it may not be writable. 2014-09-07 17:34:18 +00:00
clang-tools-extra Try to make VS 2012 happy after r217155 2014-09-04 22:41:03 +00:00
compiler-rt builtins: add AEABI div0 functions 2014-09-06 21:34:02 +00:00
debuginfo-tests relax testcase for LLDB output format compatibility. 2014-03-19 23:06:18 +00:00
libclc add isordered builtin 2014-09-05 13:59:15 +00:00
libcxx PR20546: Fix tests for compare_exchange_weak. 2014-09-06 20:38:25 +00:00
libcxxabi Use correct __ARM_ARCH macro 2014-09-07 18:39:44 +00:00
lld Remove dead code. 2014-09-07 01:23:16 +00:00
lldb DataFormatters: use include instead of import in C++ 2014-09-07 18:33:44 +00:00
llvm Add an AlignmentFromAssumptions Pass 2014-09-07 20:05:11 +00:00
openmp Fix a crash that occurred under obscure circumstances during library shutdown 2014-09-03 11:34:33 +00:00
polly Add test/lit.site.cfg to .gitignore 2014-09-07 15:03:30 +00:00