aboutsummaryrefslogtreecommitdiffstats
path: root/test/Analysis
Commit message (Collapse)AuthorAgeFilesLines
* I missed a checking with my GVN change. Chris Lattner2011-05-221-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131851 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert commit 131781, to see if it fixes the x86-64 dragonegg buildbot.Duncan Sands2011-05-212-132/+1
| | | | | | | | | | 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131809 91177308-0d34-0410-b5e6-96231b3b80d8
* When BasicAA can determine that two pointers have the same base butDan Gohman2011-05-212-1/+132
| | | | | | | | differ by a dynamic offset, return PartialAlias instead of MayAlias. See the comment in the code for details. This fixes PR9971. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131781 91177308-0d34-0410-b5e6-96231b3b80d8
* Teach BasicAA about arm.neon.vld1 and vst1.Dan Gohman2011-04-271-0/+16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130327 91177308-0d34-0410-b5e6-96231b3b80d8
* When analyzing functions known to only access argument pointees,Dan Gohman2011-04-272-0/+50
| | | | | | | | | | only check arguments with pointer types. Update the documentation of IntrReadArgMem reflect this. While here, add support for TBAA tags on intrinsic calls. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130317 91177308-0d34-0410-b5e6-96231b3b80d8
* Test case and comment for PR9633.Andrew Trick2011-04-271-0/+33
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130294 91177308-0d34-0410-b5e6-96231b3b80d8
* Make tests more useful.Benjamin Kramer2011-04-251-2/+2
| | | | | | lit needs a linter ... git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130126 91177308-0d34-0410-b5e6-96231b3b80d8
* PR9634: Don't unconditionally tell the AliasSetTracker that the PreheaderLoadEli Friedman2011-04-071-1/+1
| | | | | | | | | | | | | 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? git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129049 91177308-0d34-0410-b5e6-96231b3b80d8
* remove postdom frontiers, because it is dead. Forward dom frontiers areChris Lattner2011-04-053-817/+0
| | | | | | | still used by RegionInfo :( git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128943 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert r128140 for now.Anders Carlsson2011-03-231-19/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128149 91177308-0d34-0410-b5e6-96231b3b80d8
* A global variable with internal linkage where all uses are in one function ↵Anders Carlsson2011-03-231-0/+19
| | | | | | and whose address is never taken is a non-escaping local object and can't alias anything else. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128140 91177308-0d34-0410-b5e6-96231b3b80d8
* Propagate SCEV no-wrap flags whenever possible.Andrew Trick2011-03-153-14/+21
| | | | | | | This needs review. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127638 91177308-0d34-0410-b5e6-96231b3b80d8
* When SCEV can determine the loop test is X < X, set ExactBECount=0.Andrew Trick2011-03-091-0/+34
| | | | | | | | | When ExactBECount is a constant, use it for MaxBECount. When MaxBECount cannot be computed, replace it with ExactBECount. Fixes PR9424. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127342 91177308-0d34-0410-b5e6-96231b3b80d8
* teach SCEV that the scale and addition of an inbounds gep don't NSW.Chris Lattner2011-02-132-4/+31
| | | | | | | | This fixes a FIXME in scev-aa.ll (allowing a new no-alias result) and generally makes things more precise. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125449 91177308-0d34-0410-b5e6-96231b3b80d8
* Per discussion with Dan G, inbounds geps *certainly* can haveChris Lattner2011-02-111-2/+2
| | | | | | | | | | | | 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125410 91177308-0d34-0410-b5e6-96231b3b80d8
* Add another rdar number.Dan Gohman2011-01-241-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124125 91177308-0d34-0410-b5e6-96231b3b80d8
* Simplify some code with no functionality change. Make the test a lot moreNick Lewycky2011-01-231-15/+19
| | | | | | | robust against smarter optimizations, using the power of FileCheck. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124081 91177308-0d34-0410-b5e6-96231b3b80d8
* Use value ranges to fold ext(trunc) in SCEV when possible.Nick Lewycky2011-01-231-0/+34
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124062 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement requiredTransitiveTobias Grosser2011-01-201-0/+24
| | | | | | | The PassManager did not implement the transitivity of requiredTransitive. This was unnoticed since 2006. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123942 91177308-0d34-0410-b5e6-96231b3b80d8
* Similarly, analyze truncate through multiply.Nick Lewycky2011-01-191-0/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123842 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a missed SCEV fold that is required to continue analyzing the IR producedNick Lewycky2011-01-191-1/+9
| | | | | | | | | | | | 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123838 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a missing SCEV simplification sext(zext x) --> zext x.Nick Lewycky2011-01-191-0/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123832 91177308-0d34-0410-b5e6-96231b3b80d8
* Teach BasicAA to return PartialAlias in cases where both pointersDan Gohman2011-01-181-0/+33
| | | | | | | | | 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123775 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert the testcase from the previous reverted commit.Eric Christopher2011-01-111-2/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123227 91177308-0d34-0410-b5e6-96231b3b80d8
* add a testcase I missed in previous commit.Chris Lattner2011-01-091-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123143 91177308-0d34-0410-b5e6-96231b3b80d8
* teach SCEV analysis of PHI nodes that PHI recurences formedChris Lattner2011-01-091-2/+40
| | | | | | | | with GEP instructions are always NUW, because PHIs cannot wrap the end of the address space. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123105 91177308-0d34-0410-b5e6-96231b3b80d8
* reduce indentation. Print <nuw> and <nsw> when dumping SCEV AddRec'sChris Lattner2011-01-091-1/+1
| | | | | | | that have the bit set. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123104 91177308-0d34-0410-b5e6-96231b3b80d8
* fix rdar://8813415 - a miscompilation of 164.gzip that loop-idiomChris Lattner2011-01-031-0/+22
| | | | | | | exposed. It turns out to be a latent bug in basicaa, scary. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122772 91177308-0d34-0410-b5e6-96231b3b80d8
* filecheckizeChris Lattner2011-01-031-6/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122771 91177308-0d34-0410-b5e6-96231b3b80d8
* -enable-tbaa is on by default now.Dan Gohman2010-12-168-9/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121945 91177308-0d34-0410-b5e6-96231b3b80d8
* Make memcpyopt TBAA-aware.Dan Gohman2010-12-161-0/+23
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121944 91177308-0d34-0410-b5e6-96231b3b80d8
* Move Sub simplifications and additional Add simplifications out ofDuncan Sands2010-12-151-2/+2
| | | | | | | instcombine and into InstructionSimplify. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121861 91177308-0d34-0410-b5e6-96231b3b80d8
* Reapply r121520, PartialAlias implementation for BasicAA, now thatDan Gohman2010-12-131-2/+27
| | | | | | | memdep is updated to handle it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121725 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert r121520, which may have introduced miscompilations.Dan Gohman2010-12-101-27/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121573 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement PartialAlias checking in BasicAA.Dan Gohman2010-12-101-2/+27
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121520 91177308-0d34-0410-b5e6-96231b3b80d8
* remove fixme comment too.Chris Lattner2010-11-301-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120493 91177308-0d34-0410-b5e6-96231b3b80d8
* check in *all* files. This is now handled by my previous DSE commit.Chris Lattner2010-11-301-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120492 91177308-0d34-0410-b5e6-96231b3b80d8
* test: Check the feature 'loadable_module' with load modules in %llvmshlibdir.NAKAMURA Takumi2010-11-291-2/+2
| | | | | | %llvmshlibdir should be 'bin' on Cygming. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120282 91177308-0d34-0410-b5e6-96231b3b80d8
* Delete unneeded ssp attributes.Dan Gohman2010-11-113-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118836 91177308-0d34-0410-b5e6-96231b3b80d8
* TBAA-enable ArgumentPromotion.Dan Gohman2010-11-111-0/+31
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118804 91177308-0d34-0410-b5e6-96231b3b80d8
* Make Sink tbaa-aware.Dan Gohman2010-11-111-0/+20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118788 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a testcase which demonstrates alias analysis pass precedence.Dan Gohman2010-11-111-0/+21
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118755 91177308-0d34-0410-b5e6-96231b3b80d8
* Fully invalidate cached results when a prior query's size orDan Gohman2010-11-101-0/+91
| | | | | | | type is insufficient for, or incompatible with, the current query. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118721 91177308-0d34-0410-b5e6-96231b3b80d8
* Teach FunctionAttrs about the VAArg instruction.Dan Gohman2010-11-091-0/+14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118627 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a testcase for a call which BasicAA says only accesses memory throughDan Gohman2010-11-081-0/+30
| | | | | | | its arguments and which TBAA says doesn't write to memory. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118439 91177308-0d34-0410-b5e6-96231b3b80d8
* Make FunctionAttrs TBAA-aware.Dan Gohman2010-11-081-0/+37
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118417 91177308-0d34-0410-b5e6-96231b3b80d8
* Teach memdep to use pointsToConstantMemory to determine that loadsDan Gohman2010-10-291-0/+23
| | | | | | | from constant memory don't alias any stores. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117636 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a basic testcase for TBAA-aware DSE.Dan Gohman2010-10-291-0/+43
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117632 91177308-0d34-0410-b5e6-96231b3b80d8
* Add some comments.Dan Gohman2010-10-201-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116957 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't pass the raw invalid pointer used to represent conflictingDan Gohman2010-10-181-0/+28
| | | | | | | TBAA information to AliasAnalysis. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116751 91177308-0d34-0410-b5e6-96231b3b80d8