summaryrefslogtreecommitdiffstats
path: root/llvm/test/Analysis/BasicAA
Commit message (Collapse)AuthorAgeFilesLines
...
* Remove support for using "foo" as symbols instead of %"foo". This is ancientChris Lattner2011-06-172-42/+0
| | | | | | | syntax and has been long obsolete. As usual, updating the tests is the nasty part of this. llvm-svn: 133242
* manually upgrade a bunch of tests to modern syntax, and remove some thatChris Lattner2011-06-171-15/+0
| | | | | | are either unreduced or only test old syntax. llvm-svn: 133228
* Reapply r131781, now that the GVN bug with partially-aliasing loadsDan Gohman2011-06-041-1/+1
| | | | | | is disabled. llvm-svn: 132632
* Revert r131781 again. Apparently there is more going on here.Dan Gohman2011-06-041-1/+1
| | | | llvm-svn: 132625
* Reapply r131781 (revert r131809), now that some BasicAA shortcomingsDan Gohman2011-06-041-1/+1
| | | | | | it exposed are fixed. llvm-svn: 132611
* Fix BasicAA's recursion detection so that it doesn't pessimizeDan Gohman2011-06-041-0/+41
| | | | | | | | | 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
* When merging MustAlias and PartialAlias, chose PartialAlias insteadDan Gohman2011-06-031-0/+39
| | | | | | of conservatively choosing MayAlias. llvm-svn: 132579
* Make DecomposeGEPExpression check SimplifyInstruction onlyDan Gohman2011-05-241-0/+25
| | | | | | | | 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
* I missed a checking with my GVN change. Chris Lattner2011-05-221-2/+2
| | | | llvm-svn: 131851
* Revert commit 131781, to see if it fixes the x86-64 dragonegg buildbot.Duncan Sands2011-05-211-1/+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. llvm-svn: 131809
* When BasicAA can determine that two pointers have the same base butDan Gohman2011-05-211-1/+1
| | | | | | | differ by a dynamic offset, return PartialAlias instead of MayAlias. See the comment in the code for details. This fixes PR9971. llvm-svn: 131781
* Teach BasicAA about arm.neon.vld1 and vst1.Dan Gohman2011-04-271-0/+16
| | | | llvm-svn: 130327
* When analyzing functions known to only access argument pointees,Dan Gohman2011-04-271-0/+23
| | | | | | | | | 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
* 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? llvm-svn: 129049
* Revert r128140 for now.Anders Carlsson2011-03-231-19/+0
| | | | llvm-svn: 128149
* 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. llvm-svn: 128140
* Add another rdar number.Dan Gohman2011-01-241-1/+1
| | | | llvm-svn: 124125
* 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. llvm-svn: 123775
* 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. llvm-svn: 122772
* filecheckizeChris Lattner2011-01-031-6/+8
| | | | llvm-svn: 122771
* Move Sub simplifications and additional Add simplifications out ofDuncan Sands2010-12-151-2/+2
| | | | | | instcombine and into InstructionSimplify. llvm-svn: 121861
* remove fixme comment too.Chris Lattner2010-11-301-3/+3
| | | | llvm-svn: 120493
* check in *all* files. This is now handled by my previous DSE commit.Chris Lattner2010-11-301-1/+1
| | | | llvm-svn: 120492
* Delete unneeded ssp attributes.Dan Gohman2010-11-112-2/+2
| | | | llvm-svn: 118836
* Make BasicAliasAnalysis a normal AliasAnalysis implementation whichDan Gohman2010-10-1825-25/+25
| | | | | | | | | | | | does normal initialization and normal chaining. Change the default AliasAnalysis implementation to NoAlias. Update StandardCompileOpts.h and friends to explicitly request BasicAliasAnalysis. Update tests to explicitly request -basicaa. llvm-svn: 116720
* PR7959: Handle negative scales in GEPs correctly in BasicAA for non-64-bitEli Friedman2010-09-151-0/+15
| | | | | | targets. llvm-svn: 114015
* remove some noise from tests.Chris Lattner2010-09-021-64/+64
| | | | llvm-svn: 112889
* Fix constant-over-index.ll test on windows.Michael J. Spencer2010-08-301-2/+3
| | | | llvm-svn: 112483
* refix PR1143 by making basicaa analyze zexts of indices aggresively,Chris Lattner2010-08-181-7/+7
| | | | | | which I broke with a recent patch. llvm-svn: 111452
* fix a buggy testChris Lattner2010-08-181-3/+3
| | | | llvm-svn: 111354
* fix PR7589: In brief:Chris Lattner2010-08-181-0/+21
| | | | | | | | | gep P, (zext x) != gep P, (sext x) DecomposeGEPExpression was getting this wrong, confusing basicaa. llvm-svn: 111352
* filecheckize and detrivialize.Chris Lattner2010-08-181-3/+26
| | | | llvm-svn: 111350
* Implement a proper getModRefInfo for va_arg.Dan Gohman2010-08-061-0/+11
| | | | llvm-svn: 110458
* Implement AccessesArguments checking in the two-callsite formDan Gohman2010-08-051-1/+15
| | | | | | | of BasicAA::getModRefInfo. This allows BasicAA to say that two memset calls to non-aliasing memory locations don't interfere. llvm-svn: 110393
* Fix memdep's code for reasoning about dependences between two calls. A RefDan Gohman2010-08-051-1/+0
| | | | | | | | | | response from getModRefInfo is not useful here. Instead, check for identical calls only in the NoModRef case. Reapply r110270, and strengthen it to compensate for the memdep changes. When both calls are readonly, there is no dependence between them. llvm-svn: 110382
* Revert r110270 for now. It appears to uncover a memdep bug.Dan Gohman2010-08-051-0/+1
| | | | llvm-svn: 110293
* The trouble with testing for "ModRef" and "NoModRef" is thatDan Gohman2010-08-042-85/+85
| | | | | | | one is a suffix of the other, and FileCheck accepts superstrings. Adjust the output to avoid this problem. llvm-svn: 110280
* The two-callsite form of AliasAnalysis::getModRefInfo is documentedDan Gohman2010-08-042-4/+16
| | | | | | | | | | to return Ref if the left callsite only reads memory read or written by the right callsite; fix BasicAliasAnalysis to implement this. Add AliasAnalysisEvaluator support for testing the two-callsite form of getModRefInfo. llvm-svn: 110270
* Remove interprocedural-basic-aa and associated code. The AliasAnalysisDan Gohman2010-07-072-1747/+262
| | | | | | | | | | | interface needs implementations to be consistent, so any code which wants to support different semantics must use a different interface. It's not currently worthwhile to add a new interface for this new concept. Document that AliasAnalysis doesn't support cross-function queries. llvm-svn: 107776
* Remove context sensitivity concerns from interprocedural-basic-aa, andDan Gohman2010-07-012-7/+1739
| | | | | | | make it more aggressive in cases where both pointers are known to live in the same function. llvm-svn: 107420
* Add a few more interesting testcases.Dan Gohman2010-06-291-0/+21
| | | | llvm-svn: 107177
* Add an Intraprocedural form of BasicAliasAnalysis, which aims toDan Gohman2010-06-291-0/+42
| | | | | | | properly handles instructions and arguments defined in different functions, or across recursive function iterations. llvm-svn: 107109
* Fix Value::stripPointerCasts and BasicAA to avoid trouble onDan Gohman2010-06-281-0/+16
| | | | | | | code in unreachable blocks, which have have use-def cycles. This fixes PR7514. llvm-svn: 107071
* Pointers to zero-sized objects don't point to overlapping objects.Dan Gohman2010-04-081-0/+10
| | | | llvm-svn: 100789
* add newlines at the end of files.Chris Lattner2010-04-071-1/+1
| | | | llvm-svn: 100705
* Reapply address space patch after fixing an issue in MemCopyOptimizer.Mon P Wang2010-04-041-2/+2
| | | | | | | Added support for address spaces and added a isVolatile field to memcpy, memmove, and memset, e.g., llvm.memcpy.i32(i8*, i8*, i32, i32) -> llvm.memcpy.p0i8.p0i8.i32(i8*, i8*, i32, i32, i1) llvm-svn: 100304
* Revert r100191 since it breaks objc in clang Mon P Wang2010-04-021-2/+2
| | | | llvm-svn: 100199
* Reapply address space patch after fixing an issue in MemCopyOptimizer.Mon P Wang2010-04-021-2/+2
| | | | | | | Added support for address spaces and added a isVolatile field to memcpy, memmove, and memset, e.g., llvm.memcpy.i32(i8*, i8*, i32, i32) -> llvm.memcpy.p0i8.p0i8.i32(i8*, i8*, i32, i32, i1) llvm-svn: 100191
* Revert Mon Ping's change 99928, since it broke all the llvm-gcc buildbots.Bob Wilson2010-03-301-2/+2
| | | | llvm-svn: 99948
* Added support for address spaces and added a isVolatile field to memcpy, ↵Mon P Wang2010-03-301-2/+2
| | | | | | | | | memmove, and memset, e.g., llvm.memcpy.i32(i8*, i8*, i32, i32) -> llvm.memcpy.p0i8.p0i8.i32(i8*, i8*, i32, i32, i1) A update of langref will occur in a subsequent checkin. llvm-svn: 99928
OpenPOWER on IntegriCloud