| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 139576
|
| |
|
|
|
|
| |
variable differences so that it actually does something sane. Fixes PR10881.
llvm-svn: 139276
|
| |
|
|
|
|
| |
Fixes PR10872 and <rdar://problem/10065079>.
llvm-svn: 139204
|
| |
|
|
|
|
| |
handle anything more complex. Fixes PR10383 again!
llvm-svn: 139186
|
| |
|
|
|
|
|
| |
visible given a=b=c=d=1, on iteration #1 (the second iteration). Replace it with
correct math. Fixes PR10383!
llvm-svn: 139133
|
| |
|
|
| |
llvm-svn: 139130
|
| |
|
|
|
|
| |
HowFarToZero; the case for a canonical loop.
llvm-svn: 139126
|
| |
|
|
|
|
|
| |
PR10292 doesn't show that the loads don't alias
the allocas.
llvm-svn: 134852
|
| |
|
|
| |
llvm-svn: 134850
|
| |
|
|
|
|
|
| |
top level type without a specified number. This syntax isn't documented
and blocks forward progress.
llvm-svn: 133371
|
| |
|
|
|
|
|
|
|
| |
for pre-2.9 bitcode files. We keep x86 unaligned loads, movnt, crc32, and the
target indep prefetch change.
As usual, updating the testsuite is a PITA.
llvm-svn: 133337
|
| |
|
|
|
|
|
|
| |
been
needed since llvm-gcc 3.4 days.
llvm-svn: 133248
|
| |
|
|
|
|
|
| |
syntax and has been long obsolete. As usual, updating the tests is the nasty
part of this.
llvm-svn: 133242
|
| |
|
|
|
|
| |
are either unreduced or only test old syntax.
llvm-svn: 133228
|
| |
|
|
| |
llvm-svn: 132962
|
| |
|
|
|
|
| |
is disabled.
llvm-svn: 132632
|
| |
|
|
| |
llvm-svn: 132628
|
| |
|
|
| |
llvm-svn: 132625
|
| |
|
|
|
|
| |
it exposed are fixed.
llvm-svn: 132611
|
| |
|
|
|
|
|
|
|
| |
queries in the case of a DAG, where a query reaches a node
visited earlier, but it's not on a cycle. This avoids
MayAlias results in cases where BasicAA is expected to
return MustAlias or PartialAlias in order to protect TBAA.
llvm-svn: 132609
|
| |
|
|
|
|
| |
of conservatively choosing MayAlias.
llvm-svn: 132579
|
| |
|
|
|
|
|
|
| |
after checking for a GEP, so that it matches what GetUnderlyingObject
does. This fixes an obscure bug turned up by bugpoint in the testcase
for PR9931.
llvm-svn: 131971
|
| |
|
|
| |
llvm-svn: 131851
|
| |
|
|
|
|
|
|
|
| |
Original log message:
When BasicAA can determine that two pointers have the same base but
differ by a dynamic offset, return PartialAlias instead of MayAlias.
See the comment in the code for details. This fixes PR9971.
llvm-svn: 131809
|
| |
|
|
|
|
|
| |
differ by a dynamic offset, return PartialAlias instead of MayAlias.
See the comment in the code for details. This fixes PR9971.
llvm-svn: 131781
|
| |
|
|
| |
llvm-svn: 130327
|
| |
|
|
|
|
|
|
|
| |
only check arguments with pointer types. Update the documentation
of IntrReadArgMem reflect this.
While here, add support for TBAA tags on intrinsic calls.
llvm-svn: 130317
|
| |
|
|
| |
llvm-svn: 130294
|
| |
|
|
|
|
| |
lit needs a linter ...
llvm-svn: 130126
|
| |
|
|
|
|
|
|
|
|
|
| |
is equivalent to any other relevant value; it isn't true in general.
If it is equivalent, the LoopPromoter will tell the AST the equivalence.
Also, delete the PreheaderLoad if it is unused.
Chris, since you were the last one to make major changes here, can you check
that this is sane?
llvm-svn: 129049
|
| |
|
|
|
|
| |
still used by RegionInfo :(
llvm-svn: 128943
|
| |
|
|
| |
llvm-svn: 128149
|
| |
|
|
|
|
| |
and whose address is never taken is a non-escaping local object and can't alias anything else.
llvm-svn: 128140
|
| |
|
|
|
|
| |
This needs review.
llvm-svn: 127638
|
| |
|
|
|
|
|
|
| |
When ExactBECount is a constant, use it for MaxBECount.
When MaxBECount cannot be computed, replace it with ExactBECount.
Fixes PR9424.
llvm-svn: 127342
|
| |
|
|
|
|
|
| |
This fixes a FIXME in scev-aa.ll (allowing a new no-alias result) and
generally makes things more precise.
llvm-svn: 125449
|
| |
|
|
|
|
|
|
|
|
|
| |
unsigned overflow (e.g. "gep P, -1"), and while they can have
signed wrap in theoretical situations, modelling an AddRec as
not having signed wrap is going enough for any case we can
think of today. In the future if this isn't enough, we can
revisit this. Modeling them as having NUW isn't causing any
known problems either FWIW.
llvm-svn: 125410
|
| |
|
|
| |
llvm-svn: 124125
|
| |
|
|
|
|
| |
robust against smarter optimizations, using the power of FileCheck.
llvm-svn: 124081
|
| |
|
|
| |
llvm-svn: 124062
|
| |
|
|
|
|
|
| |
The PassManager did not implement the transitivity of requiredTransitive. This
was unnoticed since 2006.
llvm-svn: 123942
|
| |
|
|
| |
llvm-svn: 123842
|
| |
|
|
|
|
|
|
|
|
|
| |
by indvars through the scev expander.
trunc(add x, y) --> add(trunc x, y). Currently SCEV largely folds the other way
which is probably wrong, but preserved to minimize churn. Instcombine doesn't
do this fold either, demonstrating a missed optz'n opportunity on code doing
add+trunc+add.
llvm-svn: 123838
|
| |
|
|
| |
llvm-svn: 123832
|
| |
|
|
|
|
|
|
| |
are pointing to the same object, one pointer is accessing the entire
object, and the other is access has a non-zero size. This prevents
TBAA from kicking in and saying NoAlias in such cases.
llvm-svn: 123775
|
| |
|
|
| |
llvm-svn: 123227
|
| |
|
|
| |
llvm-svn: 123143
|
| |
|
|
|
|
|
| |
with GEP instructions are always NUW, because PHIs cannot wrap
the end of the address space.
llvm-svn: 123105
|
| |
|
|
|
|
| |
that have the bit set.
llvm-svn: 123104
|
| |
|
|
|
|
| |
exposed. It turns out to be a latent bug in basicaa, scary.
llvm-svn: 122772
|